Difficulty: Easy
Correct Answer: a program that automate the translation of assembly language into machine language.
Explanation:
Introduction / Context:Language processors transform source code into forms the machine can execute. Assemblers, compilers, linkers, loaders, and interpreters serve distinct roles. Correctly distinguishing them is essential for systems programming and toolchain comprehension.
Given Data / Assumptions:
Concept / Approach:
An assembler maps mnemonics and operands into opcodes and machine addresses, producing object code (and often symbol tables and relocation info). Compilers target high-level languages; interpreters simulate execution; loaders place programs into memory for execution. Therefore, the statement that an assembler automates translation from assembly to machine code is correct.
Step-by-Step Solution:
Match each definition to the correct term: assembler vs compiler vs loader vs interpreter.Identify that assembly → machine translation is the assembler’s job.Eliminate definitions that refer to high-level languages or loading/executing.Verification / Alternative check:
Toolchains show “as” (assembler) producing object files from .s/.asm sources, distinct from compilers (cc) and linkers (ld).
Why Other Options Are Wrong:
Common Pitfalls:
Confusing assembling with compiling; overlooking that linkers combine multiple object files after assembling/compiling.
Final Answer:
a program that automate the translation of assembly language into machine language.
Discussion & Comments