我找到了这个汇编代码,在分析它时,我意识到我没有看到这里的堆栈清理或平衡。而且我认为访问堆栈就像dword ptr [ebp-8]
弹出内容一样。我是否正确,如果不是,那么为什么下面的代码没有显示任何pop
指令或add esp, whatever
?
_AddMe:
push ebp
mov ebp, esp
sub esp, 0ch
mov eax, dword ptr [ebp+0ch]
mov dword ptr [ebp-4], eax
mov eax, dword ptr [ebp+8]
mov dword ptr [ebp-8], eax
mov eax, dword ptr [ebp-8]
add eax, dword ptr [ebp-4]
mov dword ptr [ebp-0ch], eax
mov eax, dword ptr [ebp-0ch]
jmp AddMeEpilogue
AddMeEpilogue:
mov esp, ebp
pop ebp
ret