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

8086 Addressing Modes: Vaibhav V. Godbole

The document discusses various addressing modes of the 8086 microprocessor. It describes register addressing which uses registers, immediate addressing which uses immediate data, direct addressing which accesses memory using an offset, and several derived addressing modes like register indirect, based relative, indexed relative, based indexed relative which access memory using registers plus offsets or displacements. Examples are provided to illustrate each addressing mode.

Uploaded by

Vaibhav Godbole
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
65 views

8086 Addressing Modes: Vaibhav V. Godbole

The document discusses various addressing modes of the 8086 microprocessor. It describes register addressing which uses registers, immediate addressing which uses immediate data, direct addressing which accesses memory using an offset, and several derived addressing modes like register indirect, based relative, indexed relative, based indexed relative which access memory using registers plus offsets or displacements. Examples are provided to illustrate each addressing mode.

Uploaded by

Vaibhav Godbole
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

8086 Addressing Modes

VAIBHAV V. GODBOLE
Addressing Modes

• When the 8088 executes an instruction, it performs the specified function


on data
• These data, called operands,
– May be a part of the instruction
– May reside in one of the internal registers of the microprocessor
– May be stored at an address in memory
• Register Addressing Mode
– MOV AX, BX
– MOV ES,AX
– MOV AL,BH
• Immediate Addressing Mode
– MOV AL,15h
– MOV AX,2550h
– MOV CX,625
Direct Addressing Mode
MOV CX, [address]

Example:
MOV AL,[03]
AL=?
BEED

02003 FF
Register Indirect Addressing Mode
BX
MOV AX, DI
SI

BEED
Example for Register Indirect Addressing
• Assume that DS=1120, SI=2498 and AX=17FE show the memory
locations after the execution of:

MOV [SI],AX

DS (Shifted Left) + SI = 13698.

Low address 13698 Æ FE

High Address 13699 Æ 17


Based-Relative Addressing Mode
DS:BX
MOV AH, [ SS:BP ] + 1234h

3AH
BX +
AX

DS

1234
Indexed Relative Addressing Mode
SI ] + 1234h
MOV AH, [ DI

Example: What is the physical address MOV [DI-8],BL if DS=200 & DI=30h ?
DS:200 shift left once 2000 + DI + -8 = 2028
Based-Indexed Relative Addressing Mode
• Based Relative + Indexed Relative
• We must calculate the PA (physical address)

CS
SS BX SI 8 bit displacement
PA= DS : BP + DI + 16 bit displacement
ES

MOV AH,[BP+SI+29] The


or register
MOV AH,[SI+29+BP] order does
or not matter
MOV AH,[SI][BP]+29
Based-Indexed Addressing Mode

MOV BX, 0600h


MOV SI, 0010h ; 4 records, 4 elements each.
MOV AL, [BX + SI + 3]

OR

MOV BX, 0600h


MOV AX, 004h ;
MOV CX,04;
MUL CX
MOV SI, AX
MOV AL, [BX + SI + 3]
Summary of the addressing modes
Addressing Mode Operand Default Segment

Register Reg None

Immediate Data None

Direct [offset] DS

Register Indirect [BX] DS


[SI] DS
[DI] DS
Based Relative [BX]+disp DS
[BP]+disp SS
Indexed Relative [DI]+disp DS
[SI]+disp DS
Based Indexed [BX][SI or DI]+disp DS
Relative [BP][SI or DI]+disp SS
Example

Copy the contents of a block of memory (16 bytes) starting at


location 20100h to another block of memory starting at 20120h

MOV AX,2000
MOV DS,AX 100-10f
MOV SI, 100
MOV DI, 120
MOV CX, 10
120-12f
NXTPT: MOV AH, [SI]
MOV [DI], AH
INC SI
INC DI
DEC CX
JNZ NXTPT

You might also like