&HERE    PROC  &P,16                                                    OPE00010
OPEN3    NAME  38                                                       OPE00020
OPEN?    NAME  38                                                       OPE00030
OPEN     NAME  38                                                       OPE00040
CLOSE3   NAME  39                                                       OPE00050
CLOSE?   NAME  39                                                       OPE00060
CLOSE    NAME  39                                                       OPE00070
         LCL   &M,&N                                                    OPE00080
         DO    &P(0)=38=0                                               OPE00090
&HERE    DC    0Y(0)                                                    OPE00100
         ENDO                                                           OPE00110
         DO    &P(0)=38                                                 OPE00120
         CNOP  0,4                                                      OPE00130
         DO    '&HERE'=''=0                                             OPE00140
&HERE    EQU   *                                                        OPE00150
         ENDO                                                           OPE00160
         ENDO                                                           OPE00170
         DO    &P(0)=39                                                 OPE00180
         DO    '&P(1)'='*ALL'                                           OPE00190
         CNOP  0,4                                                      OPE00200
         L     1,*+8                                                    OPE00210
         B     *+8                                                      OPE00220
         DC    CL4'*ALL'                                                OPE00230
         GOTO  .LBLEND1                                                 OPE00240
         ENDO                                                           OPE00250
         ENDO                                                           OPE00260
         DO    '&P(1)'=''                                               OPE00270
         PNOTE '*','OPERAND 1 OMITTED, REG 1 ASSUMED LOADED'            OPE00280
         GOTO  .LBLEND1                                                 OPE00290
         ENDO                                                           OPE00300
         DO    1-(('&P(1)'(1,1)='(')++('&P(1)'(1,1)>'Z'))   SYMBOL ?    OPE00310
         GOTO  .LBLX                                                    OPE00320
         ENDO                                                           OPE00330
         DO    1-(('&P(1)'='(1)')++('&P(1)'='1'))       R1 SPECIFIED    OPE00340
         PNOTE 'P','INVALID REGISTER NOTATION USED FOR OPERAND 1'       OPE00350
         ENDO                                                           OPE00360
         GOTO  .LBLEND1                                                 OPE00370
.LBLX    LABEL                                                          OPE00380
         DO    &P(0)=38                                                 OPE00390
&N       SET   1                                                        OPE00400
.LOOP0   LABEL                                                          OPE00410
         DO    &N>16                                                    OPE00420
         GOTO  .LOOP1                                                   OPE00430
         ENDO                                                           OPE00440
         DO    '&P(&N)'=''=0                                            OPE00450
&N       SET   &N+1                                                     OPE00460
         GOTO  .LOOP0                                                   OPE00470
         ENDO                                                           OPE00480
.LOOP1   LABEL                                                          OPE00490
         BAL   1,*+(4*&N)                                               OPE00500
&N       SET   &N-1                                                     OPE00510
&M       SET   1                                                        OPE00520
.LOOP3   LABEL                                                          OPE00530
         DO    &M=&N                                                    OPE00540
         DC    X'80'                                                    OPE00550
         GOTO  .LBLXY                                                   OPE00560
         ENDO                                                           OPE00570
         DC    X'F0'                                                    OPE00580
.LBLXY   LABEL                                                          OPE00590
         DC    AL3(&P(&M))                                              OPE00600
&M       SET   &M+1                                                     OPE00610
         DO    &M>&N                                                    OPE00620
         GOTO  .LBLEND1                                                 OPE00630
         ENDO                                                           OPE00640
         GOTO  .LOOP3                                                   OPE00650
         ENDO                                                           OPE00660
&N       SET   1                                                        OPE00670
.LOOP    LABEL                                                          OPE00680
         DO    '&P(&N)'=''                                              OPE00690
         GOTO  .LBLEND                                                  OPE00700
         ENDO                                                           OPE00710
         L     1,=A(&P(&N))             LOAD R1$, FILENAME ADDRESS      OPE00720
         SVC   &P(0)                    ISSUE SVC                       OPE00730
         DO    &N=16                                                    OPE00740
         GOTO  .LBLEND                                                  OPE00750
         ENDO                                                           OPE00760
&N       SET   &N+1                                                     OPE00770
         GOTO  .LOOP                                                    OPE00780
.LBLEND1 LABEL                                                          OPE00790
         SVC   &P(0)                    ISSUE SVC                       OPE00800
.LBLEND  LABEL                                                          OPE00810
         END                                                            OPE00820
