What is the actual difference in terms of source code when writing a 64 bit program? For example is only the assembly different? It's not like there's a 64 bit version of C++. If it's something as simple as an option on the compiler than how come more programs aren't natively 64 bit? If the only difference of 32 bit vs 64 bit CPU is the register size, I can't see how that affects a program (aside from being able to address more memory).