about summary refs log tree commit diff stats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--miasm2/arch/x86/sem.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/miasm2/arch/x86/sem.py b/miasm2/arch/x86/sem.py
index 87979731..85723d97 100644
--- a/miasm2/arch/x86/sem.py
+++ b/miasm2/arch/x86/sem.py
@@ -168,7 +168,8 @@ def mem2double(arg):
     """
     if isinstance(arg, m2_expr.ExprMem):
         if arg.size > 64:
-            raise NotImplementedError('float to long')
+            # TODO: move to 80 bits
+            arg = m2_expr.ExprMem(arg.arg, size=64)
         return m2_expr.ExprOp('mem_%.2d_to_double' % arg.size, arg)
     else:
         return arg
@@ -1986,7 +1987,9 @@ def fstp(ir, instr, a):
 
     if isinstance(a, m2_expr.ExprMem):
         if a.size > 64:
-            raise NotImplementedError('float to long')
+            # TODO: move to 80 bits
+            a = m2_expr.ExprMem(a.arg, size=64)
+
         src = m2_expr.ExprOp('double_to_mem_%.2d' % a.size, float_st0)
         e.append(m2_expr.ExprAff(a, src))
     else: