实验中写到,内存地址空间中,B8000H~BFFFFH共32KB的空间,为80*25彩色字符模式的显示缓冲区。
在一行中,一个字符占两个字节的存储空间,低位字节存储字符的ASCII码,高位字节存储字符的属性。
比如,在B800:0000和B800:0001两个字节分别写入41H和CAH,那么屏幕的0行0列将显示红底高亮闪烁绿色的字符‘A’
我在DOS-debug下面这样写指令可以完成目标:
-e B800:0000 41 CA
但是,下面这种写法却不行
mov ax,B800
mov ds,ax
mov al,41
mov ah,CA
mov [0],al
mov [1],ah
同样是将41和CA两个数送入从B800:0000开始的两个字节,为什么上面这种写法可以实现,下面的却无法实现了呢?求高手指点一二……
------解决思路----------------------
输入了太多行,运行时屏幕发生滚动了,将那个折腾到外面去了;要么写到第二、三行试试,要么清屏了进 debug 直接输入那些指令并运行之避免发生滚屏。