| ★ APPLICATIONS ★ PROGRAMMATION ★ CPC-MACRO ★ |
CPC-MACRO (CPC Amstrad International)![]() | Macro-CPC Assembler (Schneider Aktiv)![]() |
Zwei wesentliche Faktoren führten zum Test des CPC-Macroassemblers der Firma Holtkötter. Zum einen läuft in Schneider aktiv ein Maschinensprache-Kurs, der großen Anklang findet. Wir wiesen zu Beginn darauf hin, daß zwar viel vom Maxam (Eprom)-Assembler die Rede sein wird, jedoch sei jedes andere, einigermaßen leistungsfähiges Programm ebenso zu nutzen. Viele fragten nach einem entsprechenden Bericht: Hier ist er. Wir stellten in der vergangenen Ausgabe den Lemkurs zum Thema Maschinensprache vor, der aus der gleichen Softwareschmiede stammt. Dabei deckten wir einige Mängel auf, die nur deshalb zu vertreten waren, weil die Programmierer auf ihren professionelleren Macroas-sembler verwiesen. Wer bereits etwas in die Maschinensprache hineingerochen hatte, der schreckte wohl hauptsächlich vor dem Preis zurück und fragte gleich nach ‘dem Nachfolger: hier ist er. Geliefert wird der Macroassemb-ler in der üblichen, luxuriösen Buchhülle zusammen mit einem ausführlichen Handbuch. Der gegenwärtige Preis von 138,— für die Diskettenversion ist zwar an der oberen Grenze, könnte aber gerechtfertigt sein, wenn das Programm den Leistungsbeschreibungen entspricht. Betrieb unter CP/M für alle CPCs und den Joyce Der CPC-Macroassembler arbeitet unter CP/M und wurde gleich in zwei Versionen geliefert. Eine davon gilt für den GPC 464, die andere läuft auf den Rechnertypen 664/6128 und sogar auf dem Joyce. Derartige Vielfalt setzt natürlich eine jeweils andere Tastendefinition voraus, die der Benutzer erst einmal selbst installieren bzw. aufrufen muß. Schließlich kann der Verlag nicht wissen, welcher Computer letztlich benutzt wird. Auf der B-Seite kommen einige Beispielprogramme sowie ein kleiner, aber ausbaufähiger Basiccompiler hinzu. Dann jedoch kann es losgehen, entsprechend dem Handbuch nach Aufruf der Tastaturbelegung und dem jeweiligen COM-File für den jeweiligen Rechner typ. Editor: Extrem leistungsfähig mit angenehmen Eigenheiten Bereits bei CPC-Learn konnten die Programmierer ihre Vorliebe zur Sprache Forth nicht verleugnen und auch bei „Macro” finden sich deutliche Hinweise. Für Käufer, die sich mit dem Ubungseditor in die Maschinensprache eingearbeitet haben, ist dies sicherlich nützlich, aber auch alle anderen werden schnell die Verwandschaft schätzen lernen, bietet sie doch erhebliche Vorteile. Erster positiver Punkt ist die Programmverwaltung des Editors. Er unterteilt längere Programmtexte in sogenannte „Screens “, also Bildschirmseiten. Jede dieser Seiten umfaßt ein kByte und wird ohne Benutzung des Betriebssystems auf die Diskette abgespeichert. Die Größe solch eines Programmtextes ist dann nur abhängig von der Diskettenkapazität. Innerhalb einer Seite kann dann jedoch editiert werden, als hätte man ein Textverarbeitungssystem vor sich. Die Kursorbewegungen werden dabei in Verbindung mit der Ctrl-Taste gesteuert, eine von Wordstar her bekannte und gewohnte Programmbedienung. Zur Verbindung zwischen den einzelnen Screens läßt sich vor- oder zurück-blättem. Diese Verwaltung dient jedoch nicht nur der Bequemlichkeit. Mit Hilfe einer Kopier-Op-tion können größere Programme, umgeordnet werden, um Platz für neue Seiten zu schaffen oder um Duplikate anzulegen. Ein Nachteil dieser Bildschirmseiten soll jedoch nicht verschwiegen werden. Durch die unübliche Speicherung — das Betriebssystem wird ja nicht in Anspruch genommen — muß man Systemdisketten und Screen-Disketten streng auseinanderhalten. Die Programmtexte (wohlgemerkt nicht das fertig as-semblierte Programm) können nur von einer dieser „Spezial” Datenträger eingelesen werden, da bei einer frisch formatierten Diskette alle Screens mit einem Initialisierungsmuster beschrieben werden. Feinheiten durch Labels und Macros Mit Ausnahme einiger anschließend besprochenen Funktionen hält sich der Assembler an die übliche Syntax. Er erlaubt Kommentare hinter den Befehlen (ordnungsgemäß durch Semikolon ab getrennt) und verarbeitet selbstverständlich namentlich gekennzeichnete Unterprogramme. Mit letzterem, den sogenannten „Labels” ist der erste Schritt zur strukturierten Programmierung getan. Aber hier bietet „Macro” mehr. Strukturierte Programmierung und Bottom-Up Struktur Für das erste Screen jedes Programmtextes wird ein Programmkopf verlangt. Wie logisch dieser aufgebaut ist und wie sehr er die Arbeit erleichtert, zeigt folgendes Beispiel: .PROGRAMM DEMO Wenn man gewohnt ist, in einem Programmkopf lediglich die Unterprogramme aufzurufen, dann spricht man auch von einer Bot-tom-Up Struktur des Programmes. An sich wäre dies noch nichts besonderes, aber bei „Macro” kann jeder Screen einzeln assembliert und getestet werden. Selbst den fertigen Maschinencode kann man dann noch einbinden. Das eigentliche Assemblieren ist äußerst bequem. Man ruft nur vom Hauptmenue die Option auf und gibt jenes Screen an, in dem der Programmkopf verzeichnet ist. Alles andere erledigt das Programm. Fehlerfreie Texte (wann gibt es die schon mal?) werden rasch übersetzt und mit Länge des Codes sowie der der Startadresse angegeben. Das Programm kann dann als COM-Datei abgespeichert werden. Wichtiger ist jedoch das Verhalten bei Fehlermeldungen. Hier stoppt das Programm und gibt eine von 69 möglichen Fehlerkennzahlen und die betreffende Zeilennummer aus. Die Anzahl der Fehlermeldungen sagt schon einiges darüber aus, wie einfach das Entwanzen der Ouelltexte wird. Zudem meldet sich mit dem nächsten Tastendruck noch der Editor und der Kursor Ist in der fehlerhaften Zeile. Diese Fehlerkorrektur bietet der CPC ansonsten nicht einmal unter BASIC. Wie der Name schon verspricht: Makrodefinition Es gibt gerade in der Maschinensprache häufig wiederkehrende Befehlsfolgen, die man gerne nur einmal definieren möchte, sogenannte Makros. Diese Makros werden allerdings bei jedem Befehlsaufruf neu assembliert und nicht etwa wie ein Unterprogramm mit einem CALL angesprungen. Der große Vorteil ist die Parameterübergabe, wovon beim vorliegenden Programm 10 möglich sind. Zudem können bereits definierte Makros in neuen Definitionen benutzt werden und rekursive Aufrufe sind gestattet. Wegen der verwirrenden Möglichkeiten ist dieser Bereich der Assemblerprogrammierung sicher nur etwas für den fortgeschrittenen Programmierer, muß jedoch positiv vermerkt werden. Compilerbau - Spezialgebiet von CPC MACRO Bei einfacher Makrodefinition denkt man natürlich auch bald schon an den Bau eines eigenen Compilers. Nicht, daß dies hier zur Pflicht wird, aber die Grundvoraussetzungen sind ja gegeben. Theoretisch muß man nur die gewünschte Routine, etwa den PRINT- Befehl, in eine Definition packen und schon ist der Compiler fertig. Schwierigkeiten wären hier arithmetische Ausdrücke, also mathematische Formeln machen, für die „Macro” einen eigenen Parser vorschlägt. Es handelt sich dabei wiederum lim die „Umgekehrt polnische Notation” (Postfixnotation), die bereits aus dem CPC-Leam Assembler bekannt ist. Wer also damit in die Maschinensprache einstieg, wird sich nicht schwertun, ansonsten ist ein wenig Übung vonnöten, um mit der Syntax zu, rechtzukommen. Zum Programm wird als Extra ein BASIC Compiler mitgeliefert, der für einfache Zwecke ausgerichtet ist. Mit dem Assembler ist es jedoch ohne weiteres möglich, diesen mehr und mehr auszubauen und auf die eigenen Bedürfnisse zuzuschneiden. In der vorliegenden Version sollte sich allerdings niemand allzu großen Hoffnungen hingeben. Der Tiny-BASIC Compiler (Winzig-BASlC) verdient seinen Namen zu recht, ist allerdings auch nur als gefällige Beigabe und für Übungszwecke gedacht. Das Handbuch: Ausführlich an der falschen Stella So sehr wir vom Programm angetan waren, das Handbuch gab - wie schon bei CPC Learr — den dicksten Ansatzpunkt zur Kritik und das in noch größerem Ausmaß. Dabei fehlt es bei Holt-kötter nicht an gutem Willen, denn das Buch ist mit dem Taschenbuchformat recht umfangreich und sowohl von Einband and Druckqualität her ausgezeichnet. Aber es scheint, als hätte sich der Autor nicht zwischen Programm-Manual und Lehrbuch entscheiden können. Die Programmhandhabung nimmt nur 9 Seiten in Anspruch, obwohl für den Großteil der Käufer dies wohl die wichtigsten Seiten dürften. Geradezu winzig (eine dreiviertel Seite) fällt in diesem Teil die Beschreibung der Assemblierung aus und es hilft auch nicht, wenn man die 2 Seiten der aut-gelisteten Fehlercodes hinzurech-et. Mehr und Grundlegenderes gibt es dann zum Thema Strukturierung zu lesen, wobei manches wohl überblättert werden wird. Beim Anwender von ,.Macro” darf einiges vorausgesetzt werden, zumal es sich bei dem Programm ja um die professionelle Version des CPC-Learn handeln soll. Am unangenehmsten wirkt sich allerdings das fehlende Stichwortverzeichnis aus. Platz dazu wäre vorhanden gewesen, wenn man darauf verzichtet hätte den Quellcode des Tiny-BASIC Compilers zu drucken. Fazit: CPC-MACRO, ein echter Profi Am Macroassembler von Holtkötter — er entstand übrigens bei der RVS Datentechnik - ist nichts mehr zu verbessern. Einige seiner Optionen, bzw. die Makrodefinition, zielen genau auf die Gruppe der fortgeschrittenen MC-Program-mierer, die mit diesem Programm sicherlich auch ihre helle Freude haben werden. Aber auch demjenigen, der nur über einige Grundtechniken dieser Sprache beherrscht kann „Macro” weiterhelfen, denn die Bedienung ist einfach und hält sich im wesentlichen an die inoffiziellen Normen. Einige Abweichungen zum üblichen, etwa die Screen-Verwaltung, sind nicht etwa hinderlich, sondern von Nutzen. Einziger Schwachpunkt — dies muß noch einmal gesagt werden — ist das allzu schlechte Handbuch, dem wohl von Seiten der Entwickler nicht viel Bedeutung beigemessen wurde. Reportfunktionen: Mehrere GBase bleibt bei den Druckausgaben bei seinen eigenen Ansprüchen, der Mischung aus Bequemlichkeit und Leistungsfähigkeit. Für die Tabellenausgabe, die entgegen des Menuetitels nicht unbedingt auf den Drucker erfolgen müssen, werden Report-Dateien erstellt. Auch hier sind mehrere Formen zu einer Datensammlung möglich. Sie werden abgespeichert und unter ihrem Namen aufgerufen. Die gewünschten Felder werden dann entsprechend den einzelnen Such-und Ausgabebedingungen entweder auf den Bildschirm, auf den angeschlossenen Drucker oder die Diskette ausgegeben. Handbuch Erster Teil: Gut Der Test des Programmes war bei uns so aktuell, daß wir nur einen Teil des Manuals — die Starthilfe — testen konnten. Auch dieser Teil wurde noch nicht Korrektur gelesen, so daß wir uns nur auf den Umfang, bzw. die Hilfe beschränken können, die dieses Buch bietet. Auf 55 Seiten wird die komplette Handhabung einer Datei, angefangen von der Maskenerstellung bis zur Druckerausgabe, anhand eines Beispieles erklärt. Mit solchen Trainingsmethoden wird man sicherlich zu einem schnellen Erfolg ohne langwierige Einarbeitungszeit gebracht. Allerdings bleiben viele Fragen offen, die bei einer eigenen Datei entstehen können. Die Formelein-gabe und insbesondere die Erstellung von Reports wurden sehr oberflächlich abgehandelt. Die Arbeitsdatei, anhand der das Manual die Erläuterungen gibt, sind hierzu allerdings auch nicht geeignet. Soweit die Optionen beschrieben wurden, geschah dies ausführlich und sehr informativ mit ausreichendem Bildmaterial. Was völlig fehlte, allerdings auch nichts in einem Trainingsbuch zu suchen hatte, war ein Stichwortverzeichnis und eine Kommandoübersicht. Weil in dieser Starthilfe aber auch Querverweise auf das eigentliche Handbuch zu finden sind, gehen wir von einer recht ausführlichen Programmliteratur für GBase aus. An der vorliegenden Version fand sich jedenfalls kein Punkt zu Beanstandung. Fazit: Trotz großer Leistung ist Das große Vorbild (auch auf die Gefahr hin, jemanden zu verärgern), zeigt, wie schwer es ist, eine leistungsfähige Datenbank zu programmieren, die in all ihren Optionen bequem genutzt werden kann. Eigentlich wurde dieser Anspruch erst mit GBase so recht erfüllt. Sicherlich hängt dies auch damit zusammen, daß das Programm vollständig in GEM eingebunden wurde und einige — meist optische Extras — erst hierdurch möglich sind. Vieles jedoch wurde durch die Programmierer geleistet. Fehlbedingungen sind fast unmöglich, solange man die Warn-hinweise der entsprechenden Fenster beachtet. Den größten Alptraum eines Datenbankbenutzers kann man also vergessen. Die Bedienung des Programmes ist äußerst einfach. Abgesehen von der Maussteuerung sorgt ein vollständig deutscher Programmtext für Klarheit und Logik. Gegenüber anderen Datenbanken konnten bei den meßbaren Kriterien — etwa Dateigröße, Anzahl der Suchkriterien und Verknüpfungen — keine Abstriche gemacht werden. Es scheint, daß mit GBase auch GEM ein wenig den Geruch eines Spielzeug-Systemes verliert. Unter Umständen hat SPI mit GBase auch ein wenig für die Verbreitung dieses Systemes beigetragen. Einziger Nachteil ist der mangelnde Zuschnitt auf die Grundkonfiguration des Schneider PC 1512. Wie eingangs erwähnt, dürften sich jene PC-Besitzer die Haare raufen, die nur ein Laufwerk besitzen, während die Arbeit bei einem Disketten-Duo gerade erst erträglich wird. Und wie schon bei GEM, so ist es auch bei den Laufwerken möglich, daß der Verkauf an Festplatten oder Zusatzlaufwerken etwas ansteigen wird. SA |
| ![]() |
|