Benutzer-Werkzeuge

Webseiten-Werkzeuge


words:exchange

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 >r >r
  r@ cells sp@ + @ 
  r> r> swap 
  2 + cells sp@ + ! ;
words/exchange.txt · Zuletzt geändert: 2010-12-29 18:12 (Externe Bearbeitung)