8051 register moves — which instruction copies the contents of the Accumulator into register R6? Select the correct MOV form that implements R6 ← A.
-
AMOV 6R, A
-
BMOV R6, A
-
CMOV A, 6R
-
DMOV A, R6
-
EMOV @R6, A
Answer
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 destinationVerification / 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