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