-
Notifications
You must be signed in to change notification settings - Fork 0
/
tiny-flipjump.txt
118 lines (115 loc) · 13.7 KB
/
tiny-flipjump.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
A tiny 4-bit FlipJump computer with 4 words
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
• This FlipJump computer is programmed with 2 instructions, 9;8 and 8;0
• It outputs 1 then 0 for each 0 in stdin and stops at the first 1
• For instance, giving `\x00\x10` as input produces `\x55\x55\x55`
• One instruction is executed at every cycle (404 ticks)
╔══════════════════════════════════════════════════╗
║ ╔══════════════════════════════════════╗ ║
║ ║ ╔════════════════════════════════╗ ║ ║
║ ║ ║ ╔══════════════════════════╗ ║ ║ ║
║ ║ ║ ║ ╔════════════════════╗ ║ ║ ║ ║
║J ║F ║F ║F ║F ║F ║F ║F ║F ║J
║0 ║3 ║2 ║1 ║0 ║0 ║1 ║2 ║3 ║0
╟□ ╟□ ╟□ ╟□ ╟□ ╟□ ╟□ ╟□ ╟□ ╟□
○ ○ ○ ○ ○ ┃ ┃ ┃ ┃ ┃
║ ║ ║ ║ ║ ╔━╒╗ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ● ○║ ║ ║ ║ ║ ║
╔══╬═════╬══╬══╬══╬═══════════╗ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ╔═══━╒╗ ║ ║ ║ ║ ║ ║ ║ ║
║○ ╚╤╗ ║ ║ ║ ║ ●╕═╗ ○║ ║ ║ ║ ║ ║ ║ ║ ║
○╛━═╛╬═══╬══╬══╬══╬═══╧╕╬══╬━╤╝ ║ ║ ║ ║ ║ ║ ║
╔╕━═╕╬═●═╬══╬══╬══╬════╧╬━╕╬━╛━═╗║ ║ ║ ║ ║ ║ ║
║○ ╔╧╝ ║ ║ ║ ║ ╚━╧╝ ╟╜ ║ ║ ║ ║ ║ ║
╚══╬═════╬══╬══╬══╬═════════════╝║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ☒║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ╚═╧╝ ║ ║ ║ ║ ║
┃ ┃ ║ ║ ║ ┏━━━━━━━━━━━━━━┓ ║ ║ ║ ║ ║
╚═╗ ║ ║ ║ ║ ┃ 0 ┃ ║ ║ ║ ║ ║
○ ╔╤╝ ║ ║ ║ ║ ┗━━━━━━━━━━━━━━┛ ║ ║ ║ ║ ║
○╛━╬╛════╬══╬══╬══╬═════════════════╗ ║ ║ ║ ║ ║
║ ║ ╔══╬══╬══╬══╬═════════════════╬══╬══╬══╬══╬═════╬══╗
║ ║ ║ ║ ║ ║ ║ ╔══════════╤═╗ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ║ ║╔━╒═══╗┼┼┼┼┼║ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ║ ║║ ○╔━╗║┼┼┼┼┼║ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ╚═╗╚━╗╚━╗╚━╗║●╕━╬╗╚╬╗ ○ 0║ ╚═╗╚═╗║ ║ ║ ║ ║
║ ║ ║○ ╔╤╝╔╤╝╔╤╝╔╤╝╚═╧╕╝╚╤╝╚╤╛━╕○ ╔╤╝╔╕╝║ ║ ║ ║ ║
║ ║ ○╛━╬╛═╬╛═╬╛═╬╛════╧═━╛═━╛══╧══╬╛━╬╧═╬══╬══╬═════╬══╝
║ ║ ╔══╬══╬══╬══╬═════════════════╬══╬══╬══╬══╬═════╬══╗
║ ║ ║ ║ ║ ║ ║ ╔══════════╤═╗ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ║ ║╔━╒═══╗┼┼┼┼┼║ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ║ ║║ ○╔━╗║┼┼┼┼┼║ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ╚═╗╚═╗╚═╗╚━╗║●╕━╬╗╚╬╗ ○ 1║ ╚═╗║ ╚═╗║ ║ ║ ║
║ ║ ║○ ╔╤╝╔╤╝╔╤╝╔╤╝╚═╧╕╝╚╤╝╚╤╛━╕○ ╔╤╝║ ╔╕╝║ ║ ║ ║
║ ║ ○╛━╬╛═╬╛═╬╛═╬╛════╧═━╛═━╛══╧══╬╛━╬══╬╧═╬══╬═════╬══╝
║ ║ ╔══╬══╬══╬══╬═════════════════╬══╬══╬══╬══╬═════╬══╗
║ ║ ║ ║ ║ ║ ║ ╔══════════╤═╗ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ║ ║╔━╒═══╗┼┼┼┼┼║ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ║ ║║ ○╔━╗║┼┼┼┼┼║ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ╚═╗╚═╗╚━╗╚━╗║●╕━╬╗╚╬╗ ○ 2║ ╚═╗║ ║ ╚═╗║ ║ ║
║ ║ ║○ ╔╤╝╔╤╝╔╤╝╔╤╝╚═╧╕╝╚╤╝╚╤╛━╕○ ╔╤╝║ ║ ╔╕╝║ ║ ║
║ ║ ○╛━╬╛═╬╛═╬╛═╬╛════╧═━╛═━╛══╧══╬╛━╬══╬══╬╧═╬═════╬══╝
║ ║ ╔══╬══╬══╬══╬═════════════════╬══╬══╬══╬══╬═════╬══╗
║ ║ ║ ║ ║ ║ ║ ╔══════════╤═╗ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ║ ║╔━╒═══╗┼┼┼┼┼║ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ║ ║║ ○╔━╗║┼┼┼┼┼║ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ╚═╗╚═╗╚═╗╚━╗║●╕━╬╗╚╬╗ ○ 3║ ╚═╗║ ║ ║ ╚═╗ ║ ║
║ ║ ║○ ╔╤╝╔╤╝╔╤╝╔╤╝╚═╧╕╝╚╤╝╚╤╛━╕● ╔╤╝║ ║ ║ ╔╕╝ ║ ║
║ ║ ○╛━╬╛═╬╛═╬╛═╬╛════╧═━╛═━╛══╧══╬╛━╬══╬══╬══╬╧════╬══╝
║ ║ ╔══╬══╬══╬══╬═════════════════╬══╬══╬══╬══╬═════╬══╗
║ ║ ║ ║ ║ ║ ║ ╔══════════╤═╗ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ║ ║╔━╒═══╗┼┼┼┼┼║ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ║ ║║ ○╔━╗║┼┼┼┼┼║ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ╚═╗╚━╗╚═╗╚═╗║●╕━╬╗╚╬╗ ○ 7║ ╚═╗║ ║ ║ ║ ╚═╗║
║ ║ ║○ ╔╤╝╔╤╝╔╤╝╔╤╝╚═╧╕╝╚╤╝╚╤╛━╕● ╔╤╝║ ║ ║ ║ ╔╕╝║
║ ║ ○╛━╬╛═╬╛═╬╛═╬╛════╧═━╛═━╛══╧══╬╛━╬══╬══╬══╬═════╬╧═╝
╚══╬═════╬══╬══╬══╬═════════════════╝ ║ ║ ║ ║ ║
┃ ┃ ║ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ┏━━━━━━━━━━━━━━┓ ║ ║ ║ ║ ║
╚═╗ ║ ║ ║ ║ ┃ 1 ┃ ║ ║ ║ ║ ║
○ ╔╤╝ ║ ║ ║ ║ ┗━━━━━━━━━━━━━━┛ ║ ║ ║ ║ ║
○╛━╬╛════╬══╬══╬══╬═════════════════╗ ║ ║ ║ ║ ║
║ ║ ╔══╬══╬══╬══╬═════════════════╬══╬══╬══╬══╬═════╬══╗
║ ║ ║ ║ ║ ║ ║ ┏━━━━━━━━━┓ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ║ ┃ IO ┃ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ║ ┃ Write 0 ┃ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ╚═╗╚━╗╚━╗╚━╗ ┗━━━━━━━━━┛ ╚═╗╚═╗║ ║ ║ ║ ║
║ ║ ║○ ╔╤╝╔╤╝╔╤╝╔╤╝ ◇ ○ ○ ╔╤╝╔╕╝║ ║ ║ ║ ║
║ ║ ○╛━╬╛═╬╛═╬╛═╬╛════╧═════╛═════╬╛━╬╧═╬══╬══╬═════╬══╝
║ ║ ╔══╬══╬══╬══╬═════════════════╬══╬══╬══╬══╬═════╬══╗
║ ║ ║ ║ ║ ║ ║ ┏━━━━━━━━━┓ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ║ ┃ IO ┃ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ║ ┃ Write 1 ┃ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ╚═╗╚═╗╚═╗╚━╗ ┗━━━━━━━━━┛ ╚═╗║ ╚═╗║ ║ ║ ║
║ ║ ║○ ╔╤╝╔╤╝╔╤╝╔╤╝ ◆ ○ ○ ╔╤╝║ ╔╕╝║ ║ ║ ║
║ ║ ○╛━╬╛═╬╛═╬╛═╬╛════╧═════╛═════╬╛━╬══╬╧═╬══╬═════╬══╝
║ ║ ╔══╬══╬══╬══╬═════════════════╬══╬══╬══╬══╬═════╬══╗
║ ║ ║ ║ ║ ║ ║ ╔══════════╤═╗ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ║ ║╔━╒═══╗┼┼┼┼┼║ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ║ ║║ ○╔━╗║┼┼┼┼┼║ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ╚═╗╚═╗╚━╗╚━╗║●╕━╬╗╚╬╗ ○ 2║ ╚═╗║ ║ ╚═╗║ ║ ║
║ ║ ║○ ╔╤╝╔╤╝╔╤╝╔╤╝╚═╧╕╝╚╤╝╚╤╛━╕○ ╔╤╝║ ║ ╔╕╝║ ║ ║
║ ║ ○╛━╬╛═╬╛═╬╛═╬╛════╧═━╛═━╛══╧══╬╛━╬══╬══╬╧═╬═════╬══╝
║ ║ ╔══╬══╬══╬══╬═════════════════╬══╬══╬══╬══╬═════╬══╗
║ ║ ║ ║ ║ ║ ║ ╔══════════╤═╗ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ║ ║╔━╒═══╗┼┼┼┼┼║ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ║ ║║ ○╔━╗║┼┼┼┼┼║ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ╚═╗╚═╗╚═╗╚━╗║●╕━╬╗╚╬╗ ○ 3║ ╚═╗║ ║ ║ ╚═╗ ║ ║
║ ║ ║○ ╔╤╝╔╤╝╔╤╝╔╤╝╚═╧╕╝╚╤╝╚╤╛━╕● ╔╤╝║ ║ ║ ╔╕╝ ║ ║
║ ║ ○╛━╬╛═╬╛═╬╛═╬╛════╧═━╛═━╛══╧══╬╛━╬══╬══╬══╬╧════╬══╝
║ ║ ╔══╬══╬══╬══╬═════════════════╬══╬══╬══╬══╬═════╬══╗
║ ║ ║ ║ ║ ║ ║ ┏━━━━━━━━━┓ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ║ ┃ IO ┃ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ║ ┃ Read ┃ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ╚═╗╚━╗╚═╗╚═╗ ┗━━━━━━━━━┛ ╚═╗║ ║ ║ ║ ╚═╗║
║ ║ ║○ ╔╤╝╔╤╝╔╤╝╔╤╝ ○ ○ ╔╤╝║ ║ ║ ║ ◇ ╔╕╝║
║ ║ ○╛━╬╛═╬╛═╬╛═╬╛══════════╛━════╬╛━╬══╬══╬══╬══━╛━╬╧═╝
╚══╬═════╬══╬══╬══╬═════════════════╝ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ║ ║ ║ ║ ║
║ ║ ║ ║ ║ ┃ ┃ ┃ ┃ ┃
║ ║ ║ ║ ║ ╓○ ╓○ ╓○ ╓○ ╓○
║ ║ ║ ║ ╚════════════════════╝ ║ ║ ║ ║
║ ║ ║ ╚══════════════════════════╝ ║ ║ ║
║ ║ ╚════════════════════════════════╝ ║ ║
║ ╚══════════════════════════════════════╝ ║
╚══════════════════════════════════════════════════╝