INTEGER NAME(102) INTEGER STATE(4) INTEGER GFNARG INTEGER FD INTEGER OPEN INTEGER AAAAB0 INTEGER AAAAC0 INTEGER AAAAD0 INTEGER AAAAA0 INTEGER AAAAE0(102) INTEGER GETMO0 INTEGER AAAAF0(5) DATA AAAAF0/170,243,170,238,0/ STATE(1)=1 10001 AAAAC0=GFNARG(NAME,STATE) GOTO 10002 10003 GOTO 10004 10005 FD=OPEN(NAME,1) IF((FD.NE.-3))GOTO 10006 CALL CANT(NAME) 10006 AAAAA0=FD AAAAB0=1 GOTO 10000 10007 CALL CLOSE(FD) GOTO 10008 10002 AAAAD0=AAAAC0+3 GOTO(10005,10003),AAAAD0 10008 CONTINUE GOTO 10001 10004 CALL SWT 10000 CONTINUE 10009 IF((GETMO0(AAAAA0,AAAAE0).EQ.-1))GOTO 10010 CALL PRINT(-11,AAAAF0,AAAAE0) GOTO 10009 10010 GOTO 10011 10011 GOTO 10007 END INTEGER FUNCTION GETMO0(FD,NAME) INTEGER FD INTEGER NAME(102) INTEGER BUF(256),LEN INTEGER RDBIN,HASPR0,GETNA0 INTEGER AAAAG0 INTEGER AAAAH0(38) INTEGER AAAAI0 INTEGER AAAAJ0(6) INTEGER AAAAK0 INTEGER AAAAL0(5) INTEGER AAAAM0(5) INTEGER AAAAN0(6) INTEGER AAAAO0(21) INTEGER AAAAP0 INTEGER AAAAQ0(42) INTEGER AAAAR0(32) INTEGER AAAAS0(38) INTEGER AAAAT0(33) DATA AAAAH0/226,225,228,160,239,226,234,229,227,244,160,230,233,23 *6,229,160,168,226,236,239,227,235,160,243,233,250,229,160,237,233, *243,237,225,244,227,232,169,0/ DATA AAAAJ0/174,237,225,233,238,0/ DATA AAAAL0/174,242,230,236,0/ DATA AAAAM0/174,243,230,236,0/ DATA AAAAN0/174,228,225,244,225,0/ DATA AAAAO0/229,248,244,242,225,238,229,239,245,243,160,197,206,19 *6,160,226,236,239,227,235,0/ DATA AAAAQ0/226,225,228,160,239,226,234,229,227,244,160,230,233,23 *6,229,160,168,245,238,242,229,227,239,231,238,233,250,229,228,160, *226,236,239,227,235,160,244,249,240,229,169,0/ DATA AAAAR0/226,225,228,160,239,226,234,229,227,244,160,230,233,23 *6,229,160,168,240,242,229,237,225,244,245,242,229,160,197,207,198, *169,0/ DATA AAAAS0/226,225,228,160,239,226,234,229,227,244,160,230,233,23 *6,229,160,168,226,236,239,227,235,160,243,233,250,229,160,237,233, *243,237,225,244,227,232,169,0/ DATA AAAAT0/226,225,228,160,239,226,234,229,227,244,160,230,233,23 *6,229,160,168,226,225,228,160,226,236,239,227,235,160,244,249,240, *229,169,0/ 10013 LEN=RDBIN(FD,BUF,256) IF((LEN.EQ.0))GOTO 10015 IF((LEN.EQ.-1))GOTO 10015 GOTO 10014 10015 GETMO0=-1 RETURN 10014 IF((LEN.LT.0))GOTO 10017 IF((LEN.NE.RT(BUF(1),8)))GOTO 10017 GOTO 10016 10017 CALL ERR(FD,AAAAH0) 10016 AAAAI0=RS(BUF(1),12) GOTO 10018 10019 IF((HASPR0(BUF).NE.1))GOTO 10020 IF((GETNA0(BUF,NAME,102).NE.0))GOTO 10021 CALL SCOPY(AAAAJ0,1,NAME,1) LEN=RDBIN(FD,BUF,256) GOTO 10024 10022 LEN=RDBIN(FD,BUF,256) 10024 IF((RS(BUF(1),12).EQ.11))GOTO 10023 IF((RS(BUF(1),12).NE.9))GOTO 10025 IF((GETNA0(BUF,NAME,102).NE.1))GOTO 10025 GOTO 10023 10025 GOTO 10022 10023 CONTINUE 10021 IF((RS(BUF(1),12).EQ.11))GOTO 10026 AAAAG0=1 GOTO 10012 10027 CONTINUE 10026 GETMO0=-2 RETURN 10020 IF((RT(BUF(1),8).NE.2))GOTO 10028 AAAAK0=BUF(2) GOTO 10029 10030 CALL SCOPY(AAAAL0,1,NAME,1) GOTO 10031 10032 CALL SCOPY(AAAAM0,1,NAME,1) GOTO 10031 10031 GETMO0=-2 RETURN 10029 IF(AAAAK0.EQ.4096)GOTO 10032 IF(AAAAK0.EQ.4352)GOTO 10030 10028 CONTINUE GOTO 10033 10034 CALL SCOPY(AAAAN0,1,NAME,1) AAAAG0=2 GOTO 10012 10035 GETMO0=-2 RETURN 10036 CALL ERR(FD,AAAAO0) GOTO 10033 10018 AAAAP0=AAAAI0-8 GOTO(10019,10034,10036),AAAAP0 CALL ERR(FD,AAAAQ0) 10033 CONTINUE GOTO 10013 10012 CONTINUE 10037 LEN=RDBIN(FD,BUF,256) GOTO 10038 10039 GOTO 10040 10041 CALL ERR(FD,AAAAR0) GOTO 10040 10042 CALL ERR(FD,AAAAS0) GOTO 10040 10043 CALL ERR(FD,AAAAT0) GOTO 10040 10038 IF((LEN.EQ.0))GOTO 10039 IF((LEN.LT.0))GOTO 10041 IF((LEN.EQ.-1))GOTO 10041 IF((LEN.NE.RT(BUF(1),8)))GOTO 10042 IF((RS(BUF(1),12).EQ.9))GOTO 10044 IF((RS(BUF(1),12).EQ.10))GOTO 10044 IF((RS(BUF(1),12).EQ.11))GOTO 10044 GOTO 10043 10044 CONTINUE 10040 CONTINUE IF((LEN.EQ.0))GOTO 10045 IF((RS(BUF(1),12).EQ.11))GOTO 10045 GOTO 10037 10045 CONTINUE GOTO 10046 10046 GOTO(10027,10035),AAAAG0 GOTO 10046 END INTEGER FUNCTION HASPR0(BUF) INTEGER BUF(1) INTEGER LEN,I LEN=RT(BUF(1),8) I=1 GOTO 10049 10047 I=I+(RT(BUF(I+1),8)+1) 10049 IF((I.GE.LEN))GOTO 10048 IF((RS(BUF(I+1),8).NE.30))GOTO 10050 HASPR0=1 RETURN 10050 GOTO 10047 10048 HASPR0=0 RETURN END INTEGER FUNCTION GETNA0(BUF,NAME,SIZE) INTEGER BUF(1),SIZE INTEGER NAME(SIZE) INTEGER LEN,I INTEGER AAAAU0 INTEGER AAAAV0 LEN=RT(BUF(1),8) I=1 GOTO 10053 10051 I=I+(RT(BUF(I+1),8)+1) 10053 IF((I.GE.LEN))GOTO 10052 AAAAU0=RS(BUF(I+1),8) GOTO 10054 10055 CALL PTOC(BUF(I+3),160,NAME,MIN0(SIZE,RT(BUF(I+1),8)*2-1)) GOTO 10056 10057 CALL PTOC(BUF(I+2),160,NAME,MIN0(SIZE,RT(BUF(I+1),8)*2+1)) GOTO 10056 10056 CALL MAPSTR(NAME,1) GETNA0=1 RETURN 10054 AAAAV0=AAAAU0-1 GOTO(10055,10055),AAAAV0 AAAAV0=AAAAU0-30 GOTO(10055,10055,10058,10058,10058,10058,10058,10058,10058,10058 *,10058,10058,10057),AAAAV0 10058 CONTINUE GOTO 10051 10052 GETNA0=0 RETURN END SUBROUTINE ERR(FD,MSG) INTEGER FD INTEGER MSG(1) INTEGER NAME(180) INTEGER AAAAW0(9) DATA AAAAW0/170,243,186,160,170,243,170,238,0/ CALL GFNAM$(FD,NAME,180) CALL PRINT(-15,AAAAW0,NAME,MSG) CALL SETERR(1000) CALL SWT END INTEGER FUNCTION RDBIN(FD,BUF,COUNT) INTEGER FD,BUF(1),COUNT INTEGER CT INTEGER * 4 POS INTEGER READF,SEEKF INTEGER AAAAX0(39) DATA AAAAX0/226,236,239,227,235,160,243,233,250,229,160,168,170,23 *3,169,160,229,248,227,229,229,228,243,160,226,245,230,230,229,242, *160,243,240,225,227,229,170,238,0/ RDBIN=-1 IF((READF(CT,1,FD).EQ.1))GOTO 10059 RETURN 10059 IF((CT.LE.COUNT))GOTO 10060 POS=CT-COUNT CALL PRINT(-15,AAAAX0,CT) CT=COUNT GOTO 10061 10060 POS=0 10061 IF((READF(BUF,CT,FD).EQ.CT))GOTO 10062 RETURN 10062 IF((POS.EQ.0))GOTO 10063 IF((SEEKF(POS,FD,1).EQ.-2))GOTO 10063 RETURN 10063 RDBIN=CT RETURN END C ---- Long Name Map ---- C getmodule getmo0 C hasprocdef haspr0 C skiptoend skipt0 C getname getna0