欢迎来到天天文库
浏览记录
ID:5428942
大小:108.00 KB
页数:9页
时间:2017-11-12
《汇编教程 循环控制指令loop指令》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、多分支结构程序设计P75例5.41循环结构程序设计:循环控制指令8086提供了三条专用的循环控制指令:LOOPlabel;CX≠0,循环;否则退出LOOPZ/LOOPElabel;CX≠0且ZF=1,循环;否则退出LOOPNZ/LOOPNElabel;CX≠0且ZF=0,循环;否则退出…CX←CX-1循环条件成立?YN示意图2循环控制指令(2)(end)程序举例:统计ES段中string字符串包含空格的个数,设字符串的长度为count字节,结果存入result单元。MOVCX,COUNTMOVSI,OFFSETSTRING;取偏移地址XORBX,BX
2、;记录空格数目JCXZDONE;字符串长度为0,退出MOVAL,20H;空格的ASCII码AGAIN:CMPAL,ES:[SI]JNZNEXT;不是空格,不计数INCBX;是空格,计数NEXT:INCSI;调整指针,指向下一个LOOPAGAIN;字符个数减一,不为0,继续循环DONE:MOVRESULT,BX;…32.5节目录1---6(串操作)串操作指令“串”:在存储器中连续排列的一组数据,称为数据串;对数据串进行操作的指令称为串操作指令。1.串传送指令MOVS2.串存储指令STOS3.串读取指令LODS4.串比较指令CMPS5.串扫描指令SCAS
3、6.重复前缀指令REP4串操作(1)传送串传送指令:MOVSMOVSB;字节传送:ES:[DI]←DS:[SI];SI←SI±1,DI←DI±1MOVSW;字传送:ES:[DI]←DS:[SI];SI←SI±2,DI←DI±2注释:1)源数据串可以段跨越,目的串不可。2)DF=0,地址指针+1或+2,DF=1,指针-1或-2。3)一般不使用格式MOVS目的串名,源串名。4)不影响标志。5清除进位标志位CLCCF=0进位标志位置位STCCF=1进位标志位取反CMCCF取反清除方向标志CLDDF=0方向标志位置位STDDF=1清除中断标志CLIIF=0中
4、断标志位置位STIIF=1标志位操作指令6串操作(2)movsi,offsetsourcemovdi,offsetdestmovcx,100cldLoopm:movsbdeccxjnzloopmloopm:movsblooploopmmovcx,50cldloopm:movsw例:将source指示的100个字节传送到本段dest指示的区域。7串操作(3)传送方向:1)可正向,也可反向。2)只能正向。3)只能反向。低地址高地址源数据串目的数据串8上机实验:P925.45.69
此文档下载收益归作者所有