diff options
Diffstat (limited to 'miasm2/arch/x86/sem.py')
| -rw-r--r-- | miasm2/arch/x86/sem.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/miasm2/arch/x86/sem.py b/miasm2/arch/x86/sem.py index a9737923..ff27937f 100644 --- a/miasm2/arch/x86/sem.py +++ b/miasm2/arch/x86/sem.py @@ -3949,6 +3949,15 @@ def sqrtss(ir, instr, a, b): return e, [] +def pmovmskb(ir, instr, a, b): + e = [] + out = [] + for i in xrange(b.size / 8): + out.append((b[8 * i + 7:8 * (i + 1)], i, i + 1)) + src = m2_expr.ExprCompose(out) + e.append(m2_expr.ExprAff(a, src.zeroExtend(a.size))) + return e, [] + mnemo_func = {'mov': mov, 'xchg': xchg, 'movzx': movzx, @@ -4426,6 +4435,8 @@ mnemo_func = {'mov': mov, "sqrtsd": sqrtsd, "sqrtss": sqrtss, + "pmovmskb": pmovmskb, + } |