MACRO 00100020 &NAME MSGEDIT &OP,&BLANK=YES,&LAST=NO @Y17XAXA 00200000 GBLA &IEDQZD,&IEDQZE(64),&IEDQZK 00300020 GBLB &IEDQZA(64) 00400020 LCLA &N,&IX,&L,&STAT(31),&F(31),&I(124),&K(124),&D(124),&H 00500020 LCLA &LEN,&WK,&OFF,&AO S22025 00600022 LCLA ®X @Y17XAXA 00650000 LCLB &BIT(8),&T,&M,&NOGO,&SW S21903 00700022 LCLB &BITX(8) @Y17XAXA 00705000 LCLC &C,&CH(3),&PREFX(2) S21903 00710022 .*A105000,108000,173000,196000,198000,291000,293000 S21903 00720082 .*C106000,107000,160000,164000,167000,168000,178000,181000 S21903 00720182 .*C236000,240000,243000,251000,296000,304000,363000 S21903 00720282 .*A426000,461000 SA51770 00720382 .*C009600,424000 SA51770 00720482 .*A108000,147600,152000 . A49236 00720582 .*D147000 . A49236 00720682 .*D465000 A49236 00720782 .*A117000 A44897 00720882 .*C009600 A44897 00720982 .*A147000 A41035 00721082 .*C401100,401300,405200,405400,415400,416000,418200,418500 @YA05441 00721182 .*C623000 @YA05441 00721282 .*C198000,198500 @OY12285 00721382 .*C009000,475000 A41035 00721482 .*D142000-143000 A41035 00721582 .*C049000 SA68213 00721682 .*A418100,418300,418400,418600 OX01435 00721782 .*A006500,007050,014500,015000,160000,389206-389500 @Y17XAXA 00721882 .*A425500,463200-463800,510500-511500,532300-533500 @Y17XAXA 00721982 .*A572100-573000 @Y17XAXA 00722082 .*C002000,020200-020900,105724-105772,163200-163600 @Y17XAXA 00722182 .*A389353,389356 @OZ26902 00722282 .*C389350 @OZ26902 00722382 .*A389200,389460 @OY19738 00722482 .*C389200,389368,389426,389455,390000-391000 @OY19738 00722582 .*D389322-389336 @OY19738 00722682 .*A105744,105758 @OY20577 00722782 .*C160000 @OY20577 00722882 .*A233000 @OZ32684 00722982 .*A389200,389640 @OZ34765 00723082 .********************************************************************** 00980061 .* * 00984061 .* VERSION UPDATE LEVEL 6 * 00988061 .* * 00992061 .********************************************************************** 00996061 SPACE 1 01000000 .* MEANING OF INDICATORS 01100020 .* &BIT(8) - 1- I, 2 - A, 3 - T, 4 - INSERT IS DATA, 01200020 .* 5 - IDLES, 6 - TO IS STRING, 7 - AT IS STRING, 01300020 .* 8 - AT IS SCAN 01400020 .* &BITX(8)- 1 - LAST = YES OR ALL 2 - LAST = ERROR @Y17XAXA 01450000 .* 3 - INSERT (®X) 4 - INSERT (®X) ERROR @Y17XAXA 01500000 .* &F - 1 - I, 2 - A/T, 4 - A, 8 - T, 32 - AT IS STRING 01550000 .* &STAT - 1 - INCLUSIVE TO, 2 - INCLUSIVE AT, 4 - TO IS COUNT, 01600020 .* 8 - TO IS OFFSET OR SCAN, 16 - TO IS STRING, 01700020 .* 32 - DATA IS CONTRACT, 64 - DATA IS IDLES, 01800020 .* 128 - DATA IS STRING, 192 - DATA IS DELIMIT 01900020 &H SETA 0 02000020 AIF ('&LAST' EQ 'NO').LASTNO @Y17XAXA 02020000 AIF ('&LAST' EQ 'YES' OR '&LAST' EQ 'ALL').LASTOK @Y17XAXA 02030000 MNOTE 8,'*** IHB300 LAST=&LAST INVALID NO ASSUMED' @Y17XAXA 02040000 &BITX(2) SETB 1 LAST = INVALID @Y17XAXA 02050000 .LASTOK ANOP @Y17XAXA 02060000 &BITX(1) SETB 1 LAST = YES OR ALL @Y17XAXA 02070000 .LASTNO ANOP LAST = NO @Y17XAXA 02080000 AIF (NOT &IEDQZA(9)).TSOCHK TSO 02100020 MNOTE 12,'*** IHB312 MUST FOLLOW STARTMH MACRO WITH TSOMH=NO*02200020 ' 02300020 &NOGO SETB 1 02400020 .TSOCHK AIF (NOT &IEDQZA(5)).INBLK S22025 02500022 MNOTE 12,'*** IHB070 SEQUENCE ERROR - MUST FOLLOW INHDR, INB*02700020 UF, OUTHDR OR OUTBUF MACRO' 02800020 &NOGO SETB 1 02900020 .INBLK AIF (NOT &IEDQZA(14)).T1 S22025 02902022 .QCBDC IEDQVCON (55,16),(IEDQBN,IEDQAO) S22025 02912022 .T1 AIF ('&OP'(2,1) EQ '(' AND '&OP'(K'&OP-1,1) EQ ')').T11 02940020 MNOTE 12,'*** IHB300 FIRST OPERAND INVALID AS SPECIFIED' 02980020 AGO .MEND 03020020 .T11 AIF (N'&OP LE 31 AND N'&OP GT 0).T2 03060020 .T3 AIF (&N GT 1).T5 03080020 MNOTE 10,'*** IHB300 FIRST OPERAND INVALID AS SPECIFIED' 03100000 AGO .T6 03120020 .T5 MNOTE 12,'*** IHB300 OPERAND &N INVALID AS SPECIFIED' 03140020 .T6 ANOP 03160020 &NOGO SETB 1 03200020 .T2 AIF ('&BLANK' EQ '' OR '&BLANK' EQ 'YES' OR '&BLANK' EQ 'NO'*03300020 ).T4 03400020 IEDQCHAR 1,&BLANK 03500020 AIF (NOT &IEDQZA(24)).T4 03600020 AIF (&IEDQZD EQ 1).T4 03700020 MNOTE 12,'*** IHB300 BLANK OPERAND INVALID AS SPECIFIED' 03800020 &NOGO SETB 1 03900020 .T4 ANOP 04000020 &N SETA &N+1 04060020 AIF (&N GT N'&OP).MEND 04120020 .LOOP AIF ('&OP(&N)'(1,1) EQ '(' AND '&OP(&N)'(K'&OP(&N),1) EQ ')'*04200020 ).L1 04300020 MNOTE 12,'*** IHB300 SUBOPERAND &N INVALID AS SPECIFIED' 04400020 &NOGO SETB 1 04500020 .L1 AIF ('&OP(&N)'(2,1) EQ 'I' OR '&OP(&N)'(2,1) EQ 'R').L2 04600020 .M1 MNOTE 12,'*** IHB300 FUNCTION SUBOPERAND &N INVALID AS SPECI*04700020 FIED' 04800020 AGO .MEND SA68213 04900054 .L2 AIF ('&OP(&N)'(2,1) NE 'I').R1 05000020 &F(&N) SETA 1 05100020 &BIT(1) SETB 1 05200020 &IX SETA 3 05300020 AIF ('&OP(&N)'(3,1) NE ')').L2A 05400020 &BIT(8) SETB 1 05500020 AGO .L6 05600020 .L2A AIF ('&OP(&N)'(3,1) NE ',').M1 05700020 AGO .L3 05800020 .R1 ANOP 05900020 &IX SETA 3 06000020 AIF ('&OP(&N)'(3,1) NE ')').R1A 06100020 &STAT(&N) SETA &STAT(&N)+40 06200020 &BIT(8) SETB 1 06300020 AGO .L6 06400020 .R1A AIF ('&OP(&N)'(3,1) NE ',').R2 06500020 AGO .L3 06600020 .R2 ANOP 06700020 &F(&N) SETA 2 06800020 AIF ('&OP(&N)'(3,1) NE 'A').R3 06900020 &F(&N) SETA &F(&N)+4 07000020 &BIT(2) SETB 1 07100020 &STAT(&N) SETA &STAT(&N)+2 07200020 AGO .R4 07300020 .R3 AIF ('&OP(&N)'(3,1) NE 'T').M1 07400020 &F(&N) SETA &F(&N)+8 07500020 &BIT(3) SETB 1 07600020 &STAT(&N) SETA &STAT(&N)+1 07700020 .R4 ANOP 07800020 &IX SETA 4 07900020 AIF ('&OP(&N)'(4,1) NE ')').R41 08000020 &STAT(&N) SETA &STAT(&N)+40 08060020 &BIT(8) SETB 1 08120020 AGO .L6 08200020 .R41 AIF ('&OP(&N)'(4,1) EQ ',').L3 08300020 .R5 AIF ('&OP(&N)'(3,1) EQ '&OP(&N)'(4,1)).M1 08500020 AIF ('&OP(&N)'(4,1) NE 'A').R6 08600020 &F(&N) SETA &F(&N)+4 08700020 &BIT(2) SETB 1 08800020 &STAT(&N) SETA &STAT(&N)+2 08900020 AGO .R7 09000020 .R6 AIF ('&OP(&N)'(4,1) NE 'T').M1 09100020 &F(&N) SETA &F(&N)+8 09200020 &BIT(3) SETB 1 09300020 &STAT(&N) SETA &STAT(&N)+1 09400020 .R7 ANOP 09500020 &IX SETA 5 09600020 AIF ('&OP(&N)'(5,1) NE ')').R7A 09700020 &STAT(&N) SETA &STAT(&N)+40 09770020 &BIT(8) SETB 1 09840020 AGO .L6 09910020 .R7A AIF ('&OP(&N)'(5,1) NE ',').M1 10000020 .L3 ANOP 10100020 &IX SETA &IX+1 10200020 AIF ('&OP(&N)'(&IX,1) NE ')').D1 10300020 &STAT(&N) SETA &STAT(&N)+32 10400020 AGO .R6 10500020 .M17 ANOP . S21903 10506022 &PREFX(1) SETC 'HEXFORM ' . S21903 10512022 &PREFX(2) SETC 'IN' . S21903 10518022 &SW SETB 1 . S21903 10524022 AGO .M2 . S21903 10530022 .M18 ANOP S21903 10536022 &L SETA &L+1 S21903 10542022 AIF ('&OP(&N)'(&IX+&L,1) EQ ')').M19 S21903 10548022 AGO .M18 S21903 10554022 .M185 ANOP . S21903 10560022 &PREFX(1) SETC 'DEC INTE' . S21903 10566022 &PREFX(2) SETC 'GER IN' . S21903 10572022 .M19X ANOP @Y17XAXA 10572400 AIF (&L EQ 2).REGXY1 REGX EQ 0 THRU 9 @Y17XAXA 10572800 AIF (&L EQ 3).REGXY2 REGX EQ 10 THRU 15 @Y17XAXA 10573200 AGO .M19 @Y17XAXA 10573600 .REGXY1 ANOP @Y17XAXA 10574000 &CH(1) SETC '&OP(&N)'(&IX+&L-1,1) @Y17XAXA 10574200 ®X SETA &CH(1) @Y17XAXA 10574400 AIF (®X LT 2).M19 IF REGISTER SPEC LT 2 @OY20577 10574682 AGO .REGXYE @Y17XAXA 10574800 .REGXY2 ANOP @Y17XAXA 10575200 &CH(2) SETC '&OP(&N)'(&IX+&L-2,2) @Y17XAXA 10575600 ®X SETA &CH(2) @Y17XAXA 10575800 AIF (®X GT 12).M19 IF REGISTER SPEC GT 12 @OY20577 10575982 .REGXYE ANOP @Y17XAXA 10576000 &IX SETA &IX+&L+1 @Y17XAXA 10576400 &BIT(4) SETB 1 INDICATE INSERT DATA @Y17XAXA 10576600 &BITX(3) SETB 1 INDICATE REG X @Y17XAXA 10576800 AGO .L4 CONTINUE NORMALLY @Y17XAXA 10577400 .M19 ANOP S21903 10578022 &L SETA &L+1 S21903 10584022 .M2 MNOTE 12,'*** IHB300 &PREFX(1).&PREFX(2) DATA SUBOPERAND &N I*10600022 NVALID AS SPECIFIED' . S21903 10700022 &NOGO SETB 1 10800020 &PREFX(1) SETC '' S21903 10810022 &PREFX(2) SETC '' S21903 10820022 &IX SETA &IX+&L . BUMP TO NEXT OPERAND A49236 10830022 AIF (&SW).CONT . S21903 10840022 AGO .L4 . A49236 10850022 .D1 AIF ('&OP(&N)'(&IX,1) NE ',').D11 10900020 &STAT(&N) SETA &STAT(&N)+32 11000020 AGO .L4 11100020 .D11 AIF ('&OP(&N)'(&IX,8) EQ 'CONTRACT' OR '&OP(&N)'(&IX,7) EQ '*11200020 DELIMIT').D1A 11300020 &BIT(4) SETB 1 11400020 .D1A AIF ('&OP(&N)'(&IX,8) NE 'CONTRACT').D2 11500020 &IX SETA &IX+8 11600020 &STAT(&N) SETA &STAT(&N)+32 11700020 AIF ('&OP(&N)'(2,1) EQ 'R' AND '&OP(&N)'(&IX,1) NE ')').L4 11720021 .* A44897 11740021 &BIT(8) SETB 1 A44897 11760021 AGO .L4 11800020 .D2 AIF ('&OP(&N)'(&IX,1) EQ '(' OR '&OP(&N)'(&IX,7) EQ 'DELIMIT*11900020 ').D3 12000020 &L SETA 1 12100020 .DL1 AIF ('&OP(&N)'(&IX+&L,1) EQ ')').DL2 12200020 AIF ('&OP(&N)'(&IX+&L,1) EQ ',').DL2 12300020 &L SETA &L+1 12400020 AGO .DL1 12500020 .DL2 AIF (&L GT 21).M2 12600020 AIF (&L GT 8).DLS1 12700020 &CH(1) SETC '&OP(&N)'(&IX,&L) 12800020 &CH(2) SETC '' 12900020 &CH(3) SETC '' 13000020 AGO .CH1 13100020 .DLS1 ANOP 13200020 &CH(1) SETC '&OP(&N)'(&IX,8) 13300020 AIF (&L GT 16).DLS2 13400020 &CH(2) SETC '&OP(&N)'(&IX+8,&L-8) 13500020 &CH(3) SETC '' 13600020 AGO .CH1 13700020 .DLS2 ANOP 13800020 &CH(2) SETC '&OP(&N)'(&IX+8,8) 13900020 &CH(3) SETC '&OP(&N)'(&IX+16,&L-16) 14000020 .CH1 IEDQCHAR 8,&CH(1).&CH(2).&CH(3) 14100020 &I(&H+1) SETA &IX 14400020 &K(&H+1) SETA &L 14500020 &D(&H+1) SETA &IEDQZD 14600020 AIF (&IEDQZA(24)).M2 A41035 14730021 AIF (&IEDQZD GT 8).M2 A41035 14760021 &IX SETA &IX+&L . BUMP TO NEXT OPERAND A49236 14780022 &STAT(&N) SETA &STAT(&N)+128 14800020 AIF ('&OP(&N)'(&IX,1) NE ')').L4 14900020 &BIT(8) SETB 1 15000020 AGO .L4 15100020 .D3 AIF ('&OP(&N)'(&IX,7) NE 'DELIMIT').D4 15200020 &L SETA 7 . A49236 15250022 AIF ('&OP(&N)'(2,1) NE 'R').M2 15300020 &STAT(&N) SETA &STAT(&N)+192 15400020 &IX SETA &IX+7 15500020 AGO .L4 15600020 .D4 ANOP 15700020 &L SETA 2 15900020 .DL3 AIF ('&OP(&N)'(&IX+&L,1) EQ ')').M185 @OY20577 16000082 AIF ('&OP(&N)'(&IX+&L,1) EQ ',').DL4 16100020 &L SETA &L+1 16200020 AGO .DL3 16300020 .DL4 ANOP @Y17XAXA 16330000 &BIT(5) SETB 1 @Y17XAXA 16360000 AIF (&L GT 9).M17 . @Y17XAXA 16400000 &CH(1) SETC '&OP(&N)'(&IX+1,&L-1) 16500020 IEDQCHAR 1,&CH(1) 16600020 AIF (&IEDQZA(24)).M17 . S21903 16700022 AIF (&IEDQZD GT 1).M17 . S21903 16800022 &I(&H+1) SETA &IX+1 16900020 &K(&H+1) SETA &L-1 17000020 &D(&H+1) SETA &IEDQZD 17100020 &IX SETA &IX+&L 17200020 &STAT(&N) SETA &STAT(&N)+64 17300020 AGO .CONT1 . S21903 17320022 .CONT ANOP . S21903 17340022 &SW SETB 0 . S21903 17360022 .CONT1 ANOP . S21903 17380022 &L SETA 1 17400020 .DL5 AIF ('&OP(&N)'(&IX+&L,1) EQ ')').DL6 17500020 &L SETA &L+1 17600020 AGO .DL5 17700020 .DL6 AIF (&L GT 7).M185 . S21903 17800022 &CH(1) SETC '&OP(&N)'(&IX+1,&L-1) 17900020 IEDQMASK &CH(1),1 18000020 AIF (&IEDQZA(24)).M185 . S21903 18100022 &I(&H+2) SETA &IX+1 18200020 &K(&H+2) SETA &L-1 18300020 &D(&H+2) SETA &IEDQZD 18400020 &IX SETA &IX+&L+1 18500020 .L4 AIF ('&OP(&N)'(&IX,1) EQ ')').L6 18600020 AIF ('&OP(&N)'(&IX,1) NE ',').M2 18700020 &IX SETA &IX+1 18800020 AIF ('&OP(&N)'(&IX,1) EQ 'C' OR '&OP(&N)'(&IX,1) EQ 'X').A2 18900020 AIF (N'&OP GT 1 OR ('&OP(&N)'(3,1) EQ 'A' OR '&OP(&N)'(4,1) *19000020 EQ 'A')).T3 19100020 AIF ('&OP(&N)'(&IX,1) EQ ')').L6 19200020 AIF ('&OP(&N)'(&IX,1) EQ ',').TEMP1 19300020 AIF ('&OP(&N)'(&IX,4) NE 'SCAN').A1 19400020 &BIT(8) SETB 1 19500020 AIF (&IEDQZA(3) OR &IEDQZA(4)).L4A 19600020 .M27 ANOP . S21903 19610022 &L SETA 0 . S21903 19620022 .M28 ANOP . S21903 19630022 &L SETA &L+1 . S21903 19640022 AIF ('&OP(&N)'(&IX+&L,1) EQ ')').M29 . S21903 19650022 AIF ('&OP(&N)'(&IX+&L,1) EQ ',').M3 . S21903 19660022 AGO .M28 . S21903 19670022 .M29 ANOP . S21903 19680022 &L SETA &L+1 . S21903 19690022 .M3 MNOTE 12,'*** IHB300 AT SUBOPERAND &N INVALID AS SPECIFIED' 19700020 AGO .MEND @OY12285 19800091 .TEMP1 ANOP 19900020 &BIT(8) SETB 1 20000020 AGO .L5 20100020 .L4A ANOP 20200020 &IX SETA &IX+4 20300020 AGO .L5 20400020 .A1 AIF ('&OP(&N)'(&IX,1) EQ '(').A3 20500020 &L SETA 1 20600020 .AL1 AIF ('&OP(&N)'(&IX+&L,1) EQ ')').AL2 20700020 AIF ('&OP(&N)'(&IX+&L,1) EQ ',').AL2 20800020 &L SETA &L+1 20900020 AGO .AL1 21000020 .AL2 AIF (&L GT 9).M3 21100020 AIF (&L GT 8).ALS1 21200020 &CH(1) SETC '&OP(&N)'(&IX,&L) 21300020 &CH(2) SETC '' 21400020 AGO .MK1 21500020 .ALS1 ANOP 21600020 &CH(1) SETC '&OP(&N)'(&IX,8) 21700020 &CH(2) SETC '&OP(&N)'(&IX+8,&L-8) 21800020 .MK1 IEDQMASK &CH(1).&CH(2),2 21900020 AIF (&IEDQZA(24)).M3 22000020 &I(&H+3) SETA &IX 22100020 &K(&H+3) SETA &L 22200020 &D(&H+3) SETA &IEDQZD 22300020 &IX SETA &IX+&L 22400020 AGO .L5 22500020 .A2 ANOP 22600020 &L SETA 1 22700020 .AL3 AIF ('&OP(&N)'(&IX+&L,1) NE ')').ALT3 22800020 AGO .AL4 22900020 .ALT3 AIF ('&OP(&N)'(&IX+&L,1) EQ ',').AL4 23000020 &L SETA &L+1 23100020 AGO .AL3 23200020 .A3 ANOP 23300020 AIF ('&LAST' EQ 'NO').A3N LAST=NO? @OZ32684 23310082 MNOTE 8,'*** IHB300 LAST OPERAND INVALID WITH SPECIFIED AT FX23320082 UNCTION' @OZ32684 23330082 &BITX(2) SETB 1 LAST=INVALID @OZ32684 23340082 .A3N ANOP @OZ32684 23350082 &M SETB 1 23400020 &L SETA 1 23500020 .AL6 AIF ('&OP(&N)'(&IX+&L,1) EQ ')').M29 . S21903 23600022 AIF ('&OP(&N)'(&IX+&L,1) EQ ',').AL7 23700020 &L SETA &L+1 23800020 AGO .AL6 23900020 .AL7 AIF (&L GT 5).M28 . S21903 24000022 &CH(1) SETC '&OP(&N)'(&IX+1,&L-1) 24100020 IEDQMASK &CH(1),2 24200020 AIF (&IEDQZA(24)).M28 . S21903 24300022 &I(&H+3) SETA &IX+1 24400020 &K(&H+3) SETA &L-1 24500020 &D(&H+3) SETA &IEDQZD 24600020 &IX SETA &IX+&L+1 24700020 AIF (('&OP(&N)'(&IX,1) GE 'A' AND '&OP(&N)'(&IX,1) LE 'Z') O*24800020 R '&OP(&N)'(&IX,1) EQ '$' OR '&OP(&N)'(&IX,1) EQ '#' OR *24900020 '&OP(&N)'(&IX,1) EQ '@').ALS6 25000020 AGO .M27 . S21903 25100022 .ALS6 ANOP 25200020 &L SETA 1 25300020 .AL8 AIF ('&OP(&N)'(&IX+&L,1) EQ ',').M3 25400020 AIF ('&OP(&N)'(&IX+&L,1) EQ ')').AL9 25500020 &L SETA &L+1 25600020 AGO .AL8 25700020 .AL9 ANOP 25800020 &I(&H+4) SETA &IX 25900020 &K(&H+4) SETA &L 26000020 &IX SETA &IX+&L 26100020 AGO .L6 26200020 .AL4 AIF (&L GT 21).M3 26300020 AIF (&L GT 8).ALS4 26400020 &CH(1) SETC '&OP(&N)'(&IX,&L) 26500020 &CH(2) SETC '' 26600020 &CH(3) SETC '' 26700020 AGO .CH2 26800020 .ALS4 ANOP 26900020 &CH(1) SETC '&OP(&N)'(&IX,8) 27000020 AIF (&L GT 16).ALS5 27100020 &CH(2) SETC '&OP(&N)'(&IX+8,&L-8) 27200020 &CH(3) SETC '' 27300020 AGO .CH2 27400020 .ALS5 ANOP 27500020 &CH(2) SETC '&OP(&N)'(&IX+8,8) 27600020 &CH(3) SETC '&OP(&N)'(&IX+16,&L-16) 27700020 .CH2 IEDQCHAR 8,&CH(1).&CH(2).&CH(3) 27800020 AIF (&IEDQZA(24)).M3 27900020 AIF (&IEDQZD GT 8).M3 28000020 &I(&H+3) SETA &IX 28100020 &K(&H+3) SETA &L 28200020 &D(&H+3) SETA &IEDQZD 28300020 &IX SETA &IX+&L 28400020 &L SETA 1 28500020 &F(&N) SETA &F(&N)+32 28600020 &BIT(7) SETB 1 @OY19738 28650082 .L5 AIF ('&OP(&N)'(&IX,1) EQ ')').L5A 28800020 &IX SETA &IX+1 28900020 AIF ('&OP(&N)'(2,1) NE 'I').O1 29000020 AIF ('&OP(&N)'(&IX,1) EQ ')').O1 29100020 .M38 ANOP . S21903 29110022 &L SETA 0 . S21903 29120022 .M39 ANOP . S21903 29130022 &L SETA &L+1 . S21903 29140022 AIF ('&OP(&N)'(&IX+&L,1) EQ ')').M4 . S21903 29150022 AGO .M39 . S21903 29160022 .M4 MNOTE 12,'*** IHB300 TO SUBOPERAND &N INVALID AS SPECIFIED' 29200020 &NOGO SETB 1 29300020 &IX SETA &IX+&L . A49236 29330022 AGO .L6 . S21903 29360022 .O1 AIF ('&OP(&N)'(&IX,1) EQ ')').L5A 29400020 AIF ('&OP(&N)'(&IX,4) NE 'SCAN').O2 29500020 AIF ('&OP(&N)'(3,1) EQ 'T' OR '&OP(&N)'(4,1) EQ 'T').M38 29600022 .* S2|903 29650022 &STAT(&N) SETA &STAT(&N)+8 29700020 &IX SETA &IX+4 29800020 AGO .L6 29900020 .L5A AIF ('&OP(&N)'(2,1) NE 'R').L6 30000020 &STAT(&N) SETA &STAT(&N)+8 30100020 AGO .L6 30200020 .O2 AIF ('&OP(&N)'(&IX,1) LT '0' OR '&OP(&N)'(&IX,1) GT '9').O3 30300020 AIF ('&OP(&N)'(3,1) EQ 'T' OR '&OP(&N)'(4,1) EQ 'T').M38 30400022 .* S21903 30450022 &L SETA 1 30500020 .OL1 AIF ('&OP(&N)'(&IX+&L,1) EQ ')').OL2 30600020 &L SETA &L+1 30700020 AGO .OL1 30800020 .OL2 AIF (&L GT 9).M4 30900020 AIF (&L GT 8).OLS1 31000020 &CH(1) SETC '&OP(&N)'(&IX,&L) 31100020 &CH(2) SETC '' 31200020 AGO .MK2 31300020 .OLS1 ANOP 31400020 &CH(1) SETC '&OP(&N)'(&IX,8) 31500020 &CH(2) SETC '&OP(&N)'(&IX+8,&L-8) 31600020 .MK2 IEDQMASK &CH(1).&CH(2),2 31700020 AIF (&IEDQZA(24)).M4 31800020 &I(&H+4) SETA &IX 31900020 &K(&H+4) SETA &L 32000020 &D(&H+4) SETA &IEDQZD 32100020 &IX SETA &IX+&L 32200020 &STAT(&N) SETA &STAT(&N)+8 32300020 AIF (&BIT(7) OR &BIT(8)).L6 32400020 &CH(1) SETC '&OP(&N)'(&I(&H+3),&K(&H+3)) 32500020 &CH(2) SETC '&OP(&N)'(&I(&H+4),&K(&H+4)) 32600020 &LEN SETA &CH(1) 32700020 &WK SETA &CH(2) 32800020 &IX SETA &IX-&L . A49236 32850022 AIF (&LEN GT &WK).M4 32900020 &IX SETA &IX+&L . A49236 32950022 AGO .L6 33000020 .O3 AIF ('&OP(&N)'(&IX,1) EQ '(').O4 33100020 &BIT(6) SETB 1 33200020 &L SETA 1 33300020 .OL3 AIF ('&OP(&N)'(&IX+&L,1) EQ ')').OL4 33400020 &L SETA &L+1 33500020 AGO .OL3 33600020 .OL4 AIF (&L GT 22).M4 33700020 AIF (&L GT 8).OLS4 33800020 &CH(1) SETC '&OP(&N)'(&IX,&L) 33900020 &CH(2) SETC '' 34000020 &CH(3) SETC '' 34100020 AGO .CH3 34200020 .OLS4 ANOP 34300020 &CH(1) SETC '&OP(&N)'(&IX,8) 34400020 &WK SETA &L-8 34500020 AIF (&WK GT 8).OLS5 34600020 &CH(2) SETC '&OP(&N)'(&IX+8,&WK) 34700020 &CH(3) SETC '' 34800020 AGO .CH3 34900020 .OLS5 ANOP 35000020 &WK SETA &WK-8 35100020 &CH(2) SETC '&OP(&N)'(&IX+8,8) 35200020 &CH(3) SETC '&OP(&N)'(&IX+16,&WK) 35300020 .CH3 IEDQCHAR 8,&CH(1).&CH(2).&CH(3) 35400020 AIF (&IEDQZA(24)).M4 35500020 AIF (&IEDQZD GT 8).M4 35600020 &I(&H+4) SETA &IX 35700020 &K(&H+4) SETA &L 35800020 &D(&H+4) SETA &IEDQZD 35900020 &IX SETA &IX+&L 36000020 &STAT(&N) SETA &STAT(&N)+16 36100020 AGO .L6 36200020 .O4 AIF ('&OP(&N)'(3,1) EQ 'T' OR '&OP(&N)'(4,1) EQ 'T').M38 36300022 .* S21903 36350022 &L SETA 1 36400020 .OL5 AIF ('&OP(&N)'(&IX+&L,1) EQ ')').OL6 36500020 &L SETA &L+1 36600020 AGO .OL5 36700020 .OL6 AIF (&L GT 10).M4 36800020 AIF (&L GT 9).OLS6 36900020 &CH(1) SETC '&OP(&N)'(&IX+1,&L-1) 37000020 &CH(2) SETC '' 37100020 AGO .MK3 37200020 .OLS6 ANOP 37300020 &CH(1) SETC '&OP(&N)'(&IX+1,8) 37400020 &CH(2) SETC '&OP(&N)'(&IX+9,&L-9) 37500020 .MK3 IEDQMASK &CH(1).&CH(2),2 37600020 AIF (&IEDQZA(24)).M4 37700020 &I(&H+4) SETA &IX+1 37800020 &K(&H+4) SETA &L-1 37900020 &D(&H+4) SETA &IEDQZD 38000020 &STAT(&N) SETA &STAT(&N)+4 38100020 &IX SETA &IX+&L 38200020 .L6 AIF ('&OP(&N)'(&IX,1) NE ')').T3 38300020 AIF (N'&OP EQ 1).ORG 38400020 &H SETA 4*&N 38500020 &N SETA &N+1 38600020 AIF ('&OP(&N)' EQ '').ORG 38700020 AGO .LOOP 38800020 .ORG AIF (&NOGO).MEND 38860020 AIF ('&NAME' EQ '').NONAME @OY19738 38920082 CNOP 0,4 ALLIGN PARM LIST @OZ34765 38920182 &NAME EQU * @OY19738 38920282 .NONAME ANOP @OY19738 38920482 AIF (NOT &BITX(1) AND NOT &BITX(3)).NOTLAST @Y17XAXA 38920600 AIF (NOT &BITX(1) OR &BIT(1)).INSERT @Y17XAXA 38921200 MNOTE 8,'*** IHB300 LAST OPERAND VALID WITH INSERT FUNCTION X38921800 ONLY' @Y17XAXA 38922400 &BITX(2) SETB 1 LAST = INVALID @Y17XAXA 38923000 .INSERT ANOP @Y17XAXA 38923600 AIF (NOT &BIT(2)).NOTAT @Y17XAXA 38924200 MNOTE 8,'*** IHB300 AT FUNCTION INVALID ' @Y17XAXA 38924500 &BITX(2) SETB 1 LAST = INVALID @Y17XAXA 38924800 &BITX(4) SETB 1 ®X INVALID @Y17XAXA 38925100 .NOTAT ANOP @Y17XAXA 38925400 AIF (NOT &BIT(3)).NOTIT @Y17XAXA 38926000 MNOTE 8,'*** IHB300 TO FUNCTION INVALID ' @Y17XAXA 38926100 &BITX(2) SETB 1 LAST = INVALID @Y17XAXA 38926200 &BITX(4) SETB 1 ®X INVALID @Y17XAXA 38926300 .NOTIT ANOP @Y17XAXA 38926400 AIF (NOT &BIT(7)).NOTBIT7 @Y17XAXA 38926600 MNOTE 8,'*** IHB300 AT CHARACTER STRING INVALID ' @Y17XAXA 38927200 &BITX(2) SETB 1 LAST = INVALID @Y17XAXA 38927500 &BITX(4) SETB 1 ®X INVALID @Y17XAXA 38927800 .NOTBIT7 ANOP @Y17XAXA 38928400 AIF (NOT &BIT(8) OR NOT &BITX(1)).NOTBIT8 @Y17XAXA 38929000 MNOTE 8,'*** IHB300 AT SCAN INVALID , LAST=YES' @Y17XAXA 38929600 &BITX(2) SETB 1 LAST = INVALID @Y17XAXA 38929900 .NOTBIT8 ANOP @Y17XAXA 38930200 AIF (NOT &BIT(6)).NOTBIT6 @Y17XAXA 38930800 MNOTE 8,'*** IHB300 TO CHARACTER STRING INVALID ' @Y17XAXA 38931400 &BITX(2) SETB 1 LAST = INVALID @Y17XAXA 38931600 &BITX(4) SETB 1 ®X INVALID @Y17XAXA 38931800 .NOTBIT6 ANOP @Y17XAXA 38932000 AIF (NOT &BITX(1) OR &BITX(2)).NOTLAST LAST=NO ERR @Y17XAXA 38933800 L 1,IEDADBUF ADDRESS OF BUFFER @Y17XAXA 38934100 AIF ('&LAST' EQ 'ALL').LASTALL LAST = ALL @Y17XAXA 38934200 TM 20(1),2 IS THIS LAST ? @Y17XAXA 38934400 BO IEDM&SYSNDX+6 NO, CONTINUE @OY19738 38935082 .LASTALL ANOP @Y17XAXA 38935300 L 15,12(,1) ADDRESS OF LCB @OZ26902 38935482 SR 14,14 CLEAR REG 14 @OZ26902 38935582 LH 0,18(0,1) SIZE OF DATA IN BUFFER @Y17XAXA 38935600 IC 14,28(,15) GET RESERVE COUNT @OZ26902 38935782 SR 0,14 SUBTRACT COUNT @OZ26902 38935882 SH 0,IEDM&SYSNDX-4 SUBTRACT TEXT PRFX SIZE@OY19738 38935982 TM 20(1),1 IS THIS HEADER ? @Y17XAXA 38936200 BO *+8 NO , CONTINUE @Y17XAXA 38936400 SH 0,IEDM&SYSNDX-2 SUBTRACT EXTRA HDR SIZE@OY19738 38936682 STH 0,IEDM&SYSNDX-6 STORE OFFSET IN PARM @OY19738 38936882 .NOTLAST ANOP @Y17XAXA 38937400 AIF (NOT &BITX(3)).REGX1E INSERT NOT REGISTER @Y17XAXA 38938000 AIF (&BITX(4)).MEND INSERT REGX ERROR @Y17XAXA 38938300 AIF ('®X' NE '0').REGX1V REGISTER NOT ZERO @Y17XAXA 38938600 LR 1,®X LOAD INTO REGISTER ONE @Y17XAXA 38939600 ®X SETA 1 INDICATE REGISTER ONE @Y17XAXA 38940600 .REGX1V ANOP @Y17XAXA 38941600 MVC IEDX&SYSNDX+8(1),0(®X) MOVE LENGTH TO PARM @OY19738 38942682 LA ®X,1(,®X) BYPASS LENGTH CHARACTER @Y17XAXA 38945000 STCM ®X,7,IEDX&SYSNDX+9 ADDRESS OF DATA @OY19738 38945582 .REGX1E ANOP REG DATA END @Y17XAXA 38946000 CNOP 0,4 ALLIGN PARM LIST @OZ34765 38948082 AIF (NOT &IEDQZA(14)).NOINBLK @Y17XAXA 38950000 &AO SETA 2 S22025 38960022 .NOINBLK ANOP S22025 38980022 AIF (NOT &BITX(1) AND NOT &BITX(3)).TORG @OY19738 39000082 IEDX&SYSNDX EQU * @OY19738 39100082 .TORG AIF (N'&OP GT 1).ORG1 39200020 AIF (&BIT(7)).ORG1 39300020 AIF (&M).MULT 39400020 AIF (NOT &BIT(1)).AP 39500020 IEDQVCON (17,38,16),(IEDQA2,IEDQAF,IEDQAO) S22025 39600022 AIF (&I(3) NE 0).OLDBAL 39700020 &BIT(8) SETB 1 39800020 .OLDBAL ANOP 39900020 &T SETB (NOT &BIT(8)) 40000020 AIF (&IEDQZA(14)).INBA2 S22025 40100022 BAL 1,IEDM&SYSNDX @OY19738 40110082 AGO .REGA2 S22025 40120022 .INBA2 ANOP @YA05441 40125061 BAL 1,IEDM&SYSNDX @OY19738 40130082 DC AL1(&IEDQZE(55)),AL1(8),AL1(&IEDQZE(38)) S22025 40140022 DC AL1(&IEDQZE(16)+&AO) S22025 40150022 DC F'0' QCB FOR MSGEDIT S22025 40160022 .REGA2 ANOP S22025 40170022 DC AL1(&IEDQZE(17)+&BIT(5)),AL1(8+2*&T),AL1(&IEDQZE(38)),AL*40200020 1(&IEDQZE(16)+&AO) S22025 40300022 AGO .INS 40400020 .MULT IEDQVCON (34,38,16,31),(IEDQA8,IEDQAF,IEDQAO,IEDQAE) 40500020 AIF (&IEDQZA(14)).INBA8 S22025 40510022 BAL 1,IEDM&SYSNDX @OY19738 40520082 AGO .REGA8 S22025 40530022 .INBA8 ANOP @YA05441 40535061 BAL 1,IEDM&SYSNDX @OY19738 40540082 DC AL1(&IEDQZE(55)),AL1(8),AL1(&IEDQZE(38)) S22025 40550022 DC AL1(&IEDQZE(16)+&AO) S22025 40560022 DC F'0' QCB FOR MSGEDIT S22025 40570022 .REGA8 ANOP S22025 40580022 DC AL1(&IEDQZE(34)+&BIT(5)),X'0C',AL1(&IEDQZE(38)),AL1(&IED*40700020 QZE(16)+&AO) S22025 40800022 AGO .INS 40900020 .ORG1 IEDQVCON (15,38,16,29),(IEDQAN,IEDQAF,IEDQAO,IEDQAJ) S22025 41000022 AGO .BIGGEN 41100020 .AP ANOP 41200020 &T SETB (NOT &BIT(8)) 41300020 AIF (NOT &BIT(6)).SMV 41400020 IEDQVCON (24,38,16,29),(IEDQAP,IEDQAF,IEDQAO,IEDQAJ) S22025 41500022 AIF (NOT &IEDQZA(14)).REGAP1 S22025 41520022 BAL 1,IEDM&SYSNDX @OY19738 41540082 AGO .DCP1 S22025 41560022 .REGAP1 ANOP S22025 41580022 BAL 1,IEDM&SYSNDX @OY19738 41600082 AGO .DCP 41700020 .SMV IEDQVCON (24,38,16),(IEDQAP,IEDQAF,IEDQAO) S22025 41800022 AIF (NOT &IEDQZA(14)).REGAP2 S22025 41810022 AIF (&BIT(5)).SMV1 OX01435 41815054 BAL 1,IEDM&SYSNDX @OY19738 41820082 AGO .DCP1 S22025 41830022 .SMV1 ANOP OX01435 41832054 BAL 1,IEDM&SYSNDX @OY19738 41834082 AGO .DCP1 OX01435 41836054 .REGAP2 ANOP S22025 41840022 AIF (&BIT(5)).REGAP3 OX01435 41845054 BAL 1,IEDM&SYSNDX @OY19738 41850082 AGO .DCP S22025 41860022 .REGAP3 ANOP OX01435 41862054 BAL 1,IEDM&SYSNDX @OY19738 41864082 AGO .DCP OX01435 41866054 .DCP1 DC AL1(&IEDQZE(55)),AL1(8),AL1(&IEDQZE(38)) S22025 41870022 DC AL1(&IEDQZE(16)+&AO) S22025 41880022 DC F'0' QCB FOR MSGEDIT S22025 41890022 .DCP DC AL1(&IEDQZE(24)+&BIT(8)),AL1(&STAT(1)),AL1(&IEDQZE(38)),*42000020 AL1(&IEDQZE(16)+&AO) S22025 42100022 &T SETB 0 42200020 .INS AIF (NOT &BIT(4) AND NOT &BIT(6)).AJ 42300020 AIF (&BIT(5) AND NOT &BIT(6)).IDLE . SA51770 42400022 &C SETC '&SYSECT' 42500020 AIF (&BITX(3)).REGX3 DATA IN REGISTER @Y17XAXA 42550000 IEDQMISC CSECT 42600020 AIF (&BIT(5)).TESTT . SA51770 42650022 AIF (&K(1) EQ 0).TESTT 42700020 AIF (&K(1) GT 8).SETM 42800020 &CH(1) SETC '&OP(1)'(&I(1),&K(1)) 42900020 &CH(2) SETC '' 43000020 &CH(3) SETC '' 43100020 AGO .DCCH 43200020 .SETM ANOP 43300020 &CH(1) SETC '&OP(1)'(&I(1),8) 43400020 AIF (&K(1) GT 16).SETC 43500020 &CH(2) SETC '&OP(1)'(&I(1)+8,&K(1)-8) 43600020 &CH(3) SETC '' 43700020 AGO .DCCH 43800020 .SETC ANOP 43900020 &CH(2) SETC '&OP(1)'(&I(1)+8,8) 44000020 &CH(3) SETC '&OP(1)'(&I(1)+16,&K(1)-16) 44100020 .DCCH DC &CH(1).&CH(2).&CH(3) . DATA FIELD 44200020 .TESTT AIF (NOT &BIT(6)).OUTC 44300020 AIF (&K(4) GT 8).SETM1 44400020 &CH(1) SETC '&OP(1)'(&I(4),&K(4)) 44500020 &CH(2) SETC '' 44600020 &CH(3) SETC '' 44700020 AGO .DCCH1 44800020 .SETM1 ANOP 44900020 &CH(1) SETC '&OP(1)'(&I(4),8) 45000020 &K(4) SETA &K(4)-8 45100020 AIF (&K(4) GT 8).SETC1 45200020 &CH(2) SETC '&OP(1)'(&I(4)+8,&K(4)) 45300020 &CH(3) SETC '' 45400020 AGO .DCCH1 45500020 .SETC1 ANOP 45600020 &CH(2) SETC '&OP(1)'(&I(4)+8,8) 45700020 &CH(3) SETC '&OP(1)'(&I(4)+16,&K(4)-8) 45800020 .DCCH1 DC AL1(&D(4)),&CH(1).&CH(2).&CH(3) . TO FIELD 45900020 .OUTC ANOP 46000020 &C CSECT 46100020 AIF (&BIT(5)).IDLE . SA51770 46150022 AIF (&K(1) EQ 0).AJ 46200020 DC AL1(&D(1)),AL3(IEDQMISC+&IEDQZK) . DATA OPERAND 46300020 AGO .REGX3E @Y17XAXA 46320000 .REGX3 ANOP @Y17XAXA 46340000 DC AL4(0) DATA ADDRESS @Y17XAXA 46360000 .REGX3E ANOP @Y17XAXA 46380000 &IEDQZK SETA &IEDQZK+&D(1) 46400020 AGO .AJ 46500020 .IDLE ANOP 46600020 &CH(1) SETC '&OP(1)'(&I(2),&K(2)) 46700020 &WK SETA &CH(1) 46800020 &CH(1) SETC '&OP(1)'(&I(1),&K(1)) 46900020 DC AL1(&WK),&CH(1),AL2(0) . IDLE INFORMATION 47000020 .AJ AIF (&M).MULTDC 47100020 AIF (&BIT(1)).AT 47200020 AIF (NOT &BIT(6)).AT 47300020 DC AL1(&IEDQZE(29)),X'08001040',AL3(IEDQMISC+&IEDQZK) 47400020 &IEDQZK SETA &IEDQZK+&D(4)+1 A41035 47500021 .AT AIF (&BIT(8)).TO 47600020 AIF (&K(3) EQ 0).TO 47700020 &CH(1) SETC '&OP(1)'(&I(3),&K(3)) 47800020 &WK SETA &CH(1) 47900020 DC AL2(&WK) . AT OFFSET 48000020 .TO AIF (&BIT(6) OR &BIT(1)).LOAD 48100020 AIF (&I(4) EQ 0).DCNOTO 48200020 &CH(1) SETC '&OP(1)'(&I(4),&K(4)) 48300020 &WK SETA &CH(1) 48400020 DC AL2(&WK) . TO OFFSET OR EXTENT 48500020 AGO .LOAD 48600020 .DCNOTO DC AL2(0) . TO DEFAULT OFFSET 48700020 AGO .LOAD 48800020 .MULTDC ANOP 48900020 &CH(1) SETC '&OP(1)'(&I(3),&K(3)) 49000020 &WK SETA &CH(1) 49100020 DC AL2(&WK),AL1(&IEDQZE(31)) 49200020 &CH(1) SETC '&OP(1)'(&I(4),&K(4)) 49300020 DC AL1(&CH(1)) 49400020 AGO .LOAD 49500020 .BIGGEN AIF ('&BLANK' NE 'NO').ANBAL 49600020 &IEDQZA(29) SETB 1 49700020 .ANBAL ANOP 49800020 &WK SETA N'&OP 49900020 AIF (&IEDQZA(14)).INBAN S22025 50000022 BAL 1,IEDM&SYSNDX @OY19738 50010082 AGO .REGAN S22025 50020022 .INBAN BAL 1,IEDM&SYSNDX @OY19738 50030082 DC AL1(&IEDQZE(55)),AL1(8),AL1(&IEDQZE(38)) S22025 50040022 DC AL1(&IEDQZE(16)+&AO) S22025 50050022 DC F'0' QCB FOR MSGEDIT S22025 50060022 .REGAN ANOP S22025 50070022 DC AL1(&IEDQZE(15)+2*&IEDQZA(29)),AL1(12+8*&WK),AL1(&IEDQZE*50100020 (38)),AL1(&IEDQZE(16)+&AO),AL1(&IEDQZE(29)) S22025 50200022 &IEDQZA(29) SETB 0 50250020 AIF ('&BLANK' EQ '' OR '&BLANK' EQ 'NO' OR '&BLANK' EQ 'YES'*50300020 ).SETBLAN 50400020 AIF ('&BLANK'(K'&BLANK,1) EQ '''').DCBLAN 50500020 DC C'&BLANK' 50600020 AGO .ANENT 50700020 .DCBLAN DC &BLANK 50800020 AGO .ANENT 50900020 .SETBLAN DC X'40' 51000020 .ANENT ANOP @Y17XAXA 51050000 AIF (&BITX(3)).REGX4R DATA IN REGISTER @Y17XAXA 51070000 DC AL1(&WK),AL2(0),AL3(IEDQMISC+&IEDQZK) @Y17XAXA 51110000 AGO .REGX4E @Y17XAXA 51120000 .REGX4R ANOP @Y17XAXA 51130000 DC AL1(&WK),AL2(0),AL3(0) @Y17XAXA 51140000 .REGX4E ANOP @Y17XAXA 51150000 &LEN SETA 12 51200020 &N SETA 1 51300020 &C SETC '&SYSECT' 51400020 &H SETA 0 51500020 IEDQMISC CSECT 51600020 .LOOPDC AIF (&I(&H+1) EQ 0).LAT 51700020 AIF (&I(&H+2) NE 0).LAT 51800020 AIF (&K(&H+1) GT 8).LD1 51900020 &CH(1) SETC '&OP(&N)'(&I(&H+1),&K(&H+1)) 52000020 &CH(2) SETC '' 52100020 &CH(3) SETC '' 52200020 AGO .LDE 52300020 .LD1 ANOP 52400020 &CH(1) SETC '&OP(&N)'(&I(&H+1),8) 52500020 AIF (&K(&H+1) GT 16).LD2 52600020 &CH(2) SETC '&OP(&N)'(&I(&H+1)+8,&K(&H+1)-8) 52700020 &CH(3) SETC '' 52800020 AGO .LDE 52900020 .LD2 ANOP 53000020 &CH(2) SETC '&OP(&N)'(&I(&H+1)+8,8) 53100020 &CH(3) SETC '&OP(&N)'(&I(&H+1)+16,&K(&H+1)-16) 53200020 .LDE ANOP @Y17XAXA 53230000 AIF (&BITX(3)).REGX5E DATA IN REGISTER @Y17XAXA 53250000 DC AL1(&D(&H+1)),&CH(1).&CH(2).&CH(3) . DATA FIELD @Y17XAXA 53270000 .REGX5E ANOP @Y17XAXA 53350000 .LAT AIF (&K(&H+3) GT 8).LA1 53400020 &CH(1) SETC '&OP(&N)'(&I(&H+3),&K(&H+3)) 53500020 &CH(2) SETC '' 53600020 &CH(3) SETC '' 53700020 AGO .LAE 53800020 .LA1 ANOP 53900020 &CH(1) SETC '&OP(&N)'(&I(&H+3),8) 54000020 AIF (&K(&H+3) GT 16).LA2 54100020 &CH(2) SETC '&OP(&N)'(&I(&H+3)+8,&K(&H+3)-8) 54200020 &CH(3) SETC '' 54300020 AGO .LAE 54400020 .LA2 ANOP 54500020 &CH(2) SETC '&OP(&N)'(&I(&H+3)+8,8) 54600020 &CH(3) SETC '&OP(&N)'(&I(&H+3)+16,&K(&H+3)-16) 54700020 .LAE DC AL1(&D(&H+3)),&CH(1).&CH(2).&CH(3) . AT FIELD 54800020 AIF (&K(&H+4) EQ 0).NOTO 54900020 AIF ('&OP(&N)'(&I(&H+4),1) LT 'A' OR '&OP(&N)'(&I(&H+4),1) G*55000020 T 'Z').NOTO 55100020 AIF (&K(&H+4) GT 8).LT1 55200020 &CH(1) SETC '&OP(&N)'(&I(&H+4),&K(&H+4)) 55300020 &CH(2) SETC '' 55400020 &CH(3) SETC '' 55500020 AGO .LTE 55600020 .LT1 ANOP 55700020 &CH(1) SETC '&OP(&N)'(&I(&H+4),8) 55800020 &WK SETA &K(&H+4)-8 55900020 AIF (&WK GT 8).LT2 56000020 &CH(2) SETC '&OP(&N)'(&I(&H+4)+8,&WK) 56100020 &CH(3) SETC '' 56200020 AGO .LTE 56300020 .LT2 ANOP 56400020 &CH(2) SETC '&OP(&N)'(&I(&H+4)+8,8) 56500020 &CH(3) SETC '&OP(&N)'(&I(&H+4)+16,&WK-8) 56600020 .LTE AIF ('&OP(&N)'(&I(&H+4)-1,1) NE '(').LTAE 56700020 AGO .NOTO 56800020 .LTAE DC AL1(&D(&H+4)),&CH(1).&CH(2).&CH(3) . TO FIELD 56900020 .NOTO ANOP 57000020 &H SETA 4*&N 57100020 &N SETA &N+1 57200020 AIF (&N GT N'&OP).LOOPEND @Y17XAXA 57210000 AIF (&BITX(1)).LASTERR @Y17XAXA 57220000 AIF (&BITX(3)).REGXERR @Y17XAXA 57230000 AGO .LOOPDC @Y17XAXA 57240000 .LASTERR ANOP @Y17XAXA 57250000 MNOTE 8,'*** IHB300 MULTIPLE MSGEDITS INVALID LAST=&LAST' 57260000 AGO .LOOPEND @Y17XAXA 57270000 .REGXERR ANOP @Y17XAXA 57280000 MNOTE 8,'*** IHB300 MULTIPLE MSGEDITS INVALID (®X)' 57290000 .LOOPEND ANOP @Y17XAXA 57300000 &C CSECT 57400020 &N SETA 1 57500020 &H SETA 0 57600020 &OFF SETA 0 57700020 .LOOPL DC AL1(&LEN),AL1(&STAT(&N)) 57800020 AIF (&K(&H+2) NE 0).SETI 57900020 DC AL2(&OFF) . DATA OFFSET 58000020 AIF (&D(&H+1) EQ 0).DCAT 58100020 &OFF SETA &OFF+1+&D(&H+1) 58200020 AGO .DCAT 58300020 .SETI ANOP 58400020 &CH(1) SETC '&OP(&N)'(&I(&H+2),&K(&H+2)) 58500020 &WK SETA &CH(1) 58600020 &CH(1) SETC '&OP(&N)'(&I(&H+1),&K(&H+1)) 58700020 DC AL1(&WK),&CH(1) . IDLE DATA 58800020 .DCAT DC AL2(&OFF) . AT OFFSET 58900020 &OFF SETA &OFF+1+&D(&H+3) 59000020 AIF (&D(&H+4) EQ 0).SET0 59100020 AIF ('&OP(&N)'(&I(&H+4),1) LT 'A' OR '&OP(&N)'(&I(&H+4),1) G*59200020 T 'Z').FIX 59300020 DC AL2(&OFF) . TO OFFSET 59400020 &OFF SETA &OFF+1+&D(&H+4) 59500020 AGO .SETK 59600020 .SET0 DC AL2(0) . NO TO FIELD SPECIFIED 59700020 AGO .SETK 59800020 .FIX ANOP 59900020 &CH(1) SETC '&OP(&N)'(&I(&H+4),&K(&H+4)) 60000020 &WK SETA &CH(1) 60100020 DC AL2(&WK) 60200020 AIF (&D(&H+2) NE 0).SPLKA 60300020 .SPLKC AIF (&D(&H+1) EQ 0).SPLKA 60400020 &IEDQZK SETA &IEDQZK+&D(&H+1)+&D(&H+3)+2 60500020 AGO .FIXLEN 60600020 .SETK AIF (&D(&H+1) EQ 0).SPLKB 60700020 AIF (&D(&H+2) NE 0).SPLKB 60800020 AIF (&D(&H+4) EQ 0).SPLKC 60900020 &IEDQZK SETA &IEDQZK+&D(&H+1)+&D(&H+3)+&D(&H+4)+3 61000020 AGO .FIXLEN 61100020 .SPLKA ANOP 61200020 &IEDQZK SETA &IEDQZK+&D(&H+3)+1 61300020 AGO .FIXLEN 61400020 .SPLKB ANOP 61500020 AIF (&D(&H+4) EQ 0).SPLKA 61600020 &IEDQZK SETA &IEDQZK+&D(&H+3)+&D(&H+4)+2 61700020 .FIXLEN ANOP 61800020 &LEN SETA &LEN+8 61900020 &H SETA 4*&N 62000020 &N SETA &N+1 62100020 AIF (&N LE N'&OP).LOOPL 62200020 .LOAD ANOP @YA05441 62300061 AIF (NOT &BITX(1) OR &BITX(2)).NOTLSTE LAST=NO @Y17XAXA 62310000 DC H'23',H'7' TEXT LENGTH EXTRA HEADER LENGTH @Y17XAXA 62320000 .NOTLSTE ANOP @Y17XAXA 62330000 IEDM&SYSNDX EQU * @OY19738 62350082 L 15,IEDUI @OY19738 62351082 BALR 14,15 62400020 .MEND SPACE 2 62500020 MEND 62600020