LISTSEAR867

(George Source)

Macros used: CLOSEOUT, FCAJO, FREECORE, FSHENTRY, GEOERR, HUNTW, JBC, JOBLOCK, LADDP, LFBBUS, LFBITCLR, LFBLCNUM, LFRECNUM, MENDAREA, MHUNTW, MONOUTX, OPENSOUT, POINTACT, PROPWELL, READY, SETENTRY, SETUPCORE, SKIP, STARTACT, STEP, UP, UPPLUS

LISTSEAR867.txt
22FL    #OPT  K0LISTSEAR=0  
22^=    #OPT  JWPHASE1=0
23DW    #LIS  K0LISTSEAR>K0LISTFILE>K0ALLGEO
23YG    #SEG  LISTSEAR7                    [BOB SEWELL  
24D6                   8HLISTSEAR   
24MY ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1983
24XQ          SETENTRY LISTSEAR,POINT,6 
257J ...      FSHENTRY K7LISTSEAR,,POINT7,POINT7
25?F ...      FSHENTRY K8LISTSEAR,POINT8,,POINT8
25CB          MENDAREA 30,K95LISTSEAR   
25X2    [THIS SEGMENT DEALS WITH THE IMPLEMENTATION OF VARIOUS MACROS   
26BL    [MOST OF WHICH REQUIRE A SEARCH OF ONE CHAIN OR ANOTHER.
26W=    [   
27*W    [***********************************************************************
27TG    [DATA AREA  
28*6    XASSOCS 
28SQ    #HAL APERI+ASSOCS,0 
28WN ...#SKI  JSKI27
28YL ...(   
292J ...XASSOCS0
294G ...#HAL  APERI+ASSOCS0,0   
296D ...XASSOCS1
298B ...#HAL  APERI+ASSOCS1,0   
29=# ...)   
29#B    XPROPNOS
29S2    #HAL APERI+APROPNOS,0   
2=?L    [SOME IDENTIFIERS FOR THE LISTFILE CHAIN
2=HD ...#UNS HWLSLCH
2=R= ...XMAXBLOCK      +7                  [MAX NO OF BLOCK TYPES   
2=X7 ...#UNS HWLSLCH
2?34 ...#SKI
2?6^ ...XMAXBLOCK      +6                  [MAX NO OF BLOCK TYPES   
2?=W    TABLOCK 
2?QG    [TABLE OF BLOCK TYPES AND ASSOCIARED IGNORING ROUTINES  
2#=6    XKEY           +GOUT+GKEY   
2#PQ                   +SKIPOUT 
2*9B    XINFO          +GOUT+INFO   
2*P2                   +SKIPOUT 
2B8L                   +GOUT+GUPDATE
2BN=                   +SKIPUPDATE  
2C7W                   +GOUT+GABSNB 
2CMG                   +SKIPONE 
2D76                   +FILE+FABSNB 
2DLQ                   +SKIPONE 
2F6B                   +GOUT+COMP   
2FL2                   +SKIPONE 
2FNK ...#UNS HWLSLCH
2FR8 ...(   
2FTR ...               +GOUT+CHLIST 
2FYB ...               +SKIPONE 
2G2^ ...)   
2G5J ...[             *****  END OF TABLE ******
2GK=    [SOME BIT POSITIONS IN GMODE
2H4W    PERFREBIT      #20                 [PERI FREE AT ISPER TIME 
2HJG    PERISBIT       #200                [ISPER BEING PERFORMED   
2J46    PROPBIT        #4000000            [PROPERTY BLOCK  
2JHQ    RECBITS        #54000000           [BLOCK PRESENT BITS  
2K3B    XFILOFFBS      #1400000            [A FILE IS OFFLINE   
2KH2    SJMULTMES   
2L2L                   +JLFMULTC           [SJ MESSAGES 
2LG=                   +JLFMULT            [FOR MULTIFILES  
2L^W    [                          ******** 
2MFG    SKIPUPDATE  
2M^6    [THIS S/R ADVANCES POINTER BEYOND A GOUT/GUPDATE BLOCK. 
2NDQ          LDX   0  GMODE(3) 
2NYB          SMO      FX1                 [IF A FILE IS OFFLINE
2PD2          ANDX  0  XFILOFFBS           [THERE WILL BE A FILE/FABSNB 
2PXL          BZE   0  SKIPONE  
2QC=          LDX   3  FPTR(3)  
2QWW    SKIPONE 
2RBG    [THIS S/R SKIPS THE POINTER IN X3 PAST ONE BLOCK
2RW6          LDX   3  FPTR(3)  
2S*Q    [   
2STB    [***********************************************************************
2T*2    [SUBROUTINE AREA
2TSL          EXIT  2  0
2W#=    SKIPOUT 
2WRW    [THIS S/R ADVANCES THE POINTER IN X3 PAST A STRING  
2X?G    [ASSOCIATED WITH A GOUT/INFO OR A GOUT/GKEY IN LECHAIN  
2X#N ...[   
2X*W ...[ WHEN WLSIZE MACRO IMPLEMENTED THERE MAY BE A GOUT/GESIZE IN THE CHAIN 
2XC4 ...[ THEREFORE USE NEW MACRO FOR BLOCKS IN GOUT/INFO CHAIN 
2XD= ...#UNS  AWLSZ 
2XFD ...(   
2XGL ...      LFBLCNUM 4,3  
2XHS ...SKPT2 LDX   3  FPTR(3)  
2XK2 ...      BCT   4  SKPT2
2XL8 ...)   
2XMB ...#UNS  AWLSZ 
2XNJ ...#SKI
2XPQ ...(   
2XR6          LDX   0  GMODE(3) 
2Y=Q          SMO      FX1  
2YQB          ANDX  0  RECBITS  
2^=2          ERX   0  GSIGN               [INVERT ONLINE BIT   
2^PL          LDX   3  FPTR(3)  
329=    SKIP1 BPZ   0  SKIP2
32NW          LDX   3  FPTR(3)  
338G    SKIP2 SLL   0  1
33N6          BNZ   0  SKIP1
33XY ...)   
347Q          EXIT  2  0
34MB    [   
3572    SCANCHAIN   
35LL    [THIS S/R INTERPRETS THE BLOCK TYPE OF A BLOCK IN THE LFCHAIN   
366=          LDN   0  BLF  
36KW          TXU   0  3
375G          BCS      NOTEND              [J NOT END OF CHAIN  
37K6          EXIT  6  0
384Q    NOTEND  
38JB          LDX   0  ATYPE(3) 
3942          SRL   0  12                  [REMOVE ANY UNEXPECTED BITS  
39HL          LDX   1  FX1  
3=3=          LDX   4  XMAXBLOCK(1)        [MAX NUMBER OF BLOCK TYPES   
3=GW    XTS   TXU   0  TABLOCK(1)   
3?2G          BCS      NOTYETF  
3?G6          EXIT  6  1
3?^Q    NOTYETF 
3#FB          ADN   1  2                   [ADVANCE TABLE POINTER   
3#^2          BCT   4  XTS  
3*DL          GEOERR   1,FUNYBLOK   
3*Y=    [   
3BCW    TELLCPA 
3BXG    [THIS S/R UPDATES ALFCNT FOR A CPA WHEN SOMETHING HAS HAPPENED  
3CC6    [TO A MULTIFILE.
3CWQ    [X7=0 FOR MULTIFILE CLOSED  
3DBB    [X7=1 FOR A NEW COMPONENT BEING OPENED  
3DW2    [B0 OF X7 SET WHEN X3->SCHEDULER
3F*L    [OTHERWISE X3->INFO OR KEY BLOCK
3FT=    [     IF  NO CPA CAN BE FOUND THEN THE JOB NUMBER IS ADDED  
3G#W    [TO A LIST HELD INITIALLY IN ACOMMUNE WORDS BUT IT MAY  
3GSG    [OVERFLOW INTO A GOUT/INFO4.
3H#6    [IF THE SCHEDULER IS INSERTING A MULTIFILE THEN THE JOB NUMBER  
3HRQ    [OF THE REQUEST IS HELD IN GSWORK4  
3J?B    [   
3JR2          STO   3  ACOMMUNE6(2) [PRESERVE POINTER   
3K=L          BNG   7  SCED1               [J IF LOOKING AT SCHEDULER   
3KQ=          LDX   5  GJOBS(3) 
3L9W          BRN      SGOTJ
3LPG    SCED1 LDX   5  GSWORK4(3)          [PICK UP JOB NUMBER  
3M96    SGOTJ LDX   3  FX2                 [INITIALISE CPA POINTER  
3MNQ          TXU   5  JOBNO(2) 
3N8B          BCC      US                  [J IF OUR LF REQUEST 
3NN2          JOBLOCK  5,3                 [X3->JOB BLOCK   
3P7L          BNG   3  NOCPA               [IF THERE IS ONE 
3PM=          FCAJO    3                   [FIND CPA
3Q6W    US    LDX   0  ALFCNT(3)           [J IF ENDJOB BEING OBEYED AND
3QLG          BNG   0  NOCPA               [INFORMATION HAS BEEN USED   
3R66          LDXC  0  7
3RKQ          BNZ   0  NCLSD               [J IF MULTIFILE NOT CLOSED   
3RPM ...      LDCT  0  #370 
3RTJ ...      ANDX  0  ALFCNT(3)
3R^F ...      BZE   0  NCLSD
3S5B          LDCT  0  #10  
3SK2          SBS   0  ALFCNT(3)           [DECREMENT OPEN MF COUNT 
3T4L          BRN      NCLSD               [J TO UPDATE FINAL COUNT 
3TJ=    ODON  LDX   3  ACOMMUNE6(2) 
3W3W          LDX   1  FX1  
3WHG          EXIT  4  0
3X36    NCLSD LDX   0  JSOURCE3(3)         [CPAT CONSOLE
3XGQ          ANDX  0  BITS22LS 
3Y2B          BPZ   7  XSCED               [J NOT SCHED LER 
3YG2          SMO      ACOMMUNE6(2) 
3Y^L          LDX   1  GSWORK3             [PICK UP CONSOLE PROPERTY
3^F=          BRN      PRGT 
3^YW    XSCED SMO      ACOMMUNE6(2) 
42DG          LDX   1  GMODE
42Y6          SMO      FX1                 [IS THERE A PROPERTY BLOCK   
43CQ          ANDX  1  PROPBIT             [ASSOCIATED WITH REQUEST 
43XB          BNZ   0  OREM                [J IF NOT CENTRAL CPA
44C2          BZE   1  SAMEC               [J IF NO PROPERITIES IN REQUEST  
44DC ...#UNS  AWLSZ 
44FS ...(   
44H9 ...OPROP LDX   1  ACOMMUNE6(2) 
44JL ...      JBC      OPRP2,1,BLFWLSIZE
44L3 ...      LDX   1  FPTR(1)  
44MD ...OPRP2 LDX   1  FPTR(1)  
44NT ...)   
44Q= ...#UNS  AWLSZ 
44RM ...#SKI
44T4 ...(   
44WL    OPROP SMO      ACOMMUNE6(2) 
45B=          LDX   1  FPTR                [POINT TO PROPERTY BLOCK 
45L4 ...)   
45TW          LDX   1  CPROPNO(1)          [PICK UP CONSOLE PROP
46*G    PRGT  ANDX  1  BITS22LS 
46GN ...      LDX   0  JSOURCE3(3)  
46MW ...      ANDX  0  BITS22LS 
46T6          TXU   0  1
47#Q          BCS      ODIF                [J IF DIFFERENT CLUSTER  
47SB    SAMEC LDN   0  1
48#2    UPDT  ADS   0  ALFCNT(3)
48RL          BRN      ODON 
49?=    OREM  BNZ   1  OPROP
49QW    ODIF  LDN   0  1
4==G          SLL   0  12                  [COUNT FOR DIFFERENT CLUSTER 
4=Q6          BRN      UPDT 
4?9Q    NOCPA LDX   0  ACOMMUNE3(2)        [ACOMMUNE POINTER
4?PB          BZE   0  NOROOM              [J IF WE NEED EXTRA BLOCK
4#92          SBN   0  1
4#NL          STO   0  ACOMMUNE3(2)        [RESET POINTER   
4*8=          SMO      0
4*MW          STO   5  AWORK1(2)
4B7G          BRN      ODON 
4BM6    NOROOM  
4C6Q          MHUNTW   3,GOUT,INFO4 
4CLB          LDX   0  A1(3)               [POINTER 
4D62          BZE   0  TROUBLE             [J NO ROOM   
4DKL          SBN   0  1
4F5=          STO   0  A1(3)
4FJW          SMO      0
4G4G          STO   5  A1+1(3)  
4GJ6          BRN      ODON 
4H3Q    SMONOUTX
4HHB          SBX   5  FX1  
4J32          MONOUTX  7,6  
4JGL          ADX   5  FX1  
4K2=          EXIT  5  0
4KD2 ...#   
4KDN ...#   
4KFW    REQUEST 
4K^G    [THIS S/R EXAMINES THE STRING INDICATED BY X3 AND DETERMINES
4LF6    [WHETHER OR NOT THE ACTLF ON THE JOB RING WOULD BE SUITABLE.
4LYQ    [IF SO THE PERFREBIT IS SET TO INDICATE THAT A GETPER SHOULD
4MDB    [BE PERFORMED.  
4MY2    [THE SCHEDULER HAS TAKEN THE FOLLOWING INFORMATION FROM THE ACTLF:  
4NCL    [     GSWORK1  =JSOURCE1
4NX=    [     GSWORK2  =JSOURCE2
4PBW    [     GSWORK4  =CPPTR  OR ZERO FOR REMOTE DEVICE
4PWG          STO   1  ACOMMUNE1(2) 
4QB6          STO   3  ACOMMUNE3(2) 
4QTQ ...      LDCT  0  #70                 [PICK UP DEVICE TYPE 
4R*B ...      ANDX  0  GSWORK1(2)   
4RT2          ANDX  0  GOPTY(3) 
4S#L          BZE   0  NEXTR               [J IF WRONG PERI TYPE
4SS=          LDX   1  FX1  
4T?W          LDX   0  PERFREBIT(1) 
4TRG          ANDX  0  GMODE(3)            [J IF THIS REQUEST ALREADY   
4W?6          BNZ   0  NEXTR               [EXPECTS A DEVICE TO BE FREE.
4WQQ          LDX   0  PERISBIT(1)  
4X=B          ANDX  0  GMODE(3)            [IF ISPER IS CURRENTLY BEING 
4XQ2          BNZ   0  WILLD               [DONE THEN THIS IS BEST WE CAN DO.   
4Y9L          LDX   0  PROPBIT(1)   
4YP=          ANDX  0  GMODE(3) 
4^8W          BNZ   0  PROPREQ  
4^NG          LDX   1  GSWORK4(2)          [DEVICE LIST POINTER OR  
5286          BZE   1  NEXTR               [GIVE UP IF REMOTE   
52MQ          LADDP    1,1  
537B          ADN   1  APERPROP            [POINTER TO PROPERTY AREA
53M2          NGN   5  1
546L          CALL  2  PRANLYSE 
54L=          LDX   2  FX2  
555W    WILLD LDX   1  ACOMMUNE1(2) 
55KG          LDX   3  ACOMMUNE3(2) 
5656          SMO      FX1  
56JQ          LDX   0  PERFREBIT
574B          ORS   0  GMODE(3) 
57J2          EXIT  7  0
583L    PROPREQ 
585T ...#UNS  AWLSZ 
5884 ...(   
58=? ...      JBC      PPRQ2,3,BLFWLSIZE
58#G ...      LDX   3  FPTR(3)  
58BP ...PPRQ2   
58DY ...)   
58H=          LDX   3  FPTR(3)  
592W          LDX   1  GSWORK4(2)          [X1  -> DEVICE LIST OR   
59GG          BZE   1  XREM                [J IF WE HAVE REMOTE DEVICE  
5=26          LADDP    1,1  
5=FQ          ADN   1  APERPROP 
5=^B          BRN      READY
5?F2    XREM  MHUNTW   1,GOUT,GPROPNOS  
5?YL          ADN   1  GPROPNUM 
5#D=    READY LDX   0  CPROPNO(3)          [CONSOLE PROPERTY ASS. WITH REQ. 
5#XW          BNZ   0  WANTR               [J REMOTE DEVICE WANTED  
5*CG          LDX   0  GSWORK4(2)   
5*X6          BZE   0  NEXTR               [J IF WE HAVE A REMOTE DEVICE
5BBQ          BRN      XCONSOK  
5BWB    WANTR LDXC  4  0(1)                [THROW AWAY B0   
5CB2          BCS      £
5CTL          SBX   4  0
5D*=          BNZ   4  NEXTR               [J NOT SAME CLUSTER  
5DSW    XCONSOK 
5F#G          LDN   5  0
5FS6          STO   1  ACOMMUNE2(2)        [REMEMBER PROPERTY POINTER   
5G?Q          CALL  2  PRANLYSE 
5GRB          LDX   2  FX2  
5H?2    [WE NOW CHECK THAT NO PERMANENT PROPERTIES ARE REQUESTED
5HQL    [THAT WE CANT SATISFY   
5J==          LDX   4  BPROPCNT(3)  
5JPW          BZE   4  WILLD               [J IF NO FURTHER PROPERTIES REQ. 
5K9G    XNX   LDN   5  ATTMAX   
5KP6          LDX   1  ACOMMUNE2(2)        [RESET PROPERTY POINTER  
5L8Q    XT1   LDXC  0  0(1)                [IGNORE B0   
5LNB          BCS      £
5M82          TXU   0  BPROPS(3)
5MML          BCC      XAT                 [J IF PROPERTY ATTRIBUTED
5N7=          ADN   1  1
5NLW          BCT   5  XT1  
5P6G          LDX   0  BPROPS(3)           [UNAVAILABLE PROPERTY
5PL6          SLL   0  1
5Q5Q          BNG   0  NEXTR               [GIVE UP IF PERMANENT
5QKB    XAT   ADN   3  1
5R52          BCT   4  XNX  
5RJL          BRN      WILLD
5S4=    PRANLYSE
5SHW    [THIS S/R CHECKS THAT PROPERTY LIST INDICATED BY X1 DOES
5T3G    [NOT CONTAIN ANY UNREQUESTED,PERMANENT EXCLUSIVE ENTRIES.   
5TH6    [A BRANCH TO NEXTR IS OBEYED IF ONE IS FOUND.   
5W2Q    [   
5WGB          LDN   4  ATTMAX-1            [MAX NO. OF ATTRIBUTIONS.
5X22    PRA1  ADN   1  1                   [IGNORE CONSOLE PROPERTY 
5XFL          LDXC  0  0(1) 
5X^=          BCS      PRA2                [J IF EXCLUSIVE  
5YDW          BZE   0  PRA3                [J IF END OF LIST
5YYG    PRA5  BCT   4  PRA1 
5^D6    PRA3  EXIT  2  0
5^XQ    PRA2  BNG   5  PRA4                [J IF NO PROPERTY RECORD 
62CB    PRAS  LDX   5  BPROPCNT(3)         [NUMBER OF PROPERTIES
62M8 ...      BZE   5  PRA7 
62X2    PRA6  SMO      5
63BL          TXU   0  BPROPS-1(3)  
63W=          BCC      PRA5                [J IF PROPERTY REQUESTED 
64*W          BCT   5  PRA6 
64TG ...PRA7  BPZ   4  PRA4 
65*6          EXIT  2  1
65SQ    PRA4  SLL   0  1
66#B          BNG   0  NEXTR               [IF PERMANENT,GIVE UP
66S2          BRN      PRA5 
67?L    [   
67R=    STEP  SBX   4  FX1  
68=W          STEP  
68QG          ADX   4  FX1  
69=6          EXIT  4  0
69PQ    [   
6=9B    SEARCHAIN   
6=P2    [THIS S/R SEARCHES THE LFCHAIN FOR A GOUT/INFO OR GOUT/GKEY BLOCK   
6?8L    [    EXIT    0  WHEN END OF CHAIN   
6?N=    [    EXIT   1  WHEN GKEY FOUND  
6#7W    [     EXIT   2 WHEN INFO FOUND  
6#MG          CALL  6  SCANCHAIN           [LOOK AT NEXT BLOCK IN CHAIN 
6*76          EXIT  5  0                   [END OF CHAIN
6*LQ          SMO      FX1  
6B6B          TXU   0  XKEY                [COMPARE BLOCK TYPE  
6BL2          BCS      SNXKEY              [J IF NOT GKEY   
6C5L          EXIT  5  1
6CK=    SNXKEY  
6D4W          SMO      FX1  
6DJG          TXU   0  XINFO
6F46          BCS      SEARNEXT            [J IF NOT GOUT/INFO  
6FHQ          EXIT  5  2
6G3B    SEARNEXT
6GH2    [THIS ALSO PROVIDES A SUB ENTRY TO IGNORE CURRENT STRING
6H2L    [   
6HG=          LDX   6  TABLOCK+1(1)        [ADDRESS OF SKIP ROUTINE 
6H^W          ADX   6  FX1  
6JFG          CALL  2  (6)                 [SKIP CURRENT STRING 
6J^6          LDX   2  FX2  
6KDQ          BRN      SEARCHAIN
6KYB    [                          ******** 
6LD2    [   
6LXL    [***********************************************************************
6MC=    [MAIN BODY OF SEGMENT   
6MWW    [***********************************************************************
6NBG    POINT1  
6NW6     [THIS IS ONE OF THE ENTRY POINTS FROM THE HSPACTLF MACRO.  
6P*Q    [IT CORRESPONDS TO A NEW COMPONENT OF THE MULTIFILE BEING   
6PTB    [OPENED.GWAKECOUNT MUST BE INCREMENTED FOR ANY REQUEST  
6Q*2          LDN   7  1
6QSL          BRN      STARTSEARCH  
6R#=    [   
6RRW    [***********************************************************************
6S?G    POINT2  
6SR6    [THIS IS THE OTHER ENTRY POINT FROM HSPACTLF
6T=Q    [IT CORRESPONDS TO THE MULTIFILE BEING CLOSED.  
6TQB          LDN   7  0
6W=2    [   
6WPL    STARTSEARCH 
6X9=    [A SEARCH IS MADE OF THE LFCHAIN.   
6XNW    [ACOMMUNE1 CONTAINS GMULTID 
6Y8G    [ACOMMUNE2 CONTAINS THE FREEZECOUNT.
6YN6    [   
6^7Q    [***********************************************************************
6^MB    [WHEN A REQUEST IS FOUND AND UPDATED, A SEARCH MUST BE MADE 
7272    [FOR THE CORRESPONDING CPA.IF IT IS FOUND,THEN ALFCNT IS
72LL    [UPDATED.IF IT IS NOT FOUND,THEN A MESSAGE IS SENT  
736=    [TO THE SYSTEM JOURNAL. 
73KW    [                      -------- 
745G    [IF SUFFICIENT REQUESTS ARE FOUND TO SATISFY THE FREEZCOUNT 
74K6    [THEN ALL IS WELL.  
754Q    [ELSE THE SCHEDULER MUST BE EXAMINED AS IT MAY BE CURRENTLY 
75JB    [INSERTING A MULTIFILE REQUEST IN SYSOUT.   
7642    [THE SCHEDULER WILL THEN HAVE   
76HL    [AWORK1 CONTAINING GWAKECOUNT   
773=    [AWORK2 CONTAINING GMULTID  
77GW    [     GSWORK3  CONTAINING CONSOLE PROPERTY  
782G    [     GSWORK4  CONTAINING JOB NUMBER
78G6    [                      -------- 
78^Q    [OBVIOUSLY ALL THESE CHECKS MUST BE MADE WITHOUT COORDINATING.  
79FB    [SENDING MESSAGES TO THE SYSTEM JOURNAL COORDINATES.
79^2    [WE REMEMBER ALL JOB NUMBERS INVOLVED AND THEN SEND ALL THE 
7=DL    [MESSAGES AT ONCE.  
7=Y=    [IF THERE ARE < 5  THEN WE CAN USE AWORK WORDS. 
7?CW    [ELSE WE MUST SET UP A BLOCK TO CONTAIN THEM.(UNLIKELY!)
7?XG    [WE SHALL NOT ATTEMPT TO CALCULATE THE NUMBER OF SUCH MESSAGES  
7#C6    [BUT WE SHALL USE THE FACT THAT IT IS BOUNDED BY FREEZECOUNT.   
7#WQ    [RIGHT! 
7*BB    [                      -------- 
7*W2          LDX   5  ACOMMUNE2(2)        [FREEZECOUNT 
7B*L          SBN   5  5
7BT=          BNG   5  OKROOM              [J IF WE DON'T NEED A BLOCK  
7C#W ...      ADN   5  2
7CSG          SETUPCORE 5,3,GOUT,INFO4  
7D#6          SBN   5  1
7DRQ          STO   5  A1(3)               [POINTER 
7F?B    OKROOM  
7FR2          LDN   0  4
7G=L          STO   0  ACOMMUNE3(2)        [POINTER 
7GQ=          LDX   3  BLF                 [BASE OF CHAIN   
7H9W    XSCN  LDN   6  SEARCHAIN           [ADDRESS OF S/R  
7HPG    XSUBROUTE   
7J96          ADX   6  FX1  
7JNQ          CALL  5  (6)  
7K8B          BRN      NOTINCHAIN          [NO MORE BLOCKS  
7KN2         NULL                          [EXIT FOR GKEY   
7L7L    YEP   LDX   0  GMULTID(3)          [RIGHT BLOCK BUT RIGHT   
7LM=          TXU   0  ACOMMUNE1(2)        [IDENTIFIER :
7M6W          BCS      XNXT                [NO! 
7MLG          LDX   6  1                   [PRESERVE POINTER
7N66          CALL  4  TELLCPA             [CARRY OUT UPDATE
7NKQ          LDX   1  6
7P5B          LDN   0  1
7PK2          ADS   0  GWAKECOUNT(3)       [INCREMENT NUMBER OF COMPONENTS  
7Q4L          BNZ   7  OPNM                [J IF MULTIFILE STILL OPEN   
7QJ=          STOZ     GMULTID(3)          [ELSE CLEAR OPEN MARKER  
7R3W    OPNM  SBS   0  ACOMMUNE2(2)        [DECREMENT FREEZECOUNT COPY  
7RHG          LDX   0  ACOMMUNE2(2) 
7S36          BZE   0  ODONE               [EXAUSTED FREEZECOUNT
7SGQ    XNXT  LDN   6  SEARNEXT            [ADDRESS OF S/R  
7T2B          BRN      XSUBROUTE
7TG2    NOTINCHAIN  
7T^L    [WE HAVE EXAUSTED THE LFCHAIN.  
7WF=          LDX   0  ACOMMUNE2(2)        [EMBARRASSING IF WE ARE  
7WYW          BCT   0  TROUBLE             [MISSING MOR5 THAN ONE   
7XDG          POINTACT OUT,3               [FIND SCHEDULER  
7XY6          LDX   0  ACOMMUNE1(2) 
7YCQ          TXU   0  GSWORK2(3)          [J IF SCHEDULER NOT INSERTING
7YXB          BCS      TROUBLE             [MULTIFILE COMPONENT REQUEST 
7^C2          LDN   0  1
7^WL          ADS   0  GSWORK1(3)          [INCREMENT SCHDULER'S COMPONENT COUNT
82B=          BNZ   7  UPD                 [J IF MULTIFILE STILL OPEN   
82TW          LDX   0  GSIGN
83*G          ORS   0  GSWORK2(3)          [TO SHOW CLOSED  
83T6    UPD   ORX   7  GSIGN
84#Q          CALL  4  TELLCPA  
84SB    ODONE LDX   1  FX1  
85#2          SMO      7
85RL          LDX   7  SJMULTMES(1)        [PICK UP APROPRIATE MESSAGE  
86?=          LDN   4  4
86QW          SBX   4  ACOMMUNE3(2) 
87=G          BZE   4  OENDY
87Q6          LDX   3  ACOMMUNE3(2) 
889Q          SBN   3  1
88PB    NTX   ADX   2  3
8992          SMO      4
89NL          LDX   6  AWORK1(2)           [PICK UP JOB NUMBER  
8=8=          CALL  5  SMONOUTX 
8=MW          BCT   4  NTX  
8?7G          HUNTW    1,GOUT,INFO4        [CHECK FOR EXTRA JOB NOS.
8?M6          BNG   1  OENDY
8#6Q          LDX   4  ALOGLEN(1)   
8#LB          SBX   4  A1(1)
8*62          SBN   4  1
8*KL          BZE   4  OENDY
8B5=    NTZ   ADX   1  A1(1)
8BJW          SMO      4
8C4G          LDX   6  A1-1(1)  
8CJ6          CALL  5  SMONOUTX 
8D3Q          BCT   4  NTY  
8DHB    OENDY HUNTW    1,GOUT,INFO4 
8F32          BNG   1  OUP  
8FGL          FREECORE 1
8G2=    OUP   STARTACT OUT  
8GFW          UP
8G^G    NTY   MHUNTW   1,GOUT,INFO4 
8HF6          BRN      NTZ  
8HYQ    TROUBLE 
8JDB          GEOERR   1,LISTSEAR   
8JY2    [   
8KCL    [***********************************************************************
8KX=    POINT3  
8LBW    [THIS IS THE ENTRY POINT FROM K1LISTFIND.   
8LWG    [THE SCHEDULER HAS FAILED TO FIND A SUITABLE ENTRY  
8MB6    [IN :SYSTEM.OUTPUT FOR AN ACTLF,SO THE LFCHAIN IS EXAMINED. 
8MTQ    [IF A GOUT/INFO STRING WHICH DOES NOT HAVE THE PERFREBIT SET,   
8N*B    [OR A GOUT/GKEY BLOCK WHICH DOES NOT HAVE THE PERISBIT SET  
8NT2    [IS FOUND,THEN THE SUITABILITY OF THE ACTLF IS CONSIDERED TAKING
8P#L    [INFO ACCOUNT ALL PROPERTIES.IF THE ACTLF IS SUITABLE FOR A 
8PS=    [GOUT/INFO STRING THEN THE PERFREBIT IS SET AND THE ACTLF GOES AWAY 
8Q?W    [IT WILL BE PICKED UP LATER BY GETPER.  
8QRG    [IF IT IS A GOUT/GKEY STRING,THEN THE PERFREBIT IS SET AND THE ACTLF
8R?6    [CONTINUES ITS SEARCH AS A GETPER MAY NOT BE PERFORMED. 
8RQQ    [   
8S=B    [IF THE PERISBIT IS SET(AN ISPER IS CURRENTLY BEING PERFORMED)  
8SQ2    [THEN A CHECK ON DEVICE TYPE ONLY IS MADE.  
8T9L    [   
8TP=          LDX   3  BLF  
8W8W          LDN   6  SEARCHAIN           [ADDRESS OF S/R  
8WNG    QSUBROUTE   
8X86          ADX   6  FX1  
8XMQ          CALL  5  (6)  
8Y7B          BRN      QENDCH              [END OF LFCHAIN  
8YM2          BRN      QKEY                [FOUND A GKEY
8^6L          CALL  7  REQUEST             [FOUND AN INFO   
8^L=    QENDCH                             [DEVICE SUITABLE FOR INFO
925W          LFBBUS   G,2,QXUP            [J IF NO GPROPNOS
92KG          MHUNTW   1,GOUT,GPROPNOS  
9356          FREECORE 1
93JQ          LFBITCLR G,2                 [UNSET FLAG  
944B    QXUP  LDX   2  FX2                 [ENSURE IT DOESN'T LOOK AS   
94J2          STOZ     JSOURCE1(2)         [IF WE OWN A PERIPHERAL. 
953L          STOZ     JSOURCE2(2)  
95H=          STOZ     CPPTR(2) 
962W          UP
96GG    QKEY  CALL  7  REQUEST  
9726    QNXCH LDN   6  SEARNEXT            [ADDRESS OF S/R  
97FQ          BRN      QSUBROUTE
97^B    [THE FOLLOWING LABEL IS AN EXIT FROM S/R 'REQUEST'  
98F2    NEXTR LDX   2  FX2                 [DEVICE UNSUITABLE   
98YL          LDX   1  ACOMMUNE1(2) 
99D=          LDX   3  ACOMMUNE3(2) 
99XW          BRN      QNXCH               [TRY NEXT STRING 
9=CG    [   
9=X6    [***********************************************************************
9?BQ    POINT4  
9?WB    [THIS ENTRY POINT IMPLEMENTS THE PROPUSE MACRO. 
9#B2    [IT CHECKS THAT THE PROPERTY NUMBER IN ACOMMUNE1 CAN BE CANCELLED   
9#TL    [WITHOUT THE RESULT BEING TO DISASTROUS.
9**=    [TO ACHIEVE THIS IT MUST KEEP SYSTEM.PROPERTY OPEN AND: 
9*SW    [   
9B#G    [0.LOOK THROUGH SYSTEM JOBLIST FOR ANY ASSOCIATIONSOF PROPERTY  
9BS6    [1.   LOOK THROUGH SYSTEM.OUTPUT FOR ANY REQUEST INVOLVING THE PROPERTY 
9C?Q    [2.   LOOK IN THE LISTFILE CHAIN FOR ANY REQUEST INVOLVING THE PROPERTY 
9CRB    [3.   EXAMINE EVERY CPAT FOR AN APROPNOS BLOCK INVOLVING THE PROPERTY.  
9D?2    [4.   EXAMINE EVERY CPAT FOR AN ASSOCS BLOCK INVOLVING THE PROPERTY 
9DQL    [5.   EXAMINE EVERY BLOCK IN THE HLSQ  TO SEE IF ANY SAVED JOB WAS  
9F==    [     RUNNING FROM THE CLUSTER WHOSE PROPERTY IS BEING CANCELLED.   
9FPW    [   
9G9G          LDX   0  ACOMMUNE1(2) 
9GP6          ORX   0  GSIGN               [REMOVE B0 AS NOT USED IN
9H8Q          ERX   0  GSIGN               [APROPNOS BLOCK  
9HNB          STO   0  AWORK1(2)
9J82    #SKI  JWPHASE1  
9JML    (   
9K7=    [ANY ASSOCIATIONS IN JOBWELL?   
9KLW          PROPWELL ,AWORK1(2),XUP   
9L6G    )   
9LL6    SBRK
9M5Q          OPENSOUT SBRK,READ           [OPEN :SYSTEM.OUTPUT 
9MKB          CALL  4  STEP 
9N52    PTRY  BZE   3  PENDFILE            [END OF FILE 
9NJL          LFRECNUM 6,GMODE-A1(3)       [X6 = NO OF RECORDS IN ENTRY 
9P4=          LDX   0  PROPBIT(1)   
9PHW          ANDX  0  GMODE-A1(3)  
9Q3G          BZE   0  PNEXT               [J IF NO PROPERTY RECORD 
9QH6          CALL  4  STEP                [POSITION ON PROPERTY RECORD 
9R2Q          SBN   6  1                   [RECORD COUNT
9RGB          SBN   3  A1                  [POINTER FOR PROPERTY ANALYSIS   
9S22          LDN   4  1                   [CUNNING FRIG FOR
9SFL          ORX   4  GSIGN               [PRAS SUBROUTINE.
9S^=          LDX   0  AWORK1(2)
9TDW          CALL  2  PRAS 
9TYG          BRN      PINUSE              [J IF PROPERTY BEING USED
9WD6    PNEXT LDX   1  6
9WXQ          SKIP     ,0(1)
9XCB          BRN      PTRY 
9XX2    PENDFILE
9YBL    [2. 
9YW=    [WE KEEP SYSTEM.OUTPUT OPEN TO PREVENT THE SCHEDULER RUNNING.   
9^*W          LDX   3  BLF  
9^TG          LDN   6  SEARCHAIN           [ADRESS OF S/R   
=2*6    PSUBROUTE   
=2SQ          ADX   6  FX1  
=3#B          CALL  5  (6)  
=3S2         BRN      PENDCHAIN            [END OF LFCHAIN  
=4?L          NULL                         [FOUND A GKEY
=4R=          SMO      FX1                 [FOUND AN INFO   
=5=W          LDX   0  PROPBIT             [IS THERE A PROPERTY BLOCK   
=5QG          ANDX  0  GMODE(3)            [IN THE STRING?  
=6=6          BZE   0  PNXT                [NO  
=6PQ          STO   3  ACOMMUNE1(2)        [REMEMBER POINTERS   
=79B          STO   1  ACOMMUNE2(2) 
=7?K ...#UNS  AWLSZ 
=7*S ...(   
=7D3 ...      JBC      PSBR2,3,BLFWLSIZE
=7G= ...      LDX   3  FPTR(3)  
=7JF ...PSBR2   
=7LN ...)   
=7P2          LDX   3  FPTR(3)             [POINT TO PROPERTY BLOCK 
=88L          LDN   4  1
=8N=          ORX   4  GSIGN               [FRIG FOR PRAS  S/R  
=97W          LDX   0  AWORK1(2)
=9MG          CALL  2  PRAS 
==76          BRN      PINUSE              [J IF BEING USED 
==LQ          LDX   2  FX2  
=?6B          LDX   3  ACOMMUNE1(2) 
=?L2          LDX   1  ACOMMUNE2(2) 
=#5L    PNXT  LDN   6  SEARNEXT            [ADDRESS OF S/R  
=#K=          BRN      PSUBROUTE
=*4W    PENDCHAIN   
=*JG    [3. AND 4.  
=B46    [WE NOW LOOK FOR CPATS. 
=B7= ...#   
=B=B ...#   
=B*G ...POINT7  
=BDL ...#   
=BHQ          LDX   1  FX1  
=C3B          LDX   3  FX2  
=CH2    PZ    LDX   7  ACTRING(3)   
=D2L          SBN   7  ACTRING             [X1->NEXT ACTIVITY   
=DG=          LDCH  0  ATYPE(3) 
=D^W          SBN   0  CPAT/64             [IS IT CPAT? 
=FFG ...      BZE   0  PYCPA1              [YES 
=F^6          LDX   3  7                   [X3 -> NEXT ACTIVITY 
=GDQ          BRN      PXNAC
=GG^ ...PYCPA1  
=GK8 ...      LDX   0  JSOURCE3(3)  
=GMC ...      SMO      FX2  
=GPL ...      ERX   0  AWORK1   
=GRT ...      ANDX  0  BITS22LS 
=GW4 ...      BZE   0  PINUSE              [J IF IN USE 
=GYB    PYCPA LDX   3  FPTR(3)             [POINT TO NEXT BLOCK 
=HD2          TXU   3  7                   [IS IT NEXT ACIVITY? 
=HXL          BCC      PXNAC               [YES!
=JC=          LDX   0  ATYPE(3) 
=JWW          TXU   0  XASSOCS(1)   
=KBG          BCC      PASSOCS             [J IF ASSOCS BLOCK   
=KDD ...#SKI  JSKI27
=KGB ...(   
=KJ# ...      TXU   0  XASSOCS1(1)  
=KL= ...      BCC      PASSOCS             [J IF TEMPORARY ASSOCS BLOCK 
=KN8 ...      TXU   0  XASSOCS0(1)  
=KQ6 ...      BCC      PASSOCS0            [ASSOCS+JSOURCE3 
=KS4 ...)   
=KW6          TXU   0  XPROPNOS(1)  
=L*Q          BCS      PYCPA               [J IF NOT APROPNOS   
=LTB          SMO      FX2  
=M*2          LDX   0  AWORK1   
=MSL          LDN   4  1
=N#=          ORX   4  GSIGN
=NRW          CALL  2  PRAS                [HAVE A LOOK 
=P?G          BRN      PINUSE              [J IF IN USE 
=PR6          LDX   2  FX2  
=Q=Q          BRN      PYCPA               [NEXT BLOCK  
=Q?R ...#SKI  JSKI27
=Q#S ...(   
=Q*T ...PASSOCS0
=QBW ...      LDX   5  ALOGLEN(3)          [ASSOCS0(ZERO) BLOCK 
=QCX ...      SBN   5  1
=QDY ...      SMO      5
=QF^ ...      LDX   0  A1(3)               [JSOURCE3 COPY   
=QH2 ...      SMO      FX2  
=QJ3 ...      ERX   0  AWORK1   
=QK4 ...      ANDX  0  BITS22LS 
=QL5 ...      BZE   0  PINUSE   
=QM6 ...      BZE   5  PYCPA               [NO ASSOCIATIONS 
=QN7 ...      BCT   5  PASSC               [AT LEAST ONE ENTRY  
=QP8 ...)   
=QQB    PASSOCS 
=R=2    [HAVE A LOOK IN ASSOCS BLOCK
=RM2 ...      LDX   4  A1(3)               [NO OF ENTRIES   
=S42 ...      LDN   0  ASSOCSLEN           [LENGTH OF EACH ENTRY
=SF2 ...      MPY   4  0
=SW2 ...PASSC BZE   5  PYCPA               [NO MORE ASSOCS  
=T?2 ...      SBN   5  ASSOCSLEN
=TN6          SMO      5
=W7Q          LDX   0  A1+2(3)             [PROPERTY NUMBER 
=WMB          ORX   0  GSIGN
=X72          ERX   0  GSIGN               [REMOVE B0   
=XLL          SMO      FX2  
=Y6=          TXU   0  AWORK1   
=YKW          BCC      PINUSE              [J IF PROPERTIES MATCH   
=^5G          BRN      PASSC
=^K6    PXNAC TXU   3  FX2                 [BACK TO CURRENT ACTIVITY?   
?24Q          BCS      PZ                  [NO  
?259 ...#   
?2HQ ...#   
?2JB    [5. 
?342    [WE FINALLY LOOK IN THE HLSQ
?3HL          LDX   2  FX2  
?43=          LDX   3  BHLSQ
?4GW ...PHLX  TXL   3  ENDFIX   
?52G ...      BCS      PFIN                [END OF Q
?5G6          LDX   0  GSIGN
?5^Q          ORX   0  HLSPCT(3)
?6FB          ERX   0  GSIGN               [THROW AWAY B0   
?6^2          TXU   0  AWORK1(2)
?7DL          BCC      PINUSE   
?7Y=          LDX   3  FPTR(3)  
?8CW          BRN      PHLX 
?8XG    [   
?9C6    [   
?9WQ    [WE HAVE NOW MADE ALL OUR SEARCHES(UNTIL SOMEBODY DREAMS UP ANOTHER)
?=BB    [   
?=W2    PFIN  LDN   7  0                   [NOT IN USE  
??*L          BRN      PTIDY
??T=    PINUSE  
?#?* ...#   
?##W          LDN   7  1
?#SG    PTIDY CLOSEOUT                     [CLOSE SYSOUT
?*#6          BZE   7  NOUSE
?*RQ    XUP   UP
?B?B    NOUSE UPPLUS   1
?BR2    POINT5                             [DUD ENTRY POINTS
?C=L    POINT6  
?CQ=    #END
^^^^ ...47770510000100000000
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1