ZX Computing

Spectrum Machine Language For The Absolute Beginner
By Melbourne House
Spectrum 48K

Published in ZX Computing #16

Machine Code For Beginners

I wish every book on machine code that I have ever read had only 50 pages. That is the number in L. Watts' and M. Wharton's Machine Code For Beginners, another of the Usborne computer book series. Too often those others have gone at length about Hex numbers and assembly language and registers and addresses. This book mentions all of these things too; but the discussions of each are more abridged and that is perhaps why it doesn't work as well as the others in the series. Machine code by its nature may require a more patient examination and a more thoughtful text than this. Maybe those other machine code books were lengthier for good reason.

Each of the other two books I have looked at in the Usborne series have dealt with topics of general interest, their subjects - the microchip and computer graphics - required a descriptive text, not specific analyses, therefore the picture book approach was ideal. Machine code however is of such complexity that any discussions handled as above falls far short of an adequate mark. Machine code is for doing and the level of discussion required to teach someone how to do something is far greater than that required to merely describe a subject. That I feel has been overlooked here. I should doubt if a text that amounts to a mere description of machine code is sufficient.

The book moves in easy stages through the principles of machine code, showing how to write simple programs - such as adding two numbers - to how to load and run a machine code program. Both the Z80 and the 6502 processors are catered for. The analogies used to describe the memory supported by the clever illustrations that are the trademark of the series are perhaps the most easily understood I have come across. The sections on PEEKing and POKEing, translating the programs, carry flags, jumping and branching are accurate and are essential to any discussion of this topic. I feel that they are just too concise to effectively explain its complexities.

A study of machine code requires more than clever illustrations. Successful books have dallied with lengthy descriptions of details, giving explanations to account for their occurence and reinforced the discussions with examples. Machine Code For Beginners may be a fun book to read, its colourful pages may help to fill in some background, but it does not have the content of a successful Machine Code reader.

ISBN 0-86020-735-8