$(1) . LIT N5REG . DEFINE THE REGISTERS FLD7* L,T3 AA1,TT5,BB1 . F(I) FROM CURRENT TRIAD AN,M AA1,1 . F(I)-1 TE AA1,BB1 . TEST FOR SEQUENTIAL TRIAD PROCESSING J FLD7B . NO - THE CHAIN IS NOT SEQUENTIAL FLD7A L AA1,ALGI A,M AA1,2 S AA1,ALGI SZ SUBEXD+2 . USED TO MAKE DUMMY REQUEST SZ SUBEXQ+2 LOGIFT SZ RTS . FLAG IS ZERO ON RIGHT SIDE J FLD FLD7B L B11,LALGI . LAST I VALUE L,T3 AA1,TT5,BB1 . CURRENT TRIAD F(I) LINK FROM DET S,T3 AA1,TT5,B11 . TO LAST TRIAD TO CORRECT LINKAGE S B11,ALGI . SO ALG2 WILL PICK OUT OF LINE TRIADS SZ,S1 TT5,B11 . ZERO THE ARGUMENT INDICATOR FOR ALG2 L,M B11,1,BB1 . BUILD LINK TO NEXT FLD TRIAD L,T3 AA1,TT5,BB1 . CURRENT TRIAD LINK S,T3 B11,TT5,BB1 . SET CURRENT TRIAD WITH CORRECTED LINK FLD7C L B11,AA1 . INDEX FOR NEXT LINK L,T3 AA1,TT5,B11 . NEXT LINK IN NON-SEQUENTIAL PART OF CHAIN TE,M AA1,1,BB1 . TEST FOR LINK TO NEXT FLD TRIAD J FLD7C . NOT YET - CONTINUE SEARCH S,T3 BB1,TT5,B11 . YES LINK THIS ONE TO CURRENT TRIAD J ALG2 . PROCESS NON SEQ PART OF CHAIN FLD10* L,T3 AA1,TT5,BB1 AN,M AA1,1 TEST FOR SEQUENTIAL CHAIN PROCESSING TE AA1,BB1 J FLD7B L AA1,ALGI ENTRANCE FOR LEFT SIDE A,M AA1,3 S AA1,ALGI SZ SUBEXD+2 . USED TO MAKE DUMMY REQUEST SZ SUBEXQ+2 LOGIFT S AA1,RTS . THIS NEXT SECTION TESTS FOR VALID QUANTITIES TO STORE INTO L,S1 AA1,TT2+2,BB1 TNE,M AA1,3 TEST FOR CONSTANT J FLDER TNE,M AA1,5 J FLDER TE,M AA1,6 J FLD L,H2 B11,TT2+2,BB1 L,S2 AA1,TT3,B11 TEST FOR SUBSCRIPT OR OFFSET TNE,M AA1,15 J FLD TNE,M AA1,19 J FLD L AA1,(0102001000056) TNE AA1,TT3,B11 J FLD FLDER L AA1,(050000,1) S AA1,TT2+2,BB1 COMPILATION DOES NOT STOP L AA1,ITEM ERROR IMPOSSIBLE ITEM TO STORE INTO S,H1 AA1,FLERA EENT LMJ B11,ERFP +FLERA REENT J PHS5G FLDRZ L,H1 AA1,N5ERLA S,H1 AA1,FLERA LMJ B11,ERFP +FLERA REENT J PHS5G FLD . THIS ROUTINE HANDLES GENERATION FOR THE INTRINSIC FUNCTION L BB2,ALGI NEXT TRIAD L AA1,TT3,BB2 TEST FOR FLD OPERATOR AND AA1,(0777700,077) TE AA2,(0102000,056) J FLDRZ L,S4 AA1,TT1+1,BB1 FLDSGN AND,M AA1,040 FLDSGN S AA2,FLDSEX SET FLAG FOR SIGN EXTENSION FLDSGN L AA1,TT1,BB1,T1 TE,M AA1,0301 J FLD2 . FIELD BOUNDARIES NOT KNOWN AT COMPILE TIME L AA2,TT2,BB1,T1 TE,M AA2,0301 J FLD2 . FIELD BOUNDARIES NOT KNOWN AT COMPILE TIME TP,XH2 TT1,BB1 J FLDER TP,XH2 TT2,BB1 J FLDER TZ RTS J FLD4A SET UP TO TEST FOR J FACTORS LEFT OF EQUALS LN,XH2 AA2,TT2,BB1 -36+N A,M AA2,36 N L,H2 AA1,TT1,BB1 F FROM LEFT F+N FROM RIGHT TNZ,H2 COMFL TEST RIGHT OR LEFT J FLD4B AN,M AA1,36 LN AA1,AA1 FLD4B AU AA2,AA1 TG,M AA3,37 J FLDER LSSC AA1,9 A AA1,AA2 COMPUTE F,N FOR SEARCH L,S1 R1,COMFL NUMBER TO SEARCH FOR L B11,(1,0) A,S2 B11,COMFL SET TO FIND QUARTER WORD SEARCHES SE,H2 AA1,FLDJ,*B11 J FLD2 . IT WAS NOT A PROPER J DESIGNATOR TZ,S3 FLDJ-1,B11 J FLD3 . SIGN EXTENSION MUST BE CONSIDERED FLD4 L AA1,FLDJ-1,B11 . J DESIGNATOR AND AA1,(07400,0) S AA2,TT11,BB1 S AA2,SVTBL+1 J FACTOR CSC24 L,M B11,TT2+2,BB1 TNZ RTS L,M B11,TT2+1,BB1 S,H2 B11,TT11,BB1 L AA1,TT11,BB1 S AA1,TT11+2,BB1 TZ RTS S AA1,TT11+3,BB1 L,M B11,3,BB1 TNZ IOLST TZ RTS . DO NOT TEST FOR IF ON LEFT OF EQUALS CSC24 J FLIOLS . TEST IF PART OF IO LIST GENIOL L,S2 AA1,TT3,B11 CSC24 TE,M AA1,01 CSC24 J ALG2 . NEXT OPERATOR IS NOT EQUALS CSC24 L,S1 AA1,TT1,B11 CSC24 TNZ FLDSEX ALLOW NEGATIVE FIELDS TE,M AA1,07 CSC24 J ALG2 . EQUALS IS NOT ARITHMETIC IF CSC24 L,S2 AA1,ITEM TE,M AA1,1 ONLY FOR ARITHMETIC IF J ALG2 TLE,H2 AA1,TT1,B11 SPECIAL ITEM FOR COMPUTED GO TO J ALG2 SLJ SV . THIS SAVES THE NECESSARY PARAMETERS FOR AR IF CSC24 L,M AA1,FLD90 CSC24 S AA1,FLARG . THIS FLAG CONTAINS LOCATION FOR FLD CODING CSC24 J PHS5G . ARITHMETIC CODING FOR IF FLIOLS TNZ IOLST TEST IF WITHIN LIST ELEMENT GENIOL J ALG2 GENIOL TZ RTS A,M B11,1 GENIOL L,S2 AA1,TT3,B11 TEST IF NEXT OPERATOR IS GENIOL TE,M AA1,1 EQUALS THUS MAKING PART WORD GENIOL J ALG2 THE LIST ELEMENT GENIOL SLJ CLOB1 DEASSIGN VOLATILE REGISTERS GENIOL SZ,H2 IOFLX1 PREVENT SHORT IO LIST GENIOL L BB1,ALGI GENIOL TNZ,H1 IOLST GENIOL J FLIOLA PROCESS OUTPUT LIST GENIOL SLJ GEN GENIOL PCI 0,TT1+1,BB1 PCI 0,(((A0))-3) GENIOL MI 1,FNI03U,NAME EX $+1 GENIOL L,H1 AA1,OLDITM+1 GENIOL A,M AA1,020 SET TYPE FIELD TO INTEEER GENIOL S,H1 AA1,OLDITM+1 GENIOL SLJ GENR GENIOL MI 1,(SA P2,P1) . STORE VALUE IN PART WORD GENIOL EX PHS5G GENIOL FLIOLA . PROCESS AN OUTPUT LIST WITH A J FACTOR GENIOL SLJ GEN GENIOL PCI 0,TT1+1,BB1 PCI 0,(((A0))-3) TE,S P1,$+3,1 MI 1,(LA P2,P1) J $+2 MI 1,(LN P2,P1) MI 1,FNI04U,NAME EX $+1 GENIOL L,H1 AA1,OLDITM+1 GENIOL A,M AA1,020 SET TYPE TO INTEGER GENIOL S,H1 AA1,OLDITM+1 J PHS5G GENIOL FLD4A. SET UP SEARCH PARAMETERS TO THE LEFT OF THE EQUALS L,H2 AA2,TT2,BB1 N L,H2 AA1,TT1,BB1 F OR F+N TNZ,H2 COMFL J FLD4B AN,M AA1,36 LN AA1,AA1 AN AA1,AA2 J FLD4B FLD3 TZ RTS J FLD4 THIRD WORD OK TO LEFT OF EQUALS TNZ FLDSEX TEST FOR SIGN EXTENSION FLDSGN J FLD2SG FLDSGN L,S3 AA1,FLDJ-1,B11 FLDSGN TLE,M AA1,3 FLDSGN J FLD4 USE PRESENT J FACTOR FLDSGN A B11,AA1 FLDSGN J FLD4 SET FOR XH1 OR XH2 FLDSGN FLD2SG TG,M AA1,3 FLDSGN J FLD4 USE H1 OR H2 FLDSGN FLD2 TZ RTS J FLD6 . GENERATE FOR LEFT SIDE OF EQUALS L,T1 AA1,TT1,BB1 TE,M AA1,0301 STARTING BIT J FLD2AX L,T1 AA1,TT2,BB1 WIDTH TE,M AA1,0301 J FLD2AX L,S2 AA1,TT3+3,BB1 TE,M AA1,01 J FLD2AX L,S1 AA1,TT1+3,BB1 TE,M AA1,7 J FLD2AX SLJ SV SAVES THE NECESARY PARAMETERS L,M AA1,FLD80 S AA1,FLARG . THE NEXT SECTION DETERMINES N AND F FROM WHICH A MASH AND J FACTOR . CAN BE COMPUTED L,H2 AA2,TT2,BB1 36-N AN,M AA2,36 SN AA2,SVTBL+14 SN,H2 AA2,TT2,BB1 N L,H2 AA1,TT1,BB1 TNZ,H2 COMFL J FLD2R2 AN,M AA1,36 LN AA1,AA1 S,H2 AA1,TT1,BB1 FLD2R2 S AA1,SVTBL+13 SLJ FLD76 S AA3,SVTBL+15 SAVE MASH S AA1,SVTBL+16 SAVE J FACTOR J PHS5G FLD2AX L,T3 AA1,TT1,BB1 S,H2 AA1,FLDA2 F/LEFT, F+N/RIGHT S,H2 AA1,FLDA7 L,T3 AA1,TT2,BB1 S,H2 AA1,FLDA3 . TRANSFER 36-N S,H2 AA1,FLDA3S . SET FOR SIGN EXTENSION FLDSGN SLJ GEN PCI 0,TT2+1,BB1 . MEMORY LOCATION PCI 0,(050000,2) . FOR DUMMY A REQUEST PCI 0,TT3+2,BB1 . TRIAD TO ASSOCIATE RESULT WITH PCI 0,TT1,BB1 F/LEFT, F+N/RIGHT PCI 0,TT2,BB1 . 36-N SLJ AREQ1C . CONDITIONAL DESTRUCTIVE REQUEST PCI 0,P2 . FIND A SCRATCH REGISTER J $+1 . RETURN HERE IF LOADED EX $+1 GENIOL TNZ,H1 IOLST GENIOL J FLD2AP GENIOL L,M AA1,PZERO GENIOL S AA1,PZERO GENIOL L,M AA1,A0 GENIOL S AA1,PZERO+3 FORCE USE OF A0 REENT FLD2AP SLJ GENR GENIOL TE,S P1,FLD22J,1 MI 1,(LA P0,P1) J FLD22K FLD22J MI 1,(LN P0,P1) MI 1,(AA P0,0,0,M),ABS FLD22K TE,ID P4R,FLD21,3 . TEST FOR CONSTANT EX $+1 TZ,H2 COMFL J FLD26 SLJ GENR FLD22 MI 1,*(LSSC P0,P4) TE,ID P5R,FLD23,3 . TEST FOR CONSTANT EX $+1 FLDSGN TZ FLDSEX FLDSGN J FLD22S FLDSGN SLJ GENR FLDSGN MI 1,*(SSL P0,P5) FLD24 EX $+1 GENIOL TNZ,H1 IOLST GENIOL J FLD2AQ GENIOL SLJ GENR GENIOL MI 1,FNI03U,NAME EX $+1 GENIOL L AA1,OLDITM+1 GENIOL OR AA1,(020,0) SET TYPE TO INTEGER GENIOL S AA2,OLDITM+1 GENIOL FLD2AQ . GENIOL SLJ GENR GENIOL SLJ MRSLT GENIOL PCI 0,P3 SLJ DEASN PCI 0,P1 SLJ DEASN PCI 0,P4 SLJ DEASN PCI 0,P5 EX ALG2 FLD22S SLJ GENR FLDSGN MI 1,*(SSA P0,P5) FLDSGN J FLD24 FLDSGN FLD21 SLJ TSSC . TEST IF SHIFT CAN BE REMOVED 36,P4 J FLD27 J FLD22+1 FLD23 SLJ TSSC TEST IF SHIFT CAN BE REMOVED +36,P5 J $+2 J FLD24 EX $+1 FLDSGN TZ FLDSEX FLDSGN J FLD23S FLDSGN SLJ GENR FLDSGN MI 1,FLDA3,ABS J FLD24 FLD23S SLJ GENR FLDSGN MI 1,FLDA3S,ABS FLDSGN J FLD24 FLDSGN FLD26 SLJ GENR MI 1,*(SSC P0,P4) J FLD22+1 FLD27 EX $+1 TNZ,H2 COMFL J FLD27A SLJ GENR MI 1,FLDA2,ABS J FLD22+1 FLD27A SLJ GENR MI 1,FLDA7,ABS J FLD22+1 FLD62B SLJ GENR GENIOL MI 1,FNI03U,NAME MI 1,(LA P0,P1) EX $+1 GENIOL L AA1,OLDITM+1 GENIOL OR AA1,(020,0) GENIOL S AA2,OLDITM+1 SET INTERGER TYPE GENIOL L,M AA1,PZERO . IO WILL RETURN RESULT GENIOL S AA1,PZERO . IN A1 TO AVIOID A SHIFT GENIOL L,M AA1,A0 GENIOL S AA1,PZERO+3 FORCE USE OF A0 REENT J FLB71 REENT FLD62 . THIS SECTION GENERATES A STORE FOR AN ARBITRARY FIELD TNZ IOLST . TEST IF FIELD IS WITHIN IO LIST GENIOL J FLD62A GENIOL L,M B11,4,BB1 . TEST IF NEXT OPERATOR IS EQUALS GENIOL L,S2 AA1,TT3,B11 . THUS REQUIRING SPECIAL CODE FOR THIGENIOL TE,M AA1,1 GENIOL J FLD62A . NO GENIOL SLJ CLOB1 . DEACTIVATE VOLATILE REGISTERS GENIOL SZ,H2 IOFLX1 GENIOL TNZ,H1 IOLST GENIOL J FLD2AQ . OUTPUT LIST GENERATE AS IF TO RIGHT OF EGENIOL FLD62A . GENIOL SN,H2 AA1,ARQFND SET TO NOT COUNT ON FIRST SEARCH SLJ GEN PCI 0,TT2+2,BB1 . MEMORY LOCATION PCI 0,TT2+4,BB1 . ITEM TO SOTRE PCI 0,TT3+3,BB1 TRIAD TO ASSOCIATE RESULT WITH PCI 0,TT2+1,BB1 . F+N/LEFT 35-F/RIGHT PCI 0,TT1,BB1 . F/LEFT F+1-N RIGHT PCI 0,TT2,BB1 . N BOTH SLJ AREQ1C MARK WHOLE WORD PCI 0,P1 QUANTITY NOT ANY LONGER IN REGISTER J $+1 IGNORE FACT IT WAS LOADED TE,ID P2,FLD72,3 . MAKE SPECIAL CASE OUT OF ZERO AND 1 CSC24 FLD71 EX $+1 GENIOL TZ IOLST . PART WORD IN IO LIST GENIOL J FLD62B GENIOL SLJ GENR GENIOL SLJ AREQ1 GENIOL PCI 0,P2 TE,U P0,$+3,0 SA,U 0,P0 MI 1,(DSC P0,36),ABS . MOVE RESULT TO LOWER REGISTER TE,S P0,$+3,0 MI 1,(LN P0,P0) MI 1,(AA P0,0,0,M),ABS MI 1,(LA P0,*P1) SLJ UPA . INCREASE A REGISTER EX $+1 FLB71 . REENT TNZ,H2 COMFL J $+4 SLJ GENR SW P4R,P5 J $+2 SLJ GENR TE,ID P4R,FLD61,3 EX $+1 TZ,H2 COMFL J FLD58 SLJ GENR MI 1,*(LSSC P0,P4) SLJ UPA FLD63 TE,ID P6R,FLD64,3 MI 1,*(DSL P0,P6) FLD65 TE,ID P5R,FLD66,3 EX $+1 TZ,H2 COMFL J FLD68 SLJ GENR MI 1,*(SSC P0,P5) FLD67 SLJ UPA EX $+1 S GB1,TREQFL SLJ GENR MI 1,(SA P0,P1) SLJ UPA SLJ DEASN PCI 0,P1 SLJ DEASN PCI 0,P4 SLJ DEASN PCI 0,P5 SLJ DEASN PCI 0,P6 EX PHS5G FLD6 L AA1,TT2+1,BB1 F/LEFT, F