[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