| View previous topic :: View next topic |
| Author |
Message |
cloudzero How do I cheat?
Reputation: 0
Joined: 05 Dec 2010 Posts: 9 Location: US
|
Posted: Fri Dec 09, 2011 4:19 am Post subject: CE FPU XMM register view is wrong? |
|
|
So I set a break point at this instruction:
cvtsi2ss xmm0,xmm6
The first time I run this instruction
xmm0:0000000000000000 - 0000000000000000
xmm6:0000000000000000 - 0000000000000000
becomes
xmm0:000000003F800000 - 0000000000000000 or 1.00 float
xmm6:0000000000000000 - 0000000000000000
Another time I run this instruction
xmm0:0000000000000000 - 0000000000000000
xmm6:0000000000000000 - 0000000000000000
becomes
xmm0:0000000040400000 - 0000000000000000 or 3.00 float
xmm6:0000000000000000 - 0000000000000000
Now I admit I don't really know what this instruction does even after reading descriptions from google, but this behavior can't be right. Same input both times, different results. Am I missing something?
|
|
| Back to top |
|
 |
Geri Moderator
Reputation: 111
Joined: 05 Feb 2010 Posts: 5627
|
Posted: Fri Dec 09, 2011 5:13 am Post subject: Re: CE FPU XMM register view is wrong? |
|
|
| cloudzero wrote: | | Same input both times, different results. Am I missing something? |
Are you sure that the input is the same? It is probably a shared code that is working with more values. Check the source of those values to see where is it getting xmm0 and make that should solve the problem.
_________________
|
|
| Back to top |
|
 |
cloudzero How do I cheat?
Reputation: 0
Joined: 05 Dec 2010 Posts: 9 Location: US
|
Posted: Sat Dec 10, 2011 4:12 pm Post subject: |
|
|
| it don't matter that its shared code. the input xmm6 is 0 both times
|
|
| Back to top |
|
 |
Dark Byte Site Admin
Reputation: 471
Joined: 09 May 2003 Posts: 25835 Location: The netherlands
|
Posted: Mon Dec 12, 2011 1:02 am Post subject: |
|
|
Not really sure, but from the description my guess is that it converts a 4 byte (dword) integer to a Float type value (single precision)
You say you have set a breakpoint ON that instruction? So the register state is BEFORE it gets executed ?
If so, it looks like it's going to set xmm0 to 0 (Initializing the variables to 0 is a common thing to do, although i think there is an easier method than this...) And amusing xmm0 could be anything at the time it is being initialized to 0, this does make sense
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|
| Back to top |
|
 |
|