汇编语言_循环语句_loop_loopz/loope_loopnz/loopne

三种循环语句说明

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码

原创文章 12 获赞 11 访问量 400

猜你喜欢

转载自blog.csdn.net/FRANK48691/article/details/106160609