堆栈
是一个连续的内存区域 大小为4gb
由ss段寄存器标记其实位置
内存中的cc是怎么来的?
push edi
push esi
mov ecx,3F
mov esi,0xcccccccch
下一条EIP=当前EIP+当前指令字节长度
分析study08
生成exe方便观察
汇编里边不存在调到一个函数之后不能改变main里边的局部变量,
CDQ:实际的作用只是把EDX的所有位都设成EAX最高位的值。也就是说,当EAX <80000000, EDX 为00000000;当EAX >= 80000000, EDX 则为FFFFFFFF。
伪指令enter imm1,imm2
高级开辟栈帧指令
第一个操作数指令栈帧大小
第二个操作数给出堆栈嵌套层数(0-31)
—当嵌套层数为0时
—push ebp
—mov ebp,esp
—sub esp,imm1
常与leave指令成对出现
pop ebp
mov esp ,ebp
add esp+imm1