在计算机系统中,对CMOS中数据的读写是通过两个I/O端口来实现的,其中,端口70H是一个字节的只写端口,用它来设置CMOS中的数据地址;而端口71H是用来读写端口70H设置的CMOS地址中的数据单元字节内容。
CMOS数据保存在地址为00-7F的共128个字节中。在CMOS的128个字节单元中,00H-0FH字节单元中的数据随机性太强,不易作为密钥。1BH~2DH,34H~3FH,40H~7FH是CMOS的保留单元。不同的BIOS版本对此保留单元设置不一样。2EH、2FH单元中存放的是10H~2DH单元中各字节的校验和。系统每次引导时要读取CMOS信息,同时还要检查10H~2DH单元中的各字节的校验和是否与2EH、2FH单元中的数据相同,不同则提示CMOS中数据有错。CMOS的10H~2DH单元中内容涉及到软盘、硬盘、内存、显示卡等最基本的硬件配置。
CMOS内容对照
地址 内容 地址 内容 地址 内容 地址 内容
00h Time - Seconds 20h Reserved 40h
Extended CMOS 60h User Password
01h Alarm - Seconds 21h Reserved 41h
Extended CMOS 61h User Password
02h Time - Minutes 22h Reserved 42h Extended
CMOS 62h Extended CMOS
03h Alarm - Minutes 23h Reserved 43h Extended CMOS
63h Extended CMOS
04h Time - Hours 24h Reserved 44h Extended CMOS 64h
Extended CMOS
05h Alarm - Hours 25h Reserved 45h Extended CMOS 65h Extended
CMOS
06h Date - Day of the week 26h Reserved 46h Extended CMOS 66h Extended
CMOS
07h Date - Day 27h Reserved 47h Extended CMOS 67h Extended CMOS
08h
Date - Month 28h Reserved 48h Extended CMOS 68h Extended CMOS
09h Date -
Year 29h Reserved 49h Extended CMOS 69h Extended CMOS
0Ah Status Register A
2Ah Reserved 4Ah Extended CMOS 6Ah Extended CMOS
0Bh Status Register B 2Bh
Reserved 4Bh Extended CMOS 6Bh Extended CMOS
0Ch Status Register C 2Ch
Reserved 4Ch Extended CMOS 6Ch Extended CMOS
0Dh Status Register D 2Dh
Reserved 4Dh Extended CMOS 6Dh Extended CMOS
0Eh Diagnostic Status 2Eh CMOS
Checksum (high byte) 4Eh Extended CMOS 6Eh Extended CMOS
0Fh Shutdown Status
2Fh CMOS Checksum (low byte) 4Fh Extended CMOS 6Fh Extended CMOS
10h A; 30h
Extended Memory (high byte) 50h Extended CMOS 70h Extended CMOS
11h Reserved
31h Extended Memory (low byte) 51h Extended CMOS 71h Extended CMOS
12h 0 32h
Date - Century 52h Extended CMOS 72h Extended CMOS
13h Reserved 33h Power On
Status 53h Extended CMOS 73h Extended CMOS
14h Equipment Installed 34h
Reserved 54h Extended CMOS 74h Extended CMOS
15h bbse Memory (high byte) 35h
Reserved 55h Extended CMOS 75h Extended CMOS
16h bbse memory (low byte) 36h
Reserved 56h Extended CMOS 76h Extended CMOS
17h Extended Memory (high byte)
37h Reserved 57h Extended CMOS 77h Extended CMOS
18h Extended Memory (low
byte) 38h Reserved 58h Extended CMOS 78h Extended CMOS
19h 0 (C:) Hard Disk
Type 39h Reserved 59h Extended CMOS 79h Extended CMOS
1Ah 1 (D:) Hard Disk
Type 3Ah Reserved 5Ah Extended CMOS 7Ah Extended CMOS
1Bh Reserved 3Bh
Reserved 5Bh Extended CMOS 7Bh Extended CMOS
1Ch Supervisor Password 3Ch
Reserved 5Ch Extended CMOS 7Ch Extended CMOS
1Dh Supervisor Password 3Dh
Reserved 5Dh Extended CMOS 7Dh Extended CMOS
1Eh Reserved 3Eh Reserved 5Eh
Extended CMOS 7Eh Extended CMOS
1Fh Reserved 3Fh Reserved 5Fh Extended CMOS
7Fh Extended CMOS
其中Password的密文是根据全部密码的ASCII码相加得到。
提示:不知为什么,NowCan把程序贴在这里的时候总是丢失缩进信息,
/n-->