#TITLE "CONTINUOUS TIME DISPLAY" #PAGE 132,66 MODULE "CTIME" ; LOC Data# ; TIME: BYTE "\r " HOUR: BYTE "00:" MIN: BYTE "00:" SEC: BYTE "00$" CSEC: BYTE 0 ; MESS1: BYTE "\r\n\n\n$" ; ALIGN RES 100 STACK == . ; LOC Code# ; START: MOV AX,DS MOV SS,AX MOV SP,&STACK MOV DX,&MESS1 CALL PRINTM LOOP: MOV CL,=10 INT 0XDF CMP CSEC,CH JNZ CVRT MOV CL,=11 INT 0XE0 OR AL,AL JZ LOOP MOV DX,&MESS1 CALL PRINTM MOV CL,=0 INT 0XE0 ; CVRT: MOV AL,DH CALL DEC MOV WORD HOUR,AX MOV AL,DL CALL DEC MOV WORD MIN,AX MOV AL,CH MOV CSEC,AL CALL DEC MOV WORD SEC,AX MOV DX,&TIME CALL PRINTM JMPS LOOP ; DEC: AAM XCHG AH,AL OR AX,=0X3030 RET ; PRINTM: MOV CL,=9 INT 0XE0 RET ; END