Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГЭК(вопросы и ответы).doc
Скачиваний:
13
Добавлен:
10.09.2019
Размер:
5.98 Mб
Скачать

3.19 Типи даних та структури команд в мп Intel.

МП 80486 имеет команды, длина кот. меняется от 1 байта до 15 байтов. Команды содержат всю необх инфо для выполнения требуемой операции с заданными операндами. Операнды могут быть размером в байт, слово или двойное слово.

Необязательная часть Обязательная часть

Префиксы

┌───────────────────────┐ ┌────────────────────────────────────┐

│ Число байт │ │ Число байт │

├─────┬─────┬─────┬─────┤ ├──────┬──────┬──────┬───────┬───────┤

│ 0,1 │ 0,1 │ 0,1 │ 0,1 │ │ 1,2 │ 0,1 │ 0,1 │0,1,2,4│0,1,2.4│

├─────┴─────┴─────┴─────┤ ├──────┴──────┴──────┴───────┴───────┤

│ Назначение │ │ Назначение │

╠═════╦═════╦═════╦═════╣ ╠══════╦══════╦══════╦═══════╦═══════╣

║ Пов-║Раз- ║ Раз-║Заме-║ ║ Код ║ ║ ║Смеще -║Непос- ║

║ тор ║ мер ║ мер ║ на ║ ║опера-║ mod ║ sib ║ние (в ║редств.║

║ ║адре-║опе- ║сег- ║ ║ ции ║ ║ ║коман- ║операнд║

║ ║ са ║ранда║мента║ ║ ║ r/m ║ ║ де ║ ║

║REP ║ OS ║ AS ║ S ║ ║ ║ ║ ║ ║ ║

╚═════╩═════╩═════╩═════╝ ╞══════╪══════╪══════╪═══════╩═══════╝

┌────────────────────────┘ │ │ │

│ ┌─────────┘ └───┬┐ └───────────────┐

├───────────────┬ ─┬──┼─────┬────────┬─────┤├───┬──────┬──────┤

│ Код операции │d │w │ mod │reg/kon │ r/m││SS │index │ base │

└───────────────┴──┴──┴─────┴────────┴─────┘└───┴──────┴──────┘

7 2 1 0 7 6 5 3 2 0 7 6 5 4 3 2 1 0

Поле Длина (бит) Назначение

Префиксы

REP Повторение (REPeate), применяется в цепочечных командах

OS Operand Size -переключает 16 и 32 разрядные операнды

AS Address Size -определяет формирование 16- и 32-разрядных адресов 171

S Segment override - указывает конкретный сегментный регистр

LOCK Префикс блокировки шины, при котором формируется сигнал LOCK

Код операции

w 1 Определяет размер операнда в байтах (w=0) или нет (w=1)

d 1 Определяет направление передачи данных:

из регистра в регистр/память d=0

из регистра/памяти в регистр d=1

S 1 Расширение 8-битных данных до слова (двоичного)S=1

Спецификатор адреса mod r/m и sib

reg 3 Определяет 8/16/32-разрядный РОН

mod r/m 2,3 Спецификатор режима адресации

SS 3 Коэффициент масштабирования индексной адресации (1,2,4,8)

index 3 Назначает РОН как индексный регистр

base 3 Назначает РОН как базовый регистр

sreg2 2 Определяет "старый" сегментный регистр:ES(00),CS(01), SS(10), DS(11)

sreg3 3 Определяет любой сегментный регистр: ES(000),CS(001), SS(010), DS(011), FS(100), GS(101)(не используются коды 110 и 111)

tttn 4 Определяет проверяемое условие в командах условных переходов.

В общем случае формат команды содержит обязательную и необязательную часть. Минимальная длина команды содержит обязательное поле-код операции, длиной 1 байт (например, команды сброса флагов CLC,CLD,CLI и др).