Instruction
ADC
Adds two integers and the carry flag, the step that chains multi-word additions; APX adds a three-operand form.
- Extensions
- Forms
- 48 (24 Legacy, 24 EVEX)
- Data
- Intel XED v2026.08.23
Forms
| Instruction | Encoding | Requires |
|---|---|---|
ADC m8, imm8
ADC_MEMb_IMMb_80r2 | 80 /2 ib | Base instruction set |
ADC r8, imm8
ADC_GPR8_IMMb_80r2 | 80 /2 ib | Base instruction set |
ADC m16/32/64, imm16/32
ADC_MEMv_IMMz | 81 /2 iw/id | Base instruction set |
ADC r16/32/64, imm16/32
ADC_GPRv_IMMz | 81 /2 iw/id | Base instruction set |
ADC m8, imm8 not in 64-bit mode
ADC_MEMb_IMMb_82r2 | 82 /2 ib | Base instruction set |
ADC r8, imm8 not in 64-bit mode
ADC_GPR8_IMMb_82r2 | 82 /2 ib | Base instruction set |
ADC m16/32/64, imm8
ADC_MEMv_IMMb | 83 /2 ib | Base instruction set |
ADC r16/32/64, imm8
ADC_GPRv_IMMb | 83 /2 ib | Base instruction set |
ADC m8, r8
ADC_MEMb_GPR8 | 10 /r | Base instruction set |
ADC r8, r8
ADC_GPR8_GPR8_10 | 10 /r | Base instruction set |
ADC m16/32/64, r16/32/64
ADC_MEMv_GPRv | 11 /r | Base instruction set |
ADC r16/32/64, r16/32/64
ADC_GPRv_GPRv_11 | 11 /r | Base instruction set |
ADC r8, m8
ADC_GPR8_MEMb | 12 /r | Base instruction set |
ADC r8, r8
ADC_GPR8_GPR8_12 | 12 /r | Base instruction set |
ADC r16/32/64, m16/32/64
ADC_GPRv_MEMv | 13 /r | Base instruction set |
ADC r16/32/64, r16/32/64
ADC_GPRv_GPRv_13 | 13 /r | Base instruction set |
ADC AL, imm8
ADC_AL_IMMb | 14 ib | Base instruction set |
ADC rAX, imm16/32
ADC_OrAX_IMMz | 15 iw/id | Base instruction set |
LOCK ADC m8, imm8
ADC_LOCK_MEMb_IMMb_80r2 | 80 /2 ib | Base instruction set |
LOCK ADC m16/32/64, imm16/32
ADC_LOCK_MEMv_IMMz | 81 /2 iw/id | Base instruction set |
LOCK ADC m8, imm8 not in 64-bit mode
ADC_LOCK_MEMb_IMMb_82r2 | 82 /2 ib | Base instruction set |
LOCK ADC m16/32/64, imm8
ADC_LOCK_MEMv_IMMb | 83 /2 ib | Base instruction set |
LOCK ADC m8, r8
ADC_LOCK_MEMb_GPR8 | 10 /r | Base instruction set |
LOCK ADC m16/32/64, r16/32/64
ADC_LOCK_MEMv_GPRv | 11 /r | Base instruction set |
ADC r8, r8
ADC_GPR8i8_GPR8i8_APX | EVEX.LLZ.NP.MAP4.WIG 10 /rEVEX.LLZ.NP.MAP4.WIG 12 /r | APX_F |
ADC m8, r8
ADC_MEMi8_GPR8i8_APX | EVEX.LLZ.NP.MAP4.WIG 10 /r | APX_F |
ADC r16/32/64, r16/32/64, imm8 NDD
ADC_GPRv_GPRv_IMM8_APX_N3 | EVEX.LLZ.NP.MAP4.SCALABLE 83 /2 ib ND=1 | APX_F + APX_NCI_NDD_NF |
ADC r16/32/64, m16/32/64, imm8 NDD
ADC_GPRv_MEMv_IMM8_APX_N3 | EVEX.LLZ.NP.MAP4.SCALABLE 83 /2 ib ND=1 | APX_F + APX_NCI_NDD_NF |
ADC r8, r8, r8 NDD
ADC_GPR8i8_GPR8i8_GPR8i8_APX_N3 | EVEX.LLZ.NP.MAP4.WIG 10 /r ND=1EVEX.LLZ.NP.MAP4.WIG 12 /r ND=1 | APX_F + APX_NCI_NDD_NF |
ADC r8, m8, r8 NDD
ADC_GPR8i8_MEMi8_GPR8i8_APX_N3 | EVEX.LLZ.NP.MAP4.WIG 10 /r ND=1 | APX_F + APX_NCI_NDD_NF |
ADC r16/32/64, r16/32/64
ADC_GPRv_GPRv_APX | EVEX.LLZ.NP.MAP4.SCALABLE 11 /rEVEX.LLZ.NP.MAP4.SCALABLE 13 /r | APX_F |
ADC m16/32/64, r16/32/64
ADC_MEMv_GPRv_APX | EVEX.LLZ.NP.MAP4.SCALABLE 11 /r | APX_F |
ADC r16/32/64, r16/32/64, r16/32/64 NDD
ADC_GPRv_GPRv_GPRv_APX_N3 | EVEX.LLZ.NP.MAP4.SCALABLE 11 /r ND=1EVEX.LLZ.NP.MAP4.SCALABLE 13 /r ND=1 | APX_F + APX_NCI_NDD_NF |
ADC r16/32/64, m16/32/64, r16/32/64 NDD
ADC_GPRv_MEMv_GPRv_APX_N3 | EVEX.LLZ.NP.MAP4.SCALABLE 11 /r ND=1 | APX_F + APX_NCI_NDD_NF |
ADC r8, m8
ADC_GPR8i8_MEMi8_APX | EVEX.LLZ.NP.MAP4.WIG 12 /r | APX_F |
ADC r8, r8, m8 NDD
ADC_GPR8i8_GPR8i8_MEMi8_APX_N3 | EVEX.LLZ.NP.MAP4.WIG 12 /r ND=1 | APX_F + APX_NCI_NDD_NF |
ADC r16/32/64, m16/32/64
ADC_GPRv_MEMv_APX | EVEX.LLZ.NP.MAP4.SCALABLE 13 /r | APX_F |
ADC r8, r8, imm8 NDD
ADC_GPR8i8_GPR8i8_IMM8_APX_N3 | EVEX.LLZ.NP.MAP4.WIG 80 /2 ib ND=1 | APX_F + APX_NCI_NDD_NF |
ADC r8, m8, imm8 NDD
ADC_GPR8i8_MEMi8_IMM8_APX_N3 | EVEX.LLZ.NP.MAP4.WIG 80 /2 ib ND=1 | APX_F + APX_NCI_NDD_NF |
ADC r16/32/64, r16/32/64, m16/32/64 NDD
ADC_GPRv_GPRv_MEMv_APX_N3 | EVEX.LLZ.NP.MAP4.SCALABLE 13 /r ND=1 | APX_F + APX_NCI_NDD_NF |
ADC r8, imm8
ADC_GPR8i8_IMM8_APX | EVEX.LLZ.NP.MAP4.WIG 80 /2 ib | APX_F |
ADC m8, imm8
ADC_MEMi8_IMM8_APX | EVEX.LLZ.NP.MAP4.WIG 80 /2 ib | APX_F |
ADC r16/32/64, imm16/32
ADC_GPRv_IMMz_APX | EVEX.LLZ.NP.MAP4.SCALABLE 81 /2 iw/id | APX_F |
ADC m16/32/64, imm16/32
ADC_MEMv_IMMz_APX | EVEX.LLZ.NP.MAP4.SCALABLE 81 /2 iw/id | APX_F |
ADC r16/32/64, r16/32/64, imm16/32 NDD
ADC_GPRv_GPRv_IMMz_APX_N3 | EVEX.LLZ.NP.MAP4.SCALABLE 81 /2 iw/id ND=1 | APX_F + APX_NCI_NDD_NF |
ADC r16/32/64, m16/32/64, imm16/32 NDD
ADC_GPRv_MEMv_IMMz_APX_N3 | EVEX.LLZ.NP.MAP4.SCALABLE 81 /2 iw/id ND=1 | APX_F + APX_NCI_NDD_NF |
ADC r16/32/64, imm8
ADC_GPRv_IMM8_APX | EVEX.LLZ.NP.MAP4.SCALABLE 83 /2 ib | APX_F |
ADC m16/32/64, imm8
ADC_MEMv_IMM8_APX | EVEX.LLZ.NP.MAP4.SCALABLE 83 /2 ib | APX_F |
CPUID and processors
Each form belongs to an XED ISA set. A form can be used when the processor reports every CPUID bit of one of its ISA set's alternatives.
| ISA set | CPUID | Processors in XED |
|---|---|---|
I86 | No CPUID bit: part of the base instruction set. | Every x86-64 processor in XED’s model |
APX_F | APX_F | Nova Lake, Diamond Rapids |
APX_F_N3 | APX_F + APX_NCI_NDD_NF | Nova Lake, Diamond Rapids |
More General-purpose instructions
- AAA
- AAD
- AAM
- AAS
- ADD
- AND
- BOUND
- BSF
- BSR
- BSWAP
- BT
- BTC
- BTR
- BTS
- CALL
- CBW
- CDQ
- CDQE
- CLC
- CLD
- CLI
- CMC
- CMP
- CMPS
- CMPXCHG
- CMPXCHG8B
- CPUID
- CQO
- CWD
- CWDE
- DAA
- DAS
- DEC
- DIV
- ENTER
- IDIV
- IMUL
- IN
- INC
- INS
All 109 General-purpose instructions
More APX instructions
Sources
- Intel XED v2026.08.23 (commit
0bcb6237345c): forms, encodings, ISA sets, CPUID bits and chip model. - Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 2 (325383-092, June 2026)
- Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 2 (325383-093, September 2026)
- Intel Advanced Performance Extensions (Intel APX) Architecture Specification, revision 7.0 (July 2025)
The tables are derived from Intel XED, Copyright Intel Corporation, licensed under the Apache License 2.0; x86-64.net converted and reformatted them. The text is our own.