CLOSFREZ867

(George Source)

Macros used: BACKSPACE, BXE, BXU, CLOSE, CLOSETOP, FCBNO2, FREECORE, GEOERR, GETFNAME, INFORM, JBS, JFNZ, JMBS, LF, LONGON, MFREE, MFREEW, MHUNT, MHUNTW, NAME, OPENDIR, OUTPACKX, READ, REWRITE, SEG, SEGENTRY, SETNCORE, SFCAB, STF, TOPFCA2, TOPFCB2, UP

CLOSFREZ867.txt
22FL ...      SEG      CLOSFREZ,863,SECTION FILE,CLOSE  
22^= ...#   
236D ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1983
23?L ...#   
23DW ...      SEGENTRY K1CLOSFREZ,XENT1 
25CB          SEGENTRY K2CLOSFREZ,XENT2 
25X2          SEGENTRY K3CLOSFREZ,XENT3 
26BL    #   
26W=    SVLAN          4H####   
27*W    #   
27BG ...#   
27C6 ...#SKI  K6CLOSFREZ>199-199
27CQ ...(   
27DF ...PACKMESS
27H4 ...      SBX   7  FX1  
27KM ...      OUTPACKX 4,5,6
27N= ...      ADX   7  FX1  
27QT ...      EXIT  7  0
27RP ...)   
27SK ...#   
27TG    OPENDIR 
28*6          SBX   6  FX1  
28SQ ...      GETFNAME                     [SET UP FABSNB FOR FILE OPEN AT DEPTH
29#B          OPENDIR  XBREAKIN,GENERAL,ERASING 
29S2 ...      MHUNTW   2,FILE,ENT   
2=?L ...      NAME     2,FILE,FWB   
2=R= ...      LDEX  0  ECOPS(2) 
2?=W ...      BZE   0  NOCOPS              [J IF NO BLOCKS RECORD   
2?QG ...      BACKSPACE 
2#PQ    NOCOPS  
2*9B          ADX   6  FX1  
2*P2          EXIT  6  0
2*YS ...#   
2B8L    #   
2F6B    #   
2H4W    #   
2HJG ...#     ENTRY FROM THE CLOSETHAW MACRO.   
2J46    #     THE DIRECTORY IS OPENED AND THE FREEZECOUNTS IN THE FCB AND THE   
2JHQ    #           DIRECTORY ENTRY ARE CHECKED; IF ZERO OR INCONSISTENT WE 
2K3B ...#           GEOERR, OTHERWISE SUBTRACT 1 FROM THE COUNTS AND FORCE FULL 
2KH2 ...#     IF WORKFILE, UPDATE FCB COUNT ONLY.   
2L2L ...#   
2LG= ...XENT3   
2L^W ...      TOPFCB2  2                   [X2-> FCB
2MFG ...      JBS      WORKFILE,2,BFWORK   [J IF WORKFILE (NO DIRECTORY ENTRY)  
2NDQ          CALL  6  OPENDIR             [OPEN DIRECTORY / POS. ON NAME RECORD
2NH^ ...      MFREE    FILE,FABSNB  
2NM8 ...      FCBNO2   2,THAWERR1          [X2 -> FCB AT LEVEL 1, ELSE GEOERR   
2NQC ...      MHUNTW   3,FILE,FWB          [X3-> NAME RECORD BLOCK  
2NTL ...      LDEX  0  EAUTOCOUNT(3)
2NYT ...      LF       2,FFFREZCT,1 
2P44 ...      BXU   0  1,THAWERR           [GEOERR IF LF-FROZEN COUNTS IN FCB & 
2P7? ...      BZE   1  THAWERR             [GEOERR IF FILE NOT FROZEN   
2P=G ...      SBN   1  1
2P*P ...      STF      2,FFFREZCT,1 
2PDY ...      DEX   1  EAUTOCOUNT(3)       [REDUCE BY 1 LF-FROZEN COUNTS IN FCB 
2PJ7 ...XFRIG   
2PMB ...      REWRITE                      [REWRITE NAME RECORD 
2PQK ...      MFREEW   FILE,FWB 
2PTS ...      CLOSETOP                     [CLOSE DIRECTORY 
2P^3 ...      TOPFCB2  2                   [X2-> FCB OF THAWED FILE 
2Q4= ...      JFNZ     NOTHAW,2,FFFREZCT   [J IF FILE STILL FROZEN  
2Q7F ...      LONGON   6,FLOC1(2)          [WAKE UP ANYONE WAITING FOR FILE TO B
2Q=N ...NOTHAW  
2Q*X ...      CLOSE                        [CLOSE THAWED FILE - FULL CLOSE TO EN
2QF6 ...                                   [ DATE/TIME LAST ACCESSED
2QJ* ...      UP
2QMJ ...WORKFILE
2QQR ...      LF       2,FFFREZCT,4 
2QW2 ...      SBN   4  1
2Q^9 ...      BNG   4  THAWERR2            [GEOERR IF FREEZECOUNT WRONG 
2R4D ...      STF      2,FFFREZCT,4 
2R7M ...      BRN      NOTHAW   
2R=W ...#   
2RB5 ...#   
2RF# ...THAWERR1
2RJH ...      GEOERR   BRIEFPM,1FILE       [ONLY 1 FILE OPEN WHEN SHOULD BE 2   
2RMQ ...#   
2RQ^ ...THAWERR2
2RW8 ...#SKI  K6CLOSFREZ>199-199
2R^C ...      BRN      NOTHAW   
2S4L ...      GEOERR   BRIEFPM,NEGFREZ     [FREEZE COUNT GOING -IVE ON ! FILE   
2S7T ...#   
2S?4 ...THAWERR 
2SB? ...#SKI  K6CLOSFREZ>199-199
2SFG ...#SKI
2SJP ...      GEOERR   BRIEFPM,FROZEN?     [LF-FROZEN COUNTS IN FCB & DIR. ENTRY
2SMY ...#SKI  K6CLOSFREZ>199-199
2SR7 ...(   
2SXJ ...      LDN   4  FUSER1(2)
2SYM ...      LDN   5  3
2S^Q ...      LDN   6  JPDUSERNAME  
2T2T ...      CALL  7  PACKMESS            [OUTPUT USER NAME
2T3Y ...      FCBNO2   2,THAWERR1   
2T53 ...      LDN   4  FLOC1(2) 
2T66 ...      LDN   6  JPDLOCNAME   
2TKQ ...      CALL  7  PACKMESS            [OUTPUT LOCAL NAME   
2W5B ...      INFORM   1,FROZERROR,1       [SEND MESSAGE 'FREEZE ERROR ON :USER.
2WK2 ...                                   [    (WITH CATEGORIES JOURNAL,CENTRAL
2X4L ...      BRN      XFRIG
3?G6    )   
3?^Q    #   
3#P8 ...#   
3#^2 ...#   
3*8S ...#     ENTRY FROM THE MACRO FREEZESAVE.  
3*DL    #     THE FILE OPEN AT THE TOP LEVEL IS FROZEN BY ADDING 1 TO THE   
3*Y=    #           APPROPRIATE COUNT IN FSVCT (B0-11 IF OPEN FOR WRITING,  
3B=M ...#           B12-23 IF READING) AND ESVCT, EXCEPT IF CAME IN AT K1 (PARAM
3BK4 ...#     WANT TO FREEZE FOR READING ANYWAY.
3BXG ...#     FI/FCA AND FABSNB BLOCKS ARE LEFT AROUND FOR SAVEFILE SEGMENT.
3CC6 ...#   
3CH3 ...XENT1   
3CLY ...      LDN   4  1                   [SET 'READ-SAVE' INDICATOR   
3CQT ...      BRN      XREAD
3CWQ    XENT2   
3CXR ...      LDN   4  0                   [SET 'HLS FREEZE ACCORDING TO MODE   
3CYS ...                                   [  OPEN IN' INDICATOR
3C^T ...XREAD   
3DBB          CALL  6  OPENDIR             [OPEN DIRECTORY / POS. ON NAME RECORD
3DW2    #   
3F*L ...#     ADD 1 TO THE APPROPRIATE COUNT.   
3FT=    #     NOTE THAT THE SAVING FILE (LANGUAGE #### ) IS A SPECIAL CASE -
3G#W    #           ALTHOUGH OPEN FOR WRITING WE FREEZE IT AS IF READING SINCE  
3GSG    #           IT WILL BE REOPENED FOR READING 
3HRQ          LDN   0  1
3J?B ...      SFCAB    0,3,2               [X2-> FCB & X3-> FCA OF 'TO BE HLS-FR
3JH8 ...      BNZ   4  READ                [J IF ALREADY KNOW MODE TO FREEZE IN 
3JR2 ...      LDN   4  1                   [SET DEFAULT UPDATE AS 'READ SAVE'   
3K=L ...      JMBS     READ,3,BAMREAD,BAMREADR [J IF READ OR READR MODE 
3KGD ...      LDX   0  FLAN(2)  
3KQ= ...      BXE   0  SVLAN(1),READ       [J IF THIS IS THE SAVING FILE
3L9W ...      LDX   4  BIT11               [SET UP 'WRITE FREEZE'   
3PM=    READ
3Q6W ...      ADS   4  FSVCT(2)            [UPDATE HLS-SAVE COUNT IN FCB
3RKQ    #   
3S5B ...#     REWRITE THE DIRECTORY ENTRY, CLOSE THE DIRECTORY ,SET UP FI/FCA TO
3SK2 ...#     AND BITS WORDS OF FCA AND LEAVE IT FOR SAVEFILE.  THEN CLOSE THE F
3T4L    #   
3TJ= ...      MHUNTW   3,FILE,FWB   
3W3W ...      ADS   4  ESVCT(3)            [UPDATE HLS-SAVE COUNT IN DIR. ENTRY 
3WHG ...      REWRITE                      [REWRITE NAME RECORD 
3X36 ...      MFREEW   FILE,FWB 
3XGQ ...      CLOSETOP                     [CLOSE DIRECTORY 
3XJN ...      MHUNT    2,FILE,FABSNB
3XLL ...      LDX   0  A1(2)
3XNJ ...      SBN   0  10   
3XQG ...      BZE   0  OKFAB               [J IF 10-WORD FABSNB (SAVEFILE ASSUME
3XSD ...      FREECORE 2                   [FREE FABSNB 
3XWB ...      GETFNAME                     [GET NEW 10-WORD FABSNB  
3XY# ...OKFAB   
3Y2B ...      SETNCORE FCASAVENO,3,FI,FCA  [SET UP FI/FCA INTO WHICH TO SAVE FIL
3YG2 ...      TOPFCA2  2                   [X2-> FCA
3Y^L ...      ADN   2  FREADBLOCK   
3^F= ...      ADN   3  FCASAVE  
3^YW ...      MOVE  2  FCASAVENO           [MOVE FCA INTO FI/FCA
42DG ...      CLOSETOP                     [CLOSE TO-BE-SAVED FILE  
42W= ...UP  
42Y6 ...      UP
42^H ...#   
43CQ ...#   
43XB ...#   
4SS=    XBREAKIN
4T?W          GEOERR   BRIEFPM,FREEZBRK 
4W?6    #END
^^^^ ...23446770000100000000
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1