相对超出范围误差

时间:2015-01-29 22:42:55

标签: assembly tasm

如何在没有中间跳跃的情况下修复“相对跳出范围”错误?喜欢伸展跳跃范围?我听说过一种叫做跳远的东西,比如使用32位而不是常规的16。

2 个答案:

答案 0 :(得分:1)

但是,我找到了两个有用的解决方案来解决错误。 我使用的第一个是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

希望它帮助你们中的大多数人也陷入困境,并且不想在中间跳跃。

答案 1 :(得分:0)

解决这个问题的一种方法是使分支目标更接近跳跃。如果你能做到这一点,它可以节省代码大小,而不是让汇编程序使用rel16 or rel32 JCC