14 22FL #LIS K0PARAM>K0ALLGEO>K0GREATGEO>K0COMMAND 17 22_= #SEG PARAM [ BILL IZATT : CENT 9 23DW 8HPARAM 8 23YG [ THE ENTRY POINTS 19 24D6 [ THESE ENTRY POINTS MUST BE KEPT FIXED WITHIN THE SEGMENT 11 24XQ SEGENTRY K3PARAM,QENTRY3 11 25CB SEGENTRY K4PARAM,QENTRY4 11 25X2 SEGENTRY K5PARAM,QENTRY5 11 26BL SEGENTRY K7PARAM,QENTRY7 11 26W= SEGENTRY K8PARAM,QENTRY8 11 27*W SEGENTRY K9PARAM,QENTRY9 12 27QB ...[ ENTRY POINTS NO LONGER USED 9 286W ... BRN (GEOERR) 9 28HB ... BRN (GEOERR) 9 28XW ... BRN (GEOERR) 11 29#B SEGENTRY K14PARAM,QENTRY14 11 29S2 SEGENTRY K15PARAM,QENTRY15 11 2=?L SEGENTRY K16PARAM,QENTRY16 12 2=P2 ...[ ENTRY POINTS NO LONGER USED 9 2?6B ... BRN (GEOERR) 9 2?HQ ... BRN (GEOERR) 11 2?_6 ... SEGENTRY K19PARAM,QENTRY19 11 2#BG ... SEGENTRY K20PARAM,QENTRY20 11 2#RW ... SEGENTRY K25PARAM,QENTRY25 4 2*9B [ 4 2*P2 [ 20 2*XS ...[ THIS SEGMENT IS ENTERED BY THE PARAMETER PASSING MACROS 21 2B6L ...[ AND MISCELLANEOUS MACROS CONCERNED WITH COMMAND PARAMETERS 14 2B*D ...[ ENTRY POINTS - PARANOT - K3 14 2BJ= ...[ PARABEG - K4 14 2BR4 ...[ PARAPASS - K5 14 2B_W ...[ PARAFREE - K7 14 2C8N ...[ PARATYPE - K8 14 2CCG ...[ PARANUMB - K9 14 2CL# ...[ SPARABEG - K14 14 2CT6 ...[ SPARAPASS - K15 14 2D3Y ...[ SPARANOT - K16 14 2D=Q ...[ SPARUNAC - K19 14 2DFJ ...[ PARUNACC - K20 19 2DNB ...[ K25 - ENTRY FROM ANALYSEA TO COMPLETE PARANEXT ETC 21 2DX8 ...[ ON COMPLETION EACH ROUTINE GOES UP TO THE CALLING ROUTINE 4 2F6B # 9 2FL2 MASK #17777777 9 2G5L UPDT #10001 9 2GK= ...MINUS1 #77777777 8 2T*2 SPACE #20 9 2TSL ...WBLANK #20202020 4 2WRW # 21 2X?G [ SUBROUTINE TO LOCATE A COMMAND PARAMETER BLOCK ACCORDING 21 2XR6 [ TO THE ANALYSIS LEVEL SPECIFIED IN EXT+2 IN THE ACTIVITY 6 2Y=Q SEARCHLEV 8 2YQB LDX 2 FX2 9 2_=2 P2 LDX 2 FPTR(2) 17 2_PL LDCH 0 ATYPE(2) [CHECK IS A CPB BLOCK 9 329= SBN 0 CPB/64 16 32NW BNZ 0 P2 [BRANCH IF NOT 9 338G LDX 0 ATYPE(2) 8 33N6 SRL 0 12 9 347Q ERN 0 CPB+CUNI 17 34MB BZE 0 P2 [REJECT IF UNIBLOCK 8 3572 SMO FX2 20 35LL LDX 1 EXT+2 [ANALYSIS LEVEL OF REQUIRED BLOCK 21 366= BNG 1 RET [BRANCH IF ANALYSIS LEVEL 'LOWEST' 17 36KW TXL 1 ANALEV(2) [CHECK ANALYSIS LEVEL 8 375G BCS P3 9 37K6 TXU 1 ANALEV(2) 8 384Q BCC RET 7 38JB NGN 4 1 21 3942 BRN NOPARAM [ERROR IF ANALYSIS LEVEL TOO LARGE 9 39HL P3 LDX 2 FPTR(2) 9 3=3= TXU 1 ANALEV(2) 21 3=GW BCS P3 [BRANCH IF NOT CORRECT ANALYSIS LEVEL 17 3?2G RET EXIT 7 0 [BLOCK FOUND, RETURN 4 3?55 ...# 21 3?7N ...[ SUBROUTINE TO MOVE CHARACTERS (SAVES SPACE IN SEGMENT) 5 3?=? ...XCHMOVE 8 3?#W ... CHARMOVE 6,1 7 3?CF ... EXIT 4 0 4 3?G6 # 17 3?_Q [ ROUTINE IF PARAMETER NULL OR NON EXISTANT 8 3#FB NULLP SMO FX1 8 3#_2 LDX 7 UPDT 21 3*DL ADS 7 APTBEPAR(2) [UPDATE POINTER TO NEXT PAR. TO BE PA 21 3*Y= NULLQ LDX 3 ANALEV(2) [X3 HOLDS ANALYSIS LEVEL OF PARENT BL 21 3BCW LDX 6 CPBPROGLEV(2) [IF NOT ALAS BLOCK,HOLDS NO. IN ALAS 5 3BXG NOPARAM 7 3CC6 LDN 7 2 18 3CWQ GETCORE 7,1 [GET A BLOCK OF 2 WORDS 7 3DBB FINDCORE 2 10 3DW2 NAME 2,CPB,CUNI 19 3F*L STO 4 ANUM(2) [SET NULL OR ABSENT PARAMETER 19 3FT= BNZ 4 VAMOS [END IF NOT NULL PARAMETER 8 3G#W SMO FX2 8 3GSG LDX 1 EXT+3 21 3H#6 ORS 1 ATYPE(2) [STO NO. OF PARAMETER IN PARENT BLOCK 17 3HRQ BZE 3 XALAS [BRN IF ALAS BLOCK 21 3J?B LDX 1 6 [X1 NOW HOLDS NO OF PARAMETER IN ALAS 15 3JR2 XALAS STO 1 JPARNUM(2) [SET JPARNUM 5 3K=L UP 8 3KQ= VAMOS SMO FX2 8 3L9W LDX 7 EXT+2 7 3LPG NGN 5 1 7 3M96 LDX 3 2 8 3MNQ BZE 7 VAMOT 8 3N8B BNG 7 VAMOT 9 3NN2 HUNT 2,CPB,CMULTI 8 3P7L BNG 2 XJUMP 9 3PM= SBX 7 ANALEV(2) 8 3Q6W BZE 7 VAMOU 8 3QLG BPZ 7 XJUMP 9 3R66 VAMOT CALL 7 SEARCHLEV 10 3RKQ VAMOU LDX 5 APARANUM(2) 7 3S5B ADN 5 1 9 3SK2 ORS 5 ATYPE(3) 9 3T4L LDX 0 ANALEV(2) 8 3TJ= BZE 0 XJUMP 10 3W3W LDX 5 CPBPROGLEV(2) 10 3WHG XJUMP STO 5 JPARNUM(3) 5 3X36 UP 4 3XGQ # 9 3Y2B [ PARANOT 4 3YG2 # 21 3Y_L [ ON ENTRY,EXT+3(2) HOLDS THE NUMBER OF THE PARAMETER REQUE 21 3_F= [ AND EXT+2(2) HOLDS THE ANALYSIS LEVEL OF BLOCK CONTAINING 17 3_YW [ EXT+7 IS SET -1 IN THE CASE OF SPARANOT . 5 42DG QENTRY16 7 42Y6 NGN 0 1 9 43CQ STO 0 EXT+7(2) 8 43XB BRN ST2 5 44C2 QENTRY3 9 44WL STOZ EXT+7(2) 4 45B= ST2 19 45TW CALL 7 SEARCHLEV [FIND MULTI PARAMETER BLOCK 11 46*G #SKI K6PARAM>499-499 8 46T6 TRACE 2,NOT 8 47#Q SMO FX2 16 47SB LDX 1 EXT+3 [PARAMETER NUMBER 19 48#2 LDN 5 APARAFIR [POINTER TO FIRST PARAMETER 8 48RL BRN NCHA 21 49?= NPARA ANDN 4 #7777 [EXTRACT NO. OF CHARACTERS IN PARAMET 7 49QW ADN 4 7 7 4==G SRL 4 2 19 4=Q6 ADX 5 4 [POINTER TO NEXT PARAMETER 7 4?9Q NCHA SMO 5 20 4?PB LDX 4 0(2) [NO. OF CHARACTERS IN PARAMETER 8 4#92 SMO FX1 9 4#NL TXU 4 MINUS1 17 4*8= BCC NOPARAM [BRN IF END OF BLOCK 19 4*MW BCT 1 NPARA [BRANCH IF NOT N'TH PARAMETER 8 4B7G #SKI AJOBUSE<1$1 4 4BM6 ( 9 4C6Q LDX 7 ANALEV(2) 17 4CLB BNZ 7 MULT1 [BRN NOT ALAS BLOCK 4 4D62 ) 8 4DKL LDCT 7 #400 7 4F5= SMO 5 20 4FJW ORS 7 0(2) [INDICATE 'ACCESSED' IN TYPE WORD 19 4G4G LDXC 4 4 [REMOVE 'ACCESSEO' BIT IF SET 19 4GJ6 MULT1 BZE 4 NULLQ [N'TH PARAMETER,BRN IF NULL 21 4H3Q ANDN 4 #7777 [EXTRACT NO. OF CHARACTERS IN PARAMET 8 4HHB ADN 4 11 19 4J32 SRL 4 2 [SIZE OF PARAMETER IN WORDS 19 4JGL STO 2 6 [STORE ADDRESS OF MULTI BLOCK 7 4K2= PHOTO 7 20 4KFW GETCORE 4,1 [GET A BLOCK SIZE OF PARAMETER 7 4K_G FINDCORE 3 15 4LF6 NAME 3,CPB,CUNI [NAME BLOCK 9 4LYQ LDX 1 EXT+3(2) 19 4MDB ORS 1 ATYPE(3) [STORE NUMBER OF PARAMETER 19 4MY2 LDX 2 6 [LOAD ADDRESS OF MULTI BLOCK 9 4NCL TESTMOVE 7,NSER1 21 4NX= CALL 7 SEARCHLEV [FIND MULTI PARAMETER BLOCK IF MOVED 9 4PBW NSER1 LDX 7 ANALEV(2) 17 4PWG BZE 7 ZAL1 [BRN IF ALAS BLOCK 10 4QB6 LDX 7 CPBPROGLEV(2) 8 4QTQ BRN STJP1 8 4R*B ZAL1 SMO FX2 8 4RT2 LDX 7 EXT+3 21 4S#L STJP1 STO 7 JPARNUM(3) [STO NO. OF PAR. IN ORIGINAL ALAS BLO 7 4SS= SMO 5 8 4T?W LDX 1 0(2) 20 4TRG ANDN 1 #7777 [NO. OF CHARACTERS IN PARAMETER 7 4W?6 SMO 5 21 4WQQ LDN 6 0(2) [ADDRESS OF PARAMETER IN MULTI BLOCK 17 4X=B LDN 7 ANUM(3) [ADDRESS IN UNI BLOCK 16 4XQ2 MVCH 6 4 [STO PT/N WORD 8 4Y9L SMO FX2 8 4YP= LDX 0 EXT+7 16 4_8W BNG 0 SPAR1 [BRN IF SPARANOT 20 4_NG LDX 0 1 [NO.OF CHARS TO BE TRANSFERRED 20 5286 XGNC1 LDX 1 6 [ADDRESS OF NEXT CHAR IN MODIFIER 16 52MQ LDCH 4 0(1) [LOAD NEXT CHAR 8 537B SMO FX1 8 53M2 TXU 4 SPACE 16 546L BCS MVCH1 [BRN NOT SPACE 7 54L= LDN 5 1 19 555W SBS 5 ANUM(3) [REDUCE NO.OF CHARS FOR SPACE 7 55KG BCHX 6 / 8 5656 BRN XBCT1 18 56JQ MVCH1 MVCH 6 1 [STO A CHAR IN UNIBLOCK 16 574B XBCT1 BCT 0 XGNC1 [GET NEXT CHAR 9 57J2 LDX 1 ANUM(3) 7 583L ANDN 1 3 18 58H= ... BZE 1 XCSB [PAR IS EXACT NO OF WORDS 7 592W SBN 1 4 20 59GG NGX 1 1 [X1 HOLDS NO. OF SPACES NEEDED 8 5=26 SMO FX1 9 5=FQ LDN 6 WBLANK 17 5=_B MVCH 6 0(1) [SPACEFILL LAST WORD 8 5?F2 ... BRN XCSB 8 5?YL SPAR1 SMO FX1 9 5#D= LDX 0 WBLANK 7 5#XW ...XCHMV SMO 4 17 5*CG STO 0 A1-1(3) [SPACEFILL LAST WORD 9 5*X6 ... CALL 4 XCHMOVE 8 5BBQ ...XCSB SMO FX1 8 5BWB LDX 1 MASK 18 5CB2 ANDS 1 ANUM(3) [CLEAR ANY 'ACCESSED' BIT 5 5CTL UP 4 5D*= # 9 5DSW [ PARABEG 4 5F#G # 21 5FS6 [ ON ENTRY EXT+4(2) HOLDS A COUNT OF THE NO. OF CHARACTERS 21 5G?Q [ IN THE STRING CONTAINED IN EXT+5(2) AND EXT+6(2).EXT+3(2) 21 5GRB [ HOLDS THE NO. OF THE PARAMETER STARTING WITH THIS STRING 20 5H?2 [ REQUIRED, EXT+2(2) HOLDS THE ANALYSIS LEVEL OF THE BLOCK 21 5HQL [ CONTAINING THE PARAMETER. EXT+7(2) IS -1 FOR SPARABEG . 5 5J== QENTRY14 7 5JPW NGN 0 1 9 5K9G STO 0 EXT+7(2) 8 5KP6 BRN ST 5 5L8Q QENTRY4 9 5LNB STOZ EXT+7(2) 4 5M82 ST 9 5MML LDX 0 EXT(2) 9 5N7= STO 0 AWORK1(2) 18 5NLW [ REMOVE SPACES FROM SPECIFIED CHARACTER STRING 7 5P6G LDN 3 0 16 5PL6 LDX 4 EXT+4(2) [CHARACTER COUNT 7 5Q5Q LDN 0 8 7 5QKB TXL 0 4 8 5R52 BCC TACH 7 5RJL LDN 4 8 8 5S4= BRN TACH 7 5SHW UD2 BCHX 2 / 19 5T3G TACH LDCH 5 EXT+5(2) [TAKE A CHARACTER FROM STRING 9 5TH6 TXU 5 SPACE(1) 16 5W2Q BCS NSP [BRN IF NOT SPACE 7 5WGB LDN 0 1 8 5X22 SMO FX2 20 5XFL SBS 0 EXT+4 [REDUCE CHARACTER COUNT FOR SPACE 8 5X_= BRN SB4 21 5YDW NSP DCH 5 6(3) [STO A CHARACTER OF CENSORED STRING 7 5YYG BCHX 3 / 18 5_D6 SB4 BCT 4 UD2 [GO TO GET NEXT CHARACTER 8 5_XQ LDX 2 FX2 9 62CB STO 6 EXT+5(2) 17 62X2 STO 7 EXT+6(2) [STO CENSORED STRING 9 63BL CALL 7 SEARCHLEV 11 63W= #SKI K6PARAM>499-499 8 64*W TRACE 2,BEG 8 64TG LDX 3 FX2 16 65*6 LDX 1 2 [MULTIBLOCK DATUM 19 65SQ ADN 2 APARAFIR [POINTER TO FIRST PARAMETER 20 66#B LDX 0 EXT+4(3) [COUNT OF CHARACTERS IN STRING 7 66S2 LDN 5 0 8 67?L BRN NUMCH 4 67R= # 20 68=W WRONF STO 0 EXT+3(3) [UPDATE NO. OF PARAMETER REQUIRED 8 68QG WRONG LDX 3 FX2 18 69=6 LDX 4 EXT+1(3) [RELOAD CHARACTER COUNT 9 69PQ LDX 2 EXT(3) 9 6=9B LDX 0 EXT+4(3) 7 6=P2 NCPAR ADN 4 7 21 6?8L SRL 4 2 [GET LENGTH OF PARAMETER +1 IN WORDS 21 6?N= ADX 2 4 [UPDATE 2 TO POINT TO NEXT PARAMETER 19 6#7W NUMCH ADN 5 1 [NO OF PARAMETERS LOOKED AT 8 6#MG LDX 4 0(2) 8 6*76 SMO FX1 9 6*LQ TXU 4 MINUS1 19 6B6B BCC NOPARAM [END IF NO MORE PARAMETERS 18 6BL2 ANDN 4 #7777 [ISOLATE NO OF CHARACTERS 18 6C5L STO 4 EXT+1(3) [PRESERVE CHARACTER COUNT 9 6CK= TXL 4 EXT+4(3) 21 6D4W BCS NCPAR [WRONG PARAMETER IF SHORTER THAN STRI 19 6DJG STO 2 EXT(3) [HOLD POINTER TO PT/N WORD 8 6F46 SMO FX2 9 6FHQ LDX 6 AWORK1 16 6G3B BNG 6 XCOMP [ORDINARY PARABEG 8 6GH2 LDX 6 0(2) 20 6H2L BNG 6 WRONG [DO NOT CHECK ACCESSED PARAMETER 20 6HG= XCOMP LDCH 6 1(2) [GET A CHARACTER FROM PARAMETER 8 6H_W SMO FX1 8 6JFG TXU 6 SPACE 16 6J_6 BCS OK [BRN IF NOT SPACE 21 6KDQ BCHX 2 / [IGNORE SPACE CHARACTER IN COMPARISON 20 6KYB SBN 4 1 [REDUCE CHARACTER COUNT FOR SPACE 8 6LD2 BRN XCOMP 9 6LXL OK LDCH 7 EXT+5(3) 7 6MC= TXU 6 7 17 6MWW BCS WRONG [BRN IF DISSIMILAR 7 6NBG BCHX 2 / 7 6NW6 BCHX 3 / 20 6P*Q BCT 0 XCOMP [BRN TO COMPARE ANOTHER CHARACTER 8 6PTB LDX 3 FX2 21 6Q*2 SBX 4 EXT+4(3) [NO OF CHARS IN RESIDUAL PARAMETER 18 6QSL BPZ 4 OK1 [BRN IF CORRECT PARAMETER 21 6R#= BRN WRONG [PARAMETER HAS GOT THROUGH BACK DOOR 4 6RRW OK1 21 6S?G LDX 0 EXT+3(3) [NO. OF 'CORRECT' PARAMETER REQUIRED 21 6SR6 BCT 0 WRONF [BRN IF NOT 'CORRECT' PARAMETER REQUI 8 6T=Q #SKI AJOBUSE<1$1 4 6TQB ( 16 6W=2 LDX 7 ANALEV(1) [ANALYSIS LEVEL 17 6WPL BNZ 7 MULT3 [BRN NOT ALAS BLOCK 4 6X9= ) 8 6XNW LDCT 7 #400 9 6Y8G SMO EXT(3) 21 6YN6 ORS 7 0 [SET 'ACCESSED' IF ALAS BLOCK PARAMET 21 6_7Q MULT3 STO 5 EXT+3(3) [HOLD NO OF PARAMETER IN PARENT BLOCK 19 6_MB BNZ 4 UNNUL [BRN IF NOT NULL PARAMETER 16 7272 LDX 2 1 [MULTIBLOCK DATUM 8 72LL BRN NULLQ 5 736= UNNUL 7 73KW STO 4 5 8 745G ADN 5 11 19 74K6 SRL 5 2 [LENGTH OF PARAMETER +2 IN X5 17 754Q SBS 1 EXT(3) [RELATIVISE POINTER 8 75JB GETCORE 5,1 7 7642 FINDCORE 3 15 76HL NAME 3,CPB,CUNI [NAME BLOCK 9 773= LDX 6 EXT+3(2) 17 77GW ORS 6 ATYPE(3) [STO NO OF PARAMETER 9 782G LDX 5 EXT(2) 19 78G6 CALL 7 SEARCHLEV [FIND MULTI PARAMETER BLOCK 16 78_Q LDX 7 ANALEV(2) [ANALYSIS LEVEL 17 79FB BZE 7 STJP3 [BRN IF ALAS BLOCK 10 79_2 LDX 6 CPBPROGLEV(2) 21 7=DL STJP3 STO 6 JPARNUM(3) [PASS ON ALAS BLOCK SOURCE PARAMETER 18 7=Y= STO 4 ANUM(3) [STORE CHARACTER COUNT 8 7?CW SMO FX1 8 7?XG LDX 1 MASK 16 7#C6 ANDS 1 ANUM(3) [CLEAR SIGN BIT 7 7#WQ SMO 5 21 7*BB LDN 6 1(2) [ADDRESS OF PARAMETER IN MULTI BLOCK 7 7*W2 SLC 6 2 8 7B*L SMO FX2 20 7BT= ADX 6 EXT+1 [EXT+1 - X4 REPRESENTS THE NO. OF 21 7C#W SBX 6 4 [CHARACTERS LOST DURING COMPARISON 21 7CSG SRC 6 2 [HENCE X6 IS NOW POINTER TO 1ST CHAR 17 7D#6 LDN 7 APARA(3) [ADDRESS IN UNI BLOCK 8 7DRQ SMO FX2 8 7F?B LDX 0 EXT+7 16 7FR2 BNG 0 SPAR3 [BRN IF SPARABEG 7 7G=L XGNC3 LDX 1 6 20 7GQ= LDCH 0 0(1) [GET NEXT CHARACTER OF PARAMETER 8 7H9W SMO FX1 8 7HPG TXU 0 SPACE 16 7J96 BCS MVCH3 [BRN IF NOT SPACE 7 7JNQ LDN 5 1 19 7K8B SBS 5 ANUM(3) [REDUCE NO.OF CHARS FOR SPACE 7 7KN2 BCHX 6 / 8 7L7L BRN XBCT3 21 7LM= MVCH3 MVCH 6 1 [PARABEG: STO A CHARACTER IN UNIBLOCK 16 7M6W XBCT3 BCT 4 XGNC3 [GET NEXT CHAR 9 7MLG LDX 4 ANUM(3) 20 7N66 SFILL [SPACEFILL LAST WORD OF PARAMETER 7 7NKQ ANDN 4 3 8 7P5B BZE 4 XEND3 7 7PK2 LDN 1 4 20 7Q4L SBX 1 4 [X1 HOLDS COUNT FOR SPACEFILLING 8 7QJ= SMO FX1 9 7R3W LDN 6 WBLANK 19 7RHG MVCH 6 0(1) [SPACEFILL TO COMPLETE WORD 5 7S36 XEND3 13 7SGQ [ EVALUATE PARAMETER TYPE 13 7T2B PTYPE CPB,CUNI,3,APARA,ANUM(3) 5 7TG2 XEND4 5 7T_L UP 13 7WF= [ REMOVE ANY LEADING SPACES 7 7WYW SPAR3 LDX 2 6 7 7XDG LDN 0 1 8 7XY6 BRN SBEG3 9 7YCQ SBEG1 SBS 0 ANUM(3) 8 7YXB BCT 4 SBEG2 16 7_C2 STOZ ANUM(3) [NULL PARAMETER 8 7_WL BRN XEND4 7 82B= SBEG2 BCHX 2 / 8 82TW SBEG3 LDCH 5 0(2) 8 83*G SMO FX1 8 83T6 TXU 5 SPACE 17 84#Q BCC SBEG1 [IF SPACE,LOOK AGAIN 19 84SB LDX 6 2 [NON-SPACE CHARACTER FOUND 19 8548 ... LDX 1 4 [TRANSFER X4 TO X1 FOR CALL 21 85#2 ... CALL 4 XCHMOVE [SPARABEG: STO PARAMETER IN UNIBLOCK 16 85HS ... STO 1 4 [RETURN X1 TO X4 8 85RL BRN SFILL 4 86?= # 9 86QW [ PARAPASS 4 87=G # 21 87Q6 [ ON ENTRY EXT+2(2) = THE ANALYSIS LEVEL OF THE BLOCK CONTA 20 889Q [ THE REQUIRED PARAMETER. EXT+7(2) = -1 IF SPARAPAS . 5 88PB QENTRY15 7 8992 NGN 0 1 9 89NL STO 0 EXT+7(2) 8 8=8= BRN ST1 5 8=MW QENTRY5 9 8?7G STOZ EXT+7(2) 5 8?M6 QENTRY25 4 8#6Q ST1 19 8#LB CALL 7 SEARCHLEV [FIND MULTI PARAMETER BLOCK 10 8*62 PASS LDX 5 APTBEPAR(2) 11 8*KL #SKI K6PARAM>499-499 9 8B5= TRACE 2,PASS 19 8BJW SRL 56 12 [POINTER TO PARAMETER IN X5 19 8C4G SRL 6 12 [NUMBER OF PARAMETER IN X6 8 8CJ6 SMO FX2 8 8D3Q STO 6 EXT+3 7 8DHB SMO 5 21 8F32 LDX 4 0(2) [NUMBER OF CHARACTERS IN PARAMETER 8 8FGL SMO FX1 9 8G2= TXU 4 MINUS1 19 8GFW BCC NOPARAM [BRN IF NO MORE PARAMETERS 8 8G_G #SKI AJOBUSE<1$1 4 8HF6 ( 9 8HYQ LDX 7 ANALEV(2) 8 8JDB BNZ 7 MULT2 4 8JY2 ) 8 8KCL LDCT 7 #400 7 8KX= SMO 5 21 8LBW ORS 7 0(2) [INDICATE 'ACCESSED' IN PARAMETER TYP 20 8LWG LDXC 4 4 [REMOVE 'ACCESSED' BIT IF PRESENT 18 8MB6 MULT2 BZE 4 NULLP [BRN IF NULL PARAMETER 21 8MTQ ANDN 4 #7777 [EXTRACT NO. OF CHARACTERS IN PARAMET 8 8N*B ADN 4 11 19 8NT2 SRL 4 2 [SIZE OF PARAMETER IN WORDS 19 8P#L STO 2 3 [STORE ADDRESS OF MULTI BLOCK 7 8PS= PHOTO 7 8 8Q?W GETCORE 4,1 7 8QRG FINDCORE 1 7 8R?6 LDX 2 3 7 8RQQ LDX 3 1 10 8S=B NAME 3,CPB,CUNI 21 8SQ2 ORS 6 ATYPE(3) [STO NO. OF PARAMETER IN PARENT BLOCK 9 8T9L TESTMOVE 7,NSER2 21 8TP= CALL 7 SEARCHLEV [FIND MULTI PARAMETER BLOCK IF MOVED 9 8W8W NSER2 LDX 7 ANALEV(2) 17 8WNG BZE 7 ZAL2 [BRN IF ALAS BLOCK 10 8X86 LDX 7 CPBPROGLEV(2) 8 8XMQ BRN STJP2 8 8Y7B ZAL2 SMO FX2 8 8YM2 LDX 7 EXT+3 21 8_6L STJP2 STO 7 JPARNUM(3) [SET NO. OF ALAS PAR. THIS PAR. DERIV 16 8_L= ADX 4 5 [UPDATE POINTER 7 925W SBN 4 1 18 92KG ADN 6 1 [UPDATE PARAMETER NUMBER 21 9356 STO 6 APTBEPAR(2) [STO NO. OF NEXT PARAMETER TO BE PASS 8 93JQ SLL 4 12 21 944B ORS 4 APTBEPAR(2) [STO POINTER TO NEXT PARAMETER TO BE 7 94J2 SMO 5 17 953L LDX 1 0(2) [SIZE OF PARAMETER 8 95H= ANDN 1 #7777 7 962W SMO 5 21 96GG LDN 6 0(2) [ADDRESS OF PARAMETER IN MULTI BLOCK 17 9726 LDN 7 ANUM(3) [ADDRESS IN UNI BLOCK 16 97FQ MVCH 6 4 [STO PT/N WORD 8 97_B SMO FX2 8 98F2 LDX 0 EXT+7 16 98YL BNG 0 SPAR2 [BRN IF SPARAPAS 20 99D= LDX 0 1 [NO OF CHARS TO BE TRANSFERRED 20 99XW XGNC2 LDX 1 6 [ADDRESS OF NEXT CHAR IN MODIFIER 16 9=CG LDCH 4 0(1) [LOAD NEXT CHAR 8 9=X6 SMO FX1 8 9?BQ TXU 4 SPACE 16 9?WB BCS MVCH2 [BRN NOT SPACE 7 9#B2 LDN 5 1 18 9#TL SBS 5 ANUM(3) [SPACE;REDUCE NO.OF CHARS 8 9**= SMO FX2 21 9*SW SBS 5 EXT+7 [SET EXT+7 -VE IF SPACE FOUND (JOB) 7 9B#G BCHX 6 / 8 9BS6 BRN XBCT2 18 9C?Q MVCH2 MVCH 6 1 [STO A CHAR IN UNIBLOCK 16 9CRB XBCT2 BCT 0 XGNC2 [GET NEXT CHAR 9 9D?2 LDX 1 ANUM(3) 7 9DQL ANDN 1 3 21 9F== ... BZE 1 XCSB [J IF PARAMETER IS EXACT NO. OF WORDS 7 9FPW SBN 1 4 17 9G9G NGX 1 1 [SPACE COUNT IN X1 8 9GP6 SMO FX1 9 9H8Q LDN 6 WBLANK 20 9HNB MVCH 6 0(1) [SPACEFILL LAST WORD OF PARAMETER 8 9J82 ... BRN XCSB 8 9JML SPAR2 SMO FX1 9 9K7= LDX 0 WBLANK 7 9KLW LDX 4 1 8 9L6G ADN 4 11 20 9LL6 SRL 4 2 [SIZE OF PARAMETER IN WORDS +2 8 9M5Q ... BRN XCHMV 4 9QH6 # 19 9R2Q [ PARUNACC AND SPARUNAC MACROS. TO GET THE FIRST UNACCESSED 21 9RGB [ PARAMETER AND UPDATE THE PARAPASS POINTER TO THE NEXT UNACCESSED 7 9S22 [ PARAMETER. 15 9SFL QENTRY19 [ SPARUNAC 7 9S_= NGN 0 1 9 9TDW STO 0 EXT+7(2) 8 9TYG BRN STACC 15 9WD6 QENTRY20 [ PARUNACC 9 9WXQ STOZ EXT+7(2) 5 9XCB STACC 10 9XX2 MHUNTW 3,CPB,CALAS 10 9YBL LDX 7 APTBEPAR(3) 17 9YW= LDN 6 0 [NUMBER OF PARAMETER 8 9_*W SRC 67 12 17 9_TG SRL 6 12 [POINTER TO PARAMETER 21 =2*6 XLOP SMO 7 [LOOK DOWN PARAMETERS IN CALAS BLOCK 19 =2SQ LDX 4 0(3) [FOR AN UNACCESSED PARAMETER 9 =3#B TXU 4 MINUS1(1) 8 =3S2 BCS XCO 9 =4?L STOZ EXT+2(2) 8 =4R= SLL 7 12 7 =5=W ORX 6 7 17 =5QG STO 6 APTBEPAR(3) [NOWT BUT ACCESSED 15 =6=6 BRN NOPARAM [PARAMETERS 8 =6PQ XCO BPZ 4 UNACC 8 =79B ANDN 4 #7777 7 =7P2 ADN 4 7 7 =88L SRL 4 2 7 =8N= ADX 7 4 7 =97W ADN 6 1 8 =9MG BRN XLOP 14 ==76 [ UNACCESSED PARAMETER FOUND 8 ==LQ UNACC ANDN 4 #7777 7 =?6B LDX 5 4 8 =?L2 ADN 5 11 7 =#5L SRL 5 2 11 =#K= SETUPCORE 5,3,CPB,CUNI 19 =*4W STO 6 JPARNUM(3) [PUT PARAMETER NUMBER AWAY 9 =*JG ORS 6 ATYPE(3) 10 =B46 MHUNTW 2,CPB,CALAS 7 =BHQ LDX 6 4 7 =C3B LDX 4 2 7 =CH2 LDX 5 3 7 =D2L ADX 4 7 8 =DG= ADN 5 ANUM 16 =D_W MVCH 4 4 [MOVE ANUM ACROSS 8 =FFG BZE 6 XPS 8 =F_6 SMO FX2 8 =GDQ LDX 0 EXT+7 16 =GYB BNG 0 SPR2 [J IF SPARUNAC 7 =HD2 XLP2 LDX 1 4 20 =HXL LDCH 0 0(1) [MOVE CHARACTERS ACROSS IGNORING 14 =JC= SMO FX1 [SPACES 8 =JWW TXU 0 SPACE 8 =KBG BCS MV 7 =KW6 LDN 0 1 9 =L*Q SBS 0 ANUM(3) 19 =LTB [ TO NOTIFY JOB-TYPE COMMANDS THAT THERE ARE SPACES 8 =M*2 SMO FX2 8 =MSL SBS 0 EXT+7 7 =N#= BCHX 4 / 8 =NRW BRN XBT 7 =P?G MV MVCH 4 1 8 =PR6 XBT BCT 6 XLP2 8 =Q=Q BRN SFIL 8 =QQB SPR2 CHARMOVE 4,6 17 =R=2 SFIL LDX 1 ANUM(3) [SPACEFILL LAST WORD 7 =RPL ANDN 1 3 8 =S9= BZE 1 XPS 7 =SNW SBN 1 4 7 =T8G NGX 1 1 8 =TN6 LDN 4 ACES 8 =W7Q MVCH 4 0(1) 4 =WMB XPS 8 =X72 LDX 1 FX1 8 =XLL LDX 0 GSIGN 7 =Y6= SMO 7 8 =YKW ORS 0 0(2) 10 =_5G LDX 6 JPARNUM(3) 7 =_K6 SMO 7 8 ?24Q LDX 0 0(2) 8 ?2JB XRET ANDN 0 #7777 7 ?342 ADN 0 7 7 ?3HL SRL 0 2 7 ?43= ADX 7 0 7 ?4GW ADN 6 1 20 ?52G SMO 7 [LOOP LOOKING FOR NEXT UNACCESSED 15 ?5G6 LDX 0 0(2) [PARAMETER 9 ?5_Q TXU 0 MINUS1(1) 8 ?6FB BCC XPNT 8 ?6_2 BNG 0 XRET 4 ?7DL XPNT 8 ?7Y= SLL 7 12 7 ?8CW ORX 6 7 10 ?8XG STO 6 APTBEPAR(2) 5 ?9C6 XST UP 4 ?9WQ # 9 ?=BB [ PARAFREE 4 ?=W2 # 21 ??*L [ ON ENTRY EXT+3(2) HOLDS THE ANALYSIS LEVEL INDICATING THE 18 ??T= [ HIGHEST LEVEL OF CPB,CMULTI BLOCK TO BE FREED 5 ?##W QENTRY7 7 ?#SG NGN 7 1 9 ?*#6 STO 7 EXT+2(2) 8 ?*RQ BRN SRCH 18 ?B?B MFREE FREECORE 2 [FREE TYPE CMULTI BLOCK 20 ?BR2 SRCH CALL 7 SEARCHLEV [FIND FIRST MULTI PARAMETER BLOCK 9 ?C=L LDX 7 ANALEV(2) 8 ?CQ= SMO FX2 21 ?D9W TXL 7 EXT+3 [COMPARE WITH SPECIFIED ANALYSIS LEVE 8 ?DPG BCS XGOUP 20 ?F96 BNZ 7 MFREE [BRANCH IF NOT A TYPE CALAS BLOCK 5 ?FNQ XGOUP UP 4 ?G8B # 9 ?GN2 [ PARATYPE 4 ?H7L # 21 ?HM= [ ON ENTRY EXT+3(2) HOLDS THE ACCUMULATOR WHERE THE TYPE IS 21 ?J6W [ TO BE STORED,AND EXT+2(2) THE ANALYSIS LEVEL OF THE MULTI 21 ?JLG [ BLOCK DERIVED FROM THE PARAMETER OF WHICH TYPE IS REQUEST 5 ?K66 QENTRY8 21 ?KKQ LDX 4 EXT+3(2) [ACCUMULATOR WHERE TYPE TO BE STORED 16 ?L5B LDX 7 EXT+2(2) [ANALYSIS LEVEL 8 ?LK2 BZE 7 OKAY1 8 ?M4L BNG 7 OKAY1 10 ?MJ= HUNT 2,CPB,CMULTI 16 ?N3W BNG 2 UNOK1 [NO MULTIBLOCK 9 ?NHG TXL 7 ANALEV(2) 8 ?P36 BCS OKAY1 21 ?PGQ UNOK1 NGN 7 1 [SPECIFIED ANALYSIS LWEL TOO LARGE 8 ?Q2B BRN TRACE 9 ?QG2 OKAY1 CALL 7 SEARCHLEV 10 ?Q_L LDX 7 APARANUM(2) 18 ?RF= BNG 7 TRACE [NON EXISTENT PARAMETER 8 ?RYW LDN 7 #7777 18 ?SDG ANDX 7 ATYPE(2) [TYPE OF PARENT PARAMETER 5 ?SY6 TRACE 11 ?TCQ #SKI K6PARAM>499-499 9 ?TXB TRACE 2,TYPE 17 ?WC2 FINDLINK 3 [LOCATE LINE BLOCK 7 ?WWL SBN 4 3 7 ?XB= SMO 4 21 ?XTW STO 7 ACC3(3) [STORE PARAMETER TYPE IN SPECIFIED AC 5 ?Y*G UP 4 ?YT6 # 9 ?_#Q [ PARANUMB 4 ?_SB # 21 #2#2 [ ON ENTRY,EXT+2(2) HOLDS AN ANALYSIS LEVEL. THE NUMBER OF. 21 #2RL [ PARAMETERS IN THE BLOCK CORRESPONDING TO THIS ANALYSIS LE 20 #3?= [ IS STORED IN THE ACCUMULATOR SPECIFIED IN EXT+3(2) . 5 #3QW QENTRY9 21 #4=G LDX 4 EXT+3(2) [ACCUMULATOR WHERE ANSWER TO BE STORE 16 #4Q6 LDX 7 EXT+2(2) [ANALYSIS LEVEL 8 #59Q BZE 7 OK2 8 #5PB BNG 7 OK2 10 #692 HUNT 2,CPB,CMULTI 8 #6NL BNG 2 UNOK2 9 #78= TXL 7 ANALEV(2) 19 #7MW BCS OK2 [SPECIFIED ANALYSIS LEVEL OK 9 #87G TXU 7 ANALEV(2) 8 #8M6 BCC OK2+1 7 #96Q UNOK2 NGN 7 1 9 #9LB BRN TPACE1 9 #=62 OK2 CALL 7 SEARCHLEV 17 #=KL LDX 7 APARANUM(2) [NUMBER OF PARAMETERS 5 #?5= TPACE1 11 #?JW #SKI K6PARAM>499-499 9 ##4G TRACE 2,NUMB 17 ##J6 STORE FINDLINK 3 [LOCATE LINK BLOCK 7 #*3Q SBN 4 3 7 #*HB SMO 4 21 #B32 STO 7 ACC3(3) [STORE NUMBER OF PARAMETERS IN SPECIF 5 #BGL UP 11 D_26 MENDAREA 1023-0?,K99PARAM 4 D_FQ #END 8 ____ ...77146016000300000000