+ -
当前位置:首页 → 问答吧 → 一个有关栈的问题,很奇怪的问题

一个有关栈的问题,很奇怪的问题

时间:2011-08-24

来源:互联网

mov ax,1000h
mov ss,ax
mov sp,16
mov ax,8
mov cx,6
s:push ax
loop s
push ax ;这句就不行了


以上设定了一个16个字节的栈空间,往里面压栈,但是当还剩4个字节时,如果再压栈就出现一个特别奇怪的问题,那就是cs代码段的地址被改的看不懂了,然后就乱执行。我发现只要栈空间还剩4个字节都会出现cs被随机修改的情况,请老师们看看这是咋回事啊。

作者: aliec   发布时间: 2011-08-24

栈溢出了,当然出错了

作者: MSOKD   发布时间: 2011-08-24

为什么说溢出了?还有4个字节啊。把cx改成等于8,就可以压栈啊,说明没有溢出,但是如果只剩4个字节的时候就会出现cs被随机修改的错误

作者: aliec   发布时间: 2011-08-24