Как написать игру для ZX Spectrum на ассемблере

       

СОХРАНЕНИЕ И ЗАГРУЗКА ТЕКСТОВ И ПРОГРАММ



СОХРАНЕНИЕ И ЗАГРУЗКА ТЕКСТОВ И ПРОГРАММ

Разобравшись с методами редактирования строк, пора узнать, как сохраняются результаты. Вотличие от Бейсика, редактор GENS позволяет сохранить не только весь текст целиком, но и произвольную его часть, для чего в команде P (Put text) прежде указывается начальная строка сохраняемого фрагмента, а затем - конечная. Самым последним параметром команды служит имя, под которым вы хотите сохранить текст. (У строчного редактора есть одно полезное, но в некоторых случаях опасное свойство: часть команд, будучи введенными без параметров, выполняется с параметрами предыдущей команды. Поэтому, на первых порах будьте особо внимательны.) Поскольку в этой команде нет необязательных параметров, то для записи всего текста можно задать границы номеров сохраняемых строк «с запасом» и ввести, например, такую строчку:

P1,20000,ASMTEXT

Если вы работаете с дисководом и имеете в своем распоряжении дисковую версию ассемблера GENS4D или gens4b, то можете записать исходный текст на дискету. Формат команды в этом случае останется, в общем-то, тем же самым, только имя файла должно начинаться с указания номера дисковода, к которому вы собираетесь обратиться. Например, для записи на дисковод A нужно ввести

P1,20000,1:ASMTEXT

Заметьте, что двоеточие между номером дисковода и именем обязательно.

Обратное действие - загрузка ранее созданного исходного текста - осуществляется с помощью команды редактора G (Get text). Формат ее похож на формат предыдущей команды, правда, значение имеет только последний параметр - имя файла. Поэтому для загрузки программы GAME с магнитофона следует ввести

G,,GAME

а для загрузки одноименного файла с дисковода B эта же команда примет вид

G,,2:GAME

По сравнению с оператором Бейсика LOAD у команды G есть одно существенное отличие: она не уничтожает уже имеющийся в памяти текст, а добавляет новый в конец. После объединения строки программы будут перенумерованы с номера 1 и с единичным шагом. Часто такая особенность команды G бывает не только полезна, но и просто необходима, однако если вы собираетесь поработать над новой программой, прежде чем ее загружать, надо убедиться, что редактор свободен от какого бы то ни было текста, а если нет, то удалить его (как это сделать, мы скажем чуть позже).

Для сохранения полученного машинного кода (нередко называемого объектным, хотя это и не совсем верно) можно воспользоваться командой O (Object). Она имеет синтаксис, аналогичный команде G, то есть для записи оттранслированной программы в файл MYPROG при работе с лентой нужно ввести строку

O,,MYPROG

а при работе с дисководом A эта команда запишется как

O,,1:MYPROG

Записывая тексты и программы на диск, вы иногда можете увидеть на экране надпись

File exists Delete (Y/N)?

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



Содержание раздела