ACCU Home page ACCU Conference Page
Search Contact us ACCU at Flickr ACCU at GitHib ACCU at Google+ ACCU at Facebook ACCU at Linked-in ACCU at Twitter Skip Navigation

Search in Book Reviews

The ACCU passes on review copies of computer books to its members for them to review. The result is a large, high quality collection of book reviews by programmers, for programmers. Currently there are 1918 reviews in the database and more every month.
Search is a simple string search in either book title or book author. The full text search is a search of the text of the review.
    View all alphabetically
Introduction to RISC Assembly Language Programming
John Waldron
0 201 39828 1
Mark Batty
internals and hardware; assembler
Appeared in:
This book is based on an introductory computer architecture course for first year computing students. It assumes the reader has no programming experience and notes it should be used in conjunction with learning a high level language. The book content relies on a public domain simulator with built-in debugger from the webor ftp that is available for MS-DOS, Windows 95 and several flavours of UNIX.

It begins with a very short, low-level description of the computer's organisation, using terms such as 'gate' and 'flip flop' without explanation. It defines the difference between machine and assembly language, explaining the advantages and disadvantages of using assembly. There is a description of number bases and how to convert between them, followed by the effects of addition and subtraction and how two's complement achieves this.

A description of the MIPS processor explains the memory layout, registers, I/O organisation and how the SPIM simulator explores these. There are many example programs building on the usual 'hello world' to give a good description of load, store and arithmetic instructions; followed by branches and loops.

There is an excellent discussion of addressing modes making a complex subject quite easy to follow, again with several example programs. Logical, shift and rotate instructions are explained using a decimal to hex conversion program. The stack structure is explained with a good description of procedure calls, parameter passing and stack frames, using a Fibonacci program to explain recursion; followed by a tower of Hanoi program.

The example programs are simple and effective with no obvious errors; most of these can be downloaded from the Web site and assembled through the simulator without any modification.

This is a lovely little book; it explains exactly what goes on behind the scenes when we as programmers write our code. The principles in this book can be applied to any language or machine, this information can help us write efficient code and aid us with maintainability.

In summary I would recommend this book to programmers who want to understand the 'nuts and bolts' of coding. This will help to understand exactly how the processor treats our 'English like' code statements.