📄 tim.asm
字号:
DATA SEGMENT
ASCVALUE DB 4 DUP(' '),'/'
MONTH db 0,0,'/',0,0,' ','$'
shijian db 0,0,':',0,0,':',0,0,'$'
YEAR DW 0
ri db 0
shi db 0
fen Db 0
miao Db 0
tuig db 8 dup(08h),'$'
info db 'Press any key to return...',0ah,0dh,'$'
DATA ENDS
STACK SEGMENT para stack 'stack'
STA DB 50 DUP(?)
TOP EQU LENGTH STA
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START:MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
MOV SP,TOP
MOV AH,2AH
INT 21H
MOV YEAR,CX
mov ri,dl
mov bh,dh
lea si,MONTH
call zhuanh1
mov bh,ri
inc si
call zhuanh1
CALL zhuanh2
mov ah,01h
mov ch,10
mov cl,00
int 10h
mov ax,0600h
mov bh,07h
mov cx,0000h
mov dx,184fh
int 10h
mov ah,2
mov bh,00
mov dh,00
mov dl,00
int 10h
mov ah,9
lea dx,info
int 21h
mov ah,2
mov bh,00
mov dh,00
mov dl,60
int 10h
call DISPLAY
time:mov ah,2ch
int 21h
mov shi,ch
mov fen,cl
mov miao,dh
mov bh,shi
lea si,shijian
call zhuanh1
mov bh,fen
inc si
call zhuanh1
mov bh,miao
inc si
call zhuanh1
mov ah,9
lea dx,shijian
int 21h
mov ah,9
lea dx,tuig
int 21h
mov ah,1
int 16h
je time
mov ah,0
int 16h
mov ah,01h
mov ch,13
mov cl,14
int 10h
MOV AH,4CH
INT 21H
;-----------------------------------------
zhuanh1 PROC
mov al,10
mov dl,0
last:cmp bh,al
jc next
inc dl
sub bh,al
jmp last
next:add dl,30h
mov [si],dl
inc si
add bh,30h
mov [si],bh
inc si
ret
zhuanh1 endP
;------------------------------------------
zhuanh2 PROC
PUSH AX
PUSH DX
PUSH CX
MOV CX,0010
LEA SI,ASCVALUE+3
MOV AX,YEAR
B20:CMP AX,CX
JB B30
XOR DX,DX
DIV CX
OR DL,30H
MOV [SI],DL
DEC SI
JMP B20
B30:OR AL,30H
MOV [SI],AL
POP CX
POP DX
POP AX
RET
zhuanh2 ENDP
;-----------------------------------------
DISPLAY PROC
mov ah,9
lea dx,ASCVALUE
int 21h
ret
DISPLAY ENDP
;-----------------------------------------
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -