0% found this document useful (0 votes)
15 views30 pages

Chapter - 03-Addressing Modes

Chapter 3 of the document discusses various addressing modes used in Intel microprocessors, including data addressing modes like register, immediate, direct, and indirect addressing. It explains the operation of each mode, how they are utilized in assembly language statements, and the importance of using registers of the same size. Additionally, it covers stack memory addressing and the role of the stack in microprocessor operations.

Uploaded by

dualitydsn
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views30 pages

Chapter - 03-Addressing Modes

Chapter 3 of the document discusses various addressing modes used in Intel microprocessors, including data addressing modes like register, immediate, direct, and indirect addressing. It explains the operation of each mode, how they are utilized in assembly language statements, and the importance of using registers of the same size. Additionally, it covers stack memory addressing and the role of the stack in microprocessor operations.

Uploaded by

dualitydsn
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

MICROPROCESSOR

SYSTEMS
The Intel Microprocessors
8086/8088, 80186/80188, 80286, 80386,
80486, Pentium, Pentium Pro Processor,
Pentium II, Pentium III, Pentium 4, and Core2
with 64-Bit Extensions

Architecture, Programming, and Interfacing


Eighth Edition, 2009 (By: BARRY B. BREY)

Mohamed M. Eljhani, Ph.D.


Department of Computer Engineering
University of Tripoli
Spring 2023
Chapter 3
Addressing Modes
Chapter Outline
◼ Use the data-addressing modes to form
assembly language statements
◼ Operation of each data-addressing mode
◼ Use the program memory-addressing modes to
form assembly and machine language
statements
◼ Difference between addressing memory data

Chapter 3 — Addressing Modes — 2


Introduction

Chapter 3 — Addressing Modes — 3


Addressing Modes

Chapter 3 — Addressing Modes — 4


Data Addressing Modes
◼ MOV instruction is a common instruction
◼ Provides a basis for explanation of data-addressing
modes
◼ Source is to the right and destination the left, next to the
opcode MOV

Chapter 3 — Addressing Modes — 5


Data Addressing Modes
◼ All possible variations of the data-addressing modes using MOV

Chapter 3 — Addressing Modes — 6


Addressing Modes

Chapter 3 — Addressing Modes — 7


Addressing Modes

Chapter 3 — Addressing Modes — 8


Register Addressing
◼ It is the most common form of data addressing
◼ Microprocessor contains these 8-bit registers
used with register addressing: AH, AL, BH, BL,
CH, CL, DH, and DL
◼ 16-bit register: AX, BX, CX, DX, SP, BP, SI, and
DI
◼ In 80386 & above, extended 32-bit register:
EAX, EBX, ECX, EDX, ESP, EBP, EDI, and ESI
◼ In 64-bit register: RAX, RBX, RCX, RDX, RSP,
RBP, RDI, RSI, and R8 through R15

Chapter 3 — Addressing Modes — 9


Register Addressing
◼ Important for instructions to use registers that
are the same size
◼ Never mix an 8-bit with a 16-bit register, an 8- or a 16-
bit register with a 32-bit register
◼ This is not allowed by the microprocessor and results
in an error when assembled

Chapter 3 — Addressing Modes — 10


Register Addressing

Chapter 3 — Addressing Modes — 11


Immediate Addressing
◼ Term immediate implies that data immediately
follow the hexadecimal opcode in the memory
◼ Immediate data are constant data
◼ Data transferred from a register or memory location
are variable data
◼ Immediate addressing operates upon a byte or
word of data

Chapter 3 — Addressing Modes — 12


Immediate Addressing

Chapter 3 — Addressing Modes — 13


Direct Data Addressing
◼ Applied to many instructions in a typical program
◼ Two basic forms of direct data addressing:
◼ Direct addressing, which applies to a MOV between
a memory location and AL, AX, or EAX
◼ Displacement addressing, which applies to almost
any instruction in the instruction set
◼ Address is formed by adding the displacement to

the default data segment address

Chapter 3 — Addressing Modes — 14


Direct Addressing

Chapter 3 — Addressing Modes — 15


Direct Addressing

Chapter 3 — Addressing Modes — 16


Register Indirect Addressing
◼ Allows data to be addressed at any memory
location through an offset address held in any of
the following registers: BP, BX, DI, and SI
◼ In addition, 80386 and above allow register
indirect addressing with any extended register
except ESP
◼ The data segment is used by default with
register indirect addressing or any other mode
that uses BX, DI, or SI to address memory

Chapter 3 — Addressing Modes — 17


Register Indirect Addressing
◼ If the BP register addresses memory, the stack
segment is used by default
◼ For the 80386 and above, EBP addresses
memory in the stack segment by default
◼ EAX, EBX, ECX, EDX, EDI, and ESI address memory
in the data segment by fault

Chapter 3 — Addressing Modes — 18


Register Indirect Addressing

Chapter 3 — Addressing Modes — 19


Based Addressing

Chapter 3 — Addressing Modes — 20


Indexed Addressing

Chapter 3 — Addressing Modes — 21


Based Index Addressing

Chapter 3 — Addressing Modes — 22


String Addressing

Chapter 3 — Addressing Modes — 23


Direct I/O Port Addressing

Chapter 3 — Addressing Modes — 24


Indirect I/O Port Addressing

Chapter 3 — Addressing Modes — 25


Relative Addressing

Chapter 3 — Addressing Modes — 26


Implied Addressing

Chapter 3 — Addressing Modes — 27


Stack Memory-addressing
Modes
◼ The stack plays an important role in all microprocessors
◼ Holds data temporarily and stores return addresses

used by procedures
◼ Stack memory is LIFO (last-in, first-out) memory
◼ Describes the way data are stored and removed

from the stack

Chapter 3 — Addressing Modes — 28


Stack Memory-addressing
Modes
◼ The PUSH and
POP instructions:
◼ (a) PUSH BX
places the contents
of BX onto the
stack;
◼ (b) POP CX
removes data from
the stack and
places them into
CX
◼ Both instructions
are shown after
execution
Chapter 3 — Addressing Modes — 29

You might also like