diff options
| author | serpilliere <devnull@localhost> | 2012-06-13 14:03:30 +0200 |
|---|---|---|
| committer | serpilliere <devnull@localhost> | 2012-06-13 14:03:30 +0200 |
| commit | 6371cf573aae62ea88aafb9d578fe3ee8cdab441 (patch) | |
| tree | c4eb584b394ca338ff5ca2f0df2d50bbe4ba1cc3 | |
| parent | 303600c1c80022a45743ae43ca00198150176439 (diff) | |
| download | miasm-6371cf573aae62ea88aafb9d578fe3ee8cdab441.tar.gz miasm-6371cf573aae62ea88aafb9d578fe3ee8cdab441.zip | |
expression_eval: simplify expression during evaluation; fix eval_op -
| -rw-r--r-- | miasm/expression/expression_eval_abstract.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/miasm/expression/expression_eval_abstract.py b/miasm/expression/expression_eval_abstract.py index 39a41114..153208d2 100644 --- a/miasm/expression/expression_eval_abstract.py +++ b/miasm/expression/expression_eval_abstract.py @@ -316,6 +316,7 @@ class eval_abs: return e if e.is_eval: return e + e = e.visit(expr_simp) ret = self.eval_expr_no_cache(e, eval_cache) ret.is_eval = True return ret @@ -327,7 +328,12 @@ class eval_abs: return ret_value def eval_op_minus(self, args, op_size, cast_int): - ret_value = args[0] - args[1] + if len(args) == 2: + ret_value = args[0] - args[1] + elif len(args) == 1: + ret_value = -args[0] + else: + raise ValueError('deprecated n aire arguments for op -') return ret_value def eval_op_mult(self, args, op_size, cast_int): |