?? clock.asm
字號:
code segment
org 100h
assume cs:code,ds:code
Start:
mov ax,0a000h
mov es,ax
mov ax,0013h
int 10h
l1:
call showtime_
mov ah,01h
int 16h
jz l1
mov ax,0003h
int 10h
mov ah,4ch
int 21h
showNum_ proc near
push ax
push bx
push cx
push dx
mov di,showNum_mPos
mov si,offset showNum_mBuff
mov al,showNum_mDigit
mov ah,44 ;22 dw(s)
mul ah
add si,ax
mov cx,22
showNum_l1:
lodsw
mov dx,14
mov bx,ax
rol bx,1
rol bx,1
rol bx,1
rol bx,1
showNum_l2:
rol bx,1
jc showNum_l3
mov al,32
jmp showNum_l4
showNum_l3:
mov al,showNum_mColor
showNum_l4:
stosb
dec dx
jnz showNum_l2
add di,320-14
loop showNum_l1
add showNum_mPos,14
pop dx
pop cx
pop bx
pop ax
ret
showNum_mColor db 31
showNum_mDigit db 0
showNum_mPos dw 0
showNum_mBuff dw 3feh,5fdh,6fbh,707h,707h,707h,707h,707h,603h,401h,000h,401h,603h,707h,707h,707h,707h,707h,6fbh,5fdh,3feh,0
dw 000h,001h,003h,007h,007h,007h,007h,007h,003h,001h,000h,001h,003h,007h,007h,007h,007h,007h,003h,001h,000h,0
dw 3feh,1fdh,0fbh,007h,007h,007h,007h,007h,003h,1fdh,3feh,5fch,600h,700h,700h,700h,700h,700h,6f8h,5fch,3feh,0
dw 3feh,1fdh,0fbh,007h,007h,007h,007h,007h,003h,1fdh,3feh,1fdh,003h,007h,007h,007h,007h,007h,0fbh,1fdh,3feh,0
dw 000h,401h,603h,707h,707h,707h,707h,707h,603h,5fdh,3feh,1fdh,003h,007h,007h,007h,007h,007h,003h,001h,000h,0
dw 3feh,5fch,6f8h,700h,700h,700h,700h,700h,600h,5fch,3feh,1fdh,003h,007h,007h,007h,007h,007h,0fbh,1fdh,3feh,0
dw 3feh,5fch,6f8h,700h,700h,700h,700h,700h,600h,5fch,3feh,5fdh,603h,707h,707h,707h,707h,707h,6fbh,5fdh,3feh,0
dw 3feh,1fdh,0fbh,007h,007h,007h,007h,007h,003h,001h,000h,001h,003h,007h,007h,007h,007h,007h,003h,001h,000h,0
dw 3feh,5fdh,6fbh,707h,707h,707h,707h,707h,603h,5fdh,3feh,5fdh,603h,707h,707h,707h,707h,707h,6fbh,5fdh,3feh,0
dw 3feh,5fdh,6fbh,707h,707h,707h,707h,707h,603h,5fdh,3feh,1fdh,003h,007h,007h,007h,007h,007h,0fbh,1fdh,3feh,0
dw 000h,000h,000h,000h,000h,070h,070h,070h,000h,000h,000h,000h,000h,070h,070h,070h,000h,000h,000h,000h,000h,0
dw 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,070h,070h,070h,000h,0
dw 000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,0
showNum_ endp
showtime_ proc near
mov ah,2ch
int 21h
cmp dl,50
ja showtime_l1
mov bl,10
jmp showtime_l2
showtime_l1:
mov bl,12
showtime_l2:
push showtime_mPos
pop shownum_mPos
mov al,ch
call showal_
mov showNum_mDigit,bl
call showNum_
mov al,cl
call showal_
mov showNum_mDigit,bl
call showNum_
mov al,dh
call showal_
mov showNum_mDigit,11
call showNum_
mov al,dl
call showaL_
ret
showtime_mPos dw 320*80+70
showtime_ endp
showal_ proc near
push bx
mov ah,0
mov bl,10
div bl
mov showNum_mdigit,al
call showNum_
mov showNum_mdigit,ah
call showNum_
pop bx
ret
showal_ endp
code ends
end Start
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -