基本程序设计.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文档。上传文档
查看更多

START: MOV AX,DATA

MOV DS,AX

AGAIN: MOV AH,00H

INT 16H ;输入数据

CMP AL,’0’

JB AGAIN

CMP AL,’4’

JA AGAIN ;不在0~4之间,重新输入

AND AL,0FH ;ASCII码转换为数据

SHL AL,1 ;地址表为字类型,故乘2

XOR AH,AH

LEA BX,ADDR

ADD BX,AX

JMP WORDPTR[BX] ;用地址表实现分支第4章基本程序设计第30页,共58页,星期日,2025年,2月5日C0: MOV AL,0

JMP SAVE ;0的平方是0

C1: MOV AL,1

JMP SAVE ;1的平方是1

C2: MOV AL,2

MOV BL,AL

MUL BL

JMP SAVE ;2的平方是2*2

C3: MOV AL,3

MOV BL,AL

MUL BL

JMP SAVE ;3的平方是3*3

C4: MOV AL,4

MOV BL,AL

MUL BL ;4的平方是4*4

SAVE: MOV RSLT,AX ;保存

MOV AH,4CH

INT 21H

CODE ENDS

END START返回本章首页第4章基本程序设计第31页,共58页,星期日,2025年,2月5日4.3循环程序设计在进行程序设计时,会出现某段程序反复多次执行的情况,如果这段程序是连在一起反复执行的,则可用循环程序结构来实现。其方法是用重复次数或某个条件控制循环程序的执行。采用循环程序结构不仅使程序变得简洁清晰,而且减少程序对内存的占用,因此,循环程序是重要的程序结构之一。返回本章首页返回上一节进入下一节第4章基本程序设计第32页,共58页,星期日,2025年,2月5日4.3.1循环程序的结构循环程序是多种多样的,但一般认为循环程序由四部分构成:

1.初始化部分

本部分主要为循环程序作准备工作,如置循环次数、地址指针或关键字,寄存器置初值及标志位设置等。

2.循环工作部分

本部分是实际进行工作的部分,是循环结构的主体。

3.参数调整部分

本部分实现地址指针或循环次数的修改等,以便继续循环。

4.循环控制部分

本部分循环条件的检查,以判断是否继续循环。

以上四部分中,2、3、4有时统称为循环体。循环程序根据循环控制条件的不同,通常又分两种结构,如图4-2所示。第4章基本程序设计第33页,共58页,星期日,2025年,2月5日(a)先工作后判断循环条件该结构为后判断型循环,循环次数已知,多用LOOP指令等构造循环。初始化循环条件满足?处理YesNo第4章基本程序设计第34页,共58页,星期日,2025年,2月5日(b)先判断循环条件后工作该结构为先判断型循环,循环次数未知,多用条件转移指令构造循环。初始化No循环条件满足?处理Yes第4章基本程序设计第35页,共58页,星期日,2025年,2月5日4.3.2单重循环单重循环程序结构,程序中只有一个循环体,循环体内不再含有其它循环体,下面举例说明。

【例4.13】求1~400的所有偶数的和,结果保存到RSLT存储单元。

分析:1~400间共有200个偶数,故需要加200次,也就是说循环次数为200。由于程序中CX寄存器同时充当了循环计数器和200个偶数值,使每一次循环CX的值减2,故CX初值为400。程序如下:

DATA SEGMENT

RSLT DW ?

DATA ENDS

CODE SEGMENT

ASSUMECS:CODE,DS:DATA 第4章基本程序设计第36页,共58页,星期日,2025年,2月5日START: MOV AX,DATA

MOV DS,AX

MOV CX,400

XOR AX,AX

NEXT: ADD AX,CX ;计算偶数和

DEC CX

DEC CX

JNZ NEXT ;200个数未完则继续循环

MOV RSLT,AX ;保存结果

MOV AH,4CH

INT 21H

CODE ENDS

END START第4章基本程序设计第37页,共58页,星期日,2025年,2月5日【例4.14】在以DAT为首地址的字缓冲区中存有一批数据,数据个数为10,编程找出其最大的值,结果存入RSLT单元。

分析:求最大值通常采用逐个比较法,即把第

文档评论(0)

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

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

1亿VIP精品文档

相关文档