$CONTROL USLINIT,NOWARN,CODE,MAP                                        00010000
<<LISTEQ2>>                                                             00012000
<< HP32002C MPE SOURCE C.00.00 >>                                       00014000
$COPYRIGHT     "(C) COPYRIGHT HEWLETT-PACKARD CO. 1980. ",            & 00016000
$     "THIS PROGRAM MAY BE USED WITH ONE COMPUTER SYSTEM AT A ",      & 00018000
$     "TIME AND SHALL NOT OTHERWISE BE RECORDED, TRANSMITTED OR ",    & 00020000
$     "STORED IN A RETRIEVAL SYSTEM.  COPYING OR OTHER REPRODUCTION ",& 00022000
$     "OF THIS PROGRAM EXCEPT FOR ARCHIVAL PURPOSES IS PROHIBITED ",  & 00024000
$     "WITHOUT THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY."   00026000
$CONTROL MAIN=LISTEQ2,PRIVILEGED                                        00028000
BEGIN                                                                   00030000
    DEFINE                                                              00032000
PTITLE = ("LISTEQ2          (C) HEWLETT-PACKARD CO., 1978")#,  <<04192>>00034000
        TURNOFFTRAPS = PUSH (STATUS);                                   00036000
                       TOS.(2:1) := 0;                                  00038000
                       SET (STATUS) #;                                  00040000
EQUATE VUUFF'COL   = 8;  << Index into PTITLE. >>              <<04192>>00042000
$TITLE "PROGRAM: LISTEQ2:     FOR SERIES II"                            00044000
                                                                        00046000
$INCLUDE INCLVUF                                               <<04192>>00048000
                                                                        00050000
                                                                        00052000
COMMENT:PURPOSE                                                         00054000
THIS PROGRAM PRINTS ALL TEMP FILES AND FILE                             00056000
EQUATIONS CREATED DURING THE PRESENT JOB/SESSION.                       00058000
;                                                                       00060000
                                                                        00062000
                                                                        00064000
COMMENT: MODIFICATIONS                                                  00066000
PROGRAM MODIFIED TO INCLUDE NOLABEL OPTION 3/26/73.                     00068000
PROGRAM MODIFIED TO INCLUDE TAPE LABELS,DYNAMIC LOCKING                 00070000
                 AND FORMS ON 1/24/78.                                  00072000
INCREASED SIZE OF THE ARRAY HOLDING THE JDT, SINCE IT HAS      <<01158>>00074000
BEEN ENLARGED TO 2172 WORDS.  11/2/79                          <<01158>>00076000
PROGRAM MODIFIED TO INCLUDE FUTURE EXPANSION OF FILE COMMAND  <<<01549>>00078000
        FOR KEYWORDS "ENV=" AND "OUTQ=" ON 1/6/80             <<<01549>>00080000
;                                                                       00082000
                                                                        00084000
                                                                        00086000
COMMENT:GLOBALS                                                         00088000
OPT=POINTS TO NEXT AVAIL. OUTPUT BYTE.                                  00090000
NCH=# OF CHAR. IN OUTPUT BUFFER                                         00092000
OUTPUT=OUTPUT BYTE ARRAY.                                               00094000
ENTR=POINTS TO HEAD OF PRESENT JDT ENTRY.                               00096000
NWD=# OF WORDS IN PRESENT JDT ENTRY.                                    00098000
TEMP=POINTS TO HEAD OF TEMP FILE TABLE IN JDT.                          00100000
FEQH=POINTS TO HEAD OF FILE EQ. TABLE IN JDT.                           00102000
FEQE=POINTS TO END OF JDT TABLE                                         00104000
B=BYTE ARRAY OF ALL MESSAGES.                                           00106000
  FIRST W                                                               00108000
  FIRST CHAR OF EACH ENTRY IS OCTAL # OF                                00110000
  CHARS IN MESSAGE+200 OCTAL.                                           00112000
JDT=STORAGE FOR JDT TAVLE                                               00114000
FOPT=FOPTIONS                                                           00116000
AOPT=AOPTIONS                                                           00118000
P1=PMASK WORD 1 IN JDT ENTRY                                            00120000
P2=PMASK WORD 2 IN JDT ENTRY                                            00122000
X1=LENGTH OF B IN XHAR.                                                 00124000
X2=MAX LENGTH OF JDT TABLE(WORDS)                                       00126000
FINUM=FILE# OF LIST FILE.                                               00128000
REC=LIST RECORD LENGTH(BYTES).                                          00130000
;                                                                       00132000
                                                                        00134000
                                                                        00136000
                                                                        00138000
EQUATE X2 = 2172;                                              <<01158>>00140000
EQUATE FORMS = 0;                                              <<B0.00>>00142000
EQUATE TAPE'LABEL = 1;                                         <<B0.00>>00144000
EQUATE KSAM  = 2;                                              <<B0.00>>00146000
ARRAY JDT(0:X2);                                                        00148000
BYTE POINTER OPT;                                                       00150000
DOUBLE POINTER NMJ;                                                     00152000
LOGICAL POINTER ENTR,                                                   00154000
                FEQH,                                                   00156000
                TEMP,                                                   00158000
                FEQE;                                                   00160000
INTEGER NWD,NCH,K,K2;                                                   00162000
INTEGER FINUM,REC;                                                      00164000
LOGICAL AOPT,FOPT,P1,P2;                                                00166000
BYTE ARRAY OUTPUT(0:255);                                               00168000
ARRAY OUTPUT'(*)=OUTPUT;                                                00170000
BYTE ARRAY BX2(0:4):="LIST ";                                           00172000
EQUATE X1=612;                                                 <<01549>>00174000
                                                                        00176000
                                                                        00178000
BYTE ARRAY B(0:X1):=                                                    00180000
%220,"***NO TEMP FILES",                                                00182000
%215,"***TEMP FILES",                                                   00184000
%224,"***NO FILE EQUATIONS",                                            00186000
%221,"***FILE EQUATIONS",                                               00188000
%206,":FILE ",                                                          00190000
%201,";",                                                               00192000
%201,",",                                                               00194000
%201,"=",                                                               00196000
%211,"=$STDLIST",                                                       00198000
%211,"=$NEWPASS",                                                       00200000
%211,"=$OLDPASS",                                                       00202000
%207,"=$STDIN",                                                         00204000
%210,"=$STDINX",                                                        00206000
%206,"=$NULL",                                                          00208000
%201,"F",                                                               00210000
%201,"V",                                                               00212000
%201,"U",                                                               00214000
%204,",NEW",                                                            00216000
%204,",OLD",                                                            00218000
%210,",OLDTEMP",                                                        00220000
%205,";DEV=",                                                           00222000
%206,";DISC=",                                                          00224000
%206,";NOBUF",                                                          00226000
%205,";CCTL",                                                           00228000
%203,";MR",                                                             00230000
%204,";EXC",                                                            00232000
%205,";SEMI",                                                  <<01549>>00234000
%204,";SHR",                                                            00236000
%205,";ACC=",                                                           00238000
%205,";BUF=",                                                           00240000
%204,";DEL",                                                            00242000
%205,";SAVE",                                                           00244000
%205,";TEMP",                                                           00246000
%206,";CODE=",                                                          00248000
%207,",BINARY",                                                         00250000
%206,",ASCII",                                                          00252000
%205,";REC=",                                                           00254000
%201,"*",                                                               00256000
%202,"IN",                                                              00258000
%203,"OUT",                                                             00260000
%207,"OUTKEEP",                                                         00262000
%206,"APPEND",                                                          00264000
%205,"INOUT",                                                           00266000
%206,"UPDATE",                                                          00268000
%222,"FAILURE TO GET JDT",                                              00270000
%231,"FAILURE TO OPEN LIST FILE",                                       00272000
%235,"FAILURE TO WRITE ON LIST FILE",                                   00274000
%210,";NOLABEL",                                                        00276000
%206,";LABEL",                                                 <<B0.00>>00278000
%205,";KSAM",                                                  <<B0.00>>00280000
%206,";FORMS",                                                 <<B0.00>>00282000
%205,";LOCK",                                                  <<B0.00>>00284000
%207,";NOLOCK",                                                <<B0.00>>00286000
%207,";NOCCTL",                                                <<MS.00>>00288000
%205,";NOMR",                                                  <<MS.00>>00290000
%206,";MULTI",                                                 <<MS.00>>00292000
%210,";NOMULTI",                                               <<MS.00>>00294000
%205,";WAIT",                                                  <<MS.00>>00296000
%207,";NOWAIT",                                                <<MS.00>>00298000
%207,";GMULTI",                                                <<01549>>00300000
%204,";STD",                                                   <<01549>>00302000
%204,";RIO",                                                   <<01549>>00304000
%204,";MSG",                                                   <<01549>>00306000
%204,";CIR",                                                   <<01549>>00308000
%205,";COPY",                                                  <<01549>>00310000
%207,";NOCOPY",                                                <<01549>>00312000
%377;<<END OF PRINT CONSTANTS>>                                         00314000
LOGICAL PARM=Q-4;                                                       00316000
                                                                        00318000
PROCEDURE H(A);                                                         00320000
VALUE A; INTEGER A;                                                     00322000
OPTION FORWARD;                                                         00324000
                                                                        00326000
                                                                        00328000
INTRINSIC FOPEN,FWRITE;                                                 00330000
                                                                        00332000
                                                                        00334000
LOGICAL PROCEDURE MOVEJDT(A,B);                                         00336000
VALUE B;LOGICAL B;ARRAY A;                                              00338000
OPTION PRIVILEGED;                                                      00340000
COMMENT:                                                                00342000
        THIS PROCEDURE FILLS A DB RELATIVE ARRAY A                      00344000
        WITH THE CONTENTS OF THE JOB DIRECTORY TABLE.                   00346000
        THE DST NUMBER FOR THE JDT IS IN LOC 5 OF THE PCBX              00348000
        FOR THE USER STACK.                                             00350000
        B IS THE MAX SIZE OF THE ARRAY A(IN WORDS). IF THE              00352000
        JDT IS BIGGER THAN THE ARRAY THEN B WORDS ARE TRANSFERED        00354000
        AND MOVEJDT IS SET FALSE OTHERWISE ITS SET TRUE.;               00356000
BEGIN                                                                   00358000
ARRAY Q0(*)=Q-0;                                                        00360000
INTEGER X=X,ADX=Q-5;                                                    00362000
EQUATE JDT=5;                                                           00364000
LOGICAL DSTN,LXK;                                                       00366000
ARRAY XDB(*)=DB+0;                                                      00368000
                                                               <<01.01>>00370000
LOGICAL PROCEDURE EXCHANGEDB(A);                                        00372000
VALUE A;LOGICAL A;OPTION EXTERNAL;                                      00374000
                                                               <<01.01>>00376000
PUSH(Q,DL);                                                             00378000
ASSEMBLE(XCH,SUB;DUP,DECA);                                             00380000
X:=TOS-Q0(TOS)+JDT;                                                     00382000
DSTN:=Q0(X).(6:10);                                                     00384000
TOS:=ADX;                                                               00386000
PUSH(DL);                                                               00388000
ASSEMBLE(SUB,ZERO);                                                     00390000
LXK:=EXCHANGEDB(DSTN);                                                  00392000
TOS:=IF(MOVEJDT:=B>=XDB(4)) THEN XDB(4) ELSE B;                         00394000
ASSEMBLE(MVBL,3);                                                       00396000
EXCHANGEDB(LXK);                                                        00398000
END;                                                                    00400000
                                                                        00402000
                                                                        00404000
                                                                        00406000
PROCEDURE A(N);                                                         00408000
VALUE N;INTEGER N;                                                      00410000
COMMENT:                                                                00412000
  MOVES MESSAGE N FROM ARRAY B                                          00414000
  TO OUTPUT BUFFER(FIRST MESSAGE # 0);                                  00416000
BEGIN                                                                   00418000
INTEGER I;                                                              00420000
I:=-1;                                                                  00422000
N:=N+1;                                                                 00424000
WHILE 0<=(N:=N-1) DO                                                    00426000
  DO I:=I+1 UNTIL B(I)>%200;                                            00428000
  N:=B(I)-%200;                                                         00430000
  MOVE OPT:=B(I+1),(N),2;                                               00432000
  @OPT:=TOS;                                                            00434000
  NCH:=NCH+N;                                                           00436000
END;                                                                    00438000
                                                                        00440000
                                                                        00442000
                                                                        00444000
PROCEDURE OUTFORM;                                             <<01.01>>00446000
COMMENT:                                                                00448000
  PLACES THE FORMAL DESIGNATOR OF THE JDT ENTRY                         00450000
  POINTED TO BY ENTR IN THE OUTPUT BUFFER;                              00452000
BEGIN                                                                   00454000
BYTE POINTER B2;                                                        00456000
INTEGER C,I;                                                            00458000
C:=2*ENTR.(8:8);                                                        00460000
@B2:=(1+@ENTR)*2;                                                       00462000
I:=-1;                                                                  00464000
WHILE C>(I:=I+1) DO                                                     00466000
  BEGIN                                                                 00468000
  IF B2(I)>=%200 THEN                                                   00470000
    BEGIN                                                               00472000
    B2(I):=B2(I)-%200;                                                  00474000
    IF I<>0 THEN                                                        00476000
      BEGIN                                                             00478000
      OPT:=".";                                                         00480000
      @OPT:=@OPT+1;                                                     00482000
      NCH:=NCH+1;                                                       00484000
      END;                                                              00486000
  END;                                                                  00488000
IF B2(I)=" " THEN RETURN;                                               00490000
OPT:= B2(I);                                                            00492000
@OPT:=@OPT+1;                                                           00494000
NCH:=NCH+1;                                                             00496000
END;                                                                    00498000
END;                                                                    00500000
                                                                        00502000
                                                                        00504000
                                                                        00506000
PROCEDURE OUTACT;                                              <<01.01>>00508000
COMMENT:                                                                00510000
  PLACES THE ACTUAL FILE DESIGNATOR OF THE JDT                          00512000
  ENTRY POINTED TO BY ENTR IN THE OUTPUT BUFFER;                        00514000
BEGIN                                                                   00516000
BYTE POINTER B2;                                                        00518000
INTEGER I;                                                              00520000
I:=(ENTR(ENTR.(8:8)+3).(0:8));                                          00522000
@B2:=(@ENTR+INTEGER(ENTR.(8:8))+4)*2;                                   00524000
MOVE OPT:=B2,(I),2;                                                     00526000
@OPT:=TOS;                                                              00528000
NCH:=NCH+I;                                                             00530000
END;                                                                    00532000
                                                                        00534000
                                                                        00536000
                                                                        00538000
PROCEDURE OUTDEV;                                              <<01.01>>00540000
COMMENT:                                                                00542000
  PLACES THE DEVICE NAME IN THE JDT ENTRY                               00544000
  POINTED TO BY ENTR IN THEN OUTPUT BUFFER;                             00546000
BEGIN                                                                   00548000
BYTE POINTER B2;                                                        00550000
INTEGER I;                                                              00552000
INTEGER DEVPART, KEYPART;  <<DEVICE SPECIFICATION, KEYWORD=>> <<<01549>>00554000
BYTE ARRAY TEMP(0:80);   <<TEMPORARY STORAGE FOR STRING>>     <<<01549>>00556000
<<>>                                                          <<<01549>>00558000
I:=(ENTR(ENTR.(8:8)+3)).(8:8);                                          00560000
@B2:=(@ENTR+INTEGER(ENTR.(8:8))+4)*2                                    00562000
     +INTEGER((ENTR(ENTR.(8:8)+3)).(0:8));                              00564000
TEMP := %15; <<CR>>                                           <<<01549>>00566000
MOVE TEMP(1) := TEMP, (79); <<FILL WITH CR>>                  <<<01549>>00568000
MOVE TEMP := B2, (I) ;                                        <<<01549>>00570000
SCAN TEMP UNTIL %6473, 1; <<FIND CR,SEMICOLON>>               <<<01549>>00572000
DEVPART := TOS - @TEMP;                                       <<<01549>>00574000
KEYPART := I - DEVPART -1;                                    <<SP.ENV>>00576000
MOVE OPT := B2, (DEVPART), 2;                                 <<<01549>>00578000
@OPT:=TOS;                                                              00580000
NCH := NCH + DEVPART;                                         <<<01549>>00582000
IF P2.(10:1) OR P2.(11:1) THEN                                          00584000
   BEGIN                                                                00586000
   A(6);                                                                00588000
   I := INTEGER(ENTR(K+6)); << GET PRI AND # COPIES >>                  00590000
   IF P2.(11:1) THEN H(I.(0:4));                                        00592000
   IF P2.(10:1) THEN BEGIN A(6); H(I.(4:7)); END;                       00594000
   END;                                                                 00596000
IF KEYPART  > 0 THEN   <<EXTRACT KEYWORDS FROM>>              <<SP.ENV>>00598000
   BEGIN            <<DEVICE FIELD: "ENV=", "OUTQ=", ETC>>    <<<01549>>00600000
   IF DEVPART = 0 AND NOT (P2.(10:1) LOR P2.(11:1)) THEN       <<01854>>00602000
      BEGIN                                                    <<01854>>00604000
      NCH := NCH - 5;                                          <<01854>>00606000
      @OPT := @OPT - 5;                                        <<01854>>00608000
      END;                                                     <<01854>>00610000
   @B2 := @B2 + DEVPART;                                      <<<01549>>00612000
   MOVE OPT := B2 , (KEYPART) , 2;                            <<<01549>>00614000
   @OPT := TOS;                                               <<<01549>>00616000
   NCH := NCH + KEYPART;                                      <<<01549>>00618000
   END;                                                       <<<01549>>00620000
END;                                                                    00622000
                                                                        00624000
                                                                        00626000
LOGICAL PROCEDURE BUMP(A);                                     <<01.01>>00628000
VALUE A;POINTER A;                                                      00630000
COMMENT:                                                                00632000
  SETS ENTR TO THE NEXT ENTRY UNLESS THIS                               00634000
  WOULD MAKE @ENTR > @A. BUMP:=TRUE IF ENTR WAS MOVED;         <<01.01>>00636000
BEGIN                                                                   00638000
BUMP := TRUE;                                                  <<01.01>>00640000
IF (INTEGER(A)+@JDT)<=(@ENTR+NWD) THEN                                  00642000
  BEGIN                                                                 00644000
  BUMP := FALSE;                                               <<01.01>>00646000
  RETURN;                                                               00648000
  END;                                                                  00650000
@ENTR:=@ENTR+NWD;                                                       00652000
NWD:=ENTR.(0:8);                                                        00654000
END;                                                                    00656000
                                                                        00658000
                                                                        00660000
PROCEDURE QUIT(A2);                                                     00662000
VALUE A2;INTEGER A2;                                                    00664000
COMMENT:                                                                00666000
  PRINTS ERROR AND TERMINATES;                                          00668000
BEGIN                                                                   00670000
INTRINSIC TERMINATE;                                                    00672000
INTRINSIC PRINT;                                                        00674000
NCH:=0;                                                                 00676000
@OPT:=@OUTPUT;                                                          00678000
A(A2);                                                                  00680000
PRINT(OUTPUT',-NCH,0);                                         <<01.01>>00682000
TERMINATE;                                                              00684000
END;                                                                    00686000
                                                                        00688000
                                                                        00690000
                                                                        00692000
                                                                        00694000
PROCEDURE G;                                                            00696000
COMMENT:                                                                00698000
  PRINTS A LINE OF OUTPUT NCH CHAR LING ON LIST;                        00700000
BEGIN                                                                   00702000
INTRINSIC FWRITE;                                                       00704000
FWRITE(FINUM,OUTPUT',-NCH,0);                                  <<01.01>>00706000
IF<>THEN QUIT(46);                                                      00708000
@OPT:=@OUTPUT;                                                          00710000
NCH:=0;                                                                 00712000
END;                                                                    00714000
                                                                        00716000
                                                                        00718000
PROCEDURE H(A);                                                         00720000
VALUE A;INTEGER A;                                                      00722000
COMMENT:                                                                00724000
  TURNS A INTO A BASE 10 INTEGER AND PUTS                               00726000
  INTO THE OUTPUT BUFFER;                                               00728000
BEGIN                                                                   00730000
INTRINSIC ASCII;                                                        00732000
TOS:=ASCII(A,10,OPT);                                                   00734000
ASSEMBLE(DUP);                                                          00736000
@OPT:=@OPT+TOS;                                                         00738000
NCH:=NCH+TOS;                                                           00740000
END;                                                                    00742000
                                                                        00744000
                                                                        00746000
                                                                        00748000
PROCEDURE X(A);                                                         00750000
VALUE A;DOUBLE A;                                                       00752000
COMMENT:                                                                00754000
  TURNS A INTO A DOUBLE BASE 10 INTEGER AND PUTS                        00756000
  IN THE OUTPUT BUFFER;                                                 00758000
BEGIN                                                                   00760000
INTRINSIC DASCII;                                                       00762000
TOS:=DASCII(A,10,OPT);                                                  00764000
ASSEMBLE(DUP);                                                          00766000
@OPT:=@OPT+TOS;                                                         00768000
NCH:=NCH+TOS;                                                           00770000
END;                                                                    00772000
PROCEDURE FORMS'LABEL'KSAM(TYPE);                              <<B0.00>>00774000
   VALUE TYPE;                                                 <<B0.00>>00776000
   INTEGER TYPE;                                               <<B0.00>>00778000
                                                               <<B0.00>>00780000
COMMENT:                                                       <<B0.00>>00782000
   PLACES THE INFORMATION IN THE FORMSMSG ARRAY                <<B0.00>>00784000
   IN THE OUTPUT BUFFER;                                       <<B0.00>>00786000
                                                               <<B0.00>>00788000
BEGIN                                                          <<B0.00>>00790000
BYTE POINTER B2;                                               <<B0.00>>00792000
<< NOTE THAT ENTR(K+1) = LENGTH OF ARRAY>>                     <<B0.00>>00794000
<< AND THAT  ENTR(K+2) = ARRAY          >>                     <<B0.00>>00796000
INTEGER I;                                                     <<B0.00>>00798000
BYTE POINTER EOF;                                              <<B0.00>>00800000
                                                               <<B0.00>>00802000
I := ENTR(K+1);                                                <<B0.00>>00804000
IF I=0 THEN RETURN;                                            <<B0.00>>00806000
CASE TYPE OF                                                   <<B0.00>>00808000
BEGIN  <<CASE>>                                                <<B0.00>>00810000
                                                               <<B0.00>>00812000
   BEGIN <<FORMS>>                                             <<B0.00>>00814000
      @B2 := (@ENTR(K+2))*2;                                   <<B0.00>>00816000
      SCAN B2 UNTIL "..",1;                                    <<B0.00>>00818000
      @EOF := TOS;                                             <<B0.00>>00820000
      IF @EOF > @B2 THEN                                       <<B0.00>>00822000
         BEGIN                                                 <<B0.00>>00824000
            A(7);                                              <<B0.00>>00826000
            MOVE OPT := B2,(I := @EOF - @B2 + 1),2;            <<B0.00>>00828000
            @OPT := TOS;                                       <<B0.00>>00830000
            NCH := NCH + I;                                    <<B0.00>>00832000
         END;                                                  <<B0.00>>00834000
   END;   <<FORMS>>                                            <<B0.00>>00836000
                                                               <<B0.00>>00838000
   BEGIN  <<LABEL>>                                            <<B0.00>>00840000
      @B2 := (@ENTR(K+2))*2;                                   <<B0.00>>00842000
      SCAN B2 UNTIL "..",1;                                    <<B0.00>>00844000
      @EOF := TOS;                                             <<B0.00>>00846000
      IF I > @EOF - @B2 +1 THEN                                <<B0.00>>00848000
         BEGIN                                                 <<B0.00>>00850000
            A(7);                                              <<B0.00>>00852000
            I := I - (@EOF - @B2) -2;                          <<B0.00>>00854000
            MOVE OPT := EOF(1) ,(I),2;                         <<B0.00>>00856000
            @OPT := TOS;                                       <<B0.00>>00858000
            NCH := NCH + I;                                    <<B0.00>>00860000
         END;                                                  <<B0.00>>00862000
   END;    <<LABEL>>                                           <<B0.00>>00864000
                                                               <<B0.00>>00866000
END; <<CASE>>                                                  <<B0.00>>00868000
END; <<FORMS'LABEL'KSAM>>                                      <<B0.00>>00870000
                                                                        00872000
                                                                        00874000
                                                                        00876000
<<****************** MAIN ******************************************>>  00878000
                                                                        00880000
                                                                        00882000
                                                                        00884000
TURNOFFTRAPS;                                                           00886000
<<OPEN LIST FILE>>                                                      00888000
FINUM:=FOPEN(BX2,IF PARM THEN %14 ELSE %2014,1);                        00890000
IF <>THEN QUIT(45);                                                     00892000
   MOVE OUTPUT := PTITLE,2;                                    <<01.01>>00894000
   NCH := TOS-@OUTPUT;                                         <<01.01>>00896000
   MOVE OUTPUT( VUUFF'COL ) := OFFICIAL'VUUFF;                 <<04192>>00898000
   FWRITE (FINUM,OUTPUT',-NCH,0);                              <<01.01>>00900000
<<SET UP HEAD OF TABLE POINTERS>>                                       00902000
@TEMP:=@JDT+2;                                                          00904000
@FEQH:=@JDT+3;                                                          00906000
@FEQE:=@JDT+4;                                                          00908000
<<GET JDT>>                                                             00910000
IF NOT MOVEJDT(JDT,X2) THEN QUIT(44);                                   00912000
NCH:=0;                                                                 00914000
G;                                                                      00916000
@ENTR:=TEMP;                                                            00918000
<<LIST TEMP FILES>>                                                     00920000
IF @ENTR=INTEGER(FEQH) THEN BEGIN A(0);G;GO FEQ;END;                    00922000
@ENTR:=@ENTR+@JDT;                                                      00924000
NWD:=ENTR.(0:8);                                                        00926000
A(1);                                                                   00928000
G;G;                                                                    00930000
MORE:                                                                   00932000
OUTFORM; G;                                                    <<01.01>>00934000
IF BUMP(FEQH) THEN GO MORE;                                    <<01.01>>00936000
FEQ:                                                                    00938000
G;                                                                      00940000
@ENTR:=FEQH;                                                            00942000
<<LIST FILE EQUATIONS>>                                                 00944000
IF @ENTR=INTEGER(FEQE) THEN BEGIN A(2);GO DONE;END;                     00946000
@ENTR:=@ENTR+@JDT;                                                      00948000
NWD:=ENTR.(0:8);                                                        00950000
A(3);                                                                   00952000
G;G;                                                                    00954000
OVR:                                                                    00956000
A(4);                                                                   00958000
OUTFORM;                                                       <<01.01>>00960000
P1:=ENTR(ENTR.(8:8)+1);                                                 00962000
P2:=ENTR(ENTR.(8:8)+2);                                                 00964000
IF P1.(15:1) THEN A(7);                                                 00966000
IF P2.(6:1) THEN BEGIN A(37);OUTACT;GO NMORE;END;              <<01.01>>00968000
OUTACT;                                                        <<01.01>>00970000
K:=ENTR(ENTR.(8:8)+3);                                                  00972000
K2:=(K.(8:8)+K.(0:8)+1)/2;                                              00974000
K:=ENTR.(8:8)+3;                                                        00976000
FOPT:=ENTR(K:=K+K2+1);                                                  00978000
AOPT:=ENTR(K:=K+1);                                                     00980000
K:=K+1;                                                                 00982000
IF P1.(11:1) THEN A(FOPT.(10:3)+7);                                     00984000
IF P1.(13:1) THEN A(FOPT.(14:2)+17);                                    00986000
IF P1.(14:1) OR P2.(10:1) OR P2.(11:1) THEN BEGIN              <<01.01>>00988000
      A(20); OUTDEV; END;                                      <<01.01>>00990000
IF (P1 LAND %140050)<>0 THEN                                            00992000
  BEGIN                                                                 00994000
  A(36);                                                                00996000
  IF P1.(1:1) THEN H(ENTR(K+1));                                        00998000
IF (P1 LAND %100050)=0 THEN GO XTT;                                     01000000
A(6);                                                                   01002000
IF P1.(0:1) THEN H(ENTR(K+2).(8:8));                                    01004000
IF (P1 LAND %50)=0 THEN GO XTT;                                         01006000
A(6);                                                                   01008000
IF P1.(10:1) THEN A(14+FOPT.(8:2));                                     01010000
IF (P1 LAND %10)=0 THEN GO XTT;                                         01012000
IF P1.(12:1) THEN A(FOPT.(13:1)+34);                                    01014000
END;                                                                    01016000
XTT:                                                                    01018000
IF P2.(13:3)<>0 THEN                                                    01020000
  BEGIN                                                                 01022000
A(21);                                                                  01024000
@NMJ:=@ENTR+K+3;                                                        01026000
IF P2.(13:1) THEN X(NMJ);                                               01028000
IF P2.(14:2)=0 THEN GO YTT;                                             01030000
A(6);                                                                   01032000
IF P2.(14:1) THEN H(ENTR(K+2).(0:5)+1);  << SERIES II >>                01034000
IF P2.(15:1)=0 THEN GO YTT;                                             01036000
A(6);                                                                   01038000
IF P2.(15:1) THEN H(ENTR(K).(8:5)+1); << SERIES II >>                   01040000
END;                                                                    01042000
YTT:                                                                    01044000
IF P1.(4:1) THEN IF AOPT.(7:1) THEN A(22);                              01046000
IF P1.(9:1) THEN IF FOPT.(7:1) THEN                            <<MS.00>>01048000
   A(23) ELSE A(53);                                           <<MS.00>>01050000
IF P1.(6:1) THEN IF AOPT.(11:1) THEN                           <<MS.00>>01052000
   A(24) ELSE A(54);                                           <<MS.00>>01054000
IF P1.(5:1) THEN A(AOPT.(8:2)+24);                                      01056000
IF P1.(7:1) THEN BEGIN A(28); A(AOPT.(12:4)+38); END;                   01058000
IF P1.(3:1) THEN BEGIN A(29); H(ENTR(K).(0:8));END;                     01060000
IF P1.(2:1) THEN                                                        01062000
  BEGIN                                                                 01064000
  IF ENTR(K).(13:1) THEN A(30);                                         01066000
  IF ENTR(K).(14:1) THEN A(32);                                         01068000
  IF ENTR(K).(15:1) THEN A(31);                                         01070000
  END;                                                                  01072000
IF P1.(8:1) THEN  <<COPY>>                                     <<01549>>01074000
  CASE AOPT.(3:1) OF                                           <<01549>>01076000
    BEGIN                                                      <<01549>>01078000
    A(65);  <<NOCOPY>>                                         <<01549>>01080000
    A(64);  <<COPY>>                                           <<01549>>01082000
    END;                                                       <<01549>>01084000
IF P2.(12:1) THEN BEGIN A(33);H(ENTR(K+5)); END;                        01086000
IF P2.(9:1) THEN  <<MULTIACCESS>>                              <<01549>>01088000
  CASE AOPT.(5:2) OF                                           <<01549>>01090000
    BEGIN                                                      <<01549>>01092000
    A(56);  <<NOMULTI>>                                        <<01549>>01094000
    A(55);  <<MULTI>>                                          <<01549>>01096000
    A(59);  <<GMULTI>>                                         <<01549>>01098000
    END;                                                       <<01549>>01100000
IF P2.(8:1) THEN IF AOPT.(4:1) THEN                            <<01549>>01102000
   A(58) ELSE A(57);                                           <<01549>>01104000
<<LABELED TAPES>>                                              <<B0.00>>01106000
K := K + 7;                                                    <<B0.00>>01108000
IF P2.(1:1) AND NOT FOPT.(6:1) THEN                            <<01098>>01110000
   A(47)                     << NOT LABELED >>                 <<01098>>01112000
ELSE IF P2.(1:1) THEN        << LABELED >>                     <<01098>>01114000
   BEGIN                                                       <<01098>>01116000
         A(48);                                                <<B0.00>>01118000
         FORMS'LABEL'KSAM(TAPE'LABEL);                         <<B0.00>>01120000
         END;                                                  <<B0.00>>01122000
IF P2.(0:1) THEN  <<FILE TYPE>>                                <<01549>>01124000
  CASE FOPT.(2:3) OF                                           <<01549>>01126000
    BEGIN                                                      <<01549>>01128000
    A(60);  <<STD>>                                            <<01549>>01130000
    A(49);  <<KSAM>>                                           <<01549>>01132000
    A(61);  <<RIO>>                                            <<01549>>01134000
    ;       <<UNDEFINED>>                                      <<01549>>01136000
    A(63);  <<CIR>>                                            <<01549>>01138000
    ;       <<UNDEFINED>>                                      <<01549>>01140000
    A(62);  <<MSG>>                                            <<01549>>01142000
    END;                                                       <<01549>>01144000
IF P2.(2:1) THEN BEGIN         <<FORMS  >>                     <<B0.00>>01146000
                  A(50);                                       <<B0.00>>01148000
                  FORMS'LABEL'KSAM(FORMS);                     <<B0.00>>01150000
                  END;                                         <<B0.00>>01152000
IF P2.(7:1) THEN IF AOPT.(10:1) THEN                           <<B0.00>>01154000
   A(51)                      <<DYNAMIC LOCK>>                 <<B0.00>>01156000
   ELSE A(52);                <<NOLOCK>>                       <<B0.00>>01158000
NMORE:                                                                  01160000
G;                                                                      01162000
IF BUMP(FEQE) THEN GO OVR;                                     <<01.01>>01164000
DONE:                                                                   01166000
G;G;G;                                                                  01168000
END.                                                                    01170000
