循环指令 : loop


简介 :

Paste_Image.png

代码 :

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;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容