diff options
| author | Tim Blazytko <tim.blazytko@rub.de> | 2016-04-26 14:37:43 +0200 |
|---|---|---|
| committer | Tim Blazytko <tim.blazytko@rub.de> | 2016-04-26 21:17:14 +0200 |
| commit | 836b47e8941d1519ebeb62ec0aa85359f7ca7f5b (patch) | |
| tree | c23d341bb81f6dd6f8883a1dcc598d9ccc9825c3 | |
| parent | d9b1edbf47f6ab253372286cd3508d30b4339e53 (diff) | |
| download | miasm-836b47e8941d1519ebeb62ec0aa85359f7ca7f5b.tar.gz miasm-836b47e8941d1519ebeb62ec0aa85359f7ca7f5b.zip | |
x86 arch: extended opcode decoding for MOVUPS
arch: fixed x86 opcode decoding for movups. creds @serpilliere
| -rw-r--r-- | miasm2/arch/x86/arch.py | 4 | ||||
| -rw-r--r-- | test/arch/x86/arch.py | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/miasm2/arch/x86/arch.py b/miasm2/arch/x86/arch.py index b5c72d32..15b62ca1 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] + diff --git a/test/arch/x86/arch.py b/test/arch/x86/arch.py index f3a01d97..6a4ab6bb 100644 --- a/test/arch/x86/arch.py +++ b/test/arch/x86/arch.py @@ -2295,6 +2295,8 @@ reg_tests = [ (m32, "00000000 MOVUPS XMM2, XMMWORD PTR [ECX]", "0f1011"), + (m64, "00000000 MOVUPS XMMWORD PTR [RCX+0x50], XMM1", + "0f114950"), (m32, "00000000 MOVSD XMM2, QWORD PTR [ECX]", "f20f1011"), (m32, "00000000 MOVSD XMM2, XMM1", |