javanetwork 发表于 2011-8-11 19:59:03

汇编视频求解

小甲鱼老师你好,你是个好老师
我C语言学得还不错,也学过数据结构,你在汇编视频19里面讲栈的时候,有点问题,想请教下
栈10000H-1FFFFH 栈空时sp=0,这个时候如果push不就跑到999:FFFE去了么
另外,不是有ebp这个基指针么,为什么说CPU不知道栈的大小呢,ebp-esp不就是当前栈的大小了么?还是说ebp是32位以后才有的呢,帮忙,Thanks,朋友们知道的也可以回答

汇编壹加壹 发表于 2011-8-11 20:30:17

栈空时sp的指向是sp=0?

x8888k 发表于 2011-8-11 20:43:27

javanetwork 发表于 2011-8-11 21:58:34

x8888k 发表于 2011-8-11 20:43 static/image/common/back.gif
push之后SS怎么会变成999呢?SS是不变的还是1000,栈空间为10000H-1FFFFH,当有一个字单元时sp为FFFEH,如果 ...

写错了,1000减1也不是999,是0FFF,老是忘了是16进制的
1.
sp=FFFEH
pop ax

2.
sp=0002H
push ax
这两种情况sp都等于零
如果再执行push bx,数据存储在哪??CPU如何鉴别是哪种情况
是要存储到物理地址为0FFFE的内存单元还是应该存储到物理地址为1FFFEH的内存单元中啊

x8888k 发表于 2011-8-11 22:48:59

页: [1]
查看完整版本: 汇编视频求解