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