64-bit application support to access large data objects

CICS® Transaction Server supports non-Language Environment (LE) assembler language programs that run in 64-bit addressing mode (AMODE(64)), thus providing 64-bit application support to access large data objects.

New API commands, a new CICS-supplied procedure and new CICS executable modules are supplied to provide 64-bit application support. CICS storage manager, program manager, loader domain, CICS-supplied macros, CECI, and CEDF are changed to provide 64-bit application support. New dynamic storage areas (DSAs) are available in 64-bit storage.

For details about developing 64-bit applications, see Developing AMODE(64) assembler language programs.

Obtaining and releasing 64-bit storage

CICS includes the following new API commands for use in AMODE(64) assembler language application programs:
EXEC CICS GETMAIN64
This command gets a main storage area and returns the address of the area in a 64-bit pointer. By default, the addressing mode (AMODE) of the requesting program determines the location of the obtained storage. Therefore, for an AMODE(64) program, GETMAIN64 obtains 64-bit storage.
EXEC CICS FREEMAIN64
The FREEMAIN64 command releases main storage that was acquired by using a GETMAIN or GETMAIN64 request.

Using channels to transfer data in 64-bit storage

CICS includes the following new API commands for use in AMODE(64) assembler language application programs:
EXEC CICS GET64 CONTAINER
This command retrieves data from a named channel container into 64-bit storage.
EXEC CICS PUT64 CONTAINER
This command places data from 64-bit storage in a named channel container.

Sample programs

The FILEA sample application programs for assembler language now use relative addressing and most of them are AMODE(64).

CICS-supplied macros

When an application is declared as AMODE(64), the following CICS-supplied macros generate AMODE(64) code:
  • DFHEIENT
  • DFHEISTG
  • DFHEIRET
  • DFHECALL

CICS-supplied procedure

A new JCL procedure, DFHEGTAL, is provided to translate, assemble, and link-edit AMODE(64) application programs written in assembler language.

CICS executable modules

The following new modules support AMODE(64) assembler language application programs:
  • DFHEIG
  • DFHEAG
  • DFHEAG0
  • DFHEISC

Command-level interpreter (CECI)

CECI, which you can use to check the syntax of CICS commands and process these commands interactively, supports the new API commands for use in AMODE(64) assembler language application programs. Variables with a data type of doubleword (FD) are supported. See Defining variables.

CICS Execution diagnostic facility (CEDF)

CEDF, which you can use to test an application program online, supports AMODE(64) application programs written in assembler language.

Transaction abend

Two new options are provided for the ASSIGN command to provide the 16 byte program status word (PSW) and 64-bit general registers at the point when the latest abend with a code of AICA, ASRA, ASRB, ASRD, or ASRE occurred. The ASRASTG option of the ASSIGN command now returns a value of CICS for a storage type of ETDSA or GCDSA, and USER for a storage type of GUDSA.

The XSRAB global user exit now includes the 16 byte CICS and system program status words (PSW) in the SRP_ERROR_DATA.

Storage Manager

In CICS TS for z/OS®, Version 5.1, the following new dynamic storage areas (DSAs) are available:
GUDSA (above-the-bar user DSA)
The storage area for all user-key task-lifetime storage in 64-bit (above-the-bar) storage. If you specify the system initialization parameter STGPROT=YES for the CICS region, the GUDSA is allocated from user-key storage. If you specify STGPROT=NO, which is the default, the GUDSA is allocated from CICS-key storage.
GSDSA (above-the-bar shared DSA)
The storage area for any storage that programs obtain by issuing a CICS GETMAIN64 command to obtain 64-bit storage with the SHARED option. If you specify the system initialization parameter STGPROT=YES for the CICS region, the GSDSA is allocated from user-key storage. If you specify STGPROT=NO, which is the default, the GSDSA is allocated from CICS-key storage.

The storage manager global statistics and dynamic storage areas statistics now include statistics for the GUDSA and the GSDSA. The domain subpools statistics now include statistics for the GSDSA. The storage manager task subpools statistics now include statistics for the GCDSA and GUDSA. See Changes to statistics.

The size of an extent in the GCDSA is reduced from 2 GB to 1 GB. See CICS dynamic storage areas.

The following new CICS lifetime subpools for shared 64-bit storage are available:

The INQUIRE SYSTEM and CEMT INQUIRE DSAS commands now return the size of the extended trusted dynamic storage area (ETDSA), GCDSA, GUDSA, and GSDSA.

Program Manager

In CICS TS for z/OS, Version 5.1, you can load non-LE AMODE(64) assembler programs by using the EXEC CICS LOAD PROGRAM command. The addressing mode of the program is shown in the returned entry point parameter of the EXEC CICS LOAD PROGRAM and EXEC CICS INQUIRE PROGRAM commands. AMODE(64) is indicated when bit 0 is 0 and bit 31 is 1.

The CICS program manager services, including the XPI, support the loading of non-LE AMODE(64) assembler programs. Options that relate to the addressing mode are changed for the following calls:
  • DEFINE_PROGRAM
  • GET_NEXT_PROGRAM
  • INQUIRE_CURRENT_PROGRAM
  • INQUIRE_PROGRAM
  • SET_PROGRAM

The XPCFTCH global user exit indicates the addressing mode of a program that has been loaded.

CICS loader domain

In CICS TS for z/OS, Version 5.1, the CICS loader domain, including the XPI, recognize non-Language Environment (LE) assembler programs that are linked AMODE(64). The addressing mode of the module is shown in the returned entry point parameter. AMODE(64) is indicated when bit 0 is 0 and bit 31 is 1 (the same addressing mode convention that is used in the z/OS operating system).



dfhe4_overview.html | Timestamp icon Last updated: Thursday, 27 June 2019