| 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 |