| Operation: | ADD, ADDC |
| Function: | Add Accumulator, Add Accumulator With Carry |
| Syntax: | ADD A,operand |
| ADDC A,operand |
| Instructions | OpCode | Bytes | Cycles | Flags |
| ADD A,#data | 0x24 | 2 | 1 | C, AC, OV |
| ADD A,iram addr | 0x25 | 2 | 1 | C, AC, OV |
| ADD A,@R0 | 0x26 | 1 | 1 | C, AC, OV |
| ADD A,@R1 | 0x27 | 1 | 1 | C, AC, OV |
| ADD A,R0 | 0x28 | 1 | 1 | C, AC, OV |
| ADD A,R1 | 0x29 | 1 | 1 | C, AC, OV |
| ADD A,R2 | 0x2A | 1 | 1 | C, AC, OV |
| ADD A,R3 | 0x2B | 1 | 1 | C, AC, OV |
| ADD A,R4 | 0x2C | 1 | 1 | C, AC, OV |
| ADD A,R5 | 0x2D | 1 | 1 | C, AC, OV |
| ADD A,R6 | 0x2E | 1 | 1 | C, AC, OV |
| ADD A,R7 | 0x2F | 1 | 1 | C, AC, OV |
|
| Instructions | OpCode | Bytes | Cycles | Flags |
| ADDC A,#data | 0x34 | 2 | 1 | C, AC, OV |
| ADDC A,iram addr | 0x35 | 2 | 1 | C, AC, OV |
| ADDC A,@R0 | 0x36 | 1 | 1 | C, AC, OV |
| ADDC A,@R1 | 0x37 | 1 | 1 | C, AC, OV |
| ADDC A,R0 | 0x38 | 1 | 1 | C, AC, OV |
| ADDC A,R1 | 0x39 | 1 | 1 | C, AC, OV |
| ADDC A,R2 | 0x3A | 1 | 1 | C, AC, OV |
| ADDC A,R3 | 0x3B | 1 | 1 | C, AC, OV |
| ADDC A,R4 | 0x3C | 1 | 1 | C, AC, OV |
| ADDC A,R5 | 0x3D | 1 | 1 | C, AC, OV |
| ADDC A,R6 | 0x3E | 1 | 1 | C, AC, OV |
| ADDC A,R7 | 0x3F | 1 | 1 | C, AC, OV |
|
Description: Description: ADD and ADDC both add the value operand to
the value of the Accumulator, leaving the resulting value in the Accumulator.
The value operand is not affected. ADD and ADDC function identically except
that ADDC adds the value of operand as well as the value of the Carry flag
whereas ADD does not add the Carry flag to the result.
The Carry bit (C) is set if there is a carry-out of bit 7. In other words, if
the unsigned summed value of the Accumulator, operand and (in the case of
ADDC) the Carry flag exceeds 255 Carry is set. Otherwise, the Carry bit is
cleared.
The Auxillary Carry (AC) bit is set if there is a carry-out of bit 3. In
other words, if the unsigned summed value of the low nibble of the Accumulator,
operand and (in the case of ADDC) the Carry flag exceeds 15 the Auxillary Carry
flag is set. Otherwise, the Auxillary Carry flag is cleared.
The Overflow (OV) bit is set if there is a carry-out of bit 6 or out of bit 7,
but not both. In other words, if the addition of the Accumulator, operand and
(in the case of ADDC) the Carry flag treated as signed values results in a value
that is out of the range of a signed byte (-128 through +127) the Overflow flag
is set. Otherwise, the Overflow flag is cleared.
See Also: SUBB, DA, INC,
DEC,
Instruction Set
(C) Copyright 1997 - 2008 by Vault Information Services LLC. All Rights Reserved.
Information provided "as-is" without warranty. Please see details.
Contact us for usage and copy permission.
|