User Guide

General-Purpose Programming 31
24592—Rev. 3.15—November 2009 AMD64 Technology
Table 3-1. Implicit Uses of GPRs
Registers
1
Name Implicit Uses
Low 8-Bit 16-Bit 32-Bit 64-Bit
AL AX EAX RAX
2
Accumulator
Operand for decimal
arithmetic, multiply, divide,
string, compare-and-
exchange, table-translation,
and I/O instructions.
Special accumulator encoding
for ADD, XOR, and MOV
instructions.
Used with EDX to hold double-
precision operands.
CPUID processor-feature
information.
BL BX EBX RBX
2
Base
Address generation in 16-bit
code.
Memory address for XLAT
instruction.
CPUID processor-feature
information.
CL CX ECX RCX
2
Count
Bit index for shift and rotate
instructions.
Iteration count for loop and
repeated string instructions.
Jump conditional if zero.
CPUID processor-feature
information.
DL DX EDX RDX
2
I/O Address
Operand for multiply and divide
instructions.
Port number for I/O
instructions.
Used with EAX to hold double-
precision operands.
CPUID processor-feature
information.
SIL
2
SI ESI RSI
2
Source Index
Memory address of source
operand for string instructions.
Memory index for 16-bit
addresses.
Note:
1. Gray-shaded registers have no implicit uses.
2. Accessible only in 64-bit mode.