Show understanding that a set of instructions are grouped
4.2 Assembly Language – Instruction Grouping 🎯
What are instruction groups?
Think of assembly language like a recipe book. Each instruction is a single step, but to make a dish you need to group steps into categories – e.g., prep, cook, serve. In assembly, we group instructions by the type of operation they perform:
- Data movement – moving values between registers and memory.
- Arithmetic & logical – adding, subtracting, AND, OR.
- Control flow – jumps, calls, returns.
- Input/Output – reading from or writing to devices.
Grouping helps programmers understand, optimise, and debug code.
Why grouping matters in exams
Exam Tip: When you see a list of instructions, quickly identify which group each belongs to. This can help you answer questions about control flow or data movement faster.
Example: If a question asks which instruction will change the program counter, look for JMP, CALL, or RET – all part of the control flow group.
Instruction Group Table 📊
| Group | Typical Instructions | Example Use‑Case |
|---|---|---|
| Data movement | MOV, LEA, PUSH, POP |
Copy a value from memory to a register: MOV AX, [num] |
| Arithmetic & logical | ADD, SUB, MUL, AND, OR |
Add two registers: ADD AX, BX |
| Control flow | JMP, JE, CALL, RET |
Jump to a label if zero flag is set: JE end |
| Input/Output | IN, OUT |
Read a byte from keyboard: IN AL, 0x60 |
Analogy: Assembly as a Kitchen 👩🍳
Imagine you’re cooking a meal:
- Data movement = Gathering ingredients – you pick up spices (registers) and put them in a bowl (memory).
- Arithmetic & logical = Cooking steps – you stir, chop, or mix (add, subtract).
- Control flow = Recipe flow – you decide when to add a spice or when to switch from simmering to baking (jumps, calls).
- Input/Output = Serving the dish – you plate the food and present it to guests (read/write to I/O).
Just as a chef follows a recipe, a programmer follows instruction groups to build a program.
Exam Practice Question 📝
Question: Which instruction group would you use to implement a loop that counts from 1 to 10?
- Data movement
- Arithmetic & logical
- Control flow
- Input/Output
Answer: Control flow – you need JMP or LOOP to repeat the counting steps.
Key Takeaway 🎓
Remember: All assembly instructions belong to one of four groups. Recognising these groups quickly will help you write efficient code and ace your exams.
Revision
Log in to practice.