!**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