diff options
Diffstat (limited to 'miasm2/expression/expression.py')
| -rw-r--r-- | miasm2/expression/expression.py | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/miasm2/expression/expression.py b/miasm2/expression/expression.py index 954ba00a..69739990 100644 --- a/miasm2/expression/expression.py +++ b/miasm2/expression/expression.py @@ -1009,7 +1009,7 @@ class ExprOp(Expr): # Set size for special cases if self._op in [ - '==', 'parity', 'fcom_c0', 'fcom_c1', 'fcom_c2', 'fcom_c3', + TOK_EQUAL, 'parity', 'fcom_c0', 'fcom_c1', 'fcom_c2', 'fcom_c3', 'fxam_c0', 'fxam_c1', 'fxam_c2', 'fxam_c3', "access_segment_ok", "load_segment_limit_ok", "bcdadd_cf", "ucomiss_zf", "ucomiss_pf", "ucomiss_cf", @@ -1022,8 +1022,6 @@ class ExprOp(Expr): TOK_POS_STRICT, ]: size = 1 - elif self._op.startswith("sint_to_fp"): - size = int(self._op[len("sint_to_fp"):]) elif self._op.startswith("fp_to_sint"): size = int(self._op[len("fp_to_sint"):]) elif self._op.startswith("fpconvert_fp"): @@ -1102,9 +1100,15 @@ class ExprOp(Expr): return self._op.startswith('call') def is_infix(self): - return self._op in [ '-', '+', '*', '^', '&', '|', '>>', '<<', - 'a>>', '>>>', '<<<', '/', '%', '**', - '<u', '<s', '<=u', '<=s', '==' ] + return self._op in [ + '-', '+', '*', '^', '&', '|', '>>', '<<', + 'a>>', '>>>', '<<<', '/', '%', '**', + TOK_INF_UNSIGNED, + TOK_INF_SIGNED, + TOK_INF_EQUAL_UNSIGNED, + TOK_INF_EQUAL_SIGNED, + TOK_EQUAL + ] def is_associative(self): "Return True iff current operation is associative" |