课件:单片机原理与接口技术》第4章汇编语言程序设计.ppt

课件:单片机原理与接口技术》第4章汇编语言程序设计.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课件:单片机原理与接口技术》第4章汇编语言程序设计.ppt

在SB01子程序中执行到LCALL SB02指令时,它会将断点地址SB12压入堆栈,并转去执行SB02子程序。 SB02子程序执行到最后的RET指令时,它会从堆栈中取出断点地址SB12送给指令计数器PC,程序返回SB01子程序。 SB01子程序执行到最后的RET指令时,它会从堆栈中取出断点地址M02送给指令计数器PC,程序返回主程序,继续执行。 图4-10 子程序嵌套示意图 4.6.1 查表程序设计 查表程序是指适当的组织一些表格,跟控制程序一起事先输入到单片机的程序存储器中。使用查表指令迅速获取结果数据。该类程序主要用于代码转换、算术运算等。 【例4.16】 【例4.17】 (见教材P91页) 说明: 在例4.16和例4.17中分别使用了指令MOVC A,@A+PC和指令MOVC A,@A+DPTR实现查表。 第一条指令是以 PC作为基址寄存器,A中存放偏移量(偏移量为当前的PC值到表格首地址之间的距离),两者的和为结果所在程序存储单元的地址。 4.6 查表及散转程序设计 该指令执行后PC仍指向下一条指令。 用PC的内容作为基地址来查表,通常分为三步: (1)将所查表格的项数(即在表格中的位置)送入累加器A中; (2)计算偏移量data,并在MOVC A,@A+PC指令前加上指令ADD A,#data。计算公式如下: 偏移量=表格首地址-(MOVC指令所在的地址+1) (3)执行查表指令MOVC A,@A+PC,结果存入累加器A。 第二条指令是以 DPTR作为基址寄存器,A与DPTR两者的和为结果所在程序存储单元的地址。 用DPTR内容作为基地址来查表,通常也分为三步: (1)将表格的项数(即在表格中的位置)送入累加器A中; (2)将表格的首地址送入DPTR中; (3)执行查表指令MOVC A,@A+DPTR,结果存入累加器A。 4.6.2 散转程序设计 在设计单片机应用程序时,经常遇到根据不同的输入或运算结果决定程序流向的问题。这就是散转程序,实际就是一种多分支程序。 散转程序也需要一个表,但表中所列的不是普通数据,而是某些功能程序的入口地址、偏移量或转向这些功能程序的转移指令。 程序的散转功能,主要依靠间接转移指令JMP@A+DPTR完成。 1.利用转移指令表进行散转 假设有一个标志单元,它的可能取值为 0,1,2…的自然数,每个值对应一个处理程序。我们可以利用转移指令表,使程序根据标志单元的值转向各自的处理程序。 选择与处理程序相同数目的无条件转移指令,由这些指令组成一张指令表,且第1条转移指令转向 “0” 标志所对应的处理程序,第2条转移指令转向“1”标志所对应的处理程序,依此类推。 然后把指令表的起始地址和标志单元的值分别送数据指针DPTR和累加器A中,最后使用散转指令完成。 【例4.18】 (见教材P93页) 2.利用转向地址表进行散转 当转向范围比较大时,可直接使用转向地址表法,即把每个处理程序的入口地址直接放到地址表内。 用查表指令从表中查找与变量值对应的处理程序的入口地址,再通过间接转移指令,使程序转向该地址指向的功能程序。 【例4.19】 (见教材P93页) 3.利用 “RET” 指令进行散转 此方法与转向地址表法基本相同。 两者的惟一区别是: 转向地址表法,将表中取出功能程序的入口地址直接送给数据指针; 而返回指令法,则把入口地址压入堆栈进行保存,并随后便执行一条RET指令,使程序转向功能程序。 【例4.20】 (见教材P94页) 4.7 实用程序举例 设计单片机的应用程序,不仅要掌握几种基本结构程序的设计步骤、设计方法,还要熟悉一些常用子程序的基本功能和使用方法。 4.7.1 代码转换类子程序 (略) 4.7.2 运算类子程序 (略) 4.7.3 数据比较类子程序 (略) 4.7.4 数据块处理类子程序 (略) 后面内容直接删除就行 资料可以编辑修改使用 资料可以编辑修改使用 资料仅供参考,实际情况实际分析 主要经营:课件设计,文档制作,网络软件设计、图文设计制作、发布广告等 秉着以优质的服务对待每一位客户,做到让客户满意! 致力于数据挖掘,合同简历、论文写作、PPT设计、计划书、策划案、学习课件、各类模板等方方面面,打造全网一站式需求 * * * * 高等职业教育 计算机类课程规划教材 大连理工大学出版社 第4章 汇编语言程序设计 4.1 概 述 4.2 汇编语言伪指

文档评论(0)

iuad + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档