SPACES: различия между версиями
AtH (обсуждение | вклад) (Новая страница: «'''SPACES''' — стандартное слово Каллисто. {{нет иллюстраций}} {{заготовка}} Категория:Слова…») |
AtH (обсуждение | вклад) |
||
(не показаны 34 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
'''SPACES''' — стандартное слово [[Каллисто]]. | '''SPACES''' (пробелы) — стандартное слово [[Каллисто]]. | ||
SPACES ( b −− ) Если b>0, отобразить b пробелов шириной в цифру. | |||
Вывод заданного числа [[Символ с кодом 31|«цифровых» (шириной в цифру) пробелов]] на [[индикатор]]. | |||
== Ввод слова SPACES == | |||
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите клавиши [[Клавиша 1|{{Серая клавиша|1}}]] [[Клавиша 6|{{Серая клавиша|6}}]] {{ШГ←}} [[Клавиша С/П|{{Чёрная клавиша|С/П}}]] [[Клавиша ИП|{{Чёрная клавиша|ИП}}]] [[Клавиша 1|{{Серая клавиша|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]], предназначен для текста. Он гораздо уже цифр и «цифрового» пробела: | |||
<pre> | |||
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 | |||
</pre> | |||
Реализация из SP-Forth 4.20: | |||
<pre> | |||
: SPACES ( n -- ) \ 94 | |||
\ Если n>0 - вывести на дисплей n пробелов. | |||
DUP 1 < IF DROP EXIT THEN | |||
BEGIN | |||
DUP | |||
WHILE | |||
BL EMIT 1- | |||
REPEAT DROP | |||
; | |||
</pre> | |||
=== Советская реализация === | |||
У Баранова-Ноздрунова (стр. 34) и Юрия Семёнова (стр. 34) приводится следующее определение слова SPACES | |||
: SPACES ( N ---> ) FOR SPACE NEXT ; | |||
Описание и определение слова SPACES в ядре ФОРТ-ЕС: | |||
<PRE> | |||
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 ; | |||
</PRE> | |||
Определение слова SPACES в FORTH ИТЭФ: | |||
<PRE> | |||
HEAD 206Q,'SPACE',323Q,SPACS,$COL ; SPACES | |||
DW ZERO,MAX,DDUP,ZBRAN,SP1-$,ZERO,XDO | |||
SPA: DW SPACE,XLOOP,SPA-$ | |||
SP1: DW SEMI | |||
</PRE> | |||
== Ссылки == | |||
* {{Исходник|SPACES|SPACES}} | |||
* См. слова [[BL]] [[SPACE]] [[BLANK]] | |||
* Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.2230 SPACES] в стандарте ANS Forth ''(англ.)'' | |||
* Слово [http://forth-standard.org/standard/core/SPACES SPACES] в черновике Forth 200x ''(англ.)'' | |||
* [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH\01.OSNOWY%20FORTA ОСНОВЫ ФОРТА] в книге [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH Л.Броуди «Начальный курс программирования на языке Форт»] | |||
* [http://www.forth.com/starting-forth/sf1/sf1.html Fundamental Forth] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)'' | |||
{{нет иллюстраций}} | {{нет иллюстраций}} | ||
{{заготовка}} | {{заготовка}} | ||
[[Категория:Слова Каллисто]] | [[Категория:Слова Каллисто]] | ||
[[Категория:Слова высокого уровня]] | |||
[[Категория:Терминальный ввод/вывод Каллисто]] | |||
[[Категория:Стандартные слова]] | |||
[[Категория:1994 CORE]] | |||
[[Категория:2012 CORE]] |
Текущая версия от 18:01, 10 ноября 2017
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 (англ.)
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |