PC汇编语言程序设计 本科 教学课件 作者 王闵 第1-7章第7章.pptVIP

PC汇编语言程序设计 本科 教学课件 作者 王闵 第1-7章第7章.ppt

  1. 1、本文档共86页,可阅读全部内容。
  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文档。上传文档
查看更多
图7.6 例7.5的流程图 DATA SEGMENT NUM1 DB NUM2 DB ? DATA ENDS COSEG SEGMENT ASSUME DS: DATA, CS: COSEG START: MOV AX, DATA  MOV DS, AX MOV AH, NUM1 ; 取数据 AGAIN: AND AH, AH ; 形成条件码 JS LOAD; 最高位为“1”, 转移  SAL AH, 1 ; 最高位不为‘1’, 左移1位  JMP AGAIN LOAD: MOV NUM2, AH; 送结果 MOV AH, 4CH ; 返回DOS INT 21H COSEG ENDS END START 图 7.7 例7.6的流程图 例 7.6 试编制一个程序,求级数12+22+32+…的前n项和刚大于1000的项数n, 并将项数存入到T单元中。  该例题是求自然数平方和的累加值大于1000时的项数n, 循环次数(累加次数n)预先也不能确定,循环控制条件为累加和刚大于1000。 程序的流程如图7.7所示。 程序如下: DATA SEGMENT  T DB ? DATA SEGMENT COSEG SEGMENT ASSUME DS: DATA, CS: COSEG START:MOV AX, DATA MOV DS, AX MOV CL, 0 ; CL作项数计数器 MOV DL, 0 ; DL作自然数计数器 MOV BX, 0 ; BX作累加寄存器 INCR: INC DL ; 形成下一自然数 MOV AL, DL MOV AH, AL MUL AH ; 求每项数的平方, (AX)←(AH)*(AL) ADD BX, AX ; 计算累加和 INC CL ; 计项数 CMP BX, 1000 JA STOREN ; 累加和>1000, 转移 JMP INCR ; 累加和≤1000, 继续求下一项 STOREN: MOV T, CL ; 项数n存入单元T MOV AH, 4CH ; 返回DOS INT 21H COSEG ENDS END START 7.4 门控循环程序和用逻辑尺控制的循环程序 7.4.1 门控循环程序 如果将某个寄存器或内存单元看作为一扇“门”,当该寄存器或内存单元为一个特定值(比如为0)时,则认为“门”是开的; 反之(比如为全1), 则认为“门”是闭的。 若门是开的, 则继续进行循环,门闭时则结束循环。 使用这种方法设计的循环程序称之为门控循环程序。门控方式通常有两种: 一种是按门内的值(一般为两个相反的值)进行循环的控制,另一种是按门内存放的内容(比如, 指令的地址)进行循环的控制。下面分别说明这两种门控方式: 例如,A到B的程序段,需要执行两次,采用第一种门控方式编制的程序段如下:  C DW 0   MOV C, 0 ; 开门 A:…   B: … ; 循环两次 CMP C,  0 ; 判断门开否?  JNZ P ; 门关, 转 MOV C, -1 ; 门开, 关门 JMP A ; 循环 P: … … … 上述结构中,将单元C看做一个门,初值为0,执行完A~B的程序段后,要查门是否开着。 若开着, 随之用指令关上, -1送入门C,继续执行A~B的程序段,再查门C,此时门C是关闭的则停止循环,转向后续指令。另一种门控方式的程序段如下: C DW  D  A: MOV BX, C ; 开门   B: …; 循环两次 JMP WORD PTR [BX]  D:MOV C, OFFSET E ; 关门 JMP A E: … … … … … 上述

您可能关注的文档

文档评论(0)

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

1亿VIP精品文档

相关文档