Joined: 04 Mar 2003
|Posted: Mon Feb 02, 2004 4:41 pm Post subject: Book Review - Assembly Language Step-by-Step 2nd Edition
Assembly Language Step-by-Step 2nd Edition Review
Author(s): Jeff Duntemann
Book Specifications: Soft-Cover, 612 pages
User Level: Novice/Intermediate
Suggested Publisher Price: $55.00 USA/ $85.50 CAN/ £35.56 Net UK (inc of VAT)
Amazon.co.uk: Assembly Language Step-by-Step 2nd Edition
Amazon.com: Assembly Language Step-by-Step 2nd Edition
Info from Back: "This new edition of the bestselling guide to assembly programming now covers DOS and Linux! The Second Edition begins with a highly accessible overview of the internal operations of the Intel-based PC and systematically covers all the steps involved in writing, testing, and debugging assembly programs. Expert author Jeff Duntemann then presents working example programs for both the DOS and Linux operating systems using the popular free assembler NASM. He also includes valuable information on how to use procedures and macros, plus rare explanations of assembly level coding for Linux.Ē
Assembly language is not a programming language that is often heard, and or discussed. This is often due to the perception that it is an impenetrable language to learn, and or archaic. Both of these assumptions would be very much untrue. In all honesty nothing could be further from the truth. Assembly is very much alive, and well with no hint of disappearing anytime soon. This is due to a variety of reasons. Namely for the amount of control it gives you over the computer, and its speed and size to mention but a few.
The reason I wanted to review this book is two fold really. I wanted to gain a deeper understanding of assembly language itself, which would thereby allow me as a network security analyst to further my analytical abilities. Understanding assembly would allow me to analyze more intelligently the shell code embedded in most exploit code out there today. To that end this book would be for any programmer out there who wishes to make use of the assembly language strong suits mentioned above. Also it behooves anyone working in a computer security environment to learn what most exploits are written in. Though exploit code analysis may be a niche market it always helps to broaden oneís skill set. Especially so in these tight labor markets.
Content & Overview
As the title of the book suggests this is all about learning assembly step by step. To that end the very first chapter is a gentle introduction to assembly and itís various concepts. This is shown quite nicely on page 10 of the book by the author. A nice ďsimpleĒ diagram shows you in a nutshell to borrow an OíReilly term . Another concept which must be firmly understood are the various numbering schemes. What is meant by that is not only base 10 but also base 2 and base 16 must be understood fully. Though as may be more familiar to you; decimal, binary, and hexadecimal.
Shown after these introductory chapters are the computers innards, and how they relate to each other. This is shown by detailing how the cpu, bus, and memory work together. Detailed as well are what compilers, and assemblers are. These two will be used throughout the book, and gaining a good understanding of both is very important. Introduced as well is the tool called NASM which is included on the cd provided with this book. A thorough treatment of this tool is provided by the author. This is indeed a nice touch as many may feel overwhelmed with such a tool. Learning to use this open source tool though is crucial as it is arguably the best one out there.
Another key aspect of assembly is memory, and this is given a thorough treatment by the author. You will be shown all pertinent information about registers and how they operate and interact with the computer. Also covered will be what are called general purpose registers. Covered as well will be machine instructions and their operands as well as what they mean. The following chapters will also include coverage of all other aspects of programming in assembly. To whit topics such as using a debugger, the MOV instruction, and other key topics are also discussed and gone over. For a full listing of the chapters in this book please click here
Style and Detail
While a book may be technically very sound it may however lack in itís style, and detail. This books treatment of assembly language is excellent for its preparation of the reader to its subject matter. It will build upon the very basics of assembly, and work its way up from there. This is done by drawing parallels to other easily understood topics. There is nothing missing that the author should have included here. One could conceivably pick up this book as a programming novice and learn how to program in assembly.
It is excellent as well that the font size itself is not too small. It is on the large size which greatly helps reading this material. The page quality itself is also nice, as it is not overly thin but has a solid feel to it. All of the above noted comments add up to a book which has a quality feel to it, and was well written from the ground up. The author makes excellent use of diagrams, and code snippets to illustrate various points throughout the book. Included with this book on a cd are NASM for both DOS and Linux, as well as a NASM-IDE. ALINK which is a free DOS linker and all code in the book are also included on the cdrom.
Trying to learn assembly language can be a daunting task to set for oneself. Learning how to program in any language is not an easy task. This book though takes a relaxed, and informal approach to teaching what many consider a most difficult language to learn. It is in the small details that this book shines. From laying out the various numbering schemes to mapping out just how a computer actually talks to itself. There is no other book out there which teaches you how to program in assembly that is better then this simply put. Both the contents of the book as well as itís fit and finish are excellent. I highly recommend it.
This book gets an SFDC 9/10 from me
Keywords for this post: Assembly Language Step-by-Step 2nd Edition
This review is copyright 2004 by the author and Security-Forums Dot Com, and may not be reproduced in any form in any media without the express permission of the author, or Security-Forums Dot Com.