ASMB
   HED .            UP I/O DEVICE IF LU OR EQT IS DOWN
      NAM .UPIO,7 92080-1X103 REV.2026  800515
  SPC 3 
**********************************************************************
*                                                                    *
*     NAME:   .UPIO     UP AN I/O DEVICE                             *
*     SOURCE: &.UPIO    92080-18103                                  *
*     BINARY: %.UPIO    ----NONE---    PART OF  %TMSLB  92080-12100  *
*                                                                    *
*     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 
      ENT .UPIO 
      EXT DRTEQ,MESSS 
* 
A     EQU 0 
B     EQU 1 
      SUP 
  SPC 2 
*     THIS SUBROUTINE DO A  "UP,EQT#" IF THE LU OR
*     THE EQT IS DOWN.
* 
*     CALLING SEQUENCE: 
*        LDA LU#
*        JSB .UPIO
*        JMP ERROR    ERROR RETURN (ILLEGAL LU OR CAN'T UP DEVICE)
*          NORMAL RETURN
*             A = EQT # 
*             B = STATUS (EQT5 CONTENT) 
  SPC 3 
.UPIO NOP 
      STA TEMP      SAVE LU 
      STA TEMP1     SET FIRST TIME FLAG 
UPIO2 JSB DRTEQ     GET EQT # 
      DEF *+2 
      DEF TEMP      LU
      AND =B77
      STA TEMP2     SAVE EQT #
      SZB,RSS       LU DEFINED ?
      JMP .UPIO,I   NO, ERROR RETURN IN P+1 
      SSB           LU OK ? 
      JMP .UPIO,I   NO, ERROR RETURN IN P+1 
      ADB =D4       YES, LU IS OK, CHECK IF EQT IS DOWN 
      LDA B,I       GET EQT WORD#5
      STA TEMP2+1   SAVE IT 
      AND =B140000  ISOLATE BIT 15-14 
      CPA =B40000   EQT DOWN ?
      JMP UPIO3     YES, TRY TO UP IT 
      CCA           NO, CHECK IF THE LU IS DOWN 
      ADA TEMP      INDEX INTO DRT
      ADA DRT 
      ADA LUMAX     TO GET DRT WORD#2 
      LDA A,I       GET DRT WORD#2
      SSA           LU DOWN ? 
      JMP UPIO3     YES, TRY TO UP THE EQT
      ISZ .UPIO     NO, RETURN OK (P+2) 
      DLD TEMP2     SET A&B 
      JMP .UPIO,I 
* 
UPIO3 LDA TEMP1     FIRST TIME THROUGH
      SZA,RSS       ? 
      JMP .UPIO,I   NO, ERROR RETURN P+1
      CLA           YES, SET SECOND TIME FLAG 
      STA TEMP1 
      LDA TEMP2     RECALL EQT #
      CLB           AND PUT IT INTO 
      DIV =D10      ASCII STRING
      ALF,ALF 
      ADA B 
      ADA =A00
      STA UPIOM+2 
      JSB MESSS     CALL SYSTEM PROCESSOR 
      DEF *+3 
      DEF UPIOM     MESSAGE BUFFER
      DEF D6        MESSAGE LENGTH
      JMP UPIO2     CHECK IF OK 
  SPC 2 
D6    DEC 6 
UPIOM ASC 3, UP,XX
TEMP  NOP 
TEMP1 NOP 
TEMP2 BSS 2 
  SPC 1 
DRT   EQU 1652B 
LUMAX EQU 1653B 
      END 
                                                                                                            