#####################################
作者:张卓
原创作品转载请注明出处:《Linux操作系统分析》MOOC课程 http://www.xuetangx.com/courses/course-v1:ustcX+USTC001+_/about
#####################################
作者:张卓
原创作品转载请注明出处:《Linux操作系统分析》MOOC课程 http://www.xuetangx.com/courses/course-v1:ustcX+USTC001+_/about
#####################################
1. 汇编一个简单的C程序
用C语言写一个小程序,简单即可,如下面的:
gcc -S -o main.s main.c -m32 (64位Linux虚拟机环境下适用,32位Linux环境可能会稍有不同)
得到一个main.s文件,里面以点开头的都是链接时的辅助信息;我们在看这些汇编代码时可以把他们都删除掉,留下来的就是纯汇编代码。
用C语言写一个小程序,简单即可,如下面的:
int g(int x)
{
return x + 4;
}
int f(int x)
{
return g(x);
}
int main(void)
{
return f(12) + 1;
}
然后用下面的命令编译成汇编代码:
gcc -S -o main.s main.c -m32 (64位Linux虚拟机环境下适用,32位Linux环境可能会稍有不同)
得到一个main.s文件,里面以点开头的都是链接时的辅助信息;我们在看这些汇编代码时可以把他们都删除掉,留下来的就是纯汇编代码。
1 g:
2 pushl %ebp
3 movl %