user manual

188 Instruction Dispatch and Execution Resources
AMD Athlon Processor x86 Code Optimization
22007E/0November 1999
disp16/3216-bit or 32-bit displacement value
disp32/4832-bit or 48-bit displacement value
eXXregister width depending on the operand size
mem32real32-bit floating-point value in memory
mem64real64-bit floating-point value in memory
mem80real80-bit floating-point value in memory
mmregMMX/3DNow! register
mmreg1MMX/3DNow! register defined by bits 5, 4, and 3
of the modR/M byte
mmreg2MMX/3DNow! register defined by bits 2, 1, and 0
of the modR/M byte
The second and third columns list all applicable encoding
opcode bytes.
The fourth column lists the modR/M byte used by the
instruction. The modR/M byte defines the instruction as
register or memory form. If mod bits 7 and 6 are documented as
mm (memory form), mm can only be 10b, 01b, or 00b.
The fifth column lists the type of instruction decode
DirectPath or VectorPath (see DirectPath Decoder on page
133 and VectorPath Decoder on page 133 for more
information). The AMD Athlon processor enhanced decode
logic can process three instructions per clock.
The FPU, MMX, and 3DNow! instruction tables have an
additional column that lists the possible FPU execution
pipelines available for use by any particular DirectPath
decoded operation. Typically, VectorPath instructions require
more than one execution pipe resource.
Table 19. Integer Instructions
Instruction Mnemonic
First
Byte
Second
Byte
ModR/M
Byte
Decode
Type
AAA 37h VectorPath
AAD D5h 0Ah VectorPath
AAM D4h 0Ah VectorPath
AAS 3Fh VectorPath