Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



По сравнению с реальным режимом МП IA-16 в защищенном режиме МП IA-32 регистровый файл увеличился до 32 регистров. К шестнадцати регистрам пользователей добавились шестнадцать системных регистров.

Регистры пользователей:

· регистры общего назначения (РОНы): 8 тридцатидвухразрядных регистров,

· указатель команд1 тридцатидвухразрядный регистр,

· регистр состояния (флагов): 1 тридцатидвухразрядный регистр,

· сегментные регистры: 6 шестнадцатиразрядных регистров.

В состав системных регистров входят:

· регистры системных адресов: 4 регистра,

· регистры управления, отладки и тестирования: 16 регистров.

Регистры пользователей

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

Как и в МП IA-16, с точки зрения использования регистров, они не являются классическими регистрами общего назначения. Они могут задаваться по умолчанию (кодом операции, постбайтом и т.д.) По использованию регистров по умолчанию они делятся на две группы:

· регистры данных – eax, ecx, edx и ebx (по возрастанию адресов),

· регистры адресов – esp, ebp, esi и edi (по возрастанию адресов)

                 
eax Расширения ah (4) al (0) ax Аккумулятор  
ecx (до 32 бит) ch(5) cl (1) cx Счетчик  
edx Могут dh (6) dl (2) dx Данные  
ebx использоваться bh (7) bl (3) bx База (для DS)  
esp и sp (4) Указатель стека  
ebp в реальном bp (5) База кадра стека SS)  
esi   si(6) Индекс источника  
edi режиме di(7) Индекс приемника  
  Рис3.12 Регистры общего назначения (РОНы)  
                       

Регистр ebx, хотя его и относят к группе регистров данных, но он же является одним из регистров адреса базы сегмента данных.

При работе с 16-битовыми операндами и компонентами адреса используются 16-битовые РОНы – ax, cx, dx, bx, sp, bp, si и di (по возрастанию адресов).

При работе с байтовыми операндами используются 8-битовые РОНы: al, cl, dl, bl, ah, ch, dh и bh (по возрастанию адресов).

В защищенном режиме по отношению к их содержимому (данные, компоненты адреса) регистры стали более симметричными.

Для улучшения симметричности в использовании РОНов в защищенном режиме работы предусмотрена возможность использования любых РОНов, кроме esp, в качестве хранения компонент адреса. Они могут участвовать в операциях и как регистры данных. Специализация регистров заключается в том, что при выполнении ряда команд используются один, два или три регистра, определенных по умолчанию.

Например, команды обработки строк по умолчанию используют содержимое регистров ecx, esi и edi. Это обеспечило некоторую оптимальность кодирования. Но нерегулярная структура РОНов требует от программистов осторожности при распределении и использовании РОНов.

На рис.3.12 РОНы в таблице представлены не в алфавитном порядке их обозначений, а по возрастанию их номеров.

Указатель команды (EIP)

Это 32-битный регистр (рис.3.13), который содержит адрес команды в кодовом сегменте (смещение в кодовом сегменте). После выборки очередной команды содержимое регистра увеличивается на количество байт в выбранной команде. Младшие 16 разрядов указателя команд (IP) используются в реальном (шестнадцатибитном) режиме работы МП.

Регистр состояния (EFLAGS)

Это 32-битный регистр (рис. 3.13), содержащий флаги, управляющие некоторыми операциями и отражающие состояние процессора. Все флаги регистра можно разбить на группы:

· флаги состояния,

· управляющие флаги,

· системные флаги.

         
EIP Могут использоваться IP
Eflag s и в реальном режиме Fflags
  Рис 3.13. Указатель команд и регистр флагов

Флаги состояния фиксируют признаки результатов выполнения арифметических и логических операций, включая операцию тестирования. Используются в командах условной передачи управления.

В эту группу флагов входят:

· OF – переполнение: равен единице, если результат превысил предел для чисел,

· SF–знак: равен единице, если результат отрицательный,

· ZF–нуль: равен единице, если результат равен нулю,

· AF–перенос (вспом.): равен единице, если имел место перенос из третьего бита (десятичный),

· PF–четность: равен единице, если младший байт содержит четное число единиц,

· CF–перенос: равен единице, если имел место перенос за пределы значащих цифр.

Управляющий флаг DF

Управляющий флаг DF определяет порядок выполнения операций со строками. Непосредственно управляет счетчиком. При DF=0 счетчик инкрементируется, иначе – декрементируется.





Дата публикования: 2014-11-03; Прочитано: 651 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...