*DECK S$GTLOF 
          IDENT  S$GTLOF
          TITLE  S$GTLOF - SEARCH LIST OF FILES FOR FITS
          COMMENT  S$GTLOF - SEARCH LIST OF FILES FOR FITS
  
          B1=1
  
**        S$GTLOF - SEARCH LIST OF FILES FOR FITS 
* 
*     CALLING SEQUENCE- 
*         S$GTLOF(<ADDRESS FOR FIT>, <FILE NAME>);
* 
*     DOES- 
*         SEARCH LIST OF FILES FOR FIT BELONG TO FILE NAME. 
* IF FOUND, SET <ADDR FOR FIT> TO FIT ADDRESS,
* ELSE SET <ADDR FOR FIT> TO 0. 
* 
**
          ENTRY  S$GTLOF
 S$GTLOF  SUBR
          SB1    1           CONSTANT 1 
          MX6    0           ASSUME NOT FOUND 
          SA6    X1          SET <ADDR FOR FIT> TO 0
          BX6    X1 
          SA6    FITADDR     SAVE ADDRESS LOCALLY 
          SA3    A1+B1       ADDRESS OF FILE NAME 
          SA3    X3          FILE NAME
          MX0    42          77777777777777000000B
          BX3    X0*X3       KEEP ONLY LEFT 7 CHARACTERS
  
* GET LIST OF FILES 
  
          MX7    0
          SA7    LOF               SET COMPLETION BIT TO ZERO 
  
  
          IFNOS 
          GETLOF LOF
          ELSE
          GETLOF LOF,RECALL 
          ENDIF 
  
          SA4    LOF
          LX4    30          42/,18/POINTER 
          MX0    -18
          BX4    -X0*X4 
          ZR     X4,S$GTLOF  IF NO POINTER RETURNED, EXIT 
  
          SA5    X4          A5=POINTER TO TABLE
          SB5    B1 
  
          MX0    42 
 SEARCH   SA4    A5+B5       CHECK TABLE ENTRY
          ZR    X4,S$GTLOF   IF TERMINATOR REACHED, EXIT
  
          BX5    X0*X4       KEEP LEFT 7 CHARS
          IX5    X5-X3       COMPARE LFNS 
          ZR     X5,FOUND    IF FOUND MATCH 
  
          SB5    B5+B1       NEXT 1 ENTRY 
          EQ     SEARCH      BACK TO CHECK NEXT ENTRY 
  
 FOUND    SA0    X4          A0=ADDR OF CANDIDATE FIT 
          SA3    A0+B1       CHECK FTS TO SEE IF REALLY A FI
          AX3    18          RIGHT-JUSTIFY FTS (FITLEN-5) 
          MX0    -6 
          BX3    -X0*X3      KEEP LO 6 BITS 
          SX3    X3-30
          MI     X3,S$GTLOF  IF FIT LT 35 WORDS, EXIT 
  
* 
* CLEAR ERROR EXIT ADDRESS FOR COBOL
* 
          STORE  A0,EX=0
* 
* SET <ADDR FOR FIT> TO A0=FIT FOUND VIA LOF
* 
 NOTOPEN  SX6    A0 
          SA2    FITADDR     X2=<ADDR FOR FIT>
          SA6    X2 
  
          EXIT
  
 FITADDR  BSS    1
 LOF      BSSZ   1
  
          END 
