VR4: Algunos programitas en Core War
Seguimos con nuestro torneo de Core War, vayan mandando sus creaciones a la redacción que en cualquier momento empieza la competencia. El intérprete de Core War está en nuestro BBS, en el 954-1792.
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.