x86 中的绝对远跳操作数是什么



执行绝对远 JMP 的操作数是什么?

我认为它应该如下所示:

EA

XX XX XX XX

我尝试将 XX XX XX 制作为我想跳转到的 4 字节地址,但它没有按预期工作。

这将是一个绝对的远距离跳跃。

例如,对于 16 位代码,字节0xEA、0x12、0x34、0x56 0x78 ws 将是指令jmp far 0x7856:0x3412(CPU 将尝试将 CS 设置为 0x6745并将 IP 设置为 0x3412(。

对于 32 位代码,大小需要更大,例如字节0xEA、0x12、0x34、0x56、0x78、0x9A,0xBC将是指令jmp far 0xBC9A:0x78563412(其中 CPU 将尝试将 CS 设置为 0xBC9A并将 EIP 设置为 0x78563412(。

换句话说,操作数是目标 16 位 IP(或 32 位 EIP(,后跟目标代码段;两个部分都按小端顺序排列。

相关内容

  • 没有找到相关文章

最新更新