还是栈的问题
mov ax,1000hmov ss,ax
mov sp,0020h
这个栈顶是咋回事。。。。。。
栈不是小的在上 大的在下吗怎么栈顶设置为0020了
求解
栈是由高地址向低地址增长,所以数据入栈时,栈顶向低地址增长,所以栈顶就越来越小。栈低应该大于或等于栈顶 飘过,帮顶一下~ 嗯,是的,栈是后进先出的,进栈,栈顶指向的地址减小;出栈,栈顶指向的地址增加。这样就不难想象当栈为空时,栈顶是指向栈底的。 如图,明白吗?
我只是路过打酱油的。 〢坏ヤρì滊 发表于 2013-4-8 10:03 static/image/common/back.gif
如图,明白吗?
0020不是地址吗 。。。。。。。sp不是指向的地址吗ax是1000然后 ss的地址是1000ss:sp不是栈顶地址吗?
我是想问ss是1000sp怎么可能是0020? czfengyong 发表于 2013-4-8 11:43 static/image/common/back.gif
自己画个图不知你看了能理解吗
恍然大悟 谢谢了哎激动人心,无法言表! mov ax,1000h
mov ss,ax
mov sp,0020h
这一段的意思是,初始化一个这样的栈ss:sp=1000:0020,初始状态为空。
空栈状态下,sp指向处自动向下(即高位置处)加一。这段码原题应该是设置10000h~1001f的栈。
再翻翻3.7和3.8,图例解释还是很清楚
页:
[1]