assembly - JE 的跳跃距离有限制吗?

标签 assembly x86

我听说 x86 指令集中的条件跳转指令限制为 256 字节。 (换句话说,跳转不能超过 256 字节。)

这是真的吗?我一直在编写涉及 JMP 指令的逻辑来解决这个问题。有必要吗?

最佳答案

IA32支持8位、16位和32位条件相对跳转。 x86_64 支持 8 位和 32 位条件相对跳转。请参阅Intel's Software Developer's Manuals .

无论如何,如果您的标签超出跳转范围,您的汇编器(或链接器,如果涉及重定位)应该警告您。

<小时/>

PS:在实模式(和虚拟 8086 模式)下,条件跳转限制为 +/-127 的偏移量。

关于assembly - JE 的跳跃距离有限制吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3818746/

相关文章:

assembly - 在汇编中反转字符串时遇到问题

assembly - 了解 ARM 汇编代码

c++ - __userpurge 调用 (IDA)

assembly - 如何强制 NASM 将 [1 + rax*2] 编码为 disp32 + index*2 而不是 disp8 + base + index?

x86 - 当线程可能会切换内核时,如何正确使用 TSX-NI(HLE 和 RTM)?

linux - 如何通过内联汇编中的sysenter调用系统调用?

c - 如何将数据与内联汇编进行比较?

c# - 解析相似汇编指令的正则表达式

assembly - PIC16F684 单片机中断处理

用 NEON 改进的代码