hb328496536 发表于 2016-10-2 10:45:18

关于显存的问题,百思不得其姐

如图中 ds:0000的数值怎么跟手动 debug   b800:0000的数值不一样


我直接在debug中输入


                  mov ax,b800
                  mov ds,ax
                  mov ax,4102
                  mov ,ax


怎么修改不了b800:0

小剑剑 发表于 2016-10-2 19:13:55

可能是rom

fsd82ht 发表于 2016-10-2 20:35:18

摘自汇编语言第二版188页:内存地址空间中,B8000H-BFFFFH共32KB的空间,为80×25彩色字符模式的显示缓冲区,向这个地址空间写入数据,写入的内容将立即出现在显示器上。内存中当然没有被写入数据了。另外你mov ax,4102,41和02高地位写反了,41应该写低位它是大写的A字母,02应写高位是字符属性(绿色)。还有你的mov 【0】,ax写的有问题,问题是你按我上面修改后还是看不到绿色的A,因为DOS窗口执行命令后会往上跳两行,所以你的【】中写的数字必须是大于十进制160或140H以上的数字才能看到绿A。呵呵这是我试验了两小时的结果,帮助别人也是温习学过的知识,大家努力,最后谢谢小甲鱼老师交给我们这些知识!

fsd82ht 发表于 2016-10-2 20:37:12

呵呵上面说错了一个数字两行是十进制的320不是160。

兰陵月 发表于 2016-10-7 12:41:10

fsd82ht 发表于 2016-10-2 20:37
呵呵上面说错了一个数字两行是十进制的320不是160。

听了你的解说,不知道楼主能骑姐了不?{:5_101:}{:5_101:}
页: [1]
查看完整版本: 关于显存的问题,百思不得其姐