第三章汇编语言程序黄设计wy.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文档。上传文档
查看更多
第三章汇编语言程序黄设计wy

§3.4 汇编语言及汇编语言程序设计 §3.4.1 机器语言、汇编语言和高级语言 2、 汇编语言 为了容易理解和记忆计算机指令,人们用一些英文单词及 数字作为助记符来描述每一条指令的功能。用助记符描述的指 令系统,被称为机器的汇编语言系统,简称汇编语言。 用汇编语言的每条指令意义清晰,编写、阅读和修改都很 。汇编指令和机器语言指令是一一对应的,即一条可执行的汇 编指令对应着一条机器语言指令,因此汇编语言可直接利用和 发挥机器硬件系统的许多特性,如:寄存器,标志位及一些特 殊指令等,能提高编程的质量和运行速度,且占用内存少。 一般如:系统软件、实时控制系统、智能化仪器、仪表软件等 对时间和存储容量要求较高的程序常用汇编语言书写。 3、高级语言 高级语言是一种面向问题或过程的语言。它是一种 接近于自然语言和数学算法的语言,与机器硬件无关, 用户不必了解所有计算机的硬件和指令系统。高级语言 不但直观、易学且通用性强可移植性好。 高级语言编写的程序需要由编译程序或解释程序翻 译成对应的目标程序,机器方可接受。但由于高级语言 与机器语言不是一一对应的,往往一条高级语言指令对 应着多条机器语言指令,因此翻译的时间长、目标程序 长、占用空间大、执行速度慢。 §3.4.2 汇编程序与伪指令 1、汇编程序 汇编源程序必须“翻译”成目标程序,方可被CPU识 别、执行,这个翻译的过程称为汇编。汇编工作一般 由计算机的系统软件—汇编程序来完成的。 汇编程序除了可将汇编源程序翻译成目标程序,还 可根据程序要求安排目标程序的存放地址、分配存储 空间、语法检查,若有错误给出错误信息等。 2、伪指令 在汇编源程序的过程中,有一些指令只是帮助汇编 源程序的,它们是控制汇编用的特殊指令,不属于指 令系统,不要求计算机做任何操作,不产生对应的机 器码,不影响程序的执行,这种指令被称为伪指令。 伪指令主要用来指定程序或数据的起始位置,给出 一些连续存放数据确定地址,或为中间运算结果保留 一部分存储空间及表示源程序结束等。 下面介绍几种常用的基本伪指令: 4) SET伪指令 类似于EQU,也是用一个表达式的值命名一个符 号,区别在于以后可用另一个SET伪指令对定义过的符 号重新定义。 格式: 符号名称 SET 表达式 如: VALU SET 1 ; VALU=1 REG1 SET R1; 把R1赋给REG1 VALU SET VALU+1;重新定义VALU 5) BIT伪指令 把一个位地址赋予规定的符号名称,定义后不得 重新定义。 格式: 符号地址 BIT 位地址 如: FLAG BIT F0 AI BIT P1.0 DATA伪指令 把片内的数据地址赋予所规定的符号。片内的数 据地址指的是内存00H~7FH或位于80H~FFH的特殊功能 寄存器,定义好的符号不得重新定义。 格式: 符号地址 DATA 数据地址 如: RES DATA 30H;定义符号RES为内存地址30H PORT0 DATA 80H;定义符号PORT0为SFR中P0 §3.5 基本程序设计方法 §3.5.1 程序的基本结构 1、分析问题(包括硬件、软件系统分析),抽象出 描述的数学模型; 2、确定解决问题的算法和工作步骤; 3、根据算法绘制程序流程图; 4、分配存储空间,确定程序与数据区存放地址; 5、编写源程序; 6、静态检查; 7、上机调试、修改,最终确定程序。 有关流程图中符号表示: 开始、结束——圆角矩形 工作任务——矩形 判断分支——菱形 程序流向——箭头 程序连接—— § 3.5.3 分支(选择)结构程序设计 §3.5.4 循环结构程序设计 1) 用累加器或工作寄存器来传参; 在调用子程序之前把数据送入寄存器R0~R7或累加器。调用返回后运算结果仍由它们送回。 2) 用指针寄存器传递参数 因一般数据都存放于存储器中,所以可用指针来指示数据位置。若数据存在内存RAM中,则通常用R0或R1做指针寄存器;若参数放在外部RAM或程序存储器中, 则可用DPTR做指针。 3) 用堆栈传参 调用子程序之前,可先将参数压入堆栈中保存,进入子程序后,再将压入堆栈的参数弹出给指定的工作寄存器或其他内存单元。但该种方式使用时要清楚堆栈的操作。 1. 给子程序赋一个名字。实际为入口地址代号。 2. 要能正确传递参数:

文档评论(0)

186****0772 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档