Non-XPLINK assembler prolog

Use the EDCPRLG macro to generate non-XPLINK assembler prolog code at the start of assembler routines.

Read syntax diagramSkip visual syntax diagram
>>-+------+--EDCPRLG--+------------------+---------------------><
   '-name-'           +-USRDSAL=ulen-----+   
                      +-BASEREG=register-+   
                      '-DSALEN=dlen------'   

name
Is inserted in the prolog. It is used in the processing of certain exception conditions and is useful in debugging and in reading memory dumps. If name is absent, the name of the current CSECT is used.
USRDSAL=ulen
Is used only when automatic storage (in bytes) is needed. To address this storage, see the EDCDSAD macro description. The ulen value is the requested length of the user space in the DSA.
BASEREG=register
Designates the required base register. The macro generates code needed for setting the value of the register and for establishing addressability. The default is Register 3. If register equals NONE, no code is generated for establishing addressability.
DSALEN=dlen
Is the total requested length of the DSA. The default is 120. If fewer than 120 bytes are requested, 120 bytes are allocated. If both dlen and ulen are specified, then the greater of dlen or ulen+120 is allocated. If DSALEN=NONE is specified, no code is generated for DSA storage allocation, and R13 will still point to the caller's DSA. Therefore, you should not use the EDCEPIL macro to terminate the assembler routine. Instead, you have to restore the registers yourself from the current DSA. To do this, you can use an assembler instruction such as
LM 14,12,12(R13)
BR 14
You should not use EDCDSAD to access automatic memory if you have specified DSALEN=NONE, since DSECT is addressable using R13.