FINDFCB

(GIN Macro)

Defined in: MACROS RM59B

Used in: FREEZE864, INCVFCHK850, LOGCOM864, OPENFILE867, ORELHALF82

FINDFCB.mac.txt
 5L8Q ...[??? FINDFCB SECT FILE FGN 6 DOC
 5MML    #MAC  FINDFCB   
 5MMY ...[   
 5MN= ...[ ACCS USED AS FOLLOWS  
 5MNJ ...[  X0 TESTNAMX  
 5MNW ...[  X1 FCBRING POINTER   
 5MP8 ...[  X2 POINTER TO THE REQUIRED NAME IN FABS  
 5MPG ...[  X3 =0 IF USER NAME OR ELSE POINTER TO SUPUSER NAME   
 5MPS ...[  X4 LOCAL NAME USER NAME IDICATOR . 0=FLOC1,3= FME1   
 5MQ6 ...[  X5 FIRST WORD OF REQ NAME OR GENERAL WORK WORD   
 5MQD ...[  X6 =0 IF ON DIR RING OR =1 IF ON HALF RING   
 5MQQ ...[  X7 FCB COUNT 
 5MR4 ...[   
 5MRH ...[   THIS MACRO SEARCHES THROUGH BOTH THE OPEN AND HALF-OPEN FILE CHAINS 
 5MXD ...[   FOR AN FCB WHOSE NAME IS GIVEN IN A FILE/FABSNB POINTED TO BY %A.   
 5N3* ...[   THE POINTER TO THE FCB IF FOUND IS GIVEN IN %B. 
 5N7=          LDX   1  %A   
 5NLW          LDN   2  %B   
 5P6G          CALL  0  M1FINDFCB
 5PL6    #OPT  M2FINDFCB=1   
 5Q5Q    #SKI  M2FINDFCB 
 5QKB    (   
 5R52          BRN      M3FINDFCB
 5RJL    #DEF  M1FINDFCB=0?  
 5S4=          STO   0  GEN0                [STORE LINK IN GEN0  
 5SHW          STO   1  GEN1                [KEEP %A IN GEN1 
 5T3G          LDN   0  3
 5TH6          LDN   1  GEN2                [ACCUMULATORS 3 TO 7 DUMPED  
 5W2Q          MOVE  0  5                   [ IN GEN2 TO GEN6
 5WSY ...      NGX   5  GEN1 
 5X=3 ...      STO   2  GEN1 
 5XM6 ...      HUNT  2,FILE,FABSNB   
 5Y49 ...      ADX   5  A1(2)
 5YF# ...      ADX   2  5         [POINTER DOWN FABS 
 5YWC ...      ADN   2  A1         [POINTS TO REQ NAME   
 5^?G ...      SBN   5  1      [ARE WE AT THE TOP OF THE FABS
 625N ...      LDN   3  0         [SET X34 TO INDICATE USERNAME  
 62GR ...      LDN   4  FME1-FLOC1   
 62XW ...      BZE   5  M4FINDFCB        [X2 POINTS TO TOP NAME MUST BE USER 
 63Q4 ...      LDX   0  0(2) 
 6477 ...      ADN   2  1
 64J= ...      SBX   0  HCOLUSER         [SEE IF USER COLON  
 64^* ...      BZE   0  M4FINDFCB         [YES IT IS 
 65RH ...      SBN   2  1           [LOOKING FOR LOCAL NAME  
 668L ...      SBN   5  3
 66KP ...      LDX   3  2         [SO SET X3 TO SUPUSER  
 672S ...      LDN   4  0
 67CX ...      SBN   3  3
 67T2 ...      BZE   5  M4FINDFCB         [SUPUSER IS TOP OF FABS
 68M8 ...      SBN   3  2         [SUPUSER IS NOT TOP SO ADJUST X3   
 69FB ...M4FINDFCB   
 6=?J ...      LDX   5  0(2)         [LOAD COMPARISON WORD   
 6=NM ...      LDN   6  1         [INDICATE HALF OPEN CHAIN  
 6?5Q ...      BASEFCB 1,HALF,M10FINDFCB,7   
 6?GT ...[   
 6?XY ...M5FINDFCB   
 6#*3 ...      BZE   4  M8FINDFCB         [DO LOCAL TEST 
 6#Q6 ...M6FINDFCB                     [USERNAME TEST
 6*79 ...      BXE   5  FME1-FCBRING(1),M11FINDFCB   
 6*J# ...M7FINDFCB   
 6*^C ...      NEXTFCB 1,DIR,M6FINDFCB,7 
 6BBG ...      BRN      M10FINDFCB   
 6C8N ...M8FINDFCB               [LOCAL NAME TEST
 6CKR ...      BXE   5  FLOC1-FCBRING(1),M11FINDFCB  
 6D2W ...M9FINDFCB   
 6DC^ ...      NEXTFCB 1,DIR,M8FINDFCB,7 
 6F=7 ...M10FINDFCB               [FCB NOT FOUND ON THIS SEARCH  
 6FM= ...      BZE   6  M10AFINDFCB         [FINISHED BOTH HALF AND DIR  
 6G4* ...      LDN   6  0         [INDICATE DIR CHAIN
 6GFD ...      BASEFCB 1,DIR,M10AFINDFCB,7   
 6GWH ...      BRN      M5FINDFCB         [RETURN TO SEARCH DIR  RING
 6HNP ...M10AFINDFCB            [GIVE REPLY NOTFOUND 
 6J5S ...      KEEPREP 7,NOTFOUND
 6JGX ...      BRN      M16FINDFCB   
 6K*5 ...M11FINDFCB               [THIS ROUTINE CHECKS FURTHER DETAILS OF FCB
 6KQ8 ...      LDX   5  1(2) 
 6L7? ...      SMO      4
 6LJB ...      BXU   5  FLOC2-FCBRING(1),M12FINDFCB         [COMPARE REST OF NAME
 6MBJ ...      LDX   5  2(2) 
 6MRM ...      SMO      4
 6N8Q ...      BXE   5  FLOC3-FCBRING(1),M13FINDFCB  
 6P2Y ...M12FINDFCB         [RETURN TO SEARCH
 6PD3 ...      LDX   5  0(2) 
 6PT6 ...      BZE   4  M9FINDFCB         [LOCAL NAME EXIT   
 6Q=9 ...      BRN      M7FINDFCB         [USER NAME EXIT
 6R4C ...M13FINDFCB               [FIRST NAME OK 
 6RFG ...      BZE   3  M14FINDFCB         [USER SO NO FURTHER NAME CHECK NECC   
 6RWK ...      TESTNAMX 3,0(3),FUSER1-FCBRING(1),M12FINDFCB,5    [LOCAL NAME CHEC
 6SNR ...M14FINDFCB               [FINAL CHECK FOR TO BE ERASED DIRS 
 6T5W ...      LDX   5  FCOMM-FCBRING(1) 
 6TG^ ...      ANDN  5  1
 6TY4 ...      BNZ   5  M12FINDFCB   
 6W*7 ...      SBN   1  FCBRING         [EVERYTHING OK   
 6WQ= ...      LDX   5  1
 6WTG ...#STR %C 
 6WYQ ...#SKI
 6X42 ...(   
 6X7* ...      BZE   6  M15FINDFCB         [FILE ALREADY OPEN
 6XJD ...      LDX   4  FPTR(1)      [CHAIN BLOCKS ON FILE CHAIN 
 6X^H ...      TRANSFCB 5,HALF,FILE  
 6YBL ...      LDX   1  4
 6YRP ...      CHAIN 1,BFILE+1      [CHAIN FINDEXF BLOCK 
 6^KX ...M15FINDFCB  
 6^SD ...)   
 7232 ...      LDX   2  5
 72D5 ...      KEEPREP 7,OK  
 73=? ...M16FINDFCB  
 73MB ...      PUTREP 7  
 745G          TRACEIF  K6OPEN,99,299,7,HALFREP  
 74K6          LDN   0  GEN2                [RESTORE X3 TO X7
 754Q          LDN   1  3
 75JB          MOVE  0  5
 7642          LDX   1  GEN1 
 76HL          STO   2  0(1)                [PUT -> IN %B
 773=          LDX   1  FX1  
 77GW          LDX   2  FX2  
 782G          BRN      (GEN0)   
 78G6    #FREE M2FINDFCB 
 78^Q    #DEF  M2FINDFCB=0   
 79FB    M3FINDFCB   
 79^2    )   
 7=DL    #NOR
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1