2DUP: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
Строка 1: Строка 1:
'''2DUP''' (два-дублировать) — стандартное слово [[Каллисто]].
'''2DUP''' (два-дублировать) — стандартное слово [[Каллисто]]. Продублировать пару [[Десятичное число|чисел]] в [[Стек данных|стеке]].
 
2DUP          ( x1 x2 -- x1 x2 x1 x2 )
Дублирует верхнюю пару чисел в [[Стек данных|стеке]].


Дублирует верхнюю пару [[Ячейка (Каллисто)|ячеек]] x1 x2 в [[Стек данных|стеке]].


== 2DUP в стандарте ANS Forth ==
== 2DUP в стандарте ANS Forth ==
Строка 8: Строка 8:
             ( x1 x2 -- x1 x2 x1 x2 )
             ( x1 x2 -- x1 x2 x1 x2 )
             Дублирует пару-ячеек x1 x2.
             Дублирует пару-ячеек x1 x2.


== 2DUP в предыдущем стандарте Forth-83 (англ.) ==
== 2DUP в предыдущем стандарте Forth-83 (англ.) ==
       2DUP        32b -- 32b 32b                79          "two-dupe"
       2DUP        32b -- 32b 32b                79          "two-dupe"
           Duplicate 32b.
           Duplicate 32b.


== 2DUP в стандарте Forth-79 (англ.) ==
== 2DUP в стандарте Forth-79 (англ.) ==
  2DUP          d -- d d                                  "two-dupe"
  2DUP          d -- d d                                  "two-dupe"
     Duplicate the top double number on the stack.
     Duplicate the top double number on the stack.


== Заметки ==
== Заметки ==
Строка 25: Строка 22:


== Ссылки ==
== Ссылки ==
* См. слова [[↑ (Каллисто)|↑]], [[2DROP]], [[2SWAP]]
* [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.0380 Слово 2DUP (two-dupe) в стандарте ANS Forth] ''(англ.)''
* [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.0380 Слово 2DUP (two-dupe) в стандарте ANS Forth] ''(англ.)''
* [http://www.forth200x.org/documents/html/core.html#core:2DUP Слово 2DUP (two-dupe) в черновике Forth 200x] ''(англ.)''
* [http://www.forth200x.org/documents/html/core.html#core:2DUP Слово 2DUP (two-dupe) в черновике Forth 200x] ''(англ.)''
Строка 33: Строка 31:
[[Категория:Слова Каллисто]]
[[Категория:Слова Каллисто]]
[[Категория:Стековые манипуляции Каллисто]]
[[Категория:Стековые манипуляции Каллисто]]
[[Категория:Слова Каллисто без стековых диаграмм]]
[[Категория:Описание бета-версии Каллисто]]

Версия от 23:19, 26 октября 2015

2DUP (два-дублировать) — стандартное слово Каллисто. Продублировать пару чисел в стеке.

2DUP           ( x1 x2 -- x1 x2 x1 x2 )

Дублирует верхнюю пару ячеек x1 x2 в стеке.

2DUP в стандарте ANS Forth

6.1.0380   2DUP                              "two-dupe"                    CORE
           ( x1 x2 -- x1 x2 x1 x2 )
           Дублирует пару-ячеек x1 x2.

2DUP в предыдущем стандарте Forth-83 (англ.)

     2DUP         32b -- 32b 32b                79          "two-dupe"
          Duplicate 32b.

2DUP в стандарте Forth-79 (англ.)

2DUP           d -- d d                                  "two-dupe"
    Duplicate the top double number on the stack.

Заметки

В Каллисто 2DUP реализован, как примитив. Но при необходимости 2DUP можно легко выразить через OVER:

: 2DUP  ( n1 n2 -- n1 n2 n1 n2)  OVER OVER ;

Ссылки


  У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их.


  Это заготовка статьи. Вы можете помочь проекту, дополнив её.