diff options
| author | Ajax <commial@gmail.com> | 2018-02-09 14:54:18 +0100 |
|---|---|---|
| committer | Ajax <commial@gmail.com> | 2018-02-09 17:36:31 +0100 |
| commit | 104d1425792e95a3df64aede5d46b43c324ca125 (patch) | |
| tree | b2f076cc353b876f35fe5c602f2c867aeaba203c | |
| parent | 971b683a5f068068a2d775d5807deacd13918cf9 (diff) | |
| download | miasm-104d1425792e95a3df64aede5d46b43c324ca125.tar.gz miasm-104d1425792e95a3df64aede5d46b43c324ca125.zip | |
Add EMMS, implemtend as a NOP
| -rw-r--r-- | miasm2/arch/x86/arch.py | 2 | ||||
| -rw-r--r-- | miasm2/arch/x86/sem.py | 6 | ||||
| -rw-r--r-- | test/arch/x86/arch.py | 3 |
3 files changed, 11 insertions, 0 deletions
diff --git a/miasm2/arch/x86/arch.py b/miasm2/arch/x86/arch.py index 40cd4e9c..72ed3309 100644 --- a/miasm2/arch/x86/arch.py +++ b/miasm2/arch/x86/arch.py @@ -4553,6 +4553,8 @@ addop("maskmovq", [bs8(0x0f), bs8(0xf7), no_xmm_pref] + addop("maskmovdqu", [bs8(0x0f), bs8(0xf7), pref_66] + rmmod(xmm_reg, rm_arg_xmm_reg)) +addop("emms", [bs8(0x0f), bs8(0x77)]) + mn_x86.bintree = factor_one_bit(mn_x86.bintree) # mn_x86.bintree = factor_fields_all(mn_x86.bintree) diff --git a/miasm2/arch/x86/sem.py b/miasm2/arch/x86/sem.py index becee84e..ddc8aaf9 100644 --- a/miasm2/arch/x86/sem.py +++ b/miasm2/arch/x86/sem.py @@ -4447,6 +4447,11 @@ def maskmovq(ir, instr, src, mask): return e, blks +def emms(ir, instr): + # Implemented as a NOP + return [], [] + + mnemo_func = {'mov': mov, 'xchg': xchg, 'movzx': movzx, @@ -4984,6 +4989,7 @@ mnemo_func = {'mov': mov, "smsw": smsw, "maskmovq": maskmovq, "maskmovdqu": maskmovq, + "emms": emms, } diff --git a/test/arch/x86/arch.py b/test/arch/x86/arch.py index f491c19a..2af90c8a 100644 --- a/test/arch/x86/arch.py +++ b/test/arch/x86/arch.py @@ -3074,6 +3074,9 @@ reg_tests = [ "0ff7d3"), (m32, "00000000 MASKMOVDQU XMM4, XMM5", "660ff7e5"), + + (m32, "00000000 EMMS", + "0f77"), ] |