68000 Addressing Modes:
68000 utilizes 14 different 68000 Addressing Modes which can be grouped into 6 basic types. These are
1.Direct Register Addressing
a)Data Register Direct
b)Address Register Direct
2.Direct Memory Addressing
3.Indirect Memory Addressing
b)Post-increment Register Indirect
c)Pre-decrement Register Indirect
d)Register Indirect with Displacement
e)Register Indirect with Index and Displacement
4.Implied Register Addressing
5.Program Counter Relative Addressing
a)PC-relative with Displacement
b)PC-relative with Index and Displacement
6.Immediate Data Addressing
Any address register may be used for direct or indirect addressing, and any register may be used as an index register.
1.Register Direct Addressing:
This addressing mode requires that the operand involved must be contained in one of the eight Data registers (Dn) or one of the eight Address registers (An).
a)Data Register Direct : Operand is in the data register Dn. EA (Effective Address) = Dn
b)Address Register Direct : Operand is in the address register An. EA = An
c)Absolute Data Addressing : There are two forms of this addressing mode. Addressing with short form is called absolute short addressing, while with the longer form is called absolute long addressing.
d)Absolute Short : One extension word (16-bit) is necessary for this addressing The address of the operand is the sign extended value of the extension word.
e)Absolute Long : Two extension words (32-bit) are necessary for this addressing Actually only 24-bits are used. The address of the operand is the sign extended value’of the extension double word.
2.Register Indirect Addressing:
a)Address register indirect : In this mode, the address of the operand is the contents of the specified address register.
b)Address register indirect with post increment : The post increment address register indirect mode increments an address register by 1 for byte, 2 for word, and 4 for long word after it is used.
c)Address register indirect with predecrement : Here the address register contents are decremented before they are used to reference the operand.
d)Address register indirect with displacement : In this mode, the address of the operand is the sum of the contents of the specified address register and the sign-extended 16-bit number.
e)Address register indirect with index and displacement : In this mode, the operand address is the sum of the specified address register, the sign extended displacement integer in the least significant byte of the extension word, and the contents of the index register.
3.Implied Register Addressing:
There are some instructions that implicitly refer to a specific register. These registers are the Program Counter (PC), the Stack Pointer (SP) and the Status Register (SR).
4.Program Counter Relative Addressing:
The 68000 has two program counter relative addressing modes :
- Relative with offset
- Relative with index and offset
In relative with offset, the effective address is obtained by addressing the contents of the current PC with a sign-extended 16-bit displacement.
5.Immediate Data Addressing:
There are two immediate modes available with the 68000 Addressing Modes.
- Quick Immediate
In the immediate mode, the operand data is constant data, which is part of the instruction.