next up previous contents
Next: Genetic Code Up: Details of the Reported Previous: The Standard Ancestor Program,

   
The Sexual Ancestor Program, 1314AAAA

The sexual ancestor program, used for the runs reported in Section 6.7, is a great deal more complicated than ancestor 348AAAA. The structure of the program is shown schematically is Figure 6.30. The program listing is as follows:

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    


next up previous contents
Next: Genetic Code Up: Details of the Reported Previous: The Standard Ancestor Program,
Tim Taylor
1999-05-29