ASMB,R,L,C
      NAM IBLU0,7  09580-16138  REV.A  770401 
* 
*---------------------------------------------------------------
* 
*     RELOC.     09580-16138
*     SOURCE     09580-18138
* 
*     L.DWYER       REV.A   770401
* 
*     HP 92425A TEST SYSTEM SOFTWARE IS THE PROPRIETARY 
*     MATERIAL OF THE HEWLETT-PACKARD COMPANY.  USE AND 
*     DISCLOSURE THEREOF ARE RESTRICTED BY WRITTEN AGREEMENT. 
* 
*     (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 THE HEWLETT-PACKARD COMPANY. 
* 
*---------------------------------------------------------------
* 
* 
* 
* DESCRIPTION:
* 
* THIS IS A FORTRAN CALLABLE INTEGER FUNCTION USED TO RETURN THE LU NUMBER
* ASSIGNED TO EQT SUBCHANNEL 0 FOR ANY OTHER LU NUMBER ON THE SAME EQT. 
* 
* IT'S USE COULD BE TO FIND THE LU NUMBER OF AN HPIB CONTROL CARD 
* SO A REMOTE ENABLE CONTROL CALL COULD BE ISSUED TO THAT CARD. 
* 
* 
* PARAMETERS: 
* 
* THERE IS ONE INTEGER PARAMETER PASSED TO THE FUNCTION.
*    THIS PARAMETER IS THE AUTO-ADDRESS LU NUMBER OF AN HPIB DEVICE.
* THERE IS ONE INTEGER PARAMETER RETURNED BY THE FUNCTION.
*    THIS PARAMETER IS THE LU NUMBER FOR SUBCHANNEL 0 OF THE
*    EQT OF THE AUTO-ADDRESSED LU NUMBER. 
* 
* 
* ERRORS: 
* 
* THIS FUNCTION HAS ONE ERROR RETURN.  IF NO LU IS FOUND CORRESPONDING TO 
* SUBCHANNEL-0 OF THE EQT, OR THE PARAMETER LU IS OUTSIDE THE DRT RANGE,
* ZERO IS RETURNED. 
* 
* 
* 
* CALLING SEQUENCE: 
* 
*     FORTRAN CALLING SEQUENCE: 
*         . 
*         . 
*         . 
*C     SET THE LU NUMBER OF AN HPIB AUTO-ADDRESS DEVICE 
*      LU1=33 
*C     GET THE NON-AUTO-ADDRESS LU NUMBER 
*C
*      LU0=IBLU0(LU1) 
*C
*C     CHECK FOR ERROR
*      IF(LU0.EQ.0) GOTO 900
*C     DO AN HPIB REMOTE ENABLE 
*      CALL EXEC(100003B,1600B+LU0) 
*C     ERROR RETURN 
*      GOTO 900 
*C     NORMAL RETURN
*        .
*        .
*        .
* 
* 
      HED IBLU0 
*     ASSEMBLER CALLING SEQUENCE: 
*         . 
*         . 
*      EXT IBLU0,EXEC 
*         . 
*      LDA =D33      GET THE AUTO-ADDRESS LU NUMBER 
*      STA LUNUM     SAVE IT. 
*      JSB IBLU0     JUMP SUB TO FUNCTION.
*      DEF *+2
*      DEF LUNUM     AUTO-ADDRESS LU NUMBER.
*      SZA,RSS       ERROR? 
*      JMP ERPNT     YES, PROCESS ERROR 
*      ADA =B1600    NO, ADD THE REMOTE ENABLE COMMAND. 
*      STA LUN00     SAVE THE SUBCHAN-0 LU NUMBER.
*      JSB EXEC 
*      DEF *+3
*      DEF CNWRD
*      DEF LUN00
*      JMP ERPNT     ERROR RETURN.
**                   NORMAL RETURN. 
*         . 
*         . 
*LUN00 NOP           TEMP STORAGE FOR HPIB LU NUMBER
*CNWRD OCT 100003    EXEC CONTROL COMMAND 
*LUNUM NOP           TEMP STORAGE FOR AUTO-ADDRESS DEVICE LU NUM
* 
      SKP 
      ENT IBLU0 
      EXT .ENTR 
      SPC 1 
LU    NOP 
IBLU0 NOP 
      JSB .ENTR 
      DEF LU
      LDB LU,I      GET THE LU NUMBER 
      SSB           NEGATIVE? 
      JMP ERR         YES 
      SZB,RSS       ZERO? 
      JMP ERR         YES 
      LDA 1653B     GET THE DRT TABLE LENGTH
      CMA,INA        NEGATE 
      STA LUMAX       AND SAVE IT.
      ADB =D-1      CHECK FOR LU
      ADA B          OUTSIDE OF RANGE.
      SSA,RSS       OUT?
      JMP ERR         YES 
      LDA 1652B     GET THE DRT POINTER 
      STA DRT        AND SAVE IT. 
      ADB A          POINT TO DRT ENTRY OF LU 
      LDA B,I         AND GET THE ENTRY.
      AND =B77      MASK FOR EQT
      SZA,RSS       EQT ASSIGNED? 
      JMP ERR         NOPE. 
      STA EQT       THEN SAVE IT. 
      CLB,INB       B-REG HAS CURRENT LU NUMB.
      SPC 1 
AGAIN LDA DRT,I     GET THE NEXT DRT ENTRY. 
      AND =B174077  MASK FOR EQT. 
      CPA EQT       EQT'S MATCH?
      JMP BINGO       YES 
      ISZ DRT       BUMP LU POINTER,
      ISZ B          LU COUNTER,
      ISZ LUMAX       AND END OF LIST COUNT. SKIP ON END. 
      JMP AGAIN     ELSE...TRY, TRY AGAIN.
      SPC 1 
ERR   CLB           OOPS...ERROR RETURN.
BINGO LDA B         RETURN THE
      JMP IBLU0,I    FOUND LU NUMBER. 
      SPC 2 
LUMAX NOP 
DRT   NOP 
EQT   NOP 
A     EQU 0 
B     EQU 1 
      END 
      