Specifications
Intel
®
64 and IA-32 Architectures Software Developer’s Manual Documentation Changes 34
Documentation Changes
Instruction Operand Encoding
...
Opcode Instruction Op/
En
64-Bit
Mode
Compat/
Leg Mode
Description
81 /7 id CMP r/m32,
imm32
CValid Valid Compare imm32 with
r/m32.
REX.W + 81 /7
id
CMP r/m64,
imm32
C Valid N.E. Compare imm32 sign-
extended to 64-bits with
r/m64.
83 /7 ib CMP r/m16, imm8 CValid Valid Compare imm8 with r/m16.
83 /7 ib CMP r/m32, imm8 CValid Valid Compare imm8 with r/m32.
REX.W + 83 /7
ib
CMP r/m64, imm8 C Valid N.E. Compare imm8 with r/m64.
38 /r CMP r/m8, r8 BValid Valid Compare r8 with r/m8.
REX + 38 /r CMP r/m8
*
, r8
*
B Valid N.E. Compare r8 with r/m8.
39 /r CMP r/m16, r16 BValid Valid Compare r16 with r/m16.
39 /r CMP r/m32, r32 BValid Valid Compare r32 with r/m32.
REX.W + 39 /r CMP r/m64,r64 B Valid N.E. Compare r64 with r/m64.
3A /r CMP r8, r/m8 AValid Valid Compare r/m8 with r8.
REX + 3A /r CMP r8
*
, r/m8
*
A Valid N.E. Compare r/m8 with r8.
3B /r CMP r16, r/m16 AValid Valid Compare r/m16 with r16.
3B /r CMP r32, r/m32 AValid Valid Compare r/m32 with r32.
REX.W + 3B /r CMP r64, r/m64 A Valid N.E. Compare r/m64 with r64.
NOTES:
* In 64-bit mode, r/m8 can not be encoded to access the following byte registers if a REX prefix is
used: AH, BH, CH, DH.
Op/En Operand 1 Operand 2 Operand 3 Operand 4
A ModRM:reg (r, w) ModRM:r/m (r) NA NA
B ModRM:r/m (r, w) ModRM:reg (w) NA NA
C ModRM:r/m (r, w) imm8 NA NA
D AL/AX/EAX/RAX imm8 NA NA