Редактирование:
Входной буфер терминала
Перейти к навигации
Перейти к поиску
Внимание:
Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы
войдёте
или
создадите учётную запись
, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.
Анти-спам проверка.
Не
заполняйте это!
'''Входной буфер терминала''' (''англ.'' Terminal Input Buffer, TIB) располагается в начале [[Регистры байтовых данных|области байтовых данных]] и предназначен для ввода слов [[Каллисто]] с клавиатуры ЭКВМ. [[Единое адресное пространство|Адрес]] начала ''входного буфера'' даёт стандартное слово [[TIB]], в [[Каллисто|Каллисто 1.0]] он всегда равен 11000. В [[Каллисто|Каллисто 1.0]] размер TIB равен 96 байт, чтобы вместить максимальную вводимую с пульта строку в 94 символа и два завершающих нуля. Данный ''буфер'' представляет собой входной поток, откуда слово [[WORD]] выбирает слова. По исчерпании входного потока [[Каллисто]] вводит в этот ''буфер'' новый текст, получаемый от программиста. Ввод в этот буфер осуществляется встроенным оператором [[QUERY]]. Переключением входного потока на внешнюю память и обратно управляет стандартная переменная [[BLK]] (сокращение от англ. block — блок), значение которой проверяется каждый раз в слове [[WORD]]. Если это нуль, то в качестве входного потока служит ''буфер TIB'', в противном случае это значение рассматривается, как номер [[блок]]а на электронном диске, который используется как входной поток (этот [[блок]] переносится в оперативную память словом [[BLOCK]]). Текущая позиция во входном потоке хранится в стандартной переменной [[⟩IN|>IN]] (от англ. in — вход). == Исчерпание входного потока == Конец входного потока в оперативной памяти отмечается [[Символ с кодом 0|нулевым кодом]]. Слово [[WORD]], «натыкаясь» на [[Символ с кодом 0|нулевой код]], возвращает в качестве результата пустую строку, при этом в список [[FORTH]] включена [[Пустое слово|словарная статья для такого «пустого» слова]]. Оно имеет признак [[IMMEDIATE|немедленного исполнения]] и поэтому [[INTERPRET|текстовый интерпретатор]] его всегда [[EXECUTE|исполняет]], независимо от [[STATE|своего состояния]]. Исполнение [[Пустое слово|«пустышки»]] состоит в прекращении [[INTERPRET|интерпретации]] данного входного потока и тем самым позволяет избежать дополнительных проверок на его исчерпание. Такая «кухня» — популярный в Форте трюк. От него постепенно избавляются в стандартах, предлагая более гибкий механизм EVALUATE, который намечен к реализации в [[Каллисто 2.0]]. [[Категория: Структуры данных Каллисто]]
Описание изменений:
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см.
Pmkwiki:Авторские права
).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!
В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:
Отменить
Справка по редактированию
(в новом окне)
Навигация
Персональные инструменты
Вы не представились системе
Обсуждение
Вклад
Создать учётную запись
Войти
Пространства имён
Статья
Обсуждение
русский
Просмотры
Читать
Править
История
Ещё
Поиск
Навигация
Заглавная страница
Свежие правки
Случайная страница
Справка по MediaWiki
Инструменты
Ссылки сюда
Связанные правки
Служебные страницы
Сведения о странице