简介 :
代码 :
assume cs:code
code segment
start:
mov ax, 2000H
mov ds, ax
mov bx, 0000H
search:
mov ch, 00H
mov cl, [bx]
inc cx
; 由于 loop 实际上是 if(!(--cx)){goto my_loop}
; 因此当 cx 为 1 的时候跳出循环
; 所以需要将 cx 增加 1
inc bx
loop search
save:
dec bx ; bx 被多加了一次以后才执行到 loop 并跳出循环 , 因此需要修正 bx = bx - 1;
mov dx, bx
finish:
mov ax,4cH
int 21H
code ends
end start
总结 :
my_loop:
[Your code]
loop my_loop
就相当于 :
my_loop:{
[Your code]
}
cx--;
if(!cx){
goto my_loop;
}