LISTEND867

(George Source)

Macros used: ALTLEND, ALTLENG, BSXD, BXU, CHAIN, CLOSETOP, FJOCA, FREECORE, GEOERR, GEOPACK, GETSOUT, HUNT, HUNT2J, HUNTW, INSERT, JBC, LFBBS, LFBBUS, LFCHAIN, LFDEL, LFGETPER, LFRECNUM, LFWLINFO, LGEOG, LONGON, MENDAREA, MHUNT, MHUNTW, NAME, NAMETOP, OPENDIR, POINTACT, REWIND, SETENTRY, SKIP, STARTACT, STEP, STEPAGAIN, STEPWRITE, TESTNAME, TESTNAMX, THAW, THAWWF, TRACE, UP

LISTEND867.txt
22FL    #OPT  K0LISTEND=0   
22^=    #LIS  K0LISTEND>K0LISTFILE>K0ALLGEO>K0GREATGEO>K0COMMAND
23DW    #SEG  LISTEND7                     [BOB SEWELL  
23YG                   8HLISTEND
248# ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1983
24D6          SETENTRY LISTEND,POINT,6  
24XQ          MENDAREA 30,K95LISTEND
25CB    [   
25X2    [     THIS SEGMENT IMPLEMENTS SOME OF THE INTERFACES BETWEEN THE
26BL    [     LISTFILE SYSTEM AND OTHER PARTS OF GEORGE(MAINLY FILESTORE)   
26W=    [     IT ALSO CONTAINS THE MODULE FOR INSERTING NEW REQUESTS IN 
27*W    [     :SYSTEM.OUTPUT.   
27TG    [   
28*6    [K1LISTEND     THIS MODULE UPDATES ENTRIES IN :SYSTEM.OUTPUT WHEN   
28SQ    [              A FROZEN FILE IS CLOSED,OR HAS BEEN LOST.
29#B    [              THE SCHEDULER HAS FOUND A GOUT/GABSNB OR A FILE/FABSNB   
29S2    [              IN THE LFCHAIN.  
2=?L    [   
2=R=    [K2LISTEND     IMPLEMENTS THE LFTHAW MACRO. 
2?=W    [   
2?QG    [K3LISTEND     THIS MODULE INSERTS A NEW REQUEST IN :SYSTEM.OUTPUT  
2#=6    [   
2#PQ    [K4LISTEND     IMPLEMENTS THE LFCLOSE MACRO.IT CONVERTS THE FABSNB  
2*9B    [              SUPPLIED BY CLOSE TO A GOUT/GABSNB,AND CHAINS IT IN  
2*P2    [              THE LFCHAIN. 
2B8L    [   
2BN=    [K5LISTEND     IMPLEMENTS THE LFAT MACRO.THIS MACRO IS ISSUED BY
2C7W    [              THE IDF ROUTINES WHEN A PROPERTY HAS BEEN ATTRIBUTED 
2CMG    [              TO A REMOTE DEVICE.  
2D76    [   
2DLQ    [K6LISTEND     IMPLEMENTS THE LFCCAT MACRO.AS LFAT BUT CC ATTRIBUTE.
2F6B    [              THE MACRO IS ALSO ISSUED FOLLOWING CC PROPERTY BUT   
2FL2    [              IN THIS CASE THERE WILL BE NO CPAR/JSCE BLOCK
2G5L    [   
2GK=    [***********************************************************************
2H4W    [DATA AREA  
2HJG    XATT           +ATTRIBUTE          [WAITING STYLE   
2J46    [   
2JHQ    [SOME BIT POSITIONS IN GMODE
2K3B    SETUPBIT       #10000000           [THERE IS A SETUP PARAMETER  
2KH2    PROPBIT        #4000000            [THERE IS A PROPERTY PARAMETER   
2L2L    SIMPBIT        #20000000           [REQUEST BEING IMPLEMENTED   
2LG=    XIMPBIT        #21400000           [IMPLEMENTABLE REQUEST MASK  
2L^W    OPENSET        #400000             [SETUP FILE OFW OR OFFLINE   
2MFG    OPENMAIN       #1000000            [MAIN FILE OFW OR OFFLINE
2M^6    XFILOFFBS      #1400000 
2NDQ    SMULTSETBIT    #10                 [MULTIFILE WITH SETUP
2NYB    [   
2PD2    [   
2PXL    [***********************************************************************
2QC=    [SUBROUTINE AREA
2QWW    PUTR  SBX   5  FX1  
2RBG    [THIS S/R PUTS A RECORD IN SYSOUT.IT WILL THROW THE BLOCK AWAY  
2RW6    [UNLESS THE SUM OF AWORK1 AND AWORK2 IS NON ZERO
2S*Q    [(WHICH CORRESPONDS TO A MULTIFILE ENTRY WHICH IS NOT YET COMPLETE).
2STB          NAMETOP  1,FILE,FWB   
2T*2          LDN   3  #200 
2TSL          ANDX  3  ATYPE(1) 
2W#=          NAME     1,FILE,FWB   
2WRW          INSERT
2X?G          MHUNTW   1,FILE,FWB   
2XR6          ORS   3  ATYPE(1) 
2Y=Q          LDXC  3  GSWORK2(2)          [B0 MAY HAVE BEEN SET BY HSPACTLF IN 
2YQB          ADX   3  GSWORK1(2)          [COPY OF GMULTID 
2^=2          BNZ   3  NOFRE               [J IF COMPLICATED MULTIFILE  
2^PL          FREECORE 1
329=    NOFRE ADX   5  FX1  
32NW          EXIT  5  0
338G    [   
33N6    RECHAIN 
347Q    [THIS S/R REPLACES A STRING FOR A STILL OPEN MULTIFILE IN   
34MB    [THE LFCHAIN UNLESS X4 IS NEGATIVE,WHEN IT FREES IT.
3572          BPZ   4  YEP  
35LL          FREECORE 1
366=          EXIT  3  0
36KW    YEP   LDX   2  BLF+1
375G          CHAIN    1,2  
37K6          EXIT  3  0
384Q    [                          ******** 
38JB    TESTNAME
3942    [THIS S/R COMPARES THE NAME IN THE FABSNB IN ACTIVITY CHAIN 
39HL    [(WHICH IS 10 WORDS LONG) WITH THAT INDICATED BY X3(WHICH MAY HAVE  
3=3=    [BEEN EXPANDED) 
3=GW    [   
3?2G          MHUNT    1,FILE,FABSNB
3?G6          LDX   0  HDREC(3) 
3?^Q          SBN   0  10   
3#FB          BNZ   0  NOTTEN   
3#^2          TESTNAMX 10,HDREC(3),HDREC(1),XERR,2  
3*DL          BRN      XT1  
3*Y=    NOTTEN  
3BCW          ADX   3  HDREC(3) 
3BXG          SBN   3  11   
3CC6          TESTNAMX 3,HDREC(3),HDREC+1(1),XERR,2 
3CWQ          TESTNAMX 6,HDREC+5(3),HDREC+4(1),XERR,2   
3DBB    XT1   ADN   6  1
3DW2    XERR  LDX   1  FX1  
3F*L          LDX   2  FX2  
3FT=          EXIT  6  0
3G#W    [   
3GSG    TESTREQ 
3H#6    [THIS S/R EXAMINES A REQUEST IN :SYSTEM.OUTPUT TO SEE IF IT IS  
3HRQ    [WAITING FOR A FILE TO BE RETRIEVED.THE FILE IN QUESTION IS 
3J?B    [INDICATED BY A FABSNB IN THE ACTIVITY CHAIN.B0 OF AWORK1 SET   
3JR2    [INDICATES THAT THE FILE HAS BEEN LOST. 
3K=L          SBX   7  FX1  
3KQ=          LFRECNUM 5,GMODE-A1(3)
3L9W          STO   5  AWORK3(2)           [NO OF RECORDS IN ENTRY  
3LPG          LDX   5  XFILOFFBS(1) 
3M96          ANDX  5  GMODE-A1(3)  
3M?* ...#UNS  AWLSZ 
3M*J ...(   
3MCR ...      BSXD     6,BLFMULTI   
3MG2 ...      ANDX  6  GMODE-A1(3)  
3MJ9 ...      BNZ   6  TRYIT               [LOOK ANYWAY IF A MULTIFILE  
3MLD ...)   
3MNQ          BNZ   5  TRYIT               [J IF WAITING FOR A FILE 
3N8B    TNEXT LDX   1  AWORK3(2)
3NN2    TNX   SKIP     ,0(1)
3P7L    TXIT  ADX   7  FX1  
3PM=          EXIT  7  0
3Q6W    TRYIT LDX   4  GOUTKEY1-A1(3)      [REMEMBER INDEX KEYS 
3QLG          LDX   0  GOUTKEY2-A1(3)   
3R66          STO   0  AWORK4(2)
3R?# ...#UNS  AWLSZ 
3RDG ...      BNZ   6  TNPR2
3RKQ          LDX   0  OPENMAIN(1)  
3S5B          ANDX  0  5
3SK2          BZE   0  TSET                [J NOT WAITING FOR MAINFILE  
3SSS ...TNPR2   
3T4L          LDX   0  PROPBIT(1)   
3TJ=          ANDX  0  GMODE-A1(3)  
3W3W          BZE   0  TNPR 
3WHG          CALL  6  STEP 
3X36          LDN   0  1
3XGQ          SBS   0  AWORK3(2)
3Y2B    TNPR
3YG2          CALL  6  STEP 
3Y^L          LDN   0  1
3^F=          SBS   0  AWORK3(2)           [ONE LESS RECORD 
3^YW          SBN   3  A1                  [RELATIVISE POINTER  
42DG          CALL  6  TESTNAME            [COMPARE FILE NAMES  
42Y6          BRN      TSET                [J IF NO MATCH   
43CQ          LDX   0  AWORK1(2)
43XB          BPZ   0  TNLOST              [J IF FILE NOT LOST  
44C2          LFDEL    4,AWORK4(2),LOSTM   [DELETE  
44WL          CALL  6  STEPAGAIN
45B=          BRN      TXIT 
45TW    TNLOST  
46*G          LDN   0  1
46T6          SBS   0  AWORK2(2)           [UPDATE FREEZECOUNT  
47#Q          LDX   0  OPENMAIN(1)  
47SB          ORS   0  AWORK1(2)           [NOTE MAIN FILE MATCHES  
48#2    TSET  LDX   0  OPENSET(1)   
48RL          ANDX  0  5
49?=          BZE   0  TEND                [J IF SETUP NOT OFFLINE  
49QW          LDX   1  AWORK3(2)
4==G          SBN   1  1
4=Q6          SBS   1  AWORK3(2)
4?9Q          SKIP     ,0(1)               [POSITION ON LAST RECORD 
4?PB          SBN   3  A1   
4#92          CALL  6  TESTNAME 
4#NL          BRN      TEND                [J IF NO MATCH   
4*8=          LDX   0  AWORK1(2)
4*MW          BPZ   0  TXLOST   
4B7G          LFDEL    4,AWORK4(2),LOSTS   [DELETE  
4BM6          CALL  6  STEPAGAIN
4C6Q          BRN      TXIT 
4CLB    TXLOST  
4D62          LDX   0  OPENSET(1)   
4DKL          ORS   0  AWORK1(2)
4DMT ...[MUST CHECK FOR NON(OR LAST ELEMENT OF A)MULTIFILE  
4DQ4 ...      GETSOUT  ,4,AWORK4(2) 
4DS? ...      CALL  6  STEPAGAIN
4DWG ...      LDX   6  GMODE-A1(3)  
4DYP ...      ANDX  6  SMULTSETBIT(1)   
4F2Y ...      BNZ   6  TEND 
4F5=          LDN   0  1
4FJW          SBS   0  AWORK2(2)           [UPDATE FREEZECOUNT  
4G4G    TEND  LDX   6  XFILOFFBS(1) 
4GJ6          ANDX  6  AWORK1(2)
4H3Q          BZE   6  TNEXT
4H7M ...      LDX   0  OPENSET(1)   
4H?J ...      ANDX  0  AWORK1(2)
4HCF ...      BNZ   0  TENDB
4HHB          GETSOUT  ,4,AWORK4(2) 
4J32          CALL  6  STEPAGAIN
4JGL ...TENDB      STEPWRITE
4JHD ...#UNS  AWLSZ 
4JJ= ...(   
4JK4 ...[ PUT SIZE FROM FABSNB INTO GOUT/INFO   
4JKW ...[   
4JLN ...      LDX   0  OPENMAIN(1)  
4JMG ...      ANDX  0  AWORK1(2)
4JN# ...      BZE   0  TNTMN
4JP6 ...      JBC      TNTMN,3,BLFRWLSIZE   
4JPY ...      CALL  4  SLFWLINFO
4JQQ ...      MHUNT    1,FILE,FABSNB
4JRJ ...      LDX   0  GASIZE(1)
4JR^ ...      BNG   0  TNTM2
4JSB ...      SMO      2
4JT8 ...      STO   0  0(3) 
4JTK ...TNTM2   
4JW2 ...      LDX   4  GOUTKEY1-A1(3)   
4JWS ...      LDX   1  FX1  
4JXL ...      LDX   2  FX2  
4JYD ...TNTMN   
4J^= ...)   
4K2=          LDX   6  XFILOFFBS(1) 
4KFW          ANDX  6  AWORK1(2)
4K^G          ORS   6  GMODE-A1(3)  
4LF6          ERS   6  GMODE-A1(3)  
4LYQ          ERS   6  AWORK1(2)
4MDB    #SKI  K6LISTFILE
4MY2          TRACE    6,LFCLOSE
4NCL          LDX   0  XIMPBIT(1)   
4NX=          ANDX  0  GMODE-A1(3)  
4PBW          BZE   0  TRYPR               [J TO TRY FOR PERIPHERAL 
4PWG ...TRY3  LFRECNUM 1,GMODE-A1(3)
4QB6          BRN      TNX  
4QG3 ...TRYPR LDCH  6  GOPTY-A1(3)  
4QKY ...      STO   6  ACOMMUNE7(2)            [TYPE
4QPT ...      LDN   6  0
4QTQ ...      FINDPERE 1,APFOTY,ACOMMUNE7(2),QNEXTDV,,TRY1,TRY1 
4Q^M ...      BPZ   1  TRY2            [LP EXISTS   
4R5J ...      BZE   6  TRY2 
4R9F ...      BRN      TRY3            [ONLY SW OUT OR ANON EXIST   
4R*B ...TRY1  LDN   6  1            [SW OUT OR ANON DEVICE  
4RF? ...      BRN      QNEXTDV  
4RK8 ...TRY2  LFGETPER 4,AWORK4(2)         [PERFORM GETPER  
4RP5 ...      CALL  6  STEPAGAIN
4RT2          BRN      TXIT 
4S#L    [   
4SS=    STEP  SBX   6  FX1  
4T?W          STEP  
4TRG          ADX   6  FX1  
4W?6          EXIT  6  0
4WQQ    STEPAGAIN   
4X=B          SBX   6  FX1  
4XQ2          STEPAGAIN 
4Y9L          ADX   6  FX1  
4YP=          EXIT  6  0
4YPQ ...[   
4YQ= ...[ ********************************************************************  
4YQQ ...[   
4YR= ...SFNDINFO
4YRQ ...      MHUNTW   2,GOUT,INFO  
4YS= ...      EXIT  1  0
4YSQ ...[   
4YT= ...[ ********************************************************************* 
4YTQ ...[   
4YW= ...SLFWLINFO   
4YWQ ...      LFWLINFO  
4YX= ...      EXIT  4  0
4YXQ ...[   
4YY= ...[********************************************************************** 
4YYQ ...[   
4Y^= ...[  SUBROUTINE TO GET THE GENERATION NUMBER FROM A FILE/FABSNB   
4Y^Q ...[  RENAMED GOUT/INFO2   
4^2= ...[   
4^2Q ...[***********************************************************************
4^3= ...[   
4^3Q ...SGETGEN 
4^4= ...      MHUNT    3,GOUT,INFO2 
4^4Q ...      ADX   3  HDREC(3) 
4^5= ...      SBN   3  2
4^5Q ...      LDX   5  HDREC(3) 
4^6= ...      SBN   5  1
4^6Q ...      EXIT  6  0
4^7= ...[   
4^7Q ...[   
4^8W    [                          ******** 
4^NG    [   
5286    [***********************************************************************
52MQ    [MAIN BODY OF SEGMENT   
537B    [***********************************************************************
53M2    POINT1  
546L    [THIS ENTRY POINT PROCESSES A FABSNB FOR A RECENTLY CLOSED  
54L=    [FROZEN FILE.   
555W    [X4 CONTAINS A GUESS AT INDEX KEY FOR LIKELY CANDIDATE  
55KG    [AWORK2 CONTAINS FREEZE COUNT   
5656    [AWORK1=0 FOR CLOSED FILE   
56JQ    [AWORK1 HAS B0 SET FOR LOST FILE.   
574B          LDX   0  AWORK1(2)
57J2          BNG   0  NOLUCK   
583L          BZE   4  NOLUCK              [J IF NO INDEX KEY   
58H=          LDN   5  0
592W          GETSOUT  ,4,5 
59GG          CALL  6  STEPAGAIN
5=26    TRYAG BZE   3  NOLUCK   
5=FQ          TXU   4  GOUTKEY1-A1(3)   
5=^B          BCS      NOLUCK   
5?F2          CALL  7  TESTREQ  
5?YL          LDX   0  AWORK2(2)
5#D=          BNZ   0  TRYAG
5#QM ...XUP   HUNT     1,FILE,FABSNB
5*54 ...      BNG   1  XUP1 
5*CG          FREECORE 1
5*X6 ...XUP1  UP
5*YH ...#UNS  AWLSZ 
5*^Y ...(   
5B3* ...XUP2  LDX   5  AWORK2(2)
5B4Q ...      BZE   5  XUP  
5B67 ...      LDX   0  AWORK1(2)
5B7J ...      BNG   0  XUP  
5B8^ ...      BZE   0  XUP  
5B=B ...      STO   5  ACOMMUNE4(2) 
5B?R ...      BRN      XUP1 
5B*8 ...)   
5BBQ    NOLUCK  
5BWB    [HAVING MADE OUR EDUCATED GUESS WE NOW SLOG THROUGH THE FILE
5CB2          REWIND
5CTL          CALL  6  STEP 
5CYQ ...#UNS  AWLSZ 
5D3W ...TRYA  BZE   3  XUP2 
5D72 ...#UNS  AWLSZ 
5D=6 ...#SKI
5D*=    TRYA  BZE   3  XUP                 [END OF FILE IS ACCEPTABLE   
5DSW          CALL  7  TESTREQ  
5F#G          LDX   0  AWORK2(2)
5FS6          BZE   0  XUP                 [SATISFIED FREEZECOUNT   
5G?Q          BRN      TRYA 
5GRB    TH    LDX   3  ATYPE(3) 
5H?2          ANDN  3  #200 
5HQL          BZE   3  NOTWF
5J==          THAWWF   NOTWF1              [NO DIRECTORY FOR W/F
5JPW          BRN      Y
5K9G    NOTWF1  
5KP6          MHUNT    1,FILE,FABSNB
5L8Q          LDN   0  #200 
5LNB          ERS   0  ATYPE(1) 
5M82    NOTWF   
5MML          OPENDIR  (GEOERR),GENERAL,ERASING 
5N7=    SBR   THAW     SBR  
5NLW          CLOSETOP  
5P6G          MHUNTW   1,FILE,ENT   
5PL6          FREECORE 1
5Q5Q    Y     MHUNT    1,FILE,FABSNB
5QKB          FREECORE 1
5R52    [   
5RJL    [***********************************************************************
5S4=    POINT2  
5SHW    [THIS ENTRY POINT THAWS AS MANY FILES AS THERE ARE FABSNBS. 
5T3G          HUNT     3,FILE,FABSNB
5TH6          BPZ   3  TH                  [J IF ANY FILES TO THAW  
5W2Q          UP
5WGB    [   
5X22    [***********************************************************************
5XFL    POINT3  
5X^=    [THIS ENTRY POINT INSERTS A REQUEST IN SYSOUT(PERHAPS SEVERAL   
5YDW    [REQUESTS FOR A MULTIFILE).IT EXPECTS GSWRK1 TO CONTAIN GWAKECOUNT  
5YYG    [AND GSWRK2 TO CONTAIN GMULTID  
5^D6    [WE NOW USE THE INDEX KEY  IN THE GOUT/INFO TO POSITION US CORRECTLY
5^XQ    [FOR INSERTING THIS REQUEST,SUPPLYING A ZERO SUBKEY SO WE WILL BE   
62CB    [POSITIONED AT THE FRONT OF THOSE ENTRIES WITH THE SAME FIRST KEY.  
62X2    [WE THEN POSITION AT THE END OF THESE ENTRIES AND CALCULATE A   
63BL    [SUITABLE SUB-KEY BY ADDING 1 TO THAT OF THE LAST OF THEM.  
63W=    [RIGHT THEN!
64*W          MHUNTW   1,GOUT,INFO  
64DF ...      LDCT  0  #200 
64H4 ...      ANDX  0  GMODE(1) 
64KM ...      BZE   0  XNSET
64N= ...      GEOERR   0,LISTSIMP   
64QT ...XNSET   
64TG          LDX   7  GMODE(1) 
65*6          LDX   4  GOUTKEY1(1)  
65SQ          LDN   5  0                   [ZERO SUBKEY 
66#B          GETSOUT  ,4,5 
66S2    OKREP CALL  6  STEPAGAIN
67?L    XSKI  BZE   3  NOW                 [J IF END OF FILE
67R=          TXU   4  GOUTKEY1-A1(3)      [J IF NOT REQUEST IN 
68=W          BCS      NOW                 [REQUIRED CLASS. 
68QG          LDX   5  GOUTKEY2-A1(3)      [UPDATE SUB-KEY  
69=6          LFRECNUM 1,GMODE-A1(3)
69PQ          SKIP     ,0(1)
6=9B          BRN      XSKI 
6=P2    NOW   ADN   5  1                   [CREATE NEW SUBKEY   
6?8L          MHUNTW   1,GOUT,INFO  
6?N=          STO   5  GOUTKEY2(1)  
6#7W          STO   4  AWORK3(2)
6#MG          LDN   4  1
6*76          STO   5  AWORK4(2)
6*LQ    [IF WE ARE DEALING WITH A MULTIFILE INVOLVING SETUP,THEN THE FLAG   
6B6B    ['SMULTSETBIT' WILL BE SET IN GMODE TO PREVENT THAWING OF THE SETUP 
6BL2    [FILE AFTER LISTING EACH COMPONENT.(IT IS ONLY FROZEN ONCE!). WHEN  
6C5L    [WE REACH THE LAST COMPONENT OF THE MULTIFILE,WE UNSET THE FLAG.
6CK=    [   
6CP7 ...[IF WE ARRIVED HERE FOLLOWING A CHANGELIST(URGENCY) COMMAND FOR 
6CT4 ...[A MULTIFILE INVOLVING A SETUP FILE, WE MUST NOT ALTER THE FLAG 
6CY^ ...['SMULTSETBIT' IN ANY WAY,(REMEMBER FROZEN? !!!)
6D4W ...[GSWORK1 (THE COMPONENT COUNT) WILL BE ZERO IN THIS CASE.   
6D8R ...SMORE LDX   0  GSWORK1(2)   
6D#N ...      BZE   0  NOCLEAR            [J IF ARRIVED FROM LFCHANGE.  
6DDK ...      SMO      FX1  
6DJG          LDX   3  SMULTSETBIT  
6F46          ANDX  3  GMODE(1) 
6FHQ          SBS   4  GSWORK1(2)          [SUBTRACT 1 FROM NUMBER OF COMPONENTS
6G3B          BZE   3  NOCLEAR  
6GH2          LDX   0  GSWORK1(2)   
6H2L          ADXC  0  GSWORK2(2)   
6HG=          BNZ   0  NOCLEAR             [NOT LAST COMPONENT  
6H^W          ERS   3  GMODE(1) 
6JFG    NOCLEAR 
6JFY ...#UNS  AWLSZ 
6JGB ...(   
6JGS ...[   
6JH= ...[ IF WLSIZE MACRO ON THEN MOVE SIZE OF CURRENT GENERATION INTO GOUT/INFO
6JHN ...[   
6JJ6 ...      JBC      XNOGS,1,BLFWLSIZE
6JJJ ...      LDN   5  0
6JK2 ...      JBC      XNMLT,1,BLFMULTI 
6JKD ...      CALL  6  SGETGEN  
6JKW ...XNMLT HUNTW    3,GOUT,GESIZE
6JL# ...      BNG   3  XNOGS
6JLQ ...      SMO      5
6JM8 ...      LDX   5  A1(3)
6JML ...      LDN   6  1
6JN4 ...      ADS   6  A1(1)
6JNG ...      ADX   6  ALOGLEN(1)   
6JNY ...      ALTLENG  1,6,SFNDINFO 
6JPB ...      LDXC  0  GSWORK2(2)   
6JPS ...      ADX   0  GSWORK1(2)   
6JQ= ...      BNZ   0  XNOFR
6JQN ...[ FREE GOUT/GESIZE IF NO MORE ELEMENTS OF MULTIFILE 
6JQX ...      MHUNTW   3,GOUT,GESIZE
6JR6 ...      FREECORE 3
6JRJ ...XNOFR MHUNTW   3,GOUT,INFO  
6JS2 ...      ADN   3  A1   
6JSD ...      CALL  4  SLFWLINFO
6JSW ...[ PUT SIZE IN GOUT/INFO BLOCK   
6JT# ...      SMO      2
6JTQ ...      STO   5  0(3) 
6JW8 ...      LDN   4  1
6JWL ...      LDX   1  3
6JX4 ...      SBN   1  A1   
6JXG ...XNOGS   
6JXY ...)   
6J^6          CALL  5  PUTR                [INSERT RECORD   
6KDQ          BZE   3  QFRE1               [J IF NOT OPEN MULTIFILE,OR IF   
6KYB          NAME     1,GOUT,INFO  
6L2# ...#UNS  AWLSZ 
6L4= ...(   
6L59 ...      JBC      XNOGS1,1,BLFWLSIZE   
6L68 ...      NGN   5  1
6L86 ...      ADS   5  A1(1)
6L=4 ...      ADX   5  ALOGLEN(1)   
6L#2 ...      ALTLENG  1,5  
6L#^ ...XNOGS1  
6L*Y ...)   
6LD2    QFRE1 SMO      FX1  
6LXL          LDX   0  PROPBIT  
6MC=          ANDX  0  7
6MWW          BZE   0  QFRE2               [J IF NO PROPERTY RECORD 
6NBG          MHUNTW   1,GOUT,INFO4 
6NW6          CALL  5  PUTR 
6P*Q          BZE   3  QFRE2               [J IF BLOCK FREED
6PTB          NAME     1,GOUT,INFO4 
6Q*2    QFRE2 BNG   7  QFRE3               [J IF ONLINE 
6QSL          MHUNT    1,GOUT,INFO2 
6R#=          CALL  5  PUTR 
6RRW          BZE   3  QFRE3               [J IF FREED  
6S?G          NAMETOP  1,GOUT,INFO2        [CAVE  WORKFILE! 
6SR6          ADX   1  HDREC(1) 
6T=Q          SBN   1  2
6TQB          ADS   4  HDREC(1)            [ADVANGE GEN. NO.
6W=2    QFRE3 SMO      FX1  
6WPL          LDX   0  SETUPBIT 
6X9=          ANDX  0  7
6XNW          BZE   0  QFRE4               [J IF NO SETUP FILE  
6Y8G          MHUNT    1,GOUT,INFO3        [REMEMBER B16!   
6YN6          CALL  5  PUTR 
6^7Q          BZE   3  QFRE4
6^MB          NAMETOP  1,GOUT,INFO3 
7272    QFRE4 LDX   0  GSWORK1(2)   
72LL          BZE   0  THATSALL 
736=    [FOR ALL BUT MULTIFILES ONLY ONE PASS WILL BE MADE THROUGH THE LOOP.
73KW    [AWORK1 MAY HAVE BEEN INCREMENTED BY HSPACTLF WHILE COORDINATING,   
745G    [ALSO AWORK2 WILL HAVE HAD B0 SET IF THE MULTIFILE IS NOW CLOSED
74K6          MHUNTW   1,GOUT,INFO  
754Q          LDN   0  1
75JB          ADS   0  GOUTKEY2(1)         [INCREMENT INDEX SUB-KEY 
7642          LDXC  0  GSWORK2(2)   
76HL          BCC      SMORE
773=          STOZ     GSWORK2(2)          [TO SHOW MULTIFILE NOW CLOSED.   
77GW          BRN      SMORE
782G    THATSALL
78G6    [IF WE ARE DEALING WITH A MULTIFILE WHICH IS STILL OPEN,THEN WE 
78^Q    [MUST RECHAIN THE STRING IN THE LFCHAIN.IF WE HAVE A PERIPHERAL 
79FB    [THEN WE MUST FIRST COPY THE BLOCKS.
79H5 ...#UNS  AWLSZ 
79JS ...(   
79LH ...      HUNTW    1,GOUT,INFO  
79N= ...      BNG   1  NFIN 
79P5 ...THTSL   
79P^ ...)   
79RN ...#UNS  AWLSZ 
79TC ...#SKI
79X6 ...(   
79^2          LDX   4  GSWORK2(2)   
7=DL          BZE   4  NFIN                [NOT MULTIFILE   
7=Y=          MHUNTW   1,GOUT,INFO  
7?84 ...)   
7?CW          LDX   3  GSWORK1(2)          [ENSURE WE HAVEN'T MISSED
7?XG          STO   3  GWAKECOUNT(1)       [ANY HSPACTLF UPDATES
7#25 ...#UNS  AWLSZ 
7#4N ...(   
7#7? ...      LDX   4  GSWORK2(2)   
7#9W ...      STO   4  GMULTID(1)   
7##F ...)   
7#C6          BPZ   4  Q4   
7#WQ          STOZ     GMULTID(1)   
7#XM ...#UNS  AWLSZ 
7#YJ ...(   
7#^F ...[   
7*2B ...[ RECHAIN GOUT/GESIZE BLOCK BACK IN GOUT/INFO CHAIN 
7*3? ...[   
7*48 ...Q4    LDN   6  0
7*55 ...      JBC      XQ4,1,BLFWLSIZE  
7*62 ...      LDN   6  1
7*6X ...XQ4   CALL   3  RECHAIN 
7*7S ...      BZE   6  XQ5  
7*8P ...      MHUNTW   1,GOUT,GESIZE
7*9L ...      CALL  3  RECHAIN  
7*=H ...XQ5 
7*?D ...)   
7*#* ...#UNS  AWLSZ 
7**= ...#SKI
7*BB    Q4    CALL  3  RECHAIN             [RECHAIN BLOCK OR FREE IT
7*W2          LDX   0  PROPBIT(1)   
7B*L          ANDX  0  7
7BT=          BZE   0  Q5   
7C#W          MHUNTW   1,GOUT,INFO4 
7CSG          CALL  3  RECHAIN  
7D#6    Q5    MHUNT    1,GOUT,INFO2 
7DRQ          CALL  3  RECHAIN  
7F?B          LDX   0  SETUPBIT(1)  
7FR2          ANDX  0  7
7G=L          BZE   0  QNM  
7GQ=          MHUNT    1,GOUT,INFO3 
7H9W          CALL  3  RECHAIN  
7HPG    QNM   STOZ     GSWORK2(2)          [AVOID ANY MORE HSPACTLFS
7J96    NFIN  LDX   0  AWORK3(2)
7JNQ          STO   0  ACOMMUNE1(2)        [TRANSFER INDEX KEYS 
7K8B          LDX   0  AWORK4(2)
7KN2          STO   0  ACOMMUNE2(2) 
7L7L          UP
7LM=    [   
7M6W    [***********************************************************************
7MLG    POINT4  
7N66    [THIS ENTRY POINT IMPLEMENTS THE LFCLOSE MACRO  
7NKQ          LDX   4  ACOMMUNE1(2)        [FREEZECOUNT 
7NQY ...#UNS  AWLSZ 
7NY6 ...      LDX   5  ACOMMUNE2(2) 
7P5B          MHUNT    1,FILE,FABSNB
7P=J ...#UNS  AWLSZ 
7PCQ ...      ALTLEND  1,GASIZE+1-A1,FILE,FABSNB
7PJY ...#UNS  AWLSZ 
7PQ6 ...#SKI
7PX# ...      ALTLEND  1,GAFREEZE+1-A1,FILE,FABSNB  
7Q4L          MHUNT    3,FILE,FABSNB
7QJ=          NAMETOP  3,GOUT,GABSNB
7R3W          STO   4  GAFREEZE(3)  
7R94 ...#UNS  AWLSZ 
7RB= ...      STO   5  GASIZE(3)
7RHG          LDCH  0  ATYPE(2) 
7S36          SBN   0  CPAT/64  
7SGQ          BZE   0  XJBLK               [J IF CPA
7T2B          STOZ     GAKEY(3) 
7TG2          BRN      XLFCHAIN 
7T^L    XJBLK   
7WF=          LDX   0  JOBNO(2) 
7WYW          BZE   0  XLFCHAIN            [J IF NO JOB BLOCK   
7XDG          FJOCA    2                   [FIND JOB BLOCK  
7XY6          LDX   4  JOBNUM(2)
7YCQ          STO   4  GAKEY(3) 
7YXB          LDX   4  JURGE(2) 
7^C2          ORX   4  GSIGN
7^WL          ERX   4  GSIGN
82B=          BNZ   4  SETAL
82TW          LDX   4  JPRIV(2) 
83*G          ANDN  4  JSISSUE  
83T6          BZE   4  NSYS 
84#Q          LDN   4  #41  
84SB          BRN      SETAL
85#2    NSYS  LDN   4  #55  
85RL    SETAL DCH   4  GAKEY(3) 
86?=    XLFCHAIN
86QW          LFCHAIN  GOUT,GABSNB  
87=G          STARTACT OUT  
87Q6          UP
889Q    [   
88PB    [***********************************************************************
8992 ...[   
89NL ...SFINDACT
8=8=    [   
8=MW    [ FIND ACTLF FOR REMOTE DEVICE  
8?7G    [   
8#LB          MHUNTW   3,CPAR,JSCE  
8*62          LDX   6  JSCEA(3)            [DEVICE  
8*KL          LDX   7  JSCEB(3)            [IDENTIFIERS.
8BJW          POINTACT OUT,3               [FIND SCHEDULER  
8C4G          LDN   4  JOBRING(3)   
8CJ6          LFBBUS   G,3,NXACT           [J IF DOES NOT OWN A REMOTE DEVICE   
8F32          TXU   6  GSWORK1(3)   
8FGL          TXU   7  GSWORK2(3)   
8G2=          BCC      THISPERI            [J IF SAME DEVICE
8GFW    NXACT LDX   3  JOBRING(3)   
8G^G          TXU   3  4
8H9# ...      BCS      MORE                [ J IF MORE ACTLFS   
8H9X ...XFSHA1  
8H?5 ...RNONE   
8HF6 ...      UP
8HNY ...MORE
8HYQ          SBN   3  JOBRING  
8JDB    TRYSC LFBBUS   G,3,NXACT           [J IF DOES NOT OWN REMOTE DEVICE 
8JY2          TXU   6  JSOURCE1(3)  
8KCL          TXU   7  JSOURCE2(3)  
8KX=          BCS      NXACT
8L4D ...XFSH4   
8LBW    THISPERI
8LSY ...
8LWG          HUNT2J   3,GOUT,GPROPNOS,,NOTF
8LWT ...      EXIT  5  0
8LX8 ...[   
8LXH ...[***********************************************************************
8LXW ...[   
8LY9 ...POINT5  
8LYJ ...[   
8LYX ...[ LFAT MACRO
8L^= ...[ AWORK1 = -VE IF CONSOLE PROPERTY  
8L^K ...[ AWORK2 = PROPERTY NUMBER  
8L^Y ...[   
8M2? ...      CALL  5  SFINDACT            [ FIND ACTLF 
8M2L ...      LDX   0  AWORK1(2)
8M2^ ...      BPZ   0  NOTCONS             [ J IF NOT CONSOLE PROPERTY  
8M3# ...      LDX   0  GPROPNUM(3)  
8M3M ...      BNZ   0  NOTF                [ J IF ALREADY CONSOLE PROPERTY  
8M42 ...      LDX   0  AWORK2(2)
8M4* ...      STO   0  GPROPNUM(3)  
8M4N ...      UP
8M4T ...NOTCONS 
8M53 ...      LDN   4  ATTMAX-1 
8M5B ...      LDN   1  1(3) 
8M5H ...RADDL   
8M5P ...      LDX   0  GPROPNUM(1)  
8M64 ...      BZE   0  RADDF               [ J IF FOUND FREE SPACE  
8M6C ...      ADN   1  1
8M6Q ...      BCT   4  RADDL
8M75 ...      BRN      NOTF                [ ALREADY MAX. NO. OF PROPS  
8M7Y ...RADDF   
8M8S ...      LDX   0  AWORK2(2)
8M97 ...      STO   0  GPROPNUM(1)  
8M99 ...TOUPRET 
8M9T ...      UP
8M=B ...[   
8M=H ...[***********************************************************************
8M=W ...[   
8M?9 ...POINT6  
8M?J ...[   
8M?X ...[ LFCCAT MACRO  
8M#= ...[ AWORK2 = PROPERTY NUMBER  
8M## ...[ IF CPAR/JSCE BLOCK
8M#B ...[ THEN CC AU FOR THAT DEVICE
8M#D ...[ ELSE CC PR => CC AU FOR ALL DEVICES   
8M#G ...[ FI
8M#K ...[   
8M#N ...      HUNTW    3,CPAR,JSCE  
8M#R ...      BNG   3  RCCPR               [ J IF CC PR 
8M#Y ...      CALL  5  SFINDACT 
8MBX ...      LDN   6  0                   [ ONE DEVICE ONLY CASE   
8MDW ...RCCS
8MGT ...      LDN   4  ATTMAX   
8MJX ...RCCL
8MRN ...      SMO      4
8N2F ...      LDX   0  GPROPNUM-1(3)
8N6^ ...      SMO      FX2  
8N?F ...      ERX   0  AWORK2   
8ND3 ...      ANDX  0  BSP16               [ COMPARE NUMBERS ONLY   
8NLS ...      BZE   0  RCCF                [ J IF FOUND PROPERTY
8P4B ...      BCT   4  RCCL 
8P7Q ...      BNZ   6  RCCPRF              [ J IF CHECKING ALL DEVICES  
8P8W ...                              [PROPERTY HAS NOT BEEN FOUND IN   
8P=2 ...                                     [GOUT GPROPNOS BLOCK   
8P?6 ...      LDN   0  1
8P#= ...      ADS   0  ALFATCT2 
8P*B ...      UP
8PBH ...RCCF
8PBY ...      LDN   0  1
8PC* ...      SBX   0  4
8PCQ ...      BNZ   0  RCCFA               [J. IF PROP. NOT CONSOLE 
8PD7 ...      SMO      4
8PDJ ...      STO   0  GPROPNUM-1(3)       [ZEROISE CONSOLE PROP DO NOT MOVE UP 
8PD^ ...      BRN      RNMVA
8PFB ...RCCFA   
8PFY ...      LDN   5  ATTMAX   
8PNP ...      SBX   5  4
8PXG ...      BZE   5  RNMOVE              [ J IF NO PROPS FURTHER DOWN BLOCK   
8Q*4 ...      SMO      4
8QHT ...      LDN   1  GPROPNUM-1(3)
8QQL ...      LDN   0  1(1) 
8Q^C ...      SMO      5
8R88 ...      MOVE  0  0
8RB^ ...RNMOVE  
8RKQ ...      STOZ     GPROPNUM-1+ATTMAX(3) [ CLEAR LAST PROPERTY   
8RMD ...RNMVA   
8RP6 ...      BNZ   6  RCCPRF              [ J IF CHECKING ALL DEVICES  
8RSH ...      UP
8S3# ...[   
8SGY ...RCCPR   
8T2J ...      LDN   6  1                   [ ALL DEVICES CASE   
8TG8 ...      POINTACT OUT,2
8THX ...XSKB1   
8T^S ...      LDX   7  2                   [ X7 = END OF RING   
8WFD ...RCCPRL  
8W^4 ...      LDX   2  JOBRING(2)   
8XDN ...      SBN   2  JOBRING  
8XY# ...      LFBBS    G,2,RCCS1           [ J IF GOUT/GPROPNOS BLOCK   
8X^* ...XSKB2   
8YCY ...      LDX   1  CPPTR(2) 
8YXJ ...      LGEOG    1,5                 [ LOCAL AUXILARY WAITING STYLE   
8^C8 ...      BRN      RCCPRF1  
8^WS ...RCCPRF  
92BD ...      GEOPACK  5,JSOURCE1(2)       [ REMOTE AUXILARY WAITING STYLE  
92W4 ...RCCPRF1 
935W ...      LDX   3  2
93*N ...      LONGON   ATTRIBUTE,5         [ START ACTLF IF WAITING ON PROPERTY 
93N5 ...      LDX   2  3
93T? ...RCCPRQ  
942G ...      BXU   2  7,RCCPRL            [ J IF NOT AT END OF RING
94#Y ...      UP
94DT ...RCCS1   
94JQ ...      HUNT2J   3,GOUT,GPROPNOS,2,NOTF   [HUNT BLOCK GOUT GPROPNOS   
94NM ...      BRN      RCCS 
94SJ ...[   
95#8 ...NOTF
95RS ...      GEOERR   1,LFATT             [SOMETHING WRONG 
96?D ...#END
^^^^ ...61653230000100000000