4.3汇编语言程序设计.pptVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4.3汇编语言程序设计.ppt

4.3 汇编语言程序设计 4.3.1 顺序程序设计 顺序程序设计是最基本的程序设计。它是按照指令排列的先后顺序依次执行,每条指令都必须执行,且只执行一遍。顺序程序设计一般比较单一、简单,常常作为复杂程序的一部分。 [例4.8] 设有两个16位的双字节数,低8位分别存放在片内20H、30H单元中,高8位分别存放在片内21H、31H单元中,求这两个数的和,结果存放在22H、21H、20H单元中。 [例4.9] 设R2寄存器中保存两个压缩的BCD码,试将它们拆开,并转换成ASCII码分别放在片内RAM 11H(高位)和10H(低位)单元中。 根据ASCII码表可知,0~9的BCD数与ASCII码表只相差30H。因此,本题只需将R2中的两个BCD数拆开,分别加上30H即可。 4.3.2 分支程序设计 在程序设计过程中,有时要根据不同情况执行不同功能的程序段,这种根据程序要求而改变程序执行顺序的设计,称为分支程序设计。分支程序设计分为无条件分支程序设计和条件分支程序设计两类。无条件分支程序中含有LJMP、AJMP等无条件转移指令,执行这类指令,程序将无条件转移,条件分支程序中含有判零、比较、位控制等条件转移指令。 [例4.10] 片外RAM 2000H、2001H单元分别存放两个数,判断这两个数是否相等,如果相等,则位地址7FH置1,否则清零。 若判断两个数相等使用比较转移指令就很容易实现该题中的要求,程序流程如图4-2所示。在下面的程序清单中,请读者考虑一下无条件转移指令AJMP的作用。 程序如下: ORG 0100H MOV DPTR,#2000H ;地址指针指向片外2000H单元 MOVX A,@DPTR ;(2000H)→A MOV R0,A ;A→R0 MOV DPTR,#2001H ;地址指针指向2001H单元 MOVX A,@DPTR ;(2001H)→A MOV 30H,R0 CJNE A,30H,NE ;若两个数不相等,则转NE SETB 7FH ;若两个数相等,则7FH单元置1 AJMP OVER ;转OVER NE: CLR 7FH ;7FH单元清零 OVER: RET 图4-3 按条件求函数Y的流程图 [例4.11] 设VAR 单元内有一自变量X,请按如下条件编程求函数值Y并存入FUNC单元中。 程序如下: ORG 0100H VAR EQU 30H FUNC EQU 31H MOV A,VAR ;X→A JZ DONE ;若X=0,则转DONE JNB ACC.7,POSI ;若X0,则转POSI MOV A,#0FFH ;若X0,则-1→A,FFH为-1的补码 SJMP DONE ;转DONE POSI: MOV A,#01H ;1→A DONE: MOV FUNC ,A ;存Y值 RET 第4章 汇编语言程序设计 主讲:吴政江 图4-2 判断两个数相等的程序流程图 第4章 汇编语言程序设计 主讲:吴政江

文档评论(0)

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

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

1亿VIP精品文档

相关文档