欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

容易汇编求解读。

更新时间: 2014-01-05 03:16:12 责任编辑: Author_N1

 

简单汇编求解读。。。
本人小菜,有一个简单c程序,转成汇编后有一句不懂,求大大解释下,x86。


看不懂的是汇编的第28行,我知道它的目的是为了传递fun的参数,但是%esp是保存的栈顶指针,它在这里向里面写数据了,却没有加%esp的值,那么下次执行push的时候不就会覆盖这个值了么?本人很菜,求不喷啊。。
--参考方法--
按照堆栈的特性,手工压入数据的话,应该是先减 esp 然后再将参数存在 [esp] 吧,而不是加 esp 的值;所以,看 25 行,esp 减了 $20 ,即是为三个局部变量 a,b,c 的空间,也有这个参数所需要的空间。
看上面的 11 行,那个象是 3 的应该是 8 吧?你着截图是自己拼接过的?如果是 3 的话,就很费解了。
--参考方法--
引用:
按照堆栈的特性,手工压入数据的话,应该是先减 esp 然后再将参数存在 [esp] 吧,而不是加 esp 的值;所以,看 25 行,esp 减了 $20 ,即是为三个局部变量 a,b,c 的空间,也有这个参数所需要的空间。
看上面的 11 行,那个象是 3 的应该是 8 吧?你着截图是自己拼接过的?如果是 3 的话,就很费解了。
涨知识
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:16:12
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/20279/
本文WWW.DOC100.NET DOC100.NET版权所有。