相对跳出范围错误

Relative Jump Out of Range Error

如何在没有中间跳转的情况下修复 "relative jump out of range" 错误?喜欢扩大跳跃范围?我听说过一种叫做跳远或类似的东西,它使用 32 位而不是常规的 16 位。

但是,我找到了两个有用的解决方案来解决错误。 我使用的第一个是 TASM.cfg。在 TASM 中,您要做的是打开 TASM/BIN 文件夹,创建一个名为 TASM.cfg 的文件并在其中输入您的命令,或者像我一样:/jJUMPS。然后,您只需发送命令 tasm file 它就会自动运行。

第二种解法是file.cmd。你想要做的是打开 TASM/BIN 文件夹,创建一个名为 file.cmd 的文件(或者更像是你的程序名称)并在其中写入以下行:

/jJUMPS
YOUR_ASM_FILENAME (WITHOUT EXTENSION)

然后,您在命令行中发送以下命令:tasm @file.cmd.

希望它能帮助大多数也卡在上面并且不想中间跳转的人。

解决它的一种方法是将分支目标靠近跳跃。如果你能做到这一点,与让汇编程序使用 rel16 or rel32 JCC.

相比,它可以节省代码大小