Using mixed addressing modes

CICS® supports the use of LINK, XCTL, and RETURN commands between programs with different addressing modes and between programs with the same addressing mode.

The following restrictions apply to programs passing data using a communication area named by the COMMAREA option:
  • Addresses passed within a communication area to an AMODE(31) program must be 31 bits long. Do not use 3-byte addresses with flag data packed into the top byte, unless the called program is specifically designed to ignore the top byte.
  • Addresses passed within a communication area to an AMODE(64) program can be 64 bits or 31 bits long. You must change any 31-bit addresses to 64-bit addresses before use.
  • Addresses passed as data to an AMODE(24) program must be below the 16 MB line if they are to be accessed correctly by the called program.

These restrictions apply to the address of the communication area itself, and also to addresses within it. However, a communication area above 16 MB but below 2 GB (above the line) can be passed to an AMODE(24) subprogram. CICS copies the communication area into an area below 16 MB for processing. It copies it back again when control returns to the linking program.

CICS does not validate any data addresses passed within a communication area between programs with different addressing modes.

A COMMAREA cannot be in 64-bit storage.