ImageVerifierCode 换一换
格式:DOC , 页数:16 ,大小:116.50KB ,
资源ID:3540049      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3540049.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ch09-分支与循环程序设计.doc)为本站会员(sk****8)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

ch09-分支与循环程序设计.doc

1、第 5 章 分支与循环程序设计5.1. 概述设计步骤:描述问题 确定算法 绘制流程图分配存储空间和工作单元编写程序上机调试5.2. 分支程序设计5.2.1 分支程序结构二路分支结构 多路分支结构5.2.2 二路分支程序设计方法例 5.2.1 )0(1xY-128x127DATA SEGMENTXX1 DB 10; X=给定一个值YY1 DB ? ; YDATA ENDSCODE SEGMENT条件? 条件?。 。ASSUME CS:CODE, DS:DATASTART: MOV AX, DSMOV DS, AXMOV AL,XX1CMP AL, 0JZ AA1; =0JNS AA2MOV AL

2、,0FFH; =-1JMP AA1AA2: MOV AL,1; =1 AA1: MOV YY1,AL; MOV AH,4CHINT 21HCODE ENDSEND START5.2.3 多路分支程序设计方法逻辑分解法;地址表法; 段内转移表法;1. 逻辑分解法CODE SEGMENTASSUME CS:CODESTART:MOV AH,1INT 21H ;键入值CMP AL,31HJZ WORK1CMP AL,32HJZ WORK2CMP AL,33HJZ WORK3CMP AL,34HJZ WORK4CMP AL,35HJZ WORK5JMP WORK0WORK1: (jmp work0)W

3、ORK2: (jmp work0)WORK3: (jmp work0)WORK4: (jmp work0)WORK5: (jmp work0)WORK0: MOV AH,4CHINT 21HCODE ENDSEND START2. 地址表法把模块的地址保存在一个表中,通过查表跳到相应模块。表地址 = 表首地址 + (键号-1)2DATA SEGMENTTABLE DW WORK1,WORK2,WORK3,WORK4,WORK5DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART:MOV AX,DATAMOV DS,AXLEA BX,TABLE ;表

4、首地址MOV AH,1INT 21HAND AL,0FHDEC AL ;键号-1ADD AL,AL ;(键号-1)*2SUB AH,AHADD BX,AX ;表地址 = 表首地址 + (键号-1)2JMP WORD PTRBXWORK1: (jmp work0)WORK2: (jmp work0)WORK3: (jmp work0)WORK4: (jmp work0)WORK5: (jmp work0)WORK0:MOV AH,4CHINT 21HCODE ENDSEND START3. 段内转移表法段内短转移:(jmp disp8 为 2 字节指令)转移表地址=转移表首地址+( 键号-1)2

5、段内近转移:(jmp disp16 为 3 字节指令)转移表地址=转移表首地址+( 键号-1)3段间远转移:(jmp disp32 为 4 字节指令)转移表地址=转移表首地址+( 键号-1)4CODE SEGMENTASSUME CS:CODESTART:LEA BX,WORKMOV AH,1INT 21HAND 0FHDEC ALMOV AH,ALADD AL,ALADD AL,AH ;x3SUB AH,AHADD BX,AXJMP BX;转移表WORK: JMP NEAR PTR WORK1JMP NEAR PTR WORK2JMP NEAR PTR WORK3JMP NEAR PTR W

6、ORK4JMP NEAR PTR WORK5;工作模块WORK1: (jmp work0)WORK2: (jmp work0)WORK3: (jmp work0)WORK4: (jmp work0)WORK5: (jmp work0)WORK0:MOV AH,4CHINT 21HCODE ENDSEND START5.3. 循环程序设计5.3.1 循环程序的结构形式5.3.2 循环程序的设计方法方法:计数控制循环;条件控制循环;变量控制循环1. 计数控制循环(循环次数已知)例:5.3.1, 把 1,2,3 255 加起来。(1)先执行后判断(计数控制)DATA SEGMENTORG 1000H

7、NUMBER1 DB 1,2,3,255SUM1 DW ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS, AXLEA BX, NUMBER1MOV AX, 0MOV DH, 0MOV CL, 255AA1: MOV DL, BXADD AX, DXINC BXSUB CL,1 ; DEC CLJNZ AA1MOV SUM1, AXMOV AH,4CHINT 21HCODE ENDSEND START(2)先判断后执行(计数控制)DATA SEGMENTORG 1000HNUMBER1 DB 1,2,3,25

8、5SUM1 DW ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS, AXLEA BX, NUMBER1-1MOV AX, 0MOV DH, 0MOV CL, 0 ; 初值 256AA1: INC BXSUB CL,1JZ AA2MOV DL, BXADD AX, DXJMP AA1AA2: MOV SUM1, AXMOV AH,4CHINT 21HCODE ENDSEND START2. 条件控制循环(结束条件已知)(1)先执行后判断(条件控制)DATA SEGMENTORG 1000HNUMBER1 DB

9、 1,2,3,255SUM1 DW ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS, AXLEA BX, NUMBER1MOV AX, 0MOV DH, 0 AA1: MOV DL, BXADD AX, DXINC BXCMP DL,255JNZ AA1MOV SUM1, AXMOV AH,4CHINT 21HCODE ENDSEND START(2)先判断后执行(条件控制) DATA SEGMENTORG 1000HNUMBER1 DB 1,2,3,255SUM1 DW ?DATA ENDSCODE SE

10、GMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS, AXLEA BX, NUMBER1-1 ;*MOV AX, 255 ; 初值为 255,原因如下说明MOV DH, 0 AA1: INC BXMOV DL, BXCMP DL,255 ; DL=255 时,循环结束JZ AA2ADD AX, DXJMP AA1AA2: MOV SUM1, AXMOV AH,4CHINT 21HCODE ENDSEND START3. 变量控制循环(结束条件已知)数据 255 的地址为 10Feh,做为变量控制的结束条件(1)先执行后判断(变量控制)DATA

11、SEGMENTORG 1000HNUMBER1 DB 1,2,3,255SUM1 DW ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS, AXLEA BX, NUMBER1MOV AX, 0MOV DH, 0 地址 10FEhAA1: MOV DL, BXADD AX, DXINC BXCMP BX, 10FFHJNZ AA1MOV SUM, AXMOV AH,4CHINT 21HCODE ENDSEND START(2)先判断后执行(变量控制) DATA SEGMENTORG 1000HNUMBER1 D

12、B 1,2,3,255SUM1 DW ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS, AXLEA BX, NUMBER1-1 ;*MOV AX, 0 ; MOV DH, 0 AA1: INC BXCMP BX,10FFH ;255 的地址为 10FEH JZ AA2 MOV DL, BXADD AX, DXJMP AA1AA2: MOV SUM1, AXMOV AH,4CHINT 21HCODE ENDSEND START5.3.3 单重循环例 5.3.2 求无符号整数的平方根的整数部分, )12(.53

13、12nnDATA SEGMENT NUMBER1 DW 25ROOT1 DW ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS, AXMOV AX, NUMBER1MOV CX, 0; MOV BX, 1 AA1: SUB AX, BX INC CXADD BX, 2 JNC AA1DEC CXMOV ROOT1, CX MOV AH,4CHINT 21HCODE ENDSEND START例 5.3.3 在 CRT 上显示“中”字的源程序DATA SEGMENT NUMBER1 DB 0AH, 0DHDB

14、A , 0AH, 0DHDB AAAAAAA, 0AH, 0DHDB A A A, 0AH, 0DHDB A A A, 0AH, 0DHDB AAAAAAA, 0AH, 0DHDB A , 0AH, 0DHDB A , 0AH, 0DHDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS, AXLEA, BX, NUMBER1MOV CX, 65AA1: MOV DL, BXMOV AH, 2INT 21HINC BXLOOP AA1 MOV AH,4CHINT 21HCODE ENDSEND START例 5.3.4 在 CRT 上显示 16 位十进制数 8988998899989899DATA SEGMENT RULER1 DW 0100110011101011 ;(逻辑尺法) DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS, AXMOV BX, RULER1MOV CX, 16AA1: MOV DL, 38HSHL BX, 1JNC AA2INC DL ; MOV DL, 39HAA2: MOV AH, 2 INT 21HLOOP AA1 MOV AH,4CHINT 21HCODE ENDSEND START

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。