ASMB,R,L,C
      HED LOCF
*     NAME:   LOCF
*     SOURCE: 92064-18071 
*     RELOC:  92064-16061 
*     PGMR:   G.L.M.
* 
*  ***************************************************************
*  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1977.  ALL RIGHTS     *
*  * RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED,      *
*  * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT*
*  * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.       *
*  ***************************************************************
* 
* 
      NAM LOCF,7  92064-16061  REV.1650  761115 
* 
      ENT LOCF
      EXT .ENTR 
      SPC 2 
* 
* 
*     LOCF     RETURNS THE CURRENT STATUS OF A
*              RTE FILE TO THE CALLER.
* 
      SPC 1 
* 
*     THE FORTRAN CALLING SEQUENCE IS:
* 
      SPC 1 
*     CALL LOCF(IDCB,IERR,IREC,IRS,IOFF,JSEC,JLU,JTY,JREC)
* 
      SPC 1 
* 
*     W H E R E:
* 
      SPC 1 
*     IDCB     IS THE DATA CONTROL BLOCK FOR THE FILE.
* 
*     IERR     IS THE ERROR CODE RETURN.
*              POSSIBLE CODES ARE:
*            0  -  NO ERROR 
*          -11  -  DCB NOT OPEN 
*          -10  -  NOT ENOUGH PARAMETERS
* 
*     IREC     IS THE RECORD NUMBER OF THE NEXT RECORD. 
* 
*     IRS      IS THE RELATIVE SECTOR OF THE NEXT RECORD./2 
* 
*     IOFF     IS THE OFFSET IN THE SECTOR OF THE NEXT RECORD.
* 
*     JSEC     IS THE NO. OF SECTORS IN THE FILE (OR EXTENT). 
* 
*     JLU      IS THE FILE'S LOGICAL UNIT.
* 
*     JTY      IS THE FILE'S TYPE.
* 
*     JREC     IS THE RECORD SIZE.
* 
      SPC 1 
*     ALL PARAMETERS AFTER IREC ARE OPTIONAL. 
* 
      SKP 
LOCF  NOP 
      LDA DFDM      RESET PARMS 
      STA IREC
      STA JLU 
      STA JTY 
      LDA LOCF
      STA DOCF
      JMP DOCF+1
* 
DCB   NOP 
IER   DEF DM
IREC  DEF DM
IRS   DEF DM
IOFF  DEF DM
JSEC  DEF DM
JLU   DEF DM
JTY   DEF DM
JREC  DEF DM
DOCF  NOP           ENTRY 
      JSB .ENTR     GET 
DFDCB DEF DCB       PARAMETERS ADDRESSES
      LDA N10       NOT ENOUGH
      LDB IREC      PRAM
      CPB DFDM      TEST
      JMP EXIT      NOT ENOUGH - EXIT 
      LDA DCB       SET A TO GET DCB
      ADA .3
      STA LU
      ADA .6
      STA OPCLS 
      ADA .5
      STA REC 
* 
* 
      LDB OPCLS,I   IS
      LDA N11        FILE 
      CPB XEQT        OPEN? 
      JMP OK           YES; JUMP
EXIT  STA IER,I     NO; SET EXIT CODE 
      JMP DOCF,I    EXIT
      SPC 3 
OK    LDB REC,I   GET AND 
      STB IREC,I    SET RECORD NO.
      LDA LU,I      FETCH LU
      AND B77        ISOLATE LU 
      STA JLU,I 
      CCB           PRESET FOR CARTRIDGE TAPE FILE
      LDA DCB,I     FETCH TYPE
      CPA DUMMY     IF LU OPEN(A=177400B) THEN
      CLB                RETURN A ZERO
      STB JTY,I 
* 
*ALL DONE--EXIT 
* 
      CLA 
      JMP EXIT
* 
      SKP 
LU    NOP 
OPCLS NOP 
REC   NOP 
DM    NOP 
DFDM  DEF DM
* 
B77   OCT 77
DUMMY OCT 177400
N10   DEC -10 
N11   DEC -11 
.3    OCT 3 
.5    OCT 5 
.6    OCT 6 
A     EQU 0 
B     EQU 1 
XEQT  EQU 1717B 
      SPC 1 
END   EQU * 
      SPC 1 
      END 
                                                                                                                                                                      