x86 Addressing Modes (Examples)
|mov ax, bx|| Register Addressing.|
Operand address R is in the address field.
|mov ax, 1|| Immediate.|
Actual value is in the field.
|mov ax, [102h]|| Direct Memory Addressing.|
Operand address is in the address field.
|mov al, [byte_tbl+2]|| Direct Offset Addressing.|
Uses arithmetics to modify address.
|mov ax, [di]|| Register Indirect.|
Field points to a register that contains the operand address.
The registers used for indirect addressing are BX, BP, SI, DI.
|mov ax. [bx + di]|| Base-Index.|
For example, if we are talking about an array, BX contains the address of the beginning of the array, and DI contains the index into the array.