mkdir helloworld //创建文件夹命令
cd helloworld //进入新建的文件夹
vi main.c //打开vim并创建main.c文件
//按 i 键进入编辑状态,以下是程序
int g(int x)
{
return x + 8;
}
int f(int x)
{
return g(x);
}
int main(void)
{
return f(12) + 2;
}
ESC :wq//保存并退出
gcc main.c//编译成可执行文件a.out
gcc -S -o main.s main.c -m32//将main.c反编译成32位的main.s汇编程序
所有以点开头的,都是链接时候的辅助信息。删除所有以点开头的内容,留下来的就是纯汇编代码。
enter//在栈上堆砌一个新栈
pushl %ebp
movl %esp,%ebp
leave//撤销这个栈
movl %ebp,%esp
popl %ebp
网友评论