Difficulty: Easy
Correct Answer: Assembler
Explanation:
Introduction / Context:
An operand is a value or storage location on which an instruction operates. Understanding what qualifies as an operand clarifies addressing modes and how the CPU fetches data for instruction execution.
Given Data / Assumptions:
Concept / Approach:
Registers and memory locations are concrete places where data resides at run time. Variables in assembly map to memory addresses or constants and serve as operands. The assembler operates at build time to convert mnemonics to opcodes; it does not serve as an operand in any instruction at run time.
Step-by-Step Solution:
Verification / Alternative check:
Assembler manuals and ISA references describe addressing modes in terms of registers, memory, and immediates. Tools like assemblers or linkers are not operands.
Why Other Options Are Wrong:
Variable, register, and memory location all refer to data sources or sinks for instructions.
Common Pitfalls:
Confusing compile-time entities (macros, directives) with run-time operands; they influence code generation but are not used by the CPU during execution.
Final Answer:
Assembler
Discussion & Comments