长跳和短跳的区别(x86)

Difference between long and short jump (x86)

我读到当地址中的相对跳转小于124时要使用短跳转,否则应使用长跳转。

x86 上两种类型的跳转在 CPU/性能 中执行的操作有何不同?

实际上有三种JMP指令;短、​​近、远(长)。

JMP是您所指的相对JMP。它被编码为两个字节;实际 JMP 和字节数 +/- 相对于当前 IP。

近跳转允许您在当前 "segment"(使用实模式术语)或在 CS 选择器中当前选定的内存区域内跳转。

long 或 Far JMP 还包含一个选择器(或实模式下的段)

你可以自己查一下时间。与时间相关的最大差异是由完成 JMP.

必须读取的不同字节数引起的