Summary
Addressing modes comprise all the ways to express the location of an item in memory. Addressing modes are simultaneously the easiest and most difficult topic in assembly language programming. The concept is simple, but indirect addressing modes that use pointers may take some effort to visualize.
In this chapter, we learned about literal or immediate addressing where an operand is an actual value (it’s the thing itself and not the location). Literal values are used to specify constants – for example, in x + 5, the number 5 is a literal. This is the simplest of addressing modes, and no memory location is accessed because the data is part of the instruction.
We also looked at the ARM’s rather unusual way of specifying literals, by providing a value in the range of 0 to 255 and a multiplier that can multiply it by an even power of 2. You can specify 5 and store 5, 20, 80, and so on.
Much of this chapter was taken up by register indirect addressing...