鱼C论坛

 找回密码
 立即注册
查看: 1885|回复: 5

求助关于栈的问题

[复制链接]
发表于 2012-9-10 07:01:22 | 显示全部楼层 |阅读模式
5鱼币
1.jpg 2.jpg 这个题没有给出栈的上限和下限,所以不能用mov sp,0010H,这样理解对吗?
另外为什么是mov sp,2
1.jpg

最佳答案

查看完整内容

LZ是这样的: 额。。。说实话,你把0010h给sp干啥啊。。。。不是在10000h的地方赋值么。。。正常的想法应该是段:1000h,sp :0000h才是。。除非你段寄存器不是这个。。sp=2是因为计算机是小端存贮。。也就是倒着放数的,而且压栈栈指针是向上移动的,所以CPU先将sp=sp-2然后把数据放进10000h
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-9-10 07:01:23 | 显示全部楼层
LZ是这样的:
额。。。说实话,你把0010h给sp干啥啊。。。。不是在10000h的地方赋值么。。。正常的想法应该是段:1000h,sp :0000h才是。。除非你段寄存器不是这个。。sp=2是因为计算机是小端存贮。。也就是倒着放数的,而且压栈栈指针是向上移动的,所以CPU先将sp=sp-2然后把数据放进10000h
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-9-10 07:25:01 | 显示全部楼层
本帖最后由 (@_@) 于 2012-9-10 07:26 编辑
理解了,迷糊了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-9-10 09:21:32 | 显示全部楼层
首先你要存储的是一个双字节球数,那么要占用两个字节单元,push指令是在执行前要改变sp的值,因为将要存入的数据占用两个字节单元,所以sp为2,这样当运行push指令时候,sp会被减2,这样sp为0…

评分

参与人数 1鱼币 +3 收起 理由
(@_@) + 3 赞一个!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-9-10 09:31:51 | 显示全部楼层
lz把sp设为0010h减2后的结果,经过血汗工程后的地址是多少呢?能达到题目的要求?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-9-10 09:37:01 | 显示全部楼层
~Nook~/tp 发表于 2012-9-10 09:31
lz把sp设为0010h减2后的结果,经过血汗工程后的地址是多少呢?能达到题目的要求?

{:7_153:}其实偏移地址是0,只不过是入栈操作,需要先给位置,16位,给2个单元0和1,所以sp指向栈的需要操作的地址即2
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-8 04:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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