What do you mean by Addressing Modes and its types?
Addressing: “The general subject of specifying where the operands are” is called addressing.
- Addressing mode may present within operation field (opcode) or in a separate mode field.
- The decoding step in the instruction cycle determines the operation to be performed, the addressing mode of the instruction, and the location of the operands.
Effective address: The actual address of the operand after all address computations of the addressing mode have been performed. Operand may present in register, memory, or within the instruction. Effective address of operand is computed using the addressing mode.
Types of Addressing Modes
1. Implied Mode: Operands are specified implicitly in the definition of the instruction.
Instruction
Example: Zero-address instructions (stack operations ADD and SUB).
2. Immediate Addressing Mode:
-
- In this operand value is present in the instruction.
- This mode is used to define the use of constants or set initial values of variables.
- Example: int x = 123; // high level
MOV R1, 133 // assembly language
3. Direct Addressing:
-
- Address field contains the effective address of the operand.
- Example: MOV R1, [1000] // Assembly language
Instruction has memory address 1000. At location 1000, the memory address of operand is available.
4. Register Addressing:
(i) It is similar to direct addressing. The only difference is that the address field refers to a register rather than a memory address.
- Example: MOV R1, R2 // Assembly language
5. Register Indirect Addressing Modes:
- The instruction specifies that a register that contains the address of the operand.
- Example: ADD R1, (R2) // Assembly language
Instruction has register R2 and R2 has memory address of operand.
<< Previous | Next >>
Must Read: What is Computer Organization and Architecture?