| |
Add With Carry
86/88 |
Y |
186 |
Y |
286 |
Y |
386 |
Y |
486 |
Y |
ADC destination, source |
Ovfl |
Y |
Dir |
N |
Int |
N |
Trap |
N |
Sign |
Y |
Zero |
Y |
Aux |
Y |
Prty |
Y |
Carry |
Y |
ADC adds the operands, adds 1 if the Carry Flag is set, and places the
resulting sum in destination. Both operands may be bytes or words, and
both may be signed or unsigned binary numbers.
Note: ADC is useful for adding numbers that are larger
than 16 bits, since it adds a carry from a previous
operation.
------------------------------------ Timing ----------------------------------
OpCode Instruction 386 286 86
10/r ADC r/m8, r8 2/7 2/7 3/16+EA
11/r ADC r/m16, r16 2/7 2/7 3/16+EA
11/r ADC r/m32, r32 2/7
12/r ADC r8, r/m8 2/6 2/7 3/9+EA
13/r ADC r16, r/m16 2/6 2/7 3/9+EA
13/r ADC r32, r/m32 2/6
14 ib ADC AL, imm8 2 3 4
15 iw ADC AX, imm16 2 3 4
15 id ADC EAX, imm32 2
80/2 ib ADC r/m8, imm8 2/7 3/7 4/17+EA
81/2 ib ADC r/m16, imm16 2/7 3/7 4/17+EA
81/2 ib ADC r/m32, imm32 2/7
83/2 ib ADC r/m16, imm8 2/7 3/7 4/17+EA
83/2 ib ADC r/m32, imm8 2/7
------------------------------------ Logic -----------------------------------
destination = destination + source + CF
See Also ADD INC AAA DAA Flags |