1-2 | 101100111000 | Template for start of genome | |
3 | et_collect | Start of female section | |
4 | et_collect | ||
5 | cwm_clear | ||
6 | adrb | ||
7 | nop_10 | ||
8 | nop_11 | ||
9 | nop_00 | ||
10 | nop_11 | ||
11 | nop_10 | ||
12 | nop_00 | ||
13 | et_collect | ||
14 | push_a | ||
15 | pop_c | ||
16 | dec_c | ||
17 | dec_c | Get address of start of genome | |
18 | dec_c | ||
19 | dec_c | ||
20 | dec_c | ||
21 | dec_c | ||
22 | et_collect | ||
23 | et_collect | ||
24 | dec_c | ||
25 | dec_c | ||
26 | dec_c | ||
27 | dec_c | ||
28 | dec_c | ||
29 | dec_c | ||
30 | push_c | ||
31 | pop_a | ||
32 | swap_ab | ||
33 | et_collect | ||
34 | adrf | ||
35 | nop_01 | ||
36 | nop_00 | ||
37 | nop_11 | Get address of end of genome | |
38 | nop_00 | ||
39 | nop_01 | ||
40 | nop_11 | ||
41 | swap_ab | ||
42 | set_jmp | ||
43 | et_collect | ||
44 | et_collect | ||
45 | et_collect | ||
46 | clr_f | ||
47 | mov_ic | ||
48 | push_c | Female copy loop | |
49 | swap_cd | ||
50 | push_c | Copy instructions one at a time | |
51 | swap_ab | into the Communications Working Memory | |
52 | sub_ab | ||
53 | swap_ab | ||
54 | pop_c | ||
55 | swap_cd | ||
56 | pop_c | ||
57 | if_not_fl | ||
58 | cwm_write | ||
59 | if_fl | ||
60 | clr_jmp | ||
61 | jmp | ||
62 | et_collect | ||
63 | zero_c | Now broadcast the composed message to | |
64 | inc_c | the environment (as an environmental | |
65 | swap_cd | message of type number 1) | |
66 | cwm_send | ||
67 | move | ||
68 | stop | End of female section | |
69-70 | 111000110010 | Template for start of male section | |
71 | et_collect | Start of male section | |
72 | et_collect | ||
73 | clr_f | ||
74 | zero_c | ||
75 | not_lo_c | ||
76 | shr_c | ||
77 | shr_c | ||
78 | shr_c | ||
79 | shr_c | ||
80 | clr_f | ||
81 | set_jmp | ||
82 | move | ||
83 | move | ||
84 | et_collect | ||
85 | move | ||
86 | move | Move around the grid and collect | |
87 | et_collect | energy tokens for a while | |
88 | dec_c | ||
89 | if_fl | ||
90 | clr_jmp | ||
91 | jmp | ||
92 | zero_c | ||
93 | inc_c | ||
94 | push_c | ||
95 | swap_cd | ||
96 | zero_c | ||
97 | clr_f | ||
98 | et_collect | ||
99 | et_collect | ||
100 | et_collect | ||
101 | et_collect | ||
102 | set_jmp | ||
103 | inc_c | ||
104 | rms_receive | ||
105 | str_switch | ||
106 | if_not_fl | ||
107 | clr_jmp | ||
108 | push_c | ||
109 | swap_cd | ||
110 | push_c | ||
111 | et_collect | ||
112 | clr_f | ||
113 | zero_c | Enter a loop to look for environmental | |
114 | not_lo_c | messages of type 1. Continue looking | |
115 | shr_c | in all directions until a suitable message | |
116 | shr_c | is found. Also check level of Energy Token | |
117 | shr_c | Store while searching, and collect more | |
118 | shr_c | energy from the environment if necessary. | |
119 | shr_c | ||
120 | swap_cd | ||
121 | et_check | ||
122 | sub_cd | ||
123 | pop_c | ||
124 | swap_cd | ||
125 | pop_c | ||
126 | if_not_fl | ||
127 | jmp | ||
128 | et_collect | ||
129 | et_collect | ||
130 | et_collect | ||
131 | et_collect | ||
132 | et_collect | ||
133 | jmp | ||
134 | et_collect | ||
135 | nwm_clear | ||
136 | adr | ||
137 | nop_10 | ||
138 | nop_11 | ||
139 | nop_00 | ||
140 | nop_11 | ||
141 | nop_10 | ||
142 | nop_00 | ||
143 | et_collect | ||
144 | push_a | ||
145 | pop_c | ||
146 | dec_c | Look for start of received message | |
147 | dec_c | ||
148 | dec_c | ||
149 | dec_c | ||
150 | dec_c | ||
151 | dec_c | ||
152 | dec_c | ||
153 | et_collect | ||
154 | dec_c | ||
155 | dec_c | ||
156 | dec_c | ||
157 | dec_c | ||
158 | dec_c | ||
159 | push_c | ||
160 | pop_a | ||
161 | swap_ab | ||
162 | et_collect | ||
163 | adrf | ||
164 | nop_01 | ||
165 | nop_00 | ||
166 | nop_11 | Look for end of received message | |
167 | nop_00 | ||
168 | nop_01 | ||
169 | nop_11 | ||
170 | swap_ab | ||
171 | set_jmp | ||
172 | et_collect | ||
173 | et_collect | ||
174 | clr_f | ||
175 | mov_ic | ||
176 | push_c | ||
177 | swap_cd | ||
178 | push_c | Male copy loop | |
179 | swap_ab | ||
180 | sub_ab | Copy instructions one at a time | |
181 | swap_ab | from received message into the | |
182 | pop_c | Nucleus Working Memory | |
183 | swap_cd | ||
184 | pop_c | ||
185 | if_not_fl | ||
186 | nwm_write | ||
187 | if_fl | ||
188 | clr_jmp | ||
189 | jmp | ||
190 | et_collect | ||
191 | et_check | ||
192 | shl_c | ||
193 | if_fl | ||
194 | reg_create | ||
195 | nop_00 | ||
196 | nop_10 | ||
197 | nop_11 | Create a new female or male promoter | |
198 | nop_00 | ||
199 | nop_11 | The choice is based upon whether the | |
200 | nop_10 | number of energy tokens stored in the | |
201 | nop_00 | Energy Token Store is odd or even | |
202 | if_not_fl | ||
203 | reg_create | ||
204 | nop_00 | ||
205 | nop_11 | ||
206 | nop_10 | ||
207 | nop_00 | ||
208 | nop_11 | ||
209 | nop_00 | ||
210 | nop_10 | ||
211 | et_collect | ||
212 | nwm_divide | Reproduce | |
213 | pop_c | ||
214 | swap_cd | Remove received message from | |
215 | str_remove | the Received Message Store | |
216 | move | ||
217 | stop | End of male section | |
218-219 | 010011000111 | Template for end of genome | |
female promoter | 101100111000 | ||
male promoter | 111000110010 |