单片机原理与应用_04指令系统讲述.pptx

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理与应用_04指令系统讲述

第4章 指令系统 4.1 概述 4.2 寻址方式 4.3 指令系统 4.1 概述 MCS-51单片机使用7种寻址方式,有111条指令。其中单字节指令49条,双字节指令45条,三字节指令17条,可分为以下7类: (1)数据传送类指令29条; (2)算术运算类指令24条; (3)逻辑运算类指令20条; (4)移位类指令4条; (5)控制转移类指令18条; (6)调用/返回类指令4条; (7)位操作类指令17条。 在介绍指令功能之前,先对指令系统中使用的符号作以简要说明。 Rn:当前寄存器工作区中的寄存器,其中n=0~7; direct:内部数据存储器地址,指定一个内部RAM单元或一个专用寄存器; @Ri:通过R1或R0间接寻址,指定数据存储器RAM中的一个单元; #data:指令中的8位立即数; #data16:指令中的16位立即数; addr11:11位目的地址,用在ACALL或AJMP指令中,表示调用或转移地址; addr16:16位目的地址,用在LCALL或LJMP指令中,表示调用或转换地址; rel:8位偏移量,用补码表示,用在SJMP等转移指令中; bit:表示位寻址空间中的位地址,8位,寻址范围为0~FFH。 4.2 寻址方式 MCS-51单片机有7种寻址方式。 1.立即寻址 是指操作数在指令操作数域直接给出,因此也称为立即数,用符号“#”说明。 例如指令 MOV A;#25H 其中25H是立即数。其功能是指立即数25H送入累加器A中,如图4.1所示。 又如指令 MOV DPTR, #1856H 16位立即数送地址寄存器DPTR如图4.2所示。DPH表示DPTR的高8位,DPL表示低8位。实际上,16位立即数传送指令仅此一条。 2.直接寻址 是指操作数的地址直接在指令操作数域给出。 例如指令 MOV A,3CH 其中3CH为直接地址。指令功能是把内部RAM中3CH单元的数据传送给累加器A,其示意如图4.3所示。 由于直接地址只能用8位数表示,因此仅限于寻址内部数据存储器RAM和特殊功能寄存器,也是唯一能寻址特殊功能寄存器的寻址方式。 3.寄存器寻址 是指操作数在寄存器中,寄存器用符号表示。 例如指令 MOV A,R1 指令功能是把寄存器R1中的内容送入累加器A,其示意如图4.4所示。 寄存器寻址方式可访问4个寄存器工作区中的当前工作寄存器组R0~R7,也可用于累加器A、通用寄存器B,地址寄存器DPTR和进位位C。其中R0~R7由指令操作码的低3位表示,A、B、DPTR以及C隐含在指令操作码中 4.寄存器间接寻址 是指寄存器中存放的是操作数的地址,而操作数在存储器中。寄存器间接寻址用符号“@”表示。 例如指令 MOV A,@R0 R0中存放的是操作数地址,指令功能是把R0中的内容所指定的RAM单元中的数据送入累加器A中,其示意如图4-5所示。可用作间接寻址的寄存器有R0、R1、 DPTR和SP。 5.相对寻址 是以程序计数器PC的当前值为基地址,加上指令中给出的偏移量rel作为转移目的地址。由于目的地址是相对于PC中的当前值,所以称为相对地址。PC的当前值是指取出该指令后的内容,即下一条指令地址。因此,转移目的地址可用如下公式表示: 转移目的地址=下一条指令地址 + rel 偏移量rel是一个带符号的8位二进制数,表示范围为-128~+127。 例如指令 JC 80H 若进位标志Cy=0,则PC值不变;若进位位Cy=1,则以PC当前值加偏移量80H后所得的值作为转移目的地址,其示意如图4.6所示。 6.变址寻址 是以地址寄存器DPTR或程序计数器PC作为基址寄存器,累加器A作为变址寄存器,二者的内容相加,其和作为操作数地址。这种寻址方式只能访问程序存储器。 例如 MOVC A,@A+DPTR 指令功能为DPTR中的内容与A中的内容相加,其和所指示的单元的数送入累加器A,如图4.7所示。 7.位寻址 是指对一些内部RAM和特殊功能寄存器进行位操作时的寻址方式。在指令操作数域直接给出该位的地址。位地址与字节直接寻址的形式一样,主要由操作码来区分。 例如指令 ORL C,50H 指令功能是把位累加器Cy中的内容与50H所指示的位单元中的内容进行“或”运算,其结果在位累加器Cy中。 以上7种寻址方式,概括如表4.1所示。 表4.1 MCS-51寻址方式 4.3 指令系统 在MCS-51单片机使用了42种助记符,与7种寻址方式组合,构成111条指令。下面分为7 类予以介绍。 4.3.1 数据传送类指令 4.3.2 算术运算类指令 4.3.3 逻辑运算类指令 4.3.4 移位类指令 4.3

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档