
Instruction Set
4-10
ADC
Add Numbers with Carry
ADC
What It Does
ADC adds two integers or unsigned numbers and the value of the Carry Flag (CF).
Syntax
Description
ADC performs an integer addition of the two operands and the value of CF. ADC assigns
the result to
sum and sets CF as required. ADC is typically part of a multibyte or multiword
addition operation. ADC sign-extends immediate-byte values to the appropriate size before
adding to a word operand.
Operation It Performs
Form
Opcode
Description
Clocks
Am186 Am188
ADC AL,
imm8
14
ib
Add immediate byte to AL with carry
3
3
ADC AX,
imm16
15
iw
Add immediate word to AX with carry
4
4
ADC
r/m8,imm8
80
/2 ib
Add immediate byte to r/m byte with carry
4/16
4/16
ADC
r/m16,imm16
81
/2 iw
Add immediate word to r/m word with carry
4/16
4/20
ADC
r/m16,imm8
83
/2 ib
Add sign-extended immediate byte to r/m word with carry
4/16
4/20
ADC
r/m8,r8
10
/r
Add byte register to r/m byte with carry
3/10
3/10
ADC
r/m16,r16
11
/r
Add word register to r/m word with carry
3/10
3/14
ADC
r8,r/m8
12
/r
Add r/m byte to byte register with carry
3/10
3/10
ADC
r16,r/m16
13
/r
Add r/m word to word register with carry
3/10
3/14
ADC
sum,addend
if
(addend == imm8)
if (size(
sum) > 8)
/* extend sign of addend */
if (
addend < 0)
addend = 0xFF00 | addend;
else
addend = 0x00FF & addend;
/* add with carry */
sum = sum + CF;
Содержание Am186 Series
Страница 1: ...Am186 and Am188 Family Instruction Set Manual February 1997...
Страница 10: ...Table of Contents x...
Страница 18: ...Programming 1 8...
Страница 40: ...Instruction Set Listing 3 14...