Sinclair Library

Astron

Programming: Assembler/Mcode · ZX-Spectrum 16K · 1 players · English

DK'Tronics Ltd · 1983 · Pound sterling 9.95

Inlay - Back 1 of 5
Inlay - Back
Not rated yetSign in to rate it

Discussion

Nobody has started a thread about this yet.

Start a thread

Remarks

machine code assembler

SPOT: assembler & toolkit

Releases

Play

Documents

Files and rights

No permission is on record either way. Screens and pictures are copied here on a take-down basis: if you hold the rights and want something removed, say so and it goes.

Credits

Sign in to credit somebody, or say what these people did.

Scores

In the magazines

  • Personal Computer News #181983 · Overall Value1/5

In the magazines 11

Personal Computer News #18Jul 1983 · p.332/51/52/52/51/51/51/5

Personal Computer News

Features 2/5

Documentation 1/5

Performance 2/5

Usability 2/5

Reliability 1/5

Overall Value 1/5

Ted Ball 1/5

NAME: Astron APPLICATION: Z80 Assembler SYSTEM: ZX Spectrum, 16K or 48K PRICE: £9.95 PUBLISHER: DK'tronics Ltd, [redacted] FORMAT: Cassette LANGUAGE: Basic and machine code OUTLETS: Mail order and dealers. INTO THE SPECTRUM Machine code takes you to the heart of your micro. Ted Ball grapples with an assembler and Toolkit Astron is a Z80 assembler and editor for the Spectrum, and can be used on a 16K or 48K machine. There are three parts to Astron: a small Basic program, and two machine code programs - the assembler and the 'Toolkit/Editor'. In the 48K version the two machine code programs are loaded together, but a 16K Spectrum does not have enough memory to hold both of them, so you have to keep reloading when you want to change from one to the other. FEATURES Assembly language source code goes into REM statements in lines of Basic, and you can type in and edit the source code using the Spectrum's Basic editor. Astron's Toolkit/Editor gives you extra editing facilities, including searching for and replacing strings in the source code, copying, moving and renumbering blocks of lines, and auto line-numbering with REM for entering source code. The assembler accepts standard Zilog opcode mnemonics, but is very limited and nonstandard in the syntax that it will accept. Labels must begin with a capital letter but otherwise can be of any length and include any characters, but upper and lower case letters in a label are not treated as distinct. So, for example, FRED and Fred are the same label. Because any sequence of characters beginning with a capital letter is regarded as a label, opcode mnemonics and register names in operands must be in lower case. Numeric constants may be in decimal or hexadecimal, but hex numbers must be in a non-standard form, beginning with '&' instead of beginning with a decimal digit and ending with 'H'. Binary and octal constants, required by the Zilog standard, are not allowed. The biggest limitation, howeve, is that no expressions can be included in operands. Astron allows a few directives, org, datab, dataw (instead of the usual defb and defw), defs, defm, and equ (which has to be used in the form of equ 100 CONST, instead of the usual CONST equ 100). There are many more non-standard details in Astron, and all the advanced features of the Zilog standard - macros, conditional assembly etc - are missing. However, these advanced features are rarely found on small machines and no assembler for the Spectrum includes them. On the positive side, Astron does allow you to assemble a program into a different area of memory from that in which it will run, so you can assemble a program to run at addresses used by the source code or the Astron machine code, and you can assemble a large program in sections, carrying over part of the symbol table by using 'permanent labels'. PRESENTATION The cassette provided for review was unlabelled, and as the 16K version is on one side and the 48K version on the other, I had to label the cassette for myself. The documentation consists of a small eight-page booklet which is mostly taken up with a description of the commands for the assembler and Toolkit functions. IN USE There was no problem loading the tape, and the program auto-runs when it has loaded. However, although the instructions give a brief but clear explanation of the assembly and editing commands there is very little on the actual syntax required. I had to find out by trial and error what the assembler would and would not accept. The program has a main menu that you use to get the assembler, toolkit, and a few other functions, and a separate menu for the toolkit. Most of the functions provide their own prompts but in order to stop in the middle of a procedure you have to know how to break out of INPUT. The program does not ask for confirmation of a command, even when deleting lines. Most of the assembler and toolkit functions take you back into Basic when they have finished, so to continue you have to run the program again. There are several options for the output provided during the second pass of the assembly: you can get no listing, object code listed on the screen with or without scrolling after each screenful, or object code listed on the ZX Printer. The listing consists of addresses in decimal, object code in hex (an annoying mixture), and the source code, with directives and labels highlighted. All labels and their values are printed at the end of the listing. The assembler is reasonably fast - it took about three seconds to assemble 100 lines with no listing, and about eight seconds with a listing on the screen. RELIABILITY Astron provides very few of its own error messages and most of the error messages you get are the usual Basic messages. However the Basic messages are related to the cause of the error. For example, when the assembler steps because of an undefined label in an operand the message is 'Variable not found'. The documentation says nothing about the error messages, so you have to work out what they mean. There are several bugs in the assembler, and it will produce object code from invalid source code without giving an error message. The assembler's syntax-checking is completely inadequate, many bugs being due to HL, IX and IY being treated on the same footing throughout, although there are many differences in the way these registers can be used, and many more bugs are caused by the assembler skipping to the next instruction as soon as it has found something it can assemble. VERDICT Although Astron has some good features in the assembly options and the toolkit, it cannot be recommended in its present form. Apart from the bugs, the numerous non-standard points in the syntax make the assembler unsuitable either for use while learning Z80 assembly language or for serious programming, and its inability to handle expressions is a serious limitation. The documentation is inadequate for a learner, even in conjunction with a good textbook, and experienced Z80 programmers will have problems in finding out what the assembler will accept.

Advert9
Review1

Related

Tags
g117

Reviews from people here

Sign in to write about this, or make an account. It takes a minute and lets you correct the catalogue too.

This entry100% complete

Everything ZXDB can hold about this is here.

Sign in to correct or add to this.

See what has changed about this entry

Share this entry

Hold the rights to this and want it taken down?