新编单片机原理及应用 教学课件 作者 汪贵平 第3章 指令系统与汇编程序设计.pptVIP

新编单片机原理及应用 教学课件 作者 汪贵平 第3章 指令系统与汇编程序设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3.5.5 显示程序 在单片机应用系统中,常常使用发光二极管(LED)来指示系统运行状态,使用数码管显示检测参数和数据。显示程序涉及硬件电路的连接,显示结果最为直观,所以,学习单片机显示程序编写有利于提高读者的学习兴趣,同时也为后续调试较大程序提供故障诊断的方法。 第3章 指令系统与汇编程序设计 3.1 指令概述 3.2 寻址方式 3.3 指令系统 3.4 伪指令 3.5 汇编语言程序设计 3.1 指令概述 3.1.1 指令格式 3.1.2 指令中用到的标识符 3.1.1 指令格式 表3-1 51系列单片机汇编语言操作码的对照英文 3.1.1 指令格式 表3-1 51系列单片机汇编语言操作码的对照英文 3.1.1 指令格式 表3-1 51系列单片机汇编语言操作码的对照英文 3.1.2 指令中用到的标识符 1)Rn(n=0~7):当前选中的工作寄存器组R0~R7。 2)Ri(i=0或1):当前选中的工作寄存器组中可作为地址寄存器的只有R0和R1。 3)#data:8位立即数。 4)#data16:16位立即数。 5)direct:8位片内RAM单元(包括SFR)的直接地址。 6)addr11:11位目的地址。 7)addr16:16位目的地址。 8)@:在间接寻址方式中,表示间接寄存器的符号。 9)rel:主要用在相对寻址的指令中,是程序转移时的相对位置。 10)bit:片内RAM或SFR的直接寻址位地址。 11)/:在位操作指令中,表示对该位先取反再参与操作,但不影响该位的原值。 12)(X):表示X单元的内容。 3.1.2 指令中用到的标识符 13)((X)):表示以X单元的内容为地址的存储器单元内容。 14)←:指令操作流程,将箭头右边的内容送入箭头左边的单元。 15)→:指令操作流程,将箭头左边的内容送入箭头右边的单元。 16)C:进位标志位,是布尔运算的累加器。 17):本条指令的起始地址。 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位数(#data,如#40H)或16位数(#data,如#2008H)表示。它直接出现在指令中,紧跟在操作码的后面,作为指令的一部分与操作码一起存放在程序存储器中,可以立即得到并执行。因此立即寻址的指令多为2字节或3字节指令。 3.2.2 直接寻址 指令中直接给出操作数地址(Direct)的寻址方式称为直接寻址。由于直接寻址方式中只能使用8位二进制数表示地址,所以图3-1 直接寻址方式示意图使用直接寻址只可访问片内RAM的128个单元以及所有的特殊功能寄存器(SFR)。对于特殊功能寄存器,既可以使用它们的地址,也可以使用它们的名字。指令MOV A,40H的源操作数采用直接寻址方式,其操作过程如图3-1所示。 3.2.2 直接寻址 图3-1 直接寻址方式示意图 3.2.3 寄存器寻址 以通用寄存器的内容为操作数的寻址方式称为寄存器寻址。通用寄存器包括R0~R7、A、B和DPTR。其中B寄存器仅在乘、除法中为寄存器寻址,在其他指令中为直接寻址。A寄存器可以为寄存器寻址,也可以为直接寻址(此时写作ACC)。 3.2.3 寄存器寻址 图3-2 寄存器寻址方式示意图 3.2.4 寄存器间接寻址 以寄存器的内容作为操作数的地址的寻址方式称为寄存器间接寻址。能够进行寄存器间接寻址的寄存器有:R0、R1和DPTR。图3-3 寄存器间接寻址方式示意图在寄存器前面加@表示寄存器间接寻址,如@R0、@R1和@DPTR。需要强调的是:寄存器的内容不是操作数本身,而是操作数的地址,到该地址单元中才能得到操作数,寄存器起地址指针的作用。 3.2.4 寄存器间接寻址 图3-3 寄存器间接寻址方式示意图 3.2.5 变址寻址 基址寄存器加变址寄存器间接寻址方式称为变址寻址。基址寄存器是以数据指针寄存器DPTR或PC作为基址寄存器,累加器A作为变址寄存图3-4 变址寻址方式示意图器,两者内容相加形成的16位地址作为操作数的16位程序存储器地址,再寻找该单元读取数据。这种寻址方式常用于访问程序存储器中的常数表。由于程序存储器是只读存储器,因此变址寻址只有读操作而无写操作,其操作码采用MOVC形式。 3.2.5 变址寻址 图3-4 变址寻址方式示意图 3.2.6 相对寻址 1)当前PC值是指相对转移指令的存储首地址加上该指令的字节数。 2)偏移量rel是有符号的单字节数。 3.2.7 位寻址 1)直接使用位地址。 2)对于特殊功能寄存器,可以直接用寄存器名字加位数表示,如PSW.0、IE.7等。 3.

您可能关注的文档

文档评论(0)

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

1亿VIP精品文档

相关文档