ZX Spectrum
Game

Plus 80 Full Screen Editor/Assembler

Oxford Computer Publishing (Великобритания),

Автор:

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


Язык

  • Русский
  • English

Управление

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

Игроков

  • Один

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

Оригинальное издание
Играть!

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

Оригинальное издание
Играть!
  •  Описание (авт.пер.)
  •  Информация
Описание Plus 80 Full Screen Editor/Assembler (автоматический перевод)

FULL SCREEN РЕДАКТОР / ASSEMBLER PLUS 80

Oxford Computer Publishing, 1983 написана Джеймсом Hutchby

ПРИЛОЖЕНИЕ 1

Обзор команд

  В клавиатура – Unshifted ключи дать строчные буквы и цифры; CAPS SHIFT’ed ключи дать заглавные буквы и функции управления курсором и контроля.

Переключение Caps Lock статус с CAPS LOCK ключ. СИМВОЛ SHIFT’ed ключи дают дочерняя красный односимвольный легенда. Все ключи авто-повторить, если нажата.

NORMAL Режим редактирования (мигающий курсор)

Перемещение курсора: –    Стрелка влево – на один столбец влево    Стрелка вниз – вниз на одну строку    Стрелка вверх – до одной линии    Стрелка вправо – правая колонка    ИСТИНА ВИДЕО – до одной страницы (24 строк)    Инв. ВИДЕО – вниз на одну страницу (24 строк)    ENTER – право на следующую позицию табуляции (рядом поле)    CAPS SHIFT’ed Вход – оставили запас следующей строке вниз

Изменение символов: – ввести новый текст над старой текста.

Удаление символов: – использовать клавиши стирания.

Вставка символов: – нажмите клавишу графики и курсор перестанет мигать. Введите в Новый текст. Используйте стрелку вправо, чтобы вставить пробелы до следующей позиции табуляции и левых Стрелка & удалять ключи к забой. Нажмите кнопку ENTER, чтобы выйти из режима вставки.

Отменить изменения: – Нажмите кнопку EDIT и все изменения, внесенные в соответствии являются отменен. Курсор помещается на первый символ.

ЛИНИЯ КОМАНДЫ

  Нажмите обе клавиши переключения на нужную строку. Линия будет выделен. Нажал Далее ключ

определяет функции должны быть выполнены: –

  CAPS SHIFT + СИМВОЛ SHIFT – Прерывает командной строки.

   D – Удаляет строку или блок строк.

   Я – Переход в режим вставки строки и курсор перестанет мигать.

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

         Нажмите кнопку ENTER, чтобы вставить еще одну новую линию.

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

   C – Marks линия или блок линий для копирования.

   М – Marks линия или блок линий для перемещения.

   H – переместить или скопировать линия или блок линий здесь.

   B – Marks линия как блок терминатора.

  ENTER – Отменяет ожидании перемещать / копировать и удаляет блок маркеры.

   T – Дисплеи из верхней части текстового буфера.

   E – Отображает последнюю строчку в текстовый буфер.

   F – Повторяет последний вошел (F) экз расширенный команду.

  КОСМОС – Вызывает расширенный командный процессор.

Расширенные команды

  Нажмите обе клавиши сдвига и затем клавишу пробел, чтобы ввести расширенную команду

Режим. Введите команду в базе экране и нажмите ENTER, чтобы выполнить его. Пресс ENTER на пустой строке, чтобы прервать расширенную команду.

   Nstart, Inc – перенумеровывает каждую строку в текстовом буфере.

   Gnumber – поиск указанного линии от верхней части дисплея    и далее.

   Fstring – запросы для указанной строки из верхней части дисплея    и далее.

   CString – Изменяет все вхождения указанного ранее (F) экз строки    для этой строки.

   C – Удаляет все вхождения указанного ранее (F) экз строки.

   MEM – Отображает длину свободного памяти и начальный адрес.

   BASIC – Возврат к основным переводчиком Spectrum в.

   CLEAR – Очищает текстовый буфер и “Удалить защищает ‘символов.

   MCTT – Звонки машинный код Tool Test.

   RUN – Отрасли по первому адресу в буфере объектного кода.

   Pnumber – Печатает число строк, начиная с линии в верхней части    дисплей.

   P – печать остальную часть текстового буфера.

   Sfilename – Сохраняет текстовый буфер на ленту.

   S – Сохраняет буфер по умолчанию имя файла ‘исходный код’.

   Lfilename – Загрузка файла с ленты в текстовый буфер.

   L – открывает следующий файл на ленте.

   Xfilename – Добавляет файл в текстовом буфере.

   X – Добавляет следующий файл на ленте.

   Vfilename – Проверяет файл с текстом буфера.

   V – Проверяет следующий файл на ленте.

   Afilename / S1 / S2 / S3 … – Вызывает сборщику переключатели S1, S2, S3 …

   активный.

   / S1 / S2 / S3 … – Вызывает сборщику умолчанию имя файла ‘ObjectCode ”    и переключатели S1, S2, S3 … активны.

Assembler выключатели

   / NO – Подавлять вывод объектного кода на ленту.

   / NS – Подавить список таблицы символов или распечатку.

   / NL – Подавить список сборки или распечатку.

   / LP – Выход таблица символов и монтаж листинг на линию принтер.

   / WE – Подождите на ошибки, пока нажатой клавиши (C отменяет).

   / IM – Соберите объектный код непосредственно в память.

   / АО – Соберите с абсолютной происхождения.

   / OS – Соберите используя старую таблицу символов.

ПЕЧАТЬ печатном виде

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

Распечатка: (А) С / LP переключения активным во время сборки.

(Б) С P продлен команду.

(С) При нажатии SYMBOL SHIFT и F или G от MCTT.

  Обратите внимание, что ключ ПЕРЕРЫВ (CAPS SHIFT и КОСМОС) может быть использован в любое время отменить распечатку, даже если функция вызывается печати и принтер не является подключен.

4.10 VALUE ОПЕРАНДЫ

  Операнды с числовыми значениями закодированы как константы или выражения.

Диапазон значений для операнда определяется инструкцией он связан с. Например, в инструкции LD HL, NN ‘NN’ может быть любой 16-битное значение, в то время как в инструкции LD A, п-н-могут быть только 8-битное значение. Определенный Инструкции еще более ограничительным – например, в руководстве IM I “Я” действует только как 0, 1 или 2.

Константы

  Константа может быть выражено в виде символьной метки, счетчик места символа $, Символьная строка или числовое значение.

а) Символические метки

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

б) Местонахождение счетчик – $

  Символ $ может использоваться для представления текущего значения ассемблера Расположение счетчика – это адрес на который следующий байт объектного кода будет (логически) хранятся. например JR $ поставит C.P.U. в бесконечном цикле.

в) Строки символов

  Константы символьных строк можно использовать, если заключены в одинарные кавычки (‘). строка выравнивается по правому краю (то есть, что все, но самый правый два символы игнорируются) и оценивается как 16-битного постоянной основе ASCII коды своих персонажей. Встроенные одинарные кавычки представлены два подряд.

Примеры:

LD, “а” загружает аккумулятор с 61h.

LD, ” ” загружает аккумулятор с 27ч.

LD HL, “AB” загружает HL регистра пару с 6162H.

г) Числовые константы

  Сборщик признает четыре вида числовой константы, а именно двоичная (база 2), восьмеричной (основание 8), в десятичной (основание 10) и шестнадцатеричной (основание 16). Числовой постоянная состоит из набора цифр (от 0 до 9) или шестнадцатеричных цифр (от 0 до 9, К F) с последующим базовой определителем. Этот суффикс указывает тип константа следующим образом: – B = двоичный OorQ = восьмеричное D = десятичной (база по умолчанию) H = шестнадцатеричное   Если нет базы определитель не присутствует ассемблер предполагает постоянное быть десятичной. Следующие числовые константы эквивалентны – 10010B, 22о, 22q, 18,18D, 12Н.

  Обратите внимание, что шестнадцатеричные числа, которые начинаются с буквы должны предваряться нуля или ассемблер предполагаем, что вы используете символ, например, FFH является недействительным, написать, как 0FFh.

  Все константы, которые хранятся внутри с помощью 16 бит. Цифры большие, чем 65 535 принимаются, но любой переполнения из них теряется.

4.11 выражение ОЦЕНКА

  Сборщик имеет очень мощный анализатор выражений. Символы,

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

  Операторы, которые могут быть использованы в выражениях, показаны ниже. Связанный с каждого оператора является уровень приоритета – это определяет порядок, в котором Операнды объединены в выражении для получения результата. Операторы высокий приоритет оценить перед операторами более низким приоритетом – операторы равный приоритет оценить слева направо. Порядок оценки может, Однако управляться посредством включения скобках (скобках).

Оператор-функция ПРИОРИТЕТ

= Равен 1 низкая<>Не равно 1 приоритет >Больше, чем 1<Меньше чем 1 >= Больше или равно 1<= Меньше или равно 1 + Дополнение 2 - Вычитание 2 ИЛИ логического или 3 ! логический или 3 XOR логическое исключающее или 3 И логично и 4 & Логично и 4 * Умножение 5 / Деление 5 MOD модулю 5 НЕ 1 в дополнение 6 высокая () Скобки 7 приоритет

Примечания:

(Я) Операторы сравнения (первая шесть из вышеперечисленных) Сравните два срока и дают -1, Если результат правильный и 0, если оно ложно. например 7>4 дает -1, 9<= 1 дает 0, 7<>6 дает -1.

(II) Логические операторы побитовое в эксплуатации, то есть они действуют на каждый из 16 битов в каждом из своих двух сроков подряд, чтобы дать 16 битный результат. eg1100110B И 1001011B равна 1000010B, 1110110B ИЛИ 0110001B равна 1110111B, 1101101B XOR 1001100B равна 0100001B.

(III) Отдел является неотъемлемой, то дробная часть теряется. Умножение 16 бит, переполнение не обнаружены. например 7/2 равен 3, 0FFFFH * 2 равен 0FFFEH.

(IV) Оператор по модулю дает остаток результат деления. например 23 MOD 7 равна 2.

(V) Оператор НЕ является унарный оператор, он дает свое дополнение один номер (1-х =>0 ‘=>1-х). например НЕ 10011011B равна 1111111101100100B.

(VI) могут использоваться круглые скобки для группировки частей выражения вместе, чтобы заставить те части, которые будут оцениваться в первую очередь. В действительности они переопределить фиксированный приоритет уровнях. Операции с одинаковым приоритетом применяются слева направо по выражение. , (VII) Скобки могут быть вложенными на любую глубину. например (1 * (2+ (3 * (4 + 5)))) равен 29.

(VIII) Первый оператор в выражении не может быть левая скобка, например LD, (4 * 8) +3 является недействительным и вызовет ошибку. Перепишите, как LD A, 3 + (4 * 8).

(IX) выражение, как 1010AND0111 будет генерировать сообщение об ошибке, потому что ассемблер предполагает ‘A’ в ‘И’, чтобы быть частью первой постоянной. К Во избежание этой проблемы, перепишем выражение как 1010 и 0111.

4.12 псевдо-коды операций

  Напомним, что поле кода операции из строки исходного кода содержит мнемонику для

один из инструкциями Z-80 в. Кроме того ассемблер распознает определенный другие мнемоники в этой области называется псевдо-коды операций или псевдооперации. Это не Инструкции машина исполняемые а скорее директивы на ассемблере для выполнения конкретных операций, настроить структуры данных и т.д. Этикетки обязательны на DEFL и EQU отчетности, но дополнительно на других заявлений псевдо-оп.

 ORG – происхождения. Это псевдо-оп занимает одно число или выражение как

Аргумент и устанавливает сборщик счетчик места на значение этого операнда.

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

  Например заявление ORG 1234h устанавливает сборщик счетчик места в значение 1234 шестнадцатеричное и последующие инструкции произвести объектный код предназначен для работы по этому адресу. В заявлении ORG $ + 100 оставляет ста байт памяти (что эквивалентно 100 DEFS – смотри ниже).

 Обратите внимание, что если вы собираете вашу программу с ‘в память’ переключатель активного нет ORG заявления не требуется. Сборщик автоматически производит объект Код на первом свободном адреса в системе.

  END – Это псевдо-оп просто знаменует окончание исходного сборки кода. Это

не принимает аргументов и ее включение в программы является обязательным, но если присутствует Затем все линии после окончания заявление игнорируются ассемблера.

  Следующие три псевдооперации генерировать байт (ов) данных по текущей сборки

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

  DEFB или DB – определить байт. Это псевдо-оп занимает 8-разрядных чисел или

выражения, как аргументы и сохраняет значения операндов на ток сборка расположение (и приращения расположение счетчика на единицу). Кратное Аргументы принимаются, если они разделены запятыми. Например выписки DEFB 10,0FFH, ” генерирует три байта объектного кода -10, 255 и 97 десятичной. Если значение операнда больше 255 или меньше, чем -256, в “Область OVERFLOW” сигнал ошибки и только младшие 8 бит хранятся.

  DEFW или DW – определить слово. Это псевдо-оп занимает 16-разрядных чисел или

выражения, как аргументы и сохраняет значения операндов на ток сборка расположение (и приращения расположение счетчика на два). Стандартный Zilog Формат используется с младших байт хранится до высокого порядка байт. Опять несколько аргументов принимаются, если они разделены запятыми. Для пример заявление DEFW -1,1000H, 10 генерирует шесть байт объектного кода -255, 255, 0, 16, 10 и 0 десятичной.

  DEFM или DM – определить сообщение. Это псевдо-оп принимает строку как

Аргумент и генерирует байт объект код, соответствующий ASCII кодов для что символы в строке. Строка должна быть заключена в одинарные кавычки (‘) и, как обычно, встроенные одинарные кавычки представлены два подряд. Для пример заявление DEFM ‘Привет’ генерирует пять байт объектного кода – 72 101, 108, 108 и 111 десятичное; Заявление DEFM »» »генерирует три байта объектного кода – 39, 97 и 39 знака после запятой.

  DEFS или DS – определить хранения. Это псевдо-оп занимает одно число или

выражение в качестве аргумента и оставляет некоторое количество байтов для хранения данных. В осуществить расположение счетчика увеличивается на значение операнда. Для Пример DEFS 5 выделяет пять байтов. Если этикетка используется на этом заявлении принимает значение от местоположения счетчика до операции увеличивающимся.

Нет объектный код не генерируется этого псевдо-ор.

  EQU и DEFL (или DL) – Эти два следующих псевдооперации не генерируют любой

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

символическое этикетка указано установлен на значение операнда указанного.

Различие между EQU и DEFL псевдооперациях, что тот же знак может быть DEFL’ed много раз в разных значениях в той же программе в то время как EQU’ated Этикетка может быть установлен только один раз. Обратите внимание, что в сборке листинг значение, присвоенное чтобы появляется символ в первом столбце, а не от текущего значения Расположение счетчика.

  Например COMMA EQU 44 определяет символ с именем ‘COMMA “и дает ему значение 44 (код ASCII для запятой). При ссылке на этот Значение в программе использовать символическую форму LD A, запятая, а не абсолютная сформировать LD A, 44 для оказания помощи ясность и понимание. LABEL EQU $ назначает маркировать Текущее значение ассемблера расположения счетчика.

  Символ определяется изначально директивой DEFL можно впоследствии заново определены либо с помощью DEFL или директивы EQU, но не может быть повторно определен как обычный Этикетка. Только последнее значение символа DEFL появится в таблице символов перечисление.

  СТР – Это псевдо-оп вызывает принтер линии печатать пустые строки в начало

из следующей странице. Это не имеет аргументов.

  ГОЛОВА – Это псевдо-оп принимает строку в одинарные кавычки (‘) как

Аргумент, т.е. похожа на DEFM псевдо-оп. Строка операнд печатается в в верхней части каждой страницы, и, таким образом, может быть использован для заголовка программы. Обратите внимание, что ГОЛОВУ заявления могут появиться в любом месте в исходном коде.

  Заявления, содержащие вышеупомянутые два псевдооперации не появляются в линии список принтеров, но появляются в списке экрана.

  СПИСОК OFF и СПИСОК НА – Это псевдо-оп переключает вывод печатной к

построчной печати, когда переключатель / LP активен. Список OFF сведений причины последующие сборочные линии появляться только на экране. СПИСОК НА заявлении вызывает последующие сборочные линии, чтобы появиться на принтере линии (если / LP набор), как а также экран.

 – Большинство программ ассемблера содержат ряд EQU отчетности определить Значения любых констант, используемых. Они обычно сгруппированы вместе, либо по крайней Начало программы, или в конце. Типичное использование списка псевдо-ор будет подавлять распечатку этих EQU’ates когда распечатку сборка берется.

  ПОДОЖДИТЕ – Это псевдо-оп паузу сборку, печатает сообщение “PRESS ANY

Клавишу для продолжения Ассамблея »в нижней строке экрана, а затем ожидает нажатия клавиши. Это не имеет аргументов. Обратите внимание, что, ждут заявления вступает в силу на обоих перевалов ассемблера.

ВКЛЮЧАЯ<номер диска>
<имя файла>– это мощный псевдо-оп инструктирует 80

Редактор / Монтажник начать сборку из имени Microdrive файла. В сущности, Указанный файл INCL’uded в текстовый буфер в указанной точке. Реальный Преимущество этого состоит в том, что намного большие программы теперь могут быть собраны, чем мог либо содержаться в любой момент времени в текстовый буфер. Например источника код большой программы может быть разделен на несколько отдельных модулей с, скажем, имена файлов “Модуль 1”, “Модуль 2” и “Модуль 3”. “Исполнительный” Программа таких как ниже можно затем использовать для сборки всю программу за одну операцию со всеми перекрестных ссылок между модулями полностью решена (В отличие от коммутатора / OS, которая может использоваться только для «Назад» ссылок).       00010 ORG 8000H       00020 ВКЛЮЧАЯ модуль 1       00030 ВКЛЮЧАЯ 1module 2       00040 ВКЛЮЧАЯ 2module 3       00050 END Обратите внимание, что каждый файл загружается при каждом проходе ассемблера, и что любой Микродиск ошибка прервет сборку.

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

Если отдельные модули программы содержат END заявления, помните, что это может привести к досрочным прекращением сборки. Как правило, Поэтому, END заявления должны быть приурочены к исполнительной уровне.

 Если модули программы распределены по нескольким Microdrive картриджей, ПОДОЖДИТЕ псевдооперации могут быть использованы для облегчения сборки всей программы в одна операция.

Например:       00010 ORG 8000H       00020 ПОДОЖДИТЕ; Первый картридж       00030 ВКЛЮЧАЯ Source1       00040 ПОДОЖДИТЕ; Второй патрон       00050 ВКЛЮЧАЯ Source2       00060 END

Пользователь должен вставить правильные патроны в Microdrive в правильное Последовательность в ответ на «Нажмите любую клавишу…” подсказывает. В приведенном выше примере, это будет связано четыре картриджа “свопы” В целом (по два с каждого прохода).

 По умолчанию привод номер для INCL отчетности является диск 1, но не отметить, что не существует умолчанию имя файла. Также обратите внимание, что комментарии не должны быть использованы на INCL линий как они рассматриваются как часть имени. Наконец, обратите внимание, что ВКЛ файлы не могут быть вложенными.

  Пользователи 80 принтеров столбцов и интерфейсов следует отметить, что в ассемблере

автоматически по страницам его печатный вывод, и печатает номер страницы в правом верхнем углу каждого листа. Следующие два псевдооперации доступны для этих пользователей (NB. они не имеют никакого эффекта, если 32 колонки ZX принтер подключен).

  СТР – Это псевдо-оп вызывает принтер линии печатать пустые строки в начало

из следующей странице. Это не имеет аргументов.

 ГОЛОВА – Это псевдо-оп принимает строку в одинарные кавычки (‘) как

Аргумент, т.е. похожа на DEFM псевдо-оп. Строка операнд печатается в в верхней части каждой страницы, и, таким образом, может быть использован для заголовка программы. Обратите внимание, что ГОЛОВУ заявления могут появиться в любом месте в исходном коде.

 Кроме того, +80 редактор / Монтажник патчи MCTT чтобы он мог поддерживать 80

колонка принтер. Нажатие SYMBOL SHIFT и F или G ключи в любое время будет скопировать экран на принтер линии. Ключевые принты F на левой стороне бумага в то время как ключевые отпечатков G на правой стороне.

  Обратите внимание, что ключ ПЕРЕРЫВ (CAPS SHIFT и КОСМОС) может быть использован в любое время, чтобы

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

  Заявления, содержащие любой из вышеперечисленных новых псевдооперациях не появляются в

листинг построчной печати, но только в перечислении экрана.

– Конец файла

Краткая информация о Plus 80 Full Screen Editor/Assembler

Сыграйте в Plus 80 Full Screen Editor/Assembler прямо сейчас! Это приложение для разработчиков на ассемблере, которое создал James Hutchby, было издано творческой группой Oxford Computer Publishing в 1984 году в Великобритании.

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

Subscribe
Уведомлять об
guest
0 комментариев
Inline Feedbacks
View all comments

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

  

Справка[X]

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

  • x1
  • x2
  • x3

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

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

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

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

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

Поделиться
Close
0
Would love your thoughts, please comment.x