&PL      PROC  &P,2                                                     DET00010
DETACH   NAME                                                           DET00020
.*       DETACH    ECB LABEL/(1), ERROR ADDR/(N)                        DET00030
         LCL       &X                                                   DET00040
&X       SET   '&PL.        '(1,8)                                      DET00050
&X           DS    0H                                                   DET00060
.*       NO ECB SPECIFIED. INSURE R1 = 0.                               DET00070
         DO    '&P(1)'=''                                               DET00080
                   SR    1,1                CLEAR ECB ADDR REG          DET00090
         GOTO  .DETSVC                                                  DET00100
         ENDO                                                           DET00110
.*       ECB IS SPECIFIED. IF R1 IS PRELOADED, DO NOTHING ELSE          DET00120
         DO    ('&P(1)'='(1)')++('&P(1)'='1')                           DET00130
         GOTO  .DETSVC                                                  DET00140
         ENDO                                                           DET00150
.*       ECB NAME SPECIFIED. PUT ITS ADDRESS INTO R1                    DET00160
                   CNOP  0,4                                            DET00170
                   L     1,*+8              ECB ADDRESS TO REG 1        DET00180
                   B     *+8                                            DET00190
                   DC    A(&P(1))                                       DET00200
.DETSVC  LABEL                                                          DET00210
                   SVC   20             DETACH SVC                      DET00220
                   LTR   0,0                CHECK RETURN                DET00230
.*       IF NO ERROR ADDRESS, CANCEL ON ERROR RETURN                    DET00240
         DO    '&P(2)'=''                                               DET00250
                   BNM   *+6                NO ERROR. CONTINUE          DET00260
                   SVC   28                 ERROR. CANCEL TASK          DET00270
         GOTO  .ENDTCH                                                  DET00280
         ENDO                                                           DET00290
.*       ERROR ADDRESS SPECIFIED. PROCESS FOR REGISTER VALUE            DET00300
         DO    '&P(2)'(1,1)='('                                         DET00310
                   BMR   &P(2)                                          DET00320
         GOTO  .ENDTCH                                                  DET00330
         ENDO                                                           DET00340
.*       ERROR ADDRESS SPECIFIED AS SYMBOLIC NAME.                      DET00350
                   BM    &P(2)                                          DET00360
.ENDTCH  LABEL                                                          DET00370
         END                                                            DET00380
