I.
I. (читается «ай-точка») — адаптированное слово Каллисто. Печать целого числа, за которым следует один пробел.
I. ( n −− ) Вывести целое n на индикатор и дать пробел.
Слово I. удаляет целое число из стека, преобразует и отображает его на индикаторе с учётом записанной в BASE системы счисления.
Ввод слова I.[править]
В режиме ЛАТ последовательно нажмите три клавиши 7 P /−/
Эти нажатия оставляют клавиатуру в режиме NUM.
. в стандарте ANS Forth[править]
6.1.0180 . "dot" CORE ( n -- ) Отображает n в формате свободного поля. См.: 3.2.1.2 Преобразование цифр, 3.2.1.3 Изображение чисел в свободном поле.
История[править]
Стандартное слово Форта "." получило новое имя, т.к. работает лишь с десятичными 12−разрядными целыми.
. в предыдущем стандарте Forth-83 (англ.)[править]
. n -- M,79 "dot" The absolute value of n is displayed in a free field format with a leading minus sign if n is negative.
. в стандарте Forth-79 (англ.)[править]
. n -- 193 "dot" Display n converted according to BASE in a free field format with one trailing blank. Display only a negative sign.
. в fig-FORTH Release 1 glossary, май 1979 (англ.)[править]
. n --- L0 Print a number from a signed l6 bit two's complement value, converted according to the numeric BASE. A trailing blanks follows. Pronounced "dot".
Реализация[править]
3823 ;#Id 3824 ; I. ( n −− ) Вывести целое n на индикатор и дать пробел. 3825 LDOT: .DB 2 3826 .TEXT "I." ; ( целое −− ) 3827 .DW LXDOT 3828 DOT: .DW CALL ; Удалить целое число из стека, преобразовать и отобразить его на индикаторе с учётом BASE. 3829 RDOT: .DW XDOT, TYPE, BRAN,RSPACE
В Thinking Forth (стр. 183, Factoring Criteria) приводится следующая реализация слова i. через (.) :
: i. ( n -- ) (.) type space ;
Реализация из SP-Forth 4.20:
: D. ( d -- ) \ 94 DOUBLE \ Вывести d на дисплей в свободном формате. (D.) TYPE SPACE ; : . ( n -- ) \ 94 \ Напечатать n в свободном формате. S>D D. ;
Советская реализация[править]
Определение слова i. приводится у Баранова-Ноздрунова (стр. 37):
: i. ( i ---> ) ↑ |x| ( i,iabs ) <u# u#s ( i,0 ) ↔ ( 0,i ) sign ( 0 ) u#> ( a,n ) type space ;
В ядре ФОРТ-ЕС и FORTH ИТЭФ слово I. называлось . и определялось через слова D. и D.R
Вот их описания и определения в ФОРТ-ЕС:
. N -> НАПЕЧАТАТЬ N НА ТЕРМИНАЛЕ И ДАТЬ ПРОБЕЛ 38 D. D-> НАПЕЧАТАТЬ D НА ТЕРМИНАЛЕ И ДАТЬ ПРОБЕЛ 38 D.R D,+N-> НАПЕЧАТАТЬ D В ПОЛЕ ДЛИНЫ +N СПРАВА 38 Экран номер 38 ( 31.03.86 D.R D. .R . H. U. U.R ? ) : D.R (D,+N-> ) ?+ >R DUP >R DABS <# #S R> SIGN #> R> OVER - SPACES TYPE ; : D. ( D-> ) 0 D.R SPACE ; : . ( N-> ) S>D D. ;
Вот их определения в FORTH ИТЭФ:
HEAD 203Q,'D.',322Q,DDOTR,$COL ; D.R DW TOR,SWAP,OVER,DABS,BDIGS,DIGS,SIGN,EDIGS DW FROMR,OVER,SUB,SPACS,$TYPE,SEMI ... HEAD 202Q,'D',256Q,DDOT,$COL ; D. DW ZERO,DDOTR,SPACE,SEMI HEAD 201Q,,256Q,$DOT,$COL ; . DW STOD,DDOT,SEMI
Ссылки[править]
- Исходный текст слова I. в Каллисто Классик 1.0
- См. слова (.), . и I.R
- Слово . (dot) в стандарте ANS Forth (англ.)
- Слово . (dot) в черновике Forth 200x (англ.)
- ОСНОВЫ ФОРТА в книге Л.Броуди «Начальный курс программирования на языке Форт»
- Fundamental Forth в книге Leo Brodie Starting Forth (англ.)
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |