《教学课件微机原理(第2版)3.2 寻址方式ppt(全).pptx》由会员分享,可在线阅读,更多相关《教学课件微机原理(第2版)3.2 寻址方式ppt(全).pptx(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、教学课件微机原理(第2版)3.2 寻址方式2学习内容:寻址方式目标:掌握单片机的7种寻址方式第3章 8051指令系统和汇编程序设计33.1 指令系统基础第3章 8051指令系统和汇编程序设计寻址方式:用何种方式寻找参与运算的操作数或操作数的真实地址,称为指令的寻址方式。寻址种类:8051单片机共有 7种 寻址方式:立即寻址直接寻址寄存器寻址间址寻址:寄存器间接寻址变址寻址:基址寄存器加变址寄存器寻址相对寻址 位寻址43.1 指令系统基础第3章 8051指令系统和汇编程序设计1.立即寻址 操作数以立即数的形式在指令中直接给出,立即数表示为#data,#data16。例:MOVA,#dataH;(
2、A)data MOVDPTR,#data16;(DPTR)data16例:MOV A,#30H 74H,30H ;操作码,立即数 MOV DPTR,#data16 90H,80H,00H ;操作码,立即数 XRL A,#0FH ANL P1,#0FH ADD A,#07H MOV R7,#20H MOV R1,#55H立即寻址的寻址空间为ROM(即操作数存放在ROM中)53.1 指令系统基础第3章 8051指令系统和汇编程序设计2.直接寻址指令中给出操作数所在的内存单元地址,该单元的内容为指令的操作数。例:MOVA,direct;(A)(direct)机器码:E5H,direct ;direc
3、t为操作数所在的内存地址 例:MOV 30H,50H ;操作码 直接地址,直接地址 MOV 30H,#50H ;操作码 直接地址,立即数直接寻址的寻址空间片内RAM的低128个字节单元(00H-7FH)特殊功能寄存器区(直接寻址是访问SFR的唯一方式)63.1 指令系统基础第3章 8051指令系统和汇编程序设计3.寄存器寻址 指令中给出操作数所在的寄存器,即寄存器的内容是操作数。例:MOV A,R1;(A)(R1)INC R0 寻址空间:R0R7、A。4.寄存器间接寻址 操作数的地址存放在寄存器中,即寄存器的内容是操作数所在的内存地址。用于间接寻址的寄存器有用于间接寻址的寄存器有Ri(i=0或
4、或1)、DPTR,要在寄存器前加,要在寄存器前加。例:MOV A,R1 ;(A)(R1)MOVX A,DPTR ;(A)(DPTR)寻址寻址空间:空间:内部RAM:00H-FFH;(R0,R1)外部RAM:0000HFFFFH;(R0,R1,DPTR)第3章 8051指令系统和汇编程序设计83.1 指令系统基础第3章 8051指令系统和汇编程序设计举例:对于SFR,直接地址的表示方式:单元地址或寄存器名,其汇编结果是一样的,机器码均为:E580MOVA,P0;(A)(P0)(以SFR寄存器表示)MOVA,80H;(A)(P0)(以单元地址表示)对于内部RAM的80H-FFH(地址与SFR重叠)
5、,只能用寄存器间接寻址。如:将内部RAM80H单元的内容取到A:MOVR0,#80H;用R0作为间址寄存器,指向80HMOVA,R0;将R0地址指向的内存单元的内容读到A对于内部RAM的00H-7FH,既可以用直接寻址,也可以用寄存器间接寻址。93.1 指令系统基础第3章 8051指令系统和汇编程序设计5.变址寻址(基址寄存器加变址寄存器间接寻址)以DPTR或PC作基址寄存器,A作变址寄存器(存放8位无符号数),两者相加形成的16位程序存储器地址,为操作数所在地址。变址寻址的指令(3条,单字节指令)MOVCA,A+DPTR;(A)(A)+(DPTR)93HMOVCA,A+PC;(A)(A)+(
6、PC)83HJMPA+DPTR;(PC)(A)+(DPTR)73H前两条是程序存储器读指令(也称查表指令),后一条 是无条件散转指令。寻址空间:程序存储器103.1 指令系统基础第3章 8051指令系统和汇编程序设计6.相对寻址 用于程序控制,利用指令修改PC指针内容实现转移。指令中给出的操作数为程序转移的偏移量(用rel表示)。以PC的当前值(执行这条指令后的PC)加上偏移量,所得结果即为转移的目的地址。目的地址=转移指令所在地址+转移指令字节数+rel例:SJMPrelJNZrelDJNZRn,rel rel是一个带符号数的8位二进制补码数,其范围为(-128)-(+127)113.1 指
7、令系统基础第3章 8051指令系统和汇编程序设计7.位寻址 8051微控制器具有位寻址和操作功能的布尔处理器,可以对位寻址空间的各位,直接进行操作。寻址空间:8051 MCU中的位地址空间(通用内部RAM20H2FH对应的00H7FH的128bit,SFR中的可位寻址的83bit,共221bit。)SFR中的可寻址位既有位地址又有符号名称,如PSW的位7为Cy,其位地址为D7H;P0的位0为P1.0,位地址为80H。建议在指令中使用位符号名称,以增加程序的可读性。例:MOV C,P1.0 ;P1口中最低位P1.0口线的状态输入到Cy。123.1 指令系统基础第3章 8051指令系统和汇编程序设
8、计位位寻址(对于位)与直接寻址(对于字节)的地址形式完全相同寻址(对于位)与直接寻址(对于字节)的地址形式完全相同,通过操通过操作数或操作码作数或操作码来来区分。区分。例:MOVC,20H;(C)(20H),位传送MOVA,20H;(A)(20H),字节传送CLR10H;(10H)0,位清0,有专门指令(CLR)MOV10H,#00H;(10H)00H,字节清0,只能用赋值方法为提高程序的可读性为提高程序的可读性,对于,对于SFR和和SFR中中的位地址通常用符号表示。的位地址通常用符号表示。如:如:C、P、OV、P1.0-P1.7、EA等等;累加器等等;累加器A的最高位表示为的最高位表示为AC
9、C.7等。等。MOVP0,#0FFH ;等价于;等价于 MOV80H,#0FFH MOVIE,#81HMOV C,ACC.7 ;C ACC.7MOV P1.0,C ;P1.0 CSETBEAJNBP,rel133.1 指令系统基础第3章 8051指令系统和汇编程序设计寻址方式使用的变量寻址空间直接寻址direct内部RAM低128字节、SFR寄存器寻址R0R7、A R0R7、A寄存器间接寻址R0R1,SP(PUSH、POP)内部RAM的256字节R0R1、DPTR外部RAM立即寻址#data、#data16程序存储器变址寻址基址寄存器:DPTR、PC;变址寄存器:A;程序存储器相对寻址PC+偏移量程序存储器位寻址bit、C位寻址空间8.寻址方式和寻址空间