Редактирование: EMIT
Перейти к навигации
Перейти к поиску
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
[[Файл:CallistoXorIdotRegQEmitHex.png|thumb|right|264px|Пример работы слова EMIT]] | |||
'''EMIT''' (испустить, выдать) — стандартное слово [[Каллисто]]. | '''EMIT''' (испустить, выдать) — стандартное слово [[Каллисто]]. | ||
Отобразить символ. | |||
Отображает на [[индикатор]]е [[Знакогенератор| | |||
Отображает на [[индикатор]]е [[Знакогенератор|символ]], код которого находится в [[Стек данных|стеке]]. | |||
== Ввод слова EMIT == | == Ввод слова EMIT == | ||
Строка 8: | Строка 10: | ||
== EMIT в стандарте ANS Forth == | == EMIT в стандарте ANS Forth == | ||
6.1.1320 EMIT CORE | 6.1.1320 EMIT CORE | ||
( x -- ) | ( x -- ) | ||
Строка 25: | Строка 26: | ||
См.: 6.1.2310 TYPE. | См.: 6.1.2310 TYPE. | ||
== EMIT в предыдущем стандарте Forth-83 (англ.) == | |||
EMIT 16b -- M,83 | EMIT 16b -- M,83 | ||
The least-significant 7-bit ASCII character is displayed. | The least-significant 7-bit ASCII character is displayed. | ||
Строка 52: | Строка 42: | ||
other than zero is an environmentally dependent usage. EMIT must | other than zero is an environmentally dependent usage. EMIT must | ||
display as many bits as can be sent. | display as many bits as can be sent. | ||
== EMIT в стандарте Forth-79 (англ.) == | |||
EMIT char -- 207 | EMIT char -- 207 | ||
Transmit character to the current output device. | Transmit character to the current output device. | ||
== EMIT в fig-FORTH Release 1 glossary, май 1979 (англ.) == | |||
EMIT c --- L0 | EMIT c --- L0 | ||
Transmit ascii character c to the selected output device. OUT is | Transmit ascii character c to the selected output device. OUT is | ||
incremented for each character output. | incremented for each character output. | ||
== История == | |||
Слово EMIT является одним из наиболее старых и устоявшихся слов Форта. | |||
EMIT появился в Форте в 1965 году, когда Чак Мур подрабатывал наёмным программистом в городе Нью-Йорк. Тогда появились миникомпьютеры, а с ними и терминалы. Интерпретатор был идеален для ввода с телетайпа и вскоре стал включать код для работы с выводом. | |||
[[Слово TYPE]] появилось, как цикл, вызывающий EMIT для отображения символов. В [[Каллисто]] [[Слово TYPE|TYPE]] работает быстрее, т.к [[ГРФ|обновляет экран]] после вывода всей строки, а EMIT — после каждого символа. | |||
В MMSFORTH слово EMIT называлось ECHO | |||
== Реализация == | == Реализация == | ||
Слово EMIT в ФОРТ-ЕС было [[примитив]]ом. Вот его описание и то, что было опубликовано из определения: | |||
Слово EMIT в ФОРТ-ЕС | |||
<PRE> | <PRE> | ||
EMIT С-> ВЫВЕСТИ | EMIT С-> ВЫВЕСТИ НИ ТЕРМИНАЛ ЛИТЕРУ С КОДОМ С 6 | ||
Экран номер 6 | Экран номер 6 | ||
Строка 102: | Строка 72: | ||
CODE EMIT ( С-> ВЫВЕСТИ ЛИТЕРУ С КОДОМ С НА ТЕРМИНАЛ) END-CODE | CODE EMIT ( С-> ВЫВЕСТИ ЛИТЕРУ С КОДОМ С НА ТЕРМИНАЛ) END-CODE | ||
</PRE> | </PRE> | ||
В FORTH ИТЭФ слово EMIT также было [[примитив]]ом, вот его определение: | |||
<PRE> | <PRE> | ||
HEAD 204Q,'EMI',324Q,EMIT,$EMIT ; EMIT | HEAD 204Q,'EMI',324Q,EMIT,$EMIT ; EMIT | ||
$EMIT LABEL FAR | $EMIT LABEL FAR | ||
Строка 129: | Строка 98: | ||
JMP TYPE$ | JMP TYPE$ | ||
ERMES4: DB ' PRINTER ERROR $' | ERMES4: DB ' PRINTER ERROR $' | ||
</PRE> | </PRE> | ||
== Ссылки == | == Ссылки == | ||
* См. слова [[SPACE]], [[слово ↵|↵]] и [[Слово ↖|↖]] | * См. слова [[SPACE]], [[слово ↵|↵]] и [[Слово ↖|↖]] | ||
* Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.1320 EMIT] в стандарте ANS Forth ''(англ.)'' | * Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.1320 EMIT] в стандарте ANS Forth ''(англ.)'' | ||
* Слово [http:// | * Слово [http://www.forth200x.org/documents/html3/core/EMIT.html EMIT] в черновике 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\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://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH\07.TISLO%20TIPOW%20TISEL ЧИСЛО ТИПОВ ЧИСЕЛ] в книге [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 Л.Броуди «Начальный курс программирования на языке Форт»] | |||
* [http://www.forth.com/starting-forth/sf1/sf1.html Fundamental Forth] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)'' | |||
* [http://www.forth.com/starting-forth/sf7/sf7.html A Number of Kinds of Numbers] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)'' | |||
* [http://www.forth.com/starting-forth/sf10/sf10.html I/O and You] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)'' | |||
Строка 308: | Строка 116: | ||
[[Категория:Примитивы]] | [[Категория:Примитивы]] | ||
[[Категория:Терминальный ввод/вывод Каллисто]] | [[Категория:Терминальный ввод/вывод Каллисто]] | ||
[[Категория: | [[Категория:Слова Каллисто без стековых диаграмм]] | ||