In this article, we will discuss addressing modes of 8085 microprocessor. To perform any operation, we have to give the corresponding instructions to the microprocessor. In each instruction, a programmer has to specify three things:
1. Operation to be performed.
2. Address of source of data.
3. Address of destination of the result.
The method by which the address of the source of data or the address of the destination of the result is given in the instruction is called addressing modes. The term addressing mode refers to the way in which the operand of the instruction is specified.
Types of Addressing Modes
The 8085 microprocessor has the following five types of addressing:
1. Register direct addressing
2. Direct addressing
3. Immediate addressing
4. Indirect addressing
5. Implicit addressing
Register Direct Addressing
If the address of data is given in the form of a register in the instruction than it is called as register direct addressing mode.
Example: MOV B, C
It copies the content of register C to register B.
Direct Addressing mode
If the address of data is directly given in the instruction than it is called as direct addressing mode.
Example: IN 25 H
Here 25 H is the 8-bit address.
Immediate Addressing mode
In this addressing mode, the data itself given in the instruction.
Example: MVI A, 9A H
Note: If opcode has the last character ‘I” then it is immediate addressing mode but vice-versa is not true.
Indirect Addressing mode
If the address of data given in the form of content of a register in the instruction than this type is called Indirect Addressing mode. It is also called as Register indirect or indirect register addressing mode.
Example: MOV B, M
Here the data is in the memory location pointed to by the contents of HL pair. The data is moved to the accumulator.
Implicit Addressing mode
In this addressing mode, the address of data is not required in the instruction since it is defined in opcode. It is also called as Implied addressing mode.
Example: CMA, NOP, HLT
CMA instruction complements the content of the accumulator. No specific data or operand is mentioned in the instruction.