2-12 Vol. 2A
INSTRUCTION FORMAT
In the IA-32 architecture, byte registers (AH, AL, BH, BL, CH, CL, DH, and DL) are
encoded in the ModR/M byte’s reg field, the r/m field or the opcode reg field as regis-
ters 0 through 7. REX prefixes provide an additional addressing capability for byte-
registers that makes the least-significant byte of GPRs available for byte operations.
Certain combinations of the fields of the ModR/M byte and the SIB byte have special
meaning for register encodings. For some combinations, fields expanded by the REX
prefix are not decoded. Table 2-5 describes how each case behaves.
Figure 2-6. Memory Addressing With a SIB Byte
Figure 2-7. Register Operand Coded in Opcode Byte; REX.X & REX.R Not Used
PRG
0RG50%\WH
UP
UHJ
UUU
VFDOH
VV
6,%%\WH
5(;35(),;
:5;%
2SFRGH
5UUU
EDVH
%EEE
EEE
;[[[
LQGH[
[[[
20;ILJ
5(;35(),;
:%
2SFRGH
%EEE
UHJ
EEE
20;ILJ