Hi
Do win32 functions save MMX registers?
From my observation they don't modify them ( since W2K has to run on plain Pentium) but don't save them either( from looking at their code beginning)?
What if new version decide to use MMX?

What is the offical MS policy?

BTW, I noticed that some (most) functions expect DF=0 otherwise they crash.
Posted on 2002-12-31 15:37:58 by Sergo
As far as I know, the Win32 API Doesn't use any MMX registers, so it doesn't save them.

Windows runs on other processors aside from intel x86, AMD... MMX instructions isn't present on other processor architectures.

You have to remember that the win32 API must work across different versions of windows. If functions such as lstrlen are to be recoded using MMX then there must be an update on the dll's of all version of windows starting from win95++ and we can't guarantee that all windows 95 are on pentiums with mmx support.

I doubt MS will ever consider MMX

but this is just my opinion since I don't work for MS. ;)

btw, I think there are a few people here that works for MS maybe you can ask them. :)

yes the df should be 0 (cld)

hint: it affects the direction of esi/edi if DF is set, esi/edi decrements... meaning you are going to lower addresses instead of going higher.
Posted on 2003-01-01 04:25:12 by arkane