Hello readers.

I've got an old problem state assembler program that does certain sub
totaling whenever the DCB EXLST 16 is driven.  When exit 16 is driven,
the current dataset name is obtained from the JFCB and a totaling
subprogram is called.  DCB EXLST 13 and 16 are used.

Exit 16 is documented as reserved.  However my code labels it as some
type of EOV exit. When executing exit 16, my code does not use
information provided by registers 0 or 1.  All registers are saved on
entry and restored prior to exit.

>From the doc and based on my understanding, the documented EOV exits
are driven on VOLUME switch or on DSN switch when like-DCB datasets
are concatenated.

The program is being converted to COBOL.  The IO and RDJFCB will be
placed in an assembler subroutine.

My questions is, when is EXLST 16 driven?  And if anyone knows, what
is the purpose of exit 16?

Thanks,
Sam

P.S.  Relevant sections of code are listed below.

************* start RDJFCB code ********************
OPEN     DS    0H
         OPEN  (INTRANS,(INPUT))
         RDJFCB (INTRANS)         GET INTRANS ALLOC RETRIEVAL LIST
         MVC   SVARLA,ARLAREA     SAVE ADDR TO ALLOC RETRIEVAL LIST
         MVC   JFCB#,ARLRTRVD     SAVE # JFCB'S RETRIEVED
         L     R14,SVARLA         ADDRESS JFCB FOR DSN
         MVC   DSNNAME,4(R14)     MOVE DSNNAME TO SUB208 PARM
************* end RDJFCB code ********************


*************** start of dcb exit 16 ************************
EXEOV    DS    0H
         STM   R0,R15,SAVEEX
         LA    R13,SAVEEX2
         MVC   FUNCTION,=C'SUB'   INDICATE SUBTOTAL
         CALL  GETSUB,(SUB208,PARMPR),VL
         SR    R2,R2              CLEAR REGISTER
         LH    R2,JFCB#           LOAD NUMBER OF JFCB'S REMAINING
EXEOV1   BCTR  R2,0               DECREMENT # OF JFCB'S REMAINING TO
         SH    R2,JFCB#           ..LIST AND SAVE IT FOR LATER
         L     R14,SVARLA         ADDRESS JFCB FOR DSN
         SR    R2,R2              CLEAR REGISTER
         LH    R2,0(R14)          LOAD LENGTH OF JFCB ENTRY
         AR    R14,R2             POINT TO NEXT JFCB IN ALLOC LIST
         MVC   DSNNAME,4(R14)     MOVE DSNNAME TO SUB208 PARM
         ST    R14,SVARLA         SAVE ADDRESS JFCB
         LM    R0,R15,SAVEEX
*************** end of dcb exit 16 ************************

*************** start of DCB and EXLST definition ************************
INTRANS DCB   DDNAME=INTRANS,                                          *
               MACRF=GM,                                               *
               DSORG=PS,                                               *
               EXLST=EXLST,                                            *
               EODAD=RDINEOF
EXLST    DS    0F
         DC    X'13',AL3(EXJFCB)
         DC    X'86',AL3(EXEOV)   ..FLAG END OF LIST
EXJFCB   IHAARL DSECT=NO
*************** end of DCB and EXLST definition ************************

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to