Список регистров микропроцессора Pentium

 

Регистры общего назначения

EAX = (16+AX=(AH+AL))

EBX = (16+BX=(BH+BL))

ECX = (16+CX=(CH+CL))

EDX = (16+DX=(DH+DL))

ESI = (16+SI)

EDI = (16+DI)

EBP = (16+BP)

ESP = (16+SP)

 

Регистры EAX,EBX,EDX,ECX называют рабочими регистрами. Регистры EDI, ESI – индексные регистры, играют особую роль в строковых операциях. Регистр EBP обычно используется для адресации в стеке параметров и локальных переменных. Регистр ESP - указатель стека, автоматически модифицируется командами PUSH, POP, RET, CALL. Явно используется реже.

 

Регистр флагов

Содержит 32 бита. Вот используемые значения битов.

0-й бит, флаг переноса (CF), устанавливается в 1 если был перенос из старшего бита.

1-й бит, 1.

2-й бит, флаг четности. Устанавливается в 1, если младший байт результата содержит четное число единиц.

3-й бит, 0.

4-й бит, флаг вспомогательного переноса (AF). Устанавливается в 1, если произошел перенос из третьего бита в четвертый.

5-й бит, 0.

6-й бит, флаг нуля (ZF). Устанавливается в единицу, если результат операции ноль.

7-й бит, флаг знака (SF). Равен старшему биту результата.

8-й бит, флаг ловушки (TF). Установка в единицу этого флага приводит к тому, что после каждой команды вызывается INT 3. Используется отладчиками в реальном режиме.

9-й бит, флаг прерываний (IF). Сброс этого флага в 0 приводит к тому, что микропроцессор перестает воспринимать прерывания.

10-й бит, флаг направления (DF). Данный флаг учитывается в строковых операциях. Если флаг равен 1, то в строковых операциях адрес автоматически уменьшается.

11-й бит, флаг переполнения (OF). Устанавливается в единицу, если результат операции над числом со знаком вышел за допустимые пределы.

12,13-й биты, уровень привилегий ввода-вывода (IOPL).

14-бит, флаг вложенной задачи (NT).

15-й бит, 0.

16-й бит, флаг возобновления (RF). Используется совместно с регистрами точек отладочного останова.

17-й бит, в защищенном режиме включает режим виртуального режима 8086 (VM).

18-й бит, флаг контроля выравнивания (AC). При равенстве этого флага 1 и при обращении к невыровненному операнду вызывает исключение 17.

19-й бит, виртуальная версия флага IF (VIF). Работает в защищенном режиме.

20-й бит, виртуальный запрос прерывания (VIP).

21-й бит, флаг доступности команды идентификации.

22-31 –й, 0.

 

Сегментные регистры

 

CS – сегмент кода, DS – сегмент данных, SS – сегмент стека, ES,GS,FS – дополнительные регистры. Сегментные регистры 16-битны.

 

Управляющие регистры

 

Регистр CR0.

0-й бит, разрешение защиты (PE). Переводит процессор в защищенный режим.

1-й бит, мониторинг сопроцессора (MP). Вызывает исключение 7 по каждой команде WAIT.

2-й бит, эмуляция сопроцессора (EM). Вызывает исключение 7 по каждой команде сопроцессора.

3-й бит, бит переключения задач (TS). Позволяет определить, относится данный контекст сопроцессора к текущей задаче или нет. Вызывает исключение 7 при выполнении следующей команды сопроцессора.

4-й бит, индикатор поддержки инструкций сопроцессора (ET).

5-й бит, разрешение стандартного механизма сообщений об ошибке сопроцессора (NE).

5-15-й бит, не используются.

16-й бит, разрешение защиты от записи на уровне привилегий супервизора (WP).

17–й бит, не используется.

18–й бит, разрешение контроля выравнивания (AM).

19-28–й бит, не используются.

29–й бит, запрет сквозной записи кэша и циклов аннулирования (NW).

30–й бит, запрет заполнения кэша (CD).

31–й бит, включение механизма страничной переадресации.

 

Регистр CR1 пока не используется.

 

Регистр CR2 хранит 32-битный линейный адрес, по которому был получен последний отказ страницы памяти.

 

Регистр CR3 – в старших 20 битах хранится физический базовый адрес таблицы каталога страниц.

Остальные биты.

3-й бит, кэширование страниц со сквозной записью (PWT).

4-й бит, запрет кэширование страницы (PCD).