IFXCODES864

(George Source)

Macros used: ACROSS, CLOSETOP, COMBRKIN, FJOCA, FSHCODE, FSHSKIP, GETJOB, HUNT, HUNT2, HUNTACTF, HUNTW, JBC, MENDAREA, OPENSYS, SEGENTRY, STEPAGAIN, TRACE

IFXCODES864.txt
22FL    #OPT  K0IFXCODES=0  
22^=    #LIS  K0IFXCODES>K0ALLGEO>K0GREATGEO>K0COMMAND  
23DW    #SEG  IFXCODES701                  [R TERRY 
23YG ...               8HIFXCODES   
24D6    #     THIS SEGMENT IS ENTERED FROM IFEXPAN TO DEAL WITH THOSE SIMPLE IF 
24XQ    #     CONDITIONS WHICH INVOLVE COMPARISON OF CHARACTER STRINGS  
25CB    #     ON ENTRY:XCHPTR CONTAINS CHAR PTR RELATIVE TO START OF LINE BUFFER
25X2    #              XCHARS CONTAINS COUNT OF CHARS REMAINING 
26BL    #     ON EXIT :XCHPTR & XCHARS MAY HAVE BEEN UPDATED
26W=    #              X7 CONTAINS RESULT- 0-TRUE,1-FALSE,B0=1-ERROR,B1=1-ERROR 
27*W    #     ENTRY POINTS  
27TG          SEGENTRY K1IFXCODES,XHALTED  [IF HALTED ETC   
28*6          SEGENTRY K2IFXCODES,XDELETED  
28SQ          SEGENTRY K3IFXCODES,XDISPLAYED
29#B          SEGENTRY K4IFXCODES,XFAILED   
29S2          SEGENTRY K5IFXCODES,XMONITOR  
2=?L          SEGENTRY K7IFXCODES,XSTRING   
2=R=          SEGENTRY K12IFXCODES,XABSENT  
2?=W          SEGENTRY K13IFXCODES,XPRESENT 
2?QG          SEGENTRY K14IFXCODES,XREPLY   
2?T5 ...#SKI  JWPHASE3  
2?XN ...(   
2#2? ...      SEGENTRY K15IFXCODES,XRES 
2#4W ...      SEGENTRY K16IFXCODES,XGEN 
2#7F ...)   
2#8* ...#UNS  FPARTRES  
2#99 ...      SEGENTRY K17IFXCODES,XPAR 
2#9# ...      FSHSKIP   
2#9C ...(   
2#9G ...#UNS  FSHIFMAC  
2#9K ...      SEGENTRY K18IFXCODES,XMACRV   
2#9N ...)   
2#9R ...      FSHCODE AORB  
2#9W ...      SEGENTRY K18IFXCODES,XMAC 
2#=6    #     WORKING SPACE USED IN ACT BLOCK.  
2#PQ    #DEF           XSTATE=EXT+3 
2*9B    #DEF           XLBP=EXT 
2*P2    #DEF           XCHARS=EXT+1 
2B8L    #DEF           XCHPTR=EXT+2 
2BN=    #     POSITIONS IN APED BLOCKS-RELATIVE TO APEDSP1/2
2C7W    #DEF  VMCOND=1                     [CATEGORY OF EVENT   
2CMG    #DEF  VCOUNT=2                     [NO OF CHARS IN MESSAGE  
2D76    #DEF  VMESS=3                      [START OF MESSAGE
2DLQ    #     WORKING SPACE 
2F6B    #DEF  XSTPTR=ACOMMUNE1  
2FL2    #DEF  XSTCHS=ACOMMUNE2  
2G5L    #DEF  XSTSP=ACOMMUNE3   
2GK=    #DEF  XCONDITION=ACOMMUNE4  
2H4W    #DEF  XCURRENT=ACOMMUNE5
2HJG    #     THIS SECTION SETS THE RESULT OF A CONDITION IN X7 & RETURNS TO IFE
2J46    XTRUE LDN   7  0
2JHQ    XRET  ACROSS   IFEXPAN,3
2K3B    XFALSE  
2KH2          LDN   7  1
2L2L          BRN      XRET 
2LG=    XERROR  
2L^W          LDCT  7  #400 
2MFG          BRN      XRET 
2M^6    XERROR1                            [REPORTED ERROR  
2NDQ          LDCT  7  #600 
2NYB          BRN      XRET 
2PD2    XBREAK  
2PXL          LDCT  7  #700 
2QC=          BRN      XRET 
2QWW    #     THIS SECTION DEALS WITH THE SIMPLE CONDITIONS DELETED,HALTED,FAILE
2RBG    #     & MONITOR WHICH ARE VERY SIMILAR. 
2RW6    #     IF A CHARACTER STRING IS INCLUDED IN THE CONDITION THE NEXT CHAR S
2S*Q    #     BE (,'," & IN THIS CASE WE READ THE CHAR STRING UPDATING THE PTR &
2STB    #     COUNT IN XCHPTR,XCHARS & OBTAINING A PTR TO & COUNT OF THE NO.OF C
2T*2    #     GIVEN IN THE CHAR STRING. 
2TSL    #     A SEARCH IS MADE FOR AN APED,ADELETE OR APED,ANEVENT BLOCK WHICH W
2W#=    #     CONTAIN THE CATEGORY & MESSAGE ASSOC WITH THE MOST RECENT PROGRAM 
2WRW    #     EVENT.THESE ARE COMPARED WITH THE CATEGORY AND CHAR STRING OF THE 
2X?G    #     CONDITION.THE CONDITION IS ONLY SATISFIED IF THEY MATCH.  
2XR6    #     DEAL WITH'FAILED' 
2Y=Q    XFAILED 
2YQB          LDN   0  APEDFAIL 
2^=2          BRN      XHALTED1 
2^PL    #     DEAL WITH'MONITOR'
329=    XMONITOR
32NW          LDN   0  APEDMON  
338G          BRN      XHALTED1 
33N6    # DEAL WITH         'DELETED
347Q    XDELETED
34MB          LDN   0  APEDDEL  
3572          BRN      XHALTED1 
35LL    # DEAL WITH 'HALTED'
366=    XHALTED 
36KW          LDN   0  APEDHALT 
375G    XHALTED1
37K6    #SKIP   K6IFEXPAN>99-99 
384Q          TRACE    0,IFHALDEL   
38JB          STO   0  XCONDITION(2)
3942          CALL  7  XFLB                [FIND LB & SET CHAR PTR  
39HL          CALL  7  XFSTR               [FIND STRING 
3=3=          STOZ     XSTCHS(2)           [SET 'NULL' STRING   
3=GW          CALL  7  XFAPED              [FIND TERMINAL APED BLOCK
3?2G          BRN      XFALSE              [IF NONE-FALSE   
3?G6          LDX   0  VMCOND(1)           [COMPARE SUB-CONDS   
3?^Q          SBX   0  XCONDITION(2)
3#FB          BNZ   0  XFALSE   
3#^2          LDX   5  XSTCHS(2)           [SET UP PTRS & COUNTS FOR STRINGS
3*DL          LDX   3  XSTPTR(2)
3*Y=          LDX   4  VCOUNT(1)
3BCW          ADN   1  VMESS
3BXG          CALL  7  XCOMPARE 
3CC6          ANDN  0  1
3CWQ          BZE   0   XFALSE  
3DBB          BRN      XTRUE
3DW2    # DEAL WITH'DISPLAY'
3F*L    #     THE CHAR STRING FOLLOWING"DISPLAY"IS COMPARED WITH THE DISPLAY MES
3FT=    #     STORED AN "APEDDISM"IN AN APED,ADISPLAY BLOCK 
3G#W    XDISPLAYED  
3GSG    #SKIP   K6IFEXPAN>99-99 
3H#6          TRACE    3,IFDISPLY   
3HRQ          CALL  7  XFLB                [FIND LINE BUFFER & SET CHAR PTR 
3J?B          CALL  7  XFSTR               [FIND STRING 
3JR2          STOZ     XSTCHS(2)
3K=L          HUNT  1,APED,ADISPLAY 
3KQ=          BNG   1  XFALSE   
3L9W          LDX   5  XSTCHS(2)
3LPG          LDX   3  XSTPTR(2)
3M96          LDX   4  APEDDISM(1)  
3MNQ          ADN   1  APEDDISM+1   
3N8B          CALL  7  XCOMPARE            [COMPARE STRINGS-TRUE IF MATCH   
3NN2          ANDN  0  1                   [TO END OF GIVEN STRING  
3P7L          BZE   0  XFALSE   
3PM=          BRN      XTRUE
3Q6W    #     DEAL WITH'REPLY'  
3QLG    #     THE CHAR STRING FOLLOWING"REPLY" IS COMPARED WITH THE CURRENT 
3R66    #     REPLY   WHICH IS HELD IN AN ADATA,BREPLY BLOCK CHAINED AFTER THE  
3RKQ    #     CPAT .  THIS BLOCK HAS THE SAME FORMAT AS GMON,AOUT : 
3S5B    #     A1 - WORDS IN RECORD (SO CHARS=[A1]-2X4) & REPLY STARTS AT A1+2   
3SK2    XREPLY  
3T4L          CALL  7  XFLB                [FIND LINE BUFFER
3TJ=          CALL  7  XFSTR               [FIND CHAR STRING FOLLOWING REPLY
3W3W          STOZ     XSTCHS(2)           [IF NONE TREAT AS NULL STRING
3WHG          HUNTW    1,ADATA,BREPLY      [LOOK FOR REPLY BLOCK
3X36          BNG   1  XFALSE              [IF NONE CONDITION FALSE 
3XGQ          LDX   4  A1(1)               [CALC NO OF CHARS IN REPLY   
3Y2B          SBN   4  2
3YG2          SLL   4  2
3Y^L          ADN   1  A1+2                [SET PTR TO START OF REPLY   
3^F=          LDX   5  XSTCHS(2)           [NO OF CHARS IN STRING AFTER REPLY   
3^YW          LDX   3  XSTPTR(2)           [START OF STRING AFTER REPLY 
42DG          CALL  7  XCOMPARE            [COMPARE STRINGS-CONDITION IS TRUE   
42Y6          ANDN  0  1                   [IF THEY MATCH TO THE END OF THE 
43CQ          BZE   0  XFALSE              [SPECIFIED (IE X3,5)STRING   
43XB          BRN      XTRUE
44C2    # THIS SUBR FINDS THE LINE BUFFER AND SETS X3 AS THE CHAR PTR   
44WL    XFLB  HUNTACTF CLB,1,FX2
45B=          STO   1  XLBP(2)  
45TW          ADX   3  1
46*G          LDX   1  FX1  
46T6    #SKIP   K6IFEXPAN>999-999   
47#Q          TRACE    3,IFXFLB 
47SB          EXIT  7  0
48#2    #     TABLE OF POSSIBLE DELIMITERS OF A CHARACTER STING.THREE WORDS FOR 
48RL    #     1)START CHARACTER 2)FINISH CHAR 3)SPACE CHAR(IGNORED DURING COMPAR
49?=    #DEF  VDELIMS=5 
49QW    QDELIMS        #30  
4==G                   #31  
4=Q6    QSP            #20  
4?9Q                   #37  
4?PB                   #37  
4#92                   #20  
4#NL                   #17  
4*8=                   #17  
4*MW                   #20  
4B7G                   #27  
4BM6                   #27  
4C6Q                   #100 
4CLB                   #22  
4D62                   #22  
4DKL                   #100 
4F5=    #     THIS SUBR EXPECTS TO FIND A CHARACTER STRING ENCLOSED IN ONE OF TH
4FJW    #     DELIMITER SETS.IF THERE IS NO CHAR STRING(I.E.START CHAR NOT THERE
4G4G    #     IT EXITS+0.OTHERWISE IT EXITS+1 WITH WITH A PTR TO THE STRING PROP
4GJ6    #     & THE NO.OF CHARS IT CONTAINS&ITS SPACE CHAR (LEFT IN XSTPTR,XSTCH
4H3Q    #     X3,4 ARE USED AS CHAR PTR & COUNT & LEFT UPDATED.CHAR PTR & COUNT 
4HHB    #     XCHPTR,XCHARS ARE UPDATED TOO.X1=FX1,X2=FX2,X7=LINK,X0,5,6 USED   
4J32    ZF1   BCHX  3  £
4JGL    XFSTR BCT   4  ZF2                 [ERROR IF NO MORE CHARS  
4K2=          BRN      XERROR   
4KFW    ZF2   LDCH  0  0(3)                [FIND FIRST NON-SPACE
4K^G          TXU   0  QSP(1)   
4LF6          BCC      ZF1  
4LYQ          LDN   2  QDELIMS-3(1)        [LOOK UP CHAR IN DELIMETER TABLE 
4MDB          LDN   5  VDELIMS  
4MY2    ZF3   ADN   2  3
4NCL          TXU   0  0(2) 
4NX=          BCC      ZF4  
4PBW          BCT   5  ZF3  
4PWG          LDX   2  FX2  
4QB6          EXIT  7  0                   [EXIT IF NO DELIMETER
4QTQ    ZF4   BCHX  3  £
4R*B    #SKIP   K6IFEXPAN>999-999   
4RT2          TRACE    0(2),IFXFSTR1
4S#L          SMO      FX2  
4SS=          STO   3  XSTPTR              [STORE PTR TO STRING 
4T?W          LDX   5  4                   [STORE CHAR COUNT
4TRG          LDN   6  0                   [INIT DEPTH COUNT
4W?6    ZF6A  ADN   6  1
4WQQ    ZF6   BCT   4  ZF5  
4X=B          BRN      XERROR              [ERROR IF NO MORE CHARS  
4XQ2    ZF5   LDCH  0  0(3) 
4Y9L          BCHX  3  £
4YP=          TXU   0  1(2)                [JUMP IF TERMINATOR  
4^8W          BCC      ZF7  
4^NG          TXU   0  0(2)                [JUMP UNLESS START CHAR  
5286          BCS      ZF6  
52MQ          BRN      ZF6A                [JUMP TO INCREASE DEPTH COUNT
537B    ZF7   BCT   6  ZF6                 [REDUCE DEPTH COUNT  
53M2          SBX   5  4                   [STORE NO OF CHARS IN STRING 
546L          SBN   5  1
54L=          SMO      FX2  
555W          STO   5  XSTCHS   
55KG    #SKIP   K6IFEXPAN>999-999   
5656          TRACE    5,IFXFSTR2   
56JQ          LDX   5  2(2)                [STORE SPACE CHAR
574B          LDX   2  FX2  
57J2          STO   5  XSTSP(2)            [UPDATE CHAR PTR & COUNT IN  
583L          LDX   0  3                   [THE ACTIVITY BLOCK  
58H=          SBX   0  XLBP(2)  
592W          STO   0  XCHPTR(2)
59GG          STO   4  XCHARS(2)
5=26          EXIT  7  1
5=FQ    # THIS SUBR COMPARES THE CHAR STRINGS WITH PTRS IN X1,X3 & COUNTS IN X4,
5=^B    # USING THE SPACE CHAR IN XSTSP.ON EXIT X0 IS SET AS FOLLOWS:   
5?F2    #  0-NO MATCH,3-EXACT MATCH,1-MATCH TO END OF X3,5 STRING,2-MATCH TO END
5?YL    # OF X1,4 STRING
5#D=    XCOMPARE
5#XW          ADN   4  1                   [ADJUST COUNTS   
5*CG          ADN   5  1
5*X6    ZG1   BCT   5  ZG2                 [EXIT IF END OF X3 STRING
5BBQ    ZG7   BCT   4  ZG6                 [EXIT IF EXACT MATCH 
5BWB          LDN   0  3
5CB2          EXIT  7  0
5CTL    ZG6   LDCH  0  0(1)                [SEARCH FOR 'NON-SPACE'  
5D*=          BCHX  1  £
5DSW          TXU   0  XSTSP(2) 
5F#G          BCC      ZG7  
5FS6          LDN   0  1                   [EXIT IF MATCH TO END OF X3,5 STRING 
5G?Q          EXIT  7  0
5GRB    ZG2   LDCH  0  0(3)                [FIND NON 'SPACE'CHAR
5H?2          BCHX  3  £
5HQL          TXU   0  XSTSP(2) 
5J==          BCC      ZG1  
5JPW    ZG4   BCT   4  ZG5  
5K9G          LDN   0  2                   [EXIT IF MATCH TO END OF X1,4 STRING 
5KP6          EXIT  7  0
5L8Q    ZG5   LDCH  6  0(1)                [FIND NON 'SPACE' CHAR   
5LNB          BCHX  1  £
5M82          TXU   6  XSTSP(2) 
5MML          BCC      ZG4  
5N7=          SBX   0  6                   [COMPARE CHARS   
5NLW          BZE   0  ZG1                 [EXIT IF NO MATCH
5P6G          LDN   0  0
5PL6          EXIT  7  0
5Q5Q    #     THIS SUBR SEARCHES FOR AN APED BLOCK & SETS A PTR TO THE EVENT INF
5QKB    #     IN AN APED,ANEVENT THIS IS AT APEDSP1,& IN AN APED,ADELETE AT APES
5R52    XFAPED  
5RJL          HUNT  1,APED,ANEVENT  
5S4=          BPZ   1  ZH2A 
5SHW          HUNT  1,APED,ADELETE  
5T3G          BPZ   1  ZH2  
5TH6          EXIT  7  0
5W2Q    ZH2   ADN   1  APEDSP2  
5WGB          BRN      ZH2B 
5X22    ZH2A  ADN   1  APEDSP1  
5XFL    ZH2B
5X^=    #SKI  K6IFEXPAN>999-999 
5YDW          TRACE ATYPE(1),IFXFAPED   
5YYG          EXIT  7  1
5^D6    # THIS SUBR READS THE NEXT SIGN CHAR INTO X0.USES X7 AS LINK & X38X4
5^XQ    # AS POINTER AND LINK   
62CB    XNONSP  
62X2          BCT   4  ZSP1 
63BL          BRN      XERROR   
63W=    ZSP1  LDCH  0  0(3) 
64*W          BCHX  3  £
64TG          TXU   0  QSP(1)   
65*6          BCC      XNONSP   
65SQ    #SKIP          K6IFEXPAN>999-999
66#B          TRACE    0,IFNONSP
66S2          EXIT  7  0
67?L    #     THIS SECTION DEALS WITH THE IF STRING CONDITION   
67R=    #     THE'STRING'SHOULD BE FOLLOWED BY TWO CHAR STRINGS ENCLOSED IN SUIT
68=W    #     DELIMETERS.& SEPERATED BY  = OR < OR > .THE SPACE CHAR ASSOC WITH 
68QG    #     DELIMETER SETS SHOULD BE THE SAME THE STRINGS ARE THEN COMPARED : 
69=6    #     IF SEPERATOR IS = THE CONDITION IS SATISFIED ONLY IF THEY MATCH EX
69PQ    #     IF IT IS < THE MATCH SHOULD BE TO THE END OF THE FIRST STRING & IF
6=9B    #     TO THE END OF THE SECOND. 
6=P2    XSTRING 
6?8L          CALL  7  XFLB                [FIND LINE BUFFER
6?N=          CALL  7  XFSTR               [FIND STRING 
6#7W          BRN      XERROR              [IF NONE-ERROR   
6#MG          LDN   7  XSTPTR(2)           [MOVE PTR TO STRING ETC  
6*76          LDN   0  XSTPTR1(2)   
6*LQ          MOVE  7  3
6B6B          CALL  7  XNONSP              [CHECK FOR = 
6BL2          LDN   7  3
6C5L          TXU   0  QEQ(1)              [IF'=':EXACT COMP
6CK=          BCC      ZSTR1
6D4W          LDN   7  1
6DJG          TXU   0  QLT(1)              [IF'<':UP TO END OF FIRST STRING 
6F46          BCC      ZSTR1
6FHQ          TXU   0  QGT(1)              [IF'>':UP TO END OF SECOND STRING
6G3B          BCS      XERROR              [ELSE ERROR  
6GH2          LDN   7  2
6H2L    ZSTR1 STO   7  XSEP(2)  
6HG=          CALL  7  XFSTR               [SECOND STRING   
6H^W          BRN      XERROR   
6JFG          LDX   0  XSTSP(2) 
6J^6          TXU   0  XSTSP1(2)
6KDQ          BCS      XERROR   
6KYB          LDX   5  XSTCHS1(2)   
6LD2          LDX   3  XSTPTR1(2)   
6LXL          LDX   4  XSTCHS(2)
6MC=          LDX   1  XSTPTR(2)
6MWW          CALL  7  XCOMPARE 
6NBG          ANDX  0  XSEP(2)             [COMPARE RESULT OF COMPARISON
6NW6          TXU   0  XSEP(2)             [WITH RESULT REQD BY SEPERATOR   
6P*Q          BCS      XFALSE              [I.E. > OR < OR =
6PTB          BRN      XTRUE
6Q*2    #DEF  XSEP=ACOMMUNE6
6QSL    #DEF  XSTPTR1=ACOMMUNE7 
6R#=    #DEF  XSTCHS1=ACOMMUNE8 
6RRW    #DEF  XSTSP1=ACOMMUNE9  
6S?G    #DEF  XPTRPAR=XSTCHS1   
6SR6    QLT            #14                 [<   
6T=Q    QGT            #16                 [>   
6TQB    QEQ            #15                 [=   
6W=2    #     THIS SECTION DEALS WITH THE PRESENT & ABSENT(=NOT PRESENT) CONDITI
6WPL    #     THE CHAR STRING GIVEN IS COMPARED IN TURN WITH EACH ENTRY IN THE  
6X9=    #     PARAMETER BLOCK ASSOCIATED WITH THE COM PROC LEVEL ABOVE THE CURRE
6XNW    #     IF NO SUCH BLOCK EXISTS(MOP?)THE CONDITION IS FALSE   
6Y8G    #     ASSUMED FORMAT:-FIRST PARAM STARTS AT APARAFIR.PARAM STORED AS NO 
6YN6    #                     IN BOTTOM 12BITS(MAY BE ZERO)FOLLOWED BY CHARS OF 
6^7Q    #                     A'MINUS ONE'TERMINATES THE LIST OF PARAMETERS.
6^MB    XPRESENT
7272          LDN   7  1                   [PRESENT = NOT ABSENT
72LL          ERS   7  XSTATE(2)
736=    XABSENT 
73KW    #SKIP          K6IFEXPAN>99-99  
745G          TRACE    3,IFABSPRE   
74K6          CALL  7  XFLB                [FIND LINE BUFFER
754Q          CALL  7  XFSTR               [FIND STRING-ERROR IF NONE   
75JB          BRN      XERROR   
7642          HUNT     3,CPB,CALAS         [FIND SECOND PARAM BLOCK 
76HL          HUNT2 3,CPB,CALAS 
773=    #SKIP          K6IFEXPAN>999-999
77GW          TRACE    3,IFPARAMB   
782G          BNG   3  XTRUE               [IF NONE THE CONDITION IS TRUE   
78G6          ADN   3  APARAFIR            [PTR TO FIRST PARAM  
78^Q          STO   3  XPTRPAR(2)   
79FB    ZABS2 LDX   1  XPTRPAR(2)   
79^2          STO   1  XCURRENT(2)         [DUMP CURRENT POINTER
7=DL          LDX   4  0(1)                [TEST FOR LAST PARAM (-) &   
7=Y=          SMO      FX1  
7?CW          TXU   4  QMINUS1  
7?XG          BCC      XTRUE               [IF SO COND IS TRUE  
7#C6          ANDN  4  #7777               [MASK OFF NO OF CHARS
7#WQ          SMO      4
7*BB          LDN   0  7                   [UPDATE PTR TO PARAM 
7*W2          SRL   0  2
7B*L          ADS   0  XPTRPAR(2)   
7BT=          ADN   1  1
7C#W    #SKIP          K6IFEXPAN>999-999
7CSG          TRACE 0(1),IFABSPAR   
7D#6          LDX   5  XSTCHS(2)
7DRQ          LDX   3  XSTPTR(2)
7F?B          CALL  7  XCOMPARE 
7FR2          ANDN  0  1
7G=L                                       [IF MATCH COND FALSE ELSE TRY
7GQ=          BZE   0  ZABS2               [NEXT PARAM  
7H9W          LDCT  7  #400                [IF PARAMETER ACCESSED   
7HPG          LDX   3  XCURRENT(2)         [SET B0 IN CPB,CALAS 
7J96          ORS   7  0(3) 
7JNQ          BRN      XFALSE   
7K8B    QMINUS1        #77777777           [THIS INDICATES LAST PARAM IN BLOCK  
7K8J ...#SKI  JWPHASE3  
7K8Q ...(   
7K8Y ...#   
7K96 ...#     IF RESTARTED AND IF GENRES
7K9# ...#   
7K9G ...XJLBITS        #01100000           [RESTARTED BITS  
7K9N ...               #00400000           [GENRES BIT  
7K9Q ...#UNS  FPARTRES  
7K9S ...               #40000000           [PARTRES BIT 
7K9W ...TEXT1          5HRERUN  
7K=4 ...TEXT2          5HBREAK  
7K== ...TEXT3          5HQUERY  
7K=D ...TEXT4          7HABANDON
7K=L ...TEXT5          7HRUNDUMP
7K=S ...XTP1           +5,+TEXT1
7K?2 ...               #00001000
7K?8 ...               +5,+TEXT2
7K?B ...               #00200000
7K?J ...               +5,+TEXT3
7K?Q ...               #00002000
7K?Y ...               +7,+TEXT5
7K#6 ...               #00000400
7K## ...               +0   
7K#G ...XTP2           +5,+TEXT2
7K#N ...               #01000000
7K#W ...               +7,+TEXT4
7K*4 ...               #00100000
7K*= ...               +0   
7K*D ...XGEN  NGNC  7  1
7K*L ...XRES  LDN   7  0
7K*S ...      STO   7  AWORK2(2)
7KB2 ...      CALL  7  XFLB 
7KB8 ...      CALL  7  XFSTR
7KB? ...XPAR1   
7KBB ...      LDN   7  0
7KBJ ...      LDX   0  CONTEXT(2)   
7KBQ ...      ANDN  0  1
7KBY ...      BZE   0  XFALSE              [FALSE IF IN NO USER CONTEXT 
7KC6 ...      FJOCA    3,2  
7KC# ...      JBC      XFALSE,3,JBRESTARTED 
7KCG ...      BZE   7  NOQUAL   
7KCN ...      LDN   6  XTP1 
7KCW ...      LDX   7  AWORK2(2)
7KD4 ...      BNZ   7  NRES 
7KD= ...      LDN   6  XTP2 
7KDD ...NRES  STO   6  AWORK1(2)
7KDL ...      SMO      6
7KDS ...      LDX   4  0(1) 
7KF2 ...      BZE   4  XFALSE              [J TO FALSE IF END OF TABLE  
7KF8 ...      SMO      6
7KFB ...      LDX   1  1(1) 
7KFJ ...      ADX   1  FX1  
7KFQ ...      LDX   5  XSTCHS(2)
7KFY ...      LDX   3  XSTPTR(2)
7KG6 ...      CALL  7  XCOMPARE 
7KG# ...      LDX   1  FX1  
7KGG ...      LDX   6  AWORK1(2)
7KGN ...      ANDN  0  1
7KGW ...      BNZ   0  XFND                [J IF GOOD ENOUGH MATCH  
7KH4 ...      ADN   6  3
7KH= ...      BRN      NRES 
7KHD ...NOQUAL  
7KHL ...      LDX   7  AWORK2(2)
7KHS ...      SMO      7
7KJ2 ...      LDX   7  XJLBITS(1)   
7KJ8 ...      BRN      XFND1
7KJB ...XFND  SMO      6
7KJJ ...      LDX   7  2(1) 
7KJQ ...XFND1 OPENSYS  XBRK,JOBLIST,READ
7KJY ...      LDX   6  JOBNO(2) 
7KK6 ...      GETJOB   6,SYSTEM 
7KK# ...      STEPAGAIN 
7KKG ...      ADX   3  JOBDATASIZE  
7KKH ...#UNS  FPARTRES  
7KKJ ...(   
7KKK ...      BPZ   7  NPAR             [J IF NOT "IF PAR"  
7KKL ...      ANDX  7  JLSTATX(3)   
7KKM ...      BRN      XPAR2
7KKN ...NPAR
7KKP ...)   
7KKQ ...      ANDX  7  JLSTAT(3)
7KKR ...XPAR2   
7KKW ...      CLOSETOP  
7KL4 ...      BNZ   7  XTRUE
7KL= ...      BRN      XFALSE   
7KLD ...XBRK  COMBRKIN  
7KLL ...)   
7KLR ...#UNS  FPARTRES  
7KLY ...(   
7KM5 ...XPAR
7KM= ...      LDN   0  2
7KMC ...      STO   0  AWORK2(2)
7KMJ ...      BRN      XPAR1
7KMP ...)   
7KN7 ...      FSHCODE  AORB 
7KNK ...(   
7KP3 ...XMAC
7KPF ...#   
7KPX ...#     THIS CODE IMPLEMENTS THE 'IF MACHINE(X)' COMMAND FOR SHARED   
7KQ* ...#     FILESTORE 
7KQR ...#   
7KR9 ...      CALL  7  XFLB                [FIND THE COMMAND LINE BLOCK 
7KRM ...      CALL  7  XFSTR               [& LOCATE THE STRING IN IT!! 
7KS5 ...      BRN      XERROR              [ERROR IF THERE ISN'T ANY STRING 
7KSH ...#   
7KS^ ...      LDN   4  1                   [SET LENGTH OF STRING FOR COMPARISON 
7KTC ...      FSHCODE  A,XNOTA  
7KTT ...(   
7KW? ...      LDN   1  TEXTMACA(1)         [SET ADDRESS OF STRING FOR COMPARISON
7KWP ...XNOTA   
7KX7 ...)   
7KXK ...      FSHCODE  B,XNOTB  
7KY3 ...(   
7KYF ...      LDN   1  TEXTMACB(1)         [SET ADDRESS OF STRING FOR COMPARISON
7KYX ...XNOTB   
7K^* ...)   
7K^R ...      LDX   5  XSTCHS(2)           [LENGTH OF USER SUPPLIED STRING  
7L29 ...      LDX   3  XSTPTR(2)           [ADDRESS OF USER SUPPLIED STRING 
7L2M ...      CALL  7  XCOMPARE            [COMPARE STRINGS 
7L35 ...      ERN   0  3
7L3H ...      BZE   0  XTRUE               [JIF STRING MATCHES EXACTLY  
7L3^ ...      BRN      XFALSE              [JIF NO MATCH
7L4C ...#   
7L4T ...#UNS  FSHA  
7L5? ...TEXTMACA       4HA  
7L5P ...#UNS  FSHB  
7L67 ...TEXTMACB       4HB  
7L6K ...)   
7L6L ...[SHFS REVERSION CODE FOR "IF MACHINE(X)" COMMAND
7L6M ...[GIVES FALSE REPLY FOR CORRECTLY FORMATED COMMAND   
7L6N ...[& COMMAND ERROR FOR INCORRECTLY FORMATED COMMAND   
7L6P ...#UNS  FSHIFMAC  
7L6Q ...(   
7L6R ...XMACRV  
7L6S ...      CALL  7  XFLB                [FIND CLB
7L6T ...      CALL  7  XFSTR               [FIND STRING ENCLOSED IN DELIMITERS  
7L6W ...      BRN      XERROR              [NO STRING - COMMAND ERROR   
7L6X ...      BRN      XFALSE              [CORRECTLY FORMATED - FALSE REPLY
7L6Y ...)   
7L73 ...      MENDAREA 15,GAPIFXCODES   
7L7L    #END
^^^^ ...14122511000200000000