Opened 13 years ago
Last modified 10 years ago
#9053 closed defect
FSTENV assembler instruction - wrong implementation — at Initial Version
Reported by: | Franjo Stipanovic | Owned by: | |
---|---|---|---|
Component: | other | Version: | VirtualBox 4.0.8 |
Keywords: | assembler implementation floating point | Cc: | |
Guest type: | Windows | Host type: | Windows |
Description
Hi,
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.
Note:
See TracTickets
for help on using tickets.