WRITING PROGRAMS IS TIME-CONSUMING. JOHN GILBERT EXAMINES A COLLECTION OF CASSETTES WHICH HELP TO MAKE THE JOB MUCH SIMPLER.
THE EASIER ROUTE FROM BASIC TO MACHINE CODE
THE BEST WAY to learn about machine code is to use an assembler. Machine code consists of numbers but with an assembler the user can write code in assembler language, which looks more like Basic and is easier to understand. The program will then convert the user's assembly language instructions, called source code, into machine code.
Although the ZX-81 has been around for several years there are only a few machine code assemblers available on the market for it. The only big companies to produce assemblers for the machine are Artic Computing and Bug Byte. Both built their reputations with these assemblers.
The Artic assembler is a two-pass program. It will permit full use of labels, will inspect and modify registers and also allows output to a printer. The code to be assembled is put into a REM statement at the beginning of the program and all code can be written in standard Z-80 mnemonics. The assembler will also assemble messages which are to be used in programs into hexadecimal code. It costs £9.95.
The other best-seller is the Bug-Byte ZXAS. The program is similar to that of Artic but was launched in a blaze of publicity as being the first machine code assembler for the ZX-81.
Bug-Byte also wanted to be the company which produced the first assembler for the Spectrum but it was to be disappointed. Wrangling within the company between its programmers put the release date further and further back until the package became available early this year.
The program is for the 16K and 48K Spectrum. It is very comprehensive in its options and very easy to use. As well as assembling user machine code, it has a full editor facility with which the user can view assembly code, delete and insert, search for specific strings of text within machine code, and list all the labels which have been specified by a user in a program within a cross-referenced table.
The editor will also reverse 16-bit values, such as memory addresses, if the user specifies that option. That facility is useful when dealing with a large number of 16-bit addresses in a long program. The use of 16-bit values can be a problem for beginners, who often do not know whether or not to reverse a number.
The program also has a good cassette interface. Both the source code - the user's - and the object code - assembled-code can be filed on to cassette. That means that source code can be saved and re-edited when the user needs it. The saved source code could also be useful if the programmer wanted to upgrade a program.
Unfortunately the manual, or lack of it, provides points against Aspect. Instructions are written on a piece of paper. They are just about adequate and contain no examples. Aspect costs £9 and is available from shops such as W H Smith.
Picturesque slipped its Editor/Assembler on to the market very quietly. The program is for the 16K and 48K Spectrum and is very powerful. It is complete with a comprehensive user manual which a complete beginner can understand.
The Editor is the part of the program which enters the source code. It is possible to enter code in the same type of format as a Basic program, as each line is given a line number. Unlike the Basic system on the Spectrum, line numbers can be generated by the program automatically with the use of the AUTO command. The use of line numbers means that the source file can be edited quickly and easily.
When the source code has been entered correctly and there are no bugs in the text, the assembler can be called into operation. The usual ORG instruction is included as part of the instruction set to define the address at which the assembled code should be put.
The program display is interesting, as the screen has a 40-column width and is split into several fields which correspond to those used in assembly language programming, together with a line number field. The cursor recognises the end of one field and jumps to the next automatically. That makes the entered source code easy to understand. The Editor/Assembler is ideal for the beginner and could also be a powerful tool in the hands of a professional programmer. It costs £8.50.
The program which has caused a buzz of excitement in the Sinclair User offices is probably one of the most powerful assemblers which we have reviewed. It is all the more remarkable as it is produced by a small and, until now, largely unrecognised software house, Crystal Computing.
The program, Zeus, is a two-pass assembler which allows the use of the full Z-80 mnemonic instruction set. Source code can be line-numbered and an AUTO line-number facility is also available.
The program is accompanied by the best manual we have seen for an assembler. It contains step-by-step instructions for entering and editing source code. An example is included which will, if entered correctly, colour the screen white, the current ink colour.
The use of an example in that way is good, because if you make a mistake and the program does not work you will have to re-learn the instructions. If the example works, users will have a good understanding of how Zeus operates.
Zeus also contains several subroutines which can be used within source code. They include an INKEY$-type function and print a character routine. Other functions in the assembler include automatic re-numbering of the source file, outputting of code to a printer, and the reclaiming of 'old' source files for further work. Zeus has been aptly-named by Crystal Computing. It costs £8.95.
There are very few good assemblers on the market although the big software houses all claim to have the best available. It is, therefore, surprising that a small company like Crystal should produce such an excellent assembler as Zeus. The reason may be that while large companies spend their money on colourful advertising, smaller companies need to rely on very good quality products.
Artic Computing, 396 James Reckitt Ave, Hull, North Humbersade HU8 0JA.
Picturesque, 6 Corkscrew Hill, West Wickham, Kent BR4 9BB.
Crystal Computing, 2 Aston Way, East Herrington, Sunderland SR3 3RX.