ASMB,R,L
      HED ST.LU 
*     NAME:   ST.LU 
*     SOURCE: 92067-18428 
*     RELOC:  92067-16425 
*     PGMR:   A.M.G.
* 
*  ***************************************************************
*  * (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 ST.LU,8 92067-16425 REV.1903 781010 
      ENT ST.LU,G1PCR 
* 
      EXT N.SEQ,$LIBR,$LIBX,$DVMP,$SPOK 
      EXT $LUAV,.DRCT,EXEC,IS43,CS43,$SPCR
* 
*  THE FOLLOWING ROUTINE INITIALIZES THE SPOOL
*  AVAILABILITY TABLE, $LUAV, AND SETS CS43 # 0 
*  AS A DONE FLAG.
* 
ST.LU NOP 
      CLA           ZAP 
      STA INOGO     THE VALIDITY FLAG 
      LDA XEQT      GET MY ID ADDRESS 
      ADA D14       INDEX TO TYPE WORD
      LDA A,I       PULL IT IN
      AND M7        KEEP ONLY TYPE
      CPA D3        IS THIS PROG BG ? 
      RSS           YES 
      ISZ INOGO     SET AN ERROR FLAG 
* 
      JSB .DRCT 
      DEF $LUAV     GET ADDRESS OF $LUAV. 
      STA ADDR
      INA 
      STA PTR2
      CLA           SET COUNTERS AND POINTERS.
      STA CNTR2 
      LDA EQTA      GET ADDRESS OF WORD 2 OF 1ST EQT. 
      INA 
      STA PTR1
      LDA EQTNO     SET COUNTER FOR # OF EQT'S
      CMA,INA       TO SEARCH.
      STA CNTR1 
      CLB,INB 
      STB NEQT
      JSB .DRCT     GET DIRECT ADDRESS OF 
      DEF IS43      IS43 ENTRY POINT TO SMD.
      STA SMDAD 
      JSB $LIBR 
      NOP 
LOOP1 LDA CNTR2 
      CPA ADDR,I
      JMP DONE
      LDA PTR1,I    PICK UP EQT2 - DRIVER 
      CPA SMDAD     ENTRY POINT.  MATCH IS43? 
      JMP SEEK      YES.
INCR1 ISZ NEQT      KEEP LOOKING AT EQT'S.
      LDA PTR1
      ADA D15       INCREMENT TO NEXT EQT.
      STA PTR1
      ISZ CNTR1 
      JMP LOOP1 
* 
DONE  LDA INOGO     GET THE ERROR FLAG
      XSA $SPOK     AND SAVE IN SSGA
      SZA           WERE THERE ANY ERRORS ? 
      JMP OUT       YES, DRIVER NOT IN OUR MAP
* 
      LDA CNTR2 
      STA N.SEQ     DONE - SAVE # OF SPOOL EQT'S. 
      CMA,INA,SZA   DON'T SAVE IF THERE ARE NONE
      STA ADDR,I
      CCA            SET CS43 TO
      STA CS43      -1 TO SHOW DONE 
OUT   JSB $LIBX 
      DEF ST.LU 
* 
SEEK  CCB           GET THE APPROPRIATE DRIVER MAP ENTRY
      ADB NEQT
      ADB $DVMP 
      LDA B,I        PULL IT IN 
      SSA,RSS        IS THE SYS DVR MAP BIT SET ? 
      JMP NOWAY      NO.
      LDA M1K1       GET CORRECT VALUE ?
      STA B,I        AND PUT IT AWAY
* 
      CCA            NOW SEE IF EQT HAS EXTENTS 
      ADA NEQT
      MPY D15 
      ADA EQTA
      ADA D11        INDEX TO 12 WORD OF THE EXTENT 
      LDA A,I        PULL IT IN 
      ADA DM18
      SSA            OK ? 
NOWAY ISZ INOGO      NO ! 
* 
      LDA DRT       FOUND A SPOOL EQT.
      STA PTR3      MUST SEARCH DRT TO
      LDA LUMAX     FIND THE CORRESPONDING
      CMA,INA       LU #. 
      STA CNTR3 
      CLB,INB 
LOOP2 LDA PTR3,I    PICK UP DRT ENTRY.
      AND B77       GET EQT #.
      CPA NEQT      MATCH THIS ONE? 
      JMP ENTER     YES.
      INB           NO - KEEP LOOKING.
      ISZ PTR3
      ISZ CNTR3 
      JMP LOOP2 
      JMP INCR1 
ENTER STB PTR2,I    MAKE AN ENTRY IN $LUAV. 
      ISZ PTR2
      CLA 
      STA PTR2,I
      ISZ PTR2
      ISZ CNTR2 
      JMP INCR1 
* 
SMDAD BSS 1 
M1K1  OCT 100001
DM18  DEC -18 
INOGO NOP 
B77   OCT 77
D3    DEC 3 
D11   DEC 11
D14   DEC 14
D15   DEC 15
M7    OCT 7 
NEQT  BSS 1 
CNTR1 BSS 1 
CNTR2 BSS 1 
CNTR3 BSS 1 
PTR1  BSS 1 
PTR2  BSS 1 
PTR3  BSS 1 
ADDR  BSS 1 
EQTA  EQU 1650B 
EQTNO EQU 1651B 
DRT   EQU 1652B 
LUMAX EQU 1653B 
XEQT  EQU 1717B 
* 
* 
*     THE FOLLOWING ROUTINE IS USED TO SETUP AND CLEAR
*     THE $SPCR FLAG.  IT IS ASSUMED THAT THE VALUE 
*     TO BE USED IS THE NEGATIVE OF THE LEAST 6 BITS
*     OF THE PASSED PARAMETER.
* 
G1PCR NOP 
      JSB $LIBR     MUST BE PRIV TO POKE
      NOP           DATA INTO THE SYSTEM
      LDA G1PCR,I   GET THE VALUE TO SET
      LDA A,I 
      AND B77       ISOLATE THE 6 BITS
      CMA,INA       SET NEGATIVE
      XSA $SPCR     SET THE WORD
      ISZ G1PCR     SET THE RETURN ADDRESS
      JSB $LIBX     EXIT  ALL DONE
      DEF G1PCR 
* 
* 
A     EQU 0 
B     EQU 1 
* 
      END 
                                                                