CEEPLDA macro — Returns the address of a data item defined by CEEPDDA

CEEPLDA is used to obtain the address of a local, imported, or exported data item. The required dataname label will name the data item, is case sensitive, and can be up to 255 characters in length.

Registers 0, 14, and 15 are not preserved by this macro.

Read syntax diagramSkip visual syntax diagram
Syntax

>>-+-------+--CEEPLDA--dataname--, -REG=--register-------------><
   '-label-'                                         

label
Optional label beginning in column 1.
dataname
Specifies the name of the data item whose address will be returned. It is case sensitive and can be up to 255 characters in length.
REG=
The numeric value of the register to contain the address of the data identified by dataname. Registers 0, 14, and 15 cannot be used.
Usage notes:
  1. This macro requires the GOFF Assembler option.
  2. This macro requires the binder to link-edit, and the RENT and DYNAM(DLL) binder options. You will also need the CASE(MIXED) binder option if the dataname is mixed case.
  3. The output from the binder must be a PM3 (or higher) format program object, and therefore must reside in either a PDSE or the HFS.

For more details on DLLs, including full sample assembler DLL routines, see Building and using dynamic link libraries (DLLs).

The following example illustrates how to obtain the address of an imported variable in WSA and store an integer value into it. This particular example uses a corresponding CEEPDDA instance for an imported variable, but an exported or local variable would also work.

* Obtain address of imported variable Biv1 in register 9
         CEEPLDA Biv1,REG=9
* Set value of imported variable to 123
         LA    R8,123
         ST    R8,0(,R9)
...
         CEEPDDA Biv1,SCOPE=IMPORT