【发布时间】:2022-12-17 13:51:51
【问题描述】:
如果我做类似的事情(虚拟示例):
jmp 1f
1: ret
在 gcc/clang 上,它会生成一个较短的相对跳转,因为标签就在附近。
我很好奇,无论标签的距离如何,都可以强制使用 JMP rel32 吗?
【问题讨论】:
-
@msaw328 谢谢。我会处理的。
-
您可以通过手动构建 jmp rel32 以一种骇人听闻的方式模拟它(您可以通过将其放入宏中来改进它):
.byte 0xe9.long (1f - 4) - .1: ret -
@MichaelPetch 喜欢它的蛮力。谢谢!
-
作为参考,NASM 允许
jmp strict near ...