汇编错误中的循环语句

时间:2013-12-11 16:20:11

标签: assembly x86-16 tasm

我已经构建了一个汇编程序,当我尝试循环标签,编译(0错误)并执行时,我收到此错误:

    ntvdm cpu has encountered an illegal instruction

所以我将代码删除到标签中,但我仍然得到错误! 如果我删除循环语句,该程序工作

循环语句中没有以下sintax吗?

    mov  cx,5
    loop foo
    ;execute foo  5 times

2 个答案:

答案 0 :(得分:2)

哪里是“foo”?

应该是这样的:

mov cx,5
foo:
;do stuff
loop foo

答案 1 :(得分:0)

循环的替代是jmp语句,它有许多类型,例如:je,jg,jnz,jz e.t.c.

mov cx,5;let you want to loop 5 time, move 5 in cx
jmp foo; jumping to foo

;some stuff if you want

foo:

     ;do some thing you want

dec cx;decrease cx by 1
jnz foo; jump to foo if value of cx is not zero

当值为零时,循环将结束,循环后你想要做的任何事情都会到这里