PREQ* PROC LMSC* EQU 0 JPL* EQU 1 JPLBX* EQU 0 EX2* EQU 0 EX8* EQU 1 ALL* EQU -1 EA* EQU 12 EAI* EQU 13 EO* EQU 14 ED* EQU 15 EPL* EQU 16 ESZ* EQU 17 ESN* EQU 18 EPR* EQU 19 EEX* EQU 20 EFN* EQU 21 B0* EQU 0 B1* EQU 1 B2* EQU 2 B3* EQU 3 B4* EQU 4 B5* EQU 5 B6* EQU 6 B7* EQU 7 B8* EQU 8 B9* EQU 9 B10* EQU 10 B11* EQU 11 A0* EQU 12 A1* EQU 13 A2* EQU 14 A3* EQU 15 A4* EQU 16 A5* EQU 17 A6* EQU 18 A7* EQU 19 A8* EQU 20 A9* EQU 21 A10* EQU 22 A11* EQU 23 A12* EQU 24 A13* EQU 25 A14* EQU 26 A15* EQU 27 R0* EQU 64 R1* EQU 65 R2* EQU 66 R3* EQU 67 R4* EQU 68 R5* EQU 69 R6* EQU 70 R7* EQU 71 R8* EQU 72 R9* EQU 73 R10* EQU 74 R11* EQU 75 R12* EQU 76 R13* EQU 77 R14* EQU 78 R15* EQU 79 H2* EQU 1 H1* EQU 2 XH2* EQU 3 XH1* EQU 4 XT3* EQU 5 T3* EQU 5 T2* EQU 6 T1* EQU 7 S1* EQU 015 S2* EQU 014 S3* EQU 013 S4* EQU 012 S5* EQU 011 S6* EQU 010 Q1* EQU 7 Q2* EQU 4 Q3* EQU 6 Q4* EQU 5 M* EQU 016 XM* EQU 017 FNXT* EQU R6 GX* EQUF 0,2 MDP* FORM 3,15,18 ERFT* FORM 18,3,3,3,9 FORM1* FORM 18,18 FORM2* FORM 6,6,6,18 FORM3* FORM 6,6,6,6,6,6 FORM6* FORM 6,12,18 SIXTHS* FORM 6,6,6,6,6,6 FORS* FORM 18,6,6,6 FTST* FORM 6,6,24 DPBUF* EQU SLOUT SLIST2* EQU SCAR2 SUANT1* EQU SCAR2 JU* EQU T1 JW* EQU T2 JZ* EQU S5 JX* EQU S6 JY* EQU S1 JQ* EQU S2 INDUCE* EQU DUMIND NGX6* EQU NGX FEQ* EQU CRFEQ . PHASE 1 PARAMETERS 006000 . 006100 ID1* EQU 10 ID2* EQU 20 ID3* EQU 7 ID4* EQU 13 ID5* EQU 1 ID6* EQU 2 ID7* EQU 3 ID8* EQU 15 ID9* EQU 17 ID10* EQU 12 ID11* EQU 16 ID12* EQU 11 ID13* EQU 21 ID14* EQU 22 ID15* EQU 14 ID16* EQU 23 ID17* EQU 24 ID18* EQU 29 ID19* EQU 28 MAXL* EQU 077777 MNL* EQU 20 SLIST1* EQU TST FLD1* EQU P1TAB1 FLD2* EQU P1TAB1 FLD3* EQU P1TAB3 FLD4* EQU P1TAB3+64 FLD5* EQU P1TAB1 FLD6* EQU P1TAB1 FLD7* EQU P1TAB3+64 FLD8* EQU P1TAB1 TST1* EQU P1TAB1 SCARU* EQU P1TAB2 SCARW* EQU P1TAB2 SCARZ* EQU P1TAB2 SCARX* EQU P1TAB2 SCARY* EQU P1TAB3 SCARQ* EQU P1TAB3 TST2* EQU P1TAB3 TST3* EQU P1TAB3+64 SLIST3* EQU P1TAB3 SUANT2* EQU P1TAB3+64 SUANT3* EQU P1TAB3 SCART1* EQU P1TAB3 FLDG2* EQU P1TAB3+23 BUG* EQU N1BUG DOADM* EQU STACK,0,H1 ADDRESSES OF ADDRESSES (SLIS) DOADK* EQU STACK,0,H2 ADDRESSES OF 'DO' PARAMETERS (SLIS) END . P PROC GXRTRN* NAME 1 GXABSB* NAME 0 . P1* PROC DO P(0,0)=0 , L R,B(P1(1,1)) S R,V(P1(1,1)) END . R EQU R9 B(5) EQU GXSKIP B(0) EQU GXSMSP B(4) EQU GXSDEL B(59) EQU GXSSCN V(5) EQU GXHOL V(0) EQU GXMSPC V(4) EQU GXDEL V(59) EQU GXSCLN . B(64) EQU GXSKIP B(65) EQU GXSMSP B(66) EQU GXSDEL B(67) EQU GXSSCN V(64) EQU GXHOL V(65) EQU GXMSPC V(66) EQU GXDEL V(67) EQU GXSCLN . DO P(0,0)=1 , L R,GXRTN DO P(0,0)>ALL ,Q DO P(1) , P1 P(1,Q) DO P(0,1)=ALL ,Q DO 4 , P1 Q+63 . DO P(0,0)=0 ,Q DO P(1) , DO P(1,Q)=5 , L R,GXASCVB DO P(0,0)=0 ,Q DO P(1) , DO P(1,Q)=5 , S R,GXASCV DO P(0,0)=1 ,Q DO P(1) , DO P(1,Q)=5 , L R,FDASCN DO P(0,0)=1 ,Q DO P(1) , DO P(1,Q)=5 , S R,GXASCV DO P(0,0)=0 , DO P(0,1)=ALL , L R,GXASCVB DO P(0,0)=0 , DO P(0,1)=ALL , S R,GXASCV DO P(0,0)=1 , DO P(0,1)=ALL , L R,FDASCN DO P(0,0)=1 , DO P(0,1)=ALL , S R,GXASCV END P PROC SNAP* NAME DO EX8=1 , S A0,$+6 DO EX8=1 , L,M A0,$+3 DO EX8=1 , ER SNAP$ DO EX2=1 , SLJ MIDMP$ DO EX8=1 , +P(2,1) DO P(1)=1 , MDP 0,1,P(1,1) DO P(1)=2 , MDP 0,P(1,1),P(1,2) DO P(1)=3 , MDP P(1,1),P(1,2),P(1,3) DO EX8=1 , +0 END BOPNW* PROC 1,4. OPEN TO WRITE LA,M A0,BOPNW(1,1) LA,M A1,RFW$ . OPERATION CODE LMJ B11,RFPO$ SLJ F30ERX . ERROR RETURN. END BWRIT* PROC 1,3. WRITE A BLOCK LA,M A0,BWRIT(1,1) . LOC OF FCT LMJ B11,RFPW$ SLJ F30ERX . ERROR RETURN. END B$OPNF* PROC 1,4. . OPEN TO READ FORWARD LA,M A0,B$OPNF(1,1) LA,M A1,RFRF$ LMJ B11,RFPO$ SLJ F30ERX . ERROR RETURN. END B$OPNB* PROC 1,4. . OPEN TO READ BACKWARD LA,M A0,B$OPNB(1,1) LA,M A1,RFRBD$ . BACKWARD DESTRUCTIVE READ LMJ B11,RFPO$ SLJ F30ERX . ERROR RETURN. END B$READ* PROC 1,4. LA,M A0,B$READ(1,1) . FCT LOCATION LMJ B11,RFPR$ SLJ F30ERX . ERROR RETURN. J B$READ(1,2) END BC PROC 1. . CLOSE (AND MARK) BLOCK OUTPUT BCLOT* NAME 0 . . CLOSE BCLOTM* NAME 1 . . CLOSE AND MARK BWRIT BC(1,1) BCLOSE* NAME 2 LA,M A0,BC(1,1) LMJ B11,RFPC$ SLJ F30ERX . ERROR RETURN. END OWF30* PROC 1. . OPEN TO WRITE F30 BOPNW F30 . SELECT FIRST BUFFER L,H2 A0,F30+6 . LOCATION OF CURRENT BUFFER AH A0,(1,NBCW) . SKIP NBCW WORDS S A0,F30J L,M A0,BUFN . NUMBER OF WORDS S A0,F30I END OWF60* PROC 1. . OPEN TO WRITE F60 BOPNW F60 . SELECT FIRST BUFFER L,H2 A0,F60+6 . LOCATION OF CURRENT BUFFER AH A0,(1,NBCW) . SKIP NBCW WORDS S A0,F60J L,M A0,BUFN-1 . NUMBER SLOTS IN BUFFER S A0,F60I END . WF30 -- WRITE ONE FILE 30 ITEM . . . CALLING SEQUENCE: L A0,ITEM . WF30 . WF30* PROC 1,5. L A1,F30J . F30 INDEX JGD F30I,$+2 LMJ B11,WF30F . BUFFER OR FILE IS FULL S A0,0,*A1 S A1,F30J . SAVE INDEX END . WNF30 -- WRITE 'N' FILE 30 ITEMS . . CALLING SEQUENCE: WNF30 M,(N) . WHERE - M IS THE LOCATION OF THE FIRST ITEM . AND N IS THE NUMBER OF ITEMS . WNF30* PROC 1,11. L A0,(1,WNF30(1,1)) L A1,F30I L A2,WNF30(1,2) TLE A1,A2 LMJ B11,WNF30F S A2,R1 AN A1,R1 S A1,F30I L A1,F30J BT A1,0,*A0 S A1,F30J END WF60B* PROC . . WRITE LAST F60 BLOC L,H2 A2,F60+6 . LOCATION OF CURRENT BUFFER L A1,F60I . NUMBER LEFT IN BUFFER S A1,1,A2 . POSSIBLE SECOND TEST FOR END OF BUFFER BCLOTM F60 . CLOSE AND MARK BLOCK OUTPUT END OBF30* PROC 1 . OPEN TO READ BACKWARD F30 L A0,F30J L,H2 A1,F30+6 . LOCATION OF CURRENT BUFFER ANH A0,(2,NBCW) AN,M A0,0,A1 S A0,1,A1 . STORE WORD COUNT BCLOTM F30 B$OPNB F30 OPEN FILE (BACKWARDS) SZ F30I END