         MACRO                                                          00010000
&NAME    IEDFMT &IN=,&OUT=,&TABLE=                                      00020000
.*A-000000-999999                                              @Y17XAMN 00030000
.*C001600                                                      @OZ26306 00030182
.*C004820,004850                                               @OZ38896 00030282
.*C004820                                                      @OY22215 00030382
.* &IN - EQUALS THE LABEL OF A 256 BYTE WORK AREA TO RECEIVE THE        00040000
.*       RU TO BE CONVERTED.                                            00050000
.* &OUT - EQUALS THE LABEL OF A 256 BYTE WORK AREA TO RECEIVE THE       00060000
.*        CONVERTED OUTPUT.                                             00070000
.* &TABLE - EQUALS THE LABEL OF A CONVERSION TABLE, WHICH IS EXTERNAL   00080000
.*          TO THE MCP CSECT AND DEFINED BY MEANS OF SYSDEF MACROS.     00090000
         GBLA  &IEDQZE(64),&IEDQZL(256)                                 00100000
         GBLB  &IEDQZA(64)                                              00110000
         LCLA  &LEN                                                     00120000
         LCLB  &NOGO,&FLAG(8)                                           00130000
         LCLC  &REG,&LABEL,&REG1                                        00140000
&LEN     SETA  16             LENGTH OF PARMETER LIST                   00150000
&LABEL   SETC  'IED#&SYSNDX'  FOR EXTERNAL LABEL               @OZ26306 00160082
         AIF   (&IEDQZA(30)).FMTSSC                                     00170000
         MNOTE 12,'*** IEDF03 INVALID USE OF IEDFMT MACRO, NO SSCP MH.' 00180000
&NOGO    SETB  1                                                        00190000
.FMTSSC  AIF   (NOT &IEDQZA(5) AND NOT &IEDQZA(14)).FMTBGN              00200000
         MNOTE 12,'*** IED070 SEQUENCE ERROR-MUST FOLLOW INHDR ORINBUF *00210000
               OR OUTHDR OR OUTBUF MACRO.'                              00220000
&NOGO    SETB  1                                                        00230000
.FMTBGN  AIF   ('&IN' NE '' AND '&OUT' NE '' AND '&TABLE' NE '').FMTINR 00240000
         MNOTE 12,'*** IEDF00 OPERANDS IN=,OUT=,AND TABLE= MUST BE CODE*00250000
               D.'                                                      00260000
&NOGO    SETB  1                                                        00270000
.FMTINR  AIF   ('&IN'(1,1) NE '(').FMTLBLI                              00280000
&REG1    SETC  '&IN'(2,K'&IN-2)                                         00290000
         AIF   ('&REG1'(1,1) LT '0').FMTSTT8                            00300000
         AIF   ('&REG1' GE '2' AND '&REG1' LE '12').FMTSTT8             00310000
         MNOTE 12,'*** IEDF01 INVALID USE OF IN OPERAND,REG USED INCORR*00320000
               ECTLY.'                                                  00330000
&NOGO    SETB  1                                                        00340000
.FMTSTT8 ANOP                                                           00350000
&FLAG(8) SETB  1                        SET IN=(REGISTER) FLAG          00360000
.FMTLBLI ANOP                                                           00370000
         AIF   ('&OUT'(1,1) NE '(').FMTLBLO                             00380000
&REG     SETC  '&OUT'(2,K'&OUT-2)                                       00390000
         AIF   ('&REG'(1,1) LT '0').FMTSTT7                             00400000
         AIF   ('&REG' GE '2' AND '&REG' LE '12').FMTSTT7               00410000
         MNOTE 12,'*** IEDF02 INVALID USE OF OUT OPERAND,REG USED INCOR*00420000
               RECTLY.'                                                 00430000
&NOGO    SETB  1                                                        00440000
.FMTSTT7 ANOP                                                           00450000
&FLAG(7) SETB  1                        SET OUT=(REG) FLAG              00460000
.FMTLBLO ANOP                                                           00470000
         AIF   (&NOGO).MEND1            NOGO FLAG SET                   00480000
         AIF   ('&IN'(1,1) NE '(').FMNOREG                     @YM06170 00481000
&NAME    XC    2(2,&REG1),2(&REG1)      CLEAR DATA LEN FIELD   @OY22215 00482082
         AGO   .FMISCMD                                        @YM06170 00483000
.FMNOREG ANOP                                                  @YM06170 00484000
&NAME    XC    &IN+2(2),&IN+2           CLEAR DATA LEN FIELD   @OZ38896 00485082
.FMISCMD ANOP                                                  @YM06170 00486000
         MHGET WORK=&IN                                                 00490000
         LTR   15,15                    GOOD RETURN FROM MHGET          00500000
         BNZ   &LABEL                   TERMINATE TESTING               00510000
         IEDQVCON 66,IEDQFM                                             00520000
         BAL   1,*+4+&LEN               BRANCH AROUND PARM              00530000
         DC    AL1(&IEDQZE(48)),AL1(&LEN) 1ST LEV IDX/PARM LEN.         00540000
         DC    AL1(&IEDQZL(2))          IEDQFM INDEX                    00550000
         DC    AL1(0)                   STATUS ALWAYS ZERO              00560000
         DC    V(&TABLE)                CONVERSION TABLE ADDRESS        00570000
         AIF   (&FLAG(8)).FMTOREG                                       00580000
         DC    AL4(&IN)                 INPUT LABEL ADDRESS             00590000
         AGO   .FMTOLBL                                                 00600000
.FMTOREG ANOP                                                           00610000
         DC    AL4(0)                   INPUT ADDRESS IN REG            00620000
.FMTOLBL AIF   (&FLAG(7)).FMTIREG                                       00630000
         DC    AL4(&OUT)                OUTPUT LABEL ADDRESS            00640000
         AGO   .FMTSTOR                                                 00650000
.FMTIREG ANOP                                                           00660000
         DC    AL4(0)                   OUTPUT ADDRESS IN REG           00670000
.FMTSTOR AIF   (NOT &FLAG(8)).FMTIST                                    00680000
         ST    &REG1,8(1)               PUT ADDRESS IN INPUT PARM       00690000
.FMTIST  AIF   (NOT &FLAG(7)).FMTOST                                    00700000
         ST    &REG,12(1)               PUT ADDRESS IN OUTPUT PARM      00710000
.FMTOST  ANOP                                                           00720000
         L     15,IEDUI                 BRANCH TO IEDUI                 00730000
         BALR  14,15                                                    00740000
         LTR   15,15                    GOOD RETURN FROM IEDQFM         00750000
         BNZ   &LABEL                   TERMINATE TESTING               00760000
         MHPUT WORK=&OUT                                                00770000
.MEND    ANOP                                                           00780000
&LABEL   EQU   *                                                        00790000
.MEND1   MEND                                                           00800000
