El mínimo programa de Core War es el IMP. Es una sola
instrucción:
mov 0 1
Este programa lo que hace es copiar el contenido de la
dirección de memoria que se encuentra a cero posiciones
de distancia a la dirección siguiente. Con esto se copia
a si mismo a la posición siguiente y luego ejecuta esa
copia. De esta forma va avanzando por la memoria. Su
estrategia es bastante mala, ya que cuando alcance al
oponente en lugar de destruirlo lo convierte en un
programa igual a si mismo. Existe un programa diseñado
para ser su oponente: el IMP STOP, que es así:
start mov bomb -1
jmp start
Start indica al MARS (el intérprete de Core War) donde
empezar la ejecución. Este programita simplemente
mantiene una celda bajo fuego constante, cuando el IMP
pase por esa celda será destruido.
Un programa algo más inteligente que estos dos sería el
famoso DWARF, que lanza ceros por toda la memoria
tratando de alcanzar su objetivo.
dat -1
start add #5 -1
mov #0 @-2
jmp start
Es fácil ver lo que hace este programita. Empieza en
start, donde incrementa en cinco el dato definido por la
instrucción dat. luego mueve un cero a la posición de
memoria indicada por el dat, y vuelve a empezar.
Simplemente va barriendo la memoria con ceros, cada cinco
posiciones de memoria. Con esta sencilla estrategia evita
sobreescribirse a si mismo, ya que su código es de menos
de cinco instrucciones. A pesar de que es mejor que los
programas que presentamos antes, es bastante poco
inteligente. Dejamos a los lectores con la tarea de
escribir un programa mejor y enviárnoslo.