Module 2 - Addressing Modes
Module 2 - Addressing Modes
Example
MOV CX, 4929 H,
ADD AX, 2387 H,
MOV AL, FFH
• Register addressing mode
• It means that the register is the source of an operand for an
instruction.
Example
MOV CX, AX ; copies the contents of the 16-bit AX register into ; the 16-bit CX register,
ADD BX, AX
• Direct addressing mode
• The addressing mode in which the effective address of the
memory location is written directly in the instruction.
Example
MOV AX, [1592H], MOV AL, [0300H]
• Register indirect addressing mode
• This addressing mode allows data to be addressed at any
memory location through an offset address held in any of the
following registers: BP, BX, DI & SI.
Example
MOV AX, [BX] ; Suppose the register BX contains 4895H, then the contents ; 4895H are moved to AX
ADD CX, [BX]
• Based addressing mode
• In this addressing mode, the offset address of the operand is
given by the sum of contents of the BX/BP registers and 8-
bit/16-bit displacement.
Example
MOV DX, [BX+04],
ADD CL, [BX+08]
• Indexed addressing mode
• In this addressing mode, the operands offset address is found
by adding the contents of SI or DI register and 8-bit/16-bit
displacements.
Example
MOV BX, [SI+16],
ADD AL, [DI+16]
• Based-index addressing mode
• In this addressing mode, the offset address of the operand is
computed by summing the base register to the contents of an
Index register.
Example
ADD CX, [AX+SI],
MOV AX, [AX+DI]
• Based indexed with displacement mode
• In this addressing mode, the operands offset is computed by
adding the base register contents. An Index registers contents
and 8 or 16-bit displacement.
Example
MOV AX, [BX+DI+08],
ADD CX, [BX+SI+16]