Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Распечатка.docx
Скачиваний:
8
Добавлен:
24.04.2019
Размер:
136.27 Кб
Скачать

24. Регистровая модель мп i80386

Регистры 80386 и функции

Регистры 8: EAX,EBX,ECX,EDX,ESI,EDI, EBP,ESP Используются для хранения общий адрес или данных

Счетчик 1: EIP -указывает на следующую выполняемую команду

Регистр 1: EFLAG - содержит 8 полей состояния флага последней выполненной команды и 5 полей управления, которые разрешают прерывание или управляют другими характеристиками

Регистры сегмента 6: CS,SS,DS,ES,FS,GS - CS определяет текущий сегмент для программы.SS определяет текущий сегмент для доступа к стеку, такой как POP и PUSH. DS определяет текущий сегмент для большинства операций с данными. ES,FS и GS определяют дополнительные сегменты данных,для работы с данными.

25.Регистры флагов:

Virtual Mode- работа в режиме виртуальной машины. RF- возобновление. Если RF=1, то процессор приостанавливает обработку особых ситуаций отладки. NT- флаг вложенной задачи. Если NT=1, то текущая задача является вложенной. IOPL- уровень привилегий ввода-вывода, указывает на уровень текущего приоритета. Используется для доступа к сегментам. Остальные флаги как и у МП i8086 .

Специальные регистры:

Наименование

Обозначение

1. управляющие

CR0,CR2,CR3

2. отладочные

DR0-DR3,DR6,DR7

3. тестовые

TR6,TR7

4. системные

a)регистры таблиц дескрипторов

b)регистры задач

GDTR,LDTR,IDTR

TR


Так же к специальным регистрам относятся программно недоступные регистры дескрипторов.

26.Общая структура кода команды мп 80386

масштаб

SS=00 1

SS=01 2

SS=10 4

SS=11 8

Префиксы- модифицирует операцию следующей команды. Префикс операнда –переключает 16 или 32 битные операнды. Префикс размера адреса- переключает формирование 16 или 32 размеры адреса. Код операции- для новых команд 2байт, 1байт- 0Fh адрес новой команды. Значение служебных полей W,D,S см. i8086. Пост-байт – вместе с байтом SIBопределяют метод адресации. Байт SIB-байт масштабируемого индекса служит для представления сложных структур данных и имеет следующий формат: ss-index-BASE . Поле index- задает индексные регистры.

Index Регистры

000 EAX

001 ECX

010 EDX

011 EBX

100 ----

101 EBP

110 ESI

111 EDI

Mod Base операнд

00 000 DS:[EAX+S*I]

00 001 DS:[ECX+S*I]

00 010 DS:[EDX+S*I]

00 011 DS:[EBX+S*I]

00 100 DS:[ESP+S*I]

00 101 DS:[EBP+disp32+S*I]

00 110 DS:[ESI+S*I]

00 111 DS:[EAX+S*I+disp8]

----- ------ ----------

10 000 DS:[EAX+S*I+disp32]