%EXTERNALROUTINESPEC DESTROY(%STRING(63) S) %EXTERNALROUTINESPEC COPY(%STRING(63) S) %EXTERNALROUTINESPEC OPTION(%STRING(63) S) %EXTERNALROUTINESPEC IMP80(%STRING(63) S) %EXTERNALROUTINESPEC PNXIMP(%STRING(63) S) ! %EXTERNALROUTINE ADDDIR(%STRING(63) S) OPTION("SEARCHDIR=".S) %END %EXTERNALROUTINE REMDIR(%STRING(63) S) OPTION("REMOVEDIR=".S) %END ! %EXTERNALROUTINE I80(%STRING(63)S) %STRING(63) S2,S1 %UNLESS S->S1.(".").S2 %THEN S2=S %UNLESS S2->S1.("_").S2 %THEN S2=S2 %IF LENGTH(S2)>10 %THEN LENGTH(S2)=10 IMP80(S.",".S2."Y,".S2."L") %END ! %EXTERNALROUTINE PNXI(%STRING(63)S) %STRING(63) S1,S2 %UNLESS S->S1.(".").S2 %THEN S2=S %UNLESS S2->S1.("_").S2 %THEN S2=S2 %IF LENGTH(S2)>10 %THEN LENGTH(S2)=10 S1=S2 %IF LENGTH(S1)>9 %THEN LENGTH(S1)=9 PNXIMP(S.",".S2."X,".S1."LL") %END ! %EXTERNALROUTINE TOOPT(%STRING(63) S) OPTION("ACTIVEDIR=OPTDIR") %END %EXTERNALROUTINE TOPERQ(%STRING(63) S) OPTION("ACTIVEDIR=PERQDIR") %END ! %EXTERNALROUTINE TOF77(%STRING(63) S) OPTION("ACTIVEDIR=F77DIR") %END !* %EXTERNALROUTINE TOOPT1(%STRING(63) S) OPTION("ACTIVEDIR=OPTDIR1") %END !* %EXTERNALROUTINE TOOPT2(%STRING(63) S) OPTION("ACTIVEDIR=OPTDIR2") %END !* %EXTERNALROUTINE TOSS(%STRING(63) S) OPTION("ACTIVEDIR=SS#DIR") %END ! %SYSTEMINTEGERMAPSPEC COMREG(%INTEGER N) !* %ROUTINE R(%INTEGER LEVEL,%STRING(63) S) %STRING(63) T,U %INTEGER I comreg(28)=(comreg(28)&x'ff0fffff')!(level<<20) I=0 %WHILE S#"" %CYCLE %UNLESS S->T.(",").S %THEN T=S %AND S="" %IF T="T" %THEN I=I!1 %IF T="B" %THEN I=I!2 %IF T="L" %THEN I=I!4 %IF T="T1" %THEN I=I!8 %IF T="T2" %THEN I=I!16 %IF T="T3" %THEN I=I!X'200' %IF T="S" %THEN I=I!32 %IF T="E" %THEN I=I!64 %IF T="C" %THEN I=I!X'80' %IF T="P" %THEN I=I!X'100' %IF T="SEOB" %THEN I=I!X'400' %IF T="S1" %THEN I=I!X'800' %IF T="S2" %THEN I=I!X'1000' %IF T="SS" %THEN I=I!X'2000' %IF T="A" %THEN I=I!X'FFFF' %REPEAT COMREG(56)=I %END !* %EXTERNALROUTINE OPT0(%STRING(63) S) R(0,S) %END !* %EXTERNALROUTINE OPT1(%STRING(63) S) R(1,S) %END !* %EXTERNALROUTINE OPT2(%STRING(63) S) R(2,S) %END !* %EXTERNALROUTINE opt3(%string(63) s) R(3,S) %END !* %EXTERNALROUTINE SRFLAGS(%STRING(63) S) %INTEGER I,J,K,L,F,A F=0 L=LENGTH(S) %IF L=0 %THEN ->OUT A=ADDR(S) %IF BYTEINTEGER(A+1)='X' %THENSTART;! hex %CYCLE I=2,1,L J=BYTEINTEGER(A+I) %IF '0'<=J<='9' %THENSTART F=(F<<4)!(J-'0') %FINISHELSESTART %IF 'A'<=J<='F' %THENSTART F=(F<<4)!(J+10-'A') %FINISHELSESTART BAD: PRINTSTRING("Bad param ") %RETURN %FINISH %FINISH %REPEAT OUT: COMREG(54)=F %RETURN %FINISHELSESTART %CYCLE I=1,1,L J=BYTEINTEGER(A+I) %IF '0'<=J<='9' %THENSTART F=F*10+(J-'0') %FINISHELSE ->BAD %REPEAT ->OUT %FINISH %END;! SRFLAGS !* %externalroutine setpnx(%string(63) s) destroy("host") destroy("targ") destroy("pf") destroy("bits") copy("ercs06.hostpnx,host") copy("ercs06.targetpnx,targ") copy("ercs06.performcmn,pf") copy("ercs06.f77bits,bits") %end;! setpnx !* %externalroutine set2900(%string(63) s) destroy("host") destroy("targ") destroy("pf") destroy("bits") copy("ercs06.host2900,host") copy("ercs06.targetpnx,targ") copy("ercs06.performcmn,pf") copy("ercs06.f77bits,bits") %end;! set2900 !* %ENDOFFILE