INTEGER FUNCTION ADDSET(C,SET,J,MAXSIZ) INTEGER J,MAXSIZ INTEGER C,SET(MAXSIZ) IF((J.LE.MAXSIZ))GOTO 10000 ADDSET=0 GOTO 10001 10000 SET(J)=C J=J+(1) ADDSET=1 10001 RETURN END INTEGER FUNCTION AMATCH(LIN,FROM,PAT,TAGBEG,TAGEND) INTEGER LIN(1),PAT(256) INTEGER FROM,TAGEND(9),TAGBEG(9) INTEGER OMATCH,PATSIZ INTEGER I,J,OFFSET,STACK STACK=0 OFFSET=FROM J=1 GOTO 10004 10002 J=J+(PATSIZ(PAT,J)) 10004 IF((PAT(J).EQ.0))GOTO 10003 IF((PAT(J).NE.170))GOTO 10005 STACK=J J=J+(4) I=OFFSET GOTO 10008 10006 CONTINUE 10008 IF((LIN(I).EQ.0))GOTO 10007 IF((OMATCH(LIN,I,PAT,J).NE.0))GOTO 10006 GOTO 10007 10007 PAT(STACK+1)=I-OFFSET PAT(STACK+3)=OFFSET OFFSET=I GOTO 10002 10005 IF((PAT(J).NE.251))GOTO 10011 I=PAT(J+1) TAGBEG(I)=OFFSET GOTO 10012 10011 IF((PAT(J).NE.253))GOTO 10013 I=PAT(J+1) TAGEND(I)=OFFSET GOTO 10014 10013 IF((OMATCH(LIN,OFFSET,PAT,J).NE.0))GOTO 10015 GOTO 10018 10016 STACK=PAT(STACK+2) 10018 IF((STACK.LE.0))GOTO 10017 IF((PAT(STACK+1).LE.0))GOTO 10016 GOTO 10017 10017 IF((STACK.GT.0))GOTO 10020 AMATCH=0 RETURN 10020 PAT(STACK+1)=PAT(STACK+1)-(1) J=STACK+4 OFFSET=PAT(STACK+3)+PAT(STACK+1) 10015 CONTINUE 10014 CONTINUE 10012 CONTINUE 10010 GOTO 10002 10003 AMATCH=OFFSET RETURN END INTEGER FUNCTION ATOC(PTR,XSTR,SIZE) INTEGER PTR(3),SIZE INTEGER XSTR(1) INTEGER I INTEGER GITOC,CTOC INTEGER STR(18) I=0 IF((PTR(1).GE.0))GOTO 10021 I=I+(1) STR(I)=230 10021 I=I+(1) STR(I)=AND(RS(PTR(1),13),3)+176 STR(I+1)=174 I=I+(GITOC(AND(PTR(1),4095),STR(I+2),5,8)+1) STR(I+1)=174 I=I+(GITOC(PTR(2),STR(I+2),7,-8)+1) IF((AND(PTR(1),4096).EQ.0))GOTO 10022 STR(I+1)=174 I=I+(GITOC(RS(PTR(3),12),STR(I+2),3,8)+1) 10022 ATOC=CTOC(STR,XSTR,SIZE) RETURN END SUBROUTINE BPONU$(CP) INTEGER * 4 CP COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 AAAAA0(24) 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 AAAAA0/233,238,160,226,240,239,238,245,164,186,160,227,225,23 *8,167,244,160,232,225,240,240,229,238,0/ CALL PL1$NL(BPLAB0) CALL REMARK(AAAAA0) RETURN END SUBROUTINE C$END INTEGER FD,I INTEGER CREATE INTEGER LIMIT INTEGER * 4 COUNT(1) COMMON /C$STC/LIMIT,COUNT INTEGER OUTFI0(10) DATA OUTFI0/223,243,244,223,227,239,245,238,244,0/ FD=CREATE(OUTFI0,3) IF((FD.NE.-3))GOTO 10023 CALL CANT(OUTFI0) 10023 LIMIT=LIMIT-(1) DO 10024 I=1,LIMIT CALL PRINT(FD,'*l*n.',COUNT(I)) 10024 CONTINUE 10025 CALL CLOSE(FD) RETURN END SUBROUTINE C$INCR(STMT) INTEGER STMT INTEGER LIMIT INTEGER * 4 COUNT(1) COMMON /C$STC/LIMIT,COUNT COUNT(STMT)=COUNT(STMT)+(1) RETURN END SUBROUTINE CANT(STR) INTEGER STR(1) CALL PUTLIN(STR,-15) CALL ERROR(': can''t open.') RETURN END SUBROUTINE CATSUB(LIN,FROM,TO,SUB,NEW,K,MAXNEW) INTEGER FROM(10),TO(10),K,MAXNEW INTEGER LIN(102),NEW(MAXNEW),SUB(256) INTEGER ADDSET INTEGER I,J,JUNK,RI I=1 GOTO 10028 10026 I=I+(1) 10028 IF((SUB(I).EQ.0))GOTO 10027 IF((SUB(I).NE.-3))GOTO 10029 I=I+(1) RI=SUB(I)+1--10 J=FROM(RI) GOTO 10032 10030 J=J+(1) 10032 IF((J.GE.TO(RI)))GOTO 10026 JUNK=ADDSET(LIN(J),NEW,K,MAXNEW) GOTO 10030 10029 JUNK=ADDSET(SUB(I),NEW,K,MAXNEW) 10033 GOTO 10026 10027 RETURN END INTEGER FUNCTION CHKARG(AP,RESULT) INTEGER AP,RESULT(26) INTEGER ARG(128) INTEGER LETTE0,POSIT0,I INTEGER GETARG LETTE0=0 GOTO 10036 10034 AP=AP+(1) 10036 IF((GETARG(AP,ARG,128).EQ.-1))GOTO 10035 IF((ARG(1).NE.173))GOTO 10035 I=2 GOTO 10039 10037 I=I+(1) 10039 IF((ARG(I).EQ.0))GOTO 10034 GOTO 10040 10041 POSIT0=ARG(I)-225+1 GOTO 10042 10043 POSIT0=ARG(I)-193+1 GOTO 10042 10040 IF((225.GT.ARG(I)))GOTO 10044 IF((ARG(I).GT.250))GOTO 10044 GOTO 10041 10044 IF((193.GT.ARG(I)))GOTO 10045 IF((ARG(I).GT.218))GOTO 10045 GOTO 10043 10045 CONTINUE CHKARG=-3 RETURN 10042 IF((RESULT(POSIT0).GE.0))GOTO 10046 CHKARG=-3 RETURN 10046 LETTE0=LETTE0+(1) RESULT(POSIT0)=LETTE0 GOTO 10037 10035 CHKARG=LETTE0 RETURN END INTEGER FUNCTION CHKSTR(STR,LEN) INTEGER STR(1) INTEGER LEN INTEGER I I=1 GOTO 10049 10047 I=I+(1) 10049 IF((I.GT.LEN))GOTO 10048 IF((STR(I).EQ.0))GOTO 10048 IF((160.GT.STR(I)))GOTO 10051 IF((STR(I).GE.255))GOTO 10051 GOTO 10047 10051 CHKSTR=0 RETURN 10048 IF((I.LE.LEN))GOTO 10052 CHKSTR=0 RETURN 10052 CHKSTR=1 RETURN END INTEGER FUNCTION CHUNK$(BP,SEG,FD) INTEGER * 4 BP INTEGER SEG,FD INTEGER CODE,JUNK,TFD CALL SGDR$$(:1,FD,SEG+2,JUNK,CODE) IF((CODE.EQ.0))GOTO 10053 GOTO 1 10053 CALL SRCH$$(:1+:100+:40000,FD,0,TFD,JUNK,CODE) IF((CODE.EQ.0))GOTO 10054 GOTO 1 10054 CALL PRWF$$(:1,TFD,BP,2048,INTL(0),JUNK,CODE) CALL SRCH$$(:4,0,0,TFD,0,JUNK) CALL ERRPR$(:2,CODE,'reading subfile',15,'chunk$',6) IF((CODE.NE.0))GOTO 10055 CHUNK$=-2 RETURN 10055 CONTINUE 1 CHUNK$=-3 RETURN END INTEGER FUNCTION CLOSE(FD) INTEGER FD COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 F INTEGER AAAAB0 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)) IF((FD.EQ.-10))GOTO 10057 IF((FD.EQ.-11))GOTO 10057 IF((FD.EQ.-12))GOTO 10057 IF((FD.EQ.-13))GOTO 10057 IF((FD.EQ.-14))GOTO 10057 IF((FD.EQ.-15))GOTO 10057 GOTO 10056 10057 CLOSE=-2 RETURN 10056 IF((FD.LT.1))GOTO 10059 IF((FD.GT.128))GOTO 10059 GOTO 10058 10059 CLOSE=-3 RETURN 10058 F=FD*16-16+1 IF((FDFLA0(F).NE.0))GOTO 10060 CLOSE=-3 RETURN 10060 IF((AND(FDFLA0(F),:000017).EQ.0))GOTO 10061 CALL FLUSH$(FD) 10061 AAAAB0=FDDEV0(F) GOTO 10062 10063 CALL SRCH$$(:4,0,0,FDUNI0(F),0,ERRCO0) FDFLA0(F)=0 IF((ERRCO0.NE.0))GOTO 10065 CLOSE=-2 RETURN 10066 IF((FD.EQ.1))GOTO 10067 FDFLA0(F)=0 10067 CLOSE=-2 RETURN 10068 FDFLA0(F)=0 CLOSE=-2 RETURN 10062 GOTO(10066,10063,10068),AAAAB0 10065 CLOSE=-3 RETURN END SUBROUTINE COF$(STATE) INTEGER STATE(258) COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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)) I=1 GOTO 10071 10069 I=I+(1) 10071 IF((STATE(I).EQ.-3))GOTO 10070 IF((FDFLA0(STATE(I)*16-16+1).EQ.0))GOTO 10069 CALL CLOSE(STATE(I)) 10072 GOTO 10069 10070 I=I+(1) GOTO 10075 10073 I=I+(1) 10075 IF((STATE(I).EQ.-3))GOTO 10074 CALL SRCH$$(:4,0,0,STATE(I),0,ERRCO0) GOTO 10073 10074 TERMC0=1 TERMB0(TERMC0)=0 TERMD0=0 RETURN END SUBROUTINE CPFIL$(IFD,OFD,RC) INTEGER IFD,OFD,RC COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 BUF(1024),CODE,RNW,JUNK 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)) CODE=0 10076 CALL PRWF$$(:1+:0+:400,IFD,LOC(BUF),1024,INTL(0),RNW,ERRCO0) IF((RNW.LE.0))GOTO 10077 CALL PRWF$$(:2+:0,OFD,LOC(BUF),RNW,INTL(0),JUNK,CODE) 10077 CONTINUE IF((ERRCO0.NE.0))GOTO 10078 IF((CODE.NE.0))GOTO 10078 GOTO 10076 10078 CONTINUE RC=-3 IF((ERRCO0.NE.1))GOTO 10079 IF((CODE.NE.0))GOTO 10079 RC=-2 10079 RETURN END SUBROUTINE CPSEG$(IFD,OFD,RC) INTEGER IFD,OFD,RC COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 ENTRYA,ENTRYB,IFD2,OFD2,CODE,TYPE 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)) RC=-3 CALL SGDR$$(:2,IFD,ENTRYA,ENTRYB,ERRCO0) IF((ERRCO0.EQ.0))GOTO 10080 RETURN 10080 CALL SGDR$$(:4,OFD,ENTRYB,ENTRYA,ERRCO0) IF((ERRCO0.EQ.0))GOTO 10081 RETURN 10081 ENTRYB=-1 10082 ENTRYA=ENTRYB+1 CALL SGDR$$(:6,IFD,ENTRYA,ENTRYB,CODE) IF((ENTRYB.NE.-1))GOTO 10083 ERRCO0=0 GOTO 10084 10083 IF((ERRCO0.EQ.0))GOTO 10085 RETURN 10085 CALL SGDR$$(:1,OFD,ENTRYB,ENTRYA,ERRCO0) IF((ERRCO0.EQ.0))GOTO 10086 RETURN 10086 CALL SRCH$$(:1+:100+:40000,IFD,0,IFD2,TYPE,ERRCO0) IF((ERRCO0.EQ.0))GOTO 10087 RETURN 10087 CALL SRCH$$(:3+:100+:40000+LS(TYPE,10),OFD,0,OFD2,TYPE,ERRCO0) IF((ERRCO0.EQ.0))GOTO 10088 CALL SRCH$$(:4,0,0,IFD2,0,CODE) RETURN 10088 IF((TYPE.LT.2))GOTO 10089 CALL CPSEG$(IFD2,OFD2,CODE) GOTO 10090 10089 CALL CPFIL$(IFD2,OFD2,CODE) 10090 IF((CODE.NE.-3))GOTO 10091 RETURN 10091 CALL SRCH$$(:4,0,0,IFD2,0,ERRCO0) CALL SRCH$$(:4,0,0,OFD2,0,ERRCO0) GOTO 10082 10084 RC=-2 RETURN END INTEGER FUNCTION CREATE(PATH,MODE) INTEGER PATH(1) INTEGER MODE INTEGER FD INTEGER OPEN,TRUNC FD=OPEN(PATH,MODE) IF((FD.EQ.-3))GOTO 10092 IF((TRUNC(FD).EQ.-3))GOTO 10093 CREATE=FD RETURN 10093 CALL CLOSE(FD) 10092 CREATE=-3 RETURN END INTEGER * 4 FUNCTION CTOA(STR,I) INTEGER STR(1) INTEGER I INTEGER * 4 FAULT,RING,SEG,WORD,BIT INTEGER * 4 GCTOL 10094 IF((STR(I).NE.160))GOTO 10095 I=I+(1) GOTO 10094 10095 IF((STR(I).EQ.230))GOTO 10097 IF((STR(I).EQ.198))GOTO 10097 GOTO 10096 10097 I=I+(1) FAULT=:20000000000 GOTO 10098 10096 FAULT=0 10098 RING=LS(RT(GCTOL(STR,I,8),2),28) IF((STR(I).NE.174))GOTO 10099 I=I+(1) 10099 SEG=LS(RT(GCTOL(STR,I,8),12),16) IF((STR(I).NE.174))GOTO 10100 I=I+(1) 10100 WORD=RT(GCTOL(STR,I,8),16) IF((STR(I).NE.174))GOTO 10101 BIT=GCTOL(STR,I,8) 10101 CTOA=XOR(FAULT,RING,SEG,WORD) RETURN END REAL * 8 FUNCTION CTOD(STR,I) INTEGER STR(1) INTEGER I INTEGER J,S,PE(28) INTEGER GCTOI REAL * 8 V,E,PV(28) INTEGER DIG(16) LOGICAL NEG DATA PV/1D1,1D2,1D4,1D8,1D16,1D32,1D64,1D128,1D256,1D512,1D1024,1D *2048,1D4096,1D8192,1D-1,1D-2,1D-4,1D-8,1D-16,1D-32,1D-64,1D-128,1D *-256,1D-512,1D-1024,1D-2048,1D-4096,1D-8192/ DATA PE/1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,-1,-2,-4, *-8,-16,-32,-64,-128,-256,-512,-1024,-2048,-4096,-8192/ 10102 IF((STR(I).NE.160))GOTO 10103 I=I+(1) GOTO 10102 10103 NEG=(STR(I).EQ.173) IF((STR(I).EQ.171))GOTO 10105 IF((STR(I).EQ.173))GOTO 10105 GOTO 10104 10105 I=I+(1) 10104 CONTINUE 10106 IF((STR(I).NE.176))GOTO 10107 I=I+(1) GOTO 10106 10107 J=1 GOTO 10110 10108 J=J+(1) I=I+(1) 10110 IF((J.GE.16))GOTO 10109 IF((176.GT.STR(I)))GOTO 10109 IF((STR(I).GT.185))GOTO 10109 DIG(J)=STR(I) GOTO 10108 10109 S=0 GOTO 10113 10111 S=S+(1) I=I+(1) 10113 IF((176.GT.STR(I)))GOTO 10112 IF((STR(I).GT.185))GOTO 10112 GOTO 10111 10112 IF((STR(I).NE.174))GOTO 10114 I=I+(1) IF((J.NE.1))GOTO 10120 10116 IF((STR(I).NE.176))GOTO 10117 I=I+(1) S=S-(1) GOTO 10116 10117 CONTINUE 10115 GOTO 10120 10118 J=J+(1) I=I+(1) 10120 IF((J.GE.16))GOTO 10119 IF((176.GT.STR(I)))GOTO 10119 IF((STR(I).GT.185))GOTO 10119 DIG(J)=STR(I) S=S-(1) GOTO 10118 10119 CONTINUE 10121 IF((176.GT.STR(I)))GOTO 10122 IF((STR(I).GT.185))GOTO 10122 I=I+(1) GOTO 10121 10122 CONTINUE 10114 CONTINUE 10123 IF((J.LE.1))GOTO 10124 IF((DIG(J-1).NE.176))GOTO 10124 S=S+(1) J=J-(1) GOTO 10123 10124 DIG(J)=0 IF((STR(I).EQ.229))GOTO 10126 IF((STR(I).EQ.197))GOTO 10126 GOTO 10125 10126 I=I+(1) S=S+(GCTOI(STR,I,10)) 10125 V=0.0 J=1 GOTO 10129 10127 J=J+(1) 10129 IF((DIG(J).EQ.0))GOTO 10128 V=V*10.0+(DIG(J)-176) GOTO 10127 10128 E=1.0 GOTO 10130 10131 J=14 GOTO 10134 10132 J=J-(1) 10134 IF((J.LE.0))GOTO 10136 IF((S.LT.PE(J)))GOTO 10132 S=S-(PE(J)) E=E*(PV(J)) 10135 GOTO 10132 10137 J=28 GOTO 10140 10138 J=J-(1) 10140 IF((J.LE.14))GOTO 10136 IF((S.GT.PE(J)))GOTO 10138 S=S-(PE(J)) E=E*(PV(J)) 10141 GOTO 10138 10136 CTOD=V*E GOTO 10142 10130 IF((S.GT.0))GOTO 10131 IF((S.LT.0))GOTO 10137 CTOD=V 10142 IF((.NOT.NEG))GOTO 10143 CTOD=-CTOD 10143 RETURN END INTEGER FUNCTION CTOI(STR,I) INTEGER STR(1) INTEGER I 10144 IF((STR(I).NE.160))GOTO 10145 I=I+(1) GOTO 10144 10145 CTOI=0 GOTO 10148 10146 I=I+(1) 10148 IF((176.GT.STR(I)))GOTO 10147 IF((STR(I).GT.185))GOTO 10147 CTOI=10*CTOI+(STR(I)-176) GOTO 10146 10147 RETURN END INTEGER * 4 FUNCTION CTOL(STR,I) INTEGER STR(1) INTEGER I 10149 IF((STR(I).NE.160))GOTO 10150 I=I+(1) GOTO 10149 10150 CTOL=0 GOTO 10153 10151 I=I+(1) 10153 IF((176.GT.STR(I)))GOTO 10152 IF((STR(I).GT.185))GOTO 10152 CTOL=10*CTOL+(STR(I)-176) GOTO 10151 10152 RETURN END INTEGER FUNCTION CTOMN(C,REP) INTEGER C,REP(4) INTEGER I INTEGER SCOPY INTEGER MNPOS(35) INTEGER MNTEXT(122) DATA MNTEXT/206,213,204,0,211,207,200,0,211,212,216,0,197,212,216, *0,197,207,212,0,197,206,209,0,193,195,203,0,194,197,204,0,194,211, *0,200,212,0,204,198,0,214,212,0,198,198,0,195,210,0,211,207,0,211, *201,0,196,204,197,0,196,195,177,0,196,195,178,0,196,195,179,0,196, *195,180,0,206,193,203,0,211,217,206,0,197,212,194,0,195,193,206,0, *197,205,0,211,213,194,0,197,211,195,0,198,211,0,199,211,0,210,211, *0,213,211,0,211,208,0,196,197,204,0/ DATA MNPOS/34,1,5,9,13,17,21,25,29,33,36,39,42,45,48,51,54,57,61,6 *5,69,73,77,81,85,89,93,96,100,104,107,110,113,116,119/ I=AND(C,127) IF((0.GT.I))GOTO 10154 IF((I.GT.32))GOTO 10154 CTOMN=SCOPY(MNTEXT,MNPOS(I+2),REP,1) RETURN 10154 IF((I.NE.127))GOTO 10155 CTOMN=SCOPY(MNTEXT,MNPOS(33+2),REP,1) RETURN 10155 REP(1)=C REP(2)=0 CTOMN=1 RETURN END INTEGER FUNCTION CTOP(STR,I,PSTR,LEN) INTEGER STR(1) INTEGER I,PSTR(1),LEN INTEGER MAX MAX=LEN*2 CTOP=0 GOTO 10158 10156 I=I+(1) 10158 IF((STR(I).EQ.0))GOTO 10157 IF((CTOP.GE.MAX))GOTO 10157 IF((AND(CTOP,1).NE.0))GOTO 10159 PSTR(RS(CTOP,1)+1)=XOR(LS(STR(I),8),RT(PSTR(RS(CTOP,1)+1),8)) GOTO 10160 10159 PSTR(RS(CTOP,1)+1)=XOR(LT(PSTR(RS(CTOP,1)+1),8),STR(I)) 10160 CTOP=CTOP+(1) GOTO 10156 10157 RETURN END REAL FUNCTION CTOR(STR,I) INTEGER STR(1) INTEGER I REAL * 8 CTOD CTOR=CTOD(STR,I) RETURN END INTEGER FUNCTION CTOV(STR,I,VAR,LEN) INTEGER STR(1) INTEGER I,VAR(1),LEN INTEGER MAX MAX=(LEN-1)*2+2 CTOV=2 GOTO 10163 10161 I=I+(1) 10163 IF((STR(I).EQ.0))GOTO 10162 IF((CTOV.GE.MAX))GOTO 10162 IF((AND(CTOV,1).NE.0))GOTO 10164 VAR(RS(CTOV,1)+1)=XOR(LS(STR(I),8),RT(VAR(RS(CTOV,1)+1),8)) GOTO 10165 10164 VAR(RS(CTOV,1)+1)=XOR(LT(VAR(RS(CTOV,1)+1),8),STR(I)) 10165 CTOV=CTOV+(1) GOTO 10161 10162 CTOV=CTOV-(2) VAR(1)=CTOV RETURN END INTEGER FUNCTION DATE(ITEM,STR) INTEGER ITEM INTEGER STR(1) INTEGER TD(28),DAY,MONTH,YEAR INTEGER ENCODE,PTOC,WKDAY,MAPUP INTEGER SNUM(2) INTEGER * 4 LNUM INTEGER IX(8) INTEGER DAYS(36) INTEGER IY(13) INTEGER MONTHS(86) INTEGER AAAAC0 INTEGER AAAAD0(15) INTEGER AAAAE0(21) INTEGER AAAAF0(7) INTEGER AAAAG0(6) INTEGER AAAAH0(19) EQUIVALENCE (SNUM,LNUM) DATA DAYS/243,245,238,0,237,239,238,0,244,245,229,243,0,247,229,22 *8,238,229,243,0,244,232,245,242,243,0,230,242,233,0,243,225,244,24 *5,242,0/ DATA IX/7,1,5,9,14,21,27,31/ DATA MONTHS/202,225,238,245,225,242,249,0,198,229,226,242,245,225, *242,249,0,205,225,242,227,232,0,193,240,242,233,236,0,205,225,249, *0,202,245,238,229,0,202,245,236,249,0,193,245,231,245,243,244,0,21 *1,229,240,244,229,237,226,229,242,0,207,227,244,239,226,229,242,0, *206,239,246,229,237,226,229,242,0,196,229,227,229,237,226,229,242, *0/ DATA IY/12,1,9,18,24,30,34,39,44,51,61,69,78/ DATA AAAAD0/170,172,178,240,175,170,172,178,240,175,170,172,178,24 *0,0/ DATA AAAAE0/170,178,172,172,176,233,186,170,178,172,172,176,233,18 *6,170,178,172,172,176,233,0/ DATA AAAAF0/170,179,172,172,176,233,0/ DATA AAAAG0/170,243,228,225,249,0/ DATA AAAAH0/170,243,228,225,249,172,160,170,243,160,170,233,172,16 *0,177,185,170,233,0/ IF((ITEM.LT.1))GOTO 10167 IF((ITEM.GT.10))GOTO 10167 GOTO 10166 10167 STR(1)=0 DATE=0 RETURN 10166 CALL TIMDAT(TD,12+16) AAAAC0=ITEM GOTO 10168 10169 DATE=ENCODE(STR,9,AAAAD0,TD(1),TD(2),TD(3)) RETURN 10170 DATE=ENCODE(STR,9,AAAAE0,TD(4)/60,MOD(TD(4),60),TD(5)) RETURN 10171 DATE=PTOC(TD(13),160,STR,33) RETURN 10172 DATE=ENCODE(STR,4,AAAAF0,TD(12)) RETURN 10173 TD(1)=TD(1)-'00' TD(2)=TD(2)-'00' TD(3)=TD(3)-'00' DAY=RS(TD(2),8)*10+RT(TD(2),8) MONTH=RS(TD(1),8)*10+RT(TD(1),8) YEAR=RS(TD(3),8)*10+RT(TD(3),8) DATE=ENCODE(STR,20,AAAAG0,DAYS(IX(WKDAY(MONTH,DAY,YEAR)+1))) RETURN 10174 STR(1)=TD(12) DATE=0 RETURN 10175 TD(1)=TD(1)-'00' TD(2)=TD(2)-'00' TD(3)=TD(3)-'00' DAY=RS(TD(2),8)*10+RT(TD(2),8) MONTH=RS(TD(1),8)*10+RT(TD(1),8) YEAR=RS(TD(3),8)*10+RT(TD(3),8) DATE=ENCODE(STR,50,AAAAH0,DAYS(IX(WKDAY(MONTH,DAY,YEAR)+1)),MONT *HS(IY(MONTH+1)),DAY,YEAR) STR(1)=MAPUP(STR(1)) RETURN 10176 LNUM=TD(4) STR(1)=SNUM(1) STR(2)=SNUM(2) DATE=0 RETURN 10177 LNUM=INTL(TD(4))*60+TD(5) STR(1)=SNUM(1) STR(2)=SNUM(2) DATE=0 RETURN 10178 LNUM=(INTL(TD(4))*60+TD(5))*1000+(TD(6)*1000)/TD(11) STR(1)=SNUM(1) STR(2)=SNUM(2) DATE=0 RETURN 10168 GOTO(10169,10170,10171,10172,10173,10174,10175,10176,10177,10178), *AAAAC0 DATE=0 RETURN END INTEGER FUNCTION DECODE(STR,SP,FMT,FP,AP,A1,A2,A3,A4,A5,A6,A7,A8,A *9,A10) INTEGER STR(1) INTEGER SP,FMT(1),FP,AP,A1(1),A2(1),A3(1),A4(1),A5(1),A6(1),A7(1), *A8(1),A9(1),A10(1) INTEGER CURSP,CURFP,CURAP INTEGER I,NUM,M,L,TP INTEGER DEFAU0,DEFAV0,DEFAW0 INTEGER WIDTH,BASE,DELIM INTEGER CTOI,GCTOI,LENGTH INTEGER * 4 LN INTEGER * 4 CTOA,GCTOL INTEGER TERM,TMP(200) REAL LR REAL CTOR REAL * 8 LD REAL * 8 CTOD INTEGER AAAAI0 INTEGER AAAAJ0 INTEGER AAAAK0 INTEGER AAAAL0 INTEGER AAAAM0 INTEGER AAAAN0 INTEGER AAAAO0 INTEGER AAAAP0 INTEGER AAAAQ0 INTEGER AAAAR0 INTEGER AAAAS0 INTEGER AAAAT0 INTEGER AAAAU0 INTEGER AAAAV0 INTEGER AAAAW0 INTEGER AAAAX0 INTEGER AAAAY0 INTEGER AAAAZ0 INTEGER AAABA0 INTEGER AAABB0 INTEGER AAABC0 LOGICAL NEG INTEGER AAABD0 INTEGER AAABE0 INTEGER AAABF0 INTEGER AAABG0 INTEGER AAABH0 INTEGER AAABI0 INTEGER AAABJ0 INTEGER AAABK0 INTEGER AAABL0 INTEGER AAABM0 INTEGER AAABN0 DEFAU0=0 DEFAV0=0 DEFAW0=160 GOTO 10199 10197 FP=FP+(1) 10199 IF((FMT(FP).EQ.0))GOTO 10198 CURFP=FP CURSP=SP CURAP=AP IF((FMT(FP).EQ.170))GOTO 10200 GOTO 10197 10200 AAAAI0=1 GOTO 10179 10202 AAABA0=FMT(FP) GOTO 10203 10204 AP=WIDTH GOTO 10205 10206 DEFAU0=WIDTH DEFAV0=BASE DEFAW0=DELIM GOTO 10205 10207 AAAAP0=1 GOTO 10186 10209 AAAAP0=2 GOTO 10186 10211 AAAAQ0=1 GOTO 10187 10213 AAAAR0=1 GOTO 10188 10215 TERM=174 AAAAN0=1 GOTO 10184 10217 TERM=0 AAAAN0=2 GOTO 10184 10219 AAAAO0=1 GOTO 10185 10221 AAAAS0=1 GOTO 10189 10223 AAAAT0=1 GOTO 10190 10225 AAAAU0=1 GOTO 10191 10227 AAAAV0=1 GOTO 10192 10229 AAAAW0=1 GOTO 10193 10231 AAAAX0=1 GOTO 10194 10233 AAAAY0=1 GOTO 10195 10203 AAABB0=AAABA0-224 GOTO(10213,10207,10235,10229,10235,10229,10204,10217,10223, * 10235,10235,10225,10235,10231,10235,10215,10235,10227,10219, * 10211,10206,10221,10235,10233,10209),AAABB0 10235 CONTINUE 10205 CONTINUE 10201 GOTO 10197 10198 DECODE=-1 RETURN 10179 FP=FP+(1) IF((FMT(FP).NE.172))GOTO 10236 WIDTH=DEFAU0 GOTO 10237 10236 IF((FMT(FP).EQ.163))GOTO 10238 AAAAK0=1 GOTO 10181 10239 WIDTH=NUM GOTO 10240 10238 AAAAJ0=1 GOTO 10180 10241 WIDTH=NUM FP=FP+(1) 10240 CONTINUE 10237 IF((FMT(FP).EQ.172))GOTO 10242 BASE=DEFAV0 GOTO 10243 10242 FP=FP+(1) IF((FMT(FP).EQ.163))GOTO 10244 AAAAK0=2 GOTO 10181 10245 BASE=NUM GOTO 10246 10244 AAAAJ0=2 GOTO 10180 10247 BASE=NUM FP=FP+(1) 10246 CONTINUE 10243 IF((FMT(FP).EQ.172))GOTO 10248 DELIM=DEFAW0 GOTO 10202 10248 IF((FMT(FP+1).EQ.163))GOTO 10250 DELIM=FMT(FP+1) FP=FP+(2) GOTO 10251 10250 IF((FMT(FP+2).NE.163))GOTO 10252 DELIM=163 FP=FP+(3) GOTO 10253 10252 AAAAJ0=3 GOTO 10180 10254 DELIM=NUM FP=FP+(2) 10253 CONTINUE 10251 CONTINUE 10249 GOTO 10202 10180 AAABC0=AP GOTO 10256 10257 NUM=A1(1) GOTO 10258 10259 NUM=A2(1) GOTO 10258 10260 NUM=A3(1) GOTO 10258 10261 NUM=A4(1) GOTO 10258 10262 NUM=A5(1) GOTO 10258 10263 NUM=A6(1) GOTO 10258 10264 NUM=A7(1) GOTO 10258 10265 NUM=A8(1) GOTO 10258 10266 NUM=A9(1) GOTO 10258 10267 NUM=A10(1) GOTO 10258 10256 GOTO(10257,10259,10260,10261,10262,10263,10264,10265,10266,10267), *AAABC0 AAAAZ0=1 GOTO 10196 10268 CONTINUE 10258 AP=AP+(1) GOTO 10269 10181 NEG=(FMT(FP).EQ.173) IF((FMT(FP).EQ.171))GOTO 10271 IF((FMT(FP).EQ.173))GOTO 10271 GOTO 10270 10271 FP=FP+(1) 10270 NUM=CTOI(FMT,FP) IF((.NOT.NEG))GOTO 10273 NUM=-NUM 10272 GOTO 10273 10182 FP=CURFP SP=CURSP AP=CURAP DECODE=-3 RETURN 10183 IF((WIDTH.LE.0))GOTO 10274 TP=1 GOTO 10277 10275 TP=TP+(1) SP=SP+(1) 10277 IF((TP.GT.WIDTH))GOTO 10282 IF((TP.GT.200))GOTO 10282 IF((STR(SP).EQ.138))GOTO 10282 IF((STR(SP).EQ.0))GOTO 10282 GOTO 10278 10278 TMP(TP)=STR(SP) GOTO 10275 10280 TP=TP+(1) 10282 IF((TP.GT.WIDTH))GOTO 10281 IF((TP.GE.200))GOTO 10281 TMP(TP)=160 GOTO 10280 10281 TMP(TP)=0 GOTO 10293 10274 IF((DELIM.NE.160))GOTO 10284 10285 IF((STR(SP).NE.160))GOTO 10286 SP=SP+(1) GOTO 10285 10286 CONTINUE 10284 TP=1 GOTO 10289 10287 TP=TP+(1) SP=SP+(1) 10289 IF((TP.GE.200))GOTO 10288 IF((STR(SP).EQ.138))GOTO 10288 IF((STR(SP).EQ.0))GOTO 10288 IF((STR(SP).EQ.DELIM))GOTO 10288 GOTO 10290 10290 TMP(TP)=STR(SP) GOTO 10287 10288 TMP(TP)=0 IF((STR(SP).NE.DELIM))GOTO 10292 SP=SP+(1) 10292 CONTINUE 10283 GOTO 10293 10184 AAAAM0=1 GOTO 10183 10294 IF((BASE.NE.0))GOTO 10295 M=102 GOTO 10296 10295 M=BASE 10296 TMP(TP)=TERM TMP(TP+1)=0 I=1 AAABD0=AP GOTO 10297 10298 CALL CTOP(TMP,I,A1,M) GOTO 10299 10300 CALL CTOP(TMP,I,A2,M) GOTO 10299 10301 CALL CTOP(TMP,I,A3,M) GOTO 10299 10302 CALL CTOP(TMP,I,A4,M) GOTO 10299 10303 CALL CTOP(TMP,I,A5,M) GOTO 10299 10304 CALL CTOP(TMP,I,A6,M) GOTO 10299 10305 CALL CTOP(TMP,I,A7,M) GOTO 10299 10306 CALL CTOP(TMP,I,A8,M) GOTO 10299 10307 CALL CTOP(TMP,I,A9,M) GOTO 10299 10308 CALL CTOP(TMP,I,A10,M) GOTO 10299 10297 GOTO(10298,10300,10301,10302,10303,10304,10305,10306,10307,10308), *AAABD0 AAAAZ0=2 GOTO 10196 10309 CONTINUE 10299 AP=AP+(1) GOTO 10310 10185 AAAAM0=2 GOTO 10183 10311 IF((BASE.NE.0))GOTO 10312 M=102 GOTO 10313 10312 M=BASE 10313 AAABE0=AP GOTO 10314 10315 CALL CTOC(TMP,A1,M) GOTO 10316 10317 CALL CTOC(TMP,A2,M) GOTO 10316 10318 CALL CTOC(TMP,A3,M) GOTO 10316 10319 CALL CTOC(TMP,A4,M) GOTO 10316 10320 CALL CTOC(TMP,A5,M) GOTO 10316 10321 CALL CTOC(TMP,A6,M) GOTO 10316 10322 CALL CTOC(TMP,A7,M) GOTO 10316 10323 CALL CTOC(TMP,A8,M) GOTO 10316 10324 CALL CTOC(TMP,A9,M) GOTO 10316 10325 CALL CTOC(TMP,A10,M) GOTO 10316 10314 GOTO(10315,10317,10318,10319,10320,10321,10322,10323,10324,10325), *AAABE0 AAAAZ0=3 GOTO 10196 10326 CONTINUE 10316 AP=AP+(1) GOTO 10205 10186 AAAAM0=3 GOTO 10183 10328 TP=1 10329 IF((TMP(TP).NE.160))GOTO 10330 TP=TP+(1) GOTO 10329 10330 AAABF0=TMP(TP) GOTO 10331 10332 IF((BASE.NE.0))GOTO 10333 M=0 GOTO 10335 10333 M=1 10334 GOTO 10335 10336 M=1 GOTO 10335 10337 M=0 GOTO 10335 10331 IF(AAABF0.EQ.0)GOTO 10332 AAABG0=AAABF0-175 GOTO(10337,10336),AAABG0 IF(AAABF0.EQ.198)GOTO 10337 AAABG0=AAABF0-205 GOTO(10337,10336,10338,10338,10338,10338,10336,10338,10338,10338, * 10338,10336,10338,10338,10338,10338,10338,10338,10338,10338, * 10338,10338,10338,10338,10337,10338,10338,10338,10338,10338, * 10338,10338,10337,10336,10338,10338,10338,10338,10336,10338, * 10338,10338,10338,10336),AAABG0 10338 AAAAL0=1 GOTO 10182 10339 CONTINUE 10335 AAABH0=AP GOTO 10340 10341 A1(1)=M GOTO 10342 10343 A2(1)=M GOTO 10342 10344 A3(1)=M GOTO 10342 10345 A4(1)=M GOTO 10342 10346 A5(1)=M GOTO 10342 10347 A6(1)=M GOTO 10342 10348 A7(1)=M GOTO 10342 10349 A8(1)=M GOTO 10342 10350 A9(1)=M GOTO 10342 10351 A10(1)=M GOTO 10342 10340 GOTO(10341,10343,10344,10345,10346,10347,10348,10349,10350,10351), *AAABH0 AAAAZ0=4 GOTO 10196 10352 CONTINUE 10342 AP=AP+(1) GOTO 10353 10187 M=LENGTH(STR) IF((WIDTH.GT.M))GOTO 10354 SP=WIDTH GOTO 10205 10354 SP=M 10355 GOTO 10205 10188 AAAAM0=4 GOTO 10183 10357 I=1 LN=CTOA(TMP,I) 10358 IF((TMP(I).NE.160))GOTO 10359 I=I+(1) GOTO 10358 10359 IF((TMP(I).EQ.0))GOTO 10360 AAAAL0=2 GOTO 10182 10361 CONTINUE 10360 AAABI0=AP GOTO 10362 10363 CALL MOVE$(LN,A1,2) GOTO 10364 10365 CALL MOVE$(LN,A2,2) GOTO 10364 10366 CALL MOVE$(LN,A3,2) GOTO 10364 10367 CALL MOVE$(LN,A4,2) GOTO 10364 10368 CALL MOVE$(LN,A5,2) GOTO 10364 10369 CALL MOVE$(LN,A6,2) GOTO 10364 10370 CALL MOVE$(LN,A7,2) GOTO 10364 10371 CALL MOVE$(LN,A8,2) GOTO 10364 10372 CALL MOVE$(LN,A9,2) GOTO 10364 10373 CALL MOVE$(LN,A10,2) GOTO 10364 10362 GOTO(10363,10365,10366,10367,10368,10369,10370,10371,10372,10373), *AAABI0 AAAAZ0=5 GOTO 10196 10374 CONTINUE 10364 AP=AP+(1) GOTO 10205 10189 AAAAM0=5 GOTO 10183 10376 IF((BASE.NE.0))GOTO 10377 M=102 GOTO 10378 10377 M=BASE 10378 I=1 AAABJ0=AP GOTO 10379 10380 CALL CTOV(TMP,I,A1,M) GOTO 10381 10382 CALL CTOV(TMP,I,A2,M) GOTO 10381 10383 CALL CTOV(TMP,I,A3,M) GOTO 10381 10384 CALL CTOV(TMP,I,A4,M) GOTO 10381 10385 CALL CTOV(TMP,I,A5,M) GOTO 10381 10386 CALL CTOV(TMP,I,A6,M) GOTO 10381 10387 CALL CTOV(TMP,I,A7,M) GOTO 10381 10388 CALL CTOV(TMP,I,A8,M) GOTO 10381 10389 CALL CTOV(TMP,I,A9,M) GOTO 10381 10390 CALL CTOV(TMP,I,A10,M) GOTO 10381 10379 GOTO(10380,10382,10383,10384,10385,10386,10387,10388,10389,10390), *AAABJ0 AAAAZ0=6 GOTO 10196 10391 CONTINUE 10381 AP=AP+(1) GOTO 10205 10190 AAAAM0=6 GOTO 10183 10393 IF((BASE.NE.0))GOTO 10394 BASE=10 10394 I=1 L=GCTOI(TMP,I,BASE) 10395 IF((TMP(I).NE.160))GOTO 10396 I=I+(1) GOTO 10395 10396 IF((TMP(I).EQ.0))GOTO 10397 AAAAL0=3 GOTO 10182 10398 CONTINUE 10397 AAABK0=AP GOTO 10399 10400 A1(1)=L GOTO 10401 10402 A2(1)=L GOTO 10401 10403 A3(1)=L GOTO 10401 10404 A4(1)=L GOTO 10401 10405 A5(1)=L GOTO 10401 10406 A6(1)=L GOTO 10401 10407 A7(1)=L GOTO 10401 10408 A8(1)=L GOTO 10401 10409 A9(1)=L GOTO 10401 10410 A10(1)=L GOTO 10401 10399 GOTO(10400,10402,10403,10404,10405,10406,10407,10408,10409,10410), *AAABK0 AAAAZ0=7 GOTO 10196 10411 CONTINUE 10401 AP=AP+(1) GOTO 10205 10191 AAAAM0=7 GOTO 10183 10413 IF((BASE.NE.0))GOTO 10414 BASE=10 10414 I=1 LN=GCTOL(TMP,I,BASE) 10415 IF((TMP(I).NE.160))GOTO 10416 I=I+(1) GOTO 10415 10416 IF((TMP(I).EQ.0))GOTO 10417 AAAAL0=4 GOTO 10182 10418 CONTINUE 10417 AAABL0=AP GOTO 10419 10420 CALL MOVE$(LN,A1,2) GOTO 10421 10422 CALL MOVE$(LN,A2,2) GOTO 10421 10423 CALL MOVE$(LN,A3,2) GOTO 10421 10424 CALL MOVE$(LN,A4,2) GOTO 10421 10425 CALL MOVE$(LN,A5,2) GOTO 10421 10426 CALL MOVE$(LN,A6,2) GOTO 10421 10427 CALL MOVE$(LN,A7,2) GOTO 10421 10428 CALL MOVE$(LN,A8,2) GOTO 10421 10429 CALL MOVE$(LN,A9,2) GOTO 10421 10430 CALL MOVE$(LN,A10,2) GOTO 10421 10419 GOTO(10420,10422,10423,10424,10425,10426,10427,10428,10429,10430), *AAABL0 AAAAZ0=8 GOTO 10196 10431 CONTINUE 10421 AP=AP+(1) GOTO 10205 10192 AAAAM0=8 GOTO 10183 10433 I=1 LR=CTOR(TMP,I) 10434 IF((TMP(I).NE.160))GOTO 10435 I=I+(1) GOTO 10434 10435 IF((TMP(I).EQ.0))GOTO 10436 AAAAL0=5 GOTO 10182 10437 CONTINUE 10436 AAABM0=AP GOTO 10438 10439 CALL MOVE$(LR,A1,2) GOTO 10440 10441 CALL MOVE$(LR,A2,2) GOTO 10440 10442 CALL MOVE$(LR,A3,2) GOTO 10440 10443 CALL MOVE$(LR,A4,2) GOTO 10440 10444 CALL MOVE$(LR,A5,2) GOTO 10440 10445 CALL MOVE$(LR,A6,2) GOTO 10440 10446 CALL MOVE$(LR,A7,2) GOTO 10440 10447 CALL MOVE$(LR,A8,2) GOTO 10440 10448 CALL MOVE$(LR,A9,2) GOTO 10440 10449 CALL MOVE$(LR,A10,2) GOTO 10440 10438 GOTO(10439,10441,10442,10443,10444,10445,10446,10447,10448,10449), *AAABM0 AAAAZ0=9 GOTO 10196 10450 CONTINUE 10440 AP=AP+(1) GOTO 10205 10193 AAAAM0=9 GOTO 10183 10452 I=1 LD=CTOD(TMP,I) 10453 IF((TMP(I).NE.160))GOTO 10454 I=I+(1) GOTO 10453 10454 IF((TMP(I).EQ.0))GOTO 10455 AAAAL0=6 GOTO 10182 10456 CONTINUE 10455 AAABN0=AP GOTO 10457 10458 CALL MOVE$(LD,A1,4) GOTO 10459 10460 CALL MOVE$(LD,A2,4) GOTO 10459 10461 CALL MOVE$(LD,A3,4) GOTO 10459 10462 CALL MOVE$(LD,A4,4) GOTO 10459 10463 CALL MOVE$(LD,A5,4) GOTO 10459 10464 CALL MOVE$(LD,A6,4) GOTO 10459 10465 CALL MOVE$(LD,A7,4) GOTO 10459 10466 CALL MOVE$(LD,A8,4) GOTO 10459 10467 CALL MOVE$(LD,A9,4) GOTO 10459 10468 CALL MOVE$(LD,A10,4) GOTO 10459 10457 GOTO(10458,10460,10461,10462,10463,10464,10465,10466,10467,10468), *AAABN0 AAAAZ0=10 GOTO 10196 10469 CONTINUE 10459 AP=AP+(1) GOTO 10205 10195 AAAAM0=10 GOTO 10183 10194 IF((WIDTH.GT.0))GOTO 10473 IF((STR(SP).NE.138))GOTO 10475 SP=SP+(1) 10474 GOTO 10475 10473 I=1 10476 CONTINUE 10477 IF((STR(SP).EQ.138))GOTO 10478 IF((STR(SP).EQ.0))GOTO 10478 SP=SP+(1) GOTO 10477 10478 IF((STR(SP).NE.138))GOTO 10479 SP=SP+(1) 10479 I=I+(1) IF((I.LE.WIDTH))GOTO 10476 10475 IF((STR(SP).NE.0))GOTO 10205 IF((FMT(FP+1).EQ.0))GOTO 10205 FP=FP+(1) DECODE=-2 RETURN 10196 CALL REMARK('in decode: attempt to use more than 10 fields.') TMP(1)=0 GOTO 10482 10269 GOTO(10241,10247,10254),AAAAJ0 GOTO 10269 10310 GOTO(10205,10205),AAAAN0 GOTO 10310 10293 GOTO(10294,10311,10328,10357,10376,10393,10413,10433,10452,10205), *AAAAM0 GOTO 10293 10273 GOTO(10239,10245),AAAAK0 GOTO 10273 10483 GOTO(10339,10361,10398,10418,10437,10456),AAAAL0 GOTO 10483 10482 GOTO(10268,10309,10326,10352,10374,10391,10411,10431,10450,10469), *AAAAZ0 GOTO 10482 10353 GOTO(10205,10205),AAAAP0 GOTO 10353 END INTEGER FUNCTION DELARG(AP) INTEGER AP COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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)) IF((AP.LT.0))GOTO 10485 IF((AP.GE.ARGCA0))GOTO 10485 GOTO 10484 10485 DELARG=-1 RETURN 10484 I=AP+1 GOTO 10488 10486 I=I+(1) 10488 IF((I.GE.ARGCA0))GOTO 10487 ARGVA0(I)=ARGVA0(I+1) GOTO 10486 10487 ARGCA0=ARGCA0-(1) DELARG=-2 RETURN END SUBROUTINE DELETE(SYMBOL,ST) INTEGER SYMBOL(1) INTEGER ST INTEGER MEMAA0(1) COMMON /DS$MEM/MEMAA0 INTEGER ST$LU INTEGER NODE,PRED IF((ST$LU(SYMBOL,NODE,PRED,ST).NE.1))GOTO 10489 MEMAA0(PRED+0)=MEMAA0(NODE+0) CALL DSFREE(NODE) 10489 RETURN END INTEGER * 4 FUNCTION DMARK$(F) INTEGER F COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 JUNK 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 PRWF$$(:5,FDUNI0(F),INTL(0),0,DMARK$,JUNK,ERRCO0) IF((ERRCO0.EQ.0))GOTO 10490 DMARK$=-3 RETURN 10490 RETURN END SUBROUTINE DMPCM$(FD) INTEGER FD COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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,TBPPTR(2),TRTPTR(2) INTEGER ESTR(102),KSTR(102),NLSTR(102) INTEGER EOFSTR(102),ESCSTR(102),RTSTR(102) INTEGER AAABO0(30) INTEGER AAABP0(44) INTEGER AAABQ0(44) INTEGER AAABR0(44) INTEGER AAABS0(18) INTEGER AAABT0(15) INTEGER AAABU0(5) INTEGER AAABV0(3) INTEGER AAABW0(42) INTEGER AAABX0(35) INTEGER AAABY0(43) INTEGER AAABZ0(31) INTEGER AAACA0(13) INTEGER AAACB0(4) INTEGER AAACC0(3) 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 AAABO0/211,239,230,244,247,225,242,229,160,212,239,239,236,24 *3,160,195,239,237,237,239,238,160,193,242,229,225,186,170,238,0/ DATA AAABP0/160,160,197,227,232,225,242,186,160,170,180,243,160,16 *0,160,160,203,227,232,225,242,186,160,170,180,243,160,160,160,160, *206,236,227,232,225,242,186,160,170,180,243,170,238,0/ DATA AAABQ0/160,160,197,239,230,227,232,225,242,186,160,170,180,24 *3,160,160,197,243,227,227,232,225,242,186,160,170,180,243,160,160, *210,244,227,232,225,242,186,160,170,180,243,170,238,0/ DATA AAABR0/160,160,201,243,240,232,225,238,244,239,237,186,160,17 *0,180,249,160,160,195,240,245,244,249,240,229,186,160,170,233,160, *160,197,242,242,227,239,228,186,160,170,233,170,238,0/ DATA AAABS0/160,160,203,233,236,236,223,242,229,243,240,186,160,17 *0,243,170,238,0/ DATA AAABT0/160,160,211,244,228,240,239,242,244,244,226,236,186,16 *0,0/ DATA AAABU0/160,170,179,233,0/ DATA AAABV0/170,238,0/ DATA AAABW0/160,160,208,225,243,243,247,228,186,160,170,182,243,16 *0,160,208,242,244,228,229,243,244,186,160,170,243,160,160,208,242, *244,230,239,242,237,186,160,170,243,170,238,0/ DATA AAABX0/160,160,194,240,236,225,226,229,236,186,160,170,225,16 *0,170,225,160,160,210,244,236,225,226,229,236,186,160,170,225,160, *170,225,170,238,0/ DATA AAABY0/160,160,195,237,228,243,244,225,244,186,160,170,233,16 *0,160,195,239,237,245,238,233,244,186,160,170,233,160,160,198,233, *242,243,244,245,243,229,186,160,170,233,170,238,0/ DATA AAABZ0/160,160,212,229,242,237,244,249,240,229,186,160,170,24 *3,160,160,204,247,239,242,228,186,160,170,172,173,184,233,170,238, *0/ DATA AAACA0/160,160,212,229,242,237,225,244,244,242,186,160,0/ DATA AAACB0/160,170,249,0/ DATA AAACC0/170,238,0/ CALL CTOMN(ECHAR0,ESTR) CALL CTOMN(KCHAR0,KSTR) CALL CTOMN(NLCHA0,NLSTR) CALL CTOMN(EOFCH0,EOFSTR) CALL CTOMN(ESCCH0,ESCSTR) CALL CTOMN(RTCHA0,RTSTR) CALL PRINT(FD,AAABO0) CALL PRINT(FD,AAABP0,ESTR,KSTR,NLSTR) CALL PRINT(FD,AAABQ0,EOFSTR,ESCSTR,RTSTR) CALL PRINT(FD,AAABR0,ISPHA0,CPUTY0,ERRCO0) CALL PRINT(FD,AAABS0,KILLR0) CALL PRINT(FD,AAABT0) I=1 GOTO 10493 10491 I=I+(1) 10493 IF((I.GT.6))GOTO 10492 CALL PRINT(FD,AAABU0,STDPO0(I)) GOTO 10491 10492 CALL PRINT(FD,AAABV0) CALL PRINT(FD,AAABW0,PASSW0,PRTDE0,PRTFO0) TBPPTR(1)=BPLAB0(2) TBPPTR(2)=BPLAB0(1) TRTPTR(1)=RTLAB0(2) TRTPTR(2)=RTLAB0(1) CALL PRINT(FD,AAABX0,TBPPTR(1),BPLAB0(3),TRTPTR(1),RTLAB0(3)) CALL PRINT(FD,AAABY0,CMDST0,COMUN0,FIRST0) CALL PRINT(FD,AAABZ0,TERMT0,LWORD0) CALL PRINT(FD,AAACA0) I=1 GOTO 10496 10494 I=I+(1) 10496 IF((I.GT.6))GOTO 10495 CALL PRINT(FD,AAACB0,TERMA0(I)) GOTO 10494 10495 CALL PRINT(FD,AAACC0) RETURN END SUBROUTINE DMPFD$(FD,OFD) INTEGER FD,OFD COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 MFD INTEGER MAPSU INTEGER NAME(180) INTEGER F,JUNK INTEGER GFNAM$ INTEGER * 4 POS INTEGER AAACE0 INTEGER AAACF0(38) INTEGER AAACG0(14) INTEGER AAACH0(59) INTEGER AAACI0(66) INTEGER AAACJ0(41) INTEGER AAACD0 INTEGER AAACK0,AAACL0,AAACM0,AAACN0 INTEGER AAACO0(29) INTEGER AAACP0 INTEGER AAACQ0(10) INTEGER AAACR0(10) 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 AAACF0/196,245,237,240,160,239,230,160,230,233,236,229,160,22 *8,229,243,227,242,233,240,244,239,242,160,170,233,160,225,244,160, *170,172,178,225,186,170,238,0/ DATA AAACG0/160,225,244,160,247,239,242,228,160,170,236,170,238,0/ DATA AAACH0/170,179,248,196,229,246,186,160,160,170,179,233,170,17 *9,248,194,245,230,243,244,225,242,244,186,160,170,182,233,170,179, *248,194,245,230,229,238,228,186,160,170,182,233,170,179,248,194,22 *7,239,245,238,244,186,160,170,179,233,170,238,0/ DATA AAACI0/170,179,248,213,238,233,244,186,160,170,179,172,184,23 *3,170,179,248,194,245,230,236,229,238,186,160,160,160,170,182,233, *170,179,248,195,239,245,238,244,186,160,160,170,182,233,170,179,24 *8,198,236,225,231,243,186,160,160,170,182,172,173,184,172,176,233, *170,238,0/ DATA AAACJ0/160,160,160,204,225,243,244,160,230,233,236,229,160,24 *3,249,243,244,229,237,160,242,229,244,245,242,238,160,227,239,228, *229,160,247,225,243,160,170,233,170,238,0/ DATA AAACO0/194,245,230,230,229,242,160,168,225,244,160,170,172,17 *8,225,169,160,227,239,238,244,225,233,238,243,186,170,238,0/ DATA AAACQ0/188,170,179,172,184,172,176,233,190,0/ DATA AAACR0/188,170,179,172,184,172,176,233,190,0/ MFD=MAPSU(FD) F=MFD*16-16+1 CALL PRINT(OFD,AAACF0,MFD,LOC(FDESC0(F))) IF((GFNAM$(MFD,NAME,180).EQ.-3))GOTO 10498 CALL PUTLIN(NAME,OFD) IF((FDDEV0(F).NE.2))GOTO 10499 CALL PRWF$$(:5,FDUNI0(F),LOC(0),0,POS,0,JUNK) CALL PRINT(OFD,AAACG0,POS) GOTO 10500 10499 CALL PUTCH(138,OFD) 10500 CONTINUE 10498 CALL PRINT(OFD,AAACH0,FDDEV0(F),FDBUG0(F),FDBUI0(F),FDBCO0(F)) CALL PRINT(OFD,AAACI0,FDUNI0(F),FDBUH0(F),FDCOU0(F),FDFLA0(F)) CALL PRINT(OFD,AAACJ0,ERRCO0) IF((AND(FDFLA0(F),:000017).EQ.0))GOTO 10501 IF((FDDEV0(F).NE.2))GOTO 10501 AAACD0=F AAACE0=1 GOTO 10497 10502 CONTINUE 10501 RETURN 10497 AAACK0=FDBUG0(AAACD0) CALL PRINT(OFD,AAACO0,LOC(FDBUF0(AAACK0+1))) AAACP0=AND(FDFLA0(AAACD0),:000017) GOTO 10503 10504 AAACL0=FDBUI0(AAACD0) GOTO 10509 10506 AAACL0=AAACK0+FDBUH0(AAACD0)+FDCOU0(AAACD0) GOTO 10509 10503 GOTO(10504,10506,10504,10506),AAACP0 AAACL0=0 10505 GOTO 10509 10507 AAACK0=AAACK0+(1) 10509 IF((AAACK0.GE.AAACL0))GOTO 10508 AAACM0=RS(FDBUF0(AAACK0+1),8) AAACN0=RT(FDBUF0(AAACK0+1),8) IF((AAACM0.LT.160))GOTO 10510 IF((AAACM0.GE.255))GOTO 10510 CALL PUTCH(AAACM0,OFD) GOTO 10511 10510 CALL PRINT(OFD,AAACQ0,AAACM0) 10511 IF((AAACN0.LT.160))GOTO 10512 IF((AAACN0.GE.255))GOTO 10512 CALL PUTCH(AAACN0,OFD) GOTO 10507 10512 CALL PRINT(OFD,AAACR0,AAACN0) 10513 GOTO 10507 10508 CALL PUTCH(138,OFD) GOTO 10502 END SUBROUTINE DODASH(VALID,ARRAY,I,SET,J,MAXSET) INTEGER I,J,MAXSET INTEGER ARRAY(1),SET(MAXSET),VALID(1) INTEGER ESC INTEGER ADDSET,INDEX INTEGER JUNK,K,LIMIT I=I+(1) J=J-(1) LIMIT=INDEX(VALID,ESC(ARRAY,I)) K=INDEX(VALID,SET(J)) GOTO 10517 10515 K=K+(1) 10517 IF((K.GT.LIMIT))GOTO 10516 JUNK=ADDSET(VALID(K),SET,J,MAXSET) GOTO 10515 10516 RETURN END INTEGER FUNCTION DOPEN$(PATH,FD,MODE,FTYPE,DELAY) INTEGER PATH(1) INTEGER FD INTEGER MODE,FTYPE,DELAY COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 AT,C,D,F,M,T,U,JUNK(3),FNAME(16) INTEGER GETTO LOGICAL MISSIN 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)) IF((GETTO(PATH,FNAME,JUNK,AT).NE.-3))GOTO 10518 CALL AT$HOM(C) DOPEN$=-3 RETURN 10518 IF((.NOT.MISSIN(DELAY)))GOTO 10519 D=0 GOTO 10520 10519 D=DELAY 10520 F=FD*16-16+1 M=OR(MODE,:40000) CALL SRCH$$(M,FNAME,32,U,T,C) 10521 IF((D.EQ.0))GOTO 10522 IF((C.NE.5))GOTO 10522 CALL SLEEP$(INTL(500)) CALL SRCH$$(M,FNAME,32,U,T,C) IF((D.EQ.-1))GOTO 10521 D=D-(1) 10523 GOTO 10521 10522 ERRCO0=C IF((C.EQ.0))GOTO 10524 IF((AT.NE.1))GOTO 10525 CALL AT$HOM(C) 10525 DOPEN$=-3 RETURN 10524 IF(MISSIN(FTYPE))GOTO 10526 FTYPE=T 10526 IF((AT.NE.1))GOTO 10527 CALL AT$HOM(C) 10527 FDUNI0(F)=U FDFLA0(F)=OR(FDFLA0(F),:002000+LS(RT(T,3),6)) DOPEN$=FD RETURN END INTEGER FUNCTION DREAD$(BUF,NW,F) INTEGER BUF(1),NW,F COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 BP,BSIZE,BSTART,CT,N,NWR,OP,THRESH,U 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)) N=NW OP=0 U=FDUNI0(F) CT=-FDCOU0(F) BP=FDBUI0(F)-CT BSIZE=FDBUH0(F) BSTART=FDBUG0(F) THRESH=BSIZE/2 ERRCO0=0 GOTO 10528 10529 CALL MOVE$(FDBUF0(BP+1),BUF,N) CT=CT-(N) OP=N N=0 GOTO 10532 10531 CALL MOVE$(FDBUF0(BP+1),BUF,CT) OP=CT N=N-(CT) CT=0 GOTO 10532 10528 IF((CT.GE.N))GOTO 10529 IF((CT.GT.0))GOTO 10531 10530 GOTO 10532 10533 CALL PRWF$$(:1,U,LOC(BUF(OP+1)),N,INTL(0),NWR,ERRCO0) IF((ERRCO0.EQ.0))GOTO 10535 IF((ERRCO0.EQ.1))GOTO 10535 GOTO 10536 10535 OP=OP+(NWR) 10534 GOTO 10536 10537 CALL PRWF$$(:1,U,LOC(FDBUF0(BSTART+1)),BSIZE,INTL(0),CT,ERRCO0) IF((ERRCO0.EQ.0))GOTO 10538 IF((ERRCO0.EQ.1))GOTO 10538 CT=0 10538 FDBUI0(F)=BSTART+CT IF((N.LE.CT))GOTO 10539 N=CT 10539 CALL MOVE$(FDBUF0(BSTART+1),BUF(OP+1),N) CT=CT-(N) OP=OP+(N) GOTO 10536 10532 IF((N.GE.THRESH))GOTO 10533 IF((N.GT.0))GOTO 10537 10536 FDCOU0(F)=-CT IF((ERRCO0.NE.1))GOTO 10540 FDFLA0(F)=OR(FDFLA0(F),:010000) GOTO 10541 10540 IF((ERRCO0.EQ.0))GOTO 10542 FDFLA0(F)=OR(FDFLA0(F),:004000) 10542 CONTINUE 10541 IF((OP.LE.0))GOTO 10543 DREAD$=OP RETURN 10543 DREAD$=-1 RETURN END SUBROUTINE DSDBIU(B,FORM) INTEGER B INTEGER FORM INTEGER MEMAA0(1) COMMON /DS$MEM/MEMAA0 INTEGER L,S,LMAX CALL PRINT(-15,'*5i *i words in use*n.',B,MEMAA0(B+0)) L=0 S=B+MEMAA0(B+0) IF((FORM.NE.176))GOTO 10544 LMAX=5 GOTO 10545 10544 LMAX=50 10545 B=B+(2) GOTO 10548 10546 B=B+(1) 10548 IF((B.GE.S))GOTO 10547 IF((L.NE.0))GOTO 10549 CALL PRINT(-15,' .') 10549 IF((FORM.NE.176))GOTO 10550 CALL PRINT(-15,' *10i.',MEMAA0(B)) GOTO 10551 10550 IF((FORM.NE.225))GOTO 10552 CALL PRINT(-15,'*c.',MEMAA0(B)) 10552 CONTINUE 10551 L=L+(1) IF((L.LT.LMAX))GOTO 10546 L=0 CALL PRINT(-15,'*n.') 10553 GOTO 10546 10547 IF((L.EQ.0))GOTO 10554 CALL PRINT(-15,'*n.') 10554 RETURN END SUBROUTINE DSDUMP(FORM) INTEGER FORM INTEGER MEMAA0(1) COMMON /DS$MEM/MEMAA0 INTEGER P,T,Q T=2 CALL PRINT(-15,'** DYNAMIC STORAGE DUMP ***n.') CALL PRINT(-15,'*5i *i words in use*n.',1,2+1) P=MEMAA0(T+1) 10555 IF((P.EQ.0))GOTO 10556 CALL PRINT(-15,'*5i *i words available*n.',P,MEMAA0(P+0)) Q=P+MEMAA0(P+0) 10557 IF((Q.EQ.MEMAA0(P+1)))GOTO 10558 IF((Q.GE.MEMAA0(1)))GOTO 10558 CALL DSDBIU(Q,FORM) GOTO 10557 10558 P=MEMAA0(P+1) GOTO 10555 10556 CALL PRINT(-15,'** END DUMP ***n.') RETURN END INTEGER FUNCTION DSEEK$(POS,F,RA) INTEGER * 4 POS INTEGER F,RA COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 JUNK INTEGER AAACS0 INTEGER AAACT0 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)) AAACS0=RA GOTO 10559 10560 IF((POS.GE.0))GOTO 10561 DSEEK$=-3 RETURN 10561 CALL PRWF$$(:3+:10,FDUNI0(F),INTL(0),0,POS,JUNK,ERRCO0) IF((ERRCO0.EQ.0))GOTO 10563 DSEEK$=-1 RETURN 10564 CALL PRWF$$(:3+:0,FDUNI0(F),INTL(0),0,POS,JUNK,ERRCO0) IF((ERRCO0.EQ.0))GOTO 10563 DSEEK$=-1 RETURN 10559 AAACT0=AAACS0+1 GOTO(10560,10564),AAACT0 DSEEK$=-3 RETURN 10563 DSEEK$=-2 RETURN END SUBROUTINE DSFREE(BLOCK) INTEGER BLOCK INTEGER MEMAA0(1) COMMON /DS$MEM/MEMAA0 INTEGER P0,P,Q INTEGER N INTEGER CON(10) P0=BLOCK-2 N=MEMAA0(P0+0) Q=2 10566 P=MEMAA0(Q+1) IF((P.EQ.0))GOTO 10569 IF((P.GT.P0))GOTO 10569 GOTO 10567 10567 Q=P GOTO 10566 10569 IF((Q+MEMAA0(Q+0).LE.P0))GOTO 10570 CALL REMARK('in dsfree: attempt to free unallocated block.') CALL REMARK('type ''c'' to continue.') CALL GETLIN(CON,-14,10) IF((CON(1).EQ.227))GOTO 10571 IF((CON(1).EQ.195))GOTO 10571 CALL SWT 10571 RETURN 10570 IF(((P0+N.NE.P).OR.(P.EQ.0)))GOTO 10572 N=N+MEMAA0(P+0) MEMAA0(P0+1)=MEMAA0(P+1) GOTO 10573 10572 MEMAA0(P0+1)=P 10573 IF((Q+MEMAA0(Q+0).NE.P0))GOTO 10574 MEMAA0(Q+0)=MEMAA0(Q+0)+N MEMAA0(Q+1)=MEMAA0(P0+1) GOTO 10575 10574 MEMAA0(Q+1)=P0 MEMAA0(P0+0)=N 10575 RETURN END INTEGER FUNCTION DSGET(W) INTEGER W INTEGER MEMAA0(1) COMMON /DS$MEM/MEMAA0 INTEGER P,Q,L INTEGER N,K INTEGER C(10) INTEGER AAACU0 INTEGER AAACV0 N=W+2 Q=2 10576 P=MEMAA0(Q+1) IF((P.NE.0))GOTO 10577 CALL REMARK('in dsget: out of storage space.') CALL REMARK('type ''c'' or ''i'' for char or integer dump.') CALL GETLIN(C,-14,10) AAACU0=C(1) GOTO 10578 10579 CALL DSDUMP(225) GOTO 10580 10581 CALL DSDUMP(176) GOTO 10580 10578 AAACV0=AAACU0-194 GOTO(10579,10582,10582,10582,10582,10582,10581),AAACV0 AAACV0=AAACU0-226 GOTO(10579,10582,10582,10582,10582,10582,10581),AAACV0 10582 CONTINUE 10580 CALL ERROR('program terminated.') 10577 IF((MEMAA0(P+0).LT.N))GOTO 10583 GOTO 10584 10583 Q=P GOTO 10576 10584 K=MEMAA0(P+0)-N IF((K.LT.8))GOTO 10585 MEMAA0(P+0)=K L=P+K MEMAA0(L+0)=N GOTO 10586 10585 MEMAA0(Q+1)=MEMAA0(P+1) L=P 10586 DSGET=L+2 RETURN END SUBROUTINE DSINIT(W) INTEGER W INTEGER MEMAA0(1) COMMON /DS$MEM/MEMAA0 INTEGER T IF((W.GE.2*2+2))GOTO 10587 CALL ERROR('in dsinit: unreasonably small memory size.') 10587 T=2 MEMAA0(T+0)=0 MEMAA0(T+1)=2+2 T=2+2 MEMAA0(T+0)=W-2-1 MEMAA0(T+1)=0 MEMAA0(1)=W RETURN END INTEGER FUNCTION DTOC(VAL,OUT,W,D) REAL * 8 VAL INTEGER OUT(1) INTEGER W,D REAL * 8 V,PV(26),ROUND(14) INTEGER PE(26),I,E,J,LEN,NODIG0,MAXSI0 LOGICAL NEG,SMALL,EXPFO0,BASIC0 INTEGER DIGITS(17) INTEGER DIG(11) INTEGER ITOC DATA DIG/176,177,178,179,180,181,182,183,184,185,0/ DATA PV/1D2,1D4,1D8,1D16,1D32,1D64,1D128,1D256,1D512,1D1024,1D2048 *,1D4096,1D8192,1D-2,1D-4,1D-8,1D-16,1D-32,1D-64,1D-128,1D-256,1D-5 *12,1D-1024,1D-2048,1D-4096,1D-8192/ DATA PE/2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,-2,-4,-8,-1 *6,-32,-64,-128,-256,-512,-1024,-2048,-4096,-8192/ DATA ROUND/.05D0,.005D0,.0005D0,.00005D0,.000005D0,.0000005D0,.000 *00005D0,.000000005D0,.0000000005D0,.00000000005D0,.000000000005D0, *.0000000000005D0,.00000000000005D0,.000000000000005D0/ V=DABS(VAL) NEG=(VAL.LT.0.0) SMALL=(V.LT.0.1) E=-1 IF((.NOT.SMALL))GOTO 10588 I=26 GOTO 10591 10589 I=I-(1) 10591 IF((I.LE.13))GOTO 10593 IF((V.GE.PV(I)))GOTO 10589 V=V/(PV(I)) E=E+(PE(I)) 10592 GOTO 10589 10588 I=13 GOTO 10596 10594 I=I-(1) 10596 IF((I.LE.0))GOTO 10595 IF((V.LT.PV(I)/10.0))GOTO 10594 V=V/(PV(I)) E=E+(PE(I)) 10597 GOTO 10594 10595 CONTINUE 10593 IF((V.LT.1.0))GOTO 10598 V=V/(10.0) E=E+(1) GOTO 10599 10598 IF((V.GE.0.1))GOTO 10600 V=V*(10.0) E=E-(1) 10600 CONTINUE 10599 IF((V.NE.0.0))GOTO 10601 E=0 10601 IF((.NOT.NEG))GOTO 10602 MAXSI0=1 GOTO 10603 10602 MAXSI0=0 10603 BASIC0=(D.GT.14) IF((.NOT.BASIC0))GOTO 10604 EXPFO0=(E.GT.5.OR.E.LT.-2) IF((.NOT.EXPFO0))GOTO 10605 NODIG0=6 MAXSI0=MAXSI0+1+1+5+1+1+4 GOTO 10607 10605 NODIG0=6+MIN0(0,E) MAXSI0=MAXSI0+1+1+5 10606 GOTO 10607 10604 IF((D.LT.0))GOTO 10608 EXPFO0=(W.LT.1+MAX0(E,1)+1+D) IF((.NOT.EXPFO0))GOTO 10609 NODIG0=MAX0(1,W-1-1-6) MAXSI0=MAXSI0+1+NODIG0+6 GOTO 10611 10609 NODIG0=E+D+1 MAXSI0=MAXSI0+MAX0(E,0)+1+D 10610 GOTO 10611 10608 EXPFO0=.TRUE. NODIG0=MIN0(14,-D) MAXSI0=MAXSI0+1+NODIG0+6 10611 CONTINUE 10607 NODIG0=MIN0(MAX0(1,NODIG0),14) V=V+(ROUND(NODIG0)) IF((V.LT.1.0))GOTO 10612 V=V/(10.0) E=E+(1) IF(EXPFO0)GOTO 10613 MAXSI0=MAXSI0+(1) NODIG0=MIN0(14,NODIG0+1) 10613 CONTINUE 10612 IF((MAXSI0.LE.W))GOTO 10614 OUT(1)=191 OUT(2)=0 DTOC=1 RETURN 10614 DO 10615 I=1,NODIG0 V=V*(10.0D0) J=V V=V-(J) DIGITS(I)=DIG(J+1) 10615 CONTINUE 10616 LEN=1 IF((.NOT.NEG))GOTO 10617 OUT(1)=173 LEN=LEN+(1) 10617 IF((.NOT.EXPFO0))GOTO 10618 OUT(LEN)=DIGITS(1) OUT(LEN+1)=174 LEN=LEN+(2) I=2 GOTO 10621 10619 I=I+(1) 10621 IF((I.GT.NODIG0))GOTO 10620 OUT(LEN)=DIGITS(I) LEN=LEN+(1) GOTO 10619 10620 IF((.NOT.BASIC0))GOTO 10622 10623 IF((LEN.LE.2))GOTO 10624 LEN=LEN-(1) IF((OUT(LEN).NE.174))GOTO 10625 GOTO 10624 10625 IF((OUT(LEN).EQ.176))GOTO 10626 LEN=LEN+(1) GOTO 10624 10626 CONTINUE GOTO 10623 10624 CONTINUE 10622 OUT(LEN)=229 LEN=LEN+(1) IF((E.GE.0))GOTO 10627 OUT(LEN)=173 LEN=LEN+(1) E=-E 10627 LEN=LEN+(ITOC(E,OUT(LEN),W-LEN)) GOTO 10628 10618 IF((E.GE.0))GOTO 10629 IF((D.NE.0))GOTO 10630 IF((E.NE.-1))GOTO 10630 IF((DIGITS(1).LT.181))GOTO 10630 OUT(LEN)=177 GOTO 10631 10630 OUT(LEN)=176 10631 OUT(LEN+1)=174 LEN=LEN+(2) I=1 GOTO 10634 10632 I=I+(1) 10634 IF((I.GE.-E))GOTO 10633 IF((I.GT.D))GOTO 10633 OUT(LEN)=176 LEN=LEN+(1) GOTO 10632 10633 J=1 GOTO 10637 10635 J=J+(1) 10637 IF((J.GT.NODIG0))GOTO 10636 IF((I.GT.D))GOTO 10636 OUT(LEN)=DIGITS(J) LEN=LEN+(1) I=I+(1) GOTO 10635 10636 IF((.NOT.BASIC0))GOTO 10638 10639 IF((LEN.LE.2))GOTO 10647 LEN=LEN-(1) IF((OUT(LEN).NE.174))GOTO 10641 GOTO 10647 10641 IF((OUT(LEN).EQ.176))GOTO 10642 LEN=LEN+(1) GOTO 10647 10642 CONTINUE GOTO 10639 10638 I=1 GOTO 10646 10644 I=I+(1) 10646 IF((I.GE.D+E-NODIG0))GOTO 10645 IF((I.GT.D))GOTO 10645 OUT(LEN)=176 LEN=LEN+(1) GOTO 10644 10645 CONTINUE 10643 GOTO 10647 10629 IF((E.LT.NODIG0))GOTO 10648 I=1 GOTO 10651 10649 I=I+(1) 10651 IF((I.GT.NODIG0))GOTO 10650 OUT(LEN)=DIGITS(I) LEN=LEN+(1) GOTO 10649 10650 I=NODIG0 GOTO 10654 10652 I=I+(1) 10654 IF((I.GT.E))GOTO 10653 OUT(LEN)=176 LEN=LEN+(1) GOTO 10652 10653 IF(BASIC0)GOTO 10659 OUT(LEN)=174 LEN=LEN+(1) I=1 GOTO 10658 10656 I=I+(1) 10658 IF((I.GT.D))GOTO 10657 OUT(LEN)=176 LEN=LEN+(1) GOTO 10656 10657 CONTINUE 10655 GOTO 10659 10648 E=E+(1) I=1 GOTO 10662 10660 I=I+(1) 10662 IF((I.GT.E))GOTO 10661 OUT(LEN)=DIGITS(I) LEN=LEN+(1) GOTO 10660 10661 OUT(LEN)=174 LEN=LEN+(1) J=1 GOTO 10665 10663 J=J+(1) 10665 IF((I.GT.NODIG0))GOTO 10664 IF((J.GT.D))GOTO 10664 OUT(LEN)=DIGITS(I) I=I+(1) LEN=LEN+(1) GOTO 10663 10664 IF((.NOT.BASIC0))GOTO 10666 10667 IF((LEN.LE.2))GOTO 10671 LEN=LEN-(1) IF((OUT(LEN).NE.174))GOTO 10669 GOTO 10671 10669 IF((OUT(LEN).EQ.176))GOTO 10670 LEN=LEN+(1) GOTO 10671 10670 CONTINUE GOTO 10667 10666 I=1 GOTO 10674 10672 I=I+(1) 10674 IF((I.GT.E+D-NODIG0))GOTO 10673 IF((I.GT.D))GOTO 10673 OUT(LEN)=176 LEN=LEN+(1) GOTO 10672 10673 CONTINUE 10671 CONTINUE 10659 CONTINUE 10647 CONTINUE 10628 OUT(LEN)=0 DTOC=LEN-1 RETURN END INTEGER FUNCTION DWRIT$(BUF,NW,F) INTEGER BUF(1),NW,F COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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,BP,N,IP,NWR,CT,BSTART,BSIZE,THRESH 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)) N=NW IP=0 CT=-FDCOU0(F) BP=FDBUI0(F)-CT BSIZE=FDBUH0(F) BSTART=FDBUG0(F) THRESH=BSIZE/2 ERRCO0=0 IF((NW.LT.THRESH))GOTO 10675 IF((BSIZE-CT.LE.0))GOTO 10676 CALL PRWF$$(:2,FDUNI0(F),LOC(FDBUF0(BSTART+1)),BSIZE-CT,INTL(0 *),NWR,ERRCO0) BP=BSTART CT=BSIZE 10676 IF((ERRCO0.NE.0))GOTO 10677 CALL PRWF$$(:2,FDUNI0(F),LOC(BUF(IP+1)),N,INTL(0),NWR,ERRCO0) 10677 IF((ERRCO0.NE.0))GOTO 10679 IP=IP+(NWR) 10678 GOTO 10679 10675 CONTINUE 10680 IF((N.LE.0))GOTO 10681 IF((CT.GT.0))GOTO 10682 CALL PRWF$$(:2,FDUNI0(F),LOC(FDBUF0(BSTART+1)),BSIZE,INTL(0) *,NWR,ERRCO0) IF((ERRCO0.EQ.0))GOTO 10683 GOTO 10681 10683 BP=BSTART CT=BSIZE 10682 I=N IF((I.LE.CT))GOTO 10684 I=CT 10684 CALL MOVE$(BUF(IP+1),FDBUF0(BP+1),I) IP=IP+(I) BP=BP+(I) N=N-(I) CT=CT-(I) GOTO 10680 10681 CONTINUE 10679 FDCOU0(F)=-CT IF((ERRCO0.EQ.0))GOTO 10685 FDFLA0(F)=OR(FDFLA0(F),:004000) DWRIT$=-1 RETURN 10685 DWRIT$=IP RETURN END INTEGER FUNCTION ENCODE(STR,MAX,FMT,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10 *) INTEGER STR(1) INTEGER MAX,FMT(1),A1(1),A2(1),A3(1),A4(1),A5(1),A6(1),A7(1),A8(1) *,A9(1),A10(1) INTEGER I,ARG,CUR,MAXCUR,NUM,M,L,DEFAU0,DEFAV0,DEFAX0 INTEGER WIDTH,RJUST,BASE,FILL INTEGER PTOC,CTOC,GITOC,GLTOC,RTOC,DTOC,VTOC,ATOC,CTOI INTEGER TERM,TMP(102) INTEGER AAACW0 INTEGER AAACX0 INTEGER AAACY0 INTEGER AAADA0 INTEGER AAADB0 INTEGER AAADC0 INTEGER AAADD0 INTEGER AAADE0 INTEGER AAADF0 INTEGER AAADG0 INTEGER AAADH0 INTEGER AAADI0 INTEGER AAADJ0 INTEGER AAADK0 INTEGER AAADL0 INTEGER AAADM0 INTEGER AAADN0 INTEGER AAADO0 INTEGER AAADP0 INTEGER AAADQ0 INTEGER AAADR0 LOGICAL NEG INTEGER AAACZ0 INTEGER AAADS0 INTEGER AAADT0 INTEGER AAADU0 INTEGER AAADV0 INTEGER AAADW0 INTEGER AAADX0 INTEGER AAADY0(5) INTEGER AAADZ0(6) INTEGER AAAEA0(5) INTEGER AAAEB0(6) INTEGER AAAEC0 INTEGER AAAED0(4) INTEGER AAAEE0(3) INTEGER AAAEF0(2) INTEGER AAAEG0(4) INTEGER AAAEH0(3) INTEGER AAAEI0(2) INTEGER AAAEJ0 INTEGER AAAEK0 INTEGER AAAEL0 INTEGER AAAEM0 INTEGER AAAEN0 INTEGER AAAEO0 INTEGER AAAEP0 DATA AAADY0/212,210,213,197,0/ DATA AAADZ0/198,193,204,211,197,0/ DATA AAAEA0/212,210,213,197,0/ DATA AAAEB0/198,193,204,211,197,0/ DATA AAAED0/217,197,211,0/ DATA AAAEE0/206,207,0/ DATA AAAEF0/191,0/ DATA AAAEG0/217,197,211,0/ DATA AAAEH0/206,207,0/ DATA AAAEI0/191,0/ ARG=1 CUR=1 MAXCUR=1 DEFAU0=0 DEFAV0=0 DEFAX0=160 I=1 GOTO 10706 10704 I=I+(1) 10706 IF((FMT(I).EQ.0))GOTO 10705 IF((CUR.GE.MAX))GOTO 10705 IF((FMT(I).EQ.170))GOTO 10707 STR(CUR)=FMT(I) CUR=CUR+(1) GOTO 10704 10707 AAACW0=1 GOTO 10686 10709 AAADP0=FMT(I) GOTO 10710 10711 ARG=WIDTH GOTO 10712 10713 DEFAU0=WIDTH DEFAV0=BASE DEFAX0=FILL GOTO 10712 10714 AAADE0=1 GOTO 10693 10716 AAADF0=1 GOTO 10694 10718 AAADG0=1 GOTO 10695 10720 AAADH0=1 GOTO 10696 10722 TERM=174 AAADC0=1 GOTO 10691 10724 TERM=0 AAADC0=2 GOTO 10691 10726 AAADD0=1 GOTO 10692 10728 BASE=1 AAADD0=2 GOTO 10692 10730 AAADI0=1 GOTO 10697 10732 AAADJ0=1 GOTO 10698 10734 BASE=-BASE AAADJ0=2 GOTO 10698 10736 AAADK0=1 GOTO 10699 10738 BASE=-BASE AAADK0=2 GOTO 10699 10740 AAADL0=1 GOTO 10700 10742 AAADM0=1 GOTO 10701 10744 AAADN0=1 GOTO 10702 10746 AAACZ0=WIDTH AAADA0=1 GOTO 10689 10710 AAADQ0=AAADP0-224 GOTO(10720,10714,10728,10742,10748,10742,10711,10724,10732, * 10734,10748,10736,10738,10744,10748,10722,10748,10740,10726, * 10718,10713,10730,10748,10746,10716),AAADQ0 10748 STR(CUR)=FMT(I) CUR=CUR+(1) 10712 CONTINUE 10708 GOTO 10704 10705 IF((MAXCUR.LE.CUR))GOTO 10749 CUR=MAXCUR 10749 STR(CUR)=0 ENCODE=CUR-1 RETURN 10686 I=I+(1) IF((FMT(I).EQ.172))GOTO 10751 IF((193.GT.FMT(I)))GOTO 10752 IF((FMT(I).GT.218))GOTO 10752 GOTO 10751 10752 IF((225.GT.FMT(I)))GOTO 10750 IF((FMT(I).GT.250))GOTO 10750 GOTO 10751 10751 WIDTH=DEFAU0 GOTO 10754 10750 IF((FMT(I).NE.163))GOTO 10755 AAACX0=1 GOTO 10687 10756 I=I+(1) WIDTH=NUM GOTO 10757 10755 AAACY0=1 GOTO 10688 10758WIDTH=NUM 10757 CONTINUE 10754 IF((WIDTH.LT.0))GOTO 10759 RJUST=0 GOTO 10760 10759 RJUST=1 WIDTH=-WIDTH 10760 IF((FMT(I).EQ.172))GOTO 10761 BASE=DEFAV0 GOTO 10762 10761 I=I+(1) IF((FMT(I).EQ.172))GOTO 10764 IF((193.GT.FMT(I)))GOTO 10765 IF((FMT(I).GT.218))GOTO 10765 GOTO 10764 10765 IF((225.GT.FMT(I)))GOTO 10763 IF((FMT(I).GT.250))GOTO 10763 GOTO 10764 10764 BASE=DEFAV0 GOTO 10767 10763 IF((FMT(I).NE.163))GOTO 10768 AAACX0=2 GOTO 10687 10769 I=I+(1) BASE=NUM GOTO 10770 10768 AAACY0=2 GOTO 10688 10771 BASE=NUM 10770 CONTINUE 10767 CONTINUE 10762 IF((FMT(I).EQ.172))GOTO 10772 FILL=DEFAX0 GOTO 10709 10772 IF((FMT(I+1).EQ.163))GOTO 10774 FILL=FMT(I+1) I=I+(2) GOTO 10775 10774 IF((FMT(I+2).NE.163))GOTO 10776 FILL=163 I=I+(3) GOTO 10777 10776 AAACX0=3 GOTO 10687 10778 FILL=NUM I=I+(2) 10777 CONTINUE 10775 CONTINUE 10773 GOTO 10709 10687 AAADR0=ARG GOTO 10780 10781 NUM=A1(1) GOTO 10782 10783 NUM=A2(1) GOTO 10782 10784 NUM=A3(1) GOTO 10782 10785 NUM=A4(1) GOTO 10782 10786 NUM=A5(1) GOTO 10782 10787 NUM=A6(1) GOTO 10782 10788 NUM=A7(1) GOTO 10782 10789 NUM=A8(1) GOTO 10782 10790 NUM=A9(1) GOTO 10782 10791 NUM=A10(1) GOTO 10782 10780 GOTO(10781,10783,10784,10785,10786,10787,10788,10789,10790,10791), *AAADR0 AAADO0=1 GOTO 10703 10792 CONTINUE 10782 ARG=ARG+(1) GOTO 10793 10688 NEG=(FMT(I).EQ.173) IF((FMT(I).EQ.171))GOTO 10795 IF((FMT(I).EQ.173))GOTO 10795 GOTO 10794 10795 I=I+(1) 10794 NUM=CTOI(FMT,I) IF((.NOT.NEG))GOTO 10797 NUM=-NUM 10796 GOTO 10797 10690 CUR=CUR+(CTOC(TMP,STR(CUR),MAX-CUR+1)) GOTO 10798 10689 AAADS0=1 GOTO 10801 10799 CUR=CUR+(1) AAADS0=AAADS0+(1) 10801 IF((AAADS0.GT.AAACZ0))GOTO 10802 IF((CUR.GE.MAX))GOTO 10802 STR(CUR)=FILL GOTO 10799 10691 IF((RJUST.NE.0))GOTO 10803 M=MAX-CUR+1 IF((BASE.EQ.0))GOTO 10804 IF((BASE+1.GE.M))GOTO 10804 M=BASE+1 10804 AAADT0=ARG GOTO 10805 10806 L=PTOC(A1,TERM,STR(CUR),M) GOTO 10807 10808 L=PTOC(A2,TERM,STR(CUR),M) GOTO 10807 10809 L=PTOC(A3,TERM,STR(CUR),M) GOTO 10807 10810 L=PTOC(A4,TERM,STR(CUR),M) GOTO 10807 10811 L=PTOC(A5,TERM,STR(CUR),M) GOTO 10807 10812 L=PTOC(A6,TERM,STR(CUR),M) GOTO 10807 10813 L=PTOC(A7,TERM,STR(CUR),M) GOTO 10807 10814 L=PTOC(A8,TERM,STR(CUR),M) GOTO 10807 10815 L=PTOC(A9,TERM,STR(CUR),M) GOTO 10807 10816 L=PTOC(A10,TERM,STR(CUR),M) GOTO 10807 10805 GOTO(10806,10808,10809,10810,10811,10812,10813,10814,10815,10816 *),AAADT0 AAADO0=2 GOTO 10703 10817 CONTINUE 10807 CUR=CUR+(L) AAACZ0=WIDTH-L AAADA0=2 GOTO 10689 10803 IF((BASE.EQ.0))GOTO 10821 IF((BASE+1.GE.102))GOTO 10821 GOTO 10820 10821 M=102 GOTO 10822 10820 M=BASE+1 10822 AAADU0=ARG GOTO 10823 10824 L=PTOC(A1,TERM,TMP,M) GOTO 10825 10826 L=PTOC(A2,TERM,TMP,M) GOTO 10825 10827 L=PTOC(A3,TERM,TMP,M) GOTO 10825 10828 L=PTOC(A4,TERM,TMP,M) GOTO 10825 10829 L=PTOC(A5,TERM,TMP,M) GOTO 10825 10830 L=PTOC(A6,TERM,TMP,M) GOTO 10825 10831 L=PTOC(A7,TERM,TMP,M) GOTO 10825 10832 L=PTOC(A8,TERM,TMP,M) GOTO 10825 10833 L=PTOC(A9,TERM,TMP,M) GOTO 10825 10834 L=PTOC(A10,TERM,TMP,M) GOTO 10825 10823 GOTO(10824,10826,10827,10828,10829,10830,10831,10832,10833,10834 *),AAADU0 AAADO0=3 GOTO 10703 10835 CONTINUE 10825 AAACZ0=WIDTH-L AAADA0=3 GOTO 10689 10836 AAADB0=1 GOTO 10690 10837 CONTINUE 10819 ARG=ARG+(1) GOTO 10838 10692 IF((RJUST.NE.0))GOTO 10839 M=MAX-CUR+1 IF((BASE.EQ.0))GOTO 10840 IF((BASE+1.GE.M))GOTO 10840 M=BASE+1 10840 AAADV0=ARG GOTO 10841 10842 L=CTOC(A1,STR(CUR),M) GOTO 10843 10844 L=CTOC(A2,STR(CUR),M) GOTO 10843 10845 L=CTOC(A3,STR(CUR),M) GOTO 10843 10846 L=CTOC(A4,STR(CUR),M) GOTO 10843 10847 L=CTOC(A5,STR(CUR),M) GOTO 10843 10848 L=CTOC(A6,STR(CUR),M) GOTO 10843 10849 L=CTOC(A7,STR(CUR),M) GOTO 10843 10850 L=CTOC(A8,STR(CUR),M) GOTO 10843 10851 L=CTOC(A9,STR(CUR),M) GOTO 10843 10852 L=CTOC(A10,STR(CUR),M) GOTO 10843 10841 GOTO(10842,10844,10845,10846,10847,10848,10849,10850,10851,10852 *),AAADV0 AAADO0=4 GOTO 10703 10853 CONTINUE 10843 CUR=CUR+(L) AAACZ0=WIDTH-L AAADA0=4 GOTO 10689 10839 IF((BASE.EQ.0))GOTO 10857 IF((BASE+1.GE.102))GOTO 10857 GOTO 10856 10857 M=102 GOTO 10858 10856 M=BASE+1 10858 AAADW0=ARG GOTO 10859 10860 L=CTOC(A1,TMP,M) GOTO 10861 10862 L=CTOC(A2,TMP,M) GOTO 10861 10863 L=CTOC(A3,TMP,M) GOTO 10861 10864 L=CTOC(A4,TMP,M) GOTO 10861 10865 L=CTOC(A5,TMP,M) GOTO 10861 10866 L=CTOC(A6,TMP,M) GOTO 10861 10867 L=CTOC(A7,TMP,M) GOTO 10861 10868 L=CTOC(A8,TMP,M) GOTO 10861 10869 L=CTOC(A9,TMP,M) GOTO 10861 10870 L=CTOC(A10,TMP,M) GOTO 10861 10859 GOTO(10860,10862,10863,10864,10865,10866,10867,10868,10869,10870 *),AAADW0 AAADO0=5 GOTO 10703 10871 CONTINUE 10861 AAACZ0=WIDTH-L AAADA0=5 GOTO 10689 10872 AAADB0=2 GOTO 10690 10873 CONTINUE 10855 ARG=ARG+(1) GOTO 10874 10693 AAADX0=ARG GOTO 10875 10876 L=A1(1) GOTO 10877 10878 L=A2(1) GOTO 10877 10879 L=A3(1) GOTO 10877 10880 L=A4(1) GOTO 10877 10881 L=A5(1) GOTO 10877 10882 L=A6(1) GOTO 10877 10883 L=A7(1) GOTO 10877 10884 L=A8(1) GOTO 10877 10885 L=A9(1) GOTO 10877 10886 L=A10(1) GOTO 10877 10875 GOTO(10876,10878,10879,10880,10881,10882,10883,10884,10885,10886), *AAADX0 AAADO0=6 GOTO 10703 10887 CONTINUE 10877 IF((RJUST.NE.0))GOTO 10888 M=MAX-CUR+1 IF((BASE.EQ.0))GOTO 10889 IF((BASE+1.GE.M))GOTO 10889 M=BASE+1 10889 IF((L.EQ.0))GOTO 10890 L=CTOC(AAADY0,STR(CUR),M) GOTO 10891 10890 L=CTOC(AAADZ0,STR(CUR),M) 10891 CUR=CUR+(L) AAACZ0=WIDTH-L AAADA0=6 GOTO 10689 10888 IF((BASE.EQ.0))GOTO 10895 IF((BASE+1.GE.102))GOTO 10895 GOTO 10894 10895 M=102 GOTO 10896 10894 M=BASE+1 10896 IF((L.NE.1))GOTO 10897 L=CTOC(AAAEA0,TMP,M) GOTO 10898 10897 L=CTOC(AAAEB0,TMP,M) 10898 AAACZ0=WIDTH-L AAADA0=7 GOTO 10689 10899 AAADB0=3 GOTO 10690 10900 CONTINUE 10893 ARG=ARG+(1) GOTO 10712 10694 AAAEC0=ARG GOTO 10902 10903 L=A1(1) GOTO 10904 10905 L=A2(1) GOTO 10904 10906 L=A3(1) GOTO 10904 10907 L=A4(1) GOTO 10904 10908 L=A5(1) GOTO 10904 10909 L=A6(1) GOTO 10904 10910 L=A7(1) GOTO 10904 10911 L=A8(1) GOTO 10904 10912 L=A9(1) GOTO 10904 10913 L=A10(1) GOTO 10904 10902 GOTO(10903,10905,10906,10907,10908,10909,10910,10911,10912,10913), *AAAEC0 AAADO0=7 GOTO 10703 10914 CONTINUE 10904 IF((RJUST.NE.0))GOTO 10915 M=MAX-CUR+1 IF((BASE.EQ.0))GOTO 10916 IF((BASE+1.GE.M))GOTO 10916 M=BASE+1 10916 IF((L.NE.1))GOTO 10917 L=CTOC(AAAED0,STR(CUR),M) GOTO 10918 10917 IF((L.NE.0))GOTO 10919 L=CTOC(AAAEE0,STR(CUR),M) GOTO 10920 10919 L=CTOC(AAAEF0,STR(CUR),M) 10920 CONTINUE 10918 CUR=CUR+(L) AAACZ0=WIDTH-L AAADA0=8 GOTO 10689 10915 IF((BASE.EQ.0))GOTO 10924 IF((BASE+1.GE.102))GOTO 10924 GOTO 10923 10924 M=102 GOTO 10925 10923 M=BASE+1 10925 IF((L.NE.1))GOTO 10926 L=CTOC(AAAEG0,TMP,M) GOTO 10927 10926 IF((L.NE.0))GOTO 10928 L=CTOC(AAAEH0,TMP,M) GOTO 10929 10928 L=CTOC(AAAEI0,TMP,M) 10929 CONTINUE 10927 AAACZ0=WIDTH-L AAADA0=9 GOTO 10689 10930 AAADB0=4 GOTO 10690 10931 CONTINUE 10922 ARG=ARG+(1) GOTO 10712 10695 IF((CUR.LE.MAXCUR))GOTO 10936 MAXCUR=CUR 10933 GOTO 10936 10934 MAXCUR=MAXCUR+(1) 10936 IF((MAXCUR.GE.WIDTH))GOTO 10935 IF((MAXCUR.GE.MAX))GOTO 10935 STR(MAXCUR)=FILL GOTO 10934 10935 CUR=WIDTH GOTO 10712 10696 AAAEJ0=ARG GOTO 10938 10939 L=ATOC(A1,TMP,102) GOTO 10940 10941 L=ATOC(A2,TMP,102) GOTO 10940 10942 L=ATOC(A3,TMP,102) GOTO 10940 10943 L=ATOC(A4,TMP,102) GOTO 10940 10944 L=ATOC(A5,TMP,102) GOTO 10940 10945 L=ATOC(A6,TMP,102) GOTO 10940 10946 L=ATOC(A7,TMP,102) GOTO 10940 10947 L=ATOC(A8,TMP,102) GOTO 10940 10948 L=ATOC(A9,TMP,102) GOTO 10940 10949 L=ATOC(A10,TMP,102) GOTO 10940 10938 GOTO(10939,10941,10942,10943,10944,10945,10946,10947,10948,10949), *AAAEJ0 AAADO0=8 GOTO 10703 10950 CONTINUE 10940 IF((RJUST.NE.0))GOTO 10951 AAACZ0=WIDTH-L AAADA0=10 GOTO 10689 10952 AAADB0=5 GOTO 10690 10951 AAADB0=6 GOTO 10690 10955 AAACZ0=WIDTH-L AAADA0=11 GOTO 10689 10956 CONTINUE 10954 ARG=ARG+(1) GOTO 10712 10697 IF((RJUST.NE.0))GOTO 10958 M=MAX-CUR+1 IF((BASE.EQ.0))GOTO 10959 IF((BASE+1.GE.M))GOTO 10959 M=BASE+1 10959 AAAEK0=ARG GOTO 10960 10961 L=VTOC(A1,STR(CUR),M) GOTO 10962 10963 L=VTOC(A2,STR(CUR),M) GOTO 10962 10964 L=VTOC(A3,STR(CUR),M) GOTO 10962 10965 L=VTOC(A4,STR(CUR),M) GOTO 10962 10966 L=VTOC(A5,STR(CUR),M) GOTO 10962 10967 L=VTOC(A6,STR(CUR),M) GOTO 10962 10968 L=VTOC(A7,STR(CUR),M) GOTO 10962 10969 L=VTOC(A8,STR(CUR),M) GOTO 10962 10970 L=VTOC(A9,STR(CUR),M) GOTO 10962 10971 L=VTOC(A10,STR(CUR),M) GOTO 10962 10960 GOTO(10961,10963,10964,10965,10966,10967,10968,10969,10970,10971 *),AAAEK0 AAADO0=9 GOTO 10703 10972 CONTINUE 10962 CUR=CUR+(L) AAACZ0=WIDTH-L AAADA0=12 GOTO 10689 10958 IF((BASE.EQ.0))GOTO 10976 IF((BASE+1.GE.102))GOTO 10976 GOTO 10975 10976 M=102 GOTO 10977 10975 M=BASE+1 10977 AAAEL0=ARG GOTO 10978 10979 L=VTOC(A1,TMP,M) GOTO 10980 10981 L=VTOC(A2,TMP,M) GOTO 10980 10982 L=VTOC(A3,TMP,M) GOTO 10980 10983 L=VTOC(A4,TMP,M) GOTO 10980 10984 L=VTOC(A5,TMP,M) GOTO 10980 10985 L=VTOC(A6,TMP,M) GOTO 10980 10986 L=VTOC(A7,TMP,M) GOTO 10980 10987 L=VTOC(A8,TMP,M) GOTO 10980 10988 L=VTOC(A9,TMP,M) GOTO 10980 10989 L=VTOC(A10,TMP,M) GOTO 10980 10978 GOTO(10979,10981,10982,10983,10984,10985,10986,10987,10988,10989 *),AAAEL0 AAADO0=10 GOTO 10703 10990 CONTINUE 10980 AAACZ0=WIDTH-L AAADA0=13 GOTO 10689 10991 AAADB0=7 GOTO 10690 10992 CONTINUE 10974 ARG=ARG+(1) GOTO 10712 10698 AAAEM0=ARG GOTO 10994 10995 L=GITOC(A1,TMP,102,BASE) GOTO 10996 10997 L=GITOC(A2,TMP,102,BASE) GOTO 10996 10998 L=GITOC(A3,TMP,102,BASE) GOTO 10996 10999 L=GITOC(A4,TMP,102,BASE) GOTO 10996 11000 L=GITOC(A5,TMP,102,BASE) GOTO 10996 11001 L=GITOC(A6,TMP,102,BASE) GOTO 10996 11002 L=GITOC(A7,TMP,102,BASE) GOTO 10996 11003 L=GITOC(A8,TMP,102,BASE) GOTO 10996 11004 L=GITOC(A9,TMP,102,BASE) GOTO 10996 11005 L=GITOC(A10,TMP,102,BASE) GOTO 10996 10994 GOTO(10995,10997,10998,10999,11000,11001,11002,11003,11004,11005), *AAAEM0 AAADO0=11 GOTO 10703 11006 CONTINUE 10996 IF((RJUST.NE.0))GOTO 11007 AAACZ0=WIDTH-L AAADA0=14 GOTO 10689 11008 AAADB0=8 GOTO 10690 11007 AAADB0=9 GOTO 10690 11011 AAACZ0=WIDTH-L AAADA0=15 GOTO 10689 11012 CONTINUE 11010 ARG=ARG+(1) GOTO 11013 10699 AAAEN0=ARG GOTO 11014 11015 L=GLTOC(A1,TMP,102,BASE) GOTO 11016 11017 L=GLTOC(A2,TMP,102,BASE) GOTO 11016 11018 L=GLTOC(A3,TMP,102,BASE) GOTO 11016 11019 L=GLTOC(A4,TMP,102,BASE) GOTO 11016 11020 L=GLTOC(A5,TMP,102,BASE) GOTO 11016 11021 L=GLTOC(A6,TMP,102,BASE) GOTO 11016 11022 L=GLTOC(A7,TMP,102,BASE) GOTO 11016 11023 L=GLTOC(A8,TMP,102,BASE) GOTO 11016 11024 L=GLTOC(A9,TMP,102,BASE) GOTO 11016 11025 L=GLTOC(A10,TMP,102,BASE) GOTO 11016 11014 GOTO(11015,11017,11018,11019,11020,11021,11022,11023,11024,11025), *AAAEN0 AAADO0=12 GOTO 10703 11026 CONTINUE 11016 IF((RJUST.NE.0))GOTO 11027 AAACZ0=WIDTH-L AAADA0=16 GOTO 10689 11028 AAADB0=10 GOTO 10690 11027 AAADB0=11 GOTO 10690 11031 AAACZ0=WIDTH-L AAADA0=17 GOTO 10689 11032 CONTINUE 11030 ARG=ARG+(1) GOTO 11033 10700 IF((BASE.NE.0))GOTO 11034 BASE=100 11034 IF((BASE.GT.14))GOTO 11036 IF((BASE.LT.0))GOTO 11036 IF((WIDTH.EQ.0))GOTO 11036 GOTO 11035 11036 M=102-1 GOTO 11037 11035 M=BASE+20 11037 AAAEO0=ARG GOTO 11038 11039 L=RTOC(A1,TMP,M,BASE) GOTO 11040 11041 L=RTOC(A2,TMP,M,BASE) GOTO 11040 11042 L=RTOC(A3,TMP,M,BASE) GOTO 11040 11043 L=RTOC(A4,TMP,M,BASE) GOTO 11040 11044 L=RTOC(A5,TMP,M,BASE) GOTO 11040 11045 L=RTOC(A6,TMP,M,BASE) GOTO 11040 11046 L=RTOC(A7,TMP,M,BASE) GOTO 11040 11047 L=RTOC(A8,TMP,M,BASE) GOTO 11040 11048 L=RTOC(A9,TMP,M,BASE) GOTO 11040 11049 L=RTOC(A10,TMP,M,BASE) GOTO 11040 11038 GOTO(11039,11041,11042,11043,11044,11045,11046,11047,11048,11049), *AAAEO0 AAADO0=13 GOTO 10703 11050 CONTINUE 11040 IF((RJUST.NE.1))GOTO 11051 IF((BASE.GE.0))GOTO 11052 IF((TMP(1).EQ.173))GOTO 11052 STR(CUR)=FILL CUR=CUR+(1) L=L+(1) 11052 AAADB0=12 GOTO 10690 11053 AAACZ0=WIDTH-L AAADA0=18 GOTO 10689 11051 IF((BASE.LT.0))GOTO 11056 AAACZ0=WIDTH-L AAADA0=19 GOTO 10689 11057 AAADB0=13 GOTO 10690 11056 AAACZ0=WIDTH+BASE-8 AAADA0=20 GOTO 10689 11060 IF((TMP(1).EQ.173))GOTO 11061 STR(CUR)=FILL CUR=CUR+(1) L=L+(1) 11061 AAADB0=14 GOTO 10690 11062 AAACZ0=-BASE+7-L AAADA0=21 GOTO 10689 11063 CONTINUE 11059 CONTINUE 11055 ARG=ARG+(1) GOTO 10712 10701 IF((BASE.NE.0))GOTO 11065 BASE=100 11065 IF((BASE.GT.14))GOTO 11067 IF((BASE.LT.0))GOTO 11067 IF((WIDTH.EQ.0))GOTO 11067 GOTO 11066 11067 M=102-1 GOTO 11068 11066 M=BASE+20 11068 AAAEP0=ARG GOTO 11069 11070 L=DTOC(A1,TMP,M,BASE) GOTO 11071 11072 L=DTOC(A2,TMP,M,BASE) GOTO 11071 11073 L=DTOC(A3,TMP,M,BASE) GOTO 11071 11074 L=DTOC(A4,TMP,M,BASE) GOTO 11071 11075 L=DTOC(A5,TMP,M,BASE) GOTO 11071 11076 L=DTOC(A6,TMP,M,BASE) GOTO 11071 11077 L=DTOC(A7,TMP,M,BASE) GOTO 11071 11078 L=DTOC(A8,TMP,M,BASE) GOTO 11071 11079 L=DTOC(A9,TMP,M,BASE) GOTO 11071 11080 L=DTOC(A10,TMP,M,BASE) GOTO 11071 11069 GOTO(11070,11072,11073,11074,11075,11076,11077,11078,11079,11080), *AAAEP0 AAADO0=14 GOTO 10703 11081 CONTINUE 11071 IF((RJUST.NE.1))GOTO 11082 IF((BASE.GE.0))GOTO 11083 IF((TMP(1).EQ.173))GOTO 11083 STR(CUR)=FILL CUR=CUR+(1) L=L+(1) 11083 AAADB0=15 GOTO 10690 11084 AAACZ0=WIDTH-L AAADA0=22 GOTO 10689 11082 IF((BASE.LT.0))GOTO 11087 AAACZ0=WIDTH-L AAADA0=23 GOTO 10689 11088 AAADB0=16 GOTO 10690 11087 AAACZ0=WIDTH+BASE-8 AAADA0=24 GOTO 10689 11091 IF((TMP(1).EQ.173))GOTO 11092 STR(CUR)=FILL CUR=CUR+(1) L=L+(1) 11092 AAADB0=17 GOTO 10690 11093 AAACZ0=-BASE+7-L AAADA0=25 GOTO 10689 11094 CONTINUE 11090 CONTINUE 11086 ARG=ARG+(1) GOTO 10712 10702 CONTINUE 11096 STR(CUR)=138 CUR=CUR+(1) WIDTH=WIDTH-(1) IF((WIDTH.LE.0))GOTO 11097 IF((CUR.GE.MAX))GOTO 11097 GOTO 11096 11097 CONTINUE GOTO 10712 10703 CALL REMARK('in encode: attempt to use more than 10 fields.') TMP(1)=0 GOTO 11099 10793 GOTO(10756,10769,10778),AAACX0 GOTO 10793 10797 GOTO(10758,10771),AAACY0 GOTO 10797 10838 GOTO(10712,10712),AAADC0 GOTO 10838 10874 GOTO(10712,10712),AAADD0 GOTO 10874 11013 GOTO(10712,10712),AAADJ0 GOTO 11013 10802 GOTO(10712,10819,10836,10855,10872,10893,10899,10922,10930,10952, * 10956,10974,10991,11008,11012,11028,11032,11055,11057,11060, * 11063,11086,11088,11091,11094),AAADA0 GOTO 10802 11099 GOTO(10792,10817,10835,10853,10871,10887,10914,10950,10972,10990, * 11006,11026,11050,11081),AAADO0 GOTO 11099 10798 GOTO(10837,10873,10900,10931,10954,10955,10992,11010,11011,11030, * 11031,11053,11059,11062,11084,11090,11093),AAADB0 GOTO 10798 11033 GOTO(10712,10712),AAADK0 GOTO 11033 END INTEGER FUNCTION ENTER(SYMBOL,INFO,ST) INTEGER SYMBOL(1) INTEGER INFO(1) INTEGER ST INTEGER MEMAA0(1) COMMON /DS$MEM/MEMAA0 INTEGER I,NODES0,FORTR0 INTEGER ST$LU,LENGTH INTEGER NODE,PRED INTEGER DSGET NODES0=MEMAA0(ST) IF((ST$LU(SYMBOL,NODE,PRED,ST).NE.0))GOTO 11100 NODE=DSGET(1+NODES0+LENGTH(SYMBOL)+1) MEMAA0(NODE+0)=0 MEMAA0(PRED+0)=NODE CALL SCOPY(SYMBOL,1,MEMAA0,NODE+1+NODES0) 11100 I=1 GOTO 11103 11101 I=I+(1) 11103 IF((I.GT.NODES0))GOTO 11102 FORTR0=NODE+1+I-1 MEMAA0(FORTR0)=INFO(I) GOTO 11101 11102 ENTER=NODE+1+NODES0 RETURN END SUBROUTINE ERROR(BUF) INTEGER BUF(1) CALL REMARK(BUF) CALL SETERR(1000) CALL SWT END INTEGER FUNCTION ESC(ARRAY,I) INTEGER ARRAY(1) INTEGER I IF((ARRAY(I).EQ.192))GOTO 11104 ESC=ARRAY(I) GOTO 11105 11104 IF((ARRAY(I+1).NE.0))GOTO 11106 ESC=192 GOTO 11107 11106 I=I+(1) IF((ARRAY(I).NE.238))GOTO 11108 ESC=138 GOTO 11109 11108 IF((ARRAY(I).NE.244))GOTO 11110 ESC=137 GOTO 11111 11110 ESC=ARRAY(I) 11111 CONTINUE 11109 CONTINUE 11107 CONTINUE 11105 RETURN END SUBROUTINE EXEC(PATH) INTEGER PATH(1) INTEGER FILE(16),J1(3),J2 INTEGER GETTO,FINDF$ IF((GETTO(PATH,FILE,J1,J2).EQ.-3))GOTO 11112 IF((FINDF$(FILE).NE.1))GOTO 11112 CALL RESU$$(FILE,32) 11112 RETURN END SUBROUTINE EXECN(NAME) INTEGER NAME(1) INTEGER PATH(100) CALL PTOC(NAME,174,PATH,100) CALL EXEC(PATH) RETURN END INTEGER FUNCTION EXPAND(TEMPL0,STR,STRLEN) INTEGER STRLEN INTEGER TEMPL0(1),STR(STRLEN) INTEGER JI,TI,SI,PI,XI INTEGER LUTEMP INTEGER C INTEGER JIG(102),PBUF(102),XBUF(102) INTEGER AAAEQ0 SI=1 PI=1 TI=1 AAAEQ0=1 GOTO 11113 11114 AAAEQ0=2 GOTO 11113 11118 CONTINUE 11116 IF((SI.GT.STRLEN))GOTO 11115 IF((C.EQ.0))GOTO 11115 IF((C.NE.189))GOTO 11119 AAAEQ0=3 GOTO 11113 11120 JI=1 GOTO 11123 11121 JI=JI+(1) 11123 IF((JI.GT.102))GOTO 11122 IF((C.EQ.189))GOTO 11122 IF((C.EQ.0))GOTO 11122 JIG(JI)=C AAAEQ0=4 GOTO 11113 11122 JIG(JI)=0 IF((C.EQ.189))GOTO 11125 STR(SI)=0 EXPAND=-3 RETURN 11125 IF((JI.GT.1))GOTO 11126 STR(SI)=189 SI=SI+(1) GOTO 11114 11126 XI=LUTEMP(JIG,XBUF,102) IF((XI.EQ.-1))GOTO 11129 IF((XI+PI.GE.102))GOTO 11129 GOTO 11132 11129 STR(SI)=0 EXPAND=-3 RETURN 11130 XI=XI-(1) PI=PI+(1) 11132 IF((XI.LE.0))GOTO 11131 PBUF(PI)=XBUF(XI) GOTO 11130 11131 CONTINUE 11127 GOTO 11114 11119 STR(SI)=C SI=SI+(1) 11133 GOTO 11114 11115 STR(SI)=0 IF((C.EQ.0))GOTO 11134 EXPAND=-3 RETURN 11134 EXPAND=SI-1 RETURN 11113 IF((PI.LE.1))GOTO 11135 PI=PI-(1) C=PBUF(PI) GOTO 11139 11135 IF((TEMPL0(TI).EQ.0))GOTO 11137 C=TEMPL0(TI) TI=TI+(1) GOTO 11138 11137 C=0 11138 CONTINUE 11136 GOTO 11139 11139 GOTO(11116,11118,11120,11121),AAAEQ0 GOTO 11139 END SUBROUTINE FCOPY(IFD,OFD) INTEGER IFD,OFD COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 F1,F2,L INTEGER GETLIN,READF INTEGER BUF(1024) INTEGER IN,OUT INTEGER MAPSU 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)) IN=MAPSU(IFD) OUT=MAPSU(OFD) F1=IN*16-16+1 F2=OUT*16-16+1 IF((FDDEV0(F1).NE.2))GOTO 11140 IF((FDDEV0(F2).NE.2))GOTO 11140 11141 IF((FDBCO0(F1).NE.0))GOTO 11143 IF((FDBCO0(F2).NE.0))GOTO 11143 IF((AND(FDFLA0(F1),:100000).NE.0))GOTO 11143 IF((AND(FDFLA0(F2),:100000).NE.0))GOTO 11143 GOTO 11142 11143 IF((GETLIN(BUF,IN,1024).NE.-1))GOTO 11144 RETURN 11144 CALL PUTLIN(BUF,OUT) GOTO 11141 11142 CONTINUE 11145 L=READF(BUF,1024,IN) IF((L.EQ.-1))GOTO 11149 IF((L.EQ.-3))GOTO 11149 GOTO 11146 11146 CALL WRITEF(BUF,L,OUT) GOTO 11145 11140 CONTINUE 11150 IF((GETLIN(BUF,IN).EQ.-1))GOTO 11151 CALL PUTLIN(BUF,OUT) GOTO 11150 11151 CONTINUE 11149 RETURN END INTEGER FUNCTION FILCPY(FROM,TO) INTEGER FROM(1),TO(1) INTEGER ATTACH,J1(3),FD,CODE,IFD,OFD,OTYPE,ITYPE INTEGER RNW,JUNK INTEGER BUF(32),ARRAY(2) INTEGER FNAME(16),TNAME(16) INTEGER JUNK1(17) INTEGER GETTO,REMOVE INTEGER STR(102) INTEGER AAAER0 IFD=0 OFD=0 IF((GETTO(FROM,FNAME,J1,ATTACH).NE.-3))GOTO 11153 AAAER0=1 GOTO 11152 11154 CONTINUE 11153 CALL SRCH$$(:1+:40000,:177777,0,FD,JUNK,CODE) IF((CODE.EQ.0))GOTO 11155 AAAER0=2 GOTO 11152 11156 CONTINUE 11155 CALL PTOV(FNAME,160,JUNK1,17) CALL ENT$RD(FD,JUNK1,LOC(BUF),32,CODE) CALL SRCH$$(:4,0,0,FD,0,JUNK) IF((CODE.NE.0))GOTO 11158 IF((RT(BUF(20),8).GE.4))GOTO 11158 GOTO 11157 11158 AAAER0=3 GOTO 11152 11159 CONTINUE 11157 CALL SRCH$$(:1+:40000,FNAME,32,IFD,ITYPE,CODE) IF((CODE.EQ.0))GOTO 11160 AAAER0=4 GOTO 11152 11161 CONTINUE 11160 IF((GETTO(TO,TNAME,J1,ATTACH).NE.-3))GOTO 11162 AAAER0=5 GOTO 11152 11163 CONTINUE 11162 CALL SRCH$$(:3+:40000+LS(ITYPE,10),TNAME,32,OFD,OTYPE,CODE) IF((LT(OTYPE,14).EQ.0))GOTO 11164 AAAER0=6 GOTO 11152 11165 CONTINUE 11164 IF((RT(ITYPE,2).EQ.RT(OTYPE,2)))GOTO 11166 CALL SRCH$$(:4,0,0,OFD,0,CODE) CALL PTOC(TNAME,160,STR,33) IF((REMOVE(STR).NE.-3))GOTO 11167 AAAER0=7 GOTO 11152 11168 CONTINUE 11167 CALL SRCH$$(:3+:40000+LS(ITYPE,10),TNAME,32,OFD,OTYPE,CODE) IF((CODE.EQ.0))GOTO 11171 AAAER0=8 GOTO 11152 11170 CONTINUE 11169 GOTO 11171 11166 IF((RT(OTYPE,2).LT.2))GOTO 11172 CALL RMSEG$(OFD) 11172 CONTINUE 11171 IF((RT(ITYPE,2).LT.2))GOTO 11173 CALL CPSEG$(IFD,OFD,CODE) GOTO 11174 11173 CALL CPFIL$(IFD,OFD,CODE) 11174 IF((CODE.NE.-3))GOTO 11175 AAAER0=9 GOTO 11152 11176 CONTINUE 11175 IF((OTYPE.GE.2))GOTO 11177 CALL PRWF$$(:4,OFD,0,0,INTL(0),RNW,CODE) IF((CODE.EQ.0))GOTO 11178 AAAER0=10 GOTO 11152 11179 CONTINUE 11178 CONTINUE 11177 CALL SRCH$$(:4,0,0,IFD,0,CODE) CALL SRCH$$(:4,0,0,OFD,0,CODE) ARRAY(1)=BUF(18) ARRAY(2)=0 CALL SATR$$(:1,TNAME,32,ARRAY,CODE) ARRAY(1)=BUF(21) ARRAY(2)=BUF(22) CALL SATR$$(:2,TNAME,32,ARRAY,CODE) ARRAY(1)=RT(RS(BUF(20),10),2) ARRAY(2)=0 CALL SATR$$(:4,TNAME,32,ARRAY,CODE) IF((AND(BUF(20),16384).EQ.0))GOTO 11180 CALL SATR$$(:3,TNAME,32,INTL(0),CODE) 11180 FILCPY=-2 RETURN 11152 IF((IFD.EQ.0))GOTO 11181 CALL SRCH$$(:4,0,0,IFD,0,CODE) 11181 IF((OFD.EQ.0))GOTO 11182 CALL SRCH$$(:4,0,0,OFD,0,CODE) 11182 FILCPY=-3 RETURN 11183 GOTO(11154,11156,11159,11161,11163,11165,11168,11170,11176,11179), *AAAER0 GOTO 11183 END SUBROUTINE FILSET(DELIM,ARRAY,I,SET,J,MAXSET) INTEGER I,J,MAXSET INTEGER ARRAY(1),DELIM,SET(MAXSET) INTEGER ESC INTEGER ADDSET,INDEX INTEGER JUNK INTEGER DIGITS(11) INTEGER LOWALF(27) INTEGER UPALF(27) DATA DIGITS/176,177,178,179,180,181,182,183,184,185,0/ DATA LOWALF/225,226,227,228,229,230,231,232,233,234,235,236,237,23 *8,239,240,241,242,243,244,245,246,247,248,249,250,0/ DATA UPALF/193,194,195,196,197,198,199,200,201,202,203,204,205,206 *,207,208,209,210,211,212,213,214,215,216,217,218,0/ GOTO 11186 11184 I=I+(1) 11186 IF((ARRAY(I).EQ.DELIM))GOTO 11185 IF((ARRAY(I).EQ.0))GOTO 11185 IF((ARRAY(I).NE.192))GOTO 11187 JUNK=ADDSET(ESC(ARRAY,I),SET,J,MAXSET) GOTO 11184 11187 IF((ARRAY(I).EQ.173))GOTO 11189 JUNK=ADDSET(ARRAY(I),SET,J,MAXSET) GOTO 11190 11189 IF((J.LE.1))GOTO 11192 IF((ARRAY(I+1).EQ.0))GOTO 11192 GOTO 11191 11192 JUNK=ADDSET(173,SET,J,MAXSET) GOTO 11193 11191 IF((INDEX(DIGITS,SET(J-1)).LE.0))GOTO 11194 CALL DODASH(DIGITS,ARRAY,I,SET,J,MAXSET) GOTO 11195 11194 IF((INDEX(LOWALF,SET(J-1)).LE.0))GOTO 11196 CALL DODASH(LOWALF,ARRAY,I,SET,J,MAXSET) GOTO 11197 11196 IF((INDEX(UPALF,SET(J-1)).LE.0))GOTO 11198 CALL DODASH(UPALF,ARRAY,I,SET,J,MAXSET) GOTO 11199 11198 JUNK=ADDSET(173,SET,J,MAXSET) 11199 CONTINUE 11197 CONTINUE 11195 CONTINUE 11193 CONTINUE 11190 CONTINUE 11188 GOTO 11184 11185 RETURN END INTEGER FUNCTION FILTST(PATH,ZERO,PERMI0,EXISTS,TYPE,READA0,WRITE0 *,DUMPED) INTEGER PATH(180) INTEGER ZERO INTEGER PERMI0 INTEGER EXISTS INTEGER TYPE INTEGER READA0 INTEGER WRITE0 INTEGER DUMPED INTEGER PFD,PPWD(32),PNAME(32),ATTACH,TEMP INTEGER VNAME(17) INTEGER GETTO,OPEN INTEGER CODE,BUF(32),JUNK INTEGER AAAES0 INTEGER AAAET0 IF((GETTO(PATH,PNAME,PPWD,ATTACH).NE.-3))GOTO 11202 FILTST=-3 RETURN 11202 IF((EXISTS.EQ.0))GOTO 11203 CALL SRCH$$(:6,PNAME,32,PFD,TEMP,CODE) IF((CODE.NE.15))GOTO 11206 IF((EXISTS.NE.-1))GOTO 11206 GOTO 11209 11206 IF((CODE.NE.16))GOTO 11207 IF((EXISTS.NE.-1))GOTO 11207 GOTO 11209 11207 IF((CODE.NE.0))GOTO 11204 IF((EXISTS.NE.1))GOTO 11204 GOTO 11209 11204 AAAES0=1 GOTO 11200 11210 CONTINUE 11209 CONTINUE 11203 IF((READA0.EQ.0))GOTO 11211 TEMP=OPEN(PATH,1) IF((TEMP.EQ.-3))GOTO 11212 CALL CLOSE(TEMP) 11212 IF((TEMP.NE.-3))GOTO 11215 IF((READA0.NE.1))GOTO 11215 GOTO 11214 11215 IF((TEMP.EQ.-3))GOTO 11213 IF((READA0.NE.-1))GOTO 11213 GOTO 11214 11214 AAAES0=2 GOTO 11200 11217 CONTINUE 11213 CONTINUE 11211 IF((WRITE0.EQ.0))GOTO 11218 TEMP=OPEN(PATH,2) IF((TEMP.EQ.-3))GOTO 11219 CALL CLOSE(TEMP) 11219 IF((TEMP.NE.-3))GOTO 11222 IF((WRITE0.NE.1))GOTO 11222 GOTO 11221 11222 IF((TEMP.EQ.-3))GOTO 11220 IF((WRITE0.NE.-1))GOTO 11220 GOTO 11221 11221 AAAES0=3 GOTO 11200 11224 CONTINUE 11220 CONTINUE 11218 IF((ZERO.EQ.0))GOTO 11225 CALL SRCH$$(:1+:40000,PNAME,32,PFD,TEMP,CODE) IF((CODE.EQ.0))GOTO 11226 AAAET0=1 GOTO 11201 11227 CONTINUE 11226 CALL PRWF$$(:3+:10,PFD,LOC(TEMP),0,INTL(1),0,CODE) CALL SRCH$$(:4,PNAME,32,PFD,TEMP,JUNK) IF((CODE.NE.0))GOTO 11230 IF((ZERO.NE.-1))GOTO 11230 GOTO 11232 11230 IF((CODE.NE.1))GOTO 11228 IF((ZERO.NE.1))GOTO 11228 GOTO 11232 11228 AAAES0=4 GOTO 11200 11233 CONTINUE 11232 CONTINUE 11225 IF((DUMPED.NE.0))GOTO 11235 IF((PERMI0.NE.0))GOTO 11235 IF((TYPE.NE.0))GOTO 11235 GOTO 11234 11235 CALL SRCH$$(:1+:40000,:177777,0,PFD,TEMP,CODE) IF((CODE.EQ.0))GOTO 11236 AAAET0=2 GOTO 11201 11237 CONTINUE 11236 CALL PTOV(PNAME,160,VNAME,17) CALL ENT$RD(PFD,VNAME,LOC(BUF),32,CODE) CALL SRCH$$(:4,0,0,PFD,TEMP,JUNK) IF((CODE.EQ.0))GOTO 11238 AAAET0=3 GOTO 11201 11239 CONTINUE 11238 IF((PERMI0.EQ.0))GOTO 11240 IF((PERMI0.NE.AND(BUF(18),PERMI0)))GOTO 11241 GOTO 11242 11241 AAAES0=5 GOTO 11200 11243 CONTINUE 11242 CONTINUE 11240 IF((TYPE.EQ.0))GOTO 11244 TEMP=AND(TYPE,:77) IF((TEMP.NE.AND(BUF(20),:77)))GOTO 11245 GOTO 11246 11245 AAAES0=6 GOTO 11200 11247 CONTINUE 11246 CONTINUE 11244 IF((DUMPED.EQ.0))GOTO 11248 IF((DUMPED.NE.-1))GOTO 11251 IF((AND(BUF(20),:40000).NE.0))GOTO 11251 GOTO 11253 11251 IF((DUMPED.NE.1))GOTO 11249 IF((AND(BUF(20),:40000).EQ.0))GOTO 11249 GOTO 11253 11249 AAAES0=7 GOTO 11200 11254 CONTINUE 11253 CONTINUE 11248 CONTINUE 11234 IF((ATTACH.NE.1))GOTO 11255 CALL AT$HOM(CODE) 11255 FILTST=1 RETURN 11200 IF((ATTACH.NE.1))GOTO 11256 CALL AT$HOM(CODE) 11256 FILTST=0 RETURN 11201 IF((ATTACH.NE.1))GOTO 11257 CALL AT$HOM(CODE) 11257 FILTST=-3 RETURN 11258 GOTO(11210,11217,11224,11233,11243,11247,11254),AAAES0 GOTO 11258 11259 GOTO(11227,11237,11239),AAAET0 GOTO 11259 END INTEGER FUNCTION FINDF$(FILE) INTEGER FILE(16) INTEGER JUNK,RC CALL SRCH$$(:6,FILE,32,16,JUNK,RC) IF((RC.NE.15))GOTO 11260 FINDF$=0 GOTO 11261 11260 FINDF$=1 11261 RETURN END INTEGER FUNCTION FINFO$(PATH,ENTRY,ATTACH) INTEGER PATH(1) INTEGER ENTRY(1),ATTACH INTEGER CODE,FD,JUNK(3) INTEGER NAME(16),VNAME(17) INTEGER GETTO FINFO$=-3 IF((GETTO(PATH,NAME,JUNK,ATTACH).NE.-3))GOTO 11262 RETURN 11262 CALL SRCH$$(:1+:40000,:177777,0,FD,JUNK,CODE) IF((CODE.EQ.0))GOTO 11263 RETURN 11263 CALL PTOV(NAME,160,VNAME,17) CALL ENT$RD(FD,VNAME,LOC(ENTRY),32,CODE) CALL SRCH$$(:4,0,0,FD,0,JUNK) IF((CODE.NE.0))GOTO 11264 FINFO$=-2 11264 RETURN END INTEGER FUNCTION FIRST$(FLAG) INTEGER FLAG COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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) 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)) IF((FIRST0.NE.21845))GOTO 11265 FLAG=0 GOTO 11266 11265 FLAG=1 FIRST0=21845 11266 FIRST$=FLAG RETURN END INTEGER FUNCTION FLUSH$(FD) INTEGER FD COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 F,JUNK INTEGER ZEROS0(2) INTEGER AAAEU0 INTEGER AAAEV0 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 ZEROS0/0,0/ IF((FD.LT.1))GOTO 11268 IF((FD.GT.128))GOTO 11268 GOTO 11267 11268 FLUSH$=-3 RETURN 11267 F=FD*16-16+1 IF((FDFLA0(F).EQ.0))GOTO 11270 IF((AND(FDFLA0(F),:004000).NE.0))GOTO 11270 GOTO 11269 11270 FLUSH$=-3 RETURN 11269 ERRCO0=0 CALL BREAK$(1) AAAEU0=FDDEV0(F) GOTO 11271 11272 AAAEV0=AND(FDFLA0(F),:000017) GOTO 11273 11274 IF((FDBCO0(F).EQ.0))GOTO 11275 CALL DPUTL$(ZEROS0,FDESC0(F)) GOTO 11276 11275 IF((AND(FDFLA0(F),:100000).EQ.0))GOTO 11277 FDCOU0(F)=FDCOU0(F)+(1) 11277 CONTINUE 11276 IF((FDCOU0(F)+FDBUH0(F).LE.0))GOTO 11287 CALL PRWF$$(:2,FDUNI0(F),LOC(FDBUF0(FDBUG0(F)+1)),FDCOU0(F)+ *FDBUH0(F),INTL(0),JUNK,ERRCO0) 11278 GOTO 11287 11280 IF((AND(FDFLA0(F),:100000).EQ.0))GOTO 11281 FDCOU0(F)=FDCOU0(F)+(1) 11281 IF((FDCOU0(F).GE.0))GOTO 11287 CALL PRWF$$(:3+:0,FDUNI0(F),INTL(0),0,INTL(FDCOU0(F)),JUNK,E *RRCO0) 11282 GOTO 11287 11283 IF((FDCOU0(F)+FDBUH0(F).EQ.0))GOTO 11287 CALL PRWF$$(:2,FDUNI0(F),LOC(FDBUF0(FDBUG0(F)+1)),FDCOU0(F)+ *FDBUH0(F),INTL(0),JUNK,ERRCO0) 11284 GOTO 11287 11285 IF((FDCOU0(F).GE.0))GOTO 11287 CALL PRWF$$(:3+:0,FDUNI0(F),INTL(0),0,INTL(FDCOU0(F)),JUNK,E *RRCO0) 11286 GOTO 11287 11273 GOTO(11285,11283,11280,11274),AAAEV0 11279 GOTO 11287 11271 IF(AAAEU0.EQ.2)GOTO 11272 11287 FDBUI0(F)=0 FDCOU0(F)=0 FDBCO0(F)=0 FDFLA0(F)=AND(FDFLA0(F),NOT(:100000)) FDFLA0(F)=AND(FDFLA0(F),NOT(:000017))+0 CALL BREAK$(0) IF((ERRCO0.EQ.0))GOTO 11288 FDFLA0(F)=OR(FDFLA0(F),:004000) FLUSH$=-3 RETURN 11288 FLUSH$=-2 RETURN END INTEGER FUNCTION FOLLOW(PATH,SETH) INTEGER PATH(1) INTEGER SETH INTEGER I,SAVEB0(4) INTEGER GETTO,PTOC SHORTCALL MKONU$(18) EXTERNAL BPONU$ COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 ATTAC0 INTEGER PNAME(16),PPWD(3),UNPAC0(40),VPACK(21),I INTEGER AAAEW0 INTEGER AAAEX0(8) INTEGER AAAEY0 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 AAAEX0/13,-15679,-15137,-12095,-11309,-10289,-11580,-23392/ CALL BREAK$(1) DO 11290 I=1,4 SAVEB0(I)=BPLAB0(I) 11290 CONTINUE 11291 CALL MKLB$F($1,BPLAB0) CALL BREAK$(0) CALL MKONU$(AAAEX0,LOC(BPONU$)) IF((PATH(1).NE.0))GOTO 11292 CALL AT$HOM(ERRCO0) GOTO 11293 11292 IF((GETTO(PATH,PNAME,PPWD,ATTAC0).NE.-2))GOTO 11294 I=PTOC(PNAME,160,UNPAC0,33) UNPAC0(I+1)=160 I=I+(2) CALL PTOC(PPWD,160,UNPAC0(I),7) I=1 CALL CTOV(UNPAC0,I,VPACK,21) CALL AT$REL(SETH,VPACK,ERRCO0) GOTO 11295 11294 CONTINUE 1 CALL AT$HOM(I) AAAEW0=1 GOTO 11289 11296 FOLLOW=-3 RETURN 11295 CONTINUE 11293 IF((ERRCO0.NE.0))GOTO 11297 AAAEW0=2 GOTO 11289 11298 FOLLOW=-2 RETURN 11297 CALL AT$HOM(I) AAAEW0=3 GOTO 11289 11299 FOLLOW=-3 RETURN 11289 CALL BREAK$(1) DO 11300 AAAEY0=1,4 BPLAB0(AAAEY0)=SAVEB0(AAAEY0) 11300 CONTINUE 11301 CALL BREAK$(0) GOTO 11302 11302 GOTO(11296,11298,11299),AAAEW0 GOTO 11302 END INTEGER FUNCTION GCDIR$(PATH) INTEGER PATH(1) INTEGER CURDIR(102),DIRNA0(102) INTEGER SIZE,CODE INTEGER MKPA$ CALL GPATH$(:2,0,CURDIR,102,SIZE,CODE) IF((CODE.EQ.0))GOTO 11303 GCDIR$=-3 RETURN 11303 CALL PTOC(CURDIR,0,DIRNA0,SIZE+1) CALL MKPA$(DIRNA0,PATH,0) GCDIR$=-2 RETURN END INTEGER FUNCTION GCIFU$(FUNIT) INTEGER FUNIT COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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) 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)) FUNIT=COMUN0 GCIFU$=FUNIT RETURN END INTEGER FUNCTION GCTOI(STR,I,RADIX) INTEGER STR(1) INTEGER I,RADIX INTEGER BASE,V,D,J INTEGER INDEX INTEGER MAPDN LOGICAL NEG INTEGER DIGITS(17) DATA DIGITS/176,177,178,179,180,181,182,183,184,185,225,226,227,22 *8,229,230,0/ V=0 BASE=RADIX 11304 IF((STR(I).NE.160))GOTO 11305 I=I+(1) GOTO 11304 11305 NEG=(STR(I).EQ.173) IF((STR(I).EQ.171))GOTO 11307 IF((STR(I).EQ.173))GOTO 11307 GOTO 11306 11307 I=I+(1) 11306 IF((STR(I+2).NE.242))GOTO 11310 IF((STR(I).NE.177))GOTO 11310 IF((176.GT.STR(I+1)))GOTO 11310 IF((STR(I+1).GT.185))GOTO 11310 GOTO 11309 11310 IF((STR(I+1).NE.242))GOTO 11318 IF((176.GT.STR(I)))GOTO 11318 IF((STR(I).GT.185))GOTO 11318 GOTO 11309 11309 BASE=STR(I)-176 J=I IF((STR(I+1).EQ.242))GOTO 11312 J=J+(1) BASE=BASE*10+(STR(J)-176) 11312 IF((BASE.LT.2))GOTO 11314 IF((BASE.GT.16))GOTO 11314 GOTO 11313 11314 BASE=RADIX GOTO 11315 11313 I=J+2 11315 CONTINUE 11308 GOTO 11318 11316 I=I+(1) 11318 IF((STR(I).EQ.0))GOTO 11317 IF((176.GT.STR(I)))GOTO 11319 IF((STR(I).GT.185))GOTO 11319 D=STR(I)-176 GOTO 11320 11319 D=INDEX(DIGITS,MAPDN(STR(I)))-1 11320 IF((D.LT.0))GOTO 11317 IF((D.GE.BASE))GOTO 11317 GOTO 11321 11321 V=V*BASE+D GOTO 11316 11317 IF((.NOT.NEG))GOTO 11323 GCTOI=-V RETURN 11323 GCTOI=+V RETURN END INTEGER * 4 FUNCTION GCTOL(STR,I,RADIX) INTEGER STR(1) INTEGER I,RADIX INTEGER * 4 V INTEGER BASE,D,J INTEGER INDEX INTEGER MAPDN LOGICAL NEG INTEGER DIGITS(17) DATA DIGITS/176,177,178,179,180,181,182,183,184,185,225,226,227,22 *8,229,230,0/ V=0 BASE=RADIX 11324 IF((STR(I).NE.160))GOTO 11325 I=I+(1) GOTO 11324 11325 NEG=(STR(I).EQ.173) IF((STR(I).EQ.171))GOTO 11327 IF((STR(I).EQ.173))GOTO 11327 GOTO 11326 11327 I=I+(1) 11326 IF((STR(I+2).NE.242))GOTO 11330 IF((STR(I).NE.177))GOTO 11330 IF((176.GT.STR(I+1)))GOTO 11330 IF((STR(I+1).GT.185))GOTO 11330 GOTO 11329 11330 IF((STR(I+1).NE.242))GOTO 11338 IF((176.GT.STR(I)))GOTO 11338 IF((STR(I).GT.185))GOTO 11338 GOTO 11329 11329 BASE=STR(I)-176 J=I IF((STR(I+1).EQ.242))GOTO 11332 J=J+(1) BASE=BASE*10+(STR(J)-176) 11332 IF((BASE.LT.2))GOTO 11334 IF((BASE.GT.16))GOTO 11334 GOTO 11333 11334 BASE=RADIX GOTO 11335 11333 I=J+2 11335 CONTINUE 11328 GOTO 11338 11336 I=I+(1) 11338 IF((STR(I).EQ.0))GOTO 11337 IF((176.GT.STR(I)))GOTO 11339 IF((STR(I).GT.185))GOTO 11339 D=STR(I)-176 GOTO 11340 11339 D=INDEX(DIGITS,MAPDN(STR(I)))-1 11340 IF((D.LT.0))GOTO 11337 IF((D.GE.BASE))GOTO 11337 GOTO 11341 11341 V=V*BASE+D GOTO 11336 11337 IF((.NOT.NEG))GOTO 11343 GCTOL=-V RETURN 11343 GCTOL=+V RETURN END INTEGER FUNCTION GETA$F(AP,STR,LEN) INTEGER AP,LEN INTEGER STR(1) INTEGER I INTEGER GETARG,CTOP INTEGER ARG(128) I=(LEN+1)/2 GOTO 11346 11344 I=I-(1) 11346 IF((I.LE.0))GOTO 11345 STR(I)=' ' GOTO 11344 11345 IF((GETARG(AP,ARG,128).NE.-1))GOTO 11347 GETA$F=-1 RETURN 11347 I=1 GETA$F=CTOP(ARG,I,STR,LEN/2) RETURN END INTEGER FUNCTION GETA$P(AP,STR,LEN) INTEGER AP,LEN INTEGER STR(1) INTEGER I INTEGER GETARG,CTOP INTEGER ARG(128) I=(LEN+1)/2 GOTO 11350 11348 I=I-(1) 11350 IF((I.LE.0))GOTO 11349 STR(I)=' ' GOTO 11348 11349 IF((GETARG(AP,ARG,128).NE.-1))GOTO 11351 GETA$P=-1 RETURN 11351 I=1 GETA$P=CTOP(ARG,I,STR,LEN/2) RETURN END INTEGER FUNCTION GETARG(ARGP,STR,SIZE) INTEGER ARGP,SIZE INTEGER STR(1) INTEGER P,I COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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) 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)) IF((ARGP.LT.0))GOTO 11353 IF((ARGP.GE.ARGCA0))GOTO 11353 GOTO 11352 11353 STR(1)=0 GETARG=-1 RETURN 11352 P=ARGVA0(ARGP+1) I=1 GOTO 11356 11354 I=I+(1) 11356 IF((I.GE.SIZE))GOTO 11355 11357 IF((LSREF0(P).LT.300))GOTO 11358 P=LSREF0(P)-300 GOTO 11357 11358 IF((LSREF0(P).NE.0))GOTO 11359 GOTO 11355 11359 STR(I)=LSREF0(P) P=P+(1) GOTO 11354 11355 STR(I)=0 GETARG=I-1 RETURN END INTEGER FUNCTION GETCCL(ARG,I,PAT,J) INTEGER ARG(128),PAT(256) INTEGER I,J INTEGER ADDSET INTEGER JSTART,JUNK I=I+(1) IF((ARG(I).NE.254))GOTO 11360 JUNK=ADDSET(238,PAT,J,256) I=I+(1) GOTO 11361 11360 JUNK=ADDSET(219,PAT,J,256) 11361 JSTART=J JUNK=ADDSET(0,PAT,J,256) CALL FILSET(221,ARG,I,PAT,J,256) PAT(JSTART)=J-JSTART-1 IF((ARG(I).NE.221))GOTO 11362 GETCCL=-2 GOTO 11363 11362 GETCCL=-3 11363 RETURN END INTEGER FUNCTION GETCH(C,FD) INTEGER C INTEGER FD INTEGER BUF(2) INTEGER GETLIN C=GETLIN(BUF,FD,2) IF((C.EQ.-1))GOTO 11364 C=BUF(1) 11364 GETCH=C RETURN END INTEGER FUNCTION GETFD$(FD) INTEGER FD COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 LIMIT INTEGER AAAFB0 INTEGER AAAEZ0,AAAFA0 INTEGER AAAFC0 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)) LIMIT=((LOC(FDMEM0)/1024*1024+1024)-LOC(FDMEM0))/16 AAAEZ0=FDLAS0 AAAFA0=LIMIT AAAFB0=1 GOTO 11365 11366 AAAEZ0=FDLAS0 AAAFA0=128 AAAFB0=2 GOTO 11365 11367 GETFD$=-3 RETURN 11365 IF((AAAEZ0.LT.1))GOTO 11369 IF((AAAEZ0.GT.AAAFA0))GOTO 11369 GOTO 11368 11369 AAAEZ0=1 11368 IF((AAAEZ0.LT.AAAFA0))GOTO 11370 AAAFC0=1 GOTO 11371 11370 AAAFC0=AAAEZ0+1 11371 CONTINUE 11372 IF((FDFLA0(AAAFC0*16-16+1).EQ.0))GOTO 11373 IF((AAAFC0.EQ.AAAFA0))GOTO 11373 IF((AAAFC0.LT.AAAFA0))GOTO 11374 AAAFC0=1 GOTO 11372 11374 AAAFC0=AAAFC0+(1) 11375 GOTO 11372 11373 IF((AAAFC0.EQ.AAAFA0))GOTO 11377 FDLAS0=AAAFC0 FD=AAAFC0 GETFD$=AAAFC0 RETURN 11377 GOTO(11366,11367),AAAFB0 GOTO 11377 END INTEGER FUNCTION GETKWD(KEYWD,VALUE,LENGTH,DEFALT) INTEGER KEYWD(1),VALUE(1),DEFALT(1) INTEGER LENGTH INTEGER I,J INTEGER EQUAL,GETARG INTEGER ARG(128) I=1 GOTO 11380 11378 I=I+(1) 11380 IF((GETARG(I,ARG,128).EQ.-1))GOTO 11379 IF((EQUAL(KEYWD,ARG).NE.1))GOTO 11378 GETKWD=GETARG(I+1,VALUE,LENGTH) IF((GETKWD.NE.-1))GOTO 11382 GOTO 11379 11382 RETURN 11379 J=1 GOTO 11385 11383 J=J+(1) 11385 IF((J.GE.LENGTH))GOTO 11384 IF((DEFALT(J).EQ.0))GOTO 11384 VALUE(J)=DEFALT(J) GOTO 11383 11384 VALUE(J)=0 GETKWD=J-1 RETURN END INTEGER FUNCTION GETLIN(LINE,FD,XMAX) INTEGER LINE(1) INTEGER FD,XMAX COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 OFF,MAX,F INTEGER TGETL$,DGETL$,MAPSU LOGICAL MISSIN INTEGER AAAFD0 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)) F=MAPSU(FD) OFF=F*16-16+1 IF((F.LT.1))GOTO 11387 IF((F.GT.128))GOTO 11387 IF((AND(FDFLA0(OFF),:040000).EQ.0))GOTO 11387 IF((AND(FDFLA0(OFF),:004000).NE.0))GOTO 11387 GOTO 11386 11387 LINE(1)=0 GETLIN=-1 RETURN 11386 IF((.NOT.MISSIN(XMAX)))GOTO 11388 MAX=102 GOTO 11389 11388 MAX=XMAX 11389 IF((MAX.GT.1))GOTO 11390 LINE(1)=0 GETLIN=0 RETURN 11390 IF((AND(FDFLA0(OFF),:000017).EQ.3))GOTO 11391 CALL FLUSH$(F) FDFLA0(OFF)=AND(FDFLA0(OFF),NOT(:000017))+3 11391 AAAFD0=FDDEV0(OFF) GOTO 11392 11393 GETLIN=TGETL$(LINE,MAX,OFF) GOTO 11394 11395 GETLIN=DGETL$(LINE,MAX,FDESC0(OFF)) GOTO 11394 11396 GETLIN=0 GOTO 11394 11392 GOTO(11393,11395,11396),AAAFD0 GETLIN=0 11394 IF((GETLIN.NE.0))GOTO 11397 LINE(1)=0 GETLIN=-1 RETURN 11397 RETURN END INTEGER FUNCTION GETTO(PATHIN,PFILE0,PPWD,ATTAC0) INTEGER PATHIN(1) INTEGER PFILE0(16),PPWD(3) INTEGER ATTAC0 COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 EXPAND,MKTR$ INTEGER DIRNA0(256),TEMP(180) INTEGER FULLT0(256),DISKN0(17) INTEGER COUNT,LOOP,SP,TP,J,SAVEB0(4) SHORTCALL MKONU$(18) EXTERNAL BPONU$ INTEGER AAAFE0 INTEGER AAAFF0 INTEGER AAAFG0 INTEGER AAAFH0 INTEGER AAAFI0(8) INTEGER AAAFJ0(11) INTEGER AAAFK0(2) INTEGER AAAFL0(6) INTEGER AAAFM0 INTEGER AAAFN0,AAAFO0 INTEGER AAAFP0 INTEGER AAAFQ0 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 AAAFI0/13,-15679,-15137,-12095,-11309,-10289,-11580,-23392/ DATA AAAFJ0/205,198,196,160,216,216,216,216,216,216,0/ DATA AAAFK0/1,-21856/ DATA AAAFL0/10,-12858,-15200,-10024,-10024,-10024/ CALL BREAK$(1) DO 11402 J=1,4 SAVEB0(J)=BPLAB0(J) 11402 CONTINUE 11403 CALL MKLB$F($1,BPLAB0) CALL BREAK$(0) CALL MKONU$(AAAFI0,LOC(BPONU$)) ATTAC0=1 IF((EXPAND(PATHIN,TEMP,180).NE.-3))GOTO 11404 ATTAC0=0 AAAFH0=1 GOTO 11401 11405 GETTO=-3 RETURN 11404 CALL MKTR$(TEMP,FULLT0) CALL MAPSTR(FULLT0,2) IF((PATHIN(1).NE.0))GOTO 11406 CALL AT$HOM(ERRCO0) AAAFE0=1 GOTO 11398 11407 TP=1 AAAFG0=1 GOTO 11400 11408 PFILE0(1)=:177777 ATTAC0=0 AAAFH0=2 GOTO 11401 11409 GETTO=-2 RETURN 11406 COUNT=0 LOOP=1 GOTO 11412 11410 LOOP=LOOP+(1) 11412 IF((FULLT0(LOOP).EQ.0))GOTO 11411 IF((FULLT0(LOOP).NE.190))GOTO 11410 COUNT=COUNT+(1) 11413 GOTO 11410 11411 IF((FULLT0(1).EQ.170))GOTO 11414 COUNT=COUNT+(1) 11414 LOOP=1 11415 IF((LOOP.EQ.1))GOTO 11416 AAAFF0=1 GOTO 11399 11417 CALL AT$REL(:0,DIRNA0,ERRCO0) GOTO 11418 11416 IF((FULLT0(1).NE.188))GOTO 11419 TP=1 GOTO 11422 11420 TP=TP+(1) 11422 IF((FULLT0(TP).EQ.190))GOTO 11421 TEMP(TP)=FULLT0(TP) GOTO 11420 11421 TP=TP+(1) IF((COUNT.NE.1))GOTO 11423 AAAFG0=2 GOTO 11400 11424 CONTINUE 11423 TEMP(TP-1)=190 CALL CTOC(AAAFJ0,TEMP(TP),180) SP=1 CALL CTOV(TEMP,SP,DIRNA0,256) CALL AT$(:0,DIRNA0,ERRCO0) GOTO 11425 11419 IF((FULLT0(1).NE.170))GOTO 11426 TP=3 IF((COUNT.NE.1))GOTO 11427 ATTAC0=0 AAAFG0=3 GOTO 11400 11428 AAAFH0=3 GOTO 11401 11429 GETTO=-2 RETURN 11427 AAAFF0=2 GOTO 11399 11430 CALL AT$REL(:0,DIRNA0,ERRCO0) GOTO 11431 11426 TP=1 IF((COUNT.NE.1))GOTO 11432 AAAFG0=4 GOTO 11400 11433 CONTINUE 11432 AAAFF0=3 GOTO 11399 11434 CALL AT$ANY(:0,DIRNA0,ERRCO0) IF((COUNT.NE.1))GOTO 11435 AAAFE0=2 GOTO 11398 11436 CALL AT$ABS(:0,AAAFK0,AAAFL0,ERRCO0) AAAFE0=3 GOTO 11398 11437 AAAFH0=4 GOTO 11401 11438 GETTO=-2 RETURN 11435 CONTINUE 11431 CONTINUE 11425 CONTINUE 11418 AAAFE0=4 GOTO 11398 11439 LOOP=LOOP+(1) IF((LOOP.LT.COUNT))GOTO 11415 AAAFG0=5 GOTO 11400 11440 AAAFH0=5 GOTO 11401 11441 GETTO=-2 RETURN 1 CONTINUE ERRCO0=24 AAAFE0=5 GOTO 11398 11398 IF((ERRCO0.EQ.0))GOTO 11446 CALL AT$HOM(AAAFM0) ATTAC0=0 AAAFH0=6 GOTO 11401 11445 GETTO=-3 RETURN 11399 AAAFN0=1 GOTO 11450 11448 AAAFN0=AAAFN0+(1) TP=TP+(1) 11450 IF((FULLT0(TP).EQ.190))GOTO 11449 IF((FULLT0(TP).EQ.0))GOTO 11449 TEMP(AAAFN0)=FULLT0(TP) GOTO 11448 11449 TEMP(AAAFN0)=0 TP=TP+(1) AAAFO0=1 CALL CTOV(TEMP,AAAFO0,DIRNA0,21) IF((AAAFN0.LE.40))GOTO 11453 ERRCO0=57 AAAFE0=6 GOTO 11398 11452 CONTINUE 11451 GOTO 11453 11400 DO 11455 AAAFP0=1,3 PPWD(AAAFP0)=' ' 11455 CONTINUE 11456 DO 11457 AAAFP0=1,16 PFILE0(AAAFP0)=' ' 11457 CONTINUE 11458 J=0 AAAFP0=TP GOTO 11461 11459 AAAFP0=AAAFP0+(1) 11461 IF((FULLT0(AAAFP0).EQ.0))GOTO 11460 IF((FULLT0(AAAFP0).EQ.160))GOTO 11460 IF((J.GT.32))GOTO 11460 IF((AND(J,1).NE.0))GOTO 11462 PFILE0(RS(J,1)+1)=XOR(LS(FULLT0(AAAFP0),8),RT(PFILE0(RS(J,1)+1 *),8)) GOTO 11463 11462 PFILE0(RS(J,1)+1)=XOR(LT(PFILE0(RS(J,1)+1),8),FULLT0(AAAFP0)) 11463 J=J+(1) GOTO 11459 11460 IF((FULLT0(AAAFP0).EQ.0))GOTO 11470 J=0 AAAFP0=AAAFP0+(1) GOTO 11467 11465 AAAFP0=AAAFP0+(1) 11467 IF((FULLT0(AAAFP0).EQ.0))GOTO 11466 IF((J.GT.6))GOTO 11466 IF((AND(J,1).NE.0))GOTO 11468 PPWD(RS(J,1)+1)=XOR(LS(FULLT0(AAAFP0),8),RT(PPWD(RS(J,1)+1), *8)) GOTO 11469 11468 PPWD(RS(J,1)+1)=XOR(LT(PPWD(RS(J,1)+1),8),FULLT0(AAAFP0)) 11469 J=J+(1) GOTO 11465 11466 CONTINUE 11464 GOTO 11470 11401 CALL BREAK$(1) DO 11472 AAAFQ0=1,4 BPLAB0(AAAFQ0)=SAVEB0(AAAFQ0) 11472 CONTINUE 11473 CALL BREAK$(0) GOTO 11474 11471 CONTINUE 11446 GOTO(11407,11436,11437,11439,11471,11452),AAAFE0 GOTO 11446 11470 GOTO(11408,11424,11428,11433,11440),AAAFG0 GOTO 11470 11474 GOTO(11405,11409,11429,11438,11441,11445),AAAFH0 GOTO 11474 11453 GOTO(11417,11430,11434),AAAFF0 GOTO 11453 END SUBROUTINE GETVDN(FN,PN,UN) INTEGER FN(1),PN(1),UN(1) INTEGER I INTEGER LENGTH,EQUAL,CTOC,SCOPY INTEGER NAME(102) LOGICAL MISSIN COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 AAAFR0(8) 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 AAAFR0/189,246,225,242,243,189,175,0/ I=CTOC(AAAFR0,PN,102) CALL DATE(3,NAME) IF(MISSIN(UN))GOTO 11476 IF((EQUAL(UN,NAME).EQ.1))GOTO 11476 GOTO 11475 11476 I=I+(SCOPY(NAME,1,PN,I+1)) IF((LENGTH(PASSW0).EQ.0))GOTO 11478 PN(I+1)=186 I=I+(SCOPY(PASSW0,1,PN,I+2)+1) 11477 GOTO 11478 11475 I=I+(SCOPY(UN,1,PN,I+1)) 11478 PN(I+1)=175 CALL SCOPY(FN,1,PN,I+2) RETURN END INTEGER FUNCTION GETWRD(IN,I,OUT) INTEGER IN(1),OUT(1) INTEGER I,J 11479 IF((IN(I).NE.160))GOTO 11480 I=I+(1) GOTO 11479 11480 J=1 GOTO 11483 11481 I=I+(1) J=J+(1) 11483 IF((IN(I).EQ.0))GOTO 11482 IF((IN(I).EQ.160))GOTO 11482 IF((IN(I).EQ.138))GOTO 11482 OUT(J)=IN(I) GOTO 11481 11482 OUT(J)=0 GETWRD=J-1 RETURN END INTEGER FUNCTION GFDATA(KEY,XPATH,INFOB0,ATTAC0,AUXIL) INTEGER KEY,ATTAC0 INTEGER XPATH(1) INTEGER INFOB0(1),AUXIL(1) COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 ECW,FNAME,PROTE0,TYPEB0,DATE,TIME INTEGER ENTRD0(32) INTEGER VNAME(17),NAME(16) INTEGER JUNK(180),JUNK2(180),VTREE(129),PPWD(3) INTEGER I,J,PATHN0(180) INTEGER * 4 FSIZE,QBUF(8) LOGICAL NAMEQ$ INTEGER * 4 SZFIL$ INTEGER GETTO,GTACL$,MKSACL,INDEX,EQUAL,MAPDN,EXPAND INTEGER AAAFS0 INTEGER AAAFT0 INTEGER AAAFU0 INTEGER AAAFV0 INTEGER AAAFW0 INTEGER AAAFX0 INTEGER AAAFY0 INTEGER AAAFZ0 INTEGER AAAGA0(4) INTEGER AAAGB0(4) INTEGER AAAGC0(4) INTEGER AAAGD0(4) INTEGER AAAGE0 INTEGER AAAGF0(2) INTEGER AAAGG0(2) INTEGER AAAGH0,AAAGI0,AAAGJ0 INTEGER AAAGK0,AAAGL0,AAAGM0 INTEGER AAAGN0,AAAGO0,AAAGP0 INTEGER AAAGQ0(5) INTEGER AAAGR0(4) INTEGER AAAGS0(5) INTEGER AAAGT0(7) INTEGER AAAGU0(7) INTEGER AAAGV0 INTEGER AAAGW0(4) INTEGER AAAGX0(4) INTEGER AAAGY0(4) INTEGER AAAGZ0(4) INTEGER AAAHA0(4) INTEGER AAAHB0 INTEGER AAAHC0 INTEGER AAAHD0 INTEGER AAAHE0 INTEGER AAAHF0 INTEGER ACCES0(8) INTEGER AAAHG0(3) INTEGER AAAHH0(4) INTEGER AAAHI0(5) INTEGER AAAHJ0(5) INTEGER AAAHK0(6) 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)) EQUIVALENCE (ECW,ENTRD0),(FNAME,ENTRD0(2)) EQUIVALENCE (PROTE0,ENTRD0(18)),(TYPEB0,ENTRD0(20)) EQUIVALENCE (DATE,ENTRD0(21)),(TIME,ENTRD0(22)) EQUIVALENCE (VNAME(2),NAME) DATA AAAGA0/243,249,243,0/ DATA AAAGB0/238,173,177,0/ DATA AAAGC0/238,171,177,0/ DATA AAAGD0/238,171,238,0/ DATA AAAGF0/160,0/ DATA AAAGG0/160,0/ DATA AAAGQ0/225,227,225,244,0/ DATA AAAGR0/237,230,228,0/ DATA AAAGS0/226,239,239,244,0/ DATA AAAGT0/226,225,228,243,240,244,0/ DATA AAAGU0/228,243,235,242,225,244,0/ DATA AAAGW0/243,225,237,0/ DATA AAAGX0/228,225,237,0/ DATA AAAGY0/243,231,243,0/ DATA AAAGZ0/243,231,228,0/ DATA AAAHA0/245,230,228,0/ DATA ACCES0/193,196,204,208,210,213,215,0/ DATA AAAHG0/3,-15924,-13152/ DATA AAAHH0/193,204,204,0/ DATA AAAHI0/164,225,236,236,0/ DATA AAAHJ0/206,207,206,197,0/ DATA AAAHK0/164,238,239,238,229,0/ ATTAC0=0 ERRCO0=0 IF((EXPAND(XPATH,PATHN0,180).NE.-3))GOTO 11490 GFDATA=-3 RETURN 11490 AAAFY0=KEY GOTO 11491 11492 AAAFX0=1 GOTO 11489 11493 CALL Q$READ(VTREE,INFOB0,6,I,ERRCO0) IF((I.NE.0))GOTO 11494 AUXIL(1)=1 GOTO 11496 11494 AUXIL(1)=0 GFDATA=-3 RETURN 11497 AAAFT0=1 GOTO 11485 11498 CALL MOVE$(ENTRD0,INFOB0,32) GOTO 11496 11499 AAAFT0=2 GOTO 11485 11500 AAAFU0=1 GOTO 11486 11502 AAAFT0=3 GOTO 11485 11503 IF((AND(16384,TYPEB0).EQ.0))GOTO 11504 INFOB0(1)=1 GOTO 11505 11504 INFOB0(1)=0 11505 IF((AND(8192,TYPEB0).EQ.0))GOTO 11506 INFOB0(2)=1 GOTO 11496 11506 INFOB0(2)=0 11507 GOTO 11496 11508 AAAFT0=4 GOTO 11485 11509 I=AND(3,RS(TYPEB0,10)) AAAFZ0=I GOTO 11510 11511 CALL CTOC(AAAGA0,INFOB0,7) GOTO 11496 11513 CALL CTOC(AAAGB0,INFOB0,7) GOTO 11496 11514 CALL CTOC(AAAGC0,INFOB0,7) GOTO 11496 11515 CALL CTOC(AAAGD0,INFOB0,7) GOTO 11496 11510 AAAGE0=AAAFZ0+1 GOTO(11511,11513,11514,11515),AAAGE0 11512 GOTO 11496 11516 AAAFT0=5 GOTO 11485 11517 INFOB0(1)=AND(127,RS(DATE,9)) INFOB0(2)=AND(15,RS(DATE,5)) INFOB0(3)=AND(31,DATE) INFOB0(6)=MOD(TIME,15)*4 I=TIME/15 INFOB0(5)=MOD(I,60) INFOB0(4)=I/60 GOTO 11496 11518 IF((GTACL$(PATHN0,1,ATTAC0).NE.-3))GOTO 11519 GFDATA=-3 RETURN 11519 IF((MKSACL(AUXIL(2),INFOB0,AUXIL(1),AAAGF0).NE.-3))GOTO 11520 GFDATA=-3 RETURN 11520 CONTINUE GOTO 11496 11521 AAAFW0=1 GOTO 11488 11523 IF((GTACL$(PATHN0,2,ATTAC0).NE.-3))GOTO 11524 GFDATA=-3 RETURN 11524 IF((MKSACL(JUNK,INFOB0,JUNK,AAAGG0).NE.-3))GOTO 11525 GFDATA=-3 RETURN 11525 CONTINUE GOTO 11496 11526 AAAFT0=6 GOTO 11485 11527 IF((AND(PROTE0,128).EQ.0))GOTO 11528 INFOB0(1)=1 GOTO 11496 11528 INFOB0(1)=0 11529 GOTO 11496 11530 AAAFT0=7 GOTO 11485 11531 IF((RS(ECW,8).NE.3))GOTO 11532 GFDATA=-3 RETURN 11532 AAAFV0=1 GOTO 11487 11533 CONTINUE GOTO 11496 11534 AAAFT0=8 GOTO 11485 11535 AAAFS0=1 GOTO 11484 11537 IF((GETTO(PATHN0,NAME,PPWD,ATTAC0).NE.-3))GOTO 11538 GFDATA=-3 RETURN 11538 CALL GPAS$$(NAME,32,PPWD,JUNK,ERRCO0) IF((ERRCO0.EQ.0))GOTO 11539 GFDATA=-3 RETURN 11539 CALL PTOC(PPWD,0,INFOB0,7) CALL PTOC(JUNK,0,AUXIL,7) GOTO 11496 11496 IF((ATTAC0.NE.1))GOTO 11540 CALL AT$HOM(I) 11540 IF((ERRCO0.NE.0))GOTO 11541 GFDATA=-2 RETURN 11541 GFDATA=-3 RETURN 11491 GOTO(11492,11499,11502,11508,11516,11518,11521,11523,11526,11530, * 11542,11542,11542,11542,11542,11542,11542,11542,11542,11497, * 11542,11542,11542,11542,11542,11542,11542,11542,11542,11542, * 11542,11542,11542,11542,11542,11542,11542,11542,11542,11542, * 11542,11542,11542,11542,11542,11542,11542,11542,11542,11534,11537 *),AAAFY0 11542 GFDATA=-3 RETURN 11484 AAAGJ0=1 AAAGI0=1 GOTO 11545 11543 AAAGI0=AAAGI0+(1) 11545 IF((AAAGI0.GE.3))GOTO 11544 IF((AAAGI0.NE.1))GOTO 11546 AAAGH0=RS(PROTE0,8) GOTO 11547 11546 AAAGH0=RT(PROTE0,8) INFOB0(AAAGJ0)=175 AAAGJ0=AAAGJ0+(1) 11547 IF((AAAGH0.NE.7))GOTO 11548 INFOB0(AAAGJ0)=225 AAAGJ0=AAAGJ0+(1) GOTO 11543 11548 IF((AND(AAAGH0,4).EQ.0))GOTO 11550 INFOB0(AAAGJ0)=228 AAAGJ0=AAAGJ0+(1) 11550 IF((AND(AAAGH0,2).EQ.0))GOTO 11551 INFOB0(AAAGJ0)=247 AAAGJ0=AAAGJ0+(1) 11551 IF((AND(AAAGH0,1).EQ.0))GOTO 11552 INFOB0(AAAGJ0)=242 AAAGJ0=AAAGJ0+(1) 11552 CONTINUE 11549 GOTO 11543 11544 INFOB0(AAAGJ0)=0 AAAGJ0=AAAGJ0+(1) GOTO 11496 11485 IF((GETTO(PATHN0,NAME,PPWD,ATTAC0).NE.-3))GOTO 11554 GFDATA=-3 RETURN 11554 CALL SRCH$$(:1+:40000,:177777,0,AAAGL0,AAAGK0,ERRCO0) IF((ERRCO0.EQ.0))GOTO 11555 GFDATA=-3 RETURN 11555 VNAME(1)=0 AAAGM0=1 GOTO 11558 11556 AAAGM0=AAAGM0+(1) 11558 IF((VNAME(1).NE.0))GOTO 11557 IF((AAAGM0.GE.33))GOTO 11557 IF((RT(RS(NAME((AAAGM0+1)/2),8*RT(AAAGM0,1)),8).NE.160))GOTO * 11556 VNAME(1)=AAAGM0-1 11559 GOTO 11556 11557 CALL ENT$RD(AAAGL0,VNAME,LOC(ENTRD0),32,ERRCO0) CALL SRCH$$(:4,0,0,AAAGL0,AAAGK0,AAAGK0) IF((ERRCO0.EQ.0))GOTO 11561 GFDATA=-3 RETURN 11486 IF((RS(ECW,8).NE.3))GOTO 11562 CALL CTOC(AAAGQ0,INFOB0,7) GOTO 11496 11562 AAAGO0=AND(8,TYPEB0) AAAGP0=AND(4096,TYPEB0) IF((AAAGP0.EQ.0))GOTO 11564 IF((AAAGO0.NE.4))GOTO 11565 CALL CTOC(AAAGR0,INFOB0,7) GOTO 11571 11565 IF((.NOT.NAMEQ$(FNAME,32,'BOOT',4)))GOTO 11567 CALL CTOC(AAAGS0,INFOB0,7) GOTO 11568 11567 IF((.NOT.NAMEQ$(FNAME,32,'BADSPT',6)))GOTO 11569 CALL CTOC(AAAGT0,INFOB0,7) GOTO 11570 11569 CALL CTOC(AAAGU0,INFOB0,7) 11570 CONTINUE 11568 CONTINUE 11566 GOTO 11571 11564 AAAGV0=AAAGO0 GOTO 11572 11573 CALL CTOC(AAAGW0,INFOB0,7) GOTO 11574 11575 CALL CTOC(AAAGX0,INFOB0,7) GOTO 11574 11576 CALL CTOC(AAAGY0,INFOB0,7) GOTO 11574 11577 CALL CTOC(AAAGZ0,INFOB0,7) GOTO 11574 11578 CALL CTOC(AAAHA0,INFOB0,7) GOTO 11574 11572 AAAHB0=AAAGV0+1 GOTO(11573,11575,11576,11577,11578),AAAHB0 GFDATA=-3 RETURN 11574 CONTINUE 11571 CONTINUE 11563 GOTO 11496 11487 AAAHC0=RT(TYPEB0,8) GOTO 11580 11581 CALL SRCH$$(:1+:40000,NAME,32,I,J,ERRCO0) IF((ERRCO0.EQ.0))GOTO 11582 GFDATA=-3 RETURN 11582 FSIZE=SZFIL$(I) CALL SRCH$$(:4,NAME,32,I,J,J) IF((FSIZE.NE.-3))GOTO 11583 GFDATA=-3 RETURN 11583 CALL MOVE$(FSIZE,INFOB0,2) GOTO 11533 11585 CALL SRCH$$(:1+:40000,NAME,32,I,J,ERRCO0) IF((ERRCO0.EQ.0))GOTO 11586 GFDATA=-3 RETURN 11586 CALL SZSEG$(FSIZE,I) CALL SRCH$$(:4,NAME,32,I,J,J) IF((FSIZE.NE.-3))GOTO 11587 GFDATA=-3 RETURN 11587 CALL MOVE$(FSIZE,INFOB0,2) GOTO 11533 11588 AAAFX0=2 GOTO 11489 11589 CALL Q$READ(VTREE,QBUF,6,I,ERRCO0) IF((ERRCO0.EQ.0))GOTO 11590 GFDATA=-3 RETURN 11590 CALL MOVE$(QBUF(1),AUXIL,2) CALL MOVE$(QBUF(4),INFOB0,2) GOTO 11533 11580 AAAHD0=AAAHC0+1 GOTO(11581,11581,11585,11585,11588),AAAHD0 GFDATA=-3 RETURN 11489 CALL MKTR$(PATHN0,JUNK) AAAHE0=1 CALL CTOV(JUNK,AAAHE0,VTREE,129) IF((GETTO(PATHN0,NAME,PPWD,ATTAC0).NE.-3))GOTO 11593 GFDATA=-3 RETURN 11488 AAAFX0=3 GOTO 11489 11594 AAAHF0=1 CALL CTOV(AUXIL,AAAHF0,JUNK(2),180-2) JUNK(1)=2 JUNK(19)=0 CALL CALAC$(VTREE,LOC(JUNK),AAAHG0,JUNK2,ERRCO0) IF((ERRCO0.EQ.0))GOTO 11595 GFDATA=-3 RETURN 11595 CALL VTOC(JUNK2,JUNK,102) IF((EQUAL(JUNK,AAAHH0).NE.1))GOTO 11596 CALL CTOC(AAAHI0,INFOB0,8) GOTO 11496 11596 IF((EQUAL(JUNK,AAAHJ0).NE.1))GOTO 11598 CALL CTOC(AAAHK0,INFOB0,8) GOTO 11599 11598 AAAHF0=1 J=1 GOTO 11602 11600 J=J+(1) 11602 IF((ACCES0(J).EQ.0))GOTO 11601 IF((INDEX(JUNK,ACCES0(J)).EQ.0))GOTO 11600 INFOB0(AAAHF0)=MAPDN(ACCES0(J)) AAAHF0=AAAHF0+(1) 11603 GOTO 11600 11601 INFOB0(AAAHF0)=0 11599 CONTINUE 11597 GOTO 11496 11561 GOTO(11498,11500,11503,11509,11517,11527,11531,11535),AAAFT0 GOTO 11561 11593 GOTO(11493,11589,11594),AAAFX0 GOTO 11593 END INTEGER FUNCTION GFNAM$(FD,PATH,SIZE) INTEGER FD INTEGER PATH(1) INTEGER SIZE COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 F INTEGER MAPSU INTEGER OFF,CODE,LEN,BUF(180) INTEGER MKPA$,CTOC INTEGER NAME(180) INTEGER AAAHL0 INTEGER AAAHM0(9) INTEGER AAAHN0(10) 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 AAAHM0/175,228,229,246,175,244,244,249,0/ DATA AAAHN0/175,228,229,246,175,238,245,236,236,0/ PATH(1)=0 F=MAPSU(FD) OFF=F*16-16+1 IF((F.LT.1))GOTO 11606 IF((F.GT.128))GOTO 11606 IF((FDFLA0(OFF).EQ.0))GOTO 11606 GOTO 11605 11606 GFNAM$=-3 RETURN 11605 AAAHL0=FDDEV0(OFF) GOTO 11607 11608 GFNAM$=CTOC(AAAHM0,PATH,SIZE) RETURN 11609 GFNAM$=CTOC(AAAHN0,PATH,SIZE) RETURN 11610 CALL GPATH$(:1,FDUNI0(OFF),BUF,180,LEN,CODE) IF((CODE.NE.0))GOTO 11611 CALL PTOC(BUF,0,NAME,MIN0(SIZE,LEN+1)) GFNAM$=MKPA$(NAME,PATH,0) RETURN 11611 PATH(1)=0 GFNAM$=-3 RETURN 11607 GOTO(11608,11610,11609),AAAHL0 GFNAM$=-3 RETURN END INTEGER FUNCTION GFNARG(NAME,STATE) INTEGER NAME(180) INTEGER STATE(4) INTEGER L INTEGER GETARG,OPEN,GETLIN INTEGER IN1(12) INTEGER IN2(12) INTEGER IN3(12) INTEGER AAAHO0 INTEGER AAAHP0 DATA IN1/175,228,229,246,175,243,244,228,233,238,177,0/ DATA IN2/175,228,229,246,175,243,244,228,233,238,178,0/ DATA IN3/175,228,229,246,175,243,244,228,233,238,179,0/ 11613 AAAHP0=STATE(1) GOTO 11614 11615 STATE(1)=2 STATE(2)=1 STATE(3)=-3 STATE(4)=0 GOTO 11616 11617 IF((GETARG(STATE(2),NAME,128).EQ.-1))GOTO 11618 STATE(1)=2 STATE(2)=STATE(2)+(1) AAAHO0=1 GOTO 11628 11618 STATE(1)=4 11620 GOTO 11616 11621 L=GETLIN(NAME,STATE(3)) IF((L.EQ.-1))GOTO 11622 NAME(L)=0 GFNARG=-2 RETURN 11622 IF((STATE(3).LE.0))GOTO 11623 CALL CLOSE(STATE(3)) 11623 STATE(1)=2 GOTO 11616 11624 STATE(1)=5 IF((STATE(4).NE.0))GOTO 11626 CALL SCOPY(IN1,1,NAME,1) GFNARG=-2 RETURN 11614 GOTO(11615,11617,11621,11624,11626),AAAHP0 CALL ERROR('in gfnarg: bad state (1) value.') 11616 CONTINUE GOTO 11613 11626 NAME(1)=0 GFNARG=-1 RETURN 11629 STATE(4)=STATE(4)+(1) GFNARG=-2 RETURN 11630 CALL SCOPY(IN1,1,NAME,1) STATE(4)=STATE(4)+(1) GFNARG=-2 RETURN 11631 CALL SCOPY(IN1,1,NAME,1) STATE(4)=STATE(4)+(1) GFNARG=-2 RETURN 11632 CALL SCOPY(IN2,1,NAME,1) STATE(4)=STATE(4)+(1) GFNARG=-2 RETURN 11633 CALL SCOPY(IN3,1,NAME,1) STATE(4)=STATE(4)+(1) GFNARG=-2 RETURN 11634 STATE(1)=3 STATE(4)=STATE(4)+(1) GOTO 11635 11636 STATE(3)=-10 GOTO 11616 11638 STATE(3)=-10 GOTO 11616 11639 STATE(3)=-12 GOTO 11616 11640 STATE(3)=-14 GOTO 11616 11635 IF((NAME(3).EQ.0))GOTO 11636 IF((NAME(3).NE.177))GOTO 11641 IF((NAME(4).NE.0))GOTO 11641 GOTO 11638 11641 IF((NAME(3).NE.178))GOTO 11642 IF((NAME(4).NE.0))GOTO 11642 GOTO 11639 11642 IF((NAME(3).NE.179))GOTO 11643 IF((NAME(4).NE.0))GOTO 11643 GOTO 11640 11643 CONTINUE STATE(3)=OPEN(NAME(3),1) IF((STATE(3).NE.-3))GOTO 11644 CALL PRINT(-15,'*s: can''t open*n.',NAME) STATE(1)=2 11644 CONTINUE 11637 GOTO 11616 11628 IF((NAME(1).NE.173))GOTO 11629 IF((NAME(2).EQ.0))GOTO 11630 IF((NAME(2).NE.177))GOTO 11646 IF((NAME(3).NE.0))GOTO 11646 GOTO 11631 11646 IF((NAME(2).NE.178))GOTO 11647 IF((NAME(3).NE.0))GOTO 11647 GOTO 11632 11647 IF((NAME(2).NE.179))GOTO 11648 IF((NAME(3).NE.0))GOTO 11648 GOTO 11633 11648 IF((NAME(2).EQ.238))GOTO 11634 IF((NAME(2).EQ.206))GOTO 11634 GFNARG=-3 RETURN END INTEGER FUNCTION GITOC(INT,STR,SIZE,BASE) INTEGER INT,SIZE,BASE INTEGER STR(SIZE) INTEGER N INTEGER CARRY,D,I,RADIX LOGICAL UNSIG0 INTEGER DIGITS(17) DATA DIGITS/176,177,178,179,180,181,182,183,184,185,193,194,195,19 *6,197,198,0/ STR(1)=0 IF((SIZE.GT.1))GOTO 11650 GITOC=0 RETURN 11650 RADIX=IABS(BASE) IF((RADIX.LT.2))GOTO 11652 IF((RADIX.GT.16))GOTO 11652 GOTO 11651 11652 RADIX=10 11651 UNSIG0=(BASE.LT.0) IF((.NOT.UNSIG0))GOTO 11653 N=RS(INT,1) CARRY=AND(INT,1) GOTO 11654 11653 N=INT 11654 I=1 11655 D=IABS(MOD(N,RADIX)) IF((.NOT.UNSIG0))GOTO 11656 D=2*D+CARRY IF((D.LT.RADIX))GOTO 11657 D=D-(RADIX) CARRY=1 GOTO 11658 11657 CARRY=0 11658 CONTINUE 11656 I=I+(1) STR(I)=DIGITS(D+1) N=N/(RADIX) IF((N.EQ.0))GOTO 11659 IF((I.GE.SIZE))GOTO 11659 GOTO 11655 11659 CONTINUE IF((.NOT.UNSIG0))GOTO 11660 IF((CARRY.EQ.0))GOTO 11662 IF((I.GE.SIZE))GOTO 11662 I=I+(1) STR(I)=177 11661 GOTO 11662 11660 IF((INT.GE.0))GOTO 11663 IF((I.GE.SIZE))GOTO 11663 I=I+(1) STR(I)=173 11663 CONTINUE 11662 GITOC=I-1 D=1 GOTO 11666 11664 D=D+(1) I=I-(1) 11666 IF((D.GE.I))GOTO 11665 CARRY=STR(D) STR(D)=STR(I) STR(I)=CARRY GOTO 11664 11665 RETURN END INTEGER FUNCTION GKLARG(ARGS,STR) INTEGER ARGS(26) INTEGER STR(1) INTEGER I,K INTEGER MAPDN IF((STR(1).EQ.173))GOTO 11667 GKLARG=-3 RETURN 11667 I=2 GOTO 11670 11668 I=I+(1) 11670 IF((STR(I).EQ.0))GOTO 11669 K=MAPDN(STR(I))-225+1 IF((K.LT.1))GOTO 11672 IF((K.GT.26))GOTO 11672 IF((ARGS(K).LT.0))GOTO 11672 GOTO 11671 11672 GKLARG=-3 RETURN 11671 ARGS(K)=1 GOTO 11668 11669 GKLARG=-2 RETURN END INTEGER FUNCTION GLTOC(INT,STR,SIZE,BASE) INTEGER * 4 INT INTEGER SIZE,BASE INTEGER STR(SIZE) INTEGER * 4 N INTEGER CARRY,D,I,RADIX LOGICAL UNSIG0 INTEGER DIGITS(17) DATA DIGITS/176,177,178,179,180,181,182,183,184,185,193,194,195,19 *6,197,198,0/ STR(1)=0 IF((SIZE.GT.1))GOTO 11673 GLTOC=0 RETURN 11673 RADIX=IABS(BASE) IF((RADIX.LT.2))GOTO 11675 IF((RADIX.GT.16))GOTO 11675 GOTO 11674 11675 RADIX=10 11674 UNSIG0=(BASE.LT.0) IF((.NOT.UNSIG0))GOTO 11676 N=RS(INT,1) CARRY=AND(INT,1) GOTO 11677 11676 N=INT 11677 I=1 11678 D=IABS(MOD(N,RADIX)) IF((.NOT.UNSIG0))GOTO 11679 D=2*D+CARRY IF((D.LT.RADIX))GOTO 11680 D=D-(RADIX) CARRY=1 GOTO 11681 11680 CARRY=0 11681 CONTINUE 11679 I=I+(1) STR(I)=DIGITS(D+1) N=N/(RADIX) IF((N.EQ.0))GOTO 11682 IF((I.GE.SIZE))GOTO 11682 GOTO 11678 11682 CONTINUE IF((.NOT.UNSIG0))GOTO 11683 IF((CARRY.EQ.0))GOTO 11685 IF((I.GE.SIZE))GOTO 11685 I=I+(1) STR(I)=177 11684 GOTO 11685 11683 IF((INT.GE.0))GOTO 11686 IF((I.GE.SIZE))GOTO 11686 I=I+(1) STR(I)=173 11686 CONTINUE 11685 GLTOC=I-1 D=1 GOTO 11689 11687 D=D+(1) I=I-(1) 11689 IF((D.GE.I))GOTO 11688 CARRY=STR(D) STR(D)=STR(I) STR(I)=CARRY GOTO 11687 11688 RETURN END INTEGER FUNCTION GTACL$(PATH,KEY,ATTAC0) INTEGER PATH(1) INTEGER KEY,ATTAC0 COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 ACLVE0,ACLCO0,ACLTY0 INTEGER ACLPA0(41,32),ACLNA0(180) INTEGER PRIMO0(3) INTEGER ACLMO0(32) INTEGER ACLUS0(33,32) COMMON /ACL$00/ACLTY0,ACLNA0,ACLMO0,ACLUS0,PRIMO0 INTEGER INDX,I,J INTEGER TREEN(256),TEMP(256) INTEGER NAME(16),PASS(3) INTEGER VTREE(17),TEMPT0(129) INTEGER MKTR$,EQUAL,GETTO INTEGER AAAHQ0(4) INTEGER AAAHR0(5) INTEGER AAAHS0 INTEGER AAAHT0 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)) EQUIVALENCE (PRIMO0(1),ACLVE0) EQUIVALENCE (PRIMO0(2),ACLCO0) EQUIVALENCE (PRIMO0(3),ACLPA0) DATA AAAHQ0/225,236,236,0/ DATA AAAHR0/238,239,238,229,0/ CALL MKTR$(PATH,TREEN) ATTAC0=0 ACLVE0=2 ACLCO0=0 IF((PATH(1).NE.0))GOTO 11690 GTACL$=-2 RETURN 11690 IF((GETTO(PATH,NAME,PASS,ATTAC0).NE.-3))GOTO 11691 GTACL$=-3 RETURN 11691 I=1 CALL PTOV(NAME,160,VTREE,17) IF((KEY.NE.1))GOTO 11692 CALL AC$LST(VTREE,LOC(PRIMO0),32,TEMPT0,ACLTY0,ERRCO0) GOTO 11693 11692 IF((KEY.NE.2))GOTO 11694 CALL PA$LST(VTREE,LOC(PRIMO0),32,ERRCO0) TEMPT0(1)=0 GOTO 11695 11694 ERRCO0=28 11695 CONTINUE 11693 IF((ATTAC0.NE.1))GOTO 11696 CALL FOLLOW(0,0) 11696 IF((ERRCO0.EQ.0))GOTO 11697 GTACL$=-3 RETURN 11697 IF(((ACLVE0.LE.2).AND.(ACLVE0.GE.1)))GOTO 11698 ERRCO0=158 GTACL$=-3 RETURN 11698 CALL VTOC(TEMPT0,TREEN,256) CALL MAPSTR(TREEN,1) CALL MKPA$(TREEN,ACLNA0,0) J=1 GOTO 11701 11699 J=J+(1) 11701 IF((J.GT.ACLCO0))GOTO 11700 CALL VTOC(ACLPA0(1,J),TEMP,102) CALL MAPSTR(TEMP,1) INDX=1 11702 IF((TEMP(INDX).EQ.186))GOTO 11703 IF((TEMP(INDX).EQ.160))GOTO 11704 ACLUS0(INDX,J)=TEMP(INDX) 11704 INDX=INDX+(1) GOTO 11702 11703 ACLUS0(INDX,J)=0 INDX=INDX+(1) 11705 IF((TEMP(INDX).NE.160))GOTO 11706 INDX=INDX+(1) GOTO 11705 11706 IF((EQUAL(TEMP(INDX),AAAHQ0).NE.1))GOTO 11707 ACLMO0(J)=127 GOTO 11699 11707 IF((EQUAL(TEMP(INDX),AAAHR0).NE.1))GOTO 11709 ACLMO0(J)=0 GOTO 11710 11709 ACLMO0(J)=0 11711 IF((TEMP(INDX).EQ.0))GOTO 11712 AAAHS0=TEMP(INDX) GOTO 11713 11714 ACLMO0(J)=OR(ACLMO0(J),32) GOTO 11715 11716 ACLMO0(J)=OR(ACLMO0(J),64) GOTO 11715 11717 ACLMO0(J)=OR(ACLMO0(J),2) GOTO 11715 11718 ACLMO0(J)=OR(ACLMO0(J),1) GOTO 11715 11719 ACLMO0(J)=OR(ACLMO0(J),8) GOTO 11715 11720 ACLMO0(J)=OR(ACLMO0(J),4) GOTO 11715 11721 ACLMO0(J)=OR(ACLMO0(J),16) GOTO 11715 11713 AAAHT0=AAAHS0-224 GOTO(11714,11722,11722,11716,11722,11722,11722,11722,11722 *,11722,11722,11717,11722,11722,11722,11718,11722,11719,11722,11722 *,11720,11722,11721),AAAHT0 11722 ERRCO0=157 GTACL$=-3 RETURN 11715 INDX=INDX+(1) GOTO 11711 11712 CONTINUE 11710 CONTINUE 11708 GOTO 11699 11700 GTACL$=-2 RETURN END INTEGER FUNCTION GTATTR(ATTR) INTEGER ATTR COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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) 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)) IF((0.GE.ATTR))GOTO 11723 IF((ATTR.GT.6))GOTO 11723 GTATTR=TERMA0(ATTR) RETURN 11723 GTATTR=0 RETURN END INTEGER FUNCTION GTEMP(STR,NM,REPL) INTEGER STR(1),NM(128),REPL(128) INTEGER I,J,L L=1 11724 IF((STR(L).EQ.0))GOTO 11725 IF((STR(L).EQ.163))GOTO 11725 IF((STR(L).EQ.138))GOTO 11725 L=L+(1) GOTO 11724 11725 CONTINUE 11726 L=L-(1) IF((L.LE.0))GOTO 11727 IF((STR(L).NE.160))GOTO 11727 GOTO 11726 11727 CONTINUE IF((L.GT.0))GOTO 11728 GTEMP=-1 RETURN 11728 L=L+(1) I=1 11729 IF((STR(I).NE.160))GOTO 11730 I=I+(1) GOTO 11729 11730 J=1 GOTO 11733 11731 J=J+(1) I=I+(1) 11733 IF((J.GE.128))GOTO 11732 IF((I.GE.L))GOTO 11732 IF((STR(I).EQ.160))GOTO 11732 NM(J)=STR(I) GOTO 11731 11732 NM(J)=0 11734 IF((STR(I).NE.160))GOTO 11735 I=I+(1) GOTO 11734 11735 J=1 GOTO 11738 11736 J=J+(1) I=I+(1) 11738 IF((J.GE.128))GOTO 11737 IF((I.GE.L))GOTO 11737 REPL(J)=STR(I) GOTO 11736 11737 REPL(J)=0 GTEMP=-2 RETURN END INTEGER FUNCTION GTTYPE(STR) INTEGER STR(1) INTEGER TTYP$F,TTYP$R,TTYP$Q IF((TTYP$R(STR).EQ.0))GOTO 11740 IF((STR(1).EQ.0))GOTO 11740 GOTO 11739 11740 IF((TTYP$F(STR).NE.0))GOTO 11739 GTTYPE=TTYP$Q(STR,0) RETURN 11739 GTTYPE=1 RETURN END INTEGER FUNCTION GVLARG(STR,STATE) INTEGER STR(1) INTEGER STATE(4) INTEGER GETARG INTEGER AAAHU0 11741 AAAHU0=STATE(1) GOTO 11742 11743 STATE(1)=2 STATE(2)=1 STATE(3)=-3 STATE(4)=0 GOTO 11744 11745 IF((GETARG(STATE(2),STR,128).EQ.-1))GOTO 11746 STATE(1)=2 IF((STR(1).NE.173))GOTO 11747 STR(1)=0 GOTO 11748 11747 STATE(2)=STATE(2)+(1) 11748 GVLARG=-2 RETURN 11746 STATE(1)=4 GOTO 11744 11749 STR(1)=0 GVLARG=-2 RETURN 11742 GOTO(11743,11745,11749,11751,11751),AAAHU0 CALL ERROR('in gvlarg: bad state (1) value*n.') 11744 CONTINUE GOTO 11741 11751 STR(1)=0 GVLARG=-1 RETURN END SUBROUTINE ICOMN$ COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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)) ARGCA0=0 CMDST0=0 ERRCO0=0 COMUN0=0 PASSW0(1)=0 LSTOP0=16384-1 LSNAA0=1 LSHOA0=1 LSREF0(1)=0 UTEMP0=0 DO 11752 I=1,37 UHASH0(I)=0 11752 CONTINUE 11753 DO 11754 I=1,4 RTLAB0(I)=0 BPLAB0(I)=0 11754 CONTINUE 11755 CALL IOINIT RETURN END SUBROUTINE INIT$F INTEGER F INTEGER MAPFD,MAPSU CALL FLUSH$(MAPSU(-10)) CALL FLUSH$(MAPSU(-11)) F=MAPFD(-10) IF((F.LE.0))GOTO 11756 CALL ATTDEV(5,7,F,128) GOTO 11757 11756 CALL ATTDEV(5,1,0,128) 11757 F=MAPFD(-11) IF((F.LE.0))GOTO 11758 CALL ATTDEV(6,7,F,128) GOTO 11759 11758 CALL ATTDEV(6,1,0,128) 11759 RETURN END SUBROUTINE INIT$P INTEGER F,I,PATH(180),TREE(180) INTEGER MAPFD,MAPSU,GFNAM$ INTEGER IFLAG,I1,I2,I3,I4,I5,IUNIT,I6,I7,I8 INTEGER IFNAM(64),I9,IBUF(128) COMMON /P$AINP/IFLAG,I1,I2,I3,I4,I5,IUNIT,I6,I7,I8,IFNAM,I9,IBUF INTEGER OFLAG,O1,O2,O3,O4,O5,OUNIT,O6,O7,O8 INTEGER OFNAM(64),O9,OBUF(128) COMMON /P$AOUT/OFLAG,O1,O2,O3,O4,O5,OUNIT,O6,O7,O8,OFNAM,O9,OBUF INTEGER AAAHV0(22) INTEGER AAAHW0(22) DATA AAAHV0/240,225,244,232,238,225,237,229,160,245,238,239,226,24 *4,225,233,238,225,226,236,229,0/ DATA AAAHW0/240,225,244,232,238,225,237,229,160,245,238,239,226,24 *4,225,233,238,225,226,236,229,0/ CALL FLUSH$(MAPSU(-10)) CALL FLUSH$(MAPSU(-11)) F=MAPFD(-10) IF((F.LE.0))GOTO 11760 CALL ATTDEV(F,7,F,128) IFLAG=AND(IFLAG,NOT(:1000)) IUNIT=F I=1 IF((GFNAM$(-10,PATH,180).EQ.-3))GOTO 11761 CALL MKTR$(PATH,TREE) CALL CTOP(TREE,I,IFNAM,64) GOTO 11762 11761 CALL CTOP(AAAHV0,I,IFNAM,64) 11762 CONTINUE 11760 F=MAPFD(-11) IF((F.LE.0))GOTO 11763 CALL ATTDEV(F,7,F,128) OFLAG=AND(OFLAG,NOT(:1000)) OUNIT=F I=1 IF((GFNAM$(-11,PATH,180).EQ.-3))GOTO 11764 CALL MKTR$(PATH,TREE) CALL CTOP(TREE,I,OFNAM,64) GOTO 11765 11764 CALL CTOP(AAAHW0,I,OFNAM,64) 11765 CONTINUE 11763 RETURN END SUBROUTINE INIT CALL REMARK('You are trying to run a pre-version 9 compilation@..' *) CALL ERROR('Please recompile and try again@..') RETURN END INTEGER FUNCTION INPUT(FD,FMT,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) INTEGER FD INTEGER FMT(1) INTEGER A1(1),A2(1),A3(1),A4(1),A5(1),A6(1),A7(1),A8(1),A9(1),A10( *1) INTEGER AP,SP,FP,I INTEGER GETLIN,DECODE,INDEX,ISATTY INTEGER TF INTEGER STR(200),TFMT(200) LOGICAL PSW INTEGER AAAHX0 INTEGER AAAHY0(21) INTEGER AAAHZ0 DATA AAAHY0/197,242,242,239,242,186,160,167,170,243,167,160,242,22 *9,244,249,240,229,186,160,0/ IF((AND(FMT(1),:177400).EQ.0))GOTO 11766 CALL PTOC(FMT,174,TFMT,200) GOTO 11767 11766 CALL CTOC(FMT,TFMT,200) 11767 FP=1 AP=1 PSW=(ISATTY(FD).NE.0) TF=FD 11768 CONTINUE 11769 IF((TFMT(FP).EQ.170))GOTO 11770 IF((.NOT.PSW))GOTO 11771 CALL PUTCH(TFMT(FP),1) 11771 FP=FP+(1) GOTO 11769 11770 IF((TFMT(FP).NE.0))GOTO 11772 GOTO 11773 11772 IF((GETLIN(STR,TF,200).NE.-1))GOTO 11774 INPUT=-1 RETURN 11774 SP=1 AAAHX0=DECODE(STR,SP,TFMT,FP,AP,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) GOTO 11775 11776 TF=FD GOTO 11777 11779 I=INDEX(STR(SP),138) IF((I.EQ.0))GOTO 11780 STR(SP+I-1)=0 11780 CALL PRINT(1,AAAHY0,STR(SP)) TF=1 GOTO 11777 11775 AAAHZ0=AAAHX0+4 GOTO(11779,11776,11773),AAAHZ0 11777 CONTINUE GOTO 11768 11773 INPUT=AP-1 RETURN END SUBROUTINE IOFL$(STATE) INTEGER STATE(258) COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 FD,SP INTEGER JUNK2,CODE INTEGER * 4 JUNK1 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)) SP=1 DO 11781 FD=1,128 IF((FDFLA0(FD*16-16+1).NE.0))GOTO 11783 STATE(SP)=FD SP=SP+(1) 11783 CONTINUE 11781 CONTINUE 11782 STATE(SP)=-3 SP=SP+(1) DO 11784 FD=1,128 CALL PRWF$$(:5,FD,INTL(0),0,JUNK1,JUNK2,CODE) IF((CODE.EQ.0))GOTO 11786 IF((CODE.EQ.29))GOTO 11786 STATE(SP)=FD SP=SP+(1) 11786 CONTINUE 11784 CONTINUE 11785 STATE(SP)=-3 RETURN END SUBROUTINE IOINIT COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 FD,I INTEGER DUPLX$ INTEGER DEFAY0(4) 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 DEFAY0/220,220,138,0/ DO 11787 FD=1,128 FDFLA0(FD*16-16+1)=0 11787 CONTINUE 11788 FDDEV0(1)=1 FDUNI0(1)=0 FDBUG0(1)=0 FDBUH0(1)=0 FDBUI0(1)=0 FDCOU0(1)=0 FDBCO0(1)=0 FDFLA0(1)=:040000+:020000 FDLAS0=1 ECHAR0=136 KCHAR0=255 RTCHA0=146 ESCCH0=155 EOFCH0=131 NLCHA0=138 CALL CTOC(DEFAY0,KILLR0,33) TERMC0=1 TERMB0(TERMC0)=0 TERMD0=0 DO 11789 I=1,6 TERMA0(I)=0 11789 CONTINUE 11790 LWORD0=DUPLX$(-1) PRTFO0(1)=0 PRTDE0(1)=0 DO 11791 FD=1,6 STDPO0(FD)=1 11791 CONTINUE 11792 RETURN END INTEGER FUNCTION ISADSK(FD) INTEGER FD COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 F INTEGER MAPSU 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)) F=MAPSU(FD)*16-16+1 IF((FDDEV0(F).NE.2))GOTO 11793 ISADSK=1 RETURN 11793 ISADSK=0 RETURN END INTEGER FUNCTION ISATTY(FD) INTEGER FD COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 F INTEGER MAPSU 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)) F=MAPSU(FD)*16-16+1 IF((FDDEV0(F).NE.1))GOTO 11794 ISATTY=1 RETURN 11794 ISATTY=0 RETURN END INTEGER FUNCTION ISNULL(FD) INTEGER FD COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 F INTEGER MAPSU 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)) F=MAPSU(FD)*16-16+1 IF((FDDEV0(F).NE.3))GOTO 11795 ISNULL=1 RETURN 11795 ISNULL=0 RETURN END INTEGER FUNCTION ISPH$(DUMMY) INTEGER DUMMY COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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) 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)) ISPH$=ISPHA0 RETURN END INTEGER FUNCTION ITOC(INT,STR,SIZE) INTEGER INT,SIZE INTEGER STR(SIZE) INTEGER INTVAL INTEGER D,I,J,K INTEGER DIGITS(11) DATA DIGITS/176,177,178,179,180,181,182,183,184,185,0/ INTVAL=INT STR(1)=0 I=1 11796 I=I+(1) D=IABS(MOD(INTVAL,10)) STR(I)=DIGITS(D+1) INTVAL=INTVAL/(10) IF((INTVAL.EQ.0))GOTO 11797 IF((I.GE.SIZE))GOTO 11797 GOTO 11796 11797 CONTINUE IF((INT.GE.0))GOTO 11798 IF((I.GE.SIZE))GOTO 11798 I=I+(1) STR(I)=173 11798 ITOC=I-1 J=1 GOTO 11801 11799 J=J+(1) 11801 IF((J.GE.I))GOTO 11800 K=STR(I) STR(I)=STR(J) STR(J)=K I=I-(1) GOTO 11799 11800 RETURN END INTEGER FUNCTION JDATE(M,D,Y) INTEGER M,D,Y INTEGER I,MDAYS(12) DATA MDAYS/31,28,31,30,31,30,31,31,30,31,30,31/ JDATE=D I=1 GOTO 11804 11802 I=I+(1) 11804 IF((I.GE.M))GOTO 11803 JDATE=JDATE+(MDAYS(I)) GOTO 11802 11803 IF((M.LE.2))GOTO 11805 IF((MOD(Y,400).NE.0))GOTO 11806 JDATE=JDATE+(1) GOTO 11807 11806 IF((MOD(Y,100).NE.0))GOTO 11808 GOTO 11809 11808 IF((MOD(Y,4).NE.0))GOTO 11810 JDATE=JDATE+(1) 11810 CONTINUE 11809 CONTINUE 11807 CONTINUE 11805 RETURN END SUBROUTINE LDSEG$(RVEC,NAME,LEN,CODE) INTEGER RVEC(9),NAME(1),LEN,CODE INTEGER SYMTAB(1) COMMON /SGSYMT/SYMTAB INTEGER BIT,DFD,I,JUNK,N,RC,REV,SFD,WRD,ADDR(2),MASKS(16),SEGMAP(5 *12),STHEAD(21),SVEC(10),TVEC(30) INTEGER SYMTA0 INTEGER CHUNK$ INTEGER P,Q INTEGER AAAIA0 INTEGER AAAIB0 DATA MASKS/:100000,:040000,:020000,:010000,:004000,:002000,:001000 *,:000400,:000200,:000100,:000040,:000020,:000010,:000004,:000002,: *000001/ AAAIA0=1 GOTO 11811 11813 CALL PRWF$$(:1,DFD,LOC(REV),1,INTL(0),JUNK,RC) IF((RC.NE.0))GOTO 11815 IF((REV.NE.-1))GOTO 11815 GOTO 11814 11815 AAAIB0=1 GOTO 11812 11816 CONTINUE 11814 CALL PRWF$$(:1,DFD,LOC(N),1,INTL(0),JUNK,RC) IF((RC.NE.0))GOTO 11818 IF((N.GT.256))GOTO 11818 GOTO 11817 11818 AAAIB0=2 GOTO 11812 11819 CONTINUE 11817 CALL PRWF$$(:1,DFD,LOC(SEGMAP),N*2,INTL(0),JUNK,RC) IF((RC.EQ.0))GOTO 11820 AAAIB0=3 GOTO 11812 11821 CONTINUE 11820 CALL PRWF$$(:1,DFD,LOC(SVEC),10,INTL(0),JUNK,RC) IF((RC.EQ.0))GOTO 11822 AAAIB0=4 GOTO 11812 11823 CONTINUE 11822 CALL PRWF$$(:1,DFD,LOC(TVEC),30,INTL(0),JUNK,RC) IF((RC.NE.0))GOTO 11825 IF((TVEC(10).LT.6))GOTO 11825 GOTO 11824 11825 AAAIB0=5 GOTO 11812 11826 CONTINUE 11824 IF((TVEC(10).GE.7))GOTO 11827 SYMTA0=SVEC(9) GOTO 11828 11827 SYMTA0=SVEC(10) 11828 CALL PRWF$$(:1,DFD,LOC(SYMTAB),SYMTA0,INTL(0),JUNK,RC) IF((RC.EQ.0))GOTO 11829 AAAIB0=6 GOTO 11812 11830 CONTINUE 11829 CALL PRWF$$(:1,DFD,LOC(STHEAD),21,INTL(0),JUNK,RC) IF((RC.EQ.0))GOTO 11831 AAAIB0=7 GOTO 11812 11832 CONTINUE 11831 P=STHEAD(18) GOTO 11835 11833 P=SYMTAB(Q+8) 11835 IF((P.EQ.:100000))GOTO 11834 Q=SYMTA0-(P*9)+1 IF((SYMTAB(Q+1).LE.2048))GOTO 11833 IF((SYMTAB(Q+0).GE.0))GOTO 11833 GOTO 11836 11836 CALL ZMEM$(SYMTAB(Q)) N=AND(SYMTAB(Q+0),511)*32 ADDR(1)=SYMTAB(Q+1) ADDR(2)=0 DO 11838 I=1,32 BIT=RT(N,4) WRD=RS(N,4) IF((AND(SEGMAP(WRD+1),MASKS(BIT+1)).EQ.0))GOTO 11840 IF((CHUNK$(ADDR,N,SFD).NE.-3))GOTO 11841 AAAIB0=8 GOTO 11812 11842 CONTINUE 11841 CONTINUE 11840 N=N+(1) ADDR(2)=ADDR(2)+(2048) 11838 CONTINUE 11839 GOTO 11833 11834 CALL SRCH$$(:4,0,0,DFD,0,RC) CALL SRCH$$(:4,0,0,SFD,0,RC) RVEC(4)=SVEC(5) RVEC(5)=SVEC(6) RVEC(6)=SVEC(7) RVEC(7)=0 RVEC(8)=SVEC(1) RVEC(9)=SVEC(2) CODE=0 RETURN 11811 CALL SRCH$$(:1+:40000,NAME,LEN,SFD,JUNK,CODE) IF((CODE.EQ.0))GOTO 11843 RETURN 11843 CALL SRCH$$(:1+:40000+:100,SFD,0,DFD,JUNK,CODE) IF((CODE.EQ.0))GOTO 11813 CALL SRCH$$(:4,0,0,SFD,0,JUNK) RETURN 11812 CALL SRCH$$(:4,0,0,DFD,0,RC) CALL SRCH$$(:4,0,0,SFD,0,RC) CODE=6 RETURN 11846 GOTO(11816,11819,11821,11823,11826,11830,11832,11842),AAAIB0 GOTO 11846 END SUBROUTINE LDTMP$ COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 FD INTEGER OPEN INTEGER I INTEGER GETLIN,GTEMP INTEGER STR(102),NM(128),REPL(128) INTEGER AAAIC0 INTEGER AAAID0(12) INTEGER AAAIE0,AAAIF0,AAAIG0,AAAIH0,AAAII0 INTEGER SCOPY,LENGTH INTEGER AAAIJ0(30) 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 AAAID0/189,245,244,229,237,240,236,225,244,229,189,0/ DATA AAAIJ0/170,243,186,160,244,239,239,160,237,225,238,249,160,24 *5,243,229,242,160,244,229,237,240,236,225,244,229,243,170,238,0/ CALL BREAK$(1) DO 11848 I=1,37 UHASH0(I)=0 11848 CONTINUE 11849 UTEMP0=0 FD=OPEN(AAAID0,1) IF((FD.NE.-3))GOTO 11850 CALL BREAK$(0) RETURN 11850 CONTINUE 11851 IF((GETLIN(STR,FD).EQ.-1))GOTO 11852 IF((GTEMP(STR,NM,REPL).EQ.-1))GOTO 11851 AAAIC0=1 GOTO 11847 11854 CONTINUE 11853 GOTO 11851 11852 CONTINUE 1 CALL CLOSE(FD) CALL BREAK$(0) RETURN 11847 AAAII0=LENGTH(NM)+LENGTH(REPL)+4 IF((UTEMP0+AAAII0.LE.4059))GOTO 11855 CALL PRINT(-15,AAAIJ0,NM) CALL SETERR(1000) GOTO 1 11855 AAAIE0=0 AAAIF0=1 GOTO 11858 11856 AAAIF0=AAAIF0+(1) 11858 IF((AAAIF0.GT.4))GOTO 11857 IF((NM(AAAIF0).EQ.0))GOTO 11857 AAAIE0=AAAIE0+(NM(AAAIF0)) GOTO 11856 11857 AAAIE0=MOD(AAAIE0,37)+1 AAAIG0=UTEMP0+1 UTEMQ0(AAAIG0)=UHASH0(AAAIE0) UHASH0(AAAIE0)=AAAIG0 AAAIH0=AAAIG0+2+SCOPY(NM,1,UTEMQ0,AAAIG0+2)+1 UTEMQ0(AAAIG0+1)=AAAIH0 UTEMP0=AAAIH0+SCOPY(REPL,1,UTEMQ0,AAAIH0) GOTO 11854 END INTEGER FUNCTION LOCATE(C,PAT,OFFSET) INTEGER C,PAT(256) INTEGER OFFSET INTEGER I I=OFFSET+PAT(OFFSET) GOTO 11862 11860 I=I-(1) 11862 IF((I.LE.OFFSET))GOTO 11861 IF((C.NE.PAT(I)))GOTO 11860 LOCATE=1 RETURN 11861 LOCATE=0 RETURN END INTEGER FUNCTION LOOKAC(NAME) INTEGER NAME(1) INTEGER ACLVE0,ACLCO0,ACLTY0 INTEGER ACLPA0(41,32),ACLNA0(180) INTEGER PRIMO0(3) INTEGER ACLMO0(32) INTEGER ACLUS0(33,32) COMMON /ACL$00/ACLTY0,ACLNA0,ACLMO0,ACLUS0,PRIMO0 INTEGER I INTEGER EQUAL EQUIVALENCE (PRIMO0(1),ACLVE0) EQUIVALENCE (PRIMO0(2),ACLCO0) EQUIVALENCE (PRIMO0(3),ACLPA0) I=1 GOTO 11866 11864 I=I+(1) 11866 IF((I.GT.ACLCO0))GOTO 11865 IF((EQUAL(ACLUS0(1,I),NAME).NE.1))GOTO 11864 LOOKAC=I RETURN 11865 LOOKAC=-3 RETURN END INTEGER FUNCTION LOOKUP(SYMBOL,INFO,ST) INTEGER SYMBOL(1) INTEGER INFO(1) INTEGER ST INTEGER MEMAA0(1) COMMON /DS$MEM/MEMAA0 INTEGER I,NODES0 INTEGER ST$LU INTEGER NODE,PRED IF((ST$LU(SYMBOL,NODE,PRED,ST).NE.0))GOTO 11868 LOOKUP=0 RETURN 11868 NODES0=MEMAA0(ST) I=1 GOTO 11871 11869 I=I+(1) 11871 IF((I.GT.NODES0))GOTO 11870 INFO(I)=MEMAA0(NODE+1-1+I) GOTO 11869 11870 LOOKUP=1 RETURN END INTEGER FUNCTION LOPEN$(PATH,FD,MODE) INTEGER PATH(1) INTEGER FD INTEGER MODE COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 UNIT1,UNIT2,UNIT3,I,J,PP,BL,OFFSET INTEGER JUNK(3),INFO(29),BANNER(16),BUF(100) INTEGER MAPDN,CTOI,CTOP,PARSTM,MAPUP INTEGER * 4 T INTEGER STR(180) INTEGER AAAIK0 INTEGER AAAIL0 INTEGER AAAIM0(9) INTEGER AAAIN0 INTEGER AAAIO0 INTEGER AAAIP0 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 AAAIM0/175,196,197,214,175,204,208,211,0/ UNIT1=0 UNIT2=0 UNIT3=0 INFO(3)=:2000 DO 11874 I=4,29 INFO(I)=' ' 11874 CONTINUE 11875 I=1 BL=CTOP(AAAIM0,I,BANNER,16) PP=1 GOTO 11878 11876 PP=PP+(1) 11878 IF((PATH(PP).EQ.0))GOTO 11877 AAAIN0=MAPDN(PATH(PP)) GOTO 11879 11882 INFO(3)=OR(AND(INFO(3),NOT(:20000+:2000)),:100000) GOTO 11876 11883 INFO(3)=OR(AND(INFO(3),NOT(:20000+:100000)),:2000) GOTO 11876 11884 INFO(3)=AND(INFO(3),NOT(:100000+:2000)) GOTO 11876 11885 INFO(3)=OR(INFO(3),:10000) GOTO 11876 11886 INFO(3)=OR(INFO(3),:4000) GOTO 11876 11887 INFO(3)=OR(INFO(3),:20000) GOTO 11876 11888 INFO(3)=OR(INFO(3),:100) AAAIL0=1 GOTO 11873 11889 J=1 CALL CTOP(STR,J,INFO(13),8) GOTO 11876 11890 INFO(3)=OR(INFO(3),:400) AAAIL0=2 GOTO 11873 11891 I=1 IF((PARSTM(STR,I,T).NE.-3))GOTO 11892 LOPEN$=-3 RETURN 11892 INFO(11)=INTS(T/60) GOTO 11876 11893 AAAIL0=3 GOTO 11873 11894 J=1 BL=CTOP(STR,J,BANNER,16) GOTO 11876 11895 INFO(3)=OR(INFO(3),:20) AAAIL0=4 GOTO 11873 11896 I=1 INFO(29)=CTOI(STR,I) GOTO 11876 11897 AAAIL0=5 GOTO 11873 11898 J=1 CALL CTOP(STR,J,INFO(4),3) GOTO 11876 11879 IF(AAAIN0.EQ.160)GOTO 11876 AAAIO0=AAAIN0-172 GOTO(11876,11899,11876),AAAIO0 AAAIO0=AAAIN0-224 GOTO(11888,11893,11895,11890,11899,11882,11899,11885,11899,11886 *,11899,11899,11899,11887,11899,11897,11899,11883,11884),AAAIO0 11899 LOPEN$=-3 RETURN 11877 IF((PRTDE0(1).EQ.0))GOTO 11900 IF((INFO(13).NE.' '))GOTO 11900 INFO(3)=OR(INFO(3),:100) CALL CTOC(PRTDE0,STR,102) CALL MAPSTR(STR,2) J=1 CALL CTOP(STR,J,INFO(13),8) 11900 IF((PRTFO0(1).EQ.0))GOTO 11901 IF((INFO(4).NE.' '))GOTO 11901 CALL CTOC(PRTFO0,STR,102) CALL MAPSTR(STR,2) J=1 CALL CTOP(STR,J,INFO(4),3) 11901 CALL SRCH$$(:1+:40000,:177777,32,UNIT1,JUNK,ERRCO0) AAAIK0=1 GOTO 11872 11902 CALL SRCH$$(:1+:40000,:177777,32,UNIT2,JUNK,ERRCO0) AAAIK0=2 GOTO 11872 11903 CALL SRCH$$(:1+:40000,:177777,32,UNIT3,JUNK,ERRCO0) AAAIK0=3 GOTO 11872 11904 CALL SRCH$$(:4,0,0,UNIT1,JUNK,ERRCO0) CALL SRCH$$(:4,0,0,UNIT2,JUNK,ERRCO0) CALL SRCH$$(:4,0,0,UNIT3,JUNK,ERRCO0) INFO(1)=UNIT2 INFO(2)=UNIT3 CALL SPOOL$(2,BANNER,BL,INFO,BUF,100,ERRCO0) IF((ERRCO0.EQ.0))GOTO 11905 LOPEN$=-3 RETURN 11905 OFFSET=FD*16-16+1 FDUNI0(OFFSET)=UNIT3 FDFLA0(OFFSET)=OR(FDFLA0(OFFSET),:020000+:002000) IF((AND(INFO(3),:2000+:10000).NE.:2000))GOTO 11906 CALL PUTCH(140,FD) CALL PUTCH(138,FD) 11906 LOPEN$=FD RETURN 11872 IF((ERRCO0.EQ.0))GOTO 11910 IF((UNIT1.EQ.0))GOTO 11908 CALL SRCH$$(:4,0,0,UNIT1,JUNK,JUNK) 11908 IF((UNIT2.EQ.0))GOTO 11909 CALL SRCH$$(:4,0,0,UNIT2,JUNK,JUNK) 11909 LOPEN$=-3 RETURN 11873 CONTINUE 11911 IF((PATH(PP+1).EQ.175))GOTO 11913 IF((PATH(PP+1).EQ.160))GOTO 11913 GOTO 11912 11913 PP=PP+(1) GOTO 11911 11912 AAAIP0=1 GOTO 11916 11914 PP=PP+(1) AAAIP0=AAAIP0+(1) 11916 IF((PATH(PP+1).EQ.0))GOTO 11915 IF((PATH(PP+1).EQ.175))GOTO 11915 IF((PATH(PP+1).EQ.160))GOTO 11915 STR(AAAIP0)=MAPUP(PATH(PP+1)) GOTO 11914 11915 STR(AAAIP0)=0 GOTO 11917 11917 GOTO(11889,11891,11894,11896,11898),AAAIL0 GOTO 11917 11910 GOTO(11902,11903,11904),AAAIK0 GOTO 11910 END INTEGER FUNCTION LTOC(INT,STR,SIZE) INTEGER * 4 INT INTEGER SIZE INTEGER STR(SIZE) INTEGER * 4 INTVAL INTEGER D,I,J,K INTEGER DIGITS(11) DATA DIGITS/176,177,178,179,180,181,182,183,184,185,0/ INTVAL=INT STR(1)=0 I=1 11918 I=I+(1) D=IABS(MOD(INTVAL,10)) STR(I)=DIGITS(D+1) INTVAL=INTVAL/(10) IF((INTVAL.EQ.0))GOTO 11919 IF((I.GE.SIZE))GOTO 11919 GOTO 11918 11919 CONTINUE IF((INT.GE.0))GOTO 11920 IF((I.GE.SIZE))GOTO 11920 I=I+(1) STR(I)=173 11920 LTOC=I-1 J=1 GOTO 11923 11921 J=J+(1) 11923 IF((J.GE.I))GOTO 11922 K=STR(I) STR(I)=STR(J) STR(J)=K I=I-(1) GOTO 11921 11922 RETURN END INTEGER FUNCTION LUTEMP(JIG,STR,STRLEN) INTEGER JIG(1),STR(1) INTEGER STRLEN INTEGER HASHT0(37),TEMPU0,CLDAT0(2) INTEGER TEMPB0(4059) COMMON /SWT$TP/TEMPU0,HASHT0,TEMPB0,CLDAT0 COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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,P,I,L,CODE INTEGER SCOPY,EQUAL,MOD,LENGTH INTEGER TBUF(180),DIRNA0(256) INTEGER AAAIQ0 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)) I=1 GOTO 11926 11924 I=I+(1) 11926 IF((JIG(I).EQ.0))GOTO 11925 TBUF(I)=JIG(I) GOTO 11924 11925 TBUF(I)=0 H=0 I=1 GOTO 11929 11927 I=I+(1) 11929 IF((I.GT.4))GOTO 11928 IF((JIG(I).EQ.0))GOTO 11928 H=H+(TBUF(I)) GOTO 11927 11928 H=MOD(H,37)+1 P=UHASH0(H) GOTO 11932 11930 P=UTEMQ0(P) 11932 IF((P.EQ.0))GOTO 11931 IF((EQUAL(TBUF,UTEMQ0(P+2)).NE.1))GOTO 11930 GOTO 11931 11931 IF((P.EQ.0))GOTO 11934 L=SCOPY(UTEMQ0,UTEMQ0(P+1),TBUF,1) IF((L.LT.STRLEN))GOTO 11935 LUTEMP=-1 RETURN 11935 LUTEMP=SCOPY(TBUF,1,STR,1) RETURN 11934 P=HASHT0(H) GOTO 11938 11936 P=TEMPB0(P) 11938 IF((P.EQ.0))GOTO 11937 IF((EQUAL(TBUF,TEMPB0(P+2)).NE.1))GOTO 11936 GOTO 11937 11937 IF((P.NE.0))GOTO 11940 LUTEMP=-1 RETURN 11940 AAAIQ0=-TEMPB0(P+1) GOTO 11941 11942 CALL DATE(1,TBUF) TBUF(3)=TBUF(4) TBUF(4)=TBUF(5) TBUF(5)=TBUF(7) TBUF(6)=TBUF(8) TBUF(7)=0 L=6 GOTO 11943 11944 CALL DATE(2,TBUF) TBUF(3)=TBUF(4) TBUF(4)=TBUF(5) TBUF(5)=TBUF(7) TBUF(6)=TBUF(8) TBUF(7)=0 L=6 GOTO 11943 11945 CALL DATE(3,TBUF) L=LENGTH(TBUF) 11946 IF((L.LE.0))GOTO 11947 IF((TBUF(L).NE.160))GOTO 11947 L=L-(1) GOTO 11946 11947 TBUF(L+1)=0 CALL MAPSTR(TBUF,1) GOTO 11943 11948 CALL DATE(4,TBUF) L=LENGTH(TBUF) GOTO 11943 11949 L=SCOPY(PASSW0,1,TBUF,1) GOTO 11943 11950 CALL DATE(5,TBUF) L=LENGTH(TBUF) GOTO 11943 11951 CALL GPATH$(:4,0,TBUF,180,I,CODE) IF((CODE.EQ.0))GOTO 11952 LUTEMP=-1 RETURN 11952 CALL PTOC(TBUF,0,DIRNA0,I+1) CALL MKPA$(DIRNA0,TBUF,0) L=MAPSTR(TBUF,1) GOTO 11943 11941 GOTO(11942,11944,11945,11948,11949,11950,11951),AAAIQ0 L=SCOPY(TEMPB0,TEMPB0(P+1),TBUF,1) 11943 IF((L.LT.STRLEN))GOTO 11953 LUTEMP=-1 RETURN 11953 LUTEMP=SCOPY(TBUF,1,STR,1) RETURN END INTEGER FUNCTION MAKPAT(ARG,FROM,DELIM,PAT) INTEGER ARG(128),DELIM,PAT(256) INTEGER FROM INTEGER ESC INTEGER ADDSET,GETCCL,STCLOS INTEGER I,J,JUNK,LASTCL,LASTJ,LJ,TAGNE0,TAGNUM,TAGST0(9) J=1 LASTJ=1 LASTCL=0 TAGNUM=0 TAGNE0=0 I=FROM GOTO 11956 11954 I=I+(1) 11956 IF((ARG(I).EQ.DELIM))GOTO 11955 IF((ARG(I).EQ.0))GOTO 11955 LJ=J IF((ARG(I).NE.191))GOTO 11957 JUNK=ADDSET(191,PAT,J,256) GOTO 11958 11957 IF((ARG(I).NE.165))GOTO 11959 IF((I.NE.FROM))GOTO 11959 JUNK=ADDSET(165,PAT,J,256) GOTO 11960 11959 IF((ARG(I).NE.164))GOTO 11961 IF((ARG(I+1).NE.DELIM))GOTO 11961 JUNK=ADDSET(164,PAT,J,256) GOTO 11962 11961 IF((ARG(I).NE.219))GOTO 11963 IF((GETCCL(ARG,I,PAT,J).NE.-3))GOTO 11965 MAKPAT=-3 RETURN 11963 IF((ARG(I).NE.170))GOTO 11966 IF((I.LE.FROM))GOTO 11966 LJ=LASTJ IF((PAT(LJ).EQ.165))GOTO 11955 IF((PAT(LJ).EQ.164))GOTO 11955 IF((PAT(LJ).EQ.170))GOTO 11955 IF((PAT(LJ).EQ.251))GOTO 11955 IF((PAT(LJ).EQ.253))GOTO 11955 GOTO 11967 11967 LASTCL=STCLOS(PAT,J,LASTJ,LASTCL) GOTO 11969 11966 IF((ARG(I).NE.251))GOTO 11970 IF((TAGNUM.LT.9))GOTO 11971 GOTO 11955 11971 TAGNUM=TAGNUM+(1) TAGNE0=TAGNE0+(1) TAGST0(TAGNE0)=TAGNUM JUNK=ADDSET(251,PAT,J,256) JUNK=ADDSET(TAGNUM,PAT,J,256) GOTO 11972 11970 IF((ARG(I).NE.253))GOTO 11973 IF((TAGNE0.LE.0))GOTO 11973 JUNK=ADDSET(253,PAT,J,256) JUNK=ADDSET(TAGST0(TAGNE0),PAT,J,256) TAGNE0=TAGNE0-(1) GOTO 11974 11973 JUNK=ADDSET(225,PAT,J,256) JUNK=ADDSET(ESC(ARG,I),PAT,J,256) 11974 CONTINUE 11972 CONTINUE 11969 CONTINUE 11965 CONTINUE 11962 CONTINUE 11960 CONTINUE 11958 LASTJ=LJ GOTO 11954 11955 IF((ARG(I).EQ.DELIM))GOTO 11975 MAKPAT=-3 GOTO 11976 11975 IF((ADDSET(0,PAT,J,256).NE.0))GOTO 11977 MAKPAT=-3 GOTO 11978 11977 IF((TAGNE0.EQ.0))GOTO 11979 MAKPAT=-3 GOTO 11980 11979 MAKPAT=I 11980 CONTINUE 11978 CONTINUE 11976 RETURN END INTEGER FUNCTION MAKSUB(ARG,FROM,DELIM,SUB) INTEGER ARG(1),DELIM,SUB(256) INTEGER FROM INTEGER ESC,TYPE INTEGER ADDSET INTEGER I,J,JUNK J=1 I=FROM GOTO 11983 11981 I=I+(1) 11983 IF((ARG(I).EQ.DELIM))GOTO 11982 IF((ARG(I).EQ.0))GOTO 11982 IF((ARG(I).NE.166))GOTO 11984 JUNK=ADDSET(-3,SUB,J,256) JUNK=ADDSET(0+-10,SUB,J,256) GOTO 11981 11984 IF((ARG(I).NE.192))GOTO 11986 IF((TYPE(ARG(I+1)).NE.176))GOTO 11986 I=I+(1) JUNK=ADDSET(-3,SUB,J,256) JUNK=ADDSET(ARG(I)-176+-10,SUB,J,256) GOTO 11987 11986 JUNK=ADDSET(ESC(ARG,I),SUB,J,256) 11987 CONTINUE 11985 GOTO 11981 11982 IF((ARG(I).EQ.DELIM))GOTO 11988 MAKSUB=-3 GOTO 11989 11988 IF((ADDSET(0,SUB,J,256).NE.0))GOTO 11990 MAKSUB=-3 GOTO 11991 11990 MAKSUB=I 11991 CONTINUE 11989 RETURN END INTEGER FUNCTION MAPDN(C) INTEGER C IF((193.GT.C))GOTO 11992 IF((C.GT.218))GOTO 11992 MAPDN=C-193+225 GOTO 11993 11992 MAPDN=C 11993 RETURN END INTEGER FUNCTION MAPFD(FD) INTEGER FD COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 OFF,F INTEGER MAPSU 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)) F=MAPSU(FD) IF((F.LT.1))GOTO 11995 IF((F.GT.128))GOTO 11995 GOTO 11994 11995 MAPFD=-3 RETURN 11994 OFF=F*16-16+1 IF((FDDEV0(OFF).NE.2))GOTO 11996 MAPFD=FDUNI0(OFF) RETURN 11996 MAPFD=-3 RETURN END INTEGER FUNCTION MAPSTR(STR,CASE) INTEGER STR(1) INTEGER CASE INTEGER I IF((CASE.NE.2))GOTO 11997 I=1 GOTO 12000 11998 I=I+(1) 12000 IF((STR(I).EQ.0))GOTO 12002 IF((225.GT.STR(I)))GOTO 11998 IF((STR(I).GT.250))GOTO 11998 STR(I)=STR(I)-225+193 12001 GOTO 11998 11997 I=1 GOTO 12005 12003 I=I+(1) 12005 IF((STR(I).EQ.0))GOTO 12004 IF((193.GT.STR(I)))GOTO 12003 IF((STR(I).GT.218))GOTO 12003 STR(I)=STR(I)-193+225 12006 GOTO 12003 12004 CONTINUE 12002 MAPSTR=I-1 RETURN END INTEGER FUNCTION MAPSU(STDUN0) INTEGER STDUN0 COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 AAAIR0 INTEGER AAAIS0 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)) MAPSU=STDUN0 IF((MAPSU.LE.0))GOTO 12007 RETURN 12007 DO 12008 I=1,10 AAAIR0=MAPSU GOTO 12010 12011 MAPSU=STDPO0(1) GOTO 12012 12013 MAPSU=STDPO0(3) GOTO 12012 12014 MAPSU=STDPO0(5) GOTO 12012 12015 MAPSU=STDPO0(2) GOTO 12012 12016 MAPSU=STDPO0(4) GOTO 12012 12017 MAPSU=STDPO0(6) GOTO 12012 12010 AAAIS0=AAAIR0+16 GOTO(12017,12014,12016,12013,12015,12011),AAAIS0 RETURN 12012 CONTINUE 12008 CONTINUE 12009 MAPSU=1 RETURN END INTEGER FUNCTION MAPUP(C) INTEGER C IF((225.GT.C))GOTO 12018 IF((C.GT.250))GOTO 12018 MAPUP=C-225+193 GOTO 12019 12018 MAPUP=C 12019 RETURN END INTEGER * 4 FUNCTION MARKF(FD) INTEGER FD COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 F,OFF INTEGER MAPSU INTEGER * 4 TMARK$,DMARK$ INTEGER AAAIT0 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)) F=MAPSU(FD) OFF=F*16-16+1 IF((F.LT.1))GOTO 12021 IF((F.GT.128))GOTO 12021 IF((AND(FDFLA0(OFF),:004000).NE.0))GOTO 12021 IF((FDFLA0(OFF).EQ.0))GOTO 12021 GOTO 12020 12021 MARKF=-3 RETURN 12020 IF((AND(FDFLA0(OFF),:000017).EQ.0))GOTO 12022 CALL FLUSH$(F) FDFLA0(OFF)=AND(FDFLA0(OFF),NOT(:000017))+0 12022 AAAIT0=FDDEV0(OFF) GOTO 12023 12024 MARKF=TMARK$(OFF) RETURN 12025 MARKF=DMARK$(OFF) RETURN 12026 MARKF=0 RETURN 12023 GOTO(12024,12025,12026),AAAIT0 MARKF=-3 RETURN END INTEGER FUNCTION MATCH(LIN,PAT) INTEGER LIN(1),PAT(256) INTEGER AMATCH INTEGER I,JUNK(9) I=1 GOTO 12029 12027 I=I+(1) 12029 IF((LIN(I).EQ.0))GOTO 12028 IF((AMATCH(LIN,I,PAT,JUNK,JUNK).LE.0))GOTO 12027 MATCH=1 RETURN 12028 MATCH=0 RETURN END INTEGER FUNCTION MKDIR$(NAME,OWNER,NONOW0) INTEGER NAME(1),OWNER(1),NONOW0(1) INTEGER NEWDIR(16),OPW(3),NPW(3),ATTACH,CODE,I,JUNK(3) INTEGER GETTO,FINDF$,CTOP MKDIR$=-3 DO 12031 I=1,3 OPW(I)=' ' NPW(I)=' ' 12031 CONTINUE 12032 I=1 IF((CTOP(OWNER,I,OPW,3).NE.0))GOTO 12033 OPW(1)=0 12033 I=1 IF((CTOP(NONOW0,I,NPW,3).NE.0))GOTO 12034 NPW(1)=0 12034 IF((GETTO(NAME,NEWDIR,JUNK,ATTACH).EQ.-3))GOTO 12035 IF((FINDF$(NEWDIR).NE.0))GOTO 12035 CALL CREA$$(NEWDIR,32,OPW,NPW,CODE) CALL SATR$$(:1,NEWDIR,32,117506048,JUNK) IF((CODE.NE.0))GOTO 12036 MKDIR$=-2 12036 CONTINUE 12035 IF((ATTACH.EQ.0))GOTO 12037 CALL AT$HOM(CODE) 12037 RETURN END INTEGER FUNCTION MKFD$(UNIT,MODE) INTEGER UNIT,MODE COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 FD,GETFD$ INTEGER F INTEGER AAAIU0 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)) IF((GETFD$(FD).NE.-3))GOTO 12038 MKFD$=-3 RETURN 12038 F=FD*16-16+1 CALL BREAK$(1) FDDEV0(F)=2 FDUNI0(F)=UNIT FDBUG0(F)=FD*128-128 FDBUH0(F)=128 FDBUI0(F)=0 FDCOU0(F)=0 FDBCO0(F)=0 FDFLA0(F)=:001000+:002000+0 AAAIU0=AND(MODE,3) GOTO 12039 12040 FDFLA0(F)=OR(FDFLA0(F),:040000) GOTO 12041 12042 FDFLA0(F)=OR(FDFLA0(F),:020000) GOTO 12041 12043 FDFLA0(F)=OR(FDFLA0(F),:040000+:020000) GOTO 12041 12039 GOTO(12040,12042,12043),AAAIU0 12041 CALL BREAK$(0) MKFD$=FD RETURN END INTEGER FUNCTION MKPA$(TREE,PATH,DEFAZ0) INTEGER PATH(1),TREE(1) INTEGER DEFAZ0 INTEGER I,TP INTEGER INDEX INTEGER MAPDN INTEGER AAAIV0 INTEGER AAAIW0(3) INTEGER AAAIX0(3) INTEGER AAAIY0 INTEGER AAAIZ0 DATA AAAIW0/175,175,0/ DATA AAAIX0/175,175,0/ I=1 12045 IF((TREE(I).NE.160))GOTO 12046 I=I+(1) GOTO 12045 12046 IF((INDEX(TREE,190).NE.0))GOTO 12047 IF((DEFAZ0.NE.1))GOTO 12048 CALL SCOPY(AAAIW0,1,PATH,1) TP=3 GOTO 12049 12048 TP=1 12049 AAAIV0=1 GOTO 12044 12050 MKPA$=TP-1 RETURN 12047 IF((TREE(I).NE.188))GOTO 12051 TP=1 GOTO 12052 12051 IF((TREE(I).NE.170))GOTO 12053 IF((TREE(I+1).NE.190))GOTO 12053 I=I+(2) TP=1 GOTO 12054 12053 CALL SCOPY(AAAIX0,1,PATH,1) I=1 TP=3 12054 CONTINUE 12052 AAAIV0=2 GOTO 12044 12055 MKPA$=TP-1 RETURN 12044 CONTINUE 12056 IF((TREE(I).NE.160))GOTO 12057 I=I+(1) GOTO 12056 12057 CONTINUE 12058 IF((TREE(I).EQ.0))GOTO 12059 AAAIY0=TREE(I) GOTO 12060 12061 CONTINUE 12062 IF((TREE(I).NE.160))GOTO 12063 I=I+(1) GOTO 12062 12063 PATH(TP)=175 GOTO 12064 12065 CONTINUE 12066 IF((TREE(I).NE.160))GOTO 12067 I=I+(1) GOTO 12066 12067 PATH(TP)=175 GOTO 12064 12068 PATH(TP)=192 PATH(TP+1)=175 TP=TP+(1) GOTO 12064 12069 CONTINUE 12070 IF((TREE(I).NE.160))GOTO 12071 I=I+(1) GOTO 12070 12071 IF((TREE(I).EQ.0))GOTO 12072 IF((TREE(I).EQ.190))GOTO 12072 PATH(TP)=186 12072 TP=TP+(1) 12073 IF((TREE(I).EQ.0))GOTO 12064 IF((TREE(I).EQ.190))GOTO 12064 PATH(TP)=TREE(I) TP=TP+(1) I=I+(1) GOTO 12073 12060 IF(AAAIY0.EQ.160)GOTO 12069 IF(AAAIY0.EQ.175)GOTO 12068 AAAIZ0=AAAIY0-187 GOTO(12061,12075,12065),AAAIZ0 12075 PATH(TP)=MAPDN(TREE(I)) 12064 I=I+(1) TP=TP+(1) GOTO 12058 12059 PATH(TP)=0 GOTO 12076 12076 GOTO(12050,12055),AAAIV0 GOTO 12076 END SUBROUTINE MKPACL INTEGER ACLVE0,ACLCO0,ACLTY0 INTEGER ACLPA0(41,32),ACLNA0(180) INTEGER PRIMO0(3) INTEGER ACLMO0(32) INTEGER ACLUS0(33,32) COMMON /ACL$00/ACLTY0,ACLNA0,ACLMO0,ACLUS0,PRIMO0 INTEGER I,J,K INTEGER TEMP(200) INTEGER ENCODE INTEGER AAAJA0(4) INTEGER AAAJB0(4) INTEGER AAAJC0(5) EQUIVALENCE (PRIMO0(1),ACLVE0) EQUIVALENCE (PRIMO0(2),ACLCO0) EQUIVALENCE (PRIMO0(3),ACLPA0) DATA AAAJA0/170,243,186,0/ DATA AAAJB0/225,236,236,0/ DATA AAAJC0/238,239,238,229,0/ ACLVE0=2 J=1 GOTO 12079 12077 J=J+(1) 12079 IF((J.GT.ACLCO0))GOTO 12078 I=ENCODE(TEMP,200,AAAJA0,ACLUS0(1,J)) I=I+(1) IF((ACLMO0(J).NE.127))GOTO 12080 CALL CTOC(AAAJB0,TEMP(I),4) GOTO 12081 12080 IF((ACLMO0(J).NE.0))GOTO 12082 CALL CTOC(AAAJC0,TEMP(I),5) GOTO 12083 12082 IF((AND(32,ACLMO0(J)).EQ.0))GOTO 12084 TEMP(I)=225 I=I+(1) 12084 IF((AND(64,ACLMO0(J)).EQ.0))GOTO 12085 TEMP(I)=228 I=I+(1) 12085 IF((AND(2,ACLMO0(J)).EQ.0))GOTO 12086 TEMP(I)=236 I=I+(1) 12086 IF((AND(1,ACLMO0(J)).EQ.0))GOTO 12087 TEMP(I)=240 I=I+(1) 12087 IF((AND(8,ACLMO0(J)).EQ.0))GOTO 12088 TEMP(I)=242 I=I+(1) 12088 IF((AND(4,ACLMO0(J)).EQ.0))GOTO 12089 TEMP(I)=245 I=I+(1) 12089 IF((AND(16,ACLMO0(J)).EQ.0))GOTO 12090 TEMP(I)=247 I=I+(1) 12090 TEMP(I)=0 I=I+(1) 12083 CONTINUE 12081 K=1 CALL CTOV(TEMP,K,ACLPA0(1,J),41) GOTO 12077 12078 RETURN END INTEGER FUNCTION MKSACL(RETAC0,ACCET0,TYPE,SEPAR0) INTEGER RETAC0(1),ACCET0(1),SEPAR0(1) INTEGER TYPE INTEGER ACLVE0,ACLCO0,ACLTY0 INTEGER ACLPA0(41,32),ACLNA0(180) INTEGER PRIMO0(3) INTEGER ACLMO0(32) INTEGER ACLUS0(33,32) COMMON /ACL$00/ACLTY0,ACLNA0,ACLMO0,ACLUS0,PRIMO0 INTEGER I,COUNT INTEGER ENCODE,CTOC INTEGER AAAJD0(4) INTEGER AAAJE0(6) INTEGER AAAJF0(5) EQUIVALENCE (PRIMO0(1),ACLVE0) EQUIVALENCE (PRIMO0(2),ACLCO0) EQUIVALENCE (PRIMO0(3),ACLPA0) DATA AAAJD0/170,243,189,0/ DATA AAAJE0/164,238,239,238,229,0/ DATA AAAJF0/164,225,236,236,0/ CALL CTOC(ACLNA0,RETAC0,180) TYPE=ACLTY0 I=1 COUNT=1 GOTO 12093 12091 COUNT=COUNT+(1) 12093 IF((COUNT.GT.ACLCO0))GOTO 12092 I=I+(ENCODE(ACCET0(I),200,AAAJD0,ACLUS0(1,COUNT))) IF((ACLMO0(COUNT).NE.0))GOTO 12094 I=I+(CTOC(AAAJE0,ACCET0(I),200)) GOTO 12095 12094 IF((ACLMO0(COUNT).NE.127))GOTO 12096 I=I+(CTOC(AAAJF0,ACCET0(I),200)) GOTO 12097 12096 IF((AND(32,ACLMO0(COUNT)).EQ.0))GOTO 12098 ACCET0(I)=225 I=I+(1) 12098 IF((AND(64,ACLMO0(COUNT)).EQ.0))GOTO 12099 ACCET0(I)=228 I=I+(1) 12099 IF((AND(2,ACLMO0(COUNT)).EQ.0))GOTO 12100 ACCET0(I)=236 I=I+(1) 12100 IF((AND(1,ACLMO0(COUNT)).EQ.0))GOTO 12101 ACCET0(I)=240 I=I+(1) 12101 IF((AND(8,ACLMO0(COUNT)).EQ.0))GOTO 12102 ACCET0(I)=242 I=I+(1) 12102 IF((AND(4,ACLMO0(COUNT)).EQ.0))GOTO 12103 ACCET0(I)=245 I=I+(1) 12103 IF((AND(16,ACLMO0(COUNT)).EQ.0))GOTO 12104 ACCET0(I)=247 I=I+(1) 12104 CONTINUE 12097 CONTINUE 12095 I=I+(ENCODE(ACCET0(I),200,SEPAR0)) GOTO 12091 12092 MKSACL=I-1 RETURN END INTEGER FUNCTION MKTABL(NODES0) INTEGER NODES0 INTEGER MEMAA0(1) COMMON /DS$MEM/MEMAA0 INTEGER ST INTEGER DSGET INTEGER I ST=DSGET(43+1) MEMAA0(ST)=NODES0 MKTABL=ST DO 12105 I=1,43 ST=ST+(1) MEMAA0(ST)=0 12105 CONTINUE 12106 RETURN END INTEGER FUNCTION MKTEMP(MODE) INTEGER MODE INTEGER I,FD INTEGER TEMPF(15) INTEGER CREATE INTEGER AAAJG0(12) DATA AAAJG0/189,244,229,237,240,189,175,244,237,170,233,0/ I=1 GOTO 12109 12107 I=I+(1) 12109 IF((I.GT.999))GOTO 12108 CALL ENCODE(TEMPF,15,AAAJG0,I) FD=CREATE(TEMPF,MODE) IF((FD.EQ.-3))GOTO 12107 MKTEMP=FD RETURN 12108 MKTEMP=-3 RETURN END INTEGER FUNCTION MKTR$(PATH,TREE) INTEGER PATH(1),TREE(1) INTEGER AAAJI0 INTEGER AAAJJ0 INTEGER TP,I,MFDPWD,BLANK INTEGER INDEX,SCOPY INTEGER AAAJK0 INTEGER AAAJL0(5) INTEGER AAAJM0(12) INTEGER AAAJH0 INTEGER AAAJN0,AAAJO0(256) INTEGER AAAJP0(12) DATA AAAJL0/190,205,198,196,0/ DATA AAAJM0/190,205,198,196,160,216,216,216,216,216,216,0/ DATA AAAJP0/190,205,198,196,160,216,216,216,216,216,216,0/ TP=1 I=1 12113 IF((PATH(I).NE.160))GOTO 12114 I=I+(1) GOTO 12113 12114 BLANK=0 AAAJK0=PATH(I) GOTO 12115 12116 MFDPWD=0 IF((PATH(I+1).NE.175))GOTO 12117 I=I+(2) GOTO 12120 12118 I=I+(1) 12120 IF((PATH(I).NE.175))GOTO 12143 GOTO 12118 12117 AAAJH0=188 AAAJI0=1 GOTO 12111 12122 I=I+(1) GOTO 12125 12123 I=I+(1) 12125 IF((PATH(I).EQ.175))GOTO 12124 IF((PATH(I).EQ.0))GOTO 12124 IF((PATH(I).NE.192))GOTO 12126 I=I+(1) AAAJH0=PATH(I) AAAJI0=2 GOTO 12111 12126 IF((PATH(I).NE.186))GOTO 12129 TP=TP+(SCOPY(AAAJL0,1,TREE,TP)) MFDPWD=1 BLANK=1 GOTO 12130 12129 IF((BLANK.NE.1))GOTO 12131 AAAJH0=160 AAAJI0=3 GOTO 12111 12132 CONTINUE 12131 AAAJH0=PATH(I) AAAJI0=4 GOTO 12111 12133 BLANK=0 12130 CONTINUE 12128 GOTO 12123 12124 IF((PATH(I).EQ.175))GOTO 12134 IF((MFDPWD.NE.0))GOTO 12134 TP=TP+(SCOPY(AAAJM0,1,TREE,TP)) 12134 CONTINUE 12121 GOTO 12143 12136 AAAJJ0=1 GOTO 12112 12115 IF(AAAJK0.EQ.0)GOTO 12143 IF(AAAJK0.EQ.175)GOTO 12116 IF(AAAJK0.EQ.220)GOTO 12136 AAAJH0=170 AAAJI0=5 GOTO 12111 12139 AAAJH0=190 AAAJI0=6 GOTO 12111 12140 CONTINUE 12135 GOTO 12143 12141 I=I+(1) 12143 IF((PATH(I).EQ.0))GOTO 12142 IF((PATH(I).NE.175))GOTO 12144 BLANK=0 12145 IF((PATH(I+1).NE.175))GOTO 12146 I=I+(1) GOTO 12145 12146 IF((PATH(I+1).EQ.0))GOTO 12141 AAAJH0=190 AAAJI0=7 GOTO 12111 12148 CONTINUE 12147 GOTO 12141 12144 IF((PATH(I).NE.186))GOTO 12150 BLANK=1 GOTO 12151 12150 IF((BLANK.NE.1))GOTO 12152 AAAJH0=160 AAAJI0=8 GOTO 12111 12153 CONTINUE 12152 IF((PATH(I).NE.192))GOTO 12154 I=I+(1) 12154 AAAJH0=PATH(I) AAAJI0=9 GOTO 12111 12155 BLANK=0 12151 CONTINUE 12149 GOTO 12141 12142 TREE(TP)=0 MKTR$=TP-1 RETURN 12111 TREE(TP)=AAAJH0 TP=TP+(1) GOTO 12156 12112 CALL GPATH$(2,0,AAAJO0,256*2-1,TP,AAAJN0) IF((AAAJN0.EQ.0))GOTO 12157 MKTR$=-3 RETURN 12157 CALL PTOC(AAAJO0,0,TREE,TP+1) CALL MAPSTR(TREE,1) TP=TP+(1) GOTO 12160 12158 I=I+(1) 12160 IF((PATH(I).NE.220))GOTO 12159 12161 TP=TP-(1) IF((TP.LT.1))GOTO 12162 IF((TREE(TP).EQ.190))GOTO 12162 GOTO 12161 12162 CONTINUE GOTO 12158 12159 IF((TP.GE.1))GOTO 12163 TP=1 12163 TREE(TP)=0 IF((PATH(I).EQ.175))GOTO 12164 IF((PATH(I).EQ.0))GOTO 12164 AAAJH0=190 AAAJI0=10 GOTO 12111 12164 IF((PATH(I).NE.0))GOTO 12167 IF((INDEX(TREE,190).NE.0))GOTO 12167 TP=TP+(SCOPY(AAAJP0,1,TREE,TP)) 12167 CONTINUE 12166 GOTO 12143 12156 GOTO(12122,12123,12132,12133,12139,12140,12148,12153,12155,12143), *AAAJI0 GOTO 12156 END INTEGER FUNCTION MNTOC(BUF,P,DEFAZ0) INTEGER BUF(1),DEFAZ0 INTEGER P INTEGER I,TP INTEGER STRBSR INTEGER C,TMP(102) INTEGER POS(35) INTEGER TEXT(156) DATA TEXT/134,225,227,235,0,135,226,229,236,0,136,226,243,0,152,22 *7,225,238,0,141,227,242,0,145,228,227,177,0,146,228,227,178,0,147, *228,227,179,0,148,228,227,180,0,255,228,229,236,0,144,228,236,229, *0,153,229,237,0,133,229,238,241,0,132,229,239,244,0,155,229,243,22 *7,0,151,229,244,226,0,131,229,244,248,0,140,230,230,0,156,230,243, *0,157,231,243,0,137,232,244,0,138,236,230,0,149,238,225,235,0,128, *238,245,236,0,158,242,243,0,143,243,233,0,142,243,239,0,129,243,23 *9,232,0,160,243,240,0,130,243,244,248,0,154,243,245,226,0,150,243, *249,238,0,159,245,243,0,139,246,244,0/ DATA POS/34,1,6,11,15,20,24,29,34,39,44,49,54,58,63,68,73,78,83,87 *,91,95,99,103,108,113,117,121,125,130,134,139,144,149,153/ IF((BUF(P).NE.0))GOTO 12169 MNTOC=DEFAZ0 RETURN 12169 TP=1 12170 TMP(TP)=BUF(P) TP=TP+(1) P=P+(1) IF((193.GT.BUF(P)))GOTO 12173 IF((BUF(P).GT.218))GOTO 12173 GOTO 12172 12173 IF((225.GT.BUF(P)))GOTO 12174 IF((BUF(P).GT.250))GOTO 12174 GOTO 12172 12174 IF((176.GT.BUF(P)))GOTO 12171 IF((BUF(P).GT.185))GOTO 12171 GOTO 12172 12172 IF((TP.GE.102))GOTO 12171 GOTO 12170 12171 CONTINUE TMP(TP)=0 IF((TP.NE.2))GOTO 12176 C=TMP(1) GOTO 12177 12176 CALL MAPSTR(TMP,1) I=STRBSR(POS,TEXT,1,TMP) IF((I.EQ.-1))GOTO 12178 C=TEXT(POS(I)) GOTO 12179 12178 C=DEFAZ0 12179 CONTINUE 12177 MNTOC=C RETURN END INTEGER FUNCTION OMATCH(LIN,I,PAT,J) INTEGER LIN(1),PAT(256) INTEGER I,J INTEGER LOCATE INTEGER BUMP INTEGER AAAJQ0 INTEGER AAAJR0 INTEGER AAAJS0(24) DATA AAAJS0/233,238,160,239,237,225,244,227,232,186,160,227,225,23 *8,167,244,160,232,225,240,240,229,238,0/ OMATCH=0 IF((LIN(I).NE.0))GOTO 12180 RETURN 12180 BUMP=-1 AAAJQ0=PAT(J) GOTO 12181 12182 IF((LIN(I).NE.PAT(J+1)))GOTO 12184 BUMP=1 12183 GOTO 12184 12185 IF((I.NE.1))GOTO 12184 BUMP=0 12186 GOTO 12184 12187 IF((LIN(I).EQ.138))GOTO 12184 BUMP=1 12188 GOTO 12184 12189 IF((LIN(I).NE.138))GOTO 12184 BUMP=0 12190 GOTO 12184 12191 IF((LOCATE(LIN(I),PAT,J+1).NE.1))GOTO 12184 BUMP=1 12192 GOTO 12184 12193 IF((LIN(I).EQ.138))GOTO 12184 IF((LOCATE(LIN(I),PAT,J+1).NE.0))GOTO 12184 BUMP=1 12194 GOTO 12184 12181 AAAJR0=AAAJQ0-163 GOTO(12189,12185),AAAJR0 IF(AAAJQ0.EQ.191)GOTO 12187 AAAJR0=AAAJQ0-218 GOTO(12191,12195,12195,12195,12195,12195,12182),AAAJR0 IF(AAAJQ0.EQ.238)GOTO 12193 12195 CALL ERROR(AAAJS0) 12184 IF((BUMP.LT.0))GOTO 12196 I=I+(BUMP) OMATCH=1 12196 RETURN END INTEGER FUNCTION OPEN(PATH,MODE,FTYPE,DELAY) INTEGER PATH(1) INTEGER MODE,FTYPE,DELAY COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 FD,F,I,J INTEGER DOPEN$,LOPEN$,MAPDN,STRBSR,EXPAND,GETFD$ INTEGER DEVNA0(30),EPATH(180) INTEGER DEVPOS(14) INTEGER DEVTAB(110) INTEGER AAAJU0 INTEGER AAAJV0 INTEGER AAAJW0 INTEGER AAAJT0 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 DEVTAB/1,-14,229,242,242,233,238,0,1,-15,229,242,242,239,245, *244,0,4,0,236,240,243,0,2,0,238,245,236,236,0,1,-10,243,244,228,23 *3,238,0,1,-10,243,244,228,233,238,177,0,1,-12,243,244,228,233,238, *178,0,1,-14,243,244,228,233,238,179,0,1,-11,243,244,228,239,245,24 *4,0,1,-11,243,244,228,239,245,244,177,0,1,-13,243,244,228,239,245, *244,178,0,1,-15,243,244,228,239,245,244,179,0,3,0,244,244,249,0/ DATA DEVPOS/13,1,9,18,24,31,39,48,57,66,75,85,95,105/ IF((GETFD$(FD).NE.-3))GOTO 12198 OPEN=-3 RETURN 12198 F=FD*16-16+1 CALL BREAK$(1) FDBUG0(F)=FD*128-128 FDBUH0(F)=128 FDBUI0(F)=0 FDCOU0(F)=0 FDBCO0(F)=0 AAAJV0=AND(MODE,3) GOTO 12199 12200 FDFLA0(F)=:040000 GOTO 12201 12202 FDFLA0(F)=:020000 GOTO 12201 12203 FDFLA0(F)=:040000+:020000 GOTO 12201 12199 GOTO(12200,12202,12203),AAAJV0 AAAJT0=-3 AAAJU0=1 GOTO 12197 12204 CONTINUE 12201 FDFLA0(F)=OR(FDFLA0(F),:001000+0) IF((EXPAND(PATH,EPATH,180).NE.-3))GOTO 12205 AAAJT0=-3 AAAJU0=2 GOTO 12197 12206 CONTINUE 12205 I=1 12207 IF((EPATH(I).NE.160))GOTO 12208 I=I+(1) GOTO 12207 12208 IF((EPATH(I+0).NE.175))GOTO 12210 IF((MAPDN(EPATH(I+1)).NE.228))GOTO 12210 IF((MAPDN(EPATH(I+2)).NE.229))GOTO 12210 IF((MAPDN(EPATH(I+3)).NE.246))GOTO 12210 IF((EPATH(I+4).NE.175))GOTO 12210 GOTO 12209 12210 FDDEV0(F)=2 AAAJT0=DOPEN$(PATH,FD,MODE,FTYPE,DELAY) AAAJU0=3 GOTO 12197 12211 CONTINUE 12209 I=I+(5) J=1 GOTO 12214 12212 J=J+(1) I=I+(1) 12214 IF((EPATH(I).EQ.0))GOTO 12213 IF((EPATH(I).EQ.175))GOTO 12213 IF((EPATH(I).EQ.160))GOTO 12213 DEVNA0(J)=MAPDN(EPATH(I)) GOTO 12212 12213 DEVNA0(J)=0 J=STRBSR(DEVPOS,DEVTAB,2,DEVNA0) IF((J.NE.-1))GOTO 12215 AAAJT0=-3 AAAJU0=4 GOTO 12197 12216 CONTINUE 12215 AAAJW0=DEVTAB(DEVPOS(J)) GOTO 12217 12218 FDFLA0(F)=0 AAAJT0=DEVTAB(DEVPOS(J)+1) AAAJU0=5 GOTO 12197 12221 FDDEV0(F)=3 AAAJT0=FD AAAJU0=6 GOTO 12197 12223 FDDEV0(F)=1 AAAJT0=FD AAAJU0=7 GOTO 12197 12225 FDDEV0(F)=2 AAAJT0=LOPEN$(EPATH(I),FD,MODE) AAAJU0=8 GOTO 12197 12217 GOTO(12218,12221,12223,12225),AAAJW0 12220 FDFLA0(F)=0 CALL BREAK$(0) OPEN=-3 RETURN 12197 IF((AAAJT0.NE.-3))GOTO 12227 FDFLA0(F)=0 12227 CALL BREAK$(0) OPEN=AAAJT0 RETURN 12228 GOTO(12204,12206,12211,12216,12220,12220,12220,12220),AAAJU0 GOTO 12228 END INTEGER FUNCTION PAGE(FDIN,PROMP0,EPROM0,LINES0,FDOUT,OPTIO0) INTEGER PROMP0(1),EPROM0(1) INTEGER FDIN,FDOUT INTEGER LINES0,OPTIO0 EXTERNAL PG$BRK INTEGER OPEN INTEGER * 4 MARKF INTEGER ISATTY,VTINIT,VTPRT,VTGETL,GETLIN,CTOI,MAKPAT,MATCH,SCOPY LOGICAL MISSIN INTEGER TERM(7),SCREEN(86,64),INPUT(102),LINE(102),TEMP(102),PROMP *T(102),EPRON0(102),MESSA0(102),EMESS0(102) INTEGER * 4 PAGES(10000) INTEGER VTHRC(2),TEMPAT(256),PATTE0(256) INTEGER LABEL(4) INTEGER IFD,OFD,TIFD,TOFD INTEGER PG,LAST,INDEX,LINES,COLUM0,SIZE,FIRST,START,BEGIN,CLEAR,I, *J,K,L,M,MISSI0 LOGICAL PAUSE,VTHOUT,ERROR,NOREAD,NOPAT,FOUND INTEGER HELPI0(23) INTEGER HELPS0(1062) COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 AAAJY0 INTEGER AAAJZ0 INTEGER AAAKB0 INTEGER AAAKD0 INTEGER AAAKE0(3) INTEGER AAAKF0(3) INTEGER AAAKG0 INTEGER AAAKH0(12) INTEGER AAAKI0(12) INTEGER AAAKJ0(24) INTEGER AAAKK0(24) INTEGER AAAKL0(5) INTEGER AAAKM0(24) INTEGER AAAKN0(24) INTEGER AAAKO0(28) INTEGER AAAKP0(28) INTEGER AAAKQ0(26) INTEGER AAAKR0(26) INTEGER AAAKS0(25) INTEGER AAAKT0(25) INTEGER AAAKU0(32) INTEGER AAAKV0(32) INTEGER AAAKW0(26) INTEGER AAAKX0(26) INTEGER AAAKY0(25) INTEGER AAAKZ0(25) INTEGER AAALA0(32) INTEGER AAALB0(32) INTEGER AAALC0(26) INTEGER AAALD0(26) INTEGER AAALE0 INTEGER AAALF0(44) INTEGER AAALG0(44) INTEGER AAAJX0 INTEGER AAALH0 LOGICAL AAALI0 INTEGER AAALJ0 INTEGER AAALK0(5) INTEGER AAAKA0 INTEGER AAALL0,AAALM0 INTEGER AAAKC0 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 HELPS0/212,232,229,160,230,239,236,236,239,247,233,238,231,16 *0,227,239,237,237,225,238,228,243,160,168,245,240,240,229,242,160, *239,242,160,236,239,247,229,242,160,227,225,243,229,169,160,225,24 *2,229,160,225,246,225,233,236,225,226,236,229,186,0,160,160,160,16 *0,160,160,196,160,188,233,238,244,190,160,160,160,160,160,160,160, *196,233,243,240,236,225,249,160,188,233,238,244,190,160,227,239,23 *8,244,233,238,245,239,245,243,160,240,225,231,229,243,0,160,160,16 *0,160,160,160,197,160,188,240,225,244,232,190,160,160,160,160,160, *160,194,229,231,233,238,160,229,248,225,237,233,238,233,238,231,16 *0,244,232,229,160,230,233,236,229,160,238,225,237,229,228,160,188, *240,225,244,232,190,0,160,160,160,160,160,160,197,160,160,160,160, *160,160,160,160,160,160,160,160,160,194,229,231,233,238,160,229,24 *8,225,237,233,238,233,238,231,160,244,232,229,160,239,242,233,231, *233,238,225,236,160,230,233,236,229,0,160,160,160,160,160,160,200, *160,239,242,160,191,160,160,160,160,160,160,160,160,196,233,243,24 *0,236,225,249,160,244,232,233,243,160,227,239,237,237,225,238,228, *160,243,245,237,237,225,242,249,0,160,160,160,160,160,160,205,160, *188,233,238,244,190,160,160,160,160,160,160,160,195,232,225,238,23 *1,229,160,236,229,230,244,160,237,225,242,231,233,238,160,239,230, *160,228,233,243,240,236,225,249,0,160,160,160,160,160,160,206,160, *160,160,160,160,160,160,160,160,160,160,160,160,211,244,239,240,16 *0,240,225,231,233,238,231,172,160,238,239,242,237,225,236,160,243, *244,225,244,245,243,0,160,160,160,160,160,160,208,160,239,242,160, *222,160,160,160,160,160,160,160,160,196,233,243,240,236,225,249,16 *0,244,232,229,160,240,242,229,246,233,239,245,243,160,240,225,231, *229,0,160,160,160,160,160,160,209,160,160,160,160,160,160,160,160, *160,160,160,160,160,211,225,237,229,160,225,243,160,162,206,162,0, *160,160,160,160,160,160,211,160,188,233,238,244,190,160,160,160,16 *0,160,160,160,195,232,225,238,231,229,160,240,225,231,229,160,243, *233,250,229,160,244,239,160,188,233,238,244,190,0,160,160,160,160, *160,160,215,160,188,240,225,244,232,190,160,160,160,160,160,160,21 *5,242,233,244,229,160,225,160,227,239,240,249,160,239,230,160,244, *232,229,160,230,233,236,229,160,233,238,244,239,160,188,240,225,24 *4,232,190,0,160,160,160,160,160,160,216,160,160,160,160,160,160,16 *0,160,160,160,160,160,160,211,244,239,240,160,240,225,231,233,238, *231,172,160,197,207,198,160,243,244,225,244,245,243,0,160,160,160, *160,160,160,217,160,239,242,160,186,160,160,160,160,160,160,160,16 *0,199,239,160,244,239,160,244,232,229,160,238,229,248,244,160,240, *225,231,229,0,160,160,160,160,160,160,188,227,244,242,236,173,227, *190,160,160,160,160,160,160,211,225,237,229,160,225,243,160,162,21 *6,162,172,160,228,239,229,243,160,238,239,244,160,247,239,242,235, *160,247,233,244,232,160,246,244,232,0,160,160,160,160,160,160,188, *242,229,244,245,242,238,190,160,160,160,160,160,160,211,225,237,22 *9,160,225,243,160,162,217,162,0,160,160,160,160,160,160,188,233,23 *8,244,190,160,160,160,160,160,160,160,160,160,196,233,243,240,236, *225,249,160,240,225,231,229,160,188,233,238,244,190,0,160,160,160, *160,160,160,173,160,188,233,238,244,190,160,160,160,160,160,160,16 *0,196,233,243,240,236,225,249,160,227,245,242,242,229,238,244,160, *240,225,231,229,160,173,160,188,233,238,244,190,0,160,160,160,160, *160,160,174,160,160,160,160,160,160,160,160,160,160,160,160,160,21 *0,229,228,233,243,240,236,225,249,160,244,232,229,160,227,245,242, *242,229,238,244,160,240,225,231,229,0,160,160,160,160,160,160,171, *160,188,233,238,244,190,160,160,160,160,160,160,160,196,233,243,24 *0,236,225,249,160,227,245,242,242,229,238,244,160,240,225,231,229, *160,171,160,188,233,238,244,190,0,160,160,160,160,160,160,164,160, *160,160,160,160,160,160,160,160,160,160,160,160,196,233,243,240,23 *6,225,249,160,244,232,229,160,236,225,243,244,160,240,225,231,229, *0,160,160,160,160,160,160,175,188,240,225,244,190,219,175,221,160, *160,160,160,160,196,233,243,240,236,225,249,160,238,229,248,244,16 *0,240,225,231,229,160,227,239,238,244,225,233,238,233,238,231,160, *188,240,225,244,190,0,160,160,160,160,160,160,220,188,240,225,244, *190,219,220,221,160,160,160,160,160,196,233,243,240,236,225,249,16 *0,240,242,229,246,233,239,245,243,160,240,225,231,229,160,227,239, *238,244,225,233,238,233,238,231,160,188,240,225,244,190,0/ DATA HELPI0/22,1,61,112,170,224,273,323,370,416,448,494,551,595,63 *5,691,723,762,811,858,907,949,1004/ DATA AAAKE0/170,243,0/ DATA AAAKF0/170,243,0/ DATA AAAKH0/170,243,160,219,170,170,233,171,221,191,160,0/ DATA AAAKI0/170,243,160,219,170,170,233,164,221,191,160,0/ DATA AAAKJ0/170,243,186,160,227,225,238,167,244,160,239,240,229,23 *8,160,219,170,170,233,171,221,191,160,0/ DATA AAAKK0/170,243,186,160,227,225,238,167,244,160,239,240,229,23 *8,160,219,170,170,233,164,221,191,160,0/ DATA AAAKL0/170,243,170,238,0/ DATA AAAKM0/170,243,186,160,227,225,238,167,244,160,239,240,229,23 *8,160,219,170,170,233,171,221,191,160,0/ DATA AAAKN0/170,243,186,160,227,225,238,167,244,160,239,240,229,23 *8,160,219,170,170,233,164,221,191,160,0/ DATA AAAKO0/198,233,236,229,160,225,236,242,229,225,228,249,160,22 *9,248,233,243,244,243,160,219,170,233,171,221,191,160,0/ DATA AAAKP0/198,233,236,229,160,225,236,242,229,225,228,249,160,22 *9,248,233,243,244,243,160,219,170,233,164,221,191,160,0/ DATA AAAKQ0/208,225,244,232,160,238,225,237,229,160,237,233,243,24 *3,233,238,231,160,219,170,233,171,221,191,160,0/ DATA AAAKR0/208,225,244,232,160,238,225,237,229,160,237,233,243,24 *3,233,238,231,160,219,170,233,164,221,191,160,0/ DATA AAAKS0/206,239,160,243,225,246,229,228,160,240,225,244,244,22 *9,242,238,160,219,170,233,171,221,191,160,0/ DATA AAAKT0/206,239,160,243,225,246,229,228,160,240,225,244,244,22 *9,242,238,160,219,170,233,164,221,191,160,0/ DATA AAAKU0/211,249,238,244,225,248,160,229,242,242,239,242,160,23 *3,238,160,240,225,244,244,229,242,238,160,219,170,233,171,221,191, *160,0/ DATA AAAKV0/211,249,238,244,225,248,160,229,242,242,239,242,160,23 *3,238,160,240,225,244,244,229,242,238,160,219,170,233,164,221,191, *160,0/ DATA AAAKW0/208,225,244,244,229,242,238,160,238,239,244,160,230,23 *9,245,238,228,160,219,170,233,171,221,191,160,0/ DATA AAAKX0/208,225,244,244,229,242,238,160,238,239,244,160,230,23 *9,245,238,228,160,219,170,233,164,221,191,160,0/ DATA AAAKY0/206,239,160,243,225,246,229,228,160,240,225,244,244,22 *9,242,238,160,219,170,233,171,221,191,160,0/ DATA AAAKZ0/206,239,160,243,225,246,229,228,160,240,225,244,244,22 *9,242,238,160,219,170,233,164,221,191,160,0/ DATA AAALA0/211,249,238,244,225,248,160,229,242,242,239,242,160,23 *3,238,160,240,225,244,244,229,242,238,160,219,170,233,171,221,191, *160,0/ DATA AAALB0/211,249,238,244,225,248,160,229,242,242,239,242,160,23 *3,238,160,240,225,244,244,229,242,238,160,219,170,233,164,221,191, *160,0/ DATA AAALC0/208,225,244,244,229,242,238,160,238,239,244,160,230,23 *9,245,238,228,160,219,170,233,171,221,191,160,0/ DATA AAALD0/208,225,244,244,229,242,238,160,238,239,244,160,230,23 *9,245,238,228,160,219,170,233,164,221,191,160,0/ DATA AAALF0/213,238,235,238,239,247,238,160,227,239,237,237,225,23 *8,228,172,160,229,238,244,229,242,160,167,191,167,160,230,239,242, *160,232,229,236,240,160,219,170,233,171,221,191,160,0/ DATA AAALG0/213,238,235,238,239,247,238,160,227,239,237,237,225,23 *8,228,172,160,229,238,244,229,242,160,167,191,167,160,230,239,242, *160,232,229,236,240,160,219,170,233,164,221,191,160,0/ DATA AAALK0/170,243,170,238,0/ IFD=FDIN OFD=FDOUT IF((ISATTY(OFD).NE.0))GOTO 12233 CALL FCOPY(IFD,OFD) PAGE=-2 RETURN 12233 CALL CTOC(PROMP0,PROMPT,102) CALL CTOC(EPROM0,EPRON0,102) IF((.NOT.MISSIN(OPTIO0)))GOTO 12234 PAUSE=.TRUE. VTHOUT=.FALSE. GOTO 12235 12234 PAUSE=AND(OPTIO0,1).EQ.0 VTHOUT=AND(OPTIO0,2).NE.0 12235 CALL BREAK$(1) DO 12236 I=1,4 LABEL(I)=RTLAB0(I) 12236 CONTINUE 12237 CALL MKLB$F($1,RTLAB0) CALL MKON$F('QUIT$',5,PG$BRK) IF((.NOT.VTHOUT))GOTO 12238 VTHOUT=VTINIT(TERM).EQ.-2 IF((.NOT.VTHOUT))GOTO 12239 CALL VTINFO(1,VTHRC) LINES=VTHRC(1)-1 COLUM0=VTHRC(2) CALL VTUPD(1) 12239 CONTINUE 12238 IF(VTHOUT)GOTO 12240 LINES=MIN0(MAX0(LINES0,1),64) COLUM0=80 12240 PG=0 LAST=10000-1 SIZE=0 INDEX=0 FIRST=1 PAGES(1)=INTL(0) DO 12241 I=2,10000 PAGES(I)=INTL(-1) 12241 CONTINUE 12242 INPUT(1)=0 LINE(1)=0 ERROR=.FALSE. AAAJX0=1 AAAJY0=1 GOTO 12229 12243 NOREAD=.TRUE. NOPAT=.TRUE. CALL BREAK$(0) 12244 IF((.NOT.ERROR))GOTO 12245 ERROR=.FALSE. CLEAR=0 IF((PG.EQ.LAST))GOTO 12246 IF((.NOT.VTHOUT))GOTO 12247 START=1+VTPRT(VTHRC(1),1,MESSA0,PG) BEGIN=START+VTPRT(VTHRC(1),START,AAAKE0,INPUT)+1 GOTO 12252 12247 CALL PRINT(1,MESSA0,PG) 12248 GOTO 12252 12246 IF((.NOT.VTHOUT))GOTO 12250 START=1+VTPRT(VTHRC(1),1,EMESS0,PG) BEGIN=START+VTPRT(VTHRC(1),START,AAAKF0,INPUT)+1 GOTO 12251 12250 CALL PRINT(1,EMESS0,PG) 12251 CONTINUE 12249 GOTO 12252 12245 CLEAR=1 IF((.NOT.NOREAD))GOTO 12253 NOREAD=.FALSE. GOTO 12254 12253 AAAJX0=PG+1 AAAJY0=2 GOTO 12229 12255 CONTINUE 12254 AAAJZ0=1 GOTO 12230 12256 IF((PG.NE.LAST))GOTO 12257 IF((INDEX.EQ.0))GOTO 12259 IF((IFD.NE.FDIN))GOTO 12258 IF(PAUSE)GOTO 12258 GOTO 12259 12259 IF((IFD.EQ.FDIN))GOTO 12261 CALL CLOSE(IFD) 12261 AAAKC0=-2 AAAKD0=1 GOTO 12232 12262 CONTINUE 12258 IF((.NOT.VTHOUT))GOTO 12263 START=1+VTPRT(VTHRC(1),1,EPRON0,PG) BEGIN=START GOTO 12265 12263 CALL PRINT(1,EPRON0,PG) 12264 GOTO 12265 12257 IF((.NOT.VTHOUT))GOTO 12266 START=1+VTPRT(VTHRC(1),1,PROMPT,PG) BEGIN=START GOTO 12267 12266 CALL PRINT(1,PROMPT,PG) 12267 CONTINUE 12265 CONTINUE 12252 INPUT(1)=0 IF((.NOT.VTHOUT))GOTO 12268 CALL VTENB(VTHRC(1),START,VTHRC(2)-START+1) CALL VTREAD(VTHRC(1),BEGIN,CLEAR) CALL VTENB(VTHRC(1),START,0) SIZE=VTGETL(INPUT,VTHRC(1),START,VTHRC(2)-START+1) CALL VTCLR(VTHRC(1),1,VTHRC(1),VTHRC(2)) CALL VTUPD(0) GOTO 12269 12268 SIZE=GETLIN(INPUT,1) IF((SIZE.NE.-1))GOTO 12270 CALL PUTCH(138,1) IF((IFD.EQ.FDIN))GOTO 12271 CALL CLOSE(IFD) 12271 AAAKC0=-1 AAAKD0=2 GOTO 12232 12272 CONTINUE 12270 IF((INPUT(SIZE).NE.138))GOTO 12273 INPUT(SIZE)=0 12273 CONTINUE 12269 CALL STRIM(INPUT) I=1 12274 IF((INPUT(I).NE.160))GOTO 12275 I=I+(1) GOTO 12274 12275 AAAKG0=INPUT(I) GOTO 12276 12277 I=I+(1) J=MIN0(MAX0(CTOI(INPUT,I),1),10000-PG-1) K=1 GOTO 12280 12278 K=K+(1) 12280 IF((K.GE.J))GOTO 12279 IF((PG.EQ.LAST))GOTO 12279 AAAJX0=PG+1 AAAJY0=3 GOTO 12229 12281 IF((PG.EQ.LAST))GOTO 12278 AAAJZ0=2 GOTO 12230 12283 IF((.NOT.VTHOUT))GOTO 12284 CALL VTUPD(0) 12284 CONTINUE 12282 GOTO 12278 12279 IF((PG.NE.LAST))GOTO 12286 NOREAD=.TRUE. 12285 GOTO 12286 12287 I=I+(1) 12288 IF((INPUT(I).NE.160))GOTO 12289 I=I+(1) GOTO 12288 12289 IF((INPUT(I).EQ.0))GOTO 12290 TIFD=OPEN(INPUT(I),1) IF((TIFD.EQ.-3))GOTO 12291 IF((IFD.EQ.FDIN))GOTO 12292 CALL CLOSE(IFD) 12292 IFD=TIFD J=1 GOTO 12295 12293 I=I+(1) 12295 IF((INPUT(I).EQ.0))GOTO 12294 IF((J.GE.102-1))GOTO 12293 LINE(J)=INPUT(I) IF((LINE(J).NE.170))GOTO 12297 LINE(J+1)=170 J=J+(1) 12297 J=J+(1) 12296 GOTO 12293 12294 LINE(J)=0 CALL ENCODE(PROMPT,102,AAAKH0,LINE) CALL ENCODE(EPRON0,102,AAAKI0,LINE) GOTO 12299 12291 CALL ENCODE(MESSA0,102,AAAKJ0,INPUT(I)) CALL ENCODE(EMESS0,102,AAAKK0,INPUT(I)) ERROR=.TRUE. 12298 GOTO 12299 12290 IF((IFD.EQ.FDIN))GOTO 12300 CALL CLOSE(IFD) 12300 IFD=FDIN CALL CTOC(PROMP0,PROMPT,102) CALL CTOC(EPROM0,EPRON0,102) 12299 IF(ERROR)GOTO 12286 LAST=10000-1 DO 12302 J=2,10000 PAGES(J)=INTL(-1) 12302 CONTINUE 12303 AAAJX0=1 AAAJY0=4 GOTO 12229 12304 NOREAD=.TRUE. 12301 GOTO 12286 12305 IF((.NOT.VTHOUT))GOTO 12306 CALL VTCLR(1,1,LINES,VTHRC(2)) 12306 I=1 GOTO 12309 12307 I=I+(1) 12309 IF((I.GT.HELPI0(1)))GOTO 12308 IF((.NOT.VTHOUT))GOTO 12310 CALL VTPUTL(HELPS0(HELPI0(I+1)),I,1) GOTO 12307 12310 CALL PRINT(OFD,AAAKL0,HELPS0(HELPI0(I+1))) 12311 GOTO 12307 12308 INPUT(1)=0 CALL CTOC(PROMPT,MESSA0,102) CALL CTOC(EPRON0,EMESS0,102) ERROR=.TRUE. GOTO 12286 12312 I=I+(1) FIRST=MAX0(CTOI(INPUT,I),1) AAAJX0=PG AAAJY0=5 GOTO 12229 12313 NOREAD=.TRUE. GOTO 12286 12314 IF((IFD.EQ.FDIN))GOTO 12315 CALL CLOSE(IFD) 12315 AAAKC0=-2 AAAKD0=3 GOTO 12232 12317 AAAJX0=PG-1 AAAJY0=6 GOTO 12229 12318 NOREAD=.TRUE. GOTO 12286 12319 IF(VTHOUT)GOTO 12320 I=I+(1) LINES=MIN0(MAX0(CTOI(INPUT,I),1),64) DO 12321 J=2,10000 PAGES(J)=INTL(-1) 12321 CONTINUE 12322 AAAJX0=1 AAAJY0=7 GOTO 12229 12323 CONTINUE 12320 NOREAD=.TRUE. GOTO 12286 12324 I=I+(1) 12325 IF((INPUT(I).NE.160))GOTO 12326 I=I+(1) GOTO 12325 12326 IF((INPUT(I).EQ.0))GOTO 12327 TOFD=OPEN(INPUT(I),1) IF((TOFD.NE.-3))GOTO 12328 TOFD=OPEN(INPUT(I),2) IF((TOFD.EQ.-3))GOTO 12329 CALL SEEKF(PAGES(1),IFD) CALL FCOPY(IFD,TOFD) CALL SEEKF(PAGES(PG+1),IFD) CALL CLOSE(TOFD) INPUT(1)=0 CALL CTOC(PROMPT,MESSA0,102) CALL CTOC(EPRON0,EMESS0,102) ERROR=.TRUE. GOTO 12286 12329 CALL ENCODE(MESSA0,102,AAAKM0,INPUT(I)) CALL ENCODE(EMESS0,102,AAAKN0,INPUT(I)) ERROR=.TRUE. 12330 GOTO 12286 12328 CALL CLOSE(TOFD) CALL CTOC(AAAKO0,MESSA0,102) CALL CTOC(AAAKP0,EMESS0,102) ERROR=.TRUE. 12331 GOTO 12286 12327 CALL CTOC(AAAKQ0,MESSA0,102) CALL CTOC(AAAKR0,EMESS0,102) ERROR=.TRUE. 12332 GOTO 12286 12333 IF((IFD.EQ.FDIN))GOTO 12334 CALL CLOSE(IFD) 12334 AAAKC0=-1 AAAKD0=4 GOTO 12232 12336 IF((PG.NE.LAST))GOTO 12286 IF((IFD.EQ.FDIN))GOTO 12338 CALL CLOSE(IFD) 12338 AAAKC0=-2 AAAKD0=5 GOTO 12232 12339 CONTINUE 12337 GOTO 12286 12340 NOREAD=.TRUE. GOTO 12286 12341 AAAJX0=10000-1 AAAJY0=8 GOTO 12229 12342 NOREAD=.TRUE. GOTO 12286 12343 AAAJX0=MIN0(MAX0(CTOI(INPUT,I),1),10000-1) AAAJY0=9 GOTO 12229 12344 NOREAD=.TRUE. GOTO 12286 12345 I=I+(1) AAAJX0=PG+MIN0(MAX0(CTOI(INPUT,I),1),10000-PG-1) AAAJY0=10 GOTO 12229 12346 NOREAD=.TRUE. GOTO 12286 12347 I=I+(1) AAAJX0=PG-MAX0(CTOI(INPUT,I),1) AAAJY0=11 GOTO 12229 12348 NOREAD=.TRUE. GOTO 12286 12349 IF((.NOT.NOPAT))GOTO 12350 IF((INPUT(I+1).EQ.175))GOTO 12351 IF((INPUT(I+1).EQ.0))GOTO 12351 GOTO 12350 12351 CALL CTOC(AAAKS0,MESSA0,102) CALL CTOC(AAAKT0,EMESS0,102) ERROR=.TRUE. GOTO 12244 12350 IF((INPUT(I+1).NE.0))GOTO 12353 INPUT(I+1)=INPUT(I) INPUT(I+2)=0 GOTO 12354 12353 IF((INPUT(I+1).EQ.175))GOTO 12355 MISSI0=1 L=I+1 GOTO 12358 12356 L=L+(1) 12358 IF((INPUT(L).EQ.0))GOTO 12357 IF((INPUT(L).NE.192))GOTO 12359 IF((INPUT(L+1).NE.INPUT(I)))GOTO 12359 L=L+(1) GOTO 12356 12359 IF((INPUT(L).NE.INPUT(I)))GOTO 12361 MISSI0=0 GOTO 12357 12361 CONTINUE 12360 GOTO 12356 12357 IF((MISSI0.NE.1))GOTO 12362 GOTO 12365 12363 L=L+(1) 12365 IF((INPUT(L).EQ.0))GOTO 12364 GOTO 12363 12364 INPUT(L)=INPUT(I) INPUT(L+1)=0 12362 IF((MAKPAT(INPUT,I+1,INPUT(I),TEMPAT).NE.-3))GOTO 12366 CALL CTOC(AAAKU0,MESSA0,102) CALL CTOC(AAAKV0,EMESS0,102) ERROR=.TRUE. GOTO 12244 12366 DO 12367 J=1,256 PATTE0(J)=TEMPAT(J) 12367 CONTINUE 12368 NOPAT=.FALSE. 12355 CONTINUE 12354 AAAKA0=0 AAAKB0=1 GOTO 12231 12369 IF(FOUND)GOTO 12370 CALL CTOC(AAAKW0,MESSA0,102) CALL CTOC(AAAKX0,EMESS0,102) ERROR=.TRUE. GOTO 12286 12370 NOREAD=.TRUE. 12371 GOTO 12286 12372 IF((.NOT.NOPAT))GOTO 12373 IF((INPUT(I+1).EQ.220))GOTO 12374 IF((INPUT(I+1).EQ.0))GOTO 12374 GOTO 12373 12374 CALL CTOC(AAAKY0,MESSA0,102) CALL CTOC(AAAKZ0,EMESS0,102) ERROR=.TRUE. GOTO 12244 12373 IF((INPUT(I+1).NE.0))GOTO 12375 INPUT(I+1)=INPUT(I) INPUT(I+2)=0 GOTO 12376 12375 IF((INPUT(I+1).EQ.220))GOTO 12377 MISSI0=1 L=I+1 GOTO 12380 12378 L=L+(1) 12380 IF((INPUT(L).EQ.0))GOTO 12379 IF((INPUT(L).NE.192))GOTO 12381 IF((INPUT(L+1).NE.INPUT(I)))GOTO 12381 L=L+(1) GOTO 12378 12381 IF((INPUT(L).NE.INPUT(I)))GOTO 12383 MISSI0=0 GOTO 12379 12383 CONTINUE 12382 GOTO 12378 12379 IF((MISSI0.NE.1))GOTO 12384 GOTO 12387 12385 L=L+(1) 12387 IF((INPUT(L).EQ.0))GOTO 12386 GOTO 12385 12386 INPUT(L)=INPUT(I) INPUT(L+1)=0 12384 IF((MAKPAT(INPUT,I+1,INPUT(I),TEMPAT).NE.-3))GOTO 12388 CALL CTOC(AAALA0,MESSA0,102) CALL CTOC(AAALB0,EMESS0,102) ERROR=.TRUE. GOTO 12244 12388 DO 12389 J=1,256 PATTE0(J)=TEMPAT(J) 12389 CONTINUE 12390 NOPAT=.FALSE. 12377 CONTINUE 12376 AAAKA0=1 AAAKB0=2 GOTO 12231 12391 IF(FOUND)GOTO 12392 CALL CTOC(AAALC0,MESSA0,102) CALL CTOC(AAALD0,EMESS0,102) ERROR=.TRUE. GOTO 12286 12392 NOREAD=.TRUE. 12393 GOTO 12286 12394 CONTINUE 1 IF((INDEX.GE.LINES))GOTO 12395 AAAJX0=PG AAAJY0=12 GOTO 12229 12396 CONTINUE 12395 CALL CTOC(PROMPT,MESSA0,102) CALL CTOC(EPRON0,EMESS0,102) ERROR=.TRUE. GOTO 12286 12276 IF(AAAKG0.EQ.0)GOTO 12336 IF(AAAKG0.EQ.141)GOTO 12394 AAALE0=AAAKG0-163 GOTO(12341,12397,12397,12397,12397,12397,12397,12345,12397,12347 *,12340,12349,12343,12343,12343,12343,12343,12343,12343,12343,12343 *,12343,12336,12397,12397,12397,12397,12305,12397,12397,12397,12397 *,12277,12287,12397,12397,12305,12397,12397,12397,12397,12312,12314 *,12397,12317,12314,12397,12319,12397,12397,12397,12324,12333,12336 *,12397,12397,12372,12397,12317,12397,12397,12397,12397,12397,12277 *,12287,12397,12397,12305,12397,12397,12397,12397,12312,12314,12397 *,12317,12314,12397,12319,12397,12397,12397,12324,12333,12336),AAAL *E0 12397 CALL CTOC(AAALF0,MESSA0,102) CALL CTOC(AAALG0,EMESS0,102) ERROR=.TRUE. 12286 CONTINUE 12352 GOTO 12244 12229 AAAJX0=MIN0(MAX0(AAAJX0,1),10000-1) IF((AAAJX0.EQ.PG+1))GOTO 12398 IF((PAGES(AAAJX0).NE.INTL(-1)))GOTO 12399 PG=PG-(1) GOTO 12402 12400 PG=PG+(1) 12402 IF((PAGES(PG+2).EQ.INTL(-1)))GOTO 12403 GOTO 12400 12399 PG=AAAJX0-1 12403 CALL SEEKF(PAGES(PG+1),IFD) LINE(1)=0 SIZE=0 12398 CONTINUE 12404 IF((PG.GE.AAAJX0))GOTO 12441 INDEX=0 IF((LINE(1).EQ.0))GOTO 12406 SIZE=SCOPY(LINE,1,SCREEN(1,INDEX+1),1) LINE(1)=0 IF((SCREEN(SIZE,INDEX+1).NE.138))GOTO 12407 SCREEN(SIZE,INDEX+1)=0 12407 INDEX=INDEX+(1) 12406 CONTINUE 12408 IF((INDEX.GE.LINES))GOTO 12409 IF((SIZE.EQ.-1))GOTO 12409 AAALI0=.TRUE. AAALH0=FIRST GOTO 12412 12410 AAALH0=AAALH0-(SIZE) 12412 IF((AAALH0.LE.1))GOTO 12411 SIZE=GETLIN(TEMP,IFD,MIN0(AAALH0,86)) IF((SIZE.EQ.-1))GOTO 12414 IF((TEMP(SIZE).EQ.138))GOTO 12414 GOTO 12410 12414 AAALI0=.FALSE. GOTO 12411 12411 IF((.NOT.AAALI0))GOTO 12415 SIZE=GETLIN(SCREEN(1,INDEX+1),IFD,COLUM0) GOTO 12416 12415 IF((SIZE.EQ.-1))GOTO 12417 SCREEN(1,INDEX+1)=138 SCREEN(2,INDEX+1)=0 SIZE=1 GOTO 12418 12417 SCREEN(1,INDEX+1)=0 12418 CONTINUE 12416 IF((SIZE.EQ.-1))GOTO 12408 IF((SCREEN(SIZE,INDEX+1).EQ.138))GOTO 12420 12421 AAALH0=GETLIN(TEMP,IFD,86) IF((AAALH0.EQ.-1))GOTO 12422 IF((TEMP(AAALH0).EQ.138))GOTO 12422 GOTO 12421 12422 CONTINUE GOTO 12423 12420 SCREEN(SIZE,INDEX+1)=0 12423 INDEX=INDEX+(1) 12419 GOTO 12408 12409 PG=PG+(1) IF((SIZE.EQ.-1))GOTO 12424 IF((PG+1.GE.10000))GOTO 12425 IF((PAGES(PG+1).NE.INTL(-1)))GOTO 12425 PAGES(PG+1)=MARKF(IFD) 12425 AAALI0=.TRUE. AAALH0=FIRST GOTO 12428 12426 AAALH0=AAALH0-(SIZE) 12428 IF((AAALH0.LE.1))GOTO 12427 SIZE=GETLIN(TEMP,IFD,MIN0(AAALH0,86)) IF((SIZE.EQ.-1))GOTO 12430 IF((TEMP(SIZE).EQ.138))GOTO 12430 GOTO 12426 12430 AAALI0=.FALSE. GOTO 12427 12427 IF((.NOT.AAALI0))GOTO 12431 SIZE=GETLIN(LINE,IFD,COLUM0) GOTO 12432 12431 IF((SIZE.EQ.-1))GOTO 12433 LINE(1)=138 LINE(2)=0 SIZE=1 GOTO 12434 12433 LINE(1)=0 12434 CONTINUE 12432 IF((SIZE.EQ.-1))GOTO 12435 IF((LINE(SIZE).EQ.138))GOTO 12439 12437 AAALH0=GETLIN(TEMP,IFD,86) IF((AAALH0.EQ.-1))GOTO 12438 IF((TEMP(AAALH0).EQ.138))GOTO 12438 GOTO 12437 12438 CONTINUE 12436 GOTO 12439 12435 PAGES(PG+1)=INTL(-1) 12439 CONTINUE 12424 IF((SIZE.NE.-1))GOTO 12404 LAST=PG GOTO 12441 12230 IF((.NOT.VTHOUT))GOTO 12442 CALL VTCLR(1,1,LINES,VTHRC(2)) 12442 AAALJ0=1 GOTO 12445 12443 AAALJ0=AAALJ0+(1) 12445 IF((AAALJ0.GT.INDEX))GOTO 12448 IF((.NOT.VTHOUT))GOTO 12446 CALL VTPUTL(SCREEN(1,AAALJ0),AAALJ0,1) GOTO 12443 12446 CALL PRINT(OFD,AAALK0,SCREEN(1,AAALJ0)) 12447 GOTO 12443 12231 AAALL0=PG FOUND=.FALSE. 12449 IF((AAAKA0.NE.1))GOTO 12450 IF((PG.NE.1))GOTO 12451 AAAJX0=10000-1 AAAJY0=13 GOTO 12229 12451 AAAJX0=PG-1 AAAJY0=14 GOTO 12229 12454 CONTINUE 12453 GOTO 12455 12450 AAAJX0=PG+1 AAAJY0=15 GOTO 12229 12456 IF((PG.NE.LAST))GOTO 12457 IF((INDEX.NE.0))GOTO 12457 AAAJX0=1 AAAJY0=16 GOTO 12229 12458 CONTINUE 12457 CONTINUE 12455 AAALM0=1 GOTO 12461 12459 AAALM0=AAALM0+(1) 12461 IF((AAALM0.GT.INDEX))GOTO 12460 IF(FOUND)GOTO 12460 IF((MATCH(SCREEN(1,AAALM0),PATTE0).NE.1))GOTO 12459 FOUND=.TRUE. 12462 GOTO 12459 12460 CONTINUE IF(FOUND)GOTO 12463 IF((PG.EQ.AAALL0))GOTO 12463 GOTO 12449 12463 CONTINUE GOTO 12464 12232 IF((.NOT.VTHOUT))GOTO 12465 CALL VTUPD(0) CALL VTSTOP 12465 DO 12466 I=1,4 RTLAB0(I)=LABEL(I) 12466 CONTINUE 12467 PAGE=AAAKC0 RETURN 12441 GOTO(12243,12255,12281,12304,12313,12318,12323,12342,12344,12346, * 12348,12396,12455,12454,12456,12458),AAAJY0 GOTO 12441 12464 GOTO(12369,12391),AAAKB0 GOTO 12464 12468 GOTO(12262,12272,12286,12286,12339),AAAKD0 GOTO 12468 12448 GOTO(12256,12283),AAAJZ0 GOTO 12448 END SUBROUTINE PG$BRK(CP) INTEGER * 4 CP COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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) 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 PL1$NL(RTLAB0) RETURN END INTEGER FUNCTION PARSA$(STR) INTEGER STR(1) INTEGER ACLVE0,ACLCO0,ACLTY0 INTEGER ACLPA0(41,32),ACLNA0(180) INTEGER PRIMO0(3) INTEGER ACLMO0(32) INTEGER ACLUS0(33,32) COMMON /ACL$00/ACLTY0,ACLNA0,ACLMO0,ACLUS0,PRIMO0 INTEGER SP,I,J,DEFVAL INTEGER CPROT INTEGER LOOKAC,EQUAL INTEGER TEXT(33) INTEGER CNAME(33),COP,CFLAG(33) INTEGER AAALN0 INTEGER AAALO0 INTEGER AAALP0(6) INTEGER AAALQ0(1) INTEGER AAALR0(6) INTEGER AAALS0(6) INTEGER AAALT0 INTEGER AAALU0(7) INTEGER AAALV0(6) INTEGER AAALW0(5) INTEGER AAALX0(5) INTEGER AAALY0(6) INTEGER AAALZ0(9) INTEGER AAAMA0(5) INTEGER AAAMB0 INTEGER AAAMC0 EQUIVALENCE (PRIMO0(1),ACLVE0) EQUIVALENCE (PRIMO0(2),ACLCO0) EQUIVALENCE (PRIMO0(3),ACLPA0) DATA AAALP0/164,242,229,243,244,0/ DATA AAALQ0/0/ DATA AAALR0/164,242,229,243,244,0/ DATA AAALS0/164,242,229,243,244,0/ DATA AAALU0/164,239,247,238,229,242,0/ DATA AAALV0/164,242,229,225,228,0/ DATA AAALW0/164,245,243,229,0/ DATA AAALX0/164,225,236,236,0/ DATA AAALY0/164,238,239,238,229,0/ DATA AAALZ0/164,228,229,230,225,245,236,244,0/ DATA AAAMA0/164,228,229,230,0/ I=LOOKAC(AAALP0) IF((I.EQ.-3))GOTO 12471 DEFVAL=ACLMO0(I) GOTO 12472 12471 DEFVAL=0 12472 CALL MAPSTR(STR,1) SP=1 12473 IF((STR(SP).NE.160))GOTO 12474 SP=SP+(1) GOTO 12473 12474 CONTINUE 12475 IF((STR(SP).EQ.0))GOTO 12476 AAALN0=1 GOTO 12469 12477 IF((TEXT(1).NE.0))GOTO 12478 PARSA$=-3 RETURN 12478 CALL SCOPY(TEXT,1,CNAME,1) 12479 IF((STR(SP).NE.160))GOTO 12480 SP=SP+(1) GOTO 12479 12480 IF((STR(SP).EQ.186))GOTO 12482 IF((STR(SP).EQ.171))GOTO 12482 IF((STR(SP).EQ.173))GOTO 12482 IF((STR(SP).EQ.189))GOTO 12482 GOTO 12481 12482 COP=STR(SP) SP=SP+(1) IF((STR(SP).NE.189))GOTO 12484 SP=SP+(1) 12483 GOTO 12484 12481 PARSA$=-3 RETURN 12484 CONTINUE 12485 IF((STR(SP).NE.160))GOTO 12486 SP=SP+(1) GOTO 12485 12486 IF((COP.NE.186))GOTO 12487 AAALN0=2 GOTO 12469 12488 I=LOOKAC(TEXT) IF((I.NE.-3))GOTO 12489 PARSA$=-3 RETURN 12489 CPROT=ACLMO0(I) GOTO 12490 12487 AAALO0=1 GOTO 12470 12491 CONTINUE 12490 I=LOOKAC(CNAME) IF((I.NE.-3))GOTO 12492 I=LOOKAC(AAALQ0) IF((I.NE.-3))GOTO 12493 ACLCO0=ACLCO0+(1) IF((ACLCO0.LE.32))GOTO 12494 PARSA$=-3 RETURN 12494 I=ACLCO0 12493 CALL SCOPY(CNAME,1,ACLUS0(1,I),1) ACLMO0(I)=DEFVAL 12492 IF((COP.EQ.189))GOTO 12496 IF((COP.EQ.186))GOTO 12496 GOTO 12495 12496 ACLMO0(I)=CPROT GOTO 12497 12495 IF((COP.NE.171))GOTO 12498 ACLMO0(I)=OR(ACLMO0(I),CPROT) GOTO 12499 12498 IF((COP.NE.173))GOTO 12500 ACLMO0(I)=AND(ACLMO0(I),NOT(CPROT)) 12500 CONTINUE 12499 CONTINUE 12497 CONTINUE 12501 IF((STR(SP).NE.160))GOTO 12475 SP=SP+(1) GOTO 12501 12476 I=LOOKAC(AAALR0) IF((I.NE.-3))GOTO 12503 DEFVAL=0 GOTO 12504 12503 DEFVAL=ACLMO0(I) 12504 I=1 GOTO 12507 12505 I=I+(1) 12507 IF((I.GT.ACLCO0))GOTO 12506 IF((ACLMO0(I).NE.DEFVAL))GOTO 12505 ACLUS0(1,I)=0 12508 GOTO 12505 12506 I=1 J=1 GOTO 12511 12509 I=I+(1) 12511 IF((I.GT.ACLCO0))GOTO 12510 IF((ACLUS0(1,I).EQ.0))GOTO 12509 IF((I.EQ.J))GOTO 12513 CALL SCOPY(ACLUS0(1,I),1,ACLUS0(1,J),1) ACLMO0(J)=ACLMO0(I) 12513 J=J+(1) 12512 GOTO 12509 12510 ACLCO0=J-1 ACLCO0=ACLCO0+(1) IF((ACLCO0.LE.32))GOTO 12514 PARSA$=-3 RETURN 12514 CALL SCOPY(AAALS0,1,ACLUS0(1,ACLCO0),1) ACLMO0(ACLCO0)=DEFVAL PARSA$=-2 RETURN 12469 TEXT(1)=0 IF((193.GT.STR(SP)))GOTO 12517 IF((STR(SP).GT.218))GOTO 12517 GOTO 12516 12517 IF((225.GT.STR(SP)))GOTO 12518 IF((STR(SP).GT.250))GOTO 12518 GOTO 12516 12518 IF((STR(SP).EQ.174))GOTO 12516 IF((STR(SP).EQ.164))GOTO 12516 GOTO 12526 12516 TEXT(1)=STR(SP) SP=SP+(1) AAALT0=2 GOTO 12521 12519 SP=SP+(1) AAALT0=AAALT0+(1) 12521 IF((AAALT0.GT.33))GOTO 12520 IF((193.GT.STR(SP)))GOTO 12523 IF((STR(SP).GT.218))GOTO 12523 GOTO 12522 12523 IF((225.GT.STR(SP)))GOTO 12524 IF((STR(SP).GT.250))GOTO 12524 GOTO 12522 12524 IF((176.GT.STR(SP)))GOTO 12525 IF((STR(SP).GT.185))GOTO 12525 GOTO 12522 12525 IF((STR(SP).EQ.164))GOTO 12522 IF((STR(SP).EQ.223))GOTO 12522 IF((STR(SP).EQ.174))GOTO 12522 GOTO 12520 12522 TEXT(AAALT0)=STR(SP) GOTO 12519 12520 TEXT(AAALT0)=0 12515 GOTO 12526 12470 CPROT=0 IF((STR(SP).NE.164))GOTO 12527 AAALN0=3 GOTO 12469 12530 CPROT=64+32+2+4+8+16 GOTO 12491 12532 CPROT=2+8+4 GOTO 12491 12533 CPROT=32+2+4+8 GOTO 12491 12534 CPROT=127 GOTO 12491 12535 CPROT=0 GOTO 12491 12536 CPROT=DEFVAL GOTO 12491 12537 CPROT=DEFVAL GOTO 12491 12529 IF((EQUAL(TEXT,AAALU0).EQ.1))GOTO 12530 IF((EQUAL(TEXT,AAALV0).EQ.1))GOTO 12532 IF((EQUAL(TEXT,AAALW0).EQ.1))GOTO 12533 IF((EQUAL(TEXT,AAALX0).EQ.1))GOTO 12534 IF((EQUAL(TEXT,AAALY0).EQ.1))GOTO 12535 IF((EQUAL(TEXT,AAALZ0).EQ.1))GOTO 12536 IF((EQUAL(TEXT,AAAMA0).EQ.1))GOTO 12537 PARSA$=-3 RETURN 12527 CONTINUE 12539 AAAMB0=STR(SP) GOTO 12540 12541 CPROT=OR(CPROT,32) GOTO 12542 12543 CPROT=OR(CPROT,1) GOTO 12542 12544 CPROT=OR(CPROT,2) GOTO 12542 12545 CPROT=OR(CPROT,4) GOTO 12542 12546 CPROT=OR(CPROT,8) GOTO 12542 12547 CPROT=OR(CPROT,16) GOTO 12542 12548 CPROT=OR(CPROT,64) GOTO 12542 12549 CPROT=OR(CPROT,DEFVAL) GOTO 12542 12550 CPROT=OR(CPROT,127) GOTO 12542 12540 AAAMC0=AAAMB0-169 GOTO(12550,12553,12553,12553,12553,12553,12542),AAAMC0 IF(AAAMB0.EQ.191)GOTO 12549 AAAMC0=AAAMB0-224 GOTO(12541,12553,12553,12548,12553,12553,12553,12553,12553, * 12553,12553,12544,12553,12553,12553,12543,12553,12546,12553, * 12553,12545,12553,12547),AAAMC0 12552 GOTO 12553 12542 SP=SP+(1) GOTO 12539 12553 CONTINUE 12538 GOTO 12491 12526 GOTO(12477,12488,12529),AAALN0 GOTO 12526 END C ---- Long Name Map ---- C Fdflags fdfla0 C encodereal encom0 C Aclcount aclco0 C acl$00 acl$00 C copyandconvert copya0 C readpage readp0 C Eofchar eofch0 C Inputstart input0 C encodevarying encoj0 C Escchar escch0 C Invertcase inver0 C temptree tempt0 C Tccoordchar tccoo0 C Tabs tabsa0 C Fdbufstart fdbug0 C displaybuffer dispm0 C BASICformat basic0 C default defaz0 C message messa0 C Rtchar rtcha0 C Prtdest prtde0 C Tcdelline tcdel0 C Colchgstop colci0 C Rowchgstart rowch0 C Maxcol maxco0 C writeable write0 C returnNO retur0 C Aclversion aclve0 C Echar echar0 C Tseos tseos0 C Tclinedelay tclin0 C Fnused fnuse0 C defaultdelim defaw0 C fortrash fortr0 C findpage findp0 C Termcount termd0 C Reservedio reser0 C Tsstate tssta0 C Tccursorright tccut0 C Tcabspos tcabs0 C Tcposdelay tcpos0 C Tchorlen tchos0 C helpindex helpi0 C direction direc0 C Reservedopen reses0 C Lsna lsnaa0 C Tcseqtype tcseq0 C Unprintablechar unpri0 C Fdesc fdesc0 C infobuf infob0 C Temptop tempu0 C Cputype cputy0 C Prtform prtfo0 C Tsbf tsbfa0 C Curcol curco0 C Lastfn lastf0 C Insertmode inser0 C encodebool encof0 C encodeyesno encog0 C accessrightstring acces0 C Fdbuf fdbuf0 C Argv argva0 C Lstop lstop0 C Tcceollen tccep0 C checkcode check0 C processnextarg proce0 C Tcshiftchar tcshk0 C Inputwait inpuv0 C Fdunit fduni0 C Termcp termc0 C Kchar kchar0 C Fdmem fdmem0 C Fddev fddev0 C Fdvcstat1 fdvcs0 C decodetab decog0 C returnerror retut0 C Lastdef laste0 C Tcdelaytime tcdem0 C Fdvcstat2 fdvct0 C decodepacked decod0 C zerostr zeros0 C doaccess doacc0 C Killresp killr0 C Tccleardelay tcclh0 C Padrow padro0 C Fntab fntab0 C Reservednewscr resev0 C Reservedcurscr resew0 C doentrd doent0 C symtabsize symta0 C Utempbuf utemq0 C Rtlabel rtlab0 C Lsho lshoa0 C Tcvertpos tcver0 C Tcwraparound tcwra0 C Tchomelen tchom0 C Cldataptr cldat0 C Tcceoslen tcceo0 C Fdbufend fdbui0 C decodestring decoe0 C decodeinteger decoj0 C typebits typeb0 C linesin lines0 C Tcspeed tcspe0 C Tcleftlen tclef0 C Pbbuf pbbuf0 C Fdopstat1 fdops0 C position posit0 C emessage emess0 C Passwd passw0 C Newscr newsc0 C Curscr cursc0 C Duplex duple0 C Fdopstat2 fdopt0 C nonowner nonow0 C Tccursorhome tccur0 C Fdopstat3 fdopu0 C diskname diskn0 C Tspath tspat0 C convertnum conve0 C decodenewline decon0 C tagnest tagne0 C Tsat tsata0 C Tccursorleft tccus0 C Colchgstart colch0 C encodetab encoh0 C pathname pathn0 C promptin promp0 C Reservedshell reset0 C Inbuf inbuf0 C Nestingcount nesti0 C outfile outfi0 C encodepacked encod0 C retaclpath retac0 C separator separ0 C Reservedtscan reseu0 C Defbuf defbu0 C defaultbase defav0 C Uhashtb uhash0 C Fdbuflen fdbuh0 C decodeaddr decoh0 C savebplabel saveb0 C putname putna0 C Acluser aclus0 C Cmdstat cmdst0 C Tchorpos tchor0 C Tcinsline tcins0 C Msgowner msgow0 C tagstack tagst0 C Fdlastfd fdlas0 C Termattr terma0 C defaultwidth defau0 C errorinfield error0 C Mem memaa0 C encodestring encoe0 C encodeinteger encok0 C Primosacl primo0 C opendirectory opend0 C missingdelim missi0 C Tsgt tsgta0 C Tcshiftout tcshj0 C Inputstop inpuu0 C expformat expfo0 C fillfield fillf0 C Acltype aclty0 C Firstuse first0 C Tcshiftin tcshi0 C Displaytime displ0 C Fdcount fdcou0 C Tempbuf tempb0 C pattern patte0 C decodelongint decok0 C restoreBplabel resto0 C Termbuf termb0 C Lsref lsref0 C Tcabslen tcabt0 C Rowchgstop rowci0 C Maxrow maxro0 C Padcol padco0 C Lastcharscanned lastd0 C encodenewline encoo0 C Msgrow msgro0 C Padlen padle0 C decodedouble decom0 C maxsize maxsi0 C protectbits prote0 C defaultkresp defay0 C columns colum0 C Stdporttbl stdpo0 C interpretformat inter0 C toomanyargs tooma0 C Argc argca0 C Termtype termt0 C Tccleartoeol tcclf0 C letters lette0 C decodereal decol0 C pfilename pfile0 C entrdbuf entrd0 C Aclpairs aclpa0 C creturn cretu0 C Tccursordown tccuv0 C Currow curro0 C decodevarying decoi0 C encodeaddr encoi0 C readable reada0 C addentry adden0 C Nlchar nlcha0 C Isphantom ispha0 C Tsun tsuna0 C Tsps tspsa0 C Reservedvthmisc resex0 C defaultfill defax0 C template templ0 C epromptin eprom0 C getprot getpr0 C Tcuplen tcupl0 C Lastchar lastc0 C decodefill decoo0 C returnERR retus0 C unsigned unsig0 C Utemptop utemp0 C Aclname aclna0 C Hashtb hasht0 C eprompt epron0 C Bplabel bplab0 C attachsw attac0 C Tspw tspwa0 C Tcclearscreen tccle0 C Tccoordtype tccop0 C Tcvertlen tcves0 C Fdbcount fdbco0 C encodelongint encol0 C getchar getch0 C doprotec dopro0 C Comunit comun0 C Tccleartoeos tcclg0 C Tccursorup tccuu0 C nodigits nodig0 C nodesize nodes0 C permissions permi0 C accesspairs accet0 C helpsource helps0 C Tcclrlen tcclr0 C decodebool decof0 C encodedouble encon0 C errorexit erros0 C unpackedn unpac0 C dirname dirna0 C makeandvalidatetree makea0 C Aclmode aclmo0 C stdunit stdun0 C devname devna0 C Errcod errco0 C Lword lword0 C Pbptr pbptr0 C fulltree fullt0 C getname getna0 C special speci0 C options optio0 C displaypage dispn0 INTEGER FUNCTION PARSCL(STR,BUF) INTEGER STR(1),BUF(200) INTEGER AP,BP,CP,SP,LC,I,L,K,AT,STATUS INTEGER ARGTY0(26) INTEGER GETARG,GCTOI,CTOC,STRBSR INTEGER ARG(128) INTEGER MAPDN INTEGER ATX(14) INTEGER ATT(79) INTEGER AAAAA0 INTEGER AAAAB0 INTEGER AAAAC0 INTEGER AAAAD0(102) INTEGER AAAAE0,AAAAF0 DATA ATT/2,230,0,2,230,236,225,231,0,7,233,231,238,0,7,233,231,238 *,239,242,229,228,0,1,238,225,0,3,239,233,0,3,239,240,244,160,233,2 *38,244,0,5,239,240,244,160,243,244,242,0,5,239,243,0,4,242,229,241 *,160,233,238,244,0,6,242,229,241,160,243,244,242,0,4,242,233,0,6,2 *42,243,0/ DATA ATX/13,1,4,10,15,24,28,32,41,50,54,63,72,76/ DO 10002 I=1,26 ARGTY0(I)=1 10002 CONTINUE 10003 SP=1 GOTO 10006 10004 SP=SP+(1) 10006 IF((STR(SP).EQ.0))GOTO 10005 IF((193.GT.STR(SP)))GOTO 10009 IF((STR(SP).GT.218))GOTO 10009 GOTO 10008 10009 IF((225.GT.STR(SP)))GOTO 10004 IF((STR(SP).GT.250))GOTO 10004 GOTO 10008 10008 LC=MAPDN(STR(SP))-225+1 AAAAA0=1 GOTO 10000 10011 ARGTY0(LC)=AT 10007 GOTO 10004 10005 DO 10012 I=1,26 BUF(I)=0 10012 CONTINUE 10013 DO 10014 I=27,52 BUF(I)=0 10014 CONTINUE 10015 BP=54 AP=1 AAAAB0=1 GOTO 10001 10016 CONTINUE 10017 IF((STATUS.EQ.-1))GOTO 10018 L=MAPDN(ARG(CP))-225+1 IF((L.LT.1))GOTO 10020 IF((L.GT.26))GOTO 10020 GOTO 10019 10020 PARSCL=-3 RETURN 10019 BUF(L)=1 AAAAC0=ARGTY0(L) GOTO 10021 10022 PARSCL=-3 RETURN 10023 IF((CP.EQ.2))GOTO 10024 PARSCL=-3 RETURN 10024 AP=AP+(1) AAAAB0=2 GOTO 10001 10027 IF((ARG(CP+1).NE.0))GOTO 10028 CALL DELARG(AP) IF((GETARG(AP,ARG,128).EQ.-1))GOTO 10029 IF((176.GT.ARG(1)))GOTO 10031 IF((ARG(1).GT.185))GOTO 10031 GOTO 10030 10031 IF((ARG(1).NE.173))GOTO 10029 IF((176.GT.ARG(2)))GOTO 10029 IF((ARG(2).GT.185))GOTO 10029 GOTO 10030 10030 CP=1 BUF(L+26)=GCTOI(ARG,CP,10) IF((ARG(CP).EQ.0))GOTO 10033 PARSCL=-3 RETURN 10033 BUF(L)=2 CALL DELARG(AP) GOTO 10034 10029 IF((ARGTY0(L).NE.4))GOTO 10035 PARSCL=-3 RETURN 10035 CONTINUE 10034 AAAAB0=3 GOTO 10001 10028 CP=CP+(1) K=CP BUF(L+26)=GCTOI(ARG,CP,10) IF((K.NE.CP))GOTO 10038 IF((ARGTY0(L).NE.4))GOTO 10040 PARSCL=-3 RETURN 10038 BUF(L)=2 10040 CONTINUE 10037 GOTO 10026 10041 IF((ARG(CP+1).NE.0))GOTO 10042 CALL DELARG(AP) IF((GETARG(AP,ARG,128).EQ.-1))GOTO 10043 IF((ARG(1).EQ.173))GOTO 10043 BUF(L+26)=BP BP=BP+(1+CTOC(ARG,BUF(BP),200-BP)) CALL DELARG(AP) BUF(L)=2 GOTO 10044 10043 IF((ARGTY0(L).NE.6))GOTO 10045 PARSCL=-3 RETURN 10045 CONTINUE 10044 AAAAB0=4 GOTO 10001 10042 BUF(L+26)=BP BP=BP+(1+CTOC(ARG(CP+1),BUF(BP),200-BP)) BUF(L)=2 CALL DELARG(AP) AAAAB0=5 GOTO 10001 10048 CONTINUE 10047 GOTO 10026 10049 CP=CP+(1) GOTO 10026 10021 GOTO(10022,10049,10027,10027,10041,10041,10023),AAAAC0 10026 IF((ARG(CP).NE.0))GOTO 10017 CALL DELARG(AP) AAAAB0=6 GOTO 10001 10051 CONTINUE 10050 GOTO 10017 10018 DO 10052 I=1,26 IF((BUF(I).EQ.2))GOTO 10054 IF((ARGTY0(I).EQ.5))GOTO 10055 IF((ARGTY0(I).EQ.6))GOTO 10055 GOTO 10054 10055 BUF(I+26)=BP 10054 CONTINUE 10052 CONTINUE 10053 BUF(BP)=0 BP=BP+(1) BUF(53)=BP PARSCL=-2 RETURN 10000 AT=2 10056 IF((STR(SP+1).EQ.188))GOTO 10057 IF((193.GT.STR(SP+1)))GOTO 10058 IF((STR(SP+1).GT.218))GOTO 10058 GOTO 10057 10058 IF((225.GT.STR(SP+1)))GOTO 10059 IF((STR(SP+1).GT.250))GOTO 10059 GOTO 10057 10059 IF((STR(SP+1).EQ.0))GOTO 10057 SP=SP+(1) GOTO 10056 10057 IF((STR(SP+1).NE.188))GOTO 10011 AAAAE0=1 SP=SP+(1) 10061 IF((STR(SP+1).EQ.190))GOTO 10062 IF((STR(SP+1).EQ.0))GOTO 10062 AAAAD0(AAAAE0)=STR(SP+1) SP=SP+(1) AAAAE0=AAAAE0+(1) GOTO 10061 10062 AAAAD0(AAAAE0)=0 AAAAF0=STRBSR(ATX,ATT,1,AAAAD0) IF((AAAAF0.NE.-1))GOTO 10063 CALL PUTLIN(AAAAD0,-15) CALL ERROR(': unrecognized argument type in parscl.') 10063 AT=ATT(ATX(AAAAF0)) 10060 GOTO 10011 10001 STATUS=GETARG(AP,ARG,128) 10065 IF((STATUS.EQ.-1))GOTO 10066 IF((ARG(1).NE.173))GOTO 10067 IF((193.GT.ARG(2)))GOTO 10069 IF((ARG(2).GT.218))GOTO 10069 GOTO 10066 10069 IF((225.GT.ARG(2)))GOTO 10067 IF((ARG(2).GT.250))GOTO 10067 GOTO 10066 10067 AP=AP+(1) STATUS=GETARG(AP,ARG,128) GOTO 10065 10066 CP=2 GOTO 10071 10071 GOTO(10016,10026,10026,10026,10048,10051),AAAAB0 GOTO 10071 END INTEGER FUNCTION PARSDT(STR,I,MONTH,DAY,YEAR) INTEGER STR(1) INTEGER I,MONTH,DAY,YEAR INTEGER J,DAYS(12) INTEGER CTOI INTEGER TODAY(9) DATA DAYS/31,29,31,30,31,30,31,31,30,31,30,31/ 10072 IF((STR(I).NE.160))GOTO 10073 I=I+(1) GOTO 10072 10073 IF((176.GT.STR(I)))GOTO 10075 IF((STR(I).GT.185))GOTO 10075 GOTO 10074 10075 PARSDT=-3 RETURN 10074 MONTH=CTOI(STR,I) IF((STR(I).NE.175))GOTO 10076 I=I+(1) DAY=CTOI(STR,I) IF((STR(I).NE.175))GOTO 10077 I=I+(1) YEAR=CTOI(STR,I) GOTO 10079 10077 CALL DATE(1,TODAY) J=7 YEAR=CTOI(TODAY,J) 10078 GOTO 10079 10076 DAY=MONTH CALL DATE(1,TODAY) J=1 MONTH=CTOI(TODAY,J) J=7 YEAR=CTOI(TODAY,J) 10079 IF((1.GT.MONTH))GOTO 10080 IF((MONTH.GT.12))GOTO 10080 IF((1.GT.DAY))GOTO 10080 IF((DAY.GT.DAYS(MONTH)))GOTO 10080 IF((0.GT.YEAR))GOTO 10080 IF((YEAR.GT.99))GOTO 10080 PARSDT=-2 GOTO 10081 10080 PARSDT=-3 10081 RETURN END INTEGER FUNCTION PARSTM(STR,I,VAL) INTEGER STR(1) INTEGER I INTEGER * 4 VAL INTEGER CTOI INTEGER MAPDN INTEGER AAAAG0 10082 IF((STR(I).NE.160))GOTO 10083 I=I+(1) GOTO 10082 10083 IF((176.GT.STR(I)))GOTO 10085 IF((STR(I).GT.185))GOTO 10085 GOTO 10084 10085 PARSTM=-3 RETURN 10084 VAL=CTOI(STR,I) IF((STR(I).NE.186))GOTO 10086 I=I+(1) 10086 VAL=VAL*INTL(60)+CTOI(STR,I) IF((STR(I).NE.186))GOTO 10087 I=I+(1) 10087 VAL=VAL*INTL(60)+CTOI(STR,I) IF((VAL.LT.43200*2))GOTO 10088 PARSTM=-3 RETURN 10088 CONTINUE 10089 IF((STR(I).NE.160))GOTO 10090 I=I+(1) GOTO 10089 10090 AAAAG0=MAPDN(STR(I)) GOTO 10091 10092 IF((VAL.GE.43200))GOTO 10094 VAL=VAL+(43200) 10093 GOTO 10094 10095 IF((VAL.LT.43200))GOTO 10094 VAL=VAL-(43200) 10096 GOTO 10094 10094 I=I+(1) IF((MAPDN(STR(I)).NE.237))GOTO 10098 I=I+(1) 10097 GOTO 10098 10091 IF(AAAAG0.EQ.225)GOTO 10095 IF(AAAAG0.EQ.240)GOTO 10092 10098 PARSTM=-2 RETURN END INTEGER FUNCTION PATSIZ(PAT,N) INTEGER PAT(256) INTEGER N INTEGER AAAAH0(24) DATA AAAAH0/233,238,160,240,225,244,243,233,250,186,160,227,225,23 *8,167,244,160,232,225,240,240,229,238,0/ IF((PAT(N).EQ.225))GOTO 10100 IF((PAT(N).EQ.251))GOTO 10100 IF((PAT(N).EQ.253))GOTO 10100 GOTO 10099 10100 PATSIZ=2 GOTO 10101 10099 IF((PAT(N).EQ.165))GOTO 10103 IF((PAT(N).EQ.164))GOTO 10103 IF((PAT(N).EQ.191))GOTO 10103 GOTO 10102 10103 PATSIZ=1 GOTO 10104 10102 IF((PAT(N).EQ.219))GOTO 10106 IF((PAT(N).EQ.238))GOTO 10106 GOTO 10105 10106 PATSIZ=PAT(N+1)+2 GOTO 10107 10105 IF((PAT(N).NE.170))GOTO 10108 PATSIZ=4 GOTO 10109 10108 CALL ERROR(AAAAH0) 10109 CONTINUE 10107 CONTINUE 10104 CONTINUE 10101 RETURN END SUBROUTINE PRINT(FD,FMT,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) INTEGER FD,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10 INTEGER FMT(1) INTEGER STR(300),FMT1(102) IF((FMT(1).EQ.0))GOTO 10111 IF((AND(FMT(1),:177400).EQ.0))GOTO 10111 GOTO 10110 10111 CALL ENCODE(STR,300,FMT,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) GOTO 10112 10110 CALL PTOC(FMT,174,FMT1,102) CALL ENCODE(STR,300,FMT1,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) 10112 CALL PUTLIN(STR,FD) RETURN END INTEGER FUNCTION PTOC(PSTR,TERM,STR,LEN) INTEGER PSTR(1),LEN INTEGER TERM,STR(1) INTEGER CP,I CP=0 I=1 GOTO 10115 10113 I=I+(1) 10115 IF((I.GE.LEN))GOTO 10114 IF((AND(CP,1).NE.0))GOTO 10116 STR(I)=RS(PSTR(RS(CP,1)+1),8) GOTO 10117 10116 STR(I)=RT(PSTR(RS(CP,1)+1),8) 10117 CP=CP+(1) IF((STR(I).NE.192))GOTO 10118 IF((AND(CP,1).NE.0))GOTO 10119 STR(I)=RS(PSTR(RS(CP,1)+1),8) GOTO 10120 10119 STR(I)=RT(PSTR(RS(CP,1)+1),8) 10120 CP=CP+(1) GOTO 10113 10118 IF((STR(I).NE.TERM))GOTO 10122 GOTO 10114 10122 CONTINUE 10121 GOTO 10113 10114 STR(I)=0 PTOC=I-1 RETURN END INTEGER FUNCTION PUTCH(C,FD) INTEGER C INTEGER FD INTEGER PUTLIN INTEGER BUF(2) BUF(1)=C BUF(2)=0 PUTCH=PUTLIN(BUF,FD) RETURN END SUBROUTINE PUTDEC(N,W,UNIT) INTEGER N,W,UNIT INTEGER CHARS(20) INTEGER ITOC INTEGER I,ND ND=ITOC(N,CHARS,20) I=ND+1 GOTO 10125 10123 I=I+(1) 10125 IF((I.GT.W))GOTO 10124 CALL PUTCH(160,UNIT) GOTO 10123 10124 I=1 GOTO 10128 10126 I=I+(1) 10128 IF((I.GT.ND))GOTO 10127 CALL PUTCH(CHARS(I),UNIT) GOTO 10126 10127 RETURN END INTEGER FUNCTION PUTLIN(LINE,FD) INTEGER LINE(1) INTEGER FD COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 F,OFF INTEGER DPUTL$,TPUTL$,MAPSU INTEGER AAAAI0 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)) F=MAPSU(FD) OFF=F*16-16+1 IF((F.LT.1))GOTO 10130 IF((F.GT.128))GOTO 10130 IF((AND(FDFLA0(OFF),:020000).EQ.0))GOTO 10130 IF((AND(FDFLA0(OFF),:004000).NE.0))GOTO 10130 GOTO 10129 10130 PUTLIN=-3 RETURN 10129 AAAAI0=FDDEV0(OFF) GOTO 10131 10132 IF((AND(FDFLA0(OFF),:000017).EQ.4))GOTO 10133 CALL FLUSH$(F) FDFLA0(OFF)=AND(FDFLA0(OFF),NOT(:000017))+4 10133 PUTLIN=TPUTL$(LINE,OFF) RETURN 10134 IF((AND(FDFLA0(OFF),:000017).EQ.4))GOTO 10135 CALL FLUSH$(F) FDCOU0(OFF)=-FDBUH0(OFF) FDFLA0(OFF)=AND(FDFLA0(OFF),NOT(:000017))+4 10135 PUTLIN=DPUTL$(LINE,FDESC0(OFF)) RETURN 10136 IF((AND(FDFLA0(OFF),:000017).EQ.4))GOTO 10137 CALL FLUSH$(F) FDFLA0(OFF)=AND(FDFLA0(OFF),NOT(:000017))+4 10137 PUTLIN=0 RETURN 10131 GOTO(10132,10134,10136),AAAAI0 PUTLIN=-3 RETURN END SUBROUTINE PUTLIT(MSG,DELIM,UNIT) INTEGER MSG(1),UNIT INTEGER DELIM INTEGER STR(102) CALL PTOC(MSG,DELIM,STR,102) CALL PUTLIN(STR,UNIT) RETURN END INTEGER FUNCTION READF(BUF,NW,FD) INTEGER BUF(1),NW INTEGER FD COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 OFF,F INTEGER MAPSU,TREAD$,DREAD$ INTEGER AAAAJ0 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)) F=MAPSU(FD) OFF=F*16-16+1 IF((F.LT.1))GOTO 10139 IF((F.GT.128))GOTO 10139 IF((AND(FDFLA0(OFF),:040000).EQ.0))GOTO 10139 IF((AND(FDFLA0(OFF),:004000).NE.0))GOTO 10139 GOTO 10138 10139 READF=-3 RETURN 10138 IF((NW.GT.0))GOTO 10140 READF=0 RETURN 10140 IF((AND(FDFLA0(OFF),:000017).EQ.1))GOTO 10141 CALL FLUSH$(F) FDFLA0(OFF)=AND(FDFLA0(OFF),NOT(:000017))+1 10141 AAAAJ0=FDDEV0(OFF) GOTO 10142 10143 READF=TREAD$(BUF,NW,OFF) GOTO 10144 10145 READF=DREAD$(BUF,NW,OFF) GOTO 10144 10146 READF=-1 GOTO 10144 10142 GOTO(10143,10145,10146),AAAAJ0 READF=-3 10144 RETURN END SUBROUTINE REMARK(MSG) INTEGER MSG(1) IF((AND(MSG(1),:177400).EQ.0))GOTO 10148 IF((MSG(1).EQ.0))GOTO 10148 GOTO 10147 10148 CALL PUTLIN(MSG,-15) GOTO 10149 10147 CALL PUTLIT(MSG,174,-15) 10149 CALL PUTCH(138,-15) RETURN END INTEGER FUNCTION REMOVE(PATH) INTEGER PATH(1) INTEGER FNAME(16),ATTACH,J1(3),CODE INTEGER GETTO,RMFIL$ REMOVE=-3 IF((GETTO(PATH,FNAME,J1,ATTACH).EQ.-3))GOTO 10150 REMOVE=RMFIL$(FNAME) 10150 IF((ATTACH.NE.1))GOTO 10151 CALL AT$HOM(CODE) 10151 RETURN END INTEGER FUNCTION REWIND(FD) INTEGER FD INTEGER SEEKF REWIND=SEEKF(INTL(0),FD) RETURN END INTEGER FUNCTION RMFIL$(NAME) INTEGER NAME(16) COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 FD,CODE,TYPE INTEGER VNAME(17) 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 SRCH$$(:4,NAME,32,0,0,CODE) CALL SRCH$$(:5,NAME,32,0,0,ERRCO0) IF((ERRCO0.NE.19))GOTO 10152 CALL SRCH$$(:3+:40000,NAME,32,FD,TYPE,CODE) IF((CODE.NE.0))GOTO 10156 IF((TYPE.EQ.2))GOTO 10155 IF((TYPE.EQ.3))GOTO 10155 GOTO 10154 10155 CALL RMSEG$(FD) 10154 CALL SRCH$$(:4,0,0,FD,0,CODE) CALL SRCH$$(:5,NAME,32,0,0,ERRCO0) 10153 GOTO 10156 10152 IF((ERRCO0.NE.150))GOTO 10157 CALL PTOV(NAME,160,VNAME,17) CALL CAT$DL(VNAME,ERRCO0) 10157 CONTINUE 10156 RMFIL$=-3 IF((ERRCO0.NE.0))GOTO 10158 RMFIL$=-2 10158 RETURN END SUBROUTINE RMSEG$(FD) INTEGER FD INTEGER ENTRYA,ENTRYB,FD,FD2,JUNK,CODE ENTRYB=-1 10159 ENTRYA=ENTRYB+1 CALL SGDR$$(:6,FD,ENTRYA,ENTRYB,CODE) IF((ENTRYB.EQ.-1))GOTO 10162 IF((CODE.NE.0))GOTO 10162 GOTO 10160 10160 CALL SRCH$$(:5+:100,FD,0,0,0,CODE) IF((CODE.NE.19))GOTO 10163 CALL SRCH$$(:3+:100+:40000,FD,0,FD2,JUNK,CODE) IF((CODE.NE.0))GOTO 10164 CALL RMSEG$(FD2) 10164 CALL SRCH$$(:4,0,0,FD2,JUNK,CODE) CALL SRCH$$(:5+:100,FD,0,0,JUNK,CODE) 10163 CONTINUE GOTO 10159 10162 CALL SGDR$$(:4,FD,0,ENTRYB,CODE) RETURN END SUBROUTINE RMTABL(ST) INTEGER ST INTEGER MEMAA0(1) COMMON /DS$MEM/MEMAA0 INTEGER I INTEGER WALKER,BUCKET,NODE BUCKET=ST DO 10165 I=1,43 BUCKET=BUCKET+1 WALKER=MEMAA0(BUCKET) 10167 IF((WALKER.EQ.0))GOTO 10168 NODE=WALKER WALKER=MEMAA0(NODE+0) CALL DSFREE(NODE) GOTO 10167 10168 CONTINUE 10165 CONTINUE 10166 CALL DSFREE(ST) RETURN END INTEGER FUNCTION RMTEMP(FD) INTEGER FD INTEGER CLOSE CALL REWIND(FD) CALL TRUNC(FD) IF((CLOSE(FD).NE.-3))GOTO 10169 RMTEMP=-3 GOTO 10170 10169 RMTEMP=-2 10170 RETURN END INTEGER FUNCTION RTOC(VAL,STR,W,D) REAL VAL INTEGER STR(1) INTEGER W,D INTEGER DTOC REAL * 8 FVAL FVAL=VAL RTOC=DTOC(FVAL,STR,W,D) RETURN END INTEGER FUNCTION SCTABL(TABLE,SYM,INFO,POSN) INTEGER TABLE,POSN INTEGER SYM(1) INTEGER INFO(1) INTEGER MEMAA0(1) COMMON /DS$MEM/MEMAA0 INTEGER BUCKET,WALKER INTEGER DSGET INTEGER NODES0,I IF((POSN.NE.0))GOTO 10171 POSN=DSGET(2) MEMAA0(POSN)=1 MEMAA0(POSN+1)=MEMAA0(TABLE+1) 10171 BUCKET=MEMAA0(POSN) WALKER=MEMAA0(POSN+1) NODES0=MEMAA0(TABLE) 10172 IF((WALKER.EQ.0))GOTO 10173 CALL SCOPY(MEMAA0,WALKER+1+NODES0,SYM,1) I=1 GOTO 10176 10174 I=I+(1) 10176 IF((I.GT.NODES0))GOTO 10175 INFO(I)=MEMAA0(WALKER+1+I-1) GOTO 10174 10175 MEMAA0(POSN)=BUCKET MEMAA0(POSN+1)=MEMAA0(WALKER+0) SCTABL=1 RETURN 10173 BUCKET=BUCKET+1 IF((BUCKET.LE.43))GOTO 10177 GOTO 10178 10177 WALKER=MEMAA0(TABLE+BUCKET) GOTO 10172 10178 CALL DSFREE(POSN) POSN=0 SCTABL=-1 RETURN END INTEGER FUNCTION SDROP(FROM,TO,CHARS) INTEGER FROM(1),TO(1) INTEGER CHARS INTEGER LEN INTEGER CTOC,SCOPY,LENGTH LEN=LENGTH(FROM) IF((CHARS.GE.0))GOTO 10179 SDROP=CTOC(FROM,TO,LEN+CHARS+1) RETURN 10179 IF((CHARS.GE.LEN))GOTO 10180 LEN=CHARS 10180 SDROP=SCOPY(FROM,LEN+1,TO,1) RETURN END INTEGER FUNCTION SEEKF(POS,FD,XRA) INTEGER * 4 POS INTEGER FD INTEGER XRA COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 F INTEGER MAPSU INTEGER OFF,RA INTEGER TSEEK$,DSEEK$ LOGICAL MISSIN INTEGER AAAAK0 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)) F=MAPSU(FD) OFF=F*16-16+1 IF((F.LT.1))GOTO 10182 IF((F.GT.128))GOTO 10182 IF((AND(FDFLA0(OFF),:004000).NE.0))GOTO 10182 IF((FDFLA0(OFF).EQ.0))GOTO 10182 GOTO 10181 10182 SEEKF=-3 RETURN 10181 IF((.NOT.MISSIN(XRA)))GOTO 10183 RA=0 GOTO 10184 10183 RA=XRA 10184 CALL FLUSH$(F) FDFLA0(OFF)=AND(FDFLA0(OFF),NOT(:010000)) AAAAK0=FDDEV0(OFF) GOTO 10185 10186 SEEKF=TSEEK$(POS,OFF,RA) RETURN 10187 SEEKF=DSEEK$(POS,OFF,RA) RETURN 10188 SEEKF=-1 RETURN 10185 GOTO(10186,10187,10188),AAAAK0 SEEKF=-3 RETURN END SUBROUTINE SETERR(STAT) INTEGER STAT COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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) 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)) CMDST0=STAT RETURN END INTEGER FUNCTION SFDATA(KEY,XPATH,INFOB0,ATTAC0,AUXIL) INTEGER KEY,ATTAC0 INTEGER XPATH(1) INTEGER INFOB0(1),AUXIL(1) INTEGER GETTO,PARSA$,INDEX,EQUAL,EXPAND COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 ACLVE0,ACLCO0,ACLTY0 INTEGER ACLPA0(41,32),ACLNA0(180) INTEGER PRIMO0(3) INTEGER ACLMO0(32) INTEGER ACLUS0(33,32) COMMON /ACL$00/ACLTY0,ACLNA0,ACLMO0,ACLUS0,PRIMO0 INTEGER SARR(2) INTEGER NAME(16),PATHN0(180) INTEGER JUNK(256),JUNK2(256),VTREE(129),PPWD(3) INTEGER I,J,ISACAT INTEGER * 4 QBUF(8) INTEGER AAAAL0 INTEGER AAAAM0 INTEGER AAAAN0 INTEGER AAAAO0 INTEGER AAAAP0 INTEGER AAAAQ0(4) INTEGER AAAAR0(4) INTEGER AAAAS0(4) INTEGER AAAAT0(4) INTEGER AAAAU0(4),AAAAV0(4),AAAAW0,AAAAX0(2) INTEGER PERMI0(5) INTEGER AAAAY0(180),AAAAZ0(7) INTEGER AAABA0 INTEGER AAABB0(6) INTEGER AAABC0 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)) EQUIVALENCE (PRIMO0(1),ACLVE0) EQUIVALENCE (PRIMO0(2),ACLCO0) EQUIVALENCE (PRIMO0(3),ACLPA0) DATA AAAAQ0/238,173,177,0/ DATA AAAAR0/243,249,243,0/ DATA AAAAS0/238,171,177,0/ DATA AAAAT0/238,171,238,0/ DATA PERMI0/244,247,242,225,0/ DATA AAAAU0/:2000,:1000,:400,:3400/ DATA AAAAV0/:4,:2,:1,:7/ DATA AAABB0/174,225,227,225,244,0/ ATTAC0=0 ERRCO0=0 IF((EXPAND(XPATH,PATHN0,180).NE.-3))GOTO 10193 SFDATA=-3 RETURN 10193 AAAAP0=KEY GOTO 10194 10195 AAAAO0=1 GOTO 10192 10196 CALL Q$SET(1,VTREE,INFOB0,ERRCO0) IF((ERRCO0.NE.145))GOTO 10198 ERRCO0=0 10197 GOTO 10198 10199 SFDATA=-3 RETURN 10200 AAAAL0=1 GOTO 10189 10201 CALL SATR$$(:3,NAME,32,SARR,ERRCO0) GOTO 10198 10202 AAAAL0=2 GOTO 10189 10203 SARR(2)=0 IF((EQUAL(INFOB0,AAAAQ0).NE.1))GOTO 10204 SARR(1)=1 GOTO 10205 10204 IF((EQUAL(INFOB0,AAAAR0).NE.1))GOTO 10206 SARR(1)=0 GOTO 10207 10206 IF((EQUAL(INFOB0,AAAAS0).NE.1))GOTO 10208 SARR(1)=2 GOTO 10209 10208 IF((EQUAL(INFOB0,AAAAT0).NE.1))GOTO 10210 SARR(1)=3 GOTO 10211 10210 SFDATA=-3 RETURN 10211 CONTINUE 10209 CONTINUE 10207 CONTINUE 10205 CALL SATR$$(:4,NAME,32,SARR,ERRCO0) GOTO 10198 10212 AAAAL0=3 GOTO 10189 10213 SARR(1)=LS(MOD(INFOB0(1),100),9) SARR(1)=OR(SARR(1),LS(AND(INFOB0(2),15),5)) SARR(1)=OR(SARR(1),AND(INFOB0(3),31)) SARR(2)=(INFOB0(4)*60+INFOB0(5))*15+INFOB0(6)/4 CALL SATR$$(:2,NAME,32,SARR,ERRCO0) GOTO 10198 10214 J=1 AAAAN0=1 GOTO 10191 10215 AAAAO0=2 GOTO 10192 10216 IF((INFOB0(1).NE.0))GOTO 10217 IF((AUXIL(1).NE.0))GOTO 10217 IF((ISACAT.NE.0))GOTO 10218 CALL AC$DFT(VTREE,ERRCO0) GOTO 10198 10218 CALL CAT$DL(VTREE,ERRCO0) 10219 GOTO 10198 10217 IF((INFOB0(1).NE.0))GOTO 10221 J=2 AAAAN0=2 GOTO 10191 10222 IF((ISACAT.NE.0))GOTO 10223 CALL EXPAND(AUXIL,JUNK2,256) CALL MKTR$(JUNK2,JUNK) IF((INDEX(JUNK,190).NE.0))GOTO 10224 SFDATA=-3 RETURN 10224 I=1 CALL CTOV(JUNK,I,JUNK2,256) CALL AC$LIK(VTREE,JUNK2,ERRCO0) GOTO 10226 10223 I=1 CALL CTOV(AUXIL,I,JUNK2,256) CALL AC$CAT(VTREE,JUNK2,ERRCO0) 10225 GOTO 10226 10221 IF((AUXIL(1).NE.0))GOTO 10227 IF((GTACL$(PATHN0,1,ATTAC0).NE.-3))GOTO 10228 SFDATA=-3 RETURN 10228 IF((PARSA$(INFOB0).NE.-3))GOTO 10229 SFDATA=-3 RETURN 10229 CALL MKPACL IF((INDEX(JUNK,190).NE.0))GOTO 10230 AAAAL0=4 GOTO 10189 10231 CONTINUE 10230 CALL AC$SET(:0,VTREE,LOC(PRIMO0),ERRCO0) GOTO 10232 10227 CALL EXPAND(AUXIL,JUNK2,256) IF((GTACL$(JUNK2,1,ATTAC0).NE.-3))GOTO 10233 SFDATA=-3 RETURN 10233 IF((PARSA$(INFOB0).NE.-3))GOTO 10234 SFDATA=-3 RETURN 10234 CALL MKPACL IF((INDEX(JUNK,190).NE.0))GOTO 10235 AAAAL0=5 GOTO 10189 10236 CONTINUE 10235 CALL AC$SET(:0,VTREE,LOC(PRIMO0),ERRCO0) 10232 CONTINUE 10226 CONTINUE 10220 GOTO 10198 10237 SFDATA=-3 RETURN 10238 I=1 CALL CTOV(INFOB0,I,VTREE,129) IF((AUXIL(1).NE.0))GOTO 10239 CALL PA$DEL(VTREE,ERRCO0) GOTO 10198 10239 CALL GTACL$(0,1,I) IF((PARSA$(AUXIL).NE.-3))GOTO 10241 SFDATA=-3 RETURN 10241 CALL MKPACL CALL PA$SET(VTREE,LOC(PRIMO0),ERRCO0) 10240 GOTO 10198 10242 AAAAL0=6 GOTO 10189 10243 IF((INFOB0(1).NE.1))GOTO 10244 SARR(1)=1 GOTO 10245 10244 SARR(1)=0 10245 CALL SATR$$(:6,NAME,32,SARR,ERRCO0) GOTO 10198 10246 SFDATA=-3 RETURN 10247 SFDATA=-3 RETURN 10248 AAAAL0=7 GOTO 10189 10249 AAAAM0=1 GOTO 10190 10251 ATTAC0=1 IF((FOLLOW(PATHN0,0).NE.-3))GOTO 10252 SFDATA=-3 RETURN 10252 I=1 CALL CTOP(INFOB0,I,JUNK,3) I=1 CALL CTOP(AUXIL,I,JUNK2,3) CALL SPAS$$(JUNK,JUNK2,ERRCO0) GOTO 10198 10198 IF((ATTAC0.NE.1))GOTO 10253 CALL AT$HOM(I) 10253 IF((ERRCO0.EQ.0))GOTO 10254 SFDATA=-3 RETURN 10254 SFDATA=-2 RETURN 10194 GOTO(10195,10199,10200,10202,10212,10214,10237,10238,10242,10246, * 10255,10255,10255,10255,10255,10255,10255,10255,10255,10247, * 10255,10255,10255,10255,10255,10255,10255,10255,10255,10255, * 10255,10255,10255,10255,10255,10255,10255,10255,10255,10255, * 10255,10255,10255,10255,10255,10255,10255,10255,10255,10248,10251 *),AAAAP0 10255 SFDATA=-3 RETURN 10189 IF((GETTO(PATHN0,NAME,PPWD,ATTAC0).NE.-3))GOTO 10257 SFDATA=-3 RETURN 10190 AAAAX0(1)=0 AAAAX0(2)=0 AAAAW0=1 I=1 GOTO 10260 10258 I=I+(1) 10260 IF((INFOB0(I).EQ.0))GOTO 10259 IF((INFOB0(I).NE.175))GOTO 10261 AAAAW0=0 GOTO 10258 10261 J=INDEX(PERMI0,INFOB0(I)) IF((J.GE.1))GOTO 10263 SFDATA=-3 RETURN 10263 IF((AAAAW0.NE.1))GOTO 10264 AAAAX0(1)=OR(AAAAX0(1),AAAAU0(J)) GOTO 10265 10264 AAAAX0(1)=OR(AAAAX0(1),AAAAV0(J)) 10265 CONTINUE 10262 GOTO 10258 10259 CALL SATR$$(:1,NAME,32,AAAAX0,ERRCO0) GOTO 10198 10191 IF((J.NE.1))GOTO 10267 CALL CTOC(PATHN0,AAAAY0,180) GOTO 10268 10267 CALL CTOC(AUXIL,AAAAY0,180) 10268 AAABA0=1 GOTO 10271 10269 AAABA0=AAABA0+(1) 10271 IF((AAAAY0(AAABA0).EQ.0))GOTO 10270 CONTINUE GOTO 10269 10270 IF((AAABA0.GE.7))GOTO 10272 ISACAT=0 GOTO 10274 10272 AAABA0=AAABA0-(5) CALL CTOC(AAAAY0(AAABA0),AAAAZ0,7) CALL MAPSTR(AAAAZ0,1) ISACAT=EQUAL(AAABB0,AAAAZ0) 10273 GOTO 10274 10192 CALL MKTR$(PATHN0,JUNK) AAABC0=1 CALL CTOV(JUNK,AAABC0,VTREE,129) IF((INDEX(JUNK,190).NE.0))GOTO 10277 AAAAL0=8 GOTO 10189 10276 CONTINUE 10275 GOTO 10277 10274 GOTO(10215,10222),AAAAN0 GOTO 10274 10257 GOTO(10201,10203,10213,10231,10236,10243,10249,10276),AAAAL0 GOTO 10257 10277 GOTO(10196,10216),AAAAO0 GOTO 10277 END INTEGER FUNCTION SPROT$(NAME,ATTR) INTEGER NAME(1),ATTR(1) COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 PERMI0(5) INTEGER OWNER0(4),NONOW0(4) INTEGER I,J,OWNER,PACKE0(16),CODE,PROT(2),JUNK(3) INTEGER ATTACH,INDEX,GETTO 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 PERMI0/244,247,242,225,0/ DATA OWNER0/:2000,:1000,:400,:3400/ DATA NONOW0/:4,:2,:1,:7/ PROT(1)=0 PROT(2)=0 SPROT$=-3 OWNER=1 I=1 GOTO 10280 10278 I=I+(1) 10280 IF((ATTR(I).EQ.0))GOTO 10279 IF((ATTR(I).NE.175))GOTO 10281 OWNER=0 GOTO 10278 10281 J=INDEX(PERMI0,ATTR(I)) IF((J.GE.1))GOTO 10283 RETURN 10283 IF((OWNER.NE.1))GOTO 10284 PROT(1)=OR(PROT(1),OWNER0(J)) GOTO 10285 10284 PROT(1)=OR(PROT(1),NONOW0(J)) 10285 CONTINUE 10282 GOTO 10278 10279 IF((GETTO(NAME,PACKE0,JUNK,ATTACH).NE.-3))GOTO 10286 RETURN 10286 CALL SATR$$(:1,PACKE0,32,PROT,ERRCO0) IF((ATTACH.EQ.0))GOTO 10287 CALL AT$HOM(CODE) 10287 IF((ERRCO0.NE.0))GOTO 10288 SPROT$=-2 10288 RETURN END INTEGER FUNCTION ST$LU(SYMBOL,NODE,PRED,ST) INTEGER SYMBOL(1) INTEGER NODE,PRED,ST INTEGER MEMAA0(1) COMMON /DS$MEM/MEMAA0 INTEGER HASH,I,NODES0 INTEGER EQUAL NODES0=MEMAA0(ST) HASH=0 I=1 GOTO 10291 10289 I=I+(1) 10291 IF((SYMBOL(I).EQ.0))GOTO 10290 HASH=HASH+(SYMBOL(I)) GOTO 10289 10290 HASH=MOD(IABS(HASH),43)+1 PRED=ST+HASH NODE=MEMAA0(PRED) 10292 IF((NODE.EQ.0))GOTO 10293 IF((EQUAL(SYMBOL,MEMAA0(NODE+1+NODES0)).NE.1))GOTO 10294 ST$LU=1 RETURN 10294 PRED=NODE NODE=MEMAA0(PRED+0) GOTO 10292 10293 ST$LU=0 RETURN END INTEGER FUNCTION STAKE(FROM,TO,CHARS) INTEGER FROM(1),TO(1) INTEGER CHARS INTEGER LEN INTEGER LENGTH,CTOC,SCOPY LEN=LENGTH(FROM) IF((CHARS.GE.0))GOTO 10295 LEN=LEN+(CHARS) IF((LEN.GE.0))GOTO 10296 LEN=0 10296 STAKE=SCOPY(FROM,LEN+1,TO,1) RETURN 10295 STAKE=CTOC(FROM,TO,CHARS+1) RETURN END INTEGER FUNCTION STCLOS(PAT,J,LASTJ,LASTCL) INTEGER PAT(256) INTEGER J,LASTJ,LASTCL INTEGER ADDSET INTEGER JP,JT,JUNK JP=J-1 GOTO 10299 10297 JP=JP-(1) 10299 IF((JP.LT.LASTJ))GOTO 10298 JT=JP+4 JUNK=ADDSET(PAT(JP),PAT,JT,256) GOTO 10297 10298 J=J+(4) STCLOS=LASTJ JUNK=ADDSET(170,PAT,LASTJ,256) JUNK=ADDSET(0,PAT,LASTJ,256) JUNK=ADDSET(LASTCL,PAT,LASTJ,256) JUNK=ADDSET(0,PAT,LASTJ,256) RETURN END INTEGER FUNCTION STRBSR(POS,TAB,OFFS,OBJECT) INTEGER POS(1),OFFS INTEGER TAB(1),OBJECT(1) INTEGER I,J,K INTEGER STRCMP INTEGER AAABD0 I=2 J=POS(1)+1 10300 K=(I+J)/2 AAABD0=STRCMP(TAB(POS(K)+OFFS),OBJECT) GOTO 10301 10302 I=K+1 GOTO 10303 10304 STRBSR=K RETURN 10305 J=K-1 GOTO 10303 10301 GOTO(10302,10304,10305),AAABD0 10303 CONTINUE IF((I.LE.J))GOTO 10300 STRBSR=-1 RETURN END INTEGER FUNCTION STRCMP(STR1,STR2) INTEGER STR1(1),STR2(1) INTEGER I I=1 GOTO 10308 10306 I=I+(1) 10308 IF((STR1(I).NE.STR2(I)))GOTO 10310 IF((STR1(I).NE.0))GOTO 10306 STRCMP=2 RETURN 10311 STRCMP=1 RETURN 10312 STRCMP=3 RETURN 10310 IF((STR1(I).EQ.0))GOTO 10311 IF((STR1(I).LT.STR2(I)))GOTO 10311 IF((STR2(I).EQ.0))GOTO 10312 IF((STR1(I).GT.STR2(I)))GOTO 10312 STRCMP=2 RETURN END INTEGER FUNCTION STRIM(STR) INTEGER STR(1) INTEGER LNB,I LNB=0 I=1 GOTO 10315 10313 I=I+(1) 10315 IF((STR(I).EQ.0))GOTO 10314 IF((STR(I).EQ.160))GOTO 10313 IF((STR(I).EQ.137))GOTO 10313 LNB=I 10316 GOTO 10313 10314 STR(LNB+1)=0 STRIM=LNB RETURN END INTEGER FUNCTION STRLSR(POS,TAB,OFFS,OBJECT) INTEGER POS(1),OFFS INTEGER TAB(1),OBJECT(1) INTEGER I,J INTEGER STRCMP J=POS(1)+1 I=2 GOTO 10319 10317 I=I+(1) 10319 IF((I.GT.J))GOTO 10318 IF((STRCMP(OBJECT,TAB(POS(I)+OFFS)).NE.2))GOTO 10317 STRLSR=I RETURN 10318 STRLSR=-1 RETURN END INTEGER FUNCTION SUBSTR(FROM,TO,FIRST,CHARS) INTEGER FROM(1),TO(1) INTEGER FIRST,CHARS INTEGER LEN,I,J,K INTEGER LENGTH LEN=LENGTH(FROM) I=FIRST IF((I.GE.1))GOTO 10321 I=I+(LEN+1) 10321 IF((CHARS.GE.0))GOTO 10322 I=I+(CHARS+1) CHARS=-CHARS 10322 J=I+CHARS-1 IF((I.GE.1))GOTO 10323 I=1 10323 IF((J.LE.LEN))GOTO 10324 J=LEN 10324 K=0 GOTO 10327 10325 K=K+(1) I=I+(1) 10327 IF((I.GT.J))GOTO 10326 TO(K+1)=FROM(I) GOTO 10325 10326 TO(K+1)=0 SUBSTR=K RETURN END SUBROUTINE SWT CALL RTN$$ END INTEGER * 4 FUNCTION SZFIL$(FD) INTEGER FD COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 JUNK INTEGER * 4 SIZE 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)) 10328 CALL PRWF$$(:3+:0,FD,LOC(0),0,:17777777,JUNK,ERRCO0) IF((ERRCO0.EQ.0))GOTO 10328 IF((ERRCO0.EQ.1))GOTO 10329 SZFIL$=-3 RETURN 10329 CALL PRWF$$(:5,FD,LOC(0),0,SIZE,JUNK,ERRCO0) SZFIL$=SIZE RETURN END SUBROUTINE SZSEG$(SIZE,FD) INTEGER * 4 SIZE INTEGER FD COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 ENTRYA,ENTRYB,NFD,NTYPE INTEGER * 4 TEMP INTEGER * 4 SZFIL$ INTEGER AAABE0 INTEGER AAABF0 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)) SIZE=-3 CALL SGDR$$(:2,FD,ENTRYA,ENTRYB,ERRCO0) CALL SGDR$$(:1,FD,0,ENTRYA,ERRCO0) IF((ERRCO0.EQ.0))GOTO 10330 RETURN 10330 IF((ENTRYB.NE.0))GOTO 10331 SIZE=1 GOTO 10332 10331 SIZE=ENTRYB 10332 ENTRYB=-1 10333 ENTRYA=ENTRYB+1 CALL SGDR$$(:6,FD,ENTRYA,ENTRYB,ERRCO0) IF((ENTRYB.EQ.-1))GOTO 10336 IF((ERRCO0.NE.0))GOTO 10336 GOTO 10334 10334 CALL SRCH$$(:1+:40000+:100,FD,0,NFD,NTYPE,ERRCO0) IF((ERRCO0.EQ.0))GOTO 10337 SIZE=-3 RETURN 10337 AAABE0=NTYPE GOTO 10338 10339 TEMP=SZFIL$(NFD) GOTO 10340 10341 CALL SZSEG$(TEMP,NFD) GOTO 10340 10338 AAABF0=AAABE0+1 GOTO(10339,10339,10341,10341),AAABF0 10340 IF((TEMP.NE.-3))GOTO 10342 SIZE=-3 RETURN 10342 SIZE=SIZE+(TEMP) CALL SRCH$$(:4,0,0,NFD,0,ERRCO0) GOTO 10333 10336 RETURN END SUBROUTINE T$CLUP INTEGER NUMRTN,SP INTEGER * 4 RECORD(4,1),STACK(4,1) COMMON /T$PROF/NUMRTN,RECORD COMMON /T$STAK/SP,STACK INTEGER I,CODE,FD INTEGER CREATE INTEGER PROFI0(9) DATA PROFI0/223,240,242,239,230,233,236,229,0/ 10343 IF((SP.LE.1))GOTO 10344 CALL T$EXIT GOTO 10343 10344 CALL AT$HOM(CODE) FD=CREATE(PROFI0,2) IF((FD.NE.-3))GOTO 10345 CALL CANT(PROFI0) 10345 I=1 GOTO 10348 10346 I=I+(1) 10348 IF((I.GT.NUMRTN))GOTO 10347 CALL WRITEF(RECORD(1,I),8,FD) GOTO 10346 10347 CALL CLOSE(FD) RETURN END SUBROUTINE T$ENTR(ROUTI0) INTEGER ROUTI0 INTEGER NUMRTN,SP INTEGER * 4 STACK(4,1),RECORD(4,1) COMMON /T$PROF/NUMRTN,RECORD COMMON /T$STAK/SP,STACK INTEGER I,J INTEGER * 4 CPU,DISKIO,REEL IF((ROUTI0.NE.1))GOTO 10349 I=1 GOTO 10352 10350 I=I+(1) 10352 IF((I.GT.NUMRTN))GOTO 10351 J=1 GOTO 10355 10353 J=J+(1) 10355 IF((J.GT.4))GOTO 10350 RECORD(J,I)=0 GOTO 10353 10351 SP=1 10349 IF((SP.LE.NUMRTN))GOTO 10356 CALL TNOU('Stack overflow in profiler (t$entr)',35) CALL SWT 10356 CALL T$TIME(REEL,CPU,DISKIO) STACK(1,SP)=ROUTI0 STACK(2,SP)=REEL STACK(3,SP)=CPU STACK(4,SP)=DISKIO RECORD(1,ROUTI0)=RECORD(1,ROUTI0)+(1) SP=SP+(1) RETURN END SUBROUTINE T$EXIT INTEGER NUMRTN,SP INTEGER * 4 STACK(4,1),RECORD(4,1) COMMON /T$PROF/NUMRTN,RECORD COMMON /T$STAK/SP,STACK INTEGER * 4 REEL,CPU,DISKIO INTEGER ROUTI0,I CALL T$TIME(REEL,CPU,DISKIO) SP=SP-(1) REEL=REEL-(STACK(2,SP)) CPU=CPU-(STACK(3,SP)) DISKIO=DISKIO-(STACK(4,SP)) ROUTI0=STACK(1,SP) RECORD(2,ROUTI0)=RECORD(2,ROUTI0)+(REEL) RECORD(3,ROUTI0)=RECORD(3,ROUTI0)+(CPU) RECORD(4,ROUTI0)=RECORD(4,ROUTI0)+(DISKIO) I=SP-1 GOTO 10359 10357 I=I-(1) 10359 IF((I.LT.1))GOTO 10358 STACK(2,I)=STACK(2,I)+(REEL) STACK(3,I)=STACK(3,I)+(CPU) STACK(4,I)=STACK(4,I)+(DISKIO) GOTO 10357 10358 RETURN END SUBROUTINE T$TIME(REEL,CPU,DISKIO) INTEGER * 4 REEL,CPU,DISKIO INTEGER TIME(28) CALL TIMDAT(TIME,28) REEL=INTL(TIME(4))*60*TIME(11)+INTL(TIME(5))*TIME(11)+TIME(6) CPU=INTL(TIME(7))*TIME(11)+TIME(8) DISKIO=INTL(TIME(9))*TIME(11)+TIME(10) RETURN END SUBROUTINE T$TRAC(MODE,NAME) INTEGER MODE INTEGER NAME INTEGER LEVEL,I INTEGER AAABG0 DATA LEVEL/0/ AAABG0=MODE GOTO 10360 10361 I=1 GOTO 10364 10362 I=I+(1) 10364 IF(((I.GT.LEVEL).OR.(LEVEL.GT.40)))GOTO 10363 CALL PUTCH(252,-15) CALL PUTCH(160,-15) CALL PUTCH(160,-15) GOTO 10362 10363 CALL PRINT(-15,'*p {*n.',NAME) LEVEL=LEVEL+(1) GOTO 10365 10366 LEVEL=LEVEL-(1) I=1 GOTO 10369 10367 I=I+(1) 10369 IF(((I.GT.LEVEL).OR.(LEVEL.GT.40)))GOTO 10368 CALL PUTCH(252,-15) CALL PUTCH(160,-15) CALL PUTCH(160,-15) GOTO 10367 10368 CALL PRINT(-15,'@.@.}*n.') GOTO 10365 10370 LEVEL=0 GOTO 10365 10360 GOTO(10361,10366,10370),AAABG0 10365 RETURN END INTEGER FUNCTION TCOOK$(UBUF,SIZE,TBUF,TPTR) INTEGER UBUF(1),TBUF(128) INTEGER SIZE,TPTR COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 DUPLX$ INTEGER C,T INTEGER UPTR INTEGER AAABH0 INTEGER AAABI0 INTEGER AAABJ0 INTEGER AAABK0 INTEGER AAABL0 INTEGER AAABM0 INTEGER AAABN0 INTEGER AAABO0 INTEGER AAABP0 INTEGER AAABQ0 INTEGER AAABR0 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)) UPTR=1 GOTO 10380 10378 UPTR=UPTR+(1) TPTR=TPTR+(1) 10380 IF((UPTR.GE.SIZE))GOTO 10379 IF((TBUF(TPTR).NE.0))GOTO 10381 AAABH0=1 GOTO 10371 10382 CONTINUE 10381 UBUF(UPTR)=TBUF(TPTR) IF((UBUF(UPTR).EQ.138))GOTO 10384 IF((UBUF(UPTR).EQ.0))GOTO 10384 GOTO 10378 10384 IF((UBUF(UPTR).NE.138))GOTO 10379 UPTR=UPTR+(1) TPTR=TPTR+(1) 10385 GOTO 10379 10379 UBUF(UPTR)=0 UPTR=1 GOTO 10388 10386 UPTR=UPTR+(1) 10388 IF((UBUF(UPTR).EQ.0))GOTO 10387 IF((AND(UBUF(UPTR),512).EQ.0))GOTO 10389 UBUF(UPTR)=UBUF(UPTR)-(512) 10389 IF((TERMA0(3).NE.1))GOTO 10386 IF((AND(UBUF(UPTR),256).EQ.0))GOTO 10391 UBUF(UPTR)=UBUF(UPTR)-(256) C=OR(UBUF(UPTR),128) GOTO 10392 10393 UBUF(UPTR)=OR(AND(UBUF(UPTR),128),AND(251,127)) GOTO 10399 10395 UBUF(UPTR)=OR(AND(UBUF(UPTR),128),AND(253,127)) GOTO 10399 10396 UBUF(UPTR)=OR(AND(UBUF(UPTR),128),AND(252,127)) GOTO 10399 10397 UBUF(UPTR)=OR(AND(UBUF(UPTR),128),AND(254,127)) GOTO 10399 10398 UBUF(UPTR)=OR(AND(UBUF(UPTR),128),AND(224,127)) GOTO 10399 10392 IF((C.EQ.168))GOTO 10393 IF((C.EQ.169))GOTO 10395 IF((C.EQ.161))GOTO 10396 IF((C.EQ.223))GOTO 10397 IF((C.EQ.167))GOTO 10398 10394 GOTO 10399 10391 C=OR(UBUF(UPTR),128) GOTO 10400 10401 UBUF(UPTR)=UBUF(UPTR)-225+193 GOTO 10402 10403 UBUF(UPTR)=UBUF(UPTR)-193+225 GOTO 10402 10400 IF((C.LT.225))GOTO 10404 IF((C.GT.250))GOTO 10404 GOTO 10401 10404 IF((C.LT.193))GOTO 10405 IF((C.GT.218))GOTO 10405 GOTO 10403 10405 CONTINUE 10402 CONTINUE 10399 CONTINUE 10390 GOTO 10386 10387 TCOOK$=UPTR-1 RETURN 10371 TPTR=1 TBUF(TPTR)=0 AAABO0=1 GOTO 10408 10406 AAABO0=AAABO0+(1) 10408 IF((AAABO0.GE.128))GOTO 10382 AAABI0=1 GOTO 10372 10409 IF((AND(C,256).EQ.0))GOTO 10410 T=C-256 GOTO 10412 10410 T=C 10411 GOTO 10412 10413 AAABJ0=1 GOTO 10373 10414 TBUF(AAABO0)=C GOTO 10415 10416 AAABK0=1 GOTO 10374 10417 UPTR=1 AAABO0=0 GOTO 10415 10418 IF((T.EQ.C))GOTO 10419 CALL T1OU(ECHAR0) 10419 IF((AAABO0.LE.1))GOTO 10420 AAABO0=AAABO0-(1) T=TBUF(AAABO0) GOTO 10421 10420 IF((UPTR.LE.1))GOTO 10422 UPTR=UPTR-(1) T=UBUF(UPTR) GOTO 10423 10422 T=0 10423 CONTINUE 10421 AAABL0=1 GOTO 10375 10424 AAABO0=AAABO0-(1) GOTO 10415 10425 AAABK0=2 GOTO 10374 10426 AAABM0=1 GOTO 10376 10427 AAABO0=AAABO0-(1) GOTO 10415 10428 IF((AAABO0.GT.1))GOTO 10430 IF((UPTR.GT.1))GOTO 10430 GOTO 10429 10430 AAABK0=3 GOTO 10374 10431 CONTINUE 10429 UPTR=1 AAABO0=1 TBUF(AAABO0)=0 GOTO 10382 10432 IF((T.EQ.138))GOTO 10433 CALL TONL 10433 TBUF(AAABO0)=138 TBUF(AAABO0+1)=0 GOTO 10382 10412 IF((T.EQ.ESCCH0))GOTO 10413 IF((T.EQ.KCHAR0))GOTO 10416 IF((T.EQ.ECHAR0))GOTO 10418 IF((T.EQ.RTCHA0))GOTO 10425 IF((T.EQ.EOFCH0))GOTO 10428 IF((T.EQ.NLCHA0))GOTO 10432 TBUF(AAABO0)=C 10415 TBUF(AAABO0+1)=0 GOTO 10406 10372 CALL C1IN(C) IF((TERMA0(3).NE.1))GOTO 10409 IF((C.NE.192))GOTO 10409 CALL C1IN(C) IF((C.NE.ESCCH0))GOTO 10436 AAABJ0=2 GOTO 10373 10437 CONTINUE 10436 C=C+(256) 10435 GOTO 10409 10373 AAABP0=DUPLX$(-1) CALL DUPLX$(OR(AAABP0,-16384)) IF((ESCCH0.LT.160))GOTO 10440 IF((ESCCH0.GT.254))GOTO 10440 GOTO 10439 10440 CALL T1OU(128) GOTO 10441 10439 CALL T1OU(136) 10441 CALL T1OU(222) CALL C1IN(C) GOTO 10442 10443 T=LS(C-176,6) CALL C1IN(C) T=T+(LS(C-176,3)) CALL C1IN(C) C=T+C-176 GOTO 10444 10445 CALL T1OU(C) CALL C1IN(C) C=AND(C,127) GOTO 10444 10442 IF((176.GT.C))GOTO 10446 IF((C.GT.183))GOTO 10446 GOTO 10443 10446 IF((C.EQ.175))GOTO 10445 10444 C=C+(512) AAABN0=1 GOTO 10377 10447 CALL DUPLX$(AAABP0) GOTO 10448 10374 AAABQ0=1 GOTO 10451 10449 AAABQ0=AAABQ0+(1) 10451 IF((KILLR0(AAABQ0).EQ.0))GOTO 10452 CALL T1OU(KILLR0(AAABQ0)) GOTO 10449 10375 IF((AND(T,256).EQ.0))GOTO 10453 CALL T1OU(ECHAR0) T=T-(256) 10453 IF((AND(T,512).EQ.0))GOTO 10424 T=T-(512) IF((T.GE.128))GOTO 10455 CALL T1OU(ECHAR0) T=T+(128) 10455 IF((T.LT.128))GOTO 10458 IF((T.GT.159))GOTO 10458 GOTO 10457 10458 IF((T.EQ.255))GOTO 10457 GOTO 10456 10457 CALL T1OU(ECHAR0) 10456 CALL T1OU(ECHAR0) 10454 GOTO 10424 10376 AAABR0=1 GOTO 10462 10460 AAABR0=AAABR0+(1) 10462 IF((AAABR0.GE.UPTR))GOTO 10461 C=UBUF(AAABR0) IF((AND(C,256).EQ.0))GOTO 10463 CALL T1OU(192) C=C-(256) 10463 IF((AND(C,512).EQ.0))GOTO 10464 CALL T1OU(222) IF((C-512.GE.128))GOTO 10465 CALL T1OU(175) 10465 CONTINUE 10464 AAABN0=2 GOTO 10377 10461 AAABR0=1 GOTO 10469 10467 AAABR0=AAABR0+(1) 10469 IF((TBUF(AAABR0).EQ.0))GOTO 10427 C=TBUF(AAABR0) IF((AND(C,256).EQ.0))GOTO 10470 CALL T1OU(192) C=C-(256) 10470 IF((AND(C,512).EQ.0))GOTO 10471 CALL T1OU(222) IF((C-512.GE.128))GOTO 10472 CALL T1OU(175) 10472 CONTINUE 10471 AAABN0=3 GOTO 10377 10377 T=C IF((AND(T,512).EQ.0))GOTO 10475 T=T-(512) IF((T.GE.128))GOTO 10476 T=T+(128) 10476 IF((T.LT.128))GOTO 10479 IF((T.GT.159))GOTO 10479 GOTO 10478 10479 IF((T.EQ.255))GOTO 10478 GOTO 10477 10478 CALL T1OU(189) IF((T.EQ.255))GOTO 10480 CALL T1OU(T-128+192) GOTO 10484 10480 CALL T1OU(163) 10481 GOTO 10484 10477 CALL T1OU(T) 10482 GOTO 10484 10475 CALL T1OU(T) 10483 GOTO 10484 10452 GOTO(10417,10426,10431),AAABK0 GOTO 10452 10484 GOTO(10447,10460,10467),AAABN0 GOTO 10484 10448 GOTO(10414,10437),AAABJ0 GOTO 10448 END INTEGER FUNCTION TGETL$(BUF,SIZE,F) INTEGER BUF(1) INTEGER SIZE,F COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 TCOOK$ 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)) TGETL$=TCOOK$(BUF,SIZE,TERMB0,TERMC0) RETURN END INTEGER * 4 FUNCTION TMARK$(F) INTEGER F TMARK$=0 RETURN END INTEGER FUNCTION TPUTL$(LINE,F) INTEGER LINE(1) INTEGER F COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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,BP,BUF(102) INTEGER C INTEGER AAABT0 INTEGER AAABU0 INTEGER AAABV0 INTEGER AAABW0 INTEGER AAABS0 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)) BP=0 I=1 GOTO 10489 10487 I=I+(1) 10489 IF((LINE(I).EQ.0))GOTO 10488 C=OR(128,LINE(I)) AAABV0=C GOTO 10490 10491 IF((TERMA0(3).NE.1))GOTO 10492 AAABS0=192 AAABT0=1 GOTO 10485 10493 CONTINUE 10492 AAABS0=C AAABT0=2 GOTO 10485 10496 IF((TERMA0(3).NE.1))GOTO 10497 AAABS0=C-225+193 AAABT0=3 GOTO 10485 10497 AAABS0=C AAABT0=4 GOTO 10485 10500 CONTINUE 10499 GOTO 10487 10501 IF((TERMA0(3).NE.1))GOTO 10502 AAABS0=192 AAABT0=5 GOTO 10485 10503 CONTINUE 10502 AAABS0=192 AAABT0=6 GOTO 10485 10505 IF((TERMA0(3).NE.1))GOTO 10506 AAABS0=192 AAABT0=7 GOTO 10485 10507 AAABS0=168 AAABT0=8 GOTO 10485 10506 AAABS0=251 AAABT0=9 GOTO 10485 10510 CONTINUE 10509 GOTO 10487 10511 IF((TERMA0(3).NE.1))GOTO 10512 AAABS0=192 AAABT0=10 GOTO 10485 10513 AAABS0=169 AAABT0=11 GOTO 10485 10512 AAABS0=253 AAABT0=12 GOTO 10485 10516 CONTINUE 10515 GOTO 10487 10517 IF((TERMA0(3).NE.1))GOTO 10518 AAABS0=192 AAABT0=13 GOTO 10485 10519 AAABS0=161 AAABT0=14 GOTO 10485 10518 AAABS0=252 AAABT0=15 GOTO 10485 10522 CONTINUE 10521 GOTO 10487 10523 IF((TERMA0(3).NE.1))GOTO 10524 AAABS0=192 AAABT0=16 GOTO 10485 10525 AAABS0=167 AAABT0=17 GOTO 10485 10524 AAABS0=224 AAABT0=18 GOTO 10485 10528 CONTINUE 10527 GOTO 10487 10529 IF((TERMA0(3).NE.1))GOTO 10530 AAABS0=192 AAABT0=19 GOTO 10485 10531 AAABS0=223 AAABT0=20 GOTO 10485 10530 AAABS0=254 AAABT0=21 GOTO 10485 10534 CONTINUE 10533 GOTO 10487 10535 AAABS0=141 AAABT0=22 GOTO 10485 10536 AAABS0=138 AAABT0=23 GOTO 10485 10490 IF(AAABV0.EQ.138)GOTO 10535 AAABW0=AAABV0-191 GOTO(10501,10491,10491,10491,10491,10491,10491,10491,10491,10491 *,10491,10491,10491,10491,10491,10491,10491,10491,10491,10491,10491 *,10491,10491,10491,10491,10491,10491,10538,10538,10538,10538,10538 *,10523,10496,10496,10496,10496,10496,10496,10496,10496,10496,10496 *,10496,10496,10496,10496,10496,10496,10496,10496,10496,10496,10496 *,10496,10496,10496,10496,10496,10505,10517,10511,10529),AAABW0 10538 AAABS0=C AAABT0=24 GOTO 10485 10539 CONTINUE 10495 GOTO 10487 10488 AAABU0=1 GOTO 10486 10540 TPUTL$=I-1 RETURN 10486 IF((BP.LE.0))GOTO 10541 CALL TNOUA(BUF,BP) 10541 BP=0 GOTO 10542 10485 IF((BP.LT.102*2))GOTO 10543 AAABU0=2 GOTO 10486 10544 CONTINUE 10543 IF((AND(BP,1).NE.0))GOTO 10545 BUF(RS(BP,1)+1)=XOR(LS(AAABS0,8),RT(BUF(RS(BP,1)+1),8)) GOTO 10546 10545 BUF(RS(BP,1)+1)=XOR(LT(BUF(RS(BP,1)+1),8),AAABS0) 10546 BP=BP+(1) GOTO 10547 10542 GOTO(10540,10544),AAABU0 GOTO 10542 10547 GOTO(10493,10487,10487,10500,10503,10487,10507,10487,10510,10513, * 10487,10516,10519,10487,10522,10525,10487,10528,10531,10487, * 10534,10536,10487,10539),AAABT0 GOTO 10547 END LOGICAL FUNCTION TQUIT$(FLAG) LOGICAL FLAG INTEGER CODE CALL QUIT$(FLAG) IF((.NOT.FLAG))GOTO 10548 CALL TTY$RS(:140000,CODE) CALL T1OU(138) 10548 TQUIT$=FLAG RETURN END INTEGER FUNCTION TREAD$(BUF,NW,F) INTEGER BUF(1),NW,F COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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)) I=0 GOTO 10551 10549 I=I+(1) 10551 IF((I.GE.NW))GOTO 10550 CALL C1IN(BUF(I+1)) IF((BUF(I+1).EQ.138))GOTO 10553 IF((BUF(I+1).EQ.131))GOTO 10553 GOTO 10549 10553 I=I+(1) GOTO 10550 10550 TREAD$=I RETURN END INTEGER FUNCTION TRUNC(FD) INTEGER FD COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 F INTEGER MAPSU INTEGER OFF INTEGER AAABX0 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)) F=MAPSU(FD) IF((F.LT.1))GOTO 10555 IF((F.GT.128))GOTO 10555 GOTO 10554 10555 TRUNC=-3 RETURN 10554 OFF=F*16-16+1 IF((AND(FDFLA0(OFF),:020000).EQ.0))GOTO 10557 IF((AND(FDFLA0(OFF),:004000).NE.0))GOTO 10557 GOTO 10556 10557 TRUNC=-3 RETURN 10556 CALL FLUSH$(F) AAABX0=FDDEV0(OFF) GOTO 10558 10559 TRUNC=-2 RETURN 10560 CALL PRWF$$(:4,FDUNI0(OFF),LOC(0),0,INTL(0),0,ERRCO0) IF((ERRCO0.NE.0))GOTO 10562 TRUNC=-2 RETURN 10563 TRUNC=-2 RETURN 10558 GOTO(10559,10560,10563),AAABX0 10562 TRUNC=-3 RETURN END INTEGER FUNCTION TSCAN$(PATH,BUF,CLEV,NLEV,ACTION) INTEGER BUF(32),CLEV,NLEV,ACTION INTEGER PATH(180) COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 TYPE,CODE,I,L,PWD(3),OPWD(3),NPWD(3) INTEGER FOLLOW,CTOC,EXPAND,EQUAL,UPKFN$ INTEGER AAABY0 INTEGER AAABZ0 INTEGER AAACA0 INTEGER AAACB0 INTEGER AAACC0 INTEGER AAACD0(9) INTEGER AAACE0(4) INTEGER AAACF0 INTEGER AAACG0(24) LOGICAL AAACH0 INTEGER AAACI0 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 AAACD0/189,199,225,212,229,227,232,189,0/ DATA AAACE0/249,229,243,0/ DATA AAACG0/233,238,160,244,243,227,225,238,164,186,160,227,225,23 *8,167,244,160,232,225,240,240,229,238,0/ TSATA0=0 IF((CLEV.NE.0))GOTO 10569 IF((EXPAND(AAACD0,TSPAT0,180).EQ.-3))GOTO 10571 IF((EQUAL(TSPAT0,AAACE0).EQ.0))GOTO 10571 GOTO 10570 10571 TSGTA0=0 GOTO 10572 10570 TSGTA0=1 10572 CLEV=1 TSPSA0(CLEV)=CTOC(PATH,TSPAT0,180)+1 IF((AND(ACTION,1).EQ.0))GOTO 10573 AAABZ0=1 GOTO 10565 10574 CONTINUE 10573 CALL SRCH$$(:1+:40000,:177777,0,TSUNA0(CLEV),TYPE,CODE) IF((CODE.EQ.0))GOTO 10575 CLEV=0 TSCAN$=-1 RETURN 10575 CALL DIR$RD(:2,TSUNA0(CLEV),LOC(BUF),32,CODE) TSSTA0=3 10569 CONTINUE 10576 AAACF0=TSSTA0 GOTO 10577 10578 IF((AND(ACTION,1).EQ.0))GOTO 10579 IF((TSATA0.NE.0))GOTO 10579 AAABZ0=2 GOTO 10565 10580 CONTINUE 10579 IF((CLEV.LT.NLEV))GOTO 10581 TSSTA0=3 AAABY0=1 GOTO 10564 10581 AAACA0=1 GOTO 10566 10584 CALL AT$SWT(TSBFA0(2,CLEV),32,0,PWD,:2,CODE) IF((CODE.EQ.0))GOTO 10585 TSSTA0=2 TSCAN$=-3 RETURN 10585 CLEV=CLEV+(1) CALL SRCH$$(:1+:40000,:177777,0,TSUNA0(CLEV),TYPE,CODE) IF((CODE.EQ.0))GOTO 10586 TSSTA0=4 TSCAN$=-3 RETURN 10586 TSSTA0=3 GOTO 10587 10588 IF((TSATA0.NE.0))GOTO 10589 AAABZ0=3 GOTO 10565 10590 CONTINUE 10589 TSSTA0=3 AAABY0=2 GOTO 10564 10592 IF((AND(ACTION,1).EQ.0))GOTO 10593 IF((TSATA0.NE.0))GOTO 10593 AAABZ0=4 GOTO 10565 10594 CONTINUE 10593 PATH(TSPSA0(CLEV))=0 CALL DIR$RD(:1,TSUNA0(CLEV),LOC(BUF),32,CODE) IF((CODE.EQ.0))GOTO 10595 TSSTA0=5 GOTO 10587 10595 IF((RS(BUF(1),8).EQ.2))GOTO 10598 IF((RS(BUF(1),8).EQ.3))GOTO 10598 GOTO 10597 10598 BUF(1)=0 AAACC0=1 GOTO 10568 10599 IF((AND(BUF(20),4103).NE.4))GOTO 10600 AAACB0=1 GOTO 10567 10601 TSSTA0=1 10600 IF((AND(BUF(20),7).NE.4))GOTO 10603 IF((AND(ACTION,2).NE.0))GOTO 10603 GOTO 10602 10603 TSCAN$=-2 RETURN 10602 CONTINUE 10597 CONTINUE 10596 GOTO 10587 10604 IF((AND(ACTION,1).EQ.0))GOTO 10605 IF((TSATA0.NE.0))GOTO 10605 AAABZ0=5 GOTO 10565 10606 CONTINUE 10605 CALL SRCH$$(:4,0,0,TSUNA0(CLEV),0,CODE) TSSTA0=4 IF((AND(ACTION,8).EQ.0))GOTO 10587 TSCAN$=0 RETURN 10608 CLEV=CLEV-(1) IF((CLEV.GT.0))GOTO 10609 GOTO 10610 10609 AAABZ0=6 GOTO 10565 10611 TSSTA0=3 AAABY0=3 GOTO 10564 10577 GOTO(10578,10588,10592,10608,10604),AAACF0 CALL ERROR(AAACG0) 10587 CONTINUE 10583 GOTO 10576 10610 TSCAN$=-1 RETURN 10564 IF((AND(ACTION,4).EQ.0))GOTO 10614 CALL MOVE$(TSBFA0(1,CLEV),BUF,32) BUF(1)=1 TSCAN$=-2 RETURN 10566 CALL GPAS$$(TSBFA0(2,CLEV),32,OPWD,NPWD,CODE) CALL TEXTO$(OPWD,6,AAACI0,AAACH0) IF((CODE.NE.10))GOTO 10615 PWD(1)=' ' PWD(2)=' ' PWD(3)=' ' GOTO 10616 10615 IF((TSGTA0.NE.1))GOTO 10617 IF((.NOT.AAACH0))GOTO 10617 PWD(1)=NPWD(1) PWD(2)=NPWD(2) PWD(3)=NPWD(3) GOTO 10618 10617 PWD(1)=OPWD(1) PWD(2)=OPWD(2) PWD(3)=OPWD(3) 10618 CONTINUE 10616 DO 10619 I=1,3 TSPWA0(I,CLEV)=PWD(I) 10619 CONTINUE 10620 L=TSEOS0 IF((PWD(1).EQ.' '))GOTO 10621 IF((PWD(1).EQ.0))GOTO 10621 PATH(L)=186 L=L+(1+UPKFN$(PWD,6,PATH(L+1),180-L)) 10621 TSPSA0(CLEV+1)=L GOTO 10584 10568 L=TSPSA0(CLEV) IF((L.LE.1))GOTO 10623 PATH(L)=175 L=L+(1) 10623 L=L+(UPKFN$(BUF(2),32,PATH(L),180-L+1)) TSEOS0=L GOTO 10599 10567 CALL MOVE$(BUF,TSBFA0(1,CLEV),32) GOTO 10601 10565 TSATA0=1 CALL AT$HOM(CODE) IF((FOLLOW(TSPAT0,0).NE.-3))GOTO 10626 TSSTA0=5 TSCAN$=-3 RETURN 10626 I=1 GOTO 10629 10627 I=I+(1) 10629 IF((I.GE.CLEV))GOTO 10631 CALL AT$SWT(TSBFA0(2,I),32,0,TSPWA0(1,I),:2,CODE) IF((CODE.EQ.0))GOTO 10627 TSSTA0=5 TSCAN$=-3 RETURN 10631 GOTO(10574,10580,10590,10594,10606,10611),AAABZ0 GOTO 10631 10614 GOTO(10576,10587,10587),AAABY0 GOTO 10614 END INTEGER FUNCTION TSEEK$(POS,F,RA) INTEGER * 4 POS INTEGER F,RA COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 JUNK 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)) IF((RA.EQ.0))GOTO 10633 IF((POS.LT.0))GOTO 10633 GOTO 10632 10633 TSEEK$=-3 RETURN 10632 I=1 GOTO 10636 10634 I=I+(1) 10636 IF((I.GT.POS))GOTO 10635 CALL C1IN(JUNK) GOTO 10634 10635 TSEEK$=-2 RETURN END INTEGER FUNCTION TTYP$F(TTYPE) INTEGER TTYPE(1) INTEGER FD,PID,I,J INTEGER OPEN,CTOI,GETLIN,TTYP$V INTEGER STR(102) INTEGER AAACJ0(11) DATA AAACJ0/189,244,229,242,237,236,233,243,244,189,0/ FD=OPEN(AAACJ0,1) IF((FD.NE.-3))GOTO 10637 TTYPE(1)=0 TTYP$F=0 RETURN 10637 CALL DATE(6,PID) TTYPE(1)=0 10638 IF((GETLIN(STR,FD).EQ.-1))GOTO 10639 I=1 J=CTOI(STR(6),I) IF((J.NE.PID))GOTO 10638 I=11 10641 IF((STR(I).NE.160))GOTO 10642 I=I+(1) GOTO 10641 10642 J=1 GOTO 10645 10643 I=I+(1) J=J+(1) 10645 IF((I.GT.16))GOTO 10644 IF((STR(I).EQ.0))GOTO 10644 IF((STR(I).EQ.160))GOTO 10644 TTYPE(J)=STR(I) GOTO 10643 10644 TTYPE(J)=0 GOTO 10639 10639 CALL CLOSE(FD) IF((TTYPE(1).NE.0))GOTO 10646 TTYP$F=0 RETURN 10646 TTYP$F=TTYP$V(TTYPE) RETURN END SUBROUTINE TTYP$L INTEGER I,COL INTEGER INPUT,LENGTH INTEGER TTYPE(102),DESC(102) INTEGER FD INTEGER OPEN INTEGER AAACK0 INTEGER AAACL0(18) INTEGER AAACM0(9) INTEGER AAACN0(8) INTEGER AAACO0(3) INTEGER AAACP0(14) INTEGER AAACQ0(3) INTEGER AAACR0(3) INTEGER AAACS0(14) DATA AAACL0/212,229,242,237,233,238,225,236,160,244,249,240,229,24 *3,186,170,238,0/ DATA AAACM0/189,244,244,249,240,229,243,189,0/ DATA AAACN0/170,243,170,172,172,172,243,0/ DATA AAACO0/170,238,0/ DATA AAACP0/160,160,170,184,172,172,174,243,174,170,163,243,160,0/ DATA AAACQ0/170,238,0/ DATA AAACR0/170,238,0/ DATA AAACS0/160,160,170,184,172,172,174,243,174,170,243,170,238,0/ CALL PRINT(1,AAACL0) FD=OPEN(AAACM0,1) IF((FD.NE.-3))GOTO 10648 RETURN 10648 COL=1 10649 IF((INPUT(FD,AAACN0,TTYPE,DESC).EQ.-1))GOTO 10650 I=1 10651 IF((DESC(I).NE.160))GOTO 10652 I=I+(1) GOTO 10651 10652 AAACK0=1 GOTO 10647 10650 IF((COL.EQ.1))GOTO 10654 CALL PRINT(1,AAACO0) 10654 CALL CLOSE(FD) RETURN 10647 IF((COL.NE.1))GOTO 10655 CALL PRINT(1,AAACP0,TTYPE,25,DESC(I)) IF((LENGTH(DESC(I)).LE.25))GOTO 10656 CALL PRINT(1,AAACQ0) GOTO 10649 10656 COL=2 10657 GOTO 10649 10655 IF((LENGTH(DESC(I)).LE.25))GOTO 10659 CALL PRINT(1,AAACR0) 10659 CALL PRINT(1,AAACS0,TTYPE,DESC(I)) COL=1 10658 GOTO 10649 END INTEGER FUNCTION TTYP$Q(TTYPE,BLANK0) INTEGER TTYPE(1) INTEGER BLANK0 COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 EQUAL,INPUT,TTYP$V INTEGER STR(102) INTEGER AAACT0(24) INTEGER AAACU0(2) INTEGER AAACV0(5) INTEGER AAACW0(45) INTEGER AAACX0(3) 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 AAACT0/197,238,244,229,242,160,244,229,242,237,233,238,225,23 *6,160,244,249,240,229,186,160,170,243,0/ DATA AAACU0/191,0/ DATA AAACV0/232,229,236,240,0/ DATA AAACW0/201,238,246,225,236,233,228,160,244,229,242,237,233,23 *8,225,236,160,244,249,240,229,187,160,229,238,244,229,242,160,167, *191,167,160,230,239,242,160,232,229,236,240,174,170,238,0/ DATA AAACX0/170,238,0/ 10661 IF((INPUT(1,AAACT0,STR).EQ.-1))GOTO 10662 CALL MAPSTR(STR,1) IF((STR(1).NE.0))GOTO 10663 IF((BLANK0.NE.1))GOTO 10663 DO 10664 I=1,6 TERMA0(I)=0 10664 CONTINUE 10665 TERMT0(1)=0 TTYPE(1)=0 TTYP$Q=1 RETURN 10663 IF((EQUAL(STR,AAACU0).EQ.1))GOTO 10667 IF((EQUAL(STR,AAACV0).EQ.1))GOTO 10667 GOTO 10666 10667 CALL TTYP$L GOTO 10668 10666 IF((TTYP$V(STR).NE.1))GOTO 10669 CALL CTOC(STR,TTYPE,7) TTYP$Q=1 RETURN 10669 CALL PRINT(1,AAACW0) 10668 CONTINUE GOTO 10661 10662 CALL PRINT(1,AAACX0) TTYP$Q=0 RETURN END INTEGER FUNCTION TTYP$R(TTYPE) INTEGER TTYPE(1) COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 CHKSTR 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)) IF((CHKSTR(TERMT0,7).NE.0))GOTO 10670 TTYPE(1)=0 TTYP$R=0 RETURN 10670 CALL CTOC(TERMT0,TTYPE,7) TTYP$R=1 RETURN END INTEGER FUNCTION TTYP$V(TTYPE) INTEGER TTYPE(1) COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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,A(6) INTEGER INPUT,EQUAL,CTOC INTEGER STR(102),JUNK(102) INTEGER FD INTEGER OPEN INTEGER AAACY0(9) INTEGER AAACZ0(20) 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 AAACY0/189,244,244,249,240,229,243,189,0/ DATA AAACZ0/170,243,170,172,172,172,243,170,249,170,249,170,249,17 *0,249,170,249,170,249,0/ FD=OPEN(AAACY0,1) IF((FD.NE.-3))GOTO 10671 TTYP$V=0 RETURN 10671 TTYP$V=0 10672 IF((INPUT(FD,AAACZ0,STR,JUNK,A(1),A(2),A(3),A(4),A(5),A(6)).EQ.-1) *)GOTO 10673 IF((EQUAL(STR,TTYPE).NE.1))GOTO 10672 CALL BREAK$(1) DO 10675 I=1,6 TERMA0(I)=A(I) 10675 CONTINUE 10676 CALL CTOC(TTYPE,TERMT0,7) TTYP$V=1 CALL BREAK$(0) GOTO 10673 10673 CALL CLOSE(FD) RETURN END INTEGER FUNCTION TWRIT$(BUF,NW,F) INTEGER BUF(1),NW,F COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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)) I=0 GOTO 10679 10677 I=I+(1) 10679 IF((I.GE.NW))GOTO 10678 CALL T1OU(BUF(I+1)) GOTO 10677 10678 TWRIT$=I RETURN END INTEGER FUNCTION TYPE(C) INTEGER C INTEGER AAADA0 INTEGER AAADB0 AAADA0=C GOTO 10680 10681 TYPE=225 GOTO 10682 10683 TYPE=176 GOTO 10682 10680 AAADB0=AAADA0-175 GOTO(10683,10683,10683,10683,10683,10683,10683,10683,10683,10683, * 10684,10684,10684,10684,10684,10684,10684,10681,10681,10681, * 10681,10681,10681,10681,10681,10681,10681,10681,10681,10681, * 10681,10681,10681,10681,10681,10681,10681,10681,10681,10681, * 10681,10681,10681,10684,10684,10684,10684,10684,10684,10681,10681 *,10681,10681,10681,10681,10681,10681,10681,10681,10681,10681,10681 *,10681,10681,10681,10681,10681,10681,10681,10681,10681,10681,10681 *,10681,10681),AAADB0 10684 TYPE=C 10682 RETURN END INTEGER FUNCTION UPKFN$(NAME,LEN,STR,MAX) INTEGER NAME(1),LEN,MAX INTEGER STR(1) INTEGER L,CP INTEGER C INTEGER MAPDN L=1 CP=0 GOTO 10687 10685 L=L+(1) 10687 IF((L.GE.MAX))GOTO 10686 IF((CP.GE.LEN))GOTO 10686 IF((AND(CP,1).NE.0))GOTO 10688 C=RS(NAME(RS(CP,1)+1),8) GOTO 10689 10688 C=RT(NAME(RS(CP,1)+1),8) 10689 CP=CP+(1) IF((C.NE.160))GOTO 10690 GOTO 10686 10690 IF((C.EQ.175))GOTO 10692 IF((C.EQ.192))GOTO 10692 IF((C.EQ.189))GOTO 10692 GOTO 10691 10692 IF((C.NE.189))GOTO 10693 STR(L)=C GOTO 10694 10693 STR(L)=192 10694 L=L+(1) IF((L.LT.MAX))GOTO 10695 GOTO 10686 10695 CONTINUE 10691 STR(L)=MAPDN(C) GOTO 10685 10686 STR(L)=0 UPKFN$=L-1 RETURN END INTEGER FUNCTION VFYUSR(USER) INTEGER USER(1) INTEGER KEY(33),LINE(102) INTEGER LEN INTEGER CTOC,GETLIN,LENGTH,STRCMP INTEGER FD INTEGER OPEN INTEGER AAADC0(11) INTEGER AAADD0 DATA AAADC0/189,245,243,229,242,236,233,243,244,189,0/ IF((LENGTH(USER).LT.33))GOTO 10696 VFYUSR=-3 RETURN 10696 FD=OPEN(AAADC0,1) IF((FD.NE.-3))GOTO 10697 CALL REMARK('in vfyusr: can''t read user list.') VFYUSR=-3 RETURN 10697 LEN=CTOC(USER,KEY,33)+1 GOTO 10700 10698 LEN=LEN+(1) 10700 IF((LEN.GE.33))GOTO 10699 KEY(LEN)=160 GOTO 10698 10699 KEY(33)=0 CALL MAPSTR(KEY,2) VFYUSR=-3 10701 IF((GETLIN(LINE,FD).EQ.-1))GOTO 10702 LINE(33)=0 AAADD0=STRCMP(LINE,KEY) GOTO 10703 10704 VFYUSR=-2 GOTO 10702 10703 IF(AAADD0.EQ.2)GOTO 10704 GOTO 10701 10702 CALL CLOSE(FD) RETURN END INTEGER FUNCTION VT$ALC(TBL,C) INTEGER TBL INTEGER C COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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,J 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)) I=1 GOTO 10707 10705 I=I+(1) 10707 IF((I.GT.20))GOTO 10706 IF((FNUSE0(I).NE.1))GOTO 10706 GOTO 10705 10706 IF((I.LE.20))GOTO 10708 VT$ALC=-3 RETURN 10708 FNUSE0(I)=1 DO 10709 J=1,128 FNTAB0(J,I)=0 10709 CONTINUE 10710 FNTAB0(C,TBL)=I+5000 TBL=I VT$ALC=-2 RETURN END INTEGER FUNCTION VT$CLR(DUMMY) INTEGER DUMMY COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 AAADE0 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)) IF((TCCLE0(1).NE.0))GOTO 10711 VT$CLR=-3 RETURN 10711 AAADE0=1 GOTO 10714 10712 AAADE0=AAADE0+(1) 10714 IF((TCCLE0(AAADE0).EQ.0))GOTO 10713 CALL TNOUA(LS(TCCLE0(AAADE0),8),1) GOTO 10712 10713 CALL VT$DEL(TCCLH0) VT$CLR=-2 RETURN END SUBROUTINE VT$DB COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 STR(102) INTEGER AAADF0(23) INTEGER AAADG0(13) INTEGER AAADH0(13) INTEGER AAADI0(13) INTEGER AAADJ0(12) INTEGER AAADK0(12) INTEGER AAADL0(13) INTEGER AAADM0(10) INTEGER AAADN0(12) INTEGER AAADO0(8) INTEGER AAADP0(9) INTEGER AAADQ0(8) INTEGER AAADR0(16) INTEGER AAADS0(16) INTEGER AAADT0(14) INTEGER AAADU0(16) INTEGER AAADV0(17) INTEGER AAADW0(13) INTEGER AAADX0(14) INTEGER AAADY0(14) INTEGER AAADZ0(13) INTEGER AAAEA0(14) INTEGER AAAEB0(13) 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 AAADF0/205,225,248,242,239,247,189,170,233,172,160,205,225,24 *8,227,239,236,189,170,233,170,238,0/ DATA AAADG0/227,236,229,225,242,223,243,227,242,229,229,238,0/ DATA AAADH0/227,236,229,225,242,223,244,239,223,229,239,236,0/ DATA AAADI0/227,236,229,225,242,223,244,239,223,229,239,243,0/ DATA AAADJ0/227,245,242,243,239,242,223,232,239,237,229,0/ DATA AAADK0/227,245,242,243,239,242,223,236,229,230,244,0/ DATA AAADL0/227,245,242,243,239,242,223,242,233,231,232,244,0/ DATA AAADM0/227,245,242,243,239,242,223,245,240,0/ DATA AAADN0/227,245,242,243,239,242,223,228,239,247,238,0/ DATA AAADO0/225,226,243,223,240,239,243,0/ DATA AAADP0/246,229,242,244,223,240,239,243,0/ DATA AAADQ0/232,239,242,223,240,239,243,0/ DATA AAADR0/227,239,239,242,228,223,227,232,225,242,189,170,243,17 *0,238,0/ DATA AAADS0/227,239,239,242,228,223,244,249,240,229,189,170,233,17 *0,238,0/ DATA AAADT0/243,229,241,223,244,249,240,229,189,170,233,170,238,0/ DATA AAADU0/228,229,236,225,249,223,244,233,237,229,189,170,233,17 *0,238,0/ DATA AAADV0/247,242,225,240,223,225,242,239,245,238,228,189,170,24 *9,170,238,0/ DATA AAADW0/227,236,242,223,236,229,238,189,170,233,170,238,0/ DATA AAADX0/227,229,239,243,223,236,229,238,189,170,233,170,238,0/ DATA AAADY0/227,229,239,236,223,236,229,238,189,170,233,170,238,0/ DATA AAADZ0/225,226,243,223,236,229,238,189,170,233,170,238,0/ DATA AAAEA0/246,229,242,244,223,236,229,238,189,170,233,170,238,0/ DATA AAAEB0/232,239,242,223,236,229,238,189,170,233,170,238,0/ CALL PRINT(-15,AAADF0,MAXRO0,MAXCO0) CALL VT$DB1(AAADG0,TCCLE0) CALL VT$DB1(AAADH0,TCCLF0) CALL VT$DB1(AAADI0,TCCLG0) CALL VT$DB1(AAADJ0,TCCUR0) CALL VT$DB1(AAADK0,TCCUS0) CALL VT$DB1(AAADL0,TCCUT0) CALL VT$DB1(AAADM0,TCCUU0) CALL VT$DB1(AAADN0,TCCUV0) CALL VT$DB1(AAADO0,TCABS0) CALL VT$DB1(AAADP0,TCVER0) CALL VT$DB1(AAADQ0,TCHOR0) CALL CTOMN(TCCOO0,STR) CALL PRINT(-15,AAADR0,STR) CALL PRINT(-15,AAADS0,TCCOP0) CALL PRINT(-15,AAADT0,TCSEQ0) CALL PRINT(-15,AAADU0,TCDEM0) CALL PRINT(-15,AAADV0,TCWRA0) CALL PRINT(-15,AAADW0,TCCLR0) CALL PRINT(-15,AAADX0,TCCEO0) CALL PRINT(-15,AAADY0,TCCEP0) CALL PRINT(-15,AAADZ0,TCABT0) CALL PRINT(-15,AAAEA0,TCVES0) CALL PRINT(-15,AAAEB0,TCHOS0) RETURN END SUBROUTINE VT$DB1(TITLE,SEQ) INTEGER TITLE(1),SEQ(1) INTEGER I INTEGER STR(102) INTEGER AAAEC0(4) INTEGER AAAED0(4) INTEGER AAAEE0(6) DATA AAAEC0/170,243,189,0/ DATA AAAED0/170,243,160,0/ DATA AAAEE0/197,207,211,170,238,0/ CALL PRINT(-15,AAAEC0,TITLE) I=1 GOTO 10717 10715 I=I+(1) 10717 IF((SEQ(I).EQ.0))GOTO 10716 CALL CTOMN(SEQ(I),STR) CALL PRINT(-15,AAAED0,STR) GOTO 10715 10716 CALL PRINT(-15,AAAEE0) RETURN END SUBROUTINE VT$DB2 COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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,J INTEGER STR(102) INTEGER AAAEF0(25) INTEGER AAAEG0(4) INTEGER AAAEH0(5) INTEGER AAAEI0(5) INTEGER AAAEJ0(5) INTEGER AAAEK0(5) INTEGER AAAEL0(3) 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 AAAEF0/173,173,173,173,173,173,160,212,225,226,236,229,160,17 *0,233,160,173,173,173,173,173,173,170,238,0/ DATA AAAEG0/170,180,233,0/ DATA AAAEH0/170,179,233,238,0/ DATA AAAEI0/170,179,233,228,0/ DATA AAAEJ0/170,179,233,227,0/ DATA AAAEK0/160,170,179,243,0/ DATA AAAEL0/170,238,0/ I=1 GOTO 10720 10718 I=I+(1) 10720 IF((I.GT.20))GOTO 10719 IF((FNUSE0(I).NE.1))GOTO 10718 CALL PRINT(-15,AAAEF0,I) J=1 GOTO 10724 10722 J=J+(1) 10724 IF((J.GT.128))GOTO 10723 IF((FNTAB0(J,I).GE.0))GOTO 10725 CALL PRINT(-15,AAAEG0,FNTAB0(J,I)) GOTO 10726 10725 IF((FNTAB0(J,I).LT.5000))GOTO 10727 CALL PRINT(-15,AAAEH0,FNTAB0(J,I)-5000) GOTO 10728 10727 IF((FNTAB0(J,I).LT.4000))GOTO 10729 CALL PRINT(-15,AAAEI0,FNTAB0(J,I)-4000) GOTO 10730 10729 IF((FNTAB0(J,I).LT.1000))GOTO 10731 CALL PRINT(-15,AAAEJ0,FNTAB0(J,I)-1000) GOTO 10732 10731 CALL CTOMN(FNTAB0(J,I),STR) CALL PRINT(-15,AAAEK0,STR) 10732 CONTINUE 10730 CONTINUE 10728 CONTINUE 10726 IF((MOD(J,16).NE.0))GOTO 10722 CALL PRINT(-15,AAAEL0) 10733 GOTO 10722 10723 CONTINUE 10721 GOTO 10718 10719 RETURN END SUBROUTINE VT$DB3 COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 STR(4) INTEGER AAAEM0(25) INTEGER AAAEN0(14) INTEGER AAAEO0(3) INTEGER AAAEP0(4) 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 AAAEM0/173,173,173,173,160,196,229,230,233,238,229,160,212,22 *5,226,236,229,160,173,173,173,173,170,238,0/ DATA AAAEN0/204,225,243,244,223,228,229,230,189,170,233,170,238,0/ DATA AAAEO0/170,238,0/ DATA AAAEP0/170,180,243,0/ CALL PRINT(-15,AAAEM0) CALL PRINT(-15,AAAEN0,LASTE0) I=1 GOTO 10736 10734 I=I+(1) 10736 IF((I.GT.LASTE0))GOTO 10735 IF((MOD(I,16).NE.0))GOTO 10737 CALL PRINT(-15,AAAEO0) 10737 CALL CTOMN(DEFBU0(I),STR) CALL PRINT(-15,AAAEP0,STR) GOTO 10734 10735 RETURN END INTEGER FUNCTION VT$DEF(CH) INTEGER CH COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 SP,I,CL,TBL INTEGER VT$ALC,VT$GSQ INTEGER DELIM,C INTEGER SEQ(12) INTEGER AAAEQ0(23) INTEGER AAAER0(24) INTEGER AAAES0(23) INTEGER AAAET0(19) INTEGER AAAEU0(17) INTEGER AAAEV0(16) INTEGER AAAEW0(15) INTEGER AAAEX0(25) 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 AAAEQ0/206,239,160,242,239,239,237,160,230,239,242,160,228,22 *9,230,233,238,233,244,233,239,238,0/ DATA AAAER0/196,197,198,201,206,197,186,160,197,238,244,229,242,16 *0,228,229,236,233,237,233,244,229,242,0/ DATA AAAES0/196,197,198,201,206,197,186,160,197,238,244,229,242,16 *0,243,229,241,245,229,238,227,229,0/ DATA AAAET0/212,239,239,160,237,225,238,249,160,243,229,241,245,22 *9,238,227,229,243,0/ DATA AAAEU0/201,236,236,229,231,225,236,160,243,229,241,245,229,23 *8,227,229,0/ DATA AAAEV0/196,239,238,167,244,160,244,242,249,160,244,232,225,24 *4,161,0/ DATA AAAEW0/201,236,236,229,231,225,236,160,240,242,229,230,233,24 *8,0/ DATA AAAEX0/196,197,198,201,206,197,186,160,197,238,244,229,242,16 *0,228,229,230,233,238,233,244,233,239,238,0/ IF((LASTE0.LT.1000))GOTO 10738 CALL VT$ERR(AAAEQ0) VT$DEF=-3 RETURN 10738 CALL VTMSG(AAAER0,-2) CALL VTUPD(0) CALL C1IN(DELIM) SP=VT$GSQ(AAAES0,DELIM,SEQ,12) IF((SP.NE.-3))GOTO 10739 VT$DEF=SP RETURN 10739 TBL=1 I=1 GOTO 10742 10740 I=I+(1) 10742 IF((I.GE.SP))GOTO 10741 C=FNTAB0(SEQ(I)-127,TBL) GOTO 10743 10744 IF((VT$ALC(TBL,SEQ(I)-127).NE.-3))GOTO 10740 CALL VT$ERR(AAAET0) VT$DEF=-3 RETURN 10747 CALL VT$ERR(AAAEU0) VT$DEF=-3 RETURN 10743 IF((C.EQ.0))GOTO 10744 IF((C.LT.5000))GOTO 10747 TBL=C-5000 10746 GOTO 10740 10741 CL=SEQ(I)-127 C=FNTAB0(CL,TBL) GOTO 10748 10749 CALL VT$ERR(AAAEV0) VT$DEF=-3 RETURN 10752 CALL VT$RDF(CL,TBL) GOTO 10751 10748 IF((C.EQ.1029))GOTO 10749 IF((C.EQ.1030))GOTO 10749 IF((C.LT.4000))GOTO 10751 IF((C.LT.5000))GOTO 10752 CALL VT$ERR(AAAEW0) VT$DEF=-3 RETURN 10751 LASTE0=LASTE0+(1) DEFBU0(LASTE0)=FNTAB0(CL,TBL) FNTAB0(CL,TBL)=LASTE0+4000 LASTE0=LASTE0+(1) SP=VT$GSQ(AAAEX0,DELIM,DEFBU0(LASTE0),1000-LASTE0+1) IF((SP.NE.-3))GOTO 10753 VT$DEF=-3 RETURN 10753 LASTE0=LASTE0+(SP) CALL VTMSG(0,-2) CALL VTUPD(0) VT$DEF=-2 RETURN END SUBROUTINE VT$DEL(COUNT) INTEGER COUNT COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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)) IF((COUNT.GT.0))GOTO 10754 RETURN 10754 I=(INTL(COUNT)*TCSPE0)/10000 10755 IF((I.LE.0))GOTO 10756 CALL TNOUA(LS(128,8),1) I=I-(1) GOTO 10755 10756 RETURN END SUBROUTINE VT$DSW COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 FOUND,TBL,ENT,I,CT 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)) CT=0 10757 FOUND=0 DO 10758 TBL=1,20 IF((FNUSE0(TBL).NE.1))GOTO 10760 DO 10761 ENT=1,128 IF((FNTAB0(ENT,TBL).EQ.0))GOTO 10763 GOTO 10758 10763 CONTINUE 10761 CONTINUE 10762 FOUND=1 GOTO 10759 10760 CONTINUE 10758 CONTINUE 10759 IF((FOUND.NE.0))GOTO 10764 GOTO 10765 10764 FNUSE0(TBL)=0 DO 10766 I=1,20 IF((FNUSE0(I).NE.1))GOTO 10768 DO 10769 ENT=1,128 IF((FNTAB0(ENT,I).NE.5000+TBL))GOTO 10771 FNTAB0(ENT,I)=0 10771 CONTINUE 10769 CONTINUE 10770 CONTINUE 10768 CONTINUE 10766 CONTINUE 10767 CT=CT+(1) GOTO 10757 10765 RETURN END SUBROUTINE VT$ERR(MSG) INTEGER MSG(1) COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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) 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 VTMSG(MSG,-2) CALL VTUPD(0) PBPTR0=0 CALL T1OU(135) RETURN END INTEGER FUNCTION VT$GET(ROW,CCOL,START,LEN) INTEGER ROW,CCOL,START,LEN COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 TABPOS,SCANP0,TBL,COL,NEWCOL,GOBBLE,INSERT INTEGER I,J,POS,STATUS,LASTS0 INTEGER VT$IDF,VT$DEF,VT$NDF INTEGER C,CI,TERMI0,STORE INTEGER AAAFA0 INTEGER AAAFC0 INTEGER AAAFD0 INTEGER AAAFE0 INTEGER AAAFF0 INTEGER AAAFG0(7) INTEGER AAAFH0(5) INTEGER AAAFI0 INTEGER AAAFJ0(8) INTEGER AAAFK0(7) INTEGER AAAEY0 INTEGER AAAEZ0 INTEGER AAAFL0 INTEGER AAAFB0 INTEGER AAAFM0 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 AAAFG0/201,206,211,197,210,212,0/ DATA AAAFH0/195,193,211,197,0/ DATA AAAFJ0/199,193,210,194,193,199,197,0/ DATA AAAFK0/205,193,210,199,201,206,0/ TERMI0=0 COL=CCOL-START LASTS0=-3 STATUS=-2 10776 IF((TERMI0.NE.0))GOTO 10777 COL=MAX0(1,MIN0(COL,LEN)) IF((STATUS.NE.-3))GOTO 10778 CALL TNOUA(LS(135,8),1) GOTO 10779 10778 IF((LASTS0.NE.-3))GOTO 10780 CALL VTMSG(0,-2) CALL VTUPD(0) 10780 CONTINUE 10779 LASTS0=STATUS STATUS=-2 CALL VTMOVE(ROW,COL+START-1) AAAFE0=1 GOTO 10775 10781 NEWCOL=COL STORE=-1 GOBBLE=0 INSERT=INSER0 AAAFF0=C GOTO 10782 10783 NEWCOL=NEWCOL-(1) GOTO 10784 10785 AAAFB0=1001 AAAFC0=1 GOTO 10773 10786 NEWCOL=TABPOS GOTO 10784 10787 NEWCOL=1 GOTO 10784 10788 AAAEY0=C AAAEZ0=1 AAAFA0=1 GOTO 10772 10789 IF((SCANP0.GT.0))GOTO 10790 STATUS=-3 GOTO 10776 10790 NEWCOL=SCANP0 GOTO 10784 10791 NEWCOL=NEWCOL-(1) GOBBLE=1 GOTO 10784 10792 AAAFB0=1001 AAAFC0=2 GOTO 10773 10793 NEWCOL=TABPOS GOBBLE=COL-TABPOS GOTO 10784 10794 GOBBLE=NEWCOL-1 NEWCOL=1 GOTO 10784 10795 AAAEY0=C AAAEZ0=0 AAAFA0=2 GOTO 10772 10796 IF((SCANP0.GT.0))GOTO 10797 STATUS=-3 GOTO 10776 10797 NEWCOL=SCANP0 GOBBLE=COL-SCANP0 GOTO 10784 10798 NEWCOL=NEWCOL+(1) GOTO 10784 10799 AAAFB0=1009 AAAFC0=3 GOTO 10773 10800 NEWCOL=TABPOS GOTO 10784 10801 I=LEN GOTO 10804 10802 I=I-(1) 10804 IF((I.LE.0))GOTO 10803 IF((INBUF0(I).NE.160))GOTO 10803 GOTO 10802 10803 NEWCOL=I+1 GOTO 10784 10805 AAAEY0=C AAAEZ0=1 AAAFA0=3 GOTO 10772 10806 IF((SCANP0.GT.0))GOTO 10807 STATUS=-3 GOTO 10776 10807 NEWCOL=SCANP0 GOTO 10784 10808 GOBBLE=1 GOTO 10784 10809 AAAFB0=1009 AAAFC0=4 GOTO 10773 10810 GOBBLE=TABPOS-COL GOTO 10784 10811 GOBBLE=LEN-COL+1 GOTO 10784 10812 AAAEY0=C AAAEZ0=0 AAAFA0=4 GOTO 10772 10813 IF((SCANP0.GT.0))GOTO 10814 STATUS=-3 GOTO 10776 10814 GOBBLE=SCANP0-COL GOTO 10784 10815 TERMI0=-4 GOTO 10784 10816 TERMI0=-4 GOBBLE=LEN-COL+1 GOTO 10784 10817 TERMI0=C GOTO 10784 10818 INSERT=1 STORE=160 GOTO 10784 10819 AAAFB0=1009 AAAFC0=5 GOTO 10773 10820 INSERT=TABPOS-COL STORE=160 GOTO 10784 10821 NEWCOL=NEWCOL+(1) INSERT=1 STORE=138 GOTO 10784 10822 TABSA0(COL)=1 GOTO 10776 10823 TABSA0(COL)=0 GOTO 10776 10824 DO 10825 I=1,85 TABSA0(I)=0 10825 CONTINUE 10826 GOTO 10776 10827 IF((INSER0.NE.1))GOTO 10828 INSER0=0 CALL VTMSG(0,-3) CALL VTUPD(0) GOTO 10776 10828 INSER0=1 CALL VTMSG(AAAFG0,-3) CALL VTUPD(0) 10829 GOTO 10776 10830 IF((INVER0.NE.1))GOTO 10831 INVER0=0 CALL VTMSG(0,-4) CALL VTUPD(0) GOTO 10776 10831 INVER0=1 CALL VTMSG(AAAFH0,-4) CALL VTUPD(0) 10832 GOTO 10776 10833 GOBBLE=LEN NEWCOL=1 GOTO 10784 10834 CALL VTUPD(1) GOTO 10776 10835 CALL C1IN(STORE) NEWCOL=NEWCOL+(1) GOTO 10784 10836 STATUS=VT$DEF(C) GOTO 10776 10837 STATUS=VT$NDF(C) GOTO 10776 10782 AAAFI0=AAAFF0-999 GOTO(10783,10785,10787,10788,10791,10792,10794,10795,10798,10799 *,10801,10805,10808,10809,10811,10812,10815,10816,10817,10817,10817 *,10818,10819,10821,10827,10830,10833,10834,10835,10836,10837,10822 *,10823,10824),AAAFI0 IF((C.LT.160))GOTO 10838 IF((C.GE.255))GOTO 10838 NEWCOL=NEWCOL+(1) STORE=C IF((INVER0.NE.1))GOTO 10843 IF((193.GT.C))GOTO 10841 IF((C.GT.218))GOTO 10841 GOTO 10840 10841 IF((225.GT.C))GOTO 10843 IF((C.GT.250))GOTO 10843 GOTO 10840 10840 STORE=XOR(STORE,32) 10839 GOTO 10843 10838 IF((C.GE.0))GOTO 10844 TERMI0=C GOTO 10776 10844 IF((C.LT.4000))GOTO 10845 STATUS=VT$IDF(C) GOTO 10776 10845 CALL VT$ERR(AAAFJ0) STATUS=-3 GOTO 10776 10843 CONTINUE 10784 IF((NEWCOL.LT.1))GOTO 10847 IF((NEWCOL.GT.LEN))GOTO 10847 GOTO 10846 10847 CALL VT$ERR(AAAFK0) STATUS=-3 GOTO 10776 10846 IF((STORE.EQ.-1))GOTO 10848 IF((INSERT.LE.0))GOTO 10849 I=LEN-INSERT J=LEN GOTO 10852 10850 J=J-(1) I=I-(1) 10852 IF((I.LT.COL))GOTO 10855 INBUF0(J)=INBUF0(I) GOTO 10850 10853 J=J-(1) 10855 IF((J.LE.I))GOTO 10854 INBUF0(J)=STORE GOTO 10853 10854 AAAFD0=1 GOTO 10774 10849 POS=COL+START-1 CALL VTMOVE(ROW,POS) IF((STORE.EQ.160))GOTO 10858 IF((LASTC0(ROW).GE.POS))GOTO 10858 LASTC0(ROW)=POS 10858 CALL VT$OUT(STORE) CURSC0(POS,ROW)=STORE NEWSC0(POS,ROW)=STORE INBUF0(COL)=STORE 10857 GOTO 10859 10848 IF((GOBBLE.LE.0))GOTO 10860 I=NEWCOL J=NEWCOL+GOBBLE GOTO 10863 10861 I=I+(1) J=J+(1) 10863 IF((J.GT.LEN))GOTO 10866 INBUF0(I)=INBUF0(J) GOTO 10861 10864 I=I+(1) 10866 IF((I.GT.LEN))GOTO 10865 INBUF0(I)=160 GOTO 10864 10865 AAAFD0=2 GOTO 10774 10867 CONTINUE 10860 CONTINUE 10859 COL=NEWCOL GOTO 10776 10777 CCOL=START+COL VT$GET=TERMI0 RETURN 10772 AAAFE0=2 GOTO 10775 10868 IF((INVER0.NE.1))GOTO 10869 IF((193.GT.C))GOTO 10871 IF((C.GT.218))GOTO 10871 GOTO 10870 10871 IF((225.GT.C))GOTO 10869 IF((C.GT.250))GOTO 10869 GOTO 10870 10870 C=XOR(C,32) 10869 IF((C.NE.AAAEY0))GOTO 10873 C=LASTD0 10873 LASTD0=C IF((AAAEY0.EQ.1003))GOTO 10875 IF((AAAEY0.EQ.1007))GOTO 10875 GOTO 10874 10875 AAAFL0=-1 GOTO 10876 10874 AAAFL0=+1 10876 SCANP0=COL 10877 IF((SCANP0.GE.1))GOTO 10878 IF((AAAEZ0.NE.0))GOTO 10879 GOTO 10880 10879 SCANP0=LEN GOTO 10881 10878 IF((SCANP0.LE.LEN))GOTO 10882 IF((AAAEZ0.NE.0))GOTO 10883 GOTO 10880 10883 SCANP0=1 GOTO 10884 10882 SCANP0=SCANP0+(AAAFL0) 10884 CONTINUE 10881 IF((0.GE.SCANP0))GOTO 10885 IF((SCANP0.GE.LEN))GOTO 10885 IF((INBUF0(SCANP0).NE.C))GOTO 10885 GOTO 10880 10885 CONTINUE IF((SCANP0.NE.COL))GOTO 10877 10880 IF((SCANP0.LE.0))GOTO 10887 IF((SCANP0.GE.LEN))GOTO 10887 IF((INBUF0(SCANP0).NE.C))GOTO 10887 GOTO 10888 10887 SCANP0=0 10886 GOTO 10888 10773 AAAFM0=-1 TABPOS=COL-1 IF((AAAFB0.NE.1001))GOTO 10889 AAAFM0=-1 TABPOS=COL-1 GOTO 10893 10889 AAAFM0=+1 TABPOS=COL+1 10890 GOTO 10893 10891 TABPOS=TABPOS+(AAAFM0) 10893 IF((0.GE.TABPOS))GOTO 10895 IF((TABPOS.GT.MAXCO0))GOTO 10895 IF((TABSA0(TABPOS).EQ.0))GOTO 10891 GOTO 10895 10774 CALL VT$PUT(INBUF0,ROW,START,LEN) CALL VTUPD(0) GOTO 10896 10775 TBL=1 10897 IF((PBPTR0.GT.0))GOTO 10898 NESTI0=0 CALL C1IN(CI) GOTO 10899 10898 CI=PBBUF0(PBPTR0) PBPTR0=PBPTR0-(1) 10899 C=FNTAB0(CI-127,TBL) IF((C.GE.5000))GOTO 10900 GOTO 10902 10900 TBL=C-5000 GOTO 10897 10895 GOTO(10786,10793,10800,10810,10820),AAAFC0 GOTO 10895 10888 GOTO(10789,10796,10806,10813),AAAFA0 GOTO 10888 10896 GOTO(10859,10867),AAAFD0 GOTO 10896 10902 GOTO(10781,10868),AAAFE0 GOTO 10902 END INTEGER FUNCTION VT$GSQ(MSG,DELIM,SEQ,MAX) INTEGER MSG(1),DELIM,SEQ(1) INTEGER MAX COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 SP,TP INTEGER ENCODE,CTOMN INTEGER C INTEGER TEXT(85),DTEXT(4) INTEGER AAAFN0(9) INTEGER AAAFO0(9) INTEGER AAAFP0(23) 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 AAAFN0/170,243,160,168,170,243,169,186,0/ DATA AAAFO0/212,239,239,160,236,239,238,231,0/ DATA AAAFP0/197,237,240,244,249,160,243,229,241,245,229,238,227,22 *9,160,233,236,236,229,231,225,236,0/ CALL CTOMN(DELIM,DTEXT) TP=1+ENCODE(TEXT,85,AAAFN0,MSG,DTEXT) CALL VTMSG(TEXT,-2) CALL VTUPD(0) CALL C1IN(C) SP=1 GOTO 10905 10903 SP=SP+(1) 10905 IF((C.EQ.DELIM))GOTO 10904 IF((SP.GE.MAX))GOTO 10904 IF((TP.GE.85-5))GOTO 10906 TEXT(TP)=160 TP=TP+(1+CTOMN(C,TEXT(TP+1))) CALL VTMSG(TEXT,-2) CALL VTUPD(0) 10906 SEQ(SP)=C CALL C1IN(C) GOTO 10903 10904 IF((SP.LT.MAX))GOTO 10907 CALL VT$ERR(AAAFO0) SEQ(1)=0 VT$GSQ=-3 RETURN 10907 IF((SP.GT.1))GOTO 10908 CALL VT$ERR(AAAFP0) SEQ(1)=0 VT$GSQ=-3 RETURN 10908 SEQ(SP)=0 VT$GSQ=SP-1 RETURN END INTEGER FUNCTION VT$IDF(C) INTEGER C COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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,LIM INTEGER AAAFQ0(29) INTEGER AAAFR0(20) 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 AAAFQ0/193,244,244,229,237,240,244,229,228,160,233,238,230,23 *3,238,233,244,229,160,242,229,227,245,242,243,233,239,238,0/ DATA AAAFR0/196,229,230,233,238,233,244,233,239,238,160,244,239,23 *9,160,236,239,238,231,0/ NESTI0=NESTI0+(1) IF((NESTI0.LE.20))GOTO 10909 CALL VT$ERR(AAAFQ0) VT$IDF=-3 RETURN 10909 LIM=C-4000+1 I=LIM GOTO 10912 10910 I=I+(1) 10912 IF((DEFBU0(I).EQ.0))GOTO 10911 GOTO 10910 10911 I=I-(1) PBPTR0=PBPTR0+(1) GOTO 10915 10913 I=I-(1) PBPTR0=PBPTR0+(1) 10915 IF((I.LT.LIM))GOTO 10914 IF((PBPTR0.GE.400))GOTO 10914 PBBUF0(PBPTR0)=DEFBU0(I) GOTO 10913 10914 IF((PBPTR0.LT.400))GOTO 10916 CALL VT$ERR(AAAFR0) VT$IDF=-3 RETURN 10916 PBPTR0=PBPTR0-(1) VT$IDF=-2 RETURN END INTEGER FUNCTION VT$IER(MSG,NAME,LINE,FD) INTEGER MSG(1),NAME(1),LINE(1) INTEGER FD INTEGER AAAFS0(24) INTEGER AAAFT0(15) DATA AAAFS0/229,242,242,239,242,160,233,238,160,246,244,232,160,23 *0,233,236,229,186,160,170,243,170,238,0/ DATA AAAFT0/170,243,170,238,236,233,238,229,186,160,170,243,170,23 *8,0/ CALL PRINT(-15,AAAFS0,NAME) CALL PRINT(-15,AAAFT0,MSG,LINE) CALL CLOSE(FD) VT$IER=-3 RETURN END INTEGER FUNCTION VT$NDF(CH) INTEGER CH COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 SP,TBL,I,CL INTEGER VT$GSQ INTEGER DELIM,C INTEGER SEQ(12) INTEGER AAAFU0(26) INTEGER AAAFV0(25) INTEGER AAAFW0(21) INTEGER AAAFX0(21) 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 AAAFU0/213,206,196,197,198,201,206,197,186,160,197,238,244,22 *9,242,160,228,229,236,233,237,233,244,229,242,0/ DATA AAAFV0/213,206,196,197,198,201,206,197,186,160,197,238,244,22 *9,242,160,243,229,241,245,229,238,227,229,0/ DATA AAAFW0/211,229,241,245,229,238,227,229,160,238,239,244,160,22 *8,229,230,233,238,229,228,0/ DATA AAAFX0/211,229,241,245,229,238,227,229,160,238,239,244,160,22 *8,229,230,233,238,229,228,0/ CALL VTMSG(AAAFU0,-2) CALL VTUPD(0) CALL C1IN(DELIM) SP=VT$GSQ(AAAFV0,DELIM,SEQ,12) IF((SP.NE.-3))GOTO 10917 VT$NDF=-3 RETURN 10917 TBL=1 I=1 GOTO 10920 10918 I=I+(1) 10920 IF((I.GE.SP))GOTO 10919 C=FNTAB0(SEQ(I)-127,TBL) IF((C.GE.5000))GOTO 10921 CALL VT$ERR(AAAFW0) VT$NDF=-3 RETURN 10921 TBL=C-5000 GOTO 10918 10919 CL=SEQ(I)-127 C=FNTAB0(CL,TBL) IF((C.LT.4000))GOTO 10923 IF((C.GE.5000))GOTO 10923 GOTO 10922 10923 CALL VT$ERR(AAAFX0) VT$NDF=-3 RETURN 10922 CALL VT$RDF(CL,TBL) CALL VT$DSW CALL VTMSG(0,-2) CALL VTUPD(0) VT$NDF=-2 RETURN END SUBROUTINE VT$OUT(CHR) INTEGER CHR COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 TCHR INTEGER AAAFY0 INTEGER AAAFZ0 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)) IF((CURRO0.NE.MAXRO0))GOTO 10924 IF((CURCO0.NE.MAXCO0))GOTO 10924 RETURN 10924 TCHR=OR(CHR,128) IF((TCHR.LT.160))GOTO 10925 IF((TCHR.GE.255))GOTO 10925 CALL TNOUA(LS(TCHR,8),1) GOTO 10926 10925 IF((TCSHJ0(1).EQ.0))GOTO 10928 IF((TCHR.EQ.TCSHI0(1)))GOTO 10928 IF((TCHR.LT.128))GOTO 10928 IF((TCHR.GE.255))GOTO 10928 GOTO 10927 10928 CALL TNOUA(LS(UNPRI0,8),1) GOTO 10929 10927 AAAFY0=1 GOTO 10932 10930 AAAFY0=AAAFY0+(1) 10932 IF((TCSHJ0(AAAFY0).EQ.0))GOTO 10931 CALL TNOUA(LS(TCSHJ0(AAAFY0),8),1) GOTO 10930 10931 CALL TNOUA(LS(TCHR+TCSHK0-128,8),1) AAAFZ0=1 GOTO 10935 10933 AAAFZ0=AAAFZ0+(1) 10935 IF((TCSHI0(AAAFZ0).EQ.0))GOTO 10934 CALL TNOUA(LS(TCSHI0(AAAFZ0),8),1) GOTO 10933 10934 CONTINUE 10929 CONTINUE 10926 IF((CURCO0.NE.MAXCO0))GOTO 10936 IF((TCWRA0.NE.1))GOTO 10936 CURCO0=1 CURRO0=CURRO0+(1) GOTO 10937 10936 CURCO0=CURCO0+(1) 10937 RETURN END INTEGER FUNCTION VT$POS(ROW,COL,CROW,CCOL) INTEGER ROW,COL,CROW,CCOL COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 LOGICAL MISSIN INTEGER AAAGA0 INTEGER AAAGB0 INTEGER AAAGD0 INTEGER AAAGF0 INTEGER AAAGG0 INTEGER AAAGH0 INTEGER AAAGI0 INTEGER AAAGJ0 INTEGER AAAGK0 INTEGER AAAGL0 INTEGER AAAGM0 INTEGER AAAGN0,AAAGO0,AAAGP0,AAAGQ0 INTEGER AAAGR0 INTEGER AAAGS0,AAAGT0,AAAGU0,AAAGV0,AAAGW0 INTEGER AAAGX0 INTEGER AAAGC0 INTEGER AAAGY0,AAAGZ0,AAAHA0 INTEGER AAAGE0 INTEGER AAAHB0 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)) IF((ROW.LT.1))GOTO 10943 IF((COL.LT.1))GOTO 10943 IF((ROW.GT.MAXRO0))GOTO 10943 IF((COL.GT.MAXCO0))GOTO 10943 GOTO 10942 10943 VT$POS=-3 RETURN 10942 IF(MISSIN(CROW))GOTO 10944 IF(MISSIN(CCOL))GOTO 10944 IF((TCSEQ0.EQ.4))GOTO 10944 IF((ROW.NE.CROW))GOTO 10945 IF((IABS(CCOL-COL).GE.TCABT0))GOTO 10945 IF((CCOL.LT.COL))GOTO 10946 IF((TCCUS0(1).EQ.0))GOTO 10946 I=CCOL-COL GOTO 10949 10947 I=I-(1) 10949 IF((I.LE.0))GOTO 10948 AAAGG0=1 GOTO 10952 10950 AAAGG0=AAAGG0+(1) 10952 IF((TCCUS0(AAAGG0).EQ.0))GOTO 10947 CALL TNOUA(LS(TCCUS0(AAAGG0),8),1) GOTO 10950 10948 RETURN 10946 IF((TCCUT0(1).EQ.0))GOTO 10953 I=COL-CCOL GOTO 10956 10954 I=I-(1) 10956 IF((I.LE.0))GOTO 10955 AAAGH0=1 GOTO 10959 10957 AAAGH0=AAAGH0+(1) 10959 IF((TCCUT0(AAAGH0).EQ.0))GOTO 10954 CALL TNOUA(LS(TCCUT0(AAAGH0),8),1) GOTO 10957 10955 RETURN 10953 CONTINUE 10945 CONTINUE 10944 AAAGI0=TCSEQ0 GOTO 10960 10961 AAAGJ0=1 GOTO 10964 10962 AAAGJ0=AAAGJ0+(1) 10964 IF((TCABS0(AAAGJ0).EQ.0))GOTO 10963 CALL TNOUA(LS(TCABS0(AAAGJ0),8),1) GOTO 10962 10963 AAAGA0=1 GOTO 10938 10965 AAAGB0=1 GOTO 10939 10968 AAAGK0=1 GOTO 10971 10969 AAAGK0=AAAGK0+(1) 10971 IF((TCABS0(AAAGK0).EQ.0))GOTO 10970 CALL TNOUA(LS(TCABS0(AAAGK0),8),1) GOTO 10969 10970 AAAGB0=2 GOTO 10939 10972 AAAGA0=2 GOTO 10938 10974 AAAGL0=1 GOTO 10977 10975 AAAGL0=AAAGL0+(1) 10977 IF((TCVER0(AAAGL0).EQ.0))GOTO 10976 CALL TNOUA(LS(TCVER0(AAAGL0),8),1) GOTO 10975 10976 AAAGA0=3 GOTO 10938 10978 CALL VT$DEL(TCPOS0) AAAGM0=1 GOTO 10981 10979 AAAGM0=AAAGM0+(1) 10981 IF((TCHOR0(AAAGM0).EQ.0))GOTO 10980 CALL TNOUA(LS(TCHOR0(AAAGM0),8),1) GOTO 10979 10980 AAAGB0=3 GOTO 10939 10983 CALL VT$REL(ROW,COL,CROW,CCOL) GOTO 10967 10960 GOTO(10961,10968,10974,10983),AAAGI0 10967 CALL VT$DEL(TCPOS0) VT$POS=-2 RETURN 10938 AAAGR0=TCCOP0 GOTO 10984 10985 CALL TNOUA(LS(TCCOO0+ROW,8),1) GOTO 10996 10987 AAAGC0=ROW AAAGD0=1 GOTO 10940 10989 AAAGE0=ROW AAAGF0=1 GOTO 10941 10991 AAAGN0=511-10*(ROW-1) AAAGO0=MOD(AAAGN0,10) AAAGN0=AAAGN0/(10) AAAGP0=MOD(AAAGN0,10) AAAGN0=AAAGN0/(10) AAAGQ0=MOD(AAAGN0,10) CALL TNOUA(LS(160+16+AAAGQ0,8),1) CALL TNOUA(LS(160+16+AAAGP0,8),1) CALL TNOUA(LS(160+16+AAAGO0,8),1) GOTO 10996 10992 AAAGN0=ROW-1 AAAGO0=MOD(AAAGN0,10) AAAGP0=AAAGN0/10 IF((AAAGP0.EQ.0))GOTO 10993 CALL TNOUA(LS(AAAGP0+176,8),1) 10993 CALL TNOUA(LS(AAAGO0+176,8),1) CALL TNOUA(LS(249,8),1) GOTO 10996 10994 AAAGO0=MOD(ROW,10) AAAGP0=ROW/10 IF((AAAGP0.EQ.0))GOTO 10995 CALL TNOUA(LS(AAAGP0+176,8),1) 10995 CALL TNOUA(LS(AAAGO0+176,8),1) CALL TNOUA(LS(187,8),1) GOTO 10996 10984 GOTO(10985,10987,10989,10985,10991,10992,10994),AAAGR0 10986 GOTO 10996 10939 AAAGX0=TCCOP0 GOTO 10997 10998 CALL TNOUA(LS(TCCOO0+COL,8),1) GOTO 11010 11000 AAAGC0=COL AAAGD0=2 GOTO 10940 11002 AAAGE0=COL AAAGF0=2 GOTO 10941 11004 CALL TNOUA(LS(176+((COL-1)/10),8),1) CALL TNOUA(LS(176+MOD(COL-1,10),8),1) GOTO 11010 11005 AAAGW0=6*(COL-1) AAAGU0=MOD(AAAGW0,10) AAAGW0=AAAGW0/(10) AAAGT0=MOD(AAAGW0,10) AAAGW0=AAAGW0/(10) AAAGV0=MOD(AAAGW0,10) CALL TNOUA(LS(160+16+AAAGV0,8),1) CALL TNOUA(LS(160+16+AAAGT0,8),1) CALL TNOUA(LS(160+16+AAAGU0,8),1) GOTO 11010 11006 AAAGW0=COL-1 AAAGU0=MOD(AAAGW0,10) AAAGT0=AAAGW0/10 IF((AAAGT0.EQ.0))GOTO 11007 CALL TNOUA(LS(AAAGT0+176,8),1) 11007 CALL TNOUA(LS(AAAGU0+176,8),1) CALL TNOUA(LS(195,8),1) GOTO 11010 11008 AAAGU0=MOD(COL,10) AAAGT0=COL/10 IF((AAAGT0.EQ.0))GOTO 11009 CALL TNOUA(LS(AAAGT0+176,8),1) 11009 CALL TNOUA(LS(AAAGU0+176,8),1) CALL TNOUA(LS(200,8),1) GOTO 11010 10997 GOTO(10998,11000,11002,11004,11005,11006,11008),AAAGX0 10999 GOTO 11010 10940 AAAGY0=AAAGC0-1 AAAHA0=AAAGY0/10 AAAGZ0=AAAGY0-10*AAAHA0 AAAGY0=AAAGZ0+16*AAAHA0 CALL TNOUA(LS(AAAGY0,8),1) GOTO 11011 10941 CALL TNOUA(LS(176,8),1) AAAHB0=AAAGE0-1 CALL TNOUA(LS(176+(AAAHB0/10),8),1) CALL TNOUA(LS(176+MOD(AAAHB0,10),8),1) GOTO 11012 10996 GOTO(10965,10967,10978),AAAGA0 GOTO 10996 11010 GOTO(10967,10972,10967),AAAGB0 GOTO 11010 11012 GOTO(10996,11010),AAAGF0 GOTO 11012 11011 GOTO(10996,11010),AAAGD0 GOTO 11011 END SUBROUTINE VT$PUT(STR,ROW,COL,CLEN) INTEGER ROW,COL,CLEN INTEGER STR(1) COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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,LEN INTEGER C 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)) LEN=CLEN IF((ROW.GT.MAXRO0))GOTO 11014 IF((ROW.LT.1))GOTO 11014 IF((COL.LT.1))GOTO 11014 GOTO 11013 11014 PADRO0=1 PADCO0=MAXCO0 PADLE0=0 RETURN 11013 IF((COL+LEN-1.LE.MAXCO0))GOTO 11015 LEN=MAXCO0-COL+1 11015 IF((ROW.GE.ROWCH0))GOTO 11016 ROWCH0=ROW 11016 IF((ROW.LE.ROWCI0))GOTO 11017 ROWCI0=ROW 11017 IF((COL.GE.COLCH0(ROW)))GOTO 11018 COLCH0(ROW)=COL 11018 IF((COL+LEN-1.LE.COLCI0(ROW)))GOTO 11019 COLCI0(ROW)=COL+LEN-1 11019 IF((COL+LEN-1.GE.LASTC0(ROW)))GOTO 11020 I=LEN-1 GOTO 11023 11021 I=I-(1) 11023 IF((I.LT.0))GOTO 11024 NEWSC0(COL+I,ROW)=STR(I+1) GOTO 11021 11020 I=LEN-1 GOTO 11027 11025 I=I-(1) 11027 IF((I.LT.0))GOTO 11026 IF((STR(I+1).NE.160))GOTO 11026 NEWSC0(COL+I,ROW)=160 GOTO 11025 11026 IF((I.LT.0))GOTO 11028 LASTC0(ROW)=COL+I GOTO 11031 11029 I=I-(1) 11031 IF((I.LT.0))GOTO 11032 NEWSC0(COL+I,ROW)=STR(I+1) GOTO 11029 11028 I=COL GOTO 11035 11033 I=I-(1) 11035 IF((I.LE.0))GOTO 11034 C=NEWSC0(I,ROW) IF((C.EQ.160))GOTO 11033 GOTO 11034 11034 LASTC0(ROW)=I 11032 CONTINUE 11024 PADRO0=ROW PADCO0=COL+LEN PADLE0=LEN RETURN END SUBROUTINE VT$RDF(C,TBL) INTEGER C,TBL COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 P,LEN,I,J,LIM INTEGER LENGTH 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)) LIM=FNTAB0(C,TBL) P=LIM-4000 FNTAB0(C,TBL)=DEFBU0(P) LEN=1+LENGTH(DEFBU0(P+1)) I=P J=P+LEN+1 GOTO 11039 11037 I=I+(1) J=J+(1) 11039 IF((J.GT.LASTE0))GOTO 11038 DEFBU0(I)=DEFBU0(J) GOTO 11037 11038 LASTE0=LASTE0-(LEN+1) DO 11040 I=1,20 IF((FNUSE0(I).NE.1))GOTO 11042 DO 11043 J=1,128 IF((FNTAB0(J,I).LT.LIM))GOTO 11045 IF((FNTAB0(J,I).GE.5000))GOTO 11045 FNTAB0(J,I)=FNTAB0(J,I)-(LEN+1) 11045 CONTINUE 11043 CONTINUE 11044 CONTINUE 11042 CONTINUE 11040 CONTINUE 11041 RETURN END SUBROUTINE VTCLR(SROWX,SCOLX,EROWX,ECOLX) INTEGER SROWX,SCOLX,EROWX,ECOLX COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 SROW,SCOL,EROW,LEN,I INTEGER BLANKS(85) 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 BLANKS/85*160/ SROW=MAX0(SROWX,1) SCOL=MAX0(SCOLX,1) EROW=MIN0(EROWX,MAXRO0) LEN=MIN0(ECOLX,MAXCO0)-SCOL+1 I=SROW GOTO 11048 11046 I=I+(1) 11048 IF((I.GT.EROW))GOTO 11047 CALL VT$PUT(BLANKS,I,SCOL,LEN) GOTO 11046 11047 RETURN END INTEGER FUNCTION VTDLIN(ROW,CNT) INTEGER ROW,CNT COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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) LOGICAL MISSIN INTEGER I,J,COUNT INTEGER BLANKS(85) INTEGER AAAHC0 INTEGER AAAHD0 INTEGER AAAHE0 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 BLANKS/85*160/ COUNT=1 IF(MISSIN(CNT))GOTO 11049 COUNT=CNT 11049 IF((ROW.LT.1))GOTO 11051 IF((ROW.GT.MAXRO0))GOTO 11051 IF((COUNT.LT.1))GOTO 11051 GOTO 11050 11051 VTDLIN=-3 RETURN 11050 IF((COUNT+ROW-1.LE.MAXRO0))GOTO 11052 COUNT=MAXRO0-ROW+1 11052 CALL VTMOVE(ROW,1) IF((TCDEL0(1).EQ.0))GOTO 11053 I=1 GOTO 11056 11054 I=I+(1) 11056 IF((I.GT.COUNT))GOTO 11060 AAAHC0=1 GOTO 11059 11057 AAAHC0=AAAHC0+(1) 11059 IF((TCDEL0(AAAHC0).EQ.0))GOTO 11058 CALL TNOUA(LS(TCDEL0(AAAHC0),8),1) GOTO 11057 11058 CALL VT$DEL(TCLIN0) GOTO 11054 11053 I=ROW+COUNT GOTO 11063 11061 I=I+(1) 11063 IF((I.GT.MAXRO0))GOTO 11062 J=1 GOTO 11066 11064 J=J+(1) 11066 IF((J.GT.LASTC0(I)))GOTO 11065 IF((CURSC0(J,I).EQ.CURSC0(J,I-COUNT)))GOTO 11064 CALL VTMOVE(I-COUNT,J) CALL VT$OUT(CURSC0(J,I)) 11067 GOTO 11064 11065 IF((LASTC0(I-COUNT).LE.LASTC0(I)))GOTO 11061 IF((TCCLF0(1).EQ.0))GOTO 11076 CALL VTMOVE(I-COUNT,J) AAAHD0=1 GOTO 11072 11070 AAAHD0=AAAHD0+(1) 11072 IF((TCCLF0(AAAHD0).EQ.0))GOTO 11073 CALL TNOUA(LS(TCCLF0(AAAHD0),8),1) GOTO 11070 11074 J=J+(1) 11076 IF((J.GT.LASTC0(I-COUNT)))GOTO 11075 IF((CURSC0(J,I-COUNT).EQ.160))GOTO 11074 CALL VTMOVE(I-COUNT,J) CALL VT$OUT(160) 11077 GOTO 11074 11075 CONTINUE 11073 CONTINUE 11068 GOTO 11061 11062 I=MAXRO0-COUNT+1 GOTO 11080 11078 I=I+(1) 11080 IF((I.GT.MAXRO0))GOTO 11079 IF((TCCLF0(1).EQ.0))GOTO 11081 CALL VTMOVE(I,1) AAAHE0=1 GOTO 11084 11082 AAAHE0=AAAHE0+(1) 11084 IF((TCCLF0(AAAHE0).EQ.0))GOTO 11078 CALL TNOUA(LS(TCCLF0(AAAHE0),8),1) GOTO 11082 11081 J=1 GOTO 11088 11086 J=J+(1) 11088 IF((J.GT.LASTC0(I)))GOTO 11087 IF((CURSC0(J,I).EQ.160))GOTO 11086 CALL VTMOVE(I,J) CALL VT$OUT(160) 11089 GOTO 11086 11087 CONTINUE 11085 GOTO 11078 11079 CONTINUE 11060 I=ROW GOTO 11092 11090 I=I+(1) 11092 IF((I+COUNT.GT.MAXRO0))GOTO 11095 CALL MOVE$(CURSC0(1,I+COUNT),CURSC0(1,I),MAXCO0) CALL MOVE$(NEWSC0(1,I+COUNT),NEWSC0(1,I),MAXCO0) LASTC0(I)=LASTC0(I+COUNT) COLCI0(I)=COLCI0(I+COUNT) COLCH0(I)=COLCH0(I+COUNT) GOTO 11090 11093 I=I+(1) 11095 IF((I.GT.MAXRO0))GOTO 11094 CALL MOVE$(BLANKS,CURSC0(1,I),MAXCO0) CALL MOVE$(BLANKS,NEWSC0(1,I),MAXCO0) LASTC0(I)=0 COLCI0(I)=0 COLCH0(I)=85 GOTO 11093 11094 IF((ROW.GE.ROWCI0))GOTO 11096 ROWCI0=ROWCI0-(COUNT) 11096 IF((ROW.GE.ROWCH0))GOTO 11097 ROWCH0=ROWCH0-(COUNT) 11097 IF((ROWCI0.GE.0))GOTO 11098 ROWCI0=0 11098 IF((ROWCH0.GE.0))GOTO 11099 ROWCH0=0 11099 VTDLIN=-2 RETURN END SUBROUTINE VTENB(ROW,COL,LEN) INTEGER ROW,COL,LEN COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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) 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)) IF((ROW.GT.MAXRO0))GOTO 11101 IF((ROW.LT.1))GOTO 11101 GOTO 11100 11101 RETURN 11100 INPUT0(ROW)=MAX0(1,MIN0(COL,MAXCO0)) INPUU0(ROW)=MAX0(1,MIN0(COL+LEN-1,MAXCO0)) RETURN END INTEGER FUNCTION VTGETL(STR,ROW,COL,CLEN) INTEGER STR(1) INTEGER ROW,COL,CLEN COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 POS,I,LEN INTEGER C 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)) LEN=CLEN IF((ROW.LT.1))GOTO 11103 IF((ROW.GT.MAXRO0))GOTO 11103 GOTO 11102 11103 STR(1)=0 VTGETL=0 RETURN 11102 POS=MIN0(MAXCO0,COL+LEN-1) 11104 IF((POS.LT.COL))GOTO 11105 C=NEWSC0(POS,ROW) IF((C.EQ.160))GOTO 11106 GOTO 11105 11106 POS=POS-(1) GOTO 11104 11105 I=POS-COL+1 LEN=I STR(I+1)=0 IF((I.LE.0))GOTO 11107 11108 STR(I)=C I=I-(1) POS=POS-(1) IF((I.GT.0))GOTO 11109 GOTO 11110 11109 C=NEWSC0(POS,ROW) GOTO 11108 11110 CONTINUE 11107 VTGETL=LEN RETURN END INTEGER FUNCTION VTILIN(ROW,CNT) INTEGER ROW,CNT COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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) LOGICAL MISSIN INTEGER I,J,COUNT INTEGER BLANKS(85) INTEGER AAAHF0 INTEGER AAAHG0 INTEGER AAAHH0 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 BLANKS/85*160/ COUNT=1 IF(MISSIN(CNT))GOTO 11111 COUNT=CNT 11111 IF((ROW.LT.1))GOTO 11113 IF((ROW.GT.MAXRO0))GOTO 11113 IF((COUNT.LT.1))GOTO 11113 GOTO 11112 11113 VTILIN=-3 RETURN 11112 IF((COUNT+ROW-1.LE.MAXRO0))GOTO 11114 COUNT=MAXRO0-ROW+1 11114 CALL VTMOVE(ROW,1) IF((TCINS0(1).EQ.0))GOTO 11115 I=ROW GOTO 11118 11116 I=I+(1) 11118 IF((I.GE.ROW+COUNT))GOTO 11122 AAAHF0=1 GOTO 11121 11119 AAAHF0=AAAHF0+(1) 11121 IF((TCINS0(AAAHF0).EQ.0))GOTO 11120 CALL TNOUA(LS(TCINS0(AAAHF0),8),1) GOTO 11119 11120 CALL VT$DEL(TCLIN0) GOTO 11116 11115 I=ROW GOTO 11125 11123 I=I+(1) 11125 IF((I.GE.ROW+COUNT))GOTO 11137 IF((TCCLF0(1).EQ.0))GOTO 11126 CALL VTMOVE(I,1) AAAHG0=1 GOTO 11129 11127 AAAHG0=AAAHG0+(1) 11129 IF((TCCLF0(AAAHG0).EQ.0))GOTO 11123 CALL TNOUA(LS(TCCLF0(AAAHG0),8),1) GOTO 11127 11126 J=1 GOTO 11133 11131 J=J+(1) 11133 IF((J.GT.LASTC0(I)))GOTO 11132 IF((CURSC0(J,I).EQ.160))GOTO 11131 CALL VTMOVE(I,J) CALL VT$OUT(160) 11134 GOTO 11131 11132 CONTINUE 11130 GOTO 11123 11135 I=I+(1) 11137 IF((I.GT.MAXRO0))GOTO 11136 J=1 GOTO 11140 11138 J=J+(1) 11140 IF((J.GT.LASTC0(I-COUNT)))GOTO 11139 IF((CURSC0(J,I).EQ.CURSC0(J,I-COUNT)))GOTO 11138 CALL VTMOVE(I,J) CALL VT$OUT(CURSC0(J,I-COUNT)) 11141 GOTO 11138 11139 IF((LASTC0(I).LE.LASTC0(I-COUNT)))GOTO 11135 IF((TCCLF0(1).EQ.0))GOTO 11150 CALL VTMOVE(I,J) AAAHH0=1 GOTO 11146 11144 AAAHH0=AAAHH0+(1) 11146 IF((TCCLF0(AAAHH0).EQ.0))GOTO 11147 CALL TNOUA(LS(TCCLF0(AAAHH0),8),1) GOTO 11144 11148 J=J+(1) 11150 IF((J.GT.LASTC0(I)))GOTO 11149 IF((CURSC0(J,I).EQ.CURSC0(J,I-COUNT)))GOTO 11148 CALL VTMOVE(I,J) CALL VT$OUT(CURSC0(J,I-COUNT)) 11151 GOTO 11148 11149 CONTINUE 11147 CONTINUE 11142 GOTO 11135 11136 CALL VTMOVE(ROW,1) 11122 I=MAXRO0 GOTO 11154 11152 I=I-(1) 11154 IF((I-COUNT.LT.ROW))GOTO 11157 CALL MOVE$(CURSC0(1,I-COUNT),CURSC0(1,I),MAXCO0) CALL MOVE$(NEWSC0(1,I-COUNT),NEWSC0(1,I),MAXCO0) LASTC0(I)=LASTC0(I-COUNT) COLCI0(I)=COLCI0(I-COUNT) COLCH0(I)=COLCH0(I-COUNT) GOTO 11152 11155 I=I-(1) 11157 IF((I.LT.ROW))GOTO 11156 CALL MOVE$(BLANKS,CURSC0(1,I),MAXCO0) CALL MOVE$(BLANKS,NEWSC0(1,I),MAXCO0) LASTC0(I)=0 COLCI0(I)=0 COLCH0(I)=85 GOTO 11155 11156 IF((ROW.GE.ROWCI0))GOTO 11158 ROWCI0=ROWCI0+(COUNT) 11158 IF((ROW.GE.ROWCH0))GOTO 11159 ROWCH0=ROWCH0+(COUNT) 11159 IF((ROWCI0.LE.51))GOTO 11160 ROWCI0=51 11160 IF((ROWCH0.LE.51))GOTO 11161 ROWCH0=51 11161 VTILIN=-2 RETURN END INTEGER FUNCTION VTINFO(KEY,INFO) INTEGER KEY,INFO(1) COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 AAAHI0 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)) AAAHI0=KEY GOTO 11162 11163 INFO(1)=MAXRO0 INFO(2)=MAXCO0 GOTO 11164 11165 INFO(1)=TCWRA0 GOTO 11164 11166 INFO(1)=0 IF((TCINS0(1).EQ.0))GOTO 11164 INFO(1)=1 11167 GOTO 11164 11168 INFO(1)=0 IF((TCDEL0(1).EQ.0))GOTO 11164 INFO(1)=1 11169 GOTO 11164 11170 INFO(1)=0 IF((TCCLF0(1).EQ.0))GOTO 11164 INFO(1)=1 11171 GOTO 11164 11172 INFO(1)=TCSPE0 GOTO 11164 11162 GOTO(11163,11165,11166,11168,11170,11172),AAAHI0 VTINFO=-3 RETURN 11164 VTINFO=-2 RETURN END INTEGER FUNCTION VTINIT(TERMU0) INTEGER TERMU0(7) COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 VTTERM,I,J INTEGER DUPLX$ 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)) IF((VTTERM(TERMU0).NE.-3))GOTO 11173 VTINIT=-3 RETURN 11173 CURRO0=0 CURCO0=0 DO 11174 I=1,51 COLCH0(I)=85 COLCI0(I)=0 LASTC0(I)=0 11174 CONTINUE 11175 ROWCH0=51 ROWCI0=0 MSGRO0=0 DO 11176 I=1,85 MSGOW0(I)=0 11176 CONTINUE 11177 PADRO0=1 PADCO0=1 PADLE0=80 DISPL0=0 I=1 GOTO 11180 11178 I=I+(1) 11180 IF((I.GT.51))GOTO 11179 J=1 GOTO 11183 11181 J=J+(1) 11183 IF((J.GT.85))GOTO 11178 NEWSC0(J,I)=160 CURSC0(J,I)=160 GOTO 11181 11179 UNPRI0=191 LASTD0=0 INSER0=0 INVER0=0 DUPLE0=DUPLX$(-1) CALL DUPLX$(:140000) INPUV0=0 PBPTR0=0 NESTI0=0 VTINIT=-2 RETURN END SUBROUTINE VTMOVE(ROW,COL) INTEGER ROW,COL COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 CHR 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 VT$POS(ROW,COL,CURRO0,CURCO0) CURRO0=ROW CURCO0=COL RETURN END SUBROUTINE VTMSG(S,T) INTEGER S(1) INTEGER T COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 COL,NEED,C,FIRST,LAST INTEGER LENGTH INTEGER CH 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)) IF((MSGRO0.GT.0))GOTO 11184 RETURN 11184 FIRST=1 GOTO 11187 11185 FIRST=FIRST+(1) 11187 IF((FIRST.GT.MAXCO0))GOTO 11186 IF((MSGOW0(FIRST).NE.T))GOTO 11185 GOTO 11186 11186 LAST=FIRST GOTO 11191 11189 LAST=LAST+(1) 11191 IF((LAST.GT.MAXCO0))GOTO 11190 IF((MSGOW0(LAST).EQ.T))GOTO 11192 GOTO 11190 11192 MSGOW0(LAST)=0 GOTO 11189 11190 NEED=LENGTH(S)+2 IF((NEED.LE.2))GOTO 11193 IF((NEED.GT.LAST-FIRST))GOTO 11194 COL=FIRST GOTO 11195 11194 COL=1 GOTO 11198 11196 COL=C 11198 IF((COL.GE.MAXCO0))GOTO 11197 11199 IF((COL.GE.MAXCO0))GOTO 11200 IF((MSGOW0(COL).EQ.0))GOTO 11200 COL=COL+(1) GOTO 11199 11200 C=COL GOTO 11203 11201 C=C+(1) 11203 IF((MSGOW0(C).NE.0))GOTO 11202 IF((C.LT.MAXCO0))GOTO 11201 GOTO 11202 11202 IF((C-COL.LT.NEED))GOTO 11196 GOTO 11197 11197 CONTINUE 11195 IF((COL+NEED.LE.MAXCO0))GOTO 11206 COL=1 C=1 GOTO 11209 11207 C=C+(1) 11209 IF((C.GT.MAXCO0))GOTO 11208 IF((MSGOW0(C).EQ.0))GOTO 11207 CH=NEWSC0(C,MSGRO0) CALL VT$PUT(CH,MSGRO0,COL,1) MSGOW0(COL)=MSGOW0(C) COL=COL+(1) 11210 GOTO 11207 11208 C=COL GOTO 11213 11211 C=C+(1) 11213 IF((C.GT.MAXCO0))GOTO 11212 MSGOW0(C)=0 GOTO 11211 11212 CONTINUE 11206 CALL VT$PUT(160,MSGRO0,COL,1) CALL VT$PUT(S,MSGRO0,COL+1,NEED-2) CALL VT$PUT(160,MSGRO0,COL+NEED-1,1) C=COL GOTO 11216 11214 C=C+(1) 11216 IF((C.GT.MIN0(COL+NEED-1,MAXCO0)))GOTO 11215 MSGOW0(C)=T GOTO 11214 11215 CONTINUE 11193 DO 11217 COL=1,MAXCO0 IF((MSGOW0(COL).NE.0))GOTO 11219 CALL VT$PUT(174,MSGRO0,COL,1) 11219 CONTINUE 11217 CONTINUE 11218 RETURN END INTEGER FUNCTION VTOC(VAR,STR,LEN) INTEGER VAR(1),LEN INTEGER STR(1) INTEGER CP,MAX,I CP=2 MAX=VAR(1)+1 IF((LEN.GE.MAX))GOTO 11220 MAX=LEN 11220 I=1 GOTO 11223 11221 I=I+(1) 11223 IF((I.GE.MAX))GOTO 11222 IF((AND(CP,1).NE.0))GOTO 11224 STR(I)=RS(VAR(RS(CP,1)+1),8) GOTO 11225 11224 STR(I)=RT(VAR(RS(CP,1)+1),8) 11225 CP=CP+(1) GOTO 11221 11222 STR(I)=0 VTOC=I-1 RETURN END SUBROUTINE VTOPT(OPT,STR) INTEGER OPT,STR(1) COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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,VAL INTEGER DOTS(85),BLANKS(85) INTEGER AAAHJ0 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 DOTS/85*174/ DATA BLANKS/85*160/ VAL=STR(1) AAAHJ0=OPT GOTO 11226 11227 IF((MSGRO0.LE.0))GOTO 11228 CALL VT$PUT(BLANKS,MSGRO0,1,MAXCO0) 11228 IF((VAL.LT.1))GOTO 11230 IF((VAL.GT.MAXRO0))GOTO 11230 GOTO 11229 11230 MSGRO0=0 GOTO 11231 11229 MSGRO0=VAL 11231 IF((MSGRO0.LE.0))GOTO 11232 CALL VT$PUT(DOTS,MSGRO0,1,MAXCO0) 11232 DO 11233 I=1,MAXCO0 MSGOW0(I)=0 11233 CONTINUE 11234 GOTO 11235 11236 IF((VAL.GE.1))GOTO 11237 INPUV0=0 GOTO 11235 11237 INPUV0=VAL 11238 GOTO 11235 11239 IF((VAL.NE.1))GOTO 11240 DISPL0=1 GOTO 11235 11240 DISPL0=0 11241 GOTO 11235 11242 IF((VAL.LT.160))GOTO 11243 IF((VAL.GE.255))GOTO 11243 UNPRI0=VAL GOTO 11235 11243 UNPRI0=191 11244 GOTO 11235 11245 I=1 GOTO 11248 11246 I=I+(1) 11248 IF((STR(I).EQ.0))GOTO 11247 IF((I.GT.MAXCO0))GOTO 11247 IF((STR(I).NE.160))GOTO 11249 TABSA0(I)=0 GOTO 11246 11249 TABSA0(I)=1 11250 GOTO 11246 11247 CONTINUE 11251 IF((I.GT.MAXCO0))GOTO 11235 TABSA0(I)=1 I=I+(1) GOTO 11251 11226 GOTO(11227,11236,11239,11242,11245),AAAHJ0 11235 RETURN END SUBROUTINE VTPAD(LEN) INTEGER LEN COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 BLANKS(85) 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 BLANKS/85*160/ I=MIN0(80,PADCO0-PADLE0+LEN-1) IF((PADRO0.GE.ROWCH0))GOTO 11253 ROWCH0=PADRO0 11253 IF((PADRO0.LE.ROWCI0))GOTO 11254 ROWCI0=PADRO0 11254 IF((PADCO0.GE.COLCH0(PADRO0)))GOTO 11255 COLCH0(PADRO0)=PADCO0 11255 IF((I.LE.COLCI0(PADRO0)))GOTO 11256 COLCI0(PADRO0)=I 11256 CALL VT$PUT(BLANKS,PADRO0,PADCO0,I-PADCO0+1) RETURN END INTEGER FUNCTION VTPRT(ROW,COL,FMT,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 ROW,COL INTEGER FMT(1) INTEGER A1,A2,A3,A4,A5,A6,A7,A8,A9,A10 INTEGER STR(102),FMT1(102) INTEGER ENCODE,SIZE 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)) IF((ROW.GT.MAXRO0))GOTO 11258 IF((ROW.LT.1))GOTO 11258 IF((COL.LT.1))GOTO 11258 GOTO 11257 11258 VTPRT=-3 RETURN 11257 IF((AND(FMT(1),:177400).NE.0))GOTO 11259 SIZE=ENCODE(STR,102,FMT,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) GOTO 11260 11259 CALL PTOC(FMT,174,FMT1,102) SIZE=ENCODE(STR,102,FMT1,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10) 11260 CALL VT$PUT(STR,ROW,COL,SIZE) VTPRT=SIZE RETURN END SUBROUTINE VTPUTL(STR,ROW,COL) INTEGER ROW,COL INTEGER STR(1) COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 LENGTH 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 VT$PUT(STR,ROW,COL,LENGTH(STR)) RETURN END INTEGER FUNCTION VTREAD(CROW,CCOL,CLR) INTEGER CROW,CCOL,CLR COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 ROW,COL,I,J,T INTEGER VT$GET INTEGER FILL(85) INTEGER AAAHL0 INTEGER AAAHK0 INTEGER AAAHM0 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 FILL/85*160/ IF((CLR.NE.1))GOTO 11262 DO 11263 I=1,MAXRO0 IF((INPUT0(I).GT.INPUU0(I)))GOTO 11265 CALL VT$PUT(FILL,I,INPUT0(I),INPUU0(I)-INPUT0(I)+1) 11265 CONTINUE 11263 CONTINUE 11264 CONTINUE 11262 CALL VTUPD(0) ROW=CROW-1 COL=CCOL AAAHK0=+1 AAAHL0=1 GOTO 11261 11266 CONTINUE 11267 I=1 J=INPUT0(ROW) GOTO 11270 11268 I=I+(1) J=J+(1) 11270 IF((J.GT.INPUU0(ROW)))GOTO 11269 INBUF0(I)=NEWSC0(J,ROW) GOTO 11268 11269 T=VT$GET(ROW,COL,INPUT0(ROW),INPUU0(ROW)-INPUT0(ROW)+1) IF((T.NE.1019))GOTO 11271 AAAHK0=-1 AAAHL0=2 GOTO 11261 11271 IF((T.NE.1020))GOTO 11277 AAAHK0=+1 AAAHL0=3 GOTO 11261 11276 CONTINUE 11273 CONTINUE GOTO 11267 11277 VTREAD=T RETURN 11261 AAAHM0=MOD(ROW+MAXRO0-1,MAXRO0)+1 ROW=MOD(AAAHM0+MAXRO0+AAAHK0-1,MAXRO0)+1 11278 IF((INPUT0(ROW).LE.INPUU0(ROW)))GOTO 11281 IF((ROW.NE.AAAHM0))GOTO 11280 VTREAD=0 RETURN 11280 ROW=MOD(ROW+MAXRO0+AAAHK0-1,MAXRO0)+1 GOTO 11278 11281 GOTO(11266,11273,11276),AAAHL0 GOTO 11281 END SUBROUTINE VTSTOP COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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) 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 VTMOVE(MAXRO0,1) CALL DUPLX$(DUPLE0) RETURN END INTEGER FUNCTION VTTERM(TERMU0) INTEGER TERMU0(7) COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 FD,I,BP,TP,SP,F,STATE INTEGER LENAC(7),LENHC(7),LENVC(7) INTEGER OPEN,LENGTH,STRBSR,EQUAL,CTOI,GETLIN,MNTOC INTEGER VT$ALC,CTOC,VT$IER,GTTYPE,GTATTR INTEGER FNAME(102) INTEGER BUF(102),TBUF(102),SBUF(102) INTEGER MNTOC INTEGER IPOS(38) INTEGER ITEXT(452) INTEGER OPOS(24) INTEGER OTEXT(269) INTEGER AAAHN0 INTEGER AAAHO0 INTEGER AAAHP0 INTEGER AAAHQ0 INTEGER AAAHR0(9) INTEGER AAAHS0(6) INTEGER AAAHT0(7) INTEGER AAAHU0 INTEGER AAAHV0(50) INTEGER AAAHW0(21) INTEGER AAAHX0(21) INTEGER AAAHY0 INTEGER AAAHZ0 INTEGER AAAIA0 INTEGER AAAIB0(4) INTEGER AAAIC0,AAAID0,AAAIE0 INTEGER AAAIF0(41) INTEGER AAAIG0(34) INTEGER AAAIH0(48) INTEGER AAAII0(28) INTEGER AAAIJ0(21) 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 LENAC/2,2,6,3,6,6,6/ DATA LENVC/1,1,3,1,3,3,3/ DATA LENHC/1,1,3,2,3,3,3/ DATA ITEXT/-3,225,244,244,238,0,1029,228,229,230,233,238,229,0,400 *0,228,229,230,233,238,233,244,233,239,238,0,1028,229,243,227,225,2 *40,229,0,1027,230,233,248,223,243,227,242,229,229,238,0,1018,230,2 *45,238,238,249,223,242,229,244,245,242,238,0,1004,231,239,226,226, *236,229,223,236,229,230,244,0,1012,231,239,226,226,236,229,223,242 *,233,231,232,244,0,1007,231,239,226,226,236,229,223,243,227,225,23 *8,223,236,229,230,244,0,1015,231,239,226,226,236,229,223,243,227,2 *25,238,223,242,233,231,232,244,0,1005,231,239,226,226,236,229,223, *244,225,226,223,236,229,230,244,0,1013,231,239,226,226,236,229,223 *,244,225,226,223,242,233,231,232,244,0,1021,233,238,243,229,242,24 *4,223,226,236,225,238,235,0,1023,233,238,243,229,242,244,223,238,2 *29,247,236,233,238,229,0,1022,233,238,243,229,242,244,223,244,225, *226,0,1026,235,233,236,236,223,225,236,236,0,1006,235,233,236,236, *223,236,229,230,244,0,1014,235,233,236,236,223,242,233,231,232,244 *,0,1017,235,233,236,236,223,242,233,231,232,244,223,225,238,228,22 *3,242,229,244,245,242,238,0,1020,237,239,246,229,223,228,239,247,2 *38,0,1000,237,239,246,229,223,236,229,230,244,0,1008,237,239,246,2 *29,223,242,233,231,232,244,0,1019,237,239,246,229,223,245,240,0,-5 *,240,230,0,1016,242,229,244,245,242,238,0,1003,243,227,225,238,223 *,236,229,230,244,0,1011,243,227,225,238,223,242,233,231,232,244,0, *1025,243,232,233,230,244,223,227,225,243,229,0,1002,243,235,233,24 *0,223,236,229,230,244,0,1010,243,235,233,240,223,242,233,231,232,2 *44,0,1033,244,225,226,223,227,236,229,225,242,0,1001,244,225,226,2 *23,236,229,230,244,0,1032,244,225,226,223,242,229,243,229,244,0,10 *09,244,225,226,223,242,233,231,232,244,0,1031,244,225,226,223,243, *229,244,0,1024,244,239,231,231,236,229,223,233,238,243,229,242,244 *,223,237,239,228,229,0,1030,245,238,228,229,230,233,238,229,0/ DATA IPOS/37,1,7,15,27,35,47,61,74,88,106,125,142,160,174,190,202, *212,223,235,258,269,280,292,301,305,313,324,336,348,359,371,382,39 *2,403,414,423,443/ DATA OTEXT/9,225,226,243,223,240,239,243,0,22,227,236,229,225,242, *223,228,229,236,225,249,0,1,227,236,229,225,242,223,243,227,242,22 *9,229,238,0,2,227,236,229,225,242,223,244,239,223,229,239,236,0,3, *227,236,229,225,242,223,244,239,223,229,239,243,0,15,227,239,236,2 *45,237,238,243,0,12,227,239,239,242,228,223,244,249,240,229,0,8,22 *7,245,242,243,239,242,223,228,239,247,238,0,4,227,245,242,243,239, *242,223,232,239,237,229,0,5,227,245,242,243,239,242,223,236,229,23 *0,244,0,6,227,245,242,243,239,242,223,242,233,231,232,244,0,7,227, *245,242,243,239,242,223,245,240,0,21,228,229,236,229,244,229,223,2 *36,233,238,229,0,11,232,239,242,223,240,239,243,0,20,233,238,243,2 *29,242,244,223,236,233,238,229,0,23,236,233,238,229,223,228,229,23 *6,225,249,0,13,240,239,243,223,228,229,236,225,249,0,14,242,239,24 *7,243,0,16,243,232,233,230,244,223,233,238,0,17,243,232,233,230,24 *4,223,239,245,244,0,18,243,232,233,230,244,223,244,249,240,229,0,1 *0,246,229,242,244,223,240,239,243,0,19,247,242,225,240,223,225,242 *,239,245,238,228,0/ DATA OPOS/23,1,10,23,37,51,65,74,86,99,112,125,139,150,163,172,185 *,197,208,214,224,235,247,257/ DATA AAAHR0/189,246,244,232,189,175,170,243,0/ DATA AAAHS0/233,238,240,245,244,0/ DATA AAAHT0/239,245,244,240,245,244,0/ DATA AAAHV0/227,232,225,242,225,227,244,229,242,233,243,244,233,22 *7,160,225,240,240,229,225,242,243,160,226,229,230,239,242,229,160, *167,233,238,240,245,244,167,160,239,242,160,167,239,245,244,240,24 *5,244,167,0/ DATA AAAHW0/245,238,242,229,227,239,231,238,233,250,229,228,160,23 *5,229,249,247,239,242,228,0/ DATA AAAHX0/245,238,242,229,227,239,231,238,233,250,229,228,160,23 *5,229,249,247,239,242,228,0/ DATA AAAIB0/217,197,211,0/ DATA AAAIF0/233,238,240,245,244,160,227,239,238,244,242,239,236,16 *0,243,229,241,245,229,238,227,229,160,237,245,243,244,160,226,229, *160,243,240,229,227,233,230,233,229,228,0/ DATA AAAIG0/244,239,239,160,237,225,238,249,160,245,238,233,241,24 *5,229,160,243,229,241,245,229,238,227,229,160,240,242,229,230,233, *248,229,243,0/ DATA AAAIH0/240,242,239,240,229,242,160,243,245,226,243,244,242,23 *3,238,231,160,239,230,160,225,238,239,244,232,229,242,160,243,229, *241,245,229,238,227,229,160,233,243,160,233,236,236,229,231,225,23 *6,0/ DATA AAAII0/243,229,241,245,229,238,227,229,160,240,242,229,246,23 *3,239,245,243,236,249,160,228,229,230,233,238,229,228,0/ DATA AAAIJ0/244,239,239,160,237,225,238,249,160,228,229,230,233,23 *8,233,244,233,239,238,243,0/ IF((GTTYPE(TERMU0).EQ.0))GOTO 11287 IF((GTATTR(2).EQ.0))GOTO 11287 GOTO 11286 11287 VTTERM=-3 RETURN 11286 CALL ENCODE(FNAME,102,AAAHR0,TERMU0) FD=OPEN(FNAME,1) IF((FD.NE.-3))GOTO 11288 VTTERM=-3 RETURN 11288 LASTE0=0 FNUSE0(1)=1 DO 11289 I=2,20 FNUSE0(I)=0 11289 CONTINUE 11290 DO 11291 I=1,128 FNTAB0(I,1)=0 11291 CONTINUE 11292 DO 11293 I=1,85 TABSA0(I)=0 11293 CONTINUE 11294 DO 11295 I=1,85,3 TABSA0(I)=1 11295 CONTINUE 11296 DO 11297 I=1,51 INPUT0(I)=85 INPUU0(I)=0 11297 CONTINUE 11298 MAXRO0=8 MAXCO0=32 TCCLE0(1)=0 TCCLF0(1)=0 TCCLG0(1)=0 TCCUR0(1)=0 TCCUS0(1)=0 TCCUT0(1)=0 TCCUU0(1)=0 TCCUV0(1)=0 TCABS0(1)=0 TCVER0(1)=0 TCHOR0(1)=0 TCINS0(1)=0 TCDEL0(1)=0 TCSHI0(1)=0 TCSHJ0(1)=0 TCCOO0=160 TCSHK0=128 TCCOP0=0 TCSEQ0=0 TCCLH0=0 TCLIN0=0 TCPOS0=0 TCSPE0=9600 TCWRA0=1 TCCLR0=9999 TCCEO0=9999 TCCEP0=9999 TCABT0=9999 TCVES0=9999 TCHOS0=9999 TCHOM0=9999 TCLEF0=9999 TCUPL0=9999 STATE=-3 11299 IF((GETLIN(TBUF,FD).EQ.-1))GOTO 11300 TP=1 BP=1 GOTO 11303 11301 TP=TP+(1) BP=BP+(1) 11303 IF((TBUF(TP).EQ.138))GOTO 11302 IF((TBUF(TP).EQ.0))GOTO 11302 IF((TBUF(TP).NE.192))GOTO 11304 IF((TBUF(TP+1).EQ.0))GOTO 11304 TP=TP+(1) GOTO 11305 11304 IF((TBUF(TP).NE.163))GOTO 11306 GOTO 11302 11306 CONTINUE 11305 BUF(BP)=TBUF(TP) GOTO 11301 11302 BUF(BP)=0 BP=1 AAAHN0=1 GOTO 11282 11311 STATE=1 GOTO 11299 11312 STATE=2 GOTO 11299 11308 IF((TBUF(1).EQ.0))GOTO 11299 IF((EQUAL(TBUF,AAAHS0).EQ.1))GOTO 11311 IF((EQUAL(TBUF,AAAHT0).EQ.1))GOTO 11312 AAAHU0=STATE GOTO 11313 11314 VTTERM=VT$IER(AAAHV0,FNAME,BUF,FD) RETURN 11315 F=STRBSR(IPOS,ITEXT,1,TBUF) IF((F.NE.-1))GOTO 11316 VTTERM=VT$IER(AAAHW0,FNAME,BUF,FD) RETURN 11316 F=ITEXT(IPOS(F)) AAAHP0=1 GOTO 11284 11319 F=STRBSR(OPOS,OTEXT,1,TBUF) IF((F.NE.-1))GOTO 11320 VTTERM=VT$IER(AAAHX0,FNAME,BUF,FD) RETURN 11320 F=OTEXT(OPOS(F)) AAAHQ0=1 GOTO 11285 11313 AAAHY0=AAAHU0+4 GOTO(11314,11322,11322,11322,11315,11319),AAAHY0 11322 CONTINUE 11318 GOTO 11299 11300 CALL CLOSE(FD) I=1 GOTO 11325 11323 I=I+(1) 11325 IF((I.GE.128))GOTO 11324 IF((FNTAB0(I,1).NE.0))GOTO 11323 FNTAB0(I,1)=I+127 11326 GOTO 11323 11324 IF((TCCLE0(1).NE.0))GOTO 11327 CALL REMARK('Screen clear sequence required.') VTTERM=-3 RETURN 11327 TCCLR0=LENGTH(TCCLE0) IF((TCCLF0(1).EQ.0))GOTO 11328 TCCEP0=LENGTH(TCCLF0) 11328 IF((TCCLG0(1).EQ.0))GOTO 11329 TCCEP0=LENGTH(TCCLG0) 11329 IF((TCCUS0(1).EQ.0))GOTO 11330 TCLEF0=LENGTH(TCCUS0) 11330 IF((TCCUU0(1).EQ.0))GOTO 11331 TCUPL0=LENGTH(TCCUU0) 11331 IF((TCCUR0(1).EQ.0))GOTO 11332 TCHOM0=LENGTH(TCCUR0) 11332 IF((TCCOP0.LT.1))GOTO 11334 IF((TCCOP0.GT.7))GOTO 11334 GOTO 11333 11334 CALL REMARK('Invalid coordinate type.') VTTERM=-3 RETURN 11333 AAAHZ0=TCSEQ0 GOTO 11335 11336 IF((TCABS0(1).NE.0))GOTO 11337 CALL REMARK('Absolute positioning sequence required.') VTTERM=-3 RETURN 11337 TCABT0=LENGTH(TCABS0)+LENAC(TCCOP0) IF((TCVER0(1).EQ.0))GOTO 11338 TCVES0=LENGTH(TCVER0) 11338 IF((TCHOR0(1).EQ.0))GOTO 11340 TCHOS0=LENGTH(TCHOR0) 11339 GOTO 11340 11341 IF((TCVER0(1).EQ.0))GOTO 11343 IF((TCHOR0(1).EQ.0))GOTO 11343 GOTO 11342 11343 CALL REMARK('Horizontal/vertical sequence missing.') VTTERM=-3 RETURN 11342 TCVES0=LENGTH(TCVER0)+LENVC(TCCOP0) TCHOS0=LENGTH(TCHOR0)+LENHC(TCCOP0) GOTO 11340 11344 IF((TCCUU0(1).NE.0))GOTO 11345 IF((TCCUR0(1).NE.0))GOTO 11345 CALL REMARK('Cursor_home or cursor_up must be specified.') VTTERM=-3 RETURN 11345 IF((TCCUT0(1).NE.0))GOTO 11340 CALL REMARK('Cursor_right must be specified.') VTTERM=-3 RETURN 11335 GOTO(11336,11336,11341,11344),AAAHZ0 CALL REMARK('Invalid sequence type.') VTTERM=-3 RETURN 11340 VTTERM=-2 RETURN 11282 CONTINUE 11347 IF((BUF(BP).NE.160))GOTO 11348 BP=BP+(1) GOTO 11347 11348 TP=1 GOTO 11351 11349 BP=BP+(1) TP=TP+(1) 11351 IF((BUF(BP).EQ.160))GOTO 11350 IF((BUF(BP).EQ.0))GOTO 11350 TBUF(TP)=BUF(BP) GOTO 11349 11350 TBUF(TP)=0 GOTO 11352 11285 AAAIA0=F GOTO 11353 11354 AAAHO0=1 GOTO 11283 11355 CALL CTOC(SBUF,TCCLE0,10) GOTO 11299 11357 AAAHO0=2 GOTO 11283 11358 CALL CTOC(SBUF,TCCLF0,10) GOTO 11299 11359 AAAHO0=3 GOTO 11283 11360 CALL CTOC(SBUF,TCCLG0,10) GOTO 11299 11361 AAAHO0=4 GOTO 11283 11362 CALL CTOC(SBUF,TCCUR0,10) GOTO 11299 11363 AAAHO0=5 GOTO 11283 11364 CALL CTOC(SBUF,TCCUS0,10) GOTO 11299 11365 AAAHO0=6 GOTO 11283 11366 CALL CTOC(SBUF,TCCUT0,10) GOTO 11299 11367 AAAHO0=7 GOTO 11283 11368 CALL CTOC(SBUF,TCCUU0,10) GOTO 11299 11369 AAAHO0=8 GOTO 11283 11370 CALL CTOC(SBUF,TCCUV0,10) GOTO 11299 11371 AAAHO0=9 GOTO 11283 11372 CALL CTOC(SBUF,TCABS0,10) GOTO 11299 11373 AAAHO0=10 GOTO 11283 11374 CALL CTOC(SBUF,TCVER0,10) GOTO 11299 11375 AAAHO0=11 GOTO 11283 11376 CALL CTOC(SBUF,TCHOR0,10) GOTO 11299 11377 AAAHO0=12 GOTO 11283 11378 CALL CTOC(SBUF,TCDEL0,10) GOTO 11299 11379 AAAHO0=13 GOTO 11283 11380 CALL CTOC(SBUF,TCINS0,10) GOTO 11299 11381 AAAHO0=14 GOTO 11283 11382 CALL CTOC(SBUF,TCSHI0,10) GOTO 11299 11383 AAAHO0=15 GOTO 11283 11384 CALL CTOC(SBUF,TCSHJ0,10) GOTO 11299 11385 TCSEQ0=CTOI(BUF,BP) TCCOP0=CTOI(BUF,BP) 11386 IF((BUF(BP).NE.160))GOTO 11387 BP=BP+(1) GOTO 11386 11387 TCCOO0=MNTOC(BUF,BP,128) GOTO 11299 11388 CONTINUE 11389 IF((BUF(BP).NE.160))GOTO 11390 BP=BP+(1) GOTO 11389 11390 TCSHK0=MNTOC(BUF,BP,128) GOTO 11299 11391 AAAHN0=2 GOTO 11282 11392 IF((EQUAL(TBUF,AAAIB0).NE.1))GOTO 11393 TCWRA0=1 GOTO 11299 11393 TCWRA0=0 11394 GOTO 11299 11395 TCCLH0=MAX0(1,MIN0(CTOI(BUF,BP),5000)) GOTO 11299 11396 TCLIN0=MAX0(1,MIN0(CTOI(BUF,BP),5000)) GOTO 11299 11397 TCPOS0=MAX0(1,MIN0(CTOI(BUF,BP),5000)) GOTO 11299 11398 MAXRO0=MAX0(1,MIN0(CTOI(BUF,BP),51)) GOTO 11299 11399 MAXCO0=MAX0(1,MIN0(CTOI(BUF,BP),85)) GOTO 11299 11353 GOTO(11354,11357,11359,11361,11363,11365,11367,11369,11371,11373, * 11375,11385,11397,11398,11399,11381,11383,11388,11391,11379, * 11377,11395,11396),AAAIA0 11356 GOTO 11299 11283 SP=0 11401 SP=SP+(1) AAAHN0=3 GOTO 11282 11402 IF((TBUF(1).NE.0))GOTO 11403 GOTO 11404 11403 TP=1 SBUF(SP)=MNTOC(TBUF,TP,0) IF((SBUF(SP).EQ.0))GOTO 11405 IF((SP.GE.102))GOTO 11405 GOTO 11401 11405 CONTINUE 11404 SBUF(SP)=0 GOTO 11406 11284 IF((F.NE.-1))GOTO 11407 AAAHN0=4 GOTO 11282 11408 F=MNTOC(TBUF,1,160) GOTO 11409 11407 IF((F.NE.-5))GOTO 11410 F=F-(CTOI(BUF,BP)) 11410 CONTINUE 11409 AAAHO0=16 GOTO 11283 11411 IF((SP.GT.1))GOTO 11412 VTTERM=VT$IER(AAAIF0,FNAME,BUF,FD) RETURN 11412 AAAID0=1 I=1 GOTO 11415 11413 I=I+(1) 11415 IF((I.GE.SP-1))GOTO 11414 AAAIC0=FNTAB0(SBUF(I)-127,AAAID0) IF((AAAIC0.NE.0))GOTO 11416 IF((VT$ALC(AAAID0,SBUF(I)-127).NE.-3))GOTO 11413 VTTERM=VT$IER(AAAIG0,FNAME,BUF,FD) RETURN 11416 IF((AAAIC0.LE.5000))GOTO 11419 AAAID0=AAAIC0-5000 GOTO 11420 11419 VTTERM=VT$IER(AAAIH0,FNAME,BUF,FD) RETURN 11420 CONTINUE 11418 GOTO 11413 11414 AAAIE0=SBUF(I)-127 IF((FNTAB0(AAAIE0,AAAID0).EQ.0))GOTO 11421 VTTERM=VT$IER(AAAII0,FNAME,BUF,FD) RETURN 11421 IF((F.NE.4000))GOTO 11422 IF((SP+1.LT.1000))GOTO 11423 VTTERM=VT$IER(AAAIJ0,FNAME,BUF,FD) RETURN 11423 AAAHO0=17 GOTO 11283 11424 LASTE0=LASTE0+(1) F=F+(LASTE0) DEFBU0(LASTE0)=0 LASTE0=LASTE0+(1+CTOC(SBUF,DEFBU0(LASTE0+1),1000-LASTE0)) 11422 FNTAB0(AAAIE0,AAAID0)=F GOTO 11299 11352 GOTO(11308,11392,11402,11408),AAAHN0 GOTO 11352 11406 GOTO(11355,11358,11360,11362,11364,11366,11368,11370,11372,11374, * 11376,11378,11380,11382,11384,11411,11424),AAAHO0 GOTO 11406 END SUBROUTINE VTUPD(CLR) INTEGER CLR COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 ROW,COL,LIM INTEGER NCH,CCH INTEGER AAAIK0 INTEGER AAAIL0 INTEGER AAAIM0(10) 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)) IF((DISPL0.NE.1))GOTO 11427 AAAIK0=1 GOTO 11426 11428 CONTINUE 11427 IF((CLR.NE.1))GOTO 11429 CURRO0=1 CURCO0=1 CALL VT$CLR(CLR) ROW=1 GOTO 11432 11430 ROW=ROW+(1) 11432 IF((ROW.GT.MAXRO0))GOTO 11431 IF((LASTC0(ROW).GE.MAXCO0))GOTO 11433 LIM=LASTC0(ROW) GOTO 11434 11433 LIM=MAXCO0 11434 COL=1 GOTO 11437 11435 COL=COL+(1) 11437 IF((COL.GT.LIM))GOTO 11436 NCH=NEWSC0(COL,ROW) IF((NCH.EQ.160))GOTO 11438 CALL VTMOVE(ROW,COL) CALL VT$OUT(NCH) 11438 CURSC0(COL,ROW)=NCH GOTO 11435 11436 COLCH0(ROW)=85 COLCI0(ROW)=0 GOTO 11430 11431 ROWCH0=51 ROWCI0=0 GOTO 11460 11429 ROW=ROWCH0 GOTO 11442 11440 ROW=ROW+(1) 11442 IF((ROW.GT.ROWCI0))GOTO 11441 IF((LASTC0(ROW).GE.COLCI0(ROW)))GOTO 11443 IF((TCCLF0(1).EQ.0))GOTO 11443 LIM=LASTC0(ROW) GOTO 11444 11443 LIM=COLCI0(ROW) 11444 COL=COLCH0(ROW) GOTO 11447 11445 COL=COL+(1) 11447 IF((COL.GT.LIM))GOTO 11451 NCH=NEWSC0(COL,ROW) CCH=CURSC0(COL,ROW) IF((NCH.EQ.CCH))GOTO 11445 CALL VTMOVE(ROW,COL) CALL VT$OUT(NCH) CURSC0(COL,ROW)=NCH 11448 GOTO 11445 11449 COL=COL+(1) 11451 IF((COL.GT.COLCI0(ROW)))GOTO 11450 CCH=CURSC0(COL,ROW) IF((CCH.EQ.160))GOTO 11449 GOTO 11450 11450 IF((COL.GT.COLCI0(ROW)))GOTO 11453 CALL VTMOVE(ROW,COL) AAAIL0=1 GOTO 11456 11454 AAAIL0=AAAIL0+(1) 11456 IF((TCCLF0(AAAIL0).EQ.0))GOTO 11455 CALL TNOUA(LS(TCCLF0(AAAIL0),8),1) GOTO 11454 11455 CURRO0=MAXRO0+10 CURCO0=MAXCO0+10 GOTO 11459 11457 COL=COL+(1) 11459 IF((COL.GT.COLCI0(ROW)))GOTO 11458 CURSC0(COL,ROW)=160 GOTO 11457 11458 CONTINUE 11453 COLCH0(ROW)=85 COLCI0(ROW)=0 GOTO 11440 11441 ROWCH0=51 ROWCI0=0 11439 GOTO 11460 11426 CALL DATE(2,AAAIM0) AAAIM0(6)=0 CALL VTMSG(AAAIM0,-1) GOTO 11428 11460 RETURN END INTEGER FUNCTION WIND(FD) INTEGER FD INTEGER SEEKF WIND=SEEKF(:17777777777,FD) RETURN END INTEGER FUNCTION WKDAY(MONTH,DAY,YEAR) INTEGER MONTH,DAY,YEAR INTEGER LMONTH,LDAY,LYEAR LMONTH=MONTH-2 LDAY=DAY LYEAR=YEAR IF((LMONTH.GT.0))GOTO 11462 LMONTH=LMONTH+(12) LYEAR=LYEAR-(1) 11462 WKDAY=MOD(LDAY+(26*LMONTH-2)/10+LYEAR+LYEAR/4-34,7)+1 IF((WKDAY.GE.1))GOTO 11463 WKDAY=WKDAY+(7) 11463 RETURN END INTEGER FUNCTION WRITEF(BUF,NW,FD) INTEGER BUF(1),NW,FD COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 OFF,F INTEGER MAPSU,TWRIT$,DWRIT$ INTEGER AAAIN0 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)) F=MAPSU(FD) OFF=F*16-16+1 IF((F.LT.1))GOTO 11465 IF((F.GT.128))GOTO 11465 IF((AND(FDFLA0(OFF),:020000).EQ.0))GOTO 11465 IF((AND(FDFLA0(OFF),:004000).NE.0))GOTO 11465 GOTO 11464 11465 WRITEF=-3 RETURN 11464 IF((NW.GT.0))GOTO 11466 WRITEF=0 RETURN 11466 AAAIN0=FDDEV0(OFF) GOTO 11467 11468 IF((AND(FDFLA0(OFF),:000017).EQ.2))GOTO 11469 CALL FLUSH$(F) FDFLA0(OFF)=AND(FDFLA0(OFF),NOT(:000017))+2 11469 WRITEF=TWRIT$(BUF,NW,OFF) GOTO 11470 11471 IF((AND(FDFLA0(OFF),:000017).EQ.2))GOTO 11472 CALL FLUSH$(F) FDCOU0(OFF)=-FDBUH0(OFF) FDBUI0(OFF)=FDBUG0(OFF)+FDBUH0(OFF) FDFLA0(OFF)=AND(FDFLA0(OFF),NOT(:000017))+2 11472 WRITEF=DWRIT$(BUF,NW,OFF) GOTO 11470 11473 IF((AND(FDFLA0(OFF),:000017).EQ.2))GOTO 11474 CALL FLUSH$(F) FDFLA0(OFF)=AND(FDFLA0(OFF),NOT(:000017))+2 11474 WRITEF=-1 GOTO 11470 11467 GOTO(11468,11471,11473),AAAIN0 WRITEF=-3 11470 RETURN END INTEGER FUNCTION VT$CEL(DUMMY) INTEGER DUMMY COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 AAAIO0 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)) IF((TCCLF0(1).NE.0))GOTO 11475 VT$CEL=-3 RETURN 11475 AAAIO0=1 GOTO 11478 11476 AAAIO0=AAAIO0+(1) 11478 IF((TCCLF0(AAAIO0).EQ.0))GOTO 11477 CALL TNOUA(LS(TCCLF0(AAAIO0),8),1) GOTO 11476 11477 VT$CEL=-2 RETURN END INTEGER FUNCTION VT$DLN(DUMMY) INTEGER DUMMY COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 AAAIP0 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)) IF((TCDEL0(1).NE.0))GOTO 11479 VT$DLN=-3 RETURN 11479 AAAIP0=1 GOTO 11482 11480 AAAIP0=AAAIP0+(1) 11482 IF((TCDEL0(AAAIP0).EQ.0))GOTO 11481 CALL TNOUA(LS(TCDEL0(AAAIP0),8),1) GOTO 11480 11481 CALL VT$DEL(TCLIN0) VT$DLN=-2 RETURN END INTEGER FUNCTION VT$ILN(DUMMY) INTEGER DUMMY COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 AAAIQ0 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)) IF((TCINS0(1).NE.0))GOTO 11483 VT$ILN=-3 RETURN 11483 AAAIQ0=1 GOTO 11486 11484 AAAIQ0=AAAIQ0+(1) 11486 IF((TCINS0(AAAIQ0).EQ.0))GOTO 11485 CALL TNOUA(LS(TCINS0(AAAIQ0),8),1) GOTO 11484 11485 CALL VT$DEL(TCLIN0) VT$ILN=-2 RETURN END SUBROUTINE VTBAUD(RATE) INTEGER RATE COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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) 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)) IF((RATE.LE.19200))GOTO 11487 TCSPE0=19200 GOTO 11488 11487 IF((RATE.GE.50))GOTO 11489 TCSPE0=50 GOTO 11490 11489 TCSPE0=RATE 11490 CONTINUE 11488 RETURN END SUBROUTINE VT$REL(ROW,COL,CROW,CCOL) INTEGER ROW,COL,CROW,CCOL COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0( *16,128),RESER0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESES0(985),CMDST0, *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESET0(743),TSSTA0,TSGTA0,T *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA *T0(180),RESEU0(680),NEWSC0(85,51),RESEV0(785),CURSC0(85,51),RESEW0 *(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,RESEX0(1) INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESER0,FDBUF0,PASSW0,BPLAB *0,UTEMP0,UHASH0,UTEMQ0,RESES0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESET0,FDLAS0,KILL *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0, *TSBFA0,TSPWA0,TSPAT0,RESEU0,NEWSC0,RESEV0,CURSC0,RESEW0,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 *EX0 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 R,C INTEGER AAAIR0 INTEGER AAAIS0 INTEGER AAAIT0 INTEGER AAAIU0 INTEGER AAAIV0 INTEGER AAAIW0 INTEGER AAAIX0 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)) R=CROW C=CCOL IF((IABS(ROW-R)+IABS(COL-C).LE.TCHOM0+ROW+COL-2))GOTO 11491 IF((TCCUR0(1).EQ.0))GOTO 11492 AAAIR0=1 GOTO 11495 11493AAAIR0=AAAIR0+(1) 11495 IF((TCCUR0(AAAIR0).EQ.0))GOTO 11494 CALL TNOUA(LS(TCCUR0(AAAIR0),8),1) GOTO 11493 11494 R=1 C=1 11492 CONTINUE 11491 IF((TCCUU0(1).EQ.0))GOTO 11496 GOTO 11499 11497 R=R-(1) 11499 IF((R.LE.ROW))GOTO 11503 AAAIS0=1 GOTO 11502 11500 AAAIS0=AAAIS0+(1) 11502 IF((TCCUU0(AAAIS0).EQ.0))GOTO 11497 CALL TNOUA(LS(TCCUU0(AAAIS0),8),1) GOTO 11500 11496 IF((R.LE.ROW))GOTO 11504 AAAIT0=1 GOTO 11507 11505 AAAIT0=AAAIT0+(1) 11507 IF((TCCUR0(AAAIT0).EQ.0))GOTO 11506 CALL TNOUA(LS(TCCUR0(AAAIT0),8),1) GOTO 11505 11506 R=1 C=1 11504 CONTINUE 11503 IF((TCCUV0(1).EQ.0))GOTO 11508 GOTO 11511 11509 R=R+(1) 11511 IF((R.GE.ROW))GOTO 11515 AAAIU0=1 GOTO 11514 11512 AAAIU0=AAAIU0+(1) 11514 IF((TCCUV0(AAAIU0).EQ.0))GOTO 11509 CALL TNOUA(LS(TCCUV0(AAAIU0),8),1) GOTO 11512 11508 IF((R.GE.ROW))GOTO 11516 GOTO 11519 11517 R=R+(1) 11519 IF((R.GE.ROW))GOTO 11518 CALL TNOUA(LS(138,8),1) GOTO 11517 11518 CONTINUE 11516 CONTINUE 11515 IF((IABS(COL-C).LE.COL-1))GOTO 11520 CALL TNOUA(LS(141,8),1) C=1 11520 IF((TCCUT0(1).EQ.0))GOTO 11521 GOTO 11524 11522 C=C+(1) 11524 IF((C.GE.COL))GOTO 11528 AAAIV0=1 GOTO 11527 11525 AAAIV0=AAAIV0+(1) 11527 IF((TCCUT0(AAAIV0).EQ.0))GOTO 11522 CALL TNOUA(LS(TCCUT0(AAAIV0),8),1) GOTO 11525 11521 IF((C.GE.COL))GOTO 11529 CALL ERROR('can''t position cursor.') 11529 CONTINUE 11528 IF((TCCUS0(1).EQ.0))GOTO 11530 GOTO 11533 11531 C=C-(1) 11533 IF((C.LE.COL))GOTO 11537 AAAIW0=1 GOTO 11536 11534 AAAIW0=AAAIW0+(1) 11536 IF((TCCUS0(AAAIW0).EQ.0))GOTO 11531 CALL TNOUA(LS(TCCUS0(AAAIW0),8),1) GOTO 11534 11530 IF((C.LE.COL))GOTO 11538 CALL TNOUA(LS(141,8),1) C=1 GOTO 11541 11539 C=C+(1) 11541 IF((C.GE.COL))GOTO 11540 AAAIX0=1 GOTO 11544 11542 AAAIX0=AAAIX0+(1) 11544 IF((TCCUT0(AAAIX0).EQ.0))GOTO 11539 CALL TNOUA(LS(TCCUT0(AAAIX0),8),1) GOTO 11542 11540 CONTINUE 11538 CONTINUE 11537 RETURN END C ---- Long Name Map ---- C Fdflags fdfla0 C Aclcount aclco0 C acl$00 acl$00 C putkillresp putki0 C blankok blank0 C Eofchar eofch0 C Inputstart input0 C Escchar escch0 C Invertcase inver0 C Tccoordchar tccoo0 C Tabs tabsa0 C Fdbufstart fdbug0 C Rtchar rtcha0 C Prtdest prtde0 C Tcdelline tcdel0 C Colchgstop colci0 C Rowchgstart rowch0 C Maxcol maxco0 C Aclversion aclve0 C findisacat findi0 C Echar echar0 C Tseos tseos0 C Tclinedelay tclin0 C Fnused fnuse0 C enterpwd enter0 C Termcount termd0 C Reservedio reser0 C Tsstate tssta0 C Tccursorright tccut0 C Tcabspos tcabs0 C Tcposdelay tcpos0 C Tchorlen tchos0 C Reservedopen reses0 C Lsna lsnaa0 C Tcseqtype tcseq0 C Unprintablechar unpri0 C Fdesc fdesc0 C infobuf infob0 C Cputype cputy0 C Prtform prtfo0 C Tsbf tsbfa0 C Curcol curco0 C Lastfn lastf0 C Insertmode inser0 C filltermbuf fillt0 C Fdbuf fdbuf0 C Argv argva0 C Lstop lstop0 C Tcceollen tccep0 C Tcshiftchar tcshk0 C Inputwait inpuv0 C Fdunit fduni0 C displayline dispm0 C Termcp termc0 C Kchar kchar0 C Fdmem fdmem0 C Fddev fddev0 C Fdvcstat1 fdvcs0 C rowcoord rowco0 C nextargument nexta0 C Lastdef laste0 C Tcdelaytime tcdem0 C Fdvcstat2 fdvct0 C Killresp killr0 C Tccleardelay tcclh0 C Padrow padro0 C Fntab fntab0 C Reservednewscr resev0 C Reservedcurscr resew0 C Utempbuf utemq0 C Rtlabel rtlab0 C Lsho lshoa0 C Tcvertpos tcver0 C Tcwraparound tcwra0 C Tchomelen tchom0 C profile profi0 C enterinfo entes0 C Tcceoslen tcceo0 C Fdbufend fdbui0 C Tcspeed tcspe0 C Tcleftlen tclef0 C Pbbuf pbbuf0 C Fdopstat1 fdops0 C scanfortab scang0 C Passwd passw0 C Newscr newsc0 C Curscr cursc0 C Duplex duple0 C Fdopstat2 fdopt0 C nonownerbits nonow0 C fixpath fixpa0 C Tccursorhome tccur0 C Fdopstat3 fdopu0 C reattach reatt0 C Tspath tspat0 C dogetto doget0 C Tsat tsata0 C Tccursorleft tccus0 C Colchgstart colch0 C pathname pathn0 C maketree maket0 C putchar putch0 C scanpos scanp0 C Reservedshell reset0 C Inbuf inbuf0 C Nestingcount nesti0 C termination termi0 C termtype termu0 C Reservedtscan reseu0 C Defbuf defbu0 C Uhashtb uhash0 C Fdbuflen fdbuh0 C Acluser aclus0 C Cmdstat cmdst0 C Tchorpos tchor0 C Tcinsline tcins0 C Msgowner msgow0 C doprotect dopro0 C argtype argty0 C Fdlastfd fdlas0 C Termattr terma0 C Mem memaa0 C Primosacl primo0 C getword getwo0 C Tsgt tsgta0 C Tcshiftout tcshj0 C Inputstop inpuu0 C Acltype aclty0 C laststatus lasts0 C Firstuse first0 C Tcshiftin tcshi0 C Displaytime displ0 C Fdcount fdcou0 C checkpostorder check0 C colcoord colco0 C interpretoutput intes0 C Termbuf termb0 C Lsref lsref0 C Tcabslen tcabt0 C Rowchgstop rowci0 C Maxrow maxro0 C Padcol padco0 C Lastcharscanned lastd0 C erasechar erase0 C interpretinput inter0 C Msgrow msgro0 C Padlen padle0 C Stdporttbl stdpo0 C Argc argca0 C Termtype termt0 C Tccleartoeol tcclf0 C Aclpairs aclpa0 C getescape getes0 C validname valid0 C scanforchar scanf0 C Tccursordown tccuv0 C Currow curro0 C ownerbits owner0 C packedname packe0 C Nlchar nlcha0 C Isphantom ispha0 C Tsun tsuna0 C Tsps tspsa0 C Reservedvthmisc resex0 C Tcuplen tcupl0 C Lastchar lastc0 C routine routi0 C hundreds hundr0 C Utemptop utemp0 C Aclname aclna0 C Bplabel bplab0 C attachsw attac0 C sbeecoord sbeec0 C Tspw tspwa0 C Tcclearscreen tccle0 C Tccoordtype tccop0 C Tcvertlen tcves0 C Fdbcount fdbco0 C getchar getch0 C b200coord b200c0 C Comunit comun0 C Tccleartoeos tcclg0 C Tccursorup tccuu0 C nodesize nodes0 C permissions permi0 C Tcclrlen tcclr0 C Aclmode aclmo0 C getargtype getar0 C Errcod errco0 C Lword lword0 C Pbptr pbptr0