Addressing Modes - Handwritten Style Notes
1. Introduction to Addressing Modes
In computer architecture, addressing mode specifies how the CPU identifies the location of the
operand (data to be used in an instruction).
Different addressing modes provide flexibility in accessing operands, whether from registers,
memory, or immediate values.
They reduce program size, improve performance, and simplify compiler design.
2. Importance of Addressing Modes
- Efficient utilization of memory.
- Provides versatility for programmers.
- Helps in writing complex programs with simple instructions.
- Increases instruction set efficiency.
- Plays a key role in assembly language programming.
3. Types of Addressing Modes
Immediate Addressing Mode
Operand is directly specified in the instruction.
Example: MOV A, #25 → Load value 25 into register A.
Register Addressing Mode
Operand is stored in a register.
Example: MOV A, R1 → Copy contents of R1 into A.
Direct Addressing Mode
Instruction directly specifies the memory address of the operand.
Example: MOV A, 5000H.
Indirect Addressing Mode
Instruction specifies a register/memory that contains the address of operand.
Example: MOV A, @R1.
Indexed Addressing Mode
Effective address = Index register + displacement.
Example: MOV A, 2000H(R1).
Relative Addressing Mode
Effective address = PC + offset.
Example: JUMP +5.
Base Register Addressing Mode
Effective address = Base register + displacement.
Example: MOV A, 50(BX).
Stack Addressing Mode
Operand is on the top of the stack.
Example: PUSH B, POP A.
4. Comparison Table
Mode Speed Memory Usage Example Use
Immediate Fast No memory Constants
Register Very fast Low Temporary data
Direct Medium Higher Accessing fixed memory
Indirect Slower More Pointers
Indexed Medium Useful Arrays
Relative Fast Low Branching
Base Register Flexible Medium Modular code
Stack Medium Efficient Function calls
5. Advantages of Multiple Addressing Modes
- Flexibility in accessing operands.
- Compact code generation.
- Easy representation of complex data structures (arrays, stacks, pointers).
- Improves efficiency of assembly programming.
6. Conclusion
Addressing modes form the backbone of instruction execution in processors.
Each mode has its own trade-off between speed, memory usage, and flexibility.
Modern CPUs support multiple addressing modes to balance performance and programming
simplicity.