next up previous contents
Next: Predefined Ancestor Programs Up: Cosmos System Details Previous: Input and Output

   
The REPLiCa Instruction Set

The instruction set of the REPLiCa programming language contains 62 instructions in total, as listed below. The user is able to include and exclude any of these instructions from the available instruction set for any particular run of the system, according to the specification of the genetic code in the input file genetic_code.ini (described in Section A.5).

In the following description of the instructions, RMS stands for Received Message Store, CWM for Communications Working Memory, and NWM for Nucleus Working Memory. ADRString refers to the string pointed to by ADRStringPointer (mentioned in Section 4.3.8); this is the InfoString upon which the adr and mov_ic instructions will act. This may be the cell's own genome, or it may be a message in the cell's Received Message Store. ADRStringPointer can be changed to point to a different InfoString with the str_switch and similar instructions. A register enclosed in square brackets (e.g. [ax]) indicates the contents of the memory location specified by the value of that register.

Some of the instructions relating to regulators (e.g. reg_create), and to searching for binding sites (e.g. adr), must be immediately followed by a valid binding site specification if they are to operate correctly. A valid specification is a consecutive string of nop instructions (i.e. taken from the set {nop_00, nop_01, nop_10, nop_11}).

A few instructions involve actions which occur in a particular direction relative to the cell executing them (e.g. move, et_transport). In these cases, the direction is specified by the low 3 bits of the cx register. This gives a number between 0 and 7, which corresponds to the directions shown in Figure 4.3(a).


next up previous contents
Next: Predefined Ancestor Programs Up: Cosmos System Details Previous: Input and Output
Tim Taylor
1999-05-29