SPACES
SPACES (пробелы) — стандартное слово Каллисто.
SPACES ( b −− ) Если b>0, отобразить b пробелов шириной в цифру.
Вывод заданного числа «цифровых» (шириной в цифру) пробелов на индикатор.
Ввод слова SPACES
В режиме ЛАТ последовательно нажмите клавиши 1 6 ШГ← С/П ИП 1
SPACES в стандарте ANS Forth
6.1.2230 SPACES CORE ( n -- ) Если n больше нуля, отображает n пробелов.
История
Слово SPACES является одним из наиболее старых и устоявшихся слов Форта. Оно появилось в Форте в 1965 году, когда Чак Мур подрабатывал наёмным программистом в городе Нью-Йорк. Тогда появились миникомпьютеры, а с ними и терминалы. Интерпретатор был идеален для ввода с телетайпа и вскоре стал включать код для работы с выводом.
В Форте FSP88M слово SPACES было известно под именем SPS
SPACES в предыдущем стандарте Forth-83 (англ.)
SPACES +n -- M,79 Displays +n ASCII spaces. Nothing is displayed if +n is zero.
SPACES в стандарте Forth-79 (англ.)
SPACES n -- 231 Transmit n spaces to the current output device. Take no action for n of zero or less.
SPACES в fig-FORTH Release 1 glossary, май 1979 (англ.)
SPACES n --- L0 Transmit n ascii blanks to the output device.
Реализация
В Каллисто 1.0 1 SPACES отличается от SPACE, т.к. пробел, выводимый SPACE, предназначен для текста. Он гораздо уже цифр и «цифрового» пробела:
3737 ;#SPACES 3738 ; SPACES ( b −− ) Если b>0, отобразить b пробелов шириной в цифру. 3739 LSPACS: .DB 6 3740 .TEXT "SPACES" ; ( сколько −− ) 3741 .DW LSNEXT ; Вывести заданное число "цифровых" (шириной в цифру) пробелов на индикатор. 3742 SPACS: .DW CALL, LITB 3743 .DB 31 3744 .DW SWAP, EMI, EXIT
Реализация из SP-Forth 4.20:
: SPACES ( n -- ) \ 94 \ Если n>0 - вывести на дисплей n пробелов. DUP 1 < IF DROP EXIT THEN BEGIN DUP WHILE BL EMIT 1- REPEAT DROP ;
Советская реализация
У Баранова-Ноздрунова (стр. 34) и Юрия Семёнова (стр. 34) приводится следующее определение слова SPACES
: SPACES ( N ---> ) FOR SPACE NEXT ;
Описание и определение слова SPACES в ядре ФОРТ-ЕС:
SPACES +N-> НАПЕЧАТАТЬ НА ТЕРМИНАЛЕ +N ПРОБЕЛОВ 23 Экран номер 23 ( 31.03.84 LIT 2LIT LITERAL 2LITERAL SPACE SPACES ) : SPACES ( +N->) 0 OVER < IF 0 DO SPACE LOOP EXIT THEN DROP ;
Определение слова SPACES в FORTH ИТЭФ:
HEAD 206Q,'SPACE',323Q,SPACS,$COL ; SPACES DW ZERO,MAX,DDUP,ZBRAN,SP1-$,ZERO,XDO SPA: DW SPACE,XLOOP,SPA-$ SP1: DW SEMI
Ссылки
- Исходный текст слова SPACES в Каллисто Классик 1.0
- См. слова BL SPACE BLANK
- Слово SPACES в стандарте ANS Forth (англ.)
- Слово SPACES в черновике Forth 200x (англ.)
- ОСНОВЫ ФОРТА в книге Л.Броуди «Начальный курс программирования на языке Форт»
- Fundamental Forth в книге Leo Brodie Starting Forth (англ.)
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |