| |||||||||
An addressing mode is a term used within CPU instruction sets to refer to one of various methods for addressing memory.
Early CISC processors had many addressing modes, moden RISC or Load/Store architectures typically implement only a few (Load/Store architectures typically have enough registers to be able to efficiently implement all the remaining addressing modes with combinations of insructions).
Direct addressing: Load contents of memory location 5000.
Register indirect: Load contents of memory pointed to by register 3.
Indirect adddressing: Load contents of memory location 6000 then use that value as an address, then load the contents of that address.
Many of the more convoluted addressing schemes are very useful, for example an array can be filled or copied using indirect addressing combined with an instruction to increment the value at a location. Early CISC processors had very few registers making these schemes a necessity.