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 года.

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


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

Похожие статьи:
Обзор - обзор свежих релизов: Lord of Chaos, F-19 Stealth Fighter, Carrier Command, The Simpsons, Gauntlet 3, The Addams Family, Wild West Seymour, Sly Spy, Paris To Dakar, Duck Out, Johangir Khan World Championchip Squash, The Amazing Adventures of Robin Hood.
Массолит - Рассказ "Безумный Макрос".
Печатается с продолж. - Папуас из Гондураса (продолжение).
Coding - ZXA library: библиотека, предназначенная для создания и проигрывания анимаций.
Этюды - Экранная процедура "UP HL".

В этот день...   26 апреля