RGDFS M EQU 14 H2 EQU 1 MEMX EQU 4 H1 EQU 2 $(1) . GO . GCX . S A5,PARTBQ . SAVE OPTION LETTERS AND A5,(0200000,0) . BIT WHICH INDICATES BREAKPOINTING SSL A6,18 S A6,BRKPTT . SET IF BREAKPOINTED ON LEVEL 32 TNE,M A4,4 S A4,DEMAND LMJ B11,INTIME +DQFBUF +100,0 TZ,H2 BRKPTT SZ DEMAND TNZ DEMAND J NOLIST L,M A1,1 S,S1 A1,DEMANJ L,M A0,FACK ER FACIL$ TZ,S1 FACK+6 J JACKB L,M A0,AFILEA ER CSF$ JP A0,JACKC L,M A0,TFILEA ER CSF$ JP A0,JACKA L A0,(0105,JPPM) ER PRINT$ . CAN NOT ASSIGN FILE SZ,S1 DEMANJ J NOLIST JACKB L,S1 A0,FACK+7 TOP,M A0,020 S,S2 A1,DEMANJ . DO NOT BREAKPOINT J JACKA JACKC S,S3 A1,DEMANJ . SET TO FREE JACKA DL A0,FACK . FILE NAME DS A0,RPFOR$+1 NOLIST L A0,(0203,HDM) SLJ PRT$Z TZ,S1 DEMANJ ER PRINT$ L A0,(4,CRCGFT) . ASSIGN OUTPUT FROM FORTRAN ER CSF$ TP A0 J CGAGX . TELL USER FILE UNASIGNABLE SSL A0,33 JNB A0,CGAGX L,M A0,GSTPKT ER IOW$ . READ IN DISK BUFFER POOL TP GSTPKT+3 J GCEXX L,M A0,GSTOPK . SET TO READ GLOBAL TABLE OF CONTENTS ER IOW$ . READ IN GLOBAL TOC TP GSTOPK+3 . TEST VALID IO COMPLETION J GCEXX L A2,GXTID TE A2,('GXXTID') . TEST VALIDITY OF TOC J CGFRX . FORMAT IS WRONG LMJ B11,GRA SZ VIHRFT+3 SZ VIHRFT+9 L,M A0,POOL S,H1 A0,VIHRFT+6 A,M A0,GLNBUF S,H2 A0,VIHRFT+6 S,H2 A0,VIHRFT+4 L,M A0,FPOOL S A0,VIHRFT+7 L,M A0,VIHRFT L,M A3,10 . COUNTER FOR WAITING CGAG1 L A0,(5,CGSA) ER CSF$ JP A0,CGBG1 . ASSIGN ACCEPTED L A1,A0 SSL A1,18 JB A1,CGAG3 . IB WAITING L A0,(0105,EM1) CGAGB ER PRINT$ . PRINT ERROR MESSAGE J CGXX CGAG3 JGD A3,$+2 . CLOSE FILES AND J CGXX . EXIT L,M A1,5000 ER TWAIT$ J CGAG1 L,M A0,5 CGBG1 L A0,(5,CGSB) ER CSF$ . GET SECOND SORT FILE JP A0,CGBX . ASSIGN ACCEPTED L A1,A0 SSL A1,18 JB A1,CGBG3 . IB WAITING L A0,(0105,EM1) ER PRINT$ . PRINT ERROR MESSAGE J CGXX . CLOSE FILES CGBG3 JGD A3,$+2 J CGXX . EXIT L,M A1,5000 ER TWAIT$ J CGBG1 CGAGX L A0,(0206,ATCNMG) SLJ PRT$Z TZ,S1 DEMANJ ER PRINT$ ER ERR$ CGFRX L A0,(0206,FRCNMG) SLJ PRT$Z TZ,S1 DEMANJ ER PRINT$ ER ERR$ CGBX . LMJ B9,SPRSRT . OPEN FILE TO SORT TABLE OF CONTENTS +CRSRTT L,M A0,GXTOC . STARTING ADDRESS OF TABLE OF CONTENTS GXSB S A0,GXTIX . INDEX TO SEARCH NON ZERO ENTRIES TNZ 0,A0 J GXSA . VOID SLOT L,M B3,0,A0 . ADD ENTRY TO SORT FILE LMJ B9,SFILE +CRSRTT GXSA L A0,GXTIX A,M A0,6 ANU,M A0,GXTOC TLE,M A1,GXTOCL . LENGTH OF TABLE OF CONTENTS J GXSB . GO TEST ANOTHER ITEM LMJ B9,SEMPTY . CLOSE OUT SORT FILE +CRSRTT LMJ B9,SMERGE . GET FIRST SORTED ITEM +CRSRTT SLJ EDTOCX . GO EDIT TOC ENTRY GXSK LMJ B9,SGET . GET NEXT LINE OF TOC +GXSQ,CRSRTT SLJ EDTOCX J GXSK . EDIT LINE OF TOC GXSQ . LMJ B9,SPRSRT +CRSRTB LMJ B9,SPRSRT +CRSRTC L,M A2,GXTOC . STARTING ADDRESS OF TOC CRVK S A2,GXTIX TNZ 0,A2 . TEST OF NON DELETED ELEMENT PRESENT J CRVJ L A3,5,A2 . FILE BOUNDERIES FOR THIS ELEMENT L,M A0,VIHRFT S A3,VIHRFT+9 . BLOCK BOUNDERIES FOR THIS ELEMENT SZ VIHRFT+3 L,M A1,RFRF$ . NON DESTRUCTIVE FORWARD READ LMJ B11,RFPO$ . OPEN FILE J GCEXX SZ VIHRFI . SET NUMBER ACTIVE ITEMS TO ZERO CRVC SLJ CRSVE L A1,VIHRFJ L A2,VIHRFI CRVB JGD A2,$+2 J CRVA DL A4,0,*A1 JZ A4,CRVJ . END OF INFORMATION DS A4,VIHRX DL A4,0,*A1 DS A4,VIHRX+2 DL A4,0,*A1 DS A4,VIHRX+4 DL A4,0,*A1 DS A4,VIHRX+6 . SECOND HALF OF NAME AND VERSION S A1,VIHRFJ S A2,VIHRFI SLJ CRRSV TNZ,S1 VIHRX . SCREEN OUT SOME GARBAGE J CRVC L,M B3,VIHRX LMJ B9,SFILE +CRSRTB L,T1 A0,VIHRX+1 TNE,M A0,010 . DEFINITION OF ARGUMENT J CRVC TNE,M A0,012 . REFERENCE TO ARGUMENT J CRVC L A0,COUNT2 A,M A0,1 S A0,COUNT2 L,M B3,VIHRX LMJ B9,SFILE +CRSRTC J CRVC CRVA . L,M A0,VIHRFT LMJ B11,RFPR$ . READ A BUFFER J GCEXX . ERROR J CRVJ L,M A0,VIHRFT L,H2 A1,6,A0 L A2,1,A1 S A2,VIHRFI A A1,(2,2) S A1,VIHRFJ J CRVB CRVJ L A2,GXTIX A,M A2,6 ANU,M A2,GXTOC TLE,M A3,GXTOCL J CRVK J GCEOF GCEXX L A0,(0105,ER2) ER PRINT$ L,M A0,SPKT ER SNAP$ J GCEOF ER2 'BAD RETURN FROM FASTRAND I-O' GCEOF . END OF FILE DETECTED LMJ B9,SEMPTY +CRSRTB LMJ B9,SEMPTY +CRSRTC LMJ B11,GXREF +600,0 TNZ COUNT2 J CGXX . NO ENTRIES FOR SECOND LISTING LMJ B11,GXREFB +700,0 J CGXX GRCMB SLJ CRSVE SAVE REGISTERS TNZ,S1 1,B1 . TEST FOR POSSIBLE ENTRY FOR FNC/SUB J GATA TNZ,S1 1,B2 . IF ONLY SECOND IS ARG REF J TWOQ . THE SECOND IS LARGER GATC L A0,0,B2 TLE A0,0,B1 COMPARE NAME OF SYMBOL J TWO TE A0,0,B1 J ONE L A0,1,B2 TLE A0,1,B1 COMPARE COMMON BLOCK NAME J TWO TE A0,1,B1 J ONE L,H2 A0,2,B2 RELATIVE STORAGE ASSIGNEMNT TLE,H2 A0,2,B1 J TWO TE,H2 A0,2,B1 J ONE CRCMD . L A0,3,B2 TLE A0,3,B1 J TWO TE A0,3,B1 J ONE L A0,4,B2 TLE A0,4,B1 J TWO TE A0,4,B1 J ONE L A0,2,B2 COMPARE SEQUENCE NUMBER TLE A0,2,B1 J TWO TE A0,2,B1 J ONE TWO SLJ CRRSV J 1,B11 ONE SLJ CRRSV J 0,B11 GRCMC SLJ CRSVE L A0,1,B2 BLOCK NAME TLE A0,1,B1 J TWO TE A0,1,B1 J ONE L,H2 A0,2,B2 RELATIVE STORAGE TLE,H2 A0,2,B1 J TWO TE,H2 A0,2,B1 J ONE L A0,0,B2 COMPARE SYMBOL NAME TLE A0,0,B1 J TWO TE A0,0,B1 J ONE J CRCMD GATA TZ,S1 1,B2 J ONEQ . AT THIS POINT BOTH ITEMS ARE FOUND TO BE IN FNC/REF . REFERENCES AND THE SORT IS DONEQ IN THE FOLLOWING ORDER . 1) NAME OF FUNCTION . 2) ARGUMENT NUMBER . 3) DEFINITION/REFERENCE . 4) NAME OF DEFINING PROGRAM . 5) SEQNO L A0,0,B1 . NAME OF FUNCTION REFD BY B1 L A2,0,B2 . NAME OF FUNCTION REFD BY B2 TG A0,A2 J GAT2 J TWOQ GAT2 TE A0,A2 J ONEQ L,H2 A0,2,B1 . ARG NUMBER REF B1 TG,H2 A0,2,B2 . ARG NUMBER REF B2 J GAT4 J TWOQ GAT4 TE,H2 A0,2,B2 . TEST FOR EQUAL ARG NUMBERS J ONEQ L,S2 A0,1,B1 . REF/DEF INDICATOR TG,S2 A0,1,B2 J GAT5 J TWOQ GAT5 TE,S2 A0,1,B2 J ONEQ L A0,3,B1 . NAME OF REFERING PROGRAM TG A0,3,B2 J GAT6 J TWOQ GAT6 TE A0,3,B2 J ONEQ L,H1 A0,2,B1 TG,H1 A0,2,B2 J GAT7 J TWOQ GAT7 TE,H1 A0,2,B2 J ONEQ J TWOQ ONEQ SLJ CRRSV J 1,B11 TWOQ SLJ CRRSV J 0,B11 . THIS SECTION SORTS ENTRIES FOR GLOBAL TOC LISTING GRCMT SLJ CRSVE . SAVE REGISTERS L A0,0,B2 . COMPARE FIRST WORD OF NAME TLE A0,0,B1 J TWO TE A0,0,B1 J ONE L A0,1,B2 . COMPARE SECOND WORD OF NAME TLE A0,1,B1 J TWO TE A0,1,B1 J ONE L A0,2,B2 . COMPARE FIRST WORD OF VERSION TLE A0,2,B1 J TWO TE A0,2,B1 J ONE L A0,3,B2 . COMPARE SECOND WORD OF VERSION TLE A0,3,B1 J TWO J ONE CGXX . DO 1-JPL , PROC LMJ B11,FMTIME +DQFM +DQFBUF +100,0 L A0,(0212,DQFM) SLJ PRT$Z TZ,S1 DEMANJ ER PRINT$ DO JPL , PROC END L A0,(07700,SKBL) TZ,S2 DEMANJ SLJ PRT$Z LA,M A0,BRKM TNZ,S1 DEMANJ J $+3 TNZ,S2 DEMANJ ER CSF$ L,M A0,FRDP TZ,S3 DEMANJ ER CSF$ CGXXA L A0,(3,FRA) ER CSF$ L A0,(3,FRB) ER CSF$ L A0,(3,FRC) ER CSF$ ER EXIT$ PRT$Z J $-$ TNZ,S1 DEMANJ J BATCH S A0,SQHPCK L,M A0,SQHPCK ER PRNTA$ L A0,SQHPCK J *PRT$Z BATCH ER PRINT$ J *PRT$Z SQHPCK +0 DO JPL , 'DP$ ' DO LMSC , 'ATHENA$ ' GETITM* SLJ SAREG SAVE ALL REGISTERS S,H1 B11,XRFCT L,H2 A0,XRFCT J $+1,A0 J XRFTA MERGE FILE 1 J XRFTB GET FILE 1 J XRFTC MERGE FILE 2 J XRFTD GET FILE 2 XRFTA LMJ B9,SMERGE +CRSRTB L,H2 A0,XRFCT A,M A0,1 S,H2 A0,XRFCT XRFJ L,H1 B11,XRFCT B11 AT TIME OF CALL L,M A0,*0,B11 A A0,(2,0) LXI,M B3,2 DL A1,0,*B3 DS A1,0,*A0 DL A1,0,*B3 DS A1,0,*A0 DL A1,0,*B3 DS A1,0,*A0 DL A1,0,*B3 . SECOND HALF OF NAME AND VERSION DS A1,0,*A0 SLJ RAREG J 3,B11 XRFTB L,M A0,*1,B11 S,H2 A0,XRK LMJ B9,SGET +XRL,CRSRTB J XRFJ XRL L,M A0,1 A,H2 A0,XRFCT S,H2 A0,XRFCT XRK J $-$ XRFTC LMJ B9,SMERGE +CRSRTC L,H2 A0,XRFCT A,M A0,1 S,H2 A0,XRFCT J XRFJ XRFTD L,M A0,*1,B11 S,H2 A0,XRK LMJ B9,SGET +XRL,CRSRTC J XRFJ . . THIS SECTION EDITS AN ENTRY FROM GLOBAL TOC EDTOC SLJ SAREG . SAVE ALL REGISTERS DL A0,0,B3 DS A0,GENM . SAVE FILE MODULE SECTION NAME DL A0,2,B3 DS A0,GEVS . SAVE FILE MODULE SECTION VERSION L A0,4,B3 S A0,INRBTD E$DIT ED$PKT . OPEN EDIT PACKAGE E$COL 10 . START LISTING IN COLUMN 10 L,M A0,GENM L,M A1,12 LMJ B11,ECOPY$ . EDIT MODULE NAME L A0,GEVS TNE A0,(' ') J EDTOCJ E$CHAR '/' L,M A0,GEVS L,M A1,12 LMJ B11,ECOPY$ . EDIT MODULE VERSION EDTOCJ E$COL 40 . START TO EDIT DATE AND TIME IN 40 . THIS SECTION EDITS DATE AND TIME OF CREATION OF GLOBAL . CROSS REFERENCE ENTRY FOR THIS ELEMENT L,S5 A0,INRBTD . GET DAY OF CREATION L,M A1,5 . EDIT 2 DIGITS LMJ B11,EDECF$ . EDIT DAY IN DECIMAL E$CHAR ' ' E$CHAR ' ' L,S4 A1,INRBTD . MONTH OF CREATION L A0,MNTHT-1,A1 . ALPHABETIC EQUIVALENT OF MONTH LSSL A0,12 . LEFT JUSTIFY S A0,MONTH L,M A0,MONTH L,M A1,4 . EDIT 4 CHARACTERS LMJ B11,ECOPY$ . EDIT OUT MONTH L,S6 A0,INRBTD . YEAR A,M A0,64 . YEARS NUMBERED FROM L964 L,M A1,3 LMJ B11,EDECF$ L,H1 A0,INRBTD . NUMBER SECONDS SINCE MIDNIGHT DSL A0,36 DI,M A0,3600 . COMPUTE HOURS SINCE MIDNIGHT S A1,MONTH . SAVE REMAINING SECONDS L,M A1,4 . INSERT TWO BLANKS LMJ B11,EDECF$ L,M A0,':' LMJ B11,ECHAR$ L A0,MONTH . REMAINING SECONDS DSL A0,36 DI,M A0,60 . COMPUTE NUMBER OF MINUTES S A1,MONTH L,M A1,2 LMJ B11,EDECF$ L,M A0,':' LMJ B11,ECHAR$ L A0,MONTH L,M A1,2 LMJ B11,EDECF$ . EDIT SECONDS L A0,(0213,LINE$) SLJ PRT$Z SLJ RAREG J *EDTOCX . THIS SECTION DELETES ENTRIES FROM THE GLOBAL CROSS REFERENCE . IF AN I OPTION IS USED CARDS WILL BE READ AND ECHOED . UNTIL AN EOF OR CONTROL CARD IS ENCOUNTERED. THE CARDS ARE . FREE FIELD WITH ONE OR MORE NAME VERSIONS BEING SEPARATED . BY COMMAS. EACH NAME VERSION MUST BE COMPLETE ON A GIVEN . CARD. WHEN ALL THE DELETE CARDS HAVE BEEN READ IF A T OPTION . IS PRESENT THE CORRECTED TABLE OF CONTENTS WILL BE WRITTEN . BACK INTO FILE . GRA L A5,PARTBQ . GET OPTION LETTERS TOP,M A5,0400000 . TEST FOR I OPTION J 0,X11 . EXIT NO DELETES DESIRED S,H2 B11,RXT . SAVE EXIT L A0,(NVEXT,INFOR). SET TO SKIP INFOR INFO ER READ$ . READ LIST OF DELETE NAMES GRC L A0,(NVEXT,INFOR). READ FIRST DATA CARD ER READ$ S,H1 A0,RXT . LENGTH OF IMAGE L B2,(1,0) . CHARACTER INDEX TO READ L B3,(1,INFOR) . WORD INDEX TO READ L B4,(1,0) . CHARACTER INDEX TO STORE L B5,(1,DNAME) . WORD INDEX TO STORE L A5,(' ') S A5,DNAME S A5,DNAME+1 . INITIALIZE NAME STORAGE S A5,DVERS S A5,DVERS+1 . INITIALIZE VERSION STORAGE GRB LMJ B11,GX . GET A CHARACTER J NVND . END OF NAME VERSION UNIT TNE,M A0,'/' . TEST NAME/VERSION SEPARATOR J NMND . END OF NAME TNE,M A0,'.' . ELEMENT SEPARATOR J NVND . END OF NAME VERSION EX STX,*B4 . STORE CHARACTER J GRB GX EX GVEC,*B2 . GET NEXT CARD FROM RECORD TNE,M A0,' ' . SKIP BLANKS J GX . READ ANOTHER CHARACTER J 1,B11 GVEC L,S1 A0,0,B3 L,S2 A0,0,B3 L,S3 A0,0,B3 L,S4 A0,0,B3 L,S5 A0,0,B3 LMJ B9,GVECW GVECW L,S6 A0,0,*B3 . ADVANCE WORD INDEX LXM,M B2,0 . RESET CHARACTER INDEX GVECJ L A1,0,B3 TNE A1,(' ') J GVECQ L,M A1,0,B3 ANU,M A1,INFOR TE,H1 A2,RXT . TEST END OF CARD J 0,B9 . PROCESS NEXT WORD J 0,B11 . END OF CARD RETURN STX S,S1 A0,0,B5 S,S2 A0,0,B5 S,S3 A0,0,B5 S,S4 A0,0,B5 S,S5 A0,0,B5 LMJ B9,STW STW S,S6 A0,0,*B5 . ADVANCE WORD INDEX LXM,M B4,0 . RESET CHARACTER POINTER J 0,B9 GVECQ L,M A1,0,B3 ANU,M A1,INFOR TE,H1 A2,RXT . TEST END OF CARD J GVECJ J 0,B11 NVND S A0,DELIM L,M A2,GXTOC . START OF GLOBAL TOC NVNDB DL A3,DNAME . NAME TO MATCH DL A5,DVERS . VERSION TO MATCH S A2,GXTIX TE A3,0,A2 . FIRST WORD OF NAME J NVNDA . NO MATCH TE A4,1,A2 . SECOND WORD OF NAME J NVNDA . NO MATCH TE A5,2,A2 . FIRST WORD OF VERSION J NVNDA . NO MATCH TE A6,3,A2 . SECOND WORD OF VERSION J NVNDA . NO MATCH SZ 0,A2 L A3,5,A2 . DEFINITIONS FOR BLOCKS WITHIN ELEMENT S A3,VIHRFT+9 L,M A1,RFRFD$ . READ FORWARD DESTRUCTIVE SZ VIHRFT+3 L,M A0,VIHRFT . FILE TABLE LOCATION LMJ B11,RFPO$ . OPEN FILE J GCEXX LMJ B11,RFPR$ . READ ELEMENT TO RELEASE ALL BLOCKS J GCEXX J $+2 J $-3 DL A3,(' DELETED ') NVNDD DS A3,DMSG L A0,(0106,DNAME) SLJ PRT$Z L A0,DELIM TE,M A0,',' J GRC . GO TO NEW CARD J GRB . CONTINUE WITH PRESENT CARD NVNDA A,M A2,6 . POINT AT NEXT SLOT ANU,M A2,GXTOC TLE,M A3,GXTOCL . TEST END OF TABLE J NVNDB DL A3,(' NOT PRESENT') J NVNDD NMND LXM,M B4,0 . RESET CHARACTER INDEX L B5,(1,DVERS) J GRB NVEXT L,H2 B11,RXT . RESTORE RETURN ADDRESS L A5,PARTBQ . OPTION LETTERS TOP,M A5,0100 . TEST FOR T OPTION J 0,X11 L,M A1,010 . WRITE FUNCTION S,S2 A1,GSTPKT+3 S,S2 A1,GSTOPK+3 L,M A0,GSTPKT ER IOW$ . WRITE OUT CORRECTED DRUM BUFFER POOL TP GSTPKT+3 J GCEXX L,M A0,GSTOPK ER IOW$ . WRITE OUT CORRECTED TABLE OF CONTENTS TP GSTOPK+3 J GCEXX J 0,X11 . RETURN $(2) CRSVE J $-$ DS A0,SLSV DS A2,SLSV+2 DS A4,SLSV+4 S B11,SLSV+6 J *CRSVE SLSV RES 7 CRRSV J $-$ DL A0,SLSV DL A2,SLSV+2 DL A4,SLSV+4 L B11,SLSV+6 J *CRRSV CRSRTB* +01000,GRCMB +SBB+SBBL-1,SBB FIRST AND LAST CORE LOCATIONS FOR SORT +0 FIRST LOCATION ON DRUM FOR SORT +500000 RES 6 'ATHENA$ASRT' +0 +01000,0 +10000,SBB +0 +0 . SPACE FOR HIGHEST DRUM ADDRESS VIHRFJ +1 INDEX INTO BUFFER VIHRFI +0 NUMBER OF ITEMS CRSRTC +01000,GRCMC +SBC+SBCL-1,SBC FIRST AND LAST LOCATIONS FOR SORT +0 FIRST DRUM LOCATION +500000 RES 6 'ATHENA$BSRT' +0 +01000,0 +10000,SBB +0 +0 . SPACE FOR HIGHEST DRUM ADDRESS CRSRTT +0600,GRCMT . FILE TABLE FOR SORTING TOC +SBB+SBBL-1,SBB . FIRST AND LAST CORE LOCATIONS FOR SORT +0 . FIRST LOCATION ON DRUM FOR SORT +500000 . LAST POSSIBLE DRUM ADDRESS RES 6 'ATHENA$ASRT' +0 +01000,0 +10000,SBB +0 +0 . SPACE FOR HIGHEST DRUM ADDRESS EM1 'UNABLE TO ASSIGN SORT FILE' RPFOR$* +0 +0 +0 CGSB '@ASG,T ATHENA$BSRT,D/500000' CGSA '@ASG,T ATHENA$ASRT,D/500000' CRCGFT '@ASG ATHENA-GSORT,F/1' DQFM RES 10 DEMANJ +0 DEMAND +0 COUNT2 +0 . COUNTS ENTRIES FOR SECOND LISTING SKBL ' ' HDM 'GREF 25I-40' ATCNMG 'ATHENA-GSORT CAN NOT BE ASSIGNED' FRCNMG 'ATHENA-GSORT HAS INCORRECT FORMAT' EDTOCX J $-$ J EDTOC RXT RES 1 . EXIT FOR DELETION ROUTINE PARTBQ RES 1 SPACE FOR OPTION LETTERS GXTIX RES 1 DNAME RES 2 . HOLDS NAME DURING SEARCH FOR DELETE DVERS RES 2 . HOLDS VERSION DURING SEARCH FOR DELETE DMSG RES 2 . SPACE FOR MESSAGE DELIM RES 0 . DELIMITER IM SCAN GENM RES 2 . HOLDS NAME DURING EDIT GEVS RES 2 . HOLDS VERSION DURING EDIT INRBTD RES 1 MONTH RES 1 . TEMP STORAGE IN DATE/TIME EDIT ED$PKT +000526,LINE$ . EDTT$ PACKET FOR TOC LISTING +0 +010100,0 DO 7 , +0 LINE$ RES 22 MNTHT ' JAN ' ' FEB ' ' MAR ' ' APRL' ' MAY ' ' JUNE' ' JULY' ' AUG ' ' SEPT' ' OCT ' ' NOV ' ' DEC ' DO 1-JPL , PROC BRKM '@BRKPT DP$ . ' FRDP '@FREE DP$ . ' BRKPTT +0 MCID +0 . SET WITH MACHINE IDENTITY DQFBUF RES 3 TFILEA '@ASG,T DP$ . ' AFILEA '@ASG,A DP$ . ' JPPM 'FILE DP$ CAN NOT BE ASSIGNED ' FACK 'DP$ ' RES 9 DO JPL , PROC END DO 1-LMSC , PROC BRKM '@BRKPT ATHENA$ . ' FRDP '@FREE ATHENA$ . ' TFILEA '@ASG,T ATHENA$ . ' AFILEA '@ASG,A ATHENA$ . ' JPPM 'FILE ATHENA$ CAN NOT BE ASSIGNED ' FACK 'ATHENA$ ' DO LMSC , PROC END FRA '@FREE ATHENA-GSORT' FRB '@FREE ATHENA$BSRT' FRC '@FREE ATHENA$ASRT' GSTPKT 'ATHENA-GSORT' +0 +02000,0 +56,VIHRFT +0 . RELATIVE SECTOR ADDRESS GSTOPK 'ATHENA-GSORT' . PACKET TO READ IN TOC +0 +02000,0 +1792,GXTID +2 . RELATIVE SECTOR ADDRESS +0 SAREG J $-$ J DO 10 , S J,SAR+J-1 J DO 5 , SA J+11,SAR+J+10 J *SAREG RAREG J $-$ J DO 10 , L J,SAR+J-1 J DO 5 , LA J+11,SAR+J+10 J *RAREG SAR RES 16 XRFCT +0 COUNT 1 TO 4 FOR PHASE OF EDIT VIHRX RES 8 SBBL EQU 10000 SBCL EQU 10000 SBB RES 10000 CORE BUFFER FOR FIRST SORT SBC RES 10000 CORE BUFFER FOR SECOND SORT GLNBUF EQU 42*28 GNSPB EQU 42 VIHRFT RF$FCT 'ATHENA-GSORT' FPOOL,GLNBUF POOL,POOL+GLNBUF FPOOL RF$POL 780,GNSPB,66 RES 20 . EXTRA SPACE FOR FASTRAND POOL GXTID RES 1 . SPACE FOR GLOBAL ID GXTOCL EQU 290*6 GXTOC RES GXTOCL . SPACE FOR GLOBAL TOC INFOR RES 50 POOL RES 2*GLNBUF SPKT 'RFP$ ' +0200000,0 +0 FASGPK '@ASG,A ATHENA-GSORT,F' END GCX