Intel 64 and IA-32 Architectures Software Developers Manual Volume 2A, Instruction Set Reference, A-M

2-2 Vol. 2
INSTRUCTION FORMAT
2.1.1 Instruction Prefixes
Instruction prefixes are divided into four groups, each with a set of allowable prefix
codes. For each instruction, one prefix may be used from each of four groups (Groups
1, 2, 3, 4) and be placed in any order.
Group 1
Lock and repeat prefixes:
F0H—LOCK
F2H—REPNE/REPNZ (used only with string instructions; when used with
the escape opcode 0FH, this prefix is treated as a mandatory prefix for
some SIMD instructions)
F3H—REP or REPE/REPZ (used only with string instructions; when used
with the escape opcode 0FH, this prefix is treated as an mandatory prefix
for some SIMD instructions)
Group 2
Segment override prefixes:
2EH—CS segment override (use with any branch instruction is reserved)
36H—SS segment override prefix (use with any branch instruction is
reserved)
3EH—DS segment override prefix (use with any branch instruction is
reserved)
26H—ES segment override prefix (use with any branch instruction is
reserved)
64H—FS segment override prefix (use with any branch instruction is
reserved)
65H—GS segment override prefix (use with any branch instruction is
reserved)
Branch hints:
2EH—Branch not taken (used only with Jcc instructions)
3EH—Branch taken (used only with Jcc instructions)
Group 3
66H—Operand-size override prefix (when used with the escape opcode
0FH, this is treated as a mandatory prefix for some SIMD instructions)
Group 4
67H—Address-size override prefix