1 / 33
文档名称:

第9章 分支(选择结构程 序设计.ppt

格式:ppt   页数:33
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第9章 分支(选择结构程 序设计.ppt

上传人:企业资源 2012/1/4 文件大小:0 KB

下载得到文件列表

第9章 分支(选择结构程 序设计.ppt

文档介绍

文档介绍:第9章分支(选择结构)程序设计
分支程序结构
双分支程序设计
多分支程序设计

⑴条件产生
在进行条件测试以前,必须执行能生成状态标志的先行指令,如:TEST、CMP、ADD、SUB、AND、OR、XOR和移位指令等,这些指令执行后能按规定影响PSW中的状态标志位OF,SF,ZF,PF与CF。为条件检测作好准备。
⑵测试与定向
条件转移指令自动对相应的状态标志位进行测试,以确定是否满足条件,决定程序的不同走向。而每一条条件转移指令,恰好有两种选择,转移或顺序执行。
⑶标号
对于每个分支,在转移的目标地址处一定要给出标号。对图9-3中的L1与L2标号作用示意如下:
图9-3(a)程序结构中的标号L1,L2作用:
┇;程序段1
JCC L1 ;CC条件成立,转L1
L2:……;程序段2

L1:……
┇;分支程序段
JMP L2
图9-3(b)程序结构中的标号L1、L2作用:
┇;程序段1
JCC L2 ;CC条件成立,转L2
L1: ……;分支程序段

L2: ……;程序段2
可以为C,NC,P,NP,Z,NZ,S,NS,O,NO,B,A,G,L等等。

这种结构如图9-1(a)所示,每个分支都执行一个分支程序段。
组成这种结构的双分支程序结构有以下五部分组成:
①产生条件。②测试条件。③按条件成立与否确定转移去向。
④在两个分支程序之后都汇合到一起。
双分支程序设计
【例9-2】比较两个带符号字节数的大小,找出两个数中大的存入MAX字节单元,编写源程序如下:
DATA SEGMENT
DA1 DB X1,X2 ; X1,X2为任意二个带符号数
MAX DB ?
DATA ENDS
STAK SEGMENT STACK
DW 20H DUP(?)
STAK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
GO: MOV AX,DATA
MOV DS,AX
MOV AL,DA1
CMP AL,DA1+1
JGE L1 ;若X≥X2则转到L1,这里产生分支
MOV AL, DA1+1 ;若X﹤X2则DA1+1的内容送AL
L1: MOV MAX,AL
MOV AH,4CH
INT 21H
CODE ENDS
END GO
要注意对带符号与无符号数判断的条件转移指令的选用。
【例9-3】设已经用REP MOVSB指令把数据段中从DA1开始的100个字节数据传送到附加段中以DA2开始的100个字节单元中,今要查找两个数组中是否存在有不相等之处,若发现不相等之处,将两个不相等单元地址中的偏移量分别存入ADDR1和ADDR2之中。试编写一个完整的源程序。
分析:用REPE CMPSB指令,只要出现ZF=0就表明已经找到不等之处。所以从REPE CMPSB指令退出循环,只需判断ZF断状态值,即可知道是否存在不相等的地方,当ZF=1表示两串完全相等;当ZF=0表示对应单元有不等之处。程序编写如下:
DATA SEGMENT
DA1 DB 33,33H,┉;共100个字节数据
ADDR1 DW ?
ADDR2 DW ?
DATA ENDS
EXTRA SEGMENT
DA2 DB 33,33H,┉;共100个字节数据
EXTRA ENDS
STACK1 SEGMENT PARA STACK
DW 100H DUP(?)
STACK1 ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
ASSUME ES:EXTRA
START: MOV AX,DATA
MOV DS,AX ;源串条件1①
MOV AX,EXTRA
MOV ES,AX ;目标串条件1②
LEA SI,DA1 ;源串条件2③
LEA DI,DA2 ;目标串条件2④
MOV CX,100 ;条件⑤
CLD ;条件⑥
REPE CMPSB
JZ L1 ;两个数组完全相等转L1
DEC SI ;否则处理偏移地址问题
DEC DI
MOV ADDR1,SI
MOV ADDR2,DI
L1: MOV AH,4CH
1NT 21H
CODE ENDS
END START
为了REPE CMPSB正常运行,必须准备6个条件:DS:S;ES:DI;CX;DF。

最近更新

2026中级会计三科高频题库100道及参考答案【基.. 52页

2026云南省面向中国药科大学选调优秀毕业生笔.. 37页

2026内蒙古自治区到吉林大学定向选调(选聘).. 36页

2026厦门银行三明分行社会招聘参考题库必考题.. 51页

2026年c语言考试题库100道及完整答案(夺冠系.. 46页

2026年《研学旅行概论》期末测试题及参考答案.. 38页

2026年廉政纪律知识测试题(全国通用) 14页

2026年交管12123学法减分复习考试题库附答案(.. 23页

2026年揭阳市检察机关公开招聘劳动合同制书记.. 44页

2026年文明礼仪知识竞赛奥运医护常识试卷100道.. 41页

2026年党规知识案例测试题精编答案 18页

2026年枣庄职业学院单招综合素质考试题库附答.. 43页

2026年河北工艺美术职业学院单招职业技能考试.. 44页

2026年卧底笔试题库100道附答案(培优) 40页

2026年注册税务师考试题库带答案(培优b卷) 46页

2026年注册造价工程师考试题库200道及答案(名.. 86页

2026年消毒技术题库【各地真题】 39页

2026年湖北黄冈应急管理职业技术学院单招职业.. 45页

2026年国家公务员考试题库500道及答案(有一套.. 290页

2026年国开电大城市管理学形考题库100道附参考.. 39页

2026年纪委廉政知识测试题(研优卷) 14页

2026年自考专业(会计)考试题库200道含答案(精.. 83页

2026年学生宪法知识测试题(研优卷) 14页

2026年安全员考试题库300道完美版 84页

2026年贵州大学c语言期末试题(黄金题型) 13页

2026年起重机司机考试题库200道含答案【精练】.. 76页

2026年安徽城市管理职业学院单招职业适应性考.. 37页

2025年湖南省建设工程工程量清单计价办法(新).. 51页

六年级英语上册第一单元测试题-(含答案) 9页

喝酒给老婆的检讨书 6页