Different Addressing Modes of 8086:: 1. Immediate
Different Addressing Modes of 8086:: 1. Immediate
1. Immediate : In this addressing mode, immediate data is a part of instruction, and appears in the
form of successive byte or bytes.
Here 0050 H is the immediate data and it is moved to register AX . The immediate data may be
8-bit or 16-bit in size.
2. Direct : In the direct addressing mode, a 16 bit address (offset) is directly specified in the
instruction as a part of it.
Here data resides in a memory location in the data segment, whose effective address
is .
3. Register : In register addressing mode, the data is stored in a register and it is referred using
the particular register. All the registers except IP may be used in this mode.
4. Register Indirect : In this addressing mode, the address of the memory location which contains
data or operand is determined in an indirect way using offset registers. The offset address of data
is in either BX or SI or DI register. The default segment register is either DS or ES .
The data is present in a memory location in DS whose offset is in BX . The effective address
is .
5. Indexed : In this addressing mode offset of the operand is stored in one of the index
register. DS and ES are the default segments for index registers SI and DI respectively
6. Register Relative : In this addressing mode the data is available at an effective address formed
by adding an 8-bit or 16-bit displacement with the content of any one of the
registers BX , BP , SI and DI in the default either DS or ES segment.
7. Based Indexed : In this addressing mode the effective address of the data is formed by adding
the content of a base register (any one of BX or BP ) to the content of an index register (any one
of SI or DI ). The default segment register may be ES or DS .
8. Relative Based Indexed : The effective address is formed by adding an 8-bit or 16-bit
displacement with the sum of contents of any one of the base register ( BX or BP ) and any one
of the index registers in a default segment.
9. Intrasegment Direct Mode : In this mode, the address to which the control is to be transferred
lies in the segment in which the control transfer instruction lies and appears directly in the
instruction as an immediate displacement value. The displacement is computed relative to the
content of the instruction pointer IP .
10. Intrasegment Indirect Mode : This mode is similar to intrasegment direct mode except the
displacement to which control is to be transferred is passed to the instruction indirectly. Here the
branch address is found as the content of a register or a memory location.
11. Intersegment Direct Mode : In this mode, the address to which the control is to be transferred
is in a different segment. This addressing mode provides a means of branching from one code
segment to another code segment. Here, the CS and IP of the destination address are specified
directly in the instruction.
12. Intersegment Indirect Mode : This mode is similar to intersegment direct mode except the
address to which the control is to be transferred is passed to the instruction indirectly. This
information is kept in a memory block of 4 bytes: IP ( LSB ), IP ( MSB ), CS ( LSB )
and CS ( MSB ) sequentially. The starting address of the memory block may be referred using
any of the addressing modes, except immediate mode.