Topic 6:
Addressing Modes of
8086
By: Mr. Binu Joy
Why study addressing modes?
Addressing modes help us to understand the types of operands and
the way they are accessed while executing an instruction.
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.
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
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
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
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
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
Reflection Spot
Q) Which addressing does instruction above belong, and
why?
MOV [7000H],CX
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
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
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
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
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
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
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]
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 ;
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]
What we have learnt
 Different types of addressing modes present in 8086.
 Location of operands with respect to different addressing
modes.
Summery
References
 Advanced Microprocessors and Peripheral
- By K Bhurchandi, A. K. Ray
This presentation is licensed to the public
Text is available under the Creative
Commons Attribution-ShareAlike License

addressing-modes-of-8086-mr-binu-joy-2 (2).pptx

  • 1.
    Topic 6: Addressing Modesof 8086 By: Mr. Binu Joy
  • 2.
    Why study addressingmodes? Addressing modes help us to understand the types of operands and the way they are accessed while executing an instruction.
  • 3.
    What are wegoing 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 addressingmode 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 addressingmode  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 addressingmode  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 addressingmode  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 Indirectaddressing 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
  • 9.
    Reflection Spot Q) Whichaddressing does instruction above belong, and why? MOV [7000H],CX
  • 10.
    Reflection Spot Q) Whichaddressing 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 addressingmode  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 relativeaddressing 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 plusindex 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 relativeplus 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 DirectMode  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 IndirectMode  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 DirectMode  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 IndirectMode  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 havelearnt  Different types of addressing modes present in 8086.  Location of operands with respect to different addressing modes. Summery
  • 20.
    References  Advanced Microprocessorsand Peripheral - By K Bhurchandi, A. K. Ray
  • 21.
    This presentation islicensed to the public Text is available under the Creative Commons Attribution-ShareAlike License