x86 architecture
16-bit mod R/M byte




r8(/r)
r16(/r)
r32(/r)
mm(/r)
xmm(/r)
ymm(/r)
zmm(r)
sreg
eee
eee
/digit (opcode)
reg=
AL
AX
EAX
MM0
XMM0
YMM0
ZMM0
ES
CR0
DR0
0
000
CL
CX
ECX
MM1
XMM1
YMM1
ZMM1
CS
CR1
DR1
1
001
DL
DX
EDX
MM2
XMM2
YMM2
ZMM2
SS
CR2
DR2
2
010
BL
BX
EBX
MM3
XMM3
YMM3
ZMM3
DS
CR3
DR3
3
011
AH
SP
ESP
MM4
XMM4
YMM4
ZMM4
FS
CR4
DR4
4
100
CH
BP
EBP
MM5
XMM5
YMM5
ZMM5
GS
CR5
DR5
5
101
DH
SI
ESI
MM6
XMM6
YMM6
ZMM6
res.
CR6
DR6
6
110
BH
DI
EDI
MM7
XMM7
YMM7
ZMM7
res.
CR7
DR7
7
111
effective address mod R/M value of mod R/M byte (hex)
[BX+SI]
[BX+DI]
[BP+SI] (defaults to SS)
[BP+DI] (defaults to SS)
[SI]
[DI]
[sword]
[BX]
00
 
 
 
 
 
 
 
000
001
010
011
100
101
110
111
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
20
21
22
23
24
25
26
27
28
29
2A
2B
2C
2D
2E
2F
30
31
32
33
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F
[BX+SI+sbyte]
[BX+DI+sbyte]
[BP+SI+sbyte] (defaults to SS)
[BP+DI+sbyte] (defaults to SS)
[SI+sbyte]
[DI+sbyte]
[BP+sbyte] (defaults to SS)
[BX+sbyte]
01
 
 
 
 
 
 
 
000
001
010
011
100
101
110
111
40
41
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F
50
51
52
53
54
55
56
57
58
59
5A
5B
5C
5D
5E
5F
60
61
62
63
64
65
66
67
68
69
6A
6B
6C
6D
6E
6F
70
71
72
73
74
75
76
77
78
79
7A
7B
7C
7D
7E
7F
[BX+SI+sword]
[BX+DI+sword]
[BP+SI+sword] (defaults to SS)
[BP+DI+sword] (defaults to SS)
[SI+sword]
[DI+sword]
[BP+sword] (defaults to SS)
[BX+sword]
10
 
 
 
 
 
 
 
000
001
010
011
100
101
110
111
80
81
82
83
84
85
86
87
88
89
8A
8B
8C
8D
8E
8F
90
91
92
93
94
95
96
97
98
99
9A
9B
9C
9D
9E
9F
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
AA
AB
AC
AD
AE
AF
B0
B1
B2
B3
B4
B5
B6
B7
B8
B9
BA
BB
BC
BD
BE
BF
AL/AX/EAX/MM0/XMM0/YMM0/ZMM0
CL/CX/ECX/MM1/XMM1/YMM1/ZMM1
DL/DX/EDX/MM2/XMM2/YMM2/ZMM2
BL/BX/EBX/MM3/XMM3/YMM3/ZMM3
AH/SP/ESP/MM4/XMM4/YMM4/ZMM4
CH/BP/EBP/MM5/XMM5/YMM5/ZMM5
DH/SI/ESI/MM6/XMM6/YMM6/ZMM6
BH/DI/EDI/MM7/XMM7/YMM7/ZMM7
11
 
 
 
 
 
 
 
000
001
010
011
100
101
110
111
C0
C1
C2
C3
C4
C5
C6
C7
C8
C9
CA
CB
CC
CD
CE
CF
D0
D1
D2
D3
D4
D5
D6
D7
D8
D9
DA
DB
DC
DD
DE
DF
E0
E1
E2
E3
E4
E5
E6
E7
E8
E9
EA
EB
EC
ED
EE
EF
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
FA
FB
FC
FD
FE
FF

note: MVEX requires PM64, which in turn precludes 16-bit addressing, which in turn precludes ZMM0...ZMM7



main page