[ACCEPTED]-What does FSTP DWORD PTR DS:[ESI+1224] do?-ollydbg

Accepted answer
Score: 16

FSTP stores a floating point number from the 9 top of the floating-point register stack 8 (ST0) to the designated memory region. Using 7 the DWORD modifier means that a 32-bit float 6 will be written. The P suffix indicates that 5 the floating-point register stack will be 4 popped after the operation.

So, in effect, this 3 instruction puts 1150.0 (as a 32-bit float) at 2 DS:[ESI+1224], then pops the register stack (which causes 1 ST0 = 0.0, ST1 = 0.0, ST2 = <empty>, etc.).

Score: 1

It's storing ST0 (1150.0) in single-precision 2 to your address. And popping said value 1 from the FPU stack.

More Related questions