内存中从0xB8000h起始的一段地址叫做图像缓存(video buffer)。
0xB8000开始的字符位于屏幕左上角,整个屏幕一共25行,80列。每个字符占用两个字节,前一个字节是ASCII码,后一个字节属性。属性如下表:
Bit | Usage | Example |
7 | Blinking | 0 |
6 | Background Red | 0 |
5 | Background Green | 0 |
4 | Background Blue | 1 |
3 | Foreground Intensity | 1 |
2 | Foreground Red | 1 |
1 | Foreground Green | 1 |
0 | Foreground Blue | 0 |
例子的属性是0x1Eh(00011110),黄色画笔,蓝色背景。
一个屏幕占用25行 × 80列 × (2字节/字符)= 4000字节。实际占用内存4096字节=0x1000h,刚好一个页表,很巧。