about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorserpilliere <serpilliere@users.noreply.github.com>2015-07-29 21:17:13 +0200
committerserpilliere <serpilliere@users.noreply.github.com>2015-07-29 21:17:13 +0200
commit817fc666eac74c802d4d592f50a3872a3197f4a5 (patch)
tree986cd29c95fb43379978319bb0845d400b42db03
parentd6fc3585a9e7eb623d542fe0149a122bfcc00700 (diff)
parent23e110db72ee6fd06059c33b14d7af1f61311b63 (diff)
downloadmiasm-817fc666eac74c802d4d592f50a3872a3197f4a5.tar.gz
miasm-817fc666eac74c802d4d592f50a3872a3197f4a5.zip
Merge pull request #201 from mrphrazer/extend_z3_translation
TranslatorZ3: added translation for udiv, imod and umod
-rw-r--r--miasm2/ir/translators/z3_ir.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/miasm2/ir/translators/z3_ir.py b/miasm2/ir/translators/z3_ir.py
index d908ac5a..af4544a9 100644
--- a/miasm2/ir/translators/z3_ir.py
+++ b/miasm2/ir/translators/z3_ir.py
@@ -169,6 +169,12 @@ class TranslatorZ3(Translator):
                     res = res << arg
                 elif expr.op == "idiv":
                     res = res / arg
+                elif expr.op == "udiv":
+                    res = z3.UDiv(res, arg)
+                elif expr.op == "imod":
+                    res = res % arg
+                elif expr.op == "umod":
+                    res = z3.URem(res, arg)
                 else:
                     raise NotImplementedError("Unsupported OP yet: %s" % expr.op)
         elif expr.op == 'parity':