TA的每日心情 | 开心 2018-10-31 14:26 |
---|
签到天数: 18 天 [LV.4]偶尔看看III
高级会员
- 积分
- 1019
|
assume cs:code, ds:data
data segment
date_time db '00/00/00 00:00:00', '$'; 显示时间格式“年/月/日 时:分:秒”
s0 db 9, 8, 7, 4, 2, 0 ; CMOS中时间信息的存放单元
data ends
code segment
start:
mov ax, data
mov ds, ax
mov si, offset s0 ; (ds:si)为CMOS中时间信息存放单元地址
mov es, ax
mov di, offset date_time ; (es:di)为待显示时间地址
mov cx, 6
time:
push cx
mov al, [si]
out 70H, al
in al, 71H ; 从CMOS相应单元读出信息
mov ah, al
mov cl, 4
shr ah, cl ; ah存放十位数字
add ah, 30H
and al, 0fH ; al存放个位数字
add al, 30H
mov es:[di], ah
mov es:[di+1], al
inc si
add di, 3
pop cx
loop time
mov ah, 2 ; 置光标
mov bh, 0 ; 第0页
mov dh, 5 ; 行号
mov dl, 12 ; 列号
int 10H
mov ax, data
mov ds, ax
mov dx, offset date_time; ds:dx指向待显示时间地址
mov ah, 9
int 21H
mov ax, 4c00H
int 21H
code ends
end start
|
|