ASMB,R,L
      HED CHECK ID ROUTINE
*     NAME:   CK.ID 
*     SOURCE: 92067-18159 
*     RELOC:  92067-16125 
* 
*  ***************************************************************
*  * (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 HEWLETT-PACKARD COMPANY.       *
*  ***************************************************************
* 
      NAM CK.ID,7 92067-16125 REV.1903 780403 
      ENT CK.ID 
      EXT .ENTR,$OPSY 
* 
*  THIS ROUTINE VALIDATES AN ID SEGMENT ADDRESS.
* 
*  CALLING SEQUENCE:  JSB CK.ID 
*                     DEF *+2 
*                     DEF ID       ID SEGMENT ADDRESS 
* 
*  RETURN:            E=0          VALID ID SEGMENT ADDRESS 
*                     E=1          INVALID ID SEGMENT ADDRESS 
* 
ID    NOP 
CK.ID NOP 
      JSB .ENTR 
      DEF ID
      LDA ID,I      FETCH ID SEGMENT ADDRESS
      SZA,RSS       ZERO? 
      JMP CKID1     YES 
      LDB $OPSY     OP SYSTEM IDENTIFIER
      ERB,ERB       GET MAPPED BIT TO E 
      LDB KEYWD     MAKE SURE THE ADDRESS POINTS
      STB IADDR       TO A VALID ID SEGMENT 
NEXT  SEZ           MAPPED SYSTEM?
      JMP XLOAD     YES, CROSS LOAD OF IDSEG ADDRESS
      LDB IADDR,I   NO, DIRECT LOAD OF IDSEG ADDRESS
TEST  CPB 0         DOES IT MATCH THIS ONE? 
      JMP CKID2     YES, ITS VALID
      ISZ IADDR     NO, TRY THE NEXT ONE
      SZB           END OF KEYWORD BLOCK? 
      JMP NEXT      NO, CONTINUE
CKID1 CCE,RSS       INVALID ID SEGMENT ADDRESS
CKID2 CLE           VALID ID SEGMENT ADDRESS
      JMP CK.ID,I   RETURN
* 
XLOAD XLB IADDR,I   NEXT IDSEG ADDR FROM KEYWORD BLOCK
      JMP TEST      CONTINUE
* 
KEYWD EQU 1657B 
IADDR BSS 1 
* 
      END 
                                                                                                                                                                      