| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 852 人关注过本帖
标题:关于一个栈空间的问题!
只看楼主 加入收藏
wsm340223
Rank: 1
等 级:新手上路
帖 子:20
专家分:6
注 册:2012-6-29
结帖率:33.33%
收藏
已结贴  问题点数:5 回复次数:13 
关于一个栈空间的问题!
assume cs:code,ds:data,ss:stack
data segment
dw 0123h,0456h,0789h,0545h,0545h,5454h,54f5h,5456h
data ends
stack segment
dw 0,0,0,0,0,0,0,0,0,0
stack ends
code segment
start: mov ax,stack
       mov ss,ax
       mov sp,0fh
       mov ax,data
       mov ds,ax
      
       mov bx,0
       mov cx,8
s:     push [bx]
       add bx,2
       loop s
      
       mov bx,0
       mov cx,8
s0:     pop [bx]
       add bx,2
       loop s0
      
       mov ax,4c00h
       int 21h
      
code ends
end start


这是个用栈逆序排放数据的程序,红体字的地方,是我设的栈顶位置,数据段有8个字!
今天做这个时,遇到两个问题,
一、用debug单步跟进入栈循环,结果仅两步,debug就停止工作了,想问的是,debug会提前预测到栈空间不足的问题么?
二、栈空间足够的情况下,执行完入栈循环后,查看栈段数据,发现数据并没有从栈底将数据段的数据逆序排放,(例:9,8,7,6,5,4,3,2,1,逆序排放),而是顺序排放,(例:1,2,3,4,5,6,7,8,9)!这是为什么?



[ 本帖最后由 wsm340223 于 2012-10-10 19:15 编辑 ]
搜索更多相关主题的帖子: 空间 
2012-10-10 16:30
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:2 
因为debug和被调试的程序共用一个堆栈 而debug运行的时候也会压栈 所以会出现不够的情况
2012-10-10 17:47
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
这个问题主要是因为DOS系统的设计缺陷或者说局限或者说特性、、、
2012-10-10 17:48
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
可以把调试步骤发上来看看
其次就是 8个字的话 sp应该指向10h.

梅尚程荀
马谭杨奚







                                                       
2012-10-10 17:52
wsm340223
Rank: 1
等 级:新手上路
帖 子:20
专家分:6
注 册:2012-6-29
收藏
得分:0 
回复 2楼 zklhp
谢谢!第二个问题,您怎么看?
2012-10-10 18:03
wsm340223
Rank: 1
等 级:新手上路
帖 子:20
专家分:6
注 册:2012-6-29
收藏
得分:0 
回复 4楼 有容就大
图片怎么发,蒙了
2012-10-10 18:07
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
以下是引用wsm340223在2012-10-10 18:07:55的发言:

图片怎么发,蒙了

很简单就三步
1. 截图 按键盘上的Print Screen键
2. 黏贴 选取 保存 用PS或者 系统自带的画图 或者其他工具
3. 论坛发图
就是下面图片里红框中的按钮
图片附件: 游客没有浏览图片的权限,请 登录注册


梅尚程荀
马谭杨奚







                                                       
2012-10-10 18:14
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
详细的描述自己遇到的问题 利己利人利观众

梅尚程荀
马谭杨奚







                                                       
2012-10-10 18:15
小习小习
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:6
帖 子:1467
专家分:4792
注 册:2012-7-2
收藏
得分:2 
来学习

实现自己既定的目标,必须能耐得住寂寞单干。
2012-10-10 18:23
小习小习
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:6
帖 子:1467
专家分:4792
注 册:2012-7-2
收藏
得分:0 
以下是引用有容就大在2012-10-10 17:52:43的发言:

可以把调试步骤发上来看看
其次就是 8个字的话 sp应该指向10h.
我也赞成

实现自己既定的目标,必须能耐得住寂寞单干。
2012-10-10 18:24
快速回复:关于一个栈空间的问题!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019739 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved