Difficulty: Easy
Correct Answer: assembler
Explanation:
Introduction / Context:
Software toolchains transform source code into binaries. In low-level development, engineers write assembly using mnemonics that are easier to read than raw bits. A specialized program then converts this symbolic code into machine language instructions the CPU can directly execute.
Given Data / Assumptions:
Concept / Approach:
An assembler reads assembly source, resolves symbols and labels, selects instruction encodings, and emits machine code. It may produce relocatable object files for later linking or absolute binaries for direct loading. This is distinct from compilers (which translate high-level languages to assembly or machine code) and linkers (which combine objects and resolve external references).
Step-by-Step Solution:
Verification / Alternative check:
Classic tools like MASM, NASM, and GAS are described as assemblers, each producing machine code for their respective targets, often via an object file stage before linking.
Why Other Options Are Wrong:
Common Pitfalls:
Conflating compiler and assembler roles, or assuming a debugger can generate final binaries from mnemonics without assembly.
Final Answer:
assembler
Discussion & Comments