Difficulty: Medium
Correct Answer: A-4, B-2, C-1, D-3
Explanation:
Introduction / Context:
Understanding addressing modes in the 8085 microprocessor clarifies how operands are fetched: directly from a memory address, from a register, via a register pair pointer, or given immediately as part of the instruction. This knowledge is critical for efficient assembly programming and debugging.
Given Data / Assumptions:
Concept / Approach:
Map each example instruction to its addressing mode based on operand form. Note: In standard 8085 syntax, both LDA addr and STA addr are direct-addressing examples; in this item set, LDA 7 is used to represent an operand supplied with the instruction (treated here as immediate-style for uniqueness), while STA FFC clearly demonstrates direct addressing as well.
Step-by-Step Solution:
Verification / Alternative check:
Assembler references: M stands for memory addressed by HL, confirming register-indirect; MOV reg, reg is register addressing; STA/LDA with explicit addresses are direct. The provided pairing ensures one-to-one mapping among the given choices.
Why Other Options Are Wrong:
Pairings that put MOV A, M under direct addressing ignore the indirection via HL; swapping STA with immediate contradicts the presence of a 16-bit address operand.
Common Pitfalls:
Confusing immediate with direct addressing; remember, immediate encodes the data value, whereas direct encodes a memory address. Also, M is not a physical register; it dereferences HL.
Final Answer:
A-4, B-2, C-1, D-3
Discussion & Comments