This document discusses the different addressing modes of the 8086 microprocessor. It begins by explaining why addressing modes are important and then lists the 12 different addressing modes of the 8086: immediate, direct, register, register indirect, indexed, register relative, base plus index, base relative plus index, intrasegment direct, intrasegment indirect, intersegment direct, and intersegment indirect. Each addressing mode is then defined and an example is provided. The document concludes by stating that different addressing modes allow specifying the location of operands and that this helps understand how instructions access and execute with different types of data.
2. Why study addressing modes?
Addressing modes help us to understand the types of operands and
the way they are accessed while executing an instruction.
3. What are we going to study?
Addressing modes
We will see the types of addressing modes present in 8086.
We will study each addressing mode with example.
4. Types of addressing mode in 8086
1. Immediate addressing mode
2. Direct addressing mode
3. Register addressing mode
4. Register Indirect addressing mode
5. Indexed addressing mode
6. Register relative addressing mode
7. Base plus index addressing mode
8. Base relative plus index addressing mode
9. Intrasegment Direct Mode
10. Intrasegment Indirect Mode
11. Intersegment Direct Mode
12. Intersegment Indirect Mode
5. 1: Immediate addressing mode
In this type of mode, immediate data is part of instruction and
appears in the form of successive byte or bytes
MOV AX,10ABH
AX
10 ABH
6. 2: Direct addressing mode
In this type of addressing mode a 16-bit memory offset address is directly specified in the
instruction as a part of it. DS is default segment register.
MOV AX,[5000H]
AX
Memory
5000
5001
5002
22
33
22
33
7. 3: Register addressing mode
In this type of addressing mode, the data is stored in the register and it can be a 8-bit or 16-
bit register. All the registers, except IP, may be used in this mode.
MOV AL,BLH
MOV AX,BXH
AH AL
AX
FF 33
BX
10 AB
BH BL
10 AB
8. 4: Register Indirect addressing mode
The address of the memory location which contains data or operand is
determined in a indirect way, using the offset register.
MOV AX,[BX]
Memory
5000
5001
5002
22
50 00
AX
BX
33
22
33
10. Reflection Spot
Q) Which addressing does instruction above belonging and
why?
MOV [7000H],CX
Memory
7000
7001
7002
22
CX
33
Ans) Direct addressing mode
43 56
43 56
11. 5: Indexed addressing mode
In this addressing mode, offset of the operand is stored in one of the
index registers. DS is the default segment for index register SI and
DI.
MOV AX,[SI]
Memory
5000
5001
5002
22
50 00
AX
SI
33
22
33
12. 6: Register relative addressing mode
In this 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.
MOV AX, 50H[BX]
Memory
5051
5052
5053
44
50 00
AX
BX
33
Offset
+ 50H = 5050H
Final
Index
Address
44
33
13. 7: Base plus index addressing mode
In this mode the effective address is formed by adding content of a
base register (any one of BX or BP) to the content of an index register
(SI or DI). Default segment register DS.
MOV AX, [BX] [SI]
3000
3001
3002
10 00
AX
BX
= 3000H
Final
Index
Address
20 00
SI
+
12
34
12
34
14. 8: Base relative plus index addressing mode
In the effective address is formed by adding an 8 or 16-bit
displacement with sum of contents of any one of the base registers
(BX or BP) and any one of the index registers, in a default segment.
MOV AX,50H[BX][SI]
3050
3051
3052
10 00
AX
BX
= 3050H
Final
Index
Address
20 00
SI
12
50H +
34
12
34
15. 9: Intrasegment Direct Mode
Address to which the control or sequence of execution has to be
transferred relative to IP is given along with the instruction. Control of
transfer takes place within the segment. CS gives segment address.
JMP SHORT LABEL for 8-bit relative displacement
JMP NEAR PTR LABEL for 16-bit relative displacement
16. 10: Intrasegment Indirect Mode
Address to which the control or sequence of execution has to be
transferred relative to IP is given inside a register given along with the
instruction. Control of transfer takes place within the segment. CS
gives the segment address.
JMP [BX]; Jump to effective address stored in BX
JMP [BX+5000H]
17. 11: Intersegment Direct Mode
Address to which the control or sequence of execution has to be
transferred that is both segment address (CS) and offset address. Is
given in the instruction. Control of transfer takes place to a different
segment.
JMP 5000H:2000H ;
18. 12: Intersegment Indirect Mode
Address to which the control or sequence of execution has to be
transferred that is both segment address (CS) and offset address is
given inside memory and its segment address is given by DS and
offset is given along with instruction. Control of transfer takes place to
a different segment.
JMP [2000H] ; IP(LSB), IP(MSB), CS(LSB), CS(MSB)
Values are stored from memory location
DS:[2000H]
19. What we have learnt
Different types of addressing modes present in 8086.
Location of operands with respect to different addressing
modes.
Summery