An instruction can be split into 2 parts, the command to use and the data to use for the command.
The command for the instruction, ie Load, Store, Add
The data to be used by the OpCode, this can be data eg #21 (ie the number 21) or it can be an address eg 21 (ie memory location 21)
Different architectures have a different set of available instructions. For example portable devices tend to use ARM embedded architecture, which has an instruction set similar to the assembly language syntax used by AQA. 32bit Windows/Linux machines use the X86 architecture and instruction set were as 64bit Windows/Linux machines use the X64 architecture and instruction set.
The operand is data eg #21
The operand is a location eg 21
Indirect Addressing - not in AQA Specification
The operand is a location which contains the location for the instruction
Index Addressing - not in AQA Specification
The operand is the number in the Index Regisiter after the location in the instruction