【发布时间】:2013-12-11 16:20:11
【问题描述】:
我已经构建了一个汇编程序,当我尝试循环一个标签、编译(0 个错误)并执行时,我得到了这个错误:
ntvdm cpu has encountered an illegal instruction
所以我将代码删除到标签中,但我仍然收到该错误! 如果我删除循环语句,程序就会工作
循环语句不是下面的语法吗?
mov cx,5
loop foo
;execute foo 5 times
【问题讨论】:
-
foo: 在循环语句下
-
如果我没记错的话应该是之前(例如stackoverflow.com/questions/5849606/tasm-embedded-loops)。
-
好的,谢谢..但能走多远?还有一件事……一定是在cx赋值和循环语句之间?
-
发布的答案应该会告诉你。我不知道您所说的“能走多远”是什么意思-我真的不知道装配线的距离会对此产生多大影响,但如果我错了,我会很感激纠正。
-
@SubSevn:这确实很重要(间接地),因为目标地址表示为相对于当前指令指针的带符号的 8 位偏移量。这允许在 -128..127 范围内的偏移量。