wandadahh 发表于 2017-11-18 11:50:02

为什么我运行dosbox时会出现这一大堆看不懂的东西?

{:10_277:} 为什么我运行dosbox时会出现这一大堆看不懂的东西?

ba21 发表于 2017-11-18 12:59:55

汇编调试,我个人建议用XP系统。不要用dosbox,感觉就像是没事找事一样;搞出一堆不必要的麻烦事。

wandadahh 发表于 2017-11-18 13:11:12

ba21 发表于 2017-11-18 12:59
汇编调试,我个人建议用XP系统。不要用dosbox,感觉就像是没事找事一样;搞出一堆不必要的麻烦事。

可是我不知道怎么用xp系统{:10_277:}

xiaohaituan 发表于 2017-11-18 13:11:48

加载的时候不是要输入debug 3.exe吗?

ba21 发表于 2017-11-18 13:11:55

wandadahh 发表于 2017-11-18 13:11
可是我不知道怎么用xp系统

baidu吧

微末非末 发表于 2017-11-20 22:02:52

用虚拟机吧,不会装的我可以私聊我。就像楼上说的,为什么你不是输入“debug 3.exe”呢?如果对debug命令不熟可以去看看老师的视频。还有个问题就你不是用的masm和link工具放到根目录了吗?这个是不建议放到根目录的,建议新建个文件夹

兰陵月 发表于 2017-11-24 23:59:27

本帖最后由 兰陵月 于 2017-11-25 12:27 编辑

1、你运行了3.EXE文件后,出现了这些没有意义的ASCII码。表明,这是程序运行时发生了错误,这并不是DosBox出现了问题。

2、你只贴了那么个图片,源程序3.asm没贴出来,所以源程序到底是什么错误,我们也无从得知,建议贴出来。

3、如果你源程序有显示ASCII码的代码,比如向段地址0xB800开始的地方(代表屏幕输出的显存位置)输入ASCII码,那出现这种乱码的情况很有可能是读取的字符串源地址或者输入的目标地址不正确导致的。

4、如果你源程序中,没有显示ASCII码的指令,那有可能是因为你编写错误,导致编译器编译出了一条或者多条向段地址0xB800处的内存区域输入ASCII码的指令,因而产生如此多乱码。

总之,你运行之后出现了这些玩意,那肯定是向显存区域输出了一些什么东西,不管这个输出是否出于你的本意。

另外,你运行3.exe之后,最终是否返回到命令提示符下?如果返回到了命令提示符下,那对于处理器来说,这个程序是正常运行的,因为它执行了,结束了,并没有陷入无休止的死循环或者超级巨量运算导致死机的情况。发生错误的根源是源程序编写上的逻辑错误。
页: [1]
查看完整版本: 为什么我运行dosbox时会出现这一大堆看不懂的东西?