Hilfe zu Forth !!!!

Gast #498529
Lesenswert?
• ▲
▼
hallo Forumgemeinde,

ich brauche etwas Hilfe zu Forth. Ich komme nicht so ganz mit den 
Wörtern klar. Ich habe natürlich eine Word-Liste aber die ist natürlich 
auch auf Englisch. Ich würde gerne mal wissen wie groß der Adressbereich 
ist. Wenn z.B. der Stack leer ist. Dann geben ich z.B. 1 ein, dann 2 und 
dann 3, 4, 5, 6. Das heißt ich habe ganz unten die eins und am TOS (top 
of stack) die 6. Jetzt möchte ich mit dem Befehl SP@ auf die 2 
zugreifen, und auf TOS legen. Aber ich bekomme das irgendwie nicht hin. 
Ich bekomme immer nur komische Zahlen. Ich glaube es liegt auch daran 
das ich eigentlich gar nicht weiß wie groß die Adressen für eine 
eingegebene Zahl ist. Mir ist auch nicht so der unterschied zwischen @ 
und SP@ klar.
Hat von euch jemand Ahnung wie das geht oder wo ich eventuell eine gute 
Beschreibung zu den Wörtern bekomme?
Danke für eure Mühe und einen schönen Abend noch…
Gruß Dirk
#498546
Lesenswert?
• ▲
▼
Wow. es gibt noch Forth-Programmierer?

die Adresse von Stack-Werten kannst du dir glaubich nicht ausgeben 
lassen, aber um auf "tiefer" am Stack versteckte Werte zuzugreifen gibt 
es "PICK"
1 2 3 4 5 2 PICK .
Gibt "3" aus.

Ansonsten Google nach "Forth Tutorial" findet >1Mio Seiten... vielleicht 
ist ja was brauchbares dabei ;)

/Ernst
Gast #498677
Lesenswert?
• ▲
▼
SP@ gibt die Adresse des Top of Stack auf den Stack ( --- addr) was man 
dann damit machen kann ist implementationsabhängig da Stack Richtung 
grösserer oder kleinerer Adressen wachsen kann .
@ holt Wert aus Speicheradresse in Top of Stack   ( addr --- wert).

Ansonsten www.forth-ev.de
Gast #499107
Lesenswert?
• ▲
▼
Alles klar,
ich habe es jetzt, glaub ich, kappiert. Wenn ich jetzt z.B. 6 Zahlen 
eingeben (1, 2, 3, 4, 5, 6)die jeweils ein Byte haben, kann ich mit dem 
Befehl: sp@ 4 2@ den Stackpointer erst mal auf TOS bringen, dann um 4 
Byte nach unten setzen und dann die nächsten 2 Byte auf TOS holen, so 
richtig??

Danke noch mal für eure mühe!!!
Gruß Dirk
Gast #499228
Lesenswert?
• ▲
▼
Versuch das Buch 'Programmieren in Forth' von Leo Brodie ISBN 
3-446-14070-0 zu bekommen. Gibt es zwar schon lange nicht mehr, ist aber 
ein Super Forth-Buch für Anfänger bis Profie. Besonders interresant ist 
der interne Aufbau von Forth, und das jahrelang vor Smalltalk oder Lisp.
Gast #499357
Lesenswert?
• ▲
▼
Pick in fig forth
: PICK          DUP + SP@ + @ ;

SP@ kann man zb gebrauchen wenn man den n_obersten Datenstackwert 
ersetzen möchte. Oder man braucht 32bitwert an n. Oder ... .  Das ist ja 
grad eine Stärke von Forth . Code ergibt sich eigentlich aus dem von 
PICK.

Natürlich nicht Standart. Es gibts Fortsysteme deren Datenstack nicht im 
von @ erreichbarem Adressraum liegt, dann muss PICK anders aussehen.
Persönliche Seite #1313720
Lesenswert?
• ▲
▼
'bitreverse order' mit drei Bits

http://www.mathworks.com/access/helpdesk/help/toolbox/dspblks/ug/f15-8003.html

Andrea hat anscheinend acht Bits (256 Indices).

Mir ist der Forth Teil unklar.

> BSP: FFT IN TWIDDLE 3

Könnte ich mir zusammenreimen mit Werte (FFT) einlesen (IN) und dann das 
neue Wort (TWIDDLE) darauf anwenden. Was hat die 3 (adr-) zu sagen?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren