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

Immediate, direct, indirect and indexed addressing routesImmediate: operand is the valueinstruction operand 7→ value 7No memory lookup for the operand value.Direct: operand is the addressoperand 40 → memory[40]→ valueOne named memory location.Indirect: operand points to an addressoperand 40 → memory[40] = 72→ memory[72] → valueIndexed: base address + indexoperand 40 + index 3→ memory[43] → valueAlways state the route, the effective address and the value retrieved.

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.

ModeEffective routeValue used
immediateliteral 4040
directaddress 4072
indirectaddress 40 contains address 7218
indexed40 + 3 = address 4391

The same operand can therefore produce four different values.

Fill in the blanks4 marks
The operand itself is the value in gap 1 addressing. The operand is the effective address in gap 2 addressing. A second address is fetched in gap 3 addressing. A base and index are added in gap 4 addressing.
  • immediate
  • direct
  • indirect
  • indexed
  • reference
Multiple choice1 mark

Which item is not an assembly memory-addressing mode in OCR H446 1.2.4?

  • AImmediate
  • BBy reference
  • CIndirect
  • DIndexed
Written answer8 marks

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.

Written answer7 marks

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.

Written answer3 marks

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.

Fill in the blanks4 marks
In direct addressing the operand is an checkpoint gap 1. In indirect addressing that location contains another checkpoint gap 2. Indexed addressing combines a base with an checkpoint gap 3. By-reference is a parameter-passing concept, not an addressing checkpoint gap 4.

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.