This page (revision-5) was last changed on 03-Feb-2023 15:21 by John 

This page was created on 02-Aug-2010 04:52 by John

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
5 03-Feb-2023 15:21 25 KB John to previous
4 21-Aug-2010 05:20 25 KB John to previous | to last
3 21-Aug-2010 05:19 25 KB John to previous | to last
2 02-Aug-2010 05:05 25 KB John to previous | to last
1 02-Aug-2010 04:52 27 KB John to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 1 changed one line
! Entry into the state-FORTH
Einstieg ins volksFORTH#
At line 3 changed one line
[{TableOfContents }] \\
-Table of Contents
Einstieg ins volksFORTH
Die Oberfläche
Arbeiten mit Programm- und Datenfiles (MS-DOS / ATARI-ST / CP/M )
Der Editor
HELP und VIEW
Öffnen und Editieren eines Flies
Tastenbelegung des Editors
Beispiel: CLS
Compilierung Im Editor - Showload
Erstellen einer Applikation
Das Erstellen eines eigenen FORTH-Systems
Ausdrucken von Screens
Glossar
Druckeranpassung
Überblick
At line 5 removed one line
So you can begin immediately, is described in this chapter,
At line 7 removed 4 lines
* How to start the system
* How to find his way in the system
* How to create a finished application program
* How to build its own working system
At line 12 removed one line
! The surface
At line 14 changed one line
When you start VOLKS4TH of the DOS level, logs volksFORTH83 a Einschaltmeldung that the version rev. <xxxx> contains.
Google Machine Translation
At line 16 changed one line
What you see now from state-FORTH, the surface of the interpreter. FORTH systems and thus are almost always socially FORTH Interactive Systems, where you can check just one line of thought developed and realized immediately.
Damit Sie sofort beginnen können, wird in diesem Kapitel beschrieben,
At line 18 changed one line
''MS-DOS / ATARI PORTFOLIO''
•wie man das System startet
•wie man sich Im System zurechtfindet
•wie man ein fertiges Anwendungsprogramm erstellt
•wie man ein eigenes Arbeitssystem zusammenstellt
Die Oberfläche#
Wenn Sie VOLKS4TH von der DOS-Ebene starten, meldet sich volksFORTH83 mit einer Einschaltmeldung, die die Versionsnummer rev. <xxxx> enthält.
At line 20 changed one line
The most striking thing about the state-FORTH-surface is the inverse status cell in the bottom screen line, which can be with __status off__ off and on with __status on__ again.
Was Sie nun von volksFORTH sehen, ist die Oberfläche des Interpreters. FORTH-Systeme und damit auch volksFORTH sind fast immer Interaktive Systeme, in denen Sie einen gerade entwickelten Gedankengang sofort überprüfen und verwirklichen können.
At line 22 changed 9 lines
This status bar shows from left to right following information, where "/" for "or" position,
| <2/8/10/16> | the currently valid number basis (decimal)
| S <xx> | indicates the number of values, the readily available for processing
| Dic <xxxx> | is called the free space
| Scr <xx> | is the number of the current code block
|: A / C: | is the current drive (MS-DOS)
| <name>. <ext> | Displays the name of the file being edited. Files in MS-DOS both a name and a three-letter identifier <name>, <ext> the extension, including files can be created without extension.
| FORTH FORTH FORTH | displays the current search order according to the vocabulary concept. An example is the assembly language commands: These are located in a vocabulary called __ASSEMBLER__ __assembler words__ and shows them the instruction set of the assembler. Please pay attention to the right side of the status line. where now see __assembler forth forth__ is. But since you now - still - do not want to use assembly language instructions, please switch with __forth__ the search priority to go back. The status line shows again the familiar __forth forth__ forth.
MS-DOS / ATARI PORTFOLIO
At line 32 changed one line
Das Auffälligste an der volksFORTH-Oberfläche ist die inverse Statuszelle In der unteren Bildschirmzeile, die sich mit status off aus- und mit status on wieder einschalten lässt.
At line 34 changed one line
For orientation in the working system is the state-standards-FORTH some words are available:
Diese Statuszeile zeigt von links nach rechts folgende Informationen, wobei "/" für "oder" steht,
At line 36 changed 5 lines
| Words | command shows you the list of FORTH, the available words. The list stops at a key press with the issue or comes to an ESC.
| Files | __MS-DOS__: shows all created in the system logical file variables that are associated handle numbers, date and time of last access and its corresponding physical DOS files. Such FORTH file is signed only by the mention of her name. The MSDOS files in the directory are displayed with __dir__.
| Path | __MS-DOS__ to date: a full Pfadunterstützung after MSDOS principle, but completely independent of it. If no path set. so there __path__ nothing.
| Order | describes the search in the command lists (vocabulary).
| Vocs | call all these subdirectories (vocabularies).
<2/8/10/16> die zur Zeit gültige Zahlenbasis (dezimal)
s <xx> nennt die Anzahl der Zahlenwerte, die zum Verarbeiten bereitliegen
Dic <xxxx> nennt den freien Speicherplatz
Scr <xx> Ist die Nummer des aktuellen Quelltextblocks
A: / C: gibt das aktuelle Laufwerk an (MS-DOS)
<name>.<ext> zeigt den Namen der Datei, die gerade bearbeitet wird. Dateien haben im MS-DOS sowohl einen Namen <name> als auch eine dreibuchstabige Kennung, die Extension <ext>, wobei auch Dateien ohne Extension angelegt werden können.
FORTH FORTH FORTH zeigt die aktuelle Suchreihenfolge gemäß dem Vokabularkonzept. Ein Beispiel dafür sind die Assembler-Befehle: Diese befinden sich In einem Vokabular namens ASSEMBLER und assembler words zeigt ihnen den Befehlsvorrat des Assemblers an. Achten Sie bitte auf die rechte Seite der Statuszeile. wo jetzt assembler forth forth zu sehen ist. Da Sie aber jetzt - noch - keine Assembler-Befehle einsetzen wollen, schalten Sie bitte mit forth die Suchlaufpriorität wieder um. Die Statuszeile zeigt wieder das gewohnte forth forth forth .
At line 42 removed one line
! Working with program and data files (MS-DOS / ATARI ST / CP / M)
At line 44 changed one line
To write any program text (source text), you need a file that records the program texts. This file must be registered for processing.
Zur Orientierung Im Arbeitssystem stellt das volksFORTH einige standardkonforme Wörter zur Verfügung:
At line 46 removed one line
FORTH folk goes to the system start from the first file VOLKS4TH.SYS as the current file. VOLKS4TH.SYS is the control file from which your FORTH system was built, so you declare the file. you want to edit with this command sequence:
At line 48 changed 3 lines
(((
use <name>. <ext>
)))
words zeigt Ihnen die Befehlsliste von FORTH, die verfügbaren Wörter. Diese Liste stoppt bei einem Tastendruck mit der Ausgabe oder bricht bei einem <ESC> ab.
files MS-DOS: zeigt alle im System angelegten logischen Datei-Variablen, die zugehörigen Handle Nummern, Datum und Uhrzeit des letzten Zugriffs und ihre entsprechenden physikalischen DOS-Dateien. Eine solche FORTH-Datei wird allein durch die Nennung ihres Namens angemeldet. Die MSDOS-Dateien im Directory werden mit dir angezeigt.
path MS-DOS: informiert über eine vollständige Pfadunterstützung nach dem MSDOS-Prinzip, allerdings vollkommen unabhängig davon. Ist kein Suchpfad gesetzt. so gibt path nichts aus.
order beschreibt die Suchreihenfolge In den Befehlsverzeichnissen (Vokabular).
vocs nennt alle diese Unterverzeichnisse (vocabularies).
At line 52 changed one line
As an example, the file is registered with __test.scr__ __users test.scr__.
Arbeiten mit Programm- und Datenfiles (MS-DOS / ATARI-ST / CP/M )#
Um überhaupt Programmtexte (Quellentexte) schreiben zu können, brauchen Sie eine Datei, die diese Programmtexte aufnimmt. Diese Datei muss zur Bearbeitung angemeldet werden.
At line 54 changed one line
Would you like to use, however, a completely new file for your programs. <name> you think about a name, an ID <extension> and a reasonable size in kilobytes. Then enter:
volksFORTH geht nach dem Systemstart erst einmal von der Datei VOLKS4TH.SYS als aktueller Datei aus. VOLKS4TH.SYS ist aber die Steuerdatei, aus der Ihr FORTH-System aufgebaut wurde; deshalb deklarieren Sie die Datei. die Sie bearbeiten wollen, mit dieser Befehlsfolge:
At line 65 added 2 lines
use <name>.<ext>
Als Beispiel wird die Datei test.scr mit use test.scr angemeldet.
At line 57 changed 3 lines
(((
makefile <name>. <ext> <Größenangabe> more
)))
Möchten Sie allerdings eine vollkommen neue Datei für Ihre Programme benutzen. so überlegen Sie sich einen Namen <name>, eine Kennung <extension> und eine vernünftige Größe in KByte. Anschließend geben Sie ein:
At line 61 removed one line
Then the file is created on the drive and registered to edit. A __use__ is then no longer necessary.
At line 63 changed one line
! The Editor
makefile <name>.<ext> <Größenangabe> more
Daraufhin wird die Datei auf dem Laufwerk angelegt und zum Bearbeiten angemeldet. Ein use ist danach nicht mehr notwendig.
At line 65 changed one line
''Atari ST, MS-DOS, CP / M''
Der Editor#
Atari ST, MS-DOS, CP/M
At line 67 changed one line
To edit text blocks contain mostly older Porth systems editors, who deserves the name more than a tent when you add the bits individually, with hole punch and tape reader was required to notify the hardware. In contrast, offered an editor with which you can edit each a whole cell, certainly some comfort. Since, however, with such a line editor today make more than a state and certainly can not compete with other languages, you can work in the people-FORTH course with a comfortable full-screen editor.
Zum Bearbeiten von Quellentext-Blöcken enthalten ältere PORTH-Systeme meist Editoren, die diesen Namen höchstens zu einer Zelt verdient haben, als man noch die Bits einzeln mit Lochzange und Streifenleser an die Hardware übermitteln musste. Demgegenüber bot ein Editor, mit dem man jeweils eine ganze Zelle bearbeiten kann, sicher schon einigen Komfort. Da man jedoch mit solch einem Zeileneditor heute keinen Staat mehr machen und erst recht nicht mit anderen Sprachen konkurrieren kann, können Sie im volksFORTH selbstverständlich mit einem komfortablen Fullscreen-Editor arbeiten.
At line 69 changed one line
In this editor you can edit two files simultaneously:
In diesem Editor kann man zwei Dateien gleichzeitig bearbeiten:
At line 71 changed one line
A foreground file, and the current __isfile__ Hintergrundfile __fromfile__. Therefore, the editor two file names are displayed. The word __use__ logs to a file automatically as well as a __isfile__ __fromfile__, so that shift and copy operations relate only to this one file.
Eine Vordergrund-Datei, das aktuelle isfile und ein Hintergrundfile fromfile. Daher werden Im Editor zwei Dateinamen angezeigt. Das Wort use meldet eine Datei automatisch sowohl als isfile als auch als fromfile an, so dass sich Verschiebe- und Kopieroperationen nur auf diese eine Datei beziehen.
At line 73 changed one line
In the Editor Always a FORTH-screen - that is 1024 bytes - In the normal distribution in 16 cells, each with 64 columns is presented.
Im Editor wird Immer ein FORTH-Screen - also 1024 Bytes - In der üblichen Aufteilung in 16 Zellen mit je 64 Spalten dargestellt.
At line 75 changed one line
There is a character and a cell memory. This allows characters or cells within a screen or copy, move, or even between two screens. This will prevent accidentally lost text, can not run in the functions where this character to the bottom or side, are inserted from the screen.
Es gibt einen Zeichen- und einen Zellenspeicher. Damit lassen sich Zeichen bzw. Zellen Innerhalb eines Screens oder auch zwischen zwei Screens bewegen oder kopieren. Dabei wird verhindert, dass versehentlich Text verloren geht, in dem Funktionen nicht ausgeführt werden, wenn dadurch Zeichen nach unten oder zur Seite aus dem Bildschirm geschoben würden.
At line 77 changed one line
! HELP and VIEW
HELP und VIEW#
Der Editor unterstützt das 'Shadow-Konzept'. Zu jedem Quellentext-Screen gibt es einen Kommentar-Screen. Dieser erhöht die Lesbarkeit von FORTH-Programmen erheblich, Sie wissen ja, guter FORTH-Stil Ist selbstdokumentierend! Auf den Tastendruck CRTL-F9 stellt der Editor den Kommentar-Screen zur Verfügung. So können Kommentare 'deckungsgleich' zu den Quellentexten angefertigt werden. Dieses Shadow Konzept wird auch bei dem Wort help ausgenutzt, das zu einem Wort einen erklärenden Text ausgibt. Dieses Wort wird so eingesetzt:
At line 79 changed one line
The editor supports the 'Shadow-concept'. For each text screen, there is a comment screen. This increases the readability of FORTH programs much faster, you know, is good FORTH-style self-documenting! At the touch of a button CRTL-F9 the editor to comment screen available. Thus, comments 'are identical' made to the source texts. Shadow This concept is also used at the word __help__ that prints to a word an explanatory text. This word is so used:
help <name>
HELP zeigt natürlich nur dann korrekt eine Erklärung an, wenn ein entsprechender Text auf einem shadow screen vorhanden ist.
At line 81 changed 3 lines
(((
help <name>
)))
Häufig möchte man sich auch die Definition eines Wortes ansehen, um z.B. den Stackkommentar oder die genaue Arbeitsweise nachzulesen. Dafür gibt es das Kommando
At line 85 changed one line
HELP only shows correctly on the statement, if such a text is to screen a shadow exists.
view <name>
Damit wird der Screen - und natürlich auch das File - aufgerufen, auf dem <name> definiert wurde. Dieses Verfahren ersetzt (fast) einen Decompiler, weil es natürlich sehr viel bequemer Ist und Ihnen ja auch sämtliche Quellentexte des Systems zur Verfügung stehen.
At line 87 changed one line
Often, one might also see the definition of a word, for example Stack read the comment or the exact way of working. There are command
Werfen Sie doch bitte mit view u? einen Blick auf das Wort, das Ihnen den Inhalt einer Variablen ausgibt. Benutzen Sie
At line 89 changed 3 lines
(((
view <name>
)))
fix <name>
( fix - engl. = reparieren), so wird zugleich der Editor zugeschaltet, so dass Sie sofort gezielt Änderungen im Quellentext vornehmen können. Im Editor werden Sie zuerst nach einer Eingabe gefragt "Enter your Id:", die Sie einfach mit dem Druck auf die <cr>-Taste beantworten.
At line 93 changed one line
Thus the screen - and of course the file is called - has been defined on the <name>. This procedure replaces (almost) a decompiler, because of course it is much more convenient and you, too, all source texts of the system are available.
Dann befinden Sie sich Im Editor, mit dem man die Quelltext-blöcke bearbeitet. Der Cursor steht hinter dem gefundenen Wort u?. Nun können Sie mit PgUp oder PgDn In den Screens blättern oder mit <ESC> aus dem Editor zum FORTH zurückkehren.
At line 95 changed one line
Surf to please __view u? __ A look at the word that you output the contents of a variable. Use
Natürlich müssen für view, fix und help die entsprechenden Files auf den Laufwerken 'griffbereit' sein, sonst erscheint eine Fehlermeldung. Die VIEW-Funktion steht auch innerhalb des Editors zur Verfügung, man kann dann mit dem Tastendruck CTRL-F das rechts vom Cursor stehende Wort anfordern. Dies ist insbesondere nützlich, wenn man eine Definition aus einem anderen File übernehmen möchte oder nicht mehr sicher ist, wie der Stackkommentar eines Wortes lautet.
At line 97 changed 3 lines
(((
fix <name>
)))
Öffnen und Editieren eines Flies#
Nun aber zum Erstellen und Ändern von Quellentexten für Programme - eine schöne Definition von Editieren. Sie haben sich bestimmt eine Datei test.scr wie oben beschrieben mit
At line 101 changed one line
(Fix - engl. = Error), so also the editor is enabled, so you can immediately make specific changes in the source text. In the editor you are first prompted for a command "Enter your ID:", the answer simply by pressing the button <cr>.
makefile test.scr 6 more
angelegt. Damit haben Sie ein File namens TEST.SCR mit einer Länge von 6 Blöcken (6144 Byte = 6KB), bestehend aus den Screens 0 bis 5; davon sind die Nummern 0 bis 2 für Quellentexte, die anderen für Kommentare bestimmt.
At line 103 changed one line
Now you are editing in the editor with which you, the source blocks. The cursor is placed after the found word __u? __. Now you can scroll with PgUp or PgDn to return with <ESC> screens or from the editor to FORTH.
Um In den Editor zu gelangen gibt es drei Möglichkeiten:
At line 105 changed one line
Of course, for __view__, __fix__ __help__ and the corresponding files on the drives 'at hand', otherwise an error message. The VIEW function is also available within the editor, you can then request the keystroke CTRL-F on the right of the cursor word. This is especially useful if you want to take a definition from another file or not sure how the word is a stack comment.
<screen#> edit
oder
<scr#> l
ruft den Screen mit der Nummer <scr#> auf. Hat man bereits editiert. ruft
At line 107 changed one line
! Open and edit a flow
v
den zuletzt bearbeiteten Screen wieder auf. Dies ist der zuletzt editierte oder aber, und das ist sehr hilfreich, derjenige, der einen Abbruch beim Kompilieren verursacht hat. volksFORTH bricht - wie die meisten modernen Systeme - bei einem Programmfehler wahrend des kompilieren ab und markiert die Stelle, wo der Fehler auftrat. Dann brauchen Sie nur v einzugeben. Der fehlerhafte Screen wird in den Editor geladen und der Cursor steht hinter dem Wort, das den Abbruch des Kompiliervorgangs verursachte.
Als Beispiel soll der Block 1 editiert werden:
At line 109 changed one line
Finally to create and modify source texts for programs - a beautiful definition of editing. You have a file __test.scr__ determined as described above with
1 edit
Sie werden nach der Eingabe des dreibuchstabigen Kürzels gefragt. Dieses Kürzel wird dann rechts oben in den Screen eingetragen und gibt die "programmer's id" wieder. Wenn Sie nichts eingeben möchten, drücken Sie bitte nur <cr>. Zum Benutzen dieser Blöcke gibt es noch einige Vereinbarungen, von denen ich hier zwei nennen möchte:
1.wird der Block Nr #0 nie !! für Programmtexte benutzt - dort finden sich meist Erklärungen und Hinweise zum Programm und zum Autor.
2.In die Zelle 0 eines Blockes wird immer ein Kommentar eingetragen, der mit \ (skip Line) eingeleitet wird. Dieser Backslash sorgt dafür, dass die nachfolgende Zeile als Kommentar überlesen wird. In diese Zelle 0 schreibt man dort die Namen der Wörter, die Im Block definiert werden.
At line 111 changed 3 lines
(((
makefile test.scr 6 more
)))
Tastenbelegung des Editors #
MS-DOS
At line 115 changed one line
created. You have a file called __TEST.SCR__ with a length of six blocks (6144 bytes = 6KB), consisting of the screens 0-5, of which the numbers 0-2 for source text, the other destined for comments.
Beim Editieren stehen Ihnen folgende Funktionen zur Verfügung:
At line 117 removed 8 lines
In order to reach the editor, there are three possibilities:
(((
<screen#> edit
)))
or
(((
<scr#> l
)))
At line 126 changed one line
calls on the screen with the number <scr#>. If you have already edited. calls
Taste Funktion
F1 gibt Hilfestellung für den Editor
ESC verlässt den Editor mit dem sofortigen Abspeichern der Änderungen.
CTRL-U (undo) macht alle Änderungen rückgängig, die noch nicht auf Disk zurückgeschrieben wurden.
CTRL-E verlässt den Editor ohne sofortiges Abspeichern.
CTRL-F (fix) sucht das Wort rechts vom Cursor, ohne den Editor zu verlassen.
CTLR-L (showioad) lädt den Screen ab Cursorposition.
CTRL-N fügt an Cursorposition eine neue Zelle ein.
CTRL-PgDn splittet Innerhalb einer Zelle diese Zeile.
CTRL-S (Scr#) zeigt die Nummer des gerade editierten Screens auf dem Stack ab: z.B. für ein folgendes load oder plist.
CTRL-Y löscht die Zelle an Cursorposition
CTRL-PgUp fügt innerhalb einer Zelle den rechten Teil der unteren Zelle an die obere Zeile ein (join).
TAB bewegt den Cursor einen großen Tabulator vor.
SHIFT-TAB bewegt den Cursor einen kleinen Tabulator zurück.
F2 (suchen/ersetzen) erwartet eine Zeichenkette, die gesucht werden soll und eine Zeichenkette, die statt dessen eingefügt werden soll. Wird eins Übereinstimmung gefunden, kann man mit R (replace) die gefundene Zeichenkette ersetzen, mit <cr> den Suchvorgang abbrechen oder mit jeder anderen Taste die nächste Übereinstimmung suchen. Auf diese Weise kann man die Quellentexte auch nach einer Zeichenkette durchsuchen lassen. Als Ersatz-String wird dann <CR> eingegeben.
F3 bringt eine Zelle In den Zellenpuffer und löscht sie im Screen.
F5 bringt die Kopie einer Zelle In den Zeilenpuffer.
F7 fügt die Zelle aus dem Zellenpuffer In den Screen ein.
F4 wie F3, nur für ein einzelnes Zeichen.
F6 wie F5, jedoch für ein einzelnes Zeichen.
F8 entspricht F7, bezogen auf ein Zeichen.
F9 vertauscht die aktuelle Datei (isfile) mit der Hintergrunddatei (fromfile). Erneutes F9-Drücken vertauscht erneut und stellt damit den alten Zustand wieder her. Diese Funktion ist dann sinnvoll, wenn Sie eine Datei bearbeiten, sich zwischendurch aber mit CRTL-F ein Wort anzeigen lassen. Dann stellt F9 (=fswap) die alte Dateiverteilung wieder her, die sich durch das fix geändert hat.
SHIFT-F9 schaltet auf die Kommentartexte (shadowscreens) um und beim nächsten Drücken wieder zurück.
F10 legt den aktuellen Screen kurz beiseite, um ihn dann mit einem Druck auf F9 wieder bearbeiten zu können. Sollte Ihnen das volksFORTH eine der Kopierfunktionen copy oder convey mit der Meldung TARGET BLOCK NOT EMPTY verweigern, weil isfile und fromfile unterschiedlich sind, so sorgt F10 wieder für klare Verhältnisse.
At line 128 changed 4 lines
(((
v
)))
recently edited the screen again. This is the last edited or, and this is very helpful, the one that caused an abort when compiling. folk FORTH breaks - like most modern systems - a program error during the compile and marked from the spot where the error occurred. Then you need only enter __v__. The faulty screen is loaded into the editor and the cursor is placed after the word that caused the demolition of the build process.
Noch ein Hinweis zum Editor:
At line 133 changed 2 lines
As an example of a block
be edited:
Der Editor unterstützt nur das Kopieren von Zellen. Man kann auf diese Art auch Screens kopieren, aber beim gelegentlich erforderlichen Einfügen von Screens in der Mitte eines Files ist das etwas mühselig. Zum Kopieren ganzer Screens innerhalb eines Files oder von einem File in ein anderes werden im volksFORTH die Worte COPY und CONVEY verwendet,
At line 136 changed 4 lines
(((
1 edit
)))
You will be asked to enter the three-letter abbreviation. The shortcut is then entered in the top right of the screen and gives the "programmer's id again. If you want to type anything, you just press <cr>. To use these blocks, there are some agreements, of which I will mention two:
Beispiel: CLS#
Für Ihr erstes Programm tragen Sie nun bitte den folgenden Quellentext In Screen 1 ein:
At line 141 changed 2 lines
# # 0, the block number is never! for program texts used - there are usually found explanations and instructions on the program and author.
# In the cell 0 of a block is always entered a comment that starts with \ (skip line). This backslash ensures that the following line is ignored as a comment. In this cell 0 to write there the names of words that are defined in the block.
\ CLS löscht den gesamten Bildschirm
: cls (--) full page,
Nun drücken Sie SHIFT-F9 und tragen einen Kommentar in diesen Screen ein, wobei die Erklärung zu CLS in der gleichen Zelle, wie die Definition des Quellentextes, z.B.:
At line 171 added one line
\\ CLS
At line 145 changed one line
! Switches of the Editors
CLS löscht den gesamten Bildschirm, indem es auf die Worte
full (Bildschirmfenster auf volle Größe) und PAGE (Bild-
schirmfenster löschen) zurückgreift.
Ein nochmaliges SHIFT-F9 bringt Sie wieder zum Quellentext (source code) zurück. Damit bekommen Sie diesen erklärenden Text nach dem Kompilieren mit help cls angezeigt.
At line 147 changed one line
MS-DOS''''
Wenn Sie einen Block vollgeschrieben haben, blättern Sie nur mit PgUp vor oder mit PgDn zurück zum nächsten Block. Sind Sie mit Ihrem Programm zufrieden, so drücken Sie ESC ; dann wird der geänderte Screen sofort abgespeichert.
At line 149 changed one line
When editing, the following functions:
Danach werden Sie wieder etwas bemerken: Der Bildschirm arbeitet nicht mehr korrekt, es bleiben oben Zeilen stehen, die nicht scrollen,
At line 151 changed 26 lines
| | Key | | function
| F1 | gives assistance to the Editor
| ESC | leaves the editor with the immediate saving the changes.
| CTRL-U | (undo) makes all changes, which have not yet written back to disk.
| CTRL-E | leaves the editor without an immediate saving.
| CTRL-F | (fix) is looking for the word to the right of the cursor without leaving the editor.
| CTLR-L | (showioad) loads the screen from the cursor position.
| CTRL-N | inserts at cursor position a new cell.
| CTRL-PgDn | splits within a cell that line.
| CTRL-S | (Scr # list) from the number of screens being edited on the stack: eg for a load or following plist.
| CTRL-Y | deletes the cell at cursor position
| CTRL-PgUp | fits within a cell, the lower right part of the cell to the top line a (join).
| TAB | moves the cursor in front of a large tab.
| SHIFT-TAB | moves the cursor back a little tab.
| F2 | search and replace (/) expects a string to be searched, and a string to be inserted instead. If a match is found, can be replaced by R (replace) the search string, abort with <cr> the search or search with any other key to the next match. In this way, can the source texts can also search for a string. As a replacement string is then entered <CR>.
| F3 | bring a cell in the cell buffer and deletes it in the Screen.
| F5 | bring a copy of a cell in the row buffer.
| F7 | inserts the cell from the cell buffer in the screen.
| F4 | F3 as, only for a single character.
| F6 | F5 like, but for a single character.
| F8 | F7 corresponds, based on a character.
| F9 | exchanges the current file (__isfile__) with the background file (__fromfile__). Press F9 again swapped again referring to the old state is restored. This function is useful when you edit a file that can be in between but with CRTL-F to display a word. It turns F9 (= fswap) restore the old file distribution, which has been amended by the __fix__.
| SHIFT-F9 | switches to the comment text (shadow screens) and at the next press back.
| F10 | puts the current screen briefly aside to him to work on with a press of F9 again. If you refuse the copy features a state-FORTH __copy__ or __convey__ with the message''TARGET BLOCK NOT EMPTY''because __isfile__ and __fromfile__ are different, F10 turn causes confusion.
Das ist richtig, damit der zuletzt bearbeitete Quellentext nicht nach oben weggescrollt. Um nicht weitere zwei Zeilen des Bildschirms zu verlieren, hat das Fenster, In dem Sie gerade arbeiten, keinen Rahmen. Wie man mit Rahmen und Fenstern arbeitet, wird im Editor vorgeführt, der wie alle anderen Systemteile im Quellentext vorliegt.
At line 178 changed one line
Another note to the editor:
Um sich In Zukunft schnell aus der misslichen Lage mit der reduzierten Bildschirmgröße zu befreien, benutzen Sie Ihr erstes selbstgeschriebenes Programm cls. Denn die Eingabe von full stellt Ihnen wieder die gesamten Bildschirm zur Verfügung, wogegen page nur das aktuelle Fenster löscht.
At line 180 changed one line
The editor supports only the copying of cells. You can copy this kind screens, but sometimes necessary when inserting screens in the middle of a file is a bit cumbersome. To copy the entire screen within a file or a file to another are the words used in folk FORTH __COPY__ and __CONVEY__,
In volks4TH wird das Kompilieren - wie In den meisten FORTH-Systemen - über <scr#> load durchgeführt:
At line 182 changed one line
! Example: CLS
1 load
kompiliert Ihr Wort CLS mit für 'C'- oder Pascal-Programmierer unvorstellbarer Geschwindigkeit ins FORTH. Damit steht Ihr Mini-Programm jetzt zur Ausführung bereit. Zugleich erhalten Sie die Meldung, dass ein Wort namens CLS bereits besteht: ~CLS exists~ . Dies hat nur die Konsequenz, dass nach einer Redefinition das alte Wort gleichen Namens nicht mehr zugegriffen werden kann. Eine Möglichkeit, diese Namensgleichheit mit einem bereits existierenden Wort zu vermelden, wäre der Einsatz eines Vokabulars.
At line 184 changed one line
For your first program you now please take the following text in a screen 1:
Geben Sie einmal words ein, dann werden Sie feststellen, dass Ihr neues Wort CLS ganz oben Im Dictionary steht (drücken Sie die <ESC>-Teste, um die Ausgabe von words abzubrechen oder irgendeine andere Taste, um sie anzuhalten),
At line 186 changed 4 lines
(((
\ CLS clears the screen
: Cls (-) full page,
)))
Um das Ergebnis Ihres ersten Programmierversuchs zu überprüfen, geben Sie nun ein:
At line 191 changed one line
Now press SHIFT-F9 and enter a comment in this screen, the Declaration on __CLS__ in the same cell, such as the definition of the source text, eg:
cls
Und siehe da, der gesamte Bildschirm wird dunkel. Schöner wäre es allerdings, wenn Ihr Programm seine Arbeit mit einer Meldung beenden würde. Um dies zu ändern, werfen Sie bitte erst einmal das alte Wort CLS weg:
At line 193 changed 2 lines
(((
\ \ CLS
forget cls
Bitte kontrollieren Sie mit words, ob CLS wirklich vergessen wurde. Rufen Sie dann erneut den Editor mit v auf. Nun benutzen Sie das Wort für den Beginn einer Zeichenkette ." , das Wort für Ihr Ende " und das Wort für einen Zeilenvorschub cr. Ihr Screen 1 sieht dann so aus :
At line 196 changed 4 lines
CLS clears the screen by the words
full (screen window to full size) and PAGE (figure-
Clear screen window) recourse.
)))
\ CLS löscht den Bildschirm mit Meldung
: CLS (--)
full page
." Bildschirm ordnungsgemäß gelöscht!" cr ;
Nach dem ." Muss ein Leerzeichen stehen. Denn FORTH benutzt standardmäßig das Leerzeichen als Trennzeichen zwischen einzelnen Worten, so dass dies Leerzeichen nicht mit zur Zeichenkette (string) zählt. Dann verlassen Sie den Editor und kompilieren Sie Ihr Programm wie gehabt und starten es. Die Änderung erweist sich als erfolgreich, und Sie haben gelernt, wie einfach in FORTH das Schreiben, Austesten und Ändern von Programmteilen ist.
At line 201 changed one line
A SHIFT-F9 again to take you back to the source text (source code back). To get this explanatory text appear after compiling with __help cls__.
Eine große Hilfe sowohl für den Programmierer als auch für den späteren Benutzer sind Informationen darüber, was gerade geladen wird und was schon kompiliert wurde. Fügt man
At line 203 changed one line
If you scribbled a block, scroll with PgUp or PgDn back before the next block. Are you satisfied with your program, press ESC, and then the screen changed immediately saved.
cr .( Funktion installiert )
ein, so werden während des Ladens diese Meldungen ausgegeben. Das Wort .( leitet einen Kommentar im Interpreter ein, die schließende Klammer ) beendet ihn und cr ist natürlich für den Zeilenvorschub, das carriage return, verantwortlich.
At line 205 changed one line
Then you'll notice something: The screen no longer works correctly, it will remain above lines, not the scroll,
Compilierung Im Editor - Showload#
Eine Besonderheit von volksFORTH ist, dass selbst im Editor Funktionen des Interpreters/Compilers zur Verfügung stehen. Dieses Interpretieren und Kompilieren im Editor nennt sich Showload.
At line 207 removed one line
That's right, so the last used source text does not scroll away to the top. In order not to lose another two rows of the screen has the window in which you are working, no frame. How to work with frames and windows, is shown in the editor, which is available as all other system components in the source text.
At line 209 removed one line
In order to rapidly liberate the future from the unfortunate situation with the reduced screen size, use your first self-written program __cls__. After all, the entry of __full__ you again the entire screen available, whereas __page__ deletes only the current window.
At line 211 changed 4 lines
In compiling volks4TH - as in most FORTH systems - is performed on <scr#> load:
(((
A load
)))
CTRL-F (fix) sucht und zeigt das Wort rechts vom Cursor, ohne den Editor zu verlassen.
CTRL-L (showload) lädt den Screen ab Cursorposition.
At line 216 removed one line
compile your word __CLS__ with unimaginable for 'C' or Pascal programmers speed into FORTH. In order for your mini-program is now ready for execution. At the same time you get the message that a word called __CLS__ already exists: ~ ~ ~ ~ CLS exists. This only has the consequence that, after a redefinition of the old word of the same name can not be accessed. reported a possibility of this same name with an already existing word, would be to use a vocabulary.
At line 218 changed one line
Enter once __words__ one, then you will notice that your new word in the dictionary is __CLS__ top (press the <ESC> tests to stop the issuance of __words__ or any other key to stop it),
Um zu sehen. was diese Showload-Funktion leistet, geben Sie nun bitte folgenden Screen ein:
At line 220 changed one line
To verify the results of your test first programming, type now:
\ Ein Test für das showload
: inc 1+ ;
: dec 1- ;
\\
At line 222 changed 3 lines
(((
cls
)))
15 inc .
15 inc dec .
15 15 + 2 spaces .
Dieser Screen soll jetzt im Editor kompiliert und interpretiert werden !!
At line 226 changed one line
And lo and behold, the entire screen is dark. It would be nice if your program would end its work with a message. To change this, please take away the old word once __CLS__:
Dazu setzen Sie bitte den Cursor durch die Taste CTRL-Home In die erste Zeile auf das Zeichen {pre}\{/pre} (skip line). Drücken Sie nun CTRL-L zum Laden des Screens. volksFORTH kompiliert nun bis zu der Zeile, die mit {pre}
{/pre} (skip screen) beginnt. Die Wörter inc und dec sind dem System jetzt bekannt und können benutzt werden. Anschließend bewegen Sie den Cursor hinter das {pre}
{/pre} und drücken CTRL-L zum weiteren interpretieren im Editor. Sofort sehen Sie die Ausgaben an der entsprechenden Stelle im Editor erscheinen. Dabei bleibt der Inhalt des Screens selbstverständlich unversehrt - verlassen Sie den Editor mit ESC und sehen Sie sich den Inhalt den Screens mit <scr#> list an; Sie sehen nur die Anweisungen, aber nicht mehr die Ausgaben vor sich.
At line 228 changed 3 lines
(((
forget cls
)))
Eine typische Anwendung dieses showload wäre das Neukompilieren eines Wortes nach einer kleinen Änderung oder das interaktive Hinzufügen von Wörtern. die man gerade mal braucht.
At line 232 removed one line
Please check with __words__ whether __CLS__ was really forgotten. Then call again on the editor with __v__. Now use the word for the beginning of a string __."__, the word for your end __"__ and the word for a line feed __cr__. Your screen will look like this one:
At line 234 changed 6 lines
(((
\ CLS clears the screen with a message
: CLS (-)
full page
. 'Screen properly cleared! " cr;
)))
Erstellen einer Applikation#
MS-DOS / ATARI-ST / CP/M / ATARI 8Bit
At line 241 changed one line
After __."__ must be a space. FORTH by default because the space used as a separator between individual words, so this does not count with spaces to the string (string). Then you leave the editor and compile your program, such as start and had it. The change is proving to be successful, and you learned how easy it is in FORTH writing, testing and modifying parts of the program.
Sie wollen Ihr 'Programm' nun als eigenständige Anwendung abspeichern. Dazu erweitern Sie es zunächst ein klein wenig. Fügen Sie nun noch folgende Definition in einer neuen Zelle hinzu:
At line 243 changed one line
A great help for both the programmer and for the future users is information about what is being charged and what has been already compiled. Add
: runalone
cls bye ;
RUNALONE führt zuerst CLS aus und kehrt dann zum Betriebssystem zurück. Kompilieren Sie nun erneut. Sie führen RUNALONE aber nicht aus, sonst würden Sie FORTH ja verlassen (bye).
At line 245 changed 3 lines
(((
cr. (function) installed
)))
Das Problem besteht vielmehr darin, das System so abzuspeichern, dass es gleich nach dem Laden RUNALONE ausführt und sonst gar nichts. volksFORTH833 ist an zwei Stellen für solche Zwecke vorbereitet. In den Worten COLD und RESTART befinden sich zwei 'deferred words' namens 'COLD bzw. 'RESTART, die im Normalfall nichts tun, vom Anwender aber nachträglich verändert werden können.
At line 249 changed one line
one has to be returned during the loading of these declarations. The word __.(__ introduces a comment in the interpreter, the closing bracket ends __)__ __cr__ him and of course for the new line, the carriage return, responsible.
Sie benutzen hier 'COLD, um auch schon die Startmeldung zu unterbinden. Geben Sie also ein
At line 251 changed one line
! Build in editor - Showload
' runalone Is 'cold
und speichern Sie das Ganze mit savesystem cls.com auf Disk zurück. Sie haben Ihre erste Applikation erstellt, die Sie von der Betriebssystem Ebene aus mit CLS aufrufen können!
At line 253 changed one line
A special feature of state-FORTH, is that even in the editor functions of the interpreter / compiler is available. This interpretation and compilation in the editor called Showload.
Etwas enttäuschend ist es aber schon. Das angeblich so kompakte FORTH benötigt Über 20KByte. Um eine so lächerliche Funktion auszuführen?? Da stimmt doch etwas nicht. Natürlich, es wurden ja eine Reihe von Systemteilen mit abgespeichert, vom Fileinterface über den Assembler, den Editor usw., die für unser Programm Überhaupt nicht benötigt werden.
At line 258 added one line
Um dieses und ähnliche Probleme zu lösen, gibt es das File KERNEL.COM. Dieses Programm enthält nur den Systemkern und das Fileinterface und entspricht damit der Laufzeit-Bibliothek (runtime library) anderer Sprachen. MS-DOS: Laden Sie also KERNEL.COM und kompilieren Sie Ihre Applikation mit include multi.vid include test.scr
At line 256 changed 2 lines
| CTRL-F | (fix) is looking for and displays the word to the right of the cursor without leaving the editor.
| CTRL-L | (showload) loads the screen from the cursor position.
Das vorherige Laden von MULTI.VID ist nötig, weil FORTH-Systeme selten über Linker verfügen; wird MULTI.VID nicht vorher geladen, so ist dem FORTH-System das Wort full unbekannt. Dann wie gehabt RUNALONE in 'COLD eintragen und das System auf Disk zurückspeichern. Von der MS-DOS Ebene aus lässt sich diese Programmerstellung mit
At line 262 added 2 lines
kernel include multit.vid include test.scr
durchführen, wobei diese beiden Zellen
At line 260 changed one line
To see. what makes this Showload function, please enter now following screen:
' runalone Is 'cold
savesystem dark.com
die letzten Anweisungen auf Ihrem Screen sind. Damit wird der FORTH-Interpreter angewiesen, die fertige Anwendung DARK.COM auf Disk zu speichern.
At line 262 changed 5 lines
(((
\ A test for the showload
: Inc + 1;
: Dec 1 -;
\ \
Sie haben jetzt eine verhältnismäßig kompakte Version vorliegen. Natürlich ließe sich auch diese noch erheblich kürzen, aber dafür bräuchten Sie einen TargetCompIler, mit dem Sie nur noch die wirklich benötigten Systemteile selektiv aus dem Quellentext zusammenstellen könnten. Mit der beschriebenen Methode lassen sich aber auch größere Programme kompilieren und als Stand-alone-Applikationen abspeichern.
At line 268 changed 4 lines
15 inc.
15 dec inc.
15 15 + 2 spaces.
)))
Das Erstellen eines eigenen FORTH-Systems#
MS-DOS / CP/M
Das File VOLKS4TH.COM ist als Arbeitsversion gedacht.
At line 273 changed one line
This screen will now be compiled and interpreted in the editor!
Es enthält alle wichtigen System Teile wie Editor, Drucker-Interface, Tools, Decompiler, Tracer usw. Sollte Ihnen die Zusammenstellung nicht gefallen, können Sie sich jederzeit ein Ihren speziellen Wünschen angepasstes System zusammenstellen.
At line 275 changed one line
In addition, please put the cursor by pressing Ctrl-Home in the first line on the sign (pre) \ (pre) (skip line). Now press CTRL-L to load the screen. nationally compiled FORTH now up to the line that begins with (pre) \ \ (pre) (skip screen). The words and __inc__ __dec__ the system are now known and can be used. Next, move the cursor after the (pre) \ \ (pre) and press CTRL-L to further interpret the editor. Now you see the issues at the appropriate point appear in the editor. Here, the content of the screen intact, of course - you leave the editor with ESC and check the contents of the screens with __ <scr#> list__ on and you see only the instructions, but no more spending on.
Schlüssel dazu ist der Loadscreen des Files VOLKS4TH.SYS. Sie können dort Systemteile, die Sie nicht benötigen, mit dem Backslash {pre}\{/pre} wegkommentieren oder die entsprechenden Zellen ganz löschen. Ebenso können Sie natürlich dem Loadscreen eigene Files hinzufügen. Entspricht der Loadscreen Ihren Wünschen, speichern Sie Ihn mit <ESC> zurück, und verlassen Sie das System mit BYE. Laden Sie nun das File KERNEL.COM. Geben Sie dann ein,
At line 277 changed one line
A typical application of this would be __showload__ recompiling a word for a small change in the interactive or adding words. you just need.
include volks4TH.sys
Ist das System fertig kompiliert. schreibt die Anweisung
At line 279 changed one line
! Creating an application
savesystem volks4th.com
des Load-Screens eine neue Version von volks4TH.com auf Disk. Damit wird Ihr altes File Überschrieben (Sicherheitskopie!!), sodass Sie beim nächsten Laden von volks4TH.com Ihr eigenes System erhalten.
At line 281 changed one line
''MS-DOS / ATARI ST / CP / M / ATARI 8Bit''
Natürlich können Sie 'Ihr' System auch unter einem anderen Namen abspeichern. Ebenso können Sie Systemvoreinstellungen ändern. Unsere Arbeitsversion arbeitet - voreingestellt - neuerdings im dezimalen Zahlensystem. Natürlich können Sie mit hex auf Hexadezimalsystem umstellen; wir halten das für sehr viel sinnvoller, weil vor allem Speicheradressen im Dezimalsystem kaum etwas aussagen (oder wissen Sie, ob Speichersteile 978584 Im Bildschirmspeicher liegt oder nicht ?). Wollen Sie bereits unmittelbar nach dem Laden im Hexadezimalsystem arbeiten, können Sie sich dies mit SAVESYSTEM abspeichern, indem Sie von der FORTH Kommandozelle aus savesystem volks4TH.com eingeben.
At line 283 changed one line
You want to save your 'program' is now a standalone application. To do this, first expand it a little bit. Add now the following definition in a new cell added:
Im Übrigen empfehlen wir bei allen Zahlen über 9 dringend die Benutzung der so genannten Prefixe,
At line 285 removed 4 lines
(((
: Runalone
cls bye;
)))
At line 290 changed one line
__RUNALONE__ __CLS__ First executes and returns to the operating system. Now, compile again. You run __RUNALONE__ but not, or you would leave FORTH yes (__bye__).
prefix Zahlensystem
$ für Hexadezimal-,
& für Dezimal- und
% für Binarzahlen.
At line 292 changed one line
The problem is rather to save the system so that it immediately after loading __RUNALONE__ running and nothing else. volksFORTH833 is prepared in two places for such purposes. In the words and are __COLD__ __RESTART__ two 'deferred words' named __'COLD__ __'RESTART__ or who do not normally, but the user can be changed later.
Man vermeldet so, dass irgendwelche Dateien nicht - oder noch schlimmer, falsch - kompiliert werden, weil man gerade im anderen Zahlensystem ist. Außerdem Ist es möglich, hexadezimale und dezimale Zahlen beliebig zu kombinieren. Je nachdem, was gerade sinnvoller ist. In den Quellentexten finden Sie genug entsprechende Beispiele.
At line 294 changed one line
Use here __'COLD__ to also have to stop the startup message. This means including a
Besonders schnell und komfortabel arbeitet volksFORTH natürlich, wenn alle Teile das Systems auf einer Festplatte abgelegt sind. Sie sollten dafür ein eigenes Directory einrichten und PATH und DIR entsprechend einstellen.
At line 296 changed 3 lines
(((
'Is runalone' cold
)))
Auch die Arbeit mit einer RAM-Disk ist prinzipiell möglich, allerdings nicht sehr zu empfehlen. FORTH Ist sehr maschinennah und Systemabstürze daher vor allem zu Anfang nicht so ganz auszuschließen.
At line 300 changed one line
and save the whole thing with __savesystem cls.com__ back to disc. You have created your first application you can call from the operating system level with __CLS__!
Das Ausdrucken der Quellentexte des Systems ist sicher sinnvoll, um Beispiele für den Umgang mit voiksFORTH83 zu sehen. So stellen z.B. der Screen-Editor und der Kommando-Editor vollständige Anwendungen dar, die im Quellentext vorliegen.
At line 302 changed one line
A little disappointing but it is already. The supposedly compact FORTH About 20KByte needed. To execute such a ridiculous function? There is something wrong yet. Of course, yes there a number of system components with were saved from Fileinterface the assembler, the editor, etc., for our program is not needed at all.
Welche Flies sich im Einzelnen auf Ihren Disketten befinden und ob sie Kommentarscreens enthalten, steht in der Datei README.DOC. Zunächst müssen Sie das Drucker-Interface hinzuladen, falls es nicht schon vorhanden Ist. Reagiert Ihr volksFORTH83 auf die Eingabe von PRINTER mit einem ?, so Ist das Drucker-Interface nicht vorhanden.
At line 304 changed 2 lines
To solve this and similar problems, there are the file KERNEL.COM. This program contains only the kernel and the Fileinterface, and reflects the shared library (runtime library) of other languages.
__MS-DOS__: So you shop KERNEL.COM and compile your application with __include multi.vid include test.scr__
Ausdrucken von Screens#
MS-DOS / ATARI-ST / CP/M
At line 307 changed 4 lines
The previous load __MULTI.VID__ is necessary because FORTH systems rarely have left; __MULTI.VID__ is not loaded before, then the FORTH system __full__ the word is unknown. Then as usual in __'COLD__ __RUNALONE__ about the system and save back to disk. From the MS-DOS can level off this program generation with
(((
kernel include multit.vid include test.scr
)))
Sollte In Ihrem System kein Druckerinterface vorhanden sein, so laden Sie es von der FORTH-Kommandozeile aus mit
At line 312 changed 5 lines
Perform both of these cells
(((
'Is runalone' cold
savesystem dark.com
)))
include <Druckername>.prn
nach. Sollte Ihr Drucker In der Liste nicht erscheinen. so benutzen Sie statt dessen graphic.prn oder epson.prn. Die meisten Drucker können als IBM-GraphicPrinter oder als EPSON FX/LX-Drucker arbeiten.
At line 318 changed one line
the final instructions on your screen are. Thus the FORTH interpreter is instructed to save the completed application __DARK.COM__ to disc.
Im Printer-Interface sind einige Worte zur Ausgabe eines formatierten Listings enthalten. PTHRU druckt einen Bereich von Screens, jeweils 6 Screens auf einer DIN A4 Seite In komprimierter Schrift. Ganz ähnlich arbeitet das Wort DOCUMENT, jedoch wird bei diesem Wort neben einen Quelltextscreen der zugehörige Shadowscreen gedruckt. LISTING druckt ein ganzes File so aus, man erhält so ein übersichtliches Listing eines Datei mit ausführlichen Kommentaren.
At line 320 changed one line
You now have available a relatively compact version. Of course, this could also have reduced significantly, but you would need a compiler target, which you could assemble only the most required system components selectively from the source text. The described method can also build larger programs and as stand-alone applications save.
Glossar#
At line 322 changed 2 lines
! Creating your own FORTH system
''MS-DOS / CP / M''
wort Stack-Kommentar Beschreibung
pthru ( von bis -- ) druckt die angegebenen Blöcke immer zu sechst auf einer Seite aus.
document ( von bis -- ) arbeitet wie pthru, druckt aber jeweils drei Quelltextblöcke und drei Kommentarblöcke auf einer Seite aus
listing ( -- ) erstellt ein Listing der gesamten Datei, indem jeweils drei Quelltextblöcke und drei Kommentar-Blöcke auf einer Seite ausgedruckt werden
plist ( scr# -- ) druckt einen angegebenen Block auf dem Drucker aus
scr ( -- addr ) Ist eine Variable, die die Nummer des gerade editierten Screens enthält. Vergleiche {pre}r#, list, (error{/pre}
r# ( -- addr ) ist eine Variable, die den Abstand des gerade editierten Zeichens von Anfang des gerade editierten Screens enthält.
At line 325 changed one line
This file VOLKS4TH.COM is intended as a working version.
Druckeranpassung#
Die Druckeranpassung das Arbeitssystems wird Im Falle VOLKS4TH.SYS durch die Zeile
At line 327 changed one line
If it contains all the important system components such as editor, printer interface, tools, Decompiler, Tracer, etc. you do not like the compilation, you can always put together a system tailored to your specific needs.
include <printer>.prn
vorgenommen. In dieser Anpassung sind - zusätzlich zu den reinen Ausgaberoutinen - eine Reihe nützlicher Worte enthalten, mit denen die Druckersteuerung sehr komfortabel vorgenommen werden kann.
At line 329 changed 4 lines
Key to the Loadscreen of the file is __VOLKS4TH.SYS__. You can then parts of the system, you do not need wegkommentieren with the backslash (pre) \ (/ pre) or delete the corresponding cells completely. You may, of course, the Loadscreen add your own files. Conforms to Loadscreen your wishes, save him back with <ESC>, and leave the system with __BYE__. Now load the file __KERNEL.COM__. Then type,
(((
include volks4TH.sys
)))
Im Arbeitssystem ist das Drucker-Interface bereits enthalten. Müssen Sie Änderungen vornehmen, können Sie mit dem Editor den Loadscreen von VOLKS4TH.SYS ändern und sich ein neues Arbeitssystem zusammenstellen mit:
At line 334 changed 4 lines
Once the system finished compiling. writes the statement
(((
savesystem volks4th.com
)))
kernel include volks4TH.sys
Sie können natürlich auch den Loadscreen in seiner jetzigen Fassung benutzen und das Printer-Interface jedesmal 'von Hand' mit
At line 339 changed one line
of load screens, a new version of this disc is overwritten volks4TH.com on your old file (backup copy!), so you get the next load volks4TH.com your own system.
include <printer>. prn
nachladen.
Leider sind im Moment im volksFORTH noch deutsche und engllsche Fehlermeldungen gemischt und die heip Funktion zeigt Ihnen einen erklärenden Text nur, wenn dieser vorhanden ist.
At line 341 changed one line
Of course you can 'save your' system under a different name. You can also change system settings. Our working version works - default - now in the decimal number system. Of course you can change with __hex__ to hexadecimal, and we think this is much more useful because testify at all memory addresses in the decimal little something (or do you know if memory parts is not in the screen memory or 978 584?). Would you immediately after the shop to work in hexadecimal, you can save with this __SAVESYSTEM__ by typing the command FORTH cell __savesystem volks4TH.com__.
Überblick#
Die wichtigsten Befehle noch einmal im überblick:
At line 343 removed one line
In addition, we recommend to all figures on nine urgent use of the so-called prefixes,
At line 345 removed 6 lines
| | Prefix | | Number System
| $ | For hexadecimal,
| & | For decimal and
|% | For binary numbers.
At line 352 changed 75 lines
It is reported so that any files are not compiled - or even worse, wrong - because you're just another number in the system. Moreover, it is possible to combine hexadecimal and decimal numbers as desired. Depending on what makes more sense now. In the source texts, see enough examples of this.
Particularly fast and comfortable state-FORTH operates, of course, if all parts of the system are stored on a hard drive. You should ensure that it establishes its own directory and set __PATH__ and __DIR__ accordingly.
Also working with a RAM disk is possible in principle, but not highly recommended. FORTH is very machine-and system crashes, therefore, before the start not completely ruled out.
The printing of the source texts of the system is certainly useful to see examples of how to deal with voiksFORTH83. Shall place e.g. the screen editor and command-editor complete applications is available in the source text.
Flies in which individuals are on your disks and whether they contain this screen is, __README.DOC__ in the file. First you need to Merge the printer interface, if it is not already there. Responding to the input of your volksFORTH83 __PRINTER__ __?__, with a printer so the interface is not available.
! Printing Screens
''MS-DOS / ATARI ST / CP / M''
Should be present in your system no printer interface, so you download it from the command line with-FORTH
(((
include <printername> prn.
)))
after. If your printer does not appear in the list. you use instead __graphic.prn__ or __epson.prn__. Most printers can work as an IBM Graphic Printer or EPSON FX / LX printer.
The Printer Interface few words about the issue of a formatted listings are included. __PTHRU__ Prints a range of screens, each with 6 screens in on a DIN A4 page compressed document. Similarly, the word __DOCUMENT__ works, but is this a code word next screen, the corresponding Shadow Screen printed. __LISTING__ Print an entire file in such a way to get such a concise listing of a file with detailed comments.
! Glossary
| | Word | | stack comment | | Description
| Pthru | (up -) | always prints the specified blocks to six on a page.
| Document | (from working to -) | __pthru__ as prints, but three blocks and three comment blocks of code on a page
| Listing | (-) | created a listing of the entire file by three code blocks, and three comment blocks are printed on one page
| Plist | (scr # -) | print out a block on the specified printer
| Scr | (- addr) | is a variable that contains the number of screens being edited. Compare (pre) r #, list, (error (/ pre)
| R # | (- addr) | is a variable that contains the distance of the label being edited from the beginning of the currently edited screens.
! Printer adjustment
The printers work adapting the system in the case VOLKS4TH.SYS by the line
(((
include <printer> prn.
)))
made. In this adaptation are - in addition to the pure output routines - contain a number of useful words, with which the printer controller can be made very comfortable.
In the working system, the printer interface is included. Need to make changes, you can change with the editor of the Loadscreen VOLKS4TH.SYS and compose a new work system with:
(((
kernel include volks4TH.sys
)))
Of course you can also use the Loadscreen in its current form and the Printer Interface every time 'by hand' with
(((
include <printer>. prn
)))
recharge.
Unfortunately at the moment still in the people-FORTH German and error messages are mixed and the engllsche __heip__ that reveals an explanatory text only if it is present.
! Overview
The most important commands again at a glance:
| Status | status controls the cell
| Words | displays the currently available commands
| Files | displays the registered files
| Path | modified or call the file search path
| Order | search order of the command lists the groups on
| Vocs | lists all available command groups
| View | displays and
| Fix | edited the text a specific word
| Help | shows - if any - the comment text of a word
| Full | the Blidschirmfenster switches to full size |
| Page | deletes the current window / screen
| Index | non - resident - the contents of a block file shows |
| List | displays the contents of a screen.
| Include | command loads a whole group or part of the program
status steuert die Status-Zelle
words zeigt die gerade verfügbaren Befehle an
files zeigt die angemeldeten Dateien
path verändert oder nennt den Datei-Suchpfad
order listet die Suchreihenfolge der Befehlsgruppen auf
vocs nennt alle verfügbaren Befehlsgruppen
view zeigt und
fix editiert den Quellentext eines bestimmten Wortes
help zeigt - wenn vorhanden - den Kommentartext eines Wort
full schaltet das Blidschirmfenster auf die volle Größe
page löscht das aktuelle Fenster / den Bildschirm
index - nicht resident - zeigt den Inhalt einer Block-Datei
list zeigt den Inhalt eines Screens.
include lädt eine ganze Befehlsgruppe oder einen Programmteil