1327 addressingmodesof8086-100523023240-phpapp02

1,089 views

Published on

Published in: Technology
1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total views
1,089
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
74
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

1327 addressingmodesof8086-100523023240-phpapp02

  1. 1. Addressing Modes of 8086 Prepared & Presented by- Rajvir Singh
  2. 2. • The different ways in which a processor can access data are called addressing modes
  3. 3. • 8086 accesses code bytes using contents of CS & IP register• 8086 accesses stack using contents of SS & SP register
  4. 4. How 8086 accesses data?• 8086 assembly language instructions can be used to illustrate the addressing modes• Format of MOV instruction MOV destination, source
  5. 5. • Source of data can be – Immediate data – A specified register – A memory location specified in 1 of 24 different ways• Destination of data can be – A specified register – A memory location specified in 1 of 24 different ways
  6. 6. Classification of Addressing Modes1. Register addressing mode2. Immediate addressing mode3. Memory addressing mode4. Port addressing mode5. Relative addressing mode6. Implied addressing mode
  7. 7. 1. Register addressing mode• Source/destination can be one of the 8086 registers• MOV AX, BX ; 16-bit data transfer• MOV AL, BL ; 8-bit data transfer
  8. 8. 2. Immediate addressing mode• 8 or 16-bit data can be specified as part of the instruction• E.g. MOV AL, 45H MOV BX, 5062H
  9. 9. 3. Memory addressing mode• One of the operands is in memory• 8086 must use – a segment register – A 16-bit offset (effective address)• By default, DS register is used for accessing data from memory• 16-bit offset can be specified in many ways
  10. 10. Different ways of specifying offset• Direct memory addressing• Register Indirect addressing• Based addresing• Indexed addressing• Based Indexed addressing• String addressing
  11. 11. a. Direct Memory addressing• Effective address is specified directly in the instruction• E.g. MOV BX, [5062]• 20-bit physical address of memory location is calculated using DS and offset value 5062
  12. 12. Accessing memorySegment register + = 20-bit physical address of operand16-bit offset
  13. 13. b. Register indirect addressing• The effective address of memory operand is present in one of the base or index registers [BX, BP, SI, DI]• E.g. MOV CX, [BX]• If DS = 2000H, BX = 0004H• THEN contents of memory location 20004H are copied to register CX
  14. 14. c. Based addressing• Effective address is sum of – 16-bit offset given in instruction – Contents of base register BX or BP• Segment register is DS or SS• E.g. MOV AX, 4[BX]• E.G. PUSH CX
  15. 15. d. Indexed addressing• Effective address is sum of – 16-bit offset given in instruction – Contents of index register SI or DI• Segment register is DS• E.g. MOV AX, 4[SI]
  16. 16. e. Based Indexed addressing• Effective address is sum of – 16-bit offset given in instruction – Contents of index register SI or DI – Contents of base register BX or BP• Segment register is DS• E.g. MOV AX, 4[BX][SI]
  17. 17. f. String addressing• Used when string related instructions are executed• Uses index registers• SI register points to the first byte or word of the source string• DI register points to the first byte or word of the destination
  18. 18. Classification of Addressing Modes1. Register addressing mode2. Immediate addressing mode3. Memory addressing mode4. Port addressing mode5. Relative addressing mode6. Implied addressing mode
  19. 19. 4. Port addressing• Two I/O port addressing modes can be used – Direct (e.g. IN AL, 02H) – Indirect (e.g. IN AL, DXH)
  20. 20. 5. Relative addressing mode• Specifies the operand as a 8-bit signed displacement relative to PC• E.g. JNC 08H• IF carry = 0, THEN PC is loaded with current PC contents + 8-bit signed value
  21. 21. 6. Implied addressing mode• No operands are specified• E.g. CLC• Means clear carry flag

×