Monday, February 29, 2016

8051 ADD Instruction

Addition

InstructionADD A,src-byte
FunctionAdd
DescriptionADD 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.
ExampleThe 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
VariantsADD A,Rn
ADD A,direct address
ADD A,@Ri
ADD A, #immediate data

InstructionADD A,Rn
Bytes1
Cycles1
Encoding0 0 1 0 1 n n n
OperationA = A + Rn
Flags AffectedC AC F0 RS1 RS0 OV P
ExampleADD 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

InstructionADD A,direct address
Bytes2
Cycles1
Encoding0 0 1 0 0 1 0 1 A7...A0
OperationA = A + (direct)
Flags AffectedC AC F0 RS1 RS0 OV P
ExampleADD 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

InstructionADD A,@Ri
Bytes1
Cycles1
Encoding0 0 1 0 0 1 1 i
OperationA = A + (Ri)
Flags AffectedC AC F0 RS1 RS0 OV P
ExampleADD 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

InstructionADD A, #immediate data
Bytes2
Cycles1
Encoding0 0 1 0 0 1 0 0 D7...D0
OperationA = A + immediate data
Flags AffectedC AC F0 RS1 RS0 OV P
ExampleADD 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