next up previous contents
Next: Parallel Programs (Multicellular Organisms) Up: The Structure of an Previous: The Received Message Store.

   
Other Structures

There are a number of other structures associated with a cell, which are mentioned briefly here.
Registers
There are four (16 bit) registers. The registers ax and bx are used primarily for storing and manipulating addresses, whereas the registers cx and dx are used for arithmetic. The main use of the ax register is to store addresses returned by the adr instruction. This instruction looks for a specified bit string along the genome (or other eligible InfoString), and, if found, returns the address of the first bit of the matching area into the ax register. The address is simply the (zero-based) position of the bit from the left of the genome. The mov_ic instruction can be used in conjunction with adr to read an instruction from the genome, at the address pointed to by the ax register, into the cx register. Details of these instructions are given in Section A.2. (There is actually a slight complication involved with the use of adr and mov_ic; these instructions do not only work with the genome, but can also be used on InfoStrings in the Received Message Store, as already mentioned. Each cell actually keeps a pointer called the ADRStringPointer, which normally points to the genome. However, it can be changed to point to one of the InfoStrings in the Received Message Store by the use of the str_switch (or similar) instruction. The adr and mov_ic instructions always work on the InfoString currently pointed to by the ADRStringPointer.)
Flag
There is one flag, used mainly to signal unusual or error conditions in the execution of some instructions.
Stack
Each cell has a single stack, with a limited maximum capacity (defined by the global parameter stack_size_limit). Instructions are included in the language for pushing numbers onto the stack and for popping numbers from it.
Flaw Rate
Each cell has a parameter which defines the frequency with which flaws occur in the execution of instructions (see Section 4.5.7). This flaw rate is subject to mutations (Section 4.5.7), so it may evolve over time.
Statistics and Housekeeping Information
There are various other minor structures associated with a cell, mostly concerned with keeping statistics of the cell's lineage and activity (for future analysis) and with keeping track of various activities within the cell. These structures are not explained in detail here, but some are mentioned in passing throughout the rest of this chapter where appropriate.


next up previous contents
Next: Parallel Programs (Multicellular Organisms) Up: The Structure of an Previous: The Received Message Store.
Tim Taylor
1999-05-29