INTEGER FUNCTION SVSAVE(FILE,TRACE) INTEGER FILE(1) LOGICAL TRACE COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0( *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES *T0(17,32),PFORM0(9,32) INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT *SAV0,KRESP0,PDEST0,PFORM0 INTEGER H,JUNK INTEGER P INTEGER FD INTEGER OPEN INTEGER VAL CALL BREAK$(1) FD=OPEN(FILE,2,JUNK,20) IF((FD.NE.-3))GOTO 10000 CALL BREAK$(0) SVSAVE=-3 RETURN 10000 IF((.NOT.TRACE))GOTO 10001 CALL PRINT(1,'Saving variables in *s*n.',FILE) 10001 H=1 GOTO 10004 10002 H=H+(1) 10004 IF((H.GT.13))GOTO 10003 P=SVTBL0(1,H) GOTO 10007 10005 P=SVMEM0(P+0) 10007 IF((P.EQ.0))GOTO 10002 CALL PUTLIN(SVMEM0(SVMEM0(P+1)),FD) CALL PUTCH(138,FD) CALL SVCTMN(SVMEM0(SVMEM0(P+2)),VAL) CALL PUTLIN(SVMEM0(VAL),FD) CALL PUTCH(138,FD) IF((.NOT.TRACE))GOTO 10008 CALL PUTLIN(SVMEM0(SVMEM0(P+1)),1) CALL PUTCH(138,1) CALL PUTLIN(SVMEM0(VAL),1) CALL PUTCH(138,1) 10008 CALL SVFREE(VAL) GOTO 10005 10003 CALL TRUNC(FD) CALL CLOSE(FD) CALL BREAK$(0) SVSAVE=-2 RETURN END INTEGER FUNCTION SVREST(FILE,TRACE) INTEGER FILE(1) LOGICAL TRACE COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0( *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES *T0(17,32),PFORM0(9,32) INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT *SAV0,KRESP0,PDEST0,PFORM0 INTEGER NAME,VALUE INTEGER LEN,JUNK INTEGER SVGETL,LENGTH INTEGER FD INTEGER OPEN CALL BREAK$(1) FD=OPEN(FILE,1,JUNK,20) IF((FD.NE.-3))GOTO 10009 CALL BREAK$(0) SVREST=-3 RETURN 10009 IF((.NOT.TRACE))GOTO 10010 CALL PRINT(1,'Restoring variables from *s*n.',FILE) 10010 CONTINUE 10011 LEN=SVGETL(NAME,FD) IF((LEN.NE.-1))GOTO 10012 GOTO 10013 10012 SVMEM0(NAME+LEN-1)=0 LEN=SVGETL(VALUE,FD) IF((LEN.NE.-1))GOTO 10014 CALL CLOSE(FD) CALL BREAK$(0) SVREST=-3 RETURN 10014 SVMEM0(VALUE+LEN-1)=0 IF((.NOT.TRACE))GOTO 10015 CALL PRINT(1,'*s = *s*n.',SVMEM0(NAME),SVMEM0(VALUE)) 10015 CALL SVMAKE(SVMEM0(NAME),SVMEM0(VALUE)) CALL SVFREE(VALUE) CALL SVFREE(NAME) GOTO 10011 10013 CALL CLOSE(FD) CALL BREAK$(0) SVREST=-2 RETURN END INTEGER FUNCTION SVSCAN(NAME,MAXLEN,INFO,OFFSET) INTEGER NAME(MAXLEN) INTEGER MAXLEN,INFO(3),OFFSET COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0( *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES *T0(17,32),PFORM0(9,32) INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT *SAV0,KRESP0,PDEST0,PFORM0 INTEGER CTOC LOGICAL MISSIN INTEGER I INTEGER P IF((INFO(1).NE.0))GOTO 10016 INFO(1)=1 INFO(2)=0 IF((.NOT.MISSIN(OFFSET)))GOTO 10017 INFO(3)=0 GOTO 10018 10017 INFO(3)=OFFSET 10018 CONTINUE 10016 NAME(1)=0 IF((INFO(1).GE.1))GOTO 10019 INFO(1)=1 10019 IF((INFO(1).LE.13))GOTO 10020 SVSCAN=-1 RETURN 10020 IF((INFO(2).GE.0))GOTO 10021 INFO(2)=0 10021 IF((SVLLA0.GT.INFO(3)))GOTO 10022 INFO(3)=SVLLA0-1 10022 IF((INFO(3).GE.0))GOTO 10023 INFO(3)=0 10023 P=SVTBL0(SVLLA0-INFO(3),INFO(1)) I=1 GOTO 10026 10024 I=I+(1) 10026 IF((I.GT.INFO(2)))GOTO 10025 IF((P.EQ.0))GOTO 10025 P=SVMEM0(P+0) GOTO 10024 10025 CONTINUE 10027 IF((P.EQ.0))GOTO 10028 INFO(2)=INFO(2)+(1) SVSCAN=CTOC(SVMEM0(SVMEM0(P+1)),NAME,MAXLEN) RETURN 10028 INFO(1)=INFO(1)+(1) IF((INFO(1).LE.13))GOTO 10029 GOTO 10030 10029 INFO(2)=0 P=SVTBL0(SVLLA0-INFO(3),INFO(1)) GOTO 10027 10030 SVSCAN=-1 RETURN END INTEGER FUNCTION SVMAKE(NAME,VALUE) INTEGER NAME(1),VALUE(1) COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0( *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES *T0(17,32),PFORM0(9,32) INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT *SAV0,KRESP0,PDEST0,PFORM0 INTEGER H,NL,VL,I INTEGER LENGTH,SVFIND,SVHASH,SVMNTC INTEGER P,NP,VP INTEGER SVALLO NL=LENGTH(NAME)+1 IF((SVFIND(NAME,P).EQ.SVLLA0))GOTO 10031 CALL BREAK$(1) P=SVALLO(3) NP=SVALLO(NL) CALL SVMNTC(VALUE,VP) H=SVHASH(NAME) SVMEM0(P+1)=NP SVMEM0(P+2)=VP SVMEM0(P+0)=SVTBL0(SVLLA0,H) SVTBL0(SVLLA0,H)=P CALL CTOC(NAME,SVMEM0(NP),NL) CALL SVFIX(NAME,SVMEM0(VP),SVLLA0) CALL BREAK$(0) 10031 SVMAKE=SVLLA0 RETURN END INTEGER FUNCTION SVPUT(NAME,VALUE) INTEGER NAME(1),VALUE(1) COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0( *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES *T0(17,32),PFORM0(9,32) INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT *SAV0,KRESP0,PDEST0,PFORM0 INTEGER LL INTEGER SVMNTC,SVFIND,SVMAKE INTEGER P,VP INTEGER SVALLO LL=SVFIND(NAME,P) IF((LL.NE.-1))GOTO 10032 LL=SVMAKE(NAME,VALUE) GOTO 10033 10032 CALL BREAK$(1) CALL SVFREE(SVMEM0(P+2)) CALL SVMNTC(VALUE,VP) SVMEM0(P+2)=VP CALL SVFIX(NAME,SVMEM0(VP),LL) CALL BREAK$(0) 10033 SVPUT=LL RETURN END SUBROUTINE SVDEL(NAME) INTEGER NAME(1) COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0( *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES *T0(17,32),PFORM0(9,32) INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT *SAV0,KRESP0,PDEST0,PFORM0 COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESES0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESET0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESEU0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEV0(680),NEWSC0(85,51),RESEW0(785),CURSC0(85,51),RESEX0 *(785),TCCLE0(10),TCCLF0(10),TCCLG0(10),TCCUR0(10),TCCUS0(10),TCCUT *0(10),TCCUU0(10),TCCUV0(10),TCABS0(10),TCVER0(10),TCHOR0(10),TCINS *0(10),TCDEL0(10),TCSHI0(10),TCSHJ0(10),TCCOO0,TCSHK0,TCCOP0,TCSEQ0 *,TCSPE0,TCCLH0,TCLIN0,TCPOS0,TCWRA0,TCCLR0,TCCEO0,TCCEP0,TCABT0,TC *VES0,TCHOS0,TCHOM0,TCLEF0,TCUPL0,UNPRI0,COLCH0(51),COLCI0(51),ROWC *H0,ROWCI0,LASTC0(51),MAXRO0,MAXCO0,CURRO0,CURCO0,MSGRO0,MSGOW0(85) *,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0(128,20),LASTF0,TABSA0(85),INPU *T0(51),INPUU0(51),INBUF0(85),LASTD0,INSER0,INVER0,DUPLE0,INPUV0,PB *BUF0(400),PBPTR0,FNUSE0(20),DEFBU0(1000),LASTE0,NESTI0,RESEY0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESES0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESET0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESEU0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEV0,NEWSC0,RESEW0,CURSC0,RESEX0,TCCLE0,TCC *LF0,TCCLG0,TCCUR0,TCCUS0,TCCUT0,TCCUU0,TCCUV0,TCABS0,TCVER0,TCHOR0 *,TCINS0,TCDEL0,TCCLH0,TCLIN0,TCPOS0,TCSHI0,TCSHJ0,TCCOO0,TCSHK0,TC *COP0,TCSEQ0,TCDEM0,TCWRA0,TCCLR0,TCSPE0,TCCEO0,TCCEP0,TCABT0,TCVES *0,TCHOS0,UNPRI0,COLCH0,COLCI0,ROWCH0,ROWCI0,LASTC0,MAXRO0,MAXCO0,C *URRO0,CURCO0,MSGRO0,MSGOW0,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0,LAST *F0,TABSA0,INPUT0,INPUU0,INBUF0,LASTD0,INSER0,INVER0,DUPLE0,INPUV0, *PBBUF0,PBPTR0,FNUSE0,DEFBU0,LASTE0,NESTI0,TCHOM0,TCLEF0,TCUPL0,RES *EY0 INTEGER FDESC0(16),FDDEV0(1),FDUNI0(1),FDBUG0(1),FDBUH0(1),FDBUI0( *1),FDCOU0(1),FDBCO0(1),FDFLA0(1),FDVCS0(1),FDVCT0(1),FDOPS0(1),FDO *PT0(1),FDOPU0(1) INTEGER H,I INTEGER EQUAL,SVHASH,STRLSR INTEGER P,Q INTEGER POS(10) INTEGER TEXT(74) INTEGER AAAAA0 EQUIVALENCE (FDMEM0,FDESC0),(FDDEV0,FDESC0(1)),(FDUNI0,FDESC0(2)), *(FDBUG0,FDESC0(3)),(FDBUH0,FDESC0(4)),(FDBUI0,FDESC0(5)),(FDCOU0,F *DESC0(6)),(FDBCO0,FDESC0(7)),(FDFLA0,FDESC0(8)),(FDVCS0,FDESC0(9)) *,(FDVCT0,FDESC0(10)),(FDOPS0,FDESC0(11)),(FDOPT0,FDESC0(12)),(FDOP *U0,FDESC0(13)) DATA TEXT/223,229,239,230,0,223,229,242,225,243,229,0,223,229,243, *227,225,240,229,0,223,235,233,236,236,0,223,235,233,236,236,223,24 *2,229,243,240,0,223,238,229,247,236,233,238,229,0,223,242,229,244, *249,240,229,0,223,240,242,244,223,228,229,243,244,0,223,240,242,24 *4,223,230,239,242,237,0/ DATA POS/9,1,6,13,21,27,38,47,55,65/ Q=0 H=SVHASH(NAME) P=SVTBL0(SVLLA0,H) GOTO 10036 10034 P=SVMEM0(P+0) 10036 IF((P.EQ.0))GOTO 10035 IF((EQUAL(NAME,SVMEM0(SVMEM0(P+1))).NE.1))GOTO 10037 CALL BREAK$(1) IF((Q.NE.0))GOTO 10038 SVTBL0(SVLLA0,H)=SVMEM0(P+0) GOTO 10039 10038 SVMEM0(Q+0)=SVMEM0(P+0) 10039 CALL SVFREE(SVMEM0(P+1)) CALL SVFREE(SVMEM0(P+2)) CALL SVFREE(P) I=STRLSR(POS,TEXT,0,NAME) IF((I.EQ.-1))GOTO 10040 AAAAA0=I-1 GOTO 10041 10042 EOFCH0=EOFSA0(SVLLA0) GOTO 10043 10044 ECHAR0=ESAVE0(SVLLA0) GOTO 10043 10045 ESCCH0=ESCSA0(SVLLA0) GOTO 10043 10046 KCHAR0=KSAVE0(SVLLA0) GOTO 10043 10047 CALL CTOC(KRESP0(1,SVLLA0),KILLR0,33) GOTO 10043 10048 NLCHA0=NLSAV0(SVLLA0) GOTO 10043 10049 RTCHA0=RTSAV0(SVLLA0) GOTO 10043 10050 CALL CTOC(PDEST0(1,SVLLA0),PRTDE0,17) GOTO 10043 10051 CALL CTOC(PFORM0(1,SVLLA0),PRTFO0,9) GOTO 10043 10041 GOTO(10042,10044,10045,10046,10047,10048,10049,10050,10051), *AAAAA0 10043 CONTINUE 10040 CALL BREAK$(0) GOTO 10035 10037 Q=P GOTO 10034 10035 RETURN END INTEGER FUNCTION SVGET(NAME,VALUE,MAXVAL) INTEGER NAME(1),VALUE(1) INTEGER MAXVAL COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0( *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES *T0(17,32),PFORM0(9,32) INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT *SAV0,KRESP0,PDEST0,PFORM0 INTEGER CTOC,SVFIND INTEGER P IF((SVFIND(NAME,P).NE.-1))GOTO 10052 SVGET=-1 GOTO 10053 10052 SVGET=CTOC(SVMEM0(SVMEM0(P+2)),VALUE,MAXVAL) 10053 RETURN END INTEGER FUNCTION SVFIND(NAME,LOC) INTEGER NAME(1) INTEGER LOC COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0( *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES *T0(17,32),PFORM0(9,32) INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT *SAV0,KRESP0,PDEST0,PFORM0 INTEGER H,I INTEGER EQUAL,SVHASH INTEGER P H=SVHASH(NAME) I=SVLLA0 GOTO 10056 10054 I=I-(1) 10056 IF((I.LE.0))GOTO 10055 P=SVTBL0(I,H) GOTO 10059 10057 P=SVMEM0(P+0) 10059 IF((P.EQ.0))GOTO 10054 IF((EQUAL(NAME,SVMEM0(SVMEM0(P+1))).NE.1))GOTO 10057 LOC=P SVFIND=I RETURN 10055 LOC=0 SVFIND=-1 RETURN END INTEGER FUNCTION SVHASH(NAME) INTEGER NAME(1) IF((193.GT.NAME(1)))GOTO 10063 IF((NAME(1).GT.218))GOTO 10063 GOTO 10062 10063 IF((225.GT.NAME(1)))GOTO 10061 IF((NAME(1).GT.250))GOTO 10061 GOTO 10062 10062 SVHASH=MOD(NAME(1),13)+1 GOTO 10065 10061 SVHASH=MOD(NAME(2),13)+1 10065 RETURN END SUBROUTINE SVPOP COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0( *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES *T0(17,32),PFORM0(9,32) INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT *SAV0,KRESP0,PDEST0,PFORM0 COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESES0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESET0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESEU0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEV0(680),NEWSC0(85,51),RESEW0(785),CURSC0(85,51),RESEX0 *(785),TCCLE0(10),TCCLF0(10),TCCLG0(10),TCCUR0(10),TCCUS0(10),TCCUT *0(10),TCCUU0(10),TCCUV0(10),TCABS0(10),TCVER0(10),TCHOR0(10),TCINS *0(10),TCDEL0(10),TCSHI0(10),TCSHJ0(10),TCCOO0,TCSHK0,TCCOP0,TCSEQ0 *,TCSPE0,TCCLH0,TCLIN0,TCPOS0,TCWRA0,TCCLR0,TCCEO0,TCCEP0,TCABT0,TC *VES0,TCHOS0,TCHOM0,TCLEF0,TCUPL0,UNPRI0,COLCH0(51),COLCI0(51),ROWC *H0,ROWCI0,LASTC0(51),MAXRO0,MAXCO0,CURRO0,CURCO0,MSGRO0,MSGOW0(85) *,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0(128,20),LASTF0,TABSA0(85),INPU *T0(51),INPUU0(51),INBUF0(85),LASTD0,INSER0,INVER0,DUPLE0,INPUV0,PB *BUF0(400),PBPTR0,FNUSE0(20),DEFBU0(1000),LASTE0,NESTI0,RESEY0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESES0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESET0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESEU0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEV0,NEWSC0,RESEW0,CURSC0,RESEX0,TCCLE0,TCC *LF0,TCCLG0,TCCUR0,TCCUS0,TCCUT0,TCCUU0,TCCUV0,TCABS0,TCVER0,TCHOR0 *,TCINS0,TCDEL0,TCCLH0,TCLIN0,TCPOS0,TCSHI0,TCSHJ0,TCCOO0,TCSHK0,TC *COP0,TCSEQ0,TCDEM0,TCWRA0,TCCLR0,TCSPE0,TCCEO0,TCCEP0,TCABT0,TCVES *0,TCHOS0,UNPRI0,COLCH0,COLCI0,ROWCH0,ROWCI0,LASTC0,MAXRO0,MAXCO0,C *URRO0,CURCO0,MSGRO0,MSGOW0,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0,LAST *F0,TABSA0,INPUT0,INPUU0,INBUF0,LASTD0,INSER0,INVER0,DUPLE0,INPUV0, *PBBUF0,PBPTR0,FNUSE0,DEFBU0,LASTE0,NESTI0,TCHOM0,TCLEF0,TCUPL0,RES *EY0 INTEGER FDESC0(16),FDDEV0(1),FDUNI0(1),FDBUG0(1),FDBUH0(1),FDBUI0( *1),FDCOU0(1),FDBCO0(1),FDFLA0(1),FDVCS0(1),FDVCT0(1),FDOPS0(1),FDO *PT0(1),FDOPU0(1) INTEGER I INTEGER P,Q EQUIVALENCE (FDMEM0,FDESC0),(FDDEV0,FDESC0(1)),(FDUNI0,FDESC0(2)), *(FDBUG0,FDESC0(3)),(FDBUH0,FDESC0(4)),(FDBUI0,FDESC0(5)),(FDCOU0,F *DESC0(6)),(FDBCO0,FDESC0(7)),(FDFLA0,FDESC0(8)),(FDVCS0,FDESC0(9)) *,(FDVCT0,FDESC0(10)),(FDOPS0,FDESC0(11)),(FDOPT0,FDESC0(12)),(FDOP *U0,FDESC0(13)) CALL BREAK$(1) DO 10066 I=1,13 P=SVTBL0(SVLLA0,I) GOTO 10070 10068 P=Q 10070 IF((P.EQ.0))GOTO 10069 Q=SVMEM0(P+0) CALL SVFREE(SVMEM0(P+1)) CALL SVFREE(SVMEM0(P+2)) CALL SVFREE(P) GOTO 10068 10069 CONTINUE 10066 CONTINUE 10067 EOFCH0=EOFSA0(SVLLA0) ECHAR0=ESAVE0(SVLLA0) ESCCH0=ESCSA0(SVLLA0) KCHAR0=KSAVE0(SVLLA0) NLCHA0=NLSAV0(SVLLA0) RTCHA0=RTSAV0(SVLLA0) CALL CTOC(KRESP0(1,SVLLA0),KILLR0,33) CALL CTOC(PDEST0(1,SVLLA0),PRTDE0,17) CALL CTOC(PFORM0(1,SVLLA0),PRTFO0,9) SVLLA0=SVLLA0-(1) CALL BREAK$(0) RETURN END SUBROUTINE SVPUSH COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0( *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES *T0(17,32),PFORM0(9,32) INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT *SAV0,KRESP0,PDEST0,PFORM0 COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESES0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESET0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESEU0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEV0(680),NEWSC0(85,51),RESEW0(785),CURSC0(85,51),RESEX0 *(785),TCCLE0(10),TCCLF0(10),TCCLG0(10),TCCUR0(10),TCCUS0(10),TCCUT *0(10),TCCUU0(10),TCCUV0(10),TCABS0(10),TCVER0(10),TCHOR0(10),TCINS *0(10),TCDEL0(10),TCSHI0(10),TCSHJ0(10),TCCOO0,TCSHK0,TCCOP0,TCSEQ0 *,TCSPE0,TCCLH0,TCLIN0,TCPOS0,TCWRA0,TCCLR0,TCCEO0,TCCEP0,TCABT0,TC *VES0,TCHOS0,TCHOM0,TCLEF0,TCUPL0,UNPRI0,COLCH0(51),COLCI0(51),ROWC *H0,ROWCI0,LASTC0(51),MAXRO0,MAXCO0,CURRO0,CURCO0,MSGRO0,MSGOW0(85) *,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0(128,20),LASTF0,TABSA0(85),INPU *T0(51),INPUU0(51),INBUF0(85),LASTD0,INSER0,INVER0,DUPLE0,INPUV0,PB *BUF0(400),PBPTR0,FNUSE0(20),DEFBU0(1000),LASTE0,NESTI0,RESEY0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESES0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESET0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESEU0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEV0,NEWSC0,RESEW0,CURSC0,RESEX0,TCCLE0,TCC *LF0,TCCLG0,TCCUR0,TCCUS0,TCCUT0,TCCUU0,TCCUV0,TCABS0,TCVER0,TCHOR0 *,TCINS0,TCDEL0,TCCLH0,TCLIN0,TCPOS0,TCSHI0,TCSHJ0,TCCOO0,TCSHK0,TC *COP0,TCSEQ0,TCDEM0,TCWRA0,TCCLR0,TCSPE0,TCCEO0,TCCEP0,TCABT0,TCVES *0,TCHOS0,UNPRI0,COLCH0,COLCI0,ROWCH0,ROWCI0,LASTC0,MAXRO0,MAXCO0,C *URRO0,CURCO0,MSGRO0,MSGOW0,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0,LAST *F0,TABSA0,INPUT0,INPUU0,INBUF0,LASTD0,INSER0,INVER0,DUPLE0,INPUV0, *PBBUF0,PBPTR0,FNUSE0,DEFBU0,LASTE0,NESTI0,TCHOM0,TCLEF0,TCUPL0,RES *EY0 INTEGER FDESC0(16),FDDEV0(1),FDUNI0(1),FDBUG0(1),FDBUH0(1),FDBUI0( *1),FDCOU0(1),FDBCO0(1),FDFLA0(1),FDVCS0(1),FDVCT0(1),FDOPS0(1),FDO *PT0(1),FDOPU0(1) INTEGER I EQUIVALENCE (FDMEM0,FDESC0),(FDDEV0,FDESC0(1)),(FDUNI0,FDESC0(2)), *(FDBUG0,FDESC0(3)),(FDBUH0,FDESC0(4)),(FDBUI0,FDESC0(5)),(FDCOU0,F *DESC0(6)),(FDBCO0,FDESC0(7)),(FDFLA0,FDESC0(8)),(FDVCS0,FDESC0(9)) *,(FDVCT0,FDESC0(10)),(FDOPS0,FDESC0(11)),(FDOPT0,FDESC0(12)),(FDOP *U0,FDESC0(13)) CALL BREAK$(1) SVLLA0=SVLLA0+(1) DO 10071 I=1,13 SVTBL0(SVLLA0,I)=0 10071 CONTINUE 10072 EOFSA0(SVLLA0)=EOFCH0 ESAVE0(SVLLA0)=ECHAR0 ESCSA0(SVLLA0)=ESCCH0 KSAVE0(SVLLA0)=KCHAR0 NLSAV0(SVLLA0)=NLCHA0 RTSAV0(SVLLA0)=RTCHA0 CALL CTOC(KILLR0,KRESP0(1,SVLLA0),33) CALL CTOC(PRTDE0,PDEST0(1,SVLLA0),17) CALL CTOC(PRTFO0,PFORM0(1,SVLLA0),9) CALL BREAK$(0) RETURN END SUBROUTINE SVINIT COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0( *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES *T0(17,32),PFORM0(9,32) INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT *SAV0,KRESP0,PDEST0,PFORM0 INTEGER T SVLLA0=0 T=2 SVMEM0(T+0)=0 SVMEM0(T+1)=2+2 T=2+2 SVMEM0(T+0)=4096-2-1 SVMEM0(T+1)=0 SVMEM0(1)=4096 CALL SVPUSH RETURN END SUBROUTINE SVDUMP(FD) INTEGER FD COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0( *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES *T0(17,32),PFORM0(9,32) INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT *SAV0,KRESP0,PDEST0,PFORM0 INTEGER VAL INTEGER H,I INTEGER P I=1 GOTO 10075 10073 I=I+(1) 10075 IF((I.GT.SVLLA0))GOTO 10074 CALL PRINT(FD,'Scope level *i:*n.',I) H=1 GOTO 10078 10076 H=H+(1) 10078 IF((H.GT.13))GOTO 10073 CALL PRINT(FD,' Hash list *i:*n.',H) P=SVTBL0(I,H) GOTO 10081 10079 P=SVMEM0(P+0) 10081 IF((P.EQ.0))GOTO 10076 CALL SVCTMN(SVMEM0(SVMEM0(P+2)),VAL) CALL PRINT(FD,'*6i: *s (*i) = *s (*i)*n.',P,SVMEM0(SVMEM0(P+ *1)),SVMEM0(P+1),SVMEM0(VAL),SVMEM0(P+2)) CALL SVFREE(VAL) GOTO 10079 10074 RETURN END INTEGER FUNCTION SVALLO(W) INTEGER W COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0( *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES *T0(17,32),PFORM0(9,32) INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT *SAV0,KRESP0,PDEST0,PFORM0 INTEGER P,Q,L INTEGER N,K INTEGER AAAAB0(5) DATA AAAAB0/8,-12593,-8237,-10547,-14899/ N=W+2 Q=2 10082 P=SVMEM0(Q+1) IF((P.NE.0))GOTO 10083 CALL BREAK$(0) CALL SIGNL$(AAAAB0,268369920,0,268369920,0,0) 10083 IF((SVMEM0(P+0).LT.N))GOTO 10084 GOTO 10085 10084 Q=P GOTO 10082 10085 K=SVMEM0(P+0)-N IF((K.LT.8))GOTO 10086 SVMEM0(P+0)=K L=P+K SVMEM0(L+0)=N GOTO 10087 10086 SVMEM0(Q+1)=SVMEM0(P+1) L=P 10087 SVALLO=L+2 RETURN END SUBROUTINE SVFREE(BLOCK) INTEGER BLOCK COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0( *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES *T0(17,32),PFORM0(9,32) INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT *SAV0,KRESP0,PDEST0,PFORM0 INTEGER P0,P,Q INTEGER N P0=BLOCK-2 N=SVMEM0(P0+0) Q=2 10088 P=SVMEM0(Q+1) IF((P.EQ.0))GOTO 10091 IF((P.GT.P0))GOTO 10091 GOTO 10089 10089 Q=P GOTO 10088 10091 IF((Q+SVMEM0(Q+0).LE.P0))GOTO 10092 CALL REMARK('in svfree: attempt to free unallocated block.') RETURN 10092 IF(((P0+N.NE.P).OR.(P.EQ.0)))GOTO 10093 N=N+SVMEM0(P+0) SVMEM0(P0+1)=SVMEM0(P+1) GOTO 10094 10093 SVMEM0(P0+1)=P 10094 IF((Q+SVMEM0(Q+0).NE.P0))GOTO 10095 SVMEM0(Q+0)=SVMEM0(Q+0)+N SVMEM0(Q+1)=SVMEM0(P0+1) GOTO 10096 10095 SVMEM0(Q+1)=P0 SVMEM0(P0+0)=N 10096 RETURN END INTEGER FUNCTION SVMNTC(VALUE,OUT) INTEGER VALUE(1) INTEGER OUT COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0( *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES *T0(17,32),PFORM0(9,32) INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT *SAV0,KRESP0,PDEST0,PFORM0 INTEGER SVALLO INTEGER I,J,K INTEGER C,MN(4) INTEGER AAAAC0 INTEGER AAAAD0 INTEGER AAAAE0 INTEGER AAAAF0 INTEGER AAAAG0 INTEGER AAAAH0 INTEGER AAAAI0,AAAAL0 INTEGER AAAAJ0(4),AAAAK0 INTEGER MNTOC OUT=SVALLO(LENGTH(VALUE)+1) I=1 J=0 GOTO 10101 10099 I=I+(1) 10101 IF((VALUE(I).EQ.0))GOTO 10100 AAAAE0=VALUE(I) GOTO 10102 10103 AAAAC0=1 GOTO 10097 10106 AAAAD0=1 GOTO 10098 10102 AAAAF0=AAAAE0-187 GOTO(10106,10108,10108,10108,10103),AAAAF0 10108 SVMEM0(OUT+J)=VALUE(I) J=J+(1) 10105 GOTO 10099 10100 SVMEM0(OUT+J)=0 SVMNTC=J RETURN 10097 IF((VALUE(I+1).EQ.0))GOTO 10109 I=I+(1) 10109 AAAAG0=VALUE(I) GOTO 10110 10111 SVMEM0(OUT+J)=138 GOTO 10112 10113 SVMEM0(OUT+J)=137 GOTO 10112 10110 AAAAH0=AAAAG0-237 GOTO(10111,10114,10114,10114,10114,10114,10113),AAAAH0 10114 SVMEM0(OUT+J)=VALUE(I) 10112 J=J+(1) GOTO 10099 10098 AAAAI0=1 GOTO 10118 10116 AAAAI0=AAAAI0+(1) 10118 IF((VALUE(I+AAAAI0).EQ.190))GOTO 10117 IF((VALUE(I+AAAAI0).EQ.188))GOTO 10117 IF((VALUE(I+AAAAI0).EQ.0))GOTO 10117 IF((AAAAI0.GT.3))GOTO 10117 AAAAJ0(AAAAI0)=VALUE(I+AAAAI0) GOTO 10116 10117 AAAAJ0(AAAAI0)=0 IF((VALUE(I+AAAAI0).EQ.190))GOTO 10119 SVMEM0(OUT+J)=VALUE(I) J=J+(1) GOTO 10099 10119 AAAAL0=1 AAAAK0=MNTOC(AAAAJ0,AAAAL0,-3) IF((AAAAK0.NE.-3))GOTO 10121 SVMEM0(OUT+J)=VALUE(I) J=J+(1) GOTO 10122 10121 SVMEM0(OUT+J)=AAAAK0 J=J+(1) I=I+(AAAAI0) 10122 CONTINUE 10120 GOTO 10099 END INTEGER FUNCTION SVCTMN(IN,VALUE) INTEGER IN(1) INTEGER VALUE COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0( *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES *T0(17,32),PFORM0(9,32) INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT *SAV0,KRESP0,PDEST0,PFORM0 INTEGER SVALLO INTEGER I,J,LEN INTEGER MN(4) INTEGER CTOMN I=1 J=1 GOTO 10126 10124 I=I+(1) 10126 IF((IN(I).EQ.0))GOTO 10125 IF((IN(I).LE.159))GOTO 10128 IF((IN(I).EQ.255))GOTO 10128 GOTO 10127 10128 J=J+(5) GOTO 10124 10127 J=J+(1) 10129 GOTO 10124 10125 VALUE=SVALLO(J) I=1 J=0 GOTO 10132 10130 I=I+(1) J=J+(LEN) 10132 IF((IN(I).EQ.0))GOTO 10131 LEN=CTOMN(IN(I),MN) IF((LEN.EQ.1))GOTO 10134 IF((IN(I).EQ.160))GOTO 10134 GOTO 10133 10134 IF((IN(I).NE.188))GOTO 10135 SVMEM0(VALUE+J)=192 J=J+(1) GOTO 10136 10135 IF((IN(I).NE.160))GOTO 10137 LEN=1 10137 CONTINUE 10136 SVMEM0(VALUE+J)=IN(I) GOTO 10130 10133 SVMEM0(VALUE+J)=188 CALL CTOC(MN,SVMEM0(VALUE+J+1),LEN+1) SVMEM0(VALUE+LEN+J+1)=190 J=J+(2) 10138 GOTO 10130 10131 SVMEM0(VALUE+J)=0 SVCTMN=J RETURN END SUBROUTINE SVFIX(NAME,VAL,LL) INTEGER NAME(1),VAL(1) INTEGER LL COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0( *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES *T0(17,32),PFORM0(9,32) INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT *SAV0,KRESP0,PDEST0,PFORM0 COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESES0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESET0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESEU0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEV0(680),NEWSC0(85,51),RESEW0(785),CURSC0(85,51),RESEX0 *(785),TCCLE0(10),TCCLF0(10),TCCLG0(10),TCCUR0(10),TCCUS0(10),TCCUT *0(10),TCCUU0(10),TCCUV0(10),TCABS0(10),TCVER0(10),TCHOR0(10),TCINS *0(10),TCDEL0(10),TCSHI0(10),TCSHJ0(10),TCCOO0,TCSHK0,TCCOP0,TCSEQ0 *,TCSPE0,TCCLH0,TCLIN0,TCPOS0,TCWRA0,TCCLR0,TCCEO0,TCCEP0,TCABT0,TC *VES0,TCHOS0,TCHOM0,TCLEF0,TCUPL0,UNPRI0,COLCH0(51),COLCI0(51),ROWC *H0,ROWCI0,LASTC0(51),MAXRO0,MAXCO0,CURRO0,CURCO0,MSGRO0,MSGOW0(85) *,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0(128,20),LASTF0,TABSA0(85),INPU *T0(51),INPUU0(51),INBUF0(85),LASTD0,INSER0,INVER0,DUPLE0,INPUV0,PB *BUF0(400),PBPTR0,FNUSE0(20),DEFBU0(1000),LASTE0,NESTI0,RESEY0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESES0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESET0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESEU0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEV0,NEWSC0,RESEW0,CURSC0,RESEX0,TCCLE0,TCC *LF0,TCCLG0,TCCUR0,TCCUS0,TCCUT0,TCCUU0,TCCUV0,TCABS0,TCVER0,TCHOR0 *,TCINS0,TCDEL0,TCCLH0,TCLIN0,TCPOS0,TCSHI0,TCSHJ0,TCCOO0,TCSHK0,TC *COP0,TCSEQ0,TCDEM0,TCWRA0,TCCLR0,TCSPE0,TCCEO0,TCCEP0,TCABT0,TCVES *0,TCHOS0,UNPRI0,COLCH0,COLCI0,ROWCH0,ROWCI0,LASTC0,MAXRO0,MAXCO0,C *URRO0,CURCO0,MSGRO0,MSGOW0,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0,LAST *F0,TABSA0,INPUT0,INPUU0,INBUF0,LASTD0,INSER0,INVER0,DUPLE0,INPUV0, *PBBUF0,PBPTR0,FNUSE0,DEFBU0,LASTE0,NESTI0,TCHOM0,TCLEF0,TCUPL0,RES *EY0 INTEGER FDESC0(16),FDDEV0(1),FDUNI0(1),FDBUG0(1),FDBUH0(1),FDBUI0( *1),FDCOU0(1),FDBCO0(1),FDFLA0(1),FDVCS0(1),FDVCT0(1),FDOPS0(1),FDO *PT0(1),FDOPU0(1) INTEGER I INTEGER STRLSR INTEGER POS(10) INTEGER TEXT(74) INTEGER AAAAM0 EQUIVALENCE (FDMEM0,FDESC0),(FDDEV0,FDESC0(1)),(FDUNI0,FDESC0(2)), *(FDBUG0,FDESC0(3)),(FDBUH0,FDESC0(4)),(FDBUI0,FDESC0(5)),(FDCOU0,F *DESC0(6)),(FDBCO0,FDESC0(7)),(FDFLA0,FDESC0(8)),(FDVCS0,FDESC0(9)) *,(FDVCT0,FDESC0(10)),(FDOPS0,FDESC0(11)),(FDOPT0,FDESC0(12)),(FDOP *U0,FDESC0(13)) DATA TEXT/223,229,239,230,0,223,229,242,225,243,229,0,223,229,243, *227,225,240,229,0,223,235,233,236,236,0,223,235,233,236,236,223,24 *2,229,243,240,0,223,238,229,247,236,233,238,229,0,223,242,229,244, *249,240,229,0,223,240,242,244,223,228,229,243,244,0,223,240,242,24 *4,223,230,239,242,237,0/ DATA POS/9,1,6,13,21,27,38,47,55,65/ I=STRLSR(POS,TEXT,0,NAME) IF((I.NE.-1))GOTO 10139 RETURN 10139 AAAAM0=I-1 GOTO 10140 10141 EOFCH0=VAL(1) DO 10142 I=LL,SVLLA0 EOFSA0(I)=VAL(1) 10142 CONTINUE 10143 GOTO 10144 10145 ECHAR0=VAL(1) DO 10146 I=LL,SVLLA0 ESAVE0(I)=VAL(1) 10146 CONTINUE 10147 GOTO 10144 10148 ESCCH0=VAL(1) DO 10149 I=LL,SVLLA0 ESCSA0(I)=VAL(1) 10149 CONTINUE 10150 GOTO 10144 10151 KCHAR0=VAL(1) DO 10152 I=LL,SVLLA0 KSAVE0(I)=VAL(1) 10152 CONTINUE 10153 GOTO 10144 10154 CALL CTOC(VAL,KILLR0,33) DO 10155 I=LL,SVLLA0 CALL CTOC(VAL,KRESP0(1,I),33) 10155 CONTINUE 10156 GOTO 10144 10157 NLCHA0=VAL(1) DO 10158 I=LL,SVLLA0 NLSAV0(I)=VAL(1) 10158 CONTINUE 10159 GOTO 10144 10160 RTCHA0=VAL(1) DO 10161 I=LL,SVLLA0 RTSAV0(I)=VAL(1) 10161 CONTINUE 10162 GOTO 10144 10163 CALL CTOC(VAL,PRTDE0,17) DO 10164 I=LL,SVLLA0 CALL CTOC(VAL,PDEST0(1,LL),17) 10164 CONTINUE 10165 GOTO 10144 10166 CALL CTOC(VAL,PRTFO0,9) DO 10167 I=LL,SVLLA0 CALL CTOC(VAL,PFORM0(1,LL),9) 10167 CONTINUE 10168 GOTO 10144 10140 GOTO(10141,10145,10148,10151,10154,10157,10160,10163,10166),AAAAM0 10144 RETURN END INTEGER FUNCTION SVGETL(PTR,FD) INTEGER PTR INTEGER FD COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0( *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES *T0(17,32),PFORM0(9,32) INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT *SAV0,KRESP0,PDEST0,PFORM0 INTEGER TPTR INTEGER GETLIN INTEGER SVALLO INTEGER LEN,POS INTEGER BUF(102) POS=1 PTR=SVALLO(POS) SVMEM0(PTR)=0 10169 LEN=GETLIN(BUF,FD) IF((LEN.NE.-1))GOTO 10170 SVGETL=-1 RETURN 10170 TPTR=SVALLO(POS+LEN) CALL CTOC(SVMEM0(PTR),SVMEM0(TPTR),POS) CALL CTOC(BUF,SVMEM0(TPTR+POS-1),LEN) CALL SVFREE(PTR) PTR=TPTR POS=POS+(LEN) IF((BUF(LEN).NE.138))GOTO 10169 SVGETL=POS-1 RETURN END INTEGER FUNCTION SVLEVL(LEVEL) INTEGER LEVEL COMMON /SVCOM/SVLLA0,SVTBL0(32,13),SVMEM0(4096),EOFSA0(32),ESAVE0( *32),ESCSA0(32),KSAVE0(32),NLSAV0(32),RTSAV0(32),KRESP0(33,32),PDES *T0(17,32),PFORM0(9,32) INTEGER SVLLA0,SVTBL0,SVMEM0,EOFSA0,ESAVE0,ESCSA0,KSAVE0,NLSAV0,RT *SAV0,KRESP0,PDEST0,PFORM0 LEVEL=SVLLA0 SVLEVL=SVLLA0 RETURN END C ---- Long Name Map ---- C forgetcmd forge0 C installationcmd insta0 C Fdflags fdfla0 C setupports setuq0 C singlestep singl0 C timecmd timec0 C Eofchar eofch0 C Inputstart input0 C reserveport reser0 C searchfor searc0 C Svtbl svtbl0 C Escchar escch0 C Invertcase inver0 C loginnamecmd logio0 C Tccoordchar tccoo0 C Tabs tabsa0 C Fdbufstart fdbug0 C whencmd whenc0 C Rtchar rtcha0 C Prtdest prtde0 C Tcdelline tcdel0 C Colchgstop colci0 C Rowchgstart rowch0 C Maxcol maxco0 C executenode execv0 C putbackcommand putba0 C results resul0 C Echar echar0 C Tseos tseos0 C Tclinedelay tclin0 C Fnused fnuse0 C getneta getne0 C initports initp0 C lookuplabel looku0 C Termcount termd0 C Reservedio reses0 C Tsstate tssta0 C Tccursorright tccut0 C Tcabspos tcabs0 C Tcposdelay tcpos0 C Tchorlen tchos0 C dropcmd dropc0 C Reservedopen reset0 C Lsna lsnaa0 C Tcseqtype tcseq0 C Unprintablechar unpri0 C Fdesc fdesc0 C checklabels check0 C dumpcmd dumpc0 C dumpports dumpp0 C histinit histi0 C selectport selec0 C Cputype cputy0 C Prtform prtfo0 C Tsbf tsbfa0 C Curcol curco0 C Lastfn lastf0 C Insertmode inser0 C argstocmd argst0 C histlook histl0 C makeportlist makep0 C Nlsave nlsav0 C Fdbuf fdbuf0 C Argv argva0 C Lstop lstop0 C Tcceollen tccep0 C cleanupports clean0 C getnexttoken getng0 C histcmd histc0 C initconnect initc0 C nextunquotedchar nextu0 C nextwhiletoken nextw0 C Tcshiftchar tcshk0 C Inputwait inpuv0 C Fdunit fduni0 C createlabel creat0 C gotocmd gotoc0 C Termcp termc0 C Kchar kchar0 C Fdmem fdmem0 C Fddev fddev0 C Fdvcstat1 fdvcs0 C clrargs clrar0 C enterlabel enter0 C exitcmd exitd0 C loginfo login0 C shtracecmd shtra0 C Lastdef laste0 C Tcdelaytime tcdem0 C Fdvcstat2 fdvct0 C Killresp killr0 C Tccleardelay tcclh0 C Padrow padro0 C Fntab fntab0 C varscmd varsc0 C Reservednewscr resew0 C Reservedcurscr resex0 C handlefunction handm0 C restorestate resto0 C vpsdcmd vpsdc0 C Utempbuf utemq0 C Rtlabel rtlab0 C Lsho lshoa0 C Tcvertpos tcver0 C Tcwraparound tcwra0 C Tchomelen tchom0 C assigniports assig0 C histarg hista0 C Tcceoslen tcceo0 C Fdbufend fdbui0 C execute execu0 C findlabel findl0 C makeiport makei0 C symboltrace symbo0 C Tcspeed tcspe0 C Tcleftlen tclef0 C Pbbuf pbbuf0 C Fdopstat1 fdops0 C Eofsave eofsa0 C Passwd passw0 C Newscr newsc0 C Curscr cursc0 C Duplex duple0 C Fdopstat2 fdopt0 C indexcmd index0 C primoscmd primo0 C Escsave escsa0 C Tccursorhome tccur0 C Fdopstat3 fdopu0 C whilecmd while0 C Tspath tspat0 C clrports clrpo0 C initlabels initl0 C savestate saves0 C Rtsave rtsav0 C Tsat tsata0 C Tccursorleft tccus0 C Colchgstart colch0 C assignoports assih0 C histget histh0 C nargscmd nargs0 C Esave esave0 C Reservedshell reseu0 C Inbuf inbuf0 C Nestingcount nesti0 C makeoport makeo0 C Reservedtscan resev0 C Defbuf defbu0 C getelement getel0 C stopcmd stopc0 C Uhashtb uhash0 C Fdbuflen fdbuh0 C casecmd casec0 C stoplogging stopl0 C Cmdstat cmdst0 C Tchorpos tchor0 C Tcinsline tcins0 C Msgowner msgow0 C invokevar invom0 C Svll svlla0 C Fdlastfd fdlas0 C Termattr terma0 C datecmd datec0 C Tsgt tsgta0 C Tcshiftout tcshj0 C Inputstop inpuu0 C accessarg acces0 C echocmd echoc0 C invokeint invol0 C substrcmd subst0 C Ksave ksave0 C Firstuse first0 C Tcshiftin tcshi0 C Displaytime displ0 C Fdcount fdcou0 C declarecmd decla0 C nettrace nettr0 C handleescape handl0 C getnetlabel getnf0 C Termbuf termb0 C Lsref lsref0 C Tcabslen tcabt0 C Rowchgstop rowci0 C Maxrow maxro0 C Padcol padco0 C Lastcharscanned lastd0 C Pdestsave pdest0 C Msgrow msgro0 C Padlen padle0 C histfind histf0 C histsub hists0 C Stdporttbl stdpo0 C exitcasecmd exitc0 C histfree histg0 C histque histq0 C redirector redir0 C Argc argca0 C Termtype termt0 C Tccleartoeol tcclf0 C invokeext invok0 C takecmd takec0 C Tccursordown tccuv0 C Currow curro0 C context conte0 C histexp histe0 C setupargs setup0 C Pformsave pform0 C Nlchar nlcha0 C Isphantom ispha0 C Tsun tsuna0 C Tsps tspsa0 C Reservedvthmisc resey0 C clrlabels clrla0 C Krespsave kresp0 C Tcuplen tcupl0 C Lastchar lastc0 C evalcmd evalc0 C evalnetsep evaln0 C linecmd linec0 C repeatcmd repea0 C Utemptop utemp0 C elsecmd elsec0 C removecn remov0 C Bplabel bplab0 C nodesepr nodes0 C Tspw tspwa0 C Tcclearscreen tccle0 C Tccoordtype tccop0 C Tcvertlen tcves0 C Fdbcount fdbco0 C initargs inita0 C initializeeverything initi0 C processhello proce0 C Comunit comun0 C Tccleartoeos tcclg0 C Tccursorup tccuu0 C assignports assii0 C filetype filet0 C quotecmd quote0 C Tcclrlen tcclr0 C argscmd argsc0 C argument argum0 C declaredcmd declb0 C startlogging start0 C Svmem svmem0 C Errcod errco0 C Lword lword0 C Pbptr pbptr0