Newsgroups: comp.ai.alife
Path: cantaloupe.srv.cs.cmu.edu!bb3.andrew.cmu.edu!newsfeed.pitt.edu!gatech!news.cse.psu.edu!uwm.edu!vixen.cso.uiuc.edu!newsfeed.internetmci.com!in1.uu.net!EU.net!usenet2.news.uk.psi.net!uknet!newsfeed.ed.ac.uk!dcs.ed.ac.uk!cnews
From: iic@dcs.ed.ac.uk (Ian Clarke)
Subject: Re: Reproduction
In-Reply-To: <19960501.225409.95@mageton.demon.co.uk>
X-Nntp-Posting-Host: flugga.dcs.ed.ac.uk
Message-ID: <Dr2zGK.AxK.0.staffin.dcs.ed.ac.uk@dcs.ed.ac.uk>
To: Archmage@mageton.demon.co.uk
Sender: cnews@dcs.ed.ac.uk (UseNet News Admin)
Organization: Department of Computer Science, Edinburgh University
X-Newsreader: knews 0.9.6
References: <4lit47$ekt@news.magi.com> <4lln6h$t6a@soleil.uvsq.fr>
  <Pine.SOL.3.91.96042501   4622.21856B-100000@exp2.wam.umd.edu>
  <SPOT.96Apr25150852@sandoz.slip.cs.cmu.edu>
  <1996Apr30.220308.7004@news.iup.edu> <19960501.225409.95@mageton.demon.co.uk>
Date: Wed, 8 May 1996 09:53:04 GMT
Lines: 29

In article <19960501.225409.95@mageton.demon.co.uk>,
	Archmage@mageton.demon.co.uk (Archmage) writes:
>I know that Tierra has code held in memory, and bits of it contain the right
>code to copy themselves, but (I don't program Assembler) how exactly does this
>work? What prevents the pointer getting caught in a loop, thus crashing the
>machine? Or one piece of code "capturing" the pointer and copying itself
>over the entire memory space? Doesn't Assembler just shift values in registers
>and the accumulator, then input/output?
>
>It sounds interesting, but I can't run Tierra, so I'm going to have to try for
>my own version :)

Tierra uses a very weird form of machine code which is designed to be
highly robust, many of the commands would not be used in a conventional
microprocessor unless the designers were very very drunk, or trying to 
make a hardware version of Tierra.  As an example there is one command 
which will jump forward until a specified string of instructions is 
found in memory, and the program counter will be reset to immediately 
after that block of code.  I suggest you have a look at a program called
"Primordial Soup" or "PSoup" which is similar to Tierra before you 
attempt to create your own version.


Ian
-- 
|IAN CLARKE        I.Clarke@sms.ed.ac.uk  "..until human voices wake  |
|                  iic@dcs.ed.ac.uk       us, and we drown" - Shelley |
|WWW:http://www.lookup.com/homepages/107558/homepage/index.html       |

