» » Introduction To 80X86 Assembly Language And Computer Architecture

Download Introduction To 80X86 Assembly Language And Computer Architecture epub

by Richard Detmer

Thoroughly revised and updated throughout, the Second Edition of Introduction to 80x86 Assembly Language and Computer Architecture provides students with a clear and concise introduction to the inner workings of the computer, and their many levels and functions. Through introducing real instruction sets and writing real assembly language programs, students will become acquainted with the basics of computer architecture. The Second Edition now includes the use of the Microsoft Visual Studio environment, which is widely available to students and professionals, and provides a robust environment for editing, assembling, debugging, and executing problems. The text continues to emphasize basic architecture, not just the 80x86 line, and now includes 64-bit operations but is still appropriate for those working with 32-bit computers. Programmers are expected to program effectively at any level. Ensure students are up-to-speed with Introduction to 80x86 Assembly Language and Computer Architecture, Second Edition.
Download Introduction To 80X86 Assembly Language And Computer Architecture epub
ISBN: 0763772232
ISBN13: 978-0763772239
Category: Technology
Subcategory: Programming
Author: Richard Detmer
Language: English
Publisher: Jones & Bartlett Learning; 2 edition (February 26, 2009)
Pages: 400 pages
ePUB size: 1965 kb
FB2 size: 1565 kb
Rating: 4.3
Votes: 574
Other Formats: docx doc lrf rtf

If all you're looking for is a no fuss book on how to code in x86 Assembly, then this book's for you. I have looked through other x86 books that spend too much time focusing on hardware, assembly translations and mathematics instead of focusing on how to code. Most chapters are concise and stay on-topic without adding excess fluff.

In this edition, Detmer primarily uses Visual Studio with his own custom plug-ins (downloadable from the publisher's website) to walk you through the chapters. Visual Studio's provides excellent debugger tools to monitor register values, memory, and to analyze code line by line. Detmer also provides good walkthroughs on what the code is doing behind the scenes. Unlike guides from other books, I have had no problems setting up my computer to code and analyze x86 assembly.

In order to make the most out of this book, you will need proficient knowledge of C or C++, and some basic knowledge of data structures - particularly stacks. You will also need a good understanding of binary and hexadecimal arithmetic. Thankfully, Detmer does a fine job of providing a refresher on the arithmetic in the first chapter.

The programming problems are also excellent and help reinforce the material you just learned. Some problems are very basic while others encourage you to experiment and try writing basic search/sorting algorithms. In cases, where a problem might be challenging, Detmer provides a basic algorithm in pseudocode for you to try and translate into assembly language.

Two cons: Although Detmer does cover 64-bit programming in special chapters, most of this book covers 32-bit. Detmer does not dive in too deep on 64-bit programming as much as I would have liked. However, as a I said before, this book is an excellent primer and will help you get the ball rolling in further studies of x86 Assembly language. If you want to focus time on 64-bit programming, then this book will certainly help you with that but it by no means a one-stop shop. The other complaint is in the price of the book. The book is a paperback with approximately 350 pages - many of which consist of code listings and diagrams. Paying over $100 for this book seems outrageous.
Great starting point for learning 32 bits assembly language with
DOS and Windows. The only defect of this book is its unbelievable price... surely due to the fact that is used a college textbook so the poor students have no choice but squander their savings on it. Luckily the content is very good,
the teaching style is excellent ( the author uses macros initially to do input and output so you won't be overwhelmed by lots of material just to write and read from the keyboard, and after you have played a bit a learned the basics he goes on explaining them). You can certainly read this book with no prior exposure to assembly and computer inner workings.
You 'better have at least some exp with a high level language,
and if you don't, why on earth do you want to start programming with assembly? Masochisms?
The one word that comes to mind about this book and author is CLARITY. It is certainly not a fun
read, but it is so clear that it is not boring.
Compliments to Richard and one star less than the max because of the rip-off price. (Get it used!)
This book does a great job about teaching computer architecture, however it's assembly language explanations can be frustrating and vague. The examples are very basic and does not do a good job about teaching the little things about programming in assembly. This make it very difficult to learn by doing and forces you to look through other resources, assuming you can find help. The book has about a page or two for each topic, which is not enough to give a thorough explanation.
I bought this book as a refresher and as a reference to keep on my shelf at work, where I need to write (or at least read and understand) some Intel x86 assembly from time to time. I was looking for something that wasn't as outdated as my college textbook, "80X86 IBM PC and Compatible Computers: Assembly Language, Design, and Interfacing, Vols. 1 and 2" by Mazidi et al (mine is the second edition). That is the problem with a lot of assembly books, is that they pre-date the 32-bit instruction set (the 80386 and higher CPUs) and hence they give a lot of bad and just wrong advice. This book does not have that problem, which is good. It also does a great job of helping the high-level language programmer understand how their programming language constructs translate into assembly instructions and actually take place. I have never seen a good explanation of that outside of articles by disassemblers and reverse engineers, but every programmer ought to know these concepts because it may come in handy when debugging some day.
But although it serves as an excellent introduction to the material, it is on the thin side (500 pages) for the hefty textbook price it wields. It's just not comprehensive, nor does it have any practical programming lessons for the reader. Unlike my college textbook above, which was used for a two semester senior-level course, this textbook just doesn't cover what I want (a practical guide to using assembly in the field, as opposed to just in the classroom). I don't think it's thorough enough for a comprehensive college course in the subject. When you finish the book, you may understand assembly, but you won't know what to do with it (or what you can do with it). Nor is it thorough enough to be used as a reference material for work. It omits quite a few processor instructions that I feel are important to know for reference.
My advice is to pass on this book, unless you are completely new to the material, because it seems like a good learning text. Even still, you will eventually need a more authoritative reference guide for when you encounter the things this book doesn't cover (such as interfacing the PC hardware).
Intel's "Software Developers Manuals" are freely available at their site in PDF, and I would suggest downloading all of those as your reference and purchasing Mazidi's book (now in fourth edition and NOT outdated anymore) for a few bucks more than this one.
The book is ok. The subject material is not easy to understand, and the book could explain somethings better but there are worse books.