Слово TYPE: различия между версиями
AtH (обсуждение | вклад) Нет описания правки |
AtH (обсуждение | вклад) |
||
Строка 52: | Строка 52: | ||
TYPE появился в Форте в 1965 году, когда Чак Мур подрабатывал наёмным программистом в городе Нью-Йорк. Тогда появились миникомпьютеры, а с ними и терминалы. Интерпретатор был идеален для ввода с телетайпа и вскоре стал включать код для работы с выводом. | TYPE появился в Форте в 1965 году, когда Чак Мур подрабатывал наёмным программистом в городе Нью-Йорк. Тогда появились миникомпьютеры, а с ними и терминалы. Интерпретатор был идеален для ввода с телетайпа и вскоре стал включать код для работы с выводом. | ||
Слово TYPE появилось, как цикл, вызывающий [[EMIT]] для отображения символов. | Слово TYPE появилось, как цикл, вызывающий [[EMIT]] для отображения символов. В [[Каллисто]] TYPE работает быстрее, т.к [[ГРФ|обновляет экран]] после вывода всей строки, а [[EMIT]] — после каждого символа. | ||
== Реализация TYPE == | == Реализация TYPE == |
Версия от 22:05, 21 марта 2016
TYPE (печать, напечатать) — стандартное слово Каллисто.
Стек при обращении к TYPE должен содержать адрес, начиная с которого надо начать вывод, и число выводимых символов (последнее лежит наверху стека).
Передаёт u символов начиная с адреса a на выходное устройство.
Ввод слова TYPE
В режиме ЛАТ последовательно нажмите четыре клавиши 2 , 6 ИП
TYPE в стандарте ANS Forth
6.1.2310 TYPE CORE ( c-addr u -- ) Если u больше нуля, отображает символьную строку, определенную c- addr и u.
Когда просматривается символ, чьи символом-определенные биты имеют значение между hex 20 и 7E включительно, отображается соответствующий стандартный символ, определенный в 3.1.2.1 Графические символы. Поскольку различные устройства вывода могут реагировать по-разному на управляющие символы, программы, использующие управляющие символы для выполнения специфических функций, имеют зависимость от окружения.
См.: 6.1.1320 EMIT.
TYPE в предыдущем стандарте Forth-83 (англ.)
TYPE addr +n -- M,79 +n characters are displayed from memory beginning with the character at addr and continuing through consecutive addresses. Nothing is displayed if +n is zero. See: "9.5.4 TYPE"
9.5.4 TYPE
Because of the potential non-transportable action by terminal devices of control characters, the use of ASCII control characters is an environmental dependency.
TYPE в стандарте Forth-79 (англ.)
TYPE addr n -- 222 Transmit n characters beginning at address to the current output device. No action takes place for n less than or equal to zero.
TYPE в fig-FORTH Release 1 glossary, май 1979 (англ.)
TYPE addr count --- L0 Transmit count characters from addr to the selected output device.
История
Слово TYPE является одним из наиболее старых и устоявшихся слов Форта.
TYPE появился в Форте в 1965 году, когда Чак Мур подрабатывал наёмным программистом в городе Нью-Йорк. Тогда появились миникомпьютеры, а с ними и терминалы. Интерпретатор был идеален для ввода с телетайпа и вскоре стал включать код для работы с выводом.
Слово TYPE появилось, как цикл, вызывающий EMIT для отображения символов. В Каллисто TYPE работает быстрее, т.к обновляет экран после вывода всей строки, а EMIT — после каждого символа.
Реализация TYPE
У Баранова-Ноздрунова приводится следующее описание слова TYPE (стр. 34):
: TYPE ( A,N ---> ) FOR ↑ C@ EMIT 1+ NEXT DROP ;
Ссылки
- Слово TYPE в стандарте ANS Forth (англ.)
- Слово TYPE в черновике Forth 200x (англ.)
- См. также стандартное слово TYPE1
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |