第三章 汇编语言程序设计.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文档。上传文档
查看更多
图5.8 求最大字符的程序流程图 3.5.3 循环程序设计 STACK SEGMENT PARA STACK DB 200 DUP(0) STACK ENDS DATA SEGMENT BUF DB ‘ABCD5678bdcaMN’ N EQU $ - BUF MAX DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK BEGIN: MOV AX,DATA MOV DS,AX MOV BX,OFFSET BUF ;BX指向字串首 3.5.3 循环程序设计 MOV AL,[BX] ;取出第一个字符 MOV CX,N-1 ;比较次数送CX NEXT1: INC BX ;BX指向下一字符 CMP AL, [BX] ;比较 JNC NEXT2 MOV AL,[BX] ;大数送AL NEXT2: LOOP NEXT ;循环次数(CX ≠ 0)继续循环 MOV MAX,AL ;MAX←最大数 MOV AH,4CH INT 21H CODE ENDS END BEGIN 3.5.3 循环程序设计 (2)多重循环程序设计 多重循环即循环体内又嵌套循环。 基本思想和单重循环程序设计一致,但实现起来更复杂。 应分别考虑各重循环的控制条件及其程序实现,相互之间不能混淆,即内外层循环必须是嵌套的形式,不能出现交叉。 3.5.3 循环程序设计 (2)多重循环程序设计 例5-11 在变量BUF中有n个无符号数x1,x2,…, xn,将它们按由大到小的顺序排列在BUF中,试编程实现。 3.5.3 循环程序设计 采用选择排序时,存储单元和寄存器分配如下: SI:用来控制外循环的循环计数器,初值为1,终值为N﹣1,每次递增1。 DI:用来控制内循环的循环计数器,初值(SI)+1,终值为N,每次递增1。 AL: 用来存放比较数据的寄存器。 BUF:存放要排序数据的变量。 N:存放要排序数据的个数。 3.5.3 循环程序设计 STACK SEGMENT STACK DB 200 DUP(0) STACK ENDS DATA SEGMENT BUF DB 0AH,8,15H,36H,6,20H,12H N EQU $-BUF ;N为要排序数据的个数 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK BEGIN: MOV AX, DATA MOV DS, AX MOV SI, 1 ;给外循环计数器赋初值1 3.5.3 循环程序设计 NEXT1: MOV DI,SI INC DI MOV AL, [BUF+SI-1] NEXT2: CMP AL, [BUF+DI-1] JAE NEXT3 XCHG [BUF+DI-1],AL MOV [BUF+SI-1],AL NEXT3: INC DI ;(DI)←(DI)+1 CMP DI,N ;若(DI)N转NEXT2,继续执行内循环开始 3.5.3 循环程序设计 JBE NEXT2 ;否则退出内循环,本循环结束准备进入下一轮循环 INC SI ;(SI)←(SI)+1 CMP SI,N-1 ;比较(SI)与N﹣1 JBE NEXT1 ;若(SI)≤N-1转NEXT1继续循环,否则退出 MOV AH,4CH INT 21H CODE ENDS END BEGIN 3.5.3 循环程序设计 3.5.4 子程序结构形式与操作 1.子程序的定义 程序设计中,把多次重复出现、具有通用性、能够完成特定处理任务的程序段编写成独立的程序模块。 特性: (1)重复性;(2)通用性; (3)浮动性;(4)模块化; 主程序与子程序调用关系 主程序 K:调用子程序A DK:…… J:调用子程序A DJ:…… … … 子程序A … … 返回主程序 3.5.4 子程序结构形式与操作 例5-12 调用程序和子程序在同一代码段中

文档评论(0)

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

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

1亿VIP精品文档

相关文档