assume cs:code,ds:data
data segment
db 32 dup (0)
data ends
code segment
start: mov ax,data
mov ds,ax
mov si,0 ;设置ds:si首地址
;访问CMOS 9号单元
mov al,9
out 70h,al ;设置要访问的CMOS单元
in al,71h
mov ah,al
mov cl,4
shr ah,cl
and al,00001111b
add ah,30h ;将BCD码转换成ASCII码
add al,30h
mov [si],ah
mov 1[si],al
mov byte ptr 2[si],'/'
;访问CMOS 8号单元
mov al,8
out 70h,al
in al,71h
mov ah,al
shr ah,cl
and al,00001111b
add ah,30h
add al,30h
mov 3[si],ah
mov 4[si],al
mov byte ptr 5[si],'/'
;访问CMOS 7号单元
mov al,7
out 70h,al
in al,71h
mov ah,al
shr ah,cl
and al,00001111b
add ah,30h
add al,30h
mov 6[si],ah
mov 7[si],al
mov byte ptr 8[si],20h ;空格
;访问CMOS 4号单元
mov al,4
out 70h,al
in al,71h
mov ah,al
shr ah,cl
and al,00001111b
add ah,30h
add al,30h
mov 9[si],ah
mov 10[si],al
mov byte ptr 11[si],':'
;访问CMOS 2号单元
mov al,2
out 70h,al
in al,71h
mov ah,al
shr ah,cl
and al,00001111b
add ah,30h
add al,30h
mov 12[si],ah
mov 13[si],al
mov byte ptr 14[si],':'
;访问CMOS 0号单元
mov al,0
out 70h,al
in al,71h
mov ah,al
shr ah,cl
and al,00001111b
add ah,30h
add al,30h
mov 15[si],ah
mov 16[si],al
mov byte ptr 17[si],0
;送入显存缓冲区
mov ax,0b800h
mov es,ax
mov bx,160*21+36*2 ;设置es:bx首地址
mov al,2 ;设置颜色属性
mov cx,0 ;清零
s: mov cl,[si]
jcxz ok
mov es:[bx],cl
mov es:1[bx],al
inc si
add bx,2
loop s
ok: mov ax,4c00h
int 21h
code ends
end start