Professional Documents
Culture Documents
Clock 1
Clock 1
CGROUP
VECTOR
GROUP VECTOR,CODESEG
SEGMENT AT 0H
DB
6CH DUP(?)
TIME_LO DW
?
TIME_HI DW
?
VEC_IP DW
VEC_CS DW
VECTOR ENDS
;FILLER
;DOS TIME
;DOS TIME
;CLOCK UPDATE VECTOR IP
;CLOCK UPDATE VECTOR CS
CLK
UPDATE
HOUR:
H1:
LOOP
STI
POP
POP
POP
POP
POP
POP
IRET
ENDP
PROC
PUSH
PUSH
PUSH
PUSH
PUSH
MOV
MOV
MOV
mov
CMP
JLE
mov
SUB
JMP
AAM
ADD
LEA
MOV
MOV
MOV
MOV
SHR
MOV
MUL
SHR
AAM
ADD
MOV
MOV
mov
cmp
jz
mov
WAIT1
mov
POP
POP
POP
POP
POP
RET
ENDP
MOV
MOV
CLI
MOV
MOV
MOV
MOV
ES
DS
SI
DI
CX
AX
;SAVE REGISTERS
AX,3030H
BX,CS:TIME
CS:[BX],AH
CS:[BX+2],AL
AX,TIME_LO
CX,8H
AX,CL
DX,3CH
DL
AX,CL
;CONVERT TO ASCII
AX,3030H
CS:[BX+6],AH
;SAVE MINUTES FIRST DIGIT
CS:[BX+8],AL
;SAVE MINUTES SECOND DIGIT
byte ptr cs:[bx+12],'a'
flag,0
;is it am?
goahead
byte ptr cs:[bx+12],'p'
goahead:
UPDATE
SETUP:
AX,0
DS,AX
AX,[VEC_IP]
CS:[INT_IP],AX
AX,[VEC_CS]
CS:[INT_CS],AX
MOV
MOV
STI
MOV
INT
SUB
SHL
MOV
MOV
TEST
JNZ
ADD
MOV
MONO:
CALL
MOV
INT
DB
CODESEG ENDS
END