用汇编语言编写一个时钟程序

来源:百度知道 编辑:UC知道 时间:2024/06/17 23:46:28
用汇编语言编写一个时钟程序,在屏幕右上角显示实时日期和时间的程序,注意,一定是实时程序哦,显示格式: 2008-12-07 09:20:11

masm5.0编译,windows98或dos可以正常显示

;tsr例程
;功能:每按下ctrl键显示
;surported by campuslichen@yeah.net
;07/11/29

lmcmosr macro colorc,rowc,colc ;宏:获取cmos时间并显示
local lcmosrb,frc,btoa,toasc,nxt
jmp lcmosrb
pshow db ' \ \ : : ',0 ;ascii码存放区
acmos db 9,8,7,4,2,0 ;cmos端口,70h号:入口参数,9:年,8:月,7:日,4:时,2:分,0:秒,71h:出口参数,BCD码
pcmos db 7 dup(0) ;

frc:
;;无入口参数________________________
push si
push cx

mov cx,6
mov si,0
frs:
mov al,acmos[si]
out 70h,al ;将al中的参数写入al,格式为 :out 70h,al
in al,71h ;从 71h端口读取出口参数到al
mov pcmos[si],al
inc si
loop frs

pop cx
pop si
ret

btoa: ;bcd码转为ascii码

;;入口:si,di_______________________
mov cx,6
bs:
mov al,ds:[si]
call toasc
mov ds:[di],ah
mov ds:[di+1],al
inc si
inc di
inc di
inc di
loop bs
ret