The different ways by which a Microprocessor can access data or the way operands are chosen during execution of an instruction is determined by addressing modes. Below are the different Addressing Modes of 8085 Microprocessor:
- Immediate Addressing mode
- Register Addressing mode
- Direct Addressing mode
- Indirect Addressing mode
- Implied Addressing mode
Immediate Addressing Mode of 8085
8 or 16 bit data can be specified as a part of Instruction (Immediate Data).
- MVI C, 25H; here, the value 25H is moved to the register C.
- MVI M, 7CH; here, the value 7CH is moved to memory location M.
- LXI D, 245EH; here, the value 245EH is moved to register D or loaded.
- ADI 82H; here, the value 82H is added to the the Accumulator A.
Register Addressing Mode of 8085
Data transfer between registers only. It specifies the source, destination or both operands in 8085 register.
- MOV A, B; here the value of B is moved to A.
- ADD E; here E is added to the Accumulator A and the result is stored in A.
- SPHL; this simply means that the data present in H and L will be present on top of the Stack.
Direct Addressing Mode of 8085
It specifies 16-bit address of the operand within the instruction itself.
- LDA 2000H; here, the value at the address 2000H will be loaded into the accumulator.
- LHLD 1111H; here, the value at the address 1111H will be loaded into H and L register.
Indirect Addressing Mode of 8085
The memory address where the operand located is specified by the content of register pair. The data is transferred from the address pointed by the data in a register to other register.
- LDAX B, load register pair B, C in accumulator.
- MVI M, 55H; Immediate Indirect
- ADC [A<-A+CY+(M)]; Register Indirect
- DCR [(HL)<-(HL)-1]; here, the value of HL will be decremented and stored in HL.
Implied Addressing Mode of 8085
This mode does not require any operand. Opcode specifies the address of operand.
- CMA (A<-A); here, the Accumulator A is complemented and the resultant value is stored in A.
- STC (CY<-1); here, the Carry Flag is stored.
- RAL; rotate left and store in Accumulator.
- CMP; this is used to compare the registers.
This is done only on Accumulator.