注册 登录
编程论坛 汇编论坛

一个弱问~堆栈段有什么用

mazailiang 发布于 2006-12-08 10:59, 1123 次点击
在一个程序里,堆栈段有什么用?在什么情况下必须设定此段?什么情况下又可以不用 ?

[此贴子已经被作者于2006-12-8 11:02:21编辑过]


3 回复
#2
菜鸟上路2006-12-08 17:13
可以保存现场,初学阶段可以不用
#3
mazailiang2006-12-13 13:31

哦,可以不用...
THANKS~

#4
xunxunmimi2006-12-13 14:28

堆栈是一块存储区域,具体的说,它是用于中断服务程序和调用子程序时保护现场的。“现场”即累加器A,B,PSW中的标志位,工作寄存器中的内容。当一个程序中有子程序,如有LCALL指令时,如果子程序中会影响主程序中如上面所说的寄存器中内容时,通常在子程序开头用PUSH指令将寄存器中的内容“入栈“,即把内容存放到堆栈中;在子程序的末尾用POP指令将原来存放在堆栈中的内容恢复到寄存器中,叫做出栈。这样,主程序中所用到的那些寄存器内容恢复了,主程序继续执行。堆栈起到了保护现场的作用。是否需要保护现场,需要根据具体程序考虑。

1