⟩R: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
Строка 59: Строка 59:
== Ссылки ==
== Ссылки ==
* {{Исходник|toR|>R}}
* {{Исходник|toR|>R}}
* См. слова [[R@]], [[R⟩|R>]], [[RDROP]], [[UNLOOP]], [[Слово I|I]], [[Слово J|J]] и [[Слово K|K]]
* Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.0580 >R (to-r)] в стандарте ANS Forth ''(англ.)''
* Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.0580 >R (to-r)] в стандарте ANS Forth ''(англ.)''
* Слово [http://forth-standard.org/standard/core/toR >R (to-r)] в черновике Forth 200x ''(англ.)''
* Слово [http://forth-standard.org/standard/core/toR >R (to-r)] в черновике Forth 200x ''(англ.)''

Версия от 13:52, 21 июня 2016

>R (на стек возвратов, читается «на ар») — стандартное слово Каллисто.

>R             ( d −− )                             Перенести d на стек возвратов.

Переносит 16-битное число из стека данных в стек возвратов.

Ввод слова >R

В режиме NUM последовательно нажмите четыре клавиши  F   ИП     Р-ГРД-Г   × 

Для возврата в режим NUM нажмите синюю клавишу  P .

>R в стандарте ANS Forth

 6.1.0580   >R                                 "to-r"                       CORE
        Интерпретация: Семантика интерпретации для этого слова не определена.

        Выполнение: ( x -- )  ( R:  -- x )
            Перемещает x на стек возвратов.

        См.: 3.2.3.3 Стек возвратов, 6.1.2060 R>, 6.1.2070 R@, 6.2.0340 2>R, 
            6.2.0410 2R>, 6.2.0415 2R@.

История

В Форте стек возвратов часто использовался, как удобное и быстрое промежуточное хранилище для чисел со стека данных. Для фортовских 16-битных целых этот трюк всё ещё действует, однако в Каллисто стек данных хранит десятичные числа. Поэтому в Каллисто подобный трюк может привести к потере точности и не рекомендуется.

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

     >R           16b --                        C,79            "to-r"
          Transfers 16b to the return stack.  See  "9.3 Return Stack"

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

>R             n --                          C,200           "to-r"
    Transfer n to the return stack.   Every >R must be balanced by
    a  R> in the same control structure nesting level of a  colon-
    definition.

>R в fig-FORTH Release 1 glossary, май 1979 (англ.)

>R            n  ---                         C,L0
       Remove a number from the computation stack and place as the most
       accessable on the return stack. Use should be balanced with R> in
       the same definition.

Реализация

Слово >R в ФОРТ-ЕС было примитивом. Вот его описание и определение:

>R      К W-> ПЕРЕНЕСТИ W НА СТЕК ВОЗВРАТОВ                     9

                      Экран номер 9
( 31.03.86   DUP ?DUP DROP SWAP OVER >R R> R@ RDROP ROT )

CODE >R ( W-> )  RW1 POP,   RW1 RPUSH,   RNEXT BR, END-CODE

В FORTH ИТЭФ слово >R также было примитивом, вот его определение:

            HEAD     202Q,'>',322Q,TOR                    ; >R
            SUB  BP, 2
            POP  [BP]
            NEXT

Ссылки


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


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