Amiga. Вычислительная техника
Меню сайта
Главная
Amiga
Amiga Corporation
Модельный ряд
История развития
Аппаратная платформа
Операционные системы
Эмуляция
AMIGA # 1
Программирование на Ассемблере
Организация процессоров
Методы защиты информации
Компьютерные новеллы
Боятся ли компьютеры адского пламени?
Виртуальная реальность
Корпоративные сети
Телекоммуникационные сети
Архитектура ЭВМ
ЕС ЭВМ
Рождение ЭВМ
Компьютер
Гарвардская архитектура
Современные высокопроизводительные компьютеры
Дорога в будущее
Vista
Инфоpматика
ЭВМ
Операционные системы
Linux
Windows
Освой компьютер
Макинтош
Набор текста
Поколения
Компьютерная грамотность
Устройство компьютера
Железо
Графика
Звук
Ремонт
Сети
Программирование
Информационные технологии
Криптография
Микроэлектроника
Истории
 
 

Программирование на Ассемблере


Обычно этот бит
содержит 0 (режим пользователя). Содержимое регистра SR можно изменять
обычными командами (MOVE, AND, итд.), правда такие команды работают только
в режиме супервизора (являются привелегированными). Таким образом, можно
переключаться из режима супервизора в пользовательский режим командой
AND #DFFF,SR, которая очищает 13-й бит регистра статуса. Однако вместо
этого рекомендуется использовать функции операционной системы.
Чем же отличаются друг от друга режимы процессора?
Только что мы видели, что не все команды процессора доступны в режиме
пользователя. Например, реакцией процессора на команду MOVE xx,SR в
пользовательском режиме будет генерация исключения (exception) и прерывание
программы. В действительности, единственный путь переключения в режим
супервизора - через исключения, но об этом речь пойдет позже.
Второе отличие состоит в том, что для каждого из двух режимов используется
свой стек. В качестве указателя стека всегда используется регистр A7,
значение которого меняется каждый раз при смене режима (в пользовательском
режиме A7 указывает на стек пользователя (USP), а в режиме супервизора - на
стек супервизора (SSP)).
Текущий режим процессора влияет и на доступ к памяти: при обращении к
внешним компонентам (в том числе и к памяти) процессор передает им
информацию о текущем режиме. Таким образом можно запретить пользователю
доступ к некоторым ячейкам памяти (чисто теоретически, так как в Amiga
данный механизм не используется).
В режиме супервизора можно выполнять любые команды процессора и адресовать
всю память, поэтому операционная система в основном работает в режиме
супервизора. Это возможно при использовании механизма исключений.
2.3.2 Исключения (exceptions)
Исключения MC680x0 похожи на прерывания в компьютерах на базе 6500.
Механизм исключений позволяет прерывать основную программу с вызовом
специальной подпрограммы - обработчика исключения. Когда возникает
исключение, происходит следующее:
1) Сохраняется содержимое регистра статуса
2) Очищаются биты S и T регистра статуса
3) Сохраняется содержимое регистров PC и SP
4) Из таблицы векторов исключений извлекается адрес обработчика
5) Вызывается сам обработчик исключения
Таблица векторов исключений - это таблица адресов подпрограм-обработчиков
для всех возможных исключений.

 

 

© 2010 Amigo. All Rights Reserved
Создание сайтов ЕкатеринбургШаблоны сайтовПоиск товаров - справочник цен, каталог магазинов, прайс-листыБесплатные шаблоны дизайна компьютерных сайтов
Hosted by uCoz