Oberon #03: Обзор ассемблеров: сильные и слабые стороны



<img align="top" src="/userfiles/images/illustrations/1356/54_11.png">
<img align="top" src="/userfiles/images/illustrations/1356/54_12.png">
<img align="top" src="/userfiles/images/illustrations/1356/54_13.png">
<img align="top" src="/userfiles/images/illustrations/1356/54_14.png">
<img align="top" src="/userfiles/images/illustrations/1356/54_15.png">
<img align="top" src="/userfiles/images/illustrations/1356/54_16.png">

----------------------------
(C) 1997 MAXSOFT/SPEED CO.
----------------------------

Я бы в кодеры пошел...

Чтобы "пойти в кодеры", нужно иметь хотя бы представление об Ассемблере и собственно сам Ассемблер, т.е. оболочку, где вы будете писать программы. Допустим, язык ассемблера вы уже немного знаете, а в данный момент нужно выбрать, где бы начать практику. Вот тут-то вам и поможет (а может только запутает) эта статья.
Итак, вашему вниманию представляется обзор существующих Ассемблеров. Обзор не охватывает все существующие программы, это нереально. Также не рассматриваются широко известные ассемблеры ZEUS 48K, GENS 48K, TASM 2.XX, TASM 3.XX, так как информации о них более чем достаточно.

-------------------
EDAS 3.3 48K
(C) 1993 S.Maslov
-------------------

Этот ассемблер имеет одно очень важное свойство - он работает в 48К памяти. Именно поэтому рекомендуется всем пользователям, имеющим SPECTRUM 48. Плавным отличием от основных конкурентов (ZEUS'а и GENS'а) является мощный полноэкранный редактор. 42 символа в строке, возможность быстрого перемещения по тексту, по меткам и по номеру строки, операции с блоками значительно облегчают процесс написания программ.
Кроме этого имеется возможность задать 10 макрокоманд - последовательностей наиболее часто встречающихся команд. После задания их можно вызывать нажатием пары кнопок.
В комплект входит конвертер файлов из/в ZEUS, GENS, MS-DOS (TASM 2.0).
Недостатком EDAS 3.3 является отсутствие команд работы с половинками индексных регистров, а также отсутствие отладчика в комплекте. К недостаткам можно отнести и нестандартность управления. В описании автор предупреждает о трудности обучения "методом тыка", и это есть абсолютная правда - я бы вряд ли догадался, что для ассемблирования программы надо нажать CAPS+B! Несмотря на недостатки, EDAS является наиболее удобным для машин с памятью 48K.

------------------------------------
AFS (ASSEMBLER FOR SCORPION) v.1.4
(C) 1995 Peter Tishkov
------------------------------------

Когда я впервые услышал об AFS, то очень обрадовался - "наконец-то появился ассемблер специально для SCORP'а!". Конечно, 42 символа в строке и возможность загружать файлы ZEUS, GENS, TASM - это хорошо, но во всем остальном AFS не был лучше. Описания к нему не было, отладчика тоже, со встроенным монитором не взаимодействует, редактор довольно медленный... Подумал я, подумал, и ушел обратно - в TASM 3.0. Насколько мне известно, никто из моих знакомых, имеющих SCORPION, AFS 1.4 использовать не стал... Полезность AFS сомнительная, к использованию не рекомендуется.

---------------------
XAS
(C) 1995 Мах Petrov
---------------------

Новый, и абсолютно не похожий ни на какие другие, ассемблер для SPECTRUM 128. В этой непохожести и заключены все его достоинства и недостатки.
Начну, разумеется, с достоинств: 42 символа в строке и несмотря на это ну ОЧЕНЬ БЫСТРЫЙ редактор, быстрая работа с диском (собственный драйвер диска), возможность иметь в памяти несколько текстов, выделение ошибок в тексте цветом. Последнее следует отметить особо. Если при ассемблировании возникнут ошибки, то войдя в редактор, вы увидите, что они выделены цветом, но это не всё - главное, что по выделенным строкам можно быстро перемещаться. В XAS'е также имеются макросы (не ассемблерные, а как в текстовых редакторах), то есть можно вводить ассемблерную программу с той же быстротой, как программу в BASIC 48, если запомнить "расположение" макросов на клавиатуре. В комплекте с ассемблером идут STS и конвертер текстов.
Теперь о недостатках: несколько странное управление - поэтому к нему трудно привыкнуть после TASM'а или ZX-ASM'а. Но это мелочь по сравнению с тем, что длина строки в XAS'е 42 символа. И никак не более!
А так как XAS "теряет" символы после 42, то это уже ПЛЮК! Из-за этого бывают проблемы с конверсией текстов.
Если вы не пишите комментарии (а это они обычно выходят за 42 символа), или вы не любите TASM, то XAS вам подойдёт.

-----------------------------
ZX-ASM v.3.00
(C) Хoхлob.Aфендикob.Pубцob
-----------------------------

Фамилия Хохлов вам ни о чём не говорит? А программу ZX/IBM EDITOR знаете? Если да, то вам уже всё наверное понятно, а если нет, то читайте дальше.
ZX-ASM 3 представляет собой ассемблер, сделанный на базе хорошего текстового редактора. Как к редактору, к ZX-ASM'у нет претензий. Всё сделано солидно и с пониманием нужд пользователей. Как ассемблер он тоже смотрится неплохо: поддерживает SLI, половинки индексных регистров, имеет STS в своём составе. В отличие от многих других ассемблеров, может выгружать свой текст на диск как в формате ASM (токенизированный текст), так и в ASCII - кодировке. Перекодировщик текстов позволяет перевести в ZX-ASM из GENS, TASM 2.0, TASM 3.0, MASM.
К недоработкам этого ассемблера можно отнести работу команды DEFS. Она только резервирует память, хотя во всех других ассемблерах сегодня DEFS может повторять заданную последовательность байтов в памяти. Система очень хорошая, особенно подойдёт тем, кто имел опыт работы в редакторе ZX/IBM EDITOR.

---------------
ALASM 2.8
(C) 1996 ALEM
---------------

Ещё один хороший ассемблер с Самостийной Украины. К счастью, сам он "самостийностью" не страдает. К чему я об этом? А к тому, что все управляющие кнопочки сделаны как в TASM'е, все новые функции "висят" там, где их можно легко найти, а новые директивы ассемблера введены "в соответствии с международными стандартами" (почти цитата). Враги (любители ассемблеров XAS и ZX-ASM) могут конечно съязвить:
- А в ALASM'е такой же неудобный 64-х символьный вывод текста, как в TASM'е?
И да, и нет. ALASM поставляется в 3-х вариантах: 32, 42 и 64 символа в строке.
Кроме этого, ALASM имеет русский шрифт, RAM диск для подкачиваемых при ассемблировании файлов, при наличии 256K и более памяти вы можете работать с несколькими файлами, прилагается STS с поддержкой меток ALASM'а, при старте возможно отконфигурировать систему и сохранить состояние на диск. ALASM имеет встроенный калькулятор, который может оперировать как числами, так и метками.
Всем хорош, но... ALASM имеет три неприятных момента. Во-первых, собственный опрос клавиатуры. При турбировании компьютера "пропадают" клавиши с "CAPS SHIFT". Во-вторых, для собственных нужд используется буфер принтера, хотя без этого можно было обойтись. В-третьих, фирменная версия поддерживает расширение памяти только по порту #7FFD. Владельцам компьютеров PROFI, ATM, SCORPION придётся довольствоваться памятью 128K.
Очень мощный ассемблер в стиле TASM, полностью соответствующий ему по управлению. Очень рекомендуется к использованию.

------------------------------
MASM (MASTER ASSEMBLER) v1.1
(C) 1995 KSA & *AIG*
------------------------------

Широко разрекламированное ZX-РЕВЮ, INFORCOM'ОМ и SPECTROFON'ом творение московских программистов. Что же MASM представляет собой в действительности?
Появившись около года назад, MASM стал "продолжением" TASM'а. Но по сравнению с последним имел много нововведений. Более "дружественный" интерфейс, STS в своём составе, поддержка русского шрифта, увеличенная в 2 раза скорость ассемблирования, макросы. О макросах стоит сказать особо.
То, что KSA назвал макросами:
BEGIN
<asm text> </asm>
END
макросами вряд ли можно назвать, так как эта конструкция только повторяет N раз текст, заключённый в BEGIN-END. А вот другое новшество в MASM'е макросами вполне можно назвать:
DOWN <reg pair></reg>
UP <reg pair></reg>
STOPKEY
Процедуры DOWN и UP с параметрами HL, DE, BC производят пересчёт данных в регистрах в соответствии с "опусканием" или "подниманием" адреса в экране на одну строчку. STOPKEY генерирует процедуру ожидания любой клавиши.
Но кроме новых возможностей, MASM дал также и новые глюки. С тем, что в основном меню на клавише 'Q' "висит" выход в STS, ещё можно смириться (в TASM'е 'Q' - QUIT to BASIC), но вот другие глюки попросту опасны - они портят текст программы.
Первый из них: при замене текста внутри скобок теряется закрывающая скобка.
Второй (куда более опасный) - MASM может "терять" строки программы при перемещениях по тексту. Чем это грозит, думаю объяснять не надо...
Хотя имеет высокую скорость ассемблирования и другие преимущества, к использованию не рекомендуется в связи с серьёзными ошибками в редакторе.

--------------------
TASM 4.1 (XLD)
(C) 1996 XL DESIGN
--------------------

TASM он и в Африке TASM. Но TASM от XLD это нечто особенное. Приобретая TASM 4, вы получаете хорошо знакомый TASM 3 + массу полезных доработок. Итак, начнём: нет никаких проблем со SCORPION'ом, исправлены ошибки MERGE и SAVE OBJECT. Добавлены: двоичные числа, недокументированные команды (SLI, INF, OUT (C), 0), работа с половинками индексных регистров, кэширование диска при INCLUDE и INCBIN (заметно ускоряется работа с диском, особенно если файлы находятся в конце диска), команда DEFS повторяет не только байты, но и стринги.
А теперь самое главное - ускорена работа в редакторе. Ускорена - это мягко сказано, курсор в TASM'е прямо-таки летает по тексту. Такого "скорострельного" редактора нет ни у одного ассемблера. Важным свойством TASM 4.1 является то, что тексты из TASM 3.XX он понимает без какой-либо конверсии. На мой взгляд, в TASM 4.1 зря сократили длину меток до 7 символов (против 13 у TASM 3.0), это несколько неудобно.
Также к неудобствам можно отнести отсутствие выхода в STS, хотя он прилагается.
Очень быстрый редактор оставляет вне конкуренции все остальные. И если 64 символа в строке для вас не помеха, то добро пожаловать в TASM!

Ну а теперь, после рассмотрения всех вышеперечисленных ассемблеров, надо подвести итоги, оформить их в виде таблицы и сравнить полученные данные с усреднёнными данными на 1913 год.

В таблице имеется 4 графы:

( P ) - редактор, скорость работы и набор функций:

( C ) - сервисные возможности:

( Н ) - недостатки и ошибки, эти баллы вы читаются из общего результата:

( A ) - ассемблер, его команды и т.п.

Скорость ассемблирования не оценивается специально - во избежание третьей мировой войны.

┌--------┬---┬---┬---┬---┬-------┐
│ │ P │ C │ Н │ A │ СУММА │
├--------┼---┼---┼---┼---┼-------┤
│ EDAS │ 3 │ 3 │ 0 │ 3 │ 9 │
├--------┼---┼---┼---┼---┼-------┤
│ AFS │ 2 │ 3 │ 0 │ 3 │ 8 │
├--------┼---┼---┼---┼---┼-------┤
│ XAS │ 5 │ 4 │ 2 │ 5 │ 12 │
├--------┼---┼---┼---┼---┼-------┤
│ ZX-ASM │ 4 │ 5 │ 0 │ 4 │ 13 │
├--------┼---┼---┼---┼---┼-------┤
│ ALASM │ 4 │ 4 │ 1 │ 5 │ 12 │
├--------┼---┼---┼---┼---┼-------┤
│ MASM │ 4 │ 3 │ 2 │ 4 │ 9 │
├--------┼---┼---┼---┼---┼-------┤
│ TASM │ 5 │ 3 │ 0 │ 5 │ 13 │
└--------┴---┴---┴---┴---┴-------┘

Как всем известно, на вкус и цвет товарищей нет. Поэтому прокомментирую только те баллы, которые вычитались. XAS - один балл снят за потерю 42-го и последующих символов, второй - за проблемы при конвертации текстов. MASM - за загадочные исчезновения скобок (один балл), а также строк (второй балл). ALASM - за некорректную работу клавиатуры в турборежиме. Всё это говорит о том, что по сравнению с 1913-м годом ассемблеры стали в N раз лучше! Кому мало N, пусть считает, что в M раз круче!

Я отдаю себе отчёт в том, что этот обзор ассемблеров не является на 100% объективным и у каждого найдется своё субъективное мнение. Поэтому если у вас будут какие-то вопросы, комментарии, дополнения, то присылайте письма в редакцию "ОБЕРОНА".

-----════════════════════════════════----
А это ещё не конец...
Чтобы решить все проблемы и исключить некоторые вопросы, я расскажу, кто и в каком ассемблере приближал выпуск выход в свет третьего номера журнала "ОБЕРОН". Буквы SE, встреченные вами, означают, что данный продукт есть special edition, то есть специальная версия для себя лично.

ALK/STARS OF KELADAN ZEUS128 SE
PAUL ATRIDES/STARS OF KELADAN GENS128 SE
A.B.K./STARS OF KELADAN XAS

MAXSOFT/SPEED CO. TASM 3M SE
M.M.A SOFT/SPEED CO. MASM/ALASM
DR.DEATH/SPEED CO. TASM 3M SE

P.S. К моменту написания этой статьи, МКП "ИНФОРКОМ" начало распространение новой версии ассемблера ALASM. Эта версия гораздо превосходит предыдущую, но мы не стали включать её в этот обзор по причине того, что ещё не достаточно поработали с этой программой. Также ожидаются новые версии MASM 2.0 и MASM 3.0.

Посмотрим, посмотрим ......
-------════════ THE END ════════------
* * * * * *

Оглавление издания: Oberon #03

  • От авторов
    Редакционная статья третьего номера Оберона рассказывает о широком распространении в России и ближнем зарубежье, преодолении производственных трудностей и стремлении удовлетворить интересы различных читателей, включая геймеров, программистов и хакеров.
  • Как написать в Oberon - M.M.A
    Руководство по отправке статей в Oberon с использованием ZX-WINWORD. Детальное объяснение форматов и процесса для текстов, графики и музыки. Взгляд на редакционные практики и предпочтения.
  • Свиток - M.M.A
    Исторический обзор игры THE EIDOLON на ZX Spectrum, охватывающий процесс ее восстановления и механики игры, включая уровневые задачи и предысторию.
  • Свиток
    Dark Star - космическая стрелялка, где игрок управляет кораблем против тиранической расы пришельцев. Игроки настраивают параметры, перемещаются по космосу и сражаются с врагами на различных уровнях сложности. Стратегическое планирование и навыки важны для успешной игры.
  • Свиток - M.M.A
    Подробная механика игры с Mechnotech klp2. Стратегия включает в себя обезвреживание реакторов и управление трансформациями дроидов. Информация о различных типах дроидов и доступном оружии.
  • Обо всём - M.M.A
    Обсуждение взаимодействий читателей с редакцией 'Оберона', включая отзывы о предыдущих выпусках и комментарии о совместимости игр и улучшениях содержания журнала.
  • Обо всём - M.M.A
    Автобиографическая статья раскрывает роль автора в самарской сцене ZX Spectrum, описывая его вклад и устремления. M.M.A позиционирует себя как лидера и инноватора в сообществе. Подчеркивается важность локального распространения и культурного влияния.
  • Amiga rulez? - M.M.A
    Критическая статья о современной компьютерной культуре, противопоставляющая платформы IBM и Amiga. Обсуждается влияние стандартизации IBM на общество и продвигается Amiga как символ креативности и индивидуальности. Отражает эволюцию использования компьютеров и предпочтений с эпохи ZX Spectrum.
  • Каким быть 'boot' - Unbeliever
    Статья исследует эволюцию загрузочных программ для ZX Spectrum, обсуждая ранние разработки и ключевые инновации со временем. Выделяются значительные прорывы в автоматизации и дизайне, включая полностью ассемблерные загрузчики и введение современных функций. Заключительная часть текста содержит размышления об идеальных характеристиках загрузочных программ с точки зрения современного пользователя.
  • Письмо от Queen Software
    Открытое письмо от Queen Software критикует дизайн ZX-WINWORD и русскую раскладку клавиатуры, осуждает 'Mortal Compot' и деградацию игр, делится мнением о демосцене и эмуляции компьютеров.
  • Обзор - Unbeliever
    Обзор предлагает инсайты о различных играх, эксклюзивных для 128K ZX Spectrum, выделяя такие названия, как 'Space Gun', 'World Championship Soccer' и 'Night Breed'. Особое внимание уделяется их графическим достоинствам и игровым механикам. Кроме того, в статье обсуждается приобретение программного обеспечения Spectrum через Интернет.
  • Обзор ассемблеров - Maxsoft
    Обзор различных ассемблеров для ZX Spectrum, с акцентом на их сильные и слабые стороны. Рассматриваются EDAS 3.3, AFS, XAS, ZX-ASM, ALASM, MASM и TASM 4.1. Каждый ассемблер оценивается по производительности, функциональности и удобству использования.
  • Наш ответ - M.M.A
    Критический анализ электронного журнала FAULTLESS, выявляющий проблемы плагиата и качества контента. Сравнение с OBERON и другими журналами. Предоставлены предложения по улучшению FAULTLESS.
  • Наш ответ - Alex Noman
    Дискуссия о совместимости и возможностях компьютеров Scorpion и Profi с ZX Spectrum. Критика заявлений Chung Software о языках и методах программирования. Обсуждение ОС, таких как CP/M и iS-DOS, в контексте их полезности в современном программировании.
  • Наш ответ
    Обсуждение различных толкований термина 'хакер' в русском языке, с акцентом на различия и заблуждения.
  • Железо - Dr.Death
    Инструкции по подключению AY-3-8910 на совместимых с Spectrum машинах. Решения для распространённых аудио проблем в российских компьютерах. Советы по улучшению совместимости цифрового звука.
  • Железо - Dr.Death
    Обсуждение модификации SCORPION ZS 256 для улучшения производительности, акцент на проблемы с таймингом и режим TURBO. Объяснение улучшений и потенциальных проблем с мультиколорами. Предложения по дальнейшим улучшениям.
  • Железо - Poltergeist Corp.
    Анализ проблем с аппаратной частью компьютера Profi, клона ZX Spectrum, с акцентом на проблемы сигнала INT, вызывающие мерцание графики. Предлагается решение, связанное с простой модификацией аппаратуры. Автор делится своим успехом и широким распространением решения в Самаре.
  • Погурмим
    Микродрама, иллюстрирующая хаотичное взаимодействие между компонентами компьютера при выполнении задачи печати.
  • Погурмим
    Сатирическая история, изображающая альтернативную реальность, где американская культура и символы юмористически искажены советским влиянием.
  • Погурмим
    История с юмором описывает усилия Попова помочь папуасам прогрессировать на фоне борьбы в пустыне, политических интриг и личных трудностей.
  • Погурмим
    Обзор армейского жаргона, известного как 'Армейские Маразмы', собранного студентами, с акцентом на уникальный язык и инструкции, используемые в военной подготовке и общении.
  • Погурмим
    Сатирическая статья, описывающая военный юмор и вымышленное военное оборудование.
  • Ликбез - Paul Atrides
    Анализ заблуждений о хакерах и общественных настроений, исследование корней хакерской культуры и этических дилемм.
  • Ликбез - Paul Atrides
    Статья рассматривает роль и деятельность российских хакеров в конце 1990-х годов, выделяя заметные случаи и классифицируя различные типы хакеров. Обсуждаются операции, риски и последствия взломов на международном и местном уровнях. Текст также анализирует общественное восприятие хакеров и их изображение в СМИ.
  • Конкурс - M.M.A
    Конкурс с угадыванием песен по плохим переводам текстов, вдохновленный радиосегментом. Участники угадывают песню и исполнителя. Приза пока нет, но обещан бесплатный номер журнала.
  • Конкурс
    Поэтическое размышление о личной борьбе, непонятости общения и бремени спасения мира.
  • Конкурс
    Поэтическое размышление об изоляции и внутренних мечтах, контрастирующее с суровой реальностью.
  • Конкурс
    Статья представляет собой поэтическое посвящение сообществу, подчеркивающее темы единства, бессмертия и силы через метал-музыку.
  • Реклама
    Реклама в журнале Oberon предлагает бесплатное размещение и обсуждает доступное программное обеспечение, оборудование и магазины, связанные с ZX Spectrum.
  • Реклама
    Реклама ремонта и модернизации компьютеров с ценами на различные услуги. Варианты включают подключение дисковода, нормализацию сигналов и увеличение памяти. Специальные услуги для моделей компьютеров, таких как Pentagon и ATM.