AQA 7517 4.7.3.5: Machine-code/assembly language operations
The free BugBot lessons that teach this point, a robot to try it on, and the past-paper questions that test it.
What it covers
Machine code is binary, and nobody wants to write it. Assembly language gives each machine code instruction a short mnemonic such as ADD or LDA, and lets you name addresses with labels. An assembler translates it into machine code, usually one instruction for one instruction. At GCSE (F6.5) you met assembly as a low-level language. At A level, OCR asks you to read, trace and write programs in a real, if tiny, instruction set: the Little Man Computer (LMC).
- The model
- The instruction set
- A first program: add two numbers
- Selection: which is bigger?
- Iteration: a countdown
- Running LMC in Python
- How to write LMC in an exam
Or do it in the simulator, with tasks that mark themselves
Lessons that teach it
- A9.5 Assembly language: the Little Man Computer Computer architecture
OCR's LMC instruction set: tracing and writing programs with selection and iteration, run in Python. - A9.6 AQA assembly language and bitwise operations Computer architecture
AQA's instruction set, compare and branch, masks and shifts, and the bit fields that drive BugBot's motors. - A9.10 Project: a processor of your own Computer architecture
Build a von Neumann machine with register transfers, addressing modes, flags and memory-mapped I/O that plays a scale on the robot.
Try it on a robot
The task from A9.5 Assembly language: the Little Man Computer, running here. Change the program and press Run.
The specification is AQA's own document; this page says which of our lessons teach point 4.7.3.5 and is not endorsed by the board.