首页 > 代码库 > 汇编试验十四:访问CMOS RAM

汇编试验十四:访问CMOS RAM

CMOS RAM 芯片的特征:

  • 包含一个时钟和一个有128个存储单元的RAM存储器。
  • 该芯片靠电池供电。所以,关机后其内部的时钟仍可正常工作,RAM中的信息不丢失。
  • 128个字节的RAM中,内部时钟占用 0~0dh  单元来保存时间信息,其余大部分单元用于保存系统配置信息,供系统启动时BIOS程序读取。
  • 该芯片内部有两个端口,端口地址为 70h 和 71h 。CPU 通过这两个端口来读写CMOS RAM。
  • 70h 为地址端口存放要访问的 CMOS RAM 单元的地址; 71h  为数据端口,存放从选定的 CMOS RAM 单元中读取的数据,或要写入到其中的数据。
  • 在CMOS RAM 中,存放着当前的时间:年、月、日、时、分、秒。这6个信息的长度都为1个字节,存放单元:且这些数据以 BCD 码的方式存放。

试验效果:

技术分享

 

Source Code:

 

技术分享
assume cs:codecode segmentstart:    mov ax,0b800h        mov es,ax        mov di,160*12+30*2        mov al,0ah        push dirdata:    dec al        cmp al,7        jb rtime        call show        add di,6        jmp short rdatartime:    sub al,2        cmp al,0feh        je    sign        call show        add di,6        jmp short rtimesign:    pop di        add di,4        mov byte ptr es:[di],/        add di,6        mov byte ptr es:[di],/        add di,12        mov byte ptr es:[di],:        add di,6        mov byte ptr es:[di],:        mov ax,4c00h        int 21hshow:    push ax        push cx        out 70h,al        in al,71h        mov cx,4        mov ah,al        shr ah,cl        and al,0fh        add ah,30h        add al,30h        mov es:[di],ah        mov es:[di+2],al        pop cx        pop ax        retcode endsend start
View Code

 

汇编试验十四:访问CMOS RAM