Addressing Modes
Centurion Institute of Technology
Addressing Modes
by
Shivani Nanda
Shivani Nanda 1
Addressing Modes
Addressing Mode
Centurion Institute of Technology
An addressing mode refers to the
“mechanism in which operands are specified
in a machine instruction”
Opcode Mode ...
The addressing mode indicates where the
operands are located
The assembler decodes which addressing
mode is being used from the syntax of the
operand field.
Shivani Nanda 2
Addressing Modes
Indicating an Addressing Mode
Centurion Institute of Technology
A separate mode field in the instruction indicates the
addressing mode used as shown below:-
Addressing 1st Operand 2nd Operand
Opcode Field
Mode Field
The Opcode itself explicitly specifies the addressing
mode used in the instruction
Shivani Nanda 3
Addressing Modes
Operand Reference
Centurion Institute of Technology
Operand reference
“ in an instruction it refers to either the actual
value of the operand”
or
“a reference to the address of the operand”
In general the effective address of an operand
is either a main memory location or a CPU
register
Shivani Nanda 4
Addressing Modes
Centurion Institute of Technology
Main Objective – to refer a large range of
locations in memory( or virtual memory )
General terminologies used :-
A = Contents of an address field in the
instruction
EA = Actual( effective ) address of the
location containing the referenced
operand
( X ) = Contents of location X
Shivani Nanda 5
Addressing Modes
Implied Mode
Centurion Institute of Technology
• In this mode the operands are specified
implicitly in the definition of the instruction.
• All register reference instructions that use an
accumulator are implied mode instruction.
• Example: CMA compliment accumulator.
– AC is implied in “ADD M[AR]” in “One-Address”
instr.
– TOS is implied in “ADD” in “Zero-Address” instr.
Shivani Nanda 6
Centurion Institute of Technology
Shivani Nanda
Addressing Modes
7
Centurion Institute of Technology
Shivani Nanda
Addressing Modes
8
Addressing Modes
Centurion Institute of Technology
MOVE 200immediate R0
MOVE #200, R0
MOVE #26, R1
MVI 26, R1
Shivani Nanda 9
Centurion Institute of Technology
Shivani Nanda
Addressing Modes
10
Centurion Institute of Technology
Shivani Nanda
Addressing Modes
11
Addressing Modes
Centurion Institute of Technology
LOAD X, R1
Load contents of memory location X to register R1
MOVE X, Y
Copy the contents of memory location X to Y
JUMP X
Transfer the program control to instruction at memory
location X by loading X in PC
Shivani Nanda 12
Centurion Institute of Technology
Shivani Nanda
Addressing Modes
13
Centurion Institute of Technology
Shivani Nanda
Addressing Modes
14
Addressing Modes
Centurion Institute of Technology
Add (A), R0 Add (R1), R0
A B
B Operand
R1 B
B Operand
(a) Through a memory (b) Through general
purpose registers
location
Shivani Nanda 15
Addressing Modes
Using Indirect Addressing in a program to add n number
Centurion Institute of Technology
Address Contents
Move N,R1
Move #NUM1,R2
Clear R0
LOOP Add (R2),R0
Add #4,R2
Decrement R1
Branch>0 LOOP
Move R0,SUM
Shivani Nanda 16
Addressing Modes
Comparing with Direct Addressing
Centurion Institute of Technology
In direct addressing, the length of the address
field is usually less than word length thus
limiting the address range
Indirect addressing as a solution :-
“ One solution is to have the address field
refer to the address of a word in memory
which in turn contains a full-length
address of the operand.”
Shivani Nanda 17
Addressing Modes
Merits Demerits
Centurion Institute of Technology
Although the number of words
Flexibility in that can be addressed is now
2N,the number of effective
programming addresses that can be referenced
at any given time is 2K where K
Indirection is achieved is the length of the address field
Two main memory accesses
For a word length of N, required to fetch the operand
address space available
is 2N Instruction cycle time increases
since two memory accesses
required for a single level
indirect addressing
Shivani Nanda 18
Centurion Institute of Technology
Shivani Nanda
Addressing Modes
19
Centurion Institute of Technology
Shivani Nanda
Addressing Modes
20
Addressing Modes
Merits Demerits
Centurion Institute of Technology
Faster operand fetch Addressing space is very
as absolutely no limited as the number of
memory access bits assigned for address
required field is between 3 to 5 bits
Only a small address
field is required in the Number of registers is
instruction limited and hence
It is useful in case of effective utilization by the
long programs as programmer is essential
intermediate results else program execution
can be stored in time increases
registers than in main unnecessarily
memory
Shivani Nanda 21
Addressing Modes
Centurion Institute of Technology
Add R1,R2
Contents of R1 added to contents of R2 and
stored in R2
Both R1 and R2 addressed in register addressing
mode
Store R1,MEM1
Contents of register R1 stored in memory
location MEM1
Register addressing used for R1 and direct
addressing used for second operand
Shivani Nanda 22
Centurion Institute of Technology
Shivani Nanda
Addressing Modes
23
Centurion Institute of Technology
Shivani Nanda
Addressing Modes
24
Addressing Modes
Relative Addressing
Centurion Institute of Technology
INSTRUCTION
OPCODE OFFSET
•In this mode the instruction specifies the operand address(
memory ) as the relative position of the current instruction
address i.e. contents of PC
EA = < PC > + Offset
Implicit Explicit
Shivani Nanda 25
Centurion Institute of Technology
Shivani Nanda
Addressing Modes
26
Addressing Modes
Base Register Addressing
Centurion Institute of Technology
INSTRUCTION
OPCODE BASE REGISTER OFFSET
EA = < BASE REGISTER > + OFFSET
may be implicit/ explicit
Shivani Nanda 27
Centurion Institute of Technology
Shivani Nanda
Addressing Modes
28
Addressing Modes
Index Addressing
Centurion Institute of Technology
INSTRUCTION
OPCODE ADDRESS
EA = Address + < Index Register >
= X + [ IndR ]
Shivani Nanda 29
Centurion Institute of Technology
Shivani Nanda
Addressing Modes
30
Addressing Modes
Indexed Addressing( contd… )
Centurion Institute of Technology
Add 20(R1),R2
Offset is
1000 given as a
constant
Offset
1020 Operand
1000 R1
Shivani Nanda 31
Addressing Modes
Indexed Addressing( contd… )
Centurion Institute of Technology
Add 1000(R1),R2
Offset is
1000 in index
register
20 = Offset
1020 Operand
20 R1
Shivani Nanda 32
Addressing Modes
Additional Modes
Centurion Institute of Technology
• Autoincrement Mode
The effective address of the operand is the contents of
a register specified in the instruction. After accessing the
operand, the contents of this register are automatically
incremented to point to the next item in a list
( Ri )+
• Autodecrement Mode
The contents of a register specified in the instruction
are first automatically decremented and are then used as
the effective address of the operand
-( Ri )
Shivani Nanda 33
Addressing Modes
Autoincrement mode used to add ‘n’ numbers
Centurion Institute of Technology
Move N,R1
Move #NUM1,R2
Clear R0
LOOP Add (R2)+,R0
Decrement R1
Branch>0 LOOP
Move R0,SUM
Shivani Nanda 34
Centurion Institute of Technology
Shivani Nanda
Addressing Modes
35
Centurion Institute of Technology
Shivani Nanda
Addressing Modes
36
Centurion Institute of Technology
Shivani Nanda
Addressing Modes
37
Centurion Institute of Technology
Shivani Nanda
Addressing Modes
38
Centurion Institute of Technology
Shivani Nanda
Addressing Modes
39
Centurion Institute of Technology
Shivani Nanda
Addressing Modes
40
Centurion Institute of Technology
Shivani Nanda
Addressing Modes
41
Centurion Institute of Technology
Shivani Nanda
Addressing Modes
42