-1

我是 Intel x86 程序集的新手——这实际上是我为它编写的第一个程序。

我正在尝试使用与此类似的循环:

mov ecx,5
numLoop:
[OTHER CODE - DOESN'T OVERWRITE ECX]
loop numLoop

这对我来说看起来不错,但是它只是在输出中永远循环,我不知道为什么。ECX在额外代码期间,我根本不改变 的值。

4

1 回答 1

1

小技巧:当你使用时,loop你应该push ecx在代码之前堆栈,而不是在loop调用之前,你应该像这样从堆栈中弹出它。

mov ecx,5
numLoop:
push ecx
[OTHER CODE - DOESN'T OVERWRITE ECX]
pop ecx
loop numLoop
于 2013-11-01T23:57:54.800 回答