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 ;
Beispiel zur Funktion mit Hilfe des gforth:
11 22 .s <2> 11 22 ok tuck .s <3> 22 11 22 ok 33 44 .s <5> 22 11 22 33 44 ok swap over .s <6> 22 11 22 44 33 44 ok
MaschinenCode-Beispiel aus dem CamelForth for the Motorola 6809 © 1995 Bradford J. Rodriguez:
CODE TUCK \ x1 x2 -- x2 x1 x2 per stack diagram S 0, LDX, S 0, STD, HEX 10 # ( X) PSHS, NEXT ;C