diff options
| author | Camille Mougey <commial@gmail.com> | 2017-02-03 16:21:25 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-02-03 16:21:25 +0100 |
| commit | c44bd532e8363fb85c94313c0ffb83ba0b0f7f77 (patch) | |
| tree | bad58924a72fe33fde7ddc37a5d4dee795b40f75 /miasm2/arch/x86/sem.py | |
| parent | 91e5c5adb43dc5ad20ea80a33f5eaaff0af30e12 (diff) | |
| parent | 6125d37a9cf2b9d2907668552c31a0510176a822 (diff) | |
| download | miasm-c44bd532e8363fb85c94313c0ffb83ba0b0f7f77.tar.gz miasm-c44bd532e8363fb85c94313c0ffb83ba0b0f7f77.zip | |
Merge pull request #488 from serpilliere/fix_x86_mnemos
Fix x86 mnemos
Diffstat (limited to 'miasm2/arch/x86/sem.py')
| -rw-r--r-- | miasm2/arch/x86/sem.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/miasm2/arch/x86/sem.py b/miasm2/arch/x86/sem.py index ea5830e3..df5a07a0 100644 --- a/miasm2/arch/x86/sem.py +++ b/miasm2/arch/x86/sem.py @@ -3627,6 +3627,15 @@ def pslld(ir, instr, a, b): def psllq(ir, instr, a, b): return ps_rl_ll(ir, instr, a, b, "<<", 64) +def pslldq(ir, instr, a, b): + assert b.is_int() + e = [] + count = int(b) + if count > 15: + return [m2_expr.ExprAff(a, m2_expr.ExprInt(0, a.size))], [] + else: + return [m2_expr.ExprAff(a, a << m2_expr.ExprInt(8*count, a.size))], [] + def iret(ir, instr): """IRET implementation @@ -4361,6 +4370,7 @@ mnemo_func = {'mov': mov, "psllw": psllw, "pslld": pslld, "psllq": psllq, + "pslldq": pslldq, "pmaxub": pmaxub, "pmaxuw": pmaxuw, |