Español | English
rss facebook linkedin Twitter

El ensamblador puede ser divertido

En 1961, varios investigadores de Bell Labs crearon un juego de programación que llamaron Darwin. En ese juego, 2 o más programas (o especies) podían sondear la memoria, eliminar una especie enemiga que se haya localizado o reservar parte de la memoria para después copiarse a sí mismo. Las especies evolucionaron hasta que Robert Morris escribió una capaz de adaptarse al enemigo y reproducirse, que no fue superada.

A mediados de los 80, surge Core War. Parcialmente inspirado en Darwin, es un juego en el que tienes que programar tu especie en un lenguaje llamado RedCode. Este lenguaje está estandarizado y recuerda a un lenguaje ensamblador simplificado, con unas cuantas particularidades. Tan solo hay 19 instrucciones diferentes y 8 modos de direccionamiento. Las instrucciones realizan operaciones sencillas, como operaciones aritméticas, copiar el contenido de una dirección a otra, saltos condicionales o incondicionales o lanzar un proceso nuevo. También hay una operación NOP (no hace nada) y una operación DAT, que indica que la dirección contiene datos. Esta operación no es ejecutable, y si un proceso por error, o inducido por el contrario intenta ejecutarla, morirá.

El objetivo del juego está claro. Hay que eliminar a los contrarios que conviven en el área de memoria en la que se juega. Se pueden utilizar muchas estrategias diferentes. Programas que se copian continuamente, que bombardean la memoria, que buscan a los rivales antes de bombardearlos, que lanzan varios procesos y hacen varias cosas en paralelo o que utilizan diferentes estrategias a lo largo de la partida. Un programa puede tener desde unas pocas lineas (incluso solo 1), hasta unas cuantas decenas.

Imagen 1.: pMars en modo debug

Para jugar sólo hace falta un editor de texto y un simulador de Core War como pMARS. Hay varias páginas dedicadas a Core War / RedCode. Puedes empezar visitando king of the hill, crear tu especie y participar en campeonatos.



(+34 902 222 521)


24 horas / 7 días a la semana



© Copyright S21sec 2013 - Todos los derechos reservados


login