.TITLE SYNCH ; ; SYNCH EVENT TO A 5 SEC INTERVAL ; .PSECT SYNDAT,RD,WRT,NOEXE TIMBUF: YEAR: .BLKW 1 MONTH: .BLKW 1 DAY: .BLKW 1 HOUR: .BLKW 1 MINS: .BLKW 1 SECS: .BLKW 1 HTHS: .BLKW 1 BTIM: .BLKQ 1 TABLE: .ASCII /0505050505/ .ASCII /1010101010/ .ASCII /1515151515/ .ASCII /2020202020/ .ASCII /2525252525/ .ASCII /3030303030/ .ASCII /3535353535/ .ASCII /4040404040/ .ASCII /4545454545/ .ASCII /5050505050/ .ASCII /5555555555/ ZEROS: .ASCII /0000000000/ OUTPUT: .ASCID /SYS$OUTPUT/ TTCHAN: .WORD 1 ATMNOW: .LONG 23 ; LONG WORD SIZE .ADDRESS TBUF ; ADDRESS OF TIME BUFFER .LONG 0 ; END OF ITMLST TBUF: .BLKB 23 .PSECT SYNCH,EXE,RD,WRT .ENTRY SYNCH,^M $ASCTIM_S TIMBUF=ATMNOW,CVTFLG=#0 $NUMTIM_S TIMBUF=TIMBUF GOTIME: CLRL R3 MOVW SECS,R3 CMPW #54.,R3 BGEQ UNDMIN MOVAB ZEROS,R3 ; MOVE ZERO INTO SECS ADDB #1,TBUF+16. ; INCREMENT MINUTES BRB ADJTIM UNDMIN: ASHL #1,R3,R3 ADDW2 #TABLE,R3 ADJTIM: MOVAB TBUF+18.,R4 MOVB (R3)+,(R4)+ MOVB (R3)+,(R4)+ MOVB #^A/./,(R4)+ MOVB #^A/0/,(R4)+ MOVB #^A/0/,(R4)+ $BINTIM_S TIMADR=BTIM,TIMBUF=ATMNOW $SCHDWK_S DAYTIM=BTIM $HIBER_S RET .END