C语言中结构体定义实际上相当于变量入栈

struct context {
int edi;
int esi;
int ebx;
int ebp;
int eip;
};

对应的入栈顺序是

pushl %esp

pushl %eip

pushl %ebp
pushl %ebx
pushl %esi
pushl %edi