To: ptanner who wrote (56142 ) 9/23/2001 10:49:41 PM From: fyodor_ Read Replies (1) | Respond to of 275872 PT: Any word of non-Linux x86-64 OS development progress? Not that I run any applications that need 64 bit but I am sure that there are application which could with a new compiler take advantage of the extra width and number of general purpose registers when running in Long Mode. I seem to recall from discuss@x86-64.org (see x86-64.org ) that you can't count on the top half of the registers when not in x86-64 mode. It could very well be that AMD already utilizes this extra register space automatically when running in 32bit mode. Ahh… I found the comments I was looking for:> > When operating in Extended 64-bit, can I access the lower and upper = > > 32-bit halves of the register, effectively doubling my 32 bit GPRs? Or, = > > like x86, am I limited to accessing the lowerhalf only? > > Documentation is unclear on the syntax. > > > > Lower half only. Furthermore, doing a 32-bit write to a register > clears the upper half. > > -hpa > Actually, in legacy mode or in compatibility mode, the upper 32 bits are undefined (and not accessible, as hpa says). Please don't rely on them being 0 or any other value when you return to 64-bit mode. In 64-bit mode, a 32-bit write to a register will zero the upper 64-bits. Kevin McGrath AMD Fellow To further clarify, the AMD white-paper you reference has a nice chart:Mode OS Required Recompile Defaults° Required Address Size Operand Size Register Extensions¹ GPR Width 64bit mode New 64bit OS yes 64 32 yes 64 Long Mode² Compatibility mode New 64bit OS no 32 or 16 32 no 32 Legacy Mode³ Legacy OS no 32 or 16 32 or 16 no 32 ° Defaults can be overridden in most modes using an instruction prefix or system control bit. ¹ Register extensions includes eight new GPRs and eight new XMM registers (also called SSE registers) ² Long mode supports only x86 protected mode. It does not support x86 real mode or virtual-8086 mode. Also, it does not support task switching. ³ Legacy mode supports x86 real mode, virtual-8086 mode, and protected mode. FWIW… -fyo P.S. It's nice to see the SI preview function finally showing fixed-width text properly!