. SECTION 1.46.0 . THIS SUBROUTINE IS USED TO PROCESS ARGUMENT VALUES, . AND PUT THE APPROPRIATE INFORMATION INTO THE ARGUMENT . TABLE, PRIOR TO GENERATING THE SUBPROGRAM CALL. . N5REG . THIS DEFINES THE REGISTERS $(1) . LIT ARG* SX B11,ARGR TZ,H2 CRCRFT . TEST FOR CROSS REFERENCE BEING GENERAT SLJ CRARG . GO BUILD ENTRY FOR THIS ARGUMENT L BB1,ARGX SZ ARGT,BB1 L BB2,ARGOPA REENT SZ ARGT2,BB1 L,S3 AA1,0,BB2 TYPE OF ARGUMENT S,S3 AA1,ARGT2,BB1 L BB1,ALGI DMP FORM 3,15,18 TNZ,H1 ARGOPA REENT J ARGG L,H1 AA1,ARGOPA TNE,M AA1,0777 J ARG4R . ARGUMENT FOR REEENTRANT LIBRARY L,H1 BB1,ARGOPA REENT TP,XM 0,BB1 AN,M BB1,0,*0 L,S3 AA1,2,BB1 AND,M AA1,7 TNE,M AA2,5 J ARGG TNE,M AA2,2 . TEST EXTERNAL FUNCTION J $+3 TE,M AA2,1 . TEST INTERNAL FUNCTION SLJ ERRL TZ,H2 3,BB1 J ARG4 NONSTANDARD SUBPROG ARGG L B11,ARGOPA REENT TP,XM 0,B11 AN,M B11,0,*0 LX BB1,ARGX 176400 TP,XH2 0,B11 176500 J ARG23 NEG ARG 176600 LA,S1 AA1,0,B11 176700 TE,M AA1,8 OP TEST 176800 J ARG21 NOT OP 176900 LA,S2 AA1,0,B11 GET OP 177000 TE,M AA1,030 . IT MIGHT BE CONCATENATION TNE,M AA1,020 . IF FUNCTION MIGHT BE CHARACTER J ARGCH TE,M AA1,15 TEST FOR SUBS CONN 177100 J ARG22 177200 ANX,M B11,TT3 SX,H2 B11,ARG1 SZ ARGT,BB1 177400 TNZ,H2 CR131K J ARGA L BB2,TT1,B11 OFFSET TRIAD NUMBER TZ,H2 TT2,BB2 TEST VALUE OF OFFSET J ARGA NON ZER OFFSET L BB3,TT1,BB2 SYM ADDRESS OF VARIABLE L,S3 AA1,2,BB3 AND,M AA1,7 TE,M AA2,5 TEST FOR DUMMY ARGUMENT J ARGA ADDRESS OF VARIABLE L BB2,TT2,B11 SUBSCRIPT NUMBER TNZ,T1 SUBEXD,BB2 J ARGA SUBSCRIPT IS IN TEMP L,M BB2,TT2,B11 LOCATION OF EXPRESSION S,H2 BB2,ARGOPA REENT L,M AA1,1 INDIRECT INDICATOR S,S1 AA1,ARGT,BB1 J ARGG ARGA TZ,S3 LXIFLG . TEST IF CALLING SEQUENCE IN DBANK J $+3 TZ,H2 CR131K J ARG1A GO STORE ADDRESS IN TEMP SLJ GEN 177500 PCI 0,ARG1 PCI 1,ARGT,BB1 EFF ADDR 177700 MI 1,(LR R1,P1,0,M) OF ARG AND STORE MI 1,(SR R1,P2,0,H2),REL TRACE EX $+1 178000 ARG1B LX BB1,ARGX LA,M AA1,1 ITEM ID 178200 SA,S2 AA1,ARGT,BB1 178400 L,H1 AA1,ARGOPB ARG NUMBER REENT S,H1 AA1,ARGT3,BB1 ARG10 AX,M BB1,1 ADVANCE ARGT 178700 SX BB1,ARGX INDEX 178800 ARGRET LX B11,ARGR RETURN 178900 J 0,B11 REENT ARG1A LMJ B11,ATEMP LX BB2,ARGX SX,H2 BB4,ARGT,BB2 TEMP STORAGE TO ARG TABLE SX,H2 BB4,ARG30 SLJ GEN PCI 0,ARG1 MI 1,(LR R1,P1,0,M) MI 1,ARG30,TEMP EX ARG1B ARG21 L,H1 AA1,ARGOPB ARG NUMBER REENT S,H1 AA1,ARGT3,BB1 L B11,ARGOPA REENT TP,XM 0,B11 AN,M B11,0,*0 LA AA1,0,B11 SA,H2 AA1,ARGT,BB1 LA,S1 AA1,0,B11 TLE,M AA1,3 J ARG10 TNE,M AA1,3 LA,M AA2,4 TNE,M AA1,5 LA,M AA2,5 TG,M AA1,13 LA,M AA2,6 SA,S2 AA2,ARGT,BB1 TNE,M AA1,6 J ARG22A TNE,M AA1,5 J ARG22A J ARG10 179800 ARG22A AX,M BB1,1 ADVANCE ARGT SX BB1,ARGX INDEX L,H2 BB3,0,B11 TP,XM 0,BB3 AN,M BB3,0,*0 TE,M AA1,5 J ARG23A TRIAD TNZ,S3 SUBEXD,BB3 J ARGRET ARGUMENT WAS NOT FOUND IN REGISTER L,S3 BB3,SUBEXD,BB3 ARG23B AN,M BB3,016 A BB3,(2,0) L,M AA1,0 ONLY DEASSIGN THIS REGISTER TP,15 0,BB3 J ARGRET LMJ B11,DONEA J ARGRET ARG23A L,T3 BB3,TT6,BB3 REGISTER TRIAD IS IN TNZ BB3 J ARGRET J ARG23B ARG22 TE,M AA1,19 OFFSET PLUS TEST 179900 J ARG23 180000 ANX,M B11,TT3 S,H2 B11,ARG1 L,H1 AA1,ARGOPB TG,M AA1,460 J ARGA SX B11,ARGT,BB1 180200 SZ,H1 ARGT,BB1 180400 LA,M AA1,3 TYPE IS 3 180500 SA,S2 AA1,ARGT,BB1 180600 L,H1 AA1,ARGOPB ARGUMENT NUMBER NDVAR S,H1 AA1,ARGT3,BB1 J ARG10 180900 ARGCH ANX,M B11,TT3 . GET TRIAD NUMBER TZ TT13,B11 . TEST FOR CHARACTER J ARGCHA . THE ARGUMENT IS CHARACTER L B11,ARGOPA J ARG23 ARGCHA L BB2,ARGX L,H1 AA1,TT13,B11 . COMMAND STRING ADDRESS TNZ AA1 L,H2 AA1,TT13,B11 . SUBSTRING ADDRESS S,H2 AA1,ARGT,BB2 . SET ARGUMENT TABLE ENTRY L,M AA1,010 . TYPE FOR ARG S,S3 AA1,ARGT2,BB2 . RESET ARG TYPE J ARG29 ARG23 LA,S3 AA1,0,B11 GET TYPE DIGIT 181000 S,H2 AA1,ARG26A TNE,M AA1,3 181100 J ARG231 DOUBLE PREC 181200 TE,M AA1,4 181300 J ARG232 COMPLEX 181400 ARG231 LMJ B11,ATEMP2 DOUBLE TEMP REQUEST 181500 J $+2 181600 ARG232 LMJ B11,ATEMP SINGLE TEMP REQUEST 181700 LX BB2,ARGX 181800 SX,H2 BB4,ARGT,BB2 TEMP STORAGE ASSGNMT TO ARGT 182000 SX,H2 BB4,ARG28 AND GENERATED 182100 SX,H2 BB4,ARG28+1 STORE INSTRS 182200 SX,H2 BB4,ARG28+2 L B11,ARGOPA REENT SX,H2 B11,ARG25 ARG LOC 182600 SZ DEST RESET NON-DESTUCT FLAG SX,H2 B11,ARG24 J ARG24J $(2) . ARG24J LMJ B11,ARQ1 ARG24 + $ 183000 J ARG24L $(1) . ARG24L TZ LOADED J ARG26 ARG WAS LOADED 183200 J ARG25-1 ARG25J SLJ N5LOAD PCI 0,P1 183600 SA,T P1,P0 EX $+1 183700 ARG26 LX BB2,ARGX STORE ARGUMENT IN 183800 L AA1,ARG26A NDVAR TE,M AA1,3 TEST FOR DOUBLE PRECISION TNE,M AA1,4 TEST FOR COMPLEX J ARG27 SLJ GEN TEMP 183900 TE,S P0,$+3,1 184200 MI 1,ARG28,TEMP 184300 EX ARG29 184400 MI 1,ARG28+1,TEMP 184500 EX ARG29 184600 ARG27 SLJ GEN TE,S P0,ARG271,1 MI 1,ARG28+2,TEMP EX ARG29 ARG271 MI 1,ARG28+1,TEMP MI 1,ARG28+1,TEMP EX $+1 ARG272 L,M AA1,1 S,S3 AA1,OLDITM GIVE SMALL OFFSET LA AA1,OLDITM+1 AA AA1,(020,0) SA AA1,OLDITM+1 J ARG29 $(2) ARG28 SA P0,$ 185200 SNA P0,$ 185300 DS P0,$ ARG30 SR R1,$ $(1) ARG29 LX BB1,ARGX REENT LA,M AA1,2 ARGT TYPE 2 185800 SZ,H1 ARGT,BB1 185900 SA,S2 AA1,ARGT,BB1 186000 L,H1 AA1,ARGOPB NDVAR S,H1 AA1,ARGT3,BB1 J ARG10 186300 ARG4D L,S3 AA1,ARGOPB . RETURN FOR LXI/LIJ J ARG4E JOIN MAIN PROCESSING ARG4 L,S3 AA1,ARGOPB TZ A1 . ARGUMENT ZERO IS SPECIAL CASE TNE,M AA1,1 SZ LXIFLG . INITIALIZE ON ARGUMENT ONE ARG4E L,M AA2,1 . HALF WORD POINTER AN AA1,AA2 L,H2 BB2,3,BB1 LXI,M BB2,1 ARG42 L,S1 AA3,SYM,BB2 SEARCH ARG IN STRING JGD AA2,$+3 L,S4 AA3,SYM,*BB2 L,M AA2,1 TNE,M AA3,043 . SPECIAL FORM OF LIJ J ARG42C . SKIP FOR NOW TE,M AA3,040 . SPECIAL FORM OF LOAD TNE,M AA3,045 . SPECIAL FORM OF LXI J ARG42J TNE,M AA3,3 . TEST FOR LMJ J ARJ42C TNE,M AA3,077 . SPECIAL CASE FOR SUBROUTINE J ARGRET . WITH NO ARGUMENTS TG,M AA3,6 SLJ ERRL TNE,M AA3,5 . TEST FOR LOADING INCREMENT FIELD J $+3 TG,M AA3,2 J ARG42 JGD AA1,ARG42 ARG42J S AA3,REG+1 . SAVE SPECIFIER L,S2 AA1,SYM,BB2 TZ AA2 PICK UP REG L,S5 AA1,SYM-1,BB2 JZ AA1,ARG47 NORMAL S,H2 AA2,LXIPTR . SAVE HALF WORD INDICATOR ARG4R1 . S AA1,PZERO+3 S AA1,REG+3 TLE,M AA1,12 J ARG45 B REG TG,M AA1,28 J ARG50 L BB1,AA1 AN,M BB1,12 L,M AA2,1 LSSL AA2,0,BB1 OR AA2,ARGREG S AA3,ARGREG AND,M AA1,036 AH AA2,(2,-14) L BB3,AA2 KLUDGE FOR DONEA SZ AA1 LMJ B11,DONEA DEASSIGN REG L,H2 BB1,ARGOPA ADDRESS OF ARGUMENT REENT TP ARG26A . TEST SPECIAL FORM OF LIJ L,M BB1,IODBNK . SPECIAL FORM OF LIJ L,H2 AA3,REG+1 TNE,M AA3,5 J ARG4I . GENERATE LXI TNE,M AA3,045 . SPECIAL FORM OF LXI J ARG4LI TNZ REG+1 J ARG43 SLJ GEN LOAD VALUE PCI 0,0,BB1 SLJ N5LOAD PCI 0,P1 J ARG46 ARG43 L AA1,(07000,0) IMMEDIATE J FACTOR S AA1,JDESFL S,H2 GB1,ARDSFL SLJ GEN PCI 0,0,BB1 PCI 0,REG TE,S P1,ARG44,1 EX $+1 TP,XH2 0,BB1 J ARG44V . RESULT COMPUTED NEGATIVELY SLJ GENR . AND REFERENCED NEGATIVELY ARG44T . MI 1,(LA P2,P1,0,M) POS J ARG44J . . AT THIS POINT WE NEED TO LOAD THE ADDRESS OF A QUANTITY WHICH IS . NEGATIVE. THERE ARE TWO CASES TO CONSIDER. . 1) IF THE QUANTITY IS IN A REGISTER THEN SINCE AN IMMEDIATE IS . IMPLIED, IT WILL BE STORED INTO TEMP AND THE SIGN MADE POSITIVE. . 2) IF THE RESULT IS NEGATIVE IN CORE THEN IT HAS TO BE LOADED. . THEN THE MECHANISM FOR STEP ONE WILL REVERSE THE SIGN. ARG44 EX $+1 ARG44U SZ JDESFL L B11,ARGOPA ADDRESS OF ARG L,S1 AA1,0,B11 L,H2 BB2,0,B11 TP,XH2 0,B11 AN,M BB2,0,*0 TNE,M AA1,5 J ARG44F TNE,M AA1,6 J ARG44G ARG44S SLJ GENR QUANITY IS NOT A REGISTER SLJ FSRG TE,T P1,ARG44Q,3 TE,T P1,ARG44Q,4 MI 1,(LN P7R,P1) EX $+1 LMJ B11,ATEMP S,H2 BB4,ARG44X . (S P7R,TEMP) S,H2 BB4,ARG44Y . (L,M P2,TEMP) SLJ GENR MI 1,ARG44X,TEMP MI 1,ARG44Y,TEMP J ARG44J ARG44Q MI 1,(DLN P7R,P1) EX $+1 LMJ B11,ATEMP2 S,H2 BB4,ARG44Y S,H2 BB4,ARG44Z SLJ GENR MI 1,ARG44Z,TEMP . (DS P7R,TEMP) MI 1,ARG44Y,TEMP . (L,M P2,TEMP) J ARG44J ARG44F TNZ,S3 SUBEXD,BB2 J ARG44S J ARG44W ARG44G TNZ,T3 TT6,BB2 J ARG44S ARG44M L AA1,(07000,0) S AA1,JDESFL SLJ GENR J ARG44T ARG44W L,S3 AA1,SUBEXD,BB2 AND,M AA1,036 . GET LOWER NUMBER REGISTER AH AA2,(2,-14) L BB3,AA2 SZ AA1 LMJ B11,DONEA . DEASSIGN REGISTER L,H2 B11,ARGOPA TN,XH2 0,B11 J ARG44M REGISTER WAS NEGATIVE J ARG44S . RESULT WAS REFERENCED NEGATIVELY ARG44J EX $+1 L,M AA1,021 TZ,T3 CR131K S,S2 AA1,OLDITM SLJ GENR J ARG46 ARG4R TNZ,S3 U1110A . RE-ENTRANT LIBRARY J ARGG SZ REG+1 FLAG FOR LOAD LOCATION L,S3 AA1,ARGOPB A,M AA1,11 . FIRST ARG IN A0 J ARG4R1 ARG44V L,S1 AA1,0,BB1 TNE,M AA1,6 . TRIAD HAS ONLY ONE USE J AR44V1 TE,M AA1,5 J ARG44U L,H2 B11,0,BB1 . SUBEXPRESSION NUMBER TP,XH2 0,BB1 AN,M B11,0,*0 TP,XH1 SUBEXQ,B11 . TEST IF THIS LAST USE OF EXPRESSION J AR44V1 J ARG44U AR44V1 SLJ GENR LR,S P1 . SET SIGN PLUS J ARG44T ARG45 RES 0 L B11,AA1 TNZ,H2 IRW1,B11 TEST IF REQUESTED INDEX IS ACTIVE J ARG45A L BB2,ARGX S,T1 AA1,ARGT2,BB2 REGISTER NUMBER SSC AA1,14 SYNCHRONIZE WIH A FIELD A AA1,(SX B0,0) S AA1,ARG45B+1 LMJ B11,ATEMP S,H2 BB4,ARGT2,BB2 SAVE TEMP NUMBER S,H2 BB4,ARG45B+1 LMJ B11,FILE61 +ARG45B PUT INSTRUCTIONS TO SAVE REG INTO F61 ARG45A L,H2 BB1,ARGOPA ADDRESS OF ARGUMENT REENT TP ARG26A L,M BB1,IODBNK . SPECIAL FORM OF LIJ L,H2 AA3,REG+1 TNE,M AA3,5 J ARG4I . GENERATE LXI TNE,M AA3,040 . SPECIAL FORM OF LOAD J ARG4KI TNE,M AA3,045 . SPECIAL FORM OF LXI J ARG4LI TNZ REG+1 J ARG45C SLJ GEN LOAD VALUE PCI 0,0,BB1 MI 1,(LX P0,P1) J ARG46 ARG45C L AA1,(07000,0) UMMEDIATE J FACTOR S AA1,JDESFL S,H2 GB1,ARDSFL SLJ GEN PCI 0,0,BB1 MI 1,(LX P0,P1,0,M) J ARG46 ARG4KI TZ,S4 LXIFLG . TEST IF IMMEDIATE LOAD ALREADY PROCESS J ARG42T . LOOK AT NEXT ARGUMENT S,S2 AA3,LXIFLG . MARK TO LOOK FOR ARGUMENT S,S4 AA3,LXIFLG . SHOW IMMEDIATE LOAD PRESENT L,H2 AA2,LXIPTR . RESTORE HALF WORD POINTER ARG4LM L,S1 AA3,SYM,BB2 . SEARCH FOR END OF STRING JGD AA2,$+3 L,S4 AA3,SYM,*BB2 L,M AA2,1 TE,M AA3,077 . TEST END OF ARG STRING J ARG4LM . TEST NEXT ON CHAIN TNZ AA2 . TEST WHICH HALF OF WORD L,S4 AA3,SYM,*BB2 . FORCE INCREMENTATION L,H2 AA1,SYM+1,BB2 . SYM REF OF BIAS A AA1,(020000,0) . BUILD VARIABLE ITEM S AA1,DMYVAR L,M BB1,DMYVAR . POINT AT CREATED ITEM J ARG45C ARG4LI TZ,S1 LXIFLG . TEST IF IMMEDIATE ALREADY PROCESSED J ARG42T . LOOK AT NEXT ARGUMENT S,S1 AA3,LXIFLG . MARK THAT LXI OCCURRED S,S2 AA3,LXIFLG . MARK TO SEARCH FOR ARG DESIRED L,H2 AA2,LXIPTR . RESTORE HALF WORD POINTER ARG4LJ L,S1 AA3,SYM,BB2 . SEARCH FOR END OF STRING JGD AA2,$+3 L,S4 AA3,SYM,*BB2 L,M AA2,1 TE,M AA3,077 . TEST END OF ARG STRING J ARG4LJ . TEST NEXT ON CHAIN TNZ AA2 . TEST WHICH HALF OF WORD L,S4 AA3,SYM,*BB2 . FORCE INCREMENTATION L,H2 AA1,SYM,BB2 . SYM REF OF IMMEDIATE BANK A AA1,(020000,0) . BUILD VARIABLE ITEM S AA1,DMYVAR L,M BB1,DMYVAR . POINT AT CREATED ITEM . FALL THRU TO REGULAR LXI PROCESSING ARG4I L AA1,REG+3 TG,M AA1,16 J ARG4IX . TRYING LXI OR BAD REL L,S1 AA1,0,BB1 TG,M AA1,4 . IF NOT VARIABLE OR CONSTANT J ARG4IY . GIVE LXI,M TE,M AA1,2 J ARG4IQ L B11,0,BB1 L,S3 AA2,2,B11 AND,M AA2,7 TE,M AA3,1 TNE,M AA3,2 J ARG4IY . ON EXYERNAL GIVE LXI,M ARG4IQ SLJ GEN PCI 0,0,BB1 MI 1,(LXI P0,P1) J ARG46 ARG4IX L,H2 AA1,ITEM S,H1 AA1,ARGEA LMJ B11,ERFP +ARGEA . LXI DESIRED ON NON INDEX REGISTER J PHS5G ARG4IY SLJ GEN PCI 0,0,BB1 MI 1,(LXI P0,P1,0,M) J ARG46 ARJ42C L,S3 AA1,SYM,BB2 . SEE IF FIELD SPECIFIED TZ AA2 . TEST HALF WORD FLAG L,S6 AA1,SYM,BB2 . TO DEFINE REGISTER TO LOAD JZ AA1,ARG42T ARG42C TZ,S3 LXIFLG . TEST FOR PROCESSING LIJ J ARG42T . ALREADY DONE L,S3 AA1,SYM,BB2 . GET REGISTER TO POINT AT ARGUMENTS TZ AA2 . TEST HALF WORD FLAG L,S6 AA1,SYM-1,BB2 S,S3 AA1,LXIFLG . USE REGISTER NUMBER AS FLAG S,S6 AA1,LXIFLG . SAVE FOR N5COL S AA1,PZERO+3 S AA1,REG+3 SN AA1,ARG26A . USE DBANK ADDRESS AS ARG SZ REG+1 . MARK AS IMMEDIATE SLJ GEN PCI 1,IODBNK . LOCATION IN DBANK WHERE ARGS WILL STAR EX $+1 J ARG4R1 . GO DEASSIGN REGISTER ? ARG42T L,S3 AA1,ARGOPB . RESTORE ARGUMENT NUMBER JZ AA1,ARGRET AN,M AA1,1 J ARG42 . CONTINUE SEARCHING $(2) ARG45B +010000,0 TWO WORD PACKET FOR FL1 SX B0,TEMP J ARGG ARGEA +0,015020 . LXI DESIRED ON NON INDEX REGISTER $(1) ARG50 AU,M AA1,35 S,T3 AA2,PZERO+3 AN,M AA1,28 GET R REGISTER NUMBER L AA2,LEVC A,M AA2,3 DETERMINE TLE,M AA1,4 REGISTER USED J ARG50A NO PERMANENT ASSIGNEMENTS TO R1 TO R3 TLE AA2,AA1 SEE IF R REGISTER IS ASSIGNED FOR LOOP COUNT J ARG50A L BB2,ARGX S,T1 AA1,ARGT2,BB2 REGISTER NUMBER SSC AA1,14 SYNCHRONIZE WITH LOOP COUNT A AA1,(SR R0,0) S AA1,ARG45B+1 LMJ B11,ATEMP S,H2 BB4,ARGT2,BB2 S,H2 BB4,ARG45B+1 LMJ B11,FILE61 +ARG45B ARG50A L,H2 BB1,ARGOPA REENT TNZ REG+1 J ARG50C SLJ GEN LOAD VALUE PCI 0,0,BB1 MI 1,(LR P0,P1) J ARG46 ARG50C L AA1,(07000,0) IMMEDIATE J FACTOR S AA1,JDESFL CAUSE EXPRESSIONS OR TRIADS TO BE STORED S,H2 GB1,ARDSFL SLJ GEN PCI 0,0,BB1 MI 1,(LR P0,P1,0,M) J ARG46 ARG46 EX $+1 L,H1 BB1,ARGOPA . RESTORE FOR IMMEDIATE ARGUMENT L,S2 AA1,LXIFLG . TEST TO REPEAT FOR DESIRED ARG SZ,S2 LXIFLG JNZ AA1,ARG4D L,M AA2,077 L,S3 AA1,LXIFLG TNE,M AA1,077 . TEST IF LIJ ALREADY PROCESSED J ARG46Y . IT HAS BEEN JZ AA1,ARG46Y . NO LIJ TO PROCESS S,S3 AA2,LXIFLG . PROHIBIT MULTIPLE PROCESSING OF LIJ SZ ARG26A J ARG4D . LOOK FOR SOUGHT ARGUMENT ARG46Y . TZ,H1 ARDSFL . TEST FOR EXPRESSION BEING DEASSIGNED J ARG46Q S,H2 GB1,ARDSFL SLJ GENR SLJ DEASN PCI 0,P1 EX $+1 ARG46Q . L AA2,ARDSFL SSL AA2,18 SZ ARDSFL JNZ AA2,ARG46S ARG46J L BB1,ARGX L,M AA1,7 TYPE IS SPECIAL CASE SZ,S1 ARGT,BB1 J ARG1B+2 ARG47 JZ AA3,ARGG L,H2 BB1,ARGOPA REENT L,S1 AA1,0,BB1 L BB2,ARGX ENTRY INTO ARG TABLE TE,M AA1,8 J ARG48 AN,M BB1,TT3 S,H2 BB1,DMYTRD L,M BB1,DMYTRD ARG49 SLJ GEN PCI 0,0,BB1 PCI 1,ARGT,BB2 PCI 0,ARGT,BB2 SLJ AREQ1 PCI 0,P1 TE,S P1,ARG51,1 MI 1,(SA P0,P3),REL EX $+1 ARG491 L BB1,ARGX L,M AA1,1 S,S1 AA1,ARGT,BB1 FLAG TO STORE INTO CALLING SEQUENCE J ARG1B ARG51 MI 1,(SNA P0,P3),REL EX ARG491 ARG48 TE,M AA1,3 J ARG49 L,M AA1,0 A,M AA1,1 TP,XH2 0,BB1 A,M AA1,2 S,S1 AA1,ARGT,BB2 L,H2 AA1,0,BB1 S,H2 AA1,ARGT,BB2 L,M AA1,7 TYPE IS SPECIAL CASE L BB1,ARGX J ARG1B+2 ARG46S L BB1,ARGX S,H2 AA2,ARGT,BB1 L,M AA1,8 J ARG46J+2 $(2) ARG1 +060000,0 SLJ GEN . MUST PRECEDE ARG25 ARG25 PCI 0,$ J ARG25J ARG26A +0 SAVES ARGUMENT TYPE NDVAR REG + $ + 0 DMYTRD + 060000,$ + 0 LXIFLG* +0 . USED FOR IMMEDIATE ARGUMENTS LXIPTR +0 . USED TO SAVE POINTER DMYVAR +0 . USED FOR IMMEDIATE LXI CRARG J $-$ SZ SLCRX+1 SLJ CRSVE . SAVE SOME REGISTERS L,H1 BB1,ARGOPA . TEST FOR GENERIC MATH ROUTINE L AA1,BB1 JZ AA1,*CRARG . NO ENTRIES FOR GENERIC ROUTINES TNE,M AA1,0777 J *CRARG . NO ENTRIES FOR GENERIC ROUTINES TP,XM 0,BB1 AN,M BB1,0,*0 S,H1 BB1,SLCRX . SYM PNTR TO FUNCTION NAME L,H1 AA1,N5ERLA . SEQUENCE NUMBER S,H2 AA1,SLCRX L,H1 AA1,ARGOPB . ARGUMENT NUMBER TZ AA1 . NO ENTRIES FOR ZEROTH ARGUMENT TG,M AA1,400 J *CRARG . AN ARGUMENT REPRESENTING A UNIT OR FO S,H1 AA1,SLCRX+1 L,M AA1,012 . ID FOR ARG REF S,S1 AA1,SLCRX+1 L,H2 BB2,ARGOPA . ADDRESS OF ARGUMENT L,S3 AA3,0,BB2 . TYPE OF ARGUMENT L,M AA2,0 . MODE FOR TYPE OF ARGUMENT L,H2 BB1,0,BB2 . GET TRIAD NUMBER OF SYM REF TP,XM 0,BB1 AN,M BB1,0,*0 L,S1 AA1,0,BB2 . ID FIELD OF ARGUMENT TLE,M AA1,3 J CRAR1 . EITHER A VARIABLE OR IND VAR TNE,M AA1,8 . TEST FOR OPERATOR J CRAR8 TNE,M AA1,3 . TEST FOR CONSTANT L AA2,AA1 TNE,M AA1,5 . TEST FOR EXPRESSION L AA2,AA1 TE,M AA1,6 . TEST FOR TRIAD J CRAR7 L,S2 AA1,TT3,BB1 CRAR9 L,M AA2,5 . DEFAULT FOR NON ARRAY ELEMENT TNE,M AA1,023 . OFFSET OPERATOR L,M AA2,4 . ID FOR ARRAY ELEMENT TNE,M AA1,017 L,M AA2,4 CRAR7 LSSL AA3,3 A AA3,AA2 . AT THIS POINT AA3 CONTAINS THE MODE OF THE ARGUMENT PLUS A FIELD . WHICH DEFINES WHAT THE ARGUMENT IS . 0 IS OTHER . 1 IS A SIMPLE VARIABLE . 2 IS AN ARRAY . 3 IS A CONSTANT . 4 IS AN ARRAY ELEMENT . 5 IS AN EXPRESSION . 6 IS A FUNCTION S,S4 AA3,SLCRX+1 SZ AA4 . ACCUMULATE BITS TO DEFINE ENVIRONMENT L,H1 BB1,SLCRX . SYM POINTER TO FUNCTION L,S3 AA1,2,BB1 AND,M AA1,7 TNE,M AA2,5 . TEST IF FUNCTION ALSO DUMMY AR J $+3 TZ,H2 2,BB1 A,M AA4,1 . BIT FOR NON STANDARD CALLING SEQ TZ,S6 CR131K A,M AA4,2 . BIT FOR LARGE CORE OPTION TZ,S5 CR131K A,M AA4,4 . BIT FOR ADR = IND OPTION S,S6 AA4,SLCRX+1 LMJ B11,TRCF . PLACE ENTRY IN CROSS REFERENCE SLJ CRRSV . RESTORE REGISTERS J CRARG CRAR1 L,H1 AA4,2,BB1 . MODE FIELD OF VARIABLE L,M AA2,1 . DEFAULT FOR VARIABLE TEP,M AA4,01000 . TEST FOR FUNCTION/SUBROUTINE L,M AA2,6 . FLAG AS A FUNCTION AND,M AA4,0700 . TEST FOR DIMENSIONS TZ AA5 L,M AA2,2 . FLAG AS AN ARRAY J CRAR7 CRAR8 L,S2 AA1,0,BB2 J CRAR9 ARG44X SA P7R,$-$ ARG44Y LA,M P2,$-$ ARG44Z DS P7R,$-$ END