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: Parallel Programs (Multicellular Organisms)
Up: The Structure of an
Previous: The Received Message Store.
Tim Taylor
1999-05-29