z/OS DFSMSdfp Advanced Services
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Perform calculations and conversions with 28-bit cylinder addresses (TRKADDR macro)

z/OS DFSMSdfp Advanced Services
SC23-6861-01

TRKADDR is an assembler macro that performs conversion and compare operations on DASD track addresses in the form CCCCcccH, where CCCC is the 16 low order bits of the cylinder number and ccc is the 12 high order bits of the cylinder number. This is referred to as a 28-bit cylinder address. TRKADDR works equally well with track addresses that contain a cylinder number less than or greater than 16 bits. It works with all DASD types that are supported by z/OS®. Its functions include:
  • Calculate the relative track number on the volume
  • Compare two track addresses
  • Extract the 28-bit cylinder number
  • Extract the 4-bit track number
  • Increment the track address by one track and increments the cylinder number if necessary.
  • Normalize cylinder number to permit comparing one cchh against another
  • Convert a relative track number to a 28-bit cylinder address
  • Set the cylinder number in a 28-bit track address
  • Convert a normalized track address into an absolute 28-bit track address.

Unless otherwise stated, you can specify any registers from 0 to 15 except that register 0 cannot be used to address storage. TRKADDR does not use any other registers, even register 13. You can invoke TRKADDR in 24-bit, 31-bit or 64-bit mode. If you use the SYSSTATE macro with AMODE64=YES in an earlier source code statement, then TRKADDR might generate more efficient code.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014