{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: SJLOOP864)}}
====== SJLOOP864 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:FINDACTX|FINDACTX]], [[george:macro:FPUT|FPUT]], [[george:macro:FREECORE|FREECORE]], [[george:macro:FRITE|FRITE]], [[george:macro:FSHCODE|FSHCODE]], [[george:macro:FSHENTRY|FSHENTRY]], [[george:macro:GEOERR|GEOERR]], [[george:macro:HUNTANY|HUNTANY]], [[george:macro:JBC|JBC]], [[george:macro:JBS|JBS]], [[george:macro:JMBS|JMBS]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:PHOTO|PHOTO]], [[george:macro:PICKREP|PICKREP]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SJCHAINY|SJCHAINY]], [[george:macro:STEP|STEP]], [[george:macro:STOPACT|STOPACT]], [[george:macro:TESTMOVE|TESTMOVE]], [[george:macro:TESTREP|TESTREP]], [[george:macro:TESTREPNOT|TESTREPNOT]], [[george:macro:TESTREPX|TESTREPX]], [[george:macro:TRANSFIN|TRANSFIN]], [[george:macro:TRANSRET|TRANSRET]]
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 200100-90,K99SJLOOP
38JB #END
^^^^ ...52662037000200000000