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

Addressing Modes

This document discusses the addressing modes of the 8086 microprocessor. It describes 7 addressing modes: immediate, register, direct memory, register indirect, register relative, base indexed, and relative base indexed. For each mode, it provides an example instruction and explains how the effective address is calculated.
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views

Addressing Modes

This document discusses the addressing modes of the 8086 microprocessor. It describes 7 addressing modes: immediate, register, direct memory, register indirect, register relative, base indexed, and relative base indexed. For each mode, it provides an example instruction and explains how the effective address is calculated.
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 11

NEHRU INSTITUTE OF ENGINEERING AND TECHNOLOGY

“Nehru Gardens” T. M. PALAYAM, COIMBATORE-105


(Approved by AICTE and Affiliated to Anna University, Chennai)
(Accredited by NAAC, Recognized by UGC with 2(f) and 12(B))
NBA Accredited UG Courses: AERO, CSE, MECH DEPARTMENT
OF COMPUTER SCIENCE AND ENGINEERING

EC8691 – MICROPROCESSORS AND


MICRO CONTROLLERS
Prepared by
G.Jeevanantham, AP/CSE,
NIET.
UNIT I THE 8086
MICROPROCESSOR

Introduction to 8086 – Microprocessor


architecture – Addressing modes - Instruction
set and assembler directives –
Assembly language programming –
Modular Programming - Linking and
Relocation - Stacks - Procedures – Macros –
Interrupts and interrupt service routines –
Byte and String Manipulation.
Addressing Modes
1) Immediate addressing mode
2) Register addressing mode
3) Direct memory addressing mode
4) Register based indirect addressing mode
5) Register relative addressing mode
6) Base indexed addressing mode
7) Relative based indexed addressing mode
1) Immediate addressing mode

• In this mode, the operand is specified in the


instruction itself.
• Example:
• MVI CL, 12H
• This instruction moves 12 immediately into
CL
register. CL ← 12H
2) Register addressing mode
• In this mode, operands are specified using
registers.
• Example:
• MOV AX, BX
• This instruction copies the contents of BX
register into AX register. AX ← BX
3) Direct memory addressing mode
• In this mode, address of the operand is directly specified in
the instruction. Here only the offset address is specified, the
segment being indicated
• Example:
• MOV CL, [4321H]
• This instruction moves data from location 4321H in the
data segment into CL.
• The physical address is calculated as
• DS * 10H + 4321
• Assume DS = 5000H
• ∴PA = 50000 + 4321 = 54321H
• ∴CL ← [54321H] by the instruction.
4) Register based indirect addressing
mode
• In this mode, the effective address of the memory
may be taken directly from one of the base
register or index register specified by instruction.
• Example:
• MOV CX, [BX]
• This instruction moves a word from the address
pointed by BX and BX + 1 in data segment into
CL and CH respectively.
• Physical address can be calculated as DS * 10H +
BX.
5) Register relative addressing mode

• In this mode, the operand address is calculated


using one of the base registers and an 8 bit or a
16 bit displacement.
• Example:
• MOV CL, [BX + 04H]
• This instruction moves a byte from the address
pointed by BX + 4 in data segment to CL.
• CL ← DS: [BX + 04H]
• Physical address can be calculated as DS * 10H +
BX + 4H.
6) Base indexed addressing mode
• Here, operand address is calculated as base
register plus an index register.
• Example:
• MOV CL, [BX + SI]
• This instruction moves a byte from the address
pointed by BX + SI in data segment to CL.
• CL ← DS: [BX + SI]
• Physical address can be calculated as DS *
10H +
BX + SI.
7) Relative based indexed addressing
mode
• In this mode, the address of the operand is
calculated as the sum of base register, index
register and 8 bit or 16 bit displacement.
• Example:
• MOV CL, [BX + DI + 20]
• This instruction moves a byte from the address
pointed by BX + DI + 20H in data segment to
CL.
• CL ← DS: [BX + DI + 20H]
• Physical address can be calculated as DS * 10H +
BX + DI + 20H.
Thank
You

You might also like