On 3/15/2013 4:39 PM, robin wrote:
(It's the reason that 32K is
a limit in so many places in z/OS e.g., block sizes, number of ASIDs,
etc.)
No it's not. It's the result of using the halfword instructions such
as LH, AH, SH, etc
which automatically sign-extend to 32 bits. (Incidentally, the high-order
16 bits can easily be set to zero.)
LOL! You say "No" and then make my point. LH, AH, SH, etc. work only
with _signed_ integers.
It's not that anyone thought there might one day be a need for negative
DASD block sizes. It was simply too inconvenient to deal with unsigned
halfwords without an instruction set designed to manipulate them. If the
developers back then had logical halfword instructions as we do today,
that pad with zeros instead of extending the sign bit, then the limits
for 16-bit fields would have been typically 64K instead of 32K.
--
Edward E Jaffe
Phoenix Software International, Inc
831 Parkview Drive North
El Segundo, CA 90245
http://www.phoenixsoftware.com/