diff options
| author | serpilliere <devnull@localhost> | 2011-10-19 11:37:11 +0200 |
|---|---|---|
| committer | serpilliere <devnull@localhost> | 2011-10-19 11:37:11 +0200 |
| commit | 6422cca2e70fe7806850b49d040e57f771b53901 (patch) | |
| tree | 50711b2c59266fd44e552fc8df24509949dc6eee /miasm/expression/expression.py | |
| parent | 48b51aa94e4fb02b7170b78feb4d4ae43d2ba42d (diff) | |
| download | focaccia-miasm-6422cca2e70fe7806850b49d040e57f771b53901.tar.gz focaccia-miasm-6422cca2e70fe7806850b49d040e57f771b53901.zip | |
add floating point support for emulation
Diffstat (limited to 'miasm/expression/expression.py')
| -rw-r--r-- | miasm/expression/expression.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/miasm/expression/expression.py b/miasm/expression/expression.py index e5ea8eda..8fa9eb27 100644 --- a/miasm/expression/expression.py +++ b/miasm/expression/expression.py @@ -457,8 +457,11 @@ class ExprOp(Expr): return "%s(%s)"%(self.op, self.args[0].toC()) elif self.op.startswith("double_to_mem_"): return "%s(%s)"%(self.op, self.args[0].toC()) + elif self.op in ["ftan", "frndint", "f2xm1", "fsin"]: + return "%s(%s)"%(self.op, self.args[0].toC()) else: - fsdfdsf + print self.op + raise ValueError('unknown op!!', str(self.op)) return '('+str(self.op)+self.args[0].toC()+')' elif len(self.args)==2: if self.op == "==": @@ -478,7 +481,7 @@ class ExprOp(Expr): elif self.op in dct_rot: return '(%s(%s, %s, %s) &0x%x)'%(dct_rot[self.op], self.args[0].get_size(), - self.args[0].toC(), + self.args[0].toC(), self.args[1].toC(), my_size_mask[self.args[0].get_size()]) @@ -534,7 +537,7 @@ class ExprOp(Expr): return "%s(%s, %s)"%(self.op, self.args[0].toC(), self.args[1].toC()) elif self.op.startswith("fcom"): return "%s(%s, %s)"%(self.op, self.args[0].toC(), self.args[1].toC()) - elif self.op in ["fadd", "fdiv"]: + elif self.op in ["fadd", "fsub", "fdiv", 'fmul', "fscale"]: return "%s(%s, %s)"%(self.op, self.args[0].toC(), self.args[1].toC()) else: print self.op |