Specifications

Intel
®
64 and IA-32 Architectures Software Developer’s Manual Documentation Changes 13
Documentation Changes
Instruction Operand Encoding
...
ADD—Add
Opcode Instruction Op/
En
64-bit
Mode
Compat/
Leg Mode
Description
REX.W + 11 /r ADC r/m64, r64 AValid N.E. Add with CF r64 to r/m64.
12 /r ADC r8, r/m8 AValid Valid Add with carry r/m8 to byte
register.
REX + 12 /r ADC r8
*
, r/m8
*
A Valid N.E. Add with carry r/m64 to
byte register.
13 /r ADC r16, r/m16 A Valid Valid Add with carry r/m16 to
r16.
13 /r ADC r32, r/m32 AValid Valid Add with CF r/m32 to r32.
REX.W + 13 /r ADC r64, r/m64 AValid N.E. Add with CF r/m64 to 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:r/m (r, w) ModRM:reg (r) NA NA
B ModRM:r/m (r, w) imm8 NA NA
C AL/AX/EAX/RAX imm8 NA NA
Opcode Instruction Op/
En
64-bit
Mode
Compat/
Leg Mode
Description
04 ib ADD AL, imm8 CValid Valid Add imm8 to AL.
05 iw ADD AX, imm16 CValid Valid Add imm16 to AX.
05 id ADD EAX, imm32 CValid Valid Add imm32 to EAX.
REX.W + 05 id ADD RAX, imm32 CValid N.E. Add imm32 sign-extended
to 64-bits to RAX.
80 /0 ib ADD r/m8, imm8 BValid Valid Add imm8 to r/m8.
REX + 80 /0 ib ADD r/m8
*
, imm8 BValid N.E. Add sign-extended imm8 to
r/m64.
81 /0 iw ADD r/m16,
imm16
BValid Valid Add imm16 to r/m16.
81 /0 id ADD r/m32,
imm32
BValid Valid Add imm32 to r/m32.
REX.W + 81 /0
id
ADD r/m64,
imm32
BValid N.E. Add imm32 sign-extended
to 64-bits to r/m64.
83 /0 ib ADD r/m16, imm8 BValid Valid Add sign-extended imm8 to
r/m16.
83 /0 ib ADD r/m32, imm8 BValid Valid Add sign-extended imm8 to
r/m32.