(.)

Материал из ПМК вики
Перейти к навигации Перейти к поиску

(.) — фортовское слово Каллисто. Дать строку, соответствующую целому.

(.)            ( 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 #>
;

Ссылки[править]


  Nopictures-icon.png У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их.


  Stub-icon-48px.png Это заготовка статьи. Вы можете помочь проекту, дополнив её.