On Fri, 19 Feb 2016 18:56:05 +0100, Paolo Bonzini said: > On 19/02/2016 18:54, Valdis.Kletnieks@xxxxxx wrote: > > But under what conditions is 'la' a 64-bit quantity that has any > > bits set in the high 32 bits (meaning it's a pointer to something > > over the 4G line) - but it's still valid to smash those bits? > > That can happen for example if there is a non-zero segment base. Then > the linear address wraps at 4G. Gaah. Obviously, the concept that software could actually depend on a segment base pointing at the 3G line (or whatever) to wrap around and be used to address memory down in the first gig of RAM was too bizarre for my brain to visualize. :) The IBM S/360 with 24 bit addresses and S/370 with 24 or 31 bit addresses would allow some instructions (most famously MVCL Move Character Long) to start operating at the high end of memory and wrap around to the beginning. The system documentation was pretty clear that although this *worked*, it was probably not what you actually wanted to do.... :)
Attachment:
pgp6VvHaIFFOe.pgp
Description: PGP signature