about summary refs log tree commit diff stats
path: root/miasm/expression/expression.py
diff options
context:
space:
mode:
authorserpilliere <devnull@localhost>2012-06-20 15:16:42 +0200
committerserpilliere <devnull@localhost>2012-06-20 15:16:42 +0200
commit662b6860e39e15e79940b92868eb2b5b659af26c (patch)
tree257b9902e1e90faab039a855920509ee0ecdf55f /miasm/expression/expression.py
parentaa94600ee1486862177cee955a3cee16fd0cc51c (diff)
downloadfocaccia-miasm-662b6860e39e15e79940b92868eb2b5b659af26c.tar.gz
focaccia-miasm-662b6860e39e15e79940b92868eb2b5b659af26c.zip
test sem
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