Acorn User


BBC Micro Assembly Language

Author: George Hill
Publisher: Shiva
Machine: BBC Model B

 
Published in Acorn User #020

Assembly Language Without The Jargon

BBC Micro Assembly Language

This book is one of Shiva's friendly micro series. It fills the considerable need for a simple introduction to 6502 assembly language on the BBC Micro.

Books on assembly language programming tend to assume that the reader has totally mastered Basic, structured programming, computer jargon, and is in fact a bit of an expert. Bruce Smith's book, BBC Micro Assembly Language, does not fall into this trap. Obviously, you are assumed to know some Basic, or you would not have the need for the assembly language, but he avoids jargon and does not make the mistake of trying to air his cleverness by printing lots of very erudite and incomprehensible programs as illustrations. In fact, the longest program in the book - sensibly towards the end - is 85 lines. This is tiny by assembler standards.

This does not mean that there are no programs in the book. It is packed with clear, pithy examples which illustrate the ideas which beginners find so confusing.

The layout is clear, the chapters are short, and each is devoted to a single topic. It is inevitable that the concept of binary numbers has to come first, but skip chapter three if you can. The strings of 0's and 1's are not really that difficult, nor is it essential for the following chapters that you understand binary or BCD in detail.

There are inevitable weaknesses. The most fundamental problem is in the addresses that the author recommends for the storing of his assembly language. Really &D00 and &1500 will not do, even for beginners. I would recommend the perusal of the excellent summary by Ian Birnbaum in the January 1984 issue of Acorn User and the relocation of the programs by one of the quite simple means outlined there. There is a brief (and clearly rushed and incomplete) attempt to catch up with Basic 2, which would have been better omitted.

A useful appendix gives methods of executing Basic commands in assembly language, and there's a one-page resume of the way the 6502 executes instructions. There are the inevitable instruction set and ASCII code table.

There is a tape to go with the book, but I doubt its necessity. It is probably better to type the programs in.

This book is an excellent beginner's guide and will lead to a better understanding of some of the more erudite articles in this and other magazines. It will also whet the appetite for something more advanced.

George Hill