.TITLE LTSH .GLOBL LTSH,%START,%STOP,%ENTER /LOAD TIMER ONCE AND SET HANDLER SUBROUTINE /EXECUTION TIME: 81 TO 96 MICROSECONDS /CALLING SEQUENCE: CALL LTSH(TIME,HANDLER,ERROR) / TIME: POSITIVE INTEGER CLOCK INTERVAL / (IN UNITS OF 16 2/3 MILLISECONDS) / HANDLER: PARAMETERLESS FORTRAN IV SUBROUTINE NAME / (CLOCK INTERRUPT HANDLER) / ERROR=0: NO ERROR / =1: TIME NOT > 0 LTSH 0 ISZ LTSH LAC* LTSH DAC TIME SPA LAC* TIME /INDIRECT DAC TIME /INTERVAL LOCATION ISZ LTSH LAC* LTSH DAC HANDLER SPA LAC* HANDLER /INDIRECT DAC HANDLER /USER SUBROUTINE ISZ LTSH LAC* LTSH DAC ERROR SPA LAC* ERROR /INDIRECT DAC ERROR DZM* ERROR /ERROR=0 ISZ LTSH /BUMP TO EXIT LAC* TIME SPA!SNA JMP ERROR1 /TIME NOT > 0 JMS* %START /START THE CLOCK LAC* TIME /DESIRED INTERVAL JMS* %ENTER /NOTIFICATION REQUEST CLOCK JMP* LTSH CLOCK 0 JMS* %STOP /STOP THE CLOCK JMS* HANDLER /GO TO USER JMP* CLOCK ERROR1 ISZ* ERROR /ILLEGAL TIME REQUESTED JMP* LTSH TIME HANDLER ERROR .END