Community resourceWorksheet
OCR H446 1.2.4 Immediate, direct, indirect and indexed addressing
Part 5 of 10 · H446 1.2.4 · Types of programming language
Addressing modes cost marks at H446 1.2.4 when students name a mode without following where its operand actually leads. Immediate, direct, indirect and indexed addressing are resolved here against one fixed memory state, and then chosen and justified for a described task.
Students will:
- describe the route from an instruction's operand to the value it finally uses
- state the effective address, where one exists, for each of the four modes
- resolve all four modes against a supplied memory map and index value
- design a memory map in which direct and indirect addressing return different values
- explain why indexed addressing suits a loop over a contiguous array
Inside: 5 explanation cells, 1 multiple-choice question, 2 fill-in-the-blanks cells and 3 written answers. 27 marks, about 40 to 50 minutes.
Series: H446 1.2.4 · Types of programming language, part 5 of 10.
Shared by Coding PathwayVerified teacher
- 11 cells
- About 45 minutes
- CC BY-SA 4.0
- Shared 31 Aug 2026
- Updated 3 Sept 2026
Preview
The whole resource, exactly as a class sees it. Answers and marking are held back.
Immediate, direct, indirect and indexed addressing
An addressing mode explains how an instruction's operand leads to the value used. It is not the same idea as passing a parameter by value or by reference.
Follow the route
Use three questions: (1) Is the operand already the value? (2) If not, what effective address is formed? (3) What value is stored there?
Immediate has no operand-memory lookup. Direct uses the operand as the effective address. Indirect uses the contents at the operand address as another address. Indexed adds an index register/value to a base address, which is useful for successive array elements.
One memory state, four interpretations
Suppose operand = 40, index = 3, memory[40] = 72, memory[43] = 91, and memory[72] = 18.
| Mode | Effective route | Value used |
|---|---|---|
| immediate | literal 40 | 40 |
| direct | address 40 | 72 |
| indirect | address 40 contains address 72 | 18 |
| indexed | 40 + 3 = address 43 | 91 |
The same operand can therefore produce four different values.
- immediate
- direct
- indirect
- indexed
- reference
Which item is not an assembly memory-addressing mode in OCR H446 1.2.4?
- AImmediate
- BBy reference
- CIndirect
- DIndexed
Given operand 25, index 4, memory[25] = 60, memory[29] = 14 and memory[60] = 99, state the effective address where one exists and the value used for all four modes.
Show each route. Immediate uses the literal; indirect makes two memory lookups.
Students type their answer here.
Apply the model independently
The remaining tasks change the context or reduce the support. Complete them without copying the worked model, then check that each explanation connects a mechanism to its consequence.
Create a small memory map and instruction operand where direct and indirect addressing retrieve different values. Then explain both routes. Add an indexed example that retrieves the second item of a three-item array.
Use explicit addresses and values so another student can verify every lookup.
Students type their answer here.
A loop processes successive values in a contiguous array. Explain why indexed addressing is a better model than repeatedly rewriting a different direct address into the instruction.
Connect stable base, changing index and repeated access.
Students type their answer here.
Review your understanding
Before submitting, check that you can explain the main distinction in your own words, apply it in an unfamiliar context and justify each consequence rather than only naming a feature.