Справочник по системным программам для компьютера ZX Spectrum 128к 1969 г.

Описание 11 - компилятор языка Бейсик BASIC COMPILER FP48V1.7.


12. КОМПИЛЯТОР ЯЗЫКА БЕЙСИК BASIC COMPILER FP48V1.7

Фирма - разработчик - "SOFTEK"

Ошибки, обнаруженные компилятором, исправляются с помощью команды EDIT. Все
приведенные в описании данные в скобках (}, относятся к компилятору IS этой же фирмы.

1. Введение

Компилятор - это транслятор программ с языка Бейсик в машинные коды. Программы,
оттранслированные эти м ком пи лятором выполняются значительно быстрее, чем написан ные
на Бейсике. Компилятор работает в режиме с фиксированной точкой, что надо и меть в виду
если в исходном тексте имеются сложные вычисления.

Откомпилированные программы используют почти все возможности процессора Z-80, а
скорость вычислений возрастает от 10 до 200 раз.

2. Загрузка компилятора.

Загрузка производится стандартной командой LOAD "". Во время загрузки компилятор
устанавливает RAMTOP на 40000 или 26000, и восстанавливает программу ввода.

3. Пользование компилятором.

После загрузки компилятора можно приступить к вводу программы с клавиатуры или с
магнитной ленты.

Если загрузка с магнитной ленты прошла успешно, то компилятор запускают командой:

RANDOMIZE USR 59300 (26600)

После этого компилятор выдает сообщения:

1. Начальный адрес.

Указывает начальный адрес памяти, с которого будет находиться откомпилированная
программа в машинных кодах. Этот адрес всегда выше RAMTOP, т к. программа в машинных
кодах всегда размещается выше RAMTOP.

2. Конечный адрес.

Адрес памяти, на котором заканчивается откомпилированная программа.

3. Конец переменных.

На этом адресе заканчивается область переменных.

4. Первый проход/второй проход.

Показывает этапы процесса компиляции.

5. Ошибки / нет ошибок.

При появлении ошибок, процесс компиляции прерывается и курсор устанавливается на
строке, в которой обнаружена ошибка.

4. Запуск откомпилированных программ.

Откомпилированную программу запускают командой: RANDOMIZE USR (адрес начала
программы)

5. Местонахождение откомпилированной программы. Откомпилированная программа
находится на один байт выше RAMTOP. Умело используя команду CLEAR можно компили-
ровать несколько программ.

При работе с компилятором обратите внимание на сообщения:

- начальный адрес, - конец переменных, которые выдает компилятор при трансляции
программы.

4. Что происходит с программой, написанной на Бейсике.

Программа, написанная на Бейсике после компиляции находится в памяти компьютера.
После пробного пуска программы ее рекомендуется вывести командой NEW.

5. Использование памяти.

При компиляции может появиться сообщение об ошибке:

OUT OF MEMORY - вне памяти.

Это сообщение выдается когда:

- исходная программа содержит слишком много строк,

- программа в машинных кодах не помещается в отведенной области памяти.

После откомпилированной программы должна находиться свободная область памяти 130
байт, которая используется компилятором как служебную область. Кроме того, следует
иметь ввиду, что компилятор использует поля Бейсика, которые могут применяться для
обмена данными между Бейсиком и программой в машинных кодах.

6. Переменные.

Допускаются все переменные Бейсика, за исключением многомерных массивов. Массивы
должны быть только одномерными.

Переменные должны находиться в интервале от -32767 до + 32767.

В функциях РЕЕК, РОКЕ и USR переменные должны находиться в интервале от 0 до
65536.

7. Команды.

Используются все команды Бейсика, за исключением FN и DEF FN.

Если команда не проходит, то об этом при компиляции будет выдано сообщение.

Некоторые дополнительные функции выполняет команда REM:

REM В - проверяет, нажата ли кнопка "BREAK"
REM M,N,N,N - осуществляет запрос программ монитора.
REM 0,A,N,N - моделирует функцию ON A GOTO N.N.
{NIGHT VORH}

REM E,N - вводит в строку "Ловушку для ошибок". В случае {NIGHT} исполь-
зования "Ловушки" для переключения с обработки ошибок, прог-
рамму необходимо закончить командой "STOP".

REM S,A,X,Y - выводит в позицию X,Y значение "А".

8. Функции.

Функции могут использоваться так же, как и в Бейсике.
Исключение составляют:

-BIN,

- VAL;

- VAL#.

Кроме этого следует избегать повторных булевых выражений в команде "LET". RND может
принимать значения от 0 до 32767. {Само собой разумеется, что набирается не SIN, CIS, TAN,
ASN, ATN, LN, EXP}.

9. Сохранение откомпилированной программы на кассете

Примечание: Компилятор должен всегда находиться в памяти вместе со скомпилирован-
ной программой.

Программа сохраняется командой:

SAVE "ИМЯ" CODE ST.65536-ST

или

SAVE "ИМЯ" CODE ST,32767-ST

где ST - начальный адрес.




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
News - новости от: Survivor, Flying/Digital Reality, Кирилл Фролов, Nik-O, Voodoo/Delirium Tremens, Stanley "Virt" Ivanenko, Pawel/Real Software, Vitamin/CAIG, Евгений Илясов, Sam Style, Kristoph.
Новости - ZX-Guide будет скоро,хотя еще мало что готово.
Cult pro свет - история непростой судьбы китайского клона спектрума - Enterprise 64/128.
V.I.P. - Интервью с галандской демо группой The Lords.
Программистам - BMC 2. Eще несколько слов о конвертации PC-шных картинок в 3-color.

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