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

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
Строка 9: Строка 9:


== >R в стандарте ANS Forth ==
== >R в стандарте ANS Forth ==
<PRE>
  6.1.0580  >R                                "to-r"                      CORE
  6.1.0580  >R                                "to-r"                      CORE
         Интерпретация: Семантика интерпретации для этого слова не определена.
         Интерпретация: Семантика интерпретации для этого слова не определена.
Строка 17: Строка 18:
         См.: 3.2.3.3 Стек возвратов, 6.1.2060 R>, 6.1.2070 R@, 6.2.0340 2>R,  
         См.: 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@.
             6.2.0410 2R>, 6.2.0415 2R@.
</PRE>


== &gt;R в предыдущем стандарте Forth-83 (англ.) ==
== История ==
В Форте [[Стек возвратов Каллисто|стек возвратов]] часто использовался, как удобное и быстрое промежуточное хранилище для чисел со [[Стек данных|стека данных]]. Для фортовских 16-битных целых этот трюк всё ещё действует, однако в [[Каллисто]] [[стек данных]] хранит [[Десятичное число|десятичные числа]]. Поэтому в [[Каллисто]] подобный трюк может привести к потере точности и не рекомендуется.
 
=== &gt;R в предыдущем стандарте Forth-83 (англ.) ===
       >R          16b --                        C,79            "to-r"
       >R          16b --                        C,79            "to-r"
           Transfers 16b to the return stack.  See  "9.3 Return Stack"
           Transfers 16b to the return stack.  See  "9.3 Return Stack"


== &gt;R в стандарте Forth-79 (англ.) ==
=== &gt;R в стандарте Forth-79 (англ.) ===
  >R            n --                          C,200          "to-r"
  >R            n --                          C,200          "to-r"
     Transfer n to the return stack.  Every >R must be balanced by
     Transfer n to the return stack.  Every >R must be balanced by
Строка 28: Строка 33:
     definition.
     definition.


== &gt;R в fig-FORTH Release 1 glossary, май 1979 (англ.) ==
=== &gt;R в fig-FORTH Release 1 glossary, май 1979 (англ.) ===
  >R            n  ---                        C,L0
  >R            n  ---                        C,L0
         Remove a number from the computation stack and place as the most
         Remove a number from the computation stack and place as the most
         accessable on the return stack. Use should be balanced with R> in
         accessable on the return stack. Use should be balanced with R> in
         the same definition.
         the same definition.
== История ==
В Форте [[Стек возвратов Каллисто|стек возвратов]] часто использовался, как удобное и быстрое промежуточное хранилище для чисел со [[Стек данных|стека данных]]. Для фортовских 16-битных целых этот трюк всё ещё действует, однако в [[Каллисто]] [[стек данных]] хранит [[Десятичное число|десятичные числа]]. Поэтому в [[Каллисто]] подобный трюк может привести к потере точности и не рекомендуется.


== Реализация ==
== Реализация ==

Версия от 19:46, 5 июня 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

Ссылки


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


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