about summary refs log tree commit diff stats
path: root/miasm2/arch/x86/arch.py
diff options
context:
space:
mode:
authorserpilliere <serpilliere@users.noreply.github.com>2016-04-26 21:45:24 +0200
committerserpilliere <serpilliere@users.noreply.github.com>2016-04-26 21:45:24 +0200
commit75af8164a0b7286baf74b3af56bf4dfb17f01b2e (patch)
tree438f77c59c265a817a261452f81508d392a05bc4 /miasm2/arch/x86/arch.py
parentd9b1edbf47f6ab253372286cd3508d30b4339e53 (diff)
parent259df2eabaf826c728222215d42ca0463906f745 (diff)
downloadmiasm-75af8164a0b7286baf74b3af56bf4dfb17f01b2e.tar.gz
miasm-75af8164a0b7286baf74b3af56bf4dfb17f01b2e.zip
Merge pull request #361 from mrphrazer/x86_opcodes
x86 arch: extended opcode decoding for MOVUPS
Diffstat (limited to 'miasm2/arch/x86/arch.py')
-rw-r--r--miasm2/arch/x86/arch.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/miasm2/arch/x86/arch.py b/miasm2/arch/x86/arch.py
index b5c72d32..0637d3e9 100644
--- a/miasm2/arch/x86/arch.py
+++ b/miasm2/arch/x86/arch.py
@@ -3652,8 +3652,8 @@ addop("movsq", [bs8(0xa5), bs_opmode64])
 addop("movsx", [bs8(0x0f), bs("1011111"), w8, sx] + rmmod(rmreg, rm_arg_sx))
 addop("movsxd", [bs8(0x63), sxd, bs_mode64] + rmmod(rmreg, rm_arg_sxd))
 
-addop("movups",
-      [bs8(0x0f), bs8(0x10), no_xmm_pref] + rmmod(xmm_reg, rm_arg_xmm))
+addop("movups", [bs8(0x0f), bs("0001000"), swapargs, no_xmm_pref] +
+      rmmod(xmm_reg, rm_arg_xmm), [xmm_reg, rm_arg_xmm])
 addop("movsd", [bs8(0x0f), bs("0001000"), swapargs, pref_f2]
       + rmmod(xmm_reg, rm_arg_xmm_m64), [xmm_reg, rm_arg_xmm_m64])
 addop("movss", [bs8(0x0f), bs("0001000"), swapargs, pref_f3] +
@@ -4130,6 +4130,8 @@ addop("psrld", [bs8(0x0f), bs8(0xd2), no_xmm_pref] +
 addop("psrld", [bs8(0x0f), bs8(0xd2), pref_66] +
       rmmod(xmm_reg, rm_arg_xmm), [xmm_reg, rm_arg_xmm])
 
+addop("psrldq", [bs8(0x0f), bs8(0x73), pref_66] +
+      rmmod(d3, rm_arg_xmm) + [u08], [rm_arg_xmm, u08])
 
 addop("psrlw", [bs8(0x0f), bs8(0x71), no_xmm_pref] +
       rmmod(d2, rm_arg_mm) + [u08], [rm_arg_mm, u08])