Transcript Document

Suranaree University
Of Technology
มทส
Chapter 5
Addressing Modes
2002/4/8
2002 Anant Oonsivilai
Microcomputers and Microprocessors
1
Outlines
Five addressing modes of 8051
Code instructions using each addressing
mode
Access RAM using various addressing modes
SFR addresses (Special Function Register)
Access SFR
Operate stack using direct addressing mode
Code instructions to operate look-up table
2002/4/8
2002 Anant Oonsivilai
Microcomputers and Microprocessors
2
Five Addressing Modes
Immediate
Register
Direct
Register indirect
Indexed
2002/4/8
2002 Anant Oonsivilai
Microcomputers and Microprocessors
3
Immediate Addressing Mode
MOV
MOV
MOV
MOV
A,#25H
R4,#62
B,#40H
DPTR,#4521H
MOV
DPTR,#2550H
;is the same as:
DPL,#50H
DPH,#25H
MOV
MOV
2002/4/8
2002 Anant Oonsivilai
;load 25H into A
;load the decimal value 62 into R4
;load 40H into B
;DPTR=4521H
Microcomputers and Microprocessors
4
MOV
DPTR,#68975 ;illegal!! value > 65535 (FFFFH)
COUNT
…
MOV
MOV
ORG
MYDATA:
2002/4/8
2002 Anant Oonsivilai
EQU 30
…
R4,#COUNT
DPTR,#MYDATA
;R4=1E (30=1EH)
;DPTR=200H
200H
DB “America”
Microcomputers and Microprocessors
5
Register Addressing Mode
MOV
MOV
ADD
ADD
MOV
A,R0
R2,A
A,R5
A,R7
R6,A
MOV
MOV
MOV
DPTR,#25F5H
R7,DPL
R6,DPH
2002/4/8
2002 Anant Oonsivilai
;copy the contents of R0 into A
;copy the contents of A into R2
;add the contents of R5 to contents of A
;add the contents of R7 to contents of A
;save accumulator in R6
Microcomputers and Microprocessors
6
Direct Addressing Mode
RAM addresses 00 to 7FH
MOV
MOV
MOV
R0,40H
56H,A
R4,7FH
;save content of RAM location 40H in R0
;save content of A in RAM location 56H
;move contents of RAM location 7FH to R4
MOV
MOV
A,4
A,R4
;is same as
;which means copy R4 into A
MOV
MOV
A,7
A,R7
;is same as
;which means copy R7 into A
2002/4/8
2002 Anant Oonsivilai
Microcomputers and Microprocessors
7
MOV
MOV
A,2
A,R2
;is the same as
;which means copy R2 into A
MOV
MOV
A,0
A,R0
;is the same as
;which means copy R0 into A
MOV
MOV
MOV
MOV
R2,#5
A,2
B,2
7,2
;R2=05
;copy R2 to A (A=R2=05)
;copy R2 to B (B=R2=05)
;copy R2 to R7
;since “MOV R7,R2” is invalid
2002/4/8
2002 Anant Oonsivilai
Microcomputers and Microprocessors
8
SFR Registers & Their
Addresses
MOV
MOV
0E0H,#55H
A,#55H
;is the same as
;which means load 55H into A (A=55H)
MOV
MOV
0F0H,#25H
B,#25H
;is the same as
;which means load 25H into B (B=25H)
MOV
MOV
0E0H,R2
A,R2
;is the same as
;which means copy R2 into A
MOV
MOV
0F0H,R0
B,R0
;is the same as
;which means copy R0 into B
2002/4/8
2002 Anant Oonsivilai
Microcomputers and Microprocessors
9
SFR Addresses ( 1 of 2 )
2002/4/8
2002 Anant Oonsivilai
Microcomputers and Microprocessors
10
SFR Addresses ( 2 of 2 )
2002/4/8
2002 Anant Oonsivilai
Microcomputers and Microprocessors
11
Example
2002/4/8
2002 Anant Oonsivilai
Microcomputers and Microprocessors
12
Stack and Direct Addressing Mode
Only direct addressing is allowed for stack
2002/4/8
2002 Anant Oonsivilai
Microcomputers and Microprocessors
13
Register Indirect Addressing Mode
Only R0 & R1 can be used
MOV
A,@R0
MOV
@R1,B
2002/4/8
2002 Anant Oonsivilai
;move contents of RAM location whose
;address is held by R0 into A
;move contents of B into RAM location
;whose address is held by R1
Microcomputers and Microprocessors
14
Example ( 1 of 2 )
2002/4/8
2002 Anant Oonsivilai
Microcomputers and Microprocessors
15
Example ( 2 of 2 )
2002/4/8
2002 Anant Oonsivilai
Microcomputers and Microprocessors
16
Advantage of Register Indirect
Addressing
Looping not possible in direct addressing
2002/4/8
2002 Anant Oonsivilai
Microcomputers and Microprocessors
17
Example
2002/4/8
2002 Anant Oonsivilai
Microcomputers and Microprocessors
18
Index Addressing Mode & On-chip ROM
Access
Limitation of register indirect addressing:
8-bit addresses (internal RAM)
DPTR: 16 bits
MOVC A, @A+DPTR ; “C” means
program (code) space ROM
2002/4/8
2002 Anant Oonsivilai
Microcomputers and Microprocessors
19
Example ( 1 of 2 )
2002/4/8
2002 Anant Oonsivilai
Microcomputers and Microprocessors
20
Example ( 2 of 2 )
2002/4/8
2002 Anant Oonsivilai
Microcomputers and Microprocessors
21
Example ( 1 of 3 )
2002/4/8
2002 Anant Oonsivilai
Microcomputers and Microprocessors
22
Example ( 2 of 3 )
2002/4/8
2002 Anant Oonsivilai
Microcomputers and Microprocessors
23
Example ( 3 of 3 )
2002/4/8
2002 Anant Oonsivilai
Microcomputers and Microprocessors
24
Look-up Table & Indexed
Addressing
2002/4/8
2002 Anant Oonsivilai
Microcomputers and Microprocessors
25
Example
2002/4/8
2002 Anant Oonsivilai
Microcomputers and Microprocessors
26