★ APPLICATIONS ★ PROGRAMMATION ★ SCHNEIDER DEVPAC ★ |
SCHNEIDER DEVPAC (Computer Technik) | SCHNEIDER DEVPAC (Computer Schau) | Devpac vs. Maxam (Computer Schau) |
Für den Schneider CPC 464 sind nun auch „Hilfsmittel” zur Programmierung in Maschinensprache erhältlich. Zwei haben wir uns ausgesucht und etwas unter die Lupe genommen, nämlich DEVPAC von Hisoft und den Amor Assembler/Disassembler. Programmbeschreibung DEVPAC für CPC 464 Das Programmieren in Maschinensprache ohne Softwareunterstützung ist eine umständliche und zeitraubende Angelegenheit. Ein Assembler muß her; Disassembler und Debugger erleichtern dem Programmierer das Leben. Das Softwa-re-Paket DEVPAC der Firma HISOFT beinhaltet alle 3 Teile auf einer Kassette. Geliefert wird DEVPAC in einer Box der Schneider Computer Division, in der sich die Programmcassette mit einem deutschen (!) Handbuch befindet. Die Kassette ist mit Speed Write 0 aufgenommen; ein Umkopieren auf die höhere Geschwindigkeit wird aus Angst vor dem Software-Klau nicht beschrieben Das Kopieren ist aber möglich. Außerdem müßte dieses Programm dann auch mit der Diskettenstation laufen. Der Assembler/Editor GENA3: Ein Assembler soll einen Quelltext mit symbolischen Befehlen in sein binäres Äquivalent übersetzen. Dieser Code ist dann direkt auf dem Prozessor lauffähig. Der Assembler erkennt Syntaxfehler; er erstellt ein Assemblerlisting und eine Symboltabelle. GENA3 besitzt 7 Assemblerdirektiven: ORG, EQU, DEFB,DEFW, DEFS, DEFM „S“, END. Außerdem stehen bedingte Pseudo-Befehle zur Verfügung: IF und ELSE. Leider sind keine Macros einsetzbar, was bei der Größe von GENA3 (7 KBytes) aber nicht verwunderlich ist. 15 Fehlermeldungen können von GENA3 im Format *ERROR n* ausgegeben werden; sie sind im Anhang 1 des Handbuchs beschrieben. Mit einigen Kommandos ist es möglich, das Assemblerlisting zu steuern; auch die Ausgabe auf den Drukker ist durch die Wahl von Optionen vorgesehen. Mit „*F Dateiname“ kann ein Text von Band geladen und direkt aus dem Puffer heraus assembliert werden. Dies spart bei umfangreichen Programmen Speicherplatz. Der Assembler arbeitet schnell und fehlerfrei; die deutsche Bedienungsanleitung ist leicht verständlich. Bevor der Assembler in Aktion treten kann, muß ein Quelltext geschrieben werden, und da hapert es bei GENA3 ganz gewaltig. „Ein einfacher, zeilenorientierter Aufbereiter“: das Handbuch beschreibt den integrierten Editor sehr präzise. Solange man nicht im Text korrigieren muß, mag die Eingabe ja noch in Ordnung sein. Soll aber eine Veränderung vorgenommen werden, wird über den Befehl „E n“ die Zeile n in einen Puffer übernommen und zweimal auf dem Bildschirm ausgegeben. Kommandos wie „Q“, „R“, „K“ und ein „gedanklicher Zeiger“ sollen den Programmierer unterstützen. Ohne Handbuch ist der Gute aber schnell vom rechten Weg, sprich Buchstaben, abgekommen. Warum eine derart unübersichtliche und antiquierte Editierung in GENA3 eingesetzt wird, wissen wohl nur die Leute von HISOFT selbst. Vielleicht erklärt der Satz „Er wurde so entwickelt, daß er auf allen Z80-Betriebssystemen betrieben werden kann“, dieses Malheur. Trotzdem ist der Texteditor eine Zumutung. Der Disassembler/Debugger MONA3: Der Disassembler befindet sich unter dem Namen MONA3 auf der zweiten Kassettenseite. Er kann zusammen mit GENA3 in den Speicher geladen werden, wobei man in gewissen Grenzen die Startadressen bei beiden Programmteilen frei wählen kann. Disassembliert werden kann mit Ausgabe auf Drucker oder auf dem Bildschirm. Lables werden in der Form „Lxxxx“ dargestellt, wobei „xxxx“ für die absolute Hexadresse steht. Es ist möglich, eine Textdatei zu erstellen, die von GENA3 weiterbearbeitet werden kann. Doch auch hierbei haben die Programmierer von HISOFT vor das Vergnügen den Schweiß gesetzt. Speicherbereiche müssen eingegeben werden; die Textdatei-Endadresse muß von Hand gepokt werden. Solche Aktionen können leicht zu Fehlern führen. Sicher wäre auch eine andere Realisierung möglich. MONA3 setzt das fort, was bei GENAS begonnen hat. Eine Vielzahl von Kommandos stehen dem Anwender zur Verfügung, doch der Blick ins Handbuch ist unvermeidlieh. Hier wäre eine HELP-Taste oder eine Menüsteuerung, die kurze Erklärungen liefert, angebracht. Der Debugger zeigt die Inhalte der verschiedenen Register und Speicherplätze an. Man kann in Einzelschritten oder mit Hilfe von Breakpoints im Sauseschritt durch ein Maschinenprogramm eilen. Das Programm arbeitete fehlerfrei; bei der äußeren Form und der Handhabung kann man allerdings deutliche Verbesserungen erzielen. Wahrscheinlich kann auch MONA3 auf allen Z80-Systemen eingesetzt werden, so daß eine Anpassung an den Schneider nur in Kleinigkeiten vorgenommen wurde.
Programmbeschreibung ARNOR Assembler/Disassembler In Anzeigen wirbt die Firma ARNOR mit den Worten „specially written for Amstrad CPC 464“. Angeboten wird ein Assembler, Disassembler und Editor; dem Besitzer einer Diskettenstation ist auf Disk noch ein Debugger zugänglich. Da der Autor noch kein glücklicher Besitzer derselben ist, begnügen wir uns in diesem Artikel mit der Kassettenversion, die zum Preise von 14.50 Pfund (ca. 50 DM) aus England zu beziehen ist. Der Bestellvorgang mit einem Eurocheque lief problemlos. Die Programmkassette wird mit einem dünnen „Handbuch“ geliefert. Auf der Kassette befindet sich auf beiden Seiten das gleiche Programm, aufgenommen mit Speed Write 0. Das Kopieren auf Speed Write 1 ist möglich; es wird aber nicht erwähnt. Ein Speichern der Kassetten-Version auf Disk wird Schwierigkeiten bereiten; man sollte dann lieber gleich zur Disk-Version greifen. Der Assembler besitzt von „ORG“ bis „END“ alle wichtigen Direktiven; bedingte Pseudobefehle sind „IF“ und „ELSE“. Mit „GET“ können Parameter von BASIC in den Assembler übernommen werden; mit „PUT“ funktioniert dieser Vorgang auch in der anderen Richtung. „READ“ assembliert direkt von der Kassette. Für die Erstellung der Assemblerliste können Befehle wie „LIST“, „DUMP“, „PAGE“ usw. zur Formatierung herangezogen werden. Der Assembler kann sehr eng mit BASIC zusammen arbeiten, was sich durch „GET“ und „PUT“ schon zeigt. Ein Quelltext kann ohne Editor im BASIC erstellt und durch das Kommando „lassemble“ assembliert werden. Diese Art der Erstellung des Quelltextes finden wir auch beim BBC-Computer. Bei kleineren Programmen braucht so der Editor nicht mitgeladen zu werden; eine Ersparnis an Speicherplatz und Ladezeit ist die Folge. Das erstellte Assemblerlisting entspricht den normalen Anforderungen; eine Ausgabe auf den Drucker ist ohne Schwierigkeiten möglich. Seiten- und Zeilenlänge sind dabei frei wählbar. Fehler werden im Klartext (englisch) ausgegeben. Zur Erstellung des Quelltextes kann ein Texteditor benutzt werden. Das Arbeiten mit diesem Programm macht wirklich Freude. Es ist menügesteuert, so daß jeder Befehl mit einer kurzen Erklärung versehen ist. „LOAD“ und „SAVE“, „FIND AND REPLACE STRING“ und die Möglichkeiten der Blockverschiebung, des Blocklöschens usw. sind nur einige der zur Verfügung stehenden Befehle. Außerdem kann jeder Text mit einer Zeilennummer und/oder mit einem Anführungszeichen versehen werden. Als ASCII-Datei abgespeichert, kann die Datei von BASIC wieder geladen werden. Der gleiche Vorgang funktioniert auch in der anderen Richtung. Der Editor für sich allein ist schon sein Geld wert; die Befehlsangebote lassen kaum einen Wunsch offen. Korrekturen und Einfügungen werden vollkommen problemlos bewerkstelligt; auf das Handbuch kann man getrost verzichten. Assembler und Editor, wenn geladen, werden über ein Hauptmenü aufgerufen. Von BASIC kann das Menü über den Befehl „!menu“ erreicht werden. Hierüber kann auch ein Hex-Peeker aufgerufen werden. Ein Speicherbereich wird gelistet; ASCII-Zeichen werden dargestellt. Es ist auch möglich, als Speicherbe-jeich das interne oder eins von 240 möglichen Zusatzroms dem „Memory Lister“ zugänglich zu machen. Zu dem Disassembler schweigt sich das Handbuch aus. Das ist aber auch nicht tragisch, denn in der Kassettenversion ist eh kein Debugger enthalten. Angegeben wird die Startadresse, und schon wird munter disassembliert; das Ergebnis kann auch wieder zum Drucker geschickt werden. Fernhomberg/LM
Burkhard Fernhomberg/LM , ComputerSchau
|
|
Page précédente : Hisoft Devpac80 v2 |