循环是一种特殊的转移流程,当满足(或不满足)某条件时,反复执行一系列操作,直到不满足(或满足)条件为止。循环流成的条件一般都是循环计数,在程序中用循环计数来控制循环次数。
1 .循环指令 LOOP 语句格式: LOOP 短标号 功能:( CX )- 1 ≠ 0 ,则程序转移(循环);否则,顺序执行。 说明:使用 LOOP 指令可代替两条指令: DEC CX JNE 短标号
2 .相等 / 为零循环指令 LOOPE 语句格式:① LOOPE 短标号 ② LOOPZ 短标号 功能:( CX )- 1 ≠ 0 且 ZF=1 ,则程序转移(循环);否则,顺序执行。
3 .不相等 / 不为零循环指令 LOOPNE 语句格式:① LOOPNE 短标号 ② LOOPNZ 短标号 功能:( CX )- 1 ≠ 0 且 ZF=0 ,则程序转移(循环);否则,顺序执行。
4 . CX 为零转移指令 JCXZ
语句格式: JCXZ 短标号 功能:( CX )- 1 ≠ 0 ,则程序转移(循环);否则,顺序执行。 例:有一串L个字符的字符串存储于首地址为 ASCII_STR 的存储区中,如要求在字符串中查找“空格” (ASCII 码为 20H) ,找到则继续执行,未找到则转到 NOT_FOUND 去执行。 MOV CX,L MOV SI,-1 MOV AL,20H NEXT:INC SI CMP AL,ASCII_STR[SI] LOOPNE NEXT JNZ NOT_FOUND … NOT_FOUND: …
|