显示缓冲区的结构
80×25 彩色字符模式显示缓冲区(以下简称为显示缓冲区)的结构:
显示缓冲区的空间
在内存地址空间中,B8000H~BFFFFH,共 32KB 的空间,为 80X25 彩色字符模式的显示缓冲区。向这个地址空间写入数据,写入的内容将立即出现在显示器上;
在 80×25 彩色字符模式下,一个字符在显示缓冲区中占两个字节,分别存放字符的 ASCII 码 和 属性,每个字符可以有 256 种属性(背景色、前景色、闪烁、高亮等组合信息);
显示器可以显示 25 行,每行 80 个字符。
在 80×25 模式下,显示缓冲区分为 8 页,每页 4KB(≈4000B),一屏的内容在显示缓冲区中共占 4000 个字节,显示器可以显示任意一页的内容。 一般情况下,显示第 0 页的内容。也就是说通常情况下,在 B8000H-B8F9FH 中的 4000 个字节的内容将出现在显示器上。
在一页显示缓冲区中:
偏移 000~09F 对应显示器上的第 1 行(80 个字符占 160 个字节);
偏移 0A0~13F 对应显示器上的第 2 行;
偏移 140~1DF 对应显示器上的第 3 行;
依此类推,可知,偏移 F00~F9F 对应显示器上的第 25 行。
字符的属性
在显示缓冲区中,偶地址存放字符,奇地址存放字符的颜色属性。
一个在屏幕上显示的字符,具有前景(字符色)和背景(底色)两种颜色,字符还可以以高亮度和闪烁的方式显示。前景色、背景色、闪烁、高亮等信息被记录在属性字节中。
属性字节的格式:
| 7 | 6 5 4 | 3 | 2 1 0 | | BL | R G B | I | R G B | | 闪烁 | 背景 | 高亮 | 前景 |
参考文献