第五章 汇语言程序设计C.ppt

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

5-1 程序设计方法 5-1-2 汇编语言程序设计步骤 一.分析问题,建立数学模型。 二.确定算法。 三.制定程序流程图(程序结构和程序功能)。 5-1-3 评价程序质量的标准 (1)程序的执行时间。 (2)程序所占用存储器的字节数。 (3)程序的逻辑性、可读性。 (4)程序的兼容性、可扩展性。 (5)程序的可靠性。 5-2 顺序程序 顺序程序又称简单程序,程序走向只有一条路径。 例2 压缩式BCD码分解成为单字节BCD码。 MOV R0,#40H ;设指针 MOV A,@R0 ;取一个字节 MOV R2,A ;暂存R2 ANL A,#0FH ;高半字节清0 INC R0 MOV @R0,A ;保存个位数据 MOV A,R2 SWAP A ;十位换到低半字节 ANL A,#0FH ;高半字节清0 INC R0 MOV @R0,A ;保存十位数据 5-3 分支程序 由条件转移指令构成程序判断框部分,形成程序分支结构。 5-3-1 单重分支程序 一个判断决策框,程序有两条出路。 5-3-2 多重分支程序 多次使用条件转移指令,形成两个以上判断框。 例5-7 设30H单元存放的是 一元二次方程ax2+bx+c=0根 的判别式△=b2-4ac的值。 解:△值为有符号数,有三 种情况:大于零、等于零以 及小于零。 程序: ORG 1000H START: MOV A,30H ;△值送A JNB ACC.7,YES ;△非负,转YES MOV 31H,#0 ;△0,无实根 SJMP FINISH YES: JNZ TOW ;△0转TOW MOV 31H,#1 ;△=0有相同实根 SJMP FINISH TOW: MOV 31H,#2 ;有两个不同实根 FINISH: SJMP $ 5-3-3 N路分支程序 根据前面程序运行的结果,可以有N种选择,并能转向其中任一处理程序。 例5-10 128路分支程序。 功能:根据R3的值(00H~7FH)转到128个目的地址。 参考程序: JMPl28:MOV A,R3 RL A ;(A)×2 MOV DPTR,#PRGTBL ;散转表首 ;址送DPTR JMP @A+DPTR ;散转 PRGTBL:AJMP ROUT00 AJMP ROUT01 … AJMP ROUT7F ;128个AJMP指令占 ;256个字节 例5-11 256路分支程序。 功能:根据R3的值转移到256个目的地址。 入口条件:(R3)=转移目的地址代号(00H~FFH)。 出口条件:转移到相应分支处理程序入口。 特点: 1.入口地址为双字节(16位),查表前应先把R3内容乘以2。当 地址代号为00H~7FH时(前128路分支),乘2不会产生进位;当 地址代号为80H~FFH时,乘2会产生进位,此时应使基址高8位 内容(DPH)加1。乘2功能采用指令RLC A完成。 2. 程序采用“堆栈技术”,巧妙地将查表得到的分支入口地址 低8位和高8位分别压入堆栈,然后执行RET指令把栈顶内容(分 支入口地址)弹入PC实现转移。 JMP256: MOV A,R3 ;取N值 MOV DPTR,#PRGTBL ;指向分支地址表首址 CLR C RLC A ;(A)×2 JNC LOWl28 ;是前128个分支程序,则转移 IN

文档评论(0)

135****6041 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档