80286 процессор

Страница: 4/11

│ │локальной дескрипторной │ с локальной │ ╚═════════╝

│доступа│ таблицей │ таблицей │

└───────┴─────────────────────────┴─────────────┘

┌───────┬─────────────────────────┬─────────────┐ ╔═════════╗

│ права │ базовый адрес сегмента │размер сегм. │ ║ TR ║

│ │ состояния текущей │с состоянием │ ╚═════════╝

│доступа│ задачи │ задачи │

└───────┴─────────────────────────┴─────────────┘

Регистры можно объединить в группы по схожести выполняемых ими функций. В первую группу, называемую группой регистров общего назначения, входят регистры AX, BX, CX, DX. Они предназначены в основном для хранения данных- шестнадцатибитных слов. Только регистры BX и DX могут дополнительно использоваться как адресные: регистр BX- как адрес смещения байта или слова в оперативной памяти, регистр DX- как адрес порта ввода/вывода. При обработке данных каждый из этих регистров имеет свои особенности. Например, регистр AX всегда используется как один из операндов в команде умножения, регистр CX используется как счетчик командой LOOP организации цикла, DX как расширение регистра AX в командах умножения и деления. Эти регистры можно рассматривать как состоящие из двух однобайтовых регистров каждый: AX состоит из AH и AL, BX- из BH и BL и т.д.

Следующую группу образуют регистры SP, BP, SI, DI. Эта группа называется группой адресных и индексных регистров. Из названия видно, что эти регистры могут использоваться в качестве адресных. Кроме того, их можно использовать в качестве операндов в инструкциях обработки данных.

Третья группа регистров CS, DS, SS, ES образует группу сегментных регистров. В процессоре 80286 доступ к данным и коду программы осуществляется через "окна" размером максимум 64К каждое. Есть окно с программой, его начало определяется регистром CS; есть окно с данными, начало которого определяется регистром DS. Начало окна со стеком определяется регистром SS, а дополнительного окна с данными- регистром ES.

В процессоре 80286 появилась возможность размещать таблицу векторов прерываний в произвольном месте оперативной памяти, а не обязательно в самом начале, как в процессоре 8086. Для этого имеется специальный регистр IDTR, по структуре аналогичный специальному сорокабитному регистру GDTR (определяющий положение и размер глобальной дескрипторной таблицы, для определения же локальной дескрипторной таблицы имеется шестнадцатибитный регистр LDTR). Он определяет начало и размер таблицы векторов прерываний. Имеются так же специальные команды его чтения и записи.

Регистр IP служит для хранения адреса смещения следующей исполняемой команды, а регистр F- для хранения флагов.

В процессоре 80286 появился новый регистр MSW, называемый словом состояния, или регистром состояния. Его значение прежде всего в том, что, загружая этот регистр состояния специальным значением (с битом PE=1), мы тем самым переключаем режим работы с обычного на защищеннный.

И наконец, последний девятнадцатый регистр TR служит для организации многозадачной работы процессора в защищенном режиме. В обычном режиме он просто недоступен. Этот регистр служит селектором сегмента состояния задачи. Существуют выполняемые только в защищеннном режиме команды чтения этого регистра TR и записи в него.

Реферат опубликован: 22/09/2006