实验内容反汇编一个简单的C程序
1.编写20209326_main.c
![](https://img2020.cnblogs.com/blog/2175008/202010/2175008-20201018090902332-626618929.png)
2.编译程序
$ gcc –S –o 20209326_main.s 20209326_main.c -m32
3.得到20209326_main.s文件
![](https://img2020.cnblogs.com/blog/2175008/202010/2175008-20201018091147681-616361059.png)
![](https://img2020.cnblogs.com/blog/2175008/202010/2175008-20201018091213291-1746536461.png)
![](https://img2020.cnblogs.com/blog/2175008/202010/2175008-20201018091220782-587834672.png)
4.删除20209326_main.s中以.开头的代码行(删除用于链接的辅助信息)
![](https://img2020.cnblogs.com/blog/2175008/202010/2175008-20201018091341471-1371611097.png)
![](https://img2020.cnblogs.com/blog/2175008/202010/2175008-20201018091350036-1932430429.png)
5.分析汇编过程如下图
问题
下一条指令地址为当前地址减4
32位系统,1个字节等于8位,所以一条指令占4字节,又栈由内存高地址向低地址生长,所以需减4