Типы данных
· байт=8 бит
· слово=2 байта, которым последовательно адресуются в памяти, байт, содержащий 0 бит – младший, а 15 – старший
· 2е слово – 4 байта, последовательно расположенные в памяти. Для адресации старшего слова надо адресовать младшее слово со смещением 2: AX:XAX; адресация младшей части – MOV AX,[XAX], старшей части – MOV AX,[XAX+2]
учетверенное слово
· целое со знаком – м.б. 8, 16, 32-разрядное: 8 – -128?127; 16 – -32768?32767; 32 – -231?231-1
· целое беззнаковое – м.б. 8, 16, 32-разрядное: 8 – 256; 16 – 65535; 32 – 231-1
· ближний указатель=32 бита – смещение в какой-либо области памяти
· дальний указатель=48 бит – 32-смещение в текущем сегменте памяти, 17-база сегмента
· цепочка – непрерывный набор байтов
· битовое поле – 32 бита (размер)
· неупакованный двоично-десятичный тип – цифры 0?9 представленные в виде байтов: 9 – 00001001
· упакованный двоично-десятичный тип – каждый байт содержит единицу: 59 – 01011001
Регистры общего назначения
EAX – аккумулятор, для хранения промежуточных результатов
EBX – базовый регистр, для хранения базового адреса области памяти
ECX – счетчик, используется в качестве дан. с повторяющимися действиями
EDX – регистр данных, для хранения промежуточных данных
EBP, ESP – для операций со стеком, EBP – указатель кадра стека, ESP – указатель на вершину стека
ESI, EDI – используется в целочисленных, строковых операциях, ESI – хранит адрес строки, которую пересылаем, EDI – адрес приемника, куда пересылаем
Сегментные регистры
Поддерживают сегментную организацию памяти: – код CS (16 бит), – данные DS, ES, FS, GS, – стек SS (16 бит).
Указатель команд
EIP – 32 бита, указатель смещение в текущем кодовом сегменте.
Регистр флагов
Флаги состояний – тип результатов из выполненных команд (арифметических и логический) – 32 бита.
CF(0) – т.е. флаг переноса
PF(2) – в младшем байте результата находится четное количество единиц
AF(4) – дополнительный перенос был/не было перенос из 3го бита
ZF(6) – результат =/? 0
SF(7) – выставлен/сброшен знаковый бит
OF(11) – =/? перенос в старший бит из старшего бита
DF(10) – флаг направления использования в строковых операциях
Системные флаги – нельзя обратится из прикладных программ.
IF(9) – признак разрешения прерываний
TF(8) – флаг разрешения трассировки
IOPL(12,13) – заносится уровень привилегий ввода-вывода, т.е. может ли программа получить доступ к адресному пространству ВВ
NT(14) – вложенность задачи
RF (16) – флаг возобновления
VM(17) – процессор переводится в режим виртуального 86.
AC(18) – режим контроля выравнивания памяти, использую кэш памяти
VIF(19)-виртуальная версия флага IF
VIP(20)-виртуальный запрос прерывания
ID(21)-флаг доступности команды идентификации CPUID.
Управляющие регистры
CR0(биты: PE-разрешение защиты сопроцессора, EM-эмуляция сопроцессора, TS-переключение задач, ET- индикатор поддержки мат. Процессора, NE – разрешение стандарт. Механизма сообщений, WP- разрешение защиты от записана уровне привилегий супервизора в страницы только для чтения, AM- разрешение контроля выравнивания, NW-запрет сквозной записи кэша и циклов аннулирования, CD- запрет заполнения кэша, PG-включение механизма страничной переадресации памяти)CR1-не используется, CR2- 32битный линейный адрес, по которому был получен последний отказ страницы памяти.
CR3- 20бит-физический базовый адрес таблицы каталога страниц,CR4-биты расширения архитектурных расширений.
Системные адресные регистры:
Регистр GDTR ,IDTR-лимит и базы GDT,IDT;LDTR-селектор LDT,TR-селектор на TSS.
Регистры отладки DR0-DR7.
Регистры тестирования. TR1-TR12.
