ADC - Add with Carry |
* |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
? |
| Code | Mnemonic | Description |
| 14 ib | 1 ADC AL, imm8 | Add with carry imm8 to AL |
| 15 iw | ADC AX, imm16 | Add with carry imm16 to AX |
| 15 id | ADC EAX, imm32 | Add with carry imm32 to EAX |
| 80 /2 ib | ADC r/m8, imm8 | Add with carry imm8 to r/m8 |
| 81 /2 iw | ADC r/m16, imm16 | Add with carry imm16 to r/m16 |
| 81 /2 id | ADC r/m32, imm32 | Add with CF imm32 to r/m32 |
| 83 /2 ib | ADC r/m16, imm8 | Add with CF sign-extended imm8 to r/m16 |
| 83 /2 ib | ADC r/m32, imm8 | Add with CF sign-extended imm8 into r/m32 |
| 10 / r | ADC r/m8, r8 | Add with carry byte register to r/m8 |
| 11 / r | ADC r/m16, r16 | Add with carry r16 to r/m16 |
| 11 / r | ADC r/m32, r32 | Add with CF r32 to r/m32 |
| 12 / r | ADC r8, r/m8 | Add with carry r/m8 to byte register |
| 13 / r | ADC r16, r/m16 | Add with carry r/m16 to r16 |
| 13 / r | ADC r32, r/m32 | Add with CF r/m32 to r32 |
| Operands | Bytes | Clocks | |
| reg, reg | 2 | 1 | PU |
| mem, reg | 2 + d(0, 2) | 3 | PU |
| reg, mem | 2 + d(0, 2) | 4 | PU |
| reg, imm | 2 + i(1, 2) | 1 | PU |
| mem, imm | 2 + d(0, 2)+i(1, 2) | 3 | PU (not pairable if there is a displacement and immediate) |
| acc, imm | 1 + i(1, 2) | 1 | PU |
| ID | unaffected | DF | unaffected |
| VIP | unaffected | IF | unaffected |
| VIF | unaffected | TF | unaffected |
| AC | unaffected | SF | sets according to the result |
| VM | unaffected | ZF | sets according to the result |
| RF | unaffected | AF | sets according to the result |
| NT | unaffected | PF | sets according to the result |
| IOPL | unaffected | CF | sets according to the result |
| OF | sets according to the result |