Skip navigation

ARES


Page Content:

Kompatibilität

ARES sollte vollständig kompatibel zu den Vorgaben im erweiterten ICWS-94 Draft (Version 3.3) sein, jedoch steht eine endgültige Verifikation noch aus.

Der aktuelle Standard wird durch das Programm pmars vorgegeben. ARES beherrscht fast alle Erweiterungen, wie sie in pmars implementiert sind, jedoch kennt er die Instruktion PIN (noch) nicht. Der Assingment-Operator und die Register A bis Z werden ebenfalls nicht unterstützt und es ist auch nicht geplant, diese Option in den ARES-Parser zu integrieren.

Die KoTH-Server verwenden pmars, und das Verhalten dieses Programmes wird von der Core War-Community als Standard betrachtet.

Unterschiedliches Verhalten von ARES gegenüber pmars

Tips für kompatible Quellcodes

Wer mit verschiedenen Core War-Simulatoren arbeitet, sollte keine verschachtelten FOR-Schleifen benutzen. Die Verwendung von CURLINE ist ebenfalls problematisch, besonders in Verbindung mit FOR-Schleifen und EQU Statements, die Opcodes ersetzen. EQU Statements sollten mit Vorsicht genossen werden, ganz besonders Multiline-EQU. Ich empfehle, EQU nur für konstante Zahlenwerte (oder natürlich mathematische Ausdrücke) zu verwenden und dabei auf die Verwendung auf CURLINE in diesen EQUs zu verzichten. Sollte auf kompliziertere Konstruktionen nicht verzichtet werden können (z. B. wenn man fremde Warriors übersetzt), dann sollte man die Ausgabe der Assembler genau auf Korrektheit prüfen. Wer seine Programme mit ARES entwickelt und den Verdacht hat, daß die Übersetzung durch pmars andere Ergebnisse liefert, sollte sein Programm vor dem Upload mit ARES ins Load File Format übersetzen lassen.

Vollständige pmars Kompatibilität

Solltest du sichergehen wollen, daß ARES die Programme genauso wie pmars übersetzt, kannst du die Option External Assembly benutzen. ARES benutzt dann pmars.exe, um den Programmcode übersetzen zu lassen, wodurch die Kompatibilität des Parsers auf 100.0% steigt ;-) Die Direktiven ;break und ;watch verlieren dadurch allerdings (derzeit noch) ihre Wirksamkeit, Bluecode kann natürlich auch nicht übersetzt werden. Derzeit wird ARES mit pmars 0.9.2 ausgeliefert.



Content Management:

μCMS α1.6