&TCL     PROC  &P,0,&BLKSIZE=,&EODADDR=,&EOFADDR=,&CLRW=,&FILABL=,&IOARXTCA00010
               EA1=,&LBLK=,&OPRW=,&READ=,&REWIND=,&TPMARK=,&TYPEFLE=,  XTCA00020
               &PRINTOV=,&SPACE=,&PRAD=,&CTLCHR=,&CKPTREC=,&SEPASMB=,  XTCA00030
               &BKNO=                                                   TCA00031
TCA      NAME  1                                                        TCA00040
CDCA     NAME  2                                                        TCA00050
LCA      NAME  3                                                        TCA00060
DCA      NAME  4                                                        TCA00070
         LCL   &TFLG                                                    TCA00080
         LCL   &PFLG                                                    TCA00090
         DO    &P(0)=1                                                  TCA00100
         EXTRN ST$1100                                                  TCA00110
         ENDO                                                           TCA00120
         DO    ((&P(0)=2)++(&P(0)=3))                                   TCA00130
         EXTRN ST$1010                                                  TCA00140
         ENDO                                                           TCA00150
         DO    &P(0)=4                                                  TCA00160
         EXTRN ST$1110                                                  TCA00170
         ENDO                                                           TCA00180
         DO    '&IOAREA1'=''                                            TCA00190
         PNOTE 'P','IOAREA1 NOT SPECIFIED'                              TCA00200
         ENDO                                                           TCA00210
         DO    1-('&SEPASMB'='NO')                                      TCA00212
         DO    1-('&IOAREA1'='')                                        TCA00220
         EXTRN &IOAREA1                                                 TCA00230
         ENDO                                                           TCA00240
         DO    1-('&EODADDR'='')                                        TCA00250
         EXTRN &EODADDR                                                 TCA00260
         ENDO                                                           TCA00270
         DO    1-('&EOFADDR'='')                                        TCA00280
         EXTRN &EOFADDR                                                 TCA00290
         ENDO                                                           TCA00300
         ENDO                                                           TCA00302
&PFLG    SET   0                                                        TCA00310
         DO    (((&P(0)=3)++(&P(0)=4))**(1-('&PRINTOV'='')))            TCA00320
         DO    1-('&PRINTOV'='SKIP')                                    TCA00330
         DO    1-('&SEPASMB'='NO')                                      TCA00332
         EXTRN &PRINTOV                                                 TCA00340
         ENDO                                                           TCA00342
&PFLG    SET   &PFLG+128                                                TCA00350
         ENDO                                                           TCA00360
         ENDO                                                           TCA00370
         ENTRY &TCL                                                     TCA00380
&TCL     DC    F'1'                                                     TCA00390
&TFLG    SET   X'00'                                                    TCA00400
         DO    1-('&TPMARK'='NO')                                       TCA00410
&TFLG    SET   &TFLG+8                                                  TCA00420
         ENDO                                                           TCA00430
         DO    '&FILABL'='NO'                                           TCA00440
&TFLG    SET   &TFLG+4                                                  TCA00450
         GOTO  .T1                                                      TCA00460
         ENDO                                                           TCA00470
         DO    '&FILABL'='STD'                                          TCA00480
&TFLG    SET   &TFLG+2                                                  TCA00490
         GOTO  .T1                                                      TCA00500
         ENDO                                                           TCA00510
&TFLG    SET   &TFLG+2                                                  TCA00520
         DO    ((&P(0)=1)++(&P(0)=4))                                   TCA00530
         PNOTE '*','FILABL SPECIFICATION SET TO STD'                    TCA00540
         ENDO                                                           TCA00550
.T1      LABEL                                                          TCA00560
         DO    '&BKNO'='YES'                                            TCA00562
&TFLG    SET   &TFLG+64                                                 TCA00563
         ENDO                                                           TCA00564
         DO    '&CKPTREC'='YES'                                         TCA00565
&TFLG    SET   &TFLG+16                                                 TCA00566
         ENDO                                                           TCA00567
         DC    YL1(&TFLG)                                               TCA00570
&TFLG    SET   X'00'                                                    TCA00580
         DO    '&REWIND'='UNLOAD'                                       TCA00590
&TFLG    SET   &TFLG+16                                                 TCA00600
         GOTO  .T2                                                      TCA00610
         ENDO                                                           TCA00620
         DO    '&REWIND'='NORWD'                                        TCA00630
&TFLG    SET   &TFLG+168                                                TCA00640
         GOTO  .T2                                                      TCA00650
         ENDO                                                           TCA00660
         DO    '&OPRW'='NORWD'                                          TCA00670
&TFLG    SET   &TFLG+128                                                TCA00680
         ENDO                                                           TCA00690
         DO    '&CLRW'='NORWD'                                          TCA00700
&TFLG    SET   &TFLG+32                                                 TCA00710
         GOTO  .T2                                                      TCA00720
         ENDO                                                           TCA00730
         DO    '&CLRW'='RWD'                                            TCA00740
&TFLG    SET   &TFLG+64                                                 TCA00750
         GOTO  .T2                                                      TCA00760
         ENDO                                                           TCA00770
&TFLG    SET   &TFLG+16                                                 TCA00780
.T2      LABEL                                                          TCA00790
         DO    '&READ'='BACK'                                           TCA00800
&TFLG    SET   &TFLG+128                                                TCA00810
         GOTO  .T3                                                      TCA00820
         ENDO                                                           TCA00830
&TFLG    SET   &TFLG+4                                                  TCA00840
.T3      LABEL                                                          TCA00850
         DO    '&TYPEFLE'='OUTPUT'                                      TCA00860
&TFLG    SET   &TFLG+1                                                  TCA00870
         ENDO                                                           TCA00880
         DC    YL1(&TFLG)                                               TCA00890
&TFLG    SET   X'00'                                                    TCA00900
         DO    &P(0)=1                                                  TCA00910
         DC    H'0'                                                     TCA00920
         DC    F'1'                                                     TCA00930
         GOTO  .A                                                       TCA00940
         ENDO                                                           TCA00950
         DC    XL1'0'                                                   TCA00960
         DO    1-('&CTLCHR'='')                                         TCA00970
&PFLG    SET   &PFLG+64                                                 TCA00980
         ENDO                                                           TCA00990
         DO    ((&P(0)=3)++(&P(0)=4))                                   TCA01000
         DO    '&SPACE'='BEFORE'                                        TCA01010
&PFLG    SET   &PFLG+32                                                 TCA01020
         ENDO                                                           TCA01030
         DO    1-('&PRINTOV'='SKIP')                                    TCA01040
&PFLG    SET   &PFLG+16                                                 TCA01050
         ENDO                                                           TCA01060
         DC    YL1(&PFLG)                                               TCA01070
         DC    H'0'                                                     TCA01080
         DO    '&PRAD'=''                                               TCA01090
         DC    H'8'                                                     TCA01100
         ENDO                                                           TCA01110
         DO    1-('&PRAD'='')                                           TCA01120
         DC    Y(&PRAD*8)                                               TCA01130
         ENDO                                                           TCA01140
         ENDO                                                           TCA01150
.A       LABEL                                                          TCA01160
         DC    XL1'10'                                                  TCA01170
         DC    XL3'000001'                                              TCA01180
         DO    1-('&LBLK'='')                                           TCA01190
         DC    YL1(&LBLK)                                               TCA01200
&TFLG    SET   &TFLG+1                                                  TCA01210
         GOTO  .T4                                                      TCA01220
         ENDO                                                           TCA01230
         DC    XL1'01'                                                  TCA01240
.T4      LABEL                                                          TCA01250
         DC    AL3(&IOAREA1)                                            TCA01260
         DC    H'&BLKSIZE'                                              TCA01270
         DC    H'01'                                                    TCA01280
         DO    &P(0)=1                                                  TCA01290
         DC    A(ST$1100)                                               TCA01300
         ENDO                                                           TCA01310
         DO    ((&P(0)=2)++(&P(0)=3))                                   TCA01320
         DC    A(ST$1010)                                               TCA01330
         ENDO                                                           TCA01340
         DO    &P(0)=4                                                  TCA01350
         DC    A(ST$1110)                                               TCA01360
         ENDO                                                           TCA01370
         DC    H'100'                                                   TCA01380
         DC    H'0'                                                     TCA01390
&TFLG    SET   &TFLG+40                                                 TCA01400
         DC    YL1(&TFLG)                                               TCA01410
         DO    ((&P(0)=3)++(&P(0)=4))                                   TCA01420
         DO    1-(('&PRINTOV'='')++('&PRINTOV'='SKIP'))                 TCA01430
         DC    AL3(&PRINTOV)                                            TCA01440
         GOTO  .T6                                                      TCA01450
         ENDO                                                           TCA01460
         ENDO                                                           TCA01470
         DO    1-('&EODADDR'='')                                        TCA01480
         DC    AL3(&EODADDR)                                            TCA01490
         GOTO  .T6                                                      TCA01500
         ENDO                                                           TCA01510
         DO    1-('&EOFADDR'='')                                        TCA01520
         DC    AL3(&EOFADDR)                                            TCA01530
         GOTO  .T6                                                      TCA01540
         ENDO                                                           TCA01550
         DC    AL3(0)                                                   TCA01560
.T6      LABEL                                                          TCA01570
         END                                                            TCA01580
