ASMB,Q,C
      NAM CLAS5,7 92425-1X048 REV.2001 791207 
*-------------------------------------------------------------------
* 
*      RELOC.       92425-1X048 
*      SOURCE       92425-18048 
* 
*      HP 92425C 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 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 THE HEWLETT-PACKARD COMPANY.
* 
*-------------------------------------------------------------------
      EXT DRTXX,SVCLN 
      EXT LUTRU 
      EXT IXPUT 
      EXT .ENTR 
      ENT STCLN,RTCLN 
A     EQU 0 
B     EQU 1 
* 
*     THIS SUBROUTINE IS USED TO STORE AND RETRIEVE 
*  CLASS NUMBERS FROM/TO TERMINAL TABLE PORTION OF THE
*  DRTXX MEMORY RESIDENT TABLE. 
*        EXPECTED FORMAT OF DRTXX ISAS FOLLOWS: 
*        DRTXX DEF *+1
*              DEC 256      MAX LENGTH OF TABLE 
*              BSS 256      NOTE: 1ST WORD = LENGTH OF TERMINAL TABLE.
*        SVCLN DEF *
*              DEC 4
*              REP 4
*              OCT 0
* 
*     THE PARAMETERS IN THE CALLING SEQUENCE HAVE 
*  THE FOLLOWING MEANINGS:
*     CALL XXCLN (XXLU,XXCL)
*     XXLU = SES LU OF TERMINAL. (SYS LU IS USED TO INDEX INTO SVCLN) 
*     XXCL  = CLASS NUMBER TO BE STORED OR RETURNED.
* 
STLU  NOP 
STCL  NOP 
STCLN NOP 
      JSB .ENTR     RETRIEVE ADDRESSES
      DEF STLU
      LDB STLU,I
      JSB DRTX      GET THE ADDRESS OF THIS TERMINAL'S ENTRIES. 
      INB           INCREMENT TO THE CLASS NO.
* 
      SZA,RSS       ERROR OCCURRED IF (A REG) = 0.
      JMP STCLN,I   ERROR. DO NOT STORE CLASS NO. 
* 
      STB ADDR
      JSB IXPUT 
      DEF *+3 
      DEF ADDR
      DEF STCL,I
* 
      LDB ADDR     RESTORE THE ADDRESS TO (B REG)/
* 
      JMP STCLN,I 
* 
*RETRIEVE CLASS NUMBER
* 
RTLU  NOP 
RTCL  NOP 
RTCLN NOP 
      JSB .ENTR 
      DEF RTLU
      LDB RTLU,I
      JSB DRTX
      INB 
      XLA B,I 
      STA RTCL,I
      JMP RTCLN,I 
* 
DRTX  NOP 
* 
      STB SESLU    GET THE SYSTEM LU OF THE TERMINAL
      JSB LUTRU 
      DEF *+3 
      DEF SESLU 
      DEF SYSLU 
* 
      XLA DRTXX    COMPUTE STARTING ADDR OF THE CLUSTER TABLE.
      INA          FIRST GET ADDR OF TERMINAL TABLE LENGTH. 
      XLB A,I      NOW GET TABLE LENGTH.
* 
      ADA B        ADD LENGTH TO ADDRESS TO GET LAST ADDRESS. 
      INA          INCREMENT TO FIRST ADDRESS OF CLUSTER. 
      STA ADDR
* 
      XLB DRTXX    SEARCH THE TABLE FOR THE TERMINAL
NXT   ADB D2
* 
      CPB ADDR     CHECK FOR END OF TABLE 
      JMP ERROR 
* 
      XLA 1,I      FETCH THE TERMINAL AND CLUSTER NO. 
      AND B377     EXTRACT THE TERMINAL NO. 
      CPA SYSLU    RIGHT TERMINAL?
      JMP DRTX,I   YES. RETURN (CLASS NO. ADDR)-1 IN B REG. 
      JMP NXT      NO.  CHECK NEXT TERMINAL.
* 
ERROR LDB SV       ERROR. RETURN WITH SAFE ADDRESS. 
      XLB B,I 
      INB 
      CLA          0 IN A REG INDICATES ERROR.
      JMP DRTX,I
* 
* 
DRT   DEF DRTXX 
SV    DEF SVCLN 
B377  OCT 377 
D2    DEC 2 
ADDR  NOP 
SESLU NOP 
SYSLU NOP 
      END 
                                                                                                                                                                                                                              