The way of specifying data in instruction is known as addressing modes. In assembly language statements, the addressing mode is indicated in the instruction itself.
Types of Addressing Modes
- Direct Addressing
- Immediate Addressing
- Register Addressing
- Indirect Addressing
- Implied Addressing.
Direct Addressing Mode
In this mode, the data to be operated is available in the memory location and the address of that data is in the instruction itself.
1st Byte | 2nd Byte | 3rd Byte |
Opcode | Lower-Order of Address | Higher-Order of Address |
Example: Data is directly copied from the given address to the register.
- IN 00 H
- LDA 8000 H
- STA 9020 H
Register Addressing Mode
In this mode, the data to be operated is available inside the register(s). The register(s) are operands.
1 Byte | ||
Opcode | Source Register | Destination Register |
Example: Data is directly copied from one register to another register.
- MOV B, A
- ADD C
- SUB B
- PCHL
Register Indirect Addressing Mode
In this mode, the address of the operand located in the memory is specified by a register pair.
1 Byte |
Opcode |
Example: Data is transferred between a register and a memory location address
- MOV B, M
- LDAX B
- SUB M
Immediate Addressing
In this mode, the operand is specified within the instruction itself. Immediate data is transferred directly to the register.
Example
MVI A, 05 H
LXI H, 8050 H
ADI 44 H
Implicit Addressing
If the address of the source of data as well as the address of the destination of the result is fixed, then there is no need to give any operand along with the instruction. In this mode, the data is specified by the opcode itself.
Example: RAR, CMA, DAA, STC, RAL, …