SJLOOP864

(George Source)

Macros used: ACROSS, FINDACTX, FPUT, FREECORE, FRITE, FSHCODE, FSHENTRY, GEOERR, HUNTANY, JBC, JBS, JMBS, MENDAREA, MHUNTW, PHOTO, PICKREP, SEG, SEGENTRY, SJCHAINY, STEP, STOPACT, TESTMOVE, TESTREP, TESTREPNOT, TESTREPX, TRANSFIN, TRANSRET

SJLOOP864.txt
22FL          SEG   SJLOOP,,MIKE PUTNAM,FILESTORE   
22^=    [   
23DW          SEGENTRY K1SJLOOP,XENT1   
23FH ...      FSHENTRY K2SJLOOP,XENT2,,XENT2
23G8 ...[   
23GT ...XENT2   
23HG ...      FSHCODE  A,XFSHASJ
23J7 ...(   
23JS ...# THIS IS A SPECIAL ENTRY POINT FOR THE SHARED FILESTORE ENHANCEMENT
23KF ...#   TO DO AN SJCHAINY WITHIN MACHINE A  
23LR ...      MHUNTW   3,GMON,JRNAL        [PTR TO GMON/JRNAL BLOCK IN X3   
23N5 ...      LDX   4  JWAITER(3)   
23NQ ...      BZE   4  XSJCHAIN            [J IF AUTONOMOUS 
23PC ...      LDX   4  ACTNUM(2)           [ACTIVITY NUMBER OF CURRENT ACTIVITY 
23Q4 ...      STO   4  JWAITER(3)          [RESET ACTIVITY NUMBER OF GMON/JRNAL 
23QP ...XSJCHAIN
23RB ...      SJCHAINY 3                   [WRITE ENTRY TO SYSTEM JOURNAL   
23S3 ...      BZE   4  NOTRANSFIN          [J IF AUTONOMOUS TRANSBEG
23SN ...      TRANSFIN                     [RETURN TO M/C B 
23T* ...NOTRANSFIN  
23W2 ...      TRANSRET                     [RETURN TO TRANSFER ROUTINES 
23WM ...XFSHASJ 
23X# ...)   
23YG    [   
24D6    # THIS CHAPTER APPENDS RECORDS TO THE SYSTEM JOURNAL FILE   
24XQ    # ENTRY CONDITIONS:-
25CB    # ENTER BY EMS AT K1 NB ACTIVITY ZEROISED   
25X2    # ALSO FROM SJOPEN CHAPTER BY AN ACROSS, VARIOUS BITS OF JSWITCH1 ARE   
26BL    # SET.THESE ARE:-   
26W=    #      B0-BJFILOPEN-A FILE IS OPEN FOR USE  
27*W    #      B1-BJFILINIT-A FILE IS BEING INITIALISED 
27TG    #      B2-BJFILREADY-A NEW,INITIALISED, FILE IS READY   
27YL ...#      B3-BJFILSWITCH-SOMEONE WANTS AN IMMEDIATE FILE SWITCH
283Q ...#        E.G. A WRITE FAIL HAS CAUSED SOME BLOCKS TO BE SWAPPED SO  
286W ...#        THE FILE MUST BE CLOSED TO ENSURE THAT THE BLOCKS RECORD   
28=2 ...#        IS ACCURATE IN THE DIRECTORY   
28*6
28SQ
29#B    NOBLOCKS
29S2          STOPACT  SJ                  [STOP ACTIVITY   
2=?L    XENT1   
2=R=          JBC   NOFILE,2,BJFILOPEN     [NO FILE OPEN
2?=W
2?QG    NEXTBLOC                           [X2 NOT = FX2******  
2#=6    NEXTBLK1
2##* ...#   
2#BJ ...#  SOMEONE MAY HAVE SET THE 'FORCE FILE SWITCH ' BIT SO WE TEST FOR 
2#DR ...#  AND ACT ON IT.   
2#H2 ...#   
2#K9 ...      LDX   2  FX2  
2#MD ...      JBS      XNEWFILE,2,BJFILSWITCH   
2#PQ          CALL  6  SJSEARCH            [HUNT FOR A GMON/JRNAL BLOCK 
2*9B          BRN      NOBLOCKS            [NO BLOCK EXIT   
2*P2          LDX   4  1
2B8L    # BLOCK FOUND ADDRESS IN X1 AND X4  
2BN=          PHOTO    5
2C7W
2CMG          LDEX  3  JRECHEAD1(1)        [NO OF WORDS.
2D76          STEP     0,0(3)              [APPEND TO FILE 0, ADDR IN X3
2DLQ          TESTMOVE 5,NOTMOVED   
2F6B    # REHUNT FOR JOURNAL BLOCK  
2FL2          CALL  6  SJSEARCH 
2G5L          BRN      NOBLOCK1            [TO A TESTING GEOERR.
2GK=          LDX   4  1
2H4W          PHOTO    5
2HJG
2J46    NOTMOVED
2JHQ          LDX   1  4                   [COPY BACK   
2K3B          TESTREP  FILEFULL,XNEWFILE
2KH2          LDN   2  JRECHEAD1(1)        [ADDRESS FROM
2L2L          LDX   7  JWAITER(1)          [0 IF AUTONOMOUS 
2LG=          LDEX  1  JRECHEAD1(1) 
2L^W          MOVE  2  0(1)                [MOVE DATA IN
2MFG          FREECORE 4                   [FREE GMON/JRNAL 
2M^6          BNZ   7  NONAUTO  
2NDQ          TESTREPNOT FNEARLY,NEXTBLOC   
2NYB    NEARLY  
2PD2          JMBS  NEXTBLK1,2,BJFILINIT,BJFILREADY [J IF DONT NEED ANOTHER FILE
2PXL    NOFILE  
2QC=          ACROSS SJOPEN,1              [AUTONOMOUS GET  
2QWW
2RBG    # FILEFULL REPLY CLOSE FILE.
2RW6
2S*Q    XNEWFILE
2STB          ACROSS   SJOPEN,3            [CLOSE ENTRY.
2T*2
2TSL    NONAUTO                            [NONAUTONOMOUS BS. TRANSFER. 
2W#=    # GET A FILE/FAPB AND COPY DATA ACROSS  
2WRW    # FREECORE BLOCK AND MARK AS FAPB PRESENT.  
2X?G
2XR6          PICKREP  6
2Y=Q          FRITE ,NONAUTO
2YQB          FINDACTX 2,7                 [LOCATE CALLING ACTIVITY 
2^=2          FPUT                         [PUT IT BCK ON TIST  
2^PL          TESTREPX 6,FNEARLY,NEARLY 
329=          BRN      NEXTBLK1 
32NW
338G
33N6    SJSEARCH
347Q          HUNTANY  1,GMON,JRNAL,BSJC,XL1
34MB          ADN   6  1                   [BLOCK EXISTS
3572    XL1   EXIT  6  0
35LL
366=    NOBLOCK1
36KW          GEOERR   1,JBLKLOST   
375G
37K6    # TESTING AREA  
384Q          MENDAREA 200<K6SJLOOP>100-90,K99SJLOOP
38JB    #END
^^^^ ...52662037000200000000