15 22FL #SEG MONFIL70 [RJD GRIMWADE 7 22S3 ...#OPT K0MONFIL=0 15 236D ...#LIS K0MONFIL>K0MONCHAPS>K0ALLGEO>K0GREATGEO 7 23DW 8HMONFIL 11 23YG SEGENTRY K1MONFIL,SENTRY1 11 24D6 SEGENTRY K2MONFIL,SENTRY2 15 24XQ # THIS SEGMENT COMPILES A MESSAGE FROM THE 15 25CB # INGREDIENTS HELD IN AN ATEMP AND POSSIBLY 15 25X2 # AN ASET(PARAMETER) BLOCK INTO A BOUT BLOCK 4 26BL # 9 375G MFPDCTAB [EXPAND ! 13 37K6 # S/R TO FIND THE SPECIFIED PARAMETER 9 384Q # X1->ATEMP CHAR POSN 8 38JB # X3->AOUT CHAR POSN 10 3942 # EXIT+0 IF ERROR DETECTED 15 39HL # ON EXIT X2->FIRST WORD OF PARAM /<0 IF NOSUCH 9 3=3= # X1+3 UPDATED 12 3=GW # V SET IF PDC'S ARE 'SPECIAL' 15 3?2G # X4 PRESUMED COUNT OF CHARS LEFT IN ATEMP 15 3?G6 # WHATJUST IS JUSTIFICATION INDIC. ON EXIT 4 3?_Q # 7 3#FB PARAM BCHX 1 / 7 3#_2 SBN 4 1 8 3*DL LDCH 5 0(1) 8 3*Y= SBN 5 #41 18 3BCW BPZ 5 NOJUS [J IF FF CHAR A LETTER 8 3BXG ADN 5 #41 15 3CC6 ORX 6 5 [FIELD LENGTH 18 3CWQ BCHX 1 / [NEXT CHAR SHLD BE LETTER 7 3DBB SBN 4 1 8 3DW2 PARM1 LDCH 5 0(1) 8 3F*L SBNC 5 #41 15 3FT= BCS PERR [ERROR IF NOT 8 3G#W NOJUS LDX 2 FX2 10 3GSG STO 6 WHATJUST(2) 16 3H#6 LDX 2 PTRASET(2) [-> A1 OF ASET 8 3HRQ TXL 5 0(2) 8 3J?B BCS PEXST 18 3JR2 NGN 2 4095 [HERE IF NO SUCH PARAM 8 3K=L BRN PEND 14 3KQ= PEXST BZE 5 PFND [J IF'A' 8 3L9W PLOOP LDXC 6 2(2) 17 3LPG BCC PAR1 [J IF ORDINARY PARAM 7 3M96 SLL 6 1 17 3MNQ BPZ 6 PAR2 [J IF NOT OUTNUM'D 8 3N8B BDX 2 PNEXT 16 3NN2 PAR2 SRL 6 7 [WORD CT IN B6-17 8 3P7L ANDN 6 4095 16 3PM= BUX 6 PAR3 [+1 FOR 1ST WORD 7 3Q6W PAR1 ADN 6 7 7 3QLG SRL 6 2 18 3R66 PAR3 ADX 2 6 [ADD TOTAL LENGTH (WORDS) 8 3RKQ PNEXT BCT 5 PLOOP 18 3S5B PFND ADN 2 2 [X2->1ST WORD OF PARAM 8 3SK2 SMO FX2 9 3T4L LDX 6 PARTPTR 8 3TJ= LDCT 5 #40 7 3W3W SMO 6 16 3WHG ANDX 5 1 [TEST PACK BIT 16 3X36 BZE 5 PEND [J IF NOT PACKED 7 3XGQ BCHX 1 / 7 3Y2B SBN 4 1 8 3YG2 LDCH 5 0(1) 8 3Y_L ERX 5 0(2) 8 3_F= ANDN 5 #77 16 3_YW BZE 5 PEND [J IF PDC'S TALLY 8 42DG LDCH 5 0(1) 16 42Y6 PTEST BZE 5 PENDA [J IF NOTJOURN 9 43CQ SBN 5 JPDNULL 14 43XB BZE 5 PENDA [OR NULL 11 44C2 ADN 5 JPDNULL-JPDSKIP 14 44WL BZE 5 PENDA [OR SKIP 8 45B= LDX 5 0(2) 16 45TW BZE 5 PEND [J IF 'OUTNULL' 14 46*G ANDN 5 #77 [ASET PDC 8 46T6 BVCI PTEST 8 47SB PENDA BVS PEND 15 48#2 BVCI / [ENSURE V SET 4 48RL PEND 16 49?= BNG 4 PERR [J IF OVERSPILL 17 49QW BZE 4 PERR [OR IF COUNTED OUT 7 49Y4 ... ADN 0 1 4 4=5= ...PERR 8 4==G PEX SMO FX2 9 4=Q6 STO 4 REMAINS 8 4?9Q ... BRN (0) 6 4#NL SERR1 +18 12 4*8= 20HPDC'S DON'T TALLY! 6 4*MW SERR2 +20 13 4B7G 20HPARAM NOT OUTPARABLE 8 4BM6 SERR3 +19 13 4C6Q 20H!!ASSEMBLY ERROR !! 4 4CLB # 16 4D62 # S/R TO CONVERT S/L X5->ACOMMUNE5+6 (SIG-FIGS ONLY) 13 4DKL # X5 WILL LATER CONTAIN NO OF SIG-FIGS 15 4F5= # ACOMMUNE4 O/W V SHOULD BE SET O/S IF Z-SUPP 4 4FJW # 18 4G4G OCTALV ORX 0 GSIGN [ENSURE ZERO-SUPPRESSION 8 4GJ6 OCTAL LDX 1 FX2 13 4H3Q LDN 4 #23 [# 15 4HHB STO 4 SIGNW(1) [INTERFACE 7 4J32 LDN 6 8 18 4JGL BPZ 0 ONAGN [J IF NZ SUPP (V CLEAR) 19 4K2= BZE 5 OCTEX [J IF ZERO TO CONVERT-NOSIGS 7 4KFW LDN 4 0 7 4K_G OLOOP SLL 45 3 8 4LF6 BNZ 4 OHNZ 8 4LYQ BCT 6 OLOOP 7 4MDB ONAGN LDN 4 0 7 4MY2 SLL 45 3 9 4NCL OHNZ DCH 4 WORK8(1) 7 4NX= BCHX 1 / 8 4PBW BCT 6 ONAGN 8 4PWG OCTEN SBX 1 FX2 7 4QB6 SLC 1 2 7 4QTQ LDX 5 1 14 4R*B BRN (0) [CLEAR V 4 4RT2 # 12 4S#L # SIMILARLY FOR DECIMAL-X4=NUMBER 4 4SS= # 7 4T?W MAGIC +7036875 15 4TRG MINUS0 8H8388608 [#40000000 7 4TYN ...#SKI JWPHASE4 8 4W5W ...X2048 +2048 18 4W?6 TENSV ORX 0 GSIGN [ENSURE ZERO-SUPPRESSION 8 4WQQ TENS LDX 1 FX2 7 4X=B LDN 5 0 15 4XQ2 BZE 4 TENEX [OUT IF ZERO 8 4Y9L BPZ 4 TPOS 7 4YP= NGX 4 4 13 4_8W LDN 5 #35 [- 8 4_NG BPZ 4 TPOS 17 5286 STO 5 SIGNW(1) [HERE IF #40000000 8 52MQ SMO FX1 9 537B LDN 4 MINUS0 9 53M2 LDN 5 WORK8(1) 7 546L MVCH 4 7 7 54L= LDN 5 7 8 555W BRN (0) 15 55KG TPOS STO 5 SIGNW(1) [SIGN OR 0 8 5656 SMO FX1 8 56JQ MPY 4 MAGIC 7 574B LDN 6 7 8 57J2 BPZ 0 TNAGN 7 583L LDN 1 0 19 58H= TLOOP CBD 4 1(1) [CHUCK 0'S OFF INTO TOP OF X1 8 592W BNZ 1 TNZER 8 59GG BCT 6 TLOOP 8 5=26 TNZER SMO FX2 8 5=FQ STO 1 WORK8 8 5=_B LDX 1 FX2 8 5?F2 BRN TNAGO 9 5?YL TNAGN CBD 4 WORK8(1) 7 5#D= TNAGO BCHX 1 / 8 5#XW BCT 6 TNAGN 8 5*CG BRN OCTEN 7 5*X6 OCTEX LDN 5 8 9 5BBQ NUMEX STOZ WORK8(1) 10 5BWB STOZ WORK8+1(1) 16 5CB2 BPZ 0 (0) [IF NOT Z-SUPP 7 5CTL LDN 5 1 8 5D*= BRN (0) 7 5DSW TENEX LDN 5 7 14 5F#G STOZ SIGNW(1) [SET + 8 5FS6 BRN NUMEX 4 5G?Q # 12 5GRB # S/R TO SET X4=REMAINS, X2=FX2 11 5H?2 # X1->NEXT INPUT CHAR POSN 4 5HQL # 5 5J== SET124 8 5JPW LDX 2 FX2 10 5K9G LDX 1 PARTPTR(2) 16 5KP6 LDEX 4 0(1) [CHARS THID PART 7 5L8Q ADN 4 8 10 5LNB SBX 4 REMAINS(2) 7 5M82 SRC 4 2 17 5MML ADX 1 4 [X1 SET TO NEXT INPUT 10 5N7= LDX 4 REMAINS(2) 7 5NLW EXIT 0 0 4 5P6G # 16 5PL6 # SPECIAL S/R TO GET LENGTH OF CONV'D PDC IN X0 12 5Q5Q # X3 HOLDS PDC, X2->PARAMETER 16 5QKB # EXIT +0 IF NOT TABLED, ELSE X5=COPY OF ENTRY 4 5R52 # 5 5RJL PDCLEN 8 5S4= ANDN 3 #77 8 5SHW SMO FX1 9 5T3G LDX 3 PDCTAB(3) 17 5TH6 BZE 3 (6) [OUT IF NIT IN TABLE 16 5W2Q LDX 5 3 [ELSE KEEP COPY 7 5WGB LDX 0 3 7 5X22 SLC 0 9 15 5XFL ANDN 0 #177 [MAX LENGTH 7 5X_= SLL 3 1 16 5YDW BNG 3 VARPDC [J IF VARIABLE 7 5YYG EXIT 6 1 8 5_D6 VARPDC LDX 3 0(2) 7 5_XQ SRL 3 6 15 62CB ANDN 3 511 [TOTAL NUMBER 7 62X2 MPY 3 0 7 63BL LDX 0 4 7 63W= EXIT 6 1 4 64*W # 16 64TG # RESTARTS: X7 IS ALWAYS A COUNT OF CHARACTERS LEFT 14 65*6 # THIS S/R SHOULD BE CALLED WE THIS EXPIRES. 16 65SQ # IT IS ASSUMED THAT CERTAIN WELL DEFINED WORK WORDS 16 66#B # HAVE BEEN PRIORLY UPDATED - IT OUGHT TO BE POSS. 15 66S2 # TO RESTART AS IF NOTHING HAD HAPPENED ON EXIT 4 67?L # 4 67R= SET 8 68=W LDX 1 FX2 8 68QG STO 2 X2(1) 10 69=6 MHUNTW 2,GMON,ATEMP 10 69PQ MHUNTW 3,GMON,BOUT 19 6=9B SBS 2 PARTPTR(1) [RELATIVIZE MESSAGE PART PTR 10 6=P2 LDX 2 PTRASET(1) 8 6?8L SBS 2 X2(1) 16 6?N= SBS 3 OUTCHAR(1) [AND OUTPUT CHAR 10 6#7W SBS 3 THISPART(1) 9 6#MG SBS 3 SAFE(1) 7 6*76 EXIT 6 0 4 6*LQ # 11 6B6B # NOW RE-RELATIVIZE 4 6BL2 # 10 6C5L RESET MHUNTW 1,GMON,ATEMP 10 6CK= MHUNTW 3,GMON,BOUT 8 6D4W LDX 2 FX2 10 6DJG ADS 3 THISPART(2) 10 6F46 ADS 3 OUTCHAR(2) 9 6FHQ ADS 3 SAFE(2) 10 6G3B MHUNTW 3,GMON,ASET 8 6GH2 ADN 3 A1 8 6H2L ADS 3 X2(2) 10 6HG= STO 3 PTRASET(2) 10 6H_W ADS 1 PARTPTR(2) 9 6JFG CALL 0 SET124 10 6J_6 LDX 3 OUTCHAR(2) 8 6KDQ LDX 2 X2(2) 7 6KYB EXIT 6 0 11 6LD2 RESTART [X3->OUTPUT BLOCK 8 6LXL SBX 6 FX1 10 6MC= LDX 4 ALOGLEN(3) 8 6MWW ADN 4 MORE 8 6NBG ALTLEN 3,4 9 6NW6 ADN 7 MORE*4 8 6P*Q ADX 6 FX1 7 6PTB EXIT 6 0 4 6QSL # 15 6R#= # DELAYED CONVERSION ROUTINES - OUTPUT TO (3) 4 6RRW # 5 6S?G OUTNUM 16 6SR6 BVCR / [ENSURE V CLEAR 13 6T2Y ... NGNC 4 1 [X4=#37777777 8 6T=Q LDCT 0 #40 8 6TQB ANDX 0 0(2) 8 6W=2 LDCT 5 #620 8 6WPL ERX 5 0(2) 8 6X9= ... BZE 5 OKNUM 7 6XNW ... ADN 0 1 16 6Y8G ...OKNUM ADX 0 4 [SET V IF ZERO SUPPRESSION 8 6_7Q LDCT 0 #100 8 6_MB ANDX 0 0(2) 15 7272 BZE 0 ODECI [J IF DECIMAL 8 72LL LDX 5 1(2) 8 736= CALL 0 OCTAL 8 73KW BRN OJOIN 8 745G ODECI LDX 4 1(2) 8 74K6 CALL 0 TENS 7 754Q OJOIN LDN 0 0 8 75JB SMO FX2 8 7642 TXU 0 SIGNW 17 76HL SBN 7 0 [-1 FOR SIGN IF NEC 8 773= LDEX 6 0(2) 7 77GW LDX 0 5 7 782G TXL 0 6 8 78G6 BCC WIDTH 19 78_Q LDX 0 6 [TAKE MAX(WIDTH,NO OF SIGS) 7 79FB WIDTH SBX 7 0 8 79_2 BPZ 7 OROOM 8 7=DL CALL 6 SET 9 7=Y= CALL 6 RESTART 8 7?CW CALL 6 RESET 8 7?XG LDEX 6 0(2) 8 7#C6 OROOM LDCT 0 #40 8 7#WQ ANDX 0 0(2) 8 7*BB LDCT 1 #20 8 7*W2 ANDX 1 0(2) 8 7B*L LDX 2 FX2 7 7BT= LDN 4 0 9 7C#W TXU 4 SIGNW(2) 16 7CSG ADN 5 0 [ADD 1 IF A SIGN 17 7D#6 BZE 6 ONUM2 [J IF ZERO FIELD SIZE 7 7DRQ TXL 6 5 17 7F?B BCC ONUM3 [J IF F-SIZE>=WIDTH 18 7FR2 BNZ 0 ONUM2 [J IF ZERO-SUPPRESSION 7 7G=L SBX 5 6 7 7GQ= SLL 2 2 20 7H9W ADX 2 5 [IGNORE TOP 'ZEROES' TO MAKE FIT 7 7HPG SRC 2 2 17 7J96 LDX 5 6 [WIDTH:=FIELD SIZE 8 7JNQ BRN ONUM1 16 7K8B ONUM2 LDX 6 5 [FIELDSIZE:=WIDTH 8 7KN2 BRN ONUM1 8 7L7L ONUM3 LDN 0 #20 7 7LM= LDX 2 3 7 7M6W LDX 4 6 16 7MLG SPFIL DCH 0 0(2) [SPACEFILL FIELD 7 7N66 BCHX 2 / 8 7NKQ BCT 4 SPFIL 8 7P5B LDX 2 FX2 16 7PK2 ONUM1 BNZ 1 ONUM4 [J IF R-JUSTIFIED 15 7Q4L SBX 6 5 [OVERSPILL 8 7QJ= BZE 6 ONUM4 7 7R3W SLC 3 2 15 7RHG ADX 3 6 [STEP ON PTR 7 7S36 SRC 3 2 8 7SGQ ONUM4 SMO FX2 8 7T2B LDX 4 SIGNW 15 7TG2 BZE 4 ONUM5 [JIF NO SIGN 15 7T_L DCH 4 0(3) [ELSE INSERT 7 7WF= BCHX 3 / 16 7WYW SBN 5 1 [AND ADJUST WIDTH 8 7XDG ONUM5 ADN 2 WORK8 7 7XY6 SMO 5 15 7YCQ MVCH 2 0 [MOVE FIGS IN 9 7YXB BRN PDCEND 4 7_C2 # 9 7_WL PAKJR CATMASK JL,PACKED 4 82B= # 4 82TW # 11 83*G SENTRY1 [ENTRY FROM MONFILE 17 83K# ... CALL 6 SAVEB [SET UP BLOCK WITH DATE &TIME 13 83T6 # HERE WHEN ANY PACKED O/P HAS GONE 4 84#Q # 4 84SB # 4 85#2 # 11 85RL # PARAMETERS TO SUBSTITUTE: 4 86?= # 20 86QW # FIRST, TRY TO SAVE GETCORE'S BY GETTING A BLOCK SUFFICIENTLY 7 87=G # LARGE : 14 87Q6 # SEARCH ASET FOR DELAYED PARAMS ETC: 4 889Q # 16 88PB SFINE LDN 7 3 [TO BE CHAR COUNT 10 8992 MHUNTW 2,GMON,ASET 15 89NL LDX 1 A1(2) [NO OF PARAMS 15 8=8= ADN 2 A1+2 [PTR TO FIRST 8 8=MW QUOTA LDX 0 0(2) 15 8?7G BNG 0 QUOTB [J IF DELAYED 8 8?C# ... ANDN 0 #7777 7 8?M6 ADX 7 0 7 8#6Q ADN 0 7 7 8#LB SRL 0 2 14 8*62 ADX 2 0 [TO NEXT 8 8*KL BRN QUNXT 7 8B5= QUOTB SLL 0 1 16 8BJW BPZ 0 QUOTD [J IF NOT OUTNUM 16 8C4G ADN 7 9 [MAX IS #00000000 8 8CJ6 BDX 2 QUNXT 8 8D3Q QUOTD LDX 3 0(2) 15 8DHB CALL 6 PDCLEN [GET LENGTH 18 8F32 LDN 0 30 [IF ERROR +30 FOR MESSAGE 7 8FGL ADX 7 0 8 8G2= QUOTE LDX 0 0(2) 7 8GFW SRL 0 6 15 8G_G ANDN 0 4095 [WORD LENGTH 7 8HF6 ADX 2 0 7 8HYQ ADN 2 1 8 8JDB QUNXT BCT 1 QUOTA 15 8JY2 SRL 7 2 [MAX WORDS 10 8KCL MHUNTW 2,GMON,ATEMP 19 8KX= ADX 7 ALOGLEN(2) [CHANGE FOR JUSTIFICATION? 11 8LBW # X7 SHOULD BE LONG ENOUGH 11 8LWG SETUPCORE 7,3,GMON,BOUT 18 8MB6 SLA 7 2 [NO OF CHARS AVAILABLE 10 8MTQ MHUNTW 1,GMON,ASET 8 8N*B ADN 1 A1 10 8NT2 STO 1 PTRASET(2) 10 8P#L MHUNTW 1,GMON,ATEMP 8 8PS= ADN 1 A1 14 8Q?W STO 1 PARTPTR(2) [1ST PART 8 8QRG ADN 3 A1 15 8R?6 STO 3 THISPART(2) [O/P PART ! 4 8RQQ # 13 8S=B # WE NOW CREATE THE OUTPUT MESSAGE 12 8SQ2 # ALL PARTS ARE IN THE ONE BOUT 6 8T9L # BLOCK 4 8TP= # 8 8W8W BRN NOPKD 8 8WNG SERTB LDX 2 FX2 8 8X86 LDCT 0 #100 8 8XMQ ANDX 0 1(1) 17 8Y7B BZE 0 OFFWG [OUT IF NOT CONTINUED 7 8YM2 NEXTPART 1 15 8_6L NOPKD LDEX 4 0(1) [CHAR-COUNT 7 8_L= SBN 7 8 17 925W BPZ 7 RREUM [J IF ROOM FOR R-HDDR 8 92KG LDX 2 FX2 10 9356 STO 4 REMAINS(2) 10 93JQ STO 3 OUTCHAR(2) 8 944B CALL 6 SET 9 94J2 CALL 6 RESTART 8 953L CALL 6 RESET 9 95H= ...RREUM LDX 2 3 7 962W ... MOVE 1 2 8 97FQ LDX 2 FX2 10 97_B STO 3 THISPART(2) 7 98F2 ADN 1 2 7 98YL ADN 3 2 17 998D ... BZE 4 SERTD [J IF NULL SKELETON 17 99D= SERTI BNZ 7 SERTN [J IF ROOM NEXT CHAR 10 99XW STO 3 OUTCHAR(2) 10 9=CG STO 4 REMAINS(2) 8 9=X6 CALL 6 SET 9 9?BQ CALL 6 RESTART 8 9?WB CALL 6 RESET 8 9#B2 SERTN LDCH 0 0(1) 8 9#TL SBN 0 #25 14 9**= BZE 0 SERTC [J IF % 9 9*SW SBN 0 #74-#25 14 9B#G BZE 0 SERRJ [J IF $ 8 9BS6 ADN 0 #74 15 9C?Q DCH 0 0(3) [ELSE INSERT 7 9CRB BCHX 3 / 7 9D38 SBN 7 1 7 9D?2 SERTE BCHX 1 / 8 9DQL BCT 4 SERTI 8 9F== # THIS-PART OVER 8 9FPW SERTD LDX 2 FX2 7 9G9G LDX 1 3 10 9GP6 SBX 1 THISPART(2) 16 9H8Q SBN 1 2 [- 2 WORD HEADER 7 9HNB SLC 1 2 7 9HPM ...#SKI JWPHASE4 4 9HQY ...( 8 9HS9 ... SMO FX1 11 9HTG ... BXL 1 X2048,SHORTENUF 7 9HWR ... SLC 3 2 7 9HY4 ... SBX 3 1 8 9H_* ... ADN 3 #3777 7 9J2L ... SRC 3 2 8 9J3X ... LDN 1 #3777 6 9J58 ...SHORTENUF 4 9J6F ...) 10 9J82 SMO THISPART(2) 17 9JML DSA 1 0 [INSERT CHAR COUNT 8 9JSR ... LDN 0 #4000 10 9JWG ... SMO PARTPTR(2) 7 9JY9 ... ANDX 0 0 10 9J_Y ... SMO THISPART(2) 7 9K3M ... ORS 0 0 7 9K7= ANDN 1 3 8 9KLW BZE 1 XX0 7 9L6G SBN 1 4 17 9LL6 ADX 7 1 [ROUND TO WHOLE WORD 8 9M5Q LDN 2 ACES 7 9MKB NGX 1 1 17 9N52 MVCH 2 0(1) [SPACEFILL (GSCAN) 8 9NJL LDX 2 FX2 4 9P4= XX0 10 9PHW LDX 1 PARTPTR(2) 8 9Q3G BRN SERTB 4 9QH6 # 4 9S22 # 10 9SFL # PARAMETER SUBSTITUTION 4 9S_= # 15 9TDW SERRJ LDCT 0 #400 [ENTRY FOR $ 7 9TYG SERTC LDX 6 0 8 9WD6 CALL 0 PARAM 16 9WXQ BRN PARER1 [ERROR MESSAGE 17 9XCB BNG 2 SERTD [J IF NO SUCH TO END 16 9XX2 BVC NTER1 [J IF NOT SPECIAL 8 9YBL LDCH 5 0(1) 17 9YW= BNZ 5 PDELAY [J IF NOT NOTJOURN 7 9_*W BVCR / 5 9_TG NTER1 8 =2*6 LDXC 0 0(2) 17 =2SQ BCS PDELAY [J IF DELAYED CONV 8 =34J ... ANDN 0 #7777 17 =3#B CALL 6 TJUST [UPDATE X0 FOR JUST. 7 =3S2 SBX 0 7 16 =4?L BNG 0 OKAY [J IF NUFF ROOM 8 =4R= SMO FX2 9 =5=W STO 3 OUTCHAR 8 =5QG SMO FX2 8 =6=6 STO 2 X2 8 =6PQ CALL 6 SET 9 =79B CALL 6 RESTART 8 =7P2 CALL 6 RESET 16 =88L OKAY CALL 6 USTADJ [AD'JUST' IF NEC 8 =8N= LDX 0 0(2) 7 =97W ADN 2 1 8 =9MG BZE 0 NULL 7 =9X# ... SBX 7 0 8 ==76 MV2 SBN 0 513 19 ==LQ BNG 0 MV1 [J IF < 513 CHARS TO MOVE 7 =?6B MVCH 2 0 8 =?L2 BUX 0 MV2 7 =#5L MV1 SMO 0 7 =#K= MVCH 2 1 4 =*JG NULL 8 =B46 LDX 2 FX2 8 =BHQ BRN YJUST 4 =C3B # 9 =CH2 # DELAYED CONVERSION 14 =D2L # WE CHECK THAT THERE IS ENOUGH ROOM FOR 14 =DG= # THE MAX SIZE (FROM PDCTABLE) BUT LEAVE 14 =D_W # THE UPDATING OF THE COUNT TO THE PDC 7 =FFG # ROUTINE 5 =F_6 PDELAY 8 =GDQ LDX 1 FX2 10 =GYB STO 3 OUTCHAR(1) 16 =HD2 BVCR UNSPEC [J IF UNSPECIAL 8 =HXL LDCT 5 #400 15 =JC= ORN 5 QNULL [INTERFACE 7 =JWW LDN 0 0 8 =KBG BRN TESTD 5 =KW6 UNSPEC 7 =L*Q SLL 0 1 16 =LTB BPZ 0 PDCLA [J IF NOT OUTNUM 7 =M*2 SRL 0 1 8 =MSL ANDN 0 4095 8 =N#= ... TXL 0 JTEN 8 =P?G BCC PMORE 18 =PR6 LDN 0 9 [AT MOST 9 IF NO FOIELD 15 =Q=Q PMORE LDN 5 OUTNUM [INTERFACE 8 =QQB BRN TESTD 8 =R=2 PDCLA LDX 3 0(2) 9 =RPL CALL 6 PDCLEN 18 =S9= BRN PARER2 [ERROR IF NOT IN TABLE 10 =SNW TESTD LDX 3 OUTCHAR(1) 15 =T8G CALL 6 TJUST [UPDATE X0 7 =TN6 SBX 0 7 17 =W7Q BNG 0 PRESS [PREESS ON IF ROOM 8 =WMB CALL 6 SET 9 =X72 CALL 6 RESTART 8 =XLL CALL 6 RESET 9 =Y6= PRESS CALL 6 USTADJ 8 =YKW LDCT 0 #500 8 =_5G ERX 0 0(2) 7 =_K6 SLC 0 3 7 ?24Q ANDN 0 3 16 ?2JB BNZ 0 NOUTP [J IF NOT OUTPAR 17 ?342 BPZ 5 PARER3 [J IF NOT OUTPARABLE 18 ?3HL ADN 5 1 [RESET FOR OUTPAR ENTRY 8 ?43= NOUTP ANDN 5 4095 8 ?4GW ADX 5 FX1 16 ?52G EXIT 5 0 [OFF TO ROTINE 4 ?5G6 # 8 ?5_Q # X2->PARAM GDDR 4 ?6FB # 16 ?6_2 # TGE FF ROUTINES IMPLEMENT BELAYED CONVERSION 14 ?7DL # PDC '%A' IS DONE BY 'Q%A' COF PDCTAB 14 ?7Y= # ON ENTRY X3 -> THE NEXT OUTPUTCHAR AND 10 ?8CW # SHOULD BE SO ON EXIT 12 ?8XG # X2->PARAMETER IN ASET BLOCK 13 ?9C6 # USE 'MFSAVE' & 'MFUNSAVE' IF COOR 10 ?9WQ # BEWARE X6 AND SAVE X7 15 ?=BB # ROUTINES WHICH UPDATE X7 SHOULD REENTER AT 11 ?=W2 # 'PDCEND' ELSE USE 'RETURN' 17 ??*L # OUTPARABLE PDC R'S ENTERED +1 IF OUTPAR ELSE AT +0 4 ??T= # 12 ?##W # IF R-JUST, X0:=X0+FIELD SIZE 13 ?#SG # IF L-JUST, X0:=MAX(X0,FIELD-SIZE) 4 ?*#6 # 8 ?*RQ TJUST SMO FX2 9 ?B?B LDXC 4 WHATJUST 16 ?BR2 BCS TLEF [J IF LEFT-JUST 7 ?C=L ADX 0 4 8 ?CQ= TLEF BZE 4 (6) 7 ?D9W TXL 0 4 8 ?DPG BCC (6) 14 ?F96 LDX 0 4 [TAKE MAX 7 ?FNQ EXIT 6 0 4 ?G8B # 15 ?GN2 # SPACEFILL FIELD AND ADJUST X3 IF R-JUST 4 ?H7L # 8 ?HM= USTADJ SMO FX2 9 ?J6W LDX 4 WHATJUST 8 ?JLG SMO FX2 8 ?K66 STO 2 X2 7 ?KKQ LDXC 0 4 15 ?L5B BZE 0 USTEX [OUT IF NONE 8 ?LK2 LDN 0 #20 7 ?M4L LDX 2 3 8 ?MJ= SFIL DCH 0 0(2) 7 ?N3W BCHX 2 / 8 ?NHG BCT 4 SFIL 17 ?P36 BNG 4 USTEX [OUT IR LEFT-JUST 7 ?PGQ LDX 3 2 8 ?Q2B USTEX LDX 2 FX2 10 ?QG2 STO 3 OUTCHAR(2) 18 ?Q_L STO 3 SAFE(2) [FOR 'YJUST' & 'RETURN' 8 ?RF= LDX 2 X2(2) 7 ?RYW EXIT 6 0 11 #2#2 # S/R TO SAVE ACOMMUNE WORDS 16 #2RL SAVEB CALL 1 SDATA [X2->DATA BLOCK 16 #3?= BRN SAV1 [OFF IF NO SUCH 7 #3QW LDX 3 2 8 #4=G LDX 2 FX2 8 #4Q6 BRN SOK1 9 #59Q SAV1 LDN 0 MKGMONACC 16 #5PB ORS 0 MARKS(2) [SET DATA MARKER 8 #692 SBX 6 FX1 12 #6NL SETNCORE 20,3,ADATA,GMONACC 10 #78= STOZ JPROPCON(3) 9 #7MW STOZ ZDATE(3) 8 #87G ADX 6 FX1 9 #8M6 SOK1 ADN 2 ACOMMUNE1 8 #96Q ADN 3 A1 7 #9LB MOVE 2 9 10 #9N# ... LDX 0 ZDATE-A1(3) 16 #9Q= ... BNZ 0 (6) [J IF ALREADY THERE 9 #9S8 ... ADN 3 ZDATE-A1 8 #9W6 ... LDN 2 FDATE 7 #9Y4 ... MOVE 2 2 7 #=22 ... ADN 3 2 15 #=3Y ... TIMECON2 3 [NOW DATE &TIME IN GMONACC 7 #=62 EXIT 6 0 8 #=KL # AND TO UNSAVE 11 #?5= UNSVB MHUNTW 1,ADATA,GMONACC 8 #?JW ADN 1 A1 8 ##4G LDX 2 FX2 9 ##J6 ADN 2 ACOMMUNE1 7 #*3Q MOVE 1 9 7 #*HB EXIT 6 0 14 #B32 # EXIT +0 IF NO ADATA/GMONACC THIS LEVEL 8 #BGL # AND X2 = FX2 10 #C2= # ELSE +1 WITH X2->SAME 9 #CFW SDATA LDN 0 MKGMONACC 8 #C_G LDX 2 FX2 9 #DF6 ANDX 0 MARKS(2) 17 #DYQ BZE 0 (1) [+0 IF MARKER CLEAR 11 #FDB MHUNTW 2,ADATA,GMONACC 7 #FY2 EXIT 1 1 4 #GCL # 4 #GX= # 5 #HBW QTIMENOW 15 #HWG BRN PARER1 [NOT OUTPACK 14 #JB6 LDN 4 2 [SWITCH 9 #JTQ BRN QDATIM 4 #K*B # 5 #KT2 QDATENOW 9 #L#L BRN PARER1 7 #LS= LDN 4 0 16 #M?W QDATIM CALL 1 SDATA [HUNT DATA BLOCK 9 #MRG ... BRN (GEOERR) 7 #P=B SMO 4 16 #PQ2 ADN 2 ZDATE [PTR TO DATE/TIME 7 #Q9L MVCH 2 8 7 #QP= ... SBN 7 8 9 *7X6 BRN PDCEND 8 *8BQ N1000 +1000 9 *8WB N60000 +60000 17 *9B2 ...QGEOMILL [GEOMILL FROM OUTPACK 10 *9TL # JOBMILL (FROM OUTMILL) 5 *=*= QJOBMILL 8 *=SW BRN QJOB1 15 *?#G CALL 6 VJOB [X2->JOBBLOCK 15 *?S6 ADN 2 HTIMJ-1 [INTERFACE 8 *#?Q QJOB1 LDX 4 1(2) 8 *#RB LDX 5 2(2) 11 **?2 # OUTPUT (4,5) AS MMMMM.SS 5 **QL MILFM 8 *B== ADNC 5 500 7 *BPW ADN 4 0 8 *C9G SMO FX1 9 *CP6 DVD 4 N60000 16 *D8Q LDX 2 4 [SAVE REMAINDER 7 *DNB MIL1 LDX 4 5 14 *F82 CALL 0 TENSV [Z-SUPP 14 *FML LDX 4 2 [RESTORE 8 *G7= SMO FX2 8 *GLW LDN 2 WORK8 7 *H6G SMO 5 17 *HL6 MVCH 2 0 [MOVE INTO OUTBLOCK 8 *J5Q LDX 1 FX1 8 *JKB LDN 0 #36 7 *K52 LDX 5 4 8 *KJL DCH 0 0(3) 7 *L4= BCHX 3 / 15 *LHW DVS 4 N1000(1) [GET X5=SECS 13 *M3G ... DVS 4 JTEN [SPLIT 13 *MH6 DCH 5 0(3) [TENS 7 *N2Q BCHX 3 / 14 *NGB DCH 4 0(3) [UNITS 13 *P22 BCHX 3 RETURN [EXIT 8 *PFL # REENTER HERE 5 *P_= RETURN 7 *QDW SLC 3 2 7 *QYG SBX 7 3 7 *RD6 SRC 3 2 8 *RXQ SMO FX2 15 *SCB LDX 0 SAFE [START POSN 7 *SX2 SLC 0 2 18 *TBL ADX 7 0 [X7 LESS NO OF CHARS USED 12 *TW= PDCEND [END OF PDC ROUTINES 9 *W*W CALL 0 SET124 4 *WTG # 14 *X*6 # CHECK F JUSTIFIED AND SHIFT PTR S ETC 8 *XSQ # AS NECESSARY 4 *Y#B # 10 *YS2 YJUST LDX 4 WHATJUST(2) 7 *_?L LDXC 0 4 15 *_R= BZE 0 YEND [J IF NONE 9 B2=W LDX 5 SAFE(2) 7 B2QG SLC 5 2 7 B3=6 SLC 3 2 7 B3PQ SBX 5 3 7 B49B SRC 3 2 14 B4P2 NGX 5 5 [WIDTH 14 B58L SBXC 0 5 [EXCESS 8 B5N= BCC YJ1 18 B67W LDN 0 0 [ZERO EXCESS IF OVERFLOE 15 B6MG YJ1 SBX 7 0 [CORRECTION 15 B776 BNG 4 YLEFT [J IF L-JUST 15 B7LQ BZE 5 YNONE [J IF NULL 9 B86B LDX 2 SAFE(2) 7 B8L2 LDX 3 2 7 B95L SLC 3 2 7 B9K= ADX 3 0 17 B=4W SBXC 3 4 [SAFE-(FIELD-EXCESS) 7 B=JG SRC 3 2 7 B?46 SMO 5 16 B?HQ MVCH 2 0 [COPY INTO FIELD 8 B#3B BRN YEND 7 B#H2 YLEFT SLC 3 2 15 B*2L ADX 3 0 [DISPLACEMENT 7 B*G= SRC 3 2 5 B*_W YNONE 8 BBFG YEND LDX 2 FX2 10 BB_6 LDX 4 REMAINS(2) 8 BCDQ BRN SERTE 4 BCYB # 7 BDD2 # ERROR ! 5 BDXL PARER2 8 BFC= SMO FX2 14 BFWW LDX 3 OUTCHAR [RESTORE 5 BGBG PARER1 8 BGW6 LDN 2 SERR3 8 BH*Q NTER SMO FX2 16 BHTB STOZ WHATJUST [NO JUSTIFICATION 8 BJ*2 SMO FX1 14 BJSL SBX 7 0(2) [CHARS 8 BK#= BPZ 7 RINSE 13 BKRW LDX 5 2 [SAVE 8 BL?G SMO FX2 16 BLR6 STO 3 OUTCHAR [ENSURE SET OK 8 BM=Q CALL 6 SET 9 BMQB CALL 6 RESTART 8 BN=2 CALL 6 RESET 7 BNPL LDX 2 5 14 BP9= RINSE ADX 2 FX1 [ABS PTR 14 BPNW LDX 1 0(2) [CHAR CNT 7 BQ8G ADN 2 1 16 BQN6 MVCH 2 0(1) [MOVE MESSAGE IN 8 BR7Q SMO FX2 9 BRMB NGX 0 REMAINS 19 BS72 BPZ 0 SERTD [OUT IF AT END OF MEASSAGE 9 BSLL BRN PDCEND 12 BT6= PARER3 [PARAM NOT OUTPARABLE 8 BTKW LDX 0 0(2) 8 BW5G LDN 2 SERR2 16 BWK6 DCH 0 0(3) [STATE THE PDC 8 BX4Q BCHX 3 NTER 4 BXJB # 10 BY42 # USEFUL S/ROUTINES:- 4 BYHL # 9 B_3= # FIND THE JOBBLOCK 12 B_GW VJOB FCJOB 2,FX2,PCA,CPA,OLPA 7 C22G EXIT 6 0 4 C2G6 # 15 C2_Q # INSERT INTO (3) NEXT NONSPACES FROM 1(2) 13 C3FB # TO A MAX OF WORD-AFTER-CALL CHARS 10 C3_2 # 'EXITS' TO 'RETURN' 4 C4DL # 15 C4Y= MVCH LDX 1 0(1) [MAX CHARS 5 C5CW MVCHA 9 C5XG BZE 1 RETURN 7 C6C6 SRC 1 2 16 C6WQ ADN 1 1(2) [PTR TO LAST+1 7 C7BB MVC1 SLC 1 2 7 C7W2 SBN 1 1 15 C8*L SRC 1 2 [BACKSPACE 8 C8T= LDCH 0 0(1) 8 C9#W SBN 0 #20 15 C9SG BZE 0 MVC1 [J IF SPACE 18 C=#6 SBN 1 1(2) [CHARS TO GO IN LESS 1 7 C=RQ SLC 1 2 9 C?3J ... BNG 1 RETURN 7 C??B ADN 2 1 8 C?R2 MV4 SBN 1 512 8 C#=L BNG 1 MV3 7 C#Q= MVCH 2 0 8 C*9W BRN MV4 8 C*PG MV3 MVCH 2 1(1) 9 CB96 BRN RETURN 4 CBNQ # 9 CC8B # MORE PDC ROUTINES 4 CCN2 # 4 CD7L # 6 CDM= QUSERNAME 16 CF6W BRN QUSE1 [J IF NOT OUTPAR 8 CFLG CALL 6 VJOB 17 CG66 ADN 2 JUSER-1 [STANDARD PROCEDURE 13 CGKQ QUSE1 LDN 0 #12 [: 8 CH5B DCH 0 0(3) 15 CHK2 BCHX 3 QLOCNAME [PUT NAME IN 4 CJ4L # 4 CJJ= # 5 CK3W QLOCNAME 8 CKHG CALL 1 MVCH 11 CL36 +12 [MAX OF 12CHAR NAME 4 CLGQ # 4 CM2B # 5 CMG2 QURGENCY 8 CM_L LDCH 0 1(2) 8 CNF= DCH 0 0(3) 9 CNYW BCHX 3 RETURN 4 CPDG # 4 CPY6 # 5 CQCQ QJOBNAME 9 CQXB BRN QLOCNAME 8 CRC2 CALL 6 VJOB 9 CRWL ADN 2 JNAME-1 9 CSB= BRN QLOCNAME 4 CSTW # 4 CT*G # 6 CTT6 QPROGNAME 13 CW#Q LDN 0 #23 [# 8 CWSB DCH 0 0(3) 7 CX#2 BCHX 3 / 4 CXRL # 9 CY?= # PLACE IN 4 CHARS 7 CYQW NPUT4 ADN 2 1 7 C_=G MVCH 2 4 9 C_Q6 BRN RETURN 4 D29Q # 4 D2PB # 6 D392 QLANGUAGE 8 D3NL LDX 0 ACES 8 D48= TXU 0 1(2) 17 D4MW BCC RETURN [NULL IF ALL SPACEX 8 D57G BRN NPUT4 4 D5M6 # 4 D66Q # 6 D6LB QBUDGTYPE 8 D762 CALL 1 MVCH 5 D7KL +8 4 D85= # 4 D8JW # 5 D94G QVARCHAR 5 D9J6 QERRMESS 5 D=3Q QENTRANT 8 D=HB LDX 1 0(2) 7 D?32 SRL 1 4 16 D?GL ANDN 1 #774 [CHARS IN MESSAGE 18 D#2= BRN MVCHA [IN LESS ECXESS SPACES 4 D#FW # 11 D#_G # FOR USE WITH QJOBTYPE:- 6 D*F6 XMOP 4HMOP 6 D*YQ XBAC 4HBACK 7 DBDB XRMOP 8HREM-MOP 6 DBY2 XRJE 4HRJE 4 DCCL # 5 DCX= TYPTAB 7 DDBW #HAL 3,+XMOP 7 DDWG #HAL 4,+XBAC 7 DFB6 #HAL 7,+XRMOP 7 DFTQ #HAL 3,+XRJE 4 DG*B # 4 DGT2 # 5 DH#L QJOBTYPE 14 DHS= LDX 2 1(2) [TYPE NO 7 DJ?W ANDN 2 3 8 DJRG SMO FX1 9 DK?6 LDX 1 TYPTAB(2) 14 DKQQ DSA 1 2 [REL PTR 14 DL=B SRL 1 12 [LENGTH 8 DLQ2 ADX 2 FX1 8 DM9L MVCH 2 0(1) 9 DMP= BRN RETURN 4 DN8W # 4 DNNG # 6 DP86 SWIT 4HOFF 6 DPMQ 4HON 4 DQ7B # 5 DQM2 QSWITCH 8 DR6L LDX 2 1(2) 8 DRL= SMO FX1 8 DS5W ADN 2 SWIT 15 DSKG MVCH 2 3 [INPUT ON/OFF 9 DT56 BRN RETURN 4 DTJQ # 4 DW4B # 5 DWJ2 QINCNUM 5 DX3L QTRANSCT 5 DXH= QGENNUM 5 DY2W QBLOCKCT 5 DYGG QFAILCT 5 D_26 QREPEATS 6 D_FQ QPAGETURN 5 D__B QQUOTA 5 F2F2 QREELNUM 4 F2YL # 12 F3D= UNUMB [UNSIGNED POS-INTEGER (S/L) 8 F3XW LDX 4 1(2) 14 F4CG CALL 0 TENSV [Z-SUPP 14 F4X6 # INSERT NUMBER AFTER TENS/OCTAL CALL 8 F5BQ NUMIN SMO FX2 8 F5WB LDN 2 WORK8 15 F6B2 SMO 5 [CHAR COUNT 7 F6TL MVCH 2 0 18 F7*= BPZ 5 RETURN [J IF NOT XENOTAPE CASE 8 F7SW LDN 0 #70 8 F8#G DCH 0 0(3) 9 F8S6 BCHX 3 RETURN 4 F9?Q # 4 F9RB # 6 F=?2 QBUDGQUAN 5 F=QL QNUMA 5 F?== QNUMB 5 F?PW QNUMC 5 F#9G QNUMD 4 F#P6 # 10 F*8Q SNUMB [+ OR - A S/L INTEGER 8 F*NB LDX 4 1(2) 8 FB82 CALL 0 TENSV 5 FBML NUMINA 8 FC7= SMO FX2 8 FCLW LDX 0 SIGNW 14 FD6G BZE 0 NUMIN [J IF + 16 FDL6 DCH 0 0(3) [ELSE PUT - IN 8 FF5Q BCHX 3 NUMIN 4 FFKB # 4 FG52 # 5 FGJL QTSNCSN 8 FH4= LDXC 5 1(2) 9 FHHW CALL 0 OCTALV 8 FJ3G LDXC 0 1(2) 16 FJH6 BCC NUMIN [J IF NOT XENOTAPE 8 FK2Q ORX 5 GSIGN 8 FKGB BRN NUMIN 4 FL22 # 4 FLFL # 6 FL_= QPROGMILL 8 FMDW BRN QJOB1 8 FMYG CALL 6 VJOB 10 FND6 ADN 2 HCLOCKTIME-1 8 FNXQ BRN QJOB1 4 FPCB # 4 FPX2 # 6 FQBL QPROGCORE 15 FQW= BRN UNUMB [J IF OUTPACK 8 FR*W CALL 6 VJOB 9 FRTG ADN 2 JCSIZE-1 8 FS*6 BRN UNUMB 4 FSSQ # 4 FT#B # 5 FTS2 QPROPS 7 FW?L LDN 5 5 9 FWR= BRN MONOLITH 4 FX=W # 4 FXQG # 5 FY=6 QGEOPER 8 FYPQ BRN PERPK 8 F_9B LDX 2 FX2 7 F_P2 GEOPACK 4 7 G28L PER1 LDN 5 0 18 G2N= BRN MONOLITH [JUMP WITH ROUTE IN X5 8 G37W PERPK LDX 4 1(2) 8 G3MG BRN PER1 4 G476 # 4 G4LQ # 6 G56B QPERITYPE 7 G5L2 LDN 5 2 8 G65L PI LDX 4 1(2) 9 G6K= BRN MONOLITH 4 G74W # 4 G7JG # 6 G846 QPERINAME 7 G8HQ LDN 5 1 8 G93B BRN PI 4 G9H2 # 4 G=2L # 11 G=G= QSKIP [SKIP TO NEXT IDENTIFIER 8 G=_W NULL [OUTPACK 15 G?FG CALL 0 SET124 [SET X1 2 4 5 G?_6 SKIPA 8 G#DQ LDCH 0 0(1) 8 G#YB SBN 0 #25 14 G*D2 BZE 0 SERTC [J IF % 9 G*XL SBN 0 #74-#25 13 GBC= BZE 0 SERRJ [OR $ 7 GBWW BCHX 1 / 8 GCBG BCT 4 SKIPA 17 GCW6 BRN SERTD [TERMINATE IF OFF END 4 GD*Q # 4 GDTB # 6 GF*2 QDATETHEN 7 GFSL LDN 5 4 8 GG#= BRN PI 6 GGRW QTIMETHEN 7 GH?G LDN 5 3 8 GHR6 BRN PI 4 GJ=Q # 11 GJQB # TO ADD TO THE CONFUSION :- 15 GK=2 # WE NOW MUST OVERSPILL INTO A NEW SEGMENT 11 GKPL # X5 SHALL BE A ROUTING KEY 12 GL9= # X4 SHALL BE ANYTHING RELEVANY 4 GLNW # 5 GM8G MONOLITH 8 GMN6 MFSAVE ALL 10 GN7Q ACROSS MONOLITH,1 8 GNMB SENTRY2 [RETURN 8 GP72 MFUNSAVE ALL 9 GPLL BZE 5 RETURN 9 GPWD ...QNULL BRN PDCEND 9 GQ6= BRN PDCEND 4 GQKW # 4 GR5G # 5 GRK6 QVARDEC 7 GS4Q LDN 0 0 8 GSJB BRN VARNM 5 GT42 QVAROCT 8 GTHL LDCT 0 #400 8 GW3= VARNM SMO FX2 13 GWGW STO 7 OUTCHAR [HM ! 7 GX2G LDX 7 0 8 GXG6 LDX 0 0(2) 7 GX_Q SRL 0 6 16 GYFB DSA 0 7 [ADD TOTAL NUMBER 7 GY_2 VARIN ADN 2 1 8 G_DL LDN 0 #20 8 G_Y= DCH 0 0(3) 7 H2CW BCHX 3 / 8 H2XG BPZ 7 VDEC 8 H3C6 LDX 5 0(2) 9 H3WQ CALL 0 OCTALV 8 H4BB LDN 0 #23 8 H4W2 DCH 0 0(3) 9 H5*L BCHX 3 VNUMIN 8 H5T= VDEC LDX 4 0(2) 8 H6#W CALL 0 TENSV 7 H6SG VNUMIN LDX 1 2 8 H7#6 SMO FX2 8 H7RQ LDN 2 WORK8 7 H8?B SMO 5 7 H8R2 MVCH 2 0 7 H9=L LDX 2 1 8 H9Q= BCT 7 VARIN 8 H=9W SMO FX2 9 H=PG LDX 7 OUTCHAR 9 H?96 BRN RETURN 4 H?NQ # 4 H#8B # 5 H#N2 QOCTA 8 H*7L QOCTB LDX 5 1(2) 9 H*M= CALL 0 OCTALV 9 HB6W BRN NUMINA 4 HBLG # 12 HC66 # WE HAVE CONCLUDED -OFF WE GO 4 HCKQ # 16 HD5B OFFWG LDN 4 0(3) [NEXT FREE WORD 6 HDK2 #SKI JNLMS2 4 HF4L ( 10 HFJ= LDX 2 THISPART(2) 8 HG3W LDCT 0 #100 8 HGHG ORS 0 1(2) 19 HH36 ERS 0 1(2) [CLEAR CT'D BIT IN LAST PART 4 HHGQ ) 10 HJ2B MHUNTW 3,GMON,BOUT 8 HJG2 SBN 4 A1(3) 8 HJ_L ALTLEN 3,4 4 HKF= # 4 HKYW # 12 HLDG OUTPUT [AOUT BLOCK EXISTS 13 HLY6 [AND MDESTINY IS SET UP 10 HMCQ MFREEW GMON,ATEMP 8 HMXB CALL 1 SDATA 9 HNC2 BRN OUTPUT1 18 HNWL FREECORE 2 [FREE DATA BLOCK IF THERE 5 HPB= OUTPUT1 9 HPTW LDN 0 MKASET 9 HQ*G ANDX 0 MARKS(2) 8 HQT6 BZE 0 OUTOK 14 HR#Q MFREEW GMON,ASET [AND FREE 5 HRSB OUTOK 9 HS#2 #DEF GDESTINY=MDESTINY 18 HSRL ... ACROSS MONFILEA,1 [BACK TO ROUTE MESSAGE 9 HT?= MENDAREA 1023-0? 4 HTQW #END 8 ____ ...13116353001000000000