Метка: Интернет
DOES
Эта команда перехода с возвратом передает управление на точку DOES, сообщив ей в качестве своего адреса возврата адрес следующей последовательности ссылок — исполняющей части определения CONST . Точка DOES кладет на стек адрес поля параметров статьи ХОР (в этот момент в рабочей ячейке W еще находится адрес поля кода статьи ХОР , загруженный туда действием NEXT) и исполняет действие CALL для исполняющей части определения CONST . Следующее исполняемое слово @ заменит на стеке адрес поля параметров статьи ХОР числом 4, скомпилированным по этому адресу,...
Встроенный ассемблер
Встроенный ассемблер позволяет программисту задавать реализацию слов непосредственно в машинном коде данной ЭВМ. Это дает ему возможность, с одной стороны, повышать быстродействие программы до максимально возможного уровня за счет перевода интенсивно используемых слов непосредственно в машинный код, а с другой — использовать особенности архитектуры данной ЭВМ и «напрямик» связываться с операционной системой и внешним окружением.
Примеры обоих случаев дает сама форт-система. Очевидно, что слова, выполняющие арифметические операции...
Вид машинной программы
Конкретный вид машинной программы зависит от архитектуры данной ЭВМ. Общим правилом является то, что этот текст представляет собой последовательность слов, которые исполняются текстовым интерпретатором, в результате чего на вершине словаря формируется соответствующий двоичный машинный код. Машинные команды записываются в естественной для Форта обратной польской форме: сначала операнды, а затем слово, обозначающее мнемонику команды.
Операнды — это слова, вычисляющие на стеке размещения операндов: номера регистров, адреса в памяти...
Работа с внешней памятью
В настоящее время в каждом языке программирования тем или иным способом решаются вопросы обмена с внешней памятью. Из-за огромного разнообразия внешних устройств и способов хранения информации «а внешних носителях единый универсальный механизм обмена отсутствует. В каждом языке определяется своя, в известной мере универсальная файловая система, которая при реализации моделируется на реальной файловой системе конкретной операционной системы.
Поскольку в язык Форт легко включать новые слова-команды, то надобность в стандартных универсальных...
Служебные слова
Пусть служебные слова RBLK A,N и WBLK A,N ->-выполняют чтение блока с указанным номером в заданную область оперативной памяти и запись из нее.
Для записи всех измененных буферов во внешнюю память служит слово SAVE-BUFFERS (сохранить буфера).
При исполнении слова SAVE-BUFFERS все буфера остаются приписанными прежним блокам. Слово FLUSH (очистить) переписывает все исправленные блоки во внешнюю память и освобождает буфера. Многие реализации имеют слово EMPTY-BUFFERS (опустошить буфера), которое освобождает буферный пул, не переписывая исправленные блоки.
Внешняя память...
Защита от зацикливания
С помощью этого же механизма можно ввести защиту от зацикливания, например подсчитывая в точке NEXT число исполненных слов и возобновляя диалог при достижении некоторого заданного значения этого счетчика. Если данная ЭВМ имеет встроенный таймер и операционная система позволяет обрабатывать асинхронные выходы по истечении заданного интервала времени, то этот механизм можно также использовать для предохранения от зацикливания. В процедуре обработки выхода по исчерпанию временного интервала нужно подменить точку NEXT на такую, которая...
Признак немедленного исполнения
Переопределенные слова получают признак немедленного исполнения, чтобы описанные действия по переупорядочиванию вычислений выполнялись и во время компиляции, компилируя нужную последовательность операций. В заключение осталось переопределить круглые скобки, явно задающие порядок вычислений.
Открывающая скобка кладет на стек значение 0 — ограничитель для выталкивания операций. Закрывающая скобка выталкивает все операции до ближайшего ограничителя и удаляет его из стека. Переопределение открывающей скобки делает невозможным ее...
Уточнение варианта многозадачного режима
Дальнейшие уточнения конкретного варианта многозадачного режима зависят от многих частных причин. Для примера рассмотрим реализацию системы ПОЛИФОРТ фирмы «Форт». Эта система реализована для целого ряда ЭВМ, включая персональный компьютер ИБМ. Использованный в ней механизм переключения задач основан на кольцевом принципе: все задачи связаны в кольцо через начальную часть своей пользовательской области. Задачи, составляющие кольцо, по очереди получают центральный процессор и удерживают его до тех пор, пока не исполнят слово PAUSE (пауза)...
Операция присваивания
Отметим сейчас важное свойство операции присваивания, которое вытекает из правил ее выполнения, описанных в п. 3. Дело в том, что эта операция вполне допускает случаи, когда одна и та же переменная находится и слева и справа от знака присваивания. Так, например, можно написать и это означает, что требуется к значению переменной п, которое она имела к началу выполнения операции присваивания, прибавить число 1 и считать полученное значение новым значением переменной п. Прежнее значение п при этом пропадает.
Легко заметить, что, используя указанное...
Примеры
Составить словесную запись алгоритма решения уравнения ах = Ъ (а — произвольное действительное число).
На первых порах перед составлением словесной записи алгоритма удобно предварительно вычерчивать его схему. В данном случае вся суть алгоритма сводится к проверке условия а = О (если оно не соблюдается, решение находится тривиально: х = 5/а; если же а = О, ни одно х не удовлетворяет решению). Схема искомого алгоритма изображена на рисунке.
Итак, вслед за чтением значения исходного данного а (в схеме-алгоритма нет такого блока) нужно сразу приступить...
Алгоритм вычисления суммы
Составить алгоритм вычисления суммы первых 20 членов последовательности с общим членом.
Для циклического накапливания сумм при составлении соответствующих алгоритмов используется предписание стандартного вида:
сумма: = сумма + слагаемое
Если повторять такое предписание требуемое количество раз, изменяя соответствующим образом слагаемое, то и будет получена искомая сумма. Понятно, что сумма перед началом работы цикла должна иметь нулевое значение. В схеме, изображенной на рисунке 34, роль суммы выполняет переменная S, а роль слагаемого...
Устройство графического вывода
Пусть устройством графического вывода является экран дисплея, а курсор находится в исходном положении (в левом нижнем углу). Тогда оператор
PLOT < 280, U>
(здесь Ах = 280, Ду = $) вызывает холостое перемещение курсора по горизонтали вправо на 280 точек, т. е. до середины экрана. А оператор
PLOTC, 240, D> прочертит вертикальную линию в движении снизу вверх на 240 дискрет. Если эти два оператора выполнить один за другим, то на экране получится изображение в виде вертикальной линии, пересекающей экран точно посередине (рис. 60, а). Для последовательного выполнения...
Стандарты языков программирования
В предыдущем разделе в качестве одного из критериев выбора языка была выделена возможность переноса законченной программы с машины на машину. Если требуется перенос на машину того же самого типа, то предполагается, что все языки, имеющиеся на Вашей машине, есть и на другой, и проблемы здесь не возникает, хотя существует ряд других проблем, связанных с переносом, которые рассмотрены в разд. 5.3. Если же программа предназначена для переноса на ЭВМ, относящуюся к другому классу, выбор ограничен лишь широко распространенными языками (такими как...
