Assembler = Assembler? GST- und Omikron-Assembler im Vergleich

Für die Entwicklung schnellster, in Maschinensprache geschriebener Programme benötigt der Programmierer sogenannte 'Assembler’. Bei den, zum Test vorliegenden Assembler-Entwicklungsprogramm GST-ASM V1.0 und dem Omikron IDEAL V1.0 wird deutlich, wie grundverschieden Programme mit demselben Ziel sein können. Während sich das eine Programm mehr zur Entwicklung von Programmen eignet, ist das andere mehr zu derem Austesten geeignet...

Der Omikron-IDEAL

Der Lieferumfang dieses neu erschienenen Programmes ist ziemlich schwach: nur eine einseitige Diskette mit dem Assemblerprogramm, einem Programm zur Anfertigung von Sicherheitskopien und zwei deutschen Dokumenten, die die Benutzung des Kopierprogrammes und des Assemblers erläutern. Sollten Sie allerdings über keinen Drucker und kein Textprogramm verfügen, so bleibt Ihnen am Anfang nur die Möglichkeit, sich diese Texte mit der Desktop-Funktion 'Anzeigen’ anzusehen. Ein Vorgang, den man bei einer 40 KByte großen Datei (ca. 20 DIN A4 Seiten) nicht gerade als ’benutzerfreundlich’ einstufen kann. Vielleicht hätte man doch eine gedruckte Kurzanleitung beilegen sollen, so daß der der Benutzer in die Lage versetzt wird, im Editor des IDEALs die Anleitung anzusehen...

Nun zu den Leistungsmerkmalen des Programmes. Es handelt sich beim 'IDEAL', was die Abkürzung ist für Integrierter Debugger, Editor, Assembler und Linker, um ein recht kompaktes Stück Software, dessen Hauptbestandteil der Debugger zu sein scheint. Von ihm aus gelangt man in den Editor und assembliert Programme.

Tolle Debuggerfunktionen

Den im IDEAL integrierten Debugger (Bild) kann man als einen der besten auf dem Markt ansehen; man findet dort alle nur erdenklichen Funktionen, die einem beim Debuggen (eng. ’entkäfern’ = Entfernen von Programmfehlern) nützlich sein könnten. Neben den üblichen Funktionen zum Laden/ Starten von Programmen sowie zum Disassemblieren (auch auf den Drucker), zum Einzelschrittbetrieb von Programmen und zum Anzeigen von Speicherinhalten kann man Speicherbereiche mit Werten, Texten oder auch Assemblerbefehlen füllen (z. B. mit NOP). Genauso kann man auch nach diesen Sachen suchen. Sie können den Debugger zum Beispiel veranlassen, nach einem linea-Befehl zu suchen. Interessant sind auch die Möglichkeiten beim Austesten von Programmen. Läßt man ein Programm im Einzelschrittmodus ablaufen, so kann man dem Debugger mitteilen, er möge das zu testende Programm abbrechen, sobald dieses eine bestimmte Unterroutine ausgeführt hat und der in einem festzulegenden Register enthaltende Wert negativ ist. Dies ist natürlich nur ein Beispiel; die Abbruchbedingungen können frei gewählt werden.

Der IDEAL-Editor...

Gewöhnlich werden Sie die Entwicklung eines Programmes nicht mit dem Debuggen beginnen, sondern mit einem Editor den Quelltext erstellen. Auch der IDEAL enthält einen Editor, den man mit der Eingabe von ’e’ vom Debugger aus erreicht. Dieser ist wie das ganze IDEAL-Paket im schlichten ’TOS-Design’ gehalten, was aber nicht heißt, daß es ihm an Leistung mangelt. Es ist bekanntlich eine Geschmackssache, ob man die Arbeit mit der Maus mag oder Befehlseingabe über die Tastatur bevorzugt. Wichtig scheint mir in erster Linie, wie schnell die Kommandos ausgeführt werden, und welche Kommandos zur Verfügung stehen. Bei diesem Kriterium schneidet der IDEAL gut ab: alle Funktionen werden sehr flink ausgeführt, und das Fehlen einer Funktion ist mir nicht aufgefallen. Praktisch ist auch die Möglichkeit, Funktionstasten mit beliebigen Befehlen und Texten zu belegen oder den Bildschirm zu teilen (Bild), um gleichzeitig verschiedene Stellen einer Datei einzusehen und zu editieren. Für die Darstellung kann man unter drei Schriftgrößen wählen.

...und der GST-Editor

Wenn Sie 1st Word kennen, werden Sie sich leicht auch den GST-Editor vorstellen können. Dieser Editor scheint der Vorläufer von 1st_Word gewesen zu sein. Gegenüber 1st_Word fehlen ihm jedoch Funktionen zum Drucken, zur Formatierung des Textes, und auch unterschiedliche Schriftarten werden nicht unterstützt. Durch die verwendete GEM-Umgebung ist er sehr leicht zu bedienen, doch nicht so schnell wie der IDEAL-Editor. Dafür lassen sich mit dem GST-Editor mehrere Texte gleichzeitig editieren (man kann z. B. gleichzeitig eine vom Assembler erzeugte Fehlerdatei einsehen). Gefehlt hat mir beim GST-Editor nur eine Funktion, die mir sagt, in welcher Zeile des Quelltextes ich mich befinde. Bei der Fehlerkorrektur in längeren Quelltexten kann ein Abzählen der Zeilen mit dem Schieber des Fensters sehr arbeitsaufwendig sein. Abgesehen von diesem Mangel und der im Vergleich zum IDEAL nicht so großen Geschwindigkeit ist der GST-Edit auch ein guter Editor.

IDEAL-Assembler und Linker

Der Assembler- und der Linkerteil des Omikron-IDEAL haben mich enttäuscht. Die beiden Programmteile stellen nur Minimalversionen ihrer Art dar. Der Assembler erkennt neben Definition von Datenbereichen keinerlei Pseudoopcodes. Es ist noch nicht einmal möglich, Symbole zu definieren, und auch bei einigen Assemblerbefehlen schien die mir vorliegende Version Probleme zu haben. Die Assemblierzeiten scheinen recht gering zu sein, da der gesamte Assembliervorgang ohne Zugriff auf ein Diskettenlaufwerk abläuft. Mager fallen auch die Funktionen des Linkers aus. Dieser ist lediglich in der Lage, zwei oder mehrere linkbare Dateien zu einer neuen Datei zusammenzufügen.

Der GST-ASM

Im Gegensatz zum Omikron-IDEAL erhält man zur einseitigen GST-Programmdiskette einen Ringordner mit ca. 150 Seiten englischer Bedienungsanleitung. Auf der Programmdiskette befinden sich der Assembler, der Editor, der Linker, eine Makrobibliothek und das Shell-Programm (Bild). Von diesem Programm aus lassen sich alle Arbeitsvorgänge mit einem Mausklick einleiten.

Fast ein Compiler

Verblüffend beim GST-Assembler sind die Möglichkeiten, mit Makros, vielen Pseudoopcodes und Funktionen ähnlich wie bei einem Compiler zu programmieren. In der zum Lieferumfang gehörigen Bibliothek finden sich Funktionen, die strukturierte Programmierung mit if-then-else, switch-case-default, repeat-until, while-endwhile und for-endfor erlauben. Mit dem Makro ’subroutine’ lassen sich einfache Unterprogramme schreiben. Das Makro fügt automatisch am Anfang und am Ende der Routine einen Befehl zum Retten/ Zurückholen der Register und am Ende ein ’rts’ ein.

Ziemlich einzigartig ist auch die Möglichkeit, bei der Assemblierung Variable zu verwenden, diese zu verknüpfen und Werte zuzuweisen. Zur Verknüpfung von Variablen und Konstanten stehen außer den üblichen arithmetischen Funktionen 18 weitere Funktionen bereit. Darunter findet man auch welche, die das aktuelle Datum oder das verwendete Betriebssystem zurückgeben, um die Angaben dann zum Beispiel für bedingte Assemblierung zu verwenden.

Fast schon selbstverständlich erscheint es, daß auch Makros möglich sind und der Assembler dazu bewegt werden kann, automatisch Befehle zu optimieren.

Für die Assemblierung eines Programmes ohne Makros wurden folgende Zeiten ermittelt (ohne Laden des Assemblers):

	Diskette	RAM-Disk 
mit Komment.	52s	13s 
(1180 Zeilen / 45 KByte Quelltext)
ohne Komment.	30s	11s
(780 Zeilen / 19 Kbyte Quelltext)

Der GST-Linker

Dieser Linker, der sich auch im Lieferumfang des Metacomco-Assemblers befindet, bietet eine Vielzahl von Funktionen, um Programme zu verbinden, Bibliotheken anzulegen und Programmteile aus Bibliotheken einzubinden.

Fazit

Der Omikron IDEAL stellt ein tolles Paket zum Austesten von Programmen dar. Jedoch könnte sicherlich einige Zeit des Austestens gespart werden, wenn sein Assembler mehr Funktionen hätte; manche Programmierfehler könnten so verhindert werden. Den Hauptpluspunkt des Paketes stellt der Debugger dar. Schon dieses Programmteil macht den IDEAL lohnenswert. Der Assemblerteil des IDEAL machte leider keinen besonders ausgereiften Eindruck auf mich.

Professionell gibt sich der Assembler von GST. Die Autoren sind offensichtlich der Meinung, bei einem so leistungsstarken Assembler sei ein Debugger überflüssig. Um ein Programm richtig auszutesten, benötigt man jedoch ein solches Programm. Denn selbst in einem lauffähigen Programm stecken manchmal noch logische Fehler, die man nur mit einem Debugger findet. Wer größere Programme in Assembler schreiben will, ist mit dem GST Assembler bestens bedient. Für kleinere Programme und in erster Linie zum Austesten (Debuggen) ist der IDEAL 'ideal’.

GST Assembler
Preis: DM 149,-
ATARI Corp. Deutschland

OMIKRON IDEAL
OMIKRON-Software
Erlachstr. 15 7534 Birkenfeld 2



Aus: ST-Computer 11 / 1986, Seite 76

Links

Copyright-Bestimmungen: siehe Über diese Seite