ASMB,R NAM HLP05,7 92903-16362 REV.1805 770810 * * SOURCE 92903-18362 * 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 PRINT A HELP MESSAGE * * ON LINES 23 AND 24 OF THE TGP SCREENS * * THE CURSOR IS POSITIONEDAT THE FIELD WHERE THE * * HELP SOFT KEY WAS PRESSED. * * THIS SUBROUTINE IS CALLED WITH TWO PARAMETERS : * * * * - PAR#1 = HELP MESSAGE # TO OUTPUT * * - PAR#2 = HELP FIELD # ON THE SCREEN * * * ********************************************************************** * * ENT HLP05 ENTRY POINT EXT EXEC EXT .ENTR EXT &REMP EXT &MVW COM ILU TERM. LU * * GET CALLING PARAMETERS * NMESS NOP FIRST PARM. ADDRESS NOF NOP SECD. PARM. ADDRESS ILST NOP THIRD PARAM ADDRESS HLP05 NOP ENTRY POINT JSB .ENTR SUBR. TO GET DEF NMESS PARM. ADDRESS * * * MOVE HELP MESSAGE IN OUTPUT BUFFER * LDA NMESS,I GET ERROR MESSAGE # SZA,RSS IS 0 ? JMP HLPC YES NO 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 * LDB BUFAD COMPUTE CURRENT ADB P2 ADDRESS IN OUTPUT BUFFER * LDA BUF1 INCLUDE FORMAT ON STA B,I IN OUTPUT BUFFER INB INCREMENT ADDRESS IN OUT. BUFFER * LDA D.10 COMPUTE OUTPUT BUFFER LENGTH ADA P2 STA ILN STORE IT JMP HLPB * HLPC LDA D.10 STA ILN LDB BUFAD LDA BUF1 STA B,I INB * * NOW INCLUDE TABS IN BUFFER * HLPB LDA NOF,I GET HELP FIELD # CPA D.1 IS 1 ? JMP HLPA YES NO TABS ADA .D1 DECREMENT STA P5 STORE # OF FIELD ADA ILN INCREMENT OUTPUT BUFFER STA ILN LENGTH LDA P5 GET FIELD # CMA,INA MAKE IT NEG STA P4 LDA B STB P2 SORE B LDB TAB JSB &REMP MOVE TABS IN BUFFER P4 NOP * LDB P2 RESTORE B LDA P5 INCREMENT ADDRESS IN ADB A * HLPA LDA ILST,I IS LAST FIELD IN SCREEN ? SZA JMP HPLD NO LDA BUFA2 YES RSS SKIP HPLD LDA BUFA3 JSB &MVW INCLUDE KEY ENABLE DEC 3 IN BUFFER * JSB EXEC WRITE MESSAGE DEF *+5 DEF D.2 DEF ILU DEF BUF DEF ILN * JMP HLP05,I * * * BUFFER DATA * BUF BYT 33,130,33,46,141,62,62,162,60,103 FORMAT OFF:POS.CURSOR BYT 33,112 CLEAR DISPLAY BUFER BSS 140 MESSAGE BUFFER * * STORAGE , CONSTANTS .. * BUFAD DEF BUFER BUFF. ADDRESS BUFA2 DEF BUF2 BUFA3 DEF BUF3 A EQU 0 A REGISTER B EQU 1 B REGISTER IST NOP P1 NOP SOURCE ADDRESS BUFFER ADDRESS P5 NOP ILN NOP BUFFER LENGTH TAB BYT 33,111 BUF1 BYT 33,127 FORMAT ON BUF2 BYT 0,0,0,33,142,137 ERASE h,KEY. ENABLE BUF3 BYT 0,0,33,142,0,137 CLEAR DISP,KEY. ENABLE .D1 DEC -1 D.10 DEC 10 D.1 DEC 1 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 * * MESSAGE STORAGE * * MES1 BYT 33,46,144,112 ASC 22, When the value is entered on the HP3070 ter ASC 18,minals it is subsequently divided by BYT 33,46,144,112 ASC 22, the modulo number(if any) : An error occurs ASC 18, if the remainder is not zero. * MES2 BYT 33,46,144,112 ASC 22, Aritmetic operations may be performed local ASC 18,ly before entering the answer if the BYT 33,46,144,112 ASC 22, arithmetic operators are defined and enable ASC 10,d for this question. BYT 33,46,141,53,61,66,103,0 POSITION CURSOR - 81 * MES3 BYT 33,46,144,112 ASC 22, When the NEXT ENTRY key is pressed as answe ASC 18,r to the question the current entry BYT 33,46,144,112 ASC 22, in the chain is ignored and the next entry ASC 6,is fetched. BYT 33,46,141,53,62,64,103,0 POSITION CURSOR - 81 * MES4 BYT 33,46,144,112 ASC 22, This is the name of the user written valida ASC 18,tion subroutine to which the answer BYT 33,46,144,112 ASC 22, to the question is passed by the Transactio ASC 9,n Monitor Program. BYT 33,46,141,53,61,70,103,0 POSITION CURSOR - 81 * MES5 BYT 33,46,144,112 ASC 22, The maximum string length accepted is 126. ASC 18,This field is automatically filled BYT 33,46,144,112 ASC 22, by the program if the answer is related to ASC 9,a data base item. BYT 33,46,141,53,61,70,103,0 POSITION CURSOR - 81 * MES6 BYT 33,46,144,112 ASC 22, As on a punched card a string may be positi ASC 18,onned on the storage media at the BYT 33,46,144,112 ASC 22, beginning (L) or at the end (R) of the fiel ASC 9,d reserved for it. BYT 33,46,141,53,61,70,103,0 POSITION CURSOR - 81 * MES7 BYT 33,46,144,112 ASC 22, For example if the mask is 99-999A the answ ASC 18,er must be 2 digits followed by - BYT 33,46,144,112 ASC 22, followed by 3 digits followed by an alphabe ASC 7,tic character. BYT 33,46,141,53,62,62,103,0 POSITION CURSOR - 81 * MES8 ASC 1,-1 * * * END HLP05