主题:堆栈溢出问题
wbsun111
[专家分:320] 发布于 2006-06-08 10:54:00
如果堆栈满了,继续添加数据时,是旧数据丢失,还是要添加的数据丢失??
教科书上说是上溢,是不是指添加的数据丢失??
回复列表 (共4个回复)
沙发
NGW [专家分:770] 发布于 2006-06-08 11:30:00
应该是新数据丢失吧,因为堆栈指针总是指向栈顶
板凳
chenzep [专家分:3640] 发布于 2006-06-08 18:03:00
是旧的数据消失。
比如CPU对于PUSH AX指令,可以用下面两个等价的动作来代替:
SP=SP-2
MOV ss:sp,ax
这里我们很明显的看到,SP=0的时候,再PUSH AX,那么sp=0fffeh,而AX数据放到什么地方,自己思考一下。
3 楼
wbsun111 [专家分:320] 发布于 2006-06-08 19:18:00
厉害~~
4 楼
船尾跳鱼 [专家分:0] 发布于 2006-06-08 20:01:00
大侠,请问sp=0fffeh,不一定在分配的堆栈区吧,
我来回复