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

7. Формат команды мп i8086.

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

Префиксы

Команда

Повтор

Замена

Сегм.

Код опер.

Пост байт

Смещение

Операнд

(0:1)

(0:1)

(1)

(0:1)

(0:2)

(0:2)

Префикс повторения – формируется, если в исходном тексте команде предшествуют служебные слова REP/REPE/REPNE/… формируется байт со спец.значением, определяющий, что текущая команда вып-ся несколько раз (кол-во повторений в регистре СХ). Префикс замены сегмента - явно определяет сегментный регистр для конкретной команды.

0

0001

1

REG

1101

1

0

REG= 00:ES,01:CS,10:SS,11:DS

mov AX,[BX]- mov ES:[BX]

Код операции- определяет какая операция выполняется, кроме кода операции содержит служебные

виды. Расширение кода операции может находиться во втором байте команды.

Постбайт- байт режима адресации, определяет виды и тип операндов.

Mod(2)

Reg(3)

r /m(3)

Значение reg,r/m задают регистры или в комбинации с mod обращение к памяти.

Смещение- 8:16 разрядный, если команде задано смещение mov AX,[BX+2]. В команде указывается

младший байт, а затем старший байт смещения.

Непосредственный операнд – задает 8 или 16 разрядное значение операнда.

8. Формат двухоперандной команды (см 7)

Регистр-регистр, регистр-память.

КОП

d

w

mod

reg

R/m

Смещение младшего байта

Смещение старшего байта

КОП - команда, d- бит направления, направление передачи данных(1-в регистр,0-из reg), w- размер, тип

операнда(0-байт,1-слово 2b)

mod

r/m

00

01

0

11

W=0

W=1

000

[BX+SI]

[BX+SI+disp8]

Смещение

+disp16

Al

Ax

001

[BX+DI]

[BX+DI+disp8]

Cl

Cx

010

[BP+SI]

[BP+SI+disp8]

Dl

Dx

011

[BP+DI]

[BP+DI+disp8]

Bl

Bx

100

[SI]

[SI+disp8]

Ah

Cp

101

[DI]

[DI+disp8]

Ch

Bp

110

Disp 16

[BP+disp8]

Dh

Si

111

[BX]

[BX+disp8]

Bh

Di

Поле reg задает регистр теми же значениями, что и поле регистров память.