z/OS DFSMS Macro Instructions for Data Sets
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Data above the 16MB line

z/OS DFSMS Macro Instructions for Data Sets
SC23-6852-02

The BSAM, QSAM, and BPAM access methods allow data areas to be located above the 16MB line. This support includes allowing the caller to issue most SAM, and PAM macros in 31-bit addressing mode regardless of whether the data is above or below the 16MB line.

The support for areas above the line is provided for the following devices:
  • DASD, including UNIX files
  • Tape
  • Subsystem (for example, spooled)
  • Dummy
  • VIO
  • Unit record
The support for areas above the line is not provided for the following devices:
  • TSO terminal
  • OCR/MICR 3886, 3890, 1287, 1288. These devices are for optical character recognition and magnetic ink character recognition.

For the above devices, issue macros other than OPEN and CLOSE in 24-bit addressing mode. In the current release the DCBE has no effect.

To take advantage of providing data areas above the 16 MB line for BSAM, and BPAM macros, the issuer of READ, WRITE, and CHECK must execute in 31-bit addressing mode.

To take advantage of providing data areas above the 16MB line for QSAM macros, the issuer of GET, PUT, and PUTX must execute in 31-bit addressing mode. To take advantage of QSAM buffers above the line, the user must tell OPEN to obtain the buffers above the line via the DCBE macro and the issuer of GET, PUT, and PUTX must then execute in 31-bit addressing mode.

If the issuer of READ, WRITE, CHECK, GET, PUT, and PUTX executes in 31-bit addressing mode, then all of the following must have 31-bit addresses and can reside above or below the 16MB line:
  • Data address in the DECB (BSAM) or in the GET or PUT macro (QSAM move mode).
  • Save area in register 13.
  • DCB extension (DCBE).
  • QSAM buffers obtained at OPEN where the DCBE is present and the user has coded RMODE31=BUFF on the DCBE macro indicating that OPEN can get buffers above the 16MB line (QSAM).
  • EODAD address specified in the DCBE (DCBE EODAD=addr) (BSAM, QSAM, and BPAM).
  • SYNAD address specified in the DCBE (DCBE SYNAD=addr) (BSAM, QSAM, and BPAM). In case your routine uses register 15 as a base register, the SYNADAF macro modifies the high order byte.
  • Key address in the DECB.
  • Area containing block address (RBA, TTR, or MBBCCHHR) in the DECB.
If the issuer of an access method macro executes in 31-bit addressing mode, the following must have valid 31-bit addresses but must reside below the 16 MB line:
  • DECB (BSAM).
  • DCB address on any macro (including the DECB) or in a register.
  • BSAM or BPAM buffers obtained by OPEN (BSAM). OPEN obtains BSAM or BPAM buffers only when you code BUFNO on the DCB macro or the DD statement.
In any addressing mode, the following can reside above the 16 MB line if you have a way to set it:
  • OPEN and CLOSE parameter list when you code MODE=31.
  • DCBE, except with the FIND macro.
The following must reside below the line because the addresses are only three bytes:
  • OPEN and CLOSE parameter list when MODE=24 is coded or defaulted.
  • DCB exit list.
  • Routines and areas pointed to by the exit list. All exit list exit routines are entered in 24-bit addressing mode.
  • EODAD address in the DCB. The user’s EODAD routine will be entered in the addressing mode of the issuer of the CHECK, GET, or FEOV.
  • SYNAD address in the DCB. The user’s SYNAD routine will be entered in the addressing mode of the issuer of the CHECK, GET, or PUT. In case your routine uses register 15 as a base register, the SYNADAF macro modifies the high order byte.
  • Area containing next block address in the DECB.
  • SETPRT parameter list and areas that it points to.
  • STOW parameter list.
Following is a complete list of SAM macros which do not support buffers which reside above the line:
  • BUILD
  • BUILDRCD
  • FREEBUF
  • FREEPOOL
  • GETBUF
  • GETPOOL
The following are not supported for BDAM and may cause unpredictable results:
  • Callers in 31-bit addressing mode using record format of variable spanned.
  • Callers in 31-bit addressing mode using dynamic buffering.
  • Callers in 31-bit addressing mode using BSAM to create a BDAM data set.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014