Skip to main content
6 events
when toggle format what by license comment
Aug 29 at 20:02 vote accept Uddie
Aug 29 at 19:59 comment added Uddie First of all, sorry for late reply. Yes, you are right, it all seems clear for me now. Thank you for explanation.
Aug 23 at 19:36 answer added blabb timeline score: 2
Aug 23 at 18:40 comment added Ali Rizvi-Santiago ...that is assuming that there's no other instructions tampering with [esp+0x10] in between the two instructions you listed. (Related question: reverseengineering.stackexchange.com/questions/20559/…, link for answer is archived at web.archive.org/web/20071006182549/http://www.ray.masmcode.com/…)
Aug 23 at 18:34 comment added Ali Rizvi-Santiago Intel's floating point instructions are based on a stack. fist stores a 16-32-64-bit floating point number (IEEE) to the operand address, whereas fild loads from an address into the stack. The p suffix, is the variation of fist that pops the first value, ST(0), from said stack. The values you're seeing are not the underlying operand changing the address, but rather that before fistp is run, the value is 0x1cf8. After executing fistp, however, ST(0) is popped and written to [esp+0x10] as 0x2c36. When execution gets to fild, the previous value of ST(0) was already written.
Aug 22 at 22:12 history asked Uddie CC BY-SA 4.0