Ticket #9053 (closed defect: obsolete)
FSTENV assembler instruction - wrong implementation
|Reported by:||fritz||Owned by:|
|Version:||VirtualBox 4.0.8||Keywords:||assembler implementation floating point|
Description (last modified by frank) (diff)
I believe VirtualBox has wrong implementation of FSTENV assembler instruction. It is not dumping last float-pointing instruction address correctly. I've created a simple application in assembler which can be used as proof.
Try and debug this application with debugger (OllyDbg for example) and take a look at buffer after the FSTENV instruction. It should contain address of FNOP assembler instruction.
format PE GUI entry main include 'win32a.inc' section '.data' data readable writeable buffer db " ", 0 section '.text' code readable executable main: nop mov eax, buffer fnop fstenv [eax] invoke ExitProcess, 0 section '.idata' import data readable library kernel32, 'KERNEL32.DLL' import kernel32, ExitProcess, 'ExitProcess'
You can compile the example code with FASM.