【发布时间】:2016-02-25 09:49:08
【问题描述】:
在gcc -g -o program -m32 program.c 在 64 位机器(运行 ubuntu 14.04)上编译的 main 函数(一个简单的玩具程序)的序言中,我得到以下反汇编:
dump of assembler code for function main:
0x08048e24 <+0>: push %ebp
0x08048e25 <+1>: mov %esp,%ebp
0x08048e27 <+3>: and $0xfffffff0,%esp
...
处的指令的目的是什么?
也就是$esp为什么要指向一个16位对齐的地址呢?
【问题讨论】: