您的位置:首页 > 运维架构 > Linux

遇到的Linux反汇编问题 & 转载一篇好文章

2011-07-24 11:16 411 查看
今天突发奇想看了下linux下eclipse的反汇编
main():
0804873d:   push %ebp
0804873e:   mov %esp,%ebp
08048740:   and $0xfffffff0,%esp
08048743:   push %ebx
08048744:   sub $0x1c,%esp
无论linux还是windows,C++的实现原理基本是一致的,例如上面函数入口处理:
都是如下步骤:1、用栈保存寄存器ebp2、用寄存器ebp保存栈底地址——寄存器esp
3、函数内有临时变量时,栈区腾出空间给临时变量——寄存器esp-临时变量的内存大小4、用栈保存其他寄存器
具体可以翻看我之前写的一篇文章:《反汇编基础》调用函数时栈的操作
头一次看到linux下的汇编语句觉得即熟悉又陌生,后来才发现,原来linux采用的是AT&T格式的汇编,而windows采用的是intel格式(8086)汇编。
具体区别,我在网上找了篇好文章:

《Linux中的汇编语言》

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐