ASMB,R
      NAM WARN,7 92080-1X308 REV.1936  790912 
* 
*     SOURCE 92080-18308
* 
      SPC 2 
**************************************************************
* (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1978.  ALL RIGHTS    *
* RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, RE- *
* PRODUCED, OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITH-  *
* OUT THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.  *
**************************************************************
      SPC 2 
      SUP 
* 
**********************************************************************
*                                                                    *
*                   THIS SUBROUTINE IS USED TO WRITE ON LINE 24      *
*     OF A SCREEN ONE OF THE FOLLOWING WARNING MESSAGES:             *
*          1. LIGHT ALREADY TAKEN BY ANOTHER QUESTION                *
*          2. DEFAULT VALUE OUTSIDE OF LIMITS                        *
*     CALLING SEQUENCE:                                              *
*          CALL WARN(P1,P2)                                          *
*     PARMS:                                                         *
*          P1 = +IQST IF THE LABEL TO PRINT IS A QUESTION LABEL      *
*               -IQST IF THE LABEL TO PRINT IS AN INDICATOR LABEL    *
*          P2 = FIELD NUMBER (OF THE SCREEN)                         *
*     NOTE:                                                          *
*          IF P1=0 AND P2=0, THEN THE "DEFAULT VALUE OUTSIDE OF      *
*          LIMITS" WARNING MESSAGE WILL BE PRINTED.                  *
*          IF P1=0 AND P2=2, THEN PRINT "LENGTH DOES NOT MATCH CARD  *
*          SPECS" WARNING MESSAGE.                                   *
*                                                                    *
**********************************************************************
* 
      ENT WARN
      EXT EXEC
      EXT .ENTR 
      EXT MOVCA 
      EXT &REMP 
      COM ILU,ISCRN,IQST,ISKIP,INDIC
      COM IFORM(772)
      COM JFORM(1520) 
NLAB  NOP           CALLING PARAMETER 
NOF   NOP           FIELD # 
WARN  NOP           ENTRY POINT 
      JSB .ENTR     SUBR. TO GET
      DEF NLAB      PARAM. ADDRESS
      LDA NLAB,I    GET P1. 
      SZA           LIGHT WARNING MESSAGE?
      JMP LITE      YES.
      LDB ADMS2     NO. GET ADDRS OF MESSAGE 2 READY IN B.
      LDA NOF,I     GET P2. 
      CPA D.2       STRING LENGTH WARNING MESSAGE?
      STB MSGX      YES. OVERLAY MESSAGE ADDRESS TO BE PRINTED OUT. 
      JSB MOVCA     MOVE MSG1 TO MESSAGE BUFFER.
      DEF *+6 
MSGX  DEF MSG1
      DEF D.1 
      DEF BUF0
      DEF D.1 
      DEF D.34
      LDA NOF,I     GET P2. 
      CPA D.2       MSG2? 
      JMP WARN2     YES.  MSG2 PUTS CURSOR IN NOF=1.
      LDA ABUF1     SET TAB STOP
      LDB TAB       TO FIELD #3.
      JSB &REMP 
      DEC -2
      LDA ILBUF     SET MESSAGE 
      STA ILBUF     LENGHT. 
      JMP WARN2     GO PRINT WARNING MESSAGE. 
* 
LITE  LDA ABUF1     FILL TAB BUFFER 
      LDB NUL       WITH BLANKS 
      JSB &REMP 
      DEC -9
      LDA NOF,I     GET # OF TABS 
      CMA,INA       TO INCLUDE
      ISZ A         IN BUFFER . IS 0 ?
      RSS            NO 
      JMP WARN3     YES 
      STA LN1 
      LDA ABUF1     MOVE TABS IN
      LDB TAB       BUFFER
      JSB &REMP 
LN1   NOP 
WARN3 LDA NLAB,I    GET QUESTION #
      SSA           POSITIVE? 
      JMP WARN1     NO INDICATOR LABEL
      ADA .D1       YES QUESTION LABEL
      MPY D.12      COMPUTE LABEL 
      ADA D1275     OFFSET IN IFORM 
      STA SOQST     STORE IT
      JSB MOVCA     NOW MOVE
      DEF *+6       LABEL 
      DEF IFORM     IN OUTPUT BUFFER
      DEF SOQST     OFFSET
      DEF TLAB      DEST BUFFER 
      DEF D.1       DEST OFFSET 
      DEF D.12      MOVE LENGTH 
      JMP WARN2 
WARN1 CMA,INA       MAKE QUESTION POSITIVE
      ADA .D1       COMPUTE LABEL 
      MPY D.140      OFFSET IN JFORM
      ADA D.101 
      STA SOQST     STORE IT
      JSB MOVCA     NOW MOVE
      DEF *+6       LABEL IN OUTPUT BUFFER
      DEF JFORM     SORCE BUFFER
      DEF SOQST     SOURCE OFFSET 
      DEF TLAB      DEST BUFFER 
      DEF D.1       DEST OFFSET 
      DEF D.12      MOVE LENGTH 
WARN2 JSB EXEC      WRITE MESSAGE 
      DEF *+5       RETURN POINT
      DEF D.2       CODE EXEC 
      DEF ILU       CONTROL WORD
      DEF BUF       BUFFER LOCATION 
      DEF ILBUF     BUFFER LENGTH 
      JMP WARN,I    RETURN TO CALLING PROGRAM 
* 
*  MESSAGE DATA : 
* 
BUF   BYT 33,130,33,46,141,62,63,162,60,103,33,112,40,0 
      BYT 33,46,144,103 
      ASC 7,WARNING ONLY :
      BYT 33,46,144,100 
BUF0  ASC 16, Light already used with label 
TLAB  ASC 6,
      BYT 33,127       FORMAT ON
BUF1  BSS 9         TAB BUFFER
      BYT 33,142    KEYBOARD ENABLE 
EBUF  BYT 0,137 
* 
*  DATA, CONSTANTS,STORAGE....
* 
A     EQU 0 
ABUF1 DEF BUF1
NUL   BYT 0,0 
TAB   BYT 33,111
.D1   DEC -1
D.1   DEC 1 
D.2   DEC 2 
D.12  DEC 12
D.34  DEC 34
D.101 DEC 101 
D.140 DEC 140 
D1275 DEC 1275
MSG1  ASC 17, Default value outside of limits 
MSG2  ASC 17, Length does not match card specs
ADMS2 DEF MSG2
SOQST NOP 
STBUF EQU BUF 
LTBF0 EQU TLAB
LTBUF EQU EBUF
ILBUF ABS LTBUF-STBUF+1 
ILBF0 ABS LTBF0-STBUF 
* 
      END WARN
      