R@: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) Нет описания правки |
AtH (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
'''R@''' (извлечь возврат, читается «ар-извлечь») — стандартное слово [[Каллисто]]. | '''R@''' (извлечь возврат, читается «ар-извлечь») — стандартное слово [[Каллисто]]. | ||
R@ ( −− D ) Скопировать значение D со стека возвратов. | R@ ( −− D ) Скопировать значение D со стека возвратов. | ||
Копирует верхнее 16-битное | Копирует верхнее 16-битное целое со знаком из [[Стек возвратов Каллисто|стека возвратов]] в [[Стек данных|стек данных]]. | ||
Если вам нужно достать со [[Стек возвратов Каллисто|стека возвратов]] беззнаковое целое, используйте [[слово I]]. | |||
== Ввод слова R@ == | == Ввод слова R@ == |
Версия от 17:08, 6 июня 2016
R@ (извлечь возврат, читается «ар-извлечь») — стандартное слово Каллисто.
R@ ( −− D ) Скопировать значение D со стека возвратов.
Копирует верхнее 16-битное целое со знаком из стека возвратов в стек данных.
Если вам нужно достать со стека возвратов беззнаковое целое, используйте слово I.
Ввод слова R@
В режиме ЛАТ нажмите × P ИП
Эти нажатия оставляют клавиатуру в режиме NUM.
R@ в стандарте ANS Forth
6.1.2070 R@ "r-fetch" CORE Интерпретация: Семантика интерпретации для этого слова не определена.
Выполнение: ( -- x ) ( R: x -- x ) Копирует x из стека возвратов на стек данных.
См.: 3.2.3.3 Стек возвратов, 6.1.0580 >R, 6.1.2060 R>, 6.2.0340 2>R, 6.2.0410 2R>, 6.2.0415 2R@.
История
R@ в предыдущем стандарте Forth-83 (англ.)
R@ -- 16b C,79 "r-fetch" 16b is a copy of the top of the return stack.
R@ в стандарте Forth-79 (англ.)
R@ -- n C,228 "r-fetch" Copy the number on top of the return stack to the data stack.
R в fig-FORTH Release 1 glossary, май 1979 (англ.)
R --- n Copy the top of the return stack to the computation stack.
Реализация
Слово R@ в ФОРТ-ЕС и FORTH ИТЭФ было примитивом. Вот его описание и определение в ФОРТ-ЕС:
R@ К ->W СКОПИРОВАТЬ ВЕРШИНУ СТЕКА ВОЗВРАТОВ 9 Экран номер 9 ( 31.03.86 DUP ?DUP DROP SWAP OVER >R R> R@ RDROP ROT ) CODE R@ ( ->W) RW1 RPULL, PUSHRW1 B, END-CODE
В FORTH ИТЭФ примитив R@ назывался R и также был синонимом слова I. Вот его определение:
HEAD 201Q,,311Q,I ; I RR$: PUSH [BP] Z$: NEXT HEAD 201Q,,322Q,R ; R JMP RR$
Ссылки
- Исходный текст слова R@ в Каллисто Классик 1.0
- Слово R@ (r-fetch) в стандарте ANS Forth (англ.)
- Слово R@ (r-fetch) в черновике Forth 200x (англ.)
- ОПЕРАЦИИ НАД ЦЕЛЫМИ ЧИСЛАМИ в книге Л.Броуди «Начальный курс программирования на языке Форт»
- The Philosophy of Fixed Point в книге Leo Brodie Starting Forth (англ.)
- Throw It For a Loop в книге Leo Brodie Starting Forth (англ.)
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |