diff options
| author | Camille Mougey <commial@gmail.com> | 2018-08-06 22:26:36 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-08-06 22:26:36 +0200 |
| commit | e38b5dd91d10ad66d537675e4592f68eda9fcce2 (patch) | |
| tree | 912333c96758461e9c226d8da037c0084d3c10a0 /miasm2/ir/translators/z3_ir.py | |
| parent | e4a255d9c6175b5d9f2ab15471d848705fe1cc4e (diff) | |
| parent | efc5ec2e8c394475e3a2be68bc29821e4d980b1b (diff) | |
| download | miasm-e38b5dd91d10ad66d537675e4592f68eda9fcce2.tar.gz miasm-e38b5dd91d10ad66d537675e4592f68eda9fcce2.zip | |
Merge pull request #816 from serpilliere/operator_high_level
Operator high level
Diffstat (limited to 'miasm2/ir/translators/z3_ir.py')
| -rw-r--r-- | miasm2/ir/translators/z3_ir.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/miasm2/ir/translators/z3_ir.py b/miasm2/ir/translators/z3_ir.py index 887c68d0..1b0578b7 100644 --- a/miasm2/ir/translators/z3_ir.py +++ b/miasm2/ir/translators/z3_ir.py @@ -229,6 +229,12 @@ class TranslatorZ3(Translator): index = - i % size out = size - (index + 1) res = z3.If((src & (1 << index)) != 0, out, res) + elif expr.op.startswith("zeroExt"): + arg, = expr.args + res = z3.ZeroExt(expr.size - arg.size, self.from_expr(arg)) + elif expr.op.startswith("signExt"): + arg, = expr.args + res = z3.SignExt(expr.size - arg.size, self.from_expr(arg)) else: raise NotImplementedError("Unsupported OP yet: %s" % expr.op) |