An instruction consists of
- optional up to four in total 1-byte (legacy) prefixes (in any order)
- 1 to three primary opcode bytes (
opcode
or 0f opcode
or 0f 38 opcode
or of 3a opcode
)
- if required: an addressing form specifier that consists of the ModR/M byte and sometimes also of the scale-index-base byte.
- if required: an address displacement (1, 2 or 4 bytes)
- if required: immediate data (1, 2 or 4 bytes)