目录
三种循环语句说明
opr:
...
loop opr
每执行完一次循环 cx自减1
当cx=0时结束循环
opr:
...
loopz/loope opr
每执行完一次循环 cx自减1
当zf=0时或者cx=0 都会结束循环
opr:
...
loopnz/loopne opr
每执行完一次循环 cx自减1
当zf=1时或者cx=0 都会结束循环
代码例子
找出String中不是‘*’的字符位置,并保存在y单元中 ;
string DB ‘*****p****’
...
mov cx,10
mov bx,-1
mov al,0
ss3:
inc bx
cmp string[bx],'*'
loopz ss3
mov y,bx ;bx也可以做数组下表
取出字母串ALPHA中第一个小写字母放入dl
mov bx,-1
mov cx,m
ss4:
inc bx
mov al,ALPHA[bx]
test al,20h
loopz ss4
mov dl,al
Test对两个参数(目标,源)执行AND逻辑操作,并根据结果设置标志寄存器,结果本身不会保存
循环输入字符,并将字符保存在SYMBOL数组中,按回车结束
mov bx,0
mov ah,1
mov cx,m
ss5:
int 21h
mov SYMBOL[bx],al
cmp al,0Dh
loopnz ss5
mov ax,0
0Dh 回车的ASCII码