Редактирование: Слово TYPE
Перейти к навигации
Перейти к поиску
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
'''TYPE''' (печать, напечатать) — стандартное слово [[Каллисто | '''TYPE''' (печать, напечатать) — стандартное слово [[Каллисто]]. | ||
[[Стек данных|Стек]] при обращении к TYPE должен содержать | [[Стек данных|Стек]] при обращении к TYPE должен содержать адрес, начиная с которого надо начать вывод, и число выводимых символов (последнее лежит наверху [[Стек данных|стека]]). | ||
Передаёт u [[Знакогенератор|символов]] начиная с адреса a на выходное устройство. | |||
== Ввод слова TYPE == | == Ввод слова TYPE == | ||
Строка 7: | Строка 9: | ||
== TYPE в стандарте ANS Forth == | == TYPE в стандарте ANS Forth == | ||
6.1.2310 TYPE CORE | 6.1.2310 TYPE CORE | ||
( c-addr u -- ) | ( c-addr u -- ) | ||
Строка 22: | Строка 23: | ||
См.: 6.1.1320 EMIT. | См.: 6.1.1320 EMIT. | ||
== TYPE в предыдущем стандарте Forth-83 (англ.) == | |||
TYPE addr +n -- M,79 | TYPE addr +n -- M,79 | ||
+n characters are displayed from memory beginning with the | +n characters are displayed from memory beginning with the | ||
Строка 44: | Строка 36: | ||
devices of control characters, the use of ASCII control | devices of control characters, the use of ASCII control | ||
characters is an environmental dependency. | characters is an environmental dependency. | ||
== TYPE в стандарте Forth-79 (англ.) == | |||
TYPE addr n -- 222 | TYPE addr n -- 222 | ||
Transmit n characters beginning at address to the current | Transmit n characters beginning at address to the current | ||
Строка 52: | Строка 43: | ||
to zero. | to zero. | ||
== TYPE в fig-FORTH Release 1 glossary, май 1979 (англ.) == | |||
TYPE addr count --- L0 | TYPE addr count --- L0 | ||
Transmit count characters from addr to the selected output device. | Transmit count characters from addr to the selected output device. | ||
== | == История == | ||
Слово TYPE является одним из наиболее старых и устоявшихся слов Форта. | |||
TYPE появился в Форте в 1965 году, когда Чак Мур подрабатывал наёмным программистом в городе Нью-Йорк. Тогда появились миникомпьютеры, а с ними и терминалы. Интерпретатор был идеален для ввода с телетайпа и вскоре стал включать код для работы с выводом. | |||
Слово TYPE появилось, как цикл, вызывающий [[EMIT]] для отображения символов. В [[Каллисто]] TYPE работает быстрее, т.к [[ГРФ|обновляет экран]] после вывода всей строки, а [[EMIT]] — после каждого символа. | |||
== | == Реализация == | ||
У Баранова-Ноздрунова приводится следующее описание слова TYPE (стр. 34): | У Баранова-Ноздрунова приводится следующее описание слова TYPE (стр. 34): | ||
: TYPE ( A,N ---> ) FOR ↑ C@ EMIT 1+ NEXT DROP ; | : TYPE ( A,N ---> ) FOR ↑ C@ EMIT 1+ NEXT DROP ; | ||
Строка 106: | Строка 68: | ||
CODE TYPE ( A,N-> ВЫВЕСТИ HА TEPМИНАЛ N ЛИТЕР ПО АДРЕСУ A) END-CODE | CODE TYPE ( A,N-> ВЫВЕСТИ HА TEPМИНАЛ N ЛИТЕР ПО АДРЕСУ A) END-CODE | ||
</PRE> | </PRE> | ||
== Ссылки == | == Ссылки == | ||
* Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.2310 TYPE] в стандарте ANS Forth ''(англ.)'' | * Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.2310 TYPE] в стандарте ANS Forth ''(англ.)'' | ||
* Слово [http:// | * Слово [http://www.forth200x.org/documents/html3/core/TYPE.html TYPE] в черновике Forth 200x ''(англ.)'' | ||
* См. также стандартное слово [[TYPE1]] | * См. также стандартное слово [[TYPE1]] | ||
* [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH\10.WWOD-WYWOD ВВОД-ВЫВОД] в книге [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH Л.Броуди «Начальный курс программирования на языке Форт»] | * [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH\10.WWOD-WYWOD ВВОД-ВЫВОД] в книге [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH Л.Броуди «Начальный курс программирования на языке Форт»] | ||
Строка 131: | Строка 84: | ||
[[Категория:Примитивы]] | [[Категория:Примитивы]] | ||
[[Категория:Терминальный ввод/вывод Каллисто]] | [[Категория:Терминальный ввод/вывод Каллисто]] | ||
[[Категория: | [[Категория:Слова Каллисто без стековых диаграмм]] | ||