about summary refs log tree commit diff stats
path: root/example/expression/manip_expression7.py
blob: d1cbb73b0c9d54a92ab2a98fc67633d766d0c6ec (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from miasm2.core.graph import DiGraph
from miasm2.expression.expression import *

print "Simple Expression grapher demo"

a = ExprId("A")
b = ExprId("B")
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)])
e2 = ExprInt64(15)
e = ExprCond(d, e1, e2)[0:32]

print "[+] Expression:"
print e

g = e.graph()
print "[+] Graph:"
print g.dot()