Copy Link
Add to Bookmark
Report

VR4: Algunos programitas en Core War

eZine's profile picture
Published in 
virus report
 · 2 years ago

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.

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT