← IGCSE Computer Science Paper 1

Assembler

A translator that converts an assembly language program into machine code, so the CPU can run it. Each mnemonic becomes one machine code instruction.

Understanding Assembler in IGCSE Computer Science Paper 1

What it does: This shows the direction of the translation: assembly in, machine code out. The output of an assembler is machine code, which the CPU can run directly. An assembler works on assembly language. A high-level language such as Python needs a compiler or interpreter.

Common mistakes: The translator that converts an assembly language program into machine code is an assembler, not an interpreter. It should be translator = assembler. An assembler outputs machine code, not high-level code. The line should be output: machine code.

Class: _____________________  ·  Name: _____________________  ·  Date: _________

Free printable worksheet with full answer key — or add this module to a class and your students practise it interactively.

This module's key terms are also in a printable crossword (Modules 430–439) and word search (Modules 419–439).

Take this worksheet further — free with Cloodit

Each concept is reinforced from every angle — learned, then applied, then tested.

Learning
Duo
What does an assembler translate?
Assembly language into machine codeMachine code into assembly language
Matches
An assembler translates a high-level language program into machine code
↓
An assembler translates assembly language, not a high-level language. Translating high-level code is the job of a compiler or interpreter.
Applying
Meanings
Term
assembler
Meaning
A translator that converts an assembly language program into machine code, so the CPU can run it. Each mnemonic becomes one machine code instruction.
Practice
LDA 10
Testing
Gaps
assembly language ->
Check Answer
Spots
1input = assembly program
2translator = interpreter

Cloodit turns curriculum-aligned coding content into journeys students work through one biome at a time.

The 'Ermine' badge — Tundra Streak, one of Cloodit's 106 collectible badges
Students earn collectable badges

Over 100 of them, across seven natural biomes.

Study Buddy
Students build a real study resource

Turns their work into revision material ready for Flash Cards and Exam study.

Diamond Dash — one of Cloodit's live, competitive Sprint games
Students lock in with Sprints

Live, competitive practice for the start of the lesson or a teacher-led lesson finisher.

A Cloodit certificate of achievement, ready to personalise and print
Custom printable certificates

Honour your top performers, or encourage a student who's trying hard — ready to print in seconds.

Quick Questions

1. What does an assembler translate?
A. Assembly language into machine code ✓
B. Machine code into assembly language
An assembler takes assembly language as input and produces machine code as output.
2. Which statement about an assembler is correct?
A. Its output is a high-level language program
B. Its output is machine code the CPU can run ✓
The output of an assembler is machine code, which the CPU can run directly.
3. Which language is the INPUT to an assembler?
A. Assembly language ✓
B. Python
An assembler works on assembly language. A high-level language such as Python needs a compiler or interpreter.
4. Which translator would you use for a program written in assembly language?
A. A compiler
B. An assembler ✓
An assembler is not a compiler. Assemblers handle assembly language, while compilers handle high-level languages.
5. How does an assembler treat each mnemonic such as ADD or LDA?
A. It becomes one machine code instruction ✓
B. It becomes many lines of high-level code
Assembly language is low-level. Each mnemonic normally maps to one machine code instruction.

Match the Pairs

assembler → A translator that converts an assembly language program into machine code
LDA 5 → One assembly mnemonic line that the assembler turns into one machine code instruction
An assembler takes assembly language as input and gives machine code as output → assembly language -> assembler -> machine code
Machine code produced by the assembler can be run directly by the CPU → assembler output: 10110000 01100001
An assembler translates a high-level language program into machine code → An assembler translates assembly language, not a high-level language. Translating high-level code is the job of a compiler or interpreter.
One assembly mnemonic is turned into many machine code instructions by the assembler → Each mnemonic becomes exactly one machine code instruction, so it is a one-to-one translation, not one-to-many.

Key Term

assembler
A translator that converts an assembly language program into machine code, so the CPU can run it. Each mnemonic becomes one machine code instruction.

Fill in the Blanks

1. assembly language -> assembler -> machine code
Hint: Type the name of the translator that converts assembly language.
2. assembly language -> assembler -> machine code
Hint: Type the form of code the assembler produces as output.
3. LDA #5 ADD #3 ; add 3 to the accumulator STA 20
Hint: Type the mnemonic that adds a value; the assembler turns it into one machine code instruction.
4. high-level code -> compiler -> machine code
Hint: Type the translator used for high-level code. It is not the assembler.
5. Each mnemonic becomes one machine code instruction
Hint: Type the number of machine code instructions each mnemonic is translated into, written as a word.

Spot the Error

Question 1
A input = assembly program
B translator = interpreter
C output = machine code
D CPU runs the output
Line B — The translator that converts an assembly language program into machine code is an assembler, not an interpreter. It should be translator = assembler.
Question 2
A source: assembly language
B translator: assembler
C output: high-level code
D run by: CPU
Line C — An assembler outputs machine code, not high-level code. The line should be output: machine code.
Question 3
A LDA 20
B STO 21
C HLT
D # 1 mnemonic = 3 instructions
Line D — Each assembly mnemonic is translated into exactly one machine code instruction. It should be 1 mnemonic = 1 instruction.
Question 4
A source = assembly_file
B mc = assembler(source)
C cpu.run(source)
Line C — The CPU can only run machine code. It must run the assembler's output, so the line should be cpu.run(mc), not the assembly source.
Question 5
A Assembler input:
B high-level language program
C Assembler output:
D machine code program
Line B — The input to an assembler is an assembly language program, not a high-level language program. Line 2 should be assembly language program.

Student with a class code? Join your class →