各位大牛,江湖告急啊!!
我在做汇编实验9的时候,也就是在屏幕上输出Welcome。。。的字符串,我向内存b8000里写了东西,然后编译成exe。我用cmd运行的时候,他只是闪了一下黑屏,并没有显示出东西,但是我用debug它,然后直接g命令,东西就显示出来了,请问这是为什么,还有请问小甲鱼老师在讲实验9时,向显存里写东西是,他把段地址:mov ax,0b800h,是这样写的,为什么是0b800,这不是5位数了吗?ax不是16位寄存器吗,怎么接受5位的数第一,0b800其实就是B800,前面之所以加了一个0是因为编译器要求地址不能用字母开头,这个视频里已经说明过了。
第二,B800,这是个16位的数!具体的你还是多看看前面的视频吧,你不会是从中间开始看的吧!! 加一个死循环 用dosbox就不会,我的也是用了这个就会显示了 菜鸟路过哈哈 能显示就说明成功了。 谢谢大家,那小甲鱼视频里怎么就可以显示出来,他用的不是cmd吗 小甲鱼录视频的时候用的应该还是32位操作系统。 你的估计不是吧。 传说。 发表于 2014-4-24 22:09 static/image/common/back.gif
小甲鱼录视频的时候用的应该还是32位操作系统。 你的估计不是吧。
我的也是32位的啊,你的cmd运行能显示出来吗,我的就是一闪就什么都没 lurning 发表于 2014-4-25 08:48 static/image/common/back.gif
我的也是32位的啊,你的cmd运行能显示出来吗,我的就是一闪就什么都没
程序运行完应该把CPU控制权又交给DOS,C语言写的时候要加两个getchar();,然后才能暂停在那。 你那应该是执行了。我还没学到。 但是貌似你前面还没有学好。0b800h,表示b800h,如果第一个字符是字母的话CPU是不认识的。 前面有强调过。所以要在字母前要加个0.
页:
[1]