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

问题描述:

可能吗?英特尔文档说操作码E8可以与相对位移值一起使用。具有64位立即数值的长模式(64位)相对调用

E8 CD CALL rel32

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

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

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