具有 64 位立即值的长模式(64 位)相对调用

cha*_*ika 2 c assembly x86-64 intel

是否可以?英特尔文档称操作码 E8 可以与相对位移值一起使用。

E8 cd 调用 rel32

“调用近、相对、相对于下一条指令的位移。在 64 位模式下,32 位位移符号扩展到 64 位。”

这是否意味着只允许 32 位位移?我对这里的措辞很不清楚。

nne*_*neo 5

是的。这意味着操作码后面跟着一个 32 位位移。lea如果您想要更长的时间,您可以通过和 间接调用自行计算。