← IGCSE Computer Science Paper 1

Low-level language

A programming language close to the CPU's instructions, such as machine code or assembly language. Each instruction is one simple CPU operation, so it is harder for people to read.

Understanding Low-level language in IGCSE Computer Science Paper 1

What it does: An assembly instruction like ADD R1, R2 does one small CPU operation, unlike a high-level line that may do many. Low-level languages are close to the hardware. High-level languages are closer to English. Machine code is made of binary instructions for the CPU, so it is the lowest level of language.

Common mistakes: The assembly mnemonic for adding is ADD, not AAD. Each mnemonic stands for exactly one simple CPU operation, so it must be spelled correctly. The line should be ADD 11. In this assembly language the mnemonic that loads a value into the accumulator is LDA. LOAD is not a valid instruction. The line should be LDA 20.

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 419–429) 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
Which of these is a low-level language?
Assembly languagePython
Matches
Assembly language is a high-level language because it uses words
↓
Assembly language is low-level, not high-level. Its mnemonics map closely to CPU instructions.
Applying
Meanings
Term
low-level language
Meaning
A programming language close to the CPU's instructions, such as machine code or assembly language. Each instruction is one simple CPU operation, so it is harder for people to read.
Practice
LDA 20
Testing
Gaps
10 ; load 10 into the accumulator
Check Answer
Spots
1LDA 10
2AAD 11

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

The 'Owl' badge — Wise Coder, 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. Which of these is a low-level language?
A. Assembly language ✓
B. Python
Assembly language and machine code are the two kinds of low-level language. Python is a high-level language.
2. A low-level language is close to...
A. everyday English
B. the instructions the CPU understands ✓
Low-level languages are close to the hardware. High-level languages are closer to English.
3. In a low-level language, each instruction usually does...
A. one simple CPU operation ✓
B. many complex tasks at once
Each low-level instruction is one simple CPU operation, such as loading a value or adding two numbers.
4. Which statement is true?
A. Machine code is a high-level language
B. Machine code is a low-level language ✓
Machine code is made of binary instructions for the CPU, so it is the lowest level of language.
5. Why are low-level programs harder for people to read?
A. They use simple CPU-level instructions instead of English-like commands ✓
B. They are always written in a different alphabet
Low-level code is close to the hardware, so it is harder to read than high-level code. It does not use another alphabet.

Match the Pairs

LDA 5 → An assembly language instruction that loads a value into the CPU, so it is a low-level language
10110000 01100001 → Machine code, the binary instructions the CPU understands directly
Each low-level instruction is one simple CPU operation, such as adding two values → ADD R1, R2
Low-level code is close to the hardware, so one high-level line becomes many instructions → total = a + b -> LDA a / ADD b / STA total
Assembly language is a high-level language because it uses words → Assembly language is low-level, not high-level. Its mnemonics map closely to CPU instructions.
Low-level languages are easy for people to read because they are close to English → Low-level languages are close to the hardware, not to English, so they are harder for people to read.

Key Term

low-level language
A programming language close to the CPU's instructions, such as machine code or assembly language. Each instruction is one simple CPU operation, so it is harder for people to read.

Fill in the Blanks

1. LDA 10 ; load 10 into the accumulator
Hint: Type the assembly mnemonic that loads a value into the accumulator.
2. LDA 10 ADD 5 ; add 5 to the accumulator
Hint: Type the mnemonic for adding a value to the accumulator.
3. LDA 10 ADD 5 STO total ; store the result
Hint: Type the mnemonic that stores the accumulator into memory.
4. LDA 20 ; load twenty into the accumulator
Hint: Type the number the comment says should be loaded.
5. STO total END ; stop the program
Hint: Type the mnemonic that ends the program.

Spot the Error

Question 1
A LDA 10
B AAD 11
C STO 12
D END
Line B — The assembly mnemonic for adding is ADD, not AAD. Each mnemonic stands for exactly one simple CPU operation, so it must be spelled correctly. The line should be ADD 11.
Question 2
A LOAD 20
B SUB 21
C STO 22
D END
Line A — In this assembly language the mnemonic that loads a value into the accumulator is LDA. LOAD is not a valid instruction. The line should be LDA 20.
Question 3
A LDA 5
B ADD 6
C STO 7,8
D END
Line C — A low-level instruction does one simple operation, so STO takes a single address. It cannot store to two places at once. The line should be STO 7.
Question 4
A 00000001 00002010
B 00000010 00001011
C 00000011 00001100
Line A — Machine code is written only in binary, using 0s and 1s. The digit 2 is not allowed. The line should be 00000001 00001010.
Question 5
A 00000001 00000101
B 00000010 00000110
C 0000011 00000111
D 11111111
Line C — Every machine code instruction here has an 8-bit opcode. This one is missing a bit, so the CPU would read it wrongly. The line should be 00000011 00000111.

Student with a class code? Join your class →