Absolute Addressing


This addressing mode is also called direct addressing, because the actual address of an operand is specified at the time of programming. Such address is constant and is not modified in any way by the microprocessor. The MC68000 has two variants of absolute addressing:

Absolute short addressing;
Absolute long addressing.

In absolute short addressing the address of the operand is a 16-bit word following the instruction. This word is sign extended to 32 bits before it is used to access the operand. Consequently, absolute short addresses in the range $0000 to $7FFF are sign extended through $0000 0000 to $0000 7FFF, while absolute short addresses in the range $8000 through $FFFF are sign extended through $FFFF 8000 to $FFFF FFFF; that is, the programmer can use absolute short addressing to access only the top and the bottom 32K bytes of memory space.
Absolute long addressing requires two 16-bit words following an instruction to generate a 32-bit absolute address. This procedure allows the whole of memory to be accessed. The programmer does not have to worry about long and short forms of addressing modes, as the assembler automatically selects the appropriate version.
Here are some examples of absolute addressing.
 
 

Assembly Language Form RTL Form Action
MOVE.L D3, $1234  [M($1234)] <- [D3(16:31)]
[M($1236)] <- [D3(0:15)]
The contents of register D3 are copied into memory
location $1234. Because the 68000's memory is byte
organized, locations $1234 to $1237 are required.
MOVE $FFFFC120, D2 [D2] <- [M($FFFFC120)] The contents of memory location $FFFF C120 are moved 
into the register D2.



back