Before knowing about What is Addressing Mode of 8085 Microprocessor? You should know What are the Opcode, Operand, and Mnemonics? We understand them with an example,
Firstly we will discuss about What is the Mnemonics? With the continuation we’ll get to know What is the Operand?
MOV is a Mnemonic that will instruct the Microprocessor to transfer or copy the data from one register to another register. The MOV instruction is written for humans neither for the Microprocessor.
The Microprocessor understands MOV instruction with a code like 3E, which is known as Opcode or Operation Code.
Mnemonic will instruct the Microprocessor on which operation needs to perform.
I hope you understand What is mnemonic and What is opcode. Now let’s understand What is Operand?
The data on which we perform operations are known as the Operand.
Like MOV operation is being performed on registers A and B. So, A and B are operands. Operands cannot be just registers, it can be immediate data or in the form of address, etc.
Each instruction requires data to be executed, so there are many ways or methods in which data can be assigned for instructions. These methods are called Addressing Modes of 8085 Microprocessor.
Table of Contents
Types of Addressing Modes of 8085
Different addressing modes in 8085 are discussed below:
- Direct 8085 Addressing Mode
- Register Addressing Mode
- Register Indirect Addressing Mode
- Immediate Addressing Modes of 8085
- Implicit or Implied Addressing Mode
Direct Addressing Modes of 8085
In this mode, the address of the data is given in the instruction. Let’s understand it with an example,
In the above figure, LDA 2001, what does this instruction mean? Load the data to the accumulator stored at the 2001 memory location. The data stored at the 2001 memory location is 35H. After this instruction, the accumulator will have 35H.
STA 2002H: This instruction says that store the data of the accumulator to the specified memory location i.e. 2002H.
For Example,
MVI A, 30 (The data 30H will move into the accumulator, now A = 30
STA 2002 (after this instruction the data of accumulator (i.e. 30) store at 2002H memory location as shown in the figure.
LHLD 2000H: The Data of the memory location is load into the H-L register pair.
After the execution of this instruction, stored data at memory location 2000H (i.e. 78) will load into register L. The data of the memory location 2001H (i.e. 52H) will load into register H. (as Shown in the figure)
Register Addressing Mode
In this mode, the data or operand is specified in the register like A, B, C, D, E, H &L. This register is of 8 bits. You can use B-C, D-E, and H-L register pair to hold 16-bit data. For Example:
MVI B, 65H (65 will move into register B. Now, B = 65)
MOV A, B (the content of register B i.e. 65 moves into accumulator)
When the operation is performed on the operand and the operand (data) is load or move or copy or stored in the register is called register addressing mode of 8085.
For Example,
MVI A, 35H (The 35H is move or copy into register A. Now register A have 35H)
MVI B, 10H (B = 10H)
ADD B (The content of register B is add with the content of accumulator and result will save into accumulator) (A=A+B => A=35+10 => A=45H) (after the execution of this instruction accumulator A will have 45H)
Immediate Addressing Mode
In this mode, the data or operand is specified in the instruction itself. For example:
MVI A, 35H (Move 35H into accumulator)
ADI 80H (The Content of the accumulator will add with 80H)
LXI H, 2498H (Load the content 2498 to H-L register pair. H = 24 and L = 98H)
SBI 05H (Subtract 05H data from accumulator with borrow)
Register Indirect Addressing Mode
This addressing mode is similar to the direct addressing mode. The only difference is that the address of the operand or data will hold by the register pair.
The Data at 2501H memory location is 30H.
LDAX H (Load data from memory location which is held by H-L register pair)
Implicit/Implied Addressing Mode
The data or operand is specified in the instruction itself. No need to provide data in these instructions. Like,
CMA (Complement the Accumulator)
RAL (Rotate Accumulator left through carry)
RAR (Rotate accumulator right through carry)
XCHG (Exchange the content of H-L register pair with D-E register pair)
What is the Difference between Direct and Immediate Addressing Modes?
Direct Addressing Mode |
Immediate Addressing Mode |
In the direct addressing mode, the memory address of the data and operand is given within the instruction. | In Immediate Addressing mode, Data or operand is specified in the Instruction. |
For Example, LDA 2005 (The Data stored at location 2005, load into the accumulator. ) | For Example, MVI A, 35 (Move the data 35H to accumulator) |
Speed is slower because it takes a fetch cycle (fetch data from memory). | Its speed is faster than Direct addressing mode (because it does not need to fetch cycle.) |
What is the Difference between Direct and Indirect Addressing Mode?
Direct Addressing Mode |
Indirect Addressing Mode |
Memory Address of data or operand specified within the instruction. | The Data’s memory address is held by Register, which is specified within the instruction. |
For example, STA 2003 (The Data of the accumulator store at memory location 2003H) | LDAX H (Load the data from Memory Address Which is held by the H-L register pair to accumulator) |
This mode is faster. | This mode is slower |
We have read about Addressing Modes of 8085, if you have any problem related to this topic, then you can ask your questions in the comment box.
Frequently Asked Questions
Q1: What are the Addressing Mode of 8085?
Ans: Addressing Modes is a way of Specified Data to the Instruction.
Q2: How Many Types of Addressing Modes are there?
Ans: There are 5 addressing modes of 8085.
1) Immediate Addressing Mode
2) Direct Addressing Mode
3) Indirect Addressing Mode
4) Register Addressing Mode
5) Implied Addressing Mode
Q3: What is Direct Addressing Mode With Example?
Ans: In the Direct Addressing mode, The Memory Address of the Data is to be specified in the instruction.
For example: LDA 2005 (This means that the value at the 2005 location will load into the accumulator.)
Q4: What is the Advantage of Addressing Modes in an 8085/8086 Microprocessor?
Ans: The addressing mode is designed according to the need of the programmer. Addressing mode has been made, how the programmer should use the data in the program. It gives flexibility to the programmer.