新单片机原理及应用 教学课件 娄国焕 第四章 汇编语言程序设计.pptVIP

新单片机原理及应用 教学课件 娄国焕 第四章 汇编语言程序设计.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文档。上传文档
查看更多
使用标号要注意以下几点: (1)标号由1—8个ASCII码字符组成,第一个字符必须是字母; (2)标号后面必须跟冒号“:”; (3)汇编保留符不能做标号,如指令助记符、伪指令、寄存器名等; (4)标号不能重复定义,一个程序中只能定义一次; (5)标号不是必须的,一条语句可以没有标号,标号的有无取决于程序中有没有使用该语句。 在使用ORG 伪指令时应注意以下几点: ① m可以是十进制数或十六进制数,在汇编时,由m确定此语句后面第一条语句的存放地址,该段源程序或数据块就连续存放在以后的地址内,直到遇到另一个ORG 伪指令。 ② 在一个源程序中可以没有ORG 伪指令,没有时则汇编得到的目标程序将从0000H地址开始存放。 ③ 一个源程序中可以有多个ORG 伪指令,但ORG 伪指令后的地址m必须由小到大排列,且不能交叉、重叠,否则程序会被覆盖。 4.1.3 汇编语言程序设计步骤 用汇编语言编写一个程序的过程大致可以有以下几个步骤: (1)分析问题。明确所要解决的问题。 (2)确定算法。根据实际问题的要求和指令系统的特点,找出所用的计算公式和计算方法,就是一般所说的算法。算法是进行程序设计的依据,它决定了程序的正确性和程序的质量。 (3)绘制程序流程图。根据所选的算法,制定出运算的步骤和顺序,把运算过程画成程序的流程图。 (4)确定数据格式,分配工作单元,进一步完善程序流程图。 (5)编写汇编语言源程序。 [例4-3]根据R6的内容,转向各个处理程序。 R6=0,转PRG0 R6=1,转PRG1 … R6=n,转PRGn 参考程序如下: PJT: MOV DPTR,#TAB1 MOV A,R6 ADD A,R6 ;R6*2→A JNC PAD INC DPH ;R6*2256,DPH+1 PAD: JMP @A+DPTR TAB1:AJMP PRG0 AJMP PRG1 … AJMP PRGn 4.2.3 子程序调用程序设计 在实际编程过程中,往往有许多地方需要重复执行同样的计算或操作,但程序并不规则不能通过循环程序来实现,如果每次都从头开始编写一段程序,既麻烦又浪费存储空间,因而汇编语言象一些高级语言一样通过子程序来解决问题。 对一些常用的程序段以子程序的形式,事先存放在存储器的某一个区域,当主程序在运行时,需要用到子程序,则可以通过调用子程序的指令,使程序转至子程序。当子程序处理完毕,返回主程序,继续以后的操作。 [例4-11]16进制转换成8段代码,把R2中二位16进制数转换成8段代码送R2R3。 8段代码是用八段发光二极管显示一个数,该数为对应的代码为8段代码,图4-6在8段代码显示器共阴极接法中,相应段加上“1”电平时,该段点亮。 * 图4-6 8段代码显示器共阴接法 b c d e f g h a a b c d e f g h D0 D1 D2 D3 D4 D5 D6 D7 表4-2 8段显示代码表 * 71H F 07H 7 79H E 7DH 6 5EH D 6DH 5 39H C 66H 4 7CH B 4FH 3 37H A 5BH 2 6FH 9 30H 1 7FH 8 3FH 0 8段显示代码 16进制数 8段显示代码 16进制数 由8段显示代码表4-2看出,8段代码和数字之间没有什么规律,所以适合用查表的方法进行转换。先把八段代码按0--F的顺序存入存储器,表首地址TAB3。利用代码首址相加待转换数制的方法,即得到对应的代码所在的单元地址,从中取得需要代码。 * 参考程序如下: ORG 1000H START:MOV DPTR,#TAB3 MOV A,R2 ANL A,#0FH MOVC A,@A+DPTR MOV R3,A MOV A,R2

您可能关注的文档

文档评论(0)

时间加速器 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档