How it works
Immediate addressing: operand is part of the instruction itself. MVI A, 45H loads 45H into A directly from the instruction byte. Register addressing: operand is in a register. MOV A, B copies B to A using register addressing. Direct addressing: 16-bit address in the instruction points to the memory location. LDA 2050H fetches the byte at 2050H into A; STA 3000H stores A at 3000H. Register indirect: memory address is in a register pair. MOV A, M uses the HL pair as a pointer — the byte at the address in HL is loaded into A. Implicit (inherent): no explicit operand needed. CMA complements the accumulator implicitly.
Key points to remember
All five modes in summary: immediate (data in instruction — MVI, LXI), register (data in register — MOV, ADD), direct (16-bit address in instruction — LDA, STA, LHLD, SHLD), register indirect (address in register pair — MOV A,M; LDAX B; STAX D), and implicit/inherent (accumulator implied — CMA, RAL, RAR, RLC, RRC). The most powerful indirect addressing uses HL pair as the memory pointer, enabling array processing by incrementing HL with INX H. INX H and DCX H do not affect any flags — a common exam trap.
Exam tip
The examiner always asks you to identify the addressing mode of given 8085 instructions like LDAX D, MVI B 30H, or MOV M A — state the mode name and explain which register or memory location provides the operand for full marks.