第5章汇编语言程(684KB).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文档。上传文档
查看更多
分析:此例需要解决两个问题: 这是一个多重分支的程序,分支的次数可由具体问题决定是单重分支还是多重分支。n次判断可形成n+1路分支。流程图如图5-4所示。 如何判断某个数是正数还是负数; 给Y赋适当的值。涉及的操作数X,Y都是有符号数,可定义为单字节数。 程序中CMP AL,0指令可用SUB AL,AL或AND AL,AL或OR AL,AL,其效果也一样。用于比较、判断的指令除了CMP(比较指令),还有CMPS(串比较指令)以及SCAS(串有哪些信誉好的足球投注网站指令)等。 2013.1 微型计算机原理及应用 5.3.3 循环程序设计 循环程序是强制CPU重复执行某一指令系列的一种程序结构形式,它可以使许多重复工作的程序大为简化,而且减少内存空间。 1.循环程序的组成 循环程序一般由四部分组成: (1)初始化部分:循环的准备部分,为程序操作、地址指针、循环计数、结束条件等设置初值。 循环体:循环的工作部分及修改部分。 循环控制:修改计数器或判断循环结束条件以决定是否循环还是终止循环。 循环结束:循环终止后,对循环结果的处理部分。 2013.1 微型计算机原理及应用 2.循环程序的结构 循环程序常用的两种结构形式: (1)“先判断,后执行”结构(WHILE):这种结构的特点是进入循环首先判断循环结束的条件,再由判断结果确定是结束循环体或继续执行循环体。这种情况下,如果一进入循环就满足循环结束条件,就一次也不执行循环体,即循环次数为零,因此又称为“可零迭代循环”。这种结构在很多情况下,可缩短程序执行时间。 (2)“先执行,后判断”结构(UNTIL):这种的结构特点是进入循环先执行一次循环体,再判断循环是否结束,因此这种结构至少要执行一次循环体。 2013.1 微型计算机原理及应用 3.循环程序的分类 (1)按照循环控制条件分类 计数循环:循环次数是已知的,把已知值送计数器,作为循环控制的条件。L00P指令就是构成这类控制的很好的工具。 条件控制循环:循环次数未知或不确定,需找出循环控制的条件。LOOPZ/LOOPE和LOOPNZ/LOOPNE指令使这种条件控制的循环程序设计很容易实现。 (2)按照循环体的结构分类 单重循环:循环体内只是顺序程序或分支程序,不再有循环程序。 多重循环:循环体内再套有循环程序。 2013.1 微型计算机原理及应用 4.循环程序的设计方法 循环的本质是“重复”,所以编好循环程序的第一步是从问题中分离出“重复”处理的操作,注意程序的精炼以及循环体头部的确定; 然后再分别考虑循环初始部分及循环控制部分的编写,使循环准确地执行完毕; 最后还要注意对条件控制的循环需设置循环结束标志。 2013.1 微型计算机原理及应用 【例5.12】计算S=∑i(i=1~100),将其和5050存入SUM单元。 求1到100不能采用直接相加100次的方法,应采用循环结构进行运算。“重复”处理的操作是做加法,因此循环体部分主要的任务就是做加法,初始化部分就是设置地址指针及相加的次数。循环控制部分是判断相加的次数是否做完。涉及到的操作数,求和的结果为双字节无符号数,因此,每次相加也采用双字节的运算。程序流程图如图5-7所示。 2013.1 微型计算机原理及应用 图5-7 计算从1加到100的流程图 程序如下: DATA SEGMENT SUM DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX ;初始化DS MOV AX,0 ;和清零 MOV CX,100 ;设计数值 AGAIN: ADD AX,CX ;求和 DEC CX ;计数 JNZ AGAIN MOV SUM,AX ;存和 MOV AH,4CH INT 21H ;返回DOS CODE ENDS END START 2013.1 微型计算机原理及应用 分析:如果要求不同项数的和,修改以上的程序很容易实现。以上例子“先执行,后判断”的结构。 【例5.13】统计寄存器BX中1的个数,结果存放在COUNT单元中。 本例采用“先判断,后执行”的结构。首先判断最高位是否为1,然后用移位

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档