BIOS 显存知识
2019-09-09
11
0
显存的物理地址分布
起始地址 | 结束地址 | 大小 | 用途 |
---|---|---|---|
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 | 白 | 亮白 |