有关CMOS RAM的分析及读取

来源:互联网 发布:建设银行纸黄金软件 编辑:程序博客网 时间:2024/05/19 18:45

CMOS RAM中包含实时时钟等64B的内容,内部时钟电路使用了前面14个字节,其余用来保存其他各处设备的配置信息。CMOS RAM的详细地址分配如下:

地址 说明            
0        秒             
1        秒报警             
2        分             
3        分报警          
4        时             
5        时报警           
6        星期             
7        日             
8        月             
9        年             
A        状态寄存器A     
B        状态寄存器B     
C        状态寄存器C     
D        状态寄存器D    
E        诊断状态字节(0 正常)     
F        停止状态字节(0 有市电)      
                        
10      软盘驱动器类型(位7-4:A驱,位3-0:B驱 1-360KB;2-1.2MB;6-1.44MB;7-720KB)                        
11      保留
12      硬盘驱动器类型(位7-4:C驱,位3-0:D驱)
13      保留   
14      设备字节(软驱数目,显示器类型,协处理器)
15      基本存储器低字节
16      基本存储器高字节
17      扩展存储器低字节
18      扩展存储器高字节
19      硬盘类型字节(低于15为0)
1A—2D 保留
2E—2F CMOS校验和(10-2D各字节和)
30      扩充存储器低字节
31      扩充存储器高字节
32      日期世纪字节(19H:19世纪)
33      信息标志
34—3F 保留(34-0:没有密码;35-3F-密码位置)

对CMOS的访问:

CMOS有两个入口地址,地址口的端口地址为70H;数据口的端口地址为71H。所以只要将地址送到地址口,就可以从71H处读出所需数据。

读取CMOS的程序

在DEBUG中输入以下汇编语句即可

MOV BX,0

MOV AL,BL

OUT 70,AL

IN  AL,71

MOV [BX+130],AL

INC BX

CMP BX,40

JNZ START;START 为开始语句MOV BX,0的地址

之后,就可以通过DEBUG的D命令查看相关信息。

原创粉丝点击