8051 addition syntax — which statement correctly adds register R3 to the Accumulator and stores the result back in A? Choose the valid 8051 ADD form that implements A ← A + R3.

Difficulty: Easy

Correct Answer: ADD A, R3

Explanation:

Introduction / Context:Arithmetic instructions on the 8051 use specific operand order and addressing modes. For register-to-Accumulator addition, only certain encodings are legal. Picking the proper form avoids assembler errors and unexpected behavior.

Given Data / Assumptions:

  • Goal: compute A ← A + R3
  • Operands: Accumulator A and register R3 (from the current register bank)

Concept / Approach:The 8051 defines ADD A, src where src may be Rn, direct, @Ri, or immediate (#data). The destination is always A for ADD. There is no form ADD Rn, A, nor any form that addresses A indirectly (@A is invalid).

Step-by-Step Solution:

Required operation: A ← A + R3Valid encoding: ADD A, R3Assembler accepts Rn as a legal source; destination fixed to A

Verification / Alternative check:Consult the ADD instruction table: legal sources include R0–R7, @R0/@R1, direct, and #immediate, always with A as destination.

Why Other Options Are Wrong:

  • ADD @R3, @A and ADD @A, R3: use invalid addressing (@A is not defined; @R3 is not a legal indirect register).
  • ADD R3, A: operand order illegal; destination cannot be R3.
  • ADD A, @R3: uses indirect through R0/R1 only, not R3.

Common Pitfalls:

  • Reversing operands and assuming symmetric arithmetic encodings.

Final Answer:ADD A, R3

More Questions from The 8051 Microcontroller

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion