I forgot all leading spaces would be removed. //// denotes leading spaces

 TITLE 'GETDIRD - Read file details from the SCHEMA'
////     SYSSTATE ARCHLVL=2
*   Change branch link to branch save, ensure clean 31 bit addresses
BAL        OPSYN BAS
BALR       OPSYN BASR
*
GETDIRD    START 0
GETDIRD    AMODE 31
GETDIRD    RMODE 24
*
////       YREGS
////       BRUL  BEGIN
@DATA      LOCTR ,
////       DC    CL10' GETDIRD'
////       DC    CL20'2022-08-31 15:38:37'
////       DS    0F
@CODE      LOCTR ,
BEGIN      DS    0H
////       STM   R14,R12,12(R13)     * save registers in caller
////       LARL  R12,GETDIRD         * get address of entry point
////       USING (GETDIRD,BEGIN),R12
////       LR    R9,R1               save parameter address
////       L     R2,#RENTSIZ
////       STORAGE OBTAIN,LENGTH=(R2),LOC=31
////       ST    R13,4(R1)           chain save areas
////       ST    R1,8(R13)
////       LR    R13,R2
////       USING (#PRGAREA,#E_RENT),R13
////       XC    R_C,R_C
////       XC    MY_PARM(LEN_MY_PARM),MY_PARM
////       BRAS  R14,MAIN_PART             * go to main code
////       BRU   #AFT_RENT                 * go to clean up
////       DS    0F
#PRGAREA       DSECT                       * DSECT overlays getmained
#SAVAREA       DS    18F
#SAV_REX       DS    4F
#SEG_SAV       DS    50F                   * segment save area
#BAS_SAV       DS    50F                   * segment base reg save
R_C            DS    F
DOUB_WORD      DS    D
MY_PARM        DC    24F'0'                * define call parm area
END_MY_PARM    EQU   *
LEN_MY_PARM    EQU   *-MY_PARM
SOME_PADDING   DS    633CL1
SAVE_DETS      DS    10CL80
MAX_INDENT     EQU   20
SAVE_INDENT    DS    (MAX_INDENT)CL10
MAX_FIELDS     EQU   2000
SAVE_FIELDS    DS    (MAX_FIELDS)CL116
MAX_FILES      EQU   2000
SAVE_FILES     DS    (MAX_FILES)CL8
#PRGAREA   DSECT
#E_RENT    EQU   *
*
GETDIRD    CSECT
#AFT_RENT  DS    0H                        * start of goback code
////       L     R0,#RENTSIZ
////       LR    R1,R13
////       L     R2,R_C
////       L     R13,4(R13)
////       ST    R2,16(R13)
////       STORAGE RELEASE,LENGTH=(R0),ADDR=(R1)
////       LM    R14,R12,12(R13)           * load callers + return code
////       BSM   0,R14                     * return to caller
*
MAIN_PART  ST    R14,#SEG_SAV+(4*0)           save return address
////       ST    R11,#BAS_SAV+(4*0)            save prev code base
////       BASR  R11,0                         set code base address
////       USING (*,#END_CBASE_1),R11
////       LA    R14,SAVE_FILES                incorrect
////       LAY   R14,SAVE_FILES                correct
////       L     R14,#SEG_SAV+(4*0)            load return address
#END_CBASE_1         DS    0H
////       L     R11,#BAS_SAV+(4*0)            restore segment base
////       DROP  R11
////       BR    R14
*
GETDIRD    CSECT
*
@DATA      LOCTR ,
##STATIC   DS    0D
#RENTSIZ   DC    AL4(#E_RENT-#PRGAREA)
GETDIRD    CSECT
////       DS    0D
////       LTORG
##STATIC_E     EQU   *
@CODE      LOCTR ,
GETDIRD    CSECT
////       LTORG
GETDIRD    CSECT
////       END

Reply via email to