MantisBT - Cheat Engine
View Issue Details
0000309Cheat Enginepublic2013-11-30 23:482015-04-29 01:40
Reportermgr_inz_Player 
Assigned ToDark Byte 
PrioritynormalSeveritymajorReproducibilityalways
StatusresolvedResolutionfixed 
PlatformOSOS Version
Summary0000309: FPU instructions in 64bit mode
DescriptionI'm really confused.

In 32bit we have
d9 1c 24 - fstp Dword ptr [esp]
dd 1c 24 - fstp Dword ptr [esp]




In 64bit there are issues.

Disassabler output (data crated with db command):
DD 1C 24 - fstp Qword ptr [rsp]
48 DD 1C 24 - fstp Qword ptr [rsp]
66 48 DD 1C 24 - fstp Qword ptr [rsp]
D9 1C 24 - fstp Dword ptr [rsp]
48 D9 1C 24 - fstp Dword ptr [rsp]
66 48 D9 1C 24 - fstp Dword ptr [rsp]
Some of above aren't correct



Assembler (I type those and I get opcodes):
fstp Dword ptr [rsp] - opcodes are D9 1C 24 - fstp Dword ptr [rsp]
fstp Qword ptr [rsp] - opcodes are 48 D9 1C 24 - fstp Dword ptr [rsp]






TagsNo tags attached.
Attached Files

Notes
(0000647)
mgr_inz_Player   
2014-02-05 20:26   
64bit assembler:

typing those:
"user input" => "CE assemblerUnit converts it to"
fstp Dword ptr [rsp] => D9 1C 24 - fstp dword ptr [rsp]
fstp Qword ptr [rsp] => 48 D9 1C 24 - fstp dword ptr [rsp] - BUG (should be "DD 1C 24")

fstp Dword ptr [rax] => D9 18 - fstp dword ptr [rax]
fstp Qword ptr [rax] => 48 D9 18 - fstp dword ptr [rax] - BUG (should be "DD 18")
(0000648)
Dark Byte   
2014-02-06 11:55   
fixed in the svn
(0000696)
mgr_inz_Player   
2014-09-15 22:10   
(Last edited: 2014-09-15 22:27)
https://code.google.com/p/cheat-engine/source/detail?r=2357
The same goes to FST - we need another fix


and another
"fld qword ptr [rsp]" should be DD 04 24, not the 48 D9 04 24
"fld qword ptr [rax]" should be DD 00, not the 48 D9 00


and another
"fsub qword ptr [rsp]" should be DC 24 24, not the 48 D8 24 24
"fsub qword ptr [rax]" should be DC 20, not the 48 D8 20


and for other FPU commands.

(0000806)
Dark Byte   
2015-04-29 01:40   
should be fixed now

Issue History
2013-11-30 23:48mgr_inz_PlayerNew Issue
2014-02-05 20:26mgr_inz_PlayerNote Added: 0000647
2014-02-06 11:55Dark ByteNote Added: 0000648
2014-02-06 11:55Dark ByteStatusnew => resolved
2014-02-06 11:55Dark ByteResolutionopen => fixed
2014-02-06 11:55Dark ByteAssigned To => Dark Byte
2014-09-15 22:10mgr_inz_PlayerNote Added: 0000696
2014-09-15 22:10mgr_inz_PlayerStatusresolved => feedback
2014-09-15 22:10mgr_inz_PlayerResolutionfixed => reopened
2014-09-15 22:27mgr_inz_PlayerNote Edited: 0000696
2015-04-29 01:40Dark ByteNote Added: 0000806
2015-04-29 01:40Dark ByteStatusfeedback => resolved
2015-04-29 01:40Dark ByteResolutionreopened => fixed