0,0,0, :assigns a value to register 0, 0,5,0,; :the value is 5 0,3,0, : register 3 0,0,0,; : gets a 0 0,4,0, : register 4 0,1,0,; : gets a 1 0,1,0, : register 1 gets 0,1,0, : 1 0,0,1, : register[0] 0,1,0,; : - : - register[0] 1 (prefix notation) 0,2,0, : register 2 gets 0,1,0, : 1 0,1,1, : register[1] 0,1,0,; : - : - register[1] 1 (prefix notation) 0,0,1, : location referenced by register [0] 0,1,2, : value in register[2] is a reference to 0,2,2, : another register (this changes during run) 0,0,0,; : + : this produces each value in the : Fibonacci sequence 0,0,0, : add 1 to register[0] 0,0,1, 0,1,0, 0,0,0,; 1,7,0, : go to gene 7 0,25,1,; : if register[25] has a value : (other than 0) : this is gene 7 (infinite loop) : this is one way to end the program 1,3,0, :go to gene 3 1,1,0,; :if (1) :this is how we iterate ################## : this following is alternate way to terminate a program 0,0,0, : (gene 9) assign a divide by zero 0,0,0, 0,0,0, 0,3,0,; : / 0 0 (illegal devide by 0 - :ends program and outputs)