网上有很多自检的资料,可是都不够全面,稍作整理如下:
一、首先了解几个概念
1.BIOS寻址概念:以前寄存器是16位,寻址通过cs:ip方式,Bios地址为段地址左移4位 + 偏移地址。
例如CS=F000H,IP=FFF0H,地址为F0000H + FFF0H = FFFF0H。
那么,在386以前系统可寻址范围为1MB即 00000H~FFFFFH。
2. 实模式下,1M范围内的地址是这样分配的:
0x00000-0x9ffff 基本内存(程序可以使用的内存范围)
0xa0000-0xb0000 EGA/VGA/XGA/XVGA图形视频缓冲区(64k)
0xb0000-0xb8000 Mono text video buffer
0xb8000-0xc0000 CGA/EGA+ chroma text video buffer
0xc0000-0xFE000 cardbios & bios
0xFE000-0xFFFFF bios boot block
从0xa0000-0xFFFFF开始就不是基本内存了,虽然它们都是在内存里,但是它们被bios, EGA/VGA 等占用了。
3. BIOS影子内存
因为BIOS使用的ROM比我们使用的普通内存RAM要慢很多,所以人们就想出在启动后把BIOS的ROM里面的信息拷贝到我们插的内存条(RAM)里来,提高读取速度,而在RAM里的这些BIOS的信息就叫做BIOS影子内存。
4. BDA(bios数据区)
When the computer is powe