Sign in to follow this  

Running 64-bits code in 32-bits mode?

This topic is 3411 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi. I have a 64-bits enabled CPU, but I am running the 32-bits version of Vista. I want to do some testing with 32.32 fixed-point code I am implementing, and want to use 64-bits registers. Is there a way to test 64-bits code when the CPU is in 32-bits mode? Thanks, JF

Share this post


Link to post
Share on other sites
If I remember correctly, the problem is that the 32-bit operating system doesn't know how to preserve the 64-bit registers (and other stuff) across context swaps. (in other words - no)

You can still use the MMX and SSE registers though - but I'm not sure if you can do what you want with those.

Share this post


Link to post
Share on other sites
64-bit SSE operations on integers are limited.
Basically OR XOR AND Shifting, etc.
At least until SSE2, can't tell you beyond that.

And you could try using 64-bit registers. The OS doesn't know how to preserve them, but that's not a problem if you're the only one using them.

However, I bet that will raise an exception, as surely a flag in the CPU must be set in order to execute 64-bit code (which the OS won't set)

Try forcing Yasm compiler. (if you can..?)

Cheers
Dark Sylinc

PS: Let us know if it works for you! I'm interested :)

Share this post


Link to post
Share on other sites
No. 64bit mode requires a further context switch after going to protected mode. Hence why you can't run 64 bit applications on 32 bit operating systems (since that additional context switch hasn't been triggered.

The good news is that Windows Vista license keys are bit neutral, so you can just install a 64 bit edition of Vista :D

Share this post


Link to post
Share on other sites

This topic is 3411 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this