PC 机中的 CMOS

来源:互联网 发布:java 163邮箱发送邮件 编辑:程序博客网 时间:2024/06/05 14:08

CMOS(Complementary Metal Oxide Semiconductor),在微电子技术中,是指互补金属氧化物半导体材料。
利用这种材料制成的集成电路,具有极低的功耗,即使使用纽扣电池供电,也能正常工作。

CMOS 在 PC 机中,是指一块可读写的存储器芯片,用来保存机器的日期、时间、启动盘的信息、开机密码等重要信息。
在 PC 机的主板上,也有一块电池为其供电,即使关机几年,CMOS 中的信息往往都能保存。

如果进行一次“CMOS放电”的操作,CMOS 中信息将全部丢失。

CMOS 中的信息,一般是在开机时,按下 DEL 键,启动 BIOS 中设置程序来设置的。
CMOS 中的信息是非常重要的,如果设置错误,开机时有可能找不到硬盘,导致 PC 机不能启动。

在 CMOS 的内部,共有 64 字节,地址范围是:00H ~ 3FH。

其中的前几个字节,是 PC 机的日期、时间等信息,具体的地址、信息格式,呵呵,现在都说不准了。
这都是做而论道在多年前鼓捣烂熟的东西,但是,也时隔多年了。
刚刚在网上搜了搜,也没有得到有用的东西,都是说如何设置......。

----

CMOS 在 PC 中,属于外部设备,它具有两个外设接口地址:70H 和 71H。
其中 70H 是地址索引接口,71H 是数据通信接口。

如果要想对 CMOS 中的某个地址读写,先要把这个地址从 70H 输出:

MOV  AL,  08H   ;可选 00H ~ 3FH
OUT  70H,  AL   ;输出到 70H,即可设定 CMOS 的操作地址

之后,再从 71H 输入(或输出),就是读出(或写入) 08H 单元,即:

IN   AL,  71H   ;读出的,就是 CMOS 中 08H 单元的内容

----

还想要读出 09H 中内容吗?那就:

MOV  AL,  09H
OUT  70H,  AL
IN   AL,  71H   ;这次读出的,就是 CMOS 中 09H 单元的内容

----

如果是:

OUT  71H,  AL   ;这就是对 09H 单元写入

----

对 CMOS 写入,是有破坏的,一般都能破坏了开机密码。
还可能破坏了硬盘信息,造成开机找不到硬盘,根本就开不了机。
麻烦事很多,建议不要进行写入的实验。
应该,先看明白了CMOS 中 64 字节,每个字节的作用,再对其修改。

因为 CMOS 的信息是如此的重要,现在的杀毒软件,对 70H、71H 这两个外设地址,都有严格的监控,我们一些指令,往往被它们截留,达不到我们预期的目的。

呵呵,刚刚回答了一个关于 CMOS 的问题,就零散的写了这么多。等有时间,把 CMOS 的资料搜集齐全了,再写一篇完整的。
=================================================
回答者: 做而论道 | 十六级
提问者对回答的评价:非常感谢~你已经解决了我所有的疑问~~采纳你晚了 还望见谅
原题网址:http://zhidao.baidu.com/question/404944131.html
=================================================

0 0