If the only difference between 32bit and 64bit CPUs is their register size then why must 32 bit programs be rewritten for a 64 bit platform?

Viewed 3776

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).

5 Answers
Related