「MS-DOS」- Microsoft Disk Operating System

显示缓冲区的结构

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	|
|	闪烁	|	背景			|	高亮	|	前景			|

参考文献

Wikipedia/MS-DOS