首页 > 代码库 > 汇编试验十四:访问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
汇编试验十四:访问CMOS RAM
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。