📄 8.asm
字号:
DISPLAY PROC NEAR
PUSH BX
PUSH CX
PUSH AX
MOV AL,160
MUL CH
MOV BL,CL
ROL BL,1
MOV BH,0
ADD BX,AX
POP AX
MOV ES:[WD_BUFFER+BX],AX
POP CX
POP BX
RET
DISPLAY ENDP
DISPLAY_TIME PROC NEAR
MOV R0,8
LEA BX,LED1
MOV CH,16
MOV CL,38
DISPLAY_TIME1: MOV AL,[BX]
MOV AH,1EH
CALL DISPLAY
INC CX
INC BX
DEC R0
JNZ DISPLAY_TIME1
RET
DISPLAY_TIME ENDP
DISPLAY_DATE PROC NEAR
MOV R0,10
LEA BX,LED10
MOV CH,16
MOV CL,27
DISPLAY_DATE1: MOV AL,[BX]
MOV AH,0AH
CALL DISPLAY
INC CX
INC BX
DEC R0
JNZ DISPLAY_DATE1
RET
DISPLAY_DATE ENDP
CLR_SCREEN PROC NEAR
MOV AH,06H
MOV CX,TEMP1
MOV DX,TEMP2
INT 10H
MOV AH,02H
MOV DH,24H
MOV DL,80
MOV BH,0
INT 10H
RET
CLR_SCREEN ENDP
MOVE PROC NEAR
LEA BX,LED8
MOV CX,0832H
CALL COMPARE
LEA BX,LED7
MOV CX,082EH
CALL COMPARE
LEA BX,LED5
MOV CX,0828H
CALL COMPARE
LEA BX,LED4
MOV CX,0824H
CALL COMPARE
LEA BX,LED2
MOV CX,081EH
CALL COMPARE
LEA BX,LED1
MOV CX,081AH
CALL COMPARE
RET
MOVE ENDP
COMPARE PROC NEAR
MOV AL,[BX]
CMP AL,30H
JNZ Y1
LEA DI,F0
CALL XIANSHI
Y1: CMP AL,31H
JNZ Y2
LEA DI,F1
CALL XIANSHI
Y2: CMP AL,32H
JNZ Y3
LEA DI,F2
CALL XIANSHI
Y3: CMP AL,33H
JNZ Y4
LEA DI,F3
CALL XIANSHI
Y4: CMP AL,34H
JNZ Y5
LEA DI,F4
CALL XIANSHI
Y5: CMP AL,35H
JNZ Y6
LEA DI,F5
CALL XIANSHI
Y6: CMP AL,36H
JNZ Y7
LEA DI,F6
CALL XIANSHI
Y7: CMP AL,37H
JNZ Y8
LEA DI,F7
CALL XIANSHI
Y8: CMP AL,38H
JNZ Y9
LEA DI,F8
CALL XIANSHI
Y9: CMP AL,39H
JNZ Y10
LEA DI,F9
CALL XIANSHI
Y10: RET
COMPARE ENDP
XIANSHI PROC NEAR
MOV DX,7
ADD DI,4
S: MOV AL,[DI]
ADD CL,AL
DEC DI
MOV AL,[DI]
ADD CH,AL
DEC DI
MOV AH,[DI]
DEC DI
MOV AL,[DI]
CALL DISPLAY
ADD DI,7
DEC DX
JNZ S
RET
XIANSHI ENDP
LOGO PROC NEAR
MOV AL,LED7
SUB AL,30H
MOV BL,10
MUL BL
MOV T0,AL
MOV AL,LED8
SUB AL,30H
ADD AL,T0
MOV T0,AL
CMP T0,0
JZ P
CMP T0,3CH
JZ P
MOV DL,T0
MOV CX,140AH
C: MOV AH,0A0H
MOV AL,0
CALL DISPLAY
INC CX
DEC DL
JNZ C
JMP X
P: MOV BL,60
MOV CX,140AH
J: MOV AH,0
MOV AL,0
CALL DISPLAY
INC CX
DEC BL
JNZ J
X: RET
LOGO ENDP
WEEK PROC NEAR
MOV AH,2AH
INT 21H
CMP AL,0
JNZ WEEK1
LEA BX,SUNDAY
MOV CX,6
SUN: PUSH CX
MOV CH,16
MOV CL,WEEK_COL
MOV AL,[BX]
MOV AH,0AH
CALL DISPLAY
INC BX
INC WEEK_COL
POP CX
LOOP SUN
WEEK1: CMP AL,1
JNZ WEEK2
LEA BX,MONDAY
MOV CX,6
MON: PUSH CX
MOV CH,16
MOV CL,WEEK_COL
MOV AL,[BX]
MOV AH,0AH
CALL DISPLAY
INC BX
INC WEEK_COL
POP CX
LOOP MON
WEEK2: CMP AL,2
JNZ WEEK3
LEA BX,TUESDAY
MOV CX,7
TUE: PUSH CX
MOV CH,16
MOV CL,WEEK_COL
MOV AL,[BX]
MOV AH,0AH
CALL DISPLAY
INC BX
INC WEEK_COL
POP CX
LOOP TUE
WEEK3: CMP AL,3
JNZ WEEK4
LEA BX,WEDNESDAY
MOV CX,9
WED: PUSH CX
MOV CH,16
MOV CL,WEEK_COL
MOV AL,[BX]
MOV AH,0AH
CALL DISPLAY
INC BX
INC WEEK_COL
POP CX
LOOP WED
WEEK4: CMP AL,4
JNZ WEEK5
LEA BX,THURESDAY
MOV CX,8
THU: PUSH CX
MOV CH,16
MOV CL,WEEK_COL
MOV AL,[BX]
MOV AH,0AH
CALL DISPLAY
INC BX
INC WEEK_COL
POP CX
LOOP THU
WEEK5: CMP AL,5
JNZ WEEK6
LEA BX,FRIDAY
MOV CX,6
FRI: PUSH CX
MOV CH,16
MOV CL,WEEK_COL
MOV AL,[BX]
MOV AH,0AH
CALL DISPLAY
INC BX
INC WEEK_COL
POP CX
LOOP FRI
WEEK6: CMP AL,6
JNZ WEEK_EXIT
LEA BX,SATURDAY
MOV CX,8
SAT: PUSH CX
MOV CH,16
MOV CL,WEEK_COL
MOV AL,[BX]
MOV AH,0AH
CALL DISPLAY
INC BX
INC WEEK_COL
POP CX
LOOP SAT
WEEK_EXIT: RET
WEEK ENDP
PROGRAM ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -