Assembler output target: because CPUs cannot execute mnemonics directly, into what form must mnemonics be translated for the processor to run them?

Difficulty: Easy

Correct Answer: hexadecimal machine code

Explanation:


Introduction / Context:
Processors execute binary instructions—streams of bits that specify operations and operands according to the instruction set. Humans write assembly mnemonics for clarity, but those must be turned into executable bytes. This question asks for the correct execution form.



Given Data / Assumptions:

  • Assembly mnemonics are textual representations, not directly executable.
  • Assembler translates mnemonics and operands into binary opcodes and data.
  • Hexadecimal is a convenient human-readable representation of binary.


Concept / Approach:
The CPU fetches opcodes and operands from memory as binary values. Assembler tools map each mnemonic to the correct opcode and encode addressing modes and immediates. The resulting machine code may be displayed in hex (e.g., 3E 12 C3 00 20), but is stored and executed as binary. The essential point: the processor needs machine code—not high-level statements or mnemonics.



Step-by-Step Solution:

1) Write source line: MVI A, 12H. 2) Assembler encodes opcode for MVI A and immediate 12H. 3) Output is machine code bytes, typically shown in hex. 4) Loader places bytes in memory; CPU fetches and executes them.


Verification / Alternative check:
Assembly listing files show each mnemonic with its corresponding hex bytes, confirming machine code as the execution form.



Why Other Options Are Wrong:
High-level language is a source form, not executable by the CPU. “Assembly language” is also source. “Machine code and assembly” together is incorrect; only machine code is executed.



Common Pitfalls:
Assuming hex text is different from machine code; hex is just a notation for the same binary bytes.



Final Answer:
hexadecimal machine code

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion