【发布时间】:2015-09-17 00:06:24
【问题描述】:
出于学习目的,我正在 Linux(64 位)上编写 ftrace 程序,我需要使用 ptrace() syscall 解析指令。
我感兴趣的指令是 ret 和 call。调用指令可能采用不同的操作码(0xe8、0x9a 和 0xff)。这是最后一个问我的问题:这个 0xff 也可以代表 inc、dec、jmp 和 push 指令,但我读到“寄存器/操作码字段”发生了变化。
我的问题是:如何获得 call 被调用而不是 dec 或 inc 的信息?我可以访问操作码和寄存器。
感谢您阅读和帮助我。
【问题讨论】:
标签: assembly x86 machine-code