资源预览内容
第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
第9页 / 共9页
亲,该文档总共9页全部预览完了,如果喜欢就下载吧!
资源描述
多分支结构程序设计 P75 例5.41循环结构程序设计:循环控制指令 8086提供了三条专用的循环 控制指令: LOOP label ;CX0,循环 ;否则退出 LOOPZ/LOOPE label ;CX0且ZF=1,循环 ;否则退出 LOOPNZ/LOOPNE label ;CX0且ZF=0,循环 ;否则退出CXCX-1循环条件成 立?YN示 意 图2循环控制指令(2)(end)程序举例:统计ES段中string字符串包含空格的个 数,设字符串的长度为count字节,结果存入result 单元。MOV CX,COUNT MOV SI,OFFSET STRING;取偏移地址XOR BX,BX ;记录空格数目JCXZ DONE ;字符串长度为0,退出MOV AL,20H ;空格的ASCII码 AGAIN:CMP AL,ES:SIJNZ NEXT ;不是空格,不计数INC BX ;是空格,计数 NEXT: INC SI ;调整指针,指向下一个LOOP AGAIN ;字符个数减一,不为0,继续循环 DONE: MOV RESULT,BX ; 32.5节 目录 1-6(串操作)串操作指令“串”:在存储器中连续排列的一组数据,称为数据串 ;对数据串进行操作的指令称为串操作指令。1. 串传送指令 MOVS2. 串存储指令 STOS3. 串读取指令 LODS4. 串比较指令 CMPS5. 串扫描指令 SCAS6. 重复前缀指令 REP4串操作(1)传送串传送指令: MOVSMOVSB;字节传送:ES:DIDS:SI;SI SI1,DI DI1MOVSW;字传送:ES:DIDS:SI;SI SI2,DI DI2注 释:1)源数据串可以段跨越,目的串不可。2)DF=0,地址指针+1或+2,DF=1,指针-1或-2。3)一般不使用格式 MOVS 目的串名,源串名。4)不影响标志。5清除进位标志位 CLC CF=0 进位标志位置位 STC CF=1 进位标志位取反 CMC CF取反 清除方向标志 CLD DF=0 方向标志位置位 STD DF=1 清除中断标志 CLI IF=0 中断标志位置位 STI IF=1标志位操作指令6串操作(2)mov si,offset sourcemov di,offset destmov cx,100cld Loopm:movsbdec cxjnz loopmloopm:movsbloop loopmmov cx,50 cld loopm:movsw例:将source指示的100个字节传送到 本段dest指示的区域。7串操作(3)传送方向:1)可正向,也可反向。2)只能正向。3)只能反向。低地址高地址源数据串目的数据串8上机实验: P92 5.4 5.69
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号