Fetch
Fetch, Fetch(n)
Stack | Position | Beschreibung |
---|---|---|
Stack(In) | Top | n |
Top-1 | beliebig | |
. . . | . . . | |
Top-n | Wert x | |
Top-n+1 | beliebig | |
Stack(Out) | Top | Wert x |
Top-1 | . . . |
Ersetzt die auf dem Stack-Top liegende Zahl n durch das (vom Stack-Top aus berechnet) n-te Element auf dem Stack. Ist die aktuelle Stacktiefe kleiner als n+2, wird INVALID als Rückgabewert auf den Stack geschrieben. Die Position (n) kann auch direkt an den Fetch Befehl übergeben werden, das Ergebnis ist in diesem Fall das gleiche, obwohl ein Argument weniger auf dem Stack liegt.
"
Beispiel 1
Stack | Position | Beschreibung |
---|---|---|
Stack(In) | Top | 0 |
Top-1 | 1 | |
Stack(Out) | Top | 1 |
Top-1 | 1 |
"0 Fetch" ist äquivalent zu "Dup".
Beispiel 2
Stack | Position | Beschreibung |
---|---|---|
Stack(In) | Top | 1 |
Top-1 | bin | |
Top-2 | ich | |
Stack(Out) | Top | ich |
Top-1 | bin | |
Top-2 | ich |
Beispiel 3
Stack | Position | Beschreibung |
---|---|---|
Stack(In) | Top | 3 |
Top-1 | ich | |
Top-2 | bin | |
Top-3 | ich | |
Stack(Out) | Top | INVALID |
Top-1 | ich | |
Top-2 | bin | |
Top-3 | ich |