keystone-engine / keystone

Keystone assembler framework: Core (Arm, Arm64, Hexagon, Mips, PowerPC, Sparc, SystemZ & X86) + bindings
http://www.keystone-engine.org
GNU General Public License v2.0
2.27k stars 454 forks source link

AArch64 floating point not right #553

Closed wormtql closed 1 year ago

wormtql commented 1 year ago

There is a simple AARch64 assembly

fadd d1, d2, d3

which, using Keystone, assembles to 41 28 63 1E, in binary form:

01000001 00101000 01100011 00011110

But this is wrong, the endian seems not correct, it should be (according to AArch64 encoding)

00011110 01100011 00101000 01000001
wormtql commented 1 year ago

But when assembling integral instructions, there is no issue