Sie sind auf Seite 1von 1

Grundkonzept, Entstehung Bei Neudefinitionen und interaktivem Aufruf vorhandener Funk-

und Vorteile von tionen ist es unbedingt erforderlich, den einfachsten Dialog mit dem
Bediener zu erreichen. Was ist einfacher und benutzerfreundlicher,
FORTH als allen Funktionen beliebige eigene Namen zuzuordnen und sie mit
diesem Namen zu rufen? FORTH legt daher alle Funktionen unter
Dipl.-Ing. Wolfgang Allinger ihrem Namen in ein Wörterbuch ab. Dieses Wörterbuch wird beim
Chuck Moore stand in den 60er Jahren vor dem Problem, daß alle kompilieren erweitert. Es werden intern 'gefädelte' Listen abgelegt,
Rechner unterschiedlich waren und er jedesmal seine Routinen, die er dadurch wird bei einem typischen Funktionsaufruf das Programm
schon hatte, neu schreiben mußte. Er träumte, daß alle Rechner gleich nur 2 Byte länger! Daher die extreme Kompaktheit von FORTH.
sein müssten, dann bräuchte er nicht immer beim Urschleim anzufan- Beispielsweise kann der F-PC Targetcompiler TCOM aus einer
gen. Da er es nicht schaffen würde, daß alle Hersteller die gleichen Hochsprachendefinition, die ein Port auf einen Wert setzt, COM
Rechner bauen, kam er auf die Idee, alle Rechner per Software gleich files von unter 50 byte auf dem PC erzeugen!
zu machen. Er programmierte in Maschinensprache (Assembler) eine
virtuelle Maschine, die die FORTH Maschine emuliert. Es sind einfachst zu benutzende Hilfsmittel vorhanden, mit denen
sich Anwender spezifische Wörter in Anwender spezifische Wört-
Diese FORTH Maschine ist extrem einfach und simpel und erbücher definieren und anordnen lassen. Dadurch kann der An-
besteht aus nur 6 Elementen: Parameter STACK; Return STACK; wender sich später leicht zurecht finden, da sein ureigenster speziel-
Pointer für Parameter und Return Stack, Instruction und Work ler Wortschatz benutzt wird
Register. Diese 6 Elemente lassen sich mit ihren Manipulations-
routinen mit weniger als 30 Assembler Routinen nachbilden. Man erweitert FORTH solange um neue Wörter, bis man seine
Anwendung komplett in diesen neuen Worten beschreiben kann.
Beispiel eines FORTH Programmes, was selbst für Nichtpro-
grammierer verständlich ist: Weiterhin wird es immer Funktionen geben, die in Hochsprache
schwer beschreibbar oder genügend schnell ausführbar sind, deshalb
: FEUERALARM? 1. RAUCHMELDER anwählen und auch damit FORTH Systeme sich selbst übersetzen können, ist
BEGIN ein Assembler integraler Bestandteil von FORTH Systemen. Diese
RAUCHMELDER abfragen CODE Module werden ebenfalls interaktiv ausgetestet.
RAUCH entdeckt?
IF FEUERALARM ein THEN FORTH Kerne lassen sich in ca. 2-4 Mannwochen für jeden be-
nächsten RAUCHMELDER anwählen liebigen Prozessor nachbilden.
alle RAUCHMELDER abgefragt? Es gibt seit 1983 Industriestandards für FORTH. Seit 1994 ist
JA = UNTIL ; ANSI und IEC genormt, d.h. es existieren internationale Standards.
Das ist kein Hexenwerk, sondern ein funktionsfähiges Beispiel. Es gibt sehr preisgünstige Public Domain Systeme mit teilweise
(Wieso schreiben Sie noch Programme, die Ihr Chef nicht lesen kann? Mit sehr großem Umfang. F-PC für den PC Bereich enthält etwa 1500
Programmen im obigen Stil überzeugen Sie ihn sofort, wie gut Sie sind! Sowas Grundfunktionen und 6-10 MB an Sources, Beispielen und Doku-
zahlt sich aus! Marketing Leute zeigen zB. auch bei jeder Gelegenheit was sie mentation. Win32Forth unter Windows 95 ist noch umfangreicher.
können, und zwar so, daß es der Chef versteht! Deswegen bekommen Sie meist
auch mehr Geld!) Industrielle FORTH Systeme für über 20 verschiedene gängige
Microprozessor-Familien: 8080..8085, 8086..80586, 8031, 80535...,
Bei einem Z80 wird zB. der Parameter Stack mit dem Hardware 8096/97, 80C166, Z8, Z80, HD64180, 6303, 6502, 65802, 65816,
Stack gebildet, der Return Stack wird über das Index-Register IX 6809, 68HC11, 68HC16, 680x0, 68HC332, V25, TMS34010,
gebildet. Bei einem 8031 werden beide Stacks im externen Memory RTX2000, 1802, (16bit u. 32bit Systeme auch auf 8bit Prozessoren!).
über Umladen des DPTR gebildet. Auf diese Grundfunktionen bauen
alle anderen Hochsprachen Definitionen auf. Preisgünstig, PC Grundsystem 1000,--DM, 1. Target 1400,--DM,
weitere Targets jeweils 960,--DM ( ca. zzgl. MWSt ).
Weiterhin konnte Chuck niemals einen Compiler und eine Spra-
che fertig entwickeln, wo alle Wünsche seiner Kunden und Anwender Weiterhin benötigt FORTH keinen In Circuit Emulator! Eine
jemals erfüllen werden. Also machte er aus der Not eine Tugend. Er serielle Schnittstelle reicht für die komplette Entwicklung. Sie kön-
entwickelte ein System, mit dem der Anwender den Compiler und nen interaktiv auf einzelne bits sowohl in Ports, Memory und
den Sprachumfang jederzeit auf äußerst einfache Art und Weise Registern sowie auf beliebig komplexe Datenstrukturen zugreifen.
erweitert und modifiziert. Um ein System beliebig erweitern zu
Es gibt Prozessoren mit FORTH im Maskenprom (68HC11F, S8,
können, muß man dem Anwender alle Tools und die Sourcen geben!
Z80,), sowie HOCHSPRACHEN Prozessoren die FORTH auf Hard-
Dies ist der Grund, warum FORTH Systeme praktisch immer kom-
ware Ebene direkt ausführen d.h. die Maschinensprache ist FORTH,
plett als Sources geliefert werden UND warum der Großteil der SW-
es gibt keinen Assembler! (NOVIX, RTX 2000, FRP1600, MARC4
Industrie so ungern in FORTH arbeitet ( FORTH Anwender haben
u.a.) Der FRP1600 ist ein in Deutschland entwickelter und produzier-
immer das komplette Know-How !! ).
ter sehr schneller 16bit CMOS FORTH RISC Prozessor (13MIPS
Damit das System jederzeit erweiterbar ist, müssen alle Funkt- Hochsprache, Multiplikation 16*16 -> 32bit in 67nsec!, 300ns IR
ionen sehr leicht und einfach zu entwickeln und zu testen sein. Die Latency, Taskwechsel 0,9..1,7µs ).
beste und schnellste Möglichkeit gibt dazu ein interaktives interpre-
Dies sind Gründe, warum FORTH Programmierer 3-30 mal
tierendes System. Der Nachteil von interpretierenden Systemen ist
produktiver sind als in jeder anderen Programmiersprache und
aber das schlechte Laufzeitverhalten. Um hier das Optimum zu errei-
sehr wenig Resourcen brauchen.
chen, kompiliert FORTH jede neue Definition bereits während der
Eingabe und erreicht dadurch extrem hohe Laufzeitgeschwindigkeit Nutzen Sie in schlechten Zeiten jede Möglichkeit um Kosten zu
ohne Verlust der schnellen Entwicklung und Testmöglichkeiten. senken und Ihren Marktwert zu steigern!
NEUGIERIG? Rufen Sie mich an! Ich helfe Ihnen!
artikel\forth2.doc 30.4.1998 1998 by Dipl.-Ing. Wolfgang Allinger, Brander Weg 6, 42699 Solingen, Tel 0212/66811

Das könnte Ihnen auch gefallen