user manual

148 Execution Unit Resources
AMD Athlon Processor x86 Code Optimization
22007E/0November 1999
Execution Unit Resources
Terminology
The execution units operate with two types of register values
operands and results. There are three operand types and two
result types, which are described in this section.
Operands The three types of operands are as follows:
Address register operandsUsed for address calculations of
load and store instructions
Data register operandsUsed for register instructions
Store data register operandsUsed for memory stores
Results The two types of results are as follows:
Data register resultsProduced by load or register
instructions
Address register resultsProduced by LEA or PUSH
instructions
Examples The following examples illustrate the operand and result
definitions:
ADD EAX, EBX
The ADD instruction has two data register operands (EAX
and EBX) and one data register result (EAX).
MOV EBX, [ESP+4*ECX+8] ;Load
The Load instruction has two address register operands
(ESP and ECX as base and index registers, respectively)
and a data register result (EBX).
MOV [ESP+4*ECX+8], EAX ;Store
The Store instruction has a data register operand (EAX)
and two address register operands (ESP and ECX as base
and index registers, respectively).
LEA ESI, [ESP+4*ECX+8]
The LEA instruction has address register operands (ESP
and ECX as base and index registers, respectively), and an
address register result (ESI).