《单片机原理及应用》汇编语言程序设计.ppt

《单片机原理及应用》汇编语言程序设计.ppt

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
广东松山职业技术学院课件制作组 第4章 汇编语言程序设计 本章主要内容 4.1 汇编语言程序设计基础 4.1.1 程序设计语言简介 4.1.2 汇编语言程序设计步骤 4.1.2 汇编语言程序设计步骤 4.1.3 伪指令 4.1.3 伪指令 4.1.3 伪指令 4.1.3 伪指令 4.1.3 伪指令 4.1.3 伪指令 4.1.3 伪指令 4.2 顺序程序设计 4.2 顺序程序设计 4.2 顺序程序设计 4.3 分支程序设计 4.3 分支程序设计 4.3 分支程序设计 4.3 分支程序设计 4.3 分支程序设计 4.4 循环程序设计 4.4.1 循环程序结构 4.4.1 循环程序结构 4.4.2 循环程序设计 4.4.2 循环程序设计 4.4.2 循环程序设计 4.4.2 循环程序设计 4.4.2 循环程序设计 4.5 子程序设计 4.5.1 工作寄存器或累加器传递参数 4.5.1 工作寄存器或累加器传递参数 4.5.2 用指针寄存器传递参数 4.5.2 用指针寄存器传递参数 4.5.3 用堆栈传递参数 4.5.3 用堆栈传递参数 4.5.4 程序段参数传递 4.5.4 程序段参数传递 4.5.4 程序段参数传递 4.5.4 程序段参数传递 4.5.4 程序段参数传递 4.6.1 算术运算程序的设计 4.6.1 算术运算程序的设计 4.6.2 数码转制程序设计 4.6.2 数码转制程序设计 本课小结 本课小结 思考题及习题 思考题及习题 思考题及习题 思考题及习题 此方法是把入口参数或出口参数存放在工作寄存器或累加器中。使用这种方法程序最简单,运算速度也最高。它的缺点是工作寄存器数量有限,不能传递太多的数据;主程序必须先把数据送到工作寄存器;参数个数固定,不能由主程序任意改变。 例4-20 请编出能把20H单元内两个BCD数变换成相应ASCII码并放在21H(高位BCD数的ASCII码)和22H(低位BCD数的ASCII码)单元的程序。 根据ASCII表,0~9的BCD数和它们的ASCII码之间仅相差30H。因此,仅需把20H单元中两个BCD数拆开,分别和30H相加就行了。 ORG 0000H ASCH:MOV R0,#22H MOV @R0,#00H MOV A,20H XCHD A,@R0 ORL 22H,#30H SWAP A ORL A,#30H MOV 21H,A SJMP $ END 由于数据一般存放在存储器中,而不是工作寄存器中,故可用指针来指示数据的位置,这样可以大大节省传递数据的工作量,并可实现可变长度运算。一般如参数在内部RAM中,可用R0或R1作指针。可变长度运算时,可用一个寄存器来指出数据长度,也可在数据中指出其长度(如使用结束标记符)。 例4-21 将R0和R1指出的内部RAM中两个3字节无符号整数相加,结果送R0指出的内部RAM中。入口时,R0、R1分别指向加数和被加数的低位字节,出口时R0指向结果的高位字节。利用MCS-51的带进位加法指令,可以直接编写出程序。 ORG 0000H NADD: MOV R7,#3 CLR C NADD1:MOV A,@R0 ADDC A,@R1 MOV @R0,A DEC R0 DEC R1 DJNZ R7,NADD1 INC R0 RET END 堆栈可以用于传递参数。调用时,主程序可用PUSH指令把参数压入堆栈中。之后子程序可按堆栈指针访问堆栈中的参数,同时可把结果参数送回堆栈中。返回主程序后,可用POP指令得到这些结果参数。这种方法的优点是简单,能传递大量参数,不必为特定的参数分配存储单元。使用这种方法时,由于参数在堆栈中,故大大简化了中断响应时的现场保护。 例4-22 一位十六进制数转换为ASCII码子程序。 子程序HASC把堆栈中的一位十六进制数

文档评论(0)

经管专家 + 关注
实名认证
内容提供者

各类文档大赢家

版权声明书
用户编号:6055234005000000

1亿VIP精品文档

相关文档