diff options
| author | serpilliere <devnull@localhost> | 2012-05-09 16:27:23 +0200 |
|---|---|---|
| committer | serpilliere <devnull@localhost> | 2012-05-09 16:27:23 +0200 |
| commit | 4c1249be30b233e0a9feeab3afb0be492dde4104 (patch) | |
| tree | 941c26c35047ee80ebe13f7337dca529437bd327 | |
| parent | 6008b0fe75024316529e485500f063cd6c1f6720 (diff) | |
| download | miasm-4c1249be30b233e0a9feeab3afb0be492dde4104.tar.gz miasm-4c1249be30b233e0a9feeab3afb0be492dde4104.zip | |
fix mask in toC
Diffstat (limited to '')
| -rw-r--r-- | miasm/expression/expression.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/miasm/expression/expression.py b/miasm/expression/expression.py index 235a79b8..e538b784 100644 --- a/miasm/expression/expression.py +++ b/miasm/expression/expression.py @@ -549,8 +549,10 @@ class ExprSlice(Expr): def __hash__(self): return hash(self.arg)^hash(self.start)^hash(self.stop) def toC(self): - # XXX gen mask in python for 64 bit & 32 bit compat - return "((%s>>%d) & ((0xFFFFFFFF>>(32-%d))))"%(self.arg.toC(), self.start, self.stop-self.start) + # XXX check mask for 64 bit & 32 bit compat + return "((%s>>%d) & 0x%X)"%(self.arg.toC(), + self.start, + (1<<(self.stop-self.start))-1) def canonize(self): return ExprSlice(self.arg.canonize(), self.start, |