ASMB,R NAM MES10,7 92903-16374 REV.1805 780504 * * SOURCE 92903-18374 * 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 ANSWR * * 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 MES10 ENTRY POINT EXT EXEC EXT .ENTR EXT &REMP EXT &MVW COM ILU TERM. LU * * GET CALLING PARAMETERS AND INITIALISE * NMESS NOP FIRST PARM. ADDRESS NOF NOP SECD. PARM. ADDRESS MES10 NOP ENTRY POINT JSB .ENTR SUBR. TO GET DEF NMESS PARM. ADDRESS 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 MES10,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 , * * 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 * * MESSAGE STORAGE * MES1 ASC 12,Missing or illegal name MES2 ASC 13,Missing or illegal number MES3 ASC 11,Illegal security code MES4 ASC 12,Illegal input character MES5 ASC 1,-1 * END MES10