| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2246 人关注过本帖
标题:求调试,程序执行到mov ax,0b800h崩溃
只看楼主 加入收藏
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:0 
symbol type conflict不行诶,你不是用这个编辑器吗?
还有木有别的办法

I have not failed completely
2013-02-22 17:41
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
改成 data1 ?
2013-02-22 18:03
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:0 
  mov ax, seg data1
 error A2004: symbol type conflict
嗯...你用的不是这个编辑器啊,把你那个介绍给我用用好不咯

I have not failed completely
2013-02-22 18:38
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用神龙赖了在2013-2-22 18:38:25的发言:

  mov ax, seg data1
 error A2004: symbol type conflict
嗯...你用的不是这个编辑器啊,把你那个介绍给我用用好不咯

MASMPlus用的编译器是masm 如果你的用法没错最开始的就是对的 不知道你用的啥 怎么调的编译参数
2013-02-22 18:43
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:0 
总之你有办法没啊...

I have not failed completely
2013-02-22 19:38
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用神龙赖了在2013-2-22 19:38:44的发言:

总之你有办法没啊...


很简单啊 你换成和我测试的时候用的一样的不就行啦
2013-02-22 20:58
清微御宇
Rank: 6Rank: 6
来 自:开封
等 级:侠之大者
威 望:2
帖 子:318
专家分:497
注 册:2012-1-15
收藏
得分:0 
回复 3楼 神龙赖了
call show_str;ip入栈!
push si ;
push cx ;

push ax ;

push bx ;

push dx;
后sp=4但单步中断t命令后会伴随FR,cs,ip入栈,貌似申请的栈已经容纳不下ip了!
stack segment

  
dw 16 dup (0)


stack ends
后面的sp也改下
mov sp,32
试试!

Stay hungry , Stay foolish!
2013-02-22 22:10
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:0 
我也考虑过这个问题,可是入栈的加上cs和ip一共只有七个16位寄存器啊,一个段至少有16个字节那应该容得下啊,恩,能不能解析下我的疑问

I have not failed completely
2013-02-22 23:38
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:0 
以下是引用zklhp在2013-2-22 20:58:30的发言:

 
 
很简单啊 你换成和我测试的时候用的一样的不就行啦
神马测试?T版你没把你那编辑器给我啊,这编辑器不懂用啊...

I have not failed completely
2013-02-22 23:40
清微御宇
Rank: 6Rank: 6
来 自:开封
等 级:侠之大者
威 望:2
帖 子:318
专家分:497
注 册:2012-1-15
收藏
得分:20 
回复 18楼 神龙赖了
你在程序一开始设置了ss和sp指向堆栈段底部下面是入栈寄存器
1.使用call命令降ip入栈;
2.push si将变址寄存器si入栈;
3.push ax
4.push bx
5.push cx
6.push dx
(在王爽的外中断中介绍-t单步调试的意义相当于
pushf;这是将标语寄存器FR入栈
TF=0,IF=0
push cs
push ip
)然后接着数
7.pushf
8.push cs
9.push ip
最后一个ip已经容纳不下了,肿么会只有7个寄存器入栈呢!

Stay hungry , Stay foolish!
2013-02-23 07:31
快速回复:求调试,程序执行到mov ax,0b800h崩溃
数据加载中...
 
   



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

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