[ home       ]

[ core wars  ]
[ mail me    ]
[ core war ]
 
 
pmarsv für dos: archer vs. micefaszinierendes spiel für die ganze familie - sofern jeder assembler programmieren kann. 

das programm mars (memory array redcode simulator) stellt einen sogenannten core zur verfügung, in dem sich 8000 speicherzellen befinden. in diesem speicher agieren zwei oder mehr - in dem assemblerdialekt redcode geschriebene - programme und versuchen sich gegenseitig zu zerstören. 

jeder, dem programmieren spaß macht sollte sich einmal versuchen. für die könner und fortgeschrittenen gibt es verschiedene corewar-hills, auf denen man seine programme gegen die besten der welt antreten lassen kann. 

pmarsv für dos: phage2 vs. mice

es gibt verschiedene strategien um im core zu gewinnen, manche programme bombardieren den core mit anweisungen, die wenn sie den feindlichen code treffen das programm anhalten. andere programme schreiben ihren eigenen code zufällig in den speicher und reproduzieren sich in der hoffnung den fremden code zu überschreiben. das rechts stehende programm durchsucht den speicher nach fremden anweisungen und lähmt das fremde programm, indem es spl anweisungen in seinen code schreibt. anschließend wird der speicher mit dat befehlen überschrieben und das fremde programm zerstört. 

diese drei strategien nennt man stones - papers - scissors, ähnlich der stein-papier-schere analogie, die uns aus unserer kindheit noch bekannt sein dürfte. 

mehr zu mars und redcode bei koth.

hier ein typisches redcode-programm namens archer:

;name archer v3rev11
;author alexander gross 1998

start add.ab #412,  scan
scan  jmz    start, 2
      mov.b  scan,  dest
cntr  mov.ab #10,   0
stun  mov.i  @bomb, <dest
      djn    stun,  cntr
      jmp    start
      dat    #0,    #0
dest  dat    #0,    #0
bomb  dat    #0,    #2
      dat    #0,    #0
      spl    -1,    -1
das obenstehende programm ist insofern ganz witzig, weil es sich während der laufzeit selbst verändert. es überschreibt seinen code derart, daß nachdem der speicher gescanned und alle feinde gelähmt sind in der zeile die mit "bomb" anfängt statt dat #0, #2 - spl -1, -1 steht. der zeiger auf die bombe zeigt nun nicht mehr auf die spl anweisung, sondern auf die dat anweisung, die mit "dest" beginnt. jetzt werden also keine lähmenden spl- sondern tödliche dat-befehle in den feindlichen code geschrieben.
 

zum seitenanfang