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

多分支结构例题1例:MOV A,R3 MOV DPTR,#PRGTBL MOVC A,@A+DPTR JMP @A+DPTRPRGTBL: DB PRG0-PRGTBL DB PRG1-PRGTBL…N路分支地址表长度加上分支处理程序长度不大于256字节。第30页,共50页,星期日,2025年,2月5日多分支结构例题2功能:根据入口条件转移到128个目的地址入口:(R3)=转移目的地址的序号00H~7FH出口:转移到相应子程序入口JMP_128:MOVA,R3RLAMOVDPTR,#JMPTABJMP@A+DPTRJMPTAB:AJMPROUT00AJMPROUT01……128个子程序首址AJMPROUT7F第31页,共50页,星期日,2025年,2月5日多分支结构例题2说明此程序要求128个转移目的地址(ROUT00~ROUT7F)必须驻留在与绝对转移指令AJMP相同的一个2KB存储区内。RL指令对变址部分乘以2,因为每条AJMP指令占两个字节。如改用LJMP指令。目的地址可以任意安排在64KB的程序存储器空间内,但程序应作较大的修改。第32页,共50页,星期日,2025年,2月5日4.4循环结构循环程序的结构一般包括下面几个部分:置循环初值循环体(循环工作部分)修改控制变量常见的是计数循环,在单片机中,一般用一个工作寄存器Rn作为计数器。循环控制部分根据循环结束条件,判断是否结束循环。8051可采用DJNZ指令来自动修改控制变量并能结束循环。第33页,共50页,星期日,2025年,2月5日循环结构第34页,共50页,星期日,2025年,2月5日循环结构实例例:编写4字节数据加法程序:(33H-30H)+(43H-40H)→(33H-30H)分析:多字节加法首先从低字节开始,一个字节一个字节的相加;高字节相加时必须考虑低字节相加时的进位,故用带进位的加法指令ADDC;初始化R0——被加数的首地址30HR1——加数的首地址40HR2——加数与被加数的字节数,即循环次数4。第35页,共50页,星期日,2025年,2月5日第1页,共50页,星期日,2025年,2月5日4.1 概述:编程的步骤、方法和技巧编程步骤分析问题确定算法:对不同的算法进行分析、比校,找出最适宜的算法。画程序流程图编写程序第2页,共50页,星期日,2025年,2月5日程序流程图椭圆框(○)或者桶形框()表示程序的开始或结束矩形框(□)表示要进行的工作菱形框(

)表示要判断的事情,菱形框内的表达式表示要判断的内容圆圈(○)表示连接点指向线(→)表示程序的流向流程图步骤分得越细致,编写程序时也就越方便第3页,共50页,星期日,2025年,2月5日程序编写汇编语言的标准格式:[标号:][操作码][操作数];[注释]例如:LOOP1:MOVA,#00H第4页,共50页,星期日,2025年,2月5日程序编写——操作数字段1.工作寄存器名2.特殊功能寄存器名3.标号名4.常数:二进制()十进制(#67D)十六进制(#0EFH) 第5页,共50页,星期日,2025年,2月5日程序编写——操作数字段5.$:表示程序计数器的当前值,常出现在转移指令中 如: JNB TF0, $6.表达式:如 MOV A,SUM+1第6页,共50页,星期日,2025年,2月5日编程的方法和技巧模块化的程序设计方法编程技巧:尽量采用循环结构和子程序。减少程序总容量,提高程序的效率,节省内存。尽量少用无条件转移指令。使程序条理更加清楚,从而减少锗误。子程序中,除用于存放子程序入口参数的寄存器外,子程序中用到的其他寄存器的内容应压入堆栈(返回前再弹出)保护现场。一般不必把标志寄存器压入堆栈。第7页,共50页,星期日,2025年,2月5日伪指令伪指令仅在汇编过程中起控制作用,不产生可执行的目标代码,又称为软指令。1

文档评论(0)

xiaolan118 + 关注
实名认证
文档贡献者

你好,我好,大家好!

版权声明书
用户编号:7140162041000002

1亿VIP精品文档

相关文档