汇编堆栈是怎样形成的

来源:百度知道 编辑:UC知道 时间:2024/06/07 09:36:51
以及堆栈的作用,请仔细给介绍一下,谢谢了

汇编的堆栈是你设置sp寄存器形成堆栈的基地址,然后每次压栈出栈都是以这个为基础。堆栈主要在调用子程序的时候用来保存现场,以便于当子程序运行完还可以正常返回调用处,继续执行。

上面的SS.SP.BP讲得都是X86,的确如此.其实每个计算机体系都有属于自己堆栈段和堆栈指针.例如68K就有两个堆栈指针.其作用都是为了保存当前寄存器的值以免程序跳转后丢失数据.如果你对计算机体系有所了解你就明白了.

在WINDOWS中一般系统分配的,在实时模式放在SS里就是基址。SS做为段寄存/选择器,SP/ESP 指向栈顶,bp/ebp用来操作变量和参数。
一般用于调用子程序,为子程序传递参数,保存返回地址和现场,存放子程序的局部变量等。

要完全解释清楚恐怕篇幅不够,还是下载电子书看吧。