Abstract Self Modifying Machines
Hubert Godfroy
joint work with Jean-Yves Marion Loria Nancy
October 14, 2014
1/32
Abstract Self Modifying Machines Hubert Godfroy joint work with - - PowerPoint PPT Presentation
Abstract Self Modifying Machines Hubert Godfroy joint work with Jean-Yves Marion Loria Nancy October 14, 2014 1/32 Plan Introduction Framework Applications 2/32 Plan Introduction Framework Applications 3/32 Program? Data? A
1/32
2/32
3/32
4/32
4/32
4/32
4/32
5/32
5/32
5/32
5/32
5/32
5/32
5/32
5/32
5/32
5/32
5/32
5/32
6/32
6/32
6/32
7/32
8/32
X D Memory r1 r2 r3 r4 r5 r6 r7 r8 d1
1 · ... · d1 n
d2
1 · ... · d2 n
d3
1 · ... · d3 n
d4
1 · ... · d4 n
d5
1 · ... · d5 n
d6
1 · ... · d6 n
d7
1 · ... · d7 n
d8
1 · ... · d8 n
9/32
10/32
11/32
11/32
12/32
12/32
13/32
13/32
14/32
14/32
a1 inactivate r4 a2 move r4 2 a3 pop r4 a4 case r4 a5 jump a7 a6 jump a11 a7 move r3 r3 | 10 − r4 | 10 − 42 a8 pop r3 a9 move r4 r4 | 10 − 1 a10 pop r4 a11 jump a4 a12 activate r4 a13 exec r4 a14 stop a15 (E(print hello world) + 42) a16 (E(exec r2) + 42) a17 exec r1 D X r3 r4 r1 r2 15/32
a1 inactivate r4 a2 move r4 2 a3 pop r4 a4 case r4 a5 jump a7 a6 jump a11 a7 move r3 r3 | 10 − r4 | 10 − 42 a8 pop r3 a9 move r4 r4 | 10 − 1 a10 pop r4 a11 jump a4 a12 activate r4 a13 exec r4 a14 stop a15 (E(print hello world) + 42) a16 (E(exec r2) + 42) a17 exec r1 D X r3 r4 r1 r2 15/32
a1 inactivate r4 a2 move r4 2 a3 pop r4 a4 case r4 a5 jump a7 a6 jump a11 a7 move r3 r3 | 10 − r4 | 10 − 42 a8 pop r3 a9 move r4 r4 | 10 − 1 a10 pop r4 a11 jump a4 a12 activate r4 a13 exec r4 a14 stop a15 (E(print hello world) + 42) a16 (E(exec r2) + 42) a17 exec r1 D X r3 r4 r1 r2 15/32
a1 inactivate r4 a2 move r4 2 a3 pop r4 a4 case r4 a5 jump a7 a6 jump a11 a7 move r3 r3 | 10 − r4 | 10 − 42 a8 pop r3 a9 move r4 r4 | 10 − 1 a10 pop r4 a11 jump a4 a12 activate r4 a13 exec r4 a14 stop a15 print hello world a16 exec r2 a17 D X r3 r4 r1 r2 15/32
a1 inactivate r4 a2 move r4 2 a3 pop r4 a4 case r4 a5 jump a7 a6 jump a11 a7 move r3 r3 | 10 − r4 | 10 − 42 a8 pop r3 a9 move r4 r4 | 10 − 1 a10 pop r4 a11 jump a4 a12 activate r4 a13 exec r4 a14 stop a15 print hello world a16 exec r2 a17 D X r3 r4 r1 r2 15/32
a1 inactivate r4 a2 move r4 2 a3 pop r4 a4 case r4 a5 jump a7 a6 jump a11 a7 move r3 r3 | 10 − r4 | 10 − 42 a8 pop r3 a9 move r4 r4 | 10 − 1 a10 pop r4 a11 jump a4 a12 activate r4 a13 exec r4 a14 stop a15 print hello world a16 exec r2 a17 D X r3 r4 r1 r2 15/32
def
16/32
17/32
18/32
19/32
19/32
19/32
r1 a1 inactivate r4 a2 move r4 2 a3 pop r4 a4 case r4 a5 jump a7 a6 jump a11 a7 move r3 r3 | 10 − r4 | 10 − 42 a8 pop r3 a9 move r4 r4 | 10 − 1 a10 pop r4 a11 jump a4 a12 activate r4 a13 exec r4 r2 a14 stop r3 a15 D(E(print hello world) + 42) a16 D(E(exec r2) + 42) r4 a17 exec r1 20/32
r1 a1 inactivate r4 a2 move r4 2 a3 pop r4 a4 case r4 a5 jump a7 a6 jump a11 a7 move r3 r3 | 10 − r4 | 10 − 42 a8 pop r3 a9 move r4 r4 | 10 − 1 a10 pop r4 a11 jump a4 a12 activate r4 a13 exec r4 r2 a14 stop r3 a15 D(E(print hello world) + 42) a16 D(E(exec r2) + 42) r4 a17 exec r1
20/32
r1 a1 inactivate r4 a2 move r4 2 a3 pop r4 a4 case r4 a5 jump a7 a6 jump a11 a7 move r3 r3 | 10 − r4 | 10 − 42 a8 pop r3 a9 move r4 r4 | 10 − 1 a10 pop r4 a11 jump a4 a12 activate r4 a13 exec r4 r2 a14 stop r3 a15 D(E(print hello world) + 42) a16 D(E(exec r2) + 42) r4 a17 exec r1
20/32
def
def
def
21/32
def
def
def
21/32
def
def
def
21/32
def
def
def
21/32
def
def
def
21/32
def
def
def
21/32
def
def
def
21/32
def
def
def
21/32
def
def
def
21/32
def
def
def
21/32
def
def
def
21/32
def
def
def
21/32
def
def
def
21/32
def
22/32
def
ητ = 1 ητ = 2
22/32
def
ητ = 1 ητ = 2
22/32
def
ητ = 1 ητ = 2
22/32
def
ητ = 1 ητ = 2
22/32
23/32
23/32
24/32
25/32
25/32
25/32
def
26/32
def
26/32
27/32
ητ = 1 ητ = 2
28/32
ητ = 1 ητ = 2
28/32
ητ = 1 ητ = 2
28/32
ητ = 1 ητ = 2
28/32
29/32
29/32
29/32
29/32
30/32
31/32
31/32
31/32
31/32
32/32
32/32
32/32
def
32/32
def
def
32/32