BIOS 显存知识

显存的物理地址分布

起始地址 结束地址 大小 用途
A0000 AFFFF 64KB 用于彩色显示适配器
B0000 B7FFF 32KB 用于默白显示适配器
B8000 BFFFF 32KB 用于文本模式显示适配器
C0000 C7FFF 32KB 显示适配器BIOS

地址从0xB8000~0xBFFFF这32KB大小的内存区域用于文本显示。我们在往0xB8000处写入相应的值,则在直接写入显存中,并且会直接显示在显示器屏幕上。
显示器的文本模式有多种“分辨率”,例如我们选择80x25的,即一屏显示25行,每行80个字符。每个字符用16位显示,其格式如下:

BIT15 BIT14 BI13 BIT12 BIT11 BIT10 BIT9 BIT8 BIT0~BIT7
是否闪烁K 背景色R 背景色G 背景色B 亮度位I 前景色R 前景色G 前景色B 要显示的字符ASCII码

文本模式中字符颜色表:

R G B 亮度位I=0 亮度位I=1
0 0 0
0 0 1 浅蓝
0 1 0 绿 浅绿
0 1 1 浅清
1 0 0 浅红
1 0 1
1 1 0
1 1 1 亮白