1、 DATAS SEGMENT
TIME DB 39H,00H,35H,00H,3AH,00H,39H,00H,35H,00H,3AH,00H,31H,00H,31H
DATAS ENDS
STACKS SEGMENT
DB 100 DUP(?)
STACKS ENDS
CODES SEGMENT
ASSUME DS:DATAS,SS:STACKS,CS:CODES
START:
MOV AX,STACKS
2、 MOV SS,AX
MOV AH,35H
MOV AL,1CH
INT 21H
PUSH ES
PUSH BX
STI
MOV AX,SEG T
MOV DS,AX
MOV DX,OFFSET T
MOV AL,1CH
MOV AH,25H
INT 21H
MOV AL,13H
O
3、UT 20H,AL
MOV AL,08H
OUT 21H,AL
MOV AL,01H
OUT 21H,AL
MOV AL,0FEH
OUT 21H,AL
MOV AL,36H
OUT 43H,AL
MOV AX,0000H
OUT 40H,AL
MOV AL,AH
OUT 40H,AL
4、 L: HLT
JMP L
POP DX
POP AX
MOV DS,AX
MOV AH,25H
MOV AL,1CH
INT 21H
MOV AH,4CH
INT 21H
T PROC NEAR
MOV AX,DATAS
MOV DS,AX
MOV SI,OFFSET TIME
PUSH SI
5、 INC CL
CMP CL,12H
JB S
MOV CL,00H
ADD [SI],01H
CMP [SI],3AH
JB S
MOV [SI],30H
ADD [SI+2],01H
CMP [SI+2],36H
JB S
MOV [SI+2],30H
ADD [SI+6],01H
CMP [SI+6],3AH
6、 JB S
MOV [SI+6],30H
ADD [SI+8],01H
CMP [SI+8],36H
JB S
MOV [SI+8],30H
ADD [SI+0CH],01H
MOV BL,[SI+0CH]
MOV BH,[SI+0EH]
CMP BX,3132H
JAE E
CMP [SI+0CH],3AH
JB S
MOV [SI
7、0CH],30H
ADD [SI+0EH],01H
JMP S
E: MOV [SI+0EH],30H
MOV [SI+0CH],30H
S: ADD SI,0EH
MOV CH,0FH
Q: MOV DL,[SI]
MOV AH,02H
INT 21H
DEC SI
DEC CH
CMP CH,00H
JNZ Q
POP SI
MOV DL,0DH
MOV AH,02H
INT 21H
MOV AL,20H
OUT 20H,AL
IRET
T ENDP
CODES ENDS
END START