際際滷

際際滷Share a Scribd company logo
PRESENTED BY:
SYEDA RIDA FATIMA TAQVI
Addressing Modes
Addressing mode:
The different ways in which the
location of an operand is
specified in an instruction are
addressing modes.
Instruction Cycle & PC :
? The control unit of a computer is designed to go through an
instruction cycle that is divided into three major phases:
-Fetch the instruction.
-Decode the instruction.
-Execute the instruction.
? PC (program counter) is a register that keeps track of the
instructions in the program stored in the memory. PC holds
the address of the instruction to be executed next and is
incremented each time an instruction is fetched from
memory.
Instruction Format:
An example of an instruction format
? Operation code field defines the operation to be performed.
? Mode field is used to locate the operands needed for the operation.
? Address field designate a memory address or a register .
but there may or may not be an address field in the
instruction . If there is an address field it designate a memory
address or processor register.
opcode Mode Address
Modes that need no address field:
There are different addressing modes (10)
Although most addressing modes modify the address field of
the instruction, there are two modes that need no address field
at all.
These are
? Implied mode
? Immediate mode
1-Implied mode:
In this mode the operands are specified implicitly in
the definition of the instruction.
for example: zero address instruction in stack
organized CPU the operation type instruction do
not need an address field. The instruction
ADD
in a stack computer consists of an operation code only
with no address field .There is no need to specify
operands with an address field since all operands are
implied to be in the stack.
2-Immediate Addressing Mode:
In this mode the operand itself specified in the instruction .
In other words
An immediate mode instruction has an
operand rather than an address field . The
operand field contain the actual operand to be
used.
for example:
MOV R # 20
This instruction is used to initialize a register to a
constant.
When the address field specify a processor register the
instruction is said to be in the register mode.
In the register mode the operands are in registers
that resides inside the CPU.
for example:
MOV R1 , R2
R2
opcode Register name
operand
4-Register Indirect Mode:
In this mode the instruction specifies register in the CPU whose content give
the address of the operand in the memory.
OR
The selected register contain the address of the register rather than operand
itself .
for example:
MOV A , (R) ( this notation identify
R do not contain the
operand it contain the
R address of operand )
memory
? Used in pointers.
opcode Reg name
Memory
address
operand
5-Autoincrement/Autodecrement Mode:
In this mode E.A of the operand is the content of register specified in
instruction , after / before accessing the operand the content of the
register are automatically incremented/decremented to the step size
d.
? This mode is similar to the register indirect mode except that the
register is incre /decr after it¨s value is used.
? For example: ADD R1,(R2)+ memory
E.A=[R] 1000
E.A=[R]+d R 1001
E.A=[R]+2d 1002
? This mode is used in loop counter. 1003
opcode R
E.A(1003)
operand
6-Direct Addressing Mode:
In this mode E.A / address of operand directly given I n
instruction.
In this mode the effective address is equal to the address
part of the instruction the operand resides in memory and its
address is given directly by the address field of the instruction.
for example: ADD R , 2000 E.A
r r+[2000]
opcode E.A
Operand
value
7-Indirect Addressing Mode:
In this mode address field of an instruction give the address where the E.A is
stored in memory . Control fetch the instruction from memory and uses its
address part to access memory again to read the E.A.
Example:
memory
memory
opcode
Memory
address
E.A
operand
A few addressing modes require that the address field
of the instruction be added to the content of a specific
register in the CPU the effective address in these
modes is obtained from the following computation:
E.A = address part of the instruction
+ content of CPU register
The CPU register used in the computation may be the
PC(program counter),Index register , Base register.
In either case we have different
addressing modes.
These modes are:
1-Relative Address Mode
2-Indexed Addressing Mode
3-Base Register Addressing Mode
8-Relative Address mode (relative to PC):
In this mode the content of the PC is added to the address part of instruction
in order to obtain the effective address.
PC
+ E.A = A + B
Instruction PC
E.A=2000+1002
E.A= 3002
opcode address(A)
B
opcode 2000
1002
9-Index Addressing Mode:
In this mode the content of an index register is added
to the address part of the instruction to obtain the
effective address.
? Base Register : It is a special CPU register that contains an index value.
? Address field of the instruction defines the beginning address of data are
in memory.
? Each operand in array is stored in memory relative to the beginning
address.
? The distance b/w the beginning address and the address of the operand is
the index value stored in the register .
Example:
Instruction IR
1000
1000 1001 1002 1003 1004
[A]
0 1 2 3 4
E.A=1000+3
This type of address mode used to access array element.
opcode
Memory add /base
address
3
operand
10-Base Register Addressing Mode:
In this mode the content of a base register is added to the
address part of the instruction to obtain the effective address.
? This mode is similar to index addressing Mode except that the
register is now called a base register instead of an index
register.
? The diff b/w these modes is in the way they are used rather
than in the way they are computed.
? An index register is assumed to hold an index number that is
relative to the address part.
? A base register is assumed to hold a base address and the
address field of the instruction give a displacement relative to
this base address.
Example:
base register
E.A=A+B
base register
E.A=4+1000
E.A=1004
opcode
Displacement(
A)
Base
address(B)
opcode 4
1000
Why Addressing Modes are used:
Computer use addressing mode techniques for the purpose
of giving programming versatility to the user by providing
such facilities:
1-as pointer to memory.
2-as counters for loop controls.
3-indexing of data.
4-Program relocation.
5-to reduce the number of bits in the addressing
field of the instruction.
addressing modes

More Related Content

addressing modes

  • 3. Addressing mode: The different ways in which the location of an operand is specified in an instruction are addressing modes.
  • 4. Instruction Cycle & PC : ? The control unit of a computer is designed to go through an instruction cycle that is divided into three major phases: -Fetch the instruction. -Decode the instruction. -Execute the instruction. ? PC (program counter) is a register that keeps track of the instructions in the program stored in the memory. PC holds the address of the instruction to be executed next and is incremented each time an instruction is fetched from memory.
  • 5. Instruction Format: An example of an instruction format ? Operation code field defines the operation to be performed. ? Mode field is used to locate the operands needed for the operation. ? Address field designate a memory address or a register . but there may or may not be an address field in the instruction . If there is an address field it designate a memory address or processor register. opcode Mode Address
  • 6. Modes that need no address field: There are different addressing modes (10) Although most addressing modes modify the address field of the instruction, there are two modes that need no address field at all. These are ? Implied mode ? Immediate mode
  • 7. 1-Implied mode: In this mode the operands are specified implicitly in the definition of the instruction. for example: zero address instruction in stack organized CPU the operation type instruction do not need an address field. The instruction ADD in a stack computer consists of an operation code only with no address field .There is no need to specify operands with an address field since all operands are implied to be in the stack.
  • 8. 2-Immediate Addressing Mode: In this mode the operand itself specified in the instruction . In other words An immediate mode instruction has an operand rather than an address field . The operand field contain the actual operand to be used. for example: MOV R # 20 This instruction is used to initialize a register to a constant.
  • 9. When the address field specify a processor register the instruction is said to be in the register mode. In the register mode the operands are in registers that resides inside the CPU. for example: MOV R1 , R2 R2 opcode Register name operand
  • 10. 4-Register Indirect Mode: In this mode the instruction specifies register in the CPU whose content give the address of the operand in the memory. OR The selected register contain the address of the register rather than operand itself . for example: MOV A , (R) ( this notation identify R do not contain the operand it contain the R address of operand ) memory ? Used in pointers. opcode Reg name Memory address operand
  • 11. 5-Autoincrement/Autodecrement Mode: In this mode E.A of the operand is the content of register specified in instruction , after / before accessing the operand the content of the register are automatically incremented/decremented to the step size d. ? This mode is similar to the register indirect mode except that the register is incre /decr after it¨s value is used. ? For example: ADD R1,(R2)+ memory E.A=[R] 1000 E.A=[R]+d R 1001 E.A=[R]+2d 1002 ? This mode is used in loop counter. 1003 opcode R E.A(1003) operand
  • 12. 6-Direct Addressing Mode: In this mode E.A / address of operand directly given I n instruction. In this mode the effective address is equal to the address part of the instruction the operand resides in memory and its address is given directly by the address field of the instruction. for example: ADD R , 2000 E.A r r+[2000] opcode E.A Operand value
  • 13. 7-Indirect Addressing Mode: In this mode address field of an instruction give the address where the E.A is stored in memory . Control fetch the instruction from memory and uses its address part to access memory again to read the E.A. Example: memory memory opcode Memory address E.A operand
  • 14. A few addressing modes require that the address field of the instruction be added to the content of a specific register in the CPU the effective address in these modes is obtained from the following computation: E.A = address part of the instruction + content of CPU register The CPU register used in the computation may be the PC(program counter),Index register , Base register.
  • 15. In either case we have different addressing modes. These modes are: 1-Relative Address Mode 2-Indexed Addressing Mode 3-Base Register Addressing Mode
  • 16. 8-Relative Address mode (relative to PC): In this mode the content of the PC is added to the address part of instruction in order to obtain the effective address. PC + E.A = A + B Instruction PC E.A=2000+1002 E.A= 3002 opcode address(A) B opcode 2000 1002
  • 17. 9-Index Addressing Mode: In this mode the content of an index register is added to the address part of the instruction to obtain the effective address. ? Base Register : It is a special CPU register that contains an index value. ? Address field of the instruction defines the beginning address of data are in memory. ? Each operand in array is stored in memory relative to the beginning address. ? The distance b/w the beginning address and the address of the operand is the index value stored in the register .
  • 18. Example: Instruction IR 1000 1000 1001 1002 1003 1004 [A] 0 1 2 3 4 E.A=1000+3 This type of address mode used to access array element. opcode Memory add /base address 3 operand
  • 19. 10-Base Register Addressing Mode: In this mode the content of a base register is added to the address part of the instruction to obtain the effective address. ? This mode is similar to index addressing Mode except that the register is now called a base register instead of an index register. ? The diff b/w these modes is in the way they are used rather than in the way they are computed. ? An index register is assumed to hold an index number that is relative to the address part. ? A base register is assumed to hold a base address and the address field of the instruction give a displacement relative to this base address.
  • 21. Why Addressing Modes are used: Computer use addressing mode techniques for the purpose of giving programming versatility to the user by providing such facilities: 1-as pointer to memory. 2-as counters for loop controls. 3-indexing of data. 4-Program relocation. 5-to reduce the number of bits in the addressing field of the instruction.