短而有效的CMOS维护程序 湖南 陈伟建 1993-08-20 下面的三段程序都用GWBASIC语言写成,短而有效,可分别用于CMOS数据的备份、恢复和“放弃”。 程序1 功能:把CMOS中的数据转存到软盘上(如:A:)。 10 CLS:OPEN"CMOSBAK.DAT"FOR OUTPUT AS # 1 : FOR I=0 TO 63 20 OUT & H70 ,I :D=INP( &H71) :PRINT #1 ,D :NEXT :CLOSE: END 程序2 功能:把程序1生成的"CMOSBAK.DAT"备份数据从软盘恢复到芯片中。 10 CLS:OPEN "CMOSBAK.DAT"FOR INPUT AS #1 :FOR I =1 TO 63 20 INPUT #1 ,D:OUT&H7 0 :OUT & H71 ,D :NEXT :CLOSE: END 程序3 功能:放弃芯片中原有的数据。 10 OUT &H70 , &H2F:D=INP(&H71)+1:OUT &H71,D: END 说明:程序3实质上是修改CMOS检查和低位字节的值(地址为2FH),人为造成数据校验出错:“CHECK SUM ERROR”。这时,BIOS将按缺省“DEFAULT”方式重写CMOS。以前所有设置,包括密码在内,全部失效。用户只需在系统重启动,看到有关错误信息时敲F1键即可进入SETUP菜单人工设置CMOS;或是从A:盘自举启动系统,再运行程序2把以前的备份数据恢复到CMOS中。请注意,一些大容量硬盘的参数可能较复杂,一旦丢失将带来不便。所以在使用程序3之前请考虑是否该执行程序1,先作备份。