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