diff options
| author | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2016-10-21 16:19:09 +0200 |
|---|---|---|
| committer | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2016-11-04 16:45:46 +0100 |
| commit | 3771288cffdd53c1ff87857374bd13c550b355dc (patch) | |
| tree | b85469ca5e38aeb54e19d24ccb4bea1ecf627b5e /example | |
| parent | 589d4fd9ebd61216155bba9f1988bbd5c3094a2b (diff) | |
| download | miasm-3771288cffdd53c1ff87857374bd13c550b355dc.tar.gz miasm-3771288cffdd53c1ff87857374bd13c550b355dc.zip | |
ExprCompose: add new api
The ExprComposes uses directly its arguments sizes to guess the slices locations. Old api: ExprCompose([(a, 0, 32), (b, 32, 64)]) becomes: ExprCompose(a, b)
Diffstat (limited to 'example')
| -rw-r--r-- | example/expression/basic_simplification.py | 3 | ||||
| -rw-r--r-- | example/expression/expr_grapher.py | 2 | ||||
| -rw-r--r-- | example/expression/simplification_tools.py | 8 |
3 files changed, 5 insertions, 8 deletions
diff --git a/example/expression/basic_simplification.py b/example/expression/basic_simplification.py index 27c86096..17b1a35b 100644 --- a/example/expression/basic_simplification.py +++ b/example/expression/basic_simplification.py @@ -11,8 +11,7 @@ b = ExprId('ebx') exprs = [a + b - a, ExprInt32(0x12) + ExprInt32(0x30) - a, - ExprCompose([(a[:8], 0, 8), - (a[8:16], 8, 16)])] + ExprCompose(a[:8], a[8:16])] for e in exprs: print '*' * 40 diff --git a/example/expression/expr_grapher.py b/example/expression/expr_grapher.py index 22dff7cf..3137e6d2 100644 --- a/example/expression/expr_grapher.py +++ b/example/expression/expr_grapher.py @@ -8,7 +8,7 @@ c = ExprId("C") d = ExprId("D") m = ExprMem(a + b + c + a) -e1 = ExprCompose([(a + b - (c * a) / m | b, 0, 32), (a + m, 32, 64)]) +e1 = ExprCompose(a + b - (c * a) / m | b, a + m) e2 = ExprInt64(15) e = ExprCond(d, e1, e2)[0:32] diff --git a/example/expression/simplification_tools.py b/example/expression/simplification_tools.py index b2df58d3..9b8aeed5 100644 --- a/example/expression/simplification_tools.py +++ b/example/expression/simplification_tools.py @@ -25,11 +25,9 @@ i1 = ExprInt(uint32(0x1)) i2 = ExprInt(uint32(0x2)) cc = ExprCond(a, b, c) -o = ExprCompose([(a[:8], 8, 16), - (a[8:16], 0, 8)]) +o = ExprCompose(a[8:16], a[:8]) -o2 = ExprCompose([(a[8:16], 0, 8), - (a[:8], 8, 16)]) +o2 = ExprCompose(a[8:16], a[:8]) l = [a[:8], b[:8], c[:8], m[:8], s, i1[:8], i2[:8], o[:8]] l2 = l[::-1] @@ -56,7 +54,7 @@ print y == y.copy() print repr(y), repr(y.copy()) -z = ExprCompose([(a[5:5 + 8], 0, 8), (b[:16], 8, 24), (x[:8], 24, 32)]) +z = ExprCompose(a[5:5 + 8], b[:16], x[:8]) print z print z.copy() print z[:31].copy().visit(replace_expr) |