|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
代码很长。。。加了一个死循环, 一直显示当前时间
- assume cs:code
- code segment
- start:
- s0:
- mov cx, 2 ;死循环, 实时显示时间
- push cx
-
-
- mov bl, '/'
- mov si, 160 * 12 + 40 * 2 - 2
-
- mov cx, 3
- mov dl, 9
- ;显示年月日
- s:
- mov al, dl
- call read
- add si, 2
- call show_2
-
- mov ah, bl
- add si, 4
- call show_1
-
- dec dl
- loop s
- ;空格
- mov bl, ' '
- mov ah, bl
- call show_1
-
- mov bl, ':'
- mov cx, 3
- mov dl, 4
- ;显示时间
- s1:
- mov al, dl
- call read
- add si, 2
- call show_2
-
- mov ah, bl
- add si, 4
- call show_1
-
- sub dl, 2
- loop s1
-
- ;空格覆盖掉最后一个:
- mov bl, ' '
- mov ah, bl
- call show_1
-
-
- pop cx
- loop s0
-
- mov ax, 4c00H
- int 21H
- read:
- ;读取CMOS RAM中的数据
- push cx
-
- out 70h, al
- in al, 71h
-
- mov ah, al
- mov cl, 4
- shr ah, cl
- and al, 00001111b
-
- pop cx
- ret
-
- show_2:
- ;显示数字数据ah, al
- push es
- push bx
- mov bx, 0b800H
- mov es, bx
-
- add ah, 30h
- mov byte ptr es:[si], ah
-
- add al, 30h
- mov byte ptr es:[si + 2], al
- pop bx
- pop es
- ret
-
- show_1:
- ;显示数据ah
- push es
- push bx
- mov bx, 0b800H
- mov es, bx
-
- mov byte ptr es:[si], ah
- pop bx
- pop es
- ret
- code ends
- end start
复制代码 |
|