COMPROB867

(George Source)

Macros used: ACROSS, BBUS, BC, BROKIN, BRUSEN, BS, BSON, BXU, CHAIN, CJOBLOCK, CLEANUP, CLEANX, COOR3, DISCONNECT, DOLPMON, DORPMON, DOSPMON, DOWN, FINDCORE, FINDPARS, FJOCA, FON, FREECORE, FREELINK, FSHCODE, FSHSKIP, GEOERR, GETCORE, HLSINFORM, HUNT, HUNTW, ISSUBRK, JBC, JMBAS, LIMBO, LONGWAIT, MBC, MENDAREA, MFREE, MHUNTW, MHUNTX, MONOUT, MONOUTX, NAME, OFF, OUTBLOCK, OUTMESS, OUTMESSX, OUTNULL, OUTPACK, OUTPAR, OUTPARAM, PERCOUNT, PERMITBRK, READ, SEG, SEGENTRY, SKIP, TESTBRKIN, TESTINOP, TRUEDORM, VFREEW

COMPROB867.txt
228Y ...      SEG COMPROB,,CENT(COMMAND PROCESSOR),,G266,G400   
22CW ...[   
22LS ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982
22TQ ...[     THIS EXCLUDES CODE UNDER #SKI G266
234N ...[   
23?L ...#OPT G266 = 0   
23GJ ...#SKI G266&1 
23PG ...# WITH UGUG EDIT M266 (SUPPRESS UNWANTED MONITORING FILE LISTINGS)  
23RS ...#UNS G400   
23W6 ...#      THIS CHAPTER IS MODIFIED FOR G3PLUS-IH MK 2  
23YG    [ THE ENTRY POINTS  
24D6    [     THESE ENTRY POINTS MUST BE KEPT FIXED WITHIN THE SEGMENT  
24XQ          SEGENTRY K1COMPROB,QENTRY1   [ FROM COMPRO
25CB ...      SEGENTRY K2COMPROB,(GEOERR)   
25X2          SEGENTRY K3COMPROB,QENTRY3   [ FROM COMPRO
26BL          SEGENTRY K4COMPROB,QENTRY4   [ FROM COMPRO
26W=          SEGENTRY K5COMPROB,QENTRY5   [ FROM COMPRO
27*W    [   
27TG    [   
28*6    [     THIS SEGMENT IS ENTERED FROM COMPRO WHEN BREAK-IN IS  
28SQ    [     DETECTED.  ACTION IS TAKEN APPROPRIATE TO THE TYPE OF 
29#B    [     BREAK-IN. 
29S2    [   
2=?L    [   
2=R=    [     THESE MASKS ARE USED ON WORD JOBEVENTS IN THE ACTIVITY BLOCK  
2?=W    [     TO DETERMINE WHAT TYPE OF BREAK IN HAS OCCURRED   
2?QG    #   
2#=6    [     THIS MASK WILL RETAIN THE ABANDON COMMAND,MONITORING FILE FULL,   
2#PQ    [     'STOP JOB TO UNLOAD A PERIPHERAL' (OR 'UNLOAD' FOR SHORT) 
2*9B    [     AND MOP TERMINAL INOPERABLE BITS,IF SET . NOTE,ONLY ONE OF THESE  
2*P2    [     BITS CAN BE SET AT ANY ONE TIME.  
2B8L    [     MASK WILL ALSO RETAIN THE FINISH ABANDON BIT AND MOP OFF/CR BIT   
2B9X ...#UNS  BIWRFL
2B?8 ...#SKI
2B#H    MASKN          #02700056
2B#J ...#UNS  BIWRFL
2B#K ...(   
2B#L ...#     MASK WILL ALSO RETAIN WRITE-FAIL BIT  
2B#M ...MASKN       #02700156   
2B#N ...#     THIS MASK RETAINS ALL BUT WRITE-FAIL BIT  
2B#P ...MASKWF      #02700056   
2B#Q ...)   
2B#R ...#   
2B#T    #     THIS MASK RETAINS ALL BUT MOP OFF (LIMBO) BIT 
2B*2    MASKMFLI       #02700016
2BCG    #   
2BF9    #     THIS MASK RETAINS ALL BUT READFAIL BIT
2BGY    MASKRF         #02700006
2CMG    [    THIS MASK  WILL RETAIN  THE  MOP OFF  BIT  
2D76    MASKMOF        #02000000
2DLQ    #   
2F6B    [     THIS MASK WILL RETAIN THE MONITORING FILE FULL, UNLOAD
2FL2    [     AND MOP TERMINAL INOPERABLE BITS. 
2G5L    [   ALSO RETAINED ARE MOPOFF/CR AND FINISH ABANDON BITS 
2GK=    MASKAB      #02300006   
2H4W    [   
2HJG    [     THE FOLLOWING MASK WILL RETAIN THE MOP INOP AND UNLOAD BITS   
2J46    [    IT ALSO RETAINS MOPOFF/CR & FINISH BITS
2JHQ    MASKMON     #02100006   
2K3B    #   
2KH2    [ FOLLOWING  MASK RETAINS MOP OFF/CR, UNLOAD AND MOP INOP. BITS 
2L2L    MASKFIN     #02100004   
2LG=    [ FOLLOWING  MASK RETAINS MOP OFF/CR AND MOP INOP. BITS 
2L^W    MASKUL      #02100000   
2MFG    #   
2M^6    [   THIS MASK RETAINS CONNECT AND FINISH BITS   
2NDQ    MASKCF      #01000001   
2NYB    #   
2PD2    [   FOLLOWING MASK IS TO ISOLATE THE PROGRAM ISSUED BIT 
2PXL    MASKPI      #10000  
2QC=    #   
2QWW    [     THIS MASK RETAINS THE CONNECT BIT 
2RBG    MASKC          #01000000
2RW6    #   
2S*Q    [     THIS MASK SETS BREAK IN BIT (B2) IN GWAIT 
2T*2    [   
2TSL    [   
2W#=    [     THE FOLLOWING WORDS CONTAIN THE UNIVERSAL IDENTIFIERS WHICH LABEL 
2WRW    [     THE VARIOUS JOB ABANDONED MESSAGES IN THE MONITORING FILE SEGMENTS
2X?G    #   
2XR6    [     THIS IDENTIFIER LABELS THE MESSAGE 'ABANDONED BY OPERATOR 
2Y=Q    [     INTERVENTION' 
2YQB    RAB            +JABANDOP
2^=2    #   
2^PL    [     THIS IDENTIFIER LABELS THE MESSAGE 'JOB ABANDONED:MONITORING FILE 
329=    [     FULL. 
32NW    RMAB           +JMONABAND   
338G    #   
33N6    [     THIS IDENTIFIER LABELS THE MESSAGE 'JOB IN LIMBO: MOP TERMINAL
347Q    [     INOPERABLE'   
34MB    RINOPLIMBO     +INOPLIMBO   
3572    #   
35LL    [     THIS IDENTIFIER LABELS THE MESSAGE 'JOB ABANDONED: WAITTIME   
366=    [     EXCEEDED' 
36KW    RABWAIT        +JABANDWAIT  
375G    #   
37K6    [   THIS IDENTIFIER LABELS THE MESSAGE 'JOB ABANDONED:MOP SWITCHED OFF' 
384Q    RABMOF         +JABANDMOF   
38JB    #   
3942    [   THIS IDENTIFIER LABELS THE MESSAGE 'JOB ABANDONED:CHANNEL RELEASE'  
39HL    RABCR          +JABANDCR
3=3=    #   
3=GW    [  THIS  IDENTIFIER LABELS THE MESSAGE 'JOB ABANDONED : FINISH ETC '
3=PJ    RFINT          +JABANDFIN   
3=Y=    RFIN           +JABFIN  
3?6Y    RJHUP          +JHARDUPAB   
3?7M ...#UNS  BIWRFL
3?8B ...(   
3?95 ...[ MESSAGE: 'JOB ABANDONED:IRRECOVERABLE WRITE TRANSFER FAILURE ETC' 
3?9S ...RABWF          +JABWF   
3?=H ...)   
3??B    RABRF          +JABANDRF
3?CS    RJFZ           +JFROZENAB   
3?DJ    [   THIS IDENTIFIER LABELS THE MESSAGE 'JOB IN LIMBO:MOP SWITCHED OFF'  
3?F#    RMFLIMBO       +JMFLIMBO
3?FD    #UNS  AV7900S   
3?FJ    (   
3?FN    [   THIS IDENTIFIER LABELS THE MESSAGE 'JOB IN LIMBO:IDENTIFIER FREE'   
3?FS    RIFRLIMBO      +JIFRLIMBO   
3?FY    )   
3?G6    [   
3?^Q    [     THE FOLLOWING MASK PRESERVES ALL BUT THE STOPJOB BIT IN JMISC 
3#FB    MASKBRK        #67777777
3#^2    [   
3*DL    [     THE FOLLOWING MASK PRESERVES ALL BUT THE CONNECT BIT IN JOBEVENTS 
3*Y=    MASKF          #76777777
3BCW    [   
3CC6    MASKD          #00060000
3DBB    MASKLIM        #00040000
3DW2    MASKBIC        #77737777           [ MASKS OUT THE BREAKIN BIT  
3F*L    SETNB          #00020000           [ THE NO-BREAKIN BIT 
3FT=    SABFIN         #40000002           [ FINISH/ABANDON BITS
3G#W    [   
3H#6    TWO            +2   
3K=L    TEN            +10  
3KQ=    PHIFTEEN       +60/FONINTP  
3L9W    SPACE          #20  
3LPG    WIN            4H NI
3M96    [   
3MNQ    [ SUBROUTINES  *   *   *   *
3N8B    [   
3NN2    [ SUBROUTINE TO SET INHIBIT-BREAKIN MARKER, CLEAR THE STOPJOB BIT AND   
3P7L    [     OUTPUT THE APPROPRIATE MESSAGE, PREPARATORY TO STOPPING A JOB 
3PM=    OUTMESS 
3Q6W          CALL  5  MCLEAR   
3QLG          TESTBRKIN READL   
3R66          LDCT  0  #020                [ PRESERVE THE 'MOPOFF' BIT  
3RKQ          ANDS  0  JOBEVENTS(2)        [   FOR LATER TESTING
3S5B          LDCT  0  #040                [   AND SET  
3SK2          ORS   0  JOBEVENTS(2)        [   'INHIBIT BREAKIN' BIT
3TJ=          BRUSEN   ZNOUSER  
3W3W          CJOBLOCK 3
3WHG          LDX   0  MASKBRK(1)   
3X36          ANDS  0  JMISC(3)            [ CLEAR STOPJOB BIT  
3Y2B    ZNOUSER 
3YG2          SBX   6  1
3YG?          BXU   7  RABRF(1),NRFAB   
3YGB          FINDPARS GMON,JABAND  
3YGF    NRFAB   
3YJH          BXU   7  RAB(1),NSUB1 
3YJY          JMBAS    XHARDUP,2,EXABTEMP,EXUSAB
3YKB          JBC      NTEM,2,EXABTEMP  
3YKJ          LDX   0  CONTEXT(2)   
3YKL          ANDN  0  5
3YKN          BNZ   0  NFZX 
3YKQ          LDX   7  RJFZ(1)  
3YKS          BC       2,EXABTEMP   
3YKW          BRN      NSUB1
3YKY    NFZX
3YL9          OUTMESS  ATEMPAB  
3YM4          BRN      NTEM1
3YM9    XHARDUP 
3YMB          LDX   7  RJHUP(1) 
3YMH          MBC      2,EXABTEMP,EXUSAB
3YMN          BRN      NSUB1
3YMX    NTEM  OUTNULL   
3YNQ    NTEM1 JBC      NUSE,2,EXUSAB
3YPK          OUTMESS  JCOM 
3YQD          BRN      NUSE1
3YR?    NUSE  OUTMESS  JOPCON   
3YS6    NUSE1 HUNT     3,GMON,JABAND
3YS^          BNG   3  NSUB1
3YTS          OUTPARAM ANUM(3),APARA,GMON,JABAND
3YWM          MFREE    GMON,JABAND  
3YXG    NSUB1   
3YYS          TXU   7  RINOPLIMBO(1)
3YY^          BCS      NLIMBO   
3Y^6          TESTINOP 2,NINOP               [J IF NOT INOP 
3Y^?    NLIMBO  
3Y^# ...#SKI G266&1 
3Y^* ...(   
3Y^B ...#     PRESERVE THE MESSAGE IDENTIFIER SPECIFIED IN X7 IN X5 
3Y^C ...#     IN ORDER THAT IT CAN BE CHECKED IN THE 'LOGOUT' CHAPTER.  
3Y^D ...#   
3Y^F ...      LDX   5  7
3Y^G ...)   
3Y^L          MONOUTX  7
3^9C    NINOP   
3^#2          LDX   2  FX2                  [TESTINOP DESTROYS X2   
3^F=          ADX   6  1
3^YW          EXIT  6  0
42DG    [   
42Y6    [     SUBROUTINE TO OUTPUT SKIP PDC 
43CQ    #   
43XB    SKIP  SBX   7  FX1  
44C2          OUTPAR   SKIP 
44WL          ADX   7  FX1  
45B=          EXIT  7  0
45TW    [   
46*G    [ MAIN ROUTINE *   *   *   *
46DL    RFINAB  
46HQ          LDX  2   FX2                [SET TEMPORARY ABANDON
46KP          LDN   0  #10  
46KY          ANDX  0  CONTEXT(2)         [CHECK THE CONTEXT OF THE JOB & JIF   
46L7          BNZ   0  RABAND             [MOP JOB (IE DON'T SET 'TEMP' BIT)
46LW          BS       2,EXABTEMP         [BIT IF OBEYING THE FINISH
46ND          LDX   7  RFINT(1) 
46Q2          BRN      RABAND             [ABANDON COMMAND  
46T6    [   
47#Q    RABANDMOF   
47SB          LDCH  6  JSOURCE1(2)         [GET PERIPHERAL TYPE 
48#2          ERN   6  #74  
48RL          BNZ   6  RABAND   
49?=          LDX   7  RABCR(1) 
49QW    QENTRY3                            [ FROM COMPRO WHEN ABANDONING
4==G    RABAND  
4=?X          LDN   0  CPAT 
4=*#          STO   0  AWORK1(2)
4=BP          LDN   4  0
4=D6          STO   7  ACOMMUNE1(2) 
4=FH          CALL  7  SEEKLEV  
4=GY          BRN      RABNO         [J IF NO INT. LEVELS   
4=J*          BRN      Y2   
4=KQ    RABNO   
4=M7          LDX   2  FX2  
4=NJ          LDX   7  ACOMMUNE1(2) 
4=Q6          CALL  6  OUTMESS             [ OUTPUT MESSAGE, ETC
4?9Q          CALL  4  TCLEAN2             [ CLEAN UP FOR ABANDONING JOB
4?PB          LDX   0  CONTEXT(2)   
4#92          LDX   7  0                   [KEEP COPY OF CONTEXT
4#NL          ANDN  0  4
4*8=          BNZ   0  OFF                 [ JUMP IF NOT MOP
4*MW          ANDX  7  MASKBIC(1)          [LOSE BRK-IN BIT 
4B7G          ORX   7  SETNB(1)            [SET NO BREAK-IN 
4BM6          STO   7  CONTEXT(2)   
4C6Q          LDCT  0  #020 
4CLB          STO   0  EXT+10(2)           [ RESET THE BREAKIN-TYPE MARKER  
4D62          ANDN  7  2
4DKL          BNZ   7  VSOP                [JUMP IF NO-USER LEVEL   
4F5=          ANDX  0  JOBEVENTS(2) 
4FJW          BNZ   0  OFF                 [ JUMP IF MOPOFF OR CHANNEL RELEASE  
4G4G          LIMBO    6
4GJ6          BNZ   6  OFF                 [J IF JOB IN LIMBO   
4H3Q          DOWN     LOGOUT,4            [TO ABANDON A MOP JOB
4HHB    READ  ACROSS   COMPRO,2            [TO READ ANOTHER COMMAND 
4J32    READA ACROSS   COMPRO,10
4JGL    OFF   ACROSS   LOGOUT,3            [ SIMULATED ENDJOB   
4K2=    MAG   ACROSS   ENGAGE,30           [ TO UNLOAD A PERIPHERAL 
4KFW    [   
4K^G    QENTRY5        [ FROM COMPRO WHEN ABANDONING A MDF IN NO-USER CONTEXT   
4LF6          CALL  4  TCLEAN2             [ CLEAN UP BLOCKS FOR ABANDONING 
4LYQ          LDN   4  #40                 [ TEST IF ONLINE PT OR CR
4MDB          ANDX  4  5
4MY2          BNZ   4  MAG                 [ JUMP IF NOT OPS CONSOLE
4NCL    VSOP  ACROSS   LOGOUT,7            [ TO ABANDON JOB 
4NX=    [   
4PBW    NSTOP   
4PWG          ANDX  5  MASKN(1)            [RETAIN ABANDON BITS 
4QB6          BZE   5  PBREAKCON           [JUMP IF NORMAL BREAK IN OR CONNECT  
4QB= ...#UNS  BIWRFL
4QBB ...(   
4QBG ...      LDX   7  RABWF(1) 
4QBL ...      ANDX  5  MASKWF(1)
4QBQ ...      BZE   5  RABAND   
4QBW ...)   
4QC7          ANDX  5  MASKMFLI(1)  
4QCG          BZE   5  MFLI           [J IF MOP OFF (LIMBO) 
4QJR          LDX   7  RABRF(1) 
4QM2          ANDX  5  MASKRF(1)
4QP9          BZE   5  RABAND   
4QTQ          LDX   7  RAB(1)              [LOAD JABANDOP   
4R*B          ANDX  5  MASKAB(1)
4RT2          BZE   5  RABAND              [JUMP IF ABANDON COMMAND 
4S#L          LDX   7  RMAB(1)             [LOAD JMONABAND  
4SS=          ANDX  5  MASKMON(1)   
4T?W          BZE   5  RABAND              [JUMP IF MONITORING FILE FULL
4TRG          LDX   7  RFIN(1)  
4W?6          ANDX  5  MASKFIN(1)   
4WQQ          BZE   5  RFINAB              [J IF FINISH ABANDON 
4X=B          ANDX  5  MASKUL(1)
4XQ2          BZE   5  MAG                 [ JUMP TO UNLOAD PERIPHERAL  
4Y9L          LDX   7  RABMOF(1)
4YP=          ANDX  5  MASKMOF(1)   
4^8W          BNZ   5  RABANDMOF           [J IF MOP OFF BIT SET
4^9P    MFLI
4^=K          LDN   0  CPAT 
4^##          STO   0  AWORK1(2)
4^B3          LDN   4  0
4^CQ          CALL  7  SEEKLEV  
4^FF          BRN      XIO99
4^H8          BRN      Y2   
4^JX    XIO99 LDX   2  FX2  
4^LL          LDX   1  FX1  
4^NG          LDX   7  CONTEXT(2)          [LOAD CONTEXT BITS AND JUMP TO VSOP  
5286          ANDN  7  2                   [IF AT NOUSER.REASON:LINE INOPERABLE 
52MQ          BNZ   7  VSOP                [AT NOUSER.  
52TN          LDX   7  RINOPLIMBO(1)       [LIMBO - TERMINAL INOPERABLE 
533L    #UNS  AV7900S                      [FREE COMMAND ENHANCEMENT
539J    (   
53CG          JBC      NOTIDFR,2,BRIDENTFR  
53KD          LDX   7  RIFRLIMBO(1)        [LIMBO - IDENTIFIER FREE 
53RB          BRN      NOTMFLI  
53^#    NOTIDFR 
547=    )   
54*?          JBC      NOTMFLI,2,BRMOPOFFLIM
54BB          LDX   7  RMFLIMBO(1)         [LIMBO - MOP SWITCHED OFF
54CG
54FP    NOTMFLI 
54L=          CALL  6  OUTMESS  
54W3          LDX   6  MASKLIM(1)   
54YL          ORS   6  EXT+11(2)
555W          DISCONNECT                   [ DISCONNECT THE JOB.  PUT IN LIMBO  
55KG          PERMITBRK                    [ CLEAR INHIBIT BREAKIN BIT  
55XW          HLSINFORM READL,LIMBO,JOBNO(2)
5656    QENTRY4                            [ FROM COMPRO WHEN JOB HAS TO WAIT   
56JQ          LDN   7  #100                [B17 IDENTIFIES THIS CASE
574B          ORS   7  EXT+11(2)           [  TO FINISH ACTIVITY
57J2    WF    LDX   4  AWAITEND 
583L          BZE   4  WB                  [J IF WAITTIME IS ZERO   
58H=          LDX   5  AWAITEND            [RE-LOAD WAITTIME
592W    W     LONGWAIT WD,#62,,,PHIFTEEN(1)  [WAIT FOR 1 MINUTE 
59GG          TXU   5  AWAITEND 
5=26          BCS      WF                  [J IF WAITTIME HAS BEEN CHANGED  
5=FQ          BCT   4  W
5=^B    WB    ERS   7  EXT+11(2)           [UNSET B17   
5?F2          LDX   7  RABWAIT(1)          [ 'JOB ABANDONED' MESSAGE
5?YL          BRN      RABAND   
5#D=    WD    ERS   7  EXT+11(2)           [UNSET B17   
5#XW          CALL  5  MCLEAR              [ ENSURE MULTILINERY BIT CLEAR   
5*CG    READL   
5*X6          LDX   2  FX2  
5BBQ          LDCH  4  EXT+10(2)           [LOAD TYPE OF UP 
5BWB          LDX   5  JOBEVENTS(2) 
5CB2          BPZ   5  READA
5CTL    QENTRY1                            [ FROM COMPRO WHEN BREAK-IN DETECTED 
5D*=          BSON     HLSBIT,NSTOP        [J IF PRE-HLS
5DSW          LDCT  7  #200                [SET B1  
5F#G          ANDX  7  5
5FS6          BZE   7  NSTOP               [J IF B1(I.E.STOPJOB) NOT SET
5G?Q          TXU   4  TWO(1)              [2 DENOTES ENDREC
5GRB          BCS      SBKIN
5H?2          MHUNTW   3,CPB,CALAS  
5HQL          LDX   6  CPBFSD(3)
5J==          BPZ   6  READ                [J IF MDF
5JPW          STOZ     APTNECHA(3)  
5K9G          LDX   3  FPTR(3)  
5KP6          STOZ     CLBPTNECHA(3)
5L8Q    SBKIN   
5LNB          CALL  5  MCLEAR              [FREE C/CBUFF & CLEAR M-L BIT
5LW8          CALL  7  TCLEAR   
5M*S ...      ACROSS   CONTINUE,4   
5YDW    PBREAKCON   
5YR=          TRUEDORM                     [INFORM LLS OF TRUE DORMANCY 
5YYG          TXU   4  TWO(1)   
5^D6          BCS      PBROKIN             [J IF BROKEN IN  
5^XQ          MHUNTW   3,CPB,CALAS  
62CB          LDX   6  CPBFSD(3)
62X2          BPZ   6  READ                [J IF NOT BROKEN IN  
63BL          STOZ     APTNECHA(3)  
63W=          LDX   3  FPTR(3)  
64*W          STOZ     CLBPTNECHA(3)
64TG          CALL  5  MCLEAR              [FREE C/CBUFF & CLEAR M-L BIT
65*6    PBROKIN 
65SQ          LDX   5  JOBEVENTS(2) 
66#B          ANDX  5  MASKCF(1)           [ISOLATE CONNECT & W/FINISH BITS 
66S2          BZE   5  PBR                 [JUMP IF ORDINARY BREAK IN   
67?L          ANDX  5  MASKC(1) 
67R=          BZE   5  WHENY               [J IF W/FINISH CASE  
68=W          LDX   5  MASKF(1) 
68QG          ANDS  5  JOBEVENTS(2)        [MASK CONNECT MARKER 
69=6          FON   #42 
69PQ    PCOOR3  
6=9B          COOR3 #43 
6=P2          LDCH  5  JOBEVENTS(2) 
6?8L          ANDN  5  1                   [MASK OFF B5 
6?N=          BZE   5  PCOOR3   
6#7W    #   
6#MG    [              OUTPUT  JOBTYPE NOW MESSAGE  
6*76    #   
6*LQ          OUTPAR   TIMENOW,JOBMILL  
6B6B          LDX   4  JSOURCE3(2)  
6BL2          BZE   4  XCENT               [J IF CENTRAL
6C5L          LDN   4  2
6CK=    XCENT OUTPACK  4,1,JOBTYPE,XCENT   [OUTPUT JOB TYPE-MOP OR REM-MOP  
6D4W          BZE   4  XCNT1
6DJG    XNC   OUTPACK  JSOURCE3(2),1,PROPS,XNC     [OUTPUT CONSOLE PROPERTY 
6F46          BRN      XNC1 
6FHQ    XCNT1 CALL  7  SKIP 
6G3B    XNC1  LDN   0  #1000
6GH2          ANDX  0  CONTEXT(2)   
6H2L          BZE   0  XSK                 [J IF NO CORE IMAGE  
6HG=          FJOCA    3,2  
6H^W    [     CANNOT USE OUTPMILL MACRO SINCE HAVE TO OUTPUT SKIP PDC IF ZERO   
6JFG    #   
6J^6          LDX   0  HCLOCKTIME(3)
6KDQ          LDX   1  HCLOCKTIME+1(3)  
6KYB          BNZ   0  NSK1 
6LD2          SRA   1  5
6LXL          SBN   1  1875 
6MC=          BNG   1  XSK  
6MWW    NSK1
6NBG          OUTPAR   PROGMILL 
6NW6          BRN      NSK  
6P*Q    XSK   CALL  7  SKIP 
6PTB    NSK   MONOUT   JTYPE
6Q*2          PERCOUNT  
6QSL          LDCT  5  #10  
6R#=          ERS   5  JOBEVENTS(2) 
6S?G    XNOUSER 
6SR6    Y15 
6T=Q          LDN   4  COMDAT+CBRK  
6TQB          STO   4  AWORK1(2)           [STORE WHEN.TYPE FOR SEARCH  
6W=2          LDN   4  0                   [SET MKR FOR S/R 
6WPL          CALL  7  SEEKLEV  
6X9=          BRN      NOWHEN   
6XNW          BRN      Y2   
6Y8G    Y3    LDN   5  0                   [SET WHENEVER MKR
6YN6    Y2    LDN   1  3                   [SET PARAM FOR CLEANX
6^7Q          CALL  4  TCLEAN1             [S/R FOR CLEANING UP 
6^MB          BNG   5  Y11                 [J IF MUST RETURN TO I.I. LEVEL  
7272          CALL  7  SETCREADL           [S/R TO RENAME WHENEVER BLOCK
72LL          LDN   4  0                   [MKR FOR S/R 
736=          CALL  7  TCLEAR              [S/R TO CLEAR BRK-IN BITS
73KW          ACROSS   COMPRO,4 
745G    [   THE FOLLOWING PATH IS FOLLOWED  WHEN FINISH COMMAND HAS BEEN ISSUED 
74K6    [   A SEARCH IS MADE FOR A WHEN/FINISH BLOCK - BUT FOR SYSTEM ISSUED
754Q    [   JOBS WHEN FINISHED BIT IS SET, A SEARCH IS MADE FOR A WHEN/FINISHED 
75JB    [   BLOCK   
7642    [   N.B. IF A INT. ISSUED LEVEL WITH A BREAK-IN LABEL IS ENCOUNTERED
76HL    [   DURING SEARCH - A RETURN IS FIRST MADE TO THIS LABEL - IF  A WHENEV.
773=    [  BLOCK IS KNOWN TO EXIST AT A HIGHER LEVEL
77GW    WHENY   
77QN          BC       2,EXWENFIN   
782G          LDX   4  CONTEXT(2)   
78G6          LDN   0  COMDAT+CFIN  
78^Q          BPZ   4  Y4                  [J IF NOT SYS. ISSUED
79FB          LDCT  5  #40  
79^2          ANDX  5  FINISH              [ISOLATE FINISHED BIT
7=DL          BZE   5  Y4                  [FINISHED NOT SET
7=Y=          ADN   0  CFIND-CFIN          [LOOK FOR WE/FINISHED BLOCK  
7?CW    Y4  
7?XG          STO   0  AWORK1(2)           [STORE TYPE OF BLOCK FOR WHEN/SEARCH 
7#C6          STOZ     AWORK2(2)
7#WQ          LDN   4  1                   [SET MKR INDICATING W/FINISH 
7*BB    Y6    CALL  7  SEEKLEV  
7*W2          BRN      Y12  
7B*L          BRN      Y7                  [J IF SPEC. I.ISS LEVEL REACHED  
7BT=          SMO      FX2                 [WHENEVER FOUND  
7C#W          LDX   7  AWORK2   
7CSG          BZE   7  Y3                  [J IF WHENEVER WAS 1ST FOUND 
7D#6          LDX   5  GSIGN               [SET INT ISS MARKER  
7DRQ          LDX   6  7                   [AND RETURN TO SPEC INT ISS LEVEL
7F?B          BRN      Y2   
7FR2    Y11   MHUNTW   2,CPB,CALAS  
7G=L          LDX   3  FPTR(2)             [PTR TO CLB  
7GQ=          CALL  5  UPLEV               [S/R FOR GOING UP A CP.LEVEL 
7H9W          ISSUBRK   
7HPG    [  NO WHENEVER/FINISH FOUND 
7J96    Y12 
7JNQ          LDX   4  GSIGN               [MKR TO AVOID BROKIN IN S/R  
7K8B          CALL  7  TCLEAR              [S/R TO CLEAR BRK-IN BITS.   
7KN2          LDX   4  CONTEXT(2)   
7L7L          BPZ   4  TCON1               [ JUMP IF NOT SYSTEM ISSUED  
7LM=          LDX   0  AWORK1(2)
7M6W          ERN   0  COMDAT+CFIN  
7MLG          BZE   0  WFERR               [J IF NO COMDAT/CFIN FOUND   
7N66          LDX   4  JOBEVENTS(2)        [ JUST ATTEMPTED TO BECOME FULLY 
7NKQ          BNG   4  READL               [ STARTED
7P5B          LDX   4  SABFIN(1)           [ LOAD  FINISH/ABANDON BITS  
7PK2          STO   4  JOBEVENTS(2) 
7Q4L          BRN      READL
7QJ=    Y7    SMO      FX2  
7R3W          STO   6  AWORK2              [STORE INT ISS LEVEL 
7RHG          BRN      Y6                  [CONTINUE SEARCH -THERE MAY BE A 
7S36                                       [WHENEVER FINISH BLOCK AT A HIGHER   
7SGQ                                       [LEVEL   
7T2B    TCON1   
7TG2          ANDN  4  #10                 [ IF MOP,
7T^L          BNZ   4  TCONT               [   CONTINUE 
7WF=          LDX   7  RFIN(1)             [ ELSE   
7WYW          BRN      RABAND              [   ABANDON  
7XDG    WFERR   
7XY6          GEOERR   1,WHEN FIN   
7YCQ    [   
7YJY ...TCONT   
7YQ6 ...      ACROSS   CONTINUE,5   
7YXB    [   
8MB6    [   
8MTQ    PBR 
8NT2          BRUSEN   XNOUSER  
8P#L          FJOCA    3,2                 [ POINT X3 AT JOB BLOCK  
8PS=          LDCT  4  #100 
8Q?W          ANDX  4  JMISC(3)            [ ISOLATE STOPJOB BIT
8QRG          BNZ   4  Y15                 [ JUMP IF NOT PSEUDO-BREAKIN 
8R?6    NOWHEN  
8RQQ          LDN   4  6                   [ SET UP AN OUTPUT PARAMETER 
8S=B          OUTBLOCK 4                   [ BLOCK OF SIX WORDS 
8SQ2          LDCH  4  EXT+10(2)           [L0AD TYPE OF UP 
8T9L          LDX   5  EXT+10(2)
8TP=          ANDN  5  #7777               [MASK OFF
8W8W          TXU   4  TWO(1)   
8WNG          BCC      NULL                [J IF MULTILINE FROM CONSOLE 
8X86          SMO      4
8XMQ          LDX   6  TBREAK-1(1)         [LOAD BREAK IN MESSAGE   
8Y7B          OUTMESSX 6
8YM2          LDX   7  CPLEV(2)            [LOAD CURRENT CPL
8^6L          SBX   7  5
8^L=          ADN   7  1
925W          SLL   7  2
92KG          GETCORE  7,1                 [GET SMFFICIENT CORE FOR CINC
9356          FINDCORE 3
93JQ       NAME        3,COMDAT,CINC       [NAME BLOCK  
944B          ADN   3  A1   
94J2          MHUNTW   2,CLB
953L          LDN   0  0
95H=          LDX   7  ANUMCHA(2)   
962W          SMO      FX2  
96GG          STO   2  EXT+6
9726          ADN   2  CLBFIR   
97FQ          BRN      X200 
97^B    NULL
98F2          OUTNULL                      [OUTPUT TWO NULL 
98YL          OUTNULL                      [PARAMETERS  
99D=          BRN      POOD 
99XW    XQ    LDX   2  FPTR(2)  
9=CG          LDX   7  ATYPE(2) 
9=X6          SRL   7  12   
9?BQ          ERN   7  CLB  
9?WB          BNZ   7  XQ                  [ J IF NOT LINE BUFFER   
9#B2    XZONE   
9#TL    [     THIS SECTION COMPILES THE COMMAND PROCESSOR HIERARCHY 
9**=          LDX   7  ANUMCHA(2)   
9*SW          SMO      FX2  
9B#G          STO   2  EXT+6
9BS6          ADN   2  CLBFIR   
9C?Q          LDX   6  WIN(1)              [LOAD  IN CHARS  
9CRB          LDN   1  4
9D?2    XPON  DCH   6  0(3)                [DEPOSIT CHARS IN CINC   
9DQL          BCHX  3  £
9F==          ADN   0  1                   [UPDATE COUNT IN CINC
9FPW          SRL   6  6                   [GET NEXT CHAR   
9G9G          BCT   1  XPON 
9GP6          LDX   1  FX1  
9H8Q          BRN      X200 
9HNB    X300  LDCH  6  0(2)                [THIS ROUTINE
9J82          BCT   7  £
9JML          BCHX  2  £                   [SEARCHES THROUGH
9K7=          TXU   6  SPACE(1)            [LABEL AND VERB  
9KLW          BCS      X300 
9L6G    X200  LDCH  6  0(2)                [LHIS
9LL6          BCT   7  £
9M5Q          BCHX  2  £                   [ROUTINE 
9MKB          TXU   6  SPACE(1)            [FINDS   
9N52          BCC      X200                [THE LABEL   
9NJL          TXL   6  TEN(1)   
9P4=          BCS      X300 
9PHW          ADN   7  1
9Q3G          BRN      X650 
9QH6    X500  LDCH  6  0(2) 
9R2Q          BCHX  2  £                   [THIS ROUTINE
9RGB          TXU   6  SPACE(1)            [STORES  
9S22          BCC      X400                [THE 
9SFL    X650
9S^=          DCH   6  0(3)                [VERB
9TDW          BCHX  3  £                   [IN CINC 
9TYG          ADN   0  1
9WD6          BCT   7  X500 
9WXQ    X400
9XCB          SMO      FX2  
9XX2          LDX   2  EXT+6
9YBL          SMO      BPTR(2)  
9YW=          LDEX  7  CPBCPLEV            [GET CPLEVEL 
9^*W          TXU   7  5
9^TG          BCS      XQ   
=2*6          LDX   7  0
=2SQ          OUTPARAM 7,A1,COMDAT,CINC    [OUTPARAM THE CINC   
=3#B          VFREEW   COMDAT,CINC  
=3S2    POOD
=3WK ...#UNS G400   
=3^8 ...(   
=43R ...      DOLPMON  6
=46B ...      DOSPMON   
=48^ ...)   
=4?L          MONOUT   BROKIN              [OUTPUT MESSAGE  
=4DS ...#UNS G400   
=4L2 ...      DORPMON  6
=4R=          STOZ     JOBEVENTS(2)        [ZEROISE  JOBEVENTS  
=5QG          BRUSEN   X
=6=6          CJOBLOCK 3
=6PQ          LDX   6  MASKBRK(1)   
=79B          ANDS  6  JMISC(3)            [ENSURE BREAKIN MARKER CLEAR 
=7P2    X     BNZ   5  PFREEONE 
=88L          LDX   5  CPLEV(2) 
=8N=          ADN   5  1
=97W          STO   5  CPLEV(2) 
=9MG          DEX   5  EXT+10(2)           [ STORE CLEANUP LEVEL
==76          ORX   4  GSIGN
==LQ          LDX   6  MASKD(1) 
=?6B          ERS   6  CONTEXT(2)          [RESET CONTEXT BITS  
=??J ...#UNS G400   
=?DQ ...      LDN   7  0       [MARKER FOR COMPRO   
=?L2 ...      ACROSS   COMPROA,2
=#5L    PFREEONE
=#K=          CLEANUP  5,3  
=*4W          LDX   5  EXT+3(2)            [COUNT OF I.ISS LEVELS CLEARED   
=*JG          BZE   5  NOII 
=B46    NAGAIN  
=BHQ          FREELINK                     [FREE I.ISS LINK 
=C3B          BCT   5  NAGAIN   
=CH2    NOII
=D2L          MHUNTW   2,CLB
=DG=          STOZ     CLBPTNECHA(2)
=D^W          SMO      FX2  
=FFG          LDX   5  EXT+10   
=F^6          ANDN  5  #7777               [RETAIN TOP BREAK-IN LEVEL   
=GDQ          SMO      FX2  
=GYB          STO   5  CPLEV               [RESET CP LEVEL  
=HD2          BRN      READ 
=HXL    TBREAK  
=JC=                   +AFTER   
=JWW                   +0   
=KBG                   +BEFORE  
=KW6                   +ABAND   
=L*Q                   +JURING  
=LTB    [   S/R  TO FIND A WHENEVER LEVEL OR AN INT-ISSUED LEVEL
=M*2    [   ON ENTERING S/R  X4 IS 0,1 OR -VE   
=MSL    [   IF X4=0 ,ON FINDING MACRO LEVEL WITH NO WHENEVER SET BRK-IN CHAR IN 
=N#=    [           EXT+10 IS SET TO 3 I.E. BRK-IN BEFORE. THIS IS FOR CASE OF  
=NRW    [           BRK-ING IN ON PROG.ISSUED MACRO.  - W/BRK CASE  
=P?G    [   IF X4=1 ,THIS MEANS ABOVE SEARCH IS OMITTED , AND ALSO ONLY SPEC.   
=PR6    [           INT.ISSUED LEVELS CAUSE EXIT I.E. THOSE WITH BRK-IN LABEL-  
=Q=Q    [           THIS IS BECAUSE FINISH CAUSES BRK-IN AND SO MUST RETURN TO  
=QQB    [           THE BRK-IN LABEL BEFORE TAKING W/FINISH ACTION AT A HIGHER  
=R=2    [           LEVEL                    - W/FINISH CASE
=RPL    [   IF X4 IS -VE THIS IS COMERR CASE SO EXIT AT WHENEVER OR ANY INT ISS 
=S9=    [           LEVEL.  
=SNW    SEEKLEV 
=T8G          LDX   2  FPTR(2)  
=TN6          LDX   0  ATYPE(2) 
=W7Q          SRL   0  12                  [ FIND NEXT CPB/CALAS
=WMB          ERN   0  CPB+CALAS           [ BLOCK  
=X72          BNZ   0  SEEKLEV  
=XLL          LDEX  6  CPBCPLEV(2)         [ISOLATE CP LEVEL
=Y6=          LDCT  5  #600 
=YKW          ANDX  5  CPBCPLEV(2)         [ISOLATE INT ISS BITS
=^5G          BZE   6  SEEK1               [J IF ZERO LEVEL REACHED 
=^K6          BPZ   5  SEEK2               [J IF NOT INT ISSUED 
?24Q          BNG   4  SEEK3               [J IF WANT TO EXIT FOR ANY I.I. LEV. 
?2JB          SLL   5  1
?342          BPZ   5  SEEKLEV             [J IF II.LEVEL HAS NO BRK-IN LABEL   
?3HL    SEEK3 EXIT  7  1                   [I.ISS. EXIT 
?43=    SEEK2   
?4GW          LDX   0  CPBFSD(2)
?52G          BPZ   0  SEEK4               [J IF MACRO LEVEL
?5G6    SEEK1 EXIT  7  0                   [NO WHEN/INT ISS LEVEL   
?5^Q    SEEK4   
?6FB          CALL  5  WHENEVER            [SEARCH FOR WHENEVER 
?6^2          EXIT  7  2                   [WHENEVER FOUND  
?7DL          BNZ   4  SEEKLEV             [J IF NOT W/BRK CASE 
?7Y=          SMO      FX2  
?8CW          LDX   0  CONTEXT  
?8XG          SMO      FX1  
?9C6          ANDX  0  MASKPI   
?9WQ          BZE   0  SEEKLEV  
?=BB          LDN   0  3
?=W2          LDX   3  FX2                 [ RESET TO BROKEN
??*L          DCH   0  EXT+10(3)           [  IN BEFORE 
??T=          BRN      SEEKLEV             [PROG. ISSUED MACRO  
?##W    #   
?#SG    [   S/R TO SEARCH FOR A WHENEVER BLOCK OF THE SAME TYPE AS HELD IN  
?*#6    [   AWORK1  
?*RQ    [   ON ENTRY TO S/R X2 POINTS TO A CPB/CALAS AT A MACRO LEVEL   
?B?B    #   
?BR2    WHENEVER
?C=L          LDX   3  FPTR(2)  
?CQ=          LDN   1  JWHEN               [POSS NO. OF WHENEVER BLOCKS 
?D9W    WHEN1   
?DPG          LDX   3  FPTR(3)  
?F96          LDX   0  ATYPE(3) 
?FNQ          SRL   0  12   
?G8B          SMO      FX2  
?GN2          TXU   0  AWORK1   
?H7L          BCS      WHEN2               [J IF NOT REQ. TYPE  
?HM=          EXIT  5  0                   [WHENEVER FOUND  
?J6W    WHEN2   
?JLG          ERN   0  CPB+CALAS
?K66          BZE   0  WHEN3               [J IF NEXT /CALAS REACHED
?K7H          FSHCODE AORB  
?K8Y    (   
?K=*    #   
?K?Q    #     FOR SHARED FILESTORE WE CANNOT GUARANTEE THAT THERE WILL NOT  
?K*7    #     BE ANY SPURIOUS BLOCKS BETWEEN THE CLB ANY ANY 'WHENEVER' BLOCKS  
?KBJ    #     SO WE ALWAYS SEARCH UP TO THE NEXT CPB?CALAS BLOCK.   
?KC^    #   
?KFB          BRN      WHEN1
?KGR    )   
?KJ8          FSHSKIP   
?KKQ          BCT   1  WHEN1               [-SO SEARCH MUST STOP
?L5B    WHEN3   
?LK2          EXIT  5  1                   [NO WHENEVER FOUND   
?M4L    #   
?MJ=    [  S/R  TO FIND WHENEVER BLOCK (TYPE IN AWORK1) AND RENAME IT   
?N3W    [  AN ADATA/CREADL BLOCK. X2 MUST = FX2 
?NHG    #   
?P36    SETCREADL   
?PGQ          LDX   0  AWORK1(2)
?Q2B          SLL   0  12   
?QG2          MHUNTX   3,0  
?Q^L          NAME     3,ADATA,CREADL   
?RF=          CHAIN    3,FX2
?RYW          EXIT  7  0
?SDG    #   
?SY6    [     S/R TO CLEAR THE BREAKIN BITS 
?TCQ    [     X2 MUST POINT TO FX2  AND X1 MUST =FX1
?TXB    [     BROKIN MACRO WHICH CLEARS MOP BREAKIN BIS IS ONLY ISSUED  FOR 
?WC2    [     PHYSICAL BRK-IN ON MOP CONSOLE.   
?WWL    #   
?XB=    TCLEAR  
?XTW          LDX   2  FX2  
?Y*G          STOZ     JOBEVENTS(2)        [CLEAR BRK-IN WORD IN CPAT   
?YT6    #SKI  ANOUSER   
?^#Q          BRUSEN   YNOUSER  
?^SB          FJOCA    3,2                 [FIND THE JOBBLOCK   
#2#2          LDX   1  FX1  
#2RL          LDX   6  MASKBRK(1)   
#3?=          ANDS  6  JMISC(3)            [CLEAR BRK-IN BIT IN JOBBLOCK
#4=G    YNOUSER 
#4Q6          BNG   4  TCL1                [J IF W/FINISH CASE  
#59Q          SBX   7  FX1  
#5PB          BROKIN                       [CLEAR MOP BRK-IN BITS.  
#692          ADX   7  FX1  
#6NL    TCL1
#78=          EXIT  7  0
#7MW    #   
#87G    [     S/R  FOR CLEANING UP TO CPLEVEL GIVEN IN X6 AND RESETTING CPLEV   
#8M6    [  IN MOST S/R MUST ALSO CHECK FOR I.I LEVELS CLEARED OUT & OBEY A  
#96Q    [  FREELINK FOR EACH ONE
#9LB    TCLEAN2 
#=62          LDN   1  0
#=KL          LDN   6  0
#?5=    TCLEAN1 
#?JW          ORX   4  GSIGN               [MARK LINK TO CHECK FOR I.I.LEVELS   
##4G    TCLEAN  
##J6          SBX   4  FX1  
#*3Q          CLEANX   6,1                 [CLEANUP CPAT CHAIN  
#*HB          STO   6  CPLEV(2) 
#B32          BPZ   4  TCLEAN6             [J IF NO NEED TO CHECK FOR I.I.LEVELS
#BGL          LDX   6  EXT+3(2)            [COUNT OF I.I.LEVS FREED 
#C2=          BZE   6  TCLEAN5  
#CFW    TCLEAN4 
#C^G          FREELINK  
#DF6          BCT   6  TCLEAN4  
#DYQ    TCLEAN5 
#FDB          ERX   4  GSIGN               [UNSET B0
#FY2    TCLEAN6 
#GCL          ADX   4  FX1  
#GX=          EXIT  4  0
#HBW    #   
#HWG    [   S/R FOR REDUCING CPLEV AND RESETTING AMFMSK FOR THE HIGHER LEVEL
#JB6    [   IN MOST  CASES S/R ALSO FREES CPB/CALAS AND CLB PAIR - ON ENTRY 
#JTQ    [   X2 POINTS TO /CALAS AND X3 TO CLB   
#K*B    #   
#KT2    UPLEV FREECORE 2                   [FREE /CALAS 
#L#L          FREECORE 3                   [FREE CLB
#LS=    UPLEV1  
#M?W          LDN   6  1
#MRG          SBS   6  CPLEV(2)            [REDUCE CPLEV BY 1   
#N?6          MHUNTW   3,CPB,CALAS  
#NQQ          LDX   6  CMFMSK(3)           [ RESET AMFMSK TO CMFMSK AT CURRENT  
#P=B          STO   6  AMFMSK(2)           [ NEW LEVEL  
#PQ2          EXIT  5  0
#Q9L    #   
#QP=    [     S/R TO FREE COMDAT/CBUFF AND CLEAR THE MULTILINERY BIT
#R8W    #   
#RNG    MCLEAR  
#S86          BBUS     2,EXT+11(2),NOMUL   [ SKIP IF NOT MULTILINERY
#SMQ          HUNTW    3,COMDAT,CBUFF      [ IF NO BLOK, ML BIT MAY STILL BE SET
#T7B          BNG   3  NFND                [   EG ON ABANDONING, SO J TO CLEAR I
#TM2          FREECORE 3                   [ FREE COMDAT/CBUFF BLOC 
#W6L    NFND  LDCH  4  EXT+11(2)           [ CLEAR MULTILINERY BIT  
#WL=          ANDN  4  #67  
#X5W          DCH   4  EXT+11(2)
#XKG    NOMUL EXIT  5  0
#Y56    #   
#YJQ          MENDAREA 50,K99COMPROB
#^4B    #END
^^^^ ...21510611000500000000
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1