ASMB,R,L,C,Q
      HED HELP
*     NAME:   HELP
*     SOURCE: 92067-18121 
*     RELOC:  92067-16121 
*     PGMR:   N.J.S.
* 
*  ***************************************************************
*  * (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 HELP,3 92067-16121 REV.1903 790312
      ENT HELP
      EXT EXEC,OPEN,CLOSE 
      EXT READF,LOGLU,GTERR 
      SUP 
* 
* 
BUFFR BSS 128 
PRAM1 BSS 4 
INTEG NOP 
ABUF  DEF BUFFR 
APRM1 DEF PRAM1 
* 
* 
GPTR  NOP           POINTER FOR PARSE; POINTER FOR COMPR
PPTR  NOP           POINTER FOR PARSE; POINTER FOR COMPR
EOL   NOP 
COUNT NOP           COUNTER FOR ASCIN; COUNTER FOR COMPR
SAVE  NOP           TEMP STORAGE FOR ASCIN; ERROR RETURN
SIGN  NOP 
CHAR  NOP 
TERLU NOP 
* 
* 
DCB   BSS 144 
DCBA  DEF DCB 
LNDCB NOP           LENGTH OF DCB BEING USED
ADCB  NOP           ADDRESS OF DCB BEING USED 
LEN   EQU CHAR
CNWRD EQU SIGN
* 
* 
NAME  ASC 3,"HELP 
CODE  ASC 19,HELP INFO FILE FOR PROGRAM 92067-18121 
ACODE DEF CODE
""    ASC 1,""
A""   DEF ""
* 
* 
ZERO  DEC 0 
.1    DEC 1 
.2    DEC 2 
.3    DEC 3 
.4    DEC 4 
.6    DEC 6 
.14   DEC 14
.128  DEC 128 
* 
* 
N1    DEC -1
N4    DEC -4
N8    DEC -8
N10   DEC -10 
N16   DEC -16 
N64   DEC -64 
* 
* 
A     EQU 0 
B     EQU 1 
XEQT  EQU 1717B 
BGLWA EQU 1777B 
* 
* 
* 
* 
*  ENTRY - HELP MAY BE SCHEDULED IN ANY OF THE FOLLOWING WAYS 
* 
*        :HE,P1,P2
*        *HE,P1,P2
*        :RU,HELP,P1,P2 
*        *RU,HELP,P1,P2 
* 
* 
*     THE RUN STRING RETRIEVED BY HELP WILL BE EITHER 
* 
*        RU,HELP,PARAM1,PARAM2
*                OR 
*        ON,HELP,PARAM1,PARAM2
*                OR 
*        HELP,PARAM1,PARAM2 
*                OR 
*        HE,PARAM1,PARAM2 
* 
* 
* 
**
********************* 
**                 ** 
**    SECTION I    ** 
**                 ** 
********************* 
**
**
**     CALCULATE LARGEST BUFFER BEHIND PROGRAM THAT CAN BE USED 
**
**
HELP  EQU * 
      LDB XEQT      GET ID SEGMENT ADDRESS OF 
      ADB .14        HELP  POSITION TO AND
      XLA B,I         FETCH PROGRAM TYPE
      AND =B17      MASK TO LOWER 4 BITS
      CPA .1        MEMORY RESIDENT?
      JMP BUF.2     YES - MUST USE IN-PROGRAM BUFFER
      ADB =D9       POSITION TO AND GET 
      XLA B,I        HIGH MAIN + 1
      STA ADCB      SAVE THIS ADDRESS 
      CLB 
      CMA,INA       EXTRA = #WORDS BETWEEN HIGH MAIN
      ADA BGLWA      +1 AND END OF THE PARTITION. 
      ADA N16       ALLOW FOR 16 DCB CONTROL WORDS
      LSR 7         DIVIDE TO GET # BLOCKS
      SZA,RSS       LESS THAN 1 BLOCK FOR DCB BUFFER? 
      JMP BUF.2     YES - JUST USE IN-PROGRAM BUFFER
      LSL 7         LENGTH IN WORDS (EVEN 128) OF SPACE BEHIND
      ADA =D16       PROGRAM - (ADD BACK IN 16 CONTROL WORDS) 
      STA LNDCB     SAVE LENGTH OF BUFFER BEING USED. 
      JMP RETRV     NOW GO PROCESS HELP REQUEST 
* 
BUF.2 LDA =D144     SET UP LENGTH OF IN-PROGRAM 
      STA LNDCB      BUFFER FOR DCB 
      LDA DCBA      SET UP ADDRESS OF BUFFER
      STA ADCB       TO BE USED FOR DCB 
* 
* 
**
********************
**                **
**   SECTION II   **
**                **
********************
**
**
**     RETRIEVE RUN STRING AND PARSE IT 
**
**
* 
*     CLEAR 1ST PARAMETER BY MOVING IN BLANKS 
*     FIND OUT LU# OF TERMINAL
* 
RETRV LDA =B20040 
      STA PRAM1 
      STA PRAM1+1 
      STA PRAM1+2 
      STA PRAM1+3 
* 
      JSB LOGLU     CALL LOGLU TO GET LU# 
      DEF *+2        OF TERMINAL SCHEDULING HELP
      DEF SAVE        DUMMY VARIABLE - GETS CHANGED 
      STA TERLU     SAVE LU# OF THE TERMINAL
* 
*     RETRIEVE RUN STRING 
* 
      JSB EXEC      EXEC 14 CALL TO 
      DEF *+5        RETRIEVE RUN STRING
      DEF .14         TO BUFFER STRNG 
      DEF .1
      DEF BUFFR 
      DEF .128
* 
      LDA ABUF      SET UP POINTERS IN STRING FOR GETCR IN
      CLE,ELA        FORMAT: ADDRESS IN BITS 15-1, U\L CHAR 
      STA GPTR        =0\1 UB BIT 0.
      BLS           SHIFT STRING LENGTH TO SAME FORMAT
      ADA B         ADD IT TO ADDRESS OF STRING TO
      STA EOL        GET ADDRESS FOR END OF LINE
* 
*     1ST CHARACTER IN STRING MUST BE EITHER A BLANK (40B), AN
*     H (110B), AN O (117B), OR AN R (122B).  THIS SECTION LOOKS
*     AT THE 1ST NON-BLANK CHARACTER.  IF IT IS AN H, IT SEARCHES 
*     FOR THE 1ST DELIMITER.  IF IT IS AN R OR AN O, IT SEARCHES
*     FOR THE SECOND DELIMITER. 
* 
PARS0 JSB GETCR     GET A CHARACTER 
      JMP CKPRM     END OF LINE  (SHOULDN'T EVER HAPPEN - JUST DEFAULT) 
      CPA =B40      IS THIS A SPACE?
      JMP PARS0     YES - KEEP LOOKING FOR 1ST NON-BLANK CHARACTER
      CPA =B110     IS THIS AN H? 
      JMP DEL.2     YES - JUST WANT TO LOOK FOR 1 DELIMITER 
DEL.1 JSB GETCR     MUST BE AN R OR AN O SO LOOK FOR 1ST DELIMITER
      JMP CKPRM     END OF LINE  (SHOULDN'T EVER HAPPEN - JUST DEFAULT) 
      CPA =B54      IS THIS A COMMA?
      RSS           YES - NOW LOOK FOR 2ND DELIMITER
      JMP DEL.1     NO - KEEP LOOKING 
* 
*     LOOK FOR SECOND COMMA.
* 
DEL.2 JSB GETCR     GET A CHARACTER 
      JMP CKPRM     END OF LINE - GO CHECK PARAMETERS 
      CPA =B54      IS THIS A COMMA?
      RSS           YES - NOW WE CAN GET THE PARAMETERS 
      JMP DEL.2     NO - KEEP LOOKING 
* 
*     NOW POSITIONED AT BEGINNING OF 1ST PARAMETER. 
*     WANT TO GET RID OF LEADING BLANKS BUT ALLOW IMBEDDED BLANKS.
* 
      LDA APRM1     STUFF THE 1ST PARAMETER 
      CLE,ELA        INTO PARM1 TAKING INTO 
      STA PPTR        ACCOUNT FORMAT FOR PUTCR
      LDA N8        IT CAN BE 8 CHARACTERS LONG 
      STA COUNT     (THROW ANYTHING AFTER THAT OUT) 
* 
PAR.1 JSB GETCR     NO - GET THE NEXT CHARACTER 
      JMP CKPRM     END OF LINE - GO CHECK PARAMETERS 
      CPA =B40      A BLANK?
      JMP PAR.1     YES - SQUEEZE OUT LEADING BLANKS
PAR.2 CPA =B54      COMMA?
      JMP PAR.3     YES - END OF THIS PARAMETER 
      LDB COUNT     HAVE WE ALREADY 
      SSB            "PUT" 8 CHARACTERS IN PARM1? 
      JSB PUTCR     NO - "PUT" THIS ONE 
      ISZ COUNT     STEP THE COUNT
      NOP           (IN CASE WE GET TO ZERO)
      JSB GETCR     NO - GET ANOTHER CHARACTER
      JMP CKPRM     END OF LINE - GO CHECK PARAMETERS 
      JMP PAR.2      AND GO PROCESS IT
* 
* 
*     READY TO GET THE SECOND PARAMETER.  JUST IN CASE THERE IS A COMMA 
*     FOLLOWING IT, STOP THERE. 
* 
PAR.3 LDA GPTR      SAVE BEGINNING ADDRESS
      STA SAVE       OF SECOND PARAMETER
COMFD JSB GETCR     GET A CHARACTER 
      JMP DOCON     FOUND END OF LINE BEFORE A COMMA
      CPA =B54      COMMA?
      RSS           YES 
      JMP COMFD     NO - KEEP LOOKING 
      LDA GETCR     BACK UP POINTER TO POINT
      ADA N1         TO COMMA AND USE THAT
      STA EOL         AS END OF LINE ADDRESS
DOCON LDA SAVE      RESTORE STARTING ADDRESS
      STA GPTR       OF SECOND PARAMETER
      JSB ASCIN     PARSE AND CONVERT TO INTEGER
      JMP ER04      BAD PARAMETER 
**
********************* 
**                 ** 
**   SECTION III   ** 
**                 ** 
********************* 
**
**
**     IF PARAMETERS NOT SUPPLIED, CALCULATE DEFAULTS 
**     GET KEYWORD FROM SCB.  GET LU FROM LOGLU 
**
**
CKPRM LDA PRAM1     WAS THERE A MNEUMONIC?
      CPA =B20040    SENT?
      RSS           NO
      JMP GETLU     YES - SKIP SCB STUFF AND CHECK LU 
      JSB GTERR     GET ERROR CODE
      DEF *+3        FROM THE SESSION 
      DEF PRAM1       CONTROL BLOCK.
      DEF SAVE
      LDA SAVE
      SZA           UNDER SESSION CONTROL?
      JMP ER01      NOT IN SESSION AND DIDN'T PASS KEYWORD
      STA BUFFR      WORDS OF BUFFR 
      STA BUFFR+1     FOR THE COMPARE 
      STA BUFFR+2 
      STA BUFFR+3 
      LDA .4        SEE IF THE ERROR RETREIVED
      LDB APRM1      FROM GTERR IS ALL ZEROS
      JSB COMPR 
      RSS           IT ISN'T
      JMP MS01      IT IS - THERE WASN'T ANY 'LAST' ERROR 
* 
GETLU LDA TERLU     GET LU # OF THE TERMINAL
      LDB INTEG     GET SECOND PARAMETER
      SZB,RSS       WAS ONE SUPPLIED? 
      STA INTEG     SAVE LU IN SECOND PARAMETER 
* 
*  THESE CHECKS ARE IN CASE LU SUPPLIED BY USER IS BAD
*  IF PASS, PARAMETERS ARE ALL SET UP 
* 
      LDA INTEG     GET LU NUMBER AGAIN 
      SSA           NEGATIVE LU?
      JMP ER04      YES 
      ADA N64       LU GREATER
      SSA,RSS        THAN 64? 
      JMP ER04      YES 
**
********************
**                **
**   SECTION IV   **
**                **
********************
**
**     OPEN HELP FILE AND SEARCH FOR KEYWORD
**     IF FOUND DUMP INFORMATION TO LU IN INTEG 
**
**
PROCS JSB OPEN      OPEN THE HELP FILE
      DEF *+8 
      DEF ADCB,I
      DEF SAVE      ERROR RETURN
      DEF NAME
      DEF .3        FORCE TO A TYPE 1 FILE
      DEF ZERO
      DEF ZERO
      DEF LNDCB 
      LDA SAVE      GET ERROR RETURN
      SSA           ANY ERRORS? 
      JMP ER03      YES - HELP FILE NOT FOUND 
* 
      JSB RDREC     READ 1ST RECORD 
      JMP ER03      CAN'T EVEN FIND A 1ST RECORD? 
      LDA =D19
      LDB ACODE 
      JSB COMPR     IS THIS THE CODE RECORD?
      JMP ER03      NOPE - WON'T BE ABLE TO FIND RIGHT HELP FILE
* 
FIND" JSB RDREC     READ NEXT RECRD 
      JMP ER02      ERROR ON READ AND DIDN'T FIND KEYWORD 
      LDA =D1 
      LDB A"" 
      JSB COMPR     IS THIS A DELIMITER RECORD
      JMP FIND"     NO - KEEP LOOKING 
* 
*  FOUND ""    NEXT RECORD'S A KEYWORD
* 
      JSB RDREC     READ NEXT RECORD   WILL BE A KEYWORD
      JMP ER02      READ ERROR - DIDN'T FIND KEYWORD
      LDA LEN       GET LENGTH OF KEYWORD READ
      LDB N4        IF LENGTH OF KEYWORD IS GREATER 
      ADB LEN        THAN 4 JUST USE 4
      SSB,RSS         ELSE USE THE LENGTH READ. 
      LDA =D4 
      LDB APRM1 
      JSB COMPR     DOES THIS MATCH THE KEYWORD WE WANT?? 
      JMP FIND"     NO - LOOK FOR NEXT DELIMITER RECORD 
* 
*  FOUND THE KEYWORD AND EXPLANATION.  NO JUST DUMP IT OUT
*  TO THE SPECIFIED LU #. 
* 
DUMP  JSB WTREC     WRITE THE RECORD WE HAVE IN THE BUFFER
      JSB RDREC     READ THE NEXT RECORD
      JMP EXIT      READ ERROR - MUST BE AT EOF SO RETURN 
      LDA =D1 
      LDB A"" 
      JSB COMPR     IS THIS A DELIMITER RECORD??
      JMP DUMP      NO - KEEP SENDING INFORMATION 
* 
*  ALL DONE SO CLOSE THE HELP FILE AND TERMINATE
* 
EXIT  JSB CLOSE 
      DEF *+2 
      DEF ADCB,I
* 
      JSB EXEC
      DEF *+2 
      DEF .6
**
******************* 
**               ** 
**   SECTION V   ** 
**               ** 
******************* 
**
**
**     SUBROUTINES USED BY THE PARSING SECTION
**
**
* 
* 
*  GETCR - ROUTINE TO GET THE NEXT CHARACTER FROM THE RUN STRING
*          AND PUT IT IN CHAR AND IN A
* 
*          THE FORMAT OF GPTR IS:  ADDRESS OF WORD IN STRING IN 
*          BITS 15-1, BIT 0 IS 0/1 INDICATING U/L CHARACTER 
* 
* 
GETCR NOP 
      LDB GPTR
      CPB EOL 
      JMP GETCR,I 
      CLE,ERB 
      LDA B,I 
      ELB 
      SLB,INB,RSS 
      ALF,ALF 
      STB GPTR
      AND =B377 
      STA CHAR
      ISZ GETCR 
      JMP GETCR,I 
* 
* 
* 
*  PUTCR - ROUTINE TO PUT THE CHARACTER IN CHAR INTO THE
*          PARAMETER BUFFER.
* 
*          THE FORMAT FOR PPTR IS THE SAME AS FOR GPTR IN GETCR 
* 
* 
PUTCR NOP 
      LDB PPTR
      LDA CHAR
      CLE,ERB 
      XOR B,I 
      AND =B377 
      XOR B,I 
      SEZ,RSS 
      ALF,ALF 
      STA B,I 
      ISZ PPTR
      JMP PUTCR,I 
* 
* 
*  ASCIN - ROUTINE TO CONVERT A NUMERIC ASCII FIELD BEGINNING 
*          AT GPTR TO AN INTEGER IN INTEG 
* 
*     ENTRY:  GPTR - ADDRESS OF CHARACTER IN THE FIELD
*             EOL  - CHARACTER ADDRESS OF THE END OF THE LINE 
* 
*     RETURN: INTEG - CONVERTED INTEGER 
*             P+1    IF OVERFLOW
*             P+2    NORMAL   FINDING A NON-NUMERIC CHARACTER TERMINATES
*                    CONVERSION, BUT STILL RETURNS HERE.
* 
* 
*     CONVERSION IS TERMINATED BY A NON-NUMERIC CHARACTER OR
*     FINDING EOL.
* 
*     NUMERIC CHARACTER - BLANK,+,-,NUMBER
* 
* 
ASCIN NOP 
      CLO 
      CLA 
      STA INTEG     ALL BLANK FIELD => 0
      STA SIGN
      STA SAVE
C0    JSB GETCR      GET A CHARACTER
      JMP DONE      FOUND END OF THE LINE 
      CPA =B40      A BLANK?
      JMP C0        YES - JUST SKIP IT
      CPA =B53      + SIGN
      JMP C1        YES 
      CPA =B55      - SIGN
      CCB,RSS       YES 
      JMP C5        NO
      STB SIGN
* 
C1    JSB GETCR     GET A CHARACTER 
      JMP DONE      FOUND END OF THE LINE 
      CPA =B40      IS THIS A BLANK?
      JMP C1        YES - SO JUST SKIP IT 
C5    JSB CHECK     CHECK IT
      STA INTEG 
      LDA SAVE
      ADA A 
      STA B 
      ADA A 
      ADA A 
      ADA B 
      ADA INTEG 
      STA SAVE
      JMP C1
* 
* 
DONE  SOS           RETURN P+1 OF THERE IS AN ERROR 
      ISZ ASCIN      ELSE STEP RETURN TO P+2
ERR   LDA SAVE
      LDB SIGN      INSERT THE
      SZB            SIGN 
      CMA,INA 
      STA INTEG 
      JMP ASCIN,I   EXIT
* 
* 
CHECK NOP 
      ADA =B177720  CHECK FOR 
      SSA            ASCII NUMBER 
      JMP DONE        (>57B,
      ADA N10           <72B) 
      SSA,RSS 
      JMP DONE      END CONVERSION IF NON-NUMERIC CHAR IS FOUND 
      ADA =D10
      JMP CHECK,I 
**
******************* 
**               ** 
**   SECTION V   ** 
**               ** 
******************* 
**
**
**     OTHER SUBROUTINES
**
**
* 
* 
*     RDREC     ROUTINE TO READ THE NEXT SEQUENTIAL RECORD INTO 
*               128-WORD BUFFER BUFFR.
* 
*          RETURN - P+1 IF AN ERROR WAS RETURNED FROM READF 
*                   P+2 IF NORMAL 
* 
* 
RDREC NOP 
      JSB READF 
      DEF *+6 
      DEF ADCB,I
      DEF SAVE
      DEF BUFFR 
      DEF .128
      DEF LEN 
* 
      LDA SAVE      GET ERROR RETURN
      SSA,RSS       ERROR?
      ISZ RDREC     NO - STEP TO P+2 RETURN 
      JMP RDREC,I 
* 
* 
*     WTREC     ROUTINE TO WRITE A RECORD OF LENGTH LEN FROM BUFFER 
*               BUFFR TO LU IN INTEG
* 
* 
WTREC NOP 
      LDA INTEG 
      ADA =B200 
      STA CNWRD 
      JSB EXEC
      DEF *+5 
      DEF .2
      DEF CNWRD 
      DEF BUFFR 
      DEF LEN 
      JMP WTREC,I 
* 
* 
*     COMPR     ROUTINE TO COMPARE THE CONTENTS OF BUFFR WITH A 
*               SPECIFIED STRING
* 
*         ENTRY   A - # WORDS TO COMPARE
*                 B - ADDRESS OF STRING TO BE COMPARED AGAINST BUFFR
* 
*         RETURN  P+1 - DID NOT COMPARE 
*                 P+2 - COMPARE WORKED
* 
* 
COMPR NOP 
      CMA,INA       MAKE NEGATIVE COUNTER 
      STA COUNT      OF WORDS TO BE COMPARED
      STB PPTR      POINTER IN STRING 
      LDA ABUF      POINTER 
      STA GPTR       IN BUFFR 
NXTWD LDA GPTR,I
      CPA PPTR,I
      RSS           THIS WORD COMPARES
      JMP COMPR,I   NO MATCH - RETURN AT P+1
      ISZ GPTR
      ISZ PPTR
      ISZ COUNT 
      JMP NXTWD     GO DO THE NEXT ONE
      ISZ COMPR     DONE - STEP RETURN ADDRESS TO P+2 
      JMP COMPR,I   RETURN
**
**
********************
**                **
**   SECTION VI   **
**                **
********************
**
**
**     MESSAGE AND ERROR HANDLING 
**
**
MS01  LDA A.MS1 
      RSS 
ER01  LDA A.ER1     GET ADDRESS OF ERROR 1 INFORMATION
      RSS 
ER02  LDA A.ER2     GET ADDRESS OF ERROR 2 INFORMATION
      RSS 
ER03  LDA A.ER3     GET ADDRESS OF ERROR 3 INFORMATION
      RSS 
ER04  LDA A.ER4     GET ADDRESS OF ERROR 4 INFORMATION
      STA PPTR      SAVE AS A POINTER 
      LDA PPTR,I    GET NUMBER OF LINES TO BE PRINTED OUT 
      STA COUNT     IT IS ALREADY NEGATIVE - USE AS COUNTED 
      ISZ PPTR      STEP POINTER
SENDM LDA PPTR,I    GET LENGTH OF THIS LINE 
      STA LEN        AND SAVE IT
      ISZ PPTR      STEP POINTER
      JSB EXEC
      DEF *+5 
      DEF .2
      DEF TERLU 
      DEF PPTR,I
      DEF LEN 
      LDA PPTR      STEP POINTER PAST LINE JUST WRITTEN 
      ADA LEN 
      STA PPTR
      ISZ COUNT     STEP LINE COUNTER  DONE?
      JMP SENDM     GO SEND ANOTHER LINE
      JMP EXIT      ALL DONE  GO CLOSE FILE AND LEAVE 
* 
* 
* 
* 
#LNM1 DEC -1
      DEC 8 
      ASC 8,NO ERROR IN SCB 
A.MS1 DEF #LNM1 
* 
#LNS1 DEC -5
      DEC 14
      ASC 14,HELP PROGRAM ERROR  HELP0001 
      DEC 11
      ASC 11,NOT ENOUGH PARAMETERS
      DEC 27
      ASC 27,    NOT OPERATING UNDER SESSION CONTROL AND A KEYWORD
      DEC 28
      ASC 28,    WAS NOT SPECIFIED.  RE-ENTER THE COMMAND AND SPECIFY 
      DEC 26
      ASC 26,    THE APPROPRIATE KEYWORD AS THE FIRST PARAMETER.
A.ER1 DEF #LNS1 
* 
#LNS2 DEC -4
      DEC 14
      ASC 14,HELP PROGRAM ERROR  HELP0002 
      DEC 9 
      ASC 9,KEYWORD NOT FOUND 
      DEC 26
      ASC 26,    KEYWORD WAS NOT FOUND IN THE HELP FILE.  IF THE
      DEC 26
      ASC 26,    KEYWORD WAS SPECIFIED IN THE COMMAND, CHECK IT.
A.ER2 DEF #LNS2 
* 
#LNS3 DEC -4
      DEC 14
      ASC 14,HELP PROGRAM ERROR  HELP0003 
      DEC 10
      ASC 10,HELP FILE NOT FOUND
      DEC 22
      ASC 22,    HELP PROGRAM COULD NOT FIND FILE "HELP.
      DEC 13
      ASC 13,    NOTIFY SYSTEM MANAGER. 
A.ER3 DEF #LNS3 
* 
#LNS4 DEC -6
      DEC 14
      ASC 14,HELP PROGRAM ERROR  HELP0004 
      DEC 7 
      ASC 7,BAD PARAMETER 
      DEC 26
      ASC 26,    THE SECOND PARAMETER, THE LOGICAL UNIT NUMBER TO 
      DEC 24
      ASC 24,    WHICH THE HELP INFORMATION IS TO OUTPUT, WAS 
      DEC 25
      ASC 25,    SPECIFIED BUT WAS NOT A LEGAL LU#.  CHECK THE
      DEC 16
      ASC 16,    LU# AND RE-ENTER THE COMMAND.
A.ER4 DEF #LNS4 
* 
* 
* 
* 
      END HELP
                                                                                                                                                                                                                              