Anchor support for AMODE 64 applications

For AMODE 64 applications, register 12 can no longer be relied upon to contain the address of Language Environment common anchor area (CAA). Instead a new Language Environment anchor, library anchor area (LAA), is being defined for AMODE 64 applications that is anchored in the prefix save area (PSA) field PSALAA.

On every TCB ATTACH of an AMODE 64 application, the Language Environment LAA is allocated and initialized along with the STCB (Key 0 and subpool 253, ELSQA). It is anchored from both the PSALAA and the STCB field STCBLAA. Since this is Key 0 authorized storage, it can be read byLanguage Environment and other unauthorized programs. When a TCB is dispatched, the contents of STCBLAA are copied into PSALAA.

The LAA points to a new library common area (LCA). This control block is allocated when Language Environment is initialized. It is allocated along with the Language Environment control blocks in 31–bit storage in the key of the caller. It contains information and pointers that can be set or reset by the application in the key of the caller, including a pointer to the CAA.

To get the address of the Language Environment CAA in an AMODE 64 environment, the basing is:
PSALAA -> CEELAA_LCA64 -> CEELCA_CAA -> CAA
For more information on the library anchor area and library common area, see CALL linkage convention for AMODE 64 applications.