Did a bit of Googling and found this nice explanation...
http://www.velocityreviews.com/forums/t373376-pyt...5-winxp-amd64.html
quote:
The O.P. has a 64-bit Athlon processor, but is running a 32-bit OS. The processor emulates its 32-bit predecessor in "legacy mode", so 32-bit software runs.
Given a 64-bit processor, why can't 64-bit applications run under a 32-bit Operating System? Because the O.S. provides the environment in which the application runs. There are several problems: system calls could be probably be thunked by a library, but the virtual memory space is a deal breaker. A 32-bit O.S. deals with 32-bit addresses; it can't support the address space of a 64-bit app.
Running a 32-bit O.S., the processor stays in 32-bit legacy mode. Enabling the processor's 64-bit mode is a privileged operation; the application cannot do it.