Difficulty: Easy
Correct Answer: MOV A, 04H
Explanation:
Introduction / Context:
Direct addressing allows the 8051 to access internal RAM or SFR locations by their absolute addresses. Reading a byte from a low RAM address into the accumulator requires the correct operand order and addressing form. This question tests recognition of the direct address form for a memory to register transfer.
Given Data / Assumptions:
Concept / Approach:
To read memory into A using direct addressing, use MOV A, direct_address. To write A back to a memory location, reverse the operands. Labels such as L4 represent assembler symbols, not numeric addresses, unless explicitly defined.
Step-by-Step Solution:
Verification / Alternative check:
In a simulator, preload 04H with a known value such as 5AH and execute MOV A, 04H. The accumulator updates to 5AH, confirming the correct semantics.
Why Other Options Are Wrong:
MOV A, L4: depends on a label and is not guaranteed to be 04H.
MOV L4, A: writes from A to memory, opposite of what is required.
MOV 04H, A: also writes A to address 04H rather than reading.
Common Pitfalls:
Reversing operand order, forgetting that direct addresses below 80H refer to internal RAM rather than SFRs, and confusing labels with numeric addresses.
Final Answer:
MOV A, 04H
Discussion & Comments