.model small
.stack
.data
.code
asli proc
;---------------------------
;INT 1Ah / AH = 00h - get system time.
;return:
;CX:DX = number of clock ticks since midnight.
;AL = midnight counter, advanced each time midnight passes.
;Notes:
;There are approximately 18.20648 clock ticks per second,
;and 1800B0h per 24 hours.
;AL is not set by emulator yet!
;----------------------
lablexxx:
mov ah,2
int 1ah
mov bl,ch
call bl_print
mov bl,cl
call bl_print
;------
push dx
push ax
mov ah,2
mov dl,'-'
int 21h
pop ax
pop dx
;------
mov bl,dh
call bl_print
mov bl,dl
call bl_print
;------
push dx
push ax
mov ah,2
mov dl,'-'
int 21h
pop ax
pop dx
;------
mov bl,al
call bl_print
;============
mov dh,0 ;DH = row.
mov dl,0 ;DL = column.
mov ah,2 ;service
int 10h
jmp lablexxx
;===========
;---------------------------
mov ax,4c00h ; return to dos DOS
int 21h
asli endp
; ============ sub bl_print ===========
bl_print PROC NEAR
push ax
push bx
push cx
push dx
;----------part 1
mov ah,2h
mov dl,bl
mov cl,04h
shr dl,cl
add dl,30h
cmp dl,3ah
jl lable1
add dl,07h
lable1:
int 21h
; -----------part 2
mov dl,bl
and dl,0fh
add dl,30h
cmp dl,3ah
jl lable2
add dl,07h
lable2:
int 21h
;------------
pop dx
pop cx
pop bx
pop ax
ret ; return to where it was called
bl_print ENDP
;===================================
end asli