我被要求用汇编语言创建一个简单的循环,但我遇到了麻烦,因为循环没有在它应该结束的时候结束,它继续在一个无限循环中。
我需要给 ECX 一个由输入获取的变量,但是在我下面的代码中,即使我直接指定了计数器,它仍然会陷入无限循环。
我的代码在这里(更新):
代码可能包含实际循环以外的错误。
//为解释程序要求而编辑...
程序需要一个输入“n”,它将用作循环的计数器。然后我输入“n”个更多数字,当一个数字为正时,我需要将其添加到变量 postot,当我需要将其添加到变量 negatot 时。输入“n”个数字后,我打印每个变量的结果并退出程序。
编辑2:
通过正确清除堆栈修复了循环问题,因此我添加了:
add esp,8
和:
next: push ecx
...
pop ecx
loop next
这解决了循环问题。