CREATE -- M,
Definitionswort. CREATE Wortname richtet Woerterbucheintrag
ein. Die darauf folgende freie Adresse im Speicher ist die
Parameterfeldadresse. Bei Ausfuehrung von Wortname Uebergabe
dieser Adresse auf dem Datenstack, d.h. keine Reservierung
von Speicherplatz im Parameterfeld.
CREATE -- Vok.: USER
Definiert ein Wort, welches die Adresse des naechsten freien
Eintrages im USER-Area uebergibt. s. USER
CRESET w adr --
Logische Verknuepfung des Inhaltes von adr. mit der Maske w
nach der Gleichung: <adr>:= /w AND <adr>
CRLF -- I/O
Vok.: I/O
gibt Hex 0D und 0A aus. Incrementiert den Zeilenzaehler #LINE
und loescht den Spaltenzaehler #OUT. Standartvoreinstellung
fuer CR.
CSET w adr --
Logische Verknuepfung des Inhaltes von adr mit der Maske w
nach der Gleichung: <adr>:= w OR <adr>
CSP -- adr
Ist eine System-Variable. Sie dient zur Sicherung des beim
Aufruf gerade aktuellen Stackpointers. Der Inhalt von adr
wird am Ende des Compilationsvorganges fuer einen Fehlertest
benoetigt.
CTOGGLE w adr --
Logische Verknuepfung des Inhaltes von adr mit der Maske w
nach der Gleichung:
<adr>:= w XOR <adr>
CURRENT -- adr U,
Adresse der Variablen, die das Compilationswoerterbuch
spezifiziert.
D+ wd1 wd2 -- wd3 "d-plus"
wd3 ist die arithmetische Summe wd1 + wd2.
D- wd1 wd2 -- wd3 "d-minus"
wd3 ist das Ergebnis der Subtraktion wd1 - wd2 .
D. d -- M, "d-dot"
Formatfreie Ausgabe des Betrags von d mit vorangestelltem '-'
fuer negatives d.
D.R d +n -- M, "d-dot-r"
Konvertierung von d bezueglich der aktuellen Zahlenbasis,
rechtsbuendige Ausgabe in einem gedachten Feld der Weite +n
mit vorangestelltem '-' fuer negatives d.
D0= wd -- flag "d-zero-equals"
flag ist wahr, falls wd = 0.
D2/ d1 -- d2 "d-two-divide"
d2 ist das Ergebnis der arithmetischen Rechtsverschiebung von
d1 um 1 Bit. Das Vorzeichen wird mit verschoben und nicht
veraendert.
D< wd1 wd2 -- flag "d-less"
flag ist wahr, falls d1 < d2. Vgl. <
D= wd1 wd2 -- flag "d-equal"
Das Flag flag ist wahr, falls wd1 = wd2.
D> d1 d2 -- flag "d-greater"
Das Flag ist true, falls d1 > d2 (vgl. >).
DABS d -- ud "d-absolute"
ud ist der Betrag von d . Fuer d = -2 147 483 648 ist d = ud.
Vgl. "Zweierkomplementarithmetik"
DECIMAL --
Zahlenbasis fuer Eingabe-/Ausgabekonvertierungen auf 10 set-
zen
DEFER --
Definiert einen Woerterbucheintrag fuer spaetere Verwendung
als Vektor.
DEFER --
Vok.: USER
Definiert einen Ausfuehrungsvektor, der fuer jedes Task
unterschiedlich sein kann. s. USER
DEFINED -- adr flag
Sucht nach dem naechsten Wort im Eingabestrom:
flag:=-1 - es existiert und adr:=cfa und normales Wort
flag:= 1 - es existiert und adr:=cfa und IMMEDIATE-Wort
flag:= 0 - es existiert nicht und adr:=HERE.
DEFINITIONS --
Zum Compilationswoerterbuch wird das erste Woerterbuch der
Suchreihenfolge.
DEFINITIONS --
Vok.: ROOT
Redefinition s. Vokabular FORTH
DEPTH -- +n
+n ist die Anzahl der Datenstackeintraege vor Uebergabe von
+n.
DIGIT n1 n2 -- n3 flag
Es wird ein Flag zurueckgegeben, welches anzeigt, ob das
Zeichen eine gueltige Dezimalstelle in gegebener Zahlenbasis
n2 ist oder nicht. Wenn es ein gueltiges Zeichen ist, wird
ein konvertierter Wert n3 und das Flag wahr zurueckgegeben.
Andernfalls das Zeichen n3=n1 und das Flag falsch.
DLITERAL d --
Compilation einer 32-Bit-Zahl in die naechste freie Woerter-
buchposition.
DMAX d1 d2 -- d "d-max"
d3 ist die groessere der beiden Zahlen d1 und d2.
DMIN d1 d2 -- d3 "d-min"
d3 ist die kleinere der beiden Zahlen d1 und d2.
DNEGATE d1 -- d2 "d-negate"
d2 ist das Zweierkomplement von d1.
DO w1 w2 -- C, I,
-- sys (comp.Mod.)
Anwendung in DO ... LOOP oder DO ... +LOOP. Eroeffnung einer
Schleife, die im Laufbereich des Indexes zwischen w2 und
w1 (Limit) abgearbeitet wird, und zwar wenigstens einmal. sys
wird mit LOOP bzw. +LOOP ausbalanciert.
DOES> -- adr C, I,
-- (comp.Mod.)
Festlegeung der Laufzeitaktivitaet eines Definitionswortes
mit : Wortnamex ... <create> ... DOES> ... ; und anschl.
Wortnamex Wortname. <create> ist CREATE oder ein beliebiges
anderes Wort, welches CREATE ausfuehrt. DOES> schliesst den
Teil fuer die Spezifikation der Compilationsaktivitaet des
Definitionswortes ab und eroeffnet den Teil fuer die
Ausfuehrungsaktivitaet. Zur Laufzeit wird die Parameterfeld
adresse von Wortname auf dem Datenstack eingetragen und
anschliessend die Sequenz zwischen DOES> und ; abgearbeitet.
DOUBLE? -- f
f ist TRUE, wenn die von NUMBER konvertierte Zahl doppelte
Genauigkeit hatte; sonst FALSE
DP -- adr U
Ist eine Systemvariable (Woerterbuchzeiger), welche in adr
die Adresse des naechsten freien Speicherzelle am Ende des
Woerterbuches enthaelt. Der Wert von DP kann mit HERE gelesen
und mit ALLOT geaendert werden.
DPL -- adr U
Ist eine Variable, die die Anzahl der Stellen nach dem
Dezimalpunkt bei Eingabekonvertierungen enthaelt.
DROP 16b --
16b wird vom Stack entnommen.
DU< ud1 ud2 -- flag "d-u-less"
Das Flag flag ist wahr, falls ud1 < ud2. Beide Zahlen sind
vorzeichenlos.
DU adr -- adr +40H
Ausgabe von 40H Bytes ab Adresse adr als Hexdump. Die
Folgeadresse wird auf dem Stck hinterlassen und kann fuer einen
weiteren Aufruf von DU verwendet werden.
DUMP adr u -- M
Ausgabe von u Bytes, die im Speicher ab adr stehen. Vor jeder
Zeile wird die Anfangsadresse ausgegeben.
DUP 16b -- 16b 16b "dup"
Dupliziert 16b.
ELSE -- C, I,
sys1 -- sys2 (comp.Mod.)
ELSE wird innerhalb IF...ELSE...THEN hinter dem IF- Zweig
abgearbeitet, Ausfuehrung setzt sich bis hinter THEN fort.
sys1 wird mit IF, sys2 mit THEN ausbalanciert.
Vgl. IF, THEN
EMIT 16b -- M, Vec
Ausgabe der niederwertigen 8 Bit auf dem aktuellen
Ausgabegeraet. #OUT wird incrementiert.
EMPTY --
Letztes Wort im Kernvokabular. Bei Aufruf werden alle spaeter
definierten Worte geloescht.
EMPTY-BUFFERS -- M, "empty-buffers"
Freigabe aller Blockpuffer. Aktualisierte Bloecke werden
nicht zum Massenspeicher zurueckgeschrieben. Vgl. BLOCK
END-CODE --
Vok.: ASSEMBLER
Schliesst eine Primitivdefinition ab und macht das vor CODE
gueltige Vokabular wieder zum aktullen CONTEXT-Vokabular.
s. ASSEMBLER
ENTRY -- adr U
eine USER-Variable mit spezieller Bedeutung fuer Multitask.
Hier wird ein Stueck MC eingetragen, welches bestimmt, ob das
Task aktiv ist oder nicht.
EOD -- adr
Vok.: I/O
Uebergibt die Adresse im Boot-Bereich, auf der die erste von
der RAM-Disk nicht mehr benutztbare Adresse steht.
ERASE adr u --
u Speicherbytes ab adr werden auf 0 gesetzt, falls u > 0
EXECUTE adr --
Ausfuehrung der mit adr bezeichneten Wortdefinition.
EXIT -- C,
Rueckkehr zu einer aufrufenden Doppelpunktdefinition hinter
die Aufrufstelle aus der aufgerufenen Doppelpunktdefinition
heraus; ( entspricht ;S in fig) in Schleifen verboten!
EXPECT adr +n -- M, Vec
Fuer +n > 0 Eingabe und byteweises Abspeichern von Zeichen ab
adr in Richtung hoeherer Adressen, bis der Steuerkode der
ENTER-Taste ÄRETÜ erkannt wird oder +n Zeichen eingegeben
sind. Ausgabe (Echo) aller Zeichen (ausser <ret>, statt
dessen Ausgabe eines Leerzeichens). Als Korrekturcode
sind 08H und 7FH installiert. Siehe (EXPECT). Vgl. SPAN
FALSE -- n
Ist eine Konstante, welche den Wert n=0 liefert
(false entspricht falsch).
FENCE -- adr
Ist eine Systemvariable, die eine Adresse enthaelt. Unterhalb
dieser Adresse wird FORGET nicht ausgefuehrt. Um unter die
angegebene Adresse zu gelangen, muss der Benutzer den Inhalt
von FENCE aendern.
FH n -- "from-here"
Dient der relativen Adressierung des zu ladenden Screens von
dem Screen in dem FH steht aus gerechnet.
1 FH LOAD laedt den naechsten Screen, 2 FH 4 FH THRU die
Reihenfolge vom uebernaechsten bis zum 4. folgenden.
FILL adr u 8b --
u Speicherbytes ab adr werden mit 8b gefuellt, falls u > 0 .
FIND adr1 -- adr2 flag
Suche des Wortes, das in der FORTH-Zeichenkette ab adr1
enthalten ist, in der aktuellen Suchreihenfolge. Kann das
Wort gefunden werden, so ist adr2 dessen Compilationsadresse
und n = 1 (IMMEDIATE-Wort) oder n = -1. Wurde das Wort nicht
gefunden, so ist adr2 = adr1 und n = 0 .
FIRST -- adr
Bringt die Adresse des ersten Blockpuffers auf den Datenstack.
FLUSH -- M,
Ausfuehrung von SAVE-BUFFERS und EMPTY-BUFFERS
FORGET -- M,
Mit FORGET Wortname werden Wortname und alle nachfolgenden
Eintraege (unabhaengig von ihrer Woerterbuchzugehoerigkeit)
entfernt, falls Wortname im Compilationswoerterbuch
gefunden werden kann. Fehler: Name wird nicht gefunden bzw.
Compilationswoerterbuch soll entfernt werden. s. (FORGET)
FORTH --
Name des Basis- (Primaer-) Woerterbuchs. Bei Ausfuehrung
von FORTH wird dieses zum ersten Woerterbuch in der
Suchreihenfolge. Bei Systeminitialisierung ist FORTH das
erste Woerterbuch und gleichzeitig Compilationswoerterbuch.
Alle Definitionen werden darin eingetragen, bis ein
anderes Compilationswoerterbuch eingerichtet wird.
Vgl. VOCABULARY
FORTH --
Vok.: ROOT
Redefinition von FORTH um vom ROOT-Vocabular auf
FORTH umschalten zu koennen.
FORTH-83 --
Sicherung der Verfuegbarkeit eines FORTH-83-Systems,
anderenfalls Fehler!
GET --
Laedt eine Screendatei vom Magnetband in die RAM-Disk.
Beachte je nach Rechnertyp installationsabhaengige
Besonderheiten.
HASH adr1 adr2 -- +n
Es ist eine Zeichenkettenadresse (adr1) und ein Zeiger(adr2)
zu einem Woerterbuch gegeben. Als Resultat erscheint der aktuelle Faden (+n). Es wird das erste Zeichen der
Zeichenkette genutzt, um den Faden zu bestimmen.
HEADER --
Teilfunktion von CREATE. Baut einen Namensheader auf.