The Art of Assembly Language and over one million other books are available for Amazon Kindle. Learn more

Buy New

or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
Buy Used
Used - Good See details
$31.69 & this item ships for FREE with Super Saver Shipping. Details

or
Sign in to turn on 1-Click ordering.
 
   
Kindle Edition
 
   
Sell Back Your Copy
For a $18.36 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
The Art of Assembly Language
 
 
Start reading The Art of Assembly Language on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

The Art of Assembly Language [Paperback]

Randall Hyde (Author)
4.1 out of 5 stars  See all reviews (35 customer reviews)

List Price: $59.95
Price: $37.28 & this item ships for FREE with Super Saver Shipping. Details
You Save: $22.67 (38%)
  Special Offers Available
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
Only 7 left in stock--order soon (more on the way).
Want it delivered Thursday, February 2? Choose One-Day Shipping at checkout. Details
Textbook Student FREE Two-Day Shipping for students on millions of items. Learn more

Formats

Amazon Price New from Used from
Kindle Edition $33.55  
Paperback $37.28  
Sell Back Your Copy for $18.36
Whether you buy it used on Amazon for $27.69 or somewhere else, you can sell it back through our Book Trade-In Program at the current price of $18.36.
Used Price$27.69
Trade-in Price$18.36
Price after
Trade-in
$9.33

Book Description

1593272073 978-1593272074 March 22, 2010 Second Edition

Assembly is a low-level programming language that's one step above a computer's native machine language. Although assembly language is commonly used for writing device drivers, emulators, and video games, many programmers find its somewhat unfriendly syntax intimidating to learn and use.

Since 1996, Randall Hyde's The Art of Assembly Language has provided a comprehensive, plain-English, and patient introduction to assembly for non-assembly programmers. Hyde's primary teaching tool, High Level Assembler (or HLA), incorporates many of the features found in high-level languages (like C, C++, and Java) to help you quickly grasp basic assembly concepts. HLA lets you write true low-level code while enjoying the benefits of high-level language programming.

As you read The Art of Assembly Language, you'll learn the low-level theory fundamental to computer science and turn that understanding into real, functional code. You'll learn how to:

  • Edit, compile, and run an HLA program
  • Declare and use constants, scalar variables, pointers, arrays, structures, unions, and namespaces
  • Translate arithmetic expressions (integer and floating point)
  • Convert high-level control structures

This much anticipated second edition of The Art of Assembly Language has been updated to reflect recent changes to HLA and to support Linux, Mac OS X, and FreeBSD. Whether you're new to programming or you have experience with high-level languages, The Art of Assembly Language, 2nd Edition is your essential guide to learning this complex, low-level language.


Special Offers and Product Promotions

  • Buy $50 in qualifying physical textbooks, get $5 in Amazon MP3 Credit. Here's how (restrictions apply)

Frequently Bought Together

The Art of Assembly Language + Write Great Code: Volume 1: Understanding the Machine + Reversing: Secrets of Reverse Engineering
Price For All Three: $84.66

Some of these items ship sooner than the others. Show details

Buy the selected items together
  • In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Write Great Code: Volume 1: Understanding the Machine $26.36

    Usually ships within 1 to 2 weeks.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Reversing: Secrets of Reverse Engineering $21.02

    In Stock.
    Ships from and sold by Amazon.com.
    Eligible for FREE Super Saver Shipping on orders over $25. Details



Editorial Reviews

Review

"My flat-out favorite book of 2003 was Randall Hyde's The Art of Assembly Language."
- Software Developer Times

"You would be hard-pressed to find a better book on assembly out there."
- Security-Forums.com

"If you want to use assembly language, or add it to your list of programming skills, this is the book to have."
- Book News (Australia)

"The text is well authored and easy to understand. The tutorials are thoroughly explained, and the example code segments are superbly commented."
- TechIMO

About the Author

Randall Hyde is the author of Write Great Code Volumes 1 and 2 (No Starch Press) and the co-author of MASM 6.0 Bible (The Waite Group). He has written for Dr. Dobb ™s Journal, Byte, and various professional journals. Hyde taught assembly language at the University of California, Riverside for over a decade.


Product Details

  • Paperback: 760 pages
  • Publisher: No Starch Press; Second Edition edition (March 22, 2010)
  • Language: English
  • ISBN-10: 1593272073
  • ISBN-13: 978-1593272074
  • Product Dimensions: 9.3 x 7.1 x 1.8 inches
  • Shipping Weight: 3.1 pounds (View shipping rates and policies)
  • Average Customer Review: 4.1 out of 5 stars  See all reviews (35 customer reviews)
  • Amazon Best Sellers Rank: #82,929 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

 

Customer Reviews

35 Reviews
5 star:
 (22)
4 star:
 (4)
3 star:
 (2)
2 star:
 (4)
1 star:
 (3)
 
 
 
 
 
Average Customer Review
4.1 out of 5 stars (35 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

58 of 61 people found the following review helpful:
4.0 out of 5 stars Excellent!, October 18, 2003
By 
Conny Melin (Stockholm, Sweden) - See all my reviews
Some of the above reviews have claimed that this book does not teach "real" assembly language, and that it uses 'c'-like wrappers instead of pure assembly instructions. This is a misconception most likely caused by these reviewers lack of knowledge, and/or failure to read the book of which they have submitted a review.

First off, what is Assembly Language? It is an attempt to make the actual machine instructions more readable to us humans, back when I first learned assembly language on the 6502, I programmed using hexademical instructions, so for example, changing the background color on the good old C64 would be:

$a9,$00,$8d,$21,$d0

Now, this isn't exactly readable as far as code goes, so later I got hold of an assembler, and the above code was written as:

lda #$00
sta $d021

This was suddenly alot more readable, and generated exactly the same code. Onwards assemblers have evolved, including things like macros, local labels, etc. HLA is one such evolution, it contains for example alot of control structures to avoid the need of labels, but that does not mean that you have to use them. For readability, it's lot easier for you to make a function call as:

Foo(1,2,3);

But if you really want to, you can write the code yourself,
push 3;
push 2;
push 1;
call Foo;

Still, this is exactly the code that will be generated by the above Foo(1,2,3), so it's really just a matter of taste.

Likewise, the high-level constructs such as IF... THEN works just the same way:

if(eax == 1) then
endif

could be written by yourself as:
cmp eax, 1
jne Label

But again, this is the same code that the high-level construct will generate. There are most likely situations where high-level constructs may generate code that could be written slightly more efficiently by hand, but it's entirely up to the programmer to use them or not. For beginners in assembly they are likely a godsend, and for experienced programmers they are simply an option.

Now, valid criticism towards this book is that the focus on HLA, although helpful, may also confuse the beginners, since it detracts somewhat from the low-level fundamentals that is the basis of assembly programming. For instance, although excellently explained, the way the stack operates could easily drown in the information sea of HLA's STATIC, VAR, READONLY, STORAGE sections described in the chapter beforehand, and make it hard for a beginner to grasp.

That said, the book still covers all basics of assembly language, from system bus to the individual cpu instructions.
And if you actually read the book, rather than firing up the examples directly, you'll have a good grasp of what these high level constructs do, and how to write your own code without using these constructs if you so please. And do not believe the above reviews stating that this is C-programming rather than assembly, if your programs consist of nothing but function calls then yes it will look like a C-program, but if your program actually does something rather than calls, you will use mov, and, or, add, sub, inc, dec, mul, div, shl, etc. like in any other assembly program, and these instructions are explained perfectly within this book.

The reason I don't give this book 5 stars is simply that I feel the focus on HLA should be mentioned in the books title, like "the Art of Assembly Language using HLA", since people using other assemblers will have to wade through alot of HLA specific content of which they have very little, if any interest.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


73 of 80 people found the following review helpful:
5.0 out of 5 stars A Note From the Author, October 10, 2007
Well, after four years of reading these reviews, I thought I'd put in my two cents.

One recurring theme you see in all of these reviews is the following: if someone already knows assembly language, they tend to dislike the use of HLA as the teaching vehicle for learning assembly language. On the other hand, if they're a newcomer to assembly language, they tend to like the approach that Art of Assembly uses. Quite frankly, I wrote "Art of Assembly Language" (AoA) for this latter category, not for those who already know assembly language, so I am rather gratified by the response from those who are actually using AoA to learn assembly language.

When someone sets down to write a book on x86 assembly language, one of the first decisions they have to make is "which assembly language syntax do I use?" The x86 is blessed/cursed with literally *dozens* of different assembly language syntaxes. No matter *what* assembly language syntax I chose, there would have been someone complaining about it. If I'd gone with GNU's as (gas), there would have been complaints about the syntax. Had I gone with FASM, the NASM crowd would have been put off.

Probably the "safe" choice would have been to go with MASM (which the earlier, 16-bit version of the book, used). No doubt, many of the complaints about how I used HLA instead of a different assembly language syntax would have gone away had I done this. The funny part is that MASM is *also* a high-level assembler, having almost all the same high-level control constructs found in HLA. The same is true, by the way, for Borland's Turbo Assembler (TASM). From a language feature point of view, there really isn't much difference between the high-level facilities of MASM, TASM, and HLA. Maybe it's just the name that freaks people out.

Some reviewers have commented that this is the wrong way to teach assembly language. Well, having taught assembly language at the University level for over 10 years, I must respectfully disagree. I've used HLA (before AoA was available) and the students did *far* better in the course. They got much farther along because they were able to apply their HLL programming knowledge to problems early in the course. By the time the course covered the low-level machine instructions, they were doing quite well. The courses I taught with HLA worked *much* better than the comparable courses I taught with MASM. The bottom line is that this teachnique technique has been classroom and laboratory tested. Interested individuals might want to check out my white paper on this subject:

I will make the following observation about AoA: if you already know assembly language, you're probably not going to like the presentation because it's completely different from the way *you* learned assembly and most people seem to think that the only way to learn something is the same way they learned it. On the other hand, if you don't know assembly language and you want to learn it, pay particular attention to those reviews from the people who used AoA to learn assembly language.
Cheers,
Randy Hyde
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


31 of 33 people found the following review helpful:
4.0 out of 5 stars Excellent book on HLA, November 10, 2004
This is truly amazing piece of work on High Level Assembly (HLA). It's important to know what you are getting is a book on HLA because the back cover says, "The most comprehensive guide to assembly language". Which is both hyperbole and factually slightly inaccurate. It's a very, very good book on an assembly language (HLA), but not all assembly languages. Nor should I think there would be a good book that covered all assembly languages, but that's beside the point.

There is some general value in the book that applies to almost any processor. The basics of registers, operations, pointers, the stack and other basics. But as you get deeper into the book it's clear that this is a work on HLA and HLA alone.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews











Only search this product's reviews



Inside This Book (learn more)
Browse Sample Pages:
Front Cover | Table of Contents | First Pages | Index | Back Cover | Surprise Me!
Search Inside This Book:

What Other Items Do Customers Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 

Your tags: Add your first tag
 

Customer Discussions

This product's forum
Discussion Replies Latest Post
Good books that cover non-HLA ASM? 2 Aug 8, 2010
See all discussions...  
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
   
Related forums





Look for Similar Items by Category


Look for Similar Items by Subject