Oberon #03: Review of Assemblers: Strengths and Weaknesses










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

I would have gone into coding...

To "go into coding," you need to have at least some understanding of Assembly and the Assembly itself, i.e., the shell where you will write programs. Let's assume you already know a bit about Assembly language, and at the moment you need to choose where to start practicing. This article will help you (or maybe just confuse you) in this regard.
So, we present you with an overview of existing Assemblers. The overview does not cover all existing programs; that is unrealistic. Also, widely known assemblers like ZEUS 48K, GENS 48K, TASM 2.XX, TASM 3.XX are not considered, as there is more than enough information about them.

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

This assembler has one very important feature - it works in 48K memory. That is why it is recommended for all users with SPECTRUM 48. A smooth distinction from the main competitors (ZEUS and GENS) is the powerful full-screen editor. 42 characters per line, the ability to quickly navigate through text, by labels and by line number, and operations with blocks significantly ease the process of writing programs.
In addition, there is the possibility to set 10 macro commands - sequences of the most frequently encountered commands. After setting them, they can be called with a couple of button presses.
The package includes a file converter from/to ZEUS, GENS, MS-DOS (TASM 2.0).
The downside of EDAS 3.3 is the lack of commands for working with halves of index registers, as well as the absence of a debugger in the package. The non-standard control can also be considered a drawback. In the description, the author warns about the difficulty of learning "by trial and error," and this is absolutely true - I would hardly have guessed that to assemble a program you need to press CAPS+B! Despite its shortcomings, EDAS is the most convenient for machines with 48K memory.

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

When I first heard about AFS, I was very pleased - "finally, an assembler specifically for SCORP!" Of course, 42 characters per line and the ability to load ZEUS, GENS, TASM files is good, but in all other respects, AFS was not better. There was no documentation, no debugger, it does not interact with the built-in monitor, the editor is quite slow... I thought about it and went back to TASM 3.0. As far as I know, none of my acquaintances who have SCORPION used AFS 1.4... The usefulness of AFS is questionable, it is not recommended for use.

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

A new assembler, completely different from any others, for SPECTRUM 128. In this uniqueness lie all its advantages and disadvantages.
I will start, of course, with the advantages: 42 characters per line and despite this, a VERY FAST editor, fast disk operations (own disk driver), the ability to have multiple texts in memory, highlighting errors in the text with color. The latter should be noted especially. If errors occur during assembly, upon entering the editor, you will see that they are highlighted in color, but that's not all - the main point is that you can quickly navigate through the highlighted lines. XAS also has macros (not assembler macros, but like in text editors), meaning you can enter an assembler program with the same speed as a program in BASIC 48, if you memorize the "layout" of the macros on the keyboard. The package includes STS and a text converter.
Now about the disadvantages: somewhat strange controls - it is therefore difficult to get used to after TASM or ZX-ASM. But this is a minor issue compared to the fact that the line length in XAS is 42 characters. And no more!
Since XAS "loses" characters after 42, this is already a FLAW! Because of this, there are problems with text conversion.
If you do not write comments (and they usually exceed 42 characters), or you do not like TASM, then XAS will suit you.

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

Does the surname Khokhlov mean anything to you? Do you know the ZX/IBM EDITOR program? If yes, then you probably understand everything, and if not, then read on.
ZX-ASM 3 is an assembler made based on a good text editor. As for the editor, there are no complaints about ZX-ASM. Everything is done solidly and with an understanding of user needs. As an assembler, it also looks pretty good: it supports SLI, halves of index registers, and has STS in its composition. Unlike many other assemblers, it can unload its text to disk in both ASM format (tokenized text) and in ASCII encoding. The text converter allows you to translate from GENS, TASM 2.0, TASM 3.0, MASM to ZX-ASM.
The shortcomings of this assembler can be attributed to the operation of the DEFS command. It only reserves memory, while in all other assemblers today, DEFS can repeat a specified sequence of bytes in memory. The system is very good, especially suitable for those who have experience working in the ZX/IBM EDITOR.

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

Another good assembler from Independent Ukraine. Fortunately, it does not suffer from "independence." Why do I mention this? Because all the control buttons are made like in TASM, all new functions are "hanging" where they can be easily found, and new assembler directives are introduced "in accordance with international standards" (almost a quote). Enemies (fans of XAS and ZX-ASM assemblers) can of course quip:
- Is there such an inconvenient 64-character text output in ALASM as in TASM?
Yes and no. ALASM comes in three variants: 32, 42, and 64 characters per line.
In addition, ALASM has a Russian font, a RAM disk for paging files during assembly, and with 256K or more memory, you can work with multiple files, it comes with STS supporting ALASM labels, and at startup, you can configure the system and save the state to disk. ALASM has a built-in calculator that can operate with both numbers and labels.
All is good, but... ALASM has three unpleasant moments. First, its own keyboard polling. When turboing the computer, the "CAPS SHIFT" keys "disappear." Second, for its own needs, it uses the printer buffer, although this could be avoided. Third, the branded version supports memory expansion only via port #7FFD. Owners of PROFI, ATM, SCORPION computers will have to settle for 128K memory.
A very powerful assembler in the style of TASM, fully corresponding to it in management. Highly recommended for use.

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

Widely advertised ZX-REVIEW, INFORCOM, and SPECTROFON creation of Moscow programmers. What does MASM actually represent?
Appearing about a year ago, MASM became the "continuation" of TASM. But compared to the latter, it had many innovations. A more "friendly" interface, STS in its composition, support for the Russian font, speed of assembly increased by 2 times, macros. It is worth mentioning macros separately.
What KSA called macros:
BEGIN

END
can hardly be called macros, as this construct merely repeats the text enclosed in BEGIN-END N times. However, another innovation in MASM can indeed be called macros:
DOWN
UP
STOPKEY
The DOWN and UP procedures with parameters HL, DE, BC perform data recalculation in the registers according to "lowering" or "raising" the address on the screen by one line. STOPKEY generates a procedure to wait for any key.
But besides new features, MASM also introduced new bugs. With the fact that in the main menu on the 'Q' key "hangs" exit to STS, one can still cope (in TASM 'Q' - QUIT to BASIC), but other bugs are simply dangerous - they corrupt the program text.
The first of them: when replacing text inside brackets, the closing bracket is lost.
The second (much more dangerous) - MASM can "lose" lines of the program when moving through the text. I think it is unnecessary to explain the dangers of this...
Although it has high assembly speed and other advantages, it is not recommended for use due to serious errors in the editor.

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

TASM is TASM, even in Africa. But TASM from XLD is something special. By acquiring TASM 4, you get a well-known TASM 3 + a lot of useful improvements. So, let's begin: there are no problems with SCORPION, errors in MERGE and SAVE OBJECT have been fixed. Added: binary numbers, undocumented commands (SLI, INF, OUT (C), 0), work with halves of index registers, disk caching during INCLUDE and INCBIN (noticeably speeds up disk operations, especially if files are at the end of the disk), the DEFS command repeats not only bytes but also strings.
And now the most important thing - the work in the editor has been accelerated. Accelerated is a mild term; the cursor in TASM literally flies across the text. No other assembler has such a "speedy" editor. An important feature of TASM 4.1 is that it understands texts from TASM 3.XX without any conversion. In my opinion, it was a mistake to reduce the length of labels to 7 characters (compared to 13 in TASM 3.0), which is somewhat inconvenient.
Also, the lack of an exit to STS can be considered an inconvenience, although it is included.
A very fast editor leaves all others in the dust. And if 64 characters per line are not an obstacle for you, then welcome to TASM!

Now, after reviewing all the above-mentioned assemblers, it is time to summarize, present the results in a table, and compare the obtained data with the averaged data from 1913.

The table has 4 columns:

( P ) - editor, speed of operation, and set of functions:

( C ) - service capabilities:

( Н ) - disadvantages and errors, these points are read from the overall result:

( A ) - assembler, its commands, etc.

The speed of assembly is not specifically evaluated - to avoid a third world war.

┌--------┬---┬---┬---┬---┬-------┐
│ │ P │ C │ Н │ A │ TOTAL │
├--------┼---┼---┼---┼---┼-------┤
│ 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 │
└--------┴---┴---┴---┴---┴-------┘

As we all know, there is no accounting for taste. Therefore, I will only comment on those points that were deducted. XAS - one point deducted for losing the 42nd and subsequent characters, the second - for problems with text conversion. MASM - for the mysterious disappearance of brackets (one point), and also lines (the second point). ALASM - for incorrect keyboard operation in turbo mode. All this indicates that compared to 1913, assemblers have become N times better! If N is not enough for someone, let them count it as M times cooler!

I realize that this overview of assemblers is not 100% objective, and everyone will have their own subjective opinion. Therefore, if you have any questions, comments, or additions, please send letters to the "OBERON" editorial office.

-----════════════════════════════════----
And this is not the end...
To solve all the problems and exclude some questions, I will tell you who and in which assembler was involved in the release of the third issue of the "OBERON" magazine. The letters SE you encountered mean that this product is a special edition, that is, a special version for oneself.

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. At the time of writing this article, the MCP "INFORCOM" began distributing a new version of the ALASM assembler. This version greatly surpasses the previous one, but we did not include it in this overview because we have not yet worked sufficiently with this program. New versions of MASM 2.0 and MASM 3.0 are also expected.

Let's wait and see ......
-------════════ THE END ════════------
* * * * * *

Contents of the publication: Oberon #03

  • From the Authors
    The editorial of the third issue of Oberon reflects on its wide distribution across Russia and nearby countries, overcoming production challenges, and its aim to cater to various readers, including gamers, programmers, and hackers.
  • How to Write in Oberon - M.M.A
    Guide on submitting articles to Oberon using ZX-WINWORD. Detailed format and process explanations for text, graphics, and music. Insight into editorial practices and preferences.
  • Scroll - M.M.A
    A historical overview of the game THE EIDOLON on ZX Spectrum, covering its restoration process and gameplay mechanics, including level challenges and story background.
  • Scroll
    Dark Star is a space shooter game where players pilot a ship against a tyrannical alien race. Players customize settings, navigate space, and combat enemy forces on various difficulty levels. Strategic planning and skill are vital for successful gameplay.
  • Scroll - M.M.A
    Detailed gameplay mechanics for the game with Mechnotech klp2. Strategy involves disarming reactors and managing droid transformations. Insight into different droid types and weapons available.
  • About Everything - M.M.A
    Discussion of reader interactions with the 'Oberon' editorial team, including feedback on previous issues and commentary on game compatibility and magazine content improvements.
  • About Everything - M.M.A
    The autobiographical article explores the author's role in Samara's ZX Spectrum scene, detailing his contributions and aspirations. M.M.A positions himself as a leader and innovator in the community. It highlights the importance of local distribution and cultural impact.
  • Amiga rulez? - M.M.A
    Critical essay on contemporary computer culture, contrasting IBM and Amiga platforms. Discusses societal impact of IBM standardization and advocates Amiga as a symbol of creativity and individuality. Reflects on the evolution of computer usage and preferences since the ZX Spectrum era.
  • What Should 'Boot' Be - Unbeliever
    The article explores the evolution of boot programs for ZX Spectrum, discussing early developments and key innovations over time. It highlights significant breakthroughs in automation and design, including fully assembler-written boots and the introduction of modern features. The text concludes with reflections on ideal boot characteristics from a contemporary user's perspective.
  • Letter from Queen Software
    An open letter from Queen Software criticizes ZX-WINWORD's design and Russian keyboard layout, denounces 'Mortal Compot' and the degradation of games, and shares views on demoscene events and computer emulation.
  • Review - Unbeliever
    The review provides insights into various 128K exclusive games for the ZX Spectrum, highlighting titles like 'Space Gun', 'World Championship Soccer', and 'Night Breed'. Special attention is given to their graphical prowess and gameplay mechanics. Furthermore, the article addresses the acquisition of Spectrum software via the Internet.
  • Review of Assemblers - Maxsoft
    Review of various assemblers for ZX Spectrum, highlighting their strengths and weaknesses. Focus on EDAS 3.3, AFS, XAS, ZX-ASM, ALASM, MASM, and TASM 4.1. Each assembler is evaluated on performance, features, and usability.
  • Our Answer - M.M.A
    Critical analysis of the electronic journal FAULTLESS, highlighting plagiarism issues and content quality. Discussion on the comparison with OBERON and other journals. Suggestions for improving FAULTLESS are provided.
  • Our Response - Alex Noman
    Debate over the compatibility and capabilities of Scorpion and Profi computers with the ZX Spectrum. Critique of programming claims by Chung Software regarding outdated languages and methods. Discussion on operating systems like CP/M and iS-DOS in the context of their utility in modern computing.
  • Our Response
    Exploring the varied interpretations of the term 'hacker' in Russian, highlighting distinctions and misconceptions.
  • Hardware - Dr.Death
    Connection instructions for AY-3-8910 on Spectrum-compatible machines. Solutions for common audio issues in Russian computers. Advice for improving digital sound compatibility.
  • Hardware - Dr.Death
    Discussion on modifying SCORPION ZS 256 for better performance, focusing on timing issues and TURBO mode. Explanation of improvements and potential problems with multicolors. Suggestions for further upgrades.
  • Hardware - Poltergeist Corp.
    Analysis of hardware issues with Profi, a ZX Spectrum clone, focusing on INT signal problems causing graphic flickering. A solution is proposed involving a simple hardware modification. The author shares their success and the widespread adoption in Samara.
  • Let's Gurm
    A microdrama illustrating the chaotic interaction between computer components during a printing task.
  • Let's Feast
    Satirical story depicting an alternate reality where American culture and symbols are humorously twisted by Soviet influences.
  • Let's Feast
    The story humorously describes Popov's efforts to help Papuans progress, amid desert struggles, political intrigue, and personal challenges.
  • Let's Discuss
    Overview of military jargon known as 'Army Absurdities' collected by students, highlighting unique language and instructions used in military training and communications.
  • Let's Feast
    Satirical article describing military humor and fictional military equipment.
  • Literacy Campaign - Paul Atrides
    Analysis of hacker misconceptions and societal attitudes, exploring hacker culture's roots and ethical dilemmas.
  • Primer - Paul Atrides
    Article discusses the role and activities of Russian hackers in the late 1990s, highlighting notable cases and categorizing different types of hackers. It covers the operations, risks, and impacts of hacking on international and local levels. The text also examines the societal perception of hackers and their portrayal in media.
  • Contest - M.M.A
    A contest involving identifying songs from poorly translated lyrics, inspired by a radio segment. Participants guess the song and artist. No specific prize yet, but a free journal issue is promised.
  • Contest
    A poetic reflection on personal struggle, misunderstood communication, and the burden of saving the world.
  • Contest
    A poetic reflection on isolation and inner dreams, contrasting with harsh reality.
  • Contest
    The article presents a poetic tribute to the community, emphasizing themes of unity, immortality, and strength through metal music.
  • Advertisement
    Advertisement in Oberon magazine offers free publication and discusses available software, hardware, and stores related to ZX Spectrum.
  • Advertisement
    Advertisement of computer repair and upgrades with pricing for various services. Options include drive connection, signal normalization, and memory upgrades. Specific services for different computer models like Pentagon and ATM.