software:diy:c:c2
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |||
software:diy:c:c2 [04/03/2006 19:03] – typo rmeissner | software:diy:c:c2 [Unbekanntes Datum] (aktuell) – Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== MICRO C ====== | ||
+ | |||
+ | |||
+ | ===== Einleitung ===== | ||
+ | |||
+ | |||
+ | Ein vernünftiges Programmierwerkzeug für den Atari Portfolio Handheld-Computer (im folgenden mit PF abgekürzt) zu finden, war eine längere Geschichte für mich. Seit 1989 habe ich das versucht, aber um ehrlich zu sein, nicht mit allzuviel Energie, da es sich schnell herausstellte, | ||
+ | Ein perfekter Computer ist irgendwie langweilig. | ||
+ | |||
+ | |||
+ | ===== Andere Lösungen ===== | ||
+ | |||
+ | |||
+ | Zuerst habe ich den A86 Assembler ausprobiert. Aber die erste Version, die ich bekommen konnte, lief nicht auf dem PF. Das nächste war ein PROMAL-Compiler (eine Sprache sehr ähnlich zu C, entworfen für Apple-II und C64), aber er war ein wenig zu groß für 128 kB RAM und 128 kB RAM-Karte. Was gut läuft auf dieser Konfiguration ist der AWK-Interpreter aus den Unix-Tools von Mortice-Kern-Systems (MKS). Ich habe den noch in Gebrauch. Er ist sehr nützlich, besonders weil er 100% Posix-kompatibel ist. Aber AWK ist nicht besonders geeignet für Systemprogrammierung. Ein weiterer Schritt war der Small-C-Compiler, | ||
+ | |||
+ | ===== Micro-C, die endgültige (?) Lösung ===== | ||
+ | |||
+ | |||
+ | |||
+ | Vor ungefähr einem Jahr bekam ich das Micro-C Paket, geschrieben von Dunfield Development Systems (DDS), von der C-Users-Group (CUG). Es sah vielversprechend aus, da der Compiler für Einplatinen-Computer entworfen wurde, in 32 kB RAM laufen und außerdem sehr portabel sein sollte. Die Software wird inclusive Quellcode geliefert. | ||
+ | |||
+ | Aber da war ein großes Handikap. Der Compiler produziert Assembler Code, der allerdings, im Gegensatz zu Small-C, nicht A86-kompatibel ist. Der Code kann nur von Microsofts MASM- oder Borlands TASM-Assembler übersetzt werden. Ich hatte beides nicht. Au×erdem hatte ich keine Idee, wo ich MASM bekommen könnte. Die Zeiten, da Microsoft DOS-2.11 (vielleicht das beste Betriebssystem, | ||
+ | |||
+ | Dann änderten 2 Ereignisse die Situation zu besseren. Zunächst kam ich zu einem MASM-5-Assembler, | ||
+ | |||
+ | Das Micro-C Paket wird auf vier 3-1/2-Zoll Disketten ausgeliefert, | ||
+ | |||
+ | So sieht meine Micro-C Arbeitsdirectory im Augenblick aus: | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | * cc ist ein Koordinator-Programm, | ||
+ | |||
+ | * Masm und link sind Versionen von Microsoft. lc ist ein Batch-Script zum linken von separat kompilierten oder assembelten (?, vom Assembler übersetzten) Modulen. | ||
+ | |||
+ | * Exe2bin konvertiert .exe- in .com-Files, wird automatisch von cc aufgerufen, wenn nicht das Small-Memory-Modell (an Stelle von Tiny) eingestellt ist. | ||
+ | |||
+ | * pc86rl_s.obj und pc86rl_t.obj sind der Startcode für das Small- bzw. Tiny-Memory-Modell. | ||
+ | |||
+ | Der Compiler arbeitet wirklich schnell und erzeugt kompakten Code. Einige Testprogramme, | ||
+ | |||
+ | Manchmal bewirkte ein Fehler im Quellprogramm, | ||
+ | |||
+ | Dies ist meine erste Erfahrung mit Micro-C und Micro-C auf dem PF. Ich denke, die Konfiguration kann noch verbessert werden | ||
+ | |||
+ | Rolf Henze. 25.07.97 |