0% found this document useful (0 votes)
2 views

Addressing_modes

The document outlines the addressing modes of the 8086 microprocessor, which are methods for locating data or operands in instructions. It categorizes instructions into sequential control flow instructions and control transfer instructions, detailing various addressing modes such as Immediate, Direct, Register, and others. Each mode describes how operands are accessed, with examples provided for clarity.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Addressing_modes

The document outlines the addressing modes of the 8086 microprocessor, which are methods for locating data or operands in instructions. It categorizes instructions into sequential control flow instructions and control transfer instructions, detailing various addressing modes such as Immediate, Direct, Register, and others. Each mode describes how operands are accessed, with examples provided for clarity.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Addressing Modes of 8086

•Addressing mode indicates a way of locating data or operands.


• Depending upon the data types used in the instruction and the memory addressing
modes, any instruction may belong to one or more addressing modes, or some
instruction may not belong to any of the addressing modes
•Thus addressing modes describe the types of operands and the way they are accessed
for executing an instruction.
•According to the flow of instruction execution, the instructions may be categorized as
–Sequential control flow instructions
–Control transfer instructions

•Sequential control flow instructions are the instructions which after execution, transfer
control to the next instruction appearing immediately after it in the program.
•For example, the arithmetic, logical, data transfer and processor control instructions are
sequential control flow instructions.
•The control transfer instructions, on the other hand , transfer control to some predefined
address or the address somehow specified in the instruction, after their execution.
•For example INT, CALL, RET and JUMP instructions fall under this category
•The addressing modes for sequential and control transfer instructions are explained as
follows.

1 Immediate:
•In this type of addressing, immediate data is a part of instruction, and appears in the
form of successive byte or bytes
• Eg: MOV AX, 0005H
2 Direct:
•In the direct addressing mode, a 16-bit memory address (offset) is directly specified in
the instruction as a part of it.
• Eg: MOV AX,[5000H],
–Effective address= 10H*DS +5000H

3 Register:
•In the 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.

• Eg: MOV AX, BX

4 Register Indirect:
• Sometimes, the address of the memory location which contains data or operand is
determined in an indirect way, using the offset registers.
•This mode of addressing is known as register indirect mode
•In this addressing mode, the offset address of data is in either BX or SI or DI register.
•The default segment is either DS or ES. The data is supposed to be available at the
address pointed to by the content of any of the above registers in the default data
segment.
• Eg: MOV AX,[BX]
–Effective address is 10H*DS+[BX]

5 Indexed:
•In this addressing mode, offset of the operand is stored in one of the Index registers.
• DS is the default segment for index registers SI and DI
•In the case of string instructions DS and ES are default segments for SI and DI
respectively.
•This mode is a special case of the above discussed register indirect addressing mode
• Eg: MOV AX,[SI]
–effective address is 10H*DS+[SI]
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.

• Eg: MOV AX,50H[BX]


–Effective address is 10H*DS+50H+[BX]

7 Based Indexed:
•The effective address of the data is formed, in this addressing mode, 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 DS or ES
–Eg: MOV AX,[BX][SI]
• effective address is 10H*DS +[BX]+[SI]

8 Relative Based Indexed:


•The effective address is formed by adding an 8-bit or 16-bit displacement with the sum
of contents of anyone of the base registers (BX or BP) and any one of the index registers
(SI or DI), in a default segment.

• Eg: MOV AX,50H[BX][SI]


–Effective address is 10H* DS+[BX]+[SI]+50H

You might also like