VirtualBox

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.

Change History (0)

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use