ZX Spectrum
Game

Softek 'FP' Full Compiler

Softek International Ltd (Великобритания),

Авторы: ,

Жанр: Программирование: BASIC


Доступные версии

 Переиздание
Играть!
 Неофициальное издание
Играть!
 Неофициальное издание
Играть!
 Оригинальное издание
Играть!

Язык

  • Русский
  • English

Управление

  • Клавиатура(?)

Игроков

  • Один
  • Описание
  • Описание (авт.пер.)
  • Информация

Softek

Мастера игры

‘IS’ INTEGER COMPILER & ПОЛНЫЙ COMPILER “FP”

(C) 1983

М. Льюис Softek International Ltd Лондон, Англия

(Вводимый в по Неле Abels-Людвига. Держите программное обеспечение Spectrum использовать, записать технические руководства!)

Введение

ЧТО ТАКОЕ COMPILER?

Компилятор переводит программу, написанную на BASIC в эквиваленте

Программа в машинном коде. Машинный код находится в каком-то смысле, ваше Спектр-х “Родной язык”, он на самом деле всегда работает на этом языке: BASIC вы может быть использован для написания понимается вашего Spectrum, потому что его ” ROM (Read Only Memory) содержит так называемую «BASIC интерпретатор” сам написано в машинный код. Потому что сердце вашего Spectrum, его ‘CPU’ (Центральный процессор) не понимают ‘BASIC’ язык. Ваш Спектр тратит немало времени, пока выполнение вашей программы “Интерпретации”, это для процессора.

Softek Compiler, напротив, превращает ваш основной, так что это в Машинный код и из-за этого ваши Составитель программы будут работать typicall в десять раз быстрее, чем BASIC (меньше для «FP» версия), но до в 200 раз быстрее, можно с “есть” Integer компилятора.

Оба Составители Softek позволит вам выбрать, где скомпилированный код будет сидеть в памяти, и это окончательный вариант машины Код вашего proram может быть легко сохранены на ленте в виде кода. Красота Softek Составители является что после компиляции вашей основной по-прежнему присутствует, так что следует ammendments потребоваться нет необходимости снова загружать из лента / Microdrive. Кроме того, вы можете скомпилировать подпрограммы.

ЗАГРУЗКА компилятор

Просто введите НАГРУЗКИ “” и нажмите клавишу. Установите работает магнитофон

(Будучи уверенным, подключить ленту правильно ведет в задней панели Спектр). Программы все нагрузки на две части, BASIC погрузчиков и компилятор сам. При загрузке вам будет предложено, если установка RAMTOP является хорошо (40000 для 48К версий и 26000 для 16K версий). Если это так, просто Нажмите “Y” иеще пресс-н-ии отвечать с RAMTOP вам требуется. Обратите внимание, что RAMTOP является местом, где ваш составлен Программа начнется.

Каждый из составителей имеет 16K и 48K версию на ленте. Или

версия может быть использован на 48К Spectrum, но, естественно, только 16K версия будет работать в 16К.

После загрузки и RAMTOP установлен, каждая программа скажет вам, что вы можете

“NEW” BASIC погрузчик. Это сделано компилятор все еще находится в памяти (Защищен выше RAMTOP), и вы можете начать программирование или загрузить BASIC для компиляции.

ИСПОЛЬЗОВАНИЕ компилятор

Использование компилятора вряд ли может быть проще. Введите свой BASIC, как обычно

или загрузите его в с ленты или Microdrive. “FP” компилятор понять практически все основные команды и функции, но если вы используя ‘IS’ тогда обратитесь к последующей ноты, чтобы проверить его ограничения.

Когда ваш основной готов к компиляции просто введите: RANDOMIZE USR

59300 (для 48К или 26600 для 16K)

Сделав это, вы введите компилятор, и он начинает свою работу. Различный

сообщения будут появляться как компилятор дважды проходит через BASIC превратив его в машинный код. Вот сообщения и их значения:

1. “START АДРЕС”

Это показывает, начальный адрес машинного кода скомпилированного (это всегда один байт выше RAMTOP)

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

Этот обновляется во время компиляции и показывает конечный адрес Код в этом построена.

3. “переменные END”

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

4. “первого прохождения”, “второй проход”

Чтобы сделать полный сборник ваш компилятор Softek должны сделать два прохода через BASIC. Эти сообщения говорят вам, которые проходят из вашей программы является компиляцией.

не 5. “ошибки” / “без ошибок”

Если в конце компиляции появляется сообщение “Нет ошибок”, то вы есть успешную программу машинного кода. Однако, если появляется “ОШИБКА”, то компиляция будет остановить и вывести линию BASIC и часть что линия, которая компилятор не может понять. Вы увидите Знак вопроса (?) помещают сразу после ошибки и компилятор будет изменил “ток линии ‘курсор на этот номер строки. Следовательно, нажав “Изменить” позвонит по этому нарушителя основной линии (пресс-CAPS SHIFT + 1 в редактировать).

ЗАПУСК скомпилированные программы

Запишите в конце компиляции начальный адрес кода а затем, с BASIC, просто TPE в: RANDOMIZE ЕГР (начальный адрес).

ГДЕ ЕСТЬ машинный код PUT?

Как уже упоминалось выше, устройство код помещается в оперативной памяти, начиная один байт над RAMTOP которые вы установили. Вы можете сбросить RAMTOP в любое время, ввода: прозрачный N, где “N” является одним меньше начального адреса вас выбрать. Таким образом, вполне можно составить подпрограммы или построить Программа в части, тщательно установки и сброса RAMTOP (вы должны внимательно ознакомиться значений “Конечный адрес” или “переменные END “для обеспечения части не пересекаются).

Что происходит с BASIC?

Ваша основная остается в памяти после компиляции. Однако, если в машине Код работает, как планировалось, то он может быть сохранен как код (см ниже) или BASIC “обновленного”, чтобы позволить более BASIC для компиляции.

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

ПАМЯТЬ могут быть исчерпаны в нескольких направлениях.

1. Во время составления таблицы номеров строк строится и “OUT OF ПАМЯТЬ “будет происходить, если используется слишком много линий. 2. Если какая-либо машинный код или переменные угрожают переписать Затем компилятор “из памяти” также будет происходить.

Переменные, НИТИ, массивы и ЦИФРЫ

Переменные обрабатываются в BASIC, позволяя полные имена, которые будут использоваться в либо верхний или нижний регистр. Только ‘FP’ компилятор будет обрабатывать массивы, но вы должны убедиться, что они не являются многомерными.

Составитель «FP» будет обрабатывать все ‘реальный’ (с плавающей точкой) числа как п

BASIC. ‘IS’ компилятор не лечит все номера в виде целых чисел (без десятичных баллов), в диапазоне -32767 до 32767. Некоторые функции возьмет число хранится в виде 0 до 65536 (например PEEK, тыкать, USR).

КОМАНДЫ составители РУЧКИ:

KEY:

е представляет собой выражение са последовательность операторов, разделенных двоеточиями н положительное целое число ча последовательность цветовых элементов, разделенных ‘,’                         или ‘;’ или ‘”‘ х, у набор выражений $ Строковое выражение

СИГНАЛ х, у

ГРАНИЦА е, как обычно BRIGHT е, как обычно КРУГ с; х, у, г, как обычно Только версия Clear “FP” CLS как нормальный ЗАКРЫТЬ # п, только версия $ ‘FP’ КОПИЯ как обычно ДАННЫЕ по обе версии не выражения не может быть введен в                         Заявления данных. Только числа или строки в                         форма “…” может быть использован, и эти формы могут                         смешивать.

Только DIM (п) или $ (п) версия “FP” Рисовать с; х, у, как обычно ЖЕРЕБЬЕВКА C; х, у, г, как нормальный FLASH е, как обычно При а = х к у, как нормальный ШАГ г, как обычно GOSUB н как обычно GOTO н как обычно ЕСЛИ электронной Тогда S Точно как BASIC (полный Boolean) INK е ВХОД В точности, как BASIC для ЛАЙН исключением.

                        Редактор линия основных в использовании позволяет                         полный управления курсором и операторы печати                         могут быть включены. Переменные могут быть напечатаны                         если они заключены в квадратные скобки. INVERSE е Пусть а = е НАГРУЗКИ $ CODE н только один параметр LPRINT символ ‘#’ также может быть использован NEW ОТКРЫТОЕ # п, $ только “FP” версия OUT х, у По электронной ДОКУМЕНТ е Пауза е Сюжет с; х, у POKE х, у ВПИШИТЕ ‘#’ также может быть использован RANDOMIZE RANDOMIZE е ПРОЧТИТЕ REM увидим позже ВОССТАНОВЛЕНИЕ ВОССТАНОВЛЕНИЕ п как в BASIC ВОЗВРАТ SAVE $ CODE е, е СТОП ПРОВЕРКА $ КОД е е не является обязательным

REM ОТЧЕТНОСТЬ

REM отчетность используется в Softek компиляторов предложить команд и средства нельзя получить в Spectrum BASIC. В каждой азы РЗМ следует по одной заглавной буквы, но если это письмо не является одним из «Key Письма »ниже, то линия трактуется как обычный заявлении REM.

INTEGER ‘IS’ версия

REM B проверяет, есть ли нажата клавиша Перерыв

REM M, N, N, N, N … вводит код в программу и позволяет                         подпрограмма машинный код будет называться в этой точке                         в программе REM S, а, х, у печатает символ (ASCII код ”) на                         Экран в положении УЧАСТОК х, у. Это очень полезно                         для игр requirint высокое разрешение гладкая                         Движение.

ПОЛНАЯ ВЕРСИЯ “FP”

REM B проверяет ключ ПЕРЕРЫВ

REM M, N, N, N, N … как в ‘IS’ версия REM E, п устанавливает ловушку ошибки в линию-н. Таким образом, когда                         ошибка скачок к линии-н сделана. Если                         Программа использует эту возможность СТЕК будет                         поврежден при возникновении ошибки. Таким образом, если позже                         возврат к основным производится это должно быть сделано только                         прыгнув за рамки программы или с помощью                         СТОП заявление.

REM N восстанавливает перехват ошибок в нормальном режиме. Это                         должно быть сделано до возвращения в BASIC. REM O, N, N … это имитирует основной функции: от п GOTO                         N, N, N, … ” должны быть только одной переменной и                         Если она больше, чем число линий                         представить программа продолжает мимо                         заявление

Строки и работы со строками

Строки полностью гибким и может быть любой длины (не только до 256 персонажи, как в Basic). Строки хранятся после нормальных величин, которые, в свою очередь, сразу же сохраняются после скомпилированного кода.

Струнные массивы можно на “FP” только версии и должен быть отдельно

измерение. Если строка имеет такие размеры, чтобы она была заполнена, как в пространствах BASIC.

Оба типа струн нарезки возможны, например,

Пусть $ (от 3 до 7) = “HH” или LET A $ = “любой ABCDE” (от 3 до 5) или смесь два.

Числа могут быть упущены, как в BASIC, например $ (3 К)

И все это возможно следующее:

LEN STR $ CODE CHR $ CODE INKEY $ SCREEN $ “+” (для сцепления)

Заметка

В обоих компиляторов печати в печати заявления не оцениваются. Таким образом, если Вы хотите включить что-то вроде “abcded” (от 3 до 6) или “у” = “ч” и т.д., Затем необходимо заключить выражение в скобках, чтобы заставить компилятор вызвать оценщика перед печатью.

Отметим также, что ни один, ни VAL ВАЛС могут использоваться, поскольку они могут быть только обрабатываются BASIC в режиме реального времени.

INTEGER COMPILER: ФУНКЦИИ т.д.

ФУНКЦИИ:

ABS И ATTR CHR $ код в INKEY $ LEN НЕ ИЛИ PEEK POINT РНД (число от 0 до 32767) ЭКРАН $ SGN STR $ USRn USR $ + / * – И все операторы сравнения.

СИГНАЛ

Вы можете сделать Beep из lesss чем за одну секунду в том числе дивизии, например, СИГНАЛ 1 / выражение, н Где ‘выражение’ может быть любое число или любое выражение.

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

Ясно, очищает простые и контрольные переменные и удаляет строку

переменные тоже.

ПОЛНЫЙ COMPILER: ФУНКЦИИ т.д.

Компилятор полную время нагрева будет обрабатывать все функции возможные с ‘IS’ компилятор. Кроме того, он будет обрабатывать все функции с плавающей точкой слишком, как SIN, COS, ATN т.д.

Ясно также, может быть использован для другой своей функции регулировки RAMTOP в

это «FP» версия только.

CLEAR, команда очистит все массивы, а также будет изменить комплекс

стек. Таким образом СТОП заявление должны быть использованы для возврата в основное после CLEAR, или программа даст сбой.

В общем, вы не должны вернуться в BASIC с составленной программой «FP»

кроме в самом конце программы или с помощью СТОП заявление.

ОБЩИЕ различия между КОМПИЛЯТОРОВ

Полный “FP” компилятор и ‘IS’ целое одно и занять аналогичный Объем оперативной памяти (около 6К). “FP” ckearly более в состоянии компиляции Полный спектр Spectrum BASIC и, таким образом, наиболее подходящим для научных или технические применения. Однако цифры в «FP» скомпилированного кода рассматриваются как с плавающей точкой них (5 байт каждый), тогда как все они inteers в ‘IS’ версия (2 байта каждый). По этой причине код, созданный с помощью Компилятор “FP” будет, как правило, медленнее, чем у ‘IS’ компилятора, в то время как код, используя ‘IS’ компилятор обычно в 10 раз быстрее, чем ОСНОВНЫЕ (с до, возможно, в 500 раз быстрее, причем), “FP-х Код будет предлагать более типично увеличение скорости в районе от 2 до 10 раз быстрее.

Составители в рабочем режиме / Карта памяти

Составитель код всегда будет располагаться в оперативной памяти для запуска из одного байта выше RAMTOP. Следовательно, вы можете выбрать, где в памяти ваш код находится на с помощью “Удалить п ‘, чтобы изменить RAMTOP (SE погрузчики компилятора). Составитель должны быть в памяти, когда код называется запустить машинный код программа, потому что скомпилированный код использует “подпрограммы времени выполнения ‘в компилятор.

После скомпилированного кода является блок 130 байт, который хранит все сведения

о 26 строк допускается. Тогда, как правило, свободное пространство, если Этот заполнена строками, когда программа M / C создает их.

прог: массивы :: Адрес в в: запасной :: MCode: Вар: $ данных      VARS STKEND RAMTOP

+

   130 Б $ ‘ы: запасные: вары объявления: Compiler: +

В «FP» компилятор хранит все массивы в переменной основного переводчика

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

При составлении компилятор строит таблицу адресов строк

программы производится. Это хранится чуть выше STKEND, в резервная область памяти. Также компилятор строит таблицы адресов из различных переменных, используемых программой. Эта таблица “растет” вниз в памяти с начала компилятора. Составитель позволяет достаточно просто пространство для переменной используется, то есть, если только простая переменная 2 (или 5 для FP версия) байт зарезервированы для этой переменной. Но если что переменная либо использовали в FOR-СЛЕДУЮЩЕЙ петли затем 8 (или 17 для FP) байты зарезервированы для него.

Переменные могут быть любой длины и любого числа переменных могут быть использованы (если у вас достаточно памяти, конечно)

СОХРАНЕНИЕ скомпилированный код

Для компилятор производить эффективный (быстрый) машинный код должен быть набор подпрограмм во время выполнения которых вызывается из кода. Машина Код не может функционировать без этих процедур и так должны быть сохранены вместе с кодом.

Ваши программы могут быть сохранены следующим образом:

Для 48К версиях: SAVE “имя” начало КОД адрес, 65536 – начальный адрес

Для 16K версий: SAVE “имя” начало КОД адрес, 32767 – начальный адрес

Примеры

10 при а = 0 TO 100: OUT 254,53: ДЛЯ B = 0 TO: СЛЕДУЮЩИЙ B: OUT 254,0:

   ДЛЯ B = К 0 STEP -1: СЛЕДУЮЩЕЙ B: Вперед 20 REM B 30 GOTO 10

10 ДЛЯ = 1 TO 128

20 LET B = (255-А) 30 REM S, 87, А, 40 REM S, 88, Б, 50 REM B 60 СИГНАЛ 1 / 50,1

70 Вперед

Игра Softek ‘FP’ Full Compiler запускается прямо на сайте. Это утилита для разработчиков на BASIC, которую создали Andrew J. Glaister и Martin Lewis, была выпущена творческой группой Softek International Ltd в 1983 году в Великобритании.

Не запускается или глючит игра, или не можете пройти? Спросите в комментариях.

Отправить ответ

avatar
  Subscribe  
Уведомлять об
 

Сохранённые игры[X]

  

Справка[X]

Помощь уже в пути!

Не забывайте периодически сохранять игровой прогресс на сервере (клавишей F8), чтобы уверенно продвигаться вперёд!

Если вы гость на сайте, то прогресс будет сохранён только в памяти браузера и потеряется при закрытии. Чтобы этого не произошло - просто войдите в свой профиль.

Для загрузки сохранённой игры жмите F3 или откройте меню "Диск" кнопкой на правой панели.

Если игра не запускается, или у вас есть вопросы по игре - задайте их ниже.

Помощь

Размер

  • x1 [256x192]
  • x2 [512x384]
  • x3 [768x576]
  • Полный

Диск

Кликни в окно эмулятора, чтобы управлять!
<<<<
Close