* %GOTO PLSGMAIN; /* BILINGUAL HEADER 00500000 MACRO 01000000 TGMAIND 01500000 SPACE 02000000 .*CHANGE ACTIVITY AS FOLLOWS: 02500000 .*A000000-999999 @Y17XAXU 03000000 SPACE 03500000 IEDGMAIN DSECT 04000000 * 04500000 * TSO WORK AREA 05000000 * 05500000 GMTSBUFR DS A . TSO BFR OR MSGGEN ADDR 06000000 GMTCBUFR DS A . TCAM SCB ADDR 06500000 GMMOVED DS H . DATA MOVED 07000000 GMLINE DS H . LINE SIZE REMAINING 07500000 GMBLNTH DS H . TSO BFR DATA SIZE 08000000 GMMSGLEN DS H . MESSAGE SIZE 08500000 GMWBUFSZ DS H . TCAM BUFFER SIZE 09000000 GMSECENT DS X . SPECIAL ENTRY 09500000 GMSTFD EQU X'F0' . STARTFIELD INSERT 10000000 GMRDAT EQU X'F1' . READ ATTRIBUTE INSERT 10500000 GMSBA EQU X'F2' . SBA INSERT 11000000 GMCUR1 EQU X'F3' . FIRST CURSOR INSERT 11500000 GMCUR2 EQU X'F4' . SECOND CURSOR INSERT 12000000 GMINC EQU X'F5' . INC INSERT 12500000 GMETX EQU X'F6' . ETX INSERT 13000000 GMEOT EQU X'F7' . EOT INSERT 13500000 GMETXEOT EQU X'F8' . ETX/EOT INSERT 14000000 GMBYP EQU X'F9' . BYPASS CHAR INSERT 14500000 GMREST EQU X'FA' . RESTORE CHAR INSERT 15000000 GMCARCT DS X . QCB CARRIAGE COUNT 15500000 GMLINESV DS H . FROM TSB OR DEFAULT LINE SIZE 16000000 GMLINENM EQU GMLINESV . DISPLAY NUMBER OF LINES 16500000 GMLNSIZE EQU GMLINESV+1 . DISPLAY LINE SIZE 17000000 GMSWT1 DS X . SWITCH 1 17500000 GMCUR2FL EQU X'80' . SECOND CURSOR FLAG 18000000 GMCUR1FL EQU X'40' . FIRST CURSOR FLAG 18500000 GMRDATFL EQU X'20' . READ ATTRIBUTE FLAG 19000000 GMSFATFL EQU X'10' . START FIELD FLAG 19500000 GMBYPFL EQU X'08' . BYPASS FLAG 20000000 GMCRNLFL EQU X'04' . CARRIAGE RETURN/NEW LINE FLAG 20500000 GMSBAFL EQU X'02' . SET BFR ADDRESS FLAG 21000000 GMWRATFL EQU X'01' . WRITE ATTRIBUTE FLAG 21500000 GMSWT2 DS X . SWITCH 2 22000000 GMRTCD4 EQU X'04' . CALCSIZE RC 4 22500000 GMRTCD8 EQU X'08' . CALCSIZE RC 8 23000000 GMRTCD12 EQU X'0C' . CALCSIZE RC 12 23500000 GMRTCD16 EQU X'10' . CALCSIZE RC 16 24000000 GMRTCD40 EQU X'28' . CALCSIZE RC 40 24500000 GMRTCD44 EQU X'2C' . CALCSIZE RC 44 25000000 GMWFLG1 DS X . TSO FLAG 1 25500000 GMTSOMSG EQU X'80' . TSO ENTRY 26000000 GMASISCL EQU X'60' . ASIS SCREEN CONTROL 26500000 GMCNTRLM EQU X'40' . CONTROL MODE 27000000 GMTSASIS EQU X'20' . TSO TPUT ASIS 27500000 GM1MSGEN EQU X'10' . FIRST MSGGEN PASS SWITCH 28000000 GMFMTFL EQU X'08' . SCREEN FORMAT INFO IN BFR 28500000 GMNOLEFT EQU X'06' . NO LEFT JUSTIFICATION REQUEST 29000000 GMLEFT EQU X'05' . LEFT JUSTIFICATION REQUEST 29500000 GMWFLG2 DS X . TSO FLAG 2 30000000 GMSAVX1 DS H . SCREEN CURSOR ADDRESS 30500000 GMFLAG1 DS X . FLAG BYTE 1 31000000 GMTRAILR EQU X'80' . TRAILER BUFFER FLAG 31500000 GMPARTMV EQU X'40' . PARTIAL MOVE FLAG 32000000 GMRESTSW EQU X'20' . RESTORE CHAR FLAG 32500000 GMRECALC EQU X'10' . BYPASS CODE AND RESET 33000000 GMINCSW EQU X'04' . INSERT CURSOR FLAG 33500000 GMEOTSW EQU X'02' . EOT FLAG 34000000 GMETXSW EQU X'01' . ETX FLAG 34500000 GMFLAG2 DS X . FLAG BYTE 2 35000000 GMX3705 EQU X'80' . TERMINAL ON A 3705 35500000 GMX1050 EQU X'40' . DEVICE IS A 1050 36000000 GMPROMPT EQU X'20' . PROMPT STRING FLAG 36500000 GMNLCRFL EQU X'10' . NL/CR COUNT FLAG 37000000 GMNWLNCT EQU X'08' . LINE COUNT FLAG 37500000 GMCRRDAT EQU X'04' . READ ATTRIB LINE POS. FLAG 38000000 GMHDRFG EQU X'02' . FIRST BASIC UNIT FLAG 38500000 GMNOMVCT EQU X'01' . NO MOVE COUNT FLAG 39000000 GMSAVX2 DS H . FIRST/LAST CHARACTER 39500000 GMTOR DS F . DATA COUNT 40000000 GMFROMR DS F . DATA COUNT MOVED 40500000 GMTSCURR DS A . CURRENT TSO BUFFER 41000000 GMMSGNLN DS H . LENGTH OF MSGGEN DATA 41500000 GMSBAFLG EQU X'EF' . SBA FLAG 42000000 GMCUR1FG EQU X'EE' . CURSOR ONE FLAG 42500000 GMCUR2FG EQU X'ED' . CURSOR TWO FLAG 43000000 GMSTFDFG EQU X'EC' . START FIELD FLAG 43500000 GMWRATFG EQU X'EB' . WRITE ATTRIBUTE FLAG 44000000 GMDEND DS D . DOUBLE SAVE 44500000 GMAINLEN EQU *-IEDGMAIN GMAIN LENGTH 45000000 * 45500000 MEND 46000000 * */ 46500000 *%PLSGMAIN : ; 47000000 *DECLARE 47500000 * 1 IEDGMAIN BDY(WORD) BASED(IEDGMPTR), 48000000 */* */ 48500000 */* TSO WORK AREA */ 49000000 */* */ 49500000 * 2 GMTSBUFR PTR(31), /* TSO BFR OR MSGGEN ADDR */ 50000000 * 2 GMTCBUFR PTR(31), /* TCAM SCB ADDR */ 50500000 * 2 GMMOVED FIXED(15), /* DATA MOVED */ 51000000 * 2 GMLINE FIXED(15), /* LINE SIZE REMAINING */ 51500000 * 2 GMBLNTH FIXED(15), /* TSO BFR DATA SIZE */ 52000000 * 2 GMMSGLEN FIXED(15), /* MESSAGE SIZE */ 52500000 * 2 GMWBUFSZ FIXED(15), /* TCAM BFR SIZE */ 53000000 * 2 GMSECENT CHAR(1), /* SPECIAL ENTRY */ 53500000 * 2 GMCARCT CHAR(1), /* QCB CARRIAGE COUNT */ 54000000 * 2 GMLINESV FIXED(15), /* FROM TSB OR DEFAULT 54500000 * LINE SIZE */ 55000000 * 3 GMLINENM CHAR(1), /* DISPLAY NUMBER OF LINES */ 55500000 * 3 GMLNSIZE CHAR(1), /* DISPLAY LINE SIZE */ 56000000 * 2 GMSWT1 CHAR(1), /* SWITCH 1 */ 56500000 * 3 GMCUR2FL BIT(1), /* SECOND CURSOR FLAG */ 57000000 * 3 GMCUR1FL BIT(1), /* FIRST CURSOR FLAG */ 57500000 * 3 GMRDATFL BIT(1), /* READ ATTRIBUTE FLAG */ 58000000 * 3 GMSFATFL BIT (1), /* START FIELD FLAG */ 58500000 * 3 GMBYPFL BIT (1), /* BYPASS FLAG */ 59000000 * 3 GMCRNLFL BIT (1), /* CARRIAGE RETURN/NEW 59500000 * LINE FLAG */ 60000000 * 3 GMSBAFL BIT(1), /* SET BFR ADDRESS FLAG */ 60500000 * 3 GMWRATFL BIT (1), /* WRITE ATTRIBUTE FLAG */ 61000000 * 2 GMSWT2 CHAR(1), /* SWITCH 2 */ 61500000 * 2 GMWFLG1 CHAR(1), /* TSO FLAG 1 */ 62000000 * 2 GMWFLG2 CHAR(1), /* TSO FLAG 2 */ 62500000 * 2 GMSAVX1 FIXED(15), /* SCREEN CURSOR ADDRESS */ 63000000 * 2 GMFLAG1 CHAR(1), /* FLAG BYTE 1 */ 63500000 * 3 GMTRAILR BIT(1), /* TRAILER BUFFER FLAG */ 64000000 * 3 GMPARTMV BIT(1), /* PARTIAL MOVE FLAG */ 64500000 * 3 GMRESTSW BIT(1), /* RESTORE CHAR FLAG */ 65000000 * 3 GMRECALC BIT (1), /* BYPASS CODE AND RESET */ 65500000 * 3 * BIT(1), /* UNUSED */ 66000000 * 3 GMINCSW BIT(1), /* INSERT CURSOR FLAG */ 66500000 * 3 GMEOTSW BIT(1), /* EOT FLAG */ 67000000 * 3 GMETXSW BIT(1), /* ETX FLAG */ 67500000 * 2 GMFLAG2 CHAR(1), /* FLAG BYTE 2 */ 68000000 * 3 GMX3705 BIT(1), /* TERMINAL ON A 3705 */ 68500000 * 3 GMX1050 BIT(1), /* DEVICE IS A 1050 */ 69000000 * 3 GMPROMPT BIT (1), /* PROMPT STRING FLAG */ 69500000 * 3 GMNLCRFL BIT(1), /* NL/CR COUNT FLAG */ 70000000 * 3 GMNWLNCT BIT(1), /* LINE COUNT FLAG */ 70500000 * 3 GMCRRDAT BIT(1), /* READ ATTRIBUTE LINE 71000000 * POSITION FLAG */ 71500000 * 72000000 * 3 GMHDRFG BIT(1), /* FIRST BASIC UNIT FLAG */ 72500000 * 3 GMNOMYCT BIT(1), /* NO MOVE COUNT FLAG */ 73000000 * 2 GMSAVX2 CHAR(2), /* FIRST/LAST CHARACTER */ 73500000 * 2 GMTOR PTR(31), /* DATA COUNT */ 74000000 * 2 GMFROMR PTR(31), /* DATA COUNT MOVED */ 74500000 * 2 GMTSCURR PTR(31), /* CURRENT TSO BUFFER */ 75000000 * 2 GMMSGNLN FIXED(15), /* LENGTH OF MSGGEN DATA */ 75500000 * 2 GMDEND CHAR(8); /* DOUBLE SAVE */ 76000000 * 76500000 * %GMAINLEN='LENGTH(IEDGMAIN)'; /* GMAIN LENGTH */ 77000000 */* */ 77500000 */* GMAIN CONSTANTS */ 78000000 */* */ 78500000 *DCL GMSTFD BIT(8) CONSTANT('F0'X); /* STARTFIELD INSERT */ 79000000 *DCL GMRDAT BIT(8) CONSTANT('F1'X); /* READ ATTRIB INSERT */ 79500000 *DCL GMSBA BIT(8) CONSTANT('F2'X); /* SBA INSERT */ 80000000 *DCL GMCUR1 BIT(8) CONSTANT('F3'X); /* FIRST CURSOR INSERT */ 80500000 *DCL GMCUR2 BIT(8) CONSTANT('F4'X); /* SECOND CURSOR INSERT */ 81000000 *DCL GMINC BIT(8) CONSTANT('F5'X); /* INC INSERT */ 81500000 *DCL GMETX BIT(8) CONSTANT('F6'X); /* ETX INSERT */ 82000000 *DCL GMEOT BIT(8) CONSTANT('F7'X); /* EOT INSERT */ 82500000 *DCL GMETXEOT BIT(8) CONSTANT('F8'X); /* ETX/EOT INSERT */ 83000000 *DCL GMBYP BIT(8) CONSTANT ('F9'X); /* BYPASS CHAR INSERT */ 83500000 *DCL GMREST BIT(8) CONSTANT('FA'X); /* RESTORE CHAR INSERT */ 84000000 * 84500000 *DCL GMRTCD4 BIT(8) CONSTANT('04'X); /* CALCSIZE RC 4 */ 85000000 *DCL GMRTCD8 BIT(8) CONSTANT('08'X); /* CALCSIZE RC 8 */ 85500000 *DCL GMRTCD12 BIT(8) CONSTANT('0C'X); /* CALCSIZE RC 12 */ 86000000 *DCL GMRTCD16 BIT(8) CONSTANT('10'X); /* CALCSIZE RC 16 */ 86500000 *DCL GMRTCD40 BIT(8) CONSTANT('28'X); /* CALCSIZE RC 40 */ 87000000 *DCL GMRTCD44 BIT(8) CONSTANT('2C'X); /* CALCSIZE RC 44 */ 87500000 * 88000000 *DCL GMTSOMGS BIT(8) CONSTANT('80'X); /* TSO ENTRY */ 88500000 *DCL GMASISCL BIT(8) CONSTANT('60'X); /* ASIS SCREEN CONTROL */ 89000000 *DCL GMCNTRLM BIT(8) CONSTANT('40'X); /* CONTROL MODE */ 89500000 *DCL GMTSASIS BIT(8) CONSTANT('20'X); /* TSO TPUT ASIS */ 90000000 *DCL GM1MSGEN BIT(8) CONSTANT('10'X); /* FIRST MSGGEN PASS SW */ 90500000 *DCL GMFMTFL BIT(8) CONSTANT('08'X); /* SCREEN FORMAT INFO 91000000 * IN BUFFER */ 91500000 *DCL GMNOLEFT BIT(8) CONSTANT('06'X); /* NO LEFT JUSTIF. REQ */ 92000000 *DCL GMLEFT BIT(8) CONSTANT('05'X); /* LEFT JUSTIF. REQ */ 92500000 * 93000000 *DCL GMSBAFLG BIT(8) CONSTANT('EF'X); /* SBA FLAG */ 93500000 *DCL GMCUR1FG BIT(8) CONSTANT('EE'X); /* CURSOR ONE FLAG */ 94000000 *DCL GMCUR2FG BIT(8) CONSTANT('ED'X); /* CURSOR TWO FLAG */ 94500000 *DCL GMSTFDFG BIT(8) CONSTANT('ED'X); /* START FIELD FLAG */ 95000000 *DCL GMWRATFG BIT(8) CONSTANT('EB'X); /* WRITE ATTRIBUTE FIELD */ 95500000 * 96000000