- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
;;;;;顺序程序举例;;顺序程序举例;顺序程序举例;顺序程序举例; ;;一、分支结构的两种形式:;1.二分支结构;2.多分支结构;注意:
在分支程序的两种结构中,无论条件是否满足,只能走一个分支,不可能同时走两个分支。
且程序只有一个入口一个出口。;;(1)单分支结构一
: ;程序段1
: ;产生条件
JCC BRANCH
S2: : ;程序段2
:
HLT
BRANCH: : ;分支程序段
:
:
JMP S2;(2)单分支结构二
S1: : ;程序段1
: ;产生条件
JCC S2 ;条件满足,转S2
BRANCH: : ;分支程序段
:
:
S2: : ;程序段2
:
HLT ;结束
; MOV AL,X
CMP AL,0
JL B
S2:MOV Y,AL
HLT
B: NEG AL
JMP S2;(3)双分支结构一
S1: : 程序段1
: ;产生条件
JCC BRANCH
: ;分支程序段1
:
S2: : ;程序段2
:
HLT ;结束
BRANCH: : ;分支程序段2
:
JMP S2 ;(4)双分支结构二
S1: : ;程序段1
: ;产生条件
JCC BRANCH
: ;分支程序段1
:
JMP S2
BRANCH: : ;分支程序段2
:
S2: : ;程序段2
:
HLT ; AND AL,0FH
CMP AL,10
JL B
ADD AL,37H
S2:MOV DL,AL
MOV AH,2
INT 21H
HLT
B: ADD AL,30H
JMP S2; AND AL,0FH
CMP AL,10
JL B
ADD AL,37H
S2:MOV DL,AL
MOV AH,2
INT 21H
HLT
B: ADD AL,30H
JMP S2;2.双分支程序设计举例 ;;;[例5]判断变量X的值是否为“偶数”。;6.3 分支结构程序设计;如果两个“平行”分支有相同的处理过程,可以把它们“合并” : ;;三、多分支程序设计;用多条条件转移指令组合实现。一次判断产生两条分支,N次判断产生N+1条分支。;[例6] 符号函数。EP606.asm
1 X0
Y= 0 X=0
-1 X0 ;6.3 分支结构程序设计;[例7]从键盘上输入一个小写字母,显示该字母的前导和后继。EP607.asm ;6.3 分支结构程序设计;6.3 分支结构程序设计;6.3 分支结构程序设计;2.地址表法
其设计思想是在数据段中定义一张地址表,将各个分支程序段的入口地址放入表中,然后根据各分支程序的编号,在地址表中找出转向某个分支程序的入口地址。
表地址=地址表首址+编号*2 ; 例:设有0,1,……N,共N+1个分支程序,各??支程序的入口分别为ADD0,ADD1,……ADDN。 ;;3.转移表法
与地址表法类似,不同的是表中建立的是转移指令表。 ;;;;;;;4.循环控制条件的选择;;;;;;;;; ;;;;;;;;;;;;;; ;; ; ;; ;多重循环——在循环程序的循环体中又包含着循环结构。
双重循环的一般结构:;; [例1] 在内存DATA开始存放100个字节数据,编程统计这些数据内“0”和“1”的个数相等的数据个数,并存入NUMB单元。Count01.asm; [例2] 从内存BUF单元开始存放有若干字节的数据块,编程统计该数据块中,所有位为“1”的个数。Count1.asm
;[例3] 用双重循环编写软件延时子程序。
SOFTDLY PROC
MOV BL,100
DELAY: MOV CX,2801 ;内循环,延时10ms
WAIT: LOOP WAIT
DEC BL
JNC DELAY
RET
SOFTDLY ENDP;;;谢 谢!
文档评论(0)