SYNMON70

(George Source)

Macros used: MENDAREA, OUTPARAM, SEGENTRY, TRACE, UP

SYNMON70.txt
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
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1