Difficulty: Easy
Correct Answer: Incorrect
Explanation:
Introduction / Context:
Programmers often encounter multiple layers of representation: high-level languages, assembly, and machine code. Knowing which layer the CPU actually executes is foundational to understanding toolchains, compilers, and performance tuning. The question tests whether “assembly language” is what the processor directly understands.
Given Data / Assumptions:
Concept / Approach:
Processors execute machine language—binary instruction codes defined by the ISA. Assembly is a symbolic representation (e.g., MOV R1, R2) that must be assembled into opcodes (e.g., 0xXYZZ). Therefore, saying the microprocessor “understands assembly” is not precise; it understands the binary form. Assemblers, linkers, and loaders bridge the gap between human-readable source and executable machine code.
Step-by-Step Solution:
Verification / Alternative check:
Object files contain machine code and metadata. Disassemblers reverse this mapping to assembly mnemonics—confirming assembly is a representation, not the executed form.
Why Other Options Are Wrong:
Architecture type (CISC/RISC), linking stage, or assembler brand does not change the fact that the CPU executes binary machine code.
Common Pitfalls:
Equating “assembly-level programming” with direct hardware execution; forgetting the assembler translation step and object code format.
Final Answer:
Incorrect
Discussion & Comments