Addition
Instruction | 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 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 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 immediate. |
Example | The Accumulator holds 0C3H (1100001lB), and register 0 holds 0AAH (10101010B). The following instruction, ADD A,R0 leaves 6DH (01101101B) in the Accumulator with the AC flag cleared and both the carry flag and OV set to 1 |
Variants | ADD A,Rn ADD A,direct address ADD A,@Ri ADD A, #immediate data |
Instruction | ADD A,Rn |
---|---|
Bytes | 1 |
Cycles | 1 |
Encoding | 0 0 1 0 1 n n n |
Operation | A = A + Rn |
Flags Affected | C AC F0 RS1 RS0 OV P |
Example | ADD A, R0 |
Bytes: Number of bytes required to encode the instruction. Cycles: Number of instruction cycles required to execute the instruction. Note that there are 12 oscillator cycles to one instruction cycle on a standard 8051. Encoding: Lists the byte encoding for the instruction. Operation: Lists, step-by-step, the operations performed by the instruction. Flags Affected: are highlighted in Bold |
Instruction | ADD A,direct address |
---|---|
Bytes | 2 |
Cycles | 1 |
Encoding | 0 0 1 0 0 1 0 1 A7...A0 |
Operation | A = A + (direct) |
Flags Affected | C AC F0 RS1 RS0 OV P |
Example | ADD A, 20h |
Bytes: Number of bytes required to encode the instruction. Cycles: Number of instruction cycles required to execute the instruction. Note that there are 12 oscillator cycles to one instruction cycle on a standard 8051. Encoding: Lists the byte encoding for the instruction. Operation: Lists, step-by-step, the operations performed by the instruction. Flags Affected: are highlighted in Bold |
Instruction | ADD A,@Ri |
---|---|
Bytes | 1 |
Cycles | 1 |
Encoding | 0 0 1 0 0 1 1 i |
Operation | A = A + (Ri) |
Flags Affected | C AC F0 RS1 RS0 OV P |
Example | ADD A, @R1 |
Bytes: Number of bytes required to encode the instruction. Cycles: Number of instruction cycles required to execute the instruction. Note that there are 12 oscillator cycles to one instruction cycle on a standard 8051. Encoding: Lists the byte encoding for the instruction. Operation: Lists, step-by-step, the operations performed by the instruction. Flags Affected: are highlighted in Bold |
Instruction | ADD A, #immediate data |
---|---|
Bytes | 2 |
Cycles | 1 |
Encoding | 0 0 1 0 0 1 0 0 D7...D0 |
Operation | A = A + immediate data |
Flags Affected | C AC F0 RS1 RS0 OV P |
Example | ADD A, #03h |
Bytes: Number of bytes required to encode the instruction. Cycles: Number of instruction cycles required to execute the instruction. Note that there are 12 oscillator cycles to one instruction cycle on a standard 8051. Encoding: Lists the byte encoding for the instruction. Operation: Lists, step-by-step, the operations performed by the instruction. Flags Affected: are highlighted in Bold |
Related topics:
8051 Arithmetic Operation Instructions | 8051 ADDC Instruction | 8051 SUBB Instruction | 8051 INC Instruction | 8051 DEC Instruction | 8051 MUL Instruction | 8051 DIV Instruction | 8051 DA Instruction
List of topics: 8051
No comments:
Post a Comment