第6篇 结构化程序设计方法.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文档。上传文档
查看更多
;;;;;顺序程序举例;;顺序程序举例;顺序程序举例;顺序程序举例; ;;一、分支结构的两种形式:;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)

189****6140 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档