保存和恢复CMOS单元内容的小程序

Author: 福建 徐永清 Date: 1996-12-06

        关于CMOS信息的读写,许多报刊和杂志都已报道了不少,可是这些程序基本上都是用汇编语言编写的。其实用BASIC语言也能对CMOS的信息进行存取,而且只要几条语句就可以完成。BASIC语言中有一个OUT命令和一个INP函数,利用它们就可以实现对CMOS信息的存取。现将OUT命令和INP函数简单介绍如下:
        OUT命令用法:OUT端口值,数据,送一个字节的数据到端口
        INP函数用法;INP(端口值),该函数返回从端口读出的一个字节
        笔者用BASIC语言编写了两个小程序,能实现对CMOS的读写。运行程序一就可保存CMOS RAM单元的内容,一旦微机中的CMOS信息丢失或损坏,就可运行程序二来恢复。
        程序一:从CMOS RAM中读出信息到CMOS.DAT文件中
        OPEN "CMOS.DAT" FOR OUTPUT AS #1
        FOR 1%=0 TO 127
        OUT &H70, 1%
        a%=INP(&H71)
        PRINT #1,a%
        NEXT 1%
        CLOSE #1
        程序二:从CMOS.DAT中读出数据并写到CMOS RAM中
        OPEN "CMOS.DAT" FOR INPUT AS #1
        FOR 1%=0 TO 127
        OUT &H70,1%
        INPUT #1,a%
        OUT &H71,a%
        NEXT 1%
        CLOSE #1
        END
        这两个程序在Quick BASEC 4.5、Trubo BASEC 1.0、GWBASEIC,DOS的各种版本,在各种机型上均上机通过。