U♯⟩
U#> — фортовское слово Каллисто.
U#> ( x −− a c ) Завершить преобразование целого числа. Дать адрес и длину для TYPE.
В стеке остаётся число полученных символов и адрес, как это требуется для слова TYPE.
Ввод слова U#>[править]
В режиме ЛАТ последовательно нажмите клавиши 3 P F 3 F ИП
Эти нажатия оставляют клавиатуру в режиме NUM.
#> в стандарте ANS Forth[править]
6.1.0040 #> "number-sign-greater" CORE ( xd -- c-addr u ) Удаляет xd. Делает выходную строку отображаемого числа доступной как символьную строку. C-addr и u определяют результирующую символьную строку. Программа может заменять символы в пределах строки. См.: 6.1.0030 #, 6.1.0050 #S, 6.1.0490 <#.
История[править]
Каллистянское U#> происходит от стандартного слова #> , которое присутствует ещё в Форте−79. У нас x помещается в одной ячейке стека.
Слово U#gt; присутствует в некоторых версиях Форта, откуда и заимствовало своё имя.
#> в предыдущем стандарте Forth-83 (англ.)[править]
#> 32b -- addr +n 79 "sharp-greater" Pictured numeric output conversion is ended dropping 32b. addr is the address of the resulting output string. +n is the number of characters in the output string. addr and +n together are suitable for TYPE .
#> в стандарте Forth-79 (англ.)[править]
#> d -- addr n 190 "sharp-greater" End pictured numeric output conversion. Drop d, leaving the text address, and character count, suitable for TYPE.
#> в fig-FORTH Release 1 glossary, май 1979 (англ.)[править]
#> d --- addr count L0 Terminates numeric output conversion by dropping d, leaving the text address and character count suitable for TYPE.
Реализация[править]
3746 ;#Unum−end 3747 ; U#> ( x −− a c ) Завершить преобразование целого числа. Дать адрес и длину для TYPE. 3748 LEDIGS: .DB 3 3749 .TEXT "U#>" ; ( x −− PAD длина ) 3750 .DW LSPACS ; На стеке останется число получившихся литер и адрес, как это требуется для слова TYPE 3751 EDIGS: .DW CALL 3752 REDIGS: .DW DROP, HLD,UAT, PAD,OVER,SUB, EXIT
Реализация из SP-Forth 4.20:
: #> ( xd -- c-addr u ) \ 94 \ Убрать xd. Сделать буфер форматного преобразования доступным в виде \ строки символов, заданной c-addr и u. \ Программа может менять символы в этой строке. 2DROP HLD @ PAD OVER - >CHARS 1- ;
Советская реализация[править]
Определение слова U#> приводится у Юрия Семёнова (стр. 100) и Баранова-Ноздрунова (стр. 37):
: U#> ( A ---> B,N ) DROP HLD @ PAD OVER - ;
В ядре ФОРТ-ЕС слово U#> работало с числовой парой и называлось #>
Вот его определение и описание:
#> D->A,+N ЗАКОНЧИТЬ ФОРМАТНОЕ ПРЕОБРАЗОВАНИЕ; 37 ДАТЬ АДРЕС А НАЧАЛА ЛИТЕР И ИХ ЧИСЛО +N Экран номер 37 ( 31.03.86 PAD HOLD ALPHA <# #> # #S SIGN ) : #> ( D->A,+N) 2DROP HLD @ PAD OVER - ;
В FORTH ИТЭФ слово U#> работало с числовой парой и называлось #>
Вот его определение и описание:
HEAD 202Q,'#',276Q,EDIGS,$COL ; #> DW DDROP,HLD,AT,PAD,OVER,SUB,SEMI
Ссылки[править]
- Исходный текст слова U#> в Каллисто Классик 1.0
- Слово #> (number-sign-greater) в стандарте ANS Forth (англ.)
- Слово #> (number-sign-greater) в черновике Forth 200x (англ.)
- ЧИСЛО ТИПОВ ЧИСЕЛ в книге Л.Броуди «Начальный курс программирования на языке Форт»
- A Number of Kinds of Numbers в книге Leo Brodie Starting Forth (англ.)
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |