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