Various Type of Addressing Mode

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

VARIOUS TYPE OF ADDRESSING MODE

Addressing Modes– The term addressing modes refers to the way in which the
operand of an instruction is specified. The addressing mode specifies a rule for
interpreting or modifying the address field of the instruction before the operand is
actually executed.

1) Addressing modes for data

2) Addressing modes for branch


The 8086 memory addressing modes provide flexible access to memory, allowing you
to easily access variables, arrays, records, pointers, and other complex data types.  The
key to good assembly language programming is the proper use of memory addressing
modes.
An assembly language program instruction consists of two parts
 OPCODE
 OPERAND
The memory address of an operand consists of two components: 
IMPORTANT TERMS
 Starting address of memory segment.
 Effective address or Offset: An offset is determined by adding any combination of three
address elements: displacement, base and index.
 Displacement: It is an 8 bit or 16 bit immediate value given in the
instruction.
 Base: Contents of base register, BX or BP.

Index: Content of index register SI or DI According to different ways of specifying an


operand by 8086 microprocessor, different addressing modes are used by 8086.
Addressing modes used by 8086 microprocessor are discussed below:
 Implied mode:: In implied addressing the operand is specified in the
instruction itself. In this mode the data is 8 bits or 16 bits long and data is
the part of instruction.Zero address instruction are designed with implied
addressing mode.
Immediate addressing mode (symbol #):In this mode data is present in
address field of instruction .Designed like one address instruction format..

Register mode: In register addressing the operand is placed in one of 8 bit or 16 bit
general purpose registers. The data is in the register that is specified by the instruction.

Register Indirect mode: In this addressing the operand’s offset is placed in any one of
the registers BX,BP,SI,DI as specified in the instruction. The effective address of the
data is in the base register or an index register that is specified by the instruction.

Auto Indexed (increment mode): Effective address of the operand is the contents of a
register specified in the instruction. After accessing the operand, the contents of this
register are automatically incremented to point to the next consecutive memory location.
(R1)+.

Auto indexed ( decrement mode): Effective address of the operand is the contents of
a register specified in the instruction. Before accessing the operand, the contents of this
register are automatically decremented to point to the previous consecutive memory
location. –(R1)

Direct addressing/ Absolute addressing Mode (symbol [ ]): The operand’s offset is


given in the instruction as an 8 bit or 16 bit displacement element. In this addressing
mode the 16 bit effective address of the data is the part of the instruction.

 Indirect addressing Mode (symbol @ or () ):In this mode address field of


instruction contains the address of effective address.Here two references are
required.
1st reference to get effective address.
2nd reference to access the data.
Based on the availability of Effective address, Indirect mode is of two kind:
1. Register Indirect:In this mode effective address is in the register, and
corresponding register name will be maintained in the address field of an
instruction.
Here one register reference,one memory reference is required to access the
data.
2. Memory Indirect:In this mode effective address is in the memory, and
corresponding memory address will be maintained in the address field of an
instruction.
Here two memory reference is required to access the data.
 Indexed addressing mode: The operand’s offset is the sum of the content of an
index register SI or DI and an 8 bit or 16 bit displacement.
Example:MOV AX, [SI +05]
  Based Indexed Addressing: The operand’s offset is sum of the content of a
base register BX or BP and an index register SI or DI.
Example: ADD AX, [BX+SI]
Based on Transfer of control, addressing modes are:
1. PC relative addressing mode: PC relative addressing mode is used to
implement intra segment transfer of control, In this mode effective address is
obtained by adding displacement to PC.
2. EA= PC + Address field value
PC= PC + Relative value.
3. Base register addressing mode:Base register addressing mode is used
to implement inter segment transfer of control.In this mode effective address is
obtained by adding base register value to address field value.
4. EA= Base register + Address field value.
5. PC= Base register + Relative value.
Note:
1. PC relative nad based register both addressing modes are suitable
for program relocation at runtime.
2. Based register addressing mode is best suitable to write position
independent codes.
Advantages of Addressing Modes

1.To give programmers to facilities such as Pointers, counters for loop controls,
indexing of data and program relocation.
2.To reduce the number bits in the addressing field of the Instruction

You might also like