[Info-vax] New CEO of VMS Software
Arne Vajhøj
arne at vajhoej.dk
Sat Jan 6 19:28:41 EST 2024
On 1/6/2024 5:28 PM, Lawrence D'Oliveiro wrote:
> On Sat, 6 Jan 2024 15:59:58 -0500, Arne Vajhøj wrote:
>> VMS has only 64 bit code but both 32 bit pointers and 64 bit pointers
>> (32 bit pointers getting extended to 64 bit addresses).
>
> Not sure how you can have 64-bit code without 64-bit addressing ... that
> is practically the essence of 64-bit code.
It has 64 bit addressing. It only has 64 bit addressing.
But pointers can be stored in RAM as both 32 bit pointers
and 64 bit pointers.
A 32 bit pointer with value 0x12345678 does not mean a
32 bit address of 0x12345678 but a 64 bit address of
0x0000000012345670.
And a 32 bit pointer with value 0x87654321 does not mean a
32 bit address of 0x87654321 but a 64 bit address of
0xFFFFFFFF87654321.
> Does that “64-bit” code on VMS still call LIB$EMUL?
LIB$EMUL multiply a 32 bit integer with a 32 bit integer
to give a 64 bit integer.
It is sort of obsolete because at the VAX to Alpha
move the languages got 64 bit integers.
The function still exist for compatibility reasons.
But it has nothing to do with addressing.
Arne
More information about the Info-vax
mailing list