16 22=X ... SEG MONFILE,,CENT(MESSAGE SYSTEM),,G400 4 22HS ...[ 15 22SP ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 4 235L ...[ 6 23BH ...#UNS G400 15 23MD ...# THIS CHAPTER IS MODIFIED FOR G3PLUS-IH MK2 11 23YG SEGENTRY K1MONFILE,SENTRY1 11 24D6 SEGENTRY K2MONFILE,SENTRY2 11 24XQ SEGENTRY K3MONFILE,SENTRY3 11 25CB SEGENTRY K4MONFILE,SENTRY4 11 25X2 SEGENTRY K5MONFILE,SENTRY5 11 26BL SEGENTRY K9MONFILE,SENTRY9 12 26W= SEGENTRY K11MONFILE,SENTRY11 12 27*W SEGENTRY K12MONFILE,SENTRY12 12 28*6 SEGENTRY K21MONFILE,SENTRY21 4 28SQ # 16 29#B # ENTERED FROM MONOUT,OUTMON,ASSMESS,DEMAND,+INFORM 12 29S2 # PRINCIPLE DUTY AS MESSAGE ROUTER. 17 2=?L # MESSAGE PARAMETERS ARE IN ASET BLOCK (BUT NOTE 'KNOWN' 16 2=R= # PDC PARAMS),FINAL MESSAGE ASSEMBLED IN AOUT AND IS 17 2?=W # THEN SENT TO APPROPRIATE DESTINATIONS IN STRICT ROTA 4 2?QG # 7 2#=6 # DESTINATIONS: 4 2#PQ # 7 2*9B # SYSTEM JOURNAL 9 2*P2 # MONITORING FILE (!) 7 2B8L # MOP CONSOLES 8 2BN= # OPERATORS CONSOLES 7 2C7W # GSCAN BUFFER 7 2CMG # REPLY 'BUFFER' 9 2D76 # RETAIN BLOCK FACILITY 14 2DLQ # TABLE FOR GOING ACROSS TO GET MESSAGE HELD 9 2F6B # IN ANOTHER SEGMENT: 10 2FL2 TOTNUMB +AMFNUMBER+1 8 2G5L # 'WARE CHANGE 7 2GK= #DEF TCATS=A1+1 4 2H4W # 9 2J46 MFORDER MFSETAB 6 2JHQ MFDEFS 9 2K3B WJOUR CATMASK JOURNAL 9 2KH2 WCLUS CATMASK CLUSTER 9 2L2L WPRIN CATMASK FORCEPRI 17 2LG= SCAMSK CATMASK OL,PM,LS [FORBIDDEN GSCAN'S 15 2L_W # SR TO SET DESTINATION MASK IN X4 8 2MFG WMASK LDX 1 FX1 8 2M_6 LDX 2 FX2 16 2NDQ BPZ 7 W11 [J IF NOT RETAIN 9 2NYB ORN 4 RETAIN 4 2PD2 W11 9 2PXL LDX 0 WJOUR(1) 7 2QC= ANDX 0 7 14 2QWW BZE 0 W1 [J NOT SJ 8 2RBG LDCT 0 #40 7 2RW6 ANDX 0 7 18 2S*Q BZE 0 W2 [J IF SJ AND NOT PACKED 8 2STB ORN 4 SJPAK 8 2T*2 BRN W1 8 2TSL W2 ORN 4 SJNPK 8 2TXP ...W1 LDN 0 #4000 7 2TYQ ... ANDX 0 7 13 2T_R ... BNZ 0 W15 [CLUSTER 9 2W2S ... LDX 0 HMON1(2) 16 2W3T ... BNG 0 W3 [J IF IGNORNG OPTRACE 9 2W4W ... LDX 0 IOPTRACE 7 2W5X ... ANDX 0 7 8 2W6Y ... BZE 0 W3 6 2W74 ...#UNS G400 4 2W78 ...( 13 2W7# ... TESTHKN W15 [J IF NOT HOOK 16 2W7D ... DOTPMON W15 [OR TRACING SWITCHED ON 17 2W7J ... TESTNCM W15 [OR CATEGORY NEQ CM,CE OR CT 15 2W7N ... BRN W3 [ELSE DO NOT OUTPUT 4 2W7S ...) 8 2W7_ ...W15 ORN 4 OP 14 2YQB W3 BSON EMSBIT,WEX [J IF EMS 9 2_=2 LDX 0 WCLUS(1) 7 2_PL ANDX 0 7 15 329= BZE 0 W4 [NOT REMOTE 9 32NW ORN 4 REMOTE 9 338G W4 LDCH 0 ATYPE(2) 9 33N6 SBN 0 CPAT/64 16 347Q BNZ 0 WEX [J IF NOT A CPAT 8 35LL LIMBO 0,2 15 366= BNZ 0 W5 [OR IN LIMBO 9 375G LDX 0 AMXMSK(2) 7 37K6 ANDX 0 7 8 384Q BZE 0 W5 6 385Y ...#UNS G400 4 3876 ...( 15 388# ...# STOP OUTPUT OF MESSAGES TO MOP 9 389G ... LDX 0 ZDSKM(1) 7 38=N ... ANDX 0 7 19 38?W ... BNZ 0 XDSK1 [OUTPUT IF FORCETYPE MESSAGE 18 38*4 ... TESTHKN XDSK1 [OUTPUT IF NOT IN A HOOK 21 38B= ... DOTPMON XDSK1 [OUTPUT IF PRIVILAGE MONITORING SET 18 38CD ... BRN W5 [SKIP SETTING OUTPUT MASK 9 38DL ...ZDSKM #21200000 5 38FS ...XDSK1 4 38H2 ...) 8 38JB ORN 4 MOP 9 3942 W5 LDX 0 AMFMSK(2) 16 39HL BZE 0 W6 [J IF NO-TRACE 15 3=3= ORX 0 WPRIN(1) [FORCEPRINT 7 3=GW ANDX 0 7 8 3?2G BZE 0 W6 6 3?49 ...#UNS G400 4 3?5Y ...( 21 3?7M ...# STOP OUTPUT OF MESSAGES TO MONITORING FILE IN HOOK C 18 3?9B ... TESTHKN XDSK2 [OUTPUT IF NOT IN A HOOK 21 3??5 ... DOTPMON XDSK2 [OUTPUT IF PRIVILAGE MONITORING SET 18 3?#S ... BRN W6 [SKIP SETTING OUTPUT MASK 5 3?BH ...XDSK2 4 3?D= ...) 9 3?G6 ORN 4 MONFILE 17 3?_Q W6 BPZ 7 W7 [J IF NOT RETAIN BIT 17 3#FB WEX BZE 4 W9 [J IF NO DESTINATIONS 8 3#_2 LDCT 0 #40 9 3*DL ORX 0 WJOUR(1) 7 3*Y= ERX 0 7 17 3BCW BZE 0 W9 [J IF JUST SJ&PACKED 8 3BXG SMO FX1 9 3CC6 LDX 0 SCAMSK 7 3CWQ ANDX 0 7 16 3DBB BNZ 0 W9 [J IF NOTGSCAN 8 3DW2 ORN 4 SCANB 8 3F*L W9 LDCT 0 #100 7 3FT= ANDX 0 7 17 3G#W BNZ 0 W10 [EXIT+0 IF CONTINUED 7 3GSG EXIT 5 1 14 3H#6 W7 LDN 0 #1002 [OL + CM 7 3HRQ ANDX 0 7 8 3J?B BNZ 0 WEX 7 3JR2 LDEX 0 7 20 3K=L BZE 0 WEX [J IF NOT TO BE KEPTFOR SETPARAM 8 3KQ= ORN 4 REPLY 8 3L9W BRN WEX 7 3LPG W10 EXIT 5 0 4 3M96 # 15 3MNQ # ROUTING TABLE - CF 'INFORM(X)' 5 3N8B ROUTAB 10 3NN2 +REMOTE [0 CLUSTER 10 3P7L +OP [1 CENTRAL 9 3PM= +MBOTH [2 BOTH 9 3Q6W +MALL [3 ALL 9 3QLG # DISPLAY ROUTING : 11 3R66 +0 [4 MONFILE ONLY 10 3RKQ +REMOTE [5 CLUSTER 10 3S5B +OP [6 CENTRAL 9 3SK2 +MBOTH [7 BOTH 9 3T4L #DEF NORUTS=0?-ROUTAB+1 14 3TJ= # INFORM CATEGORY ADDITIONS-CF 'ROUTAB' 5 3W3W TABADD 13 3WHG CATMASK CLUSTER [0 13 3X36 CATMASK CENTRAL [1 13 3XGQ CATMASK CENTRAL,CLUSTER [2 13 3Y2B CATMASK CLUSTER,CENTRAL [3 7 3YG2 # DISPLAY 13 3Y_L +0 [4 13 3_F= CATMASK CLUSTER [5 13 3_YW CATMASK CENTRAL [6 13 42DG CATMASK CENTRAL,CLUSTER [7 16 42Y6 #DEF TCAT=A1+1 [CATEGORY BITS 17 43CQ #DEF RECHR=A1 [MESSNO/REC HEADER 12 43XB # RE ENTRY FROM DEMAND 16 44C2 # A BLOCK HAS BEEN RETAINED FROM PREV. 'INFORM' 5 44WL SENTRY5 10 46*G MHUNTW 3,GMON,AOUT 10 46T6 NAME 3,GMON,BOUT 14 48RL ADN 3 RECHR [PART PTR 15 49?= LDN 4 0 [FOR WMASK 8 49QW BRN YNOT 8 4==G YNDED LDEX 0 0(3) 8 4=Q6 ADN 0 11 7 4?9Q SRL 0 2 15 4?PB ADX 3 0 [-> NEXT PART 8 4#92 YNOT LDX 7 1(3) 8 4#NL CALL 5 WMASK 17 4*8= BRN YNDED [J IF MORE A PARTS 8 4*MW SLC 4 12 10 4B7G STO 4 MDESTINY(2) 11 4BM6 TRACE JTIME,MONREPET 5 4B_H ...OUTPUT 10 4C?Y ... ACROSS MONFILEA,1 4 4CLB # 10 4D62 # ENTRY FROM 'OUTMON' 14 4DKL # HMON1=TYPE+SUBTYPE/NO OF CHARS IN MESS 12 4F5= # HMON2=DISPLACEMENT OF MESSAGE 10 4FJW # HMON3=CATEGORY WORD 16 4G4G QBIT #10000000 [CONTINUED BIT 5 4GJ6 SENTRY4 14 4H3Q LDX 7 HMON3(2) [CATEGORY 7 4HHB LDN 4 0 8 4J32 CALL 5 WMASK 18 4JGL ERX 7 QBIT(1) [MASK OUT CONTBIT IF CONT 8 4K2= SLC 4 12 10 4KFW STO 4 MDESTINY(2) 9 4K_G LDX 6 HMON1(2) 16 4LF6 ANDN 6 4095 [NO OF CHARACTERS 7 4LYQ LDX 4 6 8 4MDB ADN 4 11 14 4MY2 SRL 4 2 [WORDS 11 4NCL SETUPCORE 4,3,GMON,BOUT 14 4NX= STO 7 TCATS(3) [CATEGORY 16 4PBW STO 6 RECHR(3) [CHARS IN MESSQGE 7 4PWG SBN 4 2 18 4QB6 BZE 4 OUTPUT [J IF NO WORDS IN MESSAGE 9 4QTQ ADN 3 TCATS+1 9 4R*B LDX 6 HMON1(2) 15 4RT2 ANDX 6 HALFTOP [TYPE+SUBTYPE 8 4S#L BZE 6 YFX2 18 4SS= HUNTX 2,6 [HUNT IF NOT CURRENT ACTY 8 4T?W YFX2 SMO FX2 16 4TRG ADX 2 HMON2 [ADD DISPLACEMENT 7 4W?6 SMO 4 15 4WQQ MOVE 2 0 [MOVE MESS IN 9 4Y9L BRN OUTPUT 4 4YP= # 10 4_8W # ENTRY FROM MONOUTRX 5 4_NG SENTRY12 9 5286 LDX 0 JOBNO(2) 15 52MQ STO 0 ACOMMUNE2(2) [INTERFACE 5 537B SENTRY11 7 53M2 LDN 4 0 16 546L LDN 6 1 [INFORM SWITCH 8 54L= BRN S1 4 555W # 8 55KG # ENTRY FROM ASSMESS 4 5656 # 5 56JQ SENTRY9 8 574B LDN 4 SEMBL 17 57J2 BRN S3 [CONTINUE AS MONOUTX 4 583L # 8 58H= # ENTRY FROM MONOUTX 4 592W # 5 59GG SENTRY2 9 5=26 LDX 0 JOBNO(2) 10 5=FQ STO 0 ACOMMUNE2(2) 4 5=_B # 17 5?F2 # X6 PALYS A VITAL ROLE AS SWITCH IN THE INTERFACE 15 5?YL # TWIXT MONFILE AND THE AUXILIARY CHAPTERS 11 5#D= # CF EXPANSION OF ^AUXILMF^ 4 5#XW # 5 5*CG SENTRY1 7 5*X6 LDN 4 0 16 5BBQ S3 NGN 6 1 [MONOUT SWITCH 17 5BWB S1 STO 4 MDESTINY(2) [INITIAL DESTINY MASK 16 5CB2 LDX 3 HMON1(2) [MESSAGE ADDRESS 15 5CTL SRL 3 9 [/512 : SEGNO 10 5D*= TXL 3 TOTNUMB(1) 16 5DSW BCC WRONG [ENSURE IN LIMITS 9 5F#G ADN 3 KMESSX 9 5FS6 ACROSSX 3,K1MESSA 5 5G?Q SENTRY21 9 5GRB WRONG LDX 0 NOMESS(1) 9 5H?2 STO 0 HMON1(2) 16 5HQL ... BRN SENTRY2 [MONOUT JNOMESS 8 5J== NOMESS +JNOMESS 4 5JPW # 11 5K9G # REENTRY FROM MONFILE SEGMENTS 4 5KP6 # 5 5L8Q SENTRY3 7 5LNB LDX 1 5 16 5M82 TESTMOVE 7,STILL [J IF STILL THERE 10 5MML MHUNTW 1,GMON,ATEMP 8 5N7= ADN 1 A1 10 5NLW STILL STO 1 PARTPTR(2) 10 5P6G TRACE HMON1(2),MONFADD 16 5PL6 BNG 6 SMONOUT [J IF MONOUT(X) 16 5Q5Q # INFORM - ADD ROUTING BITS AND EXTRA CATEGORIES 10 5QKB # INSERT 'INFORM' ROUTES 10 5R52 LDX 2 ACOMMUNE1(2) 9 5RJL LDN 0 NORUTS 7 5S4= TXL 2 0 8 5SHW BCS QINF 10 5T3G GEOERR 1,INF WHO? 8 5TH6 QINF ADX 2 FX1 18 5W2Q LDX 4 ROUTAB(2) [LOAD INFORM ROUTING BITS 8 5WGB SMO FX2 16 5X22 STO 4 MDESTINY [INITIAL DESTINY 17 5XFL LDX 4 TABADD(2) [EXTRA CATEGORY BITS 18 5X_= ORX 4 GSIGN [ENFORCE RETAIN CATEGORY 8 5YDW # X1->1ST PART 7 5YYG TOPP LDCT 0 4 8 5_D6 ANDX 0 1(1) 17 5_XQ BZE 0 TOPPX [J IF NOT INFORMABLE 17 62CB ORS 4 1(1) [ELSE ADD CATEGORIES 15 62X2 LDN 6 0 [SET MARKER 8 63BL TOPPX LDCT 0 #100 8 63W= ANDX 0 1(1) 17 64*W BZE 0 S5 [J IF NOMORE PARTS 8 64TG LDEX 0 0(1) 8 65*6 ADN 0 11 7 65SQ SRL 0 2 14 66#B ADX 1 0 [NEXTPART 8 66S2 BRN TOPP 8 67?L S5 LDX 2 FX2 14 67R= LDX 1 PARTPTR(2) [RESTORE 17 68=W BZE 6 SMONOUT [J IF SOME PART DONE 17 68QG ORS 4 1(1) [ELSE USE IST PART 5 69=6 SMONOUT 15 69PQ LDX 4 MDESTINY(2) [FOR WMASK 8 6=9B LDN 0 SEMBL 7 6=P2 ANDX 0 4 17 6?8L BNZ 0 MAASS [OUT IF ASMESS ONLY 16 6?N= SETRE LDX 7 1(1) [CATEGORY WORD 8 6?R7 ... LDN 0 #4000 8 6?S6 ... ANDX 0 0(1) 15 6?T5 ... BZE 0 SETRE3 [J IF NOT HLS 8 6?W4 ... LDCT 0 #040 8 6?X3 ... ANDX 0 1(1) 16 6?Y2 ... BZE 0 XHLSNP [J IF NOT PACKED 8 6?Y_ ... LDCT 0 #200 18 6?_Y ... ORX 4 0 [SET HLS&PA DESTINY IND. 9 6#2X ... BRN SETRE3 5 6#3W ...XHLSNP 20 6#4T ... ORX 4 GSIGN [SET HLS&UNPACKED DESTINY IND. 5 6#5S ...SETRE3 17 6#7W CALL 5 WMASK [SET DESTINATION MASK 16 6#MG BRN QCONT [J IF CONTINUED 5 6*76 MAASS 8 6*LQ LDCT 7 #100 9 6B6B ANDX 7 CLONG1(2) 18 6BL2 ERS 7 CLONG1(2) [TEST ASET BIT AND CLEAR 8 6C5L SLC 4 12 8 6CK= BNZ 4 SUMOP 11 6D4W TRACE HMON1(2),NOOUTPUT 10 6DJG MFREE GMON,ATEMP 8 6F46 BZE 7 NOSET 17 6FHQ MFREEW GMON,ASET [FREE ASET IF EXISTS 5 6G3B NOSET 14 6GH2 UP [NO O/P! 7 6H2L # CONTINUED 7 6HG= QCONT NEXTPART 1 8 6H_W BRN SETRE 4 6JFG # 10 6J_6 SUMOP STO 4 MDESTINY(2) 8 6K6? ... LDN 0 #2000 7 6K82 ... ANDX 0 4 16 6K9P ... BZE 0 XNOHLSP [J IF NOT HLS&PA 8 6K?D ... ORX 4 GSIGN 5 6K*7 ...XNOHLSP 16 6KDQ BZE 7 NPARS [J IF NO PARAMS 9 6KYB LDN 0 MKASET 20 6LD2 ORS 0 MARKS(2) [ELSE SET MARKER AT THIS LEVEL 10 6LXL MHUNTW 1,GMON,ASET 17 6MC= STOZ A1+1(1) [FOR 'STEPASET' MACRO 18 6MWW BNG 4 SYSPACK [J IF SYS.JOURNAL&PACKED 16 6NBG ACROSS MONFIL,1 [COMPILE MESSAGE 11 6NW6 SYSPACK [PACKED O/P TO S.J. 10 6P*Q ACROSS MONJRNAL,1 9 6PTB NPARS BNG 4 SYSPACK 10 6Q*2 ACROSS MONOLITH,2 4 6QSL # 15 6R#= # THIS PART DEALS WITH OUTPUT OF THE BASIC 14 6RRW # MESSAGE WHICH HAS BEEN COMPILED INTO 8 6S?G # A BOUT BLOCK. 16 6SR6 # THE DESTINATIONS ARE HELD AS BIT POSITIONS IN 12 6T=Q # THE WORD GDESTINY OF THE ACTY. 16 6TQB # OUTPUT IS IN STRICT ROTA, BUT THIS ROTA MAY 17 6W=2 # BE TAMPERED WITH USING 'MFSETAB' IN MONFILE, BUT 16 6WPL # MONFILE O/P SHOULD BE PREVIOUS TO ANY ROUTINE 10 6X9= # WHICH USES 'WRITE'. 12 6XNW # AND DITTO 'MOP' AND 'SCANB' 4 CB96 # 4 CC8B #END 8 ____ ...34601413000200000000