 
 
 
 
 
 
 
  
 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