ASMB,C,Q
      NAM LU2S5,7 92425-16052 REV.2001 791127 
*     NAME:LU2ST
*   SOURCE: 92425-18052 
*    RELOC: 92425-16052 
*     PRGM: DICK LAMPMAN
************************************************************************* 
*    (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 WRITTED CONSENT OF HEWLETT-PACKARD COMPANY.               * 
************************************************************************* 
A     EQU 0 
B     EQU 1 
      ENT LU2ST 
      EXT .ENTR,DRTXX 
* 
LU    NOP 
LU2ST NOP 
      JSB .ENTR 
      DEF LU
* 
      LDA LU,I
      ALF,ALF 
      STA DLU      SAVE SYSTEM LU IN UPPER BYTE.
* 
* 
      XLB DRTXX     LOCATE STARTING ADDRESSES IN DRTXX
      INB            AND TEST FOR VALID TABLE.
      XLA B,I 
      SZA,RSS       ZERO LENGTH TERMINAL TABLE. 
      JMP ERR       YES. INVALID DRTXX TABLE. 
* 
      ARS           CALCULATE NUMBER OF TERMINALS AND 
      CMA 
      STA TCNT       SAVE.
* 
      CMA           CALCULATE ADDRESS OF FIRST CLUSTER
      ALS 
      ADB A 
      INB 
      STB FCLAD     SAVE THE ADDRESS. 
* 
************************************************************************
CLSR  LDB FCLAD     START CLUSTER SEARCH. 
* 
      XLA B,I       GET CLUSTER.
* 
      SZA,RSS       TEST FOR END OF CLUSTER TABLE.
      JMP TLUSR     NEXT SEARCH FOR LU IN TERMINAL TABLE. 
* 
      AND B377      POSITION CLUSTER TO 
      ALF,ALF        UPPER BYTE AND 
      STA CLS         SAVE. 
* 
      INB          CALCULATE NO. OF DEVICES.
      XLA B,I 
      ARS 
      CMA 
      STA CNT 
* 
      XLA B,I 
      ADA B 
      INA         CALCULATE ADDRESS OF NEXT CLUSTER 
      STA FCLAD    AND SAVE.
* 
DVLOP ADB D2      GO TO LU WORD OF NEXT DEVICE. 
* 
      ISZ CNT     TEST FOR END OF DEVICES.
      JMP *+2     NOT END.
      JMP CLSR    END. GO SEARCH NEXT CLUSTER.
* 
      XLA B,I 
      AND B1774   GET SYSTEM LU IN UPPER BYTE.
      CPA DLU     FOUND THE DEVICE? 
      JMP TRSR    YES.
* 
      JMP DVLOP   NO. GOTO NEXT DEVICE. 
* 
**************************************************************************
TRSR   XLB DRTXX     SEARCH TERMINAL TABLE FOR CLUSTER
* 
       LDA TCNT      SET UP TERMINAL DOWN COUNTER.
       STA CNT
* 
TLOP   ADB D2        GOTO NEXT TERMINAL WORD. 
       ISZ CNT       END OF TERMINALS?
       JMP *+2       NO. CONTINUE SEARCH
       JMP CLSR      YES. SEARCH NEXT CLUSTER.
* 
* 
       XLA B,I
       AND B1774
       CPA CLS       DOES THIS TERMINAL HAVE THIS CLUSTER?
       JMP *+2       YES. 
       JMP TLOP      NO CHECK NEXT TERMINAL.
* 
       XLA B,I       GET TERMINAL SYSTEM LU,
       AND B377 
       JMP LU2ST,I   RETURN TO CALLING PROGGRAM.
* 
************************************************************************
TLUSR  XLB DRTXX     SEARCH TERMINAL TABLE FOR LU.
* 
       LDA TCNT      SET UP TERMINAL DOWN COUNT.
       STA CNT
* 
TLULP  ADB D2        GOTO NEXT TERMINAL.
       ISZ CNT       END OF TERMINALS?
       JMP *+2       NO. CONTINUE SEARCH. 
       JMP ERR       YES. ERROR EXIT. 
* 
       XLA B,I
* 
       AND B377      EXTRACT TERMINAL SYS LU. 
       CPA LU,I      DOES TERMINAL LU MATCH DEVICE LU?
       JMP *+2       YES. 
       JMP TLULP     NO.  CHECK NEXT TERMINAL.
* 
       JMP LU2ST,I   RETURN TO CALLING PROGRAM. 
********************************************************************* 
* 
ERR    CLA           SET LU TO 0 WHEN PROBLEM OCCURS. 
       JMP LU2ST,I
D2     DEC 2
B377   OCT 377
B1774  OCT 177400 
CNT    BSS 1
TCNT   BSS 1
CLS    BSS 1
FCLAD  BSS 1
DLU    BSS 1
       END
       END$ 
                                                                                                                                                                                                                                      