区分相同操作码

时间:2015-06-30 09:12:27

标签: assembly x86 machine-code

我正在编写一个用于研究目的的Linux(64位)上的ftrace程序,我需要使用ptrace()系统调用解析该指令。

我感兴趣的指令是撤退和通话。调用指令可以采用不同的操作码(0xe8,0x9a和0xff)。这是最后一个问我的问题:这个0xff也代表inc,dec,jmp和push指令,但我读到“寄存器/操作码字段”发生了变化。

我的问题是:我怎样才能获得呼叫被叫的信息而不是dec或inc?我可以访问操作码和寄存器。

感谢您阅读并帮助我。

1 个答案:

答案 0 :(得分:2)

您可以通过查看下一个指令字节中的3位字段(位5,4,3)来区分。

window.setInterval(random_imglink, 3000);