Juin - a 32bit x86 machine can''t acsess 64bit (Flat). not from the processor point of view (no 64bit pointers) and not from the programer one.
This post is best viewed with common sense enabled
2*32= a lot mw point is 4*32 pointer can be also extend also it only for the memory controleur and systemes logic DRAM to support.
From a programmer point it stay on normal 32 bit except aybe some point to change on the os and compiler that can be change easy.
Now what to do??
I'm not quite sure of the question, but for the most part any change above 32 bits will be basically transparent. The movement from 16: to 16: was hard, mostly because you went from a segmented address space to a flat or page table address space. The later was harder to setup the memory system but once it was done it was smooth sailing. There are times when casting absolute integer+offset to page based pointers can cause problems but for the most part if you use the  instead of the *() for pointer referencing, you will have no problem. Since CISC supports seg:[reg+reg*4] and seg:[reg+reg*8] changing the stride value on arrays should be easy.
EDIT: Spelling and Grammar
Complicated proofs are proofs of confusion.<P ID="edit"><FONT SIZE=-1><EM>Edited by Schmide on 10/03/02 12:33 PM.</EM></FONT></P>