[Info-vax] VAX Macro to C conversion
Stephen Hoffman
seaohveh at hoffmanlabs.invalid
Sat Jul 13 00:30:09 EDT 2019
On 2019-06-24 18:10:34 +0000, Dave Froble said:
> I'd guess, in such an environment, in Macro-32, that signed intergers
> are not used. But what do I know.
The Macro32 compiler does signed and unsigned just fine, and has
"instructions" for both.
The issue here is that VBNs and LBNs are typically stored as
longwords—all over the place in OpenVMS and in apps—and attempts to
reference VBN and LBN addresses past 32 bits / 2 TiB won't fit, and are
best suited for a quadword.
The 1 TiB to 2 TiB transition was fixing sign-handling. Not extending
the storage from longword to quadword.
This being a case of trying to fit 33 or 34 or 35 bits of storage
address data into an existing and 32-bit buffer.
The alternative approach here being a shift from the existing 512-byte
sectors into 4096 "Advanced Format" "4K native" storage sector sizes,
but that'll cause ripples elsewhere in OpenVMS and in app source code.
https://en.wikipedia.org/wiki/Advanced_Format
Welcome to compatibility.
--
Pure Personal Opinion | HoffmanLabs LLC
More information about the Info-vax
mailing list