The address field is the part of an instruction word that names a memory address. In Tiny8 it's the low 4 bits, IR[3:0], the right-hand hex digit.
What it's used for depends on the instruction:
- LOAD, ADD, SUB: where to read the operand.
- STORE: where to write the ACC.
- JMP, JZ: where to jump, copied into the PC.
- HALT: ignored, written as 0.
Its width decides how much memory an instruction can reach: an n-bit address field names 2ⁿ addresses. Tiny8's 4-bit field reaches 16 words.
In a fixed-width format, the fields share the bits. So the address field gets whatever the opcode doesn't use: a 16-bit instruction with a 6-bit opcode has a 10-bit address field, reaching 2¹⁰ = 1024 words.