Начальный курс программирования на языке Форт

Следующие четыре операции должны вам


Следующие четыре операции должны вам показаться знакомыми:



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 — )

Удаление из стека верхней пары элементов.


Содержание раздела