> -----Original Message-----
> From: IBM Mainframe Discussion List On Behalf Of Van Dalsen, Herbie
> 
> John,
> 
> That makes no sense to me... I thought that a 31-bit program 
> could address x'00000000' -> 'x'0FFFFFFF' below the line, and 
> the same above the line. I.O.W. it could go up to x'8FFFFFFF' 
> which means x'0FFFFFFF'
> above ? This means that the hole is from x'00000000 90000000' -> ?

A 31-bit program can address from x'00000000' through x'7FFFFFFF'.
Expressed in 64-bit addressing, that range is from x'00000000_00000000'
through x'00000000_7FFFFFFF'.  IOW, for a 31-bit program, the "high
halves" of the 64-bit registers do not exist; they may actually contain
"anything" and they will be ignored by 31-bit (and 24-bit) programs.

A 64-bit program (amode 64) can address exactly the same range, in the
same way, except that the "high halves" of the 64-bit registers MUST
contain all binary zeroes.  IN ADDITION, an amode 64 program can address
from x'00000001_00000000' through x'FFFFFFFF_FFFFFFFF'.  NO PROGRAM is
allowed to address the space from x'00000000_80000000' through
x'00000000_FFFFFFFF', which is the "bar", the "hole", or whatever other
name seems appropriate.  See previous posts from Ed Jaffe, Peter Relson
and Chris Craddock for why that is a "good idea".

    -jc-

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to