<?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:kernel_embedded:stack</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-04-21T11:41:27+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:kernel_embedded:stack:2dup?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:kernel_embedded:stack:2over?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:kernel_embedded:stack:2swap?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:kernel_embedded:stack:drop?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:kernel_embedded:stack:dup?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:kernel_embedded:stack:over?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:kernel_embedded:stack:r-from?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:kernel_embedded:stack:to-r?rev=1293642765"/>
                <rdf:li rdf:resource="https://wiki.forth-ev.de/doku.php/words:kernel_embedded:stack:tuck?rev=1293642765"/>
            </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:kernel_embedded:stack:2dup?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:kernel_embedded:stack:2dup?rev=1293642765</link>
        <description>: 2DUP ( x1 x2 – x1 x2 x1 x2 )  over over ;</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:kernel_embedded:stack:2over?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:kernel_embedded:stack:2over?rev=1293642765</link>
        <description>: 2over ( x1 x2 x3 x4 -- x1 x2 x3 x4 x1 x2 )
  &gt;r &gt;r 2dup r&gt; r&gt; 2swap ;</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:kernel_embedded:stack:2swap?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:kernel_embedded:stack:2swap?rev=1293642765</link>
        <description>: 2swap ( x1 x2 x3 x4 -- x3 x4 x1 x2 ) 
  rot  ( -- x1 x3 x4 x2 )
  &gt;r   ( -- x1 x3 x4 ) ( R: x2 -- )
  rot  ( -- x3 x4 x1 ) ( R: x2 -- )
  r&gt;   ( -- x3 x4 x1 x2 ) ( R: -- )  ;</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:kernel_embedded:stack:drop?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>DROP</title>
        <link>https://wiki.forth-ev.de/doku.php/words:kernel_embedded:stack:drop?rev=1293642765</link>
        <description>DROP


: drop ( x1 --- ) 
  sp@ 
  1 cells +  \ Prinzip: Stackpointer inkrementieren. (Beispiel aus gForth)
  sp! ; 


In diesem theoretischen Beispiel wächst der Stack physikalisch hin zu niedrigeren Adressen. Daher wird durch inkrementieren des Stackpointers um eine CELL-Breite das</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:kernel_embedded:stack:dup?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:kernel_embedded:stack:dup?rev=1293642765</link>
        <description>: DUP  ( x -- x x )   &gt;r r@ r&gt; ;


Besser: code

----------

Aus Laufzeitgründen wird DUP immer mit Hilfe der Instruktionen der zugrunde liegenden Maschiene formuliert.

z.B.

8080:


CODE DUP   h pop   h push   h push   jmp end-code


(Aus: All about Forth; Forth-79)</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:kernel_embedded:stack:over?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>OVER</title>
        <link>https://wiki.forth-ev.de/doku.php/words:kernel_embedded:stack:over?rev=1293642765</link>
        <description>OVER

Das Beispiel in high-level-forth soll das Prinzip zeigen. over wird in der Regel in Maschinencode geschrieben. Vergleiche auch DROP. 


: over   ( x1 x2 -- x1 x2 x1 )    sp@  1 cells +  @  ;


Hier ein praktisches Beispiel in Assembler für den 6502; siehe auch unter</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:kernel_embedded:stack:r-from?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>R&gt;</title>
        <link>https://wiki.forth-ev.de/doku.php/words:kernel_embedded:stack:r-from?rev=1293642765</link>
        <description>R&gt;

 Zur Erklärung siehe: &gt;R</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:kernel_embedded:stack:to-r?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>&gt;R</title>
        <link>https://wiki.forth-ev.de/doku.php/words:kernel_embedded:stack:to-r?rev=1293642765</link>
        <description>&gt;R

Forth wurde als 2-Stack-Maschine entwofen. Es gibt den Daten- und den Returnstack. Auf dem Returnstack wird die Liste der auszuführenden Forthworte geführt, die dort meist in der Form von Adressen liegen. Vorübergehend können aber auch Daten auf den Returnstack ausgelagert werden. Das Wort</description>
    </item>
    <item rdf:about="https://wiki.forth-ev.de/doku.php/words:kernel_embedded:stack:tuck?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:kernel_embedded:stack:tuck?rev=1293642765</link>
        <description>Wenn die Kombination swap over in einem Programm häufiger gebraucht wird, kann es aus Gründen der besseren Laufzeit günstiger sein diese Phrase in einem Stück Maschinencode zu fassen. Dafür hat sich der Name tuck eingebürgert.


: tuck ( w1 w2 – w2 w1 w2 ) \ core-ext “tuck” 
  swap over ;</description>
    </item>
</rdf:RDF>
