FBUFF860

(George Source)

Macros used: ADDSKIP, BFCBX, BXE, BXU, FIXTRA, FREECORE, LABFIX, PSTAC, TRACEIF

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