<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.forth-ev.de/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://wiki.forth-ev.de/feed.php">
        <title>Forth-eV Wiki - words</title>
        <description></description>
        <link>https://wiki.forth-ev.de/</link>
        <image rdf:resource="https://wiki.forth-ev.de/lib/exe/fetch.php/wiki:logo.png" />
       <dc:date>2026-05-04T08:13:08+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:amforth-sinus?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:ans_forth?rev=1752960698"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:array?rev=1753866406"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:backslash_s?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:catch_throw?rev=1755033454"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:checked-array?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:cls?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:comma-quote?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:d-number.fs?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:d-star-collection?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:dot-backslash-quote?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:doubleext2_wordset?rev=1753866143"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:dump?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:exchange?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:fundstuecke?rev=1305036610"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:hex2bcd?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:hier?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:kernel_embedded?rev=1396612335"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:number_input_output?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:pick?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:quote-comma?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:random?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:require?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:runtime_support?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:s?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:scan?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:sinus?rev=1752959856"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:skip?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:stack_variables?rev=1305036481"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:standard_code_that_lets_you_postpone_multiple_commands_without_typing_postpone?rev=1305036658"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:string_input_output?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:tags?rev=1426792447"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:test_that?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:volksforth_kernel?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:words?rev=1736116003"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.forth-ev.de/lib/exe/fetch.php/wiki:logo.png">
        <title>Forth-eV Wiki</title>
        <link>https://wiki.forth-ev.de/</link>
        <url>https://wiki.forth-ev.de/lib/exe/fetch.php/wiki:logo.png</url>
    </image>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:amforth-sinus?rev=1293642765">
        <dc:format>text/html</dc:format>
        <dc:date>2010-12-29T17:12:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sin and cos</title>
        <link>https://wiki.forth-ev.de/doku.php/words:amforth-sinus?rev=1293642765</link>
        <description>sin and cos


\ Sinus and Cosinus
\ Use table calculating integer sin.
\ Get values scaled by 10K. 

\ tested ok on amforth-1.5 on butterfly atmega169; build 24.09.08

decimal

create sintab  \ 0...90 Grad, Index in Grad 
0000 ,  0175 ,  0349 ,  0523 ,  0698 ,  0872 ,  
1045 ,  1219 ,  1392 ,  1564 ,  1736 ,  1908 , 
2079 ,  2250 ,  2419 ,  2588 ,  2756 ,  2924 ,  
3090 ,  3256 ,  3420 ,  3584 ,  3746 ,  3907 ,  
4067 ,  4226 ,  4384 ,  4540 ,  4695 ,  4848 ,  
5000 ,  5150 ,  5299 ,  5446 ,  55…</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:ans_forth?rev=1752960698">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-19T21:31:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ANS Forth-Wörter</title>
        <link>https://wiki.forth-ev.de/doku.php/words:ans_forth?rev=1752960698</link>
        <description>ANS Forth-Wörter

Gforth is fully ANS Forth compliant. 

F68KANS is an ANS Forth compliant system for Motorola 680×0 CPU.

dpans is last draft of ANS Forth.  [dpans6v3_3.zip]

----------

	* Core words
	* Core extension words
	* Double-Number words
	* Double-Number extension words
	* Double-Number extension words, more.</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:array?rev=1753866406">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-30T09:06:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>array</title>
        <link>https://wiki.forth-ev.de/doku.php/words:array?rev=1753866406</link>
        <description>array

Statische Arrays an zu legen ist ein häufig geübter, aber im ANS Forth nicht standardisierter Vorgang. Die wohl weit verbreitete „klassische“ Form ist so: 



: Array ( n -- )  
    CREATE CELLS ALLOT 
  DOES&gt; ( n -- addr ) 
    SWAP CELLS + ;

\ Kann so benutzt werden:
\ 10 array DATA
\ 1 data ! . 
\ 2 data ! .
\ ...
\ 1 data @ . 
\ 2 data @ .</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:backslash_s?rev=1293642765">
        <dc:format>text/html</dc:format>
        <dc:date>2010-12-29T17:12:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>backslash_s</title>
        <link>https://wiki.forth-ev.de/doku.php/words:backslash_s?rev=1293642765</link>
        <description>backslash_s

Das Wort \s wird im win32forth verwendet um die Interpretation vom Rest einer Datei zu verwerfen. Andere Forthsysteme mögen andere Worte dafür verwenden, üblich ist auch \\. Hier ein Weg um sich zu behelfen falls das eigene System nichts ähnliches hat.</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:catch_throw?rev=1755033454">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-12T21:17:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>catch throw</title>
        <link>https://wiki.forth-ev.de/doku.php/words:catch_throw?rev=1755033454</link>
        <description>catch throw

Schritt für Schritt durch catch den throw.

Hier zunächst die Begriffsklärung.

sp@ ( -- addr ) Zeiger auf den obersten Datenstackeintrag.

rp@ ( -- addr ) Zeiger auf den obersten Returnstackeintrag.

sp! ( addr -- ) Stellt den Datenstackzeiger auf addr ein. Damit wird die Tiefe des Datenstack auf den selben Wert eingestellt, der bestand unmittelbar bevor sp@ ausgeführt wurde.</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:checked-array?rev=1293642765">
        <dc:format>text/html</dc:format>
        <dc:date>2010-12-29T17:12:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://wiki.forth-ev.de/doku.php/words:checked-array?rev=1293642765</link>
        <description>require &quot;,

VARIABLE range-checking    TRUE range-checking !

: Unchecked-Array ( n -- )  
    CREATE CELLS ALLOT 
  DOES&gt; ( n -- addr ) 
    SWAP CELLS + ;

: Checked-Array ( n -- )
   HERE  &gt;IN @  BL WORD COUNT &quot;,  &gt;IN !  ( n c-addr )
   CREATE OVER , COUNT , , CELLS ALLOT
  DOES&gt; ( n -- addr )
    range-checking @ IF
      &gt;R  DUP R@ @ U&lt; 0= 
      IF .&quot; Index out of range in Array &#039;&quot; R@ CELL+ 2@ TYPE 
         .&quot; &#039;! Actual Index: &quot; U. 
         .&quot; Maximal Index: &quot; R@ @ 1- U. ABORT 
      THE…</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:cls?rev=1293642765">
        <dc:format>text/html</dc:format>
        <dc:date>2010-12-29T17:12:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cls</title>
        <link>https://wiki.forth-ev.de/doku.php/words:cls?rev=1293642765</link>
        <description>cls

Ein Hilfe die ich gerne benutze wenn neuer Forth Code interaktiv ausgetestet wird.



: cls  ( x0 .. xn -- ) \ clear stack
  depth 0= IF ( noop) ELSE  depth 0 do drop loop THEN ;



Ein andere Variante ist diese:



: CLEAR  ( i*x -- )  \ clear stack  
  DEPTH 0 ?DO DROP LOOP ;</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:comma-quote?rev=1293642765">
        <dc:format>text/html</dc:format>
        <dc:date>2010-12-29T17:12:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://wiki.forth-ev.de/doku.php/words:comma-quote?rev=1293642765</link>
        <description>require &quot;,

: ,&quot; ( ccc&lt;&quot;&gt; -- )     [CHAR] &quot; PARSE &quot;, ; 


Tags: ANS-Forth input-stream dictionary string</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:d-number.fs?rev=1293642765">
        <dc:format>text/html</dc:format>
        <dc:date>2010-12-29T17:12:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://wiki.forth-ev.de/doku.php/words:d-number.fs?rev=1293642765</link>
        <description>\ Double Number Word Set 
\ by Luca Masini 2008)

\ ---- logic and shift words for double cell operands -------------------------

: dand    ( d d -- d     ) rot and &gt;r and r&gt;       ;
: dinvert (   d -- d     ) swap invert swap invert ;
: dlshift ( d u -- d     ) 0 ?do d2* loop          ;
: dor     ( d d -- d     ) rot or  &gt;r or  r&gt;       ;
: dnot    (   d -- 0.|1. ) d0= abs s&gt;d             ;
: drshift ( d u -- d     ) 0 ?do d2/ loop dabs     ;
: dxor    ( d d -- d     ) rot xor &gt;r xor r&gt;       …</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:d-star-collection?rev=1293642765">
        <dc:format>text/html</dc:format>
        <dc:date>2010-12-29T17:12:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>d-star-collection</title>
        <link>https://wiki.forth-ev.de/doku.php/words:d-star-collection?rev=1293642765</link>
        <description>d-star-collection

Grundlagen

Wir lernen in der Schule multiplizieren in der „langen Form“ und die Frage ist nun, können wir damit einen Algorithmus finden, um doppelt genaue Zahlen zu multiplizieren?

Die lange Multiplikation geht so:



12 * 34
-------
      8
+    40  
+    60
+   300
    ---
+   100 Ü
    ---
    408 Summe
    ===</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:dot-backslash-quote?rev=1293642765">
        <dc:format>text/html</dc:format>
        <dc:date>2010-12-29T17:12:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>.\&quot;</title>
        <link>https://wiki.forth-ev.de/doku.php/words:dot-backslash-quote?rev=1293642765</link>
        <description>.\&quot;

Das “dot-backslash-quote” funkioniert wie der bekanntere Zeichenketten Compiler .„ kann aber etwas besonderes. Es benutzt \“-parse statt parse und ist so in der Lage, Terminal Steuercodes zu interpretieren - so wie es in C üblich ist. 
--[</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:doubleext2_wordset?rev=1753866143">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-30T09:02:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>double number words</title>
        <link>https://wiki.forth-ev.de/doku.php/words:doubleext2_wordset?rev=1753866143</link>
        <description>double number words

Bitte hier Beispiele für die Implementation doppelt genauer Berechnungen ablegen.

Handy Reference Card

Im Gforth sind all diese Worte vorhanden.

Optional Double-Number Word Set
2CONSTANT( x1 x2 „&lt;spaces&gt;name“ -- )2LITERALcompiletime: ( x1 x2</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:dump?rev=1293642765">
        <dc:format>text/html</dc:format>
        <dc:date>2010-12-29T17:12:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dump</title>
        <link>https://wiki.forth-ev.de/doku.php/words:dump?rev=1293642765</link>
        <description>dump

Das Wort dump listet Werte aus dem RAM auf. 

Beginnend bei der Startadresse holt es aufsteigend Byte für Byte aus dem Speicher und zeigt diese zeilenweise an. Anschließend werden die ASCII-Werte der selben Bytefolge angezeigt. Es wird immer mindestens eine ganze Zeile angezeigt. Die Darstellung der Werte erfolgt passend zur verwendeten Zahlenbasis wie sie in der Uservariablen</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:exchange?rev=1293642765">
        <dc:format>text/html</dc:format>
        <dc:date>2010-12-29T17:12:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>exchange</title>
        <link>https://wiki.forth-ev.de/doku.php/words:exchange?rev=1293642765</link>
        <description>exchange

Ab und zu kommt man in die Verlegenheit und muss einzelne Items auf dem Stack vertauschen. Dann kommt es zur berüchtigten Stack-Akrobatik. ;-)



: exchange  ( xi ... xn ... x0 n -- xi ... x0 ... xn )
  dup 0= IF drop exit THEN
  dup 1 = IF drop swap exit THEN
  swap &gt;r &gt;r
  r@ cells sp@ + @ 
  r&gt; r&gt; swap 
  2 + cells sp@ + ! ;</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:fundstuecke?rev=1305036610">
        <dc:format>text/html</dc:format>
        <dc:date>2011-05-10T14:10:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Fundstücke</title>
        <link>https://wiki.forth-ev.de/doku.php/words:fundstuecke?rev=1305036610</link>
        <description>Fundstücke

Bitte fügt hier interessante Tricks ein, die ihr in Newsgruppen gefunden habt.

	* Hex nach BCD wandeln

----------

Hier können Fundstücke eingefügt werden.

	*  Standard code that lets you POSTPONE multiple commands without typing POSTPONE in front of each of them by Doug Philips
	*  Stack Variables by Doug Philips
	*  cls - Stack löschen; benutzt für Testzwecke.
	*  pick - Picking the stack: &quot;I hate jugglers.&quot;
	*  exchange - Items austauschen: &quot;I hate jugglers II.&quot;
	*  .s - Stack …</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:hex2bcd?rev=1293642765">
        <dc:format>text/html</dc:format>
        <dc:date>2010-12-29T17:12:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Hex nach BCD wandeln</title>
        <link>https://wiki.forth-ev.de/doku.php/words:hex2bcd?rev=1293642765</link>
        <description>Hex nach BCD wandeln

Der Trick hier ist, eine BCD-Zahl durch fortwährende Multiplikation mit 2 (in BCD-Arithmetik) zu erzeugen, die dem Wert der ebenfalls fortwährend mit 2 multiplizierten Binärzahl entspricht.


: bcd2* ( bcd1 -- bcd2 )
  dup $88888888 and 2/ dup 2/ or swap 2* swap + \ forward carry correction
  dup $88888888 and over $44444444 and 2 pick $22222222 \ BCD correction
  and 2* or 2* and 2/ dup 2/ or + ;

: hex&gt;bcd ( u -- bcd )
  0 8 cells 0 DO  bcd2* over 0&lt; - swap 2* swap  LOOP …</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:hier?rev=1293642765">
        <dc:format>text/html</dc:format>
        <dc:date>2010-12-29T17:12:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>idump edump dump</title>
        <link>https://wiki.forth-ev.de/doku.php/words:hier?rev=1293642765</link>
        <description>idump edump dump

In Microcontrolern wie dem AVR Atmega gibt es drei verschiedene Speicherbereiche - Ram, Flash und Eeprom - die unterschiedlich organisiert sind. Auf das Ram kann byteweise zugegriffen werden. Das Flash wird zellenweise angesprochen, ebenso wie das Eeprom. So gibt es neben dem</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:kernel_embedded?rev=1396612335">
        <dc:format>text/html</dc:format>
        <dc:date>2014-04-04T11:52:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Was braucht man für einen Forth Kern?</title>
        <link>https://wiki.forth-ev.de/doku.php/words:kernel_embedded?rev=1396612335</link>
        <description>Was braucht man für einen Forth Kern?

Minimal Word Set

Überlegungen zum kleinst möglichen Satz an Forthworten mit denen man einen brauchbaren Forthkern implementieren kann hatte Bernd Paysan seierzeit angestellt. Minimal Word Set

Forth Kernel Words for embedded Systems</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:number_input_output?rev=1293642765">
        <dc:format>text/html</dc:format>
        <dc:date>2010-12-29T17:12:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Number input/output</title>
        <link>https://wiki.forth-ev.de/doku.php/words:number_input_output?rev=1293642765</link>
        <description>Number input/output
 #       ( ud1 --- ud2 ) #&gt;   ( xd --- c-addr u ) #S     ( ud1 --- ud2 ) [dot])            ( n --- ) &lt;#  ( --- ) &gt;NUMBER         ( ud1 c-addr1 u1 --- ud2 c-addr2 u2 ) BASE            ( --- a-addr ) DECIMAL         ( --- ) HOLD            ( char --- ) SIGN            ( n</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:pick?rev=1293642765">
        <dc:format>text/html</dc:format>
        <dc:date>2010-12-29T17:12:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>pick</title>
        <link>https://wiki.forth-ev.de/doku.php/words:pick?rev=1293642765</link>
        <description>pick

In ANS ist 0 PICK aquivalent zu DUP (gforth).

PICK wird gewöhnlich low level codiert. Das Beispiel in high level forth zeigt das Verhalten des Stack. 


\ pick nth item from stack. top of stack is x0 befor n was placed there.

: pick  ( n -- xn ) 
  1+ cells sp@ + @ ;</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:quote-comma?rev=1293642765">
        <dc:format>text/html</dc:format>
        <dc:date>2010-12-29T17:12:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://wiki.forth-ev.de/doku.php/words:quote-comma?rev=1293642765</link>
        <description>: &quot;, ( addr len -- )   
   HERE  OVER CHAR+ ALLOT  2DUP &gt;R &gt;R CHAR+ SWAP CMOVE  R&gt; R&gt; C! ;   


Tags: ANS-Forth dictionary string</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:random?rev=1293642765">
        <dc:format>text/html</dc:format>
        <dc:date>2010-12-29T17:12:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>random</title>
        <link>https://wiki.forth-ev.de/doku.php/words:random?rev=1293642765</link>
        <description>random

Return a random integer.

Gforth version


Variable seed
$10450405 Constant generator
: rnd  ( -- n )  seed @ generator um* drop 1+ dup seed ! ;
: random ( n -- 0..n-1 )  rnd um* nip ;


Der generator wurde ausfaktorisiert. Damit besteht die Möglichkeit, einen anderen</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:require?rev=1293642765">
        <dc:format>text/html</dc:format>
        <dc:date>2010-12-29T17:12:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>require</title>
        <link>https://wiki.forth-ev.de/doku.php/words:require?rev=1293642765</link>
        <description>require

Auf der Suche nach  nehmen, laden, geht–Bibliotheken hat Ulrich Hoffmann seinen Weg, den er seit 1995 geht, auf der Forthtagung 2008 in Roggenburg noch einmal vorgestellt. [Vortrag zum Quellcode-Bibliothekssystem]

Über den äußeren Textinterpreter des Forth (Outer–Interpreter) ist es möglich eine extrem einfache Implementierung zu schaffen, die Forthworte einzeln nachlädt. Diese kann leicht in jedes System integriert werden.</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:runtime_support?rev=1293642765">
        <dc:format>text/html</dc:format>
        <dc:date>2010-12-29T17:12:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Runtime Support</title>
        <link>https://wiki.forth-ev.de/doku.php/words:runtime_support?rev=1293642765</link>
        <description>Runtime Support
 NEXT      inner interpreter doVAR     ( --- c-addr ) functionality of words created with CREATE and VARIABLE doCONST   ( --- x )      functionality of words created with CONSTANT doCOLON   ( ix --- ix ) und ( R:  --- nest-sys )  functionality of words created with :</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:s?rev=1293642765">
        <dc:format>text/html</dc:format>
        <dc:date>2010-12-29T17:12:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>.s</title>
        <link>https://wiki.forth-ev.de/doku.php/words:s?rev=1293642765</link>
        <description>.s

Wird benutzt um die Items auf dem Stack zu zeigen. Es gibt verschieden Arten den Stack darzustellen. Die Gestaltung des Wortes .s ist also Geschmacksache, bzw. je nach Fragestellung an den Stack auszulegen. So ist es mitunter nützlich sein eigenes</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:scan?rev=1293642765">
        <dc:format>text/html</dc:format>
        <dc:date>2010-12-29T17:12:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://wiki.forth-ev.de/doku.php/words:scan?rev=1293642765</link>
        <description>: scan  ( addr len c -- addr&#039; len&#039; )
    \ Within the string given by ADDR and LEN scan for the first occurances 
    \ of character C. Return the remaining string denoted by ADDR&#039; and LEN&#039;.
    &gt;R
    BEGIN ( addr len ) 
      DUP
    WHILE ( addr len )
      OVER C@ R@ - 
    WHILE 
      1 /STRING
    REPEAT THEN
    R&gt; DROP ;</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:sinus?rev=1752959856">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-19T21:17:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sinus</title>
        <link>https://wiki.forth-ev.de/doku.php/words:sinus?rev=1752959856</link>
        <description>Sinus

sinus cosinus integer numbers

Das Beispiel ist in gforth codiert worden.

Erklärung

Um den Sinus eines Winkels mit ganzen Zahlen (integer) darstellen zu können, skaliert man passend zur Anwendung. Benötigt man z.B. vier Stellen des Sinuswertes, wird er mit 10K multipliziert ausgegeben.</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:skip?rev=1293642765">
        <dc:format>text/html</dc:format>
        <dc:date>2010-12-29T17:12:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>https://wiki.forth-ev.de/doku.php/words:skip?rev=1293642765</link>
        <description>: skip  ( addr len c -- addr&#039; len&#039; )
    \ Within the string given by ADDR and LEN skip leading occurances of
    \ character C. Return the remaining string denoted by ADDR&#039; and LEN&#039;.
    &gt;R
    BEGIN ( addr len )
      DUP 
    WHILE ( addr len )  
      OVER C@ R@ =  
    WHILE  
      1 /STRING
    REPEAT THEN 
    R&gt; DROP ;</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:stack_variables?rev=1305036481">
        <dc:format>text/html</dc:format>
        <dc:date>2011-05-10T14:08:01+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Stack Variables</title>
        <link>https://wiki.forth-ev.de/doku.php/words:stack_variables?rev=1305036481</link>
        <description>Stack Variables


From willett!dwp@vax.cs.pitt.edu Wed Jan 26 02:43:08 1994
Return-Path: &lt;willett!dwp@vax.cs.pitt.edu&gt;
Received: from vax.cs.pitt.edu by ks.mpi-dortmund.mpg.de (4.1/SMI-4.1MHS-mpi-1.4.93)
	id AA13404; Wed, 26 Jan 94 02:42:51 +0100
Received: from willett.UUCP by vax.cs.pitt.edu (5.65/1.14)
	id AA16578; Tue, 25 Jan 94 20:30:25 -0500
Date: Tue, 25 Jan 94 06:53:28 EDT
From: dwp@willett.pgh.pa.us (Doug Philips)
Subject: Part 1 of 1 of SVAR.TXT
Message-Id: &lt;9401250653.0.UUL1.3#5129@wil…</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:standard_code_that_lets_you_postpone_multiple_commands_without_typing_postpone?rev=1305036658">
        <dc:format>text/html</dc:format>
        <dc:date>2011-05-10T14:10:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Standard code that lets you POSTPONE multiple commands without typing POSTPONE in front of each of them</title>
        <link>https://wiki.forth-ev.de/doku.php/words:standard_code_that_lets_you_postpone_multiple_commands_without_typing_postpone?rev=1305036658</link>
        <description>Standard code that lets you POSTPONE multiple commands without typing POSTPONE in front of each of them


From willett!dwp@vax.cs.pitt.edu Wed Jan 26 02:42:39 1994
Return-Path: &lt;willett!dwp@vax.cs.pitt.edu&gt;
Received: from vax.cs.pitt.edu by ks.mpi-dortmund.mpg.de (4.1/SMI-4.1MHS-mpi-1.4.93)
	id AA13400; Wed, 26 Jan 94 02:42:30 +0100
Received: from willett.UUCP by vax.cs.pitt.edu (5.65/1.14)
	id AA16582; Tue, 25 Jan 94 20:30:36 -0500
Date: Tue, 25 Jan 94 06:53:38 EDT
From: dwp@willett.pgh.pa.us (…</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:string_input_output?rev=1293642765">
        <dc:format>text/html</dc:format>
        <dc:date>2010-12-29T17:12:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>String input output</title>
        <link>https://wiki.forth-ev.de/doku.php/words:string_input_output?rev=1293642765</link>
        <description>String input output
 ACCEPT   ( c-addr +n1 --- +n2 ) BL       ( --- char ) CR       ( --- ) EMIT     ( x --- ) KEY      ( --- char ) SPACE    ( --- ) SPACES   ( n --- ) TYPE     ( c-addr u --- )</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:tags?rev=1426792447">
        <dc:format>text/html</dc:format>
        <dc:date>2015-03-19T19:14:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Brainstorming im IRC</title>
        <link>https://wiki.forth-ev.de/doku.php/words:tags?rev=1426792447</link>
        <description>Brainstorming im IRC

Was haben Emails, Files, Twitterpostings? Tags.

Forth hat Flags (Immediate) und Farben (Colorforth).

Flags und Farben sind eigentlich Tags. Sind sie
vorhanden, haben die betreffenden Worte bestimmte
Eigenschaften, die sie sonst nicht haben.</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:test_that?rev=1293642765">
        <dc:format>text/html</dc:format>
        <dc:date>2010-12-29T17:12:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Automatisches Testen zur Ladezeit</title>
        <link>https://wiki.forth-ev.de/doku.php/words:test_that?rev=1293642765</link>
        <description>Automatisches Testen zur Ladezeit

Die korrekte Funktionsweise von Wort-Definitionen sollte sichergestellt werden, um robuste und zuverlässige Programme zu bekommen.
Traditionell testet der Forth-Programmierer seine Definitionen „Bottom-Up“ unmittelbar nach dem er sie vorgenommen hat.</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:volksforth_kernel?rev=1293642765">
        <dc:format>text/html</dc:format>
        <dc:date>2010-12-29T17:12:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Volksforth Kernel 3.80</title>
        <link>https://wiki.forth-ev.de/doku.php/words:volksforth_kernel?rev=1293642765</link>
        <description>Volksforth Kernel 3.80

Der code wurde unverändert komplett eingestellt um durchsuchbar zu sein, in der Hoffnung hilfreich und anregend zu sein beim Entwurf eigener Systeme. Der code ist so wie er ist natürlich nicht ladbar auf einen der angegebenen Zielrechner, sondern war Quelle für den Metacompiler Prozess, und setzt auch den ebenfalls in Forth vorliegenden Assembler für die genannten Prozessoren voraus.</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:words?rev=1736116003">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-05T22:26:43+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Forth Definitions</title>
        <link>https://wiki.forth-ev.de/doku.php/words:words?rev=1736116003</link>
        <description>Forth Definitions

Die Entwicklung des Forth seit Charles Moore hat Anton Ertl im Forth Tree nachgezeichnet.

Grundsätzliches

	* Forth Target-, Cross- oder Meta-Compiler? Die verschiedenen Möglichkeiten ein Forthsystem zu erzeugen hat Ullrich Hoffman aufgelistet.
	* Threaded Code Die verschiedenen Möglichkeiten eine verkettete Liste von Vektoren (Adressen) in einem Forth System anzulegen.</description>
    </item>
</rdf:RDF>
