ASMB,R NAM TGP3,5 92903-16358 REV.1913 790112 1015 * * SOURCE 92903-18358 * 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 HED * -TGP3- SUP * * PRGMR : JEAN CHARLES MIARD (HPG) * ********************************************************************** * * * * * THIS IS A SEGMENT OF THE TGP PROGRAM USED TO WRITE ON * * THE 2640/2645 DISPLAY THE SCREEN MASKS USED TO COLLECT INFORMA- * * TION TO BUILD A TRANSACTION SPECIFICATION . * * * * TGP3 PRINT SCREENS 8,9,10,11,12,19 AND 20 ACCORDING TO * * ISCRN VALUE AND THEN LOADS THE REQUIRED SEGMENT TO ANALYSE THE * * USER'S ANSWERS . * * BEFORE PRINTING THE SCREENS TGP3 INCLUDES IN THEM THE OLD * * ANSWERS STORED IN IFORM,JFORM AND ILIBR . * * SOME SCREENS ARE DYNAMIC AND ONLY PARTS OF THE TOTAL * * SCREEN ARE PRINTED . * * * * IF INDIC=-77 THE SCREEN IS TO BE PRINTED WITHOUT ERASING * * THE DISPLAY BEFORE (HELP MESSAGE) . * * * * * * WARNING !! * : CARE MUST BE TAKEN : * * * * PRINTED SCREEN # 8 CORRESPONDS TO ISCRN = 9 * ............ 9 .................... 10 * * ............ 10 .................... 11 * * ............ 11 .................... 12 * * ............ 12 .................... 13 * * ............ 19 .................... 20 * * ............ 20 .................... 21 * * ............ 41 .................... 41 * * * ********************************************************************** * * * * ENT TGP3 ENTRY POINT EXT EXEC EXT TGP MAIN PROGRAM EXT MOVCA SUBR. MOVES CHARS. EXT MOVCX SUBR. MOVES ANSWERS IN UNPRO. FIELDS EXT &REMP EXT &MVW MOVES WORDS EXT IGET1 MOVES BYTES OUT OF COMMON EXT IGET1 GETS BYTES FROM COMMON AREA * * DECLARATIONS COMMON VARIABLES ********* * COM ILU,ISCRN,IQST,ISKIP,INDIC COM IFORM(766) ANSWER STORAGE COM JFORM(1400) ANSWER STORAGE COM MFORM(16) COM LFORM(39) ANSWER STORAGE COM ITT TRANS TYPE COM IKEY(78) COM IUMAX # OF U QUESTIONS COM IMMAX #OF M QUESTIONS COM IMODB (0/1) 3070A/3070B COM ILITE(15) COM IMAI(225) COM IMFLG,IMAS,IMDT,IMKY COM KFORM(2704) COM ILIBR(61) COM NIMAG * * WORD OFFSETS INTO IFORM * * ANSWERS TO SCREENS 9,19,20,41 * IAN89 EQU 637 SCREENS 8 & 9 IAN19 EQU 0 SCREEN #10 IAN20 EQU 0 SCREEN #20 * * * WORD OFFSETS INTO JFORM * * ANSWERS TO SCREENS 10,11,12 * JAN10 EQU 0 SCREEN #10 JAN11 EQU 24 SCREEN #11 JAN12 EQU 24 SCREEN #12 * * NO. OF CHARACTERS PER QUETION * NCHPQ EQU 140 * * NO. OF WORDS PER QUESTION * NWDPQ EQU 70 * * * TGP3 LDA INDIC GET INDICATOR CPA .D77 IS IT PRINT FOR HELP ? RSS YES JMP CONT NO JUMP CLA STA CL01 STA CL02 STA CL03 STA CL04 STA CL05 CONT LDA IQST LOAD QUESTION # ADA .D1 DECREMENT MPY D.CH MULT. PER # OF CHARS PER QUESTION STA D.OFF STORE IT * *FIND SCREEN # TO DISPLAY * LDA ISCRN GET SCREEN # CPA D.20 IS SCREEN 19 ? JMP SCR20 YES CPA D.21 IS SCREEN 20 ? JMP SCR21 YES CPA D.41 IS SCREEN 41 ? JMP SCR41 ADA .D9 ADA ASCR JMP A,I * * TABLE OF ADDRESS FOR SCREENS * ASCR DEF *+1,I DEF SCR9 DEF SCR9 DEF SCR11 DEF SCR12 DEF SCR12 * * * DATA SECTION * A EQU 0 D.0 DEC 0 D.1 DEC 1 D.2 DEC 2 D.6 DEC 6 D.8 DEC 8 .D9 DEC -9 .D77 DEC -77 D.10 DEC 10 D.12 DEC 12 D.13 DEC 13 D.20 DEC 20 D.21 DEC 21 D.41 DEC 41 D1275 DEC 1275 D.57 DEC 57 D.CH ABS NCHPQ DBL09 NOP D.OFF NOP * ********************************************************************** * * SCREEN # 8 AND 9 LABELS FOR U AND M QUESTIONS * ********************************************************************** * * SCR9 LDA ISCRN GET SCREEN # CPA D.10 IS 10 ? JMP SCR10 YES ! LDA IUMAX GET # OF U QUESTIONS INA INCREMENT STA LNU9 TABLE OF OFFSETS LENGTH LDA ASO10 CONSTRUCT TABLE OF CHAR OFFSETS LDB ASO9 JSB &MVW MOVE OFFSETS IN TABLE LOCATION LNU9 NOP TABLE LENGTH LDA ASO9 INSERT ADA IUMAX MINUS 1 INA AT THE LDB .D1 END OF STB A,I TABLE. JMP SCR91 SCR10 LDA MQ MOVE "M" STA T9 IN TITLE LDA IMMAX NUMBER OF M QUESTIONS INA INCREMENT STA LNM9 TABLE OF OFFSETS LENGTH LDA ASO10 ADA IUMAX CONSTRUCT TABLE OF OFFSSETS LDB ASO9 SCREEN # 10 JSB &MVW LNM9 NOP TABLE LENGTH LDA ASO9 ADA IMMAX INSERT MINUS 1 INA AT THE END LDB .D1 OF THE TABLE STB A,I SCR91 JSB MOVCA MOVE DEF *+6 FORM NAME DEF IFORM FROM ANSWER STORAGE DEF D.57 DEF T10 TO SCREEN TITLE DEF D.1 DEF D.6 MOVE LENGTH LDA IUMAX # OF U QUESTIONS LDB ISCRN SCREEN # CPB D.10 IS 10 ? LDA IMMAX YES GET # OF M QUESTIONS SZA,RSS IS IT 0 ? JMP WRIT9 YES ! JSB MOVCX NO MOVE ANSWERS IN UNPROTECTED FIELDS DEF *+6 DEF IFORM+IAN89 ANSWER STORAGE DEF SOF9 TABLE OF OFFSETS IN IFORM DEF BD9 TABLE OF BUFF DEST ADDRESSES DEF D.0 SOURCE OFFSET DEF DBL09 WRIT9 JSB EXEC WRITE EXEC CALL DEF *+5 RETURN POINT DEF D.2 CODE EXEC DEF ILU CONTROL WORD DEF BSCR9 BUF. LOCATION DEF ILSC9 BUF.LENGTH JMP CANS LOAD SEGMENT TO ANALYSE USER'S ANSWERS * * DATA SECTION * .D1 DEC -1 ASO9 DEF SOF9 TABLE OF OFFSETS ADDRESS ASO10 DEF SOF10 TABLE OF OFFSETS ADDRESS AUQ DEF UQ ADDRESS OF "U" AMQ DEF MQ ADDRESS OF "M" UQ ASC 1,U- MQ ASC 1,M- S10 ASC 1,9 AT9 DEF T9 * * TABLE OF OFFSETS FOR SCREEN # 8 & 9 * SOF9 BSS 22 REAL TABLE SOF10 DEC 1 TABLE OF ALL THE QUESTIONS (U & M) DEC 13 DEC 25 DEC 37 DEC 49 DEC 61 DEC 73 DEC 85 DEC 97 DEC 109 DEC 121 DEC 133 DEC 145 DEC 157 DEC 169 DEC 181 DEC 193 DEC 205 DEC 217 DEC 229 DEC 241 DEC -1 * * TABLE OF BUFFER DEST ADDRESSES * BD9 DEF T0900 DEF T0901 DEF T0902 DEF T0903 DEF T0904 DEF T0905 DEF T0906 DEF T0907 DEF T0908 DEF T0909 DEF T0910 DEF T0911 DEF T0912 DEF T0913 DEF T0914 DEF T0915 DEF T0916 DEF T0917 DEF T0918 DEF T0919 * * DATA SCREEN 8 AND 9 * * * LINE # : 1 * BSCR9 BYT 33,130 FORMAT OFF BYT 33,110 HOME UP CL01 BYT 33,112 CLEAR DISPLAY T91 ASC 3, BYT 33,46,144,112 T9 ASC 5,U-QUESTION BYT 123,0 BYT 33,46,144,100 ASC 22, TO BE DEFINED IN THE TRANSACTION SPECIFICAT ASC 2,ION BYT 33,46,144,104 T10 ASC 3, BYT 15,12 * * LINE # : 2 * BYT 33,46,141,53,61,65,103,0 POSITION CURSOR - 16 BYT 33,51,102,16 ASC 7,R,,,,,,,,,,,,T BYT 33,46,141,53,62,70,103,0 POSITION CURSOR - 58 ASC 7,R,,,,,,,,,,,,T BYT 15,12 * * LINE # : 3 * ASC 7, Question 1 BYT 40,0 BYT 33,51,102,16 BYT 56,0 BYT 33,46,144,102,17,33,133,0 T0900 ASC 6, BYT 33,135,33,46,144,100,16,56 BYT 17,40 BYT 33,46,141,53,61,66,103,0 POSITION CURSOR - 47 ASC 5,Question 2 BYT 40,16 BYT 56,0 BYT 33,46,144,102,17,33,133,0 T0901 ASC 6, BYT 33,135,33,46,144,100,16,56 BYT 15,12 * * LINE # : 4 * BYT 33,46,141,53,61,65,103,0 POSITION CURSOR - 16 BYT 33,51,102,16 ASC 7,5,,,,,,,,,,,,6 BYT 33,46,141,53,62,70,103,0 POSITION CURSOR - 58 ASC 7,5,,,,,,,,,,,,6 BYT 15,12 * * LINE # : 5 * BYT 33,46,141,53,61,63,103,0 POSITION CURSOR - 14 ASC 1,3 BYT 33,51,102,16 BYT 56,0 BYT 33,46,144,102,17,33,133,0 T0902 ASC 6, BYT 33,135,33,46,144,100,16,56 BYT 17,40 BYT 33,46,141,53,62,65,103,0 POSITION CURSOR - 56 ASC 1,4 BYT 16,56 BYT 33,46,144,102,17,33,133,0 T0903 ASC 6, BYT 33,135,33,46,144,100,16,56 BYT 15,12 * * LINE # : 6 * BYT 33,46,141,53,61,65,103,0 POSITION CURSOR - 16 BYT 33,51,102,16 ASC 7,5,,,,,,,,,,,,6 BYT 33,46,141,53,62,70,103,0 POSITION CURSOR - 58 ASC 7,5,,,,,,,,,,,,6 BYT 15,12 * * LINE # : 7 * BYT 33,46,141,53,61,63,103,0 POSITION CURSOR - 14 ASC 1,5 BYT 33,51,102,16 BYT 56,0 BYT 33,46,144,102,17,33,133,0 T0904 ASC 6, BYT 33,135,33,46,144,100,16,56 BYT 17,40 BYT 33,46,141,53,62,65,103,0 POSITION CURSOR - 56 ASC 1,6 BYT 16,56 BYT 33,46,144,102,17,33,133,0 T0905 ASC 6, BYT 33,135,33,46,144,100,16,56 BYT 15,12 * * LINE # : 8 * BYT 33,46,141,53,61,65,103,0 POSITION CURSOR - 16 BYT 33,51,102,16 ASC 7,5,,,,,,,,,,,,6 BYT 33,46,141,53,62,70,103,0 POSITION CURSOR - 58 ASC 7,5,,,,,,,,,,,,6 BYT 15,12 * * LINE # : 9 * BYT 33,46,141,53,61,63,103,0 POSITION CURSOR - 14 ASC 1,7 BYT 33,51,102,16 BYT 56,0 BYT 33,46,144,102,17,33,133,0 T0906 ASC 6, BYT 33,135,33,46,144,100,16,56 BYT 17,40 BYT 33,46,141,53,62,65,103,0 POSITION CURSOR - 56 ASC 1,8 BYT 16,56 BYT 33,46,144,102,17,33,133,0 T0907 ASC 6, BYT 33,135,33,46,144,100,16,56 BYT 15,12 * * LINE # : 10 * BYT 33,46,141,53,61,65,103,0 POSITION CURSOR - 16 BYT 33,51,102,16 ASC 7,5,,,,,,,,,,,,6 BYT 33,46,141,53,62,70,103,0 POSITION CURSOR - 58 ASC 7,5,,,,,,,,,,,,6 BYT 15,12 * * LINE # : 11 * BYT 33,46,141,53,61,63,103,0 POSITION CURSOR - 14 BYT 71,0 BYT 33,51,102,16 ASC 1, . BYT 33,46,144,102,17,33,133,0 T0908 ASC 6, BYT 33,135,33,46,144,100,16,56 BYT 17,40 BYT 33,46,141,53,62,64,103,0 POSITION CURSOR - 55 ASC 1,10 BYT 40,16 BYT 56,0 BYT 33,46,144,102,17,33,133,0 T0909 ASC 6, BYT 33,135,33,46,144,100,16,56 BYT 15,12 * * LINE # : 12 * BYT 33,46,141,53,61,65,103,0 POSITION CURSOR - 16 BYT 33,51,102,16 ASC 7,5,,,,,,,,,,,,6 BYT 33,46,141,53,62,70,103,0 POSITION CURSOR - 58 ASC 7,5,,,,,,,,,,,,6 BYT 15,12 * * LINE # : 13 * BYT 33,46,141,53,61,62,103,0 POSITION CURSOR - 13 ASC 1,11 BYT 40,0 BYT 33,51,102,16 BYT 56,0 BYT 33,46,144,102,17,33,133,0 T0910 ASC 6, BYT 33,135,33,46,144,100,16,56 BYT 17,40 BYT 33,46,141,53,62,64,103,0 POSITION CURSOR - 55 ASC 1,12 BYT 40,16 BYT 56,0 BYT 33,46,144,102,17,33,133,0 T0911 ASC 6, BYT 33,135,33,46,144,100,16,56 BYT 15,12 * * LINE # : 14 * BYT 33,46,141,53,61,65,103,0 POSITION CURSOR - 16 BYT 33,51,102,16 ASC 7,5,,,,,,,,,,,,6 BYT 33,46,141,53,62,70,103,0 POSITION CURSOR - 58 ASC 7,5,,,,,,,,,,,,6 BYT 15,12 * * LINE # : 15 * BYT 33,46,141,53,61,62,103,0 POSITION CURSOR - 13 ASC 1,13 BYT 40,0 BYT 33,51,102,16 BYT 56,0 BYT 33,46,144,102,17,33,133,0 T0912 ASC 6, BYT 33,135,33,46,144,100,16,56 BYT 17,40 BYT 33,46,141,53,62,64,103,0 POSITION CURSOR - 55 ASC 1,14 BYT 40,16 BYT 56,0 BYT 33,46,144,102,17,33,133,0 T0913 ASC 6, BYT 33,135,33,46,144,100,16,56 BYT 15,12 * * LINE # : 16 * BYT 33,46,141,53,61,65,103,0 POSITION CURSOR - 16 BYT 33,51,102,16 ASC 7,5,,,,,,,,,,,,6 BYT 33,46,141,53,62,70,103,0 POSITION CURSOR - 58 ASC 7,5,,,,,,,,,,,,6 BYT 15,12 * * LINE # : 17 * BYT 33,46,141,53,61,62,103,0 POSITION CURSOR - 13 ASC 1,15 BYT 40,0 BYT 33,51,102,16 BYT 56,0 BYT 33,46,144,102,17,33,133,0 T0914 ASC 6, BYT 33,135,33,46,144,100,16,56 BYT 17,40 BYT 33,46,141,53,62,64,103,0 POSITION CURSOR - 55 ASC 1,16 BYT 40,16 BYT 56,0 BYT 33,46,144,102,17,33,133,0 T0915 ASC 6, BYT 33,135,33,46,144,100,16,56 BYT 15,12 * * LINE # : 18 * BYT 33,46,141,53,61,65,103,0 POSITION CURSOR - 16 BYT 33,51,102,16 ASC 7,5,,,,,,,,,,,,6 BYT 33,46,141,53,62,70,103,0 POSITION CURSOR - 58 ASC 7,5,,,,,,,,,,,,6 BYT 15,12 * * LINE # : 19 * BYT 33,46,141,53,61,62,103,0 POSITION CURSOR - 13 ASC 1,17 BYT 40,0 BYT 33,51,102,16 BYT 56,0 BYT 33,46,144,102,17,33,133,0 T0916 ASC 6, BYT 33,135,33,46,144,100,16,56 BYT 17,40 BYT 33,46,141,53,62,64,103,0 POSITION CURSOR - 55 ASC 1,18 BYT 40,16 BYT 56,0 BYT 33,46,144,102,17,33,133,0 T0917 ASC 6, BYT 33,135,33,46,144,100,16,56 BYT 15,12 * * LINE # : 20 * BYT 33,46,141,53,61,65,103,0 POSITION CURSOR - 16 BYT 33,51,102,16 ASC 7,5,,,,,,,,,,,,6 BYT 33,46,141,53,62,70,103,0 POSITION CURSOR - 58 ASC 7,5,,,,,,,,,,,,6 BYT 15,12 * * LINE # : 21 * BYT 33,46,141,53,61,62,103,0 POSITION CURSOR - 13 ASC 1,19 BYT 40,0 BYT 33,51,102,16 BYT 56,0 BYT 33,46,144,102,17,33,133,0 T0918 ASC 6, BYT 33,135,33,46,144,100,16,56 BYT 17,40 BYT 33,46,141,53,62,64,103,0 POSITION CURSOR - 55 ASC 1,20 BYT 40,16 BYT 56,0 BYT 33,46,144,102,17,33,133,0 T0919 ASC 6, BYT 33,135,33,46,144,100,16,56 BYT 15,12 * * LINE # : 22 * BYT 33,46,141,53,61,65,103,0 POSITION CURSOR - 16 BYT 33,51,102,16 ASC 7,F,,,,,,,,,,,,G BYT 33,46,141,53,62,70,103,0 POSITION CURSOR - 58 ASC 7,F,,,,,,,,,,,,G ESCR9 BYT 15,12 STAD9 EQU BSCR9 LTAD9 EQU ESCR9 ILSC9 ABS LTAD9-STAD9+1 * ************************************************************************* * * SCREEN # 10 : QUESTION SPECIFICATIONS * ************************************************************************ * SCR11 LDA IQST QUESTION # ADA .D1 DECREMENT MPY D.12 QUEST. NAME LENGTH ADA D1275 COMPUTE CHAR. OFFSET OF STA SOQST QUEST. NAME IN IFORM AND SAVE JSB MOVCA MOVE QUESTION DEF *+6 NAME FROM DEF IFORM ANSWER STORAGE DEF SOQST SOURCE OFFSET DEF T11 TO DEST. BUFFER DEF D.1 SOURCE OFFSET DEF D.12 # OF CHARS TO MOVE * JSB MOVCX MOVE ANSWERS IN UNPROT. FIELDS DEF *+6 DEF JFORM+JAN10 ANSWER STORAGE DEF SOF11 TABLE OF SOURCE CHAR. OFFSETS DEF BD11 TABLE OF DEST. BUFFERS DEF D.OFF SOURCE OFFSET DEF DBL09 QUESTION # * *--------------------------------------------------------------------! * SET UP SCREEN 10 ACCORDING TO ANSWERS OBTAINED IN SCREEN 41 AND ! * "IMAGE" FLAG: ! * IF TRANSACTION TYPE IS 1, 2, OR 3 THEN OUTPUT ! * "VALUE DISPLAY" QUESTION (LINES 9, 10) ! * IF ANSWERS 4 OR 5 IN SCR41 ARE "X" THEN OUTPUT "NON-KEYBOARD ! * INPUT" QUESTION (LINES 11 & 12) ! * IF ANSWER 1 IN SCR41 ARE "X" THEN OUTPUT "PRINTER" QUESTIONS ! * (LINES 13, 14, 15, 16, 17) ! * IF TRANSACTION TYPE IS 2 OR 3 THEN OUTPUT "IMAGE" QUESTIONS ! * (LINES 18, 19, 20, 21, 22, 23, 24) ! *--------------------------------------------------------------------! * * * INITIALIZE VARIABLES INVOLVED * LDA IL11 WORD COUNT OF QUESTIONS THAT ARE ALWAYS OUTPUT STA ILS11 * LDA A.110 ADDRESS OF FIRST AVAILABLE BUFFER SPACE STA BPNT FOLLOWING QUESTIONS THAT ARE ALWAYS OUTPUT * * IF TRANSACTION TYPE (ITT) IS USES DB OR UP THEN PREPARE TO OUTPUT * "VALUE DISPLAY" QUESTION * LDA ITT AND =B3 SZA,RSS IS TRANS TYPE .EQ. 0 (.NE.DB OR UP)? JMP SC115 YES, CHECK "NON-KEYBOARD" QUESTION * NO, LOAD "VALUE DISPLAY" QUESTION INTO "NEXT * AVAILABLE BUFFER" * LDA ILS11 SET OUTPUT WORD COUNT TO INCLUDE NEW QUESTION ADA IL110 STA ILS11 * LDA A.111 SET "AVAILABLE BUFFER" POINTER TO INCLUDE NEW LINES STA BPNT * * IF ANSWERS TO QUESTIONS 4 OR 5 IN SCR41 ARE "X" THEN