====== 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 ''[[drop]]''.
OVER DA OVER+2
LDA $2,X
PHA
LDA $3,X
JMP PuSH
...
PUSH DEX
DEX
PUT STA 1,x
PLA
STA 0,X
JMP NEXT
In diesem Beispiel wird der zweite Wert vom Stack geholt, der Stackpointer dann um eine Zelle raufgesetzt, um dort den Wert wieder abzulegen. In der 8-bit-Maschine des 6502 wird der 16-bit-Wert vom Stack in zwei Schritten über das Accumulator-Register A transportiert. Das Register A ist indiziert adressierbar. Bei dem Vorgang muss ein Wert auf dem Returnstack der Maschine zwischengelagert werden. Die Routine PUSH wird im System von vielen Code-Definitions benutzt.