R⟩
R> (со стека возвратов, «с ар») — стандартное слово Каллисто.
R> ( −− D ) Перемещает D из стека возвратов на стек данных.
Переносит 16-битное число D из стека возвратов в стек данных.
Ввод слова R>[править]
В режиме ЛАТ последовательно нажмите четыре клавиши × P F ИП
Эти нажатия оставляют клавиатуру в режиме NUM.
Маленькие хитрости[править]
Для чтения беззнакового значения со стека возвратов используйте фразу I RDROP
R> в стандарте ANS Forth[править]
6.1.2060 R> "r-from" CORE Интерпретация: Семантика интерпретации для этого слова не определена. Выполнение: ( -- x ) ( R: x -- ) Перемещает x из стека возвратов на стек данных. См.: 3.2.3.3 Стек возвратов, 6.1.0580 >R, 6.1.2070 R@, 6.2.0340 2>R, 6.2.0410 2R>, 6.2.0415 2R@.
История[править]
R> в предыдущем стандарте Forth-83 (англ.)[править]
R> -- 16b C,79 "r-from" 16b is removed from the return stack and transferred to the data stack. See: "9.3 Return Stack"
R> в стандарте Forth-79 (англ.)[править]
R> -- n C,110 "r-from" Transfer n from the return stack to the data stack.
R> в fig-FORTH Release 1 glossary, май 1979 (англ.)[править]
R> --- n L0 Remove the top value from the return stack and leave it on the computation stack. See >R and R.
Реализация[править]
1807 ;#Rfrom 1808 ; R> ( −− D ) Переместить D из стека возвратов на стек данных. 1809 LFROMR: .DB 2 1810 .TEXT "R>" ; ( −− n ) ( R: n −− ) 1811 .DW LTOR 1812 FROMR: .DW JFROMR ; Перенести 16−битное целое со знаком из стека возвратов на стек данных. 1813 JFROMR: RM2 MA M5 2 + M2 1814 JFR2: KRMA RME ∗ KRM5 + M0 1815 32768 − 1816 FX>=0 FROMR1 1817 FANS − KM3 KGOTO9 1818 FROMR1: RM0 KM3 KGOTO9
Реализации из SP-Forth 4.20:
CODE1 R> \ 94 \ Исполнение: ( -- x ) ( R: x -- ) \ Перенести x со стека возвратов на стек данных. \ Интерпретация: семантика в режиме интерпретации не определена. LEA EBP, -4 [EBP] MOV [EBP], EAX POP EBX POP EAX JMP EBX ;C
CODE C-R> \ 94 LEA EBP, -4 [EBP] MOV [EBP], EAX POP EAX RET END-CODE … : R> ['] C-R> INLINE, ; IMMEDIATE
: R> ?COMP S" C-R>" TC-FINDOUT INLINE, ; IMMEDIATE
Советская реализация[править]
Слово R> в ФОРТ-ЕС было примитивом. Вот его описание и определение:
R> К ->W ПЕРЕНЕСТИ ЗНАЧЕНИЕ СО СТЕКА ВОЗВРАТОВ 9 Экран номер 9 ( 31.03.86 DUP ?DUP DROP SWAP OVER >R R> R@ RDROP ROT ) CODE R> ( ->W) RW1 RPOP, PUSHRW1 B, END-CODE
В FORTH ИТЭФ слово R> также было примитивом, вот его определение:
HEAD 202Q 'R',276Q,FROMR ; R> PUSH [BP] ADD BP, 2 NEXT
Ссылки[править]
- Исходный текст слова R> в Каллисто Классик 1.0
- См. слова R@, >R, RDROP, UNLOOP, I, J и K
- Слово R> (r-from) в стандарте ANS Forth (англ.)
- Слово R> (r-from) в черновике Forth 200x (англ.)
- ОПЕРАЦИИ НАД ЦЕЛЫМИ ЧИСЛАМИ в книге Л.Броуди «Начальный курс программирования на языке Форт»
- The Philosophy of Fixed Point в книге Leo Brodie Starting Forth (англ.)
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |