"fstenv" gets the wrong result in qemu 1.6.1
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
QEMU |
New
|
Undecided
|
Unassigned |
Bug Description
The float instruction "fstenv" gets the wrong result, when I tested it in QEMU 1.6.1.
The detailed testing environments are:
1)the QEMU's guest OS is 32-bit windows 7 professional.
2)the QEMU's host machine I used is 64-bit Fedora Core 13.
I used the following command line to compile QEMU 1.6.1:
./configure --target-
make
make install
Then, I launched the QEMU guest with the following command:
qemu-system-i386 xxx.img -m 1024M
Here are some more details:
03FA0005 DAC7 fcmovb st,st(7)
03FA0007 D97424 F4 fstenv (28-byte) ptr ss:[esp-0xC]
03FA000B 5B pop ebx
03FA000C 33C9 xor ecx,ecx
when 0x03FA000B: pop ebx finished excuting, the value of ebx should be 0x03FA0005. But in QEMU 1.6.1+windows 7 pro(32 bit) which was described above, ebx's wrongly turned out to be 0x0!