我的循环有问题,其中包含的代码很长,它给了我错误“短跳超出范围”,所以我想知道是否有一种方法可以通过不减少来使循环工作其中代码量有多少?
示例1:
label:
my code
LOOP label
;它工作正常,但是当我在其中添加更多代码时
示例2:
label:
my code
more code added
LOOP label
;它不起作用并且出现错误“短跳超出范围”
最佳答案
LOOP
指令不能跳转到超过127字节的距离。您需要更改代码以将 DEC ECX
与 JNZ
指令结合使用。
例如:
MOV ECX, 10
label:
;some codes
LOOP label
成为:
MOV ECX, 10
label:
;some codes
DEC ECX
JNZ label
关于nasm - 短跳超出范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12136480/