Системные программы для «ZX-Spectrum» 1993 г.

ZEUS - описание представляет собой краткий конспект из опи сания ZEUS.


ZEUS

Это описание представляет собой краткий конспект из опи­сания ZEUS. ZEUS — полный ассемблер Z80 для работы под управлением ZX SPECTRUM, включает в себя очень удобный полноэкранный редактор текста.

Мнемоника команд соответствует мнемонике, описанной фирмой ZILOG, но для удобства добавлены еще две команды:

JP РЕ,... эквивалентно JP V,...

JP РО,... эквивалентно JP NV,...

Формат входной строки:

NNNNN [LABEL] OPERATION [OPERANDS] [;COMMENT]

Текст в квадратных скобках может отсутствовать. NNNNN

— номер строки в диапазоне от 1 до 65535. LABEL — метка, до 14 символов, начинается с буквы и не может быть идентична зарезервированному слову. К зарезервированным словам отно­сятся мнемоника команд, мнемоника регистров и флажков в регистре состояния процессора. ZEUS различает прописные и строчные символы, и поэтому, например, метки HELLO и hello — разные.

OPERATION — мнемоника кода операции или директива ассемблера.

OPERANDS — операнд (ы). Для операндов приняты согла­шения:

— число по умолчанию считается в десятичной системе — 99,125.

— число, перед которым стоит #, считается шестнадцатеричным — #77, #FE .

— литерал — "C,"D,"%

— число в скобках — это адрес, а без скобок — непосредст­венные данные.

Допустимы унарные и бинарные операции: + - !, они выпол­няются слева направо без приоритета. Символ $ (доллар) исполь­зуется в качестве указателя текущего адреса ассемблирования.

Директивы ассемблера ORG NNNN — устанавливает адрес ассемблирования в

NNNN.

DISP NNNN — задает смещение от ORG до адреса разме­щения объектного файла, например:

     ORG   30000      DISP   10000

приведет к тому, что объектный файл в результате ассемблирования будет размещен в ОЗУ с адреса 40000, но правильно исполняться будет только при загрузке его с адреса 30000. ENT — устанавливает точку входа для команды X. EQU — присвоение. Пример: START EQU#AOF6 присваива­ет метке START значение #AOF6.

DEFB N1,N2,N3,... — резервирует в памяти байты со значениями N1,N2,N3 и т.д.

DEFW N1, N2, N3,... — резервирует в памяти слова с значениями N1,N2,N3 и т.д.

DEFM /СТРОКА/ — резервирует память под строку, ог­раниченную символами /.

 

Редактор экрана.

 

• Команды редактора:

CS +1 — очистка строки на экране, но не в памяти.

CS +2 — табуляция.

CS +3 — сдвижка строки. Символ над курсором удаляет­ся, правая часть строки сдвигается влево, в крайнюю правую позицию заносится пробел, курсор остается на месте.

CS +4 — раздвижка строки. Правая часть строки сдвига­ется вправо, крайний правый символ теряется, в позиции курсора вставляется пробел, курсор остается на месте.

CS +5 — управление курсором, аналогично BASIC.

CS +6 — управление курсором, аналогично BASIC.

CS +7 — управление курсором, аналогично BASIC.

CS + 8 — управление курсором, аналогично BASIC.

CS +9 — очистка экрана.

CS +0 — удаление символа слева от курсора, курсор вле­во, пробел в позиции курсора.

Внимание! Редактирование строки необходимо заканчивать нажатием ENTER.

 

Команды ассемблера

 

А Х ассемблирует исходный файл до тех пор, пока не встре­тится Х ошибок, затем приостанавливается, ENTER продолжает ассемблирование, любая другая клавиша — прекращает. Х=14 по умолчанию.

D X, Y — удаляет строки от Х до Y включительно.

F /СТРОКА/, X, Y, Z — поиск "строки" в интервале, от Х до Y, после вывода Z образца — приостановка Z=14  по умол­чанию.

I X,Y — автонумерация с номера Х и с шагом Y. Очистка строки и нажатие ENTER прекращает это режим.

L X, Y, Z — выводит на экран исходный текст, начиная со строки Х до строки Y по Z строк. Z=14 по умолчанию. М — вход в монитор.

NX — создает новый .незаполненный исходный файл с ад­реса X.

Х=32768(#8000) по умолчанию. Следует применять с осто­рожностью, так как можно испортить BASIC систему, если ука­зать слишком низкий адрес. Х=32768 по умолчанию.

О Х — старый исходный файл с адреса Х становится теку­щим.

X=32768 по умолчанию.

Р Х — Х"0 выключает принтер, Х=1 включает принтер. Х=0 по умолчанию.

Q — возвращает управление обратно в BASIC, для повтор­ного входа

В ZEUS используйте PRINT USR 57344, и по команде О Х восстановите исходный файл.

R X, Y, Z перенумеровывает исходный файл, Х — первый номер новой строки, Y — шаг, Z — номер строки, с которой начать перенумерацию.

S Х — распечатывает таблицу меток, по Х меток, затем — пауза.

Т — распечатывает на экране стартовый адрес и" длину исходного текста программы в байтах.

Х — выполняет машинный код, полученный после ассем­блирования.

 

Команды монитора.

 

А Х — выводит на экран DEC и HEX — значение величины X, представленной в любом виде.

С X,Y,Z — копирует блок памяти с адреса Х в адрес Y длиной Z.

Е Х — запускает машинные коды с адреса X.

1 Х — считывает порт с адресом Х и распечатывает его со­держимое на экране.

К X,Y изменяет INK, PAPER, BORDER

X биты 0-2 цвет INK 3-5 цвет PAPER

6 BRIGHT

7 FLASH

Y биты 0-2 цвет BORDER

MX — входит в режим модификации памяти с адреса X, далее можно ввести байт или несколько, разделенных пробелом, и в любом виде, затем нажать ENTER и память будет моди­фицирована. Для перехода к другому адресу введите / и ENTER. Для выхода обратно в монитор введите . и ENTER.

О _ Х, Y — выводит в порт с адресом Х байт со значением Y.

S — устанавливает позиции табуляции. Пример:

S      I      I       I       I       <ENTER>

В позициях, где символы отличны от пробела, курсор будет останавливаться при нажатии табуляции (CS + 2).

Т X,Y —распечатывает память с адресах по Y строк, затем пауза.

Z — передает управление обратно в ассемблер.

 

Сообщения об ошибках

 

О — недопустимый знак или незавершенное предложение.

1 — слишком длинная метка.

2 — ожидается ')'.

3 — ошибка усечения или выход за диапазон.

4 — ожидается ','.

5 — ошибка в контексте.

6 — повторно определенная метка.

7 — ожидается '('.

8 — недопустимая мнемоника.

9 — неопределенная метка.

 

Распределение памяти

 

ZEUS и его рабочие переменные 57344 — 65279 (Е000 — F000). Исходный файл первоначально располагается с адреса 32768, но его местоположение может быть изменено командой N X, тогда он расположен по адресу X. Исходный файл растет вверх, и когда есть вероятность, что он может перекрыть таблицу меток, выдается сообщение OUT OF MEMORY.

Объектный код — его расположение определяется директивами ORG и DISP. Таблица меток начинается с адреса 57343 и растет вниз, когда есть вероятность, что она перекроет исходный текст, выдается сообщение OUT OF SYMBOL TABLE.

Адреса некоторых полезных подпрограмм самого ZEUS.

INPCHAR

 

F652

 

Ввод символа в А

 

OUTCHR PRNDEC1 PRNHEXB

 

F5031

E5A3

F2DF

 

Вывод символа из А

Вывод HL в DEC виде и затем пробел

 

PRNHEXW

 

E571

 

Вывод А в HEX виде и затем пробел

Вывод HL в HEX виде и затем пробел

 

PRNSTR

INPLIN BUFFER

 

E403

F6E2

 

Вывод строки, следующей за вызовом и оканчивающейся 0 Ввод строки в буфер

 

PRNFLG PRNDEC2

 

FE00

F4CB

E59E

 

Адрес буфера Флаг печати на принтер Вывод HL в DEC виде без ведущих

иипсяй пулей

 

 

Управляющие символы при выводе на экран через ZEUS

04

 

 

 

 

 

 

05

06

 07

 

Удаляет знак Вставляет

 

в позиции курсора (сдвижка) пробел в позиции курсора (раздвижка) Табуляция

 

 

08

 

 

Очистка строки Курсор влево

 

 

09

 

Курсор вправо

 

ОА

 

Курсор вниз

 

 

Курсор вверх

 

ОС

 

Курсор влево и пробел в новой позиции курсора

 

OD

 

Перевод строки и возврат каретки

 

ОР

 

Очистка экрана

 

 




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Горизонты - плагин для работы с винчестером на Scorpion 256.
Конструктор - вопросы рассширения ОЗУ до 512 кб.
Реклама - Реклама и объявления ...
Ассемблер - Краткий урок ассемблера для ламеров
Вступление - Содержание номера. От авторов.

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