单片机原理与接口技术( 第三版) 高职计算机应用技术 李明 第四章 汇编语言程序设计.ppt

单片机原理与接口技术( 第三版) 高职计算机应用技术 李明 第四章 汇编语言程序设计.ppt

  1. 1、本文档共111页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
尚辅网 4.5 子程序设计 3.子程序应保证放在存储器的任何空间都能正确运行,即具有浮动性。例如,子程序中应使用相对转移指令,避免使用绝对转移或长转移。 4.进入子程序时需要把在主程序使用并在子程序中也要使用的寄存器进行保存,并在返回主程序之前恢复原来状态。 4.5 子程序设计 5.子程序的调用和返回指令,以及保护现场等操作均需用到堆栈,因此在程序初始化时应设置堆栈指针SP,开辟堆栈保护区。 6.设计子程序时应首先确定子程序名称;确定子程序的入口参数和出口参数;确定子程序需要使用的寄存器和存储单元;确定子程序的算法,再编写源程序。 4.5 子程序设计 4.5 子程序设计 4.5 子程序设计 4.5 子程序设计 4.5 子程序设计 4.5 子程序设计 4.5 子程序设计 4.5 子程序设计 4.5 子程序设计 4.5 子程序设计 4.5 子程序设计 4.5 子程序设计 4.5 子程序设计 本章小结 本章小结 本章小结 本章主要讲解的是汇编语言源程序的设计步骤、方法和技巧,灵活性较大,所以需要大家能多想多练,尽量找到每个问题的最优算法节省运行时间并少占存储空间,并能熟练使用这些知识去解决实际问题。 限于篇幅,有许多典型的程序并没有收录,需要时可以到网上搜索。 4.4 循环程序设计 4.4 循环程序设计 图4-6 ASCII码奇校验流程图 4.4 循环程序设计 4.4 循环程序设计 4.4 循环程序设计 4.4 循环程序设计 图4-7 发光二极管连接图 4.4 循环程序设计 图4-8 二极管顺序点亮流程图 4.4 循环程序设计 4.4 循环程序设计 4.4 循环程序设计 4.4 循环程序设计 4.4 循环程序设计 4.4 循环程序设计 4.4 循环程序设计 4.4 循环程序设计 4.4 循环程序设计 4.4 循环程序设计 4.4 循环程序设计 图4-10 二进制转BCD流程 4.4 循环程序设计 4.4 循环程序设计 4.4 循环程序设计 4.4 循环程序设计 4.4 循环程序设计 4.4 循环程序设计 4.4 循环程序设计 4.4 循环程序设计 4.4 循环程序设计 4.4 循环程序设计 4.4 循环程序设计 4.5 子程序设计 在程序设计过程中,经常会遇到在不同的程序中或同一个程序的不同地方执行同一个操作的情况,例如软件延时、代码转换等。 为了缩短程序设计周期及程序长度,可以将这些程序段从源程序中分离出来单独组成一个程序模块,我们称为子程序。 4.5 子程序设计 在需要使用这些模块的地方可以“调用子程序”。那些调用子程序的程序被称为主程序。 主程序对子程序的调用是通过ACALL或LCALL指令完成的。 一个主程序可以多次调用同一个子程序,也可以调用多个子程序。子程序也可调用其它子程序(也称为子程序嵌套)。 4.5 子程序设计 4.3 简单程序设计 4.3 简单程序设计 ANL A,#3CH ;保留30H的中间4位原值, ;其余位为零 RLA ;30H的中间4位移至高4位 RL A MOV 33H,A ANL 31H,#3 ;取31H的低2位,高6位为0 ANL 32H,#0C0H ;取32H的高2位,低6位为0 MOV A,31H ;31H的低2位送A 4.3 简单程序设计 ORL A,32H ;32H的高2位放入A的高2位, ;A的中间4位为0 RL A ;将31H的低2位、32H的高2位移至A的低4位 RL A ORL 33H,A ;将31H的低2位、32H的高2位拼入33H中 END 4.3 简单程序设计 4.3 简单程序设计 MOVC A,@A+PC ;查表 RET LEDSEG: DB 3FH,06H,5BH,4FH,66H ;共阴极数码管0~4字符码 DB 6DH,7DH,07H,6FH,77H ;共阴极数码管5~9字符码 程序中,由于把PC当作基址寄存器,且MOVC指令中的PC指向的是其下面一条指令的首地址,而不是第一个DB指令,在DB指令与MOVC指令之间有一条RET指令,占有一个字节,所以在执行MOVC指令之前先对累加器A加1修正。 4.3 简单程序设计 程序清单之二(采用DPTR当基址寄存器): ORG 0100H TAB:PUSH DPL ;保存DPTR的原值 PUSH

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档