Языки программирования: Мега-Бейсик, Бета-Бейсик, Бета-Бейсик, Лазер-Бейсик, ZX-Форт, Паскаль HP4TM 1993 г.

ZX-FORTH - работа с магнитофоном. Другие полезные команды. Приложение 1. Сообщения СПЕКТРУМ-ФОРТА об ошибках. Приложение 2, Полезные процедуры.


5. РАБОТА С МАГНИТОФОНОМ.

Обычно ФОРТ работает интерактивно, но после того как
определение сделано, его нельзя изменить никак, кроме как
перепечатав. ФОРТ применяет метод хранения кода в нумерованных
экранах. Каждый экран состоит из 16 строк по 64 символа. Программы
записываются на экраны с помощью редактора.

ВЫГРУЗКА ПРОГРАММ

После того как программа записана на экране, ее можно выгрузить
на кассету. Для этого надо подключить компьютер к магнитофону. По

команде FLUSH компьютер выгрузит текущий экран на ленту. Если Вы
наберете FLUSH <ENTER>, ФОРТ ответит сообщением READY CASSETTE.
Теперь включите запись на магнитофоне и нажмите <ENTER> еще раз.
Один экран выгружается.примерно 30 секунд. Если Вы нажмете любую
другую клавишу, а не <ENTER>, то выгрузка отменится и на экране
опять появится курсор.

ЗАГРУЗКА ПРОГРАММ

ФОРТ имеет два слова для выполнения загрузки с ленты. Для
загрузки какого-либо экрана служит команда nLIST, где п - номер
экрана. Если этот экран уже находится в памяти, то по этой команде
он выдается на экран. Если его там нет, то ФОРТ попытается загрузить
его с ленты. Подключите магнитофон . и установите кассету
непосредственно перед началом того экрана, который ВЫ хотите
загрузить. Нажмите <ENTER> и запустите магнитофон. Если экран
загрузится правильно, то он будет распечатан. Если же он не
загрузится или Вы пытались загрузить не тот экран, появится
сообщение READY CASSETTE. Попробуйте еще раз.

ФОРТ имеет переменную FIRST, которая содержит номер любого
экрана, находящегося в памяти. Ее можно проверить:
FIRST ? <ENTER>

Если надо прервать ход загрузки, нажмите пробел.

Слово 'LOAD' служит для компиляции определения, находящегося на
экране. Если этот экран не находится в памяти компьютера, то перед
командой должен стоять символ п, как и перед командой 'LIST'.
Обработка определения ведется так же, как если бы оно было набрано с
клавиатуры.

ФОРМАТ ЭКРАНА

Каждый экран имеет номер и состоит из 16 строк по 64 символа.
Чтобы ФОРТ мог эффективно его обрабатывать, каждый экран должен
заканчиваться специальным словом.

Слово '-->' в конце последней строки экрана командует ФОРТу
выполнить 'LOAD' очередного экрана. Это применяется в тех случаях,
когда программа занимает более чем один экран. ФОРТ компилирует
экран в память, а затем печатает READY CASSETTE и готов к загрузке
очередного экрана.

Слово ' ; S ' в конце последней строки экрана завершает
выполнение команды 'LOAD'. Применяется для последнего экрана
программы. Если Вы забудете поставить это слово в конце последнего
экрана, то ФОРТ-система может выйти из строя.

Примечание: одновременно в памяти может находиться только
один экран, он будет затерт при загрузке другого.

6. ДРУГИЕ ПОЛЕЗНЫЕ КОМАНДЫ.

Все команды перечислить здесь невозможно, поскольку ФОРТ имеет
такой богатый словарь. Единственный путь их изучения - это чтение
словаря и экспериментирование.

'FORGET' - это слово служит для того, чтобы "забыть" данное
определение. Оно применяется в форме:
FORGET СЛОВО <ENTER>

Примечание: по этой команде "забывается" слово "СЛОВО" и

все слова, определенные после него.
Например:

: WD1 ." HELLO " ; <ENTER>
: WD2 . " HI м ; <ENTER>
: WD3 ." BYE " ; <ENTER>
Команда FORGET WD2 <ENTER> OK удалит слова WD2,
WD3, но не WD1.

Слово 'BYE' служит для выхода из ФОРТа и возврата в БЕЙСИК.
'IMMEDIATE'. Обычно, когда слово встречается в определении, оно
компилируется как часть этого определения. Если же Вам надо, чтобы
слово исполнялось тогда, когда оно встретится, даже если это
произойдет внутри определения, то это слово должно быть объявлено
словом 'IMMEDIATE', следующим непосредственно за ним.

'TASK' - это слово - пустое определение. По соглашению принято
начинать программу с него. Это нужно для того, чтобы при желании
стереть программу, Вы знали откуда надо это сделать.

'VLIST' - по этой команде выдается список всех слов, имеющихся
в словаре. Более поздние добавления к словарю печатаются раньше.
Распечатка может быть остановлена нажатием клавиши BREAK. Например:
: WD3 ." IT IS NOW COMPILING " ; IMMEDIATE <ENTER> OK
Когда встретится слово WD3, то будет напечатано приведенное
сообщение. Оно НЕ КОМПИЛИРУЕТСЯ.

Слова '[', ']' и 'LITERAL'. Иногда бывает удобно рассчитать
константы в определении один раз, а не всякий раз, когда это
определение исполняется. Слово '[' переводит компьютер в режим
интерпретации и все, что будет набрано будет исполнено немедленно.
Слов ']' опять возвращает компьютер в режим компиляции внутри
определения. Слово 'LITERAL' берет верхнее значение со стека и
помещает его в определении в качестве постоянной. 'LITERAL' имеет
характер непосредственного выполнения и при появлении немедленно
выполняется. Например, два нижеприведенных определения являются
эквивалентными.

: РТ1 3 [ 1 3 + 2 * ] LITERAL + . ; <ENTER>
: РТ2 3 8+.; <ENTER>
Такое применение этих команд дает Вам возможность использовать
результаты выражений, которые Вы можете не считать.

'VOCABULARY'. Это слово позволяет Вам создать собственный
словарь с таким расчетом, чтобы слова, используемые в одной
программе, хранились вместе. Например, чтобы задать словарь по имени
"MINE", Вы должны задать определение имени словаря:
MINE DEFINITIONS <ENTER>
Все определения, которые были сделаны до него, будут помещены в
словарь по имени 'MINE' и будут там храниться до тех пор, пока Вы не
измените словарь. Из словаря Вы имеете доступ ко всем словам этого
словаря, а также ко всем словам словаря, в котором был определен
этот словарь. Если же Вы хотите использовать слово, находящееся в
каком-то другом словаре, то Вам надо перед этим словом поставить имя
того словаря. Имя основного словаря - FORTH.

'MEM' печатает объем оставшейся свободной памяти.

ПРИЛОЖЕНИЕ 1.

СООБЩЕНИЯ СПЕКТРУМ-ФОРТА ОБ ОШИБКАХ.

КОД ОШИБКИ СОДЕРЖАНИЕ СООБЩЕНИЯ

0 Команды в словаре нет.

1 Стек пуст.

2 Переполнение словаря (переполнение памяти).

3 Неправильная адресация.

4 Предупреждение: имя повторяется.

7 Переполнение стека (переполнение памяти).

17 Слово должно использоваться внутри определения.

18 Только непосредственное исполнение.

19 Отсутствует парное условие.

20 Определение не завершено.

21 Находится в защищенном словаре.

22 Используется только при загрузке.
2 3 На текущем экране нет.

24 Объявите словарь.

ПРИЛОЖЕНИЕ 2.

ПОЛЕЗНЫЕ ПРОЦЕДУРЫ.

Процедура INPUT, приведенная здесь, считывает во время
вычислений число с клавиатуры и помещает его на стек. Ввод числа
должен заканчиваться <ENTER>.

: INPUT PAD 1+ 64 EXPECT .0 PAD (NUMBER) DROP DROP ;
Процедура INPUT, служит для ввода чисел в двойной точности.
: INPUT. PAD 1+64 EXPECT .0 PAD (NUMBER) DROP ;




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Interviews - Интервью с Алексеем Астафьевым (Alex Raider/Flash Inc.)
Scene - GALZA exhibition 2004.
ZX News - Состоялся Fun Top'98. Вышла полная верси игры: 12 Тайных книг.
Премьера - Про это: Открытое письмо Кохомским коллегам...
Разное - Фальшивые редакторы для музыкального сопроцессора.

В этот день...   21 ноября