• RSS
  • Twitter
  • FaceBook

Security Forums

Log in

FAQ | Search | Usergroups | Profile | Register | RSS | Posting Guidelines | Recent Posts

Book Review - Assembly Language Step-by-Step 2nd Edition

Users browsing this topic:0 Security Fans, 0 Stealth Security Fans
Registered Security Fans: None
Post new topic   Reply to topic   Printer-friendly version    Networking/Security Forums Index -> News // Columns // Articles

View previous topic :: View next topic  
Author Message
alt.don
SF Boss
SF Boss


Joined: 04 Mar 2003
Posts: 16777079


Offline

PostPosted: Mon Feb 02, 2004 4:41 pm    Post subject: Book Review - Assembly Language Step-by-Step 2nd Edition Reply with quote

Assembly Language Step-by-Step 2nd Edition Review

Author(s): Jeff Duntemann
Publisher: Wiley
Book Specifications: Soft-Cover, 612 pages
Category: Programming
User Level: Novice/Intermediate
Suggested Publisher Price: $55.00 USA/ $85.50 CAN/ £35.56 Net UK (inc of VAT)
ISBN: 0-471-37523-3
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.”


Introduction

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 Smile. 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.

Conclusion

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.
Back to top
View user's profile Send private message Visit poster's website
tgo
Just Arrived
Just Arrived


Joined: 21 Aug 2005
Posts: 1


Offline

PostPosted: Sat Nov 05, 2005 7:07 am    Post subject: Reply with quote

I know this is an old post but this is the first time I looked throught the book reviews. anyway

this is defiantly the best book for beginners with assembly as it does not take the conventional idea of taking a bunch of instructions and throwing them at you. In the title it has "Step by step" and it sticks true to its roots and takes you slowly through everything you need to grasp a firm beginning in coding assembly.
Back to top
View user's profile Send private message
Display posts from previous:   

Post new topic   Reply to topic   Printer-friendly version    Networking/Security Forums Index -> News // Columns // Articles All times are GMT + 2 Hours
Page 1 of 1


 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

Community Area

Log in | Register