620 AMD Geodeā„¢ LX Processors Data Book
Instruction Set
33234H
8.1.1 Prefix (Optional)
Prefix bytes can be placed in front of any instruction to modify the operation of that instruction. When more than one prefix
is used, the order is not important. There are five types of prefixes that can be used:
1) Segment Override explicitly specifies which segment register the instruction will use for effective address calculation.
2) Address Size switches between 16-bit and 32-bit addressing by selecting the non-default address size.
3) Operand Size switches between 16-bit and 32-bit operand size by selecting the non-default operand size.
4) Repeat is used with a string instruction to cause the instruction to be repeated for each element of the string.
Table 8-3 lists the encoding for different types of prefix bytes.
Table 8-2. Instruction Fields
Field Name Description
Prefix (optional) Prefix Field(s): One or more optional fields that are used to specify segment register over-
ride, address and operand size, repeat elements in string instruction, and LOCK# assertion.
Opcode Opcode Field: Identifies instruction operation.
mod Address Mode Specifier: Used with the r/m field to select addressing mode.
reg General Register Specifier: Uses reg, sreg3, or sreg2 encoding depending on opcode field.
r/m Address Mode Specifier: Used with mod field to select addressing mode.
ss Scale factor: Determines scaled-index address mode.
index Index: Determines general register to be used as index register.
base Base: Determines general register to be used as base register.
Address Displacement Displacement: Determines address displacement.
Immediate Data Immediate Data: Immediate data operand used by instruction.
Table 8-3. Instruction Prefix Summary
Prefix Encoding Description
ES: 26h Override segment default, use ES for memory operand.
CS: 2Eh Override segment default, use CS for memory operand.
SS: 36h Override segment default, use SS for memory operand.
DS: 3Eh Override segment default, use DS for memory operand.
FS: 64h Override segment default, use FS for memory operand.
GS: 65h Override segment default, use GS for memory operand.
Operand Size 66h Make operand size attribute the inverse of the default.
Address Size 67h Make address size attribute the inverse of the default.
LOCK F0h Assert LOCK# internal hardware signal.
REPNE F2h Repeat the following string instruction.
REP/REPE F3h Repeat the following string instruction.