Typical core clear is:
mov 2, <1
jmp -1, -1
or:
spl 0, 0
mov 2, <-1
jmp -1, -1
The presence of SPL 0 is to prevent the warrior from self
termination.As a weapon, SPL 0 is usually accompanied by JMP -1 and thrown together into the core. These two instructions are very lethal against replicators because they can hinder and eventually stall their progress.
Self-splitting can also be used to improve the warrior endurance. Consider the following example:
MOV 3, 3
ADD #165, -1
JMP -2
If any part of this code is hit, the program will terminate immediately.
Now compare it with the following:
SPL 0
MOV 3, 3
ADD #165, -1
JMP -2
After few cycles are running, this small module have accumulated some
processes in its loop. A hit to any of its parts will not stop it
from running. Furthermore, a single hit to either the first or the
last instruction will still let the program remain operational.There is a notable difference between the following routines:
SPL 0 SPL 0
MOV 3, 3 MOV 3, 3 ADD #165, -1
ADD #165, -1 ADD #165, -1 MOV 3, 3
JMP -2 JMP -2 JMP -2The measurement of good constant number C is generally characterized by how swift the module employing C can fully break the arena down into smaller fragments whose size is equal or less than N. N here is the expected fragmentation size. The smaller the N, the slower the break down process. This is understandable as the smaller the N, the more the fragmentation is needed.
There is also a lower limit in which a fragment cannot be broken into smaller ones. Thus this limit number sets as the minimum fragment size and it depends on the chosen constant number. Modulo is associated with this limit number. A pattern of modulo 5 means that the arena cannot be broken into fragments whose size is smaller than 5. For every five cells in a row, four of them cannot be touched and left as gaps. Another term for modulo is the greatest common divisor or gcd between the constant C and the coresize.
SPL 1 ;1
MOV -1, 0 ;0
MOV -1, 0 ;0
SPL 1 ;1
(back to Index)