- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第章 分支与循环程序设计 汇编语言程序设计 教学课件
【例4.15】设内存中存放有一个由若干字符构成的符号串,起始逻辑地址已放在DS和SI中,串长放在CX中,编写程序段把该串中各字符的位置颠倒排列,结果仍放回原处。 【分析】这是一个交换问题,需要把串的第1个字符与最后一个字符交换,第2个字符与倒数第2个交换,……。交换操作的次数是串长的一半,比如串长为6,则只要进行3次这样的交换,若串长是7,仍然进行3次交换,中间一个字符是不需要改变位置的。因此可以先用DI取最后一个字符的偏移地址,即DI←SI+CX-1,再求出CX÷2的商,然后在DS段中,用SI所指向的字符与DI所指向的字符交换,每次交换后把SI的值加1,DI的值减1,重复进行,次数是串长的一半。 【解】 MOV DI,SI ADD DI,CX SUB DI,1 ;DI←SI+CX-1 MOV AX,CX MOV DX,0 MOV BX,2 DIV BX MOV CX,AX ;CX←CX÷2的商,作为 循环次数 JCXZ lab2 ;CX为0转 lab: MOV AL,[SI] ;取出SI所指的串前部字符 MOV AH,[DI] ;取出DI所指的串后部字符 MOV [SI],AH ;串后部取出的字符放到串前部 MOV [DI],AL ;串前部取出的字符放到串后部 ADD SI,1 SUB DI,1 LOOP lab Lab2: … 4.4.4 循环嵌套 在一个循环的循环体中又出现了另一个循环,这种现象称为循环嵌套。当这种嵌套关系只有内外两层时,程序设计并不非常困难。这种结构在高级语言中有比较规范的语法限制,但在汇编语言中,循环都是由编程者自己用跳转指令控制的,所以编写程序时需要很仔细地区分内外循环,要把所有内循环部分套在外循环的循环体当中,不能出现两个循环部分交叉的情况。 【例4.16】在屏幕上显示如下由数字拼成的形状: 0123456789 1234567890 2345678901 3456789012 4567890123 5678901234 6789012345 7890123456 8901234567 9012345678 【分析】这是典型的内外循环相套的情况,用外循环控制10行,内循环控制每一行上的10个符号,尽管内外循环都确切地知道执行次数,但只能把其中之一用LOOP指令实现。 【解】 code SEGMENT ASSUME CS:code main: MOV BL,0 ;外循环用BL从0数到9控制 lab1: MOV CX,10 ;内循环用LOOP指令,CX中 放次数10 MOV DL,0‘ ADD DL,BL ;DL中放每行第一个要显示的字符 lab2:MOV AH,2 INT 21H ;显示DL中的字符 ADD DL,1 CMP DL,9 JBE lab3 MOV DL,0 ;DL逐个递增取下一符号,超过9则回0 ;内循环控制 MOV DL,13 INT 21H ;回车 MOV DL,10 INT 21H ;换行 ADD BL,1 CMP BL,10 JB lab1 ;外循环控制 MOV AX,4C00H INT 21H ;交还控制权 code ENDS END main lab3: LOOP lab2 本 章 要 点 分支结构和循环结构及第3章的顺序结构是程序的三种基本结构。分支的基本原理是在条件判断的基础上选择两组指令之一。汇编语言的条件判断和选择一般分为两个步骤,先用一条能够影响条件标志寄存器的指令设置标志位,然后用条件判断指令根据标志位的设置情况决
您可能关注的文档
- 新目标英语九年级Unit How do you study for a test教学课件.ppt
- 第章第讲工业机械手PLC控制系统程序设计 副本.ppt
- 语法 Sep珞伽版.ppt
- Chapter Ensuring Price Stability 英文版的宏观经济学 萨缪尔森版 教学课件.ppt
- DM石材地面 装饰施工分项作业培训教材 教学课件.ppt
- 九年级语文上册第课 敬业与乐业 教案.ppt
- 龙平渠水保方案报批稿_图文.doc
- 级应用化工技术专业毕业论文.ppt
- 连锁超市系列内训课程促销活动的商品组织及价格策略.ppt
- 2011届高中政治经济生活中常见计算题专题.doc - 高中政治经济生活中 ....doc
最近下载
- ISO27001 2022版内审全套资料(内审计划+检查表+审核报告等).doc
- fidic99版新红皮书中英文双语对照版.docx VIP
- 钢板弹簧设计计算程序Ver1.0-20070405.xls VIP
- 区块链产业学院建设思路与规划.pptx VIP
- 建筑外门窗气密、水密、抗风压性能分级(1).doc VIP
- 读本低年级 第2讲《一心跟着共产党》第二课时《党和人民心连心》教学课件.pptx VIP
- 数控车床高级工理论考试题库(含答案).docx VIP
- 《WPS Office办公应用案例教程》教学课件 项目8 WPS Office App文档的基本应用.ppt VIP
- 《WPS Office办公应用案例教程》教学课件 项目9 WPS Office App表格和演示文稿的应用.ppt VIP
- 通用质量特性工作计划-模板.docx VIP
文档评论(0)