MACRO 00050000 &NAME GDUTRANS &TRCODE=,&TRLIST= 00100000 GBLA &IECTRCD,&IECGNUM,&IECCNTR,&IECNDGP(100),&IECGDAS 00150000 .* IECTRCD TRANSACTION CODE OF PREVIOUS MACRO 00200000 .* IECGNUM TOTAL NUMBER OF GUIDANCE DISPLAY UNITS 00250000 .* IECNDGP(1) TOTAL BYTES COUNTER 00300000 .* IECCNTR VALUE OF ID OPERAND OF LAST AS MACRO 00350000 .* IECGDAS ID OF LAST ASCTR MACRO 00400000 GBLA &IECIDTF 00450000 .* IECIDTF SIZE OF GDU IDENTIFIER TABLE 00500000 GBLB &IECSW(9),&IECSEQ(10),&IECSQ(7),&IECGDSW 00550000 .* IECSQ(2) SEQUENCE INDICATOR FOR GDUTRANS MACRO 00600000 .* IECGDSW INDICATES GDU=YES CODED IN CONFIGUR MACRO 00650000 LCLA &A 00700000 LCLA &B 00750000 LCLB &NOCODE 00800000 LCLC &CHAR 00850000 ACTR 1000 00900000 AIF (&IECSEQ(1) AND &IECSEQ(2) AND &IECSQ(1) AND NOT &IX00950000 ECSEQ(4) AND NOT &IECSEQ(5) AND NOT &IECSEQ(6)).SEQ1 01000000 AGO .SEQ2 01050000 .SEQ1 AIF (NOT &IECSEQ(10) AND NOT &IECSQ(3) AND NOT &IECSQ(4) AND X01100000 NOT &IECSQ(5) AND NOT &IECSQ(6) AND NOT &IECSQ(7)).SEQ3 01150000 .SEQ2 ANOP 01200000 &NOCODE SETB 1 01250000 MNOTE 12,'MACRO SEQUENCE ERROR' 01300000 .SEQ3 ANOP 01350000 AIF (&IECGDSW).SWOK 01400000 &NOCODE SETB 1 01450000 MNOTE 12,'GDU=YES MUST BE CODED IN CONFIGUR MACRO' 01500000 .SWOK ANOP 01550000 AIF (T'&TRCODE NE 'O').TRCODE1 01600000 &NOCODE SETB 1 01650000 MNOTE 12,'TRCODE OPERAND CAN NOT BE OMITTED' 01700000 AGO .TRLIST1 01750000 .TRCODE1 AIF (T'&TRCODE EQ 'N').TRCODE2 01800000 &NOCODE SETB 1 01850000 MNOTE 12,'TRCODE OPERAND HAS INVALID TYPE ATTRIBUTE' 01900000 AGO .TRLIST1 01950000 .TRCODE2 ANOP 02000000 AIF (&TRCODE GE 0 AND &TRCODE LE 99).TRCODE3 02050000 &NOCODE SETB 1 02100000 MNOTE 12,'TRCODE OPERAND NOT IN VALID RANGE OF 0 TO 99' 02150000 AGO .TRLIST1 02200000 .TRCODE3 ANOP 02250000 AIF (&IECSQ(2)).TRCODE4 02300000 AIF (&TRCODE EQ 0).TRLIST1 02350000 .TRCODE4 ANOP 02400000 AIF (&TRCODE GT &IECTRCD).TRLIST1 02450000 &NOCODE SETB 1 02500000 MNOTE 12,'TRCODE OPERAND MUST BE GREATER THAN TRCODE OPERAND X02550000 OF PREVIOUS MACRO' 02600000 .TRLIST1 ANOP 02650000 AIF (T'&TRLIST NE 'O').TRLIST2 02700000 &NOCODE SETB 1 02750000 MNOTE 12,'TRLIST OPERAND CAN NOT BE OMITTED' 02800000 AGO .GEN 02850000 .TRLIST2 ANOP 02900000 AIF (T'&TRLIST EQ 'M').GEN 02950000 &NOCODE SETB 1 03000000 MNOTE 12,'TRLIST OPERAND HAS INVALID TYPE ATTRIBUTE' 03050000 .GEN ANOP 03100000 AIF (&NOCODE).NOGEN 03150000 AIF (&IECSW(3)).NOASEQ 03200000 &IECCNTR SETA &IECCNTR+1 03250000 IECASSEQ DC &IECCNTR.X'00' AREA STATION SEQUENCE 03300000 IECDENDX EQU * 03350000 IECDESEQ EQU * 03400000 IECFTGRP EQU * 03450000 IECDEUTB EQU * 03500000 &IECSW(3) SETB 1 03550000 .NOASEQ ANOP 03600000 AIF (&IECSEQ(3)).GENIA 03650000 &B SETA &IECNDGP(&A)+&B 03700000 &IECNDGP(1) SETA &B+4*&IECCNTR+18 TOTAL NUMBER OF BYTES 03750000 .GENIA ANOP 03800000 AIF (&IECSQ(2)).NONAME 03850000 IECGDSEQ EQU * 03900000 SPACE 1 03950000 * GUIDANCE DISPLAY UNIT SEQUENCE TABLE 04000000 SPACE 1 04050000 DC &IECGNUM.X'00' 04100000 &IECNDGP(1) SETA &IECNDGP(1)+&IECGNUM+&IECGDAS+&IECIDTF+22 04150000 SPACE 1 04200000 DC 0H'0' 04250000 IECGDTRN EQU * GDU TRANSACTION TABLE 04300000 SPACE 1 04350000 .NONAME ANOP 04400000 &A SETA &IECTRCD+1 04450000 AIF (&TRCODE EQ &A AND &TRCODE EQ 1 AND NOT &IECSQ(2)).GEN1 04500000 .LOOP AIF (&TRCODE EQ &A OR &TRCODE EQ 0).GEN2 04550000 AIF (&IECTRCD NE 0 OR &IECSQ(2)).GEN3 04600000 .GEN1 ANOP 04650000 &IECTRCD SETA 1 04700000 &A SETA 0 04750000 .GEN3 ANOP 04800000 DC YL2(0) 04850000 &IECNDGP(1) SETA &IECNDGP(1)+2 04900000 &A SETA &A+1 04950000 AGO .LOOP 05000000 .GEN2 ANOP 05050000 &IECTRCD SETA &TRCODE 05100000 &IECSQ(2) SETB 1 05150000 &CHAR SETC '&TRLIST' 05200000 DC AL2(&CHAR-IEC15TAB) 05250000 &IECNDGP(1) SETA &IECNDGP(1)+2 05300000 AGO .MEND 05350000 .NOGEN ANOP 05400000 MNOTE 12,'TEXT GENERATION SUPPRESSED' 05450000 .MEND ANOP 05500000 MEND 05550000