Difficulty: Easy
Correct Answer: Assembler
Explanation:
Introduction / Context:
Low-level programming often uses assembly language, a human-readable notation closely tied to a CPU's instruction set. Turning this assembly into machine code requires the correct type of translator. Knowing whether a compiler, interpreter, or assembler is used is a fundamental software engineering concept.
Given Data / Assumptions:
Concept / Approach:
An assembler reads symbolic assembly language and produces object code (machine code) by converting mnemonics to opcodes and resolving labels to addresses. A compiler targets machine code from high-level languages, and an interpreter executes code line by line without producing a standalone binary in the same way. A comparator is unrelated to translation; it compares data or files.
Step-by-Step Solution:
Identify the source: assembly language.Match tool to task: assembly → assembler (not compiler/interpreter).Assembler outputs machine code and may generate listing and symbol tables.Therefore, the correct translator is the assembler.
Verification / Alternative check:
Toolchains typically run: assembler → linker → loader for assembly projects. High-level projects instead use compilers before linking. This pipeline confirms that assembly requires an assembler stage.
Why Other Options Are Wrong:
Common Pitfalls:
Assuming compilers handle assembly too; while some compilers accept inline assembly, assembling proper source files remains the assembler's role.
Final Answer:
Assembler
Discussion & Comments