- Hardcover: 768 pages
- Publisher: Pearson; 6 edition (March 7, 2010)
- Language: English
- ISBN-10: 013602212X
- ISBN-13: 978-0136022121
- Product Dimensions: 7.2 x 1.2 x 9.2 inches
- Shipping Weight: 2.6 pounds (View shipping rates and policies)
- Average Customer Review: 60 customer reviews
- Amazon Best Sellers Rank: #829,666 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Assembly Language for x86 Processors (6th Edition) 6th Edition
Use the Amazon App to scan ISBNs and compare prices.
There is a newer edition of this item:
Amazon Global Store UK
Frequently bought together
Customers who bought this item also bought
Customers who viewed this item also viewed
“This textbook [Irvine] teaches assembly and architecture fundamentals in a logical and concise manner for students with a reasonable CS1 backgrounds…and are applicable to higher-level programmers as to their understanding of what is happing to the code that they write and how it behaves during compilation and execution.” — John Doyle, Indiana University, Southeast
“The problems and exercises are of good quality and quantity; they always have similarity within the chapter examples, but they are presented in a more challenging way. Students can pick-up skills that can be transferred to solving a new problem.” — Yinping Jiao, South Texas College
“The book [Irvine] is well-organized. The chapters are lined-up such that after you cover the foundations presented in chapter 1-8, you can jump to any chapter you like consistent with what you think the students should know for upcoming classes.” — Remzi Seker, University of Arkansas, Little Rock
“Wonderful! This edition…added clearer examples to make it easy to understand assembly language and computer architecture from the programmer’s point-of-view. I am very impressed with the clarity of explanations. The diagrams are simple and complement the discussions perfectly.” — David Topham, Ohlone College
“The coverage of 16-bit mode is superb…”increasingly historical.”” — John-Thomas Amenyo, York College, City College of New York
From the Back Cover
Save money. Lighten your backpack. Access your textbooks anytime, from anywhere.
This title is available as an eTextbook from CourseSmart. Purchase your assigned textbook as a CourseSmart eTextbook, and stop lugging books around campus! You can also access CourseSmart eTextbooks from your iPhone.
Instructors, request your exam copies online and get instant access. Learn more at coursesmart.com.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
You will not learn x86 Assembly Language from this book. The pace is glacial and you will barely be able to output to the console by the time you finish. Assembly at this introductory level is not that hard, the author has just loaded down his book with useless minutiae, presumably to hide the fact that the book is increasingly outdated, its code is irrelevant, it fails to address the windows api, and it doesn't deal w/any modern MASM implementation. As a bonus, the writing is terrible and the programming exercises frequently require knowledge of material not covered at the time of the exercise (most of the chapter 5 exercises, for instance, essentially require bit-shifting, conveniently located in chapter 7 - 2 chapters afterwards), or, still better, are often not covered at all.
But, perhaps the worst part of the book is that the author does not use a standard library (MASM32 would be ideal - or the libraries included w/the latest Visual Studio Express - available for free) instead the author writes his own proprietary library for the outdated last pre-VS hurrah of MASM. So, when you're finished with the book, not only will you have learned little, but you will not even have learned many standard calls or even a modern MASM implementation. Computers progress quickly. This author hasn't. I can't possibly emphasize how outdated this text is. Reading this is basically like registering for an organic chemistry class and then being taught about the wonders of phlogiston by an alchemist.
Not Recommended, of interest strictly to historians. If you must buy, get this as cheaply as possible.
Try instead: Professional Assembly Language (Programmer to Programmer), Detmer, Dandamundi, or read any of the million tutorials on the MASM32 website. If you can code already, the Visual C++ Optimization with Assembly Code is quite good and written by someone who actually programmed at some point after the Reagan administration.
For the assembly version - download MASM32 or use Visual Studio Express's MASM, use the Windows API. Or, if you use Linux, get the NASM implementation.
Please note: I have no relationship to any of the authors mentioned in the review.
Alright... Let me give my final take on the whole issue of this book. Do I think the author knows his stuff about assembly language? Yes. Do I think the book is easy to follow and provides a clear treatise on the subject? Yes. Like I said, the biggest shortcoming is that the book is mostly about using his libraries. To me that is a major negative. If I want to learn something, I would rather know the basics and how to get there as I go. Assembly programming is not supposed to be easy. It is difficult and I want to work through the difficulties and struggle as I learn. What do I do when these shortcut libraries are not available to me? I would rather live without them from the get-go and really learn the subject even if my code takes longer to program and debug. This is just my opinion. Others could disagree. As a more experienced programmer, I would welcome, appreciate, and use his libraries in my programming projects. An additional point that is worth mentioning is that there are other operating systems that run on Intel processors in addition to Microsoft Windows. Unless I missed something, this book is tied exclusively to Microsoft Windows/DOS. If I happen to be running FreeBSD, for example, I have to find a computer running Microsoft Windows to work with this book. Not that it is difficult to find a computer running Windows, just to make a point. Why not include cross-platform support in this book? Of course, assembly programming is not cross platform but at least throw in some coverage of other operating systems. Again, there are other operating systems that run on Intel chips.
My suggestions to the author: Introduce your own library but make it optional, not the main focus of the book. Assembly is difficult. It is not easy. Don't sugar coat it. Make the students go through the technicalities. The students will dislike you now but will thank you later. Perhaps divide the book in two sections and introduce your own library as an alternate method, or better yet, go through the process of creating your library in the book. Show them how it works, what id does, why you wrote it. Be detailed about this. If a separate course is needed to cover all this material, then so be it. Also, do not be so specific to Microsoft Windows. Include at least one chapter on assembly programming as it applies to other operating systems. If there is no room for one chapter, at least have an appendix on it. If you make these changes, you will have a much better book.
I am not biased against the author. To prove it, I should mention that I extensively use his book Starting Out With Visual Basic 2010 (5th Edition) as an additional book in the course I teach to engineers about device interfacing using Visual Basic. I think this book is an excellent resource and I highly recommend it. In fact, this one is one of the best introductory texts on Visual Basic I have ever read. To make my point here, this VB textbook was not the main textbook in the course but being a relatively small class (15 students), I paid for it out of my own pocket and gave a copy to each student.
In all fairness, I would like to correct my original review and increase it to 3 stars now that the author himself has clarified some of the items. The author indicates that the book requires previous knowledge of programming languages. That's fine and understandable. However, this text is supposed to be an intro to Assembly language. While there are some Java and C/C++ programmers out there who know Intel assembly programming, programmers of these high level languages don't need to know. Additionally, since this is a college/university level textbook Java courses in college don't teach assembly. Therefore, for all intents and purposes this book is an introduction to assembly programming, not programming in general. Having gone through the book again for the sake of being fair in this review, I must admit that there is value in this book. However, I stand by my original opinion that it is preferable to use a textbook that starts you up in assembly by using pure standard libraries. There are better books on this that I will not mention here out of respect to the author. Like everything, it is a matter of opinion. I am sure that there are many students out there who give this book very high ratings. In my opinion and having an extensive background in low level programming (not necessarily Intel Assembly Language), I think the author's libraries are a huge shortcoming during the learning phase. Of course, if you are an avid programmer, the author's libraries are useful. Let me clarify that my focus here is not the material in the book but rather the approach. Again, this is all matter of opinion. I just thought it was fair to raise the rating a bit in light of the author's comments.
This book is not good. The worst thing about this book is that you are forced to use the author's own libraries. This is a very bad approach especially for this book which is targeted at a beginner audience. Unless you are a student in a class that requires this book, this should be right at the bottom of your list or, better yet, not on your list at all for books on Assembly programming. Look for books that allow you to have programming freedom to write code using standard libraries or create your own libraries.