[系统级编程]从汇编观察函数运行(lab05 chart 反思)
以main函数的开始为例子
main开始的时候 作为OS的callee
首先push老的ebp
然后把老的esp作为新的ebp
然后ebp-0DCh作为
新的esp
在esp和ebp之间 都是存储本地变量的空间
之后的一些新的东西 新的压入stack的东西的
都是往后面压入
在main刚刚开始的时候 会压入一些寄存器的值 例如ebx esi edi
会在main快要结束的时候pop到原来的寄存器当中
每次调用函数 都 在main里 从右到左压入参数
(返回值直接在eax里 不会入栈 如果没有返回值 就异或自
原创
2020-10-20 22:54:54 ·
152 阅读 ·
0 评论