在CMOS RAM中,存放着年月日,时分秒的信息,这6个数据都是1字节长度。
另外CMOS的70h端口是写入数据,71h端口是读取数据。这些数据的存放单元是:
秒:0,分:2,时:4,日:7,月:8,年:9
这里的数据是以BCD码的形式存储的,以4位二进制表示一个十进制。
例如 十进制的3 对应的就是 0011
整体的逻辑是
assume cs:code
code segment
start: mov al,8
out 70h, al; 写入端口
in al,71h; 拿到月份数据
mov ah,al
mov cl,4; 移位
shr ah,cl; 保留高4位
and al, 00001111b;保留低四位
mov bx,0b800h; 开始展示,屏幕的展示区
mov es,bx
mov byte ptr es:[160*12+40*2],ah
mov byte ptr es:[160*12+40*2+2], al
mov ax, 4c00h
int 21h
code ends
end start