The term addressing mode is a technique of stating the input and output of an instruction; it is termed the effective address. There are 6 effective addresses in the 68HC11 set of instructions
Immediate data
Here the operand 'data 'follows the opcode 'Instruction' in memory, normally only a byte is used.
addb #$1 i.e. add to b data 1 hex
Direct addressing
Here the operand contains the lower order byte of the address, the remaining upper byte of the 16 bit address is assumed to be zero . This allows a fast read/write of memory between 0x0000 and 0x00ff.
addb $ff i.e. add to b data from address 00ff hex
Extended addressing
Here the address is contained in the next two bytes after the opcode i.e. high byte first, followed by low byte. This allows a read/write of the full address space i.e. 0x0000 to 0xffff
addb $ffff i.e. add to b data from address ffff hex
Indexed Addressing
Here the address is calculated using an index register (IX, IY) and a 8 bit unsigned immediate offset. The address is calculated by temporary adding the contents of the index register to the immediate offset and using that as the extended address. This type is addressing is often termed a pointer or page addressing
addb $ff,X i.e. add to b data from address in X + ff hex
Relative addressing
Here the address is stored as the operand and comprises of a signed 8 bit number, the effective address comprises of the current program counter + the signed 8 bit number. This is often used in branches etc. but with the use of re-locatable assemblers, the uses of labels have made this transparent.
bne $04 i.e. jump forward 4 spaces
bne $84 i.e. jump back 4 spaces