user manual
148 Execution Unit Resources
AMD Athlon™ Processor x86 Code Optimization
22007E/0—November 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 operands—Used for address calculations of
load and store instructions
■ Data register operands—Used for register instructions
■ Store data register operands—Used for memory stores
Results The two types of results are as follows:
■ Data register results—Produced by load or register
instructions
■ Address register results—Produced 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).