在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