The study should analyze parameters like Instruction set; Addressing Modes and Instruction size. Comparison with
different computer Architecture has to be done.
Answers
Answer:
The operation field of an instruction specifies the operation to be performed. This operation will be executed on some data which is stored in computer registers or the main memory. The way any operand is selected during the program execution is dependent on the addressing mode of the instruction. The purpose of using addressing modes is as follows:
To give the programming versatility to the user.
To reduce the number of bits in addressing field of instruction.
Types of Addressing Modes
Below we have discussed different types of addressing modes one by one:
Immediate Mode
In this mode, the operand is specified in the instruction itself. An immediate mode instruction has an operand field rather than the address field.
For example: ADD 7, which says Add 7 to contents of accumulator. 7 is the operand here.
Register Mode
In this mode the operand is stored in the register and this register is present in CPU. The instruction has the address of the Register where the operand is stored.
Register Mode Addressing
Advantages
Shorter instructions and faster instruction fetch.
Faster memory access to the operand(s)
Disadvantages
Very limited address space
Using multiple registers helps performance but it complicates the instructions.
Register Indirect Mode
In this mode, the instruction specifies the register whose contents give us the address of operand which is in memory. Thus, the register contains the address of operand rather than the operand itself.
Register Indirect Mode Addressing
Auto Increment/Decrement Mode
In this the register is incremented or decremented after or before its value is used.
Direct Addressing Mode
In this mode, effective address of operand is present in instruction itself.
Single memory reference to access data.
No additional calculations to find the effective address of the operand.
Direct Addressing Mode
For Example: ADD R1, 4000 - In this the 4000 is effective address of operand.
NOTE: Effective Address is the location where operand is present.
Indirect Addressing Mode
In this, the address field of instruction gives the address where the effective address is stored in memory. This slows down the execution, as this includes multiple memory lookups to find the operand.
Indirect Addressing Mode
Displacement Addressing Mode
In this the contents of the indexed register is added to the Address part of the instruction, to obtain the effective address of operand.
EA = A + (R), In this the address field holds two values, A(which is the base value) and R(that holds the displacement), or vice versa.