Personal Computer News


Assembly Language Programming On The Sinclair QL

Categories: Review: Book
Author: Kenn Garroch
Publisher: Sunshine
Machine: Sinclair QL

 
Published in Personal Computer News #082

One thing that many people will be buying the Sinclair QL for (God help them) is to learn 68000 assembly language. In particular, schools and colleges would like their students and pupils to learn a 16-bit microprocessor language.

Since the QL finally came out, there have been quite a number of books for it: this would appear to be one of the first that enables you to try out the assembly code itself.

The book starts out with a chapter entitled bits and bytes. This introduces you to the terms used: RAM being Random Access Memory, ROM is Read Only Memory, and so on. Yes, it's as simple as that. Unfortunately, the next chapter makes a quantum leap (Sorry) and throws you in at the deep end with a fairly concise description of the insides.

If you have had no experience of other microprocessors then this will appear a little complex since it gives details of such as the memory map and processors and architecture.

After this we are introduced to the basic move commands. This would be all very well except for the fact that there is very little explanation about word and byte sizes and instruction formats.

There are basically implied but if you have had any experience of other 16-bit processor coding languages such as MAC11 then you'll have no trouble at all understanding any of this. If you haven't, then don't worry! A little practice will show you what's happening.

The next chapter of the book details the condition codes, branches, and arithmetic. This does not cover built-in multiply instructions.

From this point, things go a little downhill. There is less of the instruction, descriptions and examples type of thing and after a few chapters, you get a list and brief description of the commands available.

This latter section is very useful to anyone who has had a little experience of programming on other processors but needs an easy reference guide to the 68008.

The last part of the book consists mainly of a listing of a 68008 disassembler. It would have been nicer to have an assembler but you can't win them all. This listing is well-documented and without typing it in, it appears to be pretty good even though it is written in Superbasic.

Hidden away in the last chapter is multitasking. This is an assembler listing and hopefully, if you have understood the rest of the book, it will make some kind of sense. There could have been a lot more on this subject since the 68008 and the QL are, theoretically, good at it.

The fact that many QL owners could be first-time buyers will probably make this book a little hard going for them.

Kenn Garroch