On Nov 30, 2021, at 10:07:51, Gary Weinhold wrote:
> 
> Actually the 24-bit architecture wasn't the legacy problem as much as
> not restricting the leading byte of a fullword (whether in memory or
> registers) that the hardware would interpret as an address.  That led to
> the use of the high-order bit to denote a 31-bit address, which led to
> the missing 2G in the 64-bit architecture.
>  
That's only a software constraint.  Linux is pure 64-bit and uses that
2GiB with no concerns.

Using the rightmost bit introduces another ambiguity.  ENTRY usually
identifies a code address, which must be even, so that bit is available
to indicare AMODE 64.  However, ENTRY might identify a data address,
which might be even or odd.  However, if the CSECT is marked AMODE 64,
Binder will set that bit, regardless.  The programmer must be mindful
not to define an ENTRY at an odd data address.

-- gil

Reply via email to