about summary refs log tree commit diff stats
path: root/miasm/expression/expression.py
diff options
context:
space:
mode:
Diffstat (limited to 'miasm/expression/expression.py')
-rw-r--r--miasm/expression/expression.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/miasm/expression/expression.py b/miasm/expression/expression.py
index d93862bb..b6f32a6b 100644
--- a/miasm/expression/expression.py
+++ b/miasm/expression/expression.py
@@ -366,6 +366,8 @@ op_assoc = ['+', '*', '^', '&', '|']
 class ExprOp(Expr):
     def __init__(self, op, *args):
         self.op, self.args = op, args
+        if isinstance(op, Expr):
+            fdsfsdf
     def __str__(self):
         if self.op in op_assoc:
             return '(' + self.op.join([str(x) for x in self.args]) + ')'
@@ -431,6 +433,8 @@ class ExprOp(Expr):
                 return "%s(%s)"%(self.op, self.args[0].toC())
             elif self.op in ["ftan", "frndint", "f2xm1", "fsin", "fsqrt", "fabs", "fcos"]:
                 return "%s(%s)"%(self.op, self.args[0].toC())
+            elif self.op in ["-"]:
+                return "%s(%s)"%(self.op, self.args[0].toC())
             else:
                 print self.op
                 raise ValueError('unknown op!!', str(self.op))
@@ -759,7 +763,8 @@ def canonize_expr_list_compose(l):
     l.sort(cmp=compare_exprs_compose)
     return l
 
-tab_uintsize ={8:uint8,
+tab_uintsize ={1:uint8,
+               8:uint8,
                16:uint16,
                32:uint32,
                64:uint64