短而有效的CMOS维护程序

Author: 湖南 陈伟建 Date: 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,先作备份。