计算机应用
COMPUTER APPLICATIONS
1999年 第19卷 第6期 Vol.19 No.6 1999



用DEBUG检测BIOS“千年虫”
　　美国国家软件测试实验室研制的2000.EXE是世界公认PC硬件千年虫标准测 试软件的测试软件 之一。它能准确地测试出PC硬件是否存在“千年虫”问题。但是，如果手中没有2000.EXE， 又怎样才能知道PC硬件是否存在“千年虫”问题呢？
　　在这里，笔者介绍一个用DOS外部命令DEBUG.COM检测BIOS“千年虫”的简便方法。
步骤如下：
　1） 首先使用DOS内部命令DATE和TIME将系统当前日期和时间设置成12-31 -1999和23:59；
　2） 1分钟后，用DEBUG命令编写下列三行语句：
　C>DEBUG
-A100
XXXX:0100 MOV AH,04
XXXX:0102 INT 1A
XXXX:0104 INT 3
XXXX:0106
-
然后运行这三行小程序:
-G=0100<回车> 
　　运行后，显示器显示出当前各寄存器的内容，如果CX寄存器的内容是“2000”，DX寄存 器的内 容“0101”，说明顺利过渡到2000年1月1日；而如果CX寄存器的内容是“1900”则表示BIOS 没能 正确表示“2000”年。同理，我们以将起始日期和时间设置成02-28-2000和23:59，观其结 果 是否顺利过渡到2000年2月29日（DX应是“0229”）。我们还可以设置其它敏感日期，观其 结果。
　　如果存在BIOS“千年虫”，就要设法解决。解决的办法有硬件办法（将BIOS升级或插入一块 “PASS2000”卡），也可用软件办法对BIOS修改。
　　笔者用汇编语言编写了一个BIOS修复程序，只要将该程序装入有BIOS“千年虫”的微机，就 能 保证BIOS能从1999年12月31日顺利过渡到2000年1月1日。装入后，重新启动微机，再用检测 程序2000.EXE进行检测，一般都可顺利通过。和硬件解决办法相比，用这个软件解决BIOS“ 千年虫”问题，耗资少（一套200元）、见效快（装入就见效）、使用方便（不用改动硬件 ）。当然，软件也不是万能的。比如BIOS本身不接受“2000”的机器，则应采用硬件方法解 决。
　　另：建议汇编程序不用OUT、IN直接读取世纪号，而采用INT 1A中断。
　　有感兴趣者可与编辑部或本文作者直接联系。
　　款寄：成都237信箱编辑部　200元就可解决BIOS“千年虫”的烦恼。
作者单位：孙先锋　中国科学院成都计算机应用研究所（610041）
电话：(028)52270 92
