How do FILD and FSTP work?

I searched the net and everywhere it says: FILD converts a two's complement integer to 80 bit extended precision float and puts it on top of the floating point stack. So, I had a program, but I get the result unexpectedly.

Example: I have number 0xFF20A810 in memory (say at 0x40000000) fild [0x40000000] fstp [0x40010000]

The result is 0x41EFE41502000000. How is a number converted? I'm in the middle of a crack using this and I just can't seem to find a solution.

thank

+3


source to share


1 answer


0x41EFE41502000000 - 4280330256.0 double precision. 0xFF20A810 is 4280330256 as an unsigned integer.



So, you accidentally loaded it up as a qword, it seems to me, and in luck (the rest of the bytes were zero).

+3


source







All Articles