Следующие четыре операции должны вам
Следующие четыре операции должны вам показаться знакомыми:
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 означает, что перечисленные стековые операции выполняются над парами чисел2, а буква d, используемая в стековой нотации, — что вместо нее подставляется «двойное» число.
1 Стандарт Форт-83. Эти слова входят в «Дополнительный перечень слов двойной точности».
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 — )
|
Удаление из стека верхней пары элементов.
|
Содержание Назад Вперед