ZX Review #11-12
26 ноября 1997

Новые программы - Обзор программ FASTzasm и @-zasm.

<b>Новые программы</b> - Обзор программ FASTzasm и @-zasm.
(c) Иван Рощин, г.Москва, 1997

   WARNING!  Описываемые   здесь
программы предназначены для  ис-
пользования только вместе с  ас-
семблером ZX ASM 3.0!

   Наверняка каждому кодеру  из-
вестна такая ситуация: вы набра-
ли текст какой-либо программы на
ассемблере, откомпилировали  ее,
запустили, а компьютер завис или
сбросился.  Хорошо,  если  перед
этим вы сохранили исходный текст
на диске, а если нет? Тогда  ос-
тается только... запустить прог-
рамму "FASTzasm" или "@-zasm"!
   Дело в том, что так  называе-
мый "сброс" компьютера - не  что
иное, как передача управления по
нулевому адресу  в  ПЗУ-48.  При
этом очищается только  48-я  па-
мять, а  ассемблер,  отладчик  и
текст  вашей  программы  остают-
ся неповрежденными.  "Зависание"
компьютера также в  99%  случаев
не приводит к  потере  исходного
текста программы.
   Итак, пусть после  неудачного
запуска  все  закончилось  очис-
ткой экрана и появлением  знако-
мой надписи:

 (C) 1982 Sinclair Research Ltd

   Ваши дальнейшие действия дол-
жны быть такими:

 - набрать RANDOMIZE USR 15616;

 - выполнить команду TR-DOS: RUN
   "FASTzasm"  (можно  запускать
   эту  программу  и  из  любого
   boot'а,  который  не   портит
   128-ю память);

 - FASTzasm восстановит содержи-
   мое памяти по адресам  #5B00-
   #6000 (резидентная часть  ас-
   семблера, стек) и  перезапус-
   тит ассемблер (который остал-
   ся в 128-й памяти), после че-
   го вы сможете продолжить  ра-
   боту. Если FASTzasm не  обна-
   ружит в памяти ничего похоже-
   го  на  ассемблер, он  просто
   выдаст соответствующее  сооб-
   щение и выйдет в TR-DOS.

   Если   компьютер   сбросился,
когда вы отлаживали  свою  прог-
рамму  с  помощью  STS'а,  может
быть так, что активным  останет-
ся экран в 7-м банке  памяти.  В
этом случае для включения  стан-
дартного экрана придется  "всле-
пую" набрать команду:

          OUT 32765,16

   Имеет   смысл    использовать
FASTzasm при сбросе  компьютера,
даже если вы сохранили  исходный
текст своей  программы.  Во-пер-
вых, запуск  пройдет  быстрее, а
во-вторых,  не  придется  заново
загружать текст и  устанавливать
параметры в ассемблере и  отлад-
чике.
   Рассмотрим еще  такую  ситуа-
цию: вы отлаживаете большую про-
грамму, состоящую из  нескольких
файлов, и изменяете  то один, то
другой файл. И вот, при  попытке
записать очередной файл  с  тек-
стом  программы  на  диск, появ-
ляется сообщение  "Disk  full!".
Так  происходит  потому, что  на
диске образовалось много удален-
ных файлов, и  свободного  места
не осталось. Надо  бы  уплотнить
диск, но как  это  сделать?  При
попытке вызвать из ZX ASM'а  TR-
DOS и выполнить команду MOVE  вы
получите сообщение "Out of RAM".
А  поднимать  стек  выше   #6000
нельзя - разрушится  резидентная
часть ассемблера!  Можно, конеч-
но, временно  записать  файл  на
другой  диск, нажать  RESET, уп-
лотнить исходный диск и  перепи-
сать файл на него, затем  запус-
тить ZX ASM  и, наконец, продол-
жить работу. Но уж  слишком  это
долго...
   Эта проблема легко решается с
помощью FASTzasm: вы просто  вы-
ходите из  ZX ASM  в  бейсик, не
сохраняя  текстового   файла,  и
спокойно набираете RANDOMIZE USR
0. После этого  уплотняете  диск
(с помощью команды MOVE или фай-
ловой оболочки, не  использующей
128-ю память) и запускаете FAST-
zasm, который восстановит  рези-
дентную часть ZX ASM'а и  запус-
тит его. После этого можно запи-
сать  текстовый  файл  на  диск.
Если ZX ASM, FASTzasm  и  файло-
вая оболочка находятся на том же
диске, где и рабочие файлы - вам
даже не придется менять диски  в
дисководе!
   Теперь поговорим  о  "зависа-
нии". Наилучшее средство  в  та-
кой  ситуации  -  кнопка  MAGIC.
После того, как содержимое памя-
ти запишется на  диск, нажимайте
RESET  и  запускайте   программу
"@-zasm".

 ┌──────────────────────────────────────┐
 │   Кстати, если вас интересует, ПОЧЕМУ│
 │зависла ваша программа, могу посовето-│
 │вать загрузить полученный @-файл в от-│
 │ладчик  "STS5.1+@"  (это обычный  STS,│
 │доработанный мной так, что при загруз-│
 │ке @-файла он устанавливает содержимое│
 │регистров процессора таким, каким  оно│
 │было в момент нажатия кнопки MAGIC).  │
 └──────────────────────────────────────┘

   @-zasm попросит вас  вставить
диск с записанными в  результате
нажатия  кнопки  MAGIC  файлами.
Нажмите любую клавишу, и начнет-
ся чтение этих файлов.  Если  на
диске нет @-файлов или эти  фай-
лы  не  имеют  отношения  к   ZX
ASM'у, программа выдаст  сообще-
ние  "ZX ASM  NOT FOUND IN MEMO-
RY!" и выйдет в TR-DOS.
   После  успешного   считывания
@-файлов  программа  задаст  вам
последний вопрос - нужно ли уда-
лить эти  файлы  с  диска.  Если
нужно, нажимайте "Y". Потом нем-
ного  подождите, и, наконец, за-
пустится ассемблер.
   При работе программы @-zasm в
память считывается лишь содержи-
мое 1,3,4,6 и 7 банков памяти, а
в 48-й памяти  восстанавливается
только резидентная часть  ассем-
блера и стек.

           *   *   *




Другие статьи номера:

Авторская разработка - С.Зонов, А.Ларченко. О контроллере SMUC (HDD и IBM периферия).

Компьютерная новелла - Воины Звезд (по игре Shadowfire).

Новые программы - Обзор Digital Studio v1.12, Digital Studio Compiler v1.01

Новые программы - Обзор Xas редактор-ассемблер 128К (v5.05).

Новые программы - Обзор Музыкального редактора Instrument v3.01

Новые программы - Обзор программ FASTzasm и @-zasm.

Новые программы - Обзор программы No Kempston.

Профессиональный подход - Алгоритмы построения и прохождения Лабиринтов.

Смех без причины... - Материалы из юмористического журнала SpectrofUn.

Советы экспертов - Игра FEUD.

Советы экспертов - Игра Killed Until Dead.

Советы экспертов - Игра War in Middle Earth.

Форум - Конверсия цветной спектрумовской картинки на IBM. Конверсия ч/б картинки с IBM на ZX Spectrum.

Форум - О русификации игровых программ.

Форум - Программа детекта эмулятора.

Форум - Процедура "цветные полосы на бордюре". Снижение шума FDD.

Форум - Процедура перевода числа в десятичный вид. Процедура - сканер пароля.

Форум - Снятие защиты Microprotector'а.

Форум - Эмуляторы, которые мы выбираем: 'UKV Spectrum Debugger', 'Z80TRDOS'.

Читатель-читателю - Драйвер ввода в режимах последовательного и прямого доступа из файлов системы TR-DOS.

Этюды - Графический эффект "плазма 2".

Этюды - Графический эффект "плазма 2".

Этюды - Графический эффект "плазма".

Этюды - Полезные советы. Быстрая переброска экрана.

Этюды - Ремейк процедур 93 года.

Этюды - Эффект "пламя".


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

Похожие статьи:
Почтовый ящик - дискуссия: как выбрать домашний компьютер.
Софт - Встрял: Little Computer People.
CODING - The Оптимизация - построение таблицы частоты повторения байтов.
Мыльница - errata: Работа над ошибками.
Обзор новья - KrNews#15, IzhNews'2002, ZX Guide 4, C-Net Week#23, Body #31, MSF#23, PC Navigator 1.0, Quick commander v2.62, Disk Trouble v0.244, Lamerz Windows, Stuck UN, ABE demo v2.0, Mashinki, ОВД против НАТО, Yard Story 2.

В этот день...   13 декабря