diff options
| -rw-r--r-- | miasm2/expression/modint.py | 4 | ||||
| -rw-r--r-- | test/expression/simplifications.py | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/miasm2/expression/modint.py b/miasm2/expression/modint.py index 8bad5ccb..72757e75 100644 --- a/miasm2/expression/modint.py +++ b/miasm2/expression/modint.py @@ -44,9 +44,9 @@ class moduint(object): def __div__(self, y): if isinstance(y, moduint): cls = self.maxcast(y) - return cls(self.arg / y.arg) + return cls(int(float(self.arg) / y.arg)) else: - return self.__class__(self.arg / y) + return self.__class__(int(float(self.arg) / y)) def __int__(self): return int(self.arg) diff --git a/test/expression/simplifications.py b/test/expression/simplifications.py index 7b68c1bf..a490c0f8 100644 --- a/test/expression/simplifications.py +++ b/test/expression/simplifications.py @@ -315,6 +315,8 @@ to_test = [(ExprInt32(1) - ExprInt32(1), ExprInt32(0)), ExprInt32(0x91A2B3C)), (ExprOp(">>>c_rez", icustom, i1, i1), ExprInt32(0x891A2B3C)), + (ExprOp("idiv", ExprInt16(0x0123), ExprInt16(0xfffb))[:8], + ExprInt8(0xc6)), ] for e, e_check in to_test[:]: |