Справочник по системным программам 1969 г.

Описание программ - ассемблер GENS4.


GENS 4
Раздел 1. Запуск.

1.1. Введение и инструкции загрузки
GENS4 занимает приблизительно 10к в памяти и использует свой внешний стек,
так, что это - замкнутая часть программного обеспечения. Она содержит собствен-
ный строчный редактор, который помещает текстовой файл сразу за кодами GENS4. в
то время, как таблица символов acceMtyiepa создастся за текстовым файлом,поэтому
вы должны предоставить достаточное пространство, чтобы поместить сам ассемблер,
таблицу символов максимального размера и текстовый файл, который вы, вероятно,
будете использовать в текущем сеансе. Поэтому загружать GENS4 часто удобнее в
нижние адреса памяти.

Существует 2 версии ассемблера на кассете, обе на стороне 1. Сначала помещена
версия с 51 символом в строке, за ней следует рассматриваемая версия с 32 сим-
волами. Их имена на ленте являются соответственно GENS4-51 и GENS4 и вы должны
использовать ту версию, которая больше вам подходит. Версия GENS4-51 на 400
байт длиннее, чем GENS4.

Для загрузки GENS4 поместите магнитную ленту с ним в кассетный магнитофон и
введите:

LOAD ""CODE ХХХХХ [ENTER] и нажмите клавишу "воспроизведение" магнитофона,
или:

LOAD "GENS4" CODE ХХХХХ [ENTER], или:

LOAD "GENS4-51" CODE ХХХХХ [ENTER], где: ХХХХХ - десятичный адрес, с которого
вы хотите загрузить GENS4.

Только после того, как вы загрузите коды GENS4 в компьютер, вы можете войти в
ассемблер, набрав:

RANDOMIZE USR ХХХХХ. где

ХХХХХ - адрес, с которого загружены коды ассемблера.

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

1.2. Получение копии системы
После загрузки GENS4 в память вашего SPECTRUM"a, вы можете получить копню ас-
семблера следующим образом:

SAVE "GENS4-51" CODE ХХХХХ,11392 [ENTER] или

SAVE "GENS4"2 CODE ХХХХХ.11010 [ENTER] для кассеты

SAVE * "IT;1:"GENS4-51" CODE ХХХХХ,11392 [ENTER] или

SAVE * "M";1;"GENS4" CODE XXXXX,11392 [ENTER] для микродрайвера,

где: ХХХХХ - адрес, с которого вы загрузили GENS4.

Раздел 2м. Подробности GENS4
2.0. Принцип работы GENS4, ключи ассемблера, формат листинга
GENS4 является быстрым двухпроходным ассемблером для Z80, который ассембли-
рует всю стандартную мнемонику для Z80 и содержит следующие особенности: макро*-
сы. условное ассемблирование, множество команд ассемблера и таблицу символов в
виде двоичных троек.

Когда вы вызываете ассемблирование, то вы используете команду "А":
А4.2000,1:TEST [ENTER]

Первый код (4 - см.выше) после А определяет условия трансляции, которые вы
хотите иметь в данный момент. Эти условия трансляции и их ключи будут перечис-
лены ниже. Если вы не хотите использЬвать ключи, то номер набирать не надо,
поставьте только запятую.

Второй код (2000 - см.выше) - это десятичный размер символов в байтах. По
умолчанию (при простом использовании запятой без кодов), GENS4 будет выбирать

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

После указания размера таблицы символов вы можете ввести имя файла, например.
1:TEST, как указано выше. Если вы это сделаете, то результирующий объектный
код. полученный в результате ассемблирования, будет сохранен автоматически, не-
зависимо от размера генерируемого кода. Если вы ие хотите использовать такую
возможность, то имя файла ие вводите. Не вводите вторую запятую, иначе GENS4
будет считать. что вы вводите пустое имя файла! Более подробно с командой "А"
можно познакомиться в приложении 3.

Ключи ассемблирования:

1 - выдаст листинг таблицы символов в конце второго прохода ассемблирования;

2 - запрет иа генерацию объектного кода;

4 - производит листинг ассемблирования (отметим, что в ранних версиях ассемб-
лера такой возможности ие было);

8 - направить листинг ассемблирования иа печать;

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

32- исключение проверки того, куда помещается объектный код { это бывает
полезно для ускорения ассемблироания);

Для того, чтобы скомбинировать ключи, просто складывайте нх один с другим.
Так, код "АЗЗ" производит быстрое ассемблирование - не выдастся листинг, не
производится проверка, чтобы увидеть, куда в настоящий момент помещают объект-
ный код, при этом в конце выдается листинг таблицы символов.

Отмстим, что при использовании ключа "А16" директива "ENT" не будет иметь эф-
фекта. Если использован ключ "А16", то вы можете определить, где находится объ-
ектный код. используя команду редактора "Y". По этой команде можно определить
конец текста (его называют второй номер) и затем добавить к нему назначенный
размер таблицы +2.

Ассемблирование происходит за два прохода: в течение 1-го прохода GENS4 ищет
ошибки и собирает таблицу символов, второй проход генерирует объектный код (ес-
ли не указан ключ 2). В течение первого прохода на экране и принтере ничего не
отображается, пока не встретится ошибка. В случае ошибки будет выдано сообщение
об ошибке с номером ошибки за ним (см. Приложение 1). Ассемблирование приоста-
навливается - нажмите клавишу "Е" для возврата в редактор или любую другую кла-
вивишу для продолжения ассемблирования следующей строки.

В конце первого прохода будет выдано сообщение:
PASS 1 ERRORS: NN

Если хоть одна ошибка будет обнаружена, то ассемблирование затем будет оста-
новлено и перехода ко второму просмотру ие произойдет. Если какие-нибудь метки
были обнаружены в поле операнда, но не объявлены в поле метки, то последует
сообщение:

♦WARNING* LABEL ABSENT

В течение второго прохода генерируется объектный код (если генерация не зап-
рещена ключом 2 (см.выше)).

Во время второго прохода листинг ассемблера не производится, кроме случая,
когда указан ключ 4 или команда ассемблера L+.

В 32-х символьной версии листинг ассемблера состоит обычно из двух строк в
следующей форме:

СООО 210100 25 LABEL

LD HL,1

1 6 11 21... 26

Тогда как в 51-символьной версии листинг печатается в одну строку. Если лис-
тинг не помещается в одну строку, то он завершается на следующей.

На первом месте в строке стоит значение счетчика адресов, который соот-
ветствует данной строке. Если в строке*встречаются инструкции ORG, EQU или ENT
(см.2.7), то иа первом месте будет стоять значение поля операнда инструкции.
Эта запись обычно отображается в шестнадцатиричном виде, хотя используя команду
"*D+" ее можно отобразить и в неудобном десятичном виде (см.2.9).

Следующая запись с позиции 6 занимает до 8 символов в строке (представляет до
4-х байтов) и является объектным кодом текущей инструкции (см.ниже команду *С).

Затем следует номер строки - целое число в диапазоне 1... 32767.

Позиции 21...26 Первой строки содержат 6-символьную метку, определенную в
этой строке.

После метки следует мнемоника инструкции, которая занимает поз. 21...24.(В
32-символьной версии это будет новая строка, если только не использовать коман-
ду *С).

Затем. с позиции 2, следует поле операндов; и завершают строку комментарии,
которые при необходимости можно продолжить на другой строке.

Команда *С ассемблера может быть использована для получения короткой строки
листинга ассемблирования - се вводят, чтобы не включать 9 символов, представ-
ляющих объектный код инструкции. Это дает возможность отобразить большинство
строк ассемблера в виде, удобном для экрана со строкой в 32 позиции (см.ниже
разд.2.8.).

Изменение формата листинга. (Только для 32-символьной версии)

С помощью команды "РОКЕ" вы можете модифицировать форму, по которой каждая
строка листинга разбивается внутри 32-символьной версии GENS4 на 3 части. Ука-
зания. как это сделать, приведены ниже. Мы отличаем понятие "строка ассемблера",
которая является текущей строкой листинга ассемблера и хранится во внешнем буфе-
ре, от понятия "экранная строка", которая является строкой, действительно воз-
никающей на дисплее. Строка ассемблера обычно порождает более одной экранной
строки.

1. 51-Й (#33) байт от начала GENS4 содержит значение, определяющее позицию,
до которой будет отображаться строка листинга на экране. Циклически меняя этот
байт от 0 до любого другого значения (256) можно заканчивать первую экранную
строку в необходимом месте (это особенно полезно при использовании микроформат-
ного принтера).

2. 52-Й (#34) байт от начала GENS4 дает номер позиции, с которой должна начи-
наться каждая последующая экранная строка.

3. 53-Й (#35) байт от начала GENS4 указывает количество символов остатка
строки ассемблера. который будет выведен во второй экранной строке после пер-
вой.

Например, вы хотите, чтобы каждая первая экранная строка содержала 20 симво-
лов ( то есть не включала бы поле метки ) и, затем, каждая последующая экранная
строка начиналась с позиции 1 и занимала бы всю строку. Также предположим. что
вы загрузили GENS4 с десятичного адреса 26000. Чтобы получить вышеуказанные
изменения, надо из бейсика ввести следующие инструкции:
РОКЕ 26051.20
РОКЕ 26052.1
РОКЕ 26053.31

Вышеприведенные модификации возможны только в том случае, когда не была ис-
пользована команда *С.

Листинг может быть приостановлен в конце строки нажатием [CAPS SHIFT] и [SPA-
CE] вместе. В последующем нажимайте клавишу "Е" для возврата в редактор или лю-
бую другую клавишу для продолжения листинга.

Единственными ошибками, которые могут появиться во втором проходе, являются
ошибки типа "*ERR0R*10" (см.Прил.1) И "BAD ORG!" (Которая появляетя, когда объ-
ектный файл накладывается на GENS4, исходный файл или на таблицу символов - это
может быть предотвращено использованием другого формата). *ERR0R* 10 - это не
фатальная ошибка, поэтому вы. можете продолжать ассемблирование, как и на первом
проходе. тогда как ошибка "BAD ORG!" Является фатальной и сразу же возвращает
управление редактору.

В конце второго прохода на дисплее будет отображено сообщение об отсутствующих
метках:

PASS 2 ERRORS:NN

Затем появится следующее сообщение:

TABLE USED: ХХХХХ FROM YYYYY, это сообщение информирует о том, какая часть
таблицы символов была заполнена. В этом'случае, если была правильно использова-
на директива "ENT". выдается сообщение:

EXECUTES: NNNNN IS DISPLAYED

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

команду редактора "R". Будьте осторожны при использовании команды "R" в том
случае. когда вы не завершили успешно ассеблирование и не увидели сообщения
"EXESUTES:NNNNN".

Итак, если указан ключ "1". то используется список меток в алфавитном порядке
и будут напечатаны соответствующие им значения. Количество информации, отра-
жаемой в одной строке, может быть изменено директивой "РОКЕ" с адреса "начало
GENS4+50" помещением в эту ячейку уместного значения, по умолчанию заносится 2.

Контролируйте возврат в редактор.

2.1. Формат оператора ассемблера.

Каждая строка текста, которая будет обрабатываться GENS4. должна иметь сле-
дующий формат, где определение поля необязательно:

метка код команды операнды комментарий

START LD HL.LABEL ; получение метки

Пробелы н табуляция обычно игнорируется. Строка обрабатывается следующим об-
разом:

Первый символ строки проверяют и последующие действия зависят от его сущнос-
ти:

; - целую строку трактуют как комментарий, т.е. просто игнорируют;

* - предполагается, что следующий символ (символы) образуют команду ассем-
блера (см. пункт 2.8). Все символы после команды трактуются как ком-
ментарии;

<CR> - символ конца строки. Линия просто игнорируется;

- пробел или табуляция. Если первым символом строки является пробел или
табуляция, то GENS4 предполагает, что следующий отличный от пробела
или табуляции символ будет началом кода команы Z80.

Если первый символ строки отличается от вышеприведенных, то в строке должна
быть метка - см.п.2.2.

После обработки присутствующей метки (или если первый символ в строке - про-
бел или табуляция) ассемблер исследует следующий значащий символ и предпола-
гает, что он будет или символом конца строки, или началом команды Z80 (см.Прил.
2), состоящий из 4-х символов и ограниченный пробелом (табуляцией или-<CR>).

Иногда присутствует код команды и требуется однн или более операндов, тогда
поле операндов следует после набора пробелов (табуляции).

Оператор может состоять только из одной команды. Это бывает полезно для улуч-
шения читаемости листинга.

Комментарии могут следовать в любом месте после поля операндов нли поля кода
команды (если у нее нет аргументов).

2.2. Метки

Метка - это символьное нмя, представляющее 16 бит информации.

В метках можно использовать символы 0...9.А...Z и $. Можно использовать как
большие, так и малые буквы, символы [,.]. .#,и -. Метка должна начинаться с
буквы.

2.3. Таблица символов

Когда метка встречается в первый раз. ее помещают в таблицу вместе с двумя
признаками, которые позже показывают, как эту метку соотносят по алфавиту с
другими, находящимися внутри таблицы. Если в первый раз метка появляется в поле
меток, то ее значение (данное счетчиком адресов или значение выражения "EQU")
заносят в таблицу символов. В другом случае значения заносятся, когда бы ни
встретилось имя метки в последующем в поле метки.

Запись в таблице занимает от 8 до 13 бит, в зависимости от длины имени.

Если за время первого прохода имя встречается более одного раза, то будет вы-
дано сообщение об ощибке (*ERROR *4).

Если значение для имени не найдено, то в конце ассемблирования будет выдано
сообщение:

«WARNING* SYMBOL ABSENT

2.4.Выраженйя

Выражения -это запись операндов, образованная нлн простым термом или комбина-
цией термов, разделенных операндом. Ниже определены понятия терма н операнда:

Терм:

десятичная константа например: 1024

шестнадцатиричная константа например: #4А5
двоичная константа например: % 100101

символьная константа например: "А"

метка например: L1029

Может также использоваться для обозначения текущего значения счетчика адре-
сов.

Оператор:
+ - сложение
- - вычитание
$ - логическое "и" (AND)
& - логическое "или" (OR)
!, - логическое "X0R"

* - алгебраическое умножение
/ - алгебраическое деление

? - MOD-функция (А?В=А-(А/В)*В
Замечание:

# - используют для того, чтобы отметить начало 16-ричного числа.
% - используют для того, чтобы отметить начало двоичного числа.

символьная константа.

2.5.Макроопределения

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

Так, макроопределение NSUB может быть определено следующим образом:
NSUB MAC

OR А
SBC HL.DE
ADD HL,DE
ENDM

Когда бы мы в дальнейшем ни применили NSUB как код операции, оно будет гене-
рировать три инструкции ассемблера: OR A;SBC HL.DE и ADD HL.DE.

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

2.6. Директивы ассемблера
Возможны директивы:

ORG <выражение> - устанавливает счетчик адресов равным значению выражения.

EQE <выражение> - этой директиве должна предшествовать метка. Значению мет-
ки присваивается значение выражения. Выражение не должно
содержать имен, которым еще не присвоено значение. В про-
тивном случае ассемблер выдает вам сообщение об ошибке ~
♦ERROR*13.

DEFB <выражение>,<выраженне>...- Каждое выражение должно оценивать 8 бит;

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

DEFW <выражение>,<выражение>...- Дополняет слово (2 байта), адрес которого .

указан счетчиком адресов, значением выражения и увеличи-
вает счетчик адресов на 2. Младший байт помещается снача-
ла. за ним следует старший байт. Повторяется для каждого
выражения.

DEFS <выраженис> - увеличивает счетчик адресов на значение выражения. Экви-
валент резервирования области памяти размером. равным
значению выражения.

DEFM "S" - определяет, что последовательность N байтов памяти будет

равна представлению строки "S" в коде ASCII, где N - дли-
на строки.

ENT <выражение> - используется для определения адреса, на который осуществ-
ляется переход по команде редактора "R".

2.7. Команды условной трансляции

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

IF <выражение> - эта команда оценивает выражение. Если результат равен нулю,
то прекращается ассемблирование следующих линий до техпор. пока не встретится
ELSE или END. Если значение выражений отлично от нуля, то ассемблирование
происходит нормально.

ELSE - эта команда просто переключает ассемблирование. Если перед появлением
ELSE было ассемблирование, то в последующем оно выключается и наоборот.

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

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

В распоряжении программиста имеются следующие команды:

*Е - выдает 3 пустые строки иа экран или принтер.

*HS - выдаст строку "S" - заголовок, который будет печататься после каждого

вывода "*Е". *Н автоматически выполняет *Е.

*S - указывает, что с данной строки листинг должен быть остановлен.

•L+ - прекращает листинг и печать, начиная с данной строки.

*L- - начинает листинг и печать, начиная с данной строки.

•D+ - указывает, что значение счетчика адресов в начале каждой строки дол-
жно выдаваться в десятичном виде вместо обычного 16-ичного.

•D- - возвращает к использованию шестнадцатиричного вида значения счетчика

адресов в начале каждой строки.

*С— - укорачивает листинг ассемблера, начиная со следующей строки.

*С+ - возвращает к полному листингу.

*М+ - включает печать макроопределения.

*М- - выключает печать макроопределения.

•F <имя файла> - позволяет ассемблировать текст с ленты или дисковода
*F 2:TEST - для файла на микроприводе N2;
*F TEST - для файла на ленте.

Если не указано имя файла, то с ленты считывается первый найденный файл, но
при считывании с дисковода вышеуказанное нельзя принимать в расчет. Если вы ра-
ботаете с дисководов, то файл должен быть предварительно сохранен с помощью
команды редактора "Р" обычным способом.

Раздел 3. Строчный редактор

3.I Вставка текста

Текст может быть введен в текстовый файл или указанием номера строки, пробе-
ла и требуемого текста, или посредством команды "1".

Клавиша <DELETE> будет уничтожать предыдущий символ (но не далее начала стро-
ки текста).

Текст вводится во внешний буфер внутри GENS4 и вы должны оградить его от пе-
реполнения использованием клавиш <DELETE> или "<—" для освобождения свободно-
го пространства.

Команда " I N,М "

Использование этой команды переводит ввод в автоматический режим: вам подска-
зываются номера строк, начиная с N, с приращением М на каждом шагу. После выс-
вечивающегося номера вы вводите нужный текст. по желанию используя нужные кла-
виши, и завершаете строку текста вводом <ENTER>. Для выхода из этого режима ис-
пользуется <EDIT>.

Если вы вводите строку с уже существующим номером, то строка текста с этим
номером удаляется и заменяется-на вновь введенную после нажатия <ENTER>.

Если автоматическое увеличение номера строки дает значение, большее 32767, то
происходит автоматический выход из режима ввода.

Если при вводе текста вы добрались до конца строки на экране, но еще не ввели
64 символа (размер буфера), то экран сдвинется вверх на одну строку и вы можете
продолжать ввод со следующей строки - номер строки автоматически будет соот-
ветствовать введенному тексту.

3.2 Распечатка текста

Команда "L N, М"

Эта команда выводит листинг со строки N до строки М включительно на терминал.
По умолчанию N присваивается значение 1, М - 32767, т.е. значениями по умолча-
нию не являются ранее введенные аргументы.

Для листинга целого файла просто используйте команду "L" без аргументов.

Команда " К N "

"К" устанавливает количество экранных линий, которые должны огбражаться на
терминале перед паузой, как это было описано выше (см.команду "L"). Значение N
(не более 256) хранится в памяти. Например, если вы хотите при последующем ис-
пользовании "L" выдавать на экран по 5 строк, то введите команду "К5".

3.3 Редактирование текста

Команда " D (N,м i "
Все линии от N до М включительно удаляются из текстового файла. Если M<N
или определено менее двух аргументов, то команда игнорируется.

Команда " М N.M "

Эта команда помещает текст строки с номером N и строку М, уничтожая текст,
уже существующий там.

Команда " N [N.М] "

Команда "N" перенумеровывает М строк текстового файла, начиная со строки N
и М должны быть реальными и если номер линии превышает 32767, то остается пер-
воначальная нумерация.

Команда "F N. М. F. S "

Текст со строки N до строки М исследуется ла появление строки F Если такая
строка найдена, то она отображается ка тсаминале н включается реким "EDIT" (см.
ниже).

Вы можете использовать команды внутри режима EDIT для нахождения последующих
появлений строки F в пределах определ£иной области строк или для замещения
строкой S текущего появления строки F и затем продолжить поиск строки F. Отме-
тим, что диапазоны строк F и S могут быть установлены ранее другой командой ,
так что возможно вводить только F для инициализации поиска.

Команда " Е N "

Редактирует строку с номером N. Если строки N не существует, то команда игно-
рируется.

В вашем распоряенин имеются следующие подкоманды,

<SPACE> - перемещает курсор на одну позицию к следующему символу в строке.

<DELETE> - возвращает курсор на предыдущий символ в строке.

< --> > - Перемешает курсор на следующую позицию табуляции в каждой экранной
строке.

<ENTER> - конец редактирования данной строки. Сохраняет все сделанные измене-
ния.

<Q> - выход из режима редактирования данной строки,

<R> - перезагружает буфер редактирования текстом.

<L> - распечатывает остаток строки, который должен быгь отредактирован.

<К> - уничтожает символ в указываемой курсором позиции.

<Z> - уничтожает все символы, начиная с указанного курсором и до конца

строки.

<F> - ищет следующее появление строки "К".ранее определенной в командной

строке.

<S> - замещает ранее определенной строкой "S" текущее появление цепи сим-

волов "F" и затем выполняет подкоманду "F".

<!> - вводит символ в указанную курсором позицию. Вы будете оставаться в

этом режиме до тех пор, покй не нажмете <ENTER>.

<Х> - перемещает курсор в конец строки и включает описанный подрежим.

<С> - изменяет подрежим. Это позволяет перезаписать символ в текущей по-

зиции, затем передвигать курсор через одну позицию.

3.4 Команды дисковода и магнитной ленты

Команда " Р N.M.S "

Строки с номерами от N до М сохраняются на ленте/диске в файле с именем, за-
данным строкой S. Текст будет записан на диск, если перед именем файла через
двоеточие стоит номер дисковода.

Команда " G..S "

На ленте или дискете производится поиск файла с именем "S". Когда файл най-
ден. он загружается в конец текущего текста. Если строка "S" пустая, то загру-
жается первый файл с кассеты. Для дисковода обязательно надо указать имя файла
и номер дисковода.

При работе с кассетой, после того как вы ввели команду "G". появится сообще-
ние: START ТАРЕ.

Вы должны нажать клавишу "воспроизведение" своего магнитофона. Ведется поиск
файла с указанным именем или первого файла по умолчанию. Когда нужный файл най-
ден, появится сообщение: USING FILENAME, в противном случае высветится сообще-
нием FOUND FILENAME и поиск иа ленте продолжается. При использовании дисковода
и в том случае, если не найден искомый файл, то появится сообщение "ABSENT".

Команда Т N.M.C

Выводит блок текста между строками N и М включительно на ленту в формате,
подходящем для дальнейшей работы под управлением директивы ассемблера *F. Обра-
батывается файл с именем "S". Вывод начинается сразу после нажатия клавиши <EN-
TER>.

Команда " 0,,S "

Выводит ваш объектный код на кассету или дисковод. Имя файла может иметь дли-
ну более 8 символов и должно начинаться с номера привода (1...8) и двоеточия,
если вы хотите сохранить объектный код на дискете.

3.5 Ассемблирование и запуск из редактора

Команда " А 0,S,F "

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

S - даст возможность изменить размер таблицы символов для этой трансляции.

F - имя файла, имеющегося на дискете. Имя файла должно начинаться с <D: >. где

D - номер дисковода, на котором размещен файл. Имя файла не должно содержать
более 10 символов.

Команда "R" - для выполнения объектной программы.

3.6 Другие команды

Команда "В"

Просто возвращает управление операционной системе.

Команда "С"

Позволяет вам изменить размер входного буфера и буфера макроопределений
(только для версий DEVPAC на магнитной ленте).

Команда " S..D"

Эта команда позволяет вам изменить символ-разделитель аргументов в командной
строке. На входе редактора таким разделителем является запятая, это может быть
изменено с помощью команды "S" на первый символ определяющей строки "D".

Команда "UN"

Позволяет установить верхнюю границу памяти равной N. Если N не указать (т.е.
ввести только U и <ENTER>), то отображается текущая верхняя граница памяти.

По умолчанию верхняя граница памяти принимается равной вершине стека памяти
системы SPECTRUM.

Команда " V "

Выдает на дисплей полезную информацию: значение параметров команды N1 и N2 по
умолчанию; символ-разделитель команды по умолчанию; десятичное значение начала
и конца текста и значение первой командной строки S1.

Команда " W N.M "

Выводит строки текста с N по М включительно на принтер. Если ни N, ни М не
указаны, то будет напечатан весь файл. Печать будет приостановлена после вывода

некоторого числа линий, определенного командой "к" - нажмите любую клавишу для
продолжения печати.

Команда "И"

Видает каталог диска. В версии с 51-м символом перед выдачей каталога проис-
ходит очистка экрана.

Команда "2м
Эффективно уничтожает весь ваш текст.

Команда " Н "

Выдает подсказку на экран: список возможных команд в 2 столбца с заглавной
буквой, обозначающий команду и отображающий текущее значение определенных важ-
ных параметров.

Приложение 1.
Коды ошибок и их значение.
*ERR0R*1 - ошибка в константе этой строки;
*ERR0R*2 - мнемоника не распознана;
*ERR0R*3 - утверждение плохо сформировано;
*ERR0R*4 - символ определен более 1 раза;

*ERR0R*5 - строка содержит неверный символ (т.е. ничего не значащий в данном
случае);

*ERR0R*6 - один из операндов в строке ~ незаконный;
*ERR0R*7 - символ в строке является резервной инструкцией,
*ERR0R*8 - ошибочная пара регистров;
*ERR0R*9 - слишком много "регистров в строке;

* ERROR*10 - выражение, которое должно занимать менее 8 бит, занимает больше;

* ERROR* 11 - неверные инструкции JPOX+N) и JPOY+N);
*ERROR*12 - ошибка в директиве ассемблера;

*ERR0R*13 - незаконная ссылка вперед, т.е. EQU ссылается на символ,который еще

не был определен;
*ERROR*14 - деление на ноль;

* ERROR*15 - переполнение в операции умножения;
*ERROR*16 - вложенное макроопределение;
*ERR0R*17 - этот идентификатор - не макро;
"ERROR*18 - вложенный макровызов;
*ERR0R*19 - вложенный условный оператор;

BAD ORG! - Директива ORG работает с адресом, который может испортить GENS4,
текстовый файл или таблицу символов. Управление возвращается в редактор.

OUT OF TABLE SPACE - появляется во время первого прохода, если на таблицу
символов выделено недостаточно памяти. Управление возвращается редактору.

BAD MEMORY! - Нет места для ввода текста, т.е. конец текста близок к верши-
не ОЗУ памяти. Вы должны спасти текущий текстовый файл или его часть.
Приложение 2.
Резервирование слов, мнемоника и т.д.
Список резервных инструкций внутри GENS4. Эти символы не могут использоваться
как метки, хотя они могут быть частью меток. Все резервные инструкции состоят
из заглавных букв:

ABCDEHL 1 RS
AF AF" ВС DE HL 1X

IY SP NC Z NZ М

Р РЕ РО

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

ADC

ADD

AND

BIT

CALL

CCF

CP

CPD

CPDR

SPI

CPIR

CPL

DAA

DEC

D I

DJNZ

EI

EX

EXX

HALT

IM

IN

INC

I ND

I NDR

INI

IN1R

JP

JR

LD

LDD

LDDR

LD I

LD 1 R

NEG

NOP

OR

OUTDR 0

OUT

0UTD

OUTI

POP

PUSH

RES

RET

RET I

RET N

PL

RRA

RLC

RLCA

RLD

RR

RLA

RRC

•RRCA

RRD

RST

SBC

SCF

SET

SLA

SRA

SRL

DEFB

DEFM

DEFS

DEFW

ELSE

END

ENT

EQU

IF

ORG

MAC

ENDM

*D

*E

*H

*L

*S

*C

*F

♦ M




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Игры - Poke из журнала ZX-Forum 3.
О сетях - Структура сетей, адресация.
Обзор Lines - Обзор различных вариантов игры Lines.
Послесловие - Журнал - это нить, связывающая всех синклеристов нашего города и объединяющая их в одно целое, с помощью которой любой сможет приобрести друзей, получить ответы на мучившие его вопросы.
Новости - работы по восстановлению печатного журнала по Spectrum.

В этот день...   6 мая