92 / 132 page

Handshake Solutions
HT80C51 User Manual
80C51 Family Instruction Set – Instruction definitions
Page 92 of 132
© Philips Electronics N.V. 2005
ADD A,<src-byte>
Function: Add
Description: ADD adds the byte variable indicated to the Accumulator, leaving the result in the Accumulator.
The carry and auxiliary-carry flags are set, respectively, if there is a carry-out from bit 7 or bit 3,
and cleared otherwise. When adding unsigned integers, the carry flag indicates an overflow oc-
curred.
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 bit 6; oth-
erwise 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). The instruc-
tion,
ADD A,R0
will leave 6DH (01101101B) in the Accumulator with the AC flag cleared and both the Carry flag
and OV set to 1.
ADD A,Rn
Bytes: 1
Cycles: 1
Encoding:
Operation: ADD
(A)
← (A) + (Rn)
ADD A,direct
Bytes: 2
Cycles: 1
Encoding:
Operation: ADD
(A)
← (A) + (direct)
ADD A,@Ri
Bytes: 1
Cycles: 1
Encoding:
Operation: ADD
(A)
← (A) + ((Ri))
ADD A,#data
Bytes: 2
Cycles: 1
Encoding:
Operation: ADD
(A)
← (A) + #data
0
0
1
0
1
r
r
r
0
0
1
0
0
1
0
1
direct address
0
0
1
0
0
1
1
i
0
0
1
0
0
1
0
0
immediate data