ASMB
  HED .        SET UP WORD TO BYPASS THE LU LOCK
      NAM .LURQ,7 92903-16100 REV.1805  780422
  SPC 3 
**********************************************************************
*                                                                    *
*     NAME:   .LURQ     BYPASS LU LOCK                               *
*     SOURCE: &.LURQ    92903-18104                                  *
*     BINARY: %.LURQ    ----NONE---    PART OF  %TMSLB  92903-16100  *
*                                                                    *
*     PGMR:   FRANCOIS GAULLIER                                      *
*                                                                    *
**********************************************************************
      SPC 2 
*     **************************************************************
*     * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1978.  ALL RIGHTS    *
*     * RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, RE- *
*     * PRODUCED, OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITH-  *
*     * OUT THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.  *
*     **************************************************************
  SPC 3 
**********************************************************************
*                                                                    *
*     ASSEMBLER CALLING SEQUENCE:                                    *
*                                                                    *
*        LDA LU        A=LU                                          *
*        JSB .LURQ     REQUEST BYPASS LULOCK WORD                    *
*           RETURN A=BYPASS LULOCK WORD (TO BE USED IN 9TH PARAM.    *
*                                        OF EXEC CALL)               *
*                  OR A=0 IF THE LU IS NOT LOCKED.                   *
*                                                                    *
*     FORTRAN CALLING SEQUENCE:                                      *
*                                                                    *
*     IWORD = LURQW(LU)                                              *
*                                                                    *
**********************************************************************
  SPC 3 
      ENT .LURQ,LURQW 
      EXT .ENTR,$RNTB 
  SPC 1 
A     EQU 0 
B     EQU 1 
      SUP 
   SKP
.LU   NOP 
LURQW NOP           FTN ENTRY POINT 
      JSB .ENTR 
      DEF .LU 
* 
      LDA .LU,I     GET LU
      JSB .LURQ     GET BYPASS LULOCK WORD
      JMP LURQW,I   RETURN TO USER
  SPC 2 
.LURQ NOP 
      AND =B77
      ADA DM1       INDEX INTO DRT
      ADA DRT 
      LDA A,I       GET DRT WORD # 1
      ALF,ALF       A = SUB.CHAN. / RN# / EQT#
      RAL,RAL       ROTATE RN# INTO LEAST BITS
      AND =B37      ISOLATE LOCK RN # 
      SZA,RSS       IF LU IS NOT LOCK 
      JMP .LURQ,I   RETURN 0
      STA TEMP1     SAVE IT TEMPORARILY 
      LDB .RNTB 
      RSS           TRACK DOWN $RN TABLE ADDR 
      LDB B,I 
      RBL,CLE,SLB,ERB   PEEL OFF INDIRECT BIT 
      JMP *-2 
      ADB A         INDEX IN RN TABLE 
      XLA B,I       GET WORD  (OWNER ID/LOCKER ID) RTE-IV --- 
      ALF,ALF       PUT LOCKER ON LEFT BYTE 
      AND =B177400  MASK OUT LOCKER 
      IOR TEMP1     MERGE WITH RN # 
      JMP .LURQ,I 
  SPC 1 
DM1   DEC -1
TEMP1 NOP 
.RNTB DEF $RNTB 
DRT   EQU 1652B 
      UNS 
  SPC 2 
      END 
                                                                                                                