(.)
Перейти к навигации
Перейти к поиску
(.) — фортовское слово Каллисто. Дать строку, соответствующую целому.
(.) ( n −− a c ) Преобразовать целое n в строку, вернуть её адрес и длину.
Как I. — только не выводит целое число на индикатор, а возвращает адрес и длину строки, готовя стек для слова TYPE.
Ввод слова (.)[править]
В режиме NUM последовательно нажмите три клавиши ШГ→ /−/ ШГ←
Реализация[править]
В Каллисто 1.0 возвращаемая строка записана в буфер PAD, где может быть перезаписана следующим форматным преобразованием. Если она вам нужна, сохраните строку в более надёжное место.
3816 ;#xd 3817 ; (.) ( n −− a c ) Преобразовать целое n в строку, вернуть её адрес a и длину c. 3818 LXDOT: .DB 3 3819 .TEXT "(.)" ; ( целое −− адрес длина ) 3820 .DW LBFDIGS ; Как I. −− только вывести число не на индикатор, а вернуть адрес и длину строки. 3821 XDOT: .DW CALL, INT, DUP,ABS, BDIGS, DIGS, SWAP,SIGN, BRAN,REDIGS
В Thinking Forth (стр. 183, Factoring Criteria) приводится следующая реализация слова (.) :
: (.) ( n -- a # ) ↑ |x| <# u#s ↔ sign u#> ;
Реализации из SP-Forth 4.20:
: (D.) ( d -- addr len ) TUCK DABS <# #S ROT SIGN #> ; … : (D.) ( d -- addr len ) DUP >R DABS <# #S R> SIGN #> ;
Ссылки[править]
- Исходный текст слова (.) в Каллисто Классик 1.0
- См. слова I., . и I.R
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |