在CMOS的RAM中存放系统时间,CMOS是由电池供电,计算机断电后,RAM中的信息也不会丢失,在RAM的0,2,4,7,8,9号单元分别存放的是秒,分,时,日,月,年,各占一个字节。
读取端口的方法是先将地址送入RAM芯片的地址端口70h,然后从71h端口读出指定单元的内容:
in al,0
out 70h,al
inal,71h ;读出0号单元的内容
要写一个时钟程序要完成以下几件事:
1) 从CMOS的RAM中读出0,2,4,7,8,9号单元的内容
2) 将读出的内容经过转换后写入到彩色显示缓冲区中指定的位置上
3) 一秒钟发生一次视觉变化,即时钟可以按秒计时(这里采取比较笨拙的办法:不停的从CMOS的RAM中读出当前的时间)
1. 从CMOS的RAM中读出0,2,4,7,8,9号单元的内容,上面已经给出方法
2. 将读出的内容经过转换后写入到彩色显示缓冲区中指定的位置上
【1】 在CMOS的RAM中日期时间信息是以BCD码的形式给出,所以在要屏幕上显示成人们所熟悉的形式,要将BCD码转换成ASCII码的表示形式:
mov ah,al
mov cl,4
shr ah,cl ;在ah中保存BCD码的高四位
and al,00001111B ;在al中保存BCD码的低四位
add ah,30h
add al,30h ;将BCD码转换为ASCII码</