
Intel386
TM
SX MICROPROCESSOR
Register Specified by reg Field
During 32-Bit Data Operations
reg
Function of w Field
(when w
e
0)
(when w
e
1)
000
001
010
011
100
101
110
111
AL
CL
DL
BL
AH
CH
DH
BH
EAX
ECX
EDX
EBX
ESP
EBP
ESI
EDI
9.2.3.3 ENCODING OF THE SEGMENT
REGISTER (sreg) FIELD
The sreg field in certain instructions is a 2-bit field
allowing one of the four 80286 segment registers to
be specified. The sreg field in other instructions is a
3-bit field, allowing the Intel386 SX CPU FS and GS
segment registers to be specified.
2-Bit sreg2 Field
2-Bit
Segment
Register
Selected
sreg2 Field
00
01
10
11
ES
CS
SS
DS
3-Bit sreg3 Field
3-Bit
Segment
Register
Selected
sreg3 Field
000
001
010
011
100
101
110
111
ES
CS
SS
DS
FS
GS
do not use
do not use
9.2.3.4 ENCODING OF ADDRESS MODE
Except for special instructions, such as PUSH or
POP, where the addressing mode is pre-determined,
the addressing mode for the current instruction is
specified by addressing bytes following the primary
opcode. The primary addressing byte is the ‘‘mod
r/m’’ byte, and a second byte of addressing informa-
tion, the ‘‘s-i-b’’ (scale-index-base) byte, can be
specified.
The s-i-b byte (scale-index-base byte) is specified
when using 32-bit addressing mode and the ‘‘mod
r/m’’ byte has r/m
e
100 and mod
e
00, 01 or 10.
When the sib byte is present, the 32-bit addressing
mode is a function of the mod, ss, index, and base
fields.
The primary addressing byte, the ‘‘mod r/m’’ byte,
also contains three bits (shown as TTT in Figure 8-1)
sometimes used as an extension of the primary op-
code. The three bits, however, may also be used as
a register field (reg).
When calculating an effective address, either 16-bit
addressing or 32-bit addressing is used. 16-bit ad-
dressing uses 16-bit address components to calcu-
late the effective address while 32-bit addressing
uses 32-bit address components to calculate the ef-
fective address. When 16-bit addressing is used, the
‘‘mod r/m’’ byte is interpreted as a 16-bit addressing
mode specifier. When 32-bit addressing is used, the
‘‘mod r/m’’ byte is interpreted as a 32-bit addressing
mode specifier.
Tables on the following three pages define all en-
codings of all 16-bit addressing modes and 32-bit
addressing modes.
97