Редактирование:
Слово TYPE
(раздел)
Перейти к навигации
Перейти к поиску
Внимание:
Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы
войдёте
или
создадите учётную запись
, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.
Анти-спам проверка.
Не
заполняйте это!
== Реализация == В [[Каллисто|Каллисто 1.0]] слово TYPE может выводить символы как из [[Память двоичных данных|области данных]], так и из [[Память программ|памяти программ]]: <pre> 604 ;#TYPE 605 ; TYPE ( a u −− ) Напечатать на индикаторе u литер от адреса a. 606 ; Передать u литер, начиная с адреса a на индикатор. 607 ; Подразумеваем, что строка не пересекает границу областей памяти. 608 LTYPE: .DB 4 609 .TEXT "TYPE" 610 .DW LLIT 611 TYPE: .DW JTYPE ; Примитив 612 JTYPE: RM3 M8 1 + MB 1 + M3 613 KRM8 M0 +/− KX<09 ; R0 := длина 614 KRMB MB 1 EE 4 − FX<0 TYPER 615 RMB 616 TYPEP: KPRGM PGSB CHPUT ; вывести очередную литеру из памяти программ 617 RMB 1 + MB FL0 TYPEP 618 KGRPH KGOTO9 ; NEXT 619 TYPER: 1 − M5 620 TYPERL: KRM5 PGSB CHPUT ; вывести очередную литеру из регистровой памяти 621 FL0 TYPERL 622 KGRPH KGOTO9 ; NEXT </pre> Реализация из SP-Forth 4.20: <pre> : TYPE1 ( c-addr u -- ) \ 94 \ Если u>0 - вывести строку символов, заданную c-addr и u. \ Программы, использующие управляющие символы, зависят от окружения. ANSI><OEM 2DUP TO-LOG H-STDOUT DUP 0 > IF WRITE-FILE THROW ELSE 2DROP DROP THEN ; ' TYPE1 ' TYPE TC-VECT! </pre> === Советская реализация === У Баранова-Ноздрунова приводится следующее описание слова TYPE (стр. 34): : TYPE ( A,N ---> ) FOR ↑ C@ EMIT 1+ NEXT DROP ; Слово TYPE в ФОРТ-ЕС было [[примитив]]ом. Вот его описание и опубликованная часть определения: <PRE> TYPE A,+N-> НАПЕЧАТАТЬ НА ТЕРМИНАЛЕ +N ЛИТЕР 6 ОТ АДРЕСА А Экран номер 6 ( 09.09.86 KEY CR EMIT TYPE (EXPECT/ RBLK MBLK ) ( следующие определения дают только имена процедур) CODE TYPE ( A,N-> ВЫВЕСТИ HА TEPМИНАЛ N ЛИТЕР ПО АДРЕСУ A) END-CODE </PRE> Определение слова TYPE в FORTH ИТЭФ: <PRE> HEAD 204Q,'TYP',305Q,$TYPE,$COL ; TYPE DW DDUP,ZBRAN,TC1-$,ZERO,XDO TC0: DW DUBL,I,PLUS,CAT,LIT,177Q,$AND DW ONE,EMI$,XLOOP,TC0-$ TC1: DW DROP,SEMI </PRE>
Описание изменений:
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см.
Pmkwiki:Авторские права
).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!
В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:
Отменить
Справка по редактированию
(в новом окне)
Навигация
Персональные инструменты
Вы не представились системе
Обсуждение
Вклад
Создать учётную запись
Войти
Пространства имён
Статья
Обсуждение
русский
Просмотры
Читать
Править
История
Ещё
Поиск
Навигация
Заглавная страница
Свежие правки
Случайная страница
Справка по MediaWiki
Инструменты
Ссылки сюда
Связанные правки
Служебные страницы
Сведения о странице