- 1、本文档共58页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 MCS-51单片机指令系统 3.1 MCS-51指令系统的分类、格式及一般说明 3.2 寻址方式 3.3 分类指令 MCS-51单片机指令系统有如下特点: (1)指令执行时间快。 (2)指令短,约有一半的指令为单字节指令。 (3)用一条指令即可实现2个一字节的相乘或相除。 (4)具有丰富的位操作指令。 (5)可直接用传送指令实现端口的输入输出操作。 3.1 MCS-51指令系统的分类、格式及一般说明 3.1.1 指令分类 3.1.2 指令格式 3.1.3 指令描述符号介绍 3.1.1 指令分类 按指令功能,MCS-51指令系统分为数据传递与交换、算术运算、逻辑运算、程序转移、布尔处理操作、CPU控制等6类。 布尔处理操作类指令又称位操作指令。 3.1.2 指令格式 在MCS-51指令中,一般指令主要由操作码、操作数组成。 指令应具有以下功能: (1)操作码指明执行什么性质和类型的操作。例如,数的传送、加法、减法等。 (2)操作数指明操作的数本身或者是操作数所在的地址。 (3)指定操作结果存放的地址。 3.1.3 指令描述符号介绍 Rn——当前选中的寄存器区中的8个工作寄存器R0~R7(n=0~7)。 Ri——当前选中的寄存器区中的2个工作寄存器R0、R1(i=0,1)。 direct—8位的内部数据存储器单元中的地址。 #data——包含在指令中的8位常数。 #data16——包含在指令中的16位常数。 addr16——16位目的地址。 addr11——11位目的地址。 rel——8位带符号的偏移字节,简称偏移量。 DPTR——数据指针,可用作16位地址寄存器。 bit——内部RAM或专用寄存器中的直接寻址位。 A——累加器。 B——专用寄存器,用于乘法和除法指令中。 C——进位标志或进位位,或布尔处理机中的累加器。 @——间址寄存器或基址寄存器的前缀,如@Ri,@DPTR。 / ——位操作数的前缀,表示对该位操作数取反,如/bit。 ×——片内RAM的直接地址或寄存器。 (×)——由×寻址的单元中的内容。 ——箭头左边的内容被箭头右边的内容所代替。 3.2 寻址方式 3.2.1 立即寻址 3.2.2 直接寻址 3.2.3 寄存器寻址 3.2.4 寄存器间接寻址 3.2.5 变址寻址 3.2.6 相对寻址 3.2.7 位寻址 3.2.1 立即寻址 指令中直接给出操作数的寻址方式。立即操作数用前面加有#号的8位或16位数来表示。 例如:MOV A,# 60H ;A←#60H MOV DPTR,# 3400H ;DPTR←#3400H MOV 30H,# 40H ;30H单元←#40H 上述三条指令执行完后,累加器A中数据为立即数据60H,DPTR寄存器中数据为3400H,30H单元中数据为立即数40H。 3.2.2 直接寻址 指令中直接给出操作数地址的寻址方式,能进行直接寻址的存储空间有SFR寄存器和内部数据RAM。 例如:MOV PSW,# 20H ; PSW←#20H PSW为直接寻址寄存器的符号地址。 MOV A,30H ;A←30H内部RAM单元中的内容 30H为直接给出的内部RAM的地址。 3.2.3 寄存器寻址 以通用寄存器的内容为操作数的寻址方式。通用寄存器指A、B 、DPTR以及R0~R7 。 例如:CLR A ;A←0 INC DPTR ;DPTR←DPTR+1 ADD R5,# 20H ;R5←#20H+R5 3.2.4 寄存器间接寻址 以寄存器中内容为地址,以该地址中内容为操作数的寻址方式。间接寻址的存储器空间包括内部数据RAM和外部数据RAM。 能用于寄存器间接寻址的寄存器有R0,R1,DPTR,SP。其中R0、R1必须是工作寄存器组中的寄存器。SP仅用于堆栈操作。 例如:MOV @R0,A ;内部RAM(R0)←A其指令操作过程示意图如图3-1所示。 又如:MOVX A,@R1;A←外部RAM(P2R1)其指令操作过程示意图如图3-2所示。 再如:MOVX @DPTR,A;外部RAM(DPTR)←A 其指令操作过程示意图如图3-3所示。 3.2.5 变址寻址 变址寻址只能对程序存储器中数据进行操作。由于程序存储器是只读的,因此变址寻址只有读操作而无写操作,在指令符号上采用MOVC的形式(如图3-4所示)。 例如:MOVC A,@ A+DPTR;A←(A+DPTR) 又如,MOVC A,@ A+PC ;A←(A+PC) 这条指令与上条指令不同的是,基址寄存器是PC。 3.2.6 相对寻址 以当前程序计数器PC的内容
文档评论(0)