“郭孟琦 + 原创作品转载请注明CSDN博客 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ”
在大学计算机组成原理一课中学习各种汇编语言跟C语言的关系,同时在单片机接口技术中也学习了C51的汇编语言,在一些MCU调试中也看到了反汇编的内容。但是从来没亲自实践一下C语言是怎么变成汇编的过程以及他们之间的对应关系。作为作业今天就在这里写下我的发现吧。
按照要求这是一段很简单的c语言程序
进行编译生成汇编文件
生成的main.s文件 已经把多余的命令删除了(gvim好像确实没vim好用。。。)
一开始是这样的 空栈
ebp!esp! |
程序从main标签处运行,开始push,mov后(我用ebp!和esp!来表示实际的ebp esp所指向的位置吧,表示起来好麻烦 ebp