Таблица базовых инструкции 16 BIT

00
ADD
rm,r8
01
ADD
rm,r16
02
ADD
r8,rm
03
ADD
r16,rm
04
ADD
al,i8
05
ADD
ax,i16
06
PUSH
es
07
POP
es
08
OR
rm,r8
09
OR
rm,r16
0A
OR
r8,rm
0B
OR
r16,rm
0C
OR
al,i8
0D
OR
ax,i16
0E
PUSH
cs
0F
ext
10
ADC
rm,r8
11
ADC
rm,r16
12
ADC
r8,rm
13
ADC
r16,rm
14
ADC
al,i8
15
ADC
ax,i16
16
PUSH
ss
17
POP
ss
18
SBB
rm,r8
19
SBB
rm,r16
1A
SBB
r8,rm
1B
SBB
r16,rm
1C
SBB
al,i8
1D
SBB
ax,i16
1E
PUSH
ds
1F
POP
ds
20
AND
rm,r8
21
AND
rm,r16
22
AND
r8,rm
23
AND
r16,rm
24
AND
al,i8
25
AND
ax,i16
26
ES:
27
DAA
al
28
SUB
rm,r8
29
SUB
rm,r16
2A
SUB
r8,rm
2B
SUB
r16,rm
2C
SUB
al,i8
2D
SUB
ax,i16
2E
CS:
2F
DAS
al
30
XOR
rm,r8
31
XOR
rm,r16
32
XOR
r8,rm
33
XOR
r16,rm
34
XOR
al,i8
35
XOR
ax,i16
36
SS:
37
AAA
al
38
CMP
rm,r8
39
CMP
rm,r16
3A
CMP
r8,rm
3B
CMP
r16,rm
3C
CMP
al,i8
3D
CMP
ax,i16
3E
DS:
3F
AAS
al
40
INC
ax
41
INC
cx
42
INC
dx
43
INC
bx
44
INC
sp
45
INC
bp
46
INC
si
47
INC
di
48
DEC
ax
49
DEC
cx
4A
DEC
dx
4B
DEC
bx
4C
DEC
sp
4D
DEC
bp
4E
DEC
si
4F
DEC
di
50
PUSH
ax
51
PUSH
cx
52
PUSH
dx
53
PUSH
bx
54
PUSH
sp
55
PUSH
bp
56
PUSH
si
57
PUSH
di
58
POP
ax
59
POP
cx
5A
POP
dx
5B
POP
bx
5C
POP
sp
5D
POP
bp
5E
POP
si
5F
POP
di
60
PUSHA
61
POPA
62
BOUND
r16,m
63
ARPL
rm,r16
64
FS:
65
GS:
66
opsize
67
rgsize
68
PUSH
i16
69
IMUL
r16,rm,i16
6A
PUSH
i8
6B
IMUL
r16,rm,i8
6C
INSB
6D
INSW
6E
OUTSB
6F
OUTSW
70
JO
b8
71
JNO
b8
72
JB
b8
73
JNB
b8
74
JE
b8
75
JNE
b8
76
JBE
b8
77
JA
b8
78
JS
b8
79
JNS
b8
7A
JP
b8
7B
JNP
b8
7C
JL
b8
7D
JNL
b8
7E
JLE
b8
7F
JG
b8
80
GRP1
rm,i8
81
GRP1
rm,i16
82
GRP1
rm8,i8
83
GRP1
rm16,i8
84
TEST
rm,r8
85
TEST
rm,r16
86
XCHG
r8,rm
87
XCHG
r16,rm
88
MOV
rm,r8
89
MOV
rm,r16
8A
MOV
r8,rm
8B
MOV
r16,rm
8C
MOV
rm16,sreg
8D
LEA
r16,rm
8E
MOV
sreg,rm16
8F
POP
rm16
90
NOP
91
XCHG
ax,cx
92
XCHG
ax,dx
93
XCHG
ax,bx
94
XCHG
ax,sp
95
XCHG
ax,bp
96
XCHG
ax,si
97
XCHG
ax,di
98
CBW
99
CWD
9A
CALL
ptr16:16
9B
FWAIT
9C
PUSHF
9D
POPF
9E
SAHF
9F
LAHF
A0
MOV
al,[m16]
A1
MOV
ax,[m16]
A2
MOV
[m16],al
A3
MOV
[m16],ax
A4
MOVSB
A5
MOVSW
A6
CMPSB
A7
CMPSW
A8
TEST
al,i8
A9
TEST
ax,i16
AA
STOSB
AB
STOSW
AC
LODSB
AD
LODSW
AE
SCASB
AF
SCASW
B0
MOV
al,i8
B1
MOV
cl,i8
B2
MOV
dl,i8
B3
MOV
bl,i8
B4
MOV
ah,i8
B5
MOV
ch,i8
B6
MOV
dh,i8
B7
MOV
bh,i8
B8
MOV
ax,i16
B9
MOV
cx,i16
BA
MOV
dx,i16
BB
MOV
bx,i16
BC
MOV
sp,i16
BD
MOV
bp,i16
BE
MOV
si,i16
BF
MOV
di,i16
C0
GRP2
rm8,i8
C1
GRP2
rm16,i8
C2
RET
i16
C3
RET
C4
LES
r16,[m16]
C5
LDS
r16,[m16]
C6
MOV
rm8,i8
C7
MOV
rm16,i16
C8
ENTER
i16,i8
C9
LEAVE
CA
RETF
i16
CB
RETF
CC
INT
3
CD
INT
i8
CE
INTO
CF
IRET
D0
GRP2
rm8,1
D1
GRP2
rm16,1
D2
GRP2
rm8,cl
D3
GRP2
rm16,cl
D4
AAM
D5
AAD
D6
SALC
D7
XLATB
D8
FPU0
D9
FPU1
DA
FPU2
DB
FPU3
DC
FPU4
DD
FPU5
DE
FPU6
DF
FPU7
E0
LOOPNZ
b8
E1
LOOPZ
b8
E2
LOOP
b8
E3
JCXZ
b8
E4
IN
al,i8
E5
IN
ax,i8
E6
OUT
i8,al
E7
OUT
i8,ax
E8
CALL
b16
E9
JMP
b16
EA
JMP
ptr16:16
EB
JMP
b8
EC
IN
al,dx
ED
IN
ax,dx
EE
OUT
dx,al
EF
OUT
dx,ax
F0
LOCK:
F1
INT
1
F2
REPNZ:
F3
REPZ:
F4
HLT
F5
CMC
F6
GRP3
8*
F7
GRP3
16*
F8
CLC
F9
STC
FA
CLI
FB
STI
FC
CLD
FD
STD
FE
GRP4
8*
FF
GRP4
16*

Декодирование байта MODRM

ГруппаREG-часть
R8ALCLDLBLAHCHDHBH
R16AXCXDXBXSPBPSIDI
SEGESCSSSDSFSGS??
GRP1ADDORADCSBBANDSUBXORCMP
GRP2ROLRORRCLRCRSHLSHRSALSAR
GRP3TESTTESTNOTNEGMULIMULDIVIDIV
GRP4INCDECCALLCALLFJMPJMPFPUSH?
R/MREGMOD
01234567+00h+40h+80h+C0h
0000008101820283038[BX+SI][BX+SI+D8][BX+SI+D16]AL|AX|ES
0010109111921293139[BX+DI][BX+DI+D8][BX+DI+D16]CL|CX|CS
010020A121A222A323A[BP+SI][BP+SI+D8][BP+SI+D16]DL|DX|SS
011030B131B232B333B[BP+DI][BP+DI+D8][BP+DI+D16]BL|BX|DS
100040C141C242C343C[SI][SI+D8][SI+D16]AH|SP|FS
101050D151D252D353D[DI][DI+D8][DI+D16]CH|BP|GS
110060E161E262E363E[D16][BP+D8][BP+D16]DH|SI
111070F171F272F373F[BX][BX+D8][BX+D16]BH|DI