Addressing Modes
The different ways in which an instruction can reference a register or memory location are known as the addressing modes of the processor. The types of addressing modes available within different architectures vary. To illustrate some of the more common modes, let's take a look at those available in the 68HC11 architecture:
- Inherent
The instruction deals purely with registers.
CLRBclears the B accumulator, for example.- Immediate/Literal
The instruction has a literal number as an operand.
- Direct
The instruction accesses a memory location, specified by a short address. In other words, direct addressing provides access to a subset of the total address space. On a given processor with a 16-bit address bus, a direct access may, for example, specify an address within the first 256 bytes. On a 32-bit processor, a direct access may specify an address within the first 64K of memory, for example. Direct addressing is used (when possible) to reduce the length of instruction-referencing memory. This can reduce code size, and therefore instruction fetch time, in time-critical applications. Many processors, especially RISC, do not use direct addressing.
- Extended
The instruction accesses a memory location, specified by the full address. So
LDAA $B098means load accumulator A with the contents of address0xB098in memory.- Indexed
The instruction uses the contents of a register as a pointer into memory. If, for example, the X register is equal to
0x5034, thenLDAA 0,Xmeans "load ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access