Sie sind auf Seite 1von 1

Grundkonzept, Entstehung und Vorteile von FORTH

Dipl.-Ing. Wolfgang Allinger

Chuck Moore stand in den 60er Jahren vor dem Problem, daß alle Rechner unterschiedlich waren und er jedesmal seine Routinen, die er
schon hatte, neu schreiben mußte. Er träumte, daß alle Rechner gleich sein müssten, dann bräuchte er nicht immer beim Urschleim anzufangen.
Da er es nicht schaffen würde, daß alle Hersteller die gleichen Rechner bauen, kam er auf die Idee, alle Rechner per Software gleich zu machen.
Er programmierte in Maschinensprache ( Assembler) eine virtuelle Maschine, die die FORTH Maschine emuliert.
Diese FORTH Maschine ist extrem einfach und simpel und besteht aus nur 6 Elementen:
Parameter STACK; Return STACK; Pointer für Parameter und Return Stack, Instruction und Work Register. Diese 6 Elemente lassen
sich mit ihren Manipulationsroutinen mit weniger als 30 Assembler Routinen nachbilden.
Beispiel eines FORTH Programmes, was selbst für Nichtprogrammierer verständlich ist:
: FEUERALARM? 1. RAUCHMELDER anwählen
BEGIN
RAUCHMELDER abfragen RAUCH entdeckt? IF FEUERALARM ein THEN
nächsten RAUCHMELDER anwählen
alle RAUCHMELDER abgefragt?
JA = UNTIL ;

Das ist kein Hexenwerk, sondern nur ein gutes funktionsfähiges Beispiel.
( Wieso schreiben Sie noch Programme, die Ihr Chef nicht lesen kann? Mit Programmen im obigen Stil überzeugen Sie ihn sofort, wie gut Sie sind! Sowas zahlt sich aus!
Marketing Leute zeigen zB. auch bei jeder Gelegenheit was sie können, und zwar so, daß es der Chef versteht! Deswegen bekommen Sie meist auch mehr Geld!)

Bei einem Z80 wird zB. der Parameter Stack mit dem Hardware Stack Dabei werden die Worte in anwenderspezifischen Ausdrücken definiert,
nach-gebildet, der Return Stack wird über das Index-Register IX dadurch kann der Anwender sich später leicht zurecht finden, da sein
nachgebildet. Bei einem 8031 werden beide Stacks im externen Memory ureigenster spezieller Wortschatz benutzt wird.
über Umladen des DPTR nachgebildet. Auf diese Grund-funktionen bauen
alle anderen Hochsprachen Definitionen auf. Weiterhin wird es immer Funktionen geben, die in Hoch-sprache nicht
Weiterhin konnte Chuck niemals einen Compiler und eine Sprache fertig beschreibbar oder genügend schnell ausführbar sind, deshalb und auch damit
ent-wickeln, die alle Wünsche seiner Kunden und Anwender jemals erfüllen FORTH Systeme sich selbst übersetzen können, ist ein Assembler integraler
kann. Also machte er aus der Not eine Tugend. Er entwickelte ein System, mit Bestandteil von FORTH Systemen. Diese CODE Module werden ebenfalls
dem der Anwender den Compiler und den Sprachumfang jederzeit auf interaktiv ausgetestet.
äußerst ein-fache Art und Weise erweitert und modifiziert. Um ein System
beliebig er-weitern zu können, muß man dem Anwender alle Tools und die FORTH Kerne lassen sich in ca. 2-4 Mannwochen für jeden beliebigen
Sourcen geben! Dies ist der Grund, warum FORTH Systeme praktisch immer Prozessor nachbilden.
komplett als Sources geliefert werden UND warum der Großteil der SW-
Industrie so ungern in FORTH arbeitet ( FORTH Anwender haben immer Es gibt sehr preisgünstige Public Domain Systeme mit teil-weise sehr
das komplette Know-How !! ). großem Umfang. F-PC für den PC Bereich enthält etwa 1500 Grundfunktio-
nen und 6-10 MB an Sources, Beispielen und Dokumentation.
Damit das System jederzeit erweiterbar ist, müssen alle Funktionen sehr
leicht und einfach zu entwickeln und zu testen sein. Die beste und schnellste Industrielle FORTH Systeme für mehr als 20 verschiedene gängige
Möglichkeit gibt dazu ein inter-aktives interpretier-endes System. Der Nachteil Microprozessor-Familien: 8080..8085, 8086..80586, 8031, 80535..., 8096/97,
von interpretier-enden Systemen ist aber das schlechte Laufzeitverhalten. Um 80166, Z8, Z80, HD64180, 6303, 6502, 65802, 65816, 6809, 68HC11, V25,
hier das Optimum zu erreichen, kompiliert FORTH jede neue Definition 68HC16, 680x0, 68HC332, TMS34010,RTX2000,1802, ...
bereits während der Ein-gabe und erreicht dadurch extrem hohe (16bit u. 32bit Systeme auch auf 8bit Prozessoren!).
Laufzeitgeschwindigkeit ohne Verlust der schnellen Entwicklung und
Testmöglichkeiten. Preisgünstig, PC Grundsystem 1000,--DM, 1. Target 1400,--DM, weitere
Targets jeweils 960,--DM ( ca. zzgl. MWSt ).
Bei Neudefinitionen und interaktivem Aufruf vorhandener Funktion-en ist
es unbedingt erforderlich, den einfachsten Dialog mit dem Bediener zu Weiterhin benötigt FORTH keinen In Circuit Emulator! Eine serielle
erreichen. Was ist einfacher und benutzerfreund-licher, als allen Funktionen Schnittstelle reicht für die komplette Entwicklung. Sie können interaktiv auf
beliebige eigene Namen zuzuordnen und sie mit diesem Namen zu rufen? einzelne bits sowohl in Ports, Memory und Registern sowie auf beliebig
FORTH legt daher alle Funktionen unter ihrem Namen in ein Wörterbuch ab. komplexe Datenstrukturen zugreifen.
Dieses Wörterbuch wird beim kompilieren erweitert. Es werden intern nur Es gibt Prozessoren mit FORTH im Maskenprom ( Z80, S8, 68HC11F),
'gefädelte' Listen abgelegt, dadurch wird bei einem typischen Funktionsaufruf sowie HOCHSPRACHEN Prozessoren die FORTH auf Hardware Ebene
das Programm nur um 2 Byte länger! Daher die extreme Kompaktheit von direkt ausführen d.h. die Maschinen-sprache ist FORTH, es gibt keinen
FORTH. Assembler! ( NOVIX, RTX 2000, FRP1600, MARC4 u.a.) Der FRP1600 ist
ein in Deutschland entwickelter und produzierter sehr schneller 16bit CMOS
Beispielsweise kann der F-PC Targetcompiler TCOM aus einer FORTH RISC Prozessor ( 13MIPS Hochsprache, Multiplikation 16*16 ->
Hochsprachendefinition, die ein Port auf einen Wert setzt, COM files von 32bit in 67nsec!, 300ns IR Latency, Taskwechsel 0,9..1,7µs ).
unter 50 byte auf dem PC erzeugen!
Dies sind dieGründe, warum FORTH Programmierer 3-30
Es sind einfachst zu benutzende Hilfsmittel vorhanden, mit denen sich mal produktiver sind als in jeder anderen Programmier-sprache
Anwender spezifische Wörter in Anwender spezifische Wörterbücher und sehr wenig Resourcen brauchen.
anordnen lassen.
Nutzen Sie in schlechten Zeiten jede Möglichkeit um Kosten zu
senken und Ihren Marktwert zu steigern!
Man erweitert FORTH solange um neue Wörter, bis man seine
Anwendung komplett in diesen neuen Worten beschreiben kann. NEUGIERIG? Rufen Sie mich an! Ich helfe Ihnen!

artikel\forth1.doc 24.6.93 (C) 1993 by Dipl.-Ing. Wolfgang Allinger, Brander Weg 6, 42699 Solingen, Tel 0212/66811

Das könnte Ihnen auch gefallen