鱼C论坛

 找回密码
 立即注册
查看: 2067|回复: 9

还是栈的问题

[复制链接]
发表于 2013-4-7 16:59:26 | 显示全部楼层 |阅读模式
1鱼币
mov ax,1000h
mov ss,ax
mov sp,0020h

这个栈顶是咋回事。。。。。。
栈不是小的在上 大的在下吗  怎么栈顶设置为0020了
求解

最佳答案

查看完整内容

自己画个图不知你看了能理解吗,如果栈是空的栈指针默认是指向栈底的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
头像被屏蔽
发表于 2013-4-7 16:59:27 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-4-7 17:27:34 | 显示全部楼层
栈是由高地址向低地址增长,所以数据入栈时,栈顶向低地址增长,所以栈顶就越来越小。栈低应该大于或等于栈顶
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-4-7 21:38:40 | 显示全部楼层
飘过,帮顶一下~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-4-8 00:49:16 | 显示全部楼层
嗯,是的,栈是后进先出的,进栈,栈顶指向的地址减小;出栈,栈顶指向的地址增加。这样就不难想象当栈为空时,栈顶是指向栈底的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-4-8 10:03:29 | 显示全部楼层
未命名.jpg 如图,明白吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-4-8 10:16:16 | 显示全部楼层
我只是路过打酱油的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-4-8 11:23:39 | 显示全部楼层

0020不是地址吗 。。。。。。。sp不是指向的地址吗  ax是1000  然后 ss的地址是1000  ss:sp不是栈顶地址吗?
  我是想问ss是1000  sp怎么可能是0020?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-4-8 11:46:12 | 显示全部楼层
czfengyong 发表于 2013-4-8 11:43
自己画个图不知你看了能理解吗

恍然大悟 谢谢了  哎  激动人心,无法言表!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-4-10 10:46:28 | 显示全部楼层
mov ax,1000h
mov ss,ax   
mov sp,0020h
这一段的意思是,初始化一个这样的栈ss:sp=1000:0020,初始状态为空。

空栈状态下,sp指向处自动向下(即高位置处)加一。这段码原题应该是设置10000h~1001f的栈。
再翻翻3.7和3.8,图例解释还是很清楚
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-26 22:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表