ASMB,R,L,C
      HED NAM.. ROUTINE 
*     NAME:   NAM.. 
*     SOURCE: 92067-18139 
*     RELOC:  92067-16125 
*     PGMR:   G.A.A.
* 
*  ***************************************************************
*  * (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 NAM..,6 92067-16125 REV.1903 740801 
      ENT NAM.. 
      EXT $LIBR,$LIBX,.ENTP 
      SPC 3 
*     THIS ROUTINE CHECK FOR A LEGAL FILE NAME
*     CALLING SEQUENCE: 
* 
*     JSB NAM.. 
*     DEF *+2 
*     DEF NAME
* 
*     ON RETURN A=0 IF A LEGAL NAME  -15 IF NOT LEGAL 
* 
*     LEGAL NAMES MUST START WITH A NON NUMERIC NON BLANK 
*     ASCII CHARACTER 
*     AND MUST NOT CONTAIN +, OR - AS ANY CHARACTER 
      SPC 3 
NAME  NOP           ADDRESS OF THE NAME 
NAM.. NOP           ENTRY POINT 
      JSB $LIBR     PRIVLEDGED
      NOP 
      JSB .ENTP     GET THE PRAMS 
      DEF NAME
      LDB N6        SET TO CHECK
      STB COUNT      6 CHARACTERS 
      LDB NAME
      RBL 
      LDA NAME,I    DO SPECIAL EXTRA CHECK
      ALF,CLE,ALF    ON 
      AND B377        FIRST CHARACTER 
      ADA N60B       IF NUMERIC OR BLANK
      SEZ,CME         THEN
      ADA N10          TAKE 
      SEZ               THE 
      CPA N20B          ERR 
      JMP ER15           EXIT 
CREA1 CLE,ERB        GET THE NAME ADDRESS 
      LDA B,I        GET A NAME WORD
      ELB           RESTORE ADDRESS FOR NEXT TIME 
      SLB,INB,RSS   INCREMENT SKIP IF ODD ELSE
      ALF,ALF        ROTATE 
      AND B377        MASK IT 
      CPA COLON     IF COLON
      CLA           FOURCE ERROR
      ADA N40B      BETWEEN " " 
      SZA,RSS       IF BLANK THEN 
      JMP BLNK      TAKE NOTE 
      SEZ,CME        AND
      ADA N13B        "*" 
      SEZ,CLE,RSS      INCLUSIVE? 
      JMP CREA2         YES - OK
      ADA N3        NO;  BETWEEN
      SEZ,CME        "." AND
      ADA N62B        "_" 
CREA2 ISZ NAME      CHARACTER AFTER BLANK?? 
      SEZ           NO; LEGAL OTHER WISE??
      JMP ER15      NO GO TAKE ERROR EXIT 
CREA3 ISZ COUNT      DONE?
      JMP CREA1       NO; DO NEXT CHARACTER 
      CLA,RSS       GOOD NAME EXIT
ER15  LDA N15       ERROR EXIT
      JSB $LIBX 
      DEF NAM.. 
      SPC 1 
BLNK  CCA           SET BLANK FLAG
      STA NAME      SO WE CAN DETECT
      JMP CREA3     INBEDDED BLANKS 
      SPC 2 
COUNT NOP 
COLON OCT 72
N62B  OCT -62 
N3    DEC -3
N13B  OCT -13 
N40B  OCT -40 
B377  OCT 377 
N20B  OCT -20 
N60B  OCT -60 
N6    DEC -6
N10   DEC -10 
N15   DEC -15 
A     EQU 0 
B     EQU 1 
      END 
                                                                                                                                                                                                