Следующие четыре операции должны вам
Следующие четыре операции должны вам показаться знакомыми:
2SWAP | ( dl d2 -- d2 dl ) | Перестановка двух верхних пар элементов стека |
2DUP | ( d -- d d ) | Дублирование верхней пары элементов стека. |
2OVER | ( d1 d2 -- dl d2 d1 ) | Копирование второй пары элементов стека и размещение копии в вершине стека. |
2ROT | ( dl d2 d3 -- d2 d3 d1 ) | Размещение третьего элемента в вершине стека. |
2DROP | ( d -- ) | Удаление верхней пары элементов из стека. |
2 Для специалистов. Эти операции также могут выполняться над числами двойной длины (32 бита, или разряда).
Это понятие имеет вполне конкретный смысл, который объясняется в гл. 7. Операции над двойными числами настолько очевидны, что нет необходимости приводить примеры на их выполнение. Заметим лишь, что. кроме перечисленных существуют еще несколько операций, о которых здесь еще не упоминалось, поэтому не пытайтесь самостоятельно работать со стеком, так как вы будете выполнять много ненужных действий, в чем и убедитесь впоследствии. Ниже приводится перечень слов Форта, которые были введены в данной главе:
+ |
( nl n2 — сумма) |
Сложение. |
- |
( n1 n2 — разность) |
вычитание (nl-n2) . |
* |
( n1 л2 — произвел) |
Умножение. |
/ |
( n1 n2 — частное) |
Деление (nl/n2) . |
MOD |
( nl n2 — n-остаток) |
Деление. В стек заносится остаток от деления. |
/MOD | ( u1 u2 — n-остаток n— частное) |
Деление, В стек заносятся остаток и частное» |
SWAP |
() n1 n2 — n2 n1) |
Перестановка двух верхних элементов стека. |
BUP |
{ n — n n) |
Дублирование верхнего элемента стека. |
OVER |
( nl n2 — nl n2 nl) |
Копирование второго элемента и размещение копии в вершине стека. |
ROT |
( ni n2 n3 — n2 n3 nl) |
Размещение третьего элемента в вершине стека. |
DROP |
( n — ) |
Удаление из стека верхнего элемента. |
2SWAP |
( dl d2 — d2 dl) |
Перестановка двух верхних пар чисел. |
2DUP |
( d — d d) |
Дублирование пары чисел, находящейся в вершине стека. |
20VER |
( d1 d2 -- dl d2 dl) |
Копирование второй пары чисел и размещение копии в вершине стека. |
2DROP |
( d — ) |
Удаление из стека верхней пары элементов. |