.c文件对应到.s文件中的困惑
Test.c如下:#include<stdio.h>
void fun(void);
int main(void)
{
fun();
return 0;
}
gcc下翻译成Test.s,如下:
.file "Test.c"
.text
.globl main
.type main,@function
main:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
andl $-16, %esp
movl $0, %eax
subl %eax, %esp
call fun
movl $0, %eax
leave
ret
.Lfe1:
.size main,.Lfe1-main
.ident "GCC: (GNU) 3.2.2 20030222 (Red Hat Linux 3.2.2-5)"
对其中汇编语句
pushl %ebp
movl %esp, %ebp
subl $8, %esp
andl $-16, %esp
movl $0, %eax
subl %eax, %esp
不理解各有什么作用,请教一下大家,谢谢!