Addressing Modes in 8085 Microprocessor
The addressing modes of 8085 microprocessor can be classified into five. They are immediate addressing, register addressing, direct addressing, indirect addressing, and implied addressing.
All 8085 addressing modes are described below. Before that what is an addressing mode in a microprocessor.
What is an Addressing Mode in a Microprocessor?
The addressing mode of a microprocessor defines the way in which the operand of instructions can be accessed.
8085 Microprocessor Addressing Modes
The five types of addressing modes of 8085 microprocessor is given below.
1.Immediate Addressing Mode
In the immediate addressing mode, the data is stored along with the instruction. And the data is directly transferred to the register.
- Here the data can be either 8 bit or 16 bit.
- In the case of 16-bit data, the lower byte is stored the first position and the higher byte is stored in the next position.
Example:
MVI A 0FH; Load OFH to reg Accumulator.
another example,
LXI D FFF0H; load FFF0H to the D-E reg pair.
Here F0H – Lower byte and FFH – Higher byte.
After the execution of the above instructions,
(A) = 0FH and (D)(E)=FFF0H.
2. Register Addressing Mode
In the register addressing mode, the data is copied from one register and stored in another register (or register pair).
Example:
MOV B, D; move the contents of register D to register B.
another example,
INX H; Increment the contents of H-L register pair.
Originally,
(B) = 0FH and (D) = 1FH
and (H) = 0FH and (L) = 1AH
After the execution of above instructions,
(B) = 1FH, (D) = 1FH and,
(H)(L) = 0F1BH
3. Direct Addressing Mode
Here the data is stored in the memory and the exact memory location is specified in the instruction. The memory address is specified as the lower order in byte 2, and the higher order in byte 3 of the address.
Example:
LDA 240FH; load the register A with the contents of memory location 240FH.
Instruction in memory:
LDA
0FH
24H
Data in memory
240EH : –
240FH : 09H
2410H : –
After the execution of the above instruction,
(A) = 09H
4. Indirect Addressing Mode
In this method the data is pointed to a register from the address pointed by a data in a register.
Here the data is stored in memory and the address of memory location is stored in a register pair (H-L, B-C, or D-E). The first regsiter of the register pairs (H, B and D), contains the higher order byte and the second register contains the low order byte.
Note: The H-L pair widely used for the register indirect addressing. In case of the instructions, which involve the data tranfer to or from memory without mentioning the register pair containing the address, take the address from the register pair H-L.
Example:
MOV B,M; move the contents of memory location addressed by register pair H-L to register B.
(B) (C) = 250AH, and the address 250AH holds the data FFH.
After the execution of the above instruction,
(A) = FFH
another examle,
STAX D; move the contents of resgister A to memory location addressed by register pair D-E.
(A) = EDH
(D) (E) = 2663H
After the execution of the above instruction,
the data EDH is moved to the memory location 2663H.
5. Implied Addressing Mode
This is not a widely used addressing mode and this mode does not require any operand. The data is specified by opcode itself.
Example:
RAL or CMP