*TITLETMSTRT -- SET CPU TIME LIMITATION 00001001 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** *A AUTHOR D.J.POLAK 00003001 *A DESIGNER D.J.POLAK 00004001 *A LANGUAGE ASSEMBLER 00005001 *A SYSTEM IBM 00006001 *A WRITTEN 09-30-85 00007001 * REVISED 09-30-85 RKG ADDED DOCUMENTATION AND RELEASED. 00008001 * 00009001 TITLE 'TMSTRT' 00010000 PRINT GEN 00020000 ********************************************************************** 00030000 *A * 00040002 *A TMSTRT IS USED TO LIMIT THE AMOUNT OF CPU TIME USED BY A * 00050002 *A PROGRAM. THE CALLING SEQUENCE IS: * 00060002 *A * 00070002 *A CALL TMSTART (ISEC) * 00080002 *A * 00090002 *A WHERE ISEC IF THE NUMBER OF CPU SECONDS YOU WANT FOR A LIMIT. * 00100002 *A * 00110002 *A WHEN THE PROGRAM EXCEEDS THE LIMIT, THE PROGRAM WILL ABEND WITH * 00120002 *A A 'USER 202'. A SECOND CALL TO 'TMSTRT' OVERRIDES THE CURRENT * 00130002 *A ONE. TO TURN OFF THE LIMIT CALL ROUTINE 'TMSTOP' WITH NO * 00140002 *A ARGUMENTS. * 00150002 *A * 00160002 ********************************************************************** 00170000 R0 EQU 0 00180000 R1 EQU 1 00190000 R2 EQU 2 00200000 R3 EQU 3 00210000 R4 EQU 4 00220000 R5 EQU 5 00230000 R6 EQU 6 00240000 R7 EQU 7 00250000 R8 EQU 8 00260000 R9 EQU 9 00270000 R10 EQU 10 00280000 R11 EQU 11 00290000 R12 EQU 12 00300000 R13 EQU 13 00310000 R14 EQU 14 00320000 R15 EQU 15 00330000 EJECT 00340000 TMSTRT CSECT 00350000 STM R14,R12,12(R13) HOUSEKEEPING 00360000 LR R12,R15 00370000 USING TMSTRT,R12 00380000 LA R2,REGSAV 00390000 ST R13,4(R2) 00400000 ST R2,8(R13) 00410000 LR R13,R2 00420000 * 00430000 L R2,0(R1) ADDRESS OF INPUT PARAMETER 00440000 L R3,0(R2) TIME IN SECONDS 00450000 M R2,=F'100' CONVERT TO HUNDRETHS 00460000 ST R3,INTCNT SAVE IT. 00470000 STIMER TASK,SEXIT,BINTVL=INTCNT 00480000 * 00490000 GOBACK EQU * 00500000 L R13,4(R13) 00510000 LM R14,R12,12(R13) 00520000 XR R15,R15 00530000 BR R14 GOBACK 00540000 * 00550000 * 00560000 DROP R12 00570000 SEXIT DS 0H 00580000 STM R14,R12,12(R13) HOUSEKEEPING 00590000 LR R12,R15 00600000 USING SEXIT,R12 00610000 LA R2,REGSAVS 00620000 ST R13,4(R2) 00630000 ST R2,8(R13) 00640000 LR R13,R2 00650000 * 00660000 ABEND 202 00670000 * 00680000 L R13,4(R13) 00690000 LM R14,R12,12(R13) 00700000 XR R15,R15 00710000 BR R14 GOBACK 00720000 * 00730000 *** DATA AREAS 00740000 * 00750000 REGSAV DC 18F'0' SAVE AREAS 00760000 REGSAVS DC 18F'0' SAVE AREAS 00770000 DS 0D 00780000 INTCNT DC F'0' TIME FOR STOPPING 00790000 LTORG 00800000 END 00810000