ASMB,R,Q,C
* 
* 
*       NAME:   T.PAR 
*       SOURCE: 92076-18030 
*       RELOC:  PART OF 92076-16002 
*       PGMR:   B.J.L.
* 
* 
*  **************************************************************** 
*  * (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 T.PAR,8  92076-1X030 REV.2040 800802 92076-16002
* 
* 
* THIS ROUTINE UTILIZIES THE FRONT END OF THE BASIC/L 
* INTERPERTER WHICH PARSES THE COMMAND STRING AND RETRIEVES 
* THE LIST DEVICE OR LOGLU (DEFAULT LIST DEVICE). 
* 
* THE T.MAD, T.CON, T.ERN AND T.LST ADDRESSES ARE TYPED AS GLOBAL 
* FROM THE MAIN, BATBL.  NAMR WILL BE USED TO PARSE THE 
* COMMAND NAME AND TO PARSE THE LIST DEVICE WHICH MUST BE NUMERIC 
* OR AN ERROR WILL BE RETURNED. 
* 
* ANY RESULTING ERRORS WILL BE PASSED BACK VIA T.ERN.  THE RESULTING
* NAME/LU WILL BE IN CMNAM BUFFER THAT T.MAD POINTS TO. 
* THE RESULTING LIST DEVICE, BE IT LOGLU OR DEVICE, WILL BE PASSED
* BACK IN T.CON AND THE ASCII LU WILL BE PASSED BACK IN T.LST.
* 
* 
      EXT GETST,LOGLU,NAMR,T.CON,T.MAD,T.ERN        
      EXT KCVT,IFTTY,T.LST
      ENT T.PAR 
* 
* READDED CALL TO T.LST 800802****
* 
T.PAR NOP 
      JSB GETST     FETCH RUN STRING
      DEF GOON
      DEF BUFR1     TO BE USED FOR NAMR (40 WORDS)
      DEF M80       LENGTH IN -CHARS FOR NAMR 
      DEF ILOG      TRANS. LOG
GOON  JSB LOGLU      GET LOG ON DEVICE
      DEF *+2 
      DEF HOLD1     DUMMY PLACE HOLDER
      STA LIST      SAVE FOR POSSIBLE LIST DEVICE 
      STA T.LST     READDED SAVING LU FOR END MESSAGE *800802** 
* 
* 
      LDA ILOG       WAS THERE A STRING?
      SZA,RSS 
      JMP ERR1      NO, ISSUE NEED COMMAND STRING ERROR 
      LDA .1        YES, PARSE THE COMMAND FILE 
      STA ISTRC     BY INITIALIZING ISTRC TO 1 TO START 
      JSB NAME      PARSE NAME
      LDA BUFR+3    IS THERE A NAME?
      SZA,RSS 
      JMP ERR1      NEED COMMAND STRING ERROR 
      CPA .1        IS THIS A LU? 
      RSS           CHECK FOR INTERACTIVE 
      JMP GOON2     NO, FILE NAME 
      JSB IFTTY     YES, CHECK FOR TERM.
      DEF CKLU1 
      DEF BUFR      LU IN NAMR'S BUFFER 
CKLU1 SZA           A=0 FOR NON-INTERACTIVE 
      JMP ERR3      ELSE ISSUE ERROR
* 
GOON2 LDA T.MAD 
      STA PNTR
GOON3 LDA POINT,I   MOVE NAMR FROM BUFR TO CMNAM
      STA PNTR,I
      ISZ POINT 
      ISZ PNTR
      ISZ M3
      JMP GOON3 
      ISZ POINT     INCREMENT PASSED TYPE WORD OF NAMR
      LDA POINT,I   PICK UP SECURITY CODE 
      STA PNTR,I
      ISZ POINT 
      ISZ PNTR
      LDA POINT,I   PICK UP CRN#
      STA PNTR,I
* 
      LDA ILOG      IS THERE A LIST DEVICE? 
      INA           ADD 1 TO COVER ISTRC ADDITION CHAR.CNT
      CMA,INA 
      ADA ISTRC 
      SZA 
      JMP GETIT     YES, GO GET IT! 
EXIT1 STA T.ERN 
      LDA LIST      NO, USE LOGLU 
EXIT2 IOR B200      SET FOR POSSIBLE LINE PRINTER 
      STA T.CON     SET IN CONTROL WORD FROM MAIN 
      JMP T.PAR,I   AND RETURN
GETIT JSB NAME      GO GET POSSIBLE LIST DEVICE 
      LDA BUFR+3    IS IT NUMERIC?
      CPA .1
      RSS           YES 
      JMP ERR2      NO
      JSB KCVT      CONVERT TO ASCII
      DEF GET1
      DEF BUFR      LU FROM NAMR PARSE
*GET1  STA T.LST     A=ASCII CHAR.  *800728** 
GET1  LDA BUFR      GET LU
      JMP EXIT2     AND LEAVE 
ERR1  LDA .29       NO COMMAND STRING ERROR 
      JMP EXIT1 
ERR2  LDA .27       MUST BE NUMERIC LIST DEVICE ERROR 
      JMP EXIT1 
ERR3  LDA .28       MUST BE INTERACTIVE DEVICE ERROR
      JMP EXIT1 
* 
* 
* PARSING ROUTINE USING NAMR
* 
NAME  NOP 
      JSB NAMR
      DEF DONE
      DEF BUFR      RESULTING BUFFER
      DEF BUFR1     SOURCE BUFFER FROM GETST
      DEF ILOG      ILOG FROM GETST (+CHARS)
      DEF ISTRC     VARIABLE LOCATION COUNTER 
DONE  JMP NAME,I
* 
A     OCT 0 
B200  OCT 200 
PNT   DEF BUFR1 
POINT DEF BUFR
BUFR  BSS 10
BUFR1 BSS 40
ISTRC BSS 1 
ILOG  NOP 
LIST  NOP 
PNTR  NOP 
HOLD1 NOP 
M80   DEC -80 
M3    DEC -3
.1    DEC 1 
.29   DEC 29         **800115** 
.27   DEC 27
.28   DEC 28
      END T.PAR 
                                                                                                                                                                                            