Описание процессора i8086 для программиста


Приложение Коды операций


Код команды

Команда

1-й байт

2-й байт

3–6-й байты

Шестн.

Двоичный

00

00000000

ModRegR/M

[disp8/16]

ADD r/m8, r8

01

00000001

ModRegR/M

[disp8/16]

ADD r/m16, r16

02

00000010

ModRegR/M

[disp8/16]

ADD r8, r/m8

03

00000011

ModRegR/M

[disp8/16]

ADD r16, r/m16

04

00000100

imm8

ADD AL, imm8

05

00000101

imm16

ADD AX, imm16

06

00000110

 

 

PUSH ES

07

00000111

 

 

POP ES

08

00001000

ModRegR/M

[disp8/16]

OR r/m8, r8

09

00001001

ModRegR/M

[disp8/16]

OR r/m16, r16

0A

00001010

ModRegR/M

[disp8/16]

OR r8, r/m8

0B

00001011

ModRegR/M

[disp8/16]

OR r16, r/m16

0C

00001100

imm8

 

OR AL, imm8

0D

00001101

imm16

OR AX, imm16

0E

00001110

 

 

PUSH CS

0F

00001111

 

 

не используется

10

00010000

ModRegR/M

[disp8/16]

ADC r/m8, r8

11

00010001

ModRegR/M

[disp8/16]

ADC r/m16, r16

12

00010010

ModRegR/M

[disp8/16]

ADC r8, r/m8

13

00010011

ModRegR/M

[disp8/16]

ADC r16, r/m16

14

00010100

imm8

 

ADC AL, imm8

15

00010101

imm16

ADC AX, imm16

16

00010110

 

 

PUSH SS

17

00010111

 

 

POP SS

18

00011000

ModRegR/M

[disp8/16]

SBB r/m8, r8

19

00011001

ModRegR/M

[disp8/16]

SBB r/m16, r16

1A

00011010

ModRegR/M

[disp8/16]

SBB r8, r/m8

1B

00011011

ModRegR/M

[disp8/16]

SBB r16, r/m16

1C

00011100

imm8

 

SBB AL, imm8

1D

00011101

imm16

SBB AX, imm16

1E

00011110

 

 

PUSH DS

1F

00011111

 

 

POP DS

20

00100000

ModRegR/M

[disp8/16]

AND r/m8, r8

21

00100001

ModRegR/M

[disp8/16]

AND r/m16, r16

22

00100010

ModRegR/M

[disp8/16]

AND r8, r/m8

23

00100011

ModRegR/M

[disp8/16]

AND r16, r/m16

24

00100100

imm8

 

AND AL, imm8

25

00100101

imm16

AND AX, imm16

26

00100110

 

 

ES:

27

00100111

 

 

DAA

28

00101000

ModRegR/M

[disp8/16]

SUB r/m8, r8

29

00101001

ModRegR/M

[disp8/16]

SUB r/m16, r16

2A

00101010

ModRegR/M

[disp8/16]

SUB r8, r/m8

2B

00101011

ModRegR/M

[disp8/16]

SUB r16, r/m16

2C

00101100

imm8

 

SUB AL, imm8

2D

00101101

imm16

SUB AX, imm16

2E

00101110

 

 

CS:

2F

00101111

 

 

DAS

30

00110000

ModRegR/M

[disp8/16]

XOR r/m8, r8

31

00110001

ModRegR/M

[disp8/16]

XOR r/m16, r16

32

00110010

ModRegR/M

[disp8/16]

XOR r8, r/m8

33

00110011

ModRegR/M

[disp8/16]

XOR r16, r/m16

34

00110100

imm8

 

XOR AL, imm8

35

00110101

imm16

XOR AX, imm16

36

00110110

 

 

SS:

37

00110111

 

 

AAA

38

00111000

ModRegR/M

[disp8/16]

CMP r/m8, r8

39

00111001

ModRegR/M

[disp8/16]

CMP r/m16, r16

3A

00111010

ModRegR/M

[disp8/16]

CMP r8, r/m8

3B

00111011

ModRegR/M

[disp8/16]

CMP r16, r/m16

3C

00111100

imm8

 

CMP AL, imm8

3D

00111101

imm16

CMP AX, imm16

3E

00111110

 

 

SS:

3F

00111111

 

 

AAS

40

01000000

 

 

INC AX

41

01000001

 

 

INC CX

42

01000010

 

 

INC DX

43

01000011

 

 

INC BX

44

01000100

 

 

INC SP

45

01000101

 

 

INC BP

46

01000110

 

 

INC SI

47

01000111

 

 

INC DI

48

01001000

 

 

DEC AX

49

01001001

 

 

DEC CX

4A

01001010

 

 

DEC DX

4B

01001011

 

 

DEC BX

4C

01001100

 

 

DEC SP

4D

01001101

 

 

DEC BP

4E

01001110

 

 

DEC SI

4F

01001111

 

 

DEC DI

50

01010000

 

 

PUSH AX

51

01010001

 

 

PUSH CX

52

01010010

 

 

PUSH DX

53

01010011

 

 

PUSH BX

54

01010100

 

 

PUSH SP

55

01010101

 

 

PUSH BP

56

01010110

 

 

PUSH SI

57

01010111

 

 

PUSH DI

58

01011000

 

 

POP AX

59

01011001

 

 

POP CX

5A

01011010

 

 

POP DX

5B

01011011

 

 

POP BX

5C

01011100

 

 

POP SP

5D

01011101

 

 

POP BP

5E

01011110

 

 

POP SI

5F

01011111

 

 

POP DI

60

/

6F

01100000

/

01101111

 

 

не используются

70

01110000

rel8

 

JO rel8

71

01110001

rel8

 

JNO rel8

72

01110010

rel8

 

JB rel8

JNAE rel8

JC rel8

73

01110011

rel8

 

JNB rel8

JAE rel8

JNC rel8

74

01110100

rel8

 

JE rel8

JZ rel8

75

01110101

rel8

 

JNE rel8

JNZ rel8

76

01110110

rel8

 

JBE rel8

JNA rel8

77

01110111

rel8

 

JNBE rel8

JA rel8

78

01111000

rel8

 

JS rel8

79

01111001

rel8

 

JNS rel8

7A

01111010

rel8

 

JP rel8

JPE rel8

7B

01111011

rel8

 

JNP rel8

JPO rel8

7C

01111100

rel8

 

JL rel8

JNGE rel8

7D

01111101

rel8

 

JNL rel8

JGE rel8

7E

01111110

rel8

 

JLE rel8

JNG rel8

7F

01111111

rel8

 

JNLE rel8

JG rel8

80

10000000

Mod000R/M

[disp8/16] imm8

ADD r/m8, imm8

Mod001R/M

[disp8/16] imm8

OR r/m8, imm8

Mod010R/M

[disp8/16] imm8

ADC r/m8, imm8

Mod011R/M

[disp8/16] imm8

SBB r/m8, imm8

Mod100R/M

[disp8/16] imm8

AND r/m8, imm8

Mod101R/M

[disp8/16] imm8

SUB r/m8, imm8

Mod110R/M

[disp8/16] imm8

XOR r/m8, imm8

Mod111R/M

[disp8/16] imm8

CMP r/m8, imm8

81

10000001

Mod000R/M

[disp8/16] imm8

ADD r/m16, imm16

Mod001R/M

[disp8/16] imm8

OR r/m16, imm16

Mod010R/M

[disp8/16] imm8

ADC r/m16, imm16

Mod011R/M

[disp8/16] imm8

SBB r/m16, imm16

Mod100R/M

[disp8/16] imm8

AND r/m16, imm16

Mod101R/M

[disp8/16] imm8

SUB r/m16, imm16

Mod110R/M

[disp8/16] imm8

XOR r/m16, imm16

Mod111R/M

[disp8/16] imm8

CMP r/m16, imm16

82

10000010

 

 

не используется

83

10000011

Mod000R/M

[disp8/16] imm8

ADD r/m16, imm8

xx001xxx

 

не используется

Mod010R/M

[disp8/16] imm8

ADC r/m16, imm8

Mod011R/M

[disp8/16] imm8

SBB r/m16, imm8

xx100xxx

 

не используется

Mod101R/M

[disp8/16] imm8

SUB r/m16, imm8

xx110xxx

 

не используется

xx111xxx

 

не используется

84

10000100

ModRegR/M

[disp8/16]

TEST r/m8, r8

85

10000101

ModRegR/M

[disp8/16]

TEST r/m16, r16

86

10000110

ModRegR/M

[disp8/16]

XCHG r/m8, r8

87

10000111

ModRegR/M

[disp8/16]

XCHG r/m16, r16

88

10001000

ModRegR/M

[disp8/16]

MOV r/m8, r8

89

10001001

ModRegR/M

[disp8/16]

MOV r/m16, r16

8A

10001010

ModRegR/M

[disp8/16]

MOV r8, r/m8

8B

10001011

ModRegR/M

[disp8/16]

MOV r16, r/m16

8C

10001100

Mod0SRR/M

[disp8/16]

MOV r/m16, Sreg

xx1xxxxx

 

не используется

8D

10001101

ModRegR/M

[disp8/16]

LEA r16, m

8E

10001110

Mod0SRR/M

[disp8/16]

MOV r/m16, Sreg

xx1xxxxx

 

не используется

8F

10001111

Mod000R/M

[disp8/16]

POP r/m16

xx001xxx

/

xx111xxx

 

не используется

90

10010000

 

 

NOP (XCHG AX, AX)

91

10010001

 

 

XCHG AX, CX

92

10010010

 

 

XCHG AX, DX

93

10010011

 

 

XCHG AX, BX

94

10010100

 

 

XCHG AX, SP

95

10010101

 

 

XCHG AX, BP

96

10010110

 

 

XCHG AX, SI

97

10010111

 

 

XCHG AX, DI

98

10011000

 

 

CBW

99

10011001

 

 

CWD

9A

10011010

ptr16:16

CALL ptr16:16

9B

10011011

 

 

WAIT

9C

10011100

 

 

PUSHF

9D

10011101

 

 

POPF

9E

10011110

 

 

SAHF

9F

10011111

 

 

LAHF

A0

10100000

m8

 

MOV AL, m8

A1

10100001

m16

MOV AX, m16

A2

10100010

m8

 

MOV m8, AL

A3

10100011

m16

MOV m16, AX

A4

10100100

 

 

MOVSB

A5

10100101

 

 

MOVSW

A6

10100110

 

 

CMPSB

A7

10100111

 

 

CMPSW

A8

10101000

imm8

 

TEST AL, imm8

A9

10101001

imm16

TEST AX, imm16

AA

10101010

 

 

STOSB

AB

10101011

 

 

STOSW

AC

10101100

 

 

LODSB

AD

10101101

 

 

LODSW

AE

10101110

 

 

SCASB

AF

10101111

 

 

SCASW

B0

10110000

imm8

 

MOV AL, imm8

B1

10110001

imm8

 

MOV CL, imm8

B2

10110010

imm8

 

MOV DL, imm8

B3

10110011

imm8

 

MOV BL, imm8

B4

10110100

imm8

 

MOV AH, imm8

B5

10110101

imm8

 

MOV CH, imm8

B6

10110110

imm8

 

MOV DH, imm8

B7

10110111

imm8

 

MOV BH, imm8

B8

10111000

imm16

MOV AX, imm16

B9

10111001

imm16

MOV CX, imm16

BA

10111010

imm16

MOV DX, imm16

BB

10111011

imm16

MOV BX, imm16

BC

10111100

imm16

MOV SP, imm16

BD

10111101

imm16

MOV BP, imm16

BE

10111110

imm16

MOV SI, imm16

BF

10111111

imm16

MOV DI, imm16

C0

11000000

 

 

не используется

C1

11000001

 

 

не используется

C2

11000010

imm16

RET imm16 (ближний)

C3

11000011

 

 

RET

(ближний)

C4

11000100

ModRegR/M

[disp8/16]

LES r16, m16:16

C5

11000101

ModRegR/M

[disp8/16]

LDS r16, m16:16

C6

11000110

Mod000R/M

[disp8/16] imm8

MOV m8, imm8

xx001xxx

/

xx111xxx

 

не используется

C7

11000111

Mod000R/M

[disp8/16] imm16

MOV m16, imm16

xx001xxx

/

xx111xxx

 

не используется

C8

11001000

 

 

не используется

C9

11001001

 

 

не используется

CA

11001010

imm16

RET imm16 (дальний)

CB

11001011

 

 

RET (дальний)

CC

11001100

 

 

INT 3

CD

11001101

imm8

 

INT imm8

CE

11001110

 

 

INTO

CF

11001111

 

 

IRET

D0

11010000

Mod000R/M

[disp8/16]

ROL r/m8, 1

Mod001R/M

[disp8/16]

ROR r/m8, 1

Mod010R/M

[disp8/16]

RCL r/m8, 1

Mod011R/M

[disp8/16]

RCR r/m8, 1

Mod100R/M

[disp8/16]

SAL r/m8, 1

SHL r/m8, 1

Mod101R/M

[disp8/16]

SHR r/m8, 1

xx110xxx

 

не используется

Mod111R/M

[disp8/16]

SAR r/m8, 1

D1

11010001

Mod000R/M

[disp8/16]

ROL r/m16, 1

Mod001R/M

[disp8/16]

ROR r/m16, 1

Mod010R/M

[disp8/16]

RCL r/m16, 1

Mod011R/M

[disp8/16]

RCR r/m16, 1

Mod100R/M

[disp8/16]

SAL r/m16, 1

SHL r/m16, 1

Mod101R/M

[disp8/16]

SHR r/m16, 1

xx110xxx

 

не используется

Mod111R/M

[disp8/16]

SAR r/m16, 1

D2

11010010

Mod000R/M

[disp8/16]

ROL r/m8, CL

Mod001R/M

[disp8/16]

ROR r/m8, CL

Mod010R/M

[disp8/16]

RCL r/m8, CL

Mod011R/M

[disp8/16]

RCR r/m8, CL

Mod100R/M

[disp8/16]

SAL r/m8, CL

SHL r/m8, CL

Mod101R/M

[disp8/16]

SHR r/m8, CL

xx110xxx

 

не используется

Mod111R/M

[disp8/16]

SAR r/m8, CL

D3

11010011

Mod000R/M

[disp8/16]

ROL r/m16, CL

Mod001R/M

[disp8/16]

ROR r/m16, CL

Mod010R/M

[disp8/16]

RCL r/m16, CL

Mod011R/M

[disp8/16]

RCR r/m16, CL

Mod100R/M

[disp8/16]

SAL r/m16, CL

SHL r/m16, CL

Mod101R/M

[disp8/16]

SHR r/m16, CL

xx110xxx

 

не используется

Mod111R/M

[disp8/16]

SAR r/m16, CL

D4

11010100

 

 

AAM

D5

11010101

 

 

AAD

D6

11010110

 

 

не используется

D7

11010111

 

 

XLATB

D8

/

DF

11011xxx

ModRegR/M

[disp8/16]

ESC

E0

11100000

rel8

 

LOOPNE rel8

LOOPNZ rel8

E1

11100001

rel8

 

LOOPE rel8

LOOPZ rel8

E2

11100010

rel8

 

LOOP rel8

E3

11100011

rel8

 

JCXZ rel8

E4

11100100

imm8

 

IN AL, imm8

E5

11100101

imm8

 

IN AX, imm8

E6

11100110

imm8

 

OUT AL, imm8

E7

11100111

imm8

 

OUT AX, imm8

E8

11101000

rel16

CALL rel16

E9

11101001

rel16

JMP rel16

EA

11101010

ptr16:16

JMP ptr16:16

EB

11101011

rel8

 

JMP rel8

EC

11101100

 

 

IN AL, DX

ED

11101101

 

 

IN AX, DX

EE

11101110

 

 

OUT AL, DX

EF

11101111

 

 

OUT AX, DX

F0

11110000

 

 

LOCK

F1

11110001

 

 

не используется

F2

11110010

 

 

REPNE

REPNZ

F3

11110011

 

 

REP

REPE

REPZ

F4

11110100

 

 

HLT

F5

11110101

 

 

CMC

F6

11110110

Mod000R/M

[disp8/16] imm8

TEST r/m8, imm8

xx001xxx

 

не используется

Mod010R/M

[disp8/16]

NOT r/m8

Mod011R/M

[disp8/16]

NEG r/m8

Mod100R/M

[disp8/16]

MUL r/m8

Mod101R/M

[disp8/16]

IMUL r/m8

Mod110R/M

[disp8/16]

DIV r/m8

Mod111R/M

[disp8/16]

IDIV r/m8

F7

11110111

Mod000R/M

[disp8/16] imm8

TEST r/m16, imm16

xx001xxx

 

не используется

Mod010R/M

[disp8/16]

NOT r/m16

Mod011R/M

[disp8/16]

NEG r/m16

Mod100R/M

[disp8/16]

MUL r/m16

Mod101R/M

[disp8/16]

IMUL r/m16

Mod110R/M

[disp8/16]

DIV r/m16

Mod111R/M

[disp8/16]

IDIV r/m16

F8

11111000

 

 

CLC

F9

11111001

 

 

STC

FA

11111010

 

 

CLI

FB

11111011

 

 

STI

FC

11111100

 

 

CLD

FD

11111101

 

 

STD

FE

11111110

Mod000R/M

[disp8/16]

INC r/m8

Mod001R/M

[disp8/16]

DEC r/m8

xx010xxx

/

xx111xxx

 

не используется

FF

11111111

Mod000R/M

[disp8/16]

INC r/m16

Mod001R/M

[disp8/16]

DEC r/m16

Mod010R/M

[disp8/16]

CALL r/m16

Mod011R/M

[disp8/16]

CALL m16:16

Mod100R/M

[disp8/16]

JMP r/m16

Mod101R/M

[disp8/16]

JMP m16:16

Mod110R/M

[disp8/16]

PUSH r/m16

xx111xxx

 

не используется




- Начало -  - Назад -  - Вперед -