这个问题 晕P啊。又是一典型不看书的
作者王爽大人不是说了吗
8086的cpu他不能自己限定栈的边界
所以你没法指定 一个栈的范围具体多少多少 只能人为的通过 sp 栈指针去控制
比如指定
10010H-1001FH 为栈
mov ax,1001H
mov ss,ax
mov sp,10H
那么 你在使用这个栈的时候 你push 8次 sp=0 他表示 同志们这个栈已经满了 不要 在往里面塞东西了
你在塞 他就会超界,超界后 sp=FFFe
同样的 当sp=0 你可以出栈8次 如果你出栈 超过8次 那么 就是下边界超界
但是 你无法让cpu在他超界的时候 去阻止他
关于 1001H是怎么来的 你拿10010H转化为10进制数字 然后除以16 在把结果转换为16进制看看
不是我故意耍你 这样你才有深刻的认识 |