15 22FL #LIS K0NORMALUS>K0ALLGEO>K0GREATGEO>K0FILESTORE 16 22_= #SEG NORMALUS5 [ TONY HAMILTON 10 23DW 8HNORMALUS 19 23YG [THIS CHAPTER PICKS UP A FILENAME PARAMETER IN A CPB/CUNI BLOCK. 21 24D6 [IT USES THE CORRESPONDING MULTI-PARAMETER TO CONSTRUCT A FILE/ABSNB. 20 24XQ [THUS THE PARAMETER NUMBER IN ATYPE MUST BE CORRECT AND THE MULTI- 11 25CB [PARAMETER BLOCK MUST BE INTACT. 4 25X2 [ 18 26BL SEGENTRY K1NORMALUS,XFNORM [ENT FROM DECODE (FNORM) 19 26W= SEGENTRY K2NORMALUS,QUALSANAL [TO HANDLE QUALIFIERS ONLY 21 27*W SEGENTRY K3NORMALUS,TEMPQUALS [ENT FROM TEMPNAME TO HANDLE GUALS 12 27TG SEGENTRY K4NORMALUS,USERNORM 16 28*6 SEGENTRY K5NORMALUS,TEMPQUALS2 [AS K3 BUT ?? 21 28SQ SEGENTRY K7NORMALUS,USERNORME [USERNORM SUPPRESSING ERROR MESSAGES 4 28_Y ...[ 14 2976 ... FSHENTRY K8NORMALUS,WORKNAME,,WORKNAME 4 29#B [ 8 29B5 ...STARS 4H**** 8 29CS ...SAVEHASHES 4H#### 5 29FJ ...MASTER 8 29LQ ... +4,12HMASTER 6 29S2 XUDAS 4096 5 2=?L PRESETS 5 2=R= +1 5 2?=W +1 6 2?QG 4HC1 6 2#=6 ONE +1,4H: 5 2#PQ NEXTONE 7 2*9B FREECORE 1 7 2*P2 ADN 4 1 8 2B8L BRN QQQ 4 2BN= [ 6 2C7W USERNORME 4 2CMG [ 15 2D76 NGS 1 AWORK4(2) [SWITCH <0 8 2DLQ BRN RRR 4 2F6B [ 5 2FL2 USERNORM 4 2G5L [ 15 2GK= STOZ AWORK4(2) [SWITCH, =0 15 2H4W STOZ AWORK3(2) [NO FABSNB 4 2HJG RRR 20 2J46 LDX 3 ACOMMUNE6(2) [PICK UP POSN.NO IN MULTI-BLOCK 15 2JHQ LDN 4 1 [FOR PARABEG 4 2K3B QQQ 21 2KH2 SPARABEX 4,ONE(1) [PASS [X4]TH PARAM BEGINNING WITH ^:^ 9 2L2L HUNT 1,CPB,CUNI 9 2LG= LDX 0 ANUM(1) 21 2L_W BNG 0 NUSERR [J IF NO PARAM MEETING REQUIREMENTS 18 2MFG LDEX 0 ATYPE(1) [POSN.NO. OF PASSED PARAM 18 2M_6 BXU 0 3,NEXTONE [J. IF NOT ONE WE WANT 17 2NDQ NGN 4 1 [MARKER FOR ERRORS 16 2NYB CALL 2 NAMECHEC [CHECK FOR FORMAT 7 2PD2 NGN 7 1 16 2PXL CALL 4 MASTCHEQ [CHECK NOT MASTER 5 2QC= +6 7 2QWW 8HMASTER 5 2RBG +0 15 2RW6 SETNCORE 4,3,FILE,ADICT [ADICT BLOCK 8 2S*Q LDX 0 ACES 8 2STB ADN 3 A1 8 2T*2 STO 0 0(3) 8 2TSL STO 0 1(3) 16 2W#= STO 0 2(3) [SPACEFILL BLOCK 9 2WRW HUNT 2,CPB,CUNI 15 2X?G LDEX 1 ANUM(2) [NO OF CHARS 8 2XR6 ADN 2 APARA 15 2Y=Q MVCH 2 0(1) [MOVE 'EM IN 9 2YQB MFREE CPB,CUNI 8 2_=2 SETREP OK 5 2_PL UP 5 329= NUSERR 7 32NW FREECORE 1 9 338G ... SETREP USERMIS 5 33N6 UP 5 347Q NAMECHEC 21 34MB # THIS SUBROUTINE CHECKS A) THAT PARAM.PASSED WAS SIMPLE(I.E LOCAL- 18 3572 # NAME FORMAT, B) THAT IT IS 12 CHARS.LONG 19 35LL # C) THAT IT BEGINS WITH A LETTER 9 366= NGX 0 ANUM(1) 8 36KW BPZ 0 MESS5 7 375G NGX 0 0 8 37K6 SRL 0 12 16 384Q BNZ 0 MESS5 [ILLEGAL CHARACTER 9 38JB LDEX 0 ANUM(1) 8 3942 SBN 0 13 13 39HL BPZ 0 MESS1 [TOO LONG 9 3=3= LDCH 0 APARA(1) 8 3=GW SBN 0 #41 16 3?2G BNG 0 MLET [1ST/2ND CHAR WRONG 9 3?G6 SBN 0 #73-#41 8 3?_Q BPZ 0 MLET 7 3#FB EXIT 2 0 4 3#_2 # 21 3*DL # THIS SUBROUTINE EXPECTS A CHAR COUNT IN (LINK)+1,AND A CHAR STRING 21 3*Y= # ENDING IN A,ZERO WORD IN THE NEXT 3 WORDS AFTER THAT IT COMPARES 21 3BCW # THE COUNT & THE CHAR STRING AND REPORTS AN ERROR ^SPECIAL CASE:- 14 3BXG # :MASTER NOT ALLOWED^ IF THEY ARE EQUAL 5 3CC6 MASTCHEC 9 3CWQ HUNT 1,CPB,CUNI 5 3DBB MASTCHEQ 12 3DW2 LDX 2 4 [LINK 9 3F*L LDEX 0 ANUM(1) 18 3FT= BXU 0 0(2),MEXICO [J IF COUNTS NOT IDENTICAL 5 3G#W ZALP1 18 3GSG ADN 2 1 [STEP ON ^PRESET^ MODIFIER 18 3H#6 ADN 1 1 [STEP ON ^STRING^ MODIFIER 8 3HRQ LDX 0 0(2) 17 3J?B BZE 0 MESS10 [REPORT ERROR IF AT END 16 3JR2 BXE 0 ANUM(1),ZALP1 [J BACK IF SAME 5 3K=L MEXICO 7 3KQ= EXIT 4 4 4 3L9W # 21 3LPG # ENTRY FOR FNORM. X7 = MODE OF FNORM & MUST BE PRESERVED FOR 7 3M96 # TEMPNAME 4 3MNQ # 5 3N8B XFNORM 4 3NN2 [ 15 3P7L STOZ AWORK3(2) [NO FABSNB 15 3PM= STO 1 AWORK4(2) [SWITCH >0 10 3Q6W SENT HUNT 1,CPB,CUNI 18 3QLG LDCH 6 APARA(1) [PICK UP 1ST CHARACTER 20 3R66 SBN 6 #21 [TEST FOR ! (TEMPORARY-FILE NAME) 19 3RKQ LDX 3 ANUM(1) [SET UP TEST FOR SIMPLE PARAM 7 3S5B SRL 3 2 8 3SK2 ANDN 3 #4000 20 3T4L LDEX 4 ATYPE(1) [NO. OF TIS PARAM IE MULTI BLOCK 14 3TJ= BZE 6 TEMPF [J IF ! 18 3W3W ADN 6 #7 [SET UP TEST FOR COLON 18 3WHG LDN 5 1 [INDICATE NO QUALIFIERS 8 3X36 BZE 3 SIMPL 19 3XGQ PARALYSE , ,4 [SPLIT THE NAME AT BRACKETS 11 3XQJ ... TESTREP2 TOOMANY,MESS9 9 3Y2B CALL 1 TESTPAIR 17 3YG2 LDN 5 0 [INDICATES QUALIFIERS 18 3Y_L PARALYSE #36 [SPLIT NAME AT FWLL-STOPS 11 3_9D ... TESTREP2 TOOMANY,MESS9 8 3_F= BRN QUALD 5 3_YW SIMPL 9 42DG PARALYSE #36,,4 11 42N# ... TESTREP2 TOOMANY,MESS9 5 42Y6 QUALD 7 43CQ PARANUMB 3 21 43XB BZE 3 N1 [IGNORE FIRST CHAR IF NO PARAMETER 20 44C2 BNZ 6 N1 [IF COLON, ONE LESS LOCAL NAME 19 44WL SBN 3 1 [X3 IS NUMBER OF LOCAL NAMES 19 45B= BNZ 3 N1 [BRANCH UNLESS JUST USERNAME 17 46*G CALL 4 MASTCHEC [CHECK NOT :MASTER 5 46T6 +7 7 47#Q 8H:MASTER 5 47SB +0 10 47W_ ... MHUNT 2,FI,FNORM 8 47_J ... LDX 2 A1(2) 8 4847 ... ANDN 2 #200 8 486Q ... BZE 2 N1 9 489* ... ACROSS NORMERR,35 4 48#2 N1 9 48RL #SKI K6NORMALUS>599-599 9 49?= TRACE 3,NO.NAMES 21 49QW LDN 2 6 [MULTIPLY BY 6 TO GET BLOCK SIZE -4 7 4==G MPY 2 3 21 4=Q6 ADN 3 4 [ADD 3 FOR THE USERNAME & 1 FOR R.H. 8 4?9Q GETCORE 3,1 16 4?PB NGS 3 AWORK3(2) [INDICATE FABSNB 7 4#92 FINDCORE 2 20 4#NL NAME 2,FILE,FABSNB [SET UP THE ABSOLUTE NAME BLOCK. 16 4*8= LDX 0 ACES [SPACE FILL IT. 9 4*MW STO 0 A1+1(2) 9 4B7G LDN 0 A1+1(2) 9 4BM6 LDN 1 A1+2(2) 9 4C6Q MOVE 0 510(3) 18 4CLB STO 3 A1(2) [SET THE RECORD HEADER 7 4D62 LDN 4 0 18 4DKL [ X4 CONTAINS ZERO UNTIL THE USERNAME IS STORED, THEN ONE. 4 4F5= N3 18 4FJW BZE 6 USERGIVEN [J IF USERNAME GIVEN 19 4G4G SBN 3 4 [PTR,OMIT USERNAME & REC HDR 9 4GJ6 #SKI K6NORMALUS>599-599 9 4H3Q TRACE 3,NO COLON 7 4HHB LDN 4 1 8 4J32 LDX 0 A1(2) 21 4JGL SBN 0 10 [IF R.H. IS TEN THEN A LOCALNAME ONLY 16 4K2= BNZ 0 NOTLO [BEING PROCESSED 16 4KFW LDN 0 #1000 [SETB14 IN ATYPE 17 4K_G ORS 0 ATYPE(2) [TO SHOW LOCAL NAME 5 4LF6 NOTLO 19 4LYQ [ NOT COLON THIS WAY SO GET THE CURRENT USERNAME AND SHOVE IT IN 8 4MDB LDX 1 FX2 18 4MY2 ADN 1 CPREFIX [X1 -> CURRENT DIRECTORY. 19 4NCL ADN 2 A1+1 [X2 -> PLACE FOR USERNAME. 17 4NX= MOVE 1 3 [COPY NAME ACROSS. 17 4PBW BRN USEREND [ENTER THE MAIN LOOP 6 4PWG USERGIVEN 11 4QB6 # WE NOW PASS THE USERNAME 16 4QTQ SBN 3 1 [PTR,IGNORE R.H. 8 4R*B LDX 1 FX1 9 4RT2 SPARABEG 1,ONE(1) 7 4S#L SPARAPASS 14 4SS= MFREE CPB,CUNI [DUMMY 10 4T?W BRN NOTUSEREND 5 4TRG USERENDO 8 4W?6 LDX 1 FX1 11 4WQQ BXE 4 ONE(1),USEREND 17 4X=B HUNT 2,FILE,FABSNB [MVCH MUCKED UP TTRS 8 4XQ2 ADX 2 A1(2) 8 4Y9L ADN 2 A1-3 21 4YP= SBX 2 3 [PTR.TO 4TH WD OF NAME FOR DIR. DETAI 9 4_8W ADN 1 PRESETS 7 4_NG MOVE 1 3 5 5286 USEREND 18 52MQ SPARAPAS [PASS NEXT LOCAL NAME 6 537B NOTUSEREND 9 53M2 HUNT 1,CPB,CUNI 9 546L #SKI K6NORMALUS>99-99 10 54L= TRACE APARA(1),PASS1 16 555W CALL 2 NAMECHEC [CHECK FORMAT 10 55KG HUNT 2,FILE,FABSNB 17 5656 ADX 2 ALOGLEN(2) [THIS SETS UP A PTR 8 56JQ ADN 2 A1 18 574B SBX 2 3 [HOME OF THE NEXT NAME 15 57J2 LDEX 0 ANUM(1) [CHAR.COUNT 8 583L ADN 1 APARA 7 58H= SMO 0 16 592W MVCH 1 0 [MOVE NAME ACROSS 9 59GG BZE 4 USERIS 15 5=26 SBN 3 3 [ADJUST PTR. 21 5=FQ USERIS SBN 3 3 [IN X3 (COUNT OF UNUSED WDS IN FABSNB 15 5=_B MFREE CPB,CUNI [FREE LUNI 20 5?F2 ADN 4 1 [CT. OF NAMES PROCESSED SO FAR 21 5?YL BNZ 3 USERENDO [IF PTR NONZERO,GO BACK FOR ANOTHER 20 5#D= # WE'VE NOW REACHED THE END OF THE LOCAL NAME,SO WE STOZ THE 17 5#XW # DETAILS WORDS AND BRANCH OUT &UP IF WE'VE FINISHED 5 5*CG NDLOCALS 10 5*X6 HUNT 2,FILE,FABSNB 10 5BBQ LDX 0 ALOGLEN(2) 7 5BWB SBN 0 4 17 5CB2 ... BZE 0 NOMORQ [J IF JUST USERNAME 10 5CTL ADX 2 ALOGLEN(2) 19 5D*= STOZ A1-3(2) [REEL NUMBER IN DEFAULT =0 20 5DSW STOZ A1-2(2) [LAST GENERATION IN DEFAULT =0 20 5F#G STOZ A1-1(2) [ANY LANGUAGE IN DEFAULT =0 8 5FS6 BZE 5 TRYYY 5 5G?Q NOMOR 14 5GRB SETREP OK [O/W UP 5 5H?2 UP 5 5HBX ...NOMORQ 16 5HCB ...# CHECK TO PREVENT :MASTER(OWNE),FOR EXAMPLE 8 5HCT ... LDX 1 FX1 10 5HD# ... MHUNT 2,FILE,FABSNB 14 5HDR ... TESTNAMX 4,MASTER(1),A1(2),NOTMASTER,6 9 5HF= ... BRN MESS10 6 5HFP ...NOTMASTER 14 5HG8 ...# JUMP IF FABSNB CONTAINS ONLY :MASTER 16 5HGS ... BZE 5 TRYYY [J. IF USER + QUALS 8 5HLP ... BRN NOMOR 5 5HQL NDNAME 7 5J== FREECORE 7 8 5JPW BRN NOMOR 5 5K9G NOMOR1 10 5KP6 HUNT 2,FILE,FABSNB 8 5L8Q LDN 0 #400 9 5LNB ANDX 0 ATYPE(2) 8 5M82 BZE 0 NOMOR 8 5MML ADX 2 A1(2) 9 5N7= LDX 0 A1-1(2) 8 5NLW BZE 0 NOMOR 8 5P6G SBX 0 ACES 8 5PL6 BZE 0 NOMOR 9 5Q5Q BRN RILLDET 5 5QKB TRYYY 10 5R52 HUNT 1,CPB,CMULTI 20 5RJL LDX 6 ANALEV(1) [SET X6 = ANALYSIS LEVEL AT WHICH 18 5S4= SBN 6 1 [ QUALIFIERS ARE FOUND 8 5SHW SMO FX2 9 5T3G STOZ EXPEDIENT 4 5TH6 [ 6 5W2Q QUALSANAL 4 5WGB [ 8 5X22 LDX 5 GSIGN 4 5XFL OMMA 8 5X_= PARANEXT #34,6 11 5Y94 ... TESTREP2 TOOMANY,MESS9 9 5YDW CALL 1 TESTPAIR 10 5YYG HUNT 1,CPB,CUNI 20 5_D6 LDX 7 1 [PRESERVE POINTER TO CUNI BLOCK 9 5_XQ #SKI K6NORMALUS>99-99 11 62CB TRACE ANUM+1(1),PASS2 9 62X2 LDX 0 ANUM(1) 18 63BL LDN 3 0 [SET TO EXIT AFTER THIS 18 63W= BNG 0 NDNAME [ JUMP WHEN NO MORE QUALS 8 64*W BZE 0 NULL 9 64TG LDCH 0 APARA(1) 8 65*6 CALL 4 MODESQ 8 65SQ BRN MODES 4 66#B NULL 9 66S2 BZE 5 RNODET 8 67?L LDX 2 FX2 19 67R= LDX 0 EXPEDIENT(2) [B0 => DETAILS ALREADY SET 8 68=W BNG 0 XPEDI 18 68QG BNZ 0 XB [B23 -> QUALS ALREADY SEL 8 69=6 LDX 0 GSIGN 17 69PQ ORS 0 EXPEDIENT(2) [SET ^DETAILS^ BIT 7 6=9B PARANUMB 3 19 6=P2 SBN 3 1 [A RET. PERIOD IS SPECIFIED 19 6?8L BNZ 3 RETP [J IF RET. PERIOD SPECIFIED 10 6?N= HUNT 1,CPB,CUNI 17 6#7W FREECORE 1 [FREE LAST CUNI BLOCK 7 6#MG NGN 4 1 20 6*76 SLASH PARANEXT #37 [SPLIT AT / & PASS 1ST COMPONENT 11 6*BY ... TESTREP2 TOOMANY,MESS9 9 6*LQ CALL 1 TESTPAIR 17 6B6B PARANUMB 3 [ONLY 0,1 OR 2 PARAMS 14 6BL2 SBN 3 3 [ALLOWED 9 6C5L BPZ 3 RILLDET 9 6CK= HUNT 1,CPB,CUNI 7 6D4W LDX 7 1 9 6DJG LDEX 0 ANUM(1) 20 6F46 BZE 0 MORE [IF 1ST PARAM NULL, LEAVE FGN = 0 9 6FHQ #SKI K6NORMALUS>99-99 10 6G3B TRACE APARA(1),PASS3 9 6GH2 LDCH 5 APARA(1) 8 6H2L SBN 5 #33 17 6HG= BZE 5 PLUS [J IF 1ST CHAR IS + 7 6H_W SBN 5 2 17 6JFG BZE 5 MINUS [J IF FIRST CHAR IS - 18 6J_6 VERT CALL 5 SCDB [DO CONVERSION TO BINARY 9 6KDQ LDX 0 A1-2(2) 9 6KYB BZE 0 OKALLX 9 6LD2 BNG 0 OKPLUS 8 6LXL BNG 3 MESS6 8 6MC= BRN OKALL 5 6MWW OKALLX 8 6NBG SMO FX1 10 6NW6 BXU 3 XUDAS,OKALL 9 6P*Q STO 3 A1-2(2) 8 6PTB BRN MORE 5 6Q*2 OKPLUS 14 6QSL BZE 3 OKALL [ALUOW -0 8 6R#= BPZ 3 MESS6 7 6RRW NGS 3 3 5 6S?G OKALL 9 6SR6 ORS 3 A1-2(2) 16 6T=Q LDX 1 A1-2(2) [TEST FOR ZERO 8 6TQB BNZ 1 MAXGN 16 6W=2 LDCT 0 #100 [IF NO PRECEDING 18 6WPL ORS 0 A1-2(2) [SIGN SET B2 OF FGN WORD 5 6X9= MAXGN 8 6XNW SMO FX1 8 6Y8G TXL 3 XUDAS 8 6YN6 BCC MESS6 8 6_7Q MORE MFREE CPB,CUNI 7 6_MB PARAPASS 18 7272 HUNT 1,CPB,CUNI [ISOLATE NEXT 'DETAIL' 9 72LL LDX 0 ANUM(1) 9 736= BZE 0 STOSPAC 17 73KW BNG 0 QUALS [J IF NO MORE DETAILS 9 745G #SKI K6NORMALUS>99-99 11 74K6 TRACE APARA(1),PASS4 20 754Q LDX 7 1 [PRESERVE POINTER TO CUNI BLOCK 4 756N ...# 15 758L ...# ALLOW SPECIAL LANGUAGE CODES **** AND #### 15 75=J ... LDX 0 ANUM+1(1) [ LANG CODE 8 75#G ... LDX 2 FX1 17 75BD ... BXE 0 STARS(2),QLEND [ JUMP IF **** 17 75DB ... BXE 0 SAVEHASHES(2),QLEND [ JUMP IF #### 4 75G# ...# 17 75JB LDCH 0 ANUM+1(1) [TEST FIRST CHARACTER 15 7642 SBN 0 #41 [J TO ^QLANE 15 76HL BNG 0 YREEL [IF 1ST CHAR 15 773= SBN 0 #32 [ALPHABETICAL 8 77GW BNG 0 QLANG 5 782G YREEL 10 78G6 HUNT 2,FILE,FABSNB 19 78_Q LDN 0 #400 [SET B15 IN ATYPE FOR REEL 9 79FB ORS 0 ATYPE(2) 18 79_2 CALL 5 SCDB [TO CONVERT IT TO BINARY 18 7=DL BNZ 3 SGEN [TEST IF REEL NO IS ZERO 19 7=Y= LDCT 0 #100 [AND SET B2 OF REEL NO WORD 14 7?CW ORS 0 A1-3(2) [IF IT IS 4 7?XG SGEN 9 7#C6 ORS 3 A1-3(2) 7 7#WQ SRL 3 9 8 7*BB BZE 3 MORE 17 7*W2 BRN MESS8 [ERROR IF NOT <512 19 7B*L QLANG ADN 0 #12 [RESET 1ST CHAR TO ITS VALUE 21 7BT= LDEX 2 ANUM(1) [KEEP COUNT OF CHARS OF LANGUADE CODE 7 7C#W LDN 1 0 8 7CSG CALL 5 XITA 7 7D#6 SBN 2 1 18 7DRQ BZE 2 QLEND [BRANCH IF ONLY ONE CHAR 20 7F?B CALL 5 NUM [CHECK 2ND CHAR IS ALPHA NUMERIC 7 7FR2 SBN 2 1 17 7G=L BZE 2 QLEND [BRANCH IF TWO CHARS 20 7GQ= CALL 5 NUM [CHECK 3-D CHAR IS ALPHA NUMERIC 7 7H9W SBN 2 1 18 7HPG BZE 2 QLEND [BRANCH IF THREE CHARS 20 7J96 CALL 5 NUM [CHECK 4TH CHAR IS ALPHA NUMERIC 7 7JNQ SBN 2 1 20 7K8B BNZ 2 MESS3 [ERROR IF LANGUAGE CODE>4CHARS 7 7KN2 QLEND LDX 1 7 5 7L7L QLANGIN 10 7LM= HUNT 2,FILE,FABSNB 16 7M6W LDN 0 #100 [SET B17 IN ATYPE 16 7MLG ORS 0 ATYPE(2) [TO SHOW LANGUAGE 17 7N66 ADX 2 HDREC(2) [X2 -> END OF FABSNB 20 7NKQ LDX 0 ANUM(1) [DON'T STORE RUBBISH IF (1) GIVEN 14 7P5B BNZ 0 NOSP [FOR LANG 8 7PK2 LDX 0 ACES 15 7Q4L STO 0 A1-1(2) [STORE SPACES 8 7QJ= BRN MORE 4 7R3W NOSP 9 7RHG LDX 0 ANUM+1(1) 17 7S36 ORS 0 A1-1(2) [STORE LANGUAGE WORD 16 7SGQ BRN MORE [J TO NEXT DETAIL 5 7T2B STOSPAC 8 7TG2 LDX 0 ACES 9 7T_L STO 0 APARA(1) 9 7WF= BRN QLANGIN 18 7WYW QUALS FREECORE 1 [FREE EMPTY CUNI BLOCK 19 7XDG BPZ 4 RP [J IF RET PER. NOT PROCESSED 21 7XY6 QUALT PARANUMB 3,6 [GET NO. OF PARAMS AT QUALIFIER LEVEL 7 7YCQ SBN 3 2 17 7YXB BZE 3 NOMOR1 [IF ONLY 2 THATS ALL 8 7_C2 LDX 5 GSIGN 8 7_WL SPARANOT 3,6 16 82B= HUNT 1,CPB,CUNI [IN BRACKETS ? 9 82TW #SKI K6NORMALUS>99-99 11 83*G TRACE APARA(1),PASS5 15 83T6 LDX 0 ANUM(1) [IF NOT,ERROR 8 84#Q SRL 0 12 7 84SB SBN 0 2 17 85#2 BZE 0 NONONO [J IF NOT COMPOSITE 9 85RL LDCH 0 APARA(1) 8 86?= SBN 0 #36 9 86QW BNZ 0 NILBRAK 9 87=G BRN NODIRDET 5 87Q6 NONONO 7 889Q FREECORE 1 17 88PB BRN K2NORMALUS [BACK FOR ADJUNCTS 4 8992 RETP 7 89NL SBN 3 1 9 8=8= BNZ 3 RILLDET 9 8=MW HUNT 2,CPB,CMULTI 20 8?7G LDX 4 ANALEV(2) [PRESERVE LEVEL AFTER COMMA SPLIT 10 8?M6 HUNT 3,FILE,FABSNB 17 8#6Q LDX 5 ALOGLEN(3) [LENGTHEN FABSNB BY 1 7 8#LB ADN 5 1 11 8*62 ALTLEN 3,5,FILE,FABSNB 10 8*KL HUNT 1,CPB,CUNI 9 8B5= LDEX 3 ANUM(1) 16 8BJW FREECORE 1 [FREE CUNI BLOCK 19 8C4G BNZ 3 SLASH [J IF SOMETHING BEFORE COMMA 7 8CJ6 NXSLA LDN 3 2 9 8D3Q PARANEXT #37,,3 11 8D?J ... TESTREP2 TOOMANY,MESS9 7 8DHB PARANUMB 3 7 8F32 SBN 3 3 9 8FGL BPZ 3 RILLDET 9 8G2= CALL 1 TESTPAIR 10 8GFW HUNT 1,CPB,CUNI 7 8G_G LDX 7 1 9 8HF6 LDX 0 ANUM(1) 8 8HYQ BZE 0 MESS4 9 8JDB #SKI K6NORMALUS>99-99 11 8JY2 TRACE APARA(1),PASS6 18 8KCL LDCH 4 APARA(1) [TEST 1ST CHAR FOR 'S' 8 8KX= SBN 4 #63 15 8LBW BNZ 4 NSEC [J FI NOT 'S' 21 8LWG LDEX 0 ANUM(1) [^S^ IS NOT A VALID NUMBER FORMAT,BUT 21 8MB6 SBN 0 1 [LET CHNUMCON DO ALL THE HARD WORK 8 8MTQ BZE 0 NSEC 8 8N*B LDN 0 #33 17 8NT2 DCH 0 APARA(1) [REPLACE 'S' WITH '+' 17 8P#L NSEC CALL 5 SCDB [CONVERT TO BINARY 7 8PS= LDX 0 3 21 8Q?W BNG 0 MESS4 [ERROR IF NEGATIVE RETENTION PERIOD 17 8QRG SRL 0 12 [TEST LESS THAN 4096 14 8R?6 BNZ 0 MESS4 [OR ERROR 8 8RQQ STOZ A1(2) 18 8S=B BNG 4 SECB [J IF 'S' NOT SPECIFIED 8 8SQ2 LDCT 0 #400 16 8T9L STO 0 A1(2) [SET SECURITY BIT 20 8TP= SECB DSA 3 A1(2) [PUT RET PERIFD AT END OF FABSNB 10 8W8W HUNT 2,FILE,FABSNB 8 8WNG LDN 0 #400 20 8X86 ORS 0 ATYPE(2) [SET B15 ATYPE TO SHOW RETKPERIOD 16 8XMQ ADX 2 HDREC(2) [RESET POINTER 17 8Y7B NGN 4 1 [RESET SWITCH TO EXIT 8 8YM2 BRN MORE 7 8_6L RP ADN 4 1 7 8_L= PARAFREE 4 8 925W BRN NXSLA 5 92KG MODESQ 7 9356 SBN 0 #32 8 93JQ BZE 0 PARA2Q 9 944B SBN 0 #41-#32 9 94J2 BNG 0 PARA1Q 9 953L SBN 0 #73-#41 8 95H= BNG 0 PARA2Q 5 962W PARA1Q 7 96GG EXIT 4 1 5 9726 PARA2Q 7 97FQ EXIT 4 0 5 97_B MODES 8 98F2 LDX 2 FX2 10 98YL LDEX 0 EXPEDIENT(2) 7 99XW LDN 0 1 10 9=CG ORS 0 EXPEDIENT(2) 20 9=X6 DOWN ADJUNCTS,1 [SET QUALIFIERS IN ADJUNCTS BLOCK 17 9?BQ TESTREPN OK,XFRE [ERROR IN QUALIFIERS 8 9?WB BRN QUALT 18 9#B2 PLUS LDCT 3 #200 [B1 SHOWS LAST-PLUS-THIS 8 9#TL BRN MIN 5 9**= MINUS 18 9*SW BCHX 1 / [TEST SECOND CHARACTER 15 9B#G LDCH 5 APARA(1) [FOR A MINUS 16 9BS6 SBN 5 #35 [NEGATIVE N IS 14 9C?Q BZE 5 MESS6 [AN ERROR 16 9CRB HUNT 1,CPB,CUNI [CORRECT POINTER 18 9D?2 LDCT 3 #400 [B0 SHOWS LAST-MINUS-THIS 10 9DQL MIN HUNT 2,FILE,FABSNB 17 9F== ADX 2 HDREC(2) [X2 -> END OF FABSNB 16 9FPW STO 3 A1-2(2) [SET BIT IN FGN 8 9G9G BRN VERT 21 9GP6 NUM SBN 0 #12 [SUBROUTINE CHECKS CHAR IN X0 FOR NUM 15 9H8Q BNG 0 XITA [J IF NUMERIC 8 9HNB ADN 0 #12 21 9J82 PHA SBN 0 #41 [SUBROUTINE CHECKS IN X0 FOR ALPHA 16 9JML BNG 0 MESS3 [J IF NOT ALPHA 8 9K7= SBN 0 #32 16 9KLW BPZ 0 MESS3 [J IF NOT ALPHA 7 9L6G XITA BCHX 1 / 7 9LL6 SMO 7 18 9M5Q LDCH 0 ANUM+1(1) [ & LOAD NEXT CHAR TO X0 7 9MKB EXIT 5 0 8 9N52 SCDB SBX 5 FX1 18 9NJL CHNUMCON [CONVERT NO. TO BINARY 10 9P4= TESTREP CHNUMERR,XFRE 11 9PHW HUNT 1,CPAR,GNUMCON 17 9Q3G LDX 3 A1+1(1) [LOAD CONVERTED NO. 15 9QH6 FREECORE 1 [FREE GNUMCON 10 9R2Q HUNT 2,FILE,FABSNB 17 9RGB ADX 2 HDREC(2) [X2 -> END OF FABSNB 8 9S22 ADX 5 FX1 7 9SFL EXIT 5 0 5 9S_= TEMPF 16 9TDW BNZ 3 TEMPQ [J IF QUALIFIED 5 9TGS ...WORKNAME 10 9TJQ ... FSHCODE B,SKIPINA1 4 9TLN ...( 16 9TNL ... TRANSBEG FSHWORKID,NORMALUS,8,CLB,,ACOMMUNE1 8 9TQJ ... BRN TEMPB 5 9TSG ...SKIPINA1 4 9TWD ...) 7 9TYG WORKNAME 10 9W2D ... FSHCODE A,SKIPINB1 4 9W4B ...( 9 9W6# ... NOTALIEN SKIPINB1 13 9W8= ... TRANCHKN FSHWORKID,EQUAL,SKIPINB1 7 9W=8 ... TRANSFIN 5 9W#6 ...SKIPINB1 4 9WB4 ...) 8 9WD6 BRN TEMPB 5 9WXQ TEMPQ 17 9XCB PARANEXT , ,4 [SPLIT AT BRACKETS 11 9XM8 ... TESTREP2 TOOMANY,MESS9 9 9XX2 CALL 1 TESTPAIR 9 9X_9 ... FSHCODE B,SKIPA2 4 9Y3D ...( 16 9Y5M ... TRANSBEG FSHWORKID,NORMALUS,8,CLB,,ACOMMUNE1 9 9Y7W ... BRN TOTREP 5 9Y=5 ...SKIPA2 4 9Y## ...) 7 9YBL WORKNAME 5 9YLD ...TOTREP 9 9YW= TESTREPN OK,NOCUNI 10 9_*W MHUNT 2,CPB,CUNI 7 9_TG FREECORE 2 5 =2*6 NOCUNI 5 =2SQ TEMPB 7 =3#B LDX 0 7 8 =3S2 ANDN 0 #20 9 =4?L BZE 0 YESMESS 10 =4R= TESTREP NOFILE,XOUT 5 =5=W YESMESS 10 =5QG TESTREP NAME,NAMEW 10 =6=6 TESTREP NOMESS,XFRE 15 =6PQ TESTREPN OK,NAMEW [J IF ERROR 19 =79B HUNT 2,FILE,ADJUNCTS [ & SET UP AN ADJUNCTS BLOCK 17 =7P2 BPZ 2 STUNC [ IF THERE ISN'T ONE 10 =88L GETCOREN ADPAIR-A1,1 18 =8N= FINDCORE 2 [SET UP AN ADJUNCTS BLOCK 11 =97W NAME 2,FILE,ADJUNCTS 9 =9MG LDN 0 ADPAIR-A1 15 ==76 STO 0 A1(2) [REC HEADER 17 ==LQ STOZ A1+1(2) [ZEROIZE MUDES WORD 9 =?6B STOZ A1+2(2) 9 =?L2 STOZ A1+3(2) 9 =#5L STOZ A1+4(2) 5 =#K= STUNC 21 =*4W LDCT 0 #200 [SET B1 OF MODES TO SHOW TEMP FILE 17 =*JG ORS 0 A1+1(2) [ TO SHOW TEMP FILE 18 =B46 LDN 0 5 [IF STOPLIST NO FABSNB 7 =BHQ SBX 0 7 8 =C3B BZE 0 NOMOR 10 =CH2 HUNT 2,FILE,FABSNB 21 =D2L LDN 0 #200 [SET B16 OF ATYPE TO SHOW ![DEC INT] 9 =DG= ORS 0 ATYPE(2) 15 =D_W BRN NOMOR [GO TO EXIT 4 =FFG [ 6 =F_6 TEMPQUALS 4 =GDQ [ 18 =GYB HUNT 1,CPB,CMULTI [SET X6 = LEVEL AT WHICH 18 =HD2 LDX 6 ANALEV(1) [ QUALIFIERS ARE FOUND 4 =HXL [ 6 =JC= TEMPQUALS2 4 =JWW [ 18 =KBG PARALYSE ,6 [DUMMY TO UPDATE POINTERS 11 =KL# ... TESTREP2 TOOMANY,MESS9 9 =KW6 CALL 1 TESTPAIR 7 =L*Q STOZ 5 19 =LTB BRN OMMA [GO TO PROCESS QU1&LIFIERS 5 =M*2 NILBRAK 9 =MSL ACROSS NORMERR,69 5 =N#= NODIRDET 9 =NRW ACROSS NORMERR,68 5 =P?G RILLDET 10 =PR6 ACROSS NORMERR,60 5 =Q=Q RNODET 10 =QQB ACROSS NORMERR,61 5 =R=2 MESS1 9 =RPL ACROSS NORMERR,1 8 =S9= MLET BNG 4 MESS7 8 =SNW BZE 4 MESS7 5 =T8G MESS2 9 =TN6 ACROSS NORMERR,2 5 =W7Q MESS3 9 =WMB ACROSS NORMERR,3 5 =X72 MESS4 9 =XLL ACROSS NORMERR,4 5 =Y6= MESS5 9 =YKW ACROSS NORMERR,5 5 =_5G MESS6 9 =_K6 ACROSS NORMERR,96 5 ?24Q MESS7 9 ?2JB ACROSS NORMERR,7 5 ?342 MESS8 10 ?3HL ACROSS NORMERR,62 5 ?3NS ...MESS9 10 ?3W2 ... ACROSS NORMERR,34 5 ?43= NAMEW 10 ?4GW ACROSS NORMERR,13 5 ?52G MESS10 10 ?5G6 ACROSS NORMERR,16 4 ?5_Q XFRE 9 ?6FB SETREP NAMEFORM 4 ?6_2 XOUT 5 ?7DL UP 5 ?7Y= XPEDI 9 ?8CW ACROSS NORMERR,8 4 ?8XG XB 9 ?9C6 ACROSS NORMERR,9 4 ?9WQ XQ 10 ?=BB ACROSS NORMERR,10 5 ?=W2 TESTPAIR 11 ??*L TESTREP UNPAIR,XUNPAIR 7 ??T= EXIT 1 0 5 ?##W XUNPAIR 10 ?#SG ACROSS NORMERR,11 4 ?*#6 [ 11 ?*RQ MENDAREA 30,K99NORMALUS 4 ?B?B #END 8 ____ ...33706354000200000000