Flow-control: Control the flow during genome execution which is otherwise linear
|
if-label (f)
|
Executes the next instruction in the genome sequence if the flow head is at a specified label. In the ancestral copy-loop, this instruction makes sure that the division instruction is executed only when the entire genome has been copied.
|
Reproduction (Biological): Assist in copying of genome sequence during replication
|
h-copy (v)
|
Copies a single instruction from parent genome to offspring genome
|
h-divide (x)
|
Separates offspring genome from parent and places the offspring organism in the cell faced by parent
|
h-search (z)
|
Finds a specified label in the genome and moves a specified head to this label. In the copy-loop, this instruction ensures the flow head returns to the start of the loop on reaching the end of the genome.
|
Messaging: Allow organisms to send and receive messages
|
send-msg (B)
|
Send a message (containing numbers stored in two of the registers) to the neighbor in the direction the organism currently faces.
|
retrieve-msg (C)
|
Retrieves messages into specified registers from the messaging buffer
|
bcast1 (D)
|
Sends a message to all the eight nearest neighbors
|
Rotation: Allow organisms to change the direction they are facing
|
rotate-left-one (E)
|
Rotates the organism by a unit in the anticlockwise direction
|
rotate-right-one (F)
|
Rotates the organism by a unit in the clockwise direction
|