Регистры общего назначения:
EAX,EBX,ECX,EDX - 32х разрядные.
Каждый из них может быть поделен на 16ти разрядные AX и верхние 16 безымянных битов.
В свою очередь AX может быть разделен на 8ми битные регистры AH и AL.
Индексные регистры:
ESI, EDI и ЕВР (или SI, DI и ВР для 16-разрядных).
Обычно эти регистры используются для адресации памяти:
обращения к массивам, индексирования и т.д. Могут содержать произвольные данные.
Сегментные регистры:
Регистры из этой группы используются при вычислении реального адреса (адреса, который будет передан на шину адреса).
Сегментные регистры только 16-разрядные. Названия этих регистров соответствуют выполняемым функциям: CS (Code Segment, сегмент кода) вместе с EIP (IP) определяют адрес памяти, откуда нужно прочитать следующую инструкцию; аналогично регистр SS (Stack
Segment, сегмент стека) в паре с ESP (SS:SP) указывают на вершину стека.
Сегментные регистры DS, ES, FS, и GS (Data, Extra, F и G сегменты) используются для адресации данных в памяти.
Регистры состояния и управления:
Регистр ESP (SP) — это указатель памяти, который указывает на вершину стека (х86-совместимые процессоры не имеют аппаратного стека).
Также программно не может быть изменен регистр EIP (IP, Instruction Pointer) — указатель команд.
Этот регистр указывает на инструкцию, которая будет выполнена следующей. Значение этого
регистра изменяется непосредственно контроллером процессора согласно инструкциям, полученным из памяти.
Регистр флагов (иногда его называют регистром
признаков) — EFLAGS. Он состоит из одноразрядных флагов, отображающих
в основном текущее состояние арифметико-логического устройства.
• Признак нуля ZF (Zero Flag) — 1, если результат предыдущей операции
равен нулю.
• Признак знака SF (Sign Flag) — 1, если результат предыдущей операции
отрицательный.
• Признак переполнения OF (Overflow Flag) — 1, если при выполнении
предыдущей операции произошло переполнение (overflow), то есть
результат операции больше, чем зарезервированная для него память.
• Признак переноса CF (Carry Flag) — 1, если бит был «перенесен» и стал
битом более высокого порядка .
• Признак прерывания IF (Interrupt Flag) — 1, если прерывания процессора
разрешены.
• Признак направления DF (Direction Flag) — используется для обработки
строк.
Комментариев нет:
Отправить комментарий
Примечание. Отправлять комментарии могут только участники этого блога.