ASMB,R
      NAM MES09,7 92080-1X371 REV.2026  800428        
      HED *               -MES09- 
* 
*     SOURCE 92080-18371
* 
      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 CALLED BY THE SEGMENT ANSW1   *
*  OF THE FORMG PROGRAM TO WRITE AN ERROR MESSAGE ON THE TERMINAL.   *
*                   THE ERROR MESSAGE IS PRINTED ON LINE 24 OF THE   *
*  SCREEN AND THE CURSOR IS MOVED TO THE WRONG FIELD.                *
*                   THIS SUBROUTINE IS CALLED WITH TWO PARAMETERS :  *
*                                                                    *
*           - PAR#1 =  ERROR MESSAGE # TO OUTPUT                     *
*           - PAR#2 =  WRONG FIELD # ON THE SCREEN                   *
*                                                                    *
**********************************************************************
* 
* 
      ENT MES09     ENTRY POINT 
      EXT EXEC
      EXT .ENTR 
      EXT &REMP 
      EXT &MVW
      COM ILU       TERM. LU
      COM XXXXX(5802) 
      COM IMODE 
* 
*  GET CALLING PARAMETERS AND INITIALISE
* 
NMESS NOP           FIRST PARM. ADDRESS 
NOF   NOP           SECD. PARM. ADDRESS 
MES09 NOP           ENTRY POINT 
      JSB .ENTR     SUBR. TO GET
      DEF NMESS     PARM. ADDRESS 
* 
      LDA IMODE     GET MODE FLAG.
      SZA           MODE 0? 
      ISZ IMODE     NO, HENCE CHANGE MODE 1 TO 2. 
* 
      LDA BUFAD     INITIALIZE
      LDB SPACE     ERROR MESSAGE 
      JSB &REMP     BUFFER
      DEC -35       TO BLANK
      LDA BUFA1     INITIALIZE
      LDB NULL      TAB BUFFER
      JSB &REMP      TO NULL
      DEC -50 
* 
*  MOVE ERROR MESSAGE IN OUTPUT BUFFER
* 
      LDA NMESS,I   GET ERROR MESSAGE # 
      ADA AMES0     COMPUTE MESSAGE 
      LDB A,I       ADDRESS 
      STB P1        STORE IT
      CMB,INB       MINUS STARTING ADDRESS
      STB IST        OF MESSAGE IN IST
      INA            COMPUTE NEXT MESSAGE 
      LDA A,I       STARTING ADDRESS
      ADA IST       COMPUTE MESSAGE LENGTH
      STA P2        STORE IT
      LDA P1        BUFFER SOURCE ADDRESS 
      LDB BUFAD     BUFFER DEST ADDRESS 
      JSB &MVW      MOVE WORDS
P2    NOP           BUFFER LENGTH 
* 
*  INCLUDE # OF NECESSARY TABS
* 
      LDA NOF,I     GET WRONG FIELD # 
      CMA,INA       MAKE IT NEG.
      ISZ A         INCREMENT: IS FIRST FIELD ? 
      RSS           NO
      JMP WRIT      YES OUTPUT BUFFER 
      STA P3        STORE NEG. # OF TABS
      LDA BUFA1     TAB BUFFER ADDRESS
      LDB TAB       TAB 
      JSB &REMP     INCLUDE TABS
P3    NOP           IN BUFFER 
* 
*  WRITE MESSAGE
* 
WRIT  JSB EXEC      WRITE EXEC CALL 
      DEF *+5       RETURN POINT
      DEF D.2       CODE EXEC 
      DEF ILU       CONTROL WORD
      DEF BUF       BUFFER LOCATION 
      DEF ILN       BUFFER LENGTH 
* 
*  RETURN TO CALLING PROGRAM
* 
      JMP MES09,I 
* 
*  BUFFER DATA
* 
BUF   BYT 33,130,33,46,141,62,62,162,60,103  FORMAT OFF:POS.CURSOR
      BYT 33,112,15,12,40,0 CLEAR DISP,CR,LF
      BYT 33,46,144,103 INVERSE VIDEO BLINKING
      ASC 2,ERRO
      BYT 122,33,46,144,100 END ENHANCEMENT 
      ASC 2,  : 
BUFER BSS 35        MESSAGE BUFFER
      BYT 33,127,33,110 FORMAT ON * HOME CURSOR 
BUF1  BSS 50        TAB BUFFER
      BYT 33,142    KEYBOARD ENABLE 
EBUF  BYT 0,137     SUPPRESS <CR>,<LF>
* 
* STORAGE , CONSTANTS ..
* 
BUFAD DEF BUFER     BUFF. ADDRESS 
BUFA1 DEF BUF1      TAB BUFFER ADDRESS
A     EQU 0         A REGISTER
STAD  EQU BUF       BUFFER STARTING ADDRESS 
LTAD  EQU EBUF      BUFFER LAST ADDRESS 
IST   NOP 
P1    NOP           SOURCE ADDRESS BUFFER ADDRESS 
ILN   ABS LTAD-STAD+1 BUFFER LENGTH 
SPACE BYT 40,40 
NULL  BYT 0,0 
TAB   BYT 33,111
D.2   DEC 2 
* 
*  MESSAGE ADDRESS
* 
AMES0 DEF AMES1-1 
AMES1 DEF MES1
      DEF MES2
      DEF MES3
      DEF MES4
      DEF MES5
      DEF MES6
      DEF MES7
      DEF MES8
      DEF MES9
      DEF MES10 
      DEF MES11 
      DEF MES12 
      DEF MES13 
      DEF MES14 
      DEF MES15 
      DEF MES16 
      DEF MES17 
      DEF MES18 
      DEF MES19 
      DEF MES20 
      DEF MES21 
      DEF MES22 
      DEF MES23 
      DEF MES24 
      DEF MES25 
      DEF MES26 
      DEF MES27 
      DEF MES28 
      DEF MES29 
      DEF MES30 
      DEF MES31 
      DEF MES32 
      DEF MES33 
      DEF MES34 
      DEF MES35 
      DEF MES36 
      DEF MES37 
      DEF MES38 
      DEF MES39 
      DEF MES40 
      DEF MES41 
      DEF MES42 
      DEF MES43 
      DEF MES44 
      DEF MES45 
      DEF MES46 
      DEF MES47 
      DEF MES48 
      DEF MES49 
      DEF MES50 
      DEF MES51 
      DEF MES52 
      DEF MES53 
      DEF MES54 
      DEF MES55 
      DEF MES56 
      DEF MES57 
      DEF MES58 
      DEF MES59 
      DEF MES60 
      DEF MES61 
      DEF MES62 
      DEF MES63 
      DEF MES64 
* 
*  MESSAGE STORAGE
* 
MES1  ASC 15,Field must be blank or integer 
MES2  ASC 12,No more lights available 
MES3  ASC 10,Illegal light number 
MES4  ASC 13,Light reserved for system
MES5  ASC 12,Field must be blank or X 
MES6  ASC 10,Illegal answer type
MES7  ASC 23,Only one kind of default value may be selected 
MES8  ASC 23,No display has been defined for this question
MES9  ASC 12,Illegal IMAGE operation
MES10 ASC 12,Illegal character input
MES11 ASC 20,Card reader not selected as input device 
MES12 ASC 15,Default value must be integer
MES13 ASC 20,No default value allowed for a "function 
      ASC 9, only" answer type
MES14 ASC 20,"function only" answer type illegal with 
      ASC 11, this transaction type 
MES15 ASC 23,Illegal answer type since no data base has bee 
      ASC  5,n selected 
MES16 ASC 13,Default value must be real 
MES17 ASC 11,Answer type must be D
MES18 ASC 9,Missing item name 
MES19 ASC 23,A find or check existence must be previously d 
      ASC  9,efined for display 
MES20 ASC 12,Missing IMAGE operation
MES21 ASC 24,Answer type must be F since delete operation was 
      ASC 10, previously defined
MES22 ASC 24,A display must be defined when answer type is F
MES23 ASC 12,Field must be 'A' or 'I' 
MES24 ASC 12,Field must be 'H' or 'M' 
MES25 ASC 19,Illegal combination, please re-specify 
MES26 ASC 17,Field must be 'NC' or 'CO' or 'CA' 
MES27 ASC 10,Field must be blank
MES28 ASC 18,Card specs have not yet been defined 
MES29 ASC 23,User written module required for Image card in 
      ASC  2,put
MES30 ASC 21,If image card input--'F' & 'C' not allowed 
MES31 ASC 28,Non-keyboard input cannot be selected with FUNCTION type 
      ASC  4, answer. 
MES32 ASC 23,An M-Ques cannot have its card specs defined f 
      ASC  6,rom a U-Ques 
MES33 ASC 19,Field must be 'O', 'S', 'OS', or 'SO'
MES34 ASC 11,Field must be integer
MES35 ASC 11,Field cannot be blank
MES36 ASC  9,Must be 1 thru 32
MES37 ASC  9,Must be 1 thru 80
MES38 ASC 21,Ending column cannot be < starting column
MES39 ASC 17,Ending column exceeds card length
MES40 ASC 16,Answer required on this screen 
MES41 ASC 23,Cannot define more than one non-keyboard input 
      ASC  4, device
MES42 ASC 17,Field must be 'N' or 'I' or Blank
MES43 ASC  9,Must be 1 thru 10
MES44 ASC  9,Must be 1 thru 20
MES45 ASC 19,Type V Badge not previously specified
MES46 ASC 21,Previous specs are on other type of reader 
MES47 ASC  9,Data Set Required
MES48 ASC 18,Illegal for TIME REPORTING Terminal
MES49 ASC 16,Reqd for TIME REPORTING Terminal 
MES50 ASC 14,User Written Module Required 
MES51 ASC 16,ADD already defined on this item 
MES52 ASC 17,FIND already defined on this item
MES53 ASC 22,CHECK EXISTENCE already defined on this item 
MES54 ASC 18,UPDATE already defined on this item
MES55 ASC 18,Input must be string on Image cards
MES56 ASC 22,Field must be 'S' or 'C' for scroll or clear 
MES57 ASC 22,Field must be 'L' or 'S' for large or small
MES58 ASC 22,A pass of a magstripe reader was not previou 
      ASC  6,sly defined
MES59 ASC 17,Field must be blank, I, M, C or U
MES60 ASC 22,A pass of a barcode reader was not previousl 
      ASC  5,y defined
MES61 ASC 9,Must be 1 thru 100
MES62 ASC 12,Illegal Subroutine name
MES63 ASC 26,Check digit enable only allowed with new reader pass 
MES64 ASC 1,-1
* 
* 
      END MES09 
        