首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >差分同一操作码的指令

差分同一操作码的指令
EN

Stack Overflow用户
提问于 2015-06-30 09:12:27
回答 1查看 349关注 0票数 2

为了学习目的,我正在Linux(64位)上编写ftrace程序,我需要使用ptrace() syscall解析指令。

我感兴趣的指令是ret和call。呼叫指令可以采用不同的操作码(0xe8、0x9a和0xff)。这是最后一个质疑我的问题:这个0xff也可以代表inc,dec,jmp和push指令,但是我读到“寄存器/操作码字段”改变了。

我的问题是:我怎样才能得到呼叫而不是12月或公司的信息?我可以访问操作码和登记簿。

谢谢你的阅读和帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-30 09:27:38

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

代码语言:javascript
运行
复制
000     inc instruction

001     dec instruction

010     intra-segment indirect call

011     inter-segment indirect call

100     intra-segment indirect jump

101     inter-segment indirect jump

110     push instruction

111     unused
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31134113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档