- •Введение
- •Программная модель микропроцессора Intel8086
- •Структура и формат команд
- •Примеры некоторых форматов команд
- •Базовый - индексный способ адресации
- •Относительный базовый – индексный способ адресации
- •Система команд мп Intel8086 Команды перемещения данных
- •Загрузка в стек (с декрементом sp )
- •Команда безусловного перехода
- •Вызов подпрограммы
- •Возврат из подпрограммы ret
- •Команды организации циклов
- •Команды прерывания
- •Команды строчной обработки
- •Команды манипуляции со флажками
- •Команды управления микропроцессором
Примеры некоторых форматов команд
КОП |
|
- однобайтная команда – неявный операнд(ы) |
КОП |
REG |
|
- однобайтная команда. Операнд в регистре. |
КОП |
|
11 |
REG |
R/M |
|
- регистр-регистр |
КОП |
|
MOD |
REG |
R/M |
|
- регистр-память без смещения |
регистр-память со смещением
КОП |
|
MOD |
REG |
R/M |
|
мл. байт данн. |
|
ст. байт данн. |
- если смещение D16 |
непосредственный операнд в регистр
КОП |
|
MOD |
КОП |
R/M |
|
мл. байт данн. |
|
ст. байт данн. |
- если данные 16-разрядные |
непосредственный операнд в память со смещением
КОП |
|
MOD КОП R/M |
|
мл. байт ом. |
|
ст. байт см. |
1 |
|
2 |
|
3 |
|
4 |
|
|
|
|
мл. байт данн. |
|
ст. байт данн. |
|
|
|
|
5 |
|
6 |
Базовый - индексный способ адресации
Эффективный адрес при этом способе адресации равен сумме содержимого базового и индексного регистров.
MOD |
R / M |
Регистр |
00 |
100 |
SI |
00 |
101 |
DI |
00 |
111 |
BX |
Режим адресации задается постбайтом
MOD=00; R/M=000, 001, 010, 011.
Пример. Переслать в AX содержимое ячейки памяти с эффективным адресом(BP) + (SI).
mov ax, [bp][si] 89 20
Относительный базовый – индексный способ адресации
Эффективный адрес получается как сумма смещения, указанного в команде, содержимого базового и индексного регистров.
EA = |
( BX ) |
+ |
8-разрядн. Смещение 16-разрядн. Смещение |
( BP ) | |||
( SI ) | |||
( DI ) |
Режим адресации задается постбайтом
MOD=01, 10; R/M=000, 001, 010, 011.
Пример. mov ax,3f[BX][DI] 89 21
|
( BX ) |
|
( SI ) |
EA = |
( BP ) |
+ |
( DI ) |
|
( BX ) |
|
( SI ) |
|
8-разрядн. смещение |
EA = |
( BP ) |
+ |
( DI ) |
+ |
16-разрядн. смещение |
Система команд мп Intel8086 Команды перемещения данных
Пересылка данных. MOV dst,src (dst) <- (src)
- Из памяти или регистра в регистр
MOV dst, src |
100010 d w |
mod reg r/m |
- Непосредственные данные в регистр или память
MOV dst, data |
1100011 w |
mod reg r/m |
Данные |
Данные (w=0) |
- Непосредственные данные в регистр
MOV reg, data |
1011W red |
Данные |
Данные (w=0) |
- Из памяти в аккумулятор
MOV A*, [Agp] |
1010000 w |
адрес мл. б. |
адрес ст. б. |
Из аккумулятора в память
MOV [Agp], A* |
1010001 w |
адрес мл. б. |
адрес ст. б. |
- Из регистра или памяти в сегментный регистр
MOV sreg, src |
10001110 |
mod reg r/m |
- Из сегментного регистра в регистр или память
MOV src, sreg |
10001100 |
mod reg r/m |