DATA SEGMENT
BUF1 DB 'THE TIME IS NOW:$'
BUF4 DB 'LILI$'
BUF2 DB 10
DB 10 DUP()
COUNT DB 18
DATA ENDS
STACK SEGMENT STACK
DB 100 DUP()
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
CURSOR MACRO ROW,CLM
MOV AH,02H
MOV BH,0
MOV DH,ROW
MOV DL,CLM
INT 10H
ENDM
WIN MACRO
ROWL,CLML,ROWR,CLMR,COLOR MOV AH,06H
MOV AL,0
MOV CH,ROWL
MOV CL,CLML
MOV DH,ROWR
MOV DL,CLMR
MOV BH,COLOR
INT 10H
ENDM
ASCBCD MACRO REG
INC BX
INC BX
MOV REG,[BX]
MOV CL,4
SHL REG,CL
INC BX
MOV AL,[BX]
AND AL,OFH
OR REG,AL
ENDM
BCDASC MACRO REG
INC BX
INC BX
MOV AL,REG
MOV CL,4
SHR AL,CL
OR AL,30H
MOV [BX],AL
INC BX
MOV AL,REG
AND AL,OFH
OR AL,30H
MOV [BX],AL
ENDM
INCBCD MACRO REG,COUNT
MOV AL,REG
INC AL
DAA
MOV REG,AL
CMP AL,COUNT
JNZ DISPY
MOV REG,0
ENDM
STRDSPY MACRO ADRS
LEA DX,ADRS
MOV AH,9
INT 21H
ENDM
CLOCK PROC FAR
START:PUSH DS
MOV AX,0
PUSH AX
MOV AX,DATA
MOV DS,AX
WIN 0,0,24,79,7
WIN 6,9,18,70,01000001B
STRDSPY BUF3
CURSOR 7,9
STRDSPY BUF4
CURSOR 14,32
STRDSPY BUF1
CURSOR 15,36
LEA DX,BUF