ASMB,R
      NAM WARN,7 92903-16308 REV.1913  790116 1100
* 
*     SOURCE 92903-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, OTHERWISE THE    *
*          LIGHT WARNING MESSAGE IS PRINTED.                         *
*                                                                    *
**********************************************************************
* 
      ENT WARN
      EXT EXEC
      EXT .ENTR 
      EXT MOVCA 
      EXT &REMP 
      COM ILU,ISCRN,IQST,ISKIP,INDIC
      COM IFORM(766)
      COM JFORM(1400) 
NLAB  NOP           CALLING PARAMETER 
NOF   NOP           FIELD # 
WARN  NOP           ENTRY POINT 
      JSB .ENTR     SUBR. TO GET
      DEF NLAB      PARAM. ADDRESS
      LDA NLAB,I    IF BOTH NLAB & NOF ARE ZERO 
      SZA              THEN DO THE DEFAULT
      JMP LITE         VALUE WARNING MESSAGE. 
      LDA NOF,I     ELSE
      SZA              DO THE LIGHT WARNING MESSAGE.
      JMP LITE
      JSB MOVCA     MOVE MSG1 TO MESSAGE BUFFER.
      DEF *+6 
      DEF MSG1
      DEF D.1 
      DEF BUF0
      DEF D.1 
      DEF D.32
      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.32  DEC 32
D.101 DEC 101 
D.140 DEC 140 
D1275 DEC 1275
MSG1  ASC 16, Default value outside of limits 
SOQST NOP 
STBUF EQU BUF 
LTBF0 EQU TLAB
LTBUF EQU EBUF
ILBUF ABS LTBUF-STBUF+1 
ILBF0 ABS LTBF0-STBUF 
* 
      END WARN
                                                                    