i |
i |
i |
r |
r |
m |
m |
m | |||
i i i |
r r |
mmm |
This 16-bit field is present |
000 = special |
o o ii > X |
000= AX |
only if the instruction is a jump instruction or an operand |
001 = or |
01 = BX |
0 0 1 = BX |
isa memory addressing modę |
010= and |
O l Q |
01 o = cx |
of the form [bx+xxxx], [xxxxx]. |
011 - cmp |
11 - DX |
0 1 1 - DX |
ora constant. |
100 - sub 101 -add 110 = mov reg, mem/reg/const |
1 0 0 - [BX] 10 1- [xxxx+BX] 110= [xxxx] | ||
111= mov mem. |
reg |
111 = constant |
Figurę 3.19 Basic x86 Instruction Encoding.
0 1 0 |
0 1 1 |
i | m |
m 1 m | |||
i i 00 = zero operand instructions 01 = jump instructions 10 = not 11 = illegal (reserved) |
mmm (if ii = 10) 000- AX 001 = BX 010= CX 011 = DX 100= [BX] 101 = [xxxx+BX] 110- [xxxx] 111 - constant |
This 1 6-bit field is present only if the instruction is a jump instruction or an operand isa memory addressing modę of the form [bx+xxxx], [xxxxx], ora constant |
Figurę 3.20 Single Operand Instruction Encodings