assume cs:code,ds:data
data segment
db 9,8,7,4,2,0 ;CMOS中相应的内存单元位置
db '// ::',0 ;每个时间数据对应的标点符号
data ends
code segment
start:mov ax,data
mov ds,ax
mov si,0
mov ax,0b800h
mov es,ax
mov di,34*2+12*160
r:mov al,[si]
out 70h,al
in al,71h
mov ah,0
mov cl,4
shl ax,cl
shr al,cl
add ah,30h
add al,30h
mov ch,00000111b ;存放颜色
mov cl,ah ;注意是十位数在左边,个位数在右边
mov ES:[di],cx
mov cl,al
mov ES:[di+2],cx ;我是两字节时间数据和一字节符号数据作为一组来循环的,因为“秒”后没有标点了,所以就将其对应标点设为0,同时作为循环结束的标志。
cmp byte ptr [si+6],0
je ok
mov cl,[si+6]
mov ES:[di+4],cx
add di,6
inc si
jmp r
ok:mov ax,4c00h
int 21h
code ends
end start