MOV DS,AX MOV CX,0 STI NEXT: MOV BH,1 LL: CMP BH,0 JNE LL MOV BL,0FFH ; CALL DISPLAY MOV AL,S INC AL DAA MOV S,AL CMP AL,60H JNZ SOUND1 MOV S,0 ;; JMP SOUND ;; CALL DISPLAY MOV AL,M INC AL DAA MOV M,AL CMP AL,60H
JNZ SOUND MOV M,0 MOV AL,H INC AL DAA MOV H, AL CMP AL, 24H JZ HOUR HOUR: MOV H,0 ; CALL DISPLAY ; MOV H,AL SOUND: CALL BEEP
SOUND1: MOV AH,1 CALL DISPLAY INT 16H JZ NEXT IN AL,21H OR AL,40H OUT 21H,AL MOV DX,0EC4CH MOV AL,42H OUT DX,AL
;;; STI
MOV AH,4CH INT 21H
IRQ PROC NEAR PUSH AX PUSH DX MOV BH,0 MOV AL,20H OUT 20H,AL MOV DX,0EC4DH MOV AL,1DH OUT DX,AL POP DX POP AX IRET IRQ ENDP
BEEP PROC NEAR PUSH AX PUSH CX
MOV AL,10110110B
OUT 43H,AL MOV AX,1190 OUT 42H,AL MOV AL,AH OUT 42H,AL IN AL,61H MOV AH,AL OR AL,03H OUT 61H,AL MOV CX,0 L0: LOOP L0 DEC BL JNZ L0 MOV AL,AH OUT 61H,AL POP CX POP AX RET BEEP ENDP
DISPLAY PROC NEAR PUSH CX
PUSH AX MOV AH,02H MOV DL,0DH INT 21H MOV AL,H CALL DISPNUM MOV AH,02H MOV DL,':' INT 21H MOV AL,M CALL DISPNUM MOV AH,02H MOV DL,':' INT 21H MOV AL,S CALL DISPNUM POP AX POP CX RET DISPLAY ENDP DISPNUM PROC NEAR PUSH DX