📄 dianzi1.asm
字号:
JNZ DISPLAY_DATE1
RET
DISPLAY_DATE ENDP
;
CLR_SCREEN PROC NEAR
MOV AH,06H
MOV CX,time1
MOV DX,time2
INT 10H
MOV AH,02H
MOV DH,24H
MOV DL,80
MOV BH,0
INT 10H
RET
CLR_SCREEN ENDP
zhou PROC NEAR
PUSH AX
PUSH BX
PUSH CX
PUSH DX
LEA BX,led8
MOV CH,8
MOV CL,50
CALL jin
LEA BX,led7
MOV CH,8
MOV CL,46
CALL jin
LEA BX,led5
MOV CH,8
MOV CL,40
CALL jin
LEA BX,led4
MOV CH,8
MOV CL,36
CALL jin
LEA BX,led2
MOV CH,8
MOV CL,30
CALL jin
LEA BX,led1
MOV CH,8
MOV CL,26
CALL jin
POP DX
POP CX
POP BX
POP AX
RET
zhou ENDP
jin PROC NEAR
MOV AL,[BX]
CMP AL,30h
JNZ y1
LEA BX,s0
CALL xing
y1: CMP AL,31h
JNZ y2
LEA BX,s1
CALL xing
y2: CMP AL,32h
JNZ y3
LEA BX,s2
CALL xing
y3: CMP AL,33h
JNZ y4
LEA BX,s3
CALL xing
y4: CMP AL,34h
JNZ y5
LEA BX,s4
CALL xing
y5: CMP AL,35h
JNZ y6
LEA BX,s5
CALL xing
y6: CMP AL,36h
JNZ y7
LEA BX,s6
CALL xing
y7: CMP AL,37h
JNZ y8
LEA BX,s7
CALL xing
y8: CMP AL,38h
JNZ y9
LEA BX,s8
CALL xing
y9: CMP AL,39h
JNZ y10
LEA BX,s9
CALL xing
y10: RET
jin ENDP
xing PROC NEAR
PUSH AX
PUSH BX
PUSH CX
PUSH DX
INC BX
INC BX
INC BX
INC BX
MOV AL,[BX]
ADD CL,AL
DEC BX
MOV AL,[BX]
ADD CH,AL
DEC BX
MOV AH,[BX]
DEC BX
MOV AL,[BX]
CALL display
ADD BX,7
MOV AL,[BX]
ADD CL,AL
DEC BX
MOV AL,[BX]
ADD CH,AL
DEC BX
MOV AH,[BX]
DEC BX
MOV AL,[BX]
CALL display
ADD BX,7
MOV AL,[BX]
ADD CL,AL
DEC BX
MOV AL,[BX]
ADD CH,AL
DEC BX
MOV AH,[BX]
DEC BX
MOV AL,[BX]
CALL display
ADD BX,7
MOV AL,[BX]
ADD CL,AL
DEC BX
MOV AL,[BX]
ADD CH,AL
DEC BX
MOV AH,[BX]
DEC BX
MOV AL,[BX]
CALL display
ADD BX,7
MOV AL,[BX]
ADD CL,AL
DEC BX
MOV AL,[BX]
ADD CH,AL
DEC BX
MOV AH,[BX]
DEC BX
MOV AL,[BX]
CALL display
ADD BX,7
MOV AL,[BX]
ADD CL,AL
DEC BX
MOV AL,[BX]
ADD CH,AL
DEC BX
MOV AH,[BX]
DEC BX
MOV AL,[BX]
CALL display
ADD BX,7
MOV AL,[BX]
ADD CL,AL
DEC BX
MOV AL,[BX]
ADD CH,AL
DEC BX
MOV AH,[BX]
DEC BX
MOV AL,[BX]
CALL display
POP DX
POP CX
POP BX
POP AX
RET
xing ENDP
initiate PROC NEAR
PUSH AX
PUSH BX
PUSH CX
PUSH DX
CALL read_time
CALL convert_ascii
MOV AL,led8
SUB AL,30h
MOV t0,AL ;t0 表示秒的个位
MOV AL,led7
CMP AL,30h
JZ xxx
SUB AL,30h
MOV t2,AL ;t2 表示秒的十位
MOV t1,10
MUL t1
MOV CH,0
MOV CL,AL
xing1: PUSH CX
MOV CH,hang
MOV CL,lie
MOV AL,0
MOV AH,90h
CALL display
INC lie
POP CX
LOOP xing1
xxx: MOV CH,0
MOV CL,t0
xing2: PUSH CX
MOV CH,hang
MOV CL,lie
MOV AL,0
MOV AH,90h
CALL display
INC lie
POP CX
LOOP xing2
MOV AL,t2
MOV t2,10
MUL t2
ADD AL,t0
MOV t0,AL ;t0===秒
POP DX
POP CX
POP BX
POP AX
RET
initiate ENDP
guangzhu PROC NEAR
MOV t3,0
MOV AL,led7
SUB AL,30h
CMP AL,0
JZ k00
MOV t3,10
MUL t3
MOV t3,AL
k00: MOV AL,led8
SUB AL,30h
ADD AL,t3
MOV t3,AL ;t3===秒
CMP AL,t0
JZ k11
INC t0
MOV CH,hang
MOV CL,lie
MOV AL,0
MOV AH,90h
CALL display
INC lie
k11: CMP t0,60
JNZ k22
MOV t0,0
MOV hang,20
MOV lie,10
MOV CX,60
k33: PUSH CX
MOV CH,hang
MOV CL,lie
MOV AH,0
MOV AL,0
CALL display
INC lie
POP CX
LOOP k33
MOV hang,20
MOV lie,10
k22: RET
guangzhu ENDP
initiate2 PROC NEAR
PUSH AX
PUSH BX
PUSH CX
PUSH DX
MOV t4,3
MOV t5,30
LEA BX,xings
MOV CX,19
yyy: PUSH CX
MOV CH,t4
MOV CL,t5
MOV AH,9
MOV AL,[BX]
CALL display
INC t5
INC BX
POP CX
LOOP yyy
MOV t4,16
MOV t5,45
LEA BX,xingxings
MOV CX,8
yyyy: PUSH CX
MOV CH,t4
MOV CL,t5
MOV AH,9
MOV AL,[BX]
CALL display
INC t5
INC BX
POP CX
LOOP yyyy
POP DX
POP CX
POP BX
POP AX
RET
initiate2 ENDP
PROGRAM ENDS
END start
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -