INDEX85

(George Source)

Macros used: ALTLEN, BFCBX, BS, BXE, BXL, BXU, FINDEXB, GEOERR, JBC, KEYREC, MENDAREA, MHUNTW, MONOUT, NAME, OUTPARAM, PSTAC, SEGENTRY, SETNCORE, SETREP, SETUPCORE, SFCAB, SFSTACK, SHORTEN, TESTREP2, TRACE, UNNORM, UP, VFREE

INDEX85.txt
22FL    #SEG  INDEX7                       [J. D. BIDGOOD   
22^=    #OPT  K0INDEX=K0FILESTORE>K0ACCESS>K0ALLGEO 
23DW    #LIS  K0INDEX   
23YG    #OPT  K6INDEX=K6FILESTORE>K6ACCESS>K6ALLGEO 
24D6          8HINDEX   
24XQ          SEGENTRY K2INDEX,TWOINS   
25CB          SEGENTRY K3INDEX,THRINS   
25X2          SEGENTRY K4INDEX,SFRINS   
26BL          SEGENTRY K5INDEX,XCALCKEY 
26W=          SEGENTRY K7INDEX,XDELKEY  
2764 ...      SEGENTRY K8INDEX,XFNEARLY 
27*W    #   
27TG    # THIS SEGMENT RECALCULATES THE BLOCK KEYS FOR BLOCKS ALTERED BY DELETE 
28*6    # AND INSERT AND UPDATES THE INDEX RECORD IN THE FI/FINDEXF BLOCK.THERE 
28SQ    # ARE 5 ENTRY PTS, AS FOLLOWS:- 
29#B    #   
29S2    #     K2INDEX - FROM INSERTWO TO CALCULATE KEYS FOR 2 USAGE BLOCKS IN FI
2=?L    #               CHAIN, ONE OF WHICH MAY BE A NEW BLOCK. 
2=R=    #     K3INDEX - FROM INSERTHR TO CALCULATE KEYS FOR 3 USAGE BLOCKS IN FI
2?=W    #               CHAIN. THE MIDDLE BLOCK IS A NEW ONE.   
2?QG    #     K4INDEX - FROM INSERTFR TO CALCULATE KEYS FOR 3 USAGE BLOCKS IN FI
2#=6    #               CHAIN. THE LAST TWO ARE NEW.
2#PQ    #     K5INDEX - FROM DELETE TO RECALCULATE KEY FOR CURRENT BLOCK OF FILE
2*9B    #     K7INDEX - FROM DELETE TO REMOVE BLOCK KEY FOR CURRENT BLOCK WHICH 
2*P2    #               HAS BEEN DELETED FROM THE FILE. 
2*W8 ...#     K8INDEX - FROM APPEND TO CHECK FOR FNEARLY FULL   
2B3B ...#             INDEXED FILES.
2B8L    # IN ALL COMMENTS IN SEGMENT WE ABBREVIATE "THE CONTENTS OF FREADBLOCK" 
2BN=    # TO "N", WHEN REFERRING TO PARTICULAR BLOCKS OF THE FILE.  
2C7W    #   
2CMG    ZGEOER1 
2D76          GEOERR   1,NOTINDEX   
2DLQ    ZGEOER2 
2F6B          GEOERR   1,INDEXBLK   
2FL2    ZGEOER3 
2G5L          GEOERR   1,NOBLOCK
2GK=    ZGEOER4 
2H4W          GEOERR   1,FILEBENT   
2H=4 ...ZGEOER5 
2HC= ...      GEOERR   1,FILEFULL   
2HJG    #   
2J46    SBLOCKEY
2JHQ    # THIS SUBROUTINE PUTS ZERO WORD(S) INTO THE INDEX RECORD AT A POSITION 
2K3B    # GIVEN BY CONTENTS OF X4. THIS CONTAINS A POINTER,RELATIVE TO INDEXREC 
2KH2    # IN THE INDEX BLOCK,TO THE WORD AFTER WHICH THE NEW WORD(S) ARE TO BE  
2L2L    # INSERTED. X5 CONTAINS NO. OF WORDS TO INSERT  
2LG=          SBX   7  FX1                 [DECREMENT LINK  
2L^W          CALL  6  SFINDEX             [X1 -> INDEX BLOCK   
2MFG          LDX   3  1
2M^6          LDX   6  ALOGLEN(1)   
2NDQ          ADX   6  5                   [LENGTHEN INDEX BLOCK BY NO. OF  
2NYB          ALTLEN   3,6                 [WORDS TO BE INSERTED.   
2PD2          CALL  6  SFINDEX             [X1->INDEX BLOCK 
2PXL          LDX   2  A1(1)
2QC=          SBN   2  INDEXREC-A1+1       [X2 CONTAINS NO. OF BLOCK KEY WORDS  
2QWW          SBX   2  4                   [TO BE MOVED DOWN
2RBG          LDN   3  A1(1)
2RW6          ADX   3  A1(1)               [X3 -> WORD AFTER LAST BLOCK KEY 
2S*Q    #SKI  K6INDEX>599-599   
2STB    (   
2T*2          TRACE    3,SINZERO
2TSL          TRACE    2,MOVEBLKS   
2W#=    )   
2WRW          BZE   2  XZERO               [J IF NO WORDS TO MOVE. I.E. APPENDIN
2X?G    XMOVE   
2XR6          SBN   3  1                   [X3 -> BLOCK KEY TO BE MOVED 
2Y=Q          LDX   0  0(3) 
2YQB          SMO      5                   [MOVE DOWN BY NO CONTAINED IN X5.
2^=2          STO   0  0(3) 
2^PL          BCT   2  XMOVE
329=    XZERO   
32NW          ADS   5  A1(1)               [INCREMENT REC. HDDR IN INDEX BLOCK. 
338G    XZERO1  
33N6          STOZ     0(3) 
347Q          SBN   5  1                   [ZEROISE NEW WORD(S).
34MB          BZE   5  XOUT 
3572          ADN   3  1
35LL          BRN      XZERO1   
366=    XOUT
36KW          ADX   7  FX1                 [INCREMENT LINK. 
375G          EXIT  7  0
37K6    #   
384Q    SFINDEX 
38JB    # THIS SUBROUTINE FINDS THE INDEX BLOCK AND GIVES A PTR TO IT IN X1.
3942          SMO      FX2  
39HL          LDX   0  AWORK2   
3=3=          FINDEXB  0,1  
3=GW          EXIT  6  0
3?2G    #   
3?G6    SCALCKEY
3?^Q    # THIS SUBROUTINE RECALCULATES THE BLOCK KEY FOR THE USAGE BLOCK OF TYPE
3#FB    # GIVEN IN WORD AFTER THE CALL AND STORES IT. ON ENTRY X4 CONTAINS A PTR
3#^2    # RELATIVE TO INDEXREC TO POSITION OF CURRENT BLOCK KEY IN INDEX BLOCK. 
3*DL          CALL  6  SUBFIND             [X3 -> USAGE BLOCK GIVEN IN WORD AFTE
3*Y=                                       [SCALCKEY CALL.X2 -> FCB 
3BCW          STO   3  GEN3 
3BXG          ADN   3  A1   
3CC6          SBX   1  FX1                 [DECREMENT LINK. 
3CWQ          SMO      FX2  
3DBB          STO   1  AWORK4              [STORE LINK  
3DW2          STOZ     GEN6                [ZEROISE "HIGHEST KEY FOUND" REGISTER
3F*L          STOZ     7                   [ZEROISE KEY FOUND MARKER.   
3FT=    NEXTREC 
3G#W          LDX   6  FRH(3)              [PICK UP NEXT RECORD 
3GSG          BZE   6  XINDEX   
3H#6          KEYREC   2,,3,NKEY,5         [X5 CONTAINS REC KEY. J IF NONE. 
3HRQ          BXL   5  GEN6,ZGEOER4        [ERROR IF LESS THAN HIGHEST KEY FOUND
3J?B          STO   5  GEN6                [UPDATE 'HIGHEST KEY FOUND'  
3JR2          BNZ   7  NKEY                [J IF NOT FIRST KEY FOUND.   
3K=L          STO   3  7                   [SET 'KEY FOUND' MARKER  
3KQ=          STO   5  GEN5                [STORE FIRST KEY FOUND IN BLK.   
3L9W    NKEY
3LPG          ADX   3  6
3M96          BRN      NEXTREC  
3MNQ    XINDEX  
3N8B          CALL  6  SFINDEX             [X1 -> INDEX BLOCK   
3NN2          BZE   7  NOFOUND             [J IF "KEY FOUND" MARKER NOT SET.
3P7L          LDX   5  GEN6                [HIGHEST KEY FOUND   
3PM=          BRN      STOKEY   
3Q6W    NOFOUND 
3Q*6          BNZ   4  NFIRST              [J IF NOT 1ST BLOCK OF FILE. 
3QHB          LDN   5  0                   [SET A KEY OF ZERO FOR 1ST BLOCK.
3QPL          BRN      STOKEY   
3QXW    NFIRST  
3R66          SMO      4                   [PICK UP BLOCK KEY OF PREVIOUS BLOCK.
3RKQ          LDX   5  INDEXREC-1(1)
3S5B    STOKEY  
3SK2          SMO      4                   [STORE 'HIGHEST KEY FOUND' IN
3T4L          STO   5  INDEXREC(1)         [BLOCK KEY WORD  
3TJ=          BS       2,BFINDEXALT        [SET 'INDEX ALTERED' MARKER. 
3W3W    NOCHANGE
3WHG          LDX   3  GEN3 
3X36    #SKI  K6INDEX   
3XGQ    (   
3Y2B          LDX   0  ALOGLEN(1)   
3YG2          SBN   0  INDEXREC-A1+1
3Y^L          SBX   0  4
3^F=          BZE   0  ZEROISED            [J IF LAST BLOCK OF FILE.
3^YW          SMO      4
42DG          LDX   0  INDEXREC+1(1)
42Y6          BZE   0  ZEROISED 
43CQ          BXL   0  5,ZGEOER2
43XB    ZEROISED
44C2          BZE   4  XFIRSTBLK
44WL          BZE   7  XFIRSTBLK
45B=          LDX   0  GEN5 
45TW          SMO      4
46*G          BXL   0  INDEXREC-1(1),ZGEOER2
46T6    XFIRSTBLK   
47#Q    )   
47SB          NAME     3,FILE,FUWB  
48#2          SMO      FX2  
48RL          LDX   1  AWORK4   
49?=          ADX   1  FX1  
49QW          EXIT  1  1
4==G    #   
4=Q6    SUBFIND 
4?9Q    # THIS SUBROUTINE SEARCHES THE FILE CHAIN FOR USAGE BLOCK OF TYPE/SUBTYP
4?PB    # CONTAINED IN WORD POINTED TO BY X1 AND GIVES A PTR TO IT IN X3.   
4#92          SMO      FX2  
4#NL          LDX   0  AWORK2              [FILE DEPTH  
4*8=          SFSTACK  0,3                 [X3 -> FCA   
4*MW          PSTAC    3,3                 [X3 -> FSTACK
4B7G          BFCBX    2,3                 [X2 -> FCB   
4BM6    SFULP   
4C6Q          LDX   3  FPTR(3)             [NEXT BLOCK  
4CLB          LDX   0  ATYPE(3) 
4D62    #SKI K6INDEX
4DKL          BXE   0  FILEPLUSFCB,ZGEOER3 [ERROR IF NOT FOUND  
4F5=          BXU   0  0(1),SFULP          [J IF WRONG TYPE 
4FJW          EXIT  6  0
4G4G    #   
4GJ6    SFCAB   
4H3Q    # THIS SUBROUTINE GIVES A PTR IN X3 TO THE FCA AND A PTR IN X2 TO THE   
4HHB    # FCB. ON ENTRY X6 CONTAINS FILE DEPTH. 
4J32          SFSTACK  AWORK2(2),3,1       [X3 -> FCA, X1 -> FSTACK.
4JGL          BFCBX    2,1  
4K2=          EXIT  7  0
4K2Q ...# INDEXED FILE FNEARLY FULL ROUTINE 
4K3= ...# EXITS WITH X3->FCA, X1->FSTACK, X2->FCB   
4K3Q ...SFNEARLY
4K4= ...      SBX   6  FX1    [  SET LINK   
4K4Q ...      TESTREP2   FILEFULL,ZGEOER5  [ FILE FULL TEST (INDEXED)   
4K5= ...      CALL  7  SFCAB     [ X2->FCB  
4K5Q ...      LDX   0  FBLMOD(2)   [ LENGTH OF FCB  
4K6= ...      SBN   0  AF2  
4K6Q ...      ADN   0  FNEARLY*8+A1 
4K7= ...      SBX   0  FSIZE(2) 
4K7Q ...      BNG   0  SNFOKAY    [ J- IF NOT NEARLY FULL   
4K8= ...      TRACE   0,FNEARLY 
4K8Q ...      SBN   0  FNEARLY*8    [ WE BREAK IF £*FNEARLY MESSAGES
4K9= ...      BZE   0  ZGEOER5    [ COME OUT (I.E. FILE FULL CASE   
4K== ...# OUTPUT MESSAGES TO OPS CL AND FORCED TO MON FILE  
4K=Q ...      LDN   4  10   [NOT DIRECTORY CREADL BL LEN
4K?= ...      JBC   SNFNDIRA,2,BFDIR  [ J- IF NOT DIRECTORY 
4K?Q ...      LDN   4  4    [ DIRECTORY CREADL BL LEN   
4K#= ...SNFNDIRA
4K#Q ...      SETNCORE   37,2,ADATA,CREADL   [ X2->BL,SZ 37WDS  
4K*= ...      STOZ      A1(2)    [ ZERO DATA LENGTH 
4K*Q ...      SETUPCORE   4,5,FILE,FABSNB   [X4->BL,SIZE 4 OR 10 WDS
4KB= ...      CALL  7  SFCAB  [ X2 -> FCB   
4KBQ ...      LDX   3  5      [ X3-> FABSNB 
4KC= ...      ADN  3  A1+1  
4KCQ ...      JBC   SNFNDIRB,2,BFDIR   [ J - IF NOT DIRECTORY   
4KD= ...      ADN   2  FME1 
4KDQ ...      MOVE  2  3     [ MOVES ACROSS DIRECTORY USERNAME  
4KF= ...      LDN   3  4     [ UPDATES FABSNB DATA LENGTH   
4KFQ ...      SMO      5
4KG= ...      STO   3  A1   
4KGQ ...      BRN      SNFOUTP  
4KH= ...SNFNDIRB
4KHQ ...      ADN   2  FUSER1   
4KJ= ...      MOVE  2  9    [ MOVE ACROSS FILE DESCRIPTION  
4KJQ ...      LDN   3  10   
4KK= ...      SMO      5
4KKQ ...      STO   3  A1   
4KL= ...SNFOUTP 
4KLQ ...      UNNORM   FULL    [ FORMAT MESSAGE 
4KM= ...      MHUNTW   1,ADATA,CREADL   
4KMQ ...      OUTPARAM   A1(1),CPDATA,ADATA,CREADL  
4KN= ...      MONOUT   ANFULLIND    [ OUTPUT MESSAGE
4KNQ ...      VFREE   FILE,FABSNB    [ FREE BLOCKS USED 
4KP= ...      VFREE   ADATA,CREADL  
4KPQ ...      LDX   2  FX2  
4KQ2 ...      SETREP   FNEARLY  
4KQ= ...      CALL  7  SFCAB  [ SET PTRS TO FCA,FCB,FSTACK  
4KQQ ...SNFOKAY 
4KR= ...      ADX   6  FX1    [ RESET LINK  
4KRQ ...      EXIT  6  0    [ RETURN FROM FNEARLY ROUTINE   
4KS= ...# ENTRY FROM APPEND SEGMENT (FNEARLY CHECK) 
4KSQ ...#   ORK3 CONTAINS THE FILE DEPTH, WE REQUIRE IT IN AWORK2 FOR SFCAB ROUT
4KT= ...
4KTQ ...
4KW= ...XFNEARLY
4KWQ ...      LDX   0  AWORK3(2)      [ FILE  EPTH FROM APPEND  
4KX= ...      STO   0  AWORK2(2)      [ STORE DEPTH FOR USE BY SFCAB
4KXQ ...      CALL  6  SFNEARLY 
4KY= ...      UP    [ RESTORES AWORK WORDS  
4KYQ ...
4K^G    # ENTRY FROM DELETE TO RECALCULATE BLOCK KEY FOR CURRENT BLOCK OF FILE  
4LF6    XCALCKEY
4LYQ          CALL  7  SFCAB               [X3->FCA,X1->FSTACK,X2->FCB  
4MDB          LDN   0  #77  
4MY2          ANDX  0  FINFC(2) 
4NCL          BZE   0  ZGEOER1             [J IF FILE NOT INDEXED   
4NX=          LDX   4  FREADBLOCK(3)
4PBW    #SKI  K6INDEX>599-599   
4PWG          TRACE    4,DELCALC
4QB6          SBN   4  FBLKS
4QTQ          CALL  1  SCALCKEY            [RECALCULATE BLOCK KEY AND STORE IT  
4R*B    #HAL  FI+FUTILITY,0                [IN INDEX BLOCK. 
4RT2    UP  
4S#L          UP
4SS=    # ENTRY FROM DELETE TO REMOVE BLOCK KEY FOR BLOCK WHICH HAS BEEN DELETED
4T?W    # FROM FILE.
4TRG    XDELKEY 
4W?6          CALL  7  SFCAB               [X3->FCA,X1->FSTACK,X2->FCB  
4WQQ          LDN   0  #77  
4X=B          ANDX  0  FINFC(2) 
4XQ2          BZE   0  ZGEOER1             [ERROR IF FILE NOT INDEXED   
4Y9L    #SKI  K6INDEX>599-599   
4YP=          TRACE    FREADBLOCK(3),DELBLK 
4^8W          CALL  6  SFINDEX             [X1 -> FINDEXF BLOCK 
4^NG          LDX   0  FBLMOD(2)
5286          ADN   0  A1                  [IF LAST BLOCK OF FILE NO WORDS TO   
52MQ          SBX   0  FREADBLOCK(3)       [MOVE IN INDEX BLOCK 
537B          BZE   0  SHORT               [J IF SO 
53M2          LDX   5  1
546L          ADX   5  FREADBLOCK(3)
54L=          SBN   5  FBLKS-INDEXREC      [X3->BLOCK KEY TO BE REMOVED.
555W          LDX   4  5
55KG          ADN   4  1
5656          SMO      0                   [X0 = NO OF BLOCKS TO BE MOVED   
56JQ          MOVE  4  0
574B    SHORT   
57J2          BS       2,BFINDEXALT        [SET 'INDEX ALTERED' MARKER. 
583L          LDN   0  1
58H=          LDX   2  ALOGLEN(1)   
592W          SBX   2  0
59GG          SBS   0  A1(1)
5=26          SHORTEN  1,0(2)   
5=FQ          BRN      UP   
5=^B    # ENTRY FROM INSERTWO TO RECALCULATE BLOCK KEYS FOR TWO USAGE BLOCKS IN 
5?F2    # CORE, IF NECESSARY INSERTING A NEW WORD IN THE INDEX RECORD. THE INSER
5?YL    # RECORD IS IN A FWB IN THE ACTIVITY CHAIN. 
5#D=    # AWORK1 IS A SWITCH WORD PASSED ACROSS FROM INSERTWO. IF B5 IS SET A NE
5#XW    # BLOCK HAS BEEN INSERTED INTO THE FCB FOR THE FILE AND A CORRESPONDING 
5*CG    # WORD MUST BE INSERTED INTO THE INDEX BLOCK. IF B4 IS SET THE USAGE BLK
5*X6    # ARE RESPECTIVELY THE N-1TH &NTH,OTHERWISE THE NTH & N+1TH.
5BBQ    TWOINS  
5BG9 ...      LDCT  0  #010        [ NEW BLOCK ?
5BKN ...      ANDX  0  AWORK1(2)
5BP7 ...      BZE   0  SNOTNB       [ J - IF NOT NEW BLOCK  
5BSL ...      CALL  6  SFNEARLY               [X3->FCA,X1->FSTACK,X2->FCB   
5BY5 ...      BRN      SNNBC
5C3J ...SNOTNB  
5C73 ...      CALL  7  SFCAB
5C=G ...SNNBC   
5CB2          LDN   0  #77  
5CTL          ANDX  0  FINFC(2) 
5D*=          BZE   0  ZGEOER1             [J IF FILE NOT INDEXED.  
5DSW          LDX   4  FREADBLOCK(3)       [X4 CONTAINS PTR RELATIVE TO INDEXREC
5F#G    #SKI  K6INDEX>599-599   
5FS6          TRACE    4,TWOBLKS
5G?Q          SBN   4  FBLKS               [IN INDEX BLK,FOR CURRENT BLK OF FILE
5GRB          LDCT  0  #020 
5H?2          SMO      FX2  
5HQL          ANDX  0  AWORK1              [B4 SET? 
5J==          BZE   0  XFLOW               [J IF NOT
5JPW          SBN   4  1                   [X4 -> PREVIOUS BLOCK OF FILE.   
5K9G    XFLOW   
5KP6          LDCT  0  #010 
5L8Q          SMO      FX2                 [TEST IF NEW BLOCK BEEN INSERTED.
5LNB          ANDX  0  AWORK1   
5M82          BZE   0  NOTNEW              [J IF NOT
5MML          LDN   5  1
5N7=          CALL  7  SBLOCKEY            [INSERT ZERO WORD IN INDEX BLOCK AS  
5NLW    NOTNEW                             [THE [X4]+1TH RELATIVE TO INDEXREC   
5P6G          CALL  1  SCALCKEY            [CALCULATE NEW BLK KEY FOR FI/INSERT1
5PL6    #HAL  FI+INSERT1,0                 [BLOCK AND RENAME IT A FUWB. 
5Q5Q          ADN   4  1
5QKB          CALL  1  SCALCKEY            [CALCULATE KEY FOR FI/INSERT3 BLOCK. 
5R52    #HAL  FI+INSERT3,0  
5RJL          BRN      UP   
5S4=    # ENTRY FROM INSERTHR TO RECALCULATE BLOCK KEYS FOR THREE USAGE BLOCKS  
5SHW    # IN CORE. THE MIDDLE BLOCK IS A NEW ONE AND A CORRESPONDING WORD MUST  
5T3G    # BE PUT IN THE INDEX BLOCK. IF B4 OF AWORK1 IS SET THE BLOCKS ARE THE  
5TH6    # N-1TH,NTH &N+1TH OTHERWISE THE NTH,N+1TH &N+2TH.  
5W2Q    THRINS  
5WGB ...      CALL  6  SFNEARLY               [X3->FCA,X1->FSTACK,X2->FCB.  
5X22          LDN   0  #77  
5XFL          ANDX  0  FINFC(2) 
5X^=          BZE   0  ZGEOER1             [J IF FILE NOT INDEXED.  
5YDW          LDX   4  FREADBLOCK(3)       [X4 CONTAINS PTR RELATIVE TO INDEXREC
5YYG    #SKI  K6INDEX>599-599   
5^D6          TRACE    4,THREBLKS   
5^XQ          SBN   4  FBLKS               [IN INDEX BLK,FOR CURRENT BLK OF FILE
62CB          LDCT  0  #020 
62X2          SMO      FX2  
63BL          ANDX  0  AWORK1              [B4 SET? 
63W=          BZE   0  TFLOW               [J IF NOT
64*W          SBN   4  1
64TG    TFLOW   
65*6          LDN   5  1                   [INDICATES ONE NEW WORD  
65SQ          CALL  7  SBLOCKEY            [INSERT ZERO WORD IN INDEX BLOCK.
66#B          CALL  1  SCALCKEY            [CALCULATE NEW BLOCK KEYS FOR THE
66S2    #HAL  FI+INSERT1,0                 [THREE USAGE BLOCKS AND STORE VALUES 
67?L          ADN   4  1                   [IN CORRESPONDING WORDS OF INDEX 
67R=          CALL  1  SCALCKEY            [BLOCK. RENAME ALL USAGE BLOCKS  
68=W    #HAL  FI+INSERT2,0                 [FILE/FUWB'S.
68QG          ADN   4  1
69=6          CALL  1  SCALCKEY 
69PQ    #HAL  FI+INSERT3,0  
6=9B          BRN      UP   
6=P2    # ENTRY FROM INSERTFR TO RECALCULATE BLOCK KEYS FOR THREE USAGE BLOCKS. 
6?8L    # THE BLOCKS ARE THE N-2TH,N-1TH AND NTH.THE LAST TWO ARE NEW AND MUST  
6?N=    # HAVE NEW WORDS INSERTED INTO THE INDEX BLOCK FOR THEM.
6#7W    SFRINS  
6#MG ...      CALL  6  SFNEARLY               [X3->FCA,X1->FSTACK,X2->FCB   
6*76          LDN   0  #77  
6*LQ          ANDX  0  FINFC(2) 
6B6B          BZE   0  ZGEOER1             [J IF FILE NOT INDEXED.  
6BL2          LDX   4  FREADBLOCK(3)       [X4 INDICATES BLOCK OF FILE TWO  
6C5L    #SKI  K6INDEX>599-599   
6CK=          TRACE    4,FRBLKS 
6D4W          SBN   4  FBLKS+2             [BEFORE CURRENT BLOCK.   
6DJG          LDN   5  2                   [INDICATES 2 NEW WORDS.  
6F46          CALL  7  SBLOCKEY            [INSERT TWO ZERO WORDS IN INDEX BLK. 
6FHQ          CALL  1  SCALCKEY            [CALCULATE NEW BLOCK KEYS FOR THE
6G3B    #HAL  FI+INSERT1,0                 [THREE USAGE BLOCKS AND STORE VALUES 
6GH2          ADN   4  1                   [IN CORRESPONDING WORDS OF IN4EX 
6H2L          CALL  1  SCALCKEY            [BLOCK. RENAME ALL USAGE BLOCKS  
6HG=    #HAL  FI+INSERT3,0                 [FILE/FUWB'S.
6H^W          ADN   4  1
6JFG          CALL  1  SCALCKEY 
6J^6    #HAL  FI+INSERT5,0  
6KDQ          BRN      UP   
6KYB          MENDAREA 50,K99INDEX  
6LD2    #END
^^^^ ...47250316000300000000
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1