93 / 132 page

HT80C51 User Manual
80C51 Family Instruction Set – Instruction definitions
Handshake Solutions
© Philips Electronics N.V. 2005
Page 93 of 132
ADDC A,<src-byte>
Function: Add with Carry
Description: ADDC simultaneously adds the byte variable indicated, the carry flag and the Accumulator con-
tents, leaving the result in the Accumulator. The carry and auxiliary-carry flags are set, respec-
tively, if there is a carry-out from bit 7 or bit 3, and cleared otherwise. When adding unsigned inte-
gers, the carry flag indicates an overflow occurred.
OV is set if there is a carry-out of bit 6 but not out of bit 7, or a carry-out of bit 7 but not out of bit 6;
otherwise OV is cleared. When adding signed integers, OV indicates a negative number produced
as the sum of two positive operands, or a positive sum from two negative operands.
Four source operand addressing modes are allowed: register, direct, register-indirect, or immedi-
ate.
Example: The Accumulator holds 0C3H (11000011B) and register 0 holds 0AAH (10101010B) with the carry
flag set. The instruction,
ADDC A,R0
will leave 6EH (01101110B) in the Accumulator with AC cleared and both the Carry flag and OV
set to 1.
ADDC A,Rn
Bytes: 1
Cycles: 1
Encoding:
Operation: ADDC
(A)
← (A) + (C) + (Rn)
ADDC A,direct
Bytes: 2
Cycles: 1
Encoding:
Operation: ADDC
(A)
← (A) + (C) + (direct)
ADDC A,@Ri
Bytes: 1
Cycles: 1
Encoding:
Operation: ADDC
(A)
← (A) + (C) + ((Ri))
ADDC A,#data
Bytes: 2
Cycles: 1
Encoding:
Operation: ADDC
(A)
← (A) + (C) + #data
0
0
1
1
1
r
r
r
0
0
1
1
0
1
0
1
direct address
0
0
1
1
0
1
1
i
0
0
1
1
0
1
0
0
immediate data