diff options
Diffstat (limited to '')
| -rw-r--r-- | miasm2/expression/expression.py | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/miasm2/expression/expression.py b/miasm2/expression/expression.py index c82aec2b..5ceb17d6 100644 --- a/miasm2/expression/expression.py +++ b/miasm2/expression/expression.py @@ -745,6 +745,7 @@ class ExprOp(Expr): # Set size for special cases if self._op in [ '==', '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"]: sz = 1 @@ -760,13 +761,20 @@ class ExprOp(Expr): 'int_16_to_double', 'int_32_to_double', 'int_64_to_double', 'int_80_to_double']: sz = 64 - elif self._op in ['double_to_mem_16', 'double_to_int_16', 'double_trunc_to_int_16']: + elif self._op in ['double_to_mem_16', 'double_to_int_16', + 'float_trunc_to_int_16', 'double_trunc_to_int_16']: sz = 16 - elif self._op in ['double_to_mem_32', 'double_to_int_32', 'double_trunc_to_int_32']: + elif self._op in ['double_to_mem_32', 'double_to_int_32', + 'float_trunc_to_int_32', 'double_trunc_to_int_32', + 'double_to_float']: sz = 32 - elif self._op in ['double_to_mem_64', 'double_to_int_64', 'double_trunc_to_int_64']: + elif self._op in ['double_to_mem_64', 'double_to_int_64', + 'float_trunc_to_int_64', 'double_trunc_to_int_64', + 'float_to_double']: sz = 64 - elif self._op in ['double_to_mem_80', 'double_to_int_80', 'double_trunc_to_int_80']: + elif self._op in ['double_to_mem_80', 'double_to_int_80', + 'float_trunc_to_int_80', + 'double_trunc_to_int_80']: sz = 80 elif self._op in ['segm']: sz = self._args[1].size |