Processor: Addressing Modes

Processor: Addressing Modes

Addressing modes define how the Central Processing Unit (CPU) accesses data in memory. Understanding different addressing modes is essential to grasp how a processor functions, and they can significantly affect a program’s performance. Here are some common addressing modes:

Immediate Mode

  • In Immediate Mode, the operand is part of the instruction itself.
  • The advantage of this mode is that no memory access is required to fetch the operand.
  • However, as the operand is part of the instruction, modifying it requires changing the program’s code.

Direct Mode

  • In Direct Mode, the memory address of the operand is specified directly as part of the instruction.
  • This mode is straightforward and efficient for accessing memory.
  • A potential issue can arise if a large memory is used as only limited addresses can be specified directly within the instruction.

Indirect Mode

  • In Indirect Mode, the address of the operand is given indirectly. The instruction contains a memory address that points to another memory location holding the effective address of the operand.
  • This allows for dynamic address computation and is helpful in implementing data structures like arrays and records.

Indexed Mode

  • Indexed Mode works by adding a constant value to a register to get the effective memory address.
  • This mode is typically used to index an array in memory, and it is also useful in executing loops.

Base Register Mode

  • In Base Register Mode, the effective address of the operand is obtained by adding an offset to the contents of a base register.
  • This mode is especially useful in dealing with data structures such as stacks and queues.

Relative Mode

  • In Relative Mode, the effective address of the operand is determined by adding a displacement to the program counter (PC).
  • This mode can be useful in branch instructions and in implementing loops and jumps.