SPL,L,O,"<LKUP>"
! 
      NAME LKUP (7)"92425-16027 REV.1841 780927"
! 
!-------------------------------------------------------------
! 
! 
!     F. WARREN         17MAY76    REV. A 
! 
!     "C" COPYRIGHT HEWLETT-PACKARD COMPANY 1976. 
!     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. 
! 
!-------------------------------------------------------------
! 
      LET MTCH BE SUBROUTINE,EXTERNAL  ! COMPARE STRINGS
! 
! 
!     LKUP                              GENERAL KEYED TABLE LOOKUP
! 
LKUP: FUNCTION (STRA, TBL,FAIL) FEXIT,GLOBAL
      LET TBL(1) BE INTEGER            ! KEYED TABLE
      TADDR_@TBL + 2                   ! FIRST ENTRY
      DATA _ TBL(2)                    ! GET # DATA WORDS/ENTRY 
      FOR IT _ 1 TO TBL(1) DO THRU TL1 ! FOR ALL ENTRIES (TBL(1)) 
         TLT _ ($TADDR+1) >- 1         ! GET WORD CNT OF STRING 
         MTCH($TADDR,STRA)?TL1         ! CHECK FOR MATCH
         FAIL_0                        ! DIDN'T FAIL
         RETURN TADDR + TLT + 1        ! RETURN ADDRESS OF DATA 
TL1:  TADDR _ TADDR + TLT + DATA + 1   ! GET NEXT ENTRY'S ADD 
      FAIL_ -1                         ! FAILED 
      FRETURN                          ! DIDN'T FIND IT 
      END                              !
      END 
END$
                                                                                                  