8023az 发表于 2012-1-30 15:25:53

【小甲鱼】汇编视频18中的实验3.10中出现的问题

file:///C:/Documents%20and%20Settings/Administrator/桌面/真出问题.png这个程序很简单,但是我在DEBUG中运行的时候,T命令的时候到图片这一步DEBUG就自动退出了,请求各位怎么解决!

Seely 发表于 2012-1-30 15:25:54

本帖最后由 Seely 于 2012-2-3 22:40 编辑

8023az 发表于 2012-2-3 21:29 http://bbs.fishc.com/static/image/common/back.gif
就是说SP取值太小?这个单步中断的四步,我怎么不太理解,能解释一下吗?

T 是 debug 的命令,它要实现单步调试就要经过上面的四步,如果是程序自己运行不调试的话则不会这样。
当它执行你的T命令,要干 “2.tf if入栈”,“3.cs ip入栈”的时候,你的栈不够了。
这四步与你的代码无关,是debug的问题。debug要实现单步调试的“T”命令,就必须这么做。

8023az 发表于 2012-1-30 15:26:18

自己先顶顶

8023az 发表于 2012-1-30 19:53:20

唉~人好少,有好心人吗

疾风飘流 发表于 2012-1-31 23:51:27

你的图挂掉了···

赵璐 发表于 2012-2-1 11:15:06

没有图啊 怎么看吧

8023az 发表于 2012-2-1 12:32:30

图在这里,几位大侠

8023az 发表于 2012-2-1 12:32:58

赵璐 发表于 2012-2-1 11:15 static/image/common/back.gif
没有图啊 怎么看吧

图见6楼,大侠

8023az 发表于 2012-2-1 12:33:10

疾风飘流 发表于 2012-1-31 23:51 static/image/common/back.gif
你的图挂掉了···

图见6楼,大侠

小军 发表于 2012-2-1 14:59:55

找一个安全的内存空间再调试一下看看,正常这样

8023az 发表于 2012-2-1 19:50:33

小军 发表于 2012-2-1 14:59 static/image/common/back.gif
找一个安全的内存空间再调试一下看看,正常这样

您是指CS:IP这个内存吗?那为什么之前debug中我一直用这块内存(而且这是默认的),都没有这种情况呢?

8023az 发表于 2012-2-1 19:53:42

小军 发表于 2012-2-1 14:59 static/image/common/back.gif
找一个安全的内存空间再调试一下看看,正常这样

要不您在您的机子上试试这个简单程序?

we6540 发表于 2012-2-1 20:50:13

本帖最后由 we6540 于 2012-2-1 20:51 编辑

跟我上次的情况样,在DOS系统上运行就没问题了

8023az 发表于 2012-2-1 20:56:38

we6540 发表于 2012-2-1 20:50 static/image/common/back.gif
跟我上次的情况样,在DOS系统上运行就没问题了

恩~那这位大侠知道是什么原因吗?

疾风飘流 发表于 2012-2-2 22:01:32

本帖最后由 疾风飘流 于 2012-2-2 22:17 编辑

亲试,和安全的内存空间没关系,与段寄存器也没有关系,将前后各种等换后,发现应该是SP太小的原因,当sp是6以上时(包括6)就没有问题了,具体原因不知,同望大神赐教。

8023az 发表于 2012-2-3 17:30:46

疾风飘流 发表于 2012-2-2 22:01 static/image/common/back.gif
亲试,和安全的内存空间没关系,与段寄存器也没有关系,将前后各种等换后,发现应该是SP太小的原因,当sp是 ...

谢谢回复,确实是这样子的,不知道当SP<6时,是不是触碰到了不安全区域?我设置的SP=10H,也不知道前面这些数据有什么意义,你看看吧

Seely 发表于 2012-2-3 18:59:02

与debug 的 T 命令本身有关。
debug中的t命令

书上说是用了单步中断的原理

1.取得中断码
2.tf if入栈
3.cs ip入栈
4.响应中断
很明显你堆栈不够用……

独立日 发表于 2012-2-3 20:57:39

这位同学,您的图呢?没有图怎么看

8023az 发表于 2012-2-3 21:27:37

独立日 发表于 2012-2-3 20:57 static/image/common/back.gif
这位同学,您的图呢?没有图怎么看

这位同学你好,图挂了,放置6楼

8023az 发表于 2012-2-3 21:29:38

Seely 发表于 2012-2-3 18:59 static/image/common/back.gif
与debug 的 T 命令本身有关。

很明显你堆栈不够用……

就是说SP取值太小?这个单步中断的四步,我怎么不太理解,能解释一下吗?
页: [1] 2
查看完整版本: 【小甲鱼】汇编视频18中的实验3.10中出现的问题