为什么我的程序有无限循环?

时间:2017-01-11 07:00:51

标签: assembly dos dosbox

我使用汇编语言制作了一个简单的程序,为了实现我在这里使用MS-DOS (DOSBox)代码:

.model small
.code
org 100h

mulai:

mov ah, 02h
mov dl, 'Z'
mov cx, 10h

lagi:

int 21h
inc dl
inc cx

loop lagi
int 20h

end mulai

我尝试loop实施但获得infinite loop,那么我的代码有什么问题?

1 个答案:

答案 0 :(得分:5)

loop递减cx,如果cx不为0,则跳转到给定的地址。

由于您在每次循环迭代时递增cxcx将永远不会变为0并且您有一个无限循环。