!**FILE LAST CHANGED ON 21/12/77 AT 11.34.55 EXTRINSICINTEGER SSOPERNO EXTERNALROUTINESPEC DPON(RECORDNAME P) EXTERNALROUTINESPEC DPOFF(RECORDNAME P) EXTERNALINTEGERFNSPEC DCPUTIME SYSTEMROUTINESPEC FILL(INTEGER LEN,FROM,PAT) SYSTEMROUTINESPEC JBRCONTROL EXTERNALINTEGERFNSPEC DSETIC(INTEGER KI) RECORDFORMAT PF(INTEGER DEST, SRCE, STRING (23) MESS) SYSTEMINTEGERFN READCPUTIME RESULT = DCPUTIME; !TEMP DIRECTOR FACILITY END ; !OF READCPUTIME SYSTEMINTEGERFN SETCPULIMIT(INTEGER MSECS) INTEGER FLAG FLAG = DSETIC(MSECS//2) IF FLAG # 0 THEN RESULT = -1 ELSE RESULT = 0 END ; !OF SETCPULIMIT SYSTEMINTEGERFN DISCID EXTERNALINTEGERFNSPEC DISCID RESULT = DISCID END ; !OF DISCID SYSTEMINTEGERFN PRIMECONTINGENCY(ROUTINE ONTRAP) EXTERNALINTEGERFNSPEC PRIMECONTINGENCY(ROUTINE ONTRAP) RESULT = PRIMECONTINGENCY(ONTRAP) END ; !OF PRIMECONTINGENCY SYSTEMINTEGERFN READID(INTEGER AD) EXTERNALINTEGERFNSPEC READID(INTEGER AD) RESULT = READID(AD) END ; !OF READID SYSTEMSTRINGFN ITOS(INTEGER N) !RETURNS STRING CONTAINING ! CHARACTER VALUE OF N WITH ! NO LEADING SPACE !N SHOULD BE POSITIVE OR ! NEGATIVE INTEGER CONSTINTEGERARRAY TENS(0 : 9) = C 1, 10, 100, 1000, 10000, 100000 C , 1000000, 10000000, 100000000, 1000000000 STRING (11) RES INTEGER M, R, I, STARTED IF N = 0 THEN RESULT = "0"; !SPECIAL CASE IF N < 0 THEN N = -N AND RES = "-" ELSE RES = "" STARTED = 0; !INDICATES THAT NO CHAS PUT ! OUT SO FAR CYCLE I = 9,-1,0 R = TENS(I) IF N >= R OR STARTED # 0 START STARTED = 1; !TO INDICATE THAT CHAR ! ALREADY FOUND M = N//R RES = RES.TOSTRING(M+'0') N = N-M*R FINISH REPEAT RESULT = RES END ; !OF ITOS SYSTEMROUTINE CONSOLE(INTEGER A,INTEGERNAME B,C) !DUMMY ROUTINE END ; !OF CONSOLE SYSTEMROUTINE OPERMESS(STRING (23) S) RECORD P(PF) P = 0 P_DEST = X'00320007'!SSOPERNO<<8; !USE OPER USED FOR STARTUP P_MESS = S DPON(P) END ; !OF OPMESS SYSTEMROUTINE GETOPERMESS(STRING (23) PROMPT, C STRINGNAME REPLY) RECORD P(PF) P = 0; !CLEAR WHOLE RECORD P_DEST = X'00320008'!SSOPERNO<<8; !READ WITH PROMPT P_MESS = PROMPT DPON(P) DPOFF(P) REPLY = P_MESS END ; !OF GETOPERMESS SYSTEMROUTINE CONTROL !THIS JUST CALLS JBRCONTROL JBRCONTROL END ; !OF CONTROL !BASED ON UTIL6S WITH ROUTINES MOVE,FILL,ETOI,ITOE REMOVED TO BASE SYSTEMROUTINE ZERO(INTEGER LENGTH,FROM) FILL(LENGTH,FROM,0) END SYSTEMINTEGERFN COMPARE(INTEGER LENGTH,THIS,THAT) ! ! ! ! A SYSTEM INTEGER FUNCTION TO COMPARE TWO TEXTS OF LENGTH 'LENGTH' ! ! INTEGER 'THIS' POINTS TO ONE OF THE TEXTS, AND ! INTEGER 'THAT' POINTS TO THE OTHER TEXT ! ! RESULT= 0 => TEST(THIS)=TEXT(THAT) OR LENGTH<=0 ! RESULT= 1 => TEXT(THIS)>TEXT(THAT) ! RESULT=-1 => TEXT(THIS)<TEXT(THAT) ! ! INTEGER I WHILE LENGTH>0 CYCLE I= BYTEINTEGER(THIS) - BYTEINTEGER(THAT) IF I¬=0 THENSTART IF I>0 THENRESULT =1 C ELSERESULT =-1 FINISH THIS= THIS+1 THAT= THAT+1 LENGTH= LENGTH-1 REPEAT RESULT = 0 END ENDOFFILE