8 22FL ...#OPT K6FREEBUFF=100 7 22_= ...#OPT K0FBUFF=0 13 23DW ...#LIS K0FBUFF>K0FILE>K0KERNEL>K0ALLGEO 18 23YG ...[ SKIP IDENTIFIER K6FREEBUFF CAN BE USED FOR TESTING BOTH 11 24D6 ...[ FBUFF AND FREEBUFF CHAPTER. 18 24XQ ...[ WHEN SET TO 200 IP MANAGER'S WILL BE INCREMENTED WITH EACH 8 25CB ...[ TYPE OF FREEBUFF:- 17 25X2 ...[ MANAGER0 = FURBS AND FURRBS FREED BY FREEBUFF (FBUFF) 17 26W= ...[ OTHER IPS ARE INCREMENTED BY OTHER EVENTS IN FREEBUFF 14 27*W ...[ SEE INTERNAL COMMENTS FOR MORE DETAILS. 4 27TG ...[ 12 28*6 ...#SEG FBUFF [P.R.CRUICKSHANK FILE 18 28SQ ...[ THIS SEGMENT TOGETHER WITH THE SEGMENT FREEBUFF IMPLEMENT 15 29#B ...[ THE ^FREEING FILESTORE BUFFERS^ ENHANCEMENT. 18 29S2 ...[ THE ROUTINES HERE SHOULD BE CALLED BY THE MACRO FREEBUFF. 18 2=?L ...[ THEY FREE FURBS AND SET OVERFLOW IF THERE ARE ANY FUWBS. 4 2=R= ...[ 13 2?=W ...[ ROUTINES TO STORE AWAY ACCUMULATORS 7 2?QG ... FIXTRA AFBSTACC 7 2#=6 ... LABFIX FBSTACC 8 2#PQ ... SMO FX2 8 2*9B ... LDN 2 ACC3 7 2*P2 ... LDN 1 3 7 2B8L ... MOVE 1 5 8 2BN= ... LDX 2 FX2 7 2C7W ... EXIT 0 1 7 2CMG ... FIXTRA AFBRVACC 7 2D76 ... LABFIX FBRVACC 8 2DLQ ... SMO FX2 8 2F6B ... LDN 1 ACC3 7 2FL2 ... LDN 2 3 7 2G5L ... MOVE 1 5 8 2GK= ... LDX 2 FX2 8 2H4W ... LDX 1 FX1 7 2HJG ... EXIT 0 0 14 2J46 ...[ THIS ROUTINE FREES THE FURBS OF A FILE 12 2JHQ ...[ GIVEN A PTR TO THE FCA IN X3 15 2K3B ...[ IF ANY FUWBS ARE PRESENT OVERFLOW IS SET 13 2KH2 ...[ X3->FCA, X5=LINK, X0-2 DESTROYED 7 2L2L ... FIXTRA AFBFCA 7 2LG= ... LABFIX FBFCA 14 2L_W ... PSTAC 1,3 [ X1-> FSTACK BLOCK 16 2MFG ... TRACEIF K6FREEBUFF,199,999,ARINGNO(1), FB FILE 10 2NYB ... LDEX 0 ARINGNO(1) 19 2PD2 ... BCT 0 XITFCA [ FILE IS OPEN MORE THAN ONCE SO EXIT 14 2PXL ... BFCBX 2,1 [ X2->FCB 9 2QC= ... LDX 0 FCOMM(2) 18 2QWW ... ANDN 0 #2000 [ FILE OPEN IN COPY MODE 9 2RBG ... BNZ 0 XITFCA 15 2RW6 ... TRACEIF K6FREEBUFF,199,999,BACK2(2),FCB NO 5 2STB ...XFCALOOP 16 2T*2 ... LDX 1 FPTR(1) [ NEXT BUFFER BLK 7 2TSL ...#SKI IFS<1$1 10 2W#= ... BXE 1 CXFI,XITFCA 9 2WRW ... LDX 0 ATYPE(1) 16 2X?G ... BXE 0 FILEPLUSFCB,XITFCA [-> FCB SO EXIT 17 2XR6 ... BVS XNFUWB [ FUWB ALREADY FOUND 14 2Y43 ... BXE 0 FFSFUWB,XWRITE [ J-IF FUWB 17 2Y#Y ... BXU 0 FFSFURWB,XNFUWB [ J-IF NOT A FURWB 13 2YKT ...[ HAVE FOUND EITHER A FUWB OR A FURWB 3 2YWQ ... 5 2_7M ...XWRITE 16 2_DJ ... TRACEIF K6FREEBUFF,199,999,BACK2(1),FND FUWB 16 2_PL ... BVCI XFCALOOP [ SET OVERFLOW 5 329= ...XNFUWB 14 32LX ... BXE 0 FFSFURB,XREAD [ J-IF FURB 16 334J ... BXU 0 FFSFURRB,XFCALOOP [ NOT A FURRB 13 33G9 ...[ HAVE FOUND EITHER A FURB OR A FURRB 3 33XW ... 5 34*H ...XREAD 16 34R8 ... TRACEIF K6FREEBUFF,199,999,BACK2(1),FREEFURB 19 358T ... ADDSKIP K6FREEBUFF>199-199,INSTPARAM [ FREEING A FURB 3 35LL ... 15 384Q ... FREECORE 1 [ FREE FURB 19 38JB ... BRN AFBFCA [ START AGAIN FROM BEGINNING 5 3?_Q ...XITFCA 18 3#FB ... ADDSKIP K6FREEBUFF>199-199,INSTPARAM+5 [ FILE COUNT 7 3BXG ... EXIT 5 0 14 3CC6 ...[ THIS ROUTINE GOES ROUND THE FILE RING 16 3CWQ ...[ OF AN ACTIVITY FREEING FURBS BY CALLING FBFCA 16 3DBB ...[ X4->ACTIVITY, X6=LINK, GEN0-> FILE RING BASE 7 3DW2 ... FIXTRA AFBACT 7 3F*L ... LABFIX FBACT 9 3FT= ...#SKI K6FREEBUFF>199-199 15 3G#W ... LDX 1 4 [ -> ACTIVITY (FOR TRACEIF) 19 3GSG ... ADDSKIP K6FREEBUFF>199-199,INSTPARAM+6 [ ACTIVITY COUNT 16 3H#6 ... TRACEIF K6FREEBUFF,199,999,ACTNUM(1),FB ACTIV 7 3LPG ... SMO 4 9 3M96 ... LDN 3 FILERING 18 3MNQ ... STO 3 GEN0 [ PTR TO FILERING BASE 5 3N8B ...XACTLOOP 15 3NN2 ... LDX 3 FPTR(3) [ NEXT FCA ? 16 3P7L ... BXE 3 GEN0,XITACT [ GONE ROUND RING 15 3PM= ... CALL 5 AFBFCA [ FREEBUFF FCA 9 3Q6W ... BRN XACTLOOP 5 3QLG ...XITACT 7 3R66 ... EXIT 6 0 13 3RKQ ...[ THIS ROUTINE HAS TWO ENTRY POINTS 8 3S5B ...[ CPAT AND APET. 14 3SK2 ...[ IT WILL FREEBUFF THE AOLPTS OF THE JOB 11 3T4L ...[ X2->CPAT OR APET ON ENTRY. 7 3TJ= ...[ X7=LINK 7 3W3W ... FIXTRA AFBCPAT 7 3WHG ... LABFIX FBCPAT 10 3X36 ... LDX 2 JOBRING(2) 11 3XGQ ... LDEX 0 JMISC-AJBRING(2) 19 3Y2B ... BZE 0 XITAPT [ NO CORE IMAGE TO FREEBUFF 9 3YG2 ... LDX 2 FPTR(2) 15 3Y_L ... SBN 2 JOBRING [ X2-> PCA 7 3_F= ... FIXTRA AFBAPET 7 3_YW ... LABFIX FBAPET 16 42DG ... LDX 2 ACTRG(2) [ NEXT ACTIVITY 15 42Y6 ... SBN 2 ACTRG [ -> ACTIVITY 9 43CQ ... LDCH 0 ATYPE(2) 9 43XB ... SBN 0 AOLPT/64 18 44C2 ... BNZ 0 XITAPT [ NOT AN AOLPT SO FINISH 9 44DC ... LDX 0 ATMARK(2) 15 44FS ... BZE 0 XFBAPT [ J - IF OFFLINE PERI 7 44H9 ... SBN 0 3 9 44JL ... BNZ 0 AFBAPET 14 44L3 ...[ EITHER A) OFFLINE RESULTING FROM AN ASSIGN 9 44MD ...[ OR ASSILO 17 44NT ...[ (INCLUDING ANTICIPATED BUDGET EXTRACODES) 20 44Q= ...[ OR B) ONLINE WITHOUT DOCUMENT NAME OR ACCESS, OR HLS EXTRACODES 3 44RM ... 5 44T4 ...XFBAPT 15 44WL ... STO 2 4 [ X4-> AOLPT 16 45B= ... TRACEIF K6FREEBUFF,199,999,ACTNUM(2),FB AOLPT 16 46*G ... CALL 6 AFBACT [ FREEBUFF AOLPT 7 46T6 ... LDX 2 4 19 47#Q ... ADDSKIP K6FREEBUFF>199-199,INSTPARAM+7 [ AOLPT COUNT 15 49QW ... BRN AFBAPET [ NEXT ONE 5 4==G ...XITAPT 7 4=Q6 ... EXIT 7 0 4 4?9Q ...#END 6 ____ ...346430040007