Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Булатов В.Н. Архитектура микропроцессороной системы, состав машинных команд и основы программирования микропроцессорной .pdf
Скачиваний:
97
Добавлен:
02.05.2014
Размер:
7.1 Mб
Скачать

Приложение А

Коды операций команд микропроцессоров 8088/80x86

Пересылочные команды

MOV - пересылка данных

 

Действие

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 – й байт

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 – й байт

 

 

 

 

команды

 

Hex

 

 

 

 

 

 

 

 

 

 

 

Binary

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Binary

 

 

 

 

 

 

 

 

 

 

 

7

6

 

 

 

5

4

 

3

 

 

2

 

 

1

 

0

 

7

 

6

 

5

 

4

 

3

 

2

 

1

0

Регистр/память в/из регистра

 

 

 

1

0

 

 

 

0

0

 

1

 

 

0

 

 

d

 

W

 

Mod

 

 

 

 

 

reg

 

 

 

 

R/m

 

Данные в регистр/память

 

 

 

1

1

 

 

 

0

0

 

0

 

 

1

 

 

1

 

 

W

 

mod

 

 

 

 

000

 

 

 

 

 

r/m

 

Данные в регистр

 

 

 

1

0

 

 

 

1

1

 

 

W

 

 

 

Reg

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Память в аккумулятор

 

 

 

1

0

 

 

 

1

0

 

0

 

 

0

 

 

0

 

 

W

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Аккумулятор в память

 

 

 

1

0

 

 

 

1

0

 

0

 

 

0

 

 

1

 

 

W

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Регистр/память в сегмент.

 

8E

 

1

0

 

 

 

0

0

 

1

 

 

1

 

 

1

 

0

 

 

Mod

 

0

 

 

 

Re

 

 

 

 

R/m

 

регистр

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сегмент. регистр в

 

8C

 

1

0

 

 

 

0

0

 

1

 

 

1

 

 

0

 

0

 

 

mod

 

0

 

 

 

Re

 

 

 

 

r/m

 

регистр/память

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PUSH — загрузка в стек

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Действие команды

 

 

 

7

 

6

 

5

4

 

3

 

 

2

 

1

 

0

7

 

6

 

5

 

 

4

3

 

 

2

 

1

0

 

 

Регистр/память

 

 

 

1

 

1

 

1

1

 

1

 

 

1

 

1

 

1

 

mod

 

1

 

 

1

0

 

 

 

 

r/m

 

 

 

Регистр

 

 

 

0

 

1

 

0

1

 

0

 

 

 

 

Reg

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сегментный регистр

 

 

 

0

 

0

 

0

 

Reg

 

1

 

1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

POP — извлечение из стека

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Действие команды

 

 

 

7

 

6

 

5

 

4

 

3

 

 

2

 

1

0

 

 

7

 

6

 

5

 

4

3

2

1

0

 

 

В регистр/память

 

 

 

1

0

 

0

 

0

 

1

 

 

1

1

1

 

 

mod

 

1

1

0

r/m

 

 

 

 

В регистр

 

 

 

0

 

1

 

0

 

1

 

1

 

 

 

 

 

Reg

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В сегментный регистр

 

 

 

0

 

0

 

0

 

Reg

1

 

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

XCHG — обмен значениями

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1-й байт

 

 

 

 

 

 

 

 

 

 

 

 

 

2-й байт

 

 

 

 

 

 

Действие команды

 

 

 

 

7

 

 

 

6

5

 

4

 

 

3

 

 

2

1

 

0

 

7

 

6

 

5

 

4

3

 

2

1

 

 

 

 

Регистр/память с регистром

 

 

1

 

 

 

0

0

 

0

 

 

0

 

 

1

1

 

w

 

mo

 

 

 

reg

 

 

R/m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Регистр с аккумулятором

 

 

 

 

1

 

 

 

0

0

 

1

 

 

0

 

 

 

 

reg

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

OUT —вывод в порт из AL

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Действие команды

 

 

 

 

 

 

 

 

 

7

 

 

6

 

5

 

4

 

 

3

 

2

 

 

1

 

 

0

 

 

 

 

 

 

 

 

 

 

В порт с прямым адресом

 

 

 

 

 

 

 

 

 

1

 

 

1

 

 

1

 

0

 

 

0

 

0

 

 

1

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В порт - с адресом порта в DX

 

 

 

 

 

 

1

 

 

1

 

 

1

 

0

 

 

0

 

1

 

 

1

 

 

 

w

 

 

 

 

 

 

 

 

IN —ввод из порта в AL

114

 

 

Действие команды

 

 

 

7

 

 

6

5

 

 

4

3

 

 

2

1

 

0

 

 

 

 

 

Из порта с прямым адресом

 

 

 

1

 

 

1

1

 

 

0

0

 

 

1

0

 

w

 

 

 

 

 

Из порта - c адресом порта в DX

 

1

 

 

1

1

 

 

0

1

 

 

1

0

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Команда – действие команды

He

 

7

6

5

4

3

2

1

0

7

6

5

4

 

3

2

1

0

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

XLAT — кодирование AL по

D7

 

1

1

0

1

0

1

1

1

 

 

 

 

 

 

 

 

 

 

 

 

таблице

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LEA — загрузка адреса в регистр

8D

 

1

0

0

0

1

1

0

1

mod

 

reg

 

R/m

 

LDS — загрузка указателя в DS

C5

 

1

1

0

0

0

1

0

1

mod

 

reg

 

R/m

 

LES — загрузка указателя в ES

C4

 

1

1

0

0

0

1

0

0

mod

 

reg

 

R/m

 

LAHF — загрузка в AH из

9F

 

1

0

0

1

1

1

1

1

 

 

 

 

 

 

 

 

 

 

 

 

регистра F

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SAHF — сохранение <AH> в F

9E

 

1

0

0

1

1

1

1

0

 

 

 

 

 

 

 

 

 

 

 

 

PUSHF —загрузка <F> в стек

9C

 

1

0

0

1

1

1

0

0

 

 

 

 

 

 

 

 

 

 

 

 

POPF —извлечение <F> из стека

9D

 

1

0

0

1

1

1

0

1

 

 

 

 

 

 

 

 

 

 

 

Арифметические команды ADD —сложение

 

 

 

 

 

 

 

 

1-й байт

 

 

 

 

 

 

 

 

 

 

 

 

 

2-й байт

 

 

Действие команды

 

 

7

6

5

4

3

2

 

1

 

0

 

7

 

6

 

5

 

4

 

 

3

 

2

1

 

0

 

Регистр/память с регистром

 

 

0

0

0

0

0

0

D

w

 

mod

 

 

 

 

Reg

 

 

r/m

 

 

Данные с регистром/памятью

 

 

1

0

0

0

0

0

S

w

 

mod

 

 

 

000

 

 

 

 

r/m

 

 

Данные с аккумулятором

 

 

0

0

0

1

0

1

0

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ADC —сложение с переносом

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Действие команды

7

6

5

4

3

2

1

 

 

 

 

0

 

7

 

6

 

 

5

4

3

2

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Регистр/память с регистром

0

0

0

1

0

0

d

 

 

 

w

 

mod

 

reg

 

 

 

 

 

r/m

 

 

Данные с регистром/памятью

1

0

0

0

0

0

s

 

 

 

w

 

mod

 

0

1

0

R/m

 

 

Данные с аккумулятором

0

0

0

1

0

1

0

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

INC —увеличение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Действие команды

 

 

7

 

6

 

5

 

4

 

3

2

 

 

 

1

 

0

 

7

 

6

 

5

 

4

 

3

 

2

1

0

 

Регистр/память

 

 

1

 

1

 

1

 

1

 

1

1

 

 

 

1

 

w

 

mod

 

0

 

0

 

0

 

r/m

 

 

Регистр

 

 

0

 

1

 

0

 

0

 

0

 

 

Reg

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SUB —вычитание

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Действие команды

7

6

5

4

3

2

1

 

 

 

 

0

 

7

 

6

 

5

 

 

4

 

 

3

 

2

1

 

0

 

Регистр/память с регистром

0

0

1

0

1

0

d

 

 

 

w

 

mo

 

 

reg

 

 

 

 

 

r/m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Данные с регистром/памятью

1

0

0

0

0

0

s

 

 

 

w

 

mo

 

1

 

 

0

 

 

1

 

R/m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Данные с аккумулятором

0

0

1

0

1

1

0

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

115

SBB —вычитание с учетом заема

 

Действие команды

 

7

 

6

 

5

 

4

 

3

 

2

 

1

 

0

 

7

6

 

5

 

4

 

3

 

2

1

 

0

 

Регистр/память с регистром

 

0

 

0

0

1

1

0

 

d

w

 

 

mo

 

 

reg

 

 

 

 

 

 

r/m

 

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

Данные с регистром/памятью

 

1

0

0

0

0

0

 

s

w

 

 

mo

 

 

0

1

 

 

 

1

 

R/m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Данные с аккумулятором

 

0

0

1

0

 

1

 

1

0

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DEC —уменьшение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Действие команды

 

7

 

6

 

5

 

4

 

3

 

2

 

1

 

0

 

7

 

6

 

5

 

 

4

 

3

 

 

2

 

1

 

0

 

Регистр/память

 

 

1

 

1

1

1

1

1

1

w

mod

0

 

 

0

 

1

 

 

R/m

 

 

Регистр

 

 

0

 

1

 

0

 

0

 

1

 

 

 

 

reg

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CMP —срвнение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Действие команды

 

 

 

 

 

7

6

5

4

3

2

1

0

 

7

 

6

 

 

5

4

3

2

1

0

 

Регистр/память с регистром

 

 

 

 

 

0

0

1

1

1

0

d

w

 

mod

 

 

 

reg

 

 

 

r/m

 

 

Данные с регистром/памятью

 

 

 

 

 

1

0

0

0

0

0

 

s

w

 

mo

 

 

1

1

1

 

R/m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Данные с аккумулятором

 

 

 

 

 

0

 

0

 

1

 

1

 

1

 

1

0

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Команда – действие

He

7

6

5

4

3

2

 

1

 

0

 

7

 

 

6

5

 

4

3

 

2

 

1

0

 

команды

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MUL —умножение беззнаковое

 

 

 

 

1

1

1

1

0

1

 

1

 

w

mod

1

0

0

r/m

 

 

IMUL —умножение со знаком

 

 

 

 

1

1

1

1

0

1

 

1

 

w

mod

 

 

1

0

1

R/m

 

 

DIV —деление беззнаковое

 

 

 

 

1

1

1

1

0

1

 

1

 

w

mod

 

 

1

1

0

R/m

 

 

IDIV —деление со знаком

 

 

 

 

1

1

1

1

0

1

 

1

 

w

mod

 

 

1

1

1

R/m

 

 

NEG —изменение знака

 

 

 

 

1

1

1

1

0

1

 

1

 

w

mod

 

 

0

1

1

R/m

 

 

AAA —символьная коррекция

37

 

0

0

1

1

 

0

 

1

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

для сложения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DAA —десятичная коррекция

27

 

0

0

1

0

 

0

 

1

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

для сложения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AAS —символьная коррекция

3F

0

0

1

1

 

1

 

1

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

для вычитания

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DAS —десятичная коррекция

2F

0

0

1

0

 

1

 

1

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

для вычитания

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AAM —символьная коррекция

 

 

 

 

1

1

0

1

0

1

 

0

 

0

 

0

 

 

0

0

 

0

1

 

0

 

1

0

 

для умножения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AAD —символьная коррекция

 

 

 

 

1

1

0

1

0

1

 

0

 

1

 

0

 

 

0

0

 

0

1

 

0

 

1

0

 

для деления

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CBW —преобразование байта

98

 

1

0

0

1

 

1

 

0

 

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в слово

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CWD —преобразование слова в

99

 

1

0

0

1

 

1

 

0

 

0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

двойное слово

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

116

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Логические команды

NOTинвертирование

 

Действие команды

 

7

 

6

 

5

 

4

 

3

 

2

 

1

 

 

0

 

7

 

6

 

 

5

4

 

 

3

 

2

 

1

0

 

 

Инвертирование

 

1

1

1

1

0

 

1

 

1

 

 

w

 

mod

 

0

1

 

 

0

 

 

 

R/m

 

 

 

 

AND —логическое «и»

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Действие команды

 

 

 

7

6

5

4

3

2

1

 

0

 

7

 

 

6

5

4

 

 

3

 

2

1

0

 

Регистр/память с регистром

 

 

 

0

0

1

0

0

0

 

d

 

w

mod

reg

 

 

 

 

 

 

r/m

 

 

 

 

Данные с регистром/памятью

 

 

 

1

0

0

0

0

0

 

 

s

 

w

 

mod

1

0

 

0

 

 

R/m

 

Данные с аккумулятором

 

 

 

0

0

1

0

 

0

 

1

0

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TEST —установка флагов по

 

 

 

логическому «И»

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Действие команды

7

6

 

5

4

3

2

1

 

 

0

 

 

7

 

6

5

4

 

3

 

2

1

0

 

 

Регистр/память с регистром

1

0

 

1

0

1

0

 

d

 

 

 

w

 

 

mod

 

 

 

reg

 

 

 

 

 

r/m

 

 

 

 

Данные с регистром/памятью

1

1

 

1

1

0

1

 

s

 

 

 

w

 

 

mod

 

 

 

0

0

0

 

 

R/m

 

 

 

 

Данные с аккумулятором

1

0

 

1

0

1

0

0

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

OR —логическое «ИЛИ»

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Действие команды

7

 

6

5

4

3

2

1

 

 

0

 

 

7

 

6

5

4

 

3

 

2

1

0

 

 

Регистр/память с регистром

0

 

0

0

0

1

0

 

d

 

 

 

w

 

 

mod

 

 

 

reg

 

 

 

 

 

r/m

 

 

 

 

Данные с регистром/памятью

1

0

0

0

0

0

 

s

 

 

 

w

 

 

mod

 

 

 

0

0

1

 

 

R/m

 

 

 

 

Данные с аккумулятором

0

0

0

0

1

1

0

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

XOR —исключающее «ИЛИ» (сложение по модулю 2)

 

 

 

 

 

 

 

 

 

 

 

 

Действие команды

7

 

6

5

4

3

2

1

 

 

0

 

 

7

 

6

 

 

3

2

1

0

 

 

Регистр/память с регистром

0

 

0

1

1

0

0

 

d

 

 

 

w

 

 

mod

 

 

 

reg

 

 

 

 

 

r/m

 

 

 

 

Данные с регистром/памятью

1

0

0

0

0

0

 

s

 

 

 

w

 

 

mod

 

 

 

1

1

0

 

 

R/m

 

 

 

 

Данные с аккумулятором

0

0

1

1

0

1

0

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Команды сдвига

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Команда – действие

 

 

 

 

 

7

 

6

 

5

 

4

 

3

 

2

 

1

0

 

7

 

 

6

5

4

 

3

2

1

0

 

 

команды

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SHL —сдвиг арифметический

 

 

 

 

 

1

1

0

1

0

0

v

 

w

 

mo

1

0

 

0

 

 

R/m

 

 

 

 

влево

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SHR —сдвиг арифметическ. вправо

 

1

1

0

1

0

0

v

 

w

 

mo

1

0

 

1

 

 

R/m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SAR —сдвиг арифметический со

 

 

 

1

1

0

1

0

0

v

 

w

 

mo

1

1

 

1

 

 

R/m

 

 

 

 

знаком вправо

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ROL —сдвиг циклический влево

 

 

 

1

1

0

1

0

0

v

 

w

 

mo

0

0

 

0

 

 

R/m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ROR —сдвиг циклический вправо

 

 

 

1

1

0

1

0

0

v

 

w

 

mo

0

0

 

1

 

 

R/m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RCL —сдвиг циклический влево

 

 

 

 

 

1

1

0

1

0

0

v

 

w

 

mo

0

1

 

0

 

 

R/m

 

 

 

 

через флаг С

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

117