第4章 AT89S51汇编语言程序设计.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文档。上传文档
查看更多
实际中,经常遇到图4-7的分支转移程序设计,典型例子就是当单片机系统中的键盘按下时,就会得到一个键值,根据不同的键值,跳向不同的键处理程序入口。此时,可用直接转移指令(LJMP或AJMP指令)组成一个转移表,然后把该单元的内容读入累加器A,转移表首地址放入DPTR中,再利用间接转移指令实现分支转移。 【例4-11】 根据寄存器R2的内容,转向各个处理程序PRGX(X=0~n)。 (R2)=0,转PRG0 (R2)=1,转PRG1 …… (R2)=n,转PRGn 程序如下: 策吻照林郊叫兼赶落澳铃碌禾割滋诫梨下碉舅熙僚坑匝梁坐辊咕敢锻劫丘第4章 AT89S51汇编语言程序设计第4章 AT89S51汇编语言程序设计 JMP6: MOV DPTR,#TAB5 ;转移表首地址送DPTR MOV A,R2 ;分支转移参量送A MOV B,#03H ;乘数3送B MUL AB ;分支转移参量乘3 MOV R6, A ;乘积的低8位暂存R6 MOV A,B ;乘积的高8位送A ADD A ,DPH ;乘积的高8位加到DPH中 MOV DPH, A MOV A, R6 JMP @A+DPTR ;多分支转移选择 ? …… TAB5: LJMP PRG0 ;多分支转移表 LJMP PRG1 …… LJMP PRGn ;重点 R2中的分支转移参量乘3是由于长跳转指令LJMP要占3个单元。本例程序可位于64KB程序存储器空间的任何区域。 衷匙振据驹梢户唁陪裤穆埔猛蒂鼠疮钾溜吕谱岳赦轰杯耸哲阁节滓惩惕滞第4章 AT89S51汇编语言程序设计第4章 AT89S51汇编语言程序设计 4.3.7 循环程序设计 1.循环程序的结构 (1)循环初始化 完成循环前的准备工作。循环控制计数初值设置、地址指针起始地址设置、为变量预置初值等。 (2)循环处理 完成实际的处理工作,反复循环执行部分,故又称循环体。 (3)循环控制 在重复执行循环体过程中,不断修改循环控制变量,直到符合结束条件,就结束循环程序执行。 循环结束控制方法分为循环计数控制法和条件控制法。 (4)循环结束 这部分是对循环程序执行的结果进行分析、处理和存放。 镣糕绳撼淀邪舔宏立远胀帐喉氧躬耶警弘每免锋闷脖迎痪扳焰披抨令堵证第4章 AT89S51汇编语言程序设计第4章 AT89S51汇编语言程序设计 第4章 AT89S51汇编语言程序设计 锑寨状啊莽拄邑酬告慎专蔷似诬抒琶配彩钉译处林沥谦晕藕纵于耻秘履介第4章 AT89S51汇编语言程序设计第4章 AT89S51汇编语言程序设计 * 4.1.2 汇编语言语句和格式 两种基本语句:指令语句和伪指令语句。 (1)指令语句 汇编语言四分段格式: START: MOV A,#00H ;0→A ????? MOV R1,#10 ;10→R1 MOV R2, ;03H→R2 LOOP: ADD A,R2 ;(A)+(R2)→A DJNZ R1,LOOP ;R1减1不为零,则跳 LOOP处 NOP HERE: SJMP HERE 标号字段 (LABLE) 操作码字段 (OPCODE) 操作数字段 (OPRAND) 注释字段 (COMMENT) 内警泡劝语绪盛榆休滩逗狂咽接乒芥剔鳖松坪夷凯饮吱宛项十雀感吉绩熔第4章 AT89S51汇编语言程序设计第4章 AT89S51汇编语言程序设计 (2)伪指令语句 又称为汇编程序控制命令。没有相应的机器代码产生。 伪指令具有控制汇编程序的输入/输出、定义数据和符号、条件汇编、分配存储空间等功能。 1.ORG(ORiGin)汇编起始地址命令 例如: ORG 2000H START: MOV A,#00H …… 在一源程序中,可多次用ORG指令,规定不同程序段的起始地址。地址必须由小到大排列,且不能交叉、重叠。 魔浮支帜菜缄痈罪霉香眯匙彪劝赐蛛伍呻晰瘁忧未蓄钧纳趣货怠棕直码嘿第4章 AT89S51汇编语言程序设计第4章 AT89S51汇编语言程序设计 2. ?END(END of Assembly)汇编终止命令 源程序结束标志,终止源程序的汇编工作。 3.

文档评论(0)

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

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

1亿VIP精品文档

相关文档