AQA · GCSE · Computer Science
Course version: 8525 · Version from Sept 2020
Know that machine code and assembly language are considered to be…
Full specification wording
Classification of programming languages and translators: Know that machine code and assembly language are considered to be low-level languages and explain the differences between them.
Low-level languages sit close to the hardware.
Checked against the AQA 8525 specification (opens in a new tab) on .
- Point 5 of 19
Study notes
From the checked teaching notes for this specification point.
The idea
Low-level languages sit close to the hardware. Machine code is the binary instruction set a processor executes directly, written as patterns of 0s and 1s, so it needs no translation and runs fast but is very hard for humans to read or write. Assembly language represents those same instructions using short mnemonics such as LDA or ADD plus operands, one mnemonic per machine instruction. It is still low-level because each statement maps closely to one machine instruction, but it is more readable than raw binary and must be translated by an assembler before the processor can run it. The key differences to compare are representation (binary versus mnemonics), human readability, and whether a translator is needed. Both are classed as low-level because they relate directly to the processor's instruction set rather than to problem-solving abstractions.
What earns the marks
- Machine code consists of binary instructions executed directly by the processor without translation.
- Assembly language uses mnemonic codes and operands that correspond closely to machine instructions.
- Assembly language is more human-readable than machine code but still requires an assembler to translate it into machine code.
- Machine code is directly executable; assembly language is not executed directly by the processor.
Common mistakes and how to put them right
Thinking assembly language is a high-level language because it uses words.
Put it right by stressing that mnemonics map one-to-one to machine instructions, so it remains low-level.
Believing machine code needs a compiler.
Put it right by stating machine code is executed directly and needs no translation, whereas assembly needs an assembler.
Assuming assembly and machine code are unrelated.
Put it right by explaining assembly is a symbolic representation of the same machine instructions.
Exam tips
- When comparing, address representation, readability and translation need explicitly rather than only defining each term.
- Use a concrete mnemonic example such as LDA to show how assembly differs from a binary instruction.
- Check the question asks for differences, so give paired contrasts rather than two separate definitions.
Try the lesson
The start of the Classification of programming languages and translators: Know that machine code and assembly language are considered to be low-level languages and explain the differences between them. lesson, made from checked teaching notes for this specification point.
Have a go first
Which statement correctly describes machine code?
There is more to this lesson
The full lesson goes on to check your understanding and help you earn the marks. Create a free account to carry on, with your progress saved.
A week of Premium from your first lesson · Then the free plan continues · No card, no charge
Test your understanding of Classification of programming languages and translators: Know that machine code and assembly language are considered to be low-level languages and explain the differences between them.
Active recall beats re-reading. Take an instant quiz now to test what you’ve learned and lock it into long-term memory.
A week of Premium from your first lesson · Then the free plan continues · No card, no charge