RELPER867

(George Source)

Macros used: ALTLEN, CAPCA, CHAIN, CJOBLOCK, CLCOUNT, CLHLFDON, DECANTCT, DOWN, FINDACTFB, FINDLINK, FINDPUC, FINDTP, FJOCA, FPCACA, FPCAJO, FREELINK, FREEPER, GEOPACK, HLSINFORM, HUNT2, HUNT2J, HUNTW, INFORM, JCAFSDV, JENVNOT, JEXOTIC, JNREALT, JOBLOCK, LADDP, LFAILS, LGEOG, LGPERIS, LOBJPERIS, LOCK, LREPEATS, LTYPE, MENDAREA, MONOUT, MONOUTX, MTPTR, MURDER, NIPREL, OFF, ORELP, OUTBLOCN, OUTNULL, OUTPACKC, OUTPARC, PCATEST, RELPERI, RUNPROG, SEGENTRY, SETELOG, SETNCORE, SETREP, STARTACT, TESTRCTP, TOPCA1, TRACE, UNITOFF, UNPLUG, UP, YUNITOFF

RELPER867.txt
22FL    #SEG  RELPER                       [JOHN BAILEY.
22PD ...# (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982.   
22^=    #LIS  K0RELPER>K0PUTPER>K0ALLGEO
23DW          8HRELPER80
23YG    #OPT  K6RELPER=K6ALLGEO 
24D6    #   
24XQ          SEGENTRY K1RELPER,SK1RELPER   
25CB    #SKI  ARETLO
25X2          SEGENTRY K11RELPER,SK11RELPER 
26BL          SEGENTRY K2RELPER,SK2RELPER   
26W=          SEGENTRY K3RELPER,SK3RELPER   
27*W          SEGENTRY K31RELPER,SK31RELPER 
27TG    #   
28*6    #   
28SQ    #     THIS SEG IMPLEMENTS RELPERENT,RELOFP AND PERCOUNT MACROS  
29#B    # FIRSTLY,RELPERENT AND RELOFP  
29S2    # ON ENTRY TO THIS SEGMENT,THE PRB BLOCK IS HUNTED FOR AND WHEN FOUND   
2=?L    # A CHECK IS MADE THAT THE ENTRY TO BE CHECKED OR DELETED IS IN THE PRB 
2=R=    # AN ERROR INDICATOR IS SET IF IT IS NOT AND THE ROUTINE GOES UP
2?=W    # IF THE ENTRY IS TO BE RETAINED,THEN THE ROUTINE SETS THE REPLY WORD   
2?QG    # AND GOES UP   
2#=6    # OTHERWISE THE PRB ENTRY IS DELETED,AND IF THE PERI ASSOCIATED WITH IT 
2#PQ    # WAS ONLINE THEN THE PERI WILL BE DISENGAGED(IF AN INPUT DEVICE)AND
2*9B    # FREED(EITHER) 
2*P2    # OTHERWISE THE ROUTINE WILL GO DOWN TO THE APPROPRIATE ROUTINE TO DEAL 
2B8L    # WITH THE CLOSING OF THE FILE AND ON CONTROL RETURNING TO THIS ROUTINE 
2BN=    # IN EITHER CASE THE REPLY WORD WILL BE SET AND THE ROUTINE WILL GO UP  
2C7W    #   
2CMG    # SECONDLY PERCOUNT MACRO : ONLY LOGGING MESSAGES O/P.  
2D76    #   
2DK8    # AWORK4 IS USED AS A MARKER: B0 =1 => RELOFP   
2F3=    #                             B0 =0 => RELPER   
2FF#    #                             B1 =1 => RELPER ALL   
2FXB    #                             B2 =1 => PERCOUNT 
2G*D    #                             B3 =1 => PERCOUNT ALL 
2GRG    #                             B4 =1 => THIS PER IS BEING KEPT   
2H9J    #                             B5 =1 => ENGINEERS' MESSAGE (227).
2HML    #                             B22=1 => RETAIN REGARDLESS
2J5N    #                             B23=1 => RETAIN IF KEEP MARKER SET
2JHQ    #   
2K3B    #   
2K3Q ...#UNS  JWPHASE4  
2K46 ...(   
2K4G ...TELLHLS 
2K4W ...[                    TELL HLS WHEN REAL PERIPH. RELEASED
2K5= ...[   
2K5L ...[ ON ENTRY X2=FX2. CALL ON X6. USES X0,X1,X2,X7 
2K62 ...[   
2K6B ...      SBX   6  FX1  
2K6Q ...      HLSINFORM (GEOERR),RELEASE,JOBNO(2),,SETSUP   
2K76 ...      ADX   6  FX1  
2K7G ...      EXIT  6  0
2K7W ...[   
2K8= ...[ NOTE - HLSINFORM CALLS SETSUP 
2K8L ...[   
2K92 ...[ SETSUP IS USED BY HLSINFORM TO SET UP AN ADATA-GSUP. IT RETURNS   
2K9B ...[ TO THE ROUTINE WHICH CALLED TELLHLS TO GET MORE INFORMATION.  
2K9Q ...[ THIS ROUTINE WILL RETURN TO RESUP.IT MUST NOT CORRUPT X7  
2K=6 ...[   
2K=G ...[  NOTE - ALL RFERENCES TO ADATA-GSUP IN COMMENTS REALLY MEAN ADATA-ASUP
2K=W ...[   
2K?= ...SETSUP  
2K?L ...      SBX   7  FX1  
2K#2 ...      SETNCORE 3,1,ADATA,ASUP   
2K#B ...      LDX   0  4
2K#Q ...      SRL   0  15                   [GET DEV. TYPE  
2K*6 ...      STO   0  A1(1)                [AND STORE IN GSUP  
2K*G ...      SMO      FX1  
2K*W ...      EXIT  6  1                    [RETURN TO ROUTINE WHICH CALLED TELL
2KB= ...[   
2KBL ...[   
2KC2 ...[ RESUP FINISHES OFF GSUP. IT THEN RETURNS TO HLSINFORM.
2KCB ...[ ON ENTRY X0=GEOG. NO., X1 POINTS AT GSUP, AND X2=TSN OR CSN OR ZERO   
2KCQ ...[   
2KD6 ...RESUP   
2KDG ...      STO   0  A1+1(1)                 [STORE GEOG NO.  
2KDW ...      STO   2  A1+2(1)                [STORE TSN OR CSN 
2KF= ...      ADX   7  FX1  
2KFL ...      EXIT  7  0                     [RETURN TO HLSINFORM   
2KG2 ...[   
2KGB ...)   
2KH2    #   
2L2L    # SUBROUTINE TO OUTPUT LOGGING MESSAGE: IDENTIFIER IN LOCATION AFTER CAL
2LG=    #     X5 IS -VE  IF OFFLINE 
2L^W    #     EXPECTS X4 TO HAVE PERINAME/GEOPER,AWORK2 TO HOLD TRANSFER CT 
2MFG    #   
2M^6    RM1   LDX   3  AWORK2(2)
2NDQ          BZE   3  XIT1                [DONT BOTHER IF NO TRANSFERS 
2NYB    RM1A  LDX   5  GSIGN               [OFFLINE MARKER  
2PD2          SBX   6  FX1  
2PXL          OUTPACKC 4,1,PERINAME        [O/P PERI NAME   
2QC=          BRN      MEET 
2QWW    RM    LDX   3  AWORK2(2)
2RBG          BZE   3  XIT1                [DONT BOTHER IF NO TRANSFERS 
2RW6    RMA   SBX   6  FX1  
2S*Q          LGEOG    5,4  
2STB          GEOPACK  4,4,4
2T*2          OUTPACKC 4,1,GEOPER   
2TSL    MEET  OUTPACKC AWORK2(2),1,TRANSCT [OUTPUT TRANSFER COUNT   
2TWT    #SKI  JSKI06                       [ENHANCEMENT NO. 8001 (B).   
2T^4    (   
2W3?          LDCT  0  #010 
2W5G          ANDX  0  AWORK4(2)           [OUTPUT TIME IF ENGINEERS' MESS.(227)
2W7P          BNZ   0  XXX  
2W9Y    )   
2W#=          LDCT  0  #160 
2WRW          ANDX  0  AWORK4(2)
2X?G          BNZ   0  RETN                [IF PERCOUNT/RETAINED : NO TIME  
2XR6    XXX   OUTPARC  TIMENOW  
2Y=Q    RETN  BNG   5  NONE                [J IF OFFLINE
2YQB          LREPEATS 5,3  
2YXJ    #SKI  JSKI06<1$1
2^4Q    (   
2^=2          LFAILS   5,0  
2^PL          BNZ   3  SOME 
329=          BZE   0  NONE                [DONT BOTHER IF BOTH ZERO
32NW    SOME  OUTPACKC 3,1,REPEATS  
338G          LFAILS   5,3  
33N6          OUTPACKC 3,1,FAILCT          [OUTPUT COUNTS   
33P3    )   
33PY    #SKI  JSKI06                       [ENHANCEMENT NO 8001 (B).
33QT    (   
33RQ          LFAILS   5,4  
33RS ...      HUNTW    2,ADATA,ELOUT
33RW ...      BNG   2  NOEL                [J IF NO ERROR LOG BLOCK 
33RY ...      STO   3  ELHEADER+11(2)   
33S2 ...      BZE   4  NOEL                 [J IF NO FAILS TO LOG   
33S4 ...      STOZ     3
33S6 ...      SLL   34 16   
33S8 ...      STO   3  ELHEADER+12(2)       [INSERT FAIL COUNT IN LOG   
33S= ...      ORS   4  ELHEADER+13(2)   
33S? ...      SRL   34 16   
33S# ...      LREPEATS 5,3  
33SB ...NOEL
33SD ...      LDX   2  FX2  
33SM          BNZ   3  SOME 
33TJ          BZE   4  NONE                [EXCLUDE BOTH IF ZERO
33WF    SOME  OUTPACKC 3,1,REPEATS  
33XB          OUTPACKC 4,1,FAILCT   
33Y? ...      LDCT  0  #010 
33^8          ANDX  0  AWORK4(2)
3425 ...      BZE   0  NONE                [J. IF NOT RELEASE OR PERIODIC REPORT
3432          DECANTCT 5,3,REPEAT          [RESET REPEATS COUNT.
343X          DECANTCT 5,4,FAIL            [RESET FAILS COUNT.  
344S          INFORM   1,JSDREP,1,7        [SEND ALSO TO OPS' CONSOLE.  
345P          BRN      XIT  
346L    )   
347Q    NONE  LDCH  0  AWORK4(2)
34MB          ADX   1  6
3572          ANDN  0  4
35LL          BZE   0  UNKP                [J IF NOT PRFGRESS REPORT
366=          MONOUTX  0(1),7              [X7 HAS JOBNO
36KW          BRN      XIT  
375G    UNKP  MONOUTX  0(1) 
377P ...XIT 
379Y ...      HUNTW    1,ADATA,ELOUT
37#7 ...      BNG   1  NOCHAN   
37BB ...      LDX   2  BELOGACT 
37DK ...      LDX   3  ACTRING(2)   
37GS ...      SBN   3  ACTRING  
37K3 ...      LDX   3  BPTR(3)  
37M= ...      CHAIN    1,3  
37PF ...      STARTACT ELOG 
37RN ...      LDX   2  FX2  
37TX ...NOCHAN  
37Y6 ...      LDX   1  FX1  
382* ...      ADX   6  1
384Q    XIT1  EXIT  6  1
38JB    #   
3942    #     THIS SUBROUTINE FINDS REQUIRED/NEXT ENTRY 
39HL    #     EXPECTS X2=FX2,ACOMMUNE7 = PER TYPE/UNIT NO OR -VE IF ALL ,X3->PCA
3=3=    #     IF ALL,REL PTR IN AWORK3  
3=GW    #     LINK  X4,X6 WILL CONTAIN COUNT OF OFFLINE PERIS,  
3?2G    #     X5 WILL CONTAIN SECOND INFORMATION WORD   
3?G6    #     X1 WILL -> START OF PRB ON EXIT   
3?^Q    #     EXITS +0 IF END OF BLOCK FOUND BEFORE ENTRY IS
3#FB    #     EXITS +1 IF ENTRY FOUND   
3#^2    PHIND HUNT2    3,APERI,APERIRES 
3*DL    PHIND1  
3*Y=          LDX   1  3
3BCW          ADX   3  AWORK3(2)           [UPDATE BY REL PTR   
3BXG    P2    LDX   0  A1(3)
3CC6          BNG   0  P1A                 [J IF END
3CWQ          LDX   5  A1+1(3)  
3DBB          ERX   0  ACOMMUNE7(2) 
3DW2          BZE   0  P4A  
3F*L          BNG   0  P4A                 [J IF FOUND  
3FT=          BPZ   5  P3   
3G#W          ADN   6  1                   [UPDATE COUNT
3GSG    P3    BDX   3  P2                  [UPDATE PTR  
3H#6    P1A   EXIT  4  0
3HRQ    P4A   EXIT  4  1
3J?B    #   
3JR2    P1  
3K=L    #SKI  K6ALLGEO>99-99
3KQ=          TRACE    4,RELP NO
3L9W          BRN      RUNUP
3LPG    #   
3M96    #     ENTRY POINT FOR RELOFP MACRO = UNPLUG + RELPER + RUNPROG  
3MNQ    #   
3N8B    SK2RELPER   
3NN2          LDX   4  ACOMMUNE7(2)        [PICK TYPE/UNIT NUMBER   
3P7L          FINDLINK 3                   [PTR -> LINK IN X3   
3PM=          FREELINK                     [LINK BLOCK TO PREVIOUS STATE
3Q6W          TOPCA1   ALINK1(3)           [LEAVE OPLA'S LINK -> INST AFTER DOWN
3QLG          UNPLUG   2                   [ALWAYS COMES BACK   
3R66          CAPCA                        [RETURN TO CPA   
3RKQ          STO   4  ACOMMUNE7(2) 
3S5B          STOZ     ACOMMUNE8(2) 
3SK2          STOZ     ACOMMUNE9(2) 
3T4L          LDCT  0  #400 
3TJ=          STO   0  AWORK4(2)           [INDICATE K2 ENTRY   
3W3W          BRN      XJOIN
3WHG    #SKI  ARETLO
3X36    (   
3XGQ    #   
3Y2B    #     ENTRY POINT FOR RELPER MACRO  
3YG2    #   
3Y^L    SK11RELPER  
3^F=          LDCT  0  #200 
3^YW          STO   0  AWORK4(2)           [SET MARKER  
42DG          LDX   0  GSIGN
42Y6          STO   0  ACOMMUNE7(2)        [ALL MARKER  
43CQ          BRN      XJOIN
43XB    )   
44C2    SK1RELPER   
44WL          STOZ     ACOMMUNE8(2) 
45B=          STOZ     AWORK4(2)           [K1 ENTRY
45TW    XJOIN LDX   0  ACOMMUNE8(2) 
46*G          ORS   0  AWORK4(2)           [KEEP MARKERS,1=>KEEP,2=> KEEPALL
46T6    UNRET STOZ     AWORK3(2)           [CLEAR RELATIVE POINTER  
47#Q          LDN   6  1                   [INITIALISE OFFLINE COUNT
47SB          FPCACA   3,2                 [FIND THE PCA.   
48#2    #   
48RL    REL 
49?=    #SKI  ARETLO
49QW    (   
4==G          LDEX  7  AWORK4(2)
4=Q6          SBN   7  1                   [0 IF KEEP,-VE IF NONE,+VE IF KEEPALL
4?9Q    )   
4?PB          CALL  4  PHIND
4#92          BRN      P1                  [J IF NOT FOUND  
4#NL    [   
4*8=    P4    LDX   4  A1(3)               [TYPE / UNIT NUMBER  
4*MW          BPZ   5  P7                  [J. IF ONLINE
4B7G    #SKI  ARETLO
4BM6    (   
4C6Q          LDX   1  FX2  
4CLB          BNG   7  P7A                 [J IF NOT TO BE KEPT 
4D62          LDX   5  6
4DKL    TOUR  FINDACTF 2,,AOLPT,,,FPTR  
4F5=          BCT   5  TOUR                [FIND OLPA   
4FJW    )   
4G4G          LDX   5  6
4GJ6          ORX   5  GSIGN
4H3Q    #SKI  ARETLO
4HHB    (   
4J32          LDXC  0  ARETAIN(2)   
4JGL          BCS      PHOUND              [J IF KEEP MARKER SET
4K2=          BZE   7  P7A                 [NOT KEPT UNLESS KEEPALL 
4KFW          LDX   0  ATMARK(2)           [NOW TEST IF KEEPABLE
4K^G          BZE   0  PHOUND              [OK IF 0 
4LF6          SBN   0  3
4LYQ          BNZ   0  P7A                 [OR 3
4MDB    PHOUND  
4MY2          LDX   0  ACOUNT(2)
4NCL          SBX   3  1
4NX=          ADN   3  2
4PBW          LDX   2  FX2  
4PWG          STO   0  AWORK2(2)
4QB6          STO   3  AWORK3(2)           [KEEP RELATIVE POINTER   
4QTQ          ADN   6  1
4R*B          STO   6  AWORK1(2)           [KEEP OFFLINE COUNT  
4RT2          LDCT  0  #20  
4S#L          ORS   0  AWORK4(2)           [SET RETAIN THIS PER BIT 
4SS=          CALL  6  RM1  
4T?W          +JREL2                       [OFFLINE RETAINED
4TRG          BRN      RUNUP
4W?6    )   
4WQQ    #SKI  ARETLO<1$1
4X=B          BRN      P7A  
4XQ2    #   
4Y9L    P7    LOBJPERIS 5,6                [GET EXEC'S SCHEDULING COUNT 
4YP=          STO   6  AWORK2(2)           [SAVE COUNT  
4^8W    P7A   LDX   0  A1+2(3)             [DELETE THE ENTRY.   
4^NG          STO   0  A1(3)
5286          BNG   0  P8                  [BRANCH IF END OF BLOCK REACHED  
52MQ          LDX   0  A1+3(3)             [DELETE 2ND WORD OF ENTRY
537B          STO   0  A1+1(3)  
53M2          BDX   3  P7A                 [UPDATE PTR. & J. TO CONTINUE DELETIO
546L    [   
54L=    P8    LDX   3  ALOGLEN(1)          [GET LOGICAL LENGTH  
555W          SBN   3  2
55KG          LDX   6  1
5656          ALTLEN   6,3                 [DECREASE LOGICAL LENGTH BY 2
56=# ...      SEGENTRY   JKCRELPER      [TO NULL BRANCH IN RELPERI  
56CG ...      RELPERI  4                   [FOR KEPT CHAPTERS   
56JQ          FPCACA   3,2                 [RELOCATE PCA.   
574B    P8A   FJOCA    1,2                 [FIND JOB BLOCK. 
57J2          TESTRCTP 1,P6                [J. IF TRUSTED PROGRAM.  
583L          BRN      P9   
58H=    P6    FINDPUC  3,1                 [FIND PUC'S PCA  
592W          LDN   0  2
59GG          SBS   0  APRB(1)             [UPDATE POINTER TO LAST REC IN TP PRB
5=26    #   
5=FQ    P9  
5=^B    #SKI  K6ALLGEO>99-99
5?F2          TRACE    4,RELPYES
5?YL          BNG   5  P10                 [J. IF OFFLINE   
5#D=    #   
5#XW    #     RELEASE ONLINE PERIPHERAL 
5*CG    #   
5*JN ...#UNS  JWPHASE4  
5*PW ...#SKI
5*X6    P9A   LDX   7  ACOMMUNE9(2)        [PRESERVE FOR LOWER ROUTINES 
5*XQ ...#UNS  JWPHASE4  
5*YB ...(   
5*^2 ...P9A   LDX   3  ACOMMUNE9(2)             [SAVE FOR LOWER ROUTINES
5*^L ...      CALL  6  TELLHLS  
5B2= ...      BRN      ZLS1 
5B2W ...[                                        HLSINFORM FINISHED - GO TO ZLS1
5B3G ...[   
5B46 ...[ GET MORE DATA FOR GSUP
5B4Q ...[   
5B5B ...      LTYPE    5,2  
5B62 ...      SBN   2  5
5B66 ...#UNS AR1
5B6= ...(   
5B6B ...      CLHLFDON 5
5B6G ...)   
5B6L ...      BNZ   2  NMTLS                     [J IF NOT MT   
5B7= ...      LADDP    5,2                      [GET APIA ENTRY 
5B7W ...      BNG   2  NMTLS                    [J IF NONE  
5B8G ...      SMO      2
5B96 ...      LDX   2  2
5B9Q ...[                                       GET TSN 
5B=B ...      BRN      YMTLS
5B?2 ...NMTLS LDN   2  0                        [ZERO IF NO TSN 
5B?L ...YMTLS LGEOG    5,0  
5B#= ...[                                      GET GEOG NUMBER  
5B#W ...      BRN      RESUP                  [FINISH GSUP  
5B*G ...ZLS1  LDX   7  3
5BB6 ...)   
5BBQ          OUTBLOCN 10                  [SET UP PARAMETER BLOCK  
5BWB          CALL  6  RMA                 [OUTPUT LOGGING MESSAGE  
5CB2          +JREL1                       [ONLINE RELEASED 
5CTL ...      JNREALT  5,P9B               [J IF REALTIME NOT NEEDED FOR THIS DE
5D*= ...      CJOBLOCK 1                   [FIND THE JOB BLOCK. 
5FS6          LDN   0  1
5G?Q          SBS   0  AEXCO(1)            [SUBTRACT 1 FROM CT OF RT PERIPHERALS
5GRB    P9B   LTYPE    5,6                 [PER TYPE TO X6  
5H?2          STO   7  ACOMMUNE9(2)        [RESET INFORMATION   
5HQL          SBN   6  5                   [MAGNETIC TAPE TYPE  
5J==          BZE   6  P16                 [BRANCH IF YES.  
5JPW          JEXOTIC  5,P9D               [NOT IN IDF IF EXOTIC
5K9G          SBN   6  5                   [J. IF NOT A MULTIPLEXOR OR UNIPLEXOR
5KP6          STO   5  ACOMMUNE1(2)        [PTR., FOR UNITOFF OR YUNITOFF MACRO 
5L8Q          BZE   6  P9C  
5LNB          SBN   6  1
5M82          BZE   6  P9C  
5MML          SBN   6  13                  [AND NOT IPB.
5N7=          BNZ   6  P9D  
5N=B ...#UNS  IDFMARK8  
5N*G ...      YUNITOFF  (GEOERR)                     [FREE IPB IN IDF   
5NDL ...#UNS IDFMARK8   
5NHQ ...#SKI
5NLW          YUNITOFF                     [FREE IPB IN IDF 
5P6G          BRN      P9D  
5P9L ...#UNS  IDFMARK8  
5P#Q ...P9C   UNITOFF  (GEOERR)                      [FREE PLEXOR IN IDF
5PCW ...#UNS  IDFMARK8  
5PH2 ...#SKI
5PL6    P9C   UNITOFF                      [FREE PLEXOR IN IDF  
5Q5Q    P9D   STO   5  CPPTR(2) 
5QKB          FREEPER                      [FREE OL PER 
5R52    #SKI  ARETLO
5RJL    (   
5S4=    PUP   LDCT  0  #200 
5SHW          ANDX  0  AWORK4(2)
5T3G          BNZ   0  MORE                [J IF RELPER ALL 
5TH6    PUP1  SETREP   OK   
5W2Q          LDCT  0  #20  
5WGB          ANDX  0  AWORK4(2)
5X22          BNZ   0  SET                 [J IF LAST ONE KEPT  
5XFL          LDCT  0  #200 
5X^=          ANDX  0  AWORK4(2)
5YDW          BZE   0  UP                  [J IF NOT RELPER ALL 
5YYG          FPCACA   3,2  
5^D6          HUNT2    3,APERI,APERIRES 
5^XQ          LDX   0  ALOGLEN(3)   
62CB          BZE   0  UP                  [J IF NONE KEPT  
62X2    SET   SETREP   KEPT 
63BL    UP    UP
63W=    MORE  LDX   6  AWORK1(2)           [GET OFFLINE COUNT   
64*W          LDCT  0  #20                 [RETAIN THIS PER BIT 
64TG          ANDX  0  AWORK4(2)
65*6          ERS   0  AWORK4(2)           [CLEAR IT
65SQ          LDX   0  GSIGN
66#B          STO   0  ACOMMUNE7(2) 
66S2          FPCACA   3,2  
67?L          BRN      REL                 [GO ROUND AGAIN  
67R=    )   
68=W    #SKI  ARETLO<1$1
68QG    (   
69=6    UP  
69PQ    PUP   UP
6=9B    )   
6=P2    [   
6?8L    [OFFLINE PERIPHERAL RELEASE SECTION 
6?N=    [   
6#7W    P10   ANDN  5  #377                [OFF-LINE COUNT  
6#MG    P11   FINDACTFB 3,,AOLPT,,,FPTR    [FIND NEXTOFFLINE ACTIVITY BLOCK.
6*76          BCT   5  P11                 [J. IF NOT THE CORRECT BLOCK.
6*LQ          LDX   6  ACOUNT(3)           [GET THE SCHEDULING COUNT.   
6B6B          LOCK     3                   [LOCK THE 'OLPA' 
6BL2          SMO      ATMARK(3)           [SWITCH WORD.
6C5L          BRN      P12                 [BRANCH BY THE SWITCH WORD   
6CK=    [   
6D4W    [BRANCH TABLE   
6DJG    [   
6F46    P12   BRN      P13                 [FILE STORE OR PSEUDO O/L SLOW OUTPUT
6FHQ          BRN      P14                 [BACKING STORE   
6G3B          BRN      P15                 [OL MAG TAPE WITH OLPA   
6GH2          BRN      P17                 [PSEUDO ONLINE SLOW INPUT.   
6H2L          BRN      P18                 [COMMAND ISSUER  
6HG=    #SKI  G4
6H^W          NULL  
6JFG    #SKI  G3
6J^6          BRN      P19                 [CONCEPTUAL MULTIPLEXOR. 
6KDQ          BRN      P20                 [INTER-PROGRAM COMMUNICATOR  
6KYB          BRN      P21                 [CONCEPTUAL IPB  
6LD2          BRN      P22                 [ONLINE DRUM.
6LDG ...#UNS AV7900S
6LF2 ...      BRN      P23                 [VIRTUAL 7900.   
6LFG ...#UNS AV7900S
6LG2 ...#SKI
6LGG ...(   
6LH6 ...#SKI  JSKI04<1$1
6LL= ...      NULL  
6LPB ...#SKI  JSKI04
6LSG ...      BRN      P18                 [BULK COMMAND ISSUER.
6LW4 ...)   
6LX4 ...      BRN      P24                  [LPS14 - NIP
6LXL    [   
6MC=    P13   ORELP    3                   [RELEASE THE FILE-STORE PERIPHERAL   
6MWW          BRN      OUTM                [J. TO OUTPUT THE LOGGING MESSAGE.   
6NBG    [   
6NW6    P14   DOWN     CLOSBAC,2           [RELEASE BACKING STORE PERIPHERAL
6NW# ...#UNS  JWPHASE4  
6NWG ...(   
6NWN ...      STO   6  AWORK2(2)
6NWW ...      LDX   3  ACOMMUNE8(2)             [GET CSN
6NX4 ...      LDX   5  ACOMMUNE9(2)             [GET GEOG NO.   
6NX= ...      CALL  6  TELLHLS           [TELL HLS ABOUT RELEASE
6NXD ...      BRN      ZLS2                      [J IF HLSINFORM FINISHED   
6NXL ...[   
6NXS ...[ GET CSN AND GEOG NO. FOR GSUP 
6NY2 ...[   
6NY8 ...      LDX   2  3
6NYB ...      LDX   0  5
6NYJ ...      BRN      RESUP                      [GO TO FINISH GSUP
6NYQ ...ZLS2
6NYY ...)   
6N^= ...      LDX   0  4
6P4B ... SEGENTRY ADX   
6P7G ...      NULL  
6P=L ...      DLA   0  4
6P?= ...#UNS  JWPHASE4  
6P?W ...      BRN      OUTZ 
6P#G ...#UNS  JWPHASE4  
6P*6 ...#SKI
6P*Q          BRN      OUTM                [J. TO OUTPUT THE LOGGING MESSAGE.   
6PTB    [   
6Q*2    P15   MTPTR    3,5                 [GET POINTER TO MAG. TAPE DEVICE LIST
6QSL          MURDER   3                   [RELEASE THE OLPA.   
6R#=          STO   6  AWORK2(2)           [SAVE TRANSFER COUNT 
6RRW          BRN      P9A  
6S?G    P16   LDX   4  5                   [DEVICE LIST POINTER.
6SR6          DOWN     CLOSEMT,1           [RELEASE THE PERIPHERAL. 
6T=Q          UP
6TK7 ...P17 
6TXJ ...      MURDER   3                   [RELEASE THE OLPA
6W=2          BRN      OUTM                [J. TO OUTPUT THE LOGGING MESSAGE.   
6WPL    [   
6X9=    P18   DOWN     CIMOP,4             [RELEASE THE COMMAND CHANNEL 
6XNW          BRN      OUTM                [J. TO OUTPUT THE LOGGING MESSAGE.   
6Y8G    [   
6YN6    #SKI  G3
6^7Q    (   
6^MB    P19   DOWN     CONMXA,2 
7272          BRN      OUTM 
72LL    )   
736=    [   
73KW    P20   DOWN     IPCPERI,3           [RELEASE IPC 
745G          BRN      OUTM 
74K6    [   
754Q    P21   DOWN     CDCIPB,1            [RELEASE CONCEPTUAL IPB  
75JB          BRN      OUTM 
7642    [   
76=Y ...P22 
76FW ...      DOWN     DRUM,3   
76NS ...#UNS AV7900S
76W2 ...      BRN      OUTM 
773=    [   
775T ...#UNS AV7900S
778D ...(   
77?3 ...P23   DOWN     VIPBPERI,2          [RELEASE A VIRTUAL 7900 COMMS CHANNEL
77*L ...[   
77D9 ...)   
77DM ...      BRN      OUTM 
77F# ...[ IF NIP TYPE FH - THEN RELEASE FH  
77FH ...[ THIS MACRO NEVER EXITS FOR BREAKIN
77FQ ...P24 
77FS ...      LDX   0  ANIPSW              [J IF NOT LPS14 - NIP
77FW ...      BZE   0  P13  
77F^ ...      MURDER  3             [MURDER AOLPA   
77G8 ...      NIPREL   (GEOERR),4   
77GW    OUTM  STO   6  AWORK2(2)           [SAVE COUNT  
77N4 ...#UNS  JWPHASE4  
77T= ...OUTZ
782G          CALL  6  RM1A                [OUTPUT LOGGING MESSAGE  
78G6          +JREL                        [OFFLINE RELEASED
78^Q    RUNUP LDX   0  AWORK4(2)
79FB          BPZ   0  PUP                 [K1 ENTRY = GO UP
79^2          RUNPROG                      [K2 ENTRY
7=DL    [   
7=Y=    #     ENTRY  FOR PERCOUNT   
7?CW    SK3RELPER   
7?XG          LDCT  0  #120                [SET MARKERS 
7#C6          STO   0  AWORK4(2)
7#WQ          LDX   0  GSIGN               [SET ALL FOR REPORTING   
7*BB          STO   0  ACOMMUNE7(2)        [SET MARKER  
7*W2          LDN   6  1                   [INITIALISE OFFLINE COUNT
7B*L          STO   6  AWORK1(2)
7BT=          STOZ     AWORK3(2)           [CLEAR REL PTR   
7C#W    ROUND FPCACA   3,2                 [X3-> PCA
7CSG          LDX   7  3
7D#6          CALL  4  PHIND
7DRQ          BRN      UP   
7F?B          LDX   4  A1(3)               [GET PER NAME
7FR2          SBX   3  1
7G=L          ADN   3  2                   [UPDATE REL PTR  
7GQ=          STO   3  AWORK3(2)           [SAVE REL PTR
7H9W          BPZ   5  ONLIN
7HPG          LDX   3  7                   [X3-> PCA
7J96          LDX   7  6                   [OFFLINE PERI CT -> X7   
7JNQ    R1    FINDACTF 3,,AOLPT,,,FPTR     [X3 -> OLPA  
7K8B          BCT   7  R1   
7KN2          ADN   6  1
7L7L          STO   6  AWORK1(2)           [UPDATE OFFLINE COUNT
7LM=          LDX   0  ATMARK(3)
7M6W          SBN   0  2
7MLG          BZE   0  MAGT 
7N66          LDX   0  ACOUNT(3)
7NKQ          STO   0  AWORK2(2)
7P5B          BRN      OUT  
7PK2    MAGT  MTPTR    3,5  
7Q4L    ONLIN LOBJPERIS 5,0 
7QJ=          STO   0  AWORK2(2)
7R3W    OUT   BZE   0  SUB                 [J IF NO TRANS   
7RHG          OUTBLOCN 8
7S36          BNG   5  OFF  
7SGQ          CALL  6  RM   
7T2B          +JREL3                       [ONLINE RETAINED 
7TG2          BRN      SUB  
7T^L    OFF   CALL  6  RM1  
7WF=          +JREL2                       [OFFLINE RETAINED
7WYW    SUB   LDX   0  GSIGN
7XDG          STO   0  ACOMMUNE7(2)        [RESET MARKER
7XY6          LDX   6  AWORK1(2)           [GET OFFLINE COUNT   
7YCQ          BRN      ROUND               [BACK FOR NEXT   
7YXB    #   
7^C2    #     SUBROUTINE TO DO OUTBLOCN FOLLOWED BY JOBLOCK.
7^WL    #     ONLY NEEDED BECAUSE THESE ARE SUCH BORINGLY LONG MACROS.  
82B=    #   
82TW    SOUT1 SBX   4  FX1                 [RELATIVISE LINK.
83*G          OUTBLOCN 10                  [SET UP GMON/ASET BLOCK. 
83T6          ADX   4  1                   [RETRIEVE LINK.  
84#Q    SOUT2 JOBLOCK  7,3                 [FIND THE JOB BLOCK. 
84SB          EXIT  4  0
85#2    #   
85RL    #     ENTRY FOR PERCOUNT ALL
86?=    SK31RELPER  
86QW          LDCT  0  #40  
87=G          STO   0  AWORK4(2)
87Q6          STOZ     AWORK3(2)
889Q    # AFTER THIS INITIALISATION SEARCH JOB QUEUE
88PB          OUTBLOCN 8
8992          LDN   3  BJOBQ
89NL    SEEK  LDX   3  FPTR(3)  
8=8=    SEEK1 TXU   3  CXJO 
8=MW          BCC      OPENG               [-> O/P ENGINEER MESSAGES
8?7G          LDX   0  ALOGLEN(3)   
8?M6          SBN   0  ASTJOB   
8#6Q          BZE   0  SEEK                [IGNORE NO USER JOBS 
8#LB          LDX   7  JOBNUM(3)           [KEEP JOB NUMBER 
8*62          OUTPARC  TIMENOW  
8*KL          OUTPACKC HTIMEJ(3),2,JOBMILL  
8B5=          LDEX  6  JMISC(3) 
8BJW    #SKI  ARETLO
8C4G    (   
8CJ6          BNZ   6  XCI                 [J IF CORE IMAGE 
8D3Q          LDX   6  JCLASS(3)
8DHB          ANDN  6  #200 
8F32    )   
8FGL          BZE   6  NOCI                [J IF NO PERIPHERAL CTS TO O/P   
8G2=    XCI   OUTPACKC HCLOCKTIME(3),2,PROGMILL 
8GFW    NOCI  MONOUT   JPROGREP,7          [O/P PROGRESS REPORT -> JOURNAL  
8G^G          CALL  4  SOUT1               [SET UP GMON/ASET BLOCK FOR NEXT TIME
8HF6          BNG   3  REFIND              [J IF NOW GONE   
8HYQ          LDEX  6  JMISC(3) 
8JDB          BZE   6  SEEK                [J IF NO CORE IMAGE  
8JY2          LDN   6  1                   [INITIALISE COUNT
8KCL          STO   6  AWORK1(2)
8KX=    RETURN  
8LBW          FPCAJO   1,3                 [X1 -> PCA   
8LWG          PCATEST  1,TP,TP             [->TP IF TP -OR NORMAL APET  
8MB6          FINDTP   1,1                 [X1 -> TP APET   
8MTQ    TP    STO   1  ACOMMUNE1(2) 
8N*B          HUNT2J   1,APERI,APERIRES,,SEEK  [-> SEEK IF MISSING  
8NT2          LDX   3  1
8P#L          LDX   0  GSIGN
8PS=          STO   0  ACOMMUNE7(2) 
8Q?W          CALL  4  PHIND1   
8QRG          BRN      NEXT                [IF END,GO TO GET NEXT   
8R?6          STO   6  AWORK1(2)           [KEEP COUNT OF OFFLINE PERIS 
8RQQ          LDX   4  A1(3)
8S=B          SBX   3  1
8SQ2          ADN   3  2                   [UPDATE REL PTR  
8T9L          STO   3  AWORK3(2)           [KEEP REL PTR
8TP=          LDX   1  ACOMMUNE1(2)        [X1-> PCA
8WNG          BPZ   5  MAG2                [J IF ONLINE 
8X86    R2    FINDACTF 1,,AOLPT,,MISS1,FPTR 
8XMQ          TXU   7  JOBNO(1) 
8Y7B          BCS      MISS1               [J IF NOT FOUND WITH SAME JOBNO  
8YM2          BCT   6  R2   
8^6L          LDN   0  1
8^L=          ADS   0  AWORK1(2)           [UPDATE OLPA COUNT   
925W          LDX   0  ATMARK(1)
92KG          SBN   0  2
9356          BZE   0  MAG1                [J IF  MT
93JQ          LDX   0  ACOUNT(1)
944B          STO   0  AWORK2(2)
94J2          CALL  6  RM1  
953L          +JRELPRO                     [OFFLINE PROGRESSREPORT  
95H=          BRN      PAST 
962W    MISS1 CALL  4  SOUT2               [FIND JOB BLOCK. 
96GG          BRN      MISS2
9726    MAG1  MTPTR    1,5                 [X5 -> DEVICE LIST   
97FQ    MAG2  LOBJPERIS 5,0 
97^B          STO   0  AWORK2(2)           [KEEP TRANSFER COUNT 
98F2    ONLN  CALL  6  RM   
98YL          +JRELPRO1                    [ONLINE PROGRESS RPORT   
99D=    PAST
99XW    #SKI  K6RELPER>499-499  
9=CG    (   
9=X6          TRACE    4,TYPE   
9?BQ          TRACE    AWORK2(2),NUMBER 
9?WB          TRACE    7,JOBNO2 
9#B2    )   
9#TL          CALL  4  SOUT1               [DO OUTBLOCN & FIND JOB BLOCK
9**=    MISS2 LDX   6  AWORK1(2)
9*SW          BNG   3  REFIND   
9B24 ...      LDEX  4  JMISC(3) 
9B7= ...      BZE   4  SEEK                [J IF NO CORE IMAGE  
9B#G          BRN      RETURN   
9BS6    #   
9C?Q    NEXT  CALL  4  SOUT1               [DO OUTBLOCN & FIND JOB BLOCK.   
9CRB          BNG   3  REFIND   
9D?2          STOZ     AWORK3(2)           [INITIALISE  
9DQL          BRN      SEEK 
9F==    REFIND                             [GET POINTER TO NEXT BLOCK   
9FPW    #SKI  K6RELPER>499-499  
9G9G          TRACE    7,JOBNO  
9GP6          LDN   3  BJOBQ
9H8Q    R3    LDX   3  FPTR(3)  
9HNB          TXU   3  CXJO 
9J82          BCC      OPENG               [-> O/P ENGINEER MESSAGES
9JML          TXL   7  JOBNUM(3)
9K7=          BCS      SEEK1               [J IF NEXT ONE   
9KLW          BRN      R3   
9L6G    OPENG LDN   7  0                   [JOB NO  
9L?N    #SKI  JSKI06<1$1
9LDW    (   
9LL6          FINDRPDE 3,RETRY,UP,4        [-> UP AT END
9M5Q          OUTBLOCN 10   
9MKB          LDX   5  3
9N52          LGPERIS  3,0  
9NJL          STO   0  AWORK2(2)           [FOR S/R:COUNT OF TRANS  
9P4=          STO   4  AWORK1(2)           [KEEP WORK ACC.  
9PHW          CALL  6  RM                  [OUTPUT LOGGING MESSAGE  
9Q3G          +JRELPRO1 
9QH6          LDX   3  5
9R2Q          LDX   4  AWORK1(2)           [RESTORE INFO FOR FINDRPDEV  
9RGB          CLCOUNT  3,GEORGE            [CLEAR COUNTS
9S22          CLCOUNT  3,FAIL   
9SFL          CLCOUNT  3,REPEAT 
9SG6    )   
9SGL    #SKI  JSKI06                       [ENHANCEMENT NO. 8001 (B).   
9SH6    (   
9SHL          LDCT  0  #010 
9SJ6          ORS   0  AWORK4(2)           [SET MARKER = ENG. MESS. (227).  
9SJL          FINDRPDE 3,RETRY,UP,4        [GET ADDR. OF NEXT DEVICE.   
9SK6          LGPERIS  3,0  
9SKL          BZE   0  RETRY               [NO MESSAGE IF ZERO TRANSFERS.   
9SL6          STO   0  AWORK2(2)           [COUNT OF TRANSFERS FOR S/R. 
9SLL          DECANTCT 3,0,GEORGE           [RESET GEORGE TRANSFER COUNT.   
9SM6          STO   4  AWORK1(2)           [KEEP WORK ACCUMULATOR.  
9SM7 ...      JENVNOT  YNOT,CME 
9SM8 ...      JCAFSDV  3,YNOT   
9SM9 ...      LDN   4  22   
9SM= ...      SETELOG  2,4,3
9SM? ...      LDN   5  #2460
9SM# ...      ORS   5  ELHEADER+1(2)
9SM* ...      STOZ     4
9SMB ...      SMO      FX2  
9SMC ...      LDX   5  AWORK2   
9SMD ...      SLL   45 8
9SMF ...      ORS   4  ELHEADER+9(2)
9SMG ...      STO   5  ELHEADER+10(2)   
9SMH ...      LDX   2  FX2  
9SMJ ...YNOT
9SML          LDX   5  3                   [DEVICE LIST POINTER FOR S/R.
9SN6          OUTBLOCN 16   
9SNL          LTYPE    3,4  
9SP6          OUTPACKC 4,1,PERITYPE        [OUTPUT TYPE AS %A.  
9SPL          SBN   4  6
9SQ6          BZE   4  XXY                 [J. IF EDS.  
9SQL          SBN   4  20   
9SR6          BNZ   4  XXZ                 [J. IF NOT EMDS. 
9SRL    XXY   LADDP    3,3  
9SS6          LDX   4  BSUNIT5(3)          [GET CSN FROM APIA.  
9SSL          OUTPACKC 4,1,CSN             [O/P CSN AS %B IF EDS OR EMDS
9ST6          BRN      XYX  
9STL    XXZ   OUTNULL                      [ELSE NULL %B IF OTHER TYPE. 
9SW6    XYX   CALL  6  RM                  [OUTPUT LOGGING MESSAGE. 
9SWL          +JSDREP   
9SX6          LDX   3  5                   [RESTORE DEVICE LIST POINTER FOR S/R,
9SXL          LDX   4  AWORK1(2)           [RESTORE WORK ACCUMULATOR FOR S/R.   
9SY6    )   
9S^=          BRN      RETRY               [BACK AGAIN  
9TDW    #   
9TYG          MENDAREA 20,K100RELPER
9WD6    #END
^^^^ ...17414373000100000000
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1