(George Source)
Macros used: MENDAREA, OUTPARAM, SEGENTRY, TRACE, UP
22FL #LIS K0SYNMON>K0ALLGEO>K0COMMAND 22^= #SEG SYNMON70 [R TERRY 23DW 8HSYNMON 23YG # THIS SEGMENT IS ENTERED FROM THE SYNTHMON MACRO. 24D6 # IT ANALYSES THE MONITORING FILE MASK PLACED IN ACOMMUNE1 24XQ # IN THE ACTIVITY BLOCK AND DOES AN OUTPARAM TO OUTPUT A 25CB # CHARACTER STRING OF THE CORRESPONDING CATEGORIES. 25X2 # IF ALL CATEGORIES ARE FLAGGED,IT OUTPUTS THE CHARACTER 26BL # STRING 'ALL'.IF NO CATEGORIES ARE FLAGGED,IT OUTPUTS THE 26W= # CHARACTER STRING 'NONE'. 27*W SEGENTRY K1SYNMON,SENTRY1 27TG # FF TABLES REFFERRED TO BY FX1 +0,1 OR 2 28*6 # SE BELOW 28SQ TYPE 4HFB, 29#B 4HAB, 29S2 MCHARS 4HNONE 2=?L 4HFULL 2=R= 4HALL 2?=W MLEN +4,4,3 [LENGTHS OF MCHARS ENTRIES 2?QG # 2#=6 QALL +ALLBITS 2#PQ QFULL +FULLBITS 2*9B QDIFF +ALLBITS-FULLBITS 2*P2 # 2B8L # TABLE OF CATEGORY B STRINGS 2BN= TABLE 4HEN, 2C7W 4HJL, 2CMG 4HCR, 2D76 4HCL, 2DLQ 4HBC, 2F6B 4HCM, 2FL2 4HLG, 2G5L 4HPM, 2GK= 4HFL, 2H4W 4HCT, 2HJG 4HCE, 2J46 4HOJ, 2JHQ 4HLS, 2K3B 4HOL, 2KH2 4HDP, 2L2L SENTRY1 2LG= LDX 4 ACOMMUNE1(2) 2L^W ANDX 4 QALL(1) [LEAVE JUST CATEGORY BITS 2MFG LDX 0 ACOMMUNE2(2) [PICK UP ROUTING PARAMETER 2M^6 STO 0 AWORK2(2) 2NDQ #SKI K6SYNMON>999-999 2NYB TRACE 4,CATMASK 2PD2 LDX 6 4 2PXL LDX 0 4 2QC= ANDX 0 QDIFF(1) 2QWW BZE 0 NOALL [J IF NO ALL-BITS 2RBG ERX 6 QALL(1) [(AB)-INVERSE 2RW6 BUX 1 QTEST [+1 2S*Q NOALL ERX 6 QFULL(1) [(FB)-INVERSE 2STB QTEST BZE 4 N1 [J IF NOE 2T*2 BNZ 6 N2 [J IF NOT ALL OR FULL 2TSL ADN 1 1 2W#= N1 LDX 0 MCHARS(1) 2WRW STO 0 ACOMMUNE1(2) [PUT IN 'ALL' OR 'NONE' 2X?G LDX 0 ACES 2XR6 STO 0 ACOMMUNE2(2) [SPACES ADDED FOR NEATNESS 2Y=Q LDX 4 MLEN(1) [LENGTH 2YQB BRN N5 2^=2 N2 STO 4 AWORK1(2) 2^PL STO 6 AWORK3(2) 329= LDN 7 0 32NW LDN 5 0 338G N3 SRL 45 1 [NEXT FEW INSTNS. FIND OUT WHICH MASK 33N6 BPZ 5 N3 [ (X4 OR X6) HAS LESS BITS SET 347Q BZE 4 N9 34MB N8 SRL 67 1 3572 BPZ 7 N8 35LL BNZ 6 N3 366= LDX 0 AWORK3(2) [WE WILL USE 'AB,XX,YY,ZZ' FORMAT 36KW [OR FB ,XX,YY 375G LDN 6 TYPE(1) [PTR TO FB, ORAB, 37K6 LDN 7 ACOMMUNE1(2) 384Q MVCH 6 3 [MOVE IN 'AB' 38JB LDN 4 3 [SET INITIAL CHAR. COUNT 3942 BRN N11 39HL N9 LDX 0 AWORK1(2) [WE WILL USE 'XX,YY,ZZ' FORMAT 3=3= LDN 7 ACOMMUNE1(2) [INITIALISE CHAR. POINTER 3=GW LDN 4 0 [INITIALISE CHAR. COUNT 3?2G N11 SLL 0 9 [SHIFT UP 3?G6 LDX 1 FX1 [RELOAD 3?^Q N10 BPZ 0 N4 3#FB LDN 6 TABLE(1) 3#^2 MVCH 6 3 [IF BIT SET,APPEND RELEVANT SHORT-FORM 3*DL [TO CHARACTER STRING 3*Y= ADN 4 3 3BCW N4 SLL 0 1 3BXG BZE 0 N6 3CC6 ADN 1 1 3CWQ BRN N10 3DBB N6 SBN 4 1 [SUPPRESS TERMINATING COMMA OF CHARACTER 3DW2 [STRING,UNLESS STRING IS 'ALL' OR 'NONE' 3F*L N5 LDX 7 AWORK2(2) 3FT= SBN 7 1 3G#W BZE 7 N7 3GSG X4 3H#6 OUTPARAM 4,ACOMMUNE1 [OUTPUT CHARACTER STRING TO 3HRQ [MONITORING FILE SYSTEM 3J?B UP 3JR2 N7 STO 4 EXEC3(2) 3K=L UP 3KQ= MENDAREA 30,GAPSYNMON 3L9W #END ^^^^ ...06560611000100000000