*DECK S$FINFO 
          IDENT  S$FINFO
          TITLE  S$FINFO -  ISSUE FILINFO MACRO 
          COMMENT  ISSUE FILINFO MACRO
          SPACE  4
**        S$FINFO -  ISSUE FILINFO MACRO
* 
*     CALLING SEQUENCE- 
*         S$FINFO(FIT, TAPEFLAG)
* 
*     DOES- 
*         DETERMINES FILE RESIDENCE AND SETS TAPEFLAG TO
*         TRUE IF THE FILE DOES NOT RESIDE ON MASS STORAGE
  
  
          ENTRY  S$FINFO
 S$FINFO  SUBR
          SB1    1
          SA0    A1          PRESERVE A1
          SA1    X1          ADDRESS OF LFN 
          SA1    X1          VALUE OF LFN 
          SA2    A0+1        ADDRESS OF TAPEFLAG
          SA3    X2          VALUE OF TAPEFLAG
          SA0    A3          PRESERVE ADDRESS OF TAPEFLAG 
          MX7    0
          SA7    A0          TAPEFLAG := FALSE
          MX5    59 
          BX1    X1*X5       GET RID OF BIT 0 
          SX5    5           LENGTH OF -PLACE-
          LX5    12 
          BX7    X5+X1       SET UP WORD ONE OF -PLACE- 
          SA7    PLACE
          FILINFO PLACE 
          SA3    PLACE+1     GET WORD WITH STATUS BITS
          LX3    45          MOVE -MASS STORAGE- BIT TO BIT 0 
          MX5    59 
          BX4    -X5*X3 
          NZ     X4,NOTTAPE 
* 
*          FILE IS NOT MASS STORAGE... IT MAY NOT EXIST 
* 
          SA3    PLACE+1     GET STATUS BITS AGAIN
          LX3    42          BIT 0 OR 1 ON FOR A TAPE 
          MX5    58 
          BX4    -X5*X3      MASK OUT TWO LOWER BITS
          ZR     X4,NOTTAPE 
*         WE HAVE A TAPE
          SX7    1
          SA7    A0 
 NOTTAPE  EXIT
 PLACE    BSSZ   5           DATA FROM FILINFO RETURNED HERE
          END 
