编程:在屏幕中间分别显示绿色、绿底红色、白底蓝色的字符串’welcome to masm!’

  • Post author:
  • Post category:其他


80*25彩色字符模式显示缓冲区的结构:

内存地址空间中,B8000H~BFFFFH共32KB的空间,为80*25彩色字符模式的显示缓冲区。向这个地址空间写入数据,写入的内容将立即出现在显示器上。

在80*25彩色字符模式下,显示器可以显示25行,每行80个字符,每个字符可以有256中属性(背景色、前景色、闪烁、高亮等组合信息).

这样,一个字符在显示缓冲区中就要占两个字节,分别存放字符的ASCLL码和属性。80*25模式下,一屏的内容在显示缓冲区共占4000个字节。

显示缓冲区分为8页,每页4KB,显示器可以显示任意一页的内容。一般情况下,显示第0页的内容。也就是说通常情况下,B8000H~B8F9FH中的4000个字节的内容将出现在显示器上。

在一页显示缓冲区中:

偏移000~09F对应显示器上的第1行(80个字符占160个字节);

偏移0A0~13F对应显示器上的第2行;

偏移140~1DF对应显示器上的第3行;

以此类推,可知偏移F00~F9F对应显示器上的第25行。

在一行中,一个字符占两个字节的存储空间(一个字),低位字节存储字符的ASCLL码,高位字节存储字符的属性。一行共有80个字符,占160个字节。

即在一行中:

00~01单元对应显示器上的第1列;

02~03单元对应显示器上的第2列;

04~05单元对应显示器上的第3列;

依此类推,可知,9E~9F单元对应显示器上的第80列。

例如