Show pageBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. {{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: MONFILEA864)}} ====== MONFILEA864 ====== (George Source) **Macros used:** [[george:macro:ALIEN|ALIEN]], [[george:macro:ALTLEN|ALTLEN]], [[george:macro:BRUSEN|BRUSEN]], [[george:macro:BSON|BSON]], [[george:macro:CATMASK|CATMASK]], [[george:macro:CIOUT|CIOUT]], [[george:macro:CONSOLE|CONSOLE]], [[george:macro:DOWN|DOWN]], [[george:macro:FCJOB|FCJOB]], [[george:macro:FSHCODE|FSHCODE]], [[george:macro:FSHENTRY|FSHENTRY]], [[george:macro:FSHSKIP|FSHSKIP]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GMONTIDY|GMONTIDY]], [[george:macro:GSCAN|GSCAN]], [[george:macro:HLSINFORM|HLSINFORM]], [[george:macro:HUNT2J|HUNT2J]], [[george:macro:IPBOUT|IPBOUT]], [[george:macro:JBC|JBC]], [[george:macro:LINK|LINK]], [[george:macro:MFDEFS|MFDEFS]], [[george:macro:MFORDER|MFORDER]], [[george:macro:MFREE|MFREE]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MFSETAB|MFSETAB]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MOPOUT|MOPOUT]], [[george:macro:NAME|NAME]], [[george:macro:NAMEX|NAMEX]], [[george:macro:OFF|OFF]], [[george:macro:OP|OP]], [[george:macro:OPEND|OPEND]], [[george:macro:PHOTO|PHOTO]], [[george:macro:SAWCEN|SAWCEN]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETUPCORE|SETUPCORE]], [[george:macro:SHUFFLE|SHUFFLE]], [[george:macro:SJCHAIN|SJCHAIN]], [[george:macro:SJCHAINY|SJCHAINY]], [[george:macro:STEP|STEP]], [[george:macro:TESTMOVE|TESTMOVE]], [[george:macro:TESTRPN2|TESTRPN2]], [[george:macro:TRACE|TRACE]], [[george:macro:TRANCHK|TRANCHK]], [[george:macro:TRANCHKN|TRANCHKN]], [[george:macro:TRANSBEX|TRANSBEX]], [[george:macro:TRANSDIE|TRANSDIE]], [[george:macro:TRANSFIN|TRANSFIN]], [[george:macro:UP|UP]], [[george:macro:VFREEW|VFREEW]] <code - MONFILEA864.txt>22FL ...#SEG MONFILEA [RICHARD GRIMWADE 22PD ...#OPT K0MONFILEA=0 22^= ...#LIS K0MONFILEA>K0MONCHAPS>K0ALLGEO>K0GREATGEO 23DW ... 8HMONFILEA 23YG ... SEGENTRY K1MONFILEA,SENTRY1 24D6 ... FSHENTRY K2MONFILEA,SENTRY2,SENTRY2,SENTRY2 24XQ ... FSHENTRY K3MONFILEA,SENTRY3,SENTRY3,SENTRY3 28SQ # 29#B # OVERFLOW SEGMENT FOR MONFILE 29S2 # PRINCIPLE DUTY AS MESSAGE ROUTER. 2=?L # MESSAGE PARAMETERS ARE IN ASET BLOCK (BUT NOTE 'KNOWN' 2=R= # PDC PARAMS),FINAL MESSAGE ASSEMBLED IN AOUT AND IS 2?=W # THEN SENT TO APPROPRIATE DESTINATIONS IN STRICT ROTA 2?QG # 2#=6 # DESTINATIONS: 2#PQ # 2*9B # SYSTEM JOURNAL 2*P2 # MONITORING FILE (!) 2B8L # MOP CONSOLES 2BN= # OPERATORS CONSOLES 2C7W # GSCAN BUFFER 2CMG # REPLY 'BUFFER' 2D76 # RETAIN BLOCK FACILITY 2DLQ # TABLE FOR GOING ACROSS TO GET MESSAGE HELD 2F6B # IN ANOTHER SEGMENT: 2H4W # 2HJG # 2J46 MFORDER MFSETAB 2JHQ MFDEFS 2JKN ... FSHCODE AORB 2JML ...( 2JPJ ...SLINK2 2JRG ... LINK MONFILEA,2 2JTD ...SLINK3 2JXB ... LINK MONFILEA,3 2J^# ...) 2K3B WJOUR CATMASK JOURNAL 2KH2 WCLUS CATMASK CLUSTER 2L2L WPRIN CATMASK FORCEPRI 2LG= SCAMSK CATMASK OL,PM,LS [FORBIDDEN GSCAN'S 6QSL # 6R#= # THIS PART DEALS WITH OUTPUT OF THE BASIC 6RRW # MESSAGE WHICH HAS BEEN COMPILED INTO 6S?G # A BOUT BLOCK. 6SR6 # THE DESTINATIONS ARE HELD AS BIT POSITIONS IN 6T=Q # THE WORD GDESTINY OF THE ACTY. 6TQB # OUTPUT IS IN STRICT ROTA, BUT THIS ROTA MAY 6W=2 # BE TAMPERED WITH USING 'MFSETAB' IN MONFILE, BUT 6WPL # MONFILE O/P SHOULD BE PREVIOUS TO ANY ROUTINE 6X9= # WHICH USES 'WRITE'. 6XNW # AND DITTO 'MOP' AND 'SCANB' 6Y8G OUTAB [DESTINATION ROTA 6YN6 # 6^7Q MFORDER SHUFFLE 6^MB ...SENTRY1 [ENTERED FROM MONFIL, MONOLITH AND K4MONFILE 72LL # SOME EXCLUSIVE DESTINIES MUST BE DEALT WITH: 736= LDX 7 MDESTINY(2) 738F ...#SKI JWPHASE4 73=N ...( 73#X ... SRL 7 11 73C6 ... SRC 7 1 73F* ...) 73HJ ...#SKI JWPHASE4<1$1 73KW SRL 7 12 [SINCE MARKS=MDESTINY 745G LDN 0 MALL 74K6 ANDX 0 7 754Q BZE 0 OPUS1 [J IF ROUTE NOT ALL 75JB NGN 0 1 7642 ERN 0 OP+REMOTE+MBOTH 76HL ANDS 0 7 [REMOVE OTHER ROUTES 773= BRN OPEND 77GW OPUS1 LDN 0 MBOTH 782G ANDX 0 7 78G6 BZE 0 OPUS2 [J IF NOT 'BOTH' 78^Q NGN 0 1 79FB ERN 0 REMOTE+OP 79^2 ANDX 7 0 7=DL BRN OPEND 7=Y= OPUS2 LDN 0 OP+REMOTE 7?CW ANDX 0 7 7?XG ERN 0 OP+REMOTE 7#C6 BNZ 0 OPEND [J IF NOT OP&REMOTE 7#WQ ERN 7 OP+REMOTE+MBOTH [ELSE SET (BOTH) 7*BB OPEND SLC 7 12 7*W2 STO 7 MDESTINY(2) 7B*L TRACE 7,DESTINY 7BT= # 7C#W MHUNTW 1,GMON,BOUT 7CSG LDCT 0 #100 7D#6 ANDX 0 ARECB+1(1) 7DRQ SLL 0 2 7F?B STO 0 AWORK1(2) [SET MARKER 7F*# ...#SKI JWPHASE4 7FC= ...( 7FF8 ... ANDN 7 #4000 7FH6 ... BZE 7 XECUTE [J IF NOT HLS&PA 7FK4 ... ERS 7 GDESTINY(2) [REMOVE HLS&UNPACKED DESTINY IND. 7FM2 ... STOZ AWORK4(2) 7FNY ... BRN ZHLS 7FP^ ...) 7FR2 XECUTE 7G=L LDX 1 FX1 7GQ= [ WE PRESUME THAT SJPAK IS B0 AND HAS BEEN O/P PREVIOUSLY 7H9W LDX 2 FX2 7HPG LDXC 0 GDESTINY(2) 7J96 LDEX 4 0 [OUTPUT ROUTINE NO 7JNQ ERX 0 4 7K8B BZE 0 OFF [FINISHED ! 7KN2 ROUND BNG 0 NEXT [NEXT SIG BIT FOUND 7L7L SLL 0 1 7LM= BUX 4 ROUND 7M6W OFF MFREEW GMON,BOUT 7MLG LDEX 0 AWORK1(2) 7N66 BZE 0 ZUP [J IF NO AOUT 7NKQ MFREEW GMON,AOUT 7P5B ZUP 7PK2 UP 7Q4L NEXT STOZ AWORK4(2) [INITIALIZE 7QJ= DEX 4 0 7R3W STO 0 GDESTINY(2) 7RHG ADN 4 OUTAB(1) 7S36 EXIT 4 0 [OFF TO O/P ROUTIE 7SGQ WALMS CATMASK CENTRAL,CLUSTER 7T2B TRALCEN CATMASK CENTRAL 7TG2 MASCTAB [USED BY WMASC - ROUTING PARAM ORDER 7T^L BRN WSJ [1 SYSTEM JOURNAL 7WF= BRN WSCAN [2 SCAN BUFFER 7WYW BRN WMONF [3 MONFILE 7XDG BRN WMOP [4 MOP 7XY6 BRN WALL [5 O/P TO ALL CONSOLES! 7YCQ BRN WCONS [6 O/P TO CENTRAL !KEEP TOGETHER 7YXB BRN WCLS [7 O/P TO OWN 7^C2 BRN WREPL [9 REPLY 7^J8 ...#SKI JWPHASE4 7^PB ... BRN WHLS [9 HLSTEMP OUTPUT 7^WL #DEF XEND=0?-MASCTAB+1 82B= # 82TW # S/R TO FIND NEXT RELEVANT PART 83*G # FROM ROUTE NUMBER IN X7 83T6 # PTR GIVEN IN X3 AND AWORK4->NEXTPART (OR 0 OR -VE) 84#Q # 84SB # AWORK3 : TOP 6 BITS RESERVED FOR 'WLEN' 85#2 # LAST 9 BITS 2^(PART NUMBER) 85RL # 86?= WMASC LDX 2 FX2 86QW SBN 7 XEND 87=G BPZ 7 (GEOERR) [ESURE OK 87Q6 ADN 7 XEND 889Q WM1 LDXC 3 AWORK4(2) 88PB BCS (6) [+0 IF NO NEXT PART 8992 BNZ 3 WM2 [J IF 2ND TIME THRU 89NL MHUNTW 3,GMON,BOUT 8=8= ADN 3 A1 [PTR TO 1ST PART 8=MW LDN 0 1 8?7G STO 0 AWORK3(2) [INITIALIZE 8?M6 WM2 LDCT 0 #100 8#6Q ANDX 0 1(3) 8#LB BNZ 0 WM3 8*62 NGN 0 4095 [SET -VE IF NOT CONTINUED 8*KL BRN WM4 8B5= WM3 LDX 0 0(3) 8BJW ... ANDN 0 #3777 [REC HEADER 8C4G ADN 0 3 8CJ6 SRL 0 2 8D3Q ADN 0 2(3) [->NEXT PART 8DHB WM4 STO 0 AWORK4(2) 8F32 LDEX 0 AWORK3(2) 8FGL ADS 0 AWORK3(2) [DOUBLE 'PART-INDIC' 8G2= SMO 7 8GFW BRN MASCTAB-1 [TO APPR ROUTINE 8G^G # SYSTEM JOURNAL 8HF6 WSJ SMO FX1 8HYQ LDX 0 WJOUR 8JDB WM5 ANDX 0 1(3) 8JY2 BZE 0 WM1 [J IF NOTJOURN 8KCL EXIT 6 1 8KX= # SCAN BUFFER 8LBW WSCAN SMO FX1 8LWG LDX 0 SCAMSK 8MB6 ANDX 0 1(3) 8MTQ BNZ 0 WM1 [J IF 'NOSCAN' 8N*B EXIT 6 1 8NT2 # MONITOR FILE 8P#L WMONF LDX 0 AMFMSK(2) 8PS= BZE 0 WM1 [J IF TRACE NONE 8Q?W LDCT 0 #20 [FORCEPRINT 8QRG ORX 0 AMFMSK(2) 8R?6 BRN WM5 8RQQ # MOP OUTPUT 8S=B WMOP LDCT 0 2 [FORCETYPE 8SQ2 ORX 0 AMXMSK(2) 8T9L BRN WM5 8TP= # CONSOLE O/P 8W8W WCONS LDN 0 #4000 [CENTRAL 8WNG ORX 0 IOPTRACE [AND OPTRACE 8X86 BRN WM5 8XMQ # CLUSTER O/P 8Y7B WCLS LDN 0 #4000 8YM2 SLL 0 1 [REMOTE BIT 'OP' 8^6L ORX 0 IOPTRACE [? 8^L= BRN WM5 925W # O/P TO ALL - ASSUME THE MESSAGE IS SET EQUAL FOR ALL 92KG WALL SMO FX1 9356 LDX 0 WALMS [CL&OP 93JQ ORX 0 IOPTRACE 944B BRN WM5 94J2 # 953L # REPLY : TAKE CATEGORIES: 95H= # LG,PM,FL,CT,CE,OJ,LS,DP 962W RMASK CATMASK LG,PM,FL,CT,CE,OJ,LS,DP 96GG WREPL SMO FX1 9726 LDX 0 RMASK 97FQ BRN WM5 97HF ...#SKI JWPHASE4 97K8 ...( 97LX ...# HLSTEMPQ OUTPUT 97NL ...WHLS LDN 0 #4000 97Q* ... ANDX 0 0(3) 97S4 ... BZE 0 WM1 [J IF NOT HLS 97TR ... EXIT 6 1 97XG ...) 97^B # FINDS THE NO OF CHARS IN MESSAGE PARTS 98F2 # TO GIVEN ROUTE(IN X7 [CF WMASC]) RESULT X4 98YL # AWORK3 UPDATED FOR 'WRITE' 99D= # HMON1 IS THE UNION OF CATE_ORIES 99XW WLEN LDN 4 0 9=CG SMO FX2 9=X6 STO 4 HMON1 9?BQ WL1 CALL 6 WMASC 9?WB BRN WL2 [OUT IF NO MORE PARTS 9#B2 LDX 0 0(3) 9#FX ...#SKI JWPHASE4 9#KS ... ANDN 0 #3777 9#PP ...#SKI JWPHASE4<1$1 9#TL ANDN 0 4095 9**= ADX 4 0 9*SW LDCH 0 AWORK3(2) 9B#G ORX 0 AWORK3(2) [ADD THIS PART-INDIC 9BS6 DCH 0 AWORK3(2) 9C?Q LDX 0 1(3) 9CRB ORS 0 HMON1(2) [ADD CATEGORIES 9D?2 BRN WL1 9DQL WL2 STOZ AWORK4(2) 9F== EXIT 5 0 9FPW ZMONFILE [OUTPUT TO MONITOR FILE 9G9G LDN 7 3 9GP6 CALL 5 WLEN 9GQT ... FSHCODE AORB 9GSJ ...( 9G^P ... LDX 5 SLINK2(1) [LINK TO LABEL 'SENTRY2' 9H32 ... ALIEN XHOMETRAN,2 [J IF ON AWAY MACHINE - TRANSFER HOME 9H4? ... TRANCHK FSHMESSAGE,EQUAL,XHOMENEST,SENTRY2 [NEST IF ALREADY TRAN'D 9H5J ...SENTRY2 9H6W ...) 9H8Q LDN 0 2000 [MAX CHARS PER RECORD 9HNB TXL 4 0 9J82 BCS MON9 9JML LDX 4 0 [ENFORCE MAX IF NEC 9K7= MON9 NGX 5 4 [SAVE IN X5 9KLW LDX 2 4 9L6G ADN 2 11 [+2 WORDS 9LL6 SRL 2 2 [NO OF WORDS 9M5Q LDX 6 2 9MKB STEP -1,0(2),FORCED 9N52 TESTRPN2 FILEFULL,MON6 9NJL # 9P4= # FILEFULL SO WE SET NOTRACE AT ALL LEVELS 9PHW # AND SET 'FULLTRACE' MARKER 9Q3G # 9Q5P ... FSHCODE AORB 9Q7Y ...( 9Q93 ... TRANCHKN FSHMESSAGE,EQUAL,MONFULL,MONFULL [J IF NOT TRANSBEG'D 9Q=7 ... LDN 2 1 [OFFSET TO LABEL 'MONFULL' 9Q#B ... CALL 4 TRANSFIN [RETURN TO ORIGINAL MACHINE OR UNNEST 9QBK ...MONFULL 9QDS ...) 9QH6 LDCT 0 #40 9R2Q ORS 0 CLONG1(2) [FULLTRACE 9RGB STOZ AMFMSK(2) [NONE THIS LEVEL 9S22 MON8 HUNT2J 2,CPB,CALAS,,MON7 9SFL STOZ CMFMSK(2) [AND AT HIGHER LEVELS 9S^= BRN MON8 9TDW MON6 9TYG STO 6 0(3) [RECORD HDDR 9WD6 LDN 4 2(3) [->NEXT WORD 9WXQ LDN 1 1(3) [->CATWORD 9XCB STOZ 0(1) 9XX2 MON3 CALL 6 WMASC 9YBL BRN MON5 9YW= LDX 2 0(3) 9^27 ...#SKI JWPHASE4 9^64 ... ANDN 2 #3777 9^9^ ...#SKI JWPHASE4<1$1 9^*W ANDN 2 4095 [CHAR CNT 9^TG ADX 5 2 =2*6 BNG 5 MON10 =2SQ SBX 2 5 [TRUNCATE IF NEC =3#B MON10 =3S2 LDX 0 1(3) [CATBITS =4?L ORS 0 0(1) [UNION =4R= ADN 3 2 =5=W MON2 SBNC 2 512 =5QG BCS MON1 [J IF < 128 CHARS =6=6 MVCH 3 0 =6PQ BRN MON2 =79B MON1 ANDN 2 #777 =7P2 BZE 2 MON11 =88L MVCH 3 0(2) [LAST IN =8N= MON11 BNG 5 MON3 [J IF MORE ROOM =97W MON5 LDX 5 4 =9MG SLC 5 2 ==76 ANDN 5 3 ==LQ BZE 5 MON4 [J IF NO SPACEFILL =?6B LDN 3 ACES =?L2 NGX 5 5 =#5L ADN 5 4 [CHARS TO GO =#K= SMO 5 =*4W MVCH 3 0 [SPACEFILL =*8R ... FSHCODE AORB =*#N ...MON4 TESTREPN FNEARLY,XRETURN [J IF NOT MONITORING FILE NEARLY FULL =*DK ... FSHSKIP =*JG MON4 TESTREPN FNEARLY,XECUTE =B46 MON7 DOWN PROCONTX,15 [ABANDON IF NEARLY FULL =B64 ... FSHCODE AORB =B82 ...( =B9Y ...XRETURN =B?W ... TRANCHKN FSHMESSAGE,EQUAL,XECUTE,XECUTE [J IF NOT TRANSBEG'D =B*S ... LDN 2 0 [OFFSET TO LABEL 'XECUTE' =BCQ ... CALL 4 TRANSFIN [RETURN TO OTHER MACHINE OR UNNEST =BFN ...) =BHQ BRN XECUTE =BK^ ... FSHCODE AORB =BN8 ...( =BQC ...TRANSFIN =BSL ... TRANSFIN 2 [RETURN TO OTHER M/C OR DROP THROUGH =BWT ... EXIT 4 0 [RETURN TO AFTER CALL - 1 LEVEL LESS =B^4 ...) =C3B # MOPOUT TABLE =CH2 MOPOUT +0 =D2L BRN MREAD [TAPE READER -TO OPS CONSOLE =DG= +3 =D^W BRN MREAD [CARD READER - DITTO =FFG +7 =F^6 BRN MFAIL [MOP FAIL =GDQ +10 =GYB BRN TOMOP [MOP CONSOLE =HD2 +11 =HXL BRN TOMOP [MOP CONSOLE =KBG +24 =KW6 BRN MIPB [IPB =L*Q +60 =LTB BRN MCOMI [COMMAND ISSUER =M*2 +63 =MSL BRN MREAD [LOGGEDIN OPSCONSOLE =N#= +5 =NRW BRN MAGTP [MAGTAPE ! =P?G #DEF MOPNO=0?-MOPOUT/2 =PR6 #DEF MAGTP=MREAD =PTY ... FSHCODE AORB =PYQ ...( =Q3J ...# TABLE USED BY ZMOP IN SHFS =Q6B ...MOPTOOP +0 [TAPE READER =Q98 ... +3 [CARD READER =Q#2 ... +63 [OPS CONSOLE =QBS ... +5 [MAG TAPE! =QFL ...#DEF MOPOPNO=0?-MOPTOOP =QJD ...) =QM= ...# =QQB # =R=2 NCONS +3 [NO OF CONSOLE ROUTES =RPL TESTAB [CATEGORY BITS FOR ROUTE: =S9= CATMASK CENTRAL,CLUSTER [5 =SNW CATMASK CENTRAL [6 =T8G CATMASK CLUSTER [7 =TN6 # FOR USE OF 'WRITE' =W7Q # TEST IF JOBNAME TO BE PREFI XED (USE AFTER WLEN) =WMB TESTJ LDX 1 7 =X72 SBN 1 5 =XLL SMO FX1 =Y6= TXL 1 NCONS =YKW BCC TS1 [J IF NOT A CONSOLE ROUTE =^5G ADX 1 FX1 =^K6 LDX 0 TESTAB(1) ?24Q ANDX 0 HMON1(2) ?2JB BNZ 0 TS1 [OR 'E[PECTED' ?342 LDX 0 JOBNO(2) ?3HL BZE 0 TS1 [J IF NO-USER ?43= #SKI ANOUSER<1$1 ?4GW ( ?52G LDCH 0 ATYPE(2) ?5G6 SBN 0 CPAT/64 ?5^Q BNZ 0 TS2 [OUT IF NOT A CPAT ?6FB BRUSEN TS1,2 [OR NO-USER ?6^2 TS2 ?7DL ) ?7Y= # ?8CW # ELSE OPTRACE ROUTING ALONE ?8XG LDCT 0 #10 ?9C6 ORS 0 AWORK3(2) ['OPTRACE' PART ?9WQ ADN 4 7 [MAX INCREASE ?=BB EXIT 6 0 ?=W2 TS1 EXIT 6 1 ??*L # S/R TO SET UP AN AOUT IF NECESSARY ??T= # USES AWORK1 AS MARKER WORD ?##W # X1->AOUT ON EXIT, X7 USED AS FOR WMASC ?#SG # ?*#6 # AWORK 1 HAS: B0 SET IF MULTIPART BOUT ?*RQ # LAST 9 BITS SET IF AN AOUT EXISTS ?B?B WRITE ?BR2 CALL 5 WLEN [SETUP X4,AWORK3,ACOMMUNE1 ?C=L LDX 5 1 [KEEP LINK ?CQ= ADN 4 11 ?D9W SRL 4 2 ?DPG CALL 6 TESTJ [CHECK IF JOBNAME PREFIX... ?F96 LDN 6 0 [...REQUIRED ?FNQ LDCH 0 AWORK3(2) [PARTS REQUIRED THIS TIME ?G8B LDEX 1 AWORK1(2) [PARTS USED LAST TIME ?GN2 DEX 0 AWORK1(2) [REMEMBER FOR NEXT TIME ?H7L BZE 1 NOOUT [J IF NO AOUT ?HM= TXU 0 1 ?J6W BCS NEWOUT [NEED A NEW AOUT ?JLG MHUNTW 1,GMON,AOUT [...ELSE THIS ONE WILL DO ?K66 EXIT 5 0 ?KKQ NEWOUT ?L5B MFREE GMON,AOUT [FREE THE OLD AOUT ?LK2 NOOUT ?M4L SBX 5 FX1 ?MJ= SETUPCORE 4,1,GMON,AOUT ?N3W ADX 5 FX1 ?NHG LDX 0 HMON1(2) ?P36 STO 0 ARECB+1(1) [CATEGORY UNION ?PGQ LDN 4 ARECB+2(1) [CHAR PTR ?Q2B BZE 6 PUTIN [J IF TO PUT JOBNAME IN ?QG2 WR1 CALL 6 WMASC ?Q^L BRN WTIDY [TIDY UP IF NO MORE PARTS ?RF= LDX 0 0(3) ?RK7 ...#SKI JWPHASE4 ?RP4 ... ANDN 0 #3777 ?RS^ ...#SKI JWPHASE4<1$1 ?RYW ANDN 0 4095 [CHAR-COUNT ?SDG ADN 3 2 [SKIP RECORD WORDS ?SY6 WR6 BZE 0 WR1 ?TCQ SBNC 0 512 ?TXB BCS WR7 ?WC2 MVCH 3 512 [MOVE IN BLOCKS OF 512 CHARS ?WWL BRN WR6 ?XB= WR7 SMO 0 [PUT LAST IN ?XTW MVCH 3 0 ?Y*G BRN WR1 ?YT6 WTIDY LDN 3 ACES ?^#Q LDX 0 4 ?^SB SLC 0 2 #2#2 NGX 0 0 #2RL ANDN 0 3 [CHARS TO GO #3?= BZE 0 WR2 #3QW SMO 0 #4=G MVCH 3 0 [SPACEFILL #4Q6 WR2 SBN 4 ARECB(1) #59Q STO 4 ARECB(1) [RECORD HDDR #5PB EXIT 5 0 #692 # PREFIX THE JOBNAME :Q 'FRED,:JACK: ' #6NL PRESET 4H,:: #78= PUTIN FCJOB 1,2,PCA,CPA,OLPA #7MW #SKI ANOUSER<1$1 #87G ( #8M6 LDX 0 ALOGLEN(1) #96Q SBN 0 ASTJOB #9LB BZE 0 PUT3 [OUT IF NO-USER #=62 ) #=KL SMO FX1 #?5= LDN 6 PRESET #?JW LDN 3 JNAME(1) ##4G PUT2 LDN 2 3(3) ##J6 PUT1 SLC 2 2 #*3Q SBN 2 1 #*HB SRC 2 2 #B32 LDCH 0 0(2) #BGL SBN 0 #20 #C2= BZE 0 PUT1 [BACKSPACE #CFW SBX 2 3 [X3--CHAR 0 #C^G SLC 2 2 #DF6 MVCH 3 1(2) [PUT IN #DYQ LDX 3 6 #FDB MVCH 3 2 #FY2 BNG 6 PUT3 [OUT ON 2ND PASS #GCL LDX 6 3 #GX= LDN 3 JUSER(1) #HBW BRN PUT2 #HWG PUT3 MHUNTW 1,GMON,AOUT [RESTORE X1 #JB6 BRN WR1 #JTQ # #K*B ZSJPAK GEOERR 1,SJDONE! #KT2 # #KX9 ...#SKI JWPHASE4 #K^D ...( #L3M ...ZHLS #L5W ... LDN 7 9 [ROUTE 9 FOR WMASC #L85 ... BRN SJ0 #L=# ...) #L#L ZSJNPK #LS= LDN 7 1 [ROUTE 1 FOR WMASC #L^D ...#SKI JWPHASE4 #M6L ...SJ0 #M?W CALL 5 WLEN [CHARS IN MESSAGE #MRG LDX 5 4 [SAVE CHAR COUNT #N?6 ADN 4 JMESSAGE-JWAITER+1*4+3 #NQQ SRL 4 2 [NO OF WORDS REQID #P=B SETUPCORE 4,1,GMON,JRNAL #PQ2 STOZ JCATS(1) #Q9L STOZ JWAITER(1) #QP= MHUNT 3,GMON,BOUT #R8W LDX 0 A1(3) #RNG ANDX 0 HALFTOP #S86 STO 0 JPACKORG(1) [MESSNO/NO PDCS #SMQ LDX 0 ACOMMUNE2(2) #T7B STOC 0 JJOBNO(1) #TM2 BCC SJ1 [J IF AUTONOMOUS #TWS ... BSON EMSBIT,SJ1 [J IF IN EMS #W6L LDX 0 ACTNUM(2) #WL= STO 0 JWAITER(1) #X5W SJ1 LDN 4 JMESSAGE(1) #XKG SJ3 CALL 6 WMASC #Y56 BRN SJ2 [OUT IF NO MORE PARTS #YJQ LDX 0 1(3) #^4B ORS 0 JCATS(1) [ADD CATGORY #^J2 LDEX 0 0(3) [CHARS *23L BZE 0 SJ3 *2H= ADN 3 2 *32W SMO 0 *3GG MVCH 3 0 [CONCATENATE *426 BRN SJ3 *4FQ SJ2 LDX 4 1 *4GF ...#SKI JWPHASE4 *4H8 ...( *4HX ... GMONTIDY 4,5,UNPACKED [TIDY UP GMON/JRNAL *4JL ... SBN 7 1 *4K* ... BZE 7 SJ6 [J IF JOURNAL O/P *4L4 ... LDX 1 4 *4LR ... LDX 3 ALOGLEN(1) *4MG ... SBN 3 4 *4N9 ... LDN 2 A1(1) *4NY ... LDN 1 A1+3(1) *4PM ... MOVE 1 0(3) [WORDS OF...... *4QB ... ALTLEN 4,3 [RED TAPE. *4R5 ... NAME 4,ADATA,ASUP *4RS ... HLSINFORM XECUTE,MESSAGE [O/P TO TEMPQ *4SH ... VFREEW ADATA,ASUP *4T= ... BRN XECUTE *4T^ ...SJ6 *4WN ... SJCHAINY 4 *4XC ...) *4Y6 ...#SKI JWPHASE4<1$1 *4^B SJCHAIN 4,5 [O/P *5F2 BRN XECUTE *5YL ZSCANB *6D= LDN 7 2 *6XW WSC1 CALL 6 WMASC *7CG BRN XECUTE *7X6 LDXC 0 AWORK1(2) *8BQ BCS WSC3 [J IF MANY PART *8WB NGN 4 1 *9B2 BRN WSC2 *9TL WSC3 *=*= MHUNTW 1,GMON,BOUT *=SW LDX 5 1 *?#G PHOTO 4 *?S6 WSC2 LDEX 2 0(3) *#?Q ADN 2 3 *#RB SRL 2 2 **?2 GSCAN 1(3),MONF OUT,1(2) **QL BNG 4 XECUTE [OUT IF ONEPART *B== TESTMOVE 4,WSC1 *BPW MHUNTW 1,GMON,BOUT *C9G SBX 1 5 [DISTANCE MOVED *CP6 ADS 1 AWORK4(2) *D8Q BRN WSC1 *DNB # *F82 # MOP O/P-INCLUDES READER-JOB MESSAGES *FML ZMOP LDN 7 4 *G7= CALL 5 WLEN *GLW STO 4 ACOMMUNE1(2) [SAVE CHARLENGTH *GMR ... FSHCODE AORB *GNN ...( *GNX ... LDCH 0 JSOURCE1(2) [IF MOP OUTPUT TO BE *GP6 ... LDN 3 MOPTOOP(1) [DIRECTED TO OPS CONSOLE *GP* ... LDN 4 MOPOPNO [DON'T TRANSFER HOME *GPJ ...XLOOP *GPR ... TXU 0 0(3) *GQ2 ... BCC SENTRY3 *GQ9 ... ADN 3 1 *GQD ... BCT 4 XLOOP *GQM ... SAWCEN CENTRAL,SENTRY3 [DON'T TRANSFER HOME IF SOURCE NOT *GQW ... [CENTRAL - OUTPUT DIRECTED TO OP *GRC ... LDX 5 SLINK3(1) [LINK TO LABEL 'SENTRY3' *GRQ ... ALIEN XHOMETRAN,2 [J IF ON AWAY MACHINE,TRANSFER HOME *GS5 ... TRANCHK FSHMESSAGE,EQUAL,XHOMENEST,SENTRY3 [NEST IF ALREADY TRAN'D *GSD ... BRN SENTRY3 [DON'T NEED TO TRANSBEG *GSR ...XHOMETRAN *GT9 ... LDN 1 FSHMESSAGE [ID = FSHMESSAGE *GTM ...XTRANSBEG *GW6 ... LDN 2 GMON+BOUT [TERMINATING BLOCK = GMON/BOUT *GX3 ... SLL 2 12 *GXY ... TRANSBEX 1,5,2,ACOMMUNE3,XIPBDOWN *GYT ... BRN XECUTE [OK RETURN *G^Q ... BRN MONFULL [MONITORING FILE FULL RETURN *H2M ...XIPBDOWN *H3J ... TRANSDIE [KILL OFF ACTIVITY *H3X ...XHOMENEST *H4= ... LDN 1 FSHMESSAGE+FSHZNEST [ID = FSHMESSAGE,NESTED TRANSBEG *H4K ... BRN XTRANSBEG *H4Y ...SENTRY3 *H5B ...) *H6G CALL 1 WRITE [GET X1->AOUT *HL6 # HERE X1 -> AOUT *J5Q WMOP3 LDCH 0 JSOURCE1(2) [PERI-TYPE *JKB SMO FX1 *K52 LDN 3 MOPOUT [TABLE *KJL LDN 4 MOPNO [NO OF TYPES *L4= MLOP TXU 0 0(3) *LHW BCC MFND *M3G ADN 3 2 *MH6 BCT 4 MLOP *N2Q GEOERR 1,RONGTYPE *NGB MFND LDX 7 ACOMMUNE1(2) [CHAR LENGTH *P22 EXIT 3 1 [BRANCH *PFL # MOPOUT *P^= TOMOP SAWCEN CENTRAL,MREAD [J IF SAWCE NOT CENTRAL *QDW ...#SKI JSKI31 *QYG ( *RD6 ... JBC MOP1,2,EXQUIET [J IF NOT QUIET *RXQ ... LDEX 0 ARECB+1(1) [CATEGORY *SCB ... ERN 0 #20 *SX2 ... BNZ 0 MOP1 [J IF NOT COMMERR *TBL ... LDN 0 1 *TW= ... STO 0 ACOMMUNE1(2) [MOP IND. *W*W ... DOWN PNTLAST,4 *WTG ... FSHCODE AORB *X*6 ... BRN XRETURN *XSQ ... FSHSKIP *^R= BRN XECUTE B2=W MOP1 B2QG ) B3=6 MOPOUT 7,NOIPB [OUT TO MOP-NO IPB B3B3 ... FSHCODE AORB B3FY ... BRN XRETURN B3KT ... FSHSKIP B3PQ BRN XECUTE B49B # MOP FAILURE B4P2 MFAIL DOWN MULTIPLX,4 B4SX ... FSHCODE AORB B4YS ... BRN XRETURN B54P ... FSHSKIP B58L BRN XECUTE B776 # B789 ...#SKI JSKI31 B79# ...( B7=C ...MIPB JBC XQNOT,2,EXQUIET [J IF NOT QUIET B7?G ... LDEX 0 ARECB+1(1) B7#K ... ERN 0 #20 B7*N ... BNZ 0 XQNOT [J IF NOT COMMAND ERROR B7BR ... LDN 0 2 B7CW ... STO 0 ACOMMUNE1(2) [IPB IND. B7D^ ... DOWN PNTLAST,4 [O/P 'ERROR B7F9 ... FSHCODE AORB B7FF ... BRN XRETURN B7FP ... FSHSKIP B7G4 ... BRN XECUTE B7H7 ...XQNOT IPBOUT 7 B7J= ...) B7K* ...#SKI JSKI31<1$1 B7LQ MIPB IPBOUT 7 B7QM ... FSHCODE AORB B7WJ ... BRN XRETURN B82F ... FSHSKIP B86B BRN XECUTE B8L2 # B8M8 ...#SKI JSKI31 B8NB ...( B8PJ ...MCOMI JBC MCIEX,2,EXQUIET [J IF NOT QUIET B8QQ ... LDEX 0 ARECB+1(1) B8RY ... ERN 0 #20 B8T6 ... BNZ 0 MCIEX [J IF NOT COMERR B8W# ... STOZ ACOMMUNE1(2) B8XG ... DOWN PNTLAST,4 [O/P 'ERROR' B8XR ... FSHCODE AORB B8Y4 ... BRN XRETURN B8Y* ... FSHSKIP B8YN ... BRN XECUTE B8^W ...MCIEX CIOUT 7 B934 ...) B94= ...#SKI JSKI31<1$1 B95L MCOMI CIOUT 7 B99H ... FSHCODE AORB B9*D ... BRN XRETURN B9F* ... FSHSKIP B9K= BRN XECUTE B=4W # REPORT TO ONE SOURCE B=JG MREAD LDX 5 GDESTINY(2) B?46 LDEX 3 5 B?HQ SRC 5 12(3) [RESET B#3B LDX 6 5 B#H2 ANDN 6 OP+REMOTE+MBOTH+MALL B*2L BZE 6 SOLE [TO CLUSTER IF NOT OPROUTE B*G= ANDN 6 OP B*^W BZE 6 XECUTE [OUT IF NOT CENTRAL BBFG ERN 5 OP+MBOTH [ELSE SET 'BOTH' INSTEAD BB^6 SLC 5 12(3) BCDQ STO 5 GDESTINY(2) BCYB BRN XECUTE BDD2 # BDXL # O/P TO ALL BFC= ZMALL LDN 7 5 BFWW CALL 1 WRITE BGBG LDN 6 3 BGW6 BRN SOLE BH*Q # BHTB # O/P TO 'OWN' BJ*2 ZREMOTE BJSL LDN 7 7 BK#= CALL 1 WRITE BKRW LDN 6 0 BL?G BRN SOLE BLR6 # BM=Q # O/P TO CENTRAL BMQB ZOP LDN 7 6 BN=2 CALL 1 WRITE BNPL LDN 6 1 BP9= BRN SOLE BPNW # BQ8G # O/P TO BOTH OWN+CENTRAL BQN6 ZMBOTH BR7Q LDN 7 5 BRMB CALL 1 WRITE BS72 LDN 6 2 BS=X ... FSHCODE AORB BS#T ...( BSBS ...SOLE CONSOLE 6 [O/P ! BSFB ...) BSGP ... FSHSKIP BSJM ...( BSLL SOLE CONSOLE 1,6 [O/P ! BT6= ...) BW5G BRN XECUTE BW=N ...#SKI BWCW ...( BWK6 # RETAIN BLOCK BX4Q # AN AOUT HOLDING ALL RELEVANT PARTS IS RETAINED BXJB # THIS IS A TERMINAL ROUTINE BY42 ZRETAIN BYHL LDEX 0 AWORK1(2) B^3= BZE 0 RET1 [J IF NO AOUT B^GW MFREEW GMON,AOUT C22G RET1 C2G6 #SKI AORBOUT<1$1 C2^Q ( C3FB MHUNTW 1,GMON,BOUT C3^2 NAME 1,GMON,AOUT C4DL ) C4Y= UP C5CW # C5XG # A MESSAGE HAS BEEN ASSEMBLED (BROADCAST ETC) C6C6 ZSEMBL C6WQ MHUNTW 1,GMON,BOUT C7BB NAME 1,GMON,AOUT C7W2 UP C8*L # C8T= # REPLY: ALL THOSE PARTS WHICH ARE NOT'ONLINE'OR'COMMAND' C9#W # YET COULD CONCEIVABLY BE FULLTRACED ARE LEFT AS A BREPLY C9SG # BLOCK C=#6 ZREPLY C=RQ LDN 7 8 C??B CALL 1 WRITE C?R2 LDX 5 1 C#=L VFREEW ADATA,BREPLY C#Q= MFREEW GMON,BOUT C*9W NAME 5,ADATA,BREPLY C*PG UP C*PW ...) C*Q= ...# RETAIN BLOCK C*QL ...# AN AOUT HOLDING ALL RELEVANT PARTS IS RETAINED C*R2 ...# THIS IS A TERMINAL ROUTINE C*RB ...ZRETAIN C*RQ ... LDEX 0 AWORK1(2) C*S6 ... BZE 0 RET1 [J IF NO AOUT C*SG ... MFREEW GMON,AOUT C*SW ...RET1 C*T= ...#SKI AORBOUT<1$1 C*TL ...( C*W2 ... MHUNTW 3,GMON,BOUT C*WB ... BRN NAMEAOUT C*WQ ...) C*X6 ...#SKI AORBOUT C*XG ... UP C*XW ...# C*Y= ...# A MESSAGE HAS BEEN ASSEMBLED (BROADCAST ETC) C*YL ...ZSEMBL C*^2 ... MHUNTW 3,GMON,BOUT C*^B ...NAMEAOUT C*^Q ... CALL 2 NAMEUP CB26 ...#HAL +GMON+AOUT,+0 CB2G ...# CB2W ...# REPLY: ALL THOSE PARTS WHICH ARE NOT'ONLINE'OR'COMMAND' CB3= ...# YET COULD CONCEIVABLY BE FULLTRACED ARE LEFT AS A BREPLY CB3L ...# BLOCK CB42 ...ZREPLY CB4B ... LDN 7 8 CB4Q ... CALL 1 WRITE CB56 ... LDX 3 1 CB5G ... VFREEW ADATA,BREPLY CB5W ... MFREEW GMON,BOUT CB6= ... CALL 2 NAMEUP CB6L ...#HAL +ADATA+BREPLY,+0 CB72 ...# CB7B ...NAMEUP CB7Q ... LDX 0 0(2) CB86 ... NAMEX 3 CB8G ... UP CB96 # CC8B #END ^^^^ ...77552205001000000000 </code> Last modified: 17/01/2024 11:55by 127.0.0.1 Log In