$(1) . N5REG . THIS DEFINES THE REGISTERS . SECTION 1.41.0 . THE FOLLOWING PROGRAM GENERATES THE PROLOGUE FOR . SUBPROGRAMS. THE PROLOGUE TABLE IS SORTED BEFORE LIT . FORMAT OF 7 WORD ENTRY TABLE . WORD 1 - H1 SYM ADDRESS, H2 BACK POINTER . WORD 2 - H1 ELEMENT TYPE, H2 POINTS TO ARGUMENTS . WORD 3 - COPY OF BEGINNING PROG ITEM . WORD 4 - STORAGE ASSIGNMENT FOR ENTRY TO PROGRAM . WORD 5 - STORAGE ASSIGNMENT FIRST EXECUTABLE ITEM . WORD 6 - STORAGE ASSIGNMENT FOR JUMP AROUND POINT . WORD 7 - H1 SEQ NUM OF FIRST INST, H2 FORWARD POINTER . PROR L A0,EPPST SET START OF ENTRIES S A0,EPTIL FOR THIS SUBROUTINE TZ,H2 GLDMFL J $+2 LN,M A0,1 MAKE A0 NEGATIVE TZ CRIFZ J $+3 TNZ,H2 GLDMFL IF ONLY INTERNAL ROUTINES S A0,GLDMFL IS ONLY ONE CALLON PROLOG TNZ,H2 GLDMFL PROCESS PROLOG FOR MAIN PROGRAM AT END J PRG1 TP GLDMFL J PRJ1 MOVE GLOBAL PART OF PREAMBLE TABLE LA,H2 AA1,PROLX SSL AA1,1 PROLX/2 SA AA1,TMP IS NUMBER OF ENTRIES TO SORT PRJ2 LMJ B11,SRT2 SORT PROL TABLE + PROL ON SYM KEY-TWO WORDS + TMP PER ENTRY PRG1 L AA1,(1,1) SA,H2 AA1,MX LA AA1,(2,0) SA AA1,KX SZ LA SZ LR SZ MR SZ FND L A0,EPTIL L AA1,2,A0 INFO WORD SSC AA1,27 SSL AA1,27 1. GET THE SA AA1,NA NUMBER OF ARGUMENTS L AA2,1,A0 POINTER TO ARGUMENSTS A AA2,AA1 INCREASE BY NUMBER OF ARGS S AA2,CTABX SLJ EP1 L A0,EPTIL L,S2 AA2,2,A0 SSL AA2,3 2. CHECK TNE,M AA2,7 TYPE SLJ N5ERRL T=7 ENTRY ILLEGAL SA AA2,TYPE 3. SAVE TYPE TNZ NA J PRL7Z PRL1 LX BB1,CTABX CTAB INDEX LA AA1,(-0,0) TNE AA1,0,BB1 J PRL4 WAS EOR MARK IN CTAB L,M AA2,6 TNE,S1 AA2,0,BB1 J PRL4 EAS A SEQUENCE MARK IN TABLE TNZ,H2 GLDMFL PROCESS ARGUMENTS FOR MAIN PROGRAM AT END J PRL3A LA,H1 AA1,0,BB1 AND,M AA1,07777 . ARGUMENT NUMBER FROM CTAB (AN) TE AA2,MX MX IS THE INTERNAL ARG COUNT SLJ N5ERRL ARGUMENT NUMBERS DON=T MATCH SA AA2,AN TNZ,H2 0,BB1 IF ZERO ITS A J PRL3 PLACE HOLDER FOR * OR $ LA,H2 AA1,0,BB1 IF NOT ITS SYM OF THE ARGUMENT L A0,KX PROL TABLE INDEX PRL2 TNG A0,PROLX . TEST FOR END OF PROLOG TABLE J $+2 J PRL3 L,H1 A1,PROL,*A0 . CHECK FOR NON DUMMY ARG L AA2,AN . ARGUMENT NUMBER TE,M AA2,1 . ONLY TEST FOR COMMON WHWN ARG I IS ACT J PRL2J L,S3 AA2,2,A1 . GET TYPE AND MODE FIELD AND,M AA2,7 TE,M AA3,5 . PROBABLY A COMMON DIMENSION FOR NAMELI J PRNMCN . IT WAS NOT A DUMMY ARGUMENT PRL2J TNE,H1 AA1,PROL-2,A0 . SEARCH PROLOG TO MATCH J PRL5 CTAB AND PROL ARGS-MATCH FOUND L A1,AN . TEST FOR ARGUMENT ONE TNE,M A1,1 . TEST FOR NAMELIST COMMON DIMENSIONS J PRL2A . ONLY ONCE AS ARGUMENT ONE TZ FND CONTINUE SEARCHING-IF NOT J PRL3 ALREADY FOUND PRL2A TNG A0,PROLX DONT GO PAST THE END OF PROL J PRL2 OK CONTINUE PRL3 LA AA1,(2,0) DONE WITH THIS ARGUMENT SA AA1,KX INITILIZE PROL TABLE INDEX PRL3A LA AA1,MX TG AA1,NA PROCESS FOR THIS ENTRY POINT J PRL7A AA,M AA1,1 YES-UP THE INTERNAL ARG COUNT SA AA1,MX AND PRL4 LA AA1,CTABX THE CTAB INDEX AN,M AA1,1 SA AA1,CTABX PRL4A SZ LA SZ LR THE REGISTER LOADING FLAGS SZ MR SZ FND RESET THE FOUND INDICATOR J PRL1 CONTINUE PRL5 SX B11,FND SET FOUND INDICATOR SA AA1,TMP LA AA1,AN ANA,M AA1,1 . ARGUMENT NUMBER - 1 S A0,KX TP GLDMFL . ONLY GLOBAL SEQUENCE FOR MAIN PROGRAM TNZ,S1 CRVRSQ . TEST FOR VARIABLE LENGTH SEQUENCES J PRL5J . FIXED LENGTH SEQUENCE L,S4 AA2,N5RGFA TNE,M AA2,7 J PRL5Q S,H2 AA1,PRL109 . L P4,N,P1 A,M AA1,2 S,H2 AA1,PRL104 . ARG NUMBER TO LOAD SLJ GEN PCI 0,(((B11))-3) PCI 0,(((A0))-3) PCI 0,CRVRSQ PCI 0,(((A1))-3) MI 1,PRL104,ABS . LOAD ARGUMENT NUMBER MI 1,PRL109,ABS . L P4,N,P1 MI 1,PRL110,ABS . SSA P4,24 ISOLATE T1 MI 1,PRL105,ABS . TEST POSITIVE ARG MI 1,PRL108,ABS MI 1,(J 2),SREL EX $+1 SLJ JC . GENERATE JUMP TO CODE SLJ GENR MI 1,PRL111,ABS . TNE P4,(NOP) EX $+1 SLJ JC . GENERATE JUMP TO CODE TNZ,S2 U1110A . TEST FOR 1110 REENTERENT CODE J PRL5K SLJ GENR MI 1,PRL106 . SA,H1 A0,LINK3 EX PRL5L PRL5K SLJ GENR MI 1,PRL107 . SA,H2 A0,LINK1 EX $+1 PRL5L L A0,KX . RESTORE REGISTERS L AA1,AN AN,M AA1,1 PRL5J . LA,S3 AA2,PROL-1,A0 GET F VALUE SA AA2,PRLGF L,H1 A1,PROL-2,A0 SYM REF OR ARG L,S3 A1,2,A1 SSL A1,3 S A1,ARGMOD MODE OF DUMMY TOP,M AA2,6 J PRL6 . 0,1,6,7 TNE,M AA2,5 J PRL6 . 5 TZ LR F .EQ. 2,3,4 J PRLGEN LOAD ALREADY PERFORMED SX B11,LR SET LR OR,M AA1,*0 SET INDIRECT BIT SA,H2 AA2,PRL100 AND L AA1,ARGMOD L,H1 AA2,(LA A1,0,P1) TNE,M AA1,3 L,H1 AA2,(DL A1,0,P1) TNE,M AA1,4 L,H1 AA2,(DL A1,0,P1) S,H1 AA2,PRL100 SLJ GEN OUTPUT INSTRUCTION TO PCI 0,(((B11))-3) LOAD R1-LIKE PCI 0,(((A1))-3) MI 1,PRL100,ABS LR R1,*N-1,B11 EX $+1 L AA3,PRLGF TE,M AA3,3 IN 131K THE VALUE MUST BE INDEXED TO BE PASSED IN J PRLGEN TNZ,S6 CR131K J PRLGEN L,H1 AA1,OLDITM+1 OR,M AA1,07000 ADD IMMEDIATE S,H1 AA2,OLDITM+1 SLJ GENR MI 1,(LA A1,0,P2),ABS EX PRLGEN GENERATE A STORE NOW PRL5Q SLJ GEN . ENTER GENERATOR PCI 0,(((A2))-3) MI 1,(ANA P1,1,0,M),ABS MI 1,(TP A2),ABS EX $+1 SLJ JC . GENERATE JUMP T CODE J PRL5L PRNMCN . S A0,KX . SAVE INDEX INTO PROL S AA1,TMP SX B11,FND L,S3 AA2,PROL-1,A0 S AA2,PRLGF TNE,H2 A1,PRCM01 . TEST FOR CONSECUTIVE USES J PRNMCX S,H2 A1,PRCM01 SLJ GEN PCI 0,PRCM01 MI 1,(LR R1,P1) EX $+1 PRNMCX L BB1,KX L,H2 AA2,PROL-2,BB1 SSC AA2,18 A,H2 AA2,PROL-1,BB1 A AA2,PRLGF A,S1 AA2,PROL-1,BB1 TNE AA2,PRCM02 J PRL8 . SKIP OUT SAME AS LAST TIME S AA2,PRCM02 L AA2,(S R1,0) . MASK TO BUILD INSTRUCTION ON L,M AA3,1 . WILL CONVERT TO H2 L AA4,PRLGF TE,M AA4,3 J PRNMCA TZ,S1 PROL-1,BB1 J PRNMCA L,M AA3,2 PRNMCA SSC AA3,10 A AA2,AA3 J PRLF10 PRL6 TZ LA J PRLGEN A0 ALREADY LOADED A AA1,(0200000) INDIRIECT BIT SX B11,LA SET LA INDICATOR SA,H2 AA1,PRL101 AND LOAD A0 WITH SLJ GEN THIS ARGUMENT PCI 0,(((B11))-3) PCI 0,(((A0))-3) MI 1,PRL101,ABS LA A0,N-1,B11 EX PRLGEN GENERATE A STORE PRL7 LA,M AA1,1 SA AA1,MX INITILIZE INTERNAL ARG COUNT L,H2 A0,EPTIL TE,H2 A0,EPTIG AT BEGINNING OF NEXT ROUTINE TNZ A0 NO MORE OF ANYTHING J *PROLOG L,S2 AA1,2,A0 SSL AA1,3 TE,M AA1,7 CHECK EP TYPE FOR ENTER STMT SLJ N5ERRL ENTRY PPINT NOT FROM ENTER STATEMENT L AA1,2,A0 SSC AA1,27 ARGUMENTS FOR THIS SSL AA1,27 ENTRY POINT AND SA AA1,NA SET NA S A0,IX UPDATE EPTAB INDEX L AA2,1,A0 A AA2,AA1 S AA2,CTABX SLJ EP NO-OUTPUT NEXT ENTRY POINT TZ NA ANY ARGUMENTS THIS TIME J PRL4A J PRL7Z PRL7A LA AA1,CTABX AN,M AA1,1 S AA1,CTABX PRL7Z . SLJ JC L A0,EPTIL L,H2 A0,6,A0 . ADVANCE TO NEXT ENTRY POINT S,H2 A0,EPTIL J PRL7 PRJ1 L BB1,(1,PROL) L BB2,(1,PROL+2) A,H2 BB2,PROLXM L,M AA1,PROLLG-2 AN,H2 AA1,PROLXM COMPUTE NUMBER OF ENTRIES IN GLOBAL S,H2 AA1,PROLX S AA1,R1 SSL AA1,1 S AA1,TMP BT BB1,0,*BB2 L,H1 A1,EPPTR S,H2 A1,EPTIL . RESET TO BEGGINING OF PROGRAM L,H2 A1,6,A1 PRJ1R TNZ A1 J PRJ1Q L,S3 A2,1,A1 TE,M A2,2 J PRJ1Q L,H2 A1,6,A1 J PRJ1R PRJ1Q S,H2 A1,EPTIG . SET END OF FIRST ROUTINE J PRJ2 PRLGEN . GENERATE STORAGE INSTRUCTIONS LX BB1,KX PROLOGUE TABLE INDEX AN,M BB1,2 LA,S2 AA1,PROL+1,BB1 GET HI BITS SA AA1,HIBITS L A0,PRLGF GET F CODE TG,M A0,6 SLJ N5ERRL J *$+1,A0 JUMP ON F J PRLG6 J PRLF1 F=1 J PRLF2 F=2 J PRLF3 F=3 J PRLF4 F=4 J PRLF5 PRLF1 . LA AA2,(SA A0,0,0,H2) J PRLF10 PRLF2 . L AA2,(SA A1,0,0,H2) J PRLF10 PRLF3 . TZ,S1 PROL+1,BB1 J PRLF2 L AA2,(SA A1,0,0,H1) PRLF10 . SA AA2,PRL103 BUILD 2ND WORD OF F61 ITEM SLJ GEN PCI 1,DUMSYM . MAKE SYM TABLE ENTRY EX $+1 LX BB1,KX PROL POINTER LA,H2 AA1,PROL-2,BB1 OFFSET FROM PROL SA AA1,PRL102 TO M, ID=00 L A0,DUMSYM SYM(DUM) POINTER LX BB1,PROL-1,BB1 SYM(ARG) POINTER LA AA2,PRLGF F CODE LA AA1,1,BB1 STC,RSA FROM SYM(ARG) SA AA1,1,A0 TO SYM(DUM) L AA1,0,BB1 . NAME OF NAMELIST TNE,M AA2,3 L AA1,('NLTBL2') S AA1,0,A0 SA,H2 A0,PRL103 Z=SYM(DUM) LA AA1,(0777,0) SA AA1,2,A0 LMJ B11,FILE61 + PRL102 PRL8 L A0,KX L AA1,TMP J PRL2A PRLG6 SZ PRLGF LA AA1,HIBITS SSC AA1,20 AA,XH2 AA1,PROL,BB1 JZ AA1,PRLG63 SA,H2 AA1,PRLG91 SLJ GEN PCI 0,(((A0))-3) MI 1,PRLG91,ABS EX $+1 PRLG62 SLJ GEN PCI 0,(((A1))-3) PCI 1,PRLGP MI 1,PRLG92,REL EX PRLG3 PRLG3 LX BB2,PRLGP L AA1,PROL+1,BB1 S,H2 AA1,1,BB2 L,S1 AA2,PROL+1,BB1 S,H1 AA2,1,BB2 L,H1 B11,PROL,BB1 . SAVE AT LEAST ONE ADDRESS AU AA1,(0200000) . THAT THE ADDRESS OF A DUMMY ARGUMENT L A0,LCN . IS STORED INTO TNE,M A0,LC8 AU AA1,(0400000) TNZ,H2 2,B11 S,H2 AA2,2,B11 J PRL8 PRLG63 SLJ GEN PCI 0,(((A0))-3) PCI 1,PRLGP MI 1,PRLG92,REL EX PRLG3 PRLF4 LA AA1,PROL+1,BB1 F=4 GET L SA,H2 AA1,PRLG95 L AA1,ARGMOD L AA2,(SA A1,0,0) TNE,M AA1,3 L AA2,(DS A1,0,0) TNE,M AA1,4 L AA2,(DS A1,0,0) SSL AA2,18 S,H1 AA2,PRLG95 SLJ GEN PCI 0,(((B11))-3) MI 1,PRLG95,TEMP . GENERATE SR R1,NTEMP$+L EX PRL8 PRLF5 L AA1,PROL+1,BB1 S,H2 AA1,PRLG99 L AA2,HIBITS SSC AA2,20 JNZ AA2,PRLF5A SLJ GEN MI 1,PRLG99,TEMP EX PRL8 PRLF5A S,H2 AA1,PRLG98 S,H2 AA2,PRLG91 SLJ GEN PCI 0,(((A0))-3) MI 1,PRLG91,ABS MI 1,PRLG98,TEMP EX PRL8 . JUMP TO SUBPROGRAM CODE ASSOCIATED WITH . THE ENTRY POINT BEING PROCESSED. . JCR SLJ GEN REENT PCI 1,DUMSYM SYMBOL TABLE DUMMY ENTRY EX $+1 FOR JUMP CODE L BB1,EPTIL L AA1,4,BB1 LOC OF FIRST EXECUTABLE CODE L BB2,DUMSYM S AA1,1,BB2 TZ,H2 GLDMFL J $+3 TZ CRIFZ J JC JUMP IS CREATED AT EPB22 SLJ GEN PCI 0,DUMSYM MI 1,(J P1),REL OUTPUT J NBPR0$+N EX JC RETURN . UEP1 S,S5 AA1,UL104 L,S4 AA2,N5RGFA . TEST FOR LIJ ENTRANCE L,S5 AA3,N5RGFA . REGISTER POINTING AT ARGUMENT LIST TNE,M AA2,7 . 7 IS LIJ S AA3,N5RGLC+3 TNE,M AA2,7 . DO NOT DESTROY BANK IF LIJ ENTERED J UL105 SLJ GEN PCI 0,N5RGLC MI 1,UL104,ABS . LXI,M B11,NARGS*64+013 EX UL105 . ENTRY POINT ONE SUBROUTINE CHECKS FOR MORE . THAN ONE ENTRY POINT (E.P.) AND OUTPUTS SAVE . CODE COMMON TO ALL ENTRY POINTS AND OUTPUTS . THE FIRST ENTRY POINT EP1R TNZ CRIFZ REENT J $+3 TP GLDMFL J EPA6 L,H2 BB2,EPPST L,H2 BB2,6,BB2 TNZ BB2 J $+4 L,S3 AA1,1,BB2 TNE,M AA1,2 J EPA3 MORE THAN ONE ENTRY POINT SZ EPFLG EPA1 . OUTPUT 'SUBPGM LABEL L BB2,EPTIL L,H1 BB1,0,BB2 TZ,H2 2,BB2 L,H2 BB1,2,BB2 L BB2,LCN L AA1,LRSTC1,BB2 S AA1,1,BB1 L AA1,CRSTC1,BB2 SA,H1 AA1,1,BB1 L,M AA1,11 REGIST S AA1,N5RGLC+3 REGIST EPA4 SLJ EP TZ EPFLG J *EP1 RETURN FOR MORE THAN ONE EP L,M AA1,EPA2 S,H2 AA1,UL105 LA AA1,NA TZ,S2 U1110A . REENTRANT LIBRARY J UEP1 AA,M AA1,1 TNZ,S3 N0RGTB+1 . DO NOT USE A1 TNZ ENTFL J EPA2 . DO NOT LOAD NUMBER OF ARGS SA,H2 AA1,PRL104 SLJ GEN MI 1,PRL104,ABS . LA,M A0,NA+1 EX $+1 EPA2 L,S4 AA1,N5RGFA . SLJ WILL HAVE ONE TE,M AA1,1 J EPA2R REGIST TNZ EPFLG TEST FRO SAVE ROUTINE REGIST J EPA2R REGIST SLJ GEN REGIST MI 1,(NOP 0),ABS LOCATION TO SLJ TO REGIST EX $+1 REGIST EPA2R . REGIST L,S4 AA1,N5RGFA . IF ENTRANCE IS BY SLJ SKIP TNE,M AA1,7 . TEST LIJ ENTRANCE J EPARGB TNE,M AA1,1 . SLJ WILL HAVE ONE J EPARGA SETTING UP WALKBACK REGIST . AT THIS POINT THE LOCATION OF CALLING SEQUENCE IS SAVED IF REQUIRREGIST . AND IF THE CALL IS AN LMJ. THE CODE FOR TO INITIALIZE FOR AN REGIST . MUST OCCUR AFTER THE REGISTERS ARE SAVED REGIST TNZ,S6 N5RGFA TEST FOR TEMP ASSIGNED TO CALLING SEQREGIST J EPARGA REGIST L,S6 AA1,N5RGFA REGIST TG,M AA1,12 FORCE A REG TO ACT LIKE INDEX IN A FIELD REGIST A,M AA1,12 REGIST S AA1,N5RGLC+3 LOCATION OF REGISTER REGIST EPARGA L,H1 AA1,N5RGFB REGIST S,H2 AA1,N5RGT TEMP NUMBER TO STORE LOC OF CALLING SEQREGIST L,S4 AA1,N5RGFA . TEST FOR SLJ TNE,M AA1,1 J EPARGB SLJ ENTRY REGIST SLJ GEN PCI 0,N5RGLC REGISTER CONTAINING RETURN REGIST EX $+1 REGIST TN,XH2 GLDMFL TNZ,H2 GLDMFL DO NOT INITIALIZE IN INTERNAL ROUTINESREGIST TNZ,H1 N5RGFB REGIST J EPARGB SAVE LOC OF CALLING SEEUENCE IN TEMP REGIST SLJ GENR REGIST MI 1,N5RGT,TEMP REGIST EX $+1 REGIST EPARGB . REGIST TN,XH2 GLDMFL TNZ,H2 GLDMFL DO NOT INITIALIZE IN INTERNAL ROUTINES REGIST TNZ,H1 N5RGFC TEST IF LOCATION OF TEMP STORAGE FOR REGISTREGIST . SHOULD BE MADE AVAILABLE REGIST J N5RGFJ REGIST . CONSTANT INITIALIZATION REGIST . CONSTRUCT INITIALIZED TEMP WITH LOCATION OF FIRST TEMP ASSIGNED TOREGIST . REGISTER STORAGE REGIST L,H2 AA1,N5RGFC LOCATION OF VARIABLE THAT SHOULD BEREGIST . ASSIGNED START OF TEMP REGIST S,H1 AA1,N5RGTI+1 REGIST L,H1 AA1,N5RGFC REGIST S,H2 AA1,N5RGTI+1 TEMP CELL CONTAINGING ADDRESS OF REGIREGIST L,H2 AA1,RRSA TEMP STARTING REGISTER STORAGE REGIST S,H2 AA1,N5RGTI REGIST LMJ B11,FILE61 +CNGCTR . SWITCH TO GENERATE UNDER TEMP L,H2 B11,N5RGFC VARIABLE ASSIGNED TO TEMP STORAGE SZ,H2 1,B11 . CLEAR RELATIVE ADDRESS FIELD LMJ B11,FILE61 REGIST +N5RGTI REGIST LMJ B11,FILE61 +RSTCTR N5RGFJ . REGIST L,S4 AA1,N5RGFA . SKIP WALKBACK SETUP TNE,M AA1,1 . TEST FOR SLJ J EP2AQ IF SLJ ENTERED REGIST L AA1,UL106 . SX,H2 P1,P3 TZ,S2 U1110A . REENTRANT LIBRARY L AA1,UL107 . SX P1,P3 L,S6 AA3,N5RGFA . REGISTER ROUTINE CALLED ON TNZ AA3 L,M AA3,11 . FORCE TO B11 IN NOT SET S,H2 AA3,N5RGLC+3 . INITIALIZE L,M AA2,6 . FUNCTION CODE FOR SX INST S,S1 AA2,UL110 . INITIALIZE INSTRUCTION L,S4 AA2,N5RGFA . TEST FOR LIJ ENTRANCE L,S5 AA3,N5RGFA . REGISTER POINTING AT ARGUMENT LIST TNZ,S2 U1110A TE,M AA2,7 . LIJ IS SEVEN J N5RGFK S AA3,N5RGLC+3 . STORE ADDRESS OF CALL IN WALKBACK TG,M AA3,12 . TEST A OR B REGISTER AN AA1,(050000,0) . CONVERT SX TO SA L AA2,AA1 SSL AA2,30 S,S1 AA2,UL110 . SET NEXT INST TO CORRECT INST N5RGFK S AA1,UL108 SLJ GEN REGIST PCI 0,N5RGLC REGIST PCI 0,(((A0))-3) PCI 0,LINK3 PCI 0,LINK1 MI 1,UL108 . SX X11,DYN$ OR SX,H2 X11,(W.B.) EX $+1 L,M AA1,021 TZ,S1 BSTC1+4 . TEST FOR BANKING SZ AA1 S,S2 AA1,OLDITM TZ,S2 U1110A J EPA2A TNZ,S3 N0RGTB+1 SEE IF REG MUST BE SAVED REGIST TNZ ENTFL J EPA2A SLJ GENR MI 1,(SA P2,P4,0,H2) EX $+1 L,M AA1,021 TZ,S1 BSTC1+4 . TEST FOR BANKING SZ AA1 S,S2 AA1,OLDITM EPA2A DO 1-JPL , PROC TNZ,S1 BSTC1+4 TZ,S6 CRAGDG . TEST IF DIAGNOSTIC CODE ALLOWED J EP2AQ SLJ GENR MI 1,UL110,NAME EX $+1 L,M AA1,020 S,S2 AA1,OLDITM DO JPL , PROC END EP2AQ. TNZ CRDBUG J EP2AQA TNZ,S2 U1110A REENTRANT LIBRARY J EPA2B SLJ GEN MI 1,(SLJ ('TRAC1$')),NAME EX EPA2C EPA2B SLJ GEN MI 1,(SLJ ('NERR8$')),NAME . DEBUGGING WALKBACK EX $+1 EPA2C L,M AA1,020 S,S2 AA1,OLDITM EP2AQA . LMJ B11,SAVER TNZ,H2 CRVRSY . TEST FOR SETTING UP USER NU ARG CELL J EPVRA TZ,H1 CRVRSY . ONLY DO THIS ONCE J EPVRA L,H2 B11,LINK1 . NORMAL POINTER TO ARG NUMBER TZ,S2 U1110A L,H2 B11,LINK3 . REENTERENT NUMBER ARGS L,S4 AA1,N5RGFA . TEST FOR BANKING TNE,M AA1,7 . 7 IS DBANK CALLING SEQ L,H2 B11,LINK1 . POINT WHERE A0 IS SAVED L BB2,CRVRSY L AA1,1,B11 S AA1,1,BB2 . PROVIDE CORRECT RSA/COUNTER S,H1 B11,CRVRSY EPVRA . L,S4 AA1,N5RGFA TZ,H2 GLDMFL TP,XH2 GLDMFL . ONLY USED IN MAIN ROUTINE TE,M AA1,7 J EP2AQB . AN LIJ IS SEVEN L,S5 AA1,N5RGFA . REGISTER POINTING AT ARGS S,H2 AA1,N5RGLC+3 SLJ GEN PCI 0,(((B11))-3) PCI 0,N5RGLC MI 1,(LX P1,P2) . SET TO PICK UP ARGUMENTS EX $+1 L,S6 AA1,N5RGFA TG,M AA1,12 . FORCE REGISTER TO ACT LIKE INDEX A,M AA1,12 S AA1,N5RGLC+3 . LOCATION OF REGISTER L,H1 AA1,N5RGFB JZ AA1,EP2AQB . LOC OF CALLING SEQUENCE NOT REQUESTED S,H2 AA1,N5RGT . TEMP TO LOC OF CALLING SEQ SLJ GEN PCI 0,N5RGLC . REGISTER CONTAINING RETURN MI 1,N5RGT,TEMP EX $+1 EP2AQB TN,XH2 GLDMFL TNZ,H2 GLDMFL DO NOT LOAD B1 IN INTERNAL ROUTINES TNZ,T3 CR131K J EPABLR SLJ GEN 131L PCI 0,(((B1))-3) 131L MI 1,(LXI B1,*-1,*0,XM),ABS MI 1,(LXM B1,('USRAD$'),,H1),NAME SET B1 TO LAD NTREMP$ EX $+1 131L L,M AA1,020 131L S,S2 AA1,OLDITM . 18 BITS AND NO B1 - PLEASE 131L EPABLR TZ CRUAL J EPIBLR EPIBLQ . TNZ EPFLG J EPA5 L,S4 AA1,N5RGFA . TEST FOR SLJ TNE,M AA1,1 . SLJ IS ONE J EPA3R REGIS SLJ GEN PCI 0,(((A1))-3) MI 1,(J 0,P1),ABS EX EPA1 EPA3R SLJ GEN REGIST PCI 0,SAVE REGIST MI 1,*(J P1),REL REGIST EX EPA1 REGIST EPA3 SN,H2 AA1,EPFLG MORE THAN ONE ENTRY POINT SLJ GEN PCI 1,SAVE MAKE SYM ENTRY FOR THIS EX $+1 SUBPROGRAM LX BB2,SAVE L AA1, ('SAVE ') S AA1,0,BB2 SLJ EVALLB EVALUATE SYM REF OF LABEL J EPA2 EPA5 L,M AA1,EP1 S,H2 AA1,EP J EPB2 EPA6 SLJ EP J *EP1 EPIBLR SLJ GEN INDVAR MI 1,(SZ B1),ABS INDVAR EX EPIBLQ . ENTRY POINT SUBROUTINE (EP) OUTPUTS A F61 LABEL . ITEM FOR THE CURRENT ENTRY POINT . PREAMBLE ENTRIES ARE MADE IN EPSV . FOR PHASE SIX OUTPUT. ONLY THOSE . ENTRY POINTS OF AN EXTERNAL SUBPROGRAM AND . THE EXTERNAL SUBPROGRAM ENTRY POINT ARE GIVEN . FOR PREAMBLE GENERATION. A JUMP . TO SAVE IS OUTPUT IF MORE THAN ONE ENTRY . POINT FOR THIS SUBPROGRAM. EPR LX BB1,EPTIL TNZ CRIFZ J $+3 TP GLDMFL J EPBC L,H1 BB2,0,BB1 TZ,H2 2,BB1 L,H2 BB2,2,BB1 L,S6 AA3,2,BB2 ER/SLJ FLAG S AA3,PRERFL LX BB1,EPTIL L B11,LCN L AA1,LRSTC1,B11 S,H2 AA1,3,BB1 L AA1,CRSTC1,B11 S,H1 AA1,3,BB1 TNZ,S2 U1110A J EPB1 L,S3 AA1,1,BB1 FUNCTION, SUBROUTINE OR ENTRY L,M AA2,061 WALKBACK CODE FOR ENTRY STMT TNE,M AA1,2 IS THIS AN ENTRY STATEMENT SLJ GENWLK EPB1 SLJ EVALLB L,S4 AA1,N5RGFA . TEST FOR SLJ TE,M AA1,1 . SLJ IS ONE J EP1Q PROVIDE NOP TO BE SLJD TO REGIST SLJ GEN REGIST PCI 1,SLJENT REGIST EX $+1 REGIST L BB2,SLJENT REGIST L AA1,('SLJENT') REGIST S AA1,0,BB2 REGIST SLJ EVALLB REGIST L,M AA1,2 REGIST S,S1 AA1,SLJENT MARK AS VARIABLE REGIST SLJ GEN IN CASE SUCH IS REQUIRED REGIST MI 1,(NOP 0),ABS REGIST EX $+1 REGIST TNZ PRERFL J EP1Q SLJ GENR MI 1,(NOP 0),ABS EX $+1 EP1Q . REGIST TNZ EPFLG J EP LA AA1,NA AA,M AA1,1 SA,H2 AA1,PRL104 L,S4 AA1,N5RGFA . TEST FOR SLJ ENTRANCE TNE,M AA1,1 . SLJ IS ONE J EPB2R REGIST TZ,S3 N0RGTB+1 REGIST J EPB4 A0 IS NOT AVAILABLE REGIST L,M AA1,EPB4 S,H2 AA1,UL105 L AA1,NA TZ,S2 U1110A . REENTRANT LIBRARY J UEP1 SLJ GEN PCI 0,SAVE PCI 0,A1LOC MI 1,PRL104,ABS REGIST J EPB3 REGIST EPB4 SLJ GEN PCI 0,SAVE PCI 0,A1LOC EPB3 MI 1,(LMJ P2,P1),REL REGIST EX $+1 L,M AA1,021 TNZ,S1 BSTC1+4 . NO 18 BIT WITH BANKING S,S2 AA1,OLDITM EPB2 TNZ,S3 N0RGTB+1 TEST IF A0 IS NOT AVAILABLE REGIS J EPB21 TO SAVE NUMBER OF ARGS REGIS TNZ ENTFL REGIS J EPB21 REGIS L,M AA1,EPB21 S,H2 AA1,UL105 L AA1,NA REGIS TZ,S2 U1110A REENTRANT LIBRARY J UEP1 A,M AA1,1 REGIS S,H2 AA1,PRL104 REGIS SLJ GEN REGIS PCI 0,LINK1 REGIS PCI 0,(((A0))-3) REGIS MI 1,PRL104,ABS REGIS MI 1,(SA P2,P1,0,H2) SAVE NUMBER OF ARGS REGIS EX $+1 REGIS EPB21 L,S4 AA1,N5RGFA . TEST FOR SLJ ENTRANCE TE,M AA1,1 . SLJ IS ONE J EPB4Q REGIS L,H2 AA1,N5RGT REGIS S,H2 AA1,N5RGY REGIS SLJ GEN REGIS PCI 0,SLJENT LAST ENTRY MADE REGIS PCI 0,(((B11))-3) REGIS PCI 0,LINK3 REGIS MI 1,(LXM P2,P1,0,H2) EX $+1 TNZ ENTFL . TEST IF NUMBER OF ARGS NEED TO BE STORED J UEB21 SLJ GENR MI 1,(SX P2,P3,0,H2) EX $+1 REGIS EPB21R TNZ,XH2 N5RGFB J EPB22 REGIS SLJ GENR REGIS MI 1,N5RGY,TEMP REGIS EX EPB22 REGIS EPB4Q . REGIS EPB22 TZ,H2 GLDMFL REGIS J *EP LX BB1,EPTIL SZ 5,BB1 TNZ CRIFZ J EP THERE ARE NO INTERNAL ROUTINES SLJ GEN PCI 1,5,BB1 MI 1,(J P1),REL PARTS EX EP EPBC L BB2,5,BB1 TNZ CRIFZ J *EP TZ,H1 5,BB1 SLJ N5ERRL L A0,(' ') S A0,0,BB2 SLJ EVALLB J *EP EPB2R SLJ GEN REGIST PCI 0,SAVE REGIST MI 1,(SLJ P1),REL REGIST EX $+1 L,M AA1,020 S,S2 AA1,OLDITM J EPB2 UEB21 SLJ GENR MI 1,(SX P2,P3) . SAVE NUMBER OF ARGS AS WELL EX EPB21R . EXIT ADDRESS $(2) EP1 J $-$ REENT J EP1R REENT EP J $-$ REENT J EPR REENT PROLOG* J $-$ REENT J PROR REENT JC J $-$ REENT J JCR REENT TMP + 0 IX + 1,1 KX + 2,0 MX + 0 LA + 0 LR + 0 MR + 0 N5RGLC* +$ . MUST BE TWO IN FRONT OF REGISTER NA + 0 NUMBER OF ARGS FROM EPTBL AN + 0 ARG NUMBER FROM CTAB +11 SAVES REGISTER NUMBER OF VARIABLE CALL REGIST N5RGY SX,H2 P2,$-$ REGIST N5RGT SX,H2 P1,$-$ REGIST SLJENT +0 REGIST PRERFL +0 PROG +020000,0 DUMMY VARIABLE ITEM REGIST N5RGTI +0167700,0 REGIST +0 INITIALIZED TEMP FOR SAVING ADDRESS OF OTHER TEMP REGIST TYPE + 0 FND + 0 DUMSYM + 0 DUMMY SYMBOL TABLE LOCATION EPFLG + 0 SAVE + 0 HIBITS + 0 PRL100 LR R1,0,P1 PRL101 LA,M P2,0,P1 PRL102 + 0 PRL103 + 0 PRL104 LA,M A0,$ PRL105 TN P4R-11 PRL106 SA,S2 A0,P3 PRL107 SA,H2 A0,P3 PRL108 TNZ P4R-11 PRL109 LA P4R,0,P1 PRL110 SSA P4R,24 PF FORM 6,4,4,4,18 PRL111 PF 053,XM,A0,0,0777430 UL104 LXI,M P1,013 UL105 J $-$ UL106 SX,H2 P1,P3 UL107 SX P1,P3 UL108 +0 UL110 SX,H1 P1,('NER10$') PRLG90 LA P2,$,P1 PRLG91 AU,M P1,$ PRLG92 SA,H2 P1,P2 PRLG93 AU,XM P1,P2 PRLG94 LR R1,$,P1 PRLG95 SA A2,$ A1LOC +$ MUST BE TWO BEFORE LOCATION CONTAINING A1 PRLG99 SA A0,0,0 ARGMOD +0 MODE OF DUMMY ARGUMENT +A1+12 PRLG98 SA A1,0,0 PRCM01 +020000,0 . SIMULATE A VARIABLE ITEM PRCM02 +0 CTABX +0 END