一.寄存器(集成到CPU上的)
1.esp(栈顶指针),ebp(栈底指针)
这两个寄存器中存放的是地址,这两个地址是用来维护函数栈帧的,维护的是所调用的函数。
2.eax,ebx,ecx,edx,esi,edi....
临时存放形参变量,程序结束之后寄存器中的内容会销毁。
二.
1.push-----压栈(给栈区放入元素)
(1) 第一个push是在将调用main函数(__tmainCRTStartup)中的ebp的值压栈,再将esp所指的地址指向更低的地址,从而能够放下ebp的值。
(2) 第二,三,四个push是将ebx,exi,edi压栈到ebp和esp中间,同时esp存放的地址指向更低的地址。
(3) ————>