![]() |
![]() |
Startseite News   NDR-NKC ![]() ![]() ![]() NKC Emulator Z80 Section ![]() ![]() ![]() 68000 Section ![]() ![]() ![]() ![]() ![]() 8088 Section ![]() ![]() Bussysteme Stromversorgung Input / Output Grafikkarten Speicherkarten Massenspeicher Weitere Baugruppen Projekte Dokumentation Datenblätter Glossar Portraits Links Impressum |
STRUCTA - Ein Precompiler für Z80Structa ist ein Precompiler, der es erlaubt in Z80 Assembler-Programmen strukturierte Anweisungen zu benutzen. Diese Anweisungen werden durch den Precompiler in richtige Z80 Mnemonics übersetzt und können anschließend mit einem normalen Assembler in Maschinenöle überführt werden. So ist es möglich mit Anweisungen die an Hochsprachen wie BASIC oder PASCAL angelehnt sind übersichtlichen Quelltext zu schreiben und trotzdem schnellen Maschinencode zu erzeugen. Die Software wurde von R.D. Klein 1983 entwickelt und ist unter CP/M lauffähig. Strukturierte AnweisungenBesonders hilfreich sind die strukturierten Anweisungen für Abfragen und verschiedene Schleifen. Im Gegensatz zu reinem Assemblercode muss man hier keine Labels definieren, dies erfolgt automatisch durch den Precompiler. Alle Anweisungen lassen sich verschachteln.
alle Strukturen sind in der Anleitung mit Beispielen beschrieben und es wird zusätzlich der generierte Maschinencode gezeigt. Die Anleitung kann auch ohne die Benutzung von Strukta helfen Probleme in reiner Maschinensprache zu lösen. Logische VerknüpfungenBei allen strukturierten Anweisungen lassen sich die Bedingungen leserlich angeben und mehrere Bedingungen kombinieren. Hier einige Beispiele:
Code-ErzeugungDer durch den Precompiler erzeugte Assemblercode ist übersichtlich und mit Kommentaren versehen. Der Code erscheint effizient, wenn er auch nicht weiter optimiert ist. Beispiel; if a=0 nop ; else nop ; endif Übersetzter CodeOR A JP NZ, .L38 nop JP .L39 .L38: nop .L39: Der erzeugte Assemblercode ist allerdings nicht optimal, bei diesem Beispiel hätten die Sprünge mit JR-Statements anstatt der um 1 Byte längeren JP-Statements erzeugt werden können.
Beschreibung
|