R@: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) Нет описания правки |
AtH (обсуждение | вклад) |
||
Строка 11: | Строка 11: | ||
== R@ в стандарте ANS Forth == | == R@ в стандарте ANS Forth == | ||
<PRE> | |||
6.1.2070 R@ "r-fetch" CORE | 6.1.2070 R@ "r-fetch" CORE | ||
Интерпретация: Семантика интерпретации для этого слова не определена. | Интерпретация: Семантика интерпретации для этого слова не определена. | ||
Строка 19: | Строка 20: | ||
См.: 3.2.3.3 Стек возвратов, 6.1.0580 >R, 6.1.2060 R>, 6.2.0340 2>R, | См.: 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@. | 6.2.0410 2R>, 6.2.0415 2R@. | ||
</PRE> | |||
== История == | == История == |
Версия от 17:17, 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 (англ.)
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |