汇编代码来自网上 :
ESP 为 NN
push p2 ESP=NN-4
push p1 ESP=NN-8
call test ESP=NN-0C
;//进入函数内
{
push ebp ESP=NN-10
mov ebp, esp EBP 指向 栈顶 EBP==当前ESP
mov eax, dword ptr [ebp+0ch] eax = 参数2
mov ebx, dword ptr [ebp+08h] ebx = 参数1
sub esp, 8 ESP == NN-18
...
add esp, 8 ESP== NN-10
pop ebp ESP==NN - C
ret 8 ESP==NN + 4 +8
}
ESP = NN
结论(可能有误,欢迎指正) : 栈是可以执行的 , 执行玩需要保证堆栈平衡 ! ESP总是指向栈顶的. EBP通常是函数里的ESP某时的指针偏移
-push
-push
-push
call { call head .... ret n}
+pop
+pop
+pop
本文详细解读了汇编代码中ESP、EBP的栈操作过程,包括参数传递、函数调用及返回机制。通过实例分析,深入理解汇编语言如何实现函数调用与局部变量管理。
5838

被折叠的 条评论
为什么被折叠?



