我读到,当地址上的相对跳跃小于124时,将使用短跳,否则应该使用跳远。
x86 上的两种跳转类型在 CPU 中执行的操作/性能有什么区别?
实际上有三种类型的JMP
指令:短,近和远(长(。
简短JMP
是您引用的相对JMP
。 它被编码为两个字节;实际JMP
和相对于当前 IP 的字节数 +/-。
近跳跃允许您在当前"段"内跳转(使用实模式术语(或在 CS 选择器中当前选定的内存区域内跳转。
长JMP
或远还包括一个选择器(或实模式下的段(
您可以自己查找时间。 与时间有关的最大差异是由完成JMP
必须读取的不同字节数引起的。