<<<    Index    >>>
3-6
BASIC EXECUTION ENVIRONMENT
3.6.1.General-Purpose Data Registers
The 32-bit general-purpose data registers EAX, EBX, ECX, EDX, ESI, EDI, EBP, and ESP are
provided for holding the following items:
•
Operands for logical and arithmetic operations
•
Operands for address calculations
•
Memory pointers
Although all of these registers are available for general storage of operands, results, and
pointers, caution should be used when referencing the ESP register. The ESP register holds the
stack pointer and as a general rule should not be used for any other purpose. 
Many instructions assign specific registers to hold operands. For example, string instructions
use the contents of the ECX, ESI, and EDI registers as operands. When using a segmented
memory model, some instructions assume that pointers in certain registers are relative to
Figure 3-3.  Application Programming Registers
0
31
EAX
EBX
ECX
EDX
ESI
EDI
EBP
ESP
Segment Registers
CS
DS
SS
ES
FS
GS
0
15
0
31
EFLAGS
EIP
31
0
General-Purpose Registers
Status and Control Registers
<<<    Index    >>>