gdabah / distorm

Powerful Disassembler Library For x86/AMD64
Other
1.26k stars 238 forks source link

vmovhps is shown as vmovlhps #33

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?

Disassemble in 64-bit mode: 0xc5 0xf0 0x16 0x01

What is the expected output? What do you see instead?

Expect: VMOVHPS XMM0, XMM1, QWORD [RCX]
Get:    VMOVLHPS XMM0, XMM1, QWORD [RCX]

What version of the product are you using? On what operating system?

diStorm 3.1 on MacOS X 10.6.8

Please provide any additional information below.

When the ModRM byte specifies a memory operand, this byte sequence has a 
different mnemonic than when register operands are specified. 

For example:
0xc5 0xf0 0x16 0xc0
is correctly output as:
VMOVLHPS XMM0, XMM1, XMM0

Original issue reported on code.google.com by spa...@rotateright.com on 8 Feb 2012 at 10:53

GoogleCodeExporter commented 9 years ago
I think "MOVLPS" has the same bug:
0xc5 0xf0 0x12 0x01 should be:
VMOVLPS XMM0, XMM1, QWORD [RCX]

but it outputs as:
VMOVHLPS XMM0, XMM1, QWORD [RCX]

Original comment by spa...@rotateright.com on 8 Feb 2012 at 10:58

GoogleCodeExporter commented 9 years ago

Original comment by distorm@gmail.com on 7 Mar 2012 at 3:44