8051 register moves — which instruction copies the contents of the Accumulator into register R6? Select the correct MOV form that implements R6 ← A.

Difficulty: Easy

Correct Answer: MOV R6, A

Explanation:


Introduction / Context:
MOV on the 8051 supports many addressing forms, but register names and operand order must follow the ISA grammar. Moving data from A to a register requires the correct destination syntax.


Given Data / Assumptions:

  • Source: Accumulator A
  • Destination: register R6 (in the current bank)
  • Goal: R6 ← A


Concept / Approach:
For register-to-register moves involving A, the allowed form is MOV Rn, A or MOV A, Rn. Here we want R6 to receive A, so MOV R6, A is the right direction. Tokens like 6R are not valid, and @R6 indicates indirect memory via a register pointer, which is not supported (only @R0 or @R1 are legal indirect registers).


Step-by-Step Solution:

Desired: R6 ← AValid encoding: MOV R6, AAssembler grammar confirms Rn as a valid destination


Verification / Alternative check:
Instruction tables show MOV Rn, A as a single-byte opcode when Rn ∈ {R0…R7}.


Why Other Options Are Wrong:

  • MOV 6R, A and MOV A, 6R: invalid register tokens.
  • MOV A, R6: opposite direction (A ← R6).
  • MOV @R6, A: @R6 is not a valid indirect register (only R0/R1).


Common Pitfalls:

  • Writing mnemonic-like tokens (6R) instead of proper register names (R6).


Final Answer:
MOV R6, A

More Questions from The 8051 Microcontroller

Discussion & Comments

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