| short |
description |
| A |
direct address; no mod R/M byte; address of operand is encoded in instruction;
no base register, index register, or scaling factor can be applied
|
| C |
reg field of mod R/M byte selects a control register |
| D |
reg field of mod R/M byte selects a debug register |
| E |
mod R/M byte follows opcode and specifies operand; operand is either a general register or a memory address;
if it is a memory address, the address is computed from a segment register and any of the following values:
a base register, an index register, a scaling factor, a displacement
|
| F |
flags register |
| G |
reg field of mod R/M byte selects a general register |
| I |
immediate data; value of operand is encoded in subsequent bytes of instruction |
| J |
instruction contains a relative offset to be added to the instruction pointer register |
| M |
mod R/M byte may refer only to memory |
| O |
instruction has no mod R/M byte;
offset of operand is coded as a word or double word (depending on address size attribute) in instruction;
no base register, index register, or scaling factor can be applied; eg. MOV (A0..A3h)
|
| P |
reg field of mod R/M byte selects a packed quadword MMX register |
| Q |
mod R/M byte follows opcode and specifies operand; operand is either an MMX register or a memory address;
if it is a memory address, the address is computed from a segment register and any of the following values:
a base register, an index register, a scaling factor, a displacement
|
| R |
mod field of mod R/M byte may refer only to a general register |
| S |
reg field of mod R/M byte selects a segment register |
| T |
reg field of mod R/M byte selects a test register |
| V |
reg field of mod R/M byte selects a packed SIMD FP register |
| W |
mod R/M byte follows opcode and specifies operand; operand is either an SIMD FP register or a memory address;
if it is a memory address, the address is computed from a segment register and any of the following values:
a base register, an index register, a scaling factor, a displacement
|
| X |
memory addressed by DS:SI register pair; eg. MOVS, CMPS, OUTS, LODS |
| Y |
memory addressed by ES:DI register pair; eg. MOVS, CMPS, INS, STOS, SCAS |
| short |
description |
| b |
byte (regardless of operand size attribute) |
| w |
word (regardless of operand size attribute) |
| d |
dword (regardless of operand size attribute) |
| q |
qword (regardless of operand size attribute) |
| o |
oword (regardless of operand size attribute) |
| c |
byte or word, depending on operand size attribute |
| v |
word or doubleword, depending on operand size attribute |
| a |
two word or two doubleword operands in memory, depending on operand size attribute (used only by BOUND) |
| p |
32-bit or 48-bit pointer, depending on operand size attribute |
| s |
six-byte pseudo-descriptor |