FAIL5

(George Source)

Macros used: ALTLEND, COMBRKIN, ENDCOM, FPCACA, FREECORE, GEOERR, GETWORD, HUNT, HUNT2, HUNTW, MENDAREA, MONOUT, NAME, OUTBLOCK, OUTMILL, OUTNULL, OUTNUM, OUTPACKC, OUTPARAM, OUTPARN, PHOTO, SEGENTRY, SETUPCORE, SPARANOT, TESTMOVE, TESTREP2, TRACE, WORDFIN

FAIL5.txt
22FL    #LIS  K0FAIL>K0ALLGEO>K0GREATGEO>K0COMMAND  
22^=    #SEG  FAIL5                        [R.H.THOMPSON  F6
23DW    #OPT  K6FAIL=0  
23YG                   8HFAIL   
24D6          SEGENTRY K1FAIL,XX1F  
24XQ    PFCATCH         #77777700   
25CB    WORDSIXMASK    #17777777
25X2    WORNINEMSK1    #40077777
26BL    WORNINEMSK2    #37700000
26W=    ZMEM           12HIN MEMBER 
27*W    #DEF           XBLEN=3             [SO THAT APEDSP1+XBLEN IS A RELATIVE 
27TG                                       [POINTER TO MESSAGE IN APED BLOCK
28*6    # 1 
28SQ    # 1   THE FAIL SEGMENT HANDLES THE COMMAND -FAIL-. ACTION TAKEN DEPENDS 
29#B    # 1            ON WHETHER THE USER WISHES TO MONITOR HIS OWN ILLEGALS   
29S2    # 1            AND, IF SO, WHETHER THE COMMAND WAS ISSUED AT BREAK-IN   
2=?L    # 1 
2=R=    # 2 
2?=W    # 2   INPUT -1.USER WORD 8  
2?QG    # 2          2.JOB REQUEST SLIP (AOBRES).   
2#=6    # 2          3.COMMAND PROCESSING BLOCK (CPB/CALAS).
2#PQ    # 2          4.ACTIVITY BLOCK POINTED TO BY X2  
2*9B    # 2 
2*P2    # 3 
2B8L    # 3   OUTPUT-1.USER WORD 8 SAVED IN PROGRAM WORD 14 IF OWN  
2BN=    # 3            MONIT.ALSO B1-8 OF WORD 9 WILL BE SAVED IN WORD 15,B22-23
2C7W    # 3            OF WHICH WILL BE SET TO THE MEMBER NO.   
2CMG    # 3          2.USER WORD 8 SET EQUAL TO USER ILLEG. MONIT IF OWN MONIT. 
2D76    # 3          3.CATEGORY BITS SET EQUAL TO 6 IF BREAK-IN DURING RUNNING  
2DLQ    # 3                    OF OBJECT PROGRAM AND NOT OWN MONITOR.   
2F6B    # 3          4.OLD PROGRAM EVENT DESTROYED AND 'FAIL' EVENT CREATED IF  
2FL2    # 3                    NOT OWN MONIT, OR OWN MONIT AND NOT BREAK-IN 
2G5L    # 3                    DURING OBJECT PROGRAM RUNNING
2GK=    # 3          5.MESSAGE TO USER MONITOR FILE PROVIDED BREAK-IN DURING
2H4W    # 3            OBJECT PROGRAM CONDITION AND OWN MONIT. CONDITION DO 
2HJG    # 3            NOT EXIST TOGETHER   
2J46    # 3          6.IF USER OWN MONIT WORD IS NOT ZERO,B0,1 ARE SET ZERO 
2JHQ    # 3            AFTER ORIGINAL CONTENTS MOVED TO WORD 8 OF PROGRAM   
2K3B    # 3 
2KH2    # 4 
2L2L    # 4   ERROR ACTION - GEOERR (FAILGETW) IF MINI-SWAP-IN FAILS
2LG=    # 4                  GEOERR (FAILNOIP) IF CPB/CALAS BLOCK NOT FOUND 
2L^W    # 4 
2MFG    # 4                  THE CONDITION 'ALREADY CATEGORY 6' IS NOT CHECKED  
2M^6    # 4 
2NDQ    # 7 
2NYB    # 7   FIXED STORE SEGMENTS CALLED - NONE EXCEPT VIA MACROS  
2PD2    # 7   BACKING STORE CHAPTERS CALLED - NONE EXCEPT VIA MACROS
2PXL    # 7 
2QC=    XX1F
2QWW    #SKI  K6FAIL>699-699
2RBG          TRACE 1,STRTFAIL  
2RW6          LDN   4  8                   [OBJECT PROGRAM ADDRESS REQUIRED 
2S*Q    #                                  [FOR POSSIBLE CHANGE 
2STB          GETWORD  4,5,READ,,,ZBRK  
2T*2          TESTREP2 OK,PFOK  
2TSL          TESTREP2 LOADERR,PFA11
2W#=          BRN      PFERR
2WRW    PFOK
2X?G          FPCACA   2                   [GET POINTER TO PCA  
2XR6    #SKI  G4
2Y=Q    (   
2YQB          HUNT2    3,BSTB,BSCB,2
2^=2          LDX   6  AQUOTA(3)           [QUOTA   
2^PL          ANDN  6  #7777
329=          LDX   7  ATSWAPS(3)          [PAGETURNS   
32NW          SMO      FX2  
338G          STO   6  AWORK3   
33N6          SMO      FX2  
347Q          STO   7  AWORK4   
34MB    )   
3572          HUNT2    3,AOBRES,0,2        [GET POINTER TO JOB REQUEST SLIP 
35LL    #                                  [IF FAILURE OCCURS, HUNT2 WILL LOOP  
366=          LDX   6  ANM(2)   
36KW          ANDN  6  3
375G          SMO      FX2  
37K6          STO   6  AWORK1   
384Q          LDN   0  0
38JB          LDX   4  A1+6(3)  
3942          ANDX  4  WORDSIXMASK(1)   
39HL          TXU   0  4                   [WILL USER MONITOR OWN ILLEGALS? 
3=3=          BCC      PFA08               [NO, SO END MINISWAP PROCEDURES  
3=GW    #SKI  GENIE<1$1 
3?2G    (   
3?G6          LDX   6  APROCESSOR(2)
3?^Q          ANDN  6  4
3#FB          BZE   6  PFA08               [NOT OWN MONIT UNLESS B21 SET
3#^2    )   
3*DL    #SKI  GENIE 
3*Y=    (   
3BCW          LDCT  6  #200 
3BXG          ANDX  6  AMON(2)  
3CC6          BNZ   6  PFA08               [NOT OWN MONITORING IF B1 SET
3CWQ    )   
3DBB    #SKI  K6FAIL>699-699
3DW2          TRACE 1,FAILOWNM  
3F*L          ADN   0  1                   [MARK MONITOR OWN ILLEGALS   
3FT=          LDX   6  A1+6(3)             [GET USER MONITOR ADDRESS
3G#W          STO   4  A1+6(3)             [SAVE OWN MONIT ADDR. WITH B0,1 CLEAR
3GSG          SMO      5
3H#6          LDX   4  0                   [GET USER LAST POSITION  
3HRQ          SMO      5
3J?B          STO   4  6                   [STORE OLD ONR IN USER 14
3JR2          SMO      5
3K=L          STO   6  0                   [USER WILL NOW 'RESUME' AT THE   
3KQ=    #                                  [START OF HIS MONITORING ROUTINE 
3L9W          SMO      5
3LPG          LDX   4  1
3M96          ANDX  4  WORNINEMSK2(1)   
3MNQ          LDX   6  WORNINEMSK1(1)   
3N8B          SMO      5
3NN2          ANDS  6  1
3P7L          LDX   2  FX2  
3PM=          ADX   4  AWORK1(2)
3Q6W          LDN   3  ACOMMUNE4(2) 
3QLG          LDN   2  ZMEM(1)  
3R66          MOVE  2  3
3RKQ          SMO      5
3S5B          STO   4  7                   [B22,23 HOLD MEMBER NO.  
3SK2          LDX   4  0                   [SAVE OWN/NOT OWN CONDITION  
3T4L    PFA08   
3TJ=          LDX   6  4                   [SAVE OWN/NOT OWN CONDITION  
3W3W          WORDFIN                      [DON'T NEED OBJECT PROGRAM ANY MORE  
3WHG    #SKI  K6FAIL>699-699
3X36          TRACE 6,PFSTATE1  
3XGQ          LDX   4  CONTEXT(2)          [CHECK IF BREAK-IN   
3Y2B          SLL   4  9                   [ALIGN RIGHT FLAG BIT
3YG2          BPZ   4  PFA4                [NOT BREAK-IN
3Y^L    PFA1
3^F=    #SKI  K6FAIL>699-699
3^YW          TRACE 1,PFA1  
42DG          LDEX  7  EXT+10(2)
42Y6          LDX   3  FX2  
43CQ    PFA2  HUNT2    3,CPB,CALAS         [FIND THE CALAS  
43XB          LDEX  4  CPBCPLEV(3)         [BLOCK AT FIRST  
44C2          TXU   4  7                   [BRK-IN LEVEL
44WL          BCS      PFA2 
45B=          LDX   4  CPBFSD(3)           [FETCH CATEGORY  
45TW    #SKI  K6FAIL>699-699
46*G          TRACE 4,CATEGIN   
46T6          LDX   5  4                   [SAVE IT 
47#Q          ANDN  4  #77                 [ONLY BITS 18-23 WANTED  
47SB          SBN   4  5                   [WE WANT CATEGORY 5  
48#2          BNZ   4  PFA4                [IF NOT ZERO WE DO NOT CHANGE
48RL          SBN   6  1                   [OWN/NOT OWN MONITOR 
49?=          BZE   6  PFA11               [OWN MONIT. SO THAT'S ALL
49QW          ANDX  5  PFCATCH(1)          [MASK OUT LAST 6 BITS
4==G          ORN   5  #6                  [MAKE IT 6   
4=Q6          STO   5  CPBFSD(3)           [STORE NEW CATEGORY  
4?9Q    PFA4                               [START OF MAIN PROCESSING
4?PB    #SKI  K6FAIL>699-699
4#92          TRACE 1,PFA4  
4#NL          HUNTW    3,APED,ANEVENT   
4*8=          BNG   3  PFA42               [NONE FOUND  
4*MW          FREECORE 3                   [BLOCK FOUND SO FREE IT  
4B7G          BRN      PFA44               [ONE OR THE OTHER NOT BOTH   
4BM6    PFA42 HUNTW    3,APED,ADELETE   
4C6Q          BNG   3  PFA44               [NONE FOUND  
4CLB          FREECORE 3                   [BLOCK FOUND SO FREE IT  
4D62    PFA44   
4DKL          SPARANOT 1                   [GET USER MESSAGE, IF ANY
4F5=          HUNT     3,CPB,CUNI          [FIND BLOCK FORMED BY PARA- MACRO
4FJW          LDX   6  ANUM(3)             [TEST FOR NO PARAMETERS  
4G4G          BNG   6  PFA5                [IF NEGATIVE 
4GJ6          BNZ   6  PFA6                [PARAMETER EXISTS
4H3Q    PFA5                               [WHAT TO DO WHEN NONE
4HHB    #SKI  K6FAIL>699-699
4J32          TRACE 1,PFA5  
4JGL          NAME     3,APED,ANEVENT      [FROM CPB/CUNI TO APED/ANEVENT   
4K2=          PHOTO    5                   [TRY NO HUNT LATER   
4KFW          ALTLEND  3,XBLEN,APED,ANEVENT    [JUST PREFACE LENGTH 
4K^G          TESTMOVE 5,PFA55  
4LF6    PFA53   
4LYQ    #SKI  K6FAIL>699-699
4MDB          TRACE 1,PFA53 
4MY2          HUNTW    3,APED,ANEVENT   
4NCL    PFA55                              [HUNT OR NO HUNT 
4NX=    #SKI  K6FAIL>699-699
4PBW          TRACE 1,PFA55 
4PWG          STOZ     APEDSP1+2(3)        [ZERO FOR CHARACTER COUNT
4QB6          LDX   7  AWORK1(2)
4QTQ          STO   7  APEDSP1(3)          [PUT MEMBER NO. IN APED/ANEVENT BLOCK
4R*B          LDN   5  APEDFAIL            [CONTROL VALUE FOR IF COMMAND
4RT2          STO   5  APEDSP1+1(3) 
4S#L    #SKI  G4
4SS=          LDN   5  7                   [NO. OF WDS. FOR PARAMS. +1 WORD EACH
4T?W    #SKI  G3
4TRG          LDN   5  3                   [2-WORD TIME + 1 WORD EACH PARAM.
4W?6          BZE   7  PFA57
4WQQ          ADN   5  4                   [3-WORD PARAM FOR MEMBER NO. + 1 WORD
4X=B    PFA57 OUTBLOCK 5                   [GET THE MONITORING FILE BLOCK   
4XQ2          OUTMILL                      [TAG WITH THE TIME   
4Y9L    #SKI  G4
4YP=    (   
4^8W    #SKI  JNLPACK   
4^NG    (   
5286          LDX   4  AWORK3(2)
52MQ          LDX   5  AWORK4(2)
537B          OUTPACKC 4,1,QUOTA           [OUTPUT QUOTA
53M2          OUTPACKC 5,1,PAGETURN        [OUTPUT PAGETURNS
546L    )   
54L=    #SKI  JNLPACK<1$1   
555W    (   
55KG          OUTNUM   AWORK3(2),0         [OUTPUT QUOTA
5656          OUTNUM   AWORK4(2),0         [OUTPUT PAGETURNS
56JQ    )   
574B    )   
57J2          BZE   7  PFA10
583L          LDX   3  GSIGN
58H=          ADX   3  2
592W          DCH   7  ACOMMUNE6(3)        [APPEND MEMBER NO. TO CHAR. STRING   
59GG          OUTPARN  11,ACOMMUNE4        [PREPARE PARAM FOR MEMBER NO.
5=26    #              NO MESSAGE   
5=FQ          BRN      PFA10               [CARRY ON SERGEANT   
5=^B    PFA6                               [CARRY ON SMILING
5?F2    #SKI  K6FAIL>699-699
5?YL          TRACE 1,PFA6  
5#D=          LDEX  5  ANUM(3)             [GET CHARACTER COUNT 
5#XW          SBN   5  41                  [MAX. TO BE PASSED ON ANYWAY (+1)
5*CG          BNG   5  PFA7                [40 OR LESS CHARACTERS.  
5*X6    PFA65   
5BBQ    #SKI  K6FAIL>699-699
5BWB          TRACE 1,PFA65 
5CB2          LDN   5  40                  [TRUNCATE TO 40  
5CTL          BRN      PFA8                [SKIP ROUND TO GET CORE  
5D*=    PFA7                               [USE ACTUAL SIZE 
5DSW    #SKI  K6FAIL>699-699
5F#G          TRACE 1,PFA7  
5FS6          ADN   5  41                  [BACK TO NORMAL  
5G?Q    PFA8                               [CONFLUENCE OF CODE STREAMS  
5GRB    #SKI  K6FAIL>699-699
5H?2          TRACE 1,PFA8  
5HQL          LDX   6  5                   [SAVE COUNT FOR GETTING CORE 
5J==          LDX   7  6                   [AND AGAIN TO MOVE MESSAGE   
5JPW          ADN   5  XBLEN*4+3           [ROUND AND INCLUDE APED/ANEVENT  
5K9G          SRL   5  2                   [REDUCE TO WORDS 
5KP6          SETUPCORE 5,5,APED,ANEVENT   [GET SPACE FOR AND NAME NEW BLOCK
5L8Q          HUNT     3,CPB,CUNI          [GET MESSAGE BLOCK BACK  
5LNB          LDX   4  5                   [SAVE BLOCK START ADDRESS
5M82          ADN   7  3                   [ROUND FOR WORD MOVE 
5MML          SRL   7  2                   [REDUCE TO WORDS 
5N7=          ADN   3  APARA               [MOVE UP TO MESSAGE -FROM-   
5NLW          ADN   4  APEDSP1+XBLEN       [MOVE UP TO MESSAGE -TO- 
5P6G          SMO      7                   [PURE PROCEDURE MODIFY   
5PL6          MOVE  3  0                   [MOVE THE MESSAGE
5Q5Q          LDX   3  5                   [SWITCH FOR GOOD MODIFIER
5QKB    PFA9                               [OTHER INITIALIZATION
5R52    #SKI  K6FAIL>699-699
5RJL          TRACE 1,PFA9  
5S4=          STO   6  APEDSP1+2(3)        [CHARACTER COUNT 
5SHW          LDX   5  7                   [SAVE MESSAGE WORD COUNT 
5T3G          LDX   7  AWORK1(2)
5TH6          STO   7  APEDSP1(3)          [MEMBER NO.  
5W2Q          LDN   4  APEDFAIL            [CONTROL VALUE FOR IF COMMAND
5WGB          STO   4  APEDSP1+1(3) 
5X22    #SKI  G4
5XFL          ADN   5  9                   [NO. OF WDS. FOR PARAMS. +1 WORD EACH
5X^=    #SKI  G3
5YDW          ADN   5  5                   [TWO WORD TIME + ONE WORD EACH PARAM 
5YYG          BZE   7  PFA91
5^D6          ADN   5  3                   [THREE WORD PARAM FOR MEMBER NO. 
5^XQ    PFA91 OUTBLOCK 5                   [GET THE MONITORING FILE BLOCK   
62CB          OUTMILL                      [TIME TAG
62X2    #SKI  G4
63BL    (   
63W=    #SKI  JNLPACK   
64*W    (   
64TG          LDX   4  AWORK3(2)
65*6          LDX   5  AWORK4(2)
65SQ          OUTPACKC 4,1,QUOTA           [OUTPUT QUOTA
66#B          OUTPACKC 5,1,PAGETURN        [OUTPUT PAGETURNS
66S2    )   
67?L    #SKI  JNLPACK<1$1   
67R=    (   
68=W          OUTNUM   AWORK3(2),0         [OUTPUT QUOTA
68QG          OUTNUM   AWORK4(2),0         [OUTPUT PAGETURNS
69=6    )   
69PQ    )   
6=9B          BZE   7  PFA92
6=P2          LDX   3  GSIGN
6?8L          ADX   3  2
6?N=          DCH   7  ACOMMUNE6(3)        [APPEND MEMBER NO. TO CHAR. STRING   
6#7W          OUTPARN  11,ACOMMUNE4        [PREPARE PARAM FOR MEMBER NO.
6#MG          BRN      PFA93
6*76    PFA92 OUTNULL                      [MEMBER NO. NOT APPLICABLE   
6*LQ    PFA93 OUTPARAM 6,APEDSP1+XBLEN,APED,ANEVENT    [PREPARE MON. OUT BLOCK  
6B6B    PFA10   
6BL2    #SKI  K6FAIL>699-699
6C5L          TRACE    1,PFA10  
6CK=    #SKI  G4
6D4W          MONOUT   JZFAILEDG4   
6DJG    #SKI  G3
6F46          MONOUT   JZFAILED            [SHOOT IT AWAY   
6FHQ    #              PRODUCES - TIME FAILED IN MEMBER N:MESSAGE        (N>0)  
6G3B    #                    OR - TIME FAILED  :MESSAGE                  (N=0)  
6GH2    PFA11   
6H2L    #SKI  K6FAIL>699-699
6HG=          TRACE 1,PFA11 
6H^W          ENDCOM                       RETURN TO COMMAND PROCESSOR  
6JFG    PFERR                              [BADSWAP-IN  
6J^6          GEOERR   1,FAILGETW   
6KDQ    ZBRK  COMBRKIN  
6KYB          MENDAREA 20,K100FAIL  
6LD2    #END
^^^^ ...26246436000100000000