Professional Documents
Culture Documents
Modes
Miscellaneous Lecture by Ali Asghar Manjotho
Lecturer, Department of Computer Systems Engineering,
MUET-Jamshoro.
AL
U
FP
U
REGISTE
RS
CU
C (8bit)
E (8bit)
L (8bit)
PC (16-bit)
Carry,
AC = Auxiliary Carry, P =
Parity,
General Purpose
Registers
Index Registers
SP (16-bit)
Addressing Modes
Microprocessor executes the instructions stored in
memory (RAM).
It executes one instruction at a time.
Each of the instruction contains operations and
operands.
Operation specifies the type of action to be performed.
For example: ADD, SUB, MOV, INC, LOAD, STORE
Operands are
theB,
data
on which the operation is to be
MOV
Here MOV is operation and (B & A) are
operands.
performed.A
Here ADD is operation and (B) is
ADD
B
operand.
Ali Asghar Manjotho, Lecturer
CSE-MUET
Addressing Modes
Operand can be place either in one of the processor
register or in
memory.
There are different ways to get the operands.
The way in which the operand is taken from register or
memory is named as addressing mode.
Ali Asghar Manjotho, Lecturer
CSE-MUET
Addressing Modes
1. Immediate Addressing Mode
2. Register Addressing Mode
3. Register Indirect Addressing Mode
4. Direct Addressing Mode
5. Indirect Addressing Mode
6. Implied Addressing Mode
7. Relative Addressing Mode
8. Indexed Addressing Mode
9. Base Register Addressing Mode
10.Autoincrement or Autodecrement
Addressing Mode
Ali Asghar Manjotho, Lecturer
CSE-MUET
Add
A A Immediate
+
Here 3Eh is the immediate
3Eh
operand
CA
register
Add
ADD
B
AA+
B
MOV A ,
M
A [[H]
[L]]
A
H
L
Afte
r
2
8
0
5
A
[2805]
280
6
280
5
A
A9
H
L
280
4
A
A9
280
3
280
2
A
9
2
8
0
5
280
7
280
6
280
5
280
4
280
3
280
2
A9
LDA 2805h
A [2805]
Store Accumulator
Ali Asghar Manjotho, Lecturer
CSE-MUET
Befor
e
Afte
r
280
7
A
[2805]
280
6
5
C
5C
A
5C
280
5
280
7
280
6
280
5
280
4
280
4
280
3
280
3
280
2
280
2
5C
Befor
e
A
9
B
[2803]
A
280
7
Afte
r
280
6
9
B
[2803]
9B
280
5
280
7
280
6
280
5
280
4
280
4
280
3
280
3
280
2
280
2
9B
A
[[2802]]
After
A
FF
280
6
280
5
280
4
A
FF
06
28
280
7
280
5
280
3
Ali Asghar Manjotho, Lecturer
CSE-MUET
FF
280
6
280
4
280
3
280
2
F
F
280
2
06
28
STC
2807
22
2807
22
2806
FF
2806
FF
6D
PC
2801
6D
2805
59
2805
59
2804
08
2804
08
2803
2E
2803
2E
2802
F3
2802
F3
2801
9F
2801
2800
2800
9F
Actual
Operand
2807
2806
PC
2803
2807
22
FF
2806
6D
22
FF
6D
2805
59
2805
59
2804
08
2804
08
2803
2E
2803
2E
2802
F3
2802
F3
2801
9F
2801
9F
2800
2800
Actual
Operand
2807
22
2807
22
2807
2807
2806
FF
2806
FF
2806
FF
2806
FF
2805
6D
2805
6D
2805
6D
2805
6D
2804
59
2804
59
2804
59
2804
59
2803
08
2803
08
2803
08
2803
08
2802
2E
2802
2E
2802
2E
2802
2E
2801
F3
2801
F3
2801
F3
2801
F3
2800
9F
2800
9F
2800
9F
2800
9F
IX
0000
2800h + 0000h =
2800h
IX
0001
IX
2800h + 0001h =
2801h
0002
2800h + 0002h =
2802h
IX
0003
2800h + 0003h =
2803h
2807
22
2807
22
2807
2807
2806
FF
2806
FF
2806
FF
2806
FF
2805
6D
2805
6D
2805
6D
2805
6D
2804
59
2804
59
2804
59
2804
59
2803
08
2803
08
2803
08
2803
08
2802
2E
2802
2E
2802
2E
2802
2E
2801
F3
2801
F3
2801
F3
2801
F3
2800
9F
2800
9F
2800
9F
2800
9F
IX
0000
2802h + 0000h =
2802h
IX
0001
IX
2802h + 0001h =
2803h
0002
2802h + 0002h =
2804h
IX
0003
2802h + 0003h =
2805h
2807
2807
22
2807
22
2806
FF
2806
FF
2806
FF
2806
FF
2805
6D
2805
6D
2805
6D
2805
6D
2804
59
2804
59
2804
59
2804
59
2803
08
2803
08
2803
08
2803
08
2802
2E
2802
2E
2802
2E
2802
2E
2801
F3
2801
F3
2801
F3
2801
F3
2800
9F
2800
9F
2800
9F
2800
9F
Base
2800
2800h + 0001h =
2801h
Base
Base
2801
2801h + 0001h =
2802h
2802
2802h + 0001h =
2803h
Base
2803
2803h + 0001h =
2804h
2807
2807
22
2807
22
2806
FF
2806
FF
2806
FF
2806
FF
2805
6D
2805
6D
2805
6D
2805
6D
2804
59
2804
59
2804
59
2804
59
2803
08
2803
08
2803
08
2803
08
2802
2E
2802
2E
2802
2E
2802
2E
2801
F3
2801
F3
2801
F3
2801
F3
2800
9F
2800
9F
2800
9F
2800
9F
Base
2800
2800h + 0003h =
2803h
Base
Base
2801
2801h + 0003h =
2804h
2802
2802h + 0003h =
2805h
Base
2803
2803h + 0003h =
2806h
value is used
HL
2802
2807
22
2807
22
2807
22
2807
22
2806
FF
2806
FF
2806
FF
2806
FF
2805
6D
2805
6D
2805
6D
2805
6D
2804
59
2804
59
2804
59
2804
59
2803
08
2803
08
2803
08
2803
08
2802
2E
2802
2E
2802
2E
2802
2E
2801
F3
2801
F3
2801
F3
2801
F3
2800
9F
2800
9F
2800
9F
2800
9F
H
L
280
2
1st
Time
H
L
280
3
2nd
Time
H
L
280
4
3rd
Time
H
L
280
5
4th
Time
HL
2803
value is used
2807
22
2807
22
2807
22
2807
22
2806
FF
2806
FF
2806
FF
2806
FF
2805
6D
2805
6D
2805
6D
2805
6D
2804
59
2804
59
2804
59
2804
59
2803
08
2803
08
2803
08
2803
08
2802
2E
2802
2E
2802
2E
2802
2E
2801
F3
2801
F3
2801
F3
2801
F3
2800
9F
2800
9F
2800
9F
2800
9F
H
L
280
4
1st
Time
H
L
280
5
2nd
Time
H
L
280
6
3rd
Time
H
L
280
7
4th
Time
Example problem
P
C
R
1
X
R
A
C
20
0
40
0
10
0
Addre
ss
Memor
Loadyto
Mode
20
0
AC
Address = 500
20
1
39
20
9
2
Next Instruction
40
0
50
0
450
700
800
60
0
900
70
2
325
80
0
300
PC = Program
Counter R1 =
Register
XR = Index
Register AC =
Memory is having first instruction to load AC
Accumulator
Mode will specify the addressing mode to get
operand.
Address field of instruction is 500.
Example problem
PC
R1
XR
AC
200
400
100
Address
Memory Load to
Mode
200 AC
201
Address = 500
Next Instruction
202
450
399
700
800
900
A
C
400
500
600
325
702
300
50
0
Example problem
PC
R1
XR
AC
200
Addre
ss
Memor
Loadyto
Mode
400
20
0
AC
Address = 500
20
1
39
20
9
2
Next Instruction
100
450
2. Register Addressing
Mode
800
Effective Address
= Nil
Operand = 400
60
0
900
A
C
70
2
325
80
0
300
40
0
50
0
700
40
0
Example problem
PC
200
Address
Memory Load to
20
Mode
AC
Address = 500
R1
400
20
1
XR
AC
100
20
399
2
400
450
500
800
600
Next Instruction
700
900
325
3. Register Indirect
Addressing Mode
Register R1 contains 400.
So effective address of operand is
400.
The data stored at 400 is 700.
700
702
300
800
Example problem
PC
200
R1
400
XR
100
AC
Address
Memory Load to
Mode
200 AC
Address = 500
201
Next Instruction
202
450
399
700
400
500
800
60
0
900
325
70
2
800
300
Ali Asghar Manjotho, Lecturer
CSE-MUET
Example problem
PC
200
R1
400
XR
A
100
C
Address
Memory Load to
20
0
20
1
Mode
AC
Address = 500
Next Instruction
20
39
2
9
450
40
0
50
0
800
700
900
60
0
800
70
2
325
5. Indirect Addressing
Mode
Instruction contains the address
500.
Address at 500 is 800.
So effective address of operand
is 800.
The data stored at 800 is 300.
Effective
Address
A
30
C
= 8000 Operand =
300
300
Ali Asghar Manjotho, Lecturer
CSE-MUET
Example problem
PC
200
R1
400
XR
100
AC
Address
Memory Load to
Mode
200 AC
Address = 500
201
Next Instruction
202
450
399
700
400
800
500
600
702
80
0
900
325
Effective Address
= 702 Operand =
325
A
C
32
5
300
Ali Asghar Manjotho, Lecturer
CSE-MUET
Example problem
PC
200
R1
400
XR
100
AC
Address
Memory Load to
Mode
200 AC
Address = 500
201
Next Instruction
202
450
399
700
400
800
500
600
70
2
900
325
Effective Address
= 600 Operand =
A
900 90
C
300
80
Example problem
PC
200
R1
400
XR
100
AC
Address
Memory Load to
Mode
200 AC
Address = 500
201
Next Instruction
202
8. Autoincrement
Addressing Mode
39
9
400
450
50
0
800
60
0
900
Effective Address
= 400 Operand =
700
70
2
325
R
1
40
1
80
0
300
A
C
70
0
700
Example problem
PC
200
R1
400
XR
100
AC
Address
Memory Load to
Mode
200 AC
Address = 500
201
Next Instruction
202
399
40
0
450
700
800
50
0
60
0
900
325
Effective Address
= 399 Operand =
450
R1
399
A
45
Ali Asghar Manjotho,
C Lecturer
0
300
70
CSE-MUET
Example problem
Addressing Mode
Immediate Addressing Mode
Register Addressing Mode
Register Indirect Addressing
Mode
Direct Addressing Mode
Indirect Addressing Mode
Relative Addressing Mode
Indexed Addressing Mode
Autoincrement Addressing
Mode
Autodecrement Addressing
Mode
Effective
Address
201
Nil
400
Operand
500
400
700
500
800
702
600
400
800
300
325
900
700
399
450