📄 clk.asm
字号:
data segment
A1 db 9
db 10 dup(?)
A2 db 3 dup(0)
A3 db 'please input the start time:$'
data ends
stack segment para stack'stack'
db 1024 dup(?)
stack ends
code segment
assume cs:code,ss:stack,ds:data,es:data
start proc far
begin: push ds
mov ax,0
push ax
mov ax,data
mov ds,ax
mov es,ax
lea dx,A3
mov ah,9
int 21h
mov dl,0ah
mov ah,2
int 21h
lea dx,A1
mov ah,0ah
int 21h
lea si,A1
lea di,A2
mov ax,0
mov al,[si+2]
sub al,30h
mov bl,10
mul bl
mov cl,[si+3]
sub cl,30h
add al,cl
mov [di+1],al
mov al,[si+5]
sub al,30h
mov bl,10
mul bl
mov cl,[si+6]
sub cl,30h
add al,cl
mov [di],al
mov al,[si+8]
sub al,30h
mov bl,10
mul bl
mov cl,[si+9]
sub cl,30h
add al,cl
mov [di+2],al
pyy: mov cx,60
xor ax,ax
xor bx,bx
push bx
xor dx,dx
go: mov dl,0dh
mov ah,2
int 21h
call adds1
pop bx
inc bh
push bx
call addm1
nop
call addh1
mov al,'$'
mov [si+0ah],al
lea dx,A1
mov ah,9
int 21h
push ax
push cx
mov ax,7001h
K: mov cx,0ffffh
again: dec cx
nop
jnz again
dec ax
jnz K
pop cx
pop ax
mov dl,0ffh ;键盘扫描
mov ah,6
int 21h
jnz exitp
dec cx
jnz go
mov al, [di+1]
cmp al,24
jl pyy
exitp: mov ah,4ch ;关闭文件
int 21h
retf
start endp
adds1 proc
push ax
push cx
push dx
mov cl,[di+2]
inc cl
mov [di+2],cl
mov al,[si+9]
add al,1
daa
cmp al,40h
jl Hhh
mov bl,30h
mov [si+9],bl
mov al,[si+8]
inc al
daa
cmp al,36h
jl ha
mov bl,30h
mov [si+8],bl
jmp p
ha: mov [si+8],al
jmp p
Hhh: mov [si+9],al
p: pop dx
pop cx
pop ax
ret
adds1 endp
addm1 proc
push ax
push bx
push cx
push dx
mov al,[di+2]
cmp al,60
je tao
jmp piao
tao: mov cl,0
mov [di+2],cl
mov bl,[di]
inc bl
mov [di],bl
mov al,[si+6]
inc al
daa
cmp al,40h
jl hua
mov bl,30h
mov [si+6],bl
mov al,[si+5]
inc al
daa
cmp al,36h
jl hao
mov bl,30h
mov [si+5],bl
jmp piao
hao: mov [si+5],al
jmp piao
hua: mov [si+6],al
piao: pop dx
pop cx
pop bx
pop ax
ret
addm1 endp
addh1 proc
push ax
push bx
push cx
push dx
mov bl,[di]
cmp bl,60
je taoo
jmp piaoo
taoo: mov cl,0
mov [di],cl
mov bl,[di+1]
inc bl
mov [di+1],bl
mov al,[si+3]
inc al
daa
cmp al,40h
jl huaa
mov bl,30h
mov [si+3],bl
mov al,[si+2]
inc al
daa
cmp al,36h
jl haoo
mov bl,30h
mov [si+2],bl
jmp piaoo
haoo: mov [si+2],al
jmp piaoo
huaa: mov [si+3],al
piaoo: mov al,[di+1]
cmp al,24
jne we
mov al,30h
mov [si+3],al
mov [si+2],al
we: pop dx
pop cx
pop bx
pop ax
ret
addh1 endp
code ends
end begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -