第5章循环程序设计ppt课件.ppt

第5章循环程序设计ppt课件.ppt

ID:59491610

大小:318.00 KB

页数:24页

时间:2020-09-13

第5章循环程序设计ppt课件.ppt_第1页
第5章循环程序设计ppt课件.ppt_第2页
第5章循环程序设计ppt课件.ppt_第3页
第5章循环程序设计ppt课件.ppt_第4页
第5章循环程序设计ppt课件.ppt_第5页
资源描述:

《第5章循环程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章循环程序设计DO-WHILE结构DO-UNTIL结构控制条件初始化循环体YN控制条件初始化循环体YN循环程序结构设置循环的初始状态循环的工作部分及修改部分1.计数控制:循环次数已知2.特征值控制:次数已知,提前结束3.地址边界控制:循环次数未知一、循环指令LOOP//计算0+1+2+3+4+5+6+7+8+9的值intsum=0;for(inti=0;i<10;i++)sum=sum+i;//计算0+1+2+3+4+5+6+7+8+9的值movax,0movbx,0movcx,10s:addax,bxincbxloops标号S代表

2、一个地址ax相当于sumbx相当于i判断Loop指令指令的格式是:loop标号CPU执行loop指令的时候,要进行两步操作:①(cx)=(cx)-1;②判断cx中的值,不为零则转至标号处执行程序,如果为零则向下执行,退出循环。可见,cx中的值影响着loop指令的执行结果。用loop指令来实现循环功能时,cx中要存放循环次数。一条循环指令可以用修改循环计数和判断转移条件的两条指令替代LOOPAGAINDECCXJNZAGAIN程序代码:codesegmentassumecs:codestart:movax,2movcx,10s:addax

3、,axloopsmovax,4c00hint21hcodeendsendstart这个程序的功能是什么?该程序实现的功能是计算2∧11我们可以总结出用cx和loop指令相配合实现循环功能的三个要点:(1)在cx中要存放循环次数;(2)loop指令中的标号所标识地址要在前面;(3)要循环执行的程序段,要写在标号和loop指令的中间。(4)loop指令的执行不影响条件码标志位。例:求首地址为ARRAY的M个字之和(不考虑溢出),结果存入TOTAL(ARRAY和TOTAL都被定义为字变量)MOVCX,MMOVAX,0MOVSI,AXAGAIN

4、:ADDAX,ARRAY[SI]ADDSI,2LOOPAGAINMOVTOTAL,AX寄存器相对寻址方式例:编制程序将存放在首地址为ARRAY的字符串“happynewyear”向高地址方向移动一个字节的位置datasegmentarraydb‘happynewyear’dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovax,4c00hint21hcodeendsendstartmovcx,14;设置循环次数movbx,13;初始化s:moval,arr

5、ay[bx]movarray[bx+1],aldecbxloops二、可提前结束的循环指令功能格式测试条件当为0或相等时循环LOOPZ/LOOPE标号ZF=1且(CX)≠0不为0或不相等循环LOOPNZ/LOOPNE标号ZF=0且(CX)≠0执行步骤:(1)(CX)←(CX)-1(2)检查是否满足测试条件,如满足则实现循环;不满足则退出循环。注意:*CX中存放循环次数*与比较指令CMP联合使用可提前退出循环。例:编制程序查找存放在首地址为string的字符串中的字母“n”,找到则将其改为大写的“N”,没找到则结束程序datasegmen

6、tstringdb‘happynewyear’dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovax,4c00hint21hcodeendsendstartmovcx,14;设置循环次数movbx,-1;初始化moval,”n”s:incbxcmpal,array[bx]loopnzs(若zf=0,没有找到,结束程序)movarray[bx],”N”思考题:对于如下程序movax,2movcx,3s:addax,2s1:loopsmovdi,offset

7、s1movsi,offsets3movax,cs:[di]movcs:[si],axmovax,1movcx,3s2:addax,2s3:nopnop所有指令执行完后ax的值为_____。A、15B、7C、11D、3BBX1234例1:把BX中的二进制数以十六进制的形式显示在屏幕上BX循环左移4位高位清零,保留低4位转换为ASCII码是A~F?加7显示字符……movch,4;设置循环次数rotate:movcl,4;设置移位位数rolbx,cl;循环左移4位moval,bl;取低8位andal,0fh;保留低4位addal,30h;’0

8、’~’9’ASCII30H~39Hcmpal,3ahjlprintit;判断是否为字母,不是则跳转addal,7h;’A’~’F’ASCII41H~46Hprintit:movdl,almovah,2int

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。