Optional positional parameter, cchh2,
is a four-byte area whose meaning depends on the operation specified
by the first parameter. For all functions except COMPARE and NEXTTRACK
this parameter is ignored. For COMPARE processing, cchh2 contains
the track address that is to be compared to the first cchh1 parameter.
For
NEXTTRACK processing, cchh2, is the four-byte
output area to contain the track address (CCHH) of the next logical
track on the volume. If the input track number is 0 to 13, the output
cylinder number will be the same and the output track number will
be one greater than the input track number. If the input track number
is 14, the output cylinder will be one higher than the cylinder number
in cchh1 and the output track number will
be 0. The called routine does not check for numeric overflow.
Optional positional parameter, number,
is a four-byte integer whose meaning depends on the operation specified
by the first parameter. For ABSTOREL processing, number is
the output area that will contain the relative track number on the
volume.
For COMPARE processing, number is
the output area that will contain the result of the comparison. Zero
means the inputs are equal. Negative one means the first one is lower.
Positive one means the first one is higher.
For EXTRACTCYL
processing, number is the output area that
will contain the 28-bit cylinder number with the four high order bits
set to zero.
For EXTRACTTRK processing, number is
the output area that will contain the four-bit track number with the
28 high order bits set to zero.
For NEXTTRACK processing, number is
an ignored parameter. It can be 0 or any valid virtual address. Not
checked by the called routine.
For NORMALIZE processing, number is
the output area that will contain the normalized version of the input CCHH.
The CCCCcccH becomes cccCCCCH. The high order 28-bits
are the cylinder number and the low order four bits are the track
number. This allows your code to do a more efficient comparison of
one track address with many track addresses. Normalize each and do
unsigned comparisons.
For NORMTOABS processing, number is
the input area that contains the normalized track address to be converted.
The cccCCCCH becomes CCCCcccH. Use this to convert a
normalized track address to an absolute 28-bit cylinder address.
For
RELTOABS processing, number is the input
area that contains the relative track number on the volume. For example
the first two tracks on the second cylinder (cylinder 1) have relative
track numbers of 15 and 16. The called routine converts the relative
track number to a 28-bit nonlinear cylinder address with a 4-bit head
value in the low order four bits in the cchh1 output
area.
For SETCYL processing, number is
the input area that contains the cylinder number on the volume in
the low order 28-bits with the four high order bits set to zero.
The called routine splits the 28-bits into the high order 12-bits
and low order 16-bits, reverses them in the output field, cchh1,
with the cylinder address in the high order 28-bits and the low order
four bits to zero