关于在Debug中操作显存,显示不了的Bug
本帖最后由 pediyzhi 于 2012-8-31 10:48 编辑**** Hidden Message *****
看到经常有朋友问在操作0b800h的显存,然后在dos下执行但却是空白的问题.在下有点心得,拿出来分享给大家,如果有高好的解决方案也请您留下方法{:5_108:}
第一种方法比较简单.但是有时候也会行不通,就是先执行下debug然后再运行程序,这个相信很多人都知道
第二种方法就是在Debug中查看指令mov ax,4c00这条指令的位置 ,然后用-G IP位置 指定,看图
这里用的甲鱼大湿的p188程序,这里用U命令查看后得到偏移是48 然后用-G 48如下图
但是让很多指令给影响了,效果不是太好,最后我附上这处方法的解决方案
请先向下看
也可以用EMU8086这个软件来模拟下,效果也不错.软件可以百度,上个用软件后的图
嗯,刚才说了,如果喜欢在Debug里用-G 指令来查看显存结果的话,会让一些指令影响,可以先把显存清空,附上指令,请笑纳{:5_109:}
这个可以写成方法,在程序开始的时候调用一下就好了,然后在Debug里查看也就方便多了
mov ax,0b800h
mov es,ax
mov di,0
mov cx,80*24 ;意思就是一行一共有80个字符(排除掉颜色属性所以不是160)
x: mov byte ptr es:,' '
mov byte ptr es:,0
inc di
inc di
loop x
自己做个沙发HOHO 顶了!这个问题也影响我很久了。我也发了个解决的方法的。。。。可以参考
Debug窗口一闪而过的解决方法
如果。。。 发表于 2012-8-31 12:11 static/image/common/back.gif
顶了!这个问题也影响我很久了。我也发了个解决的方法的。。。。可以参考
Debug窗口一闪而过的解决方法
嗯.好贴,又学了一招 K K YINCAN L SM 这个不错哇,多谢分享了哈 学习学习!!!谢谢 s0512 发表于 2012-11-21 17:46 static/image/common/back.gif
学习学习!!!谢谢
嗯,可以参考下我另一个帖子http://bbs.fishc.com/thread-24222-1-1.html 学习了,第一种方法可行 [争议讨论] 汇编笔记之10.CALL和RET指令 [复制 强烈支持楼主ing…… 我回复,我看行,这个是好贴 时代发生的发生的发生地方士大夫 进来学习。。。。 :shutup:谢谢楼主{:2_26:}{:7_175:} 6666666666666 {:5_110:}
页:
[1]