26
2002/4/8 2002/4/8 Microcomputers and Microproce Microcomputers and Microproce ssors ssors 1 Suranaree University Suranaree University Of Technology Of Technology มมม มมม 2002 Anant Oonsivilai 2002 Anant Oonsivilai Chapter 5 Chapter 5 Addressing Modes Addressing Modes

Suranaree University Of Technology มทส 2002 Anant Oonsivilai 2002/4/8 Microcomputers and Microprocessors 1 Chapter 5 Addressing Modes

Embed Size (px)

Citation preview

Page 1: Suranaree University Of Technology มทส  2002 Anant Oonsivilai 2002/4/8 Microcomputers and Microprocessors 1 Chapter 5 Addressing Modes

2002/4/82002/4/8 Microcomputers and MicroprocessorsMicrocomputers and Microprocessors 11

Suranaree UniversitySuranaree University

Of TechnologyOf Technologyมทสมทส

2002 Anant Oonsivilai2002 Anant Oonsivilai

Chapter 5Chapter 5Addressing ModesAddressing Modes

Page 2: Suranaree University Of Technology มทส  2002 Anant Oonsivilai 2002/4/8 Microcomputers and Microprocessors 1 Chapter 5 Addressing Modes

222002/4/82002/4/8 Microcomputers and MicroprocessorsMicrocomputers and Microprocessors2002 Anant Oonsivilai2002 Anant Oonsivilai

OutlinesOutlines

Five addressing modes of 8051Five addressing modes of 8051

Code instructions using each addressing Code instructions using each addressing modemode

Access RAM using various addressing modesAccess RAM using various addressing modes

SFR addresses (Special Function Register) SFR addresses (Special Function Register)

Access SFRAccess SFR

Operate stack using direct addressing modeOperate stack using direct addressing mode

Code instructions to operate look-up tableCode instructions to operate look-up table

Page 3: Suranaree University Of Technology มทส  2002 Anant Oonsivilai 2002/4/8 Microcomputers and Microprocessors 1 Chapter 5 Addressing Modes

332002/4/82002/4/8 Microcomputers and MicroprocessorsMicrocomputers and Microprocessors2002 Anant Oonsivilai2002 Anant Oonsivilai

Five Addressing ModesFive Addressing Modes

ImmediateImmediate

RegisterRegister

DirectDirect

Register indirectRegister indirect

IndexedIndexed

Page 4: Suranaree University Of Technology มทส  2002 Anant Oonsivilai 2002/4/8 Microcomputers and Microprocessors 1 Chapter 5 Addressing Modes

442002/4/82002/4/8 Microcomputers and MicroprocessorsMicrocomputers and Microprocessors2002 Anant Oonsivilai2002 Anant Oonsivilai

Immediate Addressing ModeImmediate Addressing Mode

MOVMOV A,#25HA,#25H ;load 25H into A;load 25H into A

MOV MOV R4,#62R4,#62 ;load the decimal value 62 into R4;load the decimal value 62 into R4

MOV B,#40HMOV B,#40H ;load 40H into B;load 40H into B

MOVMOV DPTR,#4521HDPTR,#4521H ;DPTR=4521H;DPTR=4521H

MOVMOV DPTR,#2550HDPTR,#2550H

;is the same as:;is the same as:

MOVMOV DPL,#50HDPL,#50H

MOVMOV DPH,#25HDPH,#25H

Page 5: Suranaree University Of Technology มทส  2002 Anant Oonsivilai 2002/4/8 Microcomputers and Microprocessors 1 Chapter 5 Addressing Modes

552002/4/82002/4/8 Microcomputers and MicroprocessorsMicrocomputers and Microprocessors2002 Anant Oonsivilai2002 Anant Oonsivilai

MOVMOV DPTR,#68975DPTR,#68975 ;illegal!! value > 65535 (FFFFH);illegal!! value > 65535 (FFFFH)

COUNTCOUNT EQU 30 EQU 30

…… … …

MOV MOV R4,#COUNT R4,#COUNT ;R4=1E (30=1EH) ;R4=1E (30=1EH)

MOV DPTR,#MYDATAMOV DPTR,#MYDATA ;DPTR=200H;DPTR=200H

ORGORG 200H 200H

MYDATA:MYDATA: DB “America” DB “America”

Page 6: Suranaree University Of Technology มทส  2002 Anant Oonsivilai 2002/4/8 Microcomputers and Microprocessors 1 Chapter 5 Addressing Modes

662002/4/82002/4/8 Microcomputers and MicroprocessorsMicrocomputers and Microprocessors2002 Anant Oonsivilai2002 Anant Oonsivilai

Register Addressing ModeRegister Addressing Mode

MOVMOV A,R0A,R0 ;copy the contents of R0 into A;copy the contents of R0 into A

MOVMOV R2,AR2,A ;copy the contents of A into R2;copy the contents of A into R2

ADDADD A,R5A,R5 ;add the contents of R5 to contents of A;add the contents of R5 to contents of A

ADDADD A,R7A,R7 ;add the contents of R7 to contents of A;add the contents of R7 to contents of A

MOVMOV R6,AR6,A ;save accumulator in R6;save accumulator in R6

MOVMOV DPTR,#25F5HDPTR,#25F5H

MOVMOV R7,DPLR7,DPL

MOVMOV R6,DPHR6,DPH

Page 7: Suranaree University Of Technology มทส  2002 Anant Oonsivilai 2002/4/8 Microcomputers and Microprocessors 1 Chapter 5 Addressing Modes

772002/4/82002/4/8 Microcomputers and MicroprocessorsMicrocomputers and Microprocessors2002 Anant Oonsivilai2002 Anant Oonsivilai

Direct Addressing ModeDirect Addressing Mode

RAM addresses 00 to 7FHRAM addresses 00 to 7FHMOVMOV R0,40HR0,40H ;save content of RAM location 40H in R0;save content of RAM location 40H in R0

MOVMOV 56H,A56H,A ;save content of A in RAM location 56H;save content of A in RAM location 56H

MOVMOV R4,7FHR4,7FH ;move contents of RAM location 7FH to R4;move contents of RAM location 7FH to R4

MOVMOV A,4A,4 ;is same as;is same as

MOV A,R4MOV A,R4 ;which means copy R4 into A;which means copy R4 into A

MOVMOV A,7A,7 ;is same as;is same as

MOVMOV A,R7A,R7 ;which means copy R7 into A;which means copy R7 into A

Page 8: Suranaree University Of Technology มทส  2002 Anant Oonsivilai 2002/4/8 Microcomputers and Microprocessors 1 Chapter 5 Addressing Modes

882002/4/82002/4/8 Microcomputers and MicroprocessorsMicrocomputers and Microprocessors2002 Anant Oonsivilai2002 Anant Oonsivilai

MOVMOV A,2A,2 ;is the same as;is the same as

MOVMOV A,R2A,R2 ;which means copy R2 into A;which means copy R2 into A

MOVMOV A,0A,0 ;is the same as;is the same as

MOVMOV A,R0A,R0 ;which means copy R0 into A;which means copy R0 into A

MOVMOV R2,#5R2,#5 ;R2=05;R2=05

MOVMOV A,2A,2 ;copy R2 to A (A=R2=05);copy R2 to A (A=R2=05)

MOVMOV B,2B,2 ;copy R2 to B (B=R2=05);copy R2 to B (B=R2=05)

MOVMOV 7,27,2 ;copy R2 to R7;copy R2 to R7

;since “MOV R7,R2” is invalid;since “MOV R7,R2” is invalid

Page 9: Suranaree University Of Technology มทส  2002 Anant Oonsivilai 2002/4/8 Microcomputers and Microprocessors 1 Chapter 5 Addressing Modes

992002/4/82002/4/8 Microcomputers and MicroprocessorsMicrocomputers and Microprocessors2002 Anant Oonsivilai2002 Anant Oonsivilai

SFR Registers & Their SFR Registers & Their AddressesAddresses

MOVMOV 0E0H,#55H0E0H,#55H ;is the same as;is the same as

MOVMOV A,#55HA,#55H ;which means load 55H into A (A=55H);which means load 55H into A (A=55H)

MOVMOV 0F0H,#25H0F0H,#25H ;is the same as;is the same as

MOV B,#25HMOV B,#25H ;which means load 25H into B (B=25H);which means load 25H into B (B=25H)

MOVMOV 0E0H,R20E0H,R2 ;is the same as;is the same as

MOVMOV A,R2A,R2 ;which means copy R2 into A;which means copy R2 into A

MOVMOV 0F0H,R00F0H,R0 ;is the same as;is the same as

MOVMOV B,R0B,R0 ;which means copy R0 into B;which means copy R0 into B

Page 10: Suranaree University Of Technology มทส  2002 Anant Oonsivilai 2002/4/8 Microcomputers and Microprocessors 1 Chapter 5 Addressing Modes

10102002/4/82002/4/8 Microcomputers and MicroprocessorsMicrocomputers and Microprocessors2002 Anant Oonsivilai2002 Anant Oonsivilai

SFR Addresses ( 1 of 2 )SFR Addresses ( 1 of 2 )

Page 11: Suranaree University Of Technology มทส  2002 Anant Oonsivilai 2002/4/8 Microcomputers and Microprocessors 1 Chapter 5 Addressing Modes

11112002/4/82002/4/8 Microcomputers and MicroprocessorsMicrocomputers and Microprocessors2002 Anant Oonsivilai2002 Anant Oonsivilai

SFR Addresses ( 2 of 2 )SFR Addresses ( 2 of 2 )

Page 12: Suranaree University Of Technology มทส  2002 Anant Oonsivilai 2002/4/8 Microcomputers and Microprocessors 1 Chapter 5 Addressing Modes

12122002/4/82002/4/8 Microcomputers and MicroprocessorsMicrocomputers and Microprocessors2002 Anant Oonsivilai2002 Anant Oonsivilai

ExampleExample

Page 13: Suranaree University Of Technology มทส  2002 Anant Oonsivilai 2002/4/8 Microcomputers and Microprocessors 1 Chapter 5 Addressing Modes

13132002/4/82002/4/8 Microcomputers and MicroprocessorsMicrocomputers and Microprocessors2002 Anant Oonsivilai2002 Anant Oonsivilai

Stack and Direct Addressing ModeStack and Direct Addressing Mode

Only direct addressing is allowed for stackOnly direct addressing is allowed for stack

Page 14: Suranaree University Of Technology มทส  2002 Anant Oonsivilai 2002/4/8 Microcomputers and Microprocessors 1 Chapter 5 Addressing Modes

14142002/4/82002/4/8 Microcomputers and MicroprocessorsMicrocomputers and Microprocessors2002 Anant Oonsivilai2002 Anant Oonsivilai

Register Indirect Addressing ModeRegister Indirect Addressing Mode

Only R0 & R1 can be usedOnly R0 & R1 can be used

MOVMOV A,@R0A,@R0 ;move contents of RAM location whose;move contents of RAM location whose

;address is held by R0 into A;address is held by R0 into A

MOVMOV @R1,B@R1,B ;move contents of B into RAM location;move contents of B into RAM location

;whose address is held by R1;whose address is held by R1

Page 15: Suranaree University Of Technology มทส  2002 Anant Oonsivilai 2002/4/8 Microcomputers and Microprocessors 1 Chapter 5 Addressing Modes

15152002/4/82002/4/8 Microcomputers and MicroprocessorsMicrocomputers and Microprocessors2002 Anant Oonsivilai2002 Anant Oonsivilai

Example ( 1 of 2 )Example ( 1 of 2 )

Page 16: Suranaree University Of Technology มทส  2002 Anant Oonsivilai 2002/4/8 Microcomputers and Microprocessors 1 Chapter 5 Addressing Modes

16162002/4/82002/4/8 Microcomputers and MicroprocessorsMicrocomputers and Microprocessors2002 Anant Oonsivilai2002 Anant Oonsivilai

Example ( 2 of 2 )Example ( 2 of 2 )

Page 17: Suranaree University Of Technology มทส  2002 Anant Oonsivilai 2002/4/8 Microcomputers and Microprocessors 1 Chapter 5 Addressing Modes

17172002/4/82002/4/8 Microcomputers and MicroprocessorsMicrocomputers and Microprocessors2002 Anant Oonsivilai2002 Anant Oonsivilai

Advantage of Register Indirect Advantage of Register Indirect AddressingAddressing

Looping not possible in direct addressingLooping not possible in direct addressing

Page 18: Suranaree University Of Technology มทส  2002 Anant Oonsivilai 2002/4/8 Microcomputers and Microprocessors 1 Chapter 5 Addressing Modes

18182002/4/82002/4/8 Microcomputers and MicroprocessorsMicrocomputers and Microprocessors2002 Anant Oonsivilai2002 Anant Oonsivilai

ExampleExample

Page 19: Suranaree University Of Technology มทส  2002 Anant Oonsivilai 2002/4/8 Microcomputers and Microprocessors 1 Chapter 5 Addressing Modes

19192002/4/82002/4/8 Microcomputers and MicroprocessorsMicrocomputers and Microprocessors2002 Anant Oonsivilai2002 Anant Oonsivilai

Index Addressing Mode & On-chip ROM Index Addressing Mode & On-chip ROM AccessAccess

Limitation of register indirect addressing: Limitation of register indirect addressing: 8-bit addresses (internal RAM)8-bit addresses (internal RAM)

DPTR: 16 bitsDPTR: 16 bits

MOVCMOVC A, @A+DPTRA, @A+DPTR ; “C” means ; “C” means program (code) space ROMprogram (code) space ROM

Page 20: Suranaree University Of Technology มทส  2002 Anant Oonsivilai 2002/4/8 Microcomputers and Microprocessors 1 Chapter 5 Addressing Modes

20202002/4/82002/4/8 Microcomputers and MicroprocessorsMicrocomputers and Microprocessors2002 Anant Oonsivilai2002 Anant Oonsivilai

Example ( 1 of 2 )Example ( 1 of 2 )

Page 21: Suranaree University Of Technology มทส  2002 Anant Oonsivilai 2002/4/8 Microcomputers and Microprocessors 1 Chapter 5 Addressing Modes

21212002/4/82002/4/8 Microcomputers and MicroprocessorsMicrocomputers and Microprocessors2002 Anant Oonsivilai2002 Anant Oonsivilai

Example ( 2 of 2 )Example ( 2 of 2 )

Page 22: Suranaree University Of Technology มทส  2002 Anant Oonsivilai 2002/4/8 Microcomputers and Microprocessors 1 Chapter 5 Addressing Modes

22222002/4/82002/4/8 Microcomputers and MicroprocessorsMicrocomputers and Microprocessors2002 Anant Oonsivilai2002 Anant Oonsivilai

Example ( 1 of 3 )Example ( 1 of 3 )

Page 23: Suranaree University Of Technology มทส  2002 Anant Oonsivilai 2002/4/8 Microcomputers and Microprocessors 1 Chapter 5 Addressing Modes

23232002/4/82002/4/8 Microcomputers and MicroprocessorsMicrocomputers and Microprocessors2002 Anant Oonsivilai2002 Anant Oonsivilai

Example ( 2 of 3 )Example ( 2 of 3 )

Page 24: Suranaree University Of Technology มทส  2002 Anant Oonsivilai 2002/4/8 Microcomputers and Microprocessors 1 Chapter 5 Addressing Modes

24242002/4/82002/4/8 Microcomputers and MicroprocessorsMicrocomputers and Microprocessors2002 Anant Oonsivilai2002 Anant Oonsivilai

Example ( 3 of 3 )Example ( 3 of 3 )

Page 25: Suranaree University Of Technology มทส  2002 Anant Oonsivilai 2002/4/8 Microcomputers and Microprocessors 1 Chapter 5 Addressing Modes

25252002/4/82002/4/8 Microcomputers and MicroprocessorsMicrocomputers and Microprocessors2002 Anant Oonsivilai2002 Anant Oonsivilai

Look-up Table & Indexed Look-up Table & Indexed AddressingAddressing

Page 26: Suranaree University Of Technology มทส  2002 Anant Oonsivilai 2002/4/8 Microcomputers and Microprocessors 1 Chapter 5 Addressing Modes

26262002/4/82002/4/8 Microcomputers and MicroprocessorsMicrocomputers and Microprocessors2002 Anant Oonsivilai2002 Anant Oonsivilai

ExampleExample