ASMB,R,L,C
*     NAME:   FCONT 
*     SOURCE: 92070-18042 
*     RELOC:  92070-16042 
*     PGMR:   G.A.A.
*     MOD:    M.L.K.
* 
*  ***************************************************************
*  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979.  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 FCONT,7  92070-1X042  REV.1941  790709
* 
      HED FCONT 
      ENT FCONT 
      EXT .ENTR,EXEC,GTOPN
* 
*     THIS IS THE TYPE ZERO CONTROL ROUTINE OF
*     THE RTE FILE MANAGEMENT PACKAGE.
* 
*     A STANDAD  RTE  CONTROL  REQUEST IS ISSUED
*     TO THE  DEVICE  VIA  THE EXEC  IF THE 
*     DCB  IS  OPEN  TO A TYPE  ZERO FILE.
*     CALLING  SEQUENCE 
*     CALL FCONT(IDCB,IERR,ICON1,ICON2) 
*       WHERE:
*         IDCB   IS THE DATA CONTROL BLOCK FOR
*                 THE FILE. 
*         IERR   IS THE LOCATION FOR RETURNED 
*                 ERRORS. 
*                 POSSIBLE ERRORS ARE:
*              0 NO  ERRORS 
*              -10 NOT ENOUGH PARAMETERS
*              -11 DCB NOT OPEN 
*              >0  NOT A TYPE ZERO FILE (IERR=TYPE) 
*     ICON1   IS CONTROL WORD #1 - THE DEVICE 
*              LU IS MURGED INTO THE LOW
*              6 BITS  OF  THIS WORD
*     ICON2   IS CONTROL WORD TWO - OPTIONAL
*               ZERO  IS USED IF NOT SPECIFIED
*     ON   RETURN     A =  IERR 
*                     B =  DEVICE STATUS
      SKP 
FCONT NOP 
      LDB DZERO     RESET 
X     REP  7        ENTRY 
      STB *-X+IDCB  ADDRESS 
      CLB           CLEAR DUMMY 
      STB ZERO      ZERO
      LDA FCONT 
      STA DCONT     MOVE PARM ADDRESS TO DUMMY ENTRY
      JMP DCONT+1 
* 
* 
IDCB  DEF ZERO      PARAMETER 
IERR  DEF ZERO       ADDRESS
ICNWD DEF ZERO       AREA 
IPRM1 DEF ZERO
IPRM2 DEF ZERO
IPRM3 DEF ZERO
IPRM4 DEF ZERO
      SPC 1 
DCONT NOP           ENTRY POINT 
      JSB .ENTR      FETCH PARAMETERS 
      DEF IDCB
* 
      LDA N10       FETCH ERROR CODE
      LDB ICNWD     FOR NOT ENOUGH PARMS
      CPB DZERO     OK????? 
      JMP EXIT      NOPE--GET OUT 
* 
      LDB IDCB      GET DCB 
      ADB .2         ADDRESS
      STB TYPE        OF TYPE 
      ADB .7           AND
      JSB GTOPN     GET CURRENT OPEN FLAG 
      DEF *+1 
      CPA B,I       IS IT THE SAME AS IN DCB? 
      JMP OK        YES, CONTINUE 
      LDA N11       NO; SEND NOT OPEN ERROR 
EXIT  STA IERR,I    TO CALLER 
      LDB STAT      STATUS TO B AND 
      JMP DCONT,I   RETURN
      SKP 
OK    LDA TYPE,I    GET FILE TYPE 
      SZA           ZERO? 
      JMP EXIT      NO;  EXIT : TYPE IN A 
      SPC 1 
      ISZ TYPE      YES;  STEP  TO  WORD  WITH LU 
      LDA TYPE,I    GET LU
      AND B77        AND ISOLATE  THEN
      STA B         SAVE
      LDA ICNWD,I   GET THE FUNCTION
      AND B1777     MAKE SURE THE LOW END IS ZERO 
      IOR B         PUT THEM TOGETHER 
      STA ICNWD     SET FOR CALL
      JSB EXEC      CALL EXEC TO
      DEF EXRTN      DO 
      DEF FUNC        THE 
      DEF ICNWD        CONTROL
      DEF IPRM1,I       FUNCTION
      DEF IPRM2,I 
      DEF IPRM3,I 
      DEF IPRM4,I 
EXRTN JMP EXM17     ERROR RETURN FROM EXEC
      STA STAT      SAVE STATUS FOR RETURN
      JMP EXIT      GO; EXIT
* 
* 
EXM17 LDA N17 
      JMP EXIT
      SKP 
* 
*     CONSTANT AREA 
* 
FUNC  OCT 100003
B1777 OCT 177700
B200  OCT 200 
N17   DEC -17 
.2    OCT 2 
TYPE  NOP 
.7    DEC 7 
N10   DEC -10 
N11   DEC -11 
DZERO DEF ZERO
ZERO  NOP 
STAT  NOP 
B77   OCT 77
      SPC 2 
A     EQU 0 
B     EQU 1 
      SPC 1 
END   EQU * 
      SPC 1 
      END 
                                                                                                                                                                                                                      