单片机原理及接口技术A第3章课件.pptVIP

  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.1.1 汇编语言   在计算机中,指令都是以二进制数码表示,并存放在程序存储器中的。计算机按照程序规定的次序,依次从程序存储器中取出要执行的指令代码,送到控制器的指令寄存器中对所取的指令进行分析,由控制器发出完成操作所需的一系列控制电平,指挥计算机有关部件完成相应操作。我们称这种用二进制代码描述指令功能的、能被计算机直接识别的语言为机器语言(Machine Language)。机器语言的特点是:程序简洁、速度快、占用程序空间少、能直接被计算机识别。但也有不易记忆、书写和阅读不便等缺点,所以实际使用既不方便又容易出错,很难用它进行程序设计。   为了既能保持机器语言的特点,又能方便编写程序和阅读程序,人们采用助记符号来代替机器指令代码,助记符号与机器指令代码一一对应,我们把这种编程语言称为汇编语言(Assembly Language)。需要说明的是,汇编语言是面向机器的程序设计语言,对于不同型号的计算机,有着不同结构的汇编语言;汇编语言中由于使用了助记符号,因此将由汇编语言编制的程序输入计算机后,计算机不能像识别机器语言编写的程序一样直接识别和执行汇编语言程序,必须通过预先放入计算机的“汇编程序”的加工和翻译,才能把汇编语言程序变成能够被计算机识别和处理的二进制代码程序。   用汇编语言等非机器语言书写好的符号程序称为源程序,运行时汇编程序要将源程序翻译成机器语言程序(又称之为目标程序)。汇编语言程序结构简单,执行速度快,程序易优化,编译后占用存储空间小,是单片机应用系统开发中最常用的程序设计语言。汇编语言的缺点是可读性比较差,只有熟悉单片机的指令系统,并具有一定的程序设计经验,才能研制出功能复杂的应用程序。   相对而言,用高级语言(High-Level Language),例如PL/M-51、Franklin C51、MBASIC 51等编写的程序,其可读性强,通用性好,适用于不熟悉单片机指令系统的的用户。 3.1.2 汇编语言的指令格式   MCS-51汇编语言的指令格式为   [标号:] 操作码助记符 [目的操作数] [,源操作数] [;注释]   其中:   ? [ ]:方括号表示该项是可选项,根据指令要求确定。   ? 标号:用符号标明该指令所在程序存储器的地址,并以“:”结尾,设计者根据实际需要设置。在其他指令的操作数中可以引用该标号作为地址。标号是以英文字母开头的字母、数字和某些规定的特殊符号的序列,一般不超过8个符号。   ? 目的操作数:表示操作的对象,是一个目标地址,也是存放操作结果的地址。目的操作数与操作码助记符之间必须用一个以上的空格分隔。   ? 源操作数:表示操作的对象或者是操作数的来源,可以是一个地址或者一个立即数。源操作数与目的操作数中间用逗号分隔。   ? 注释:是对指令或者程序段的解释说明,用以提高程序的可读性,注释前必须加分号。注释可用中文、英文或符号表示。需要强调的是,注释仅仅是为了阅读之用,只会出现在源程序中,不会出现在目标程序中。 3.1.3 汇编语言中常用符号约定   为了便于指令的描述,对指令中常用的符号有如下约定:   (1) ?Rn:表示当前工作寄存器中的R0~R7,其中n=0~7。当前工作寄存器组由程序状态寄存器PSW的RS1和RS0位决定。   (2)? Ri:表示当前工作寄存器中的R0~R1,其中i取值为0或1。   (3) ?direct:表示对内部单元直接寻址的8位地址,可以是内部RAM区的某一单元或某一特殊功能寄存器的地址,变化范围为00H~FFH。。   (4) ?@:表示间接寻址寄存器及地址寄存器的前缀。   (5) ?DPTR:表示16位数据指针。   (6) ?#data:表示指令中的8位立即数,其中#表示立即数,data表示8位立即数,取值范围为00H~FFH。   (7) ?#data16:表示指令中的16位立即数,取值范围为0000H~FFFFH。   (8) ?PC:表示16位程序计数器。   (9) ?addr11:表示短转移的11位地址,用于2 KB范围内寻址。   (10) ?addr16:表示长转移的16位地址,用于64 KB范围内寻址。   (11) ?rel:表示相对转移的地址偏移量。   (12) ?bit:表示位寻址区的直接寻址位。   (13) ?(x):表示x地址单元中的内容。   (14) ?((x)):表示将x地址单元中的内容作为地址的单元中的内容。   (15) ?←:表示操作数据的流向,将箭头后面的内容传送到前面。   (16) ?/:表示取反操作。   指令寻找操作数地址的方式称为寻址方式。指令中的操作数分为目的操作数和源操作数,两者参与计算机操作时都有自己的寻址方式,为了方便描述,对

文档评论(0)

mkt361 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档