Rating: Summary: Very satisified Review: I give this book an A++. I can't put it down. The approach used by Hyde to teach assembly seems to be aimed at everybody, whether you know nothing about assembly, or you've been programming in a bunch of high-level languages for ages. I'm learning more from the AoA material than I've learned my whole life. I feel like Hyde knows how to reach his readers and get his point(s) across very well. Setting up HLA for Windows is very easy and the instructions for doing this are clear. If you get stumped over something, there's even a mailing list you can join to get answers to anything you want, so you're really getting more than a book; you're getting a guarantee that you will *learn* assembly language programming and all of the things that go along with it.
Rating: Summary: Excellent Book! Review: I goofed around with Java for a few months, but it never sparked my interest in programming. That all changed when I found this book. I had always thought of assembly as an 'elite' language that can be mastered only by experienced programmers. Hyde's approach makes it easy to learn assembly whether you have experience in high level languages or you are just a beginner in programming. The book does a great job of teaching the machine level implementation of concepts that are the back-bone of other programming languages.Hyde's assembly language compiler (HLA) also comes packed with a very powerful integrated macro system and run-time language. You actually get two languages in one. Couple that with loads of white-pages and support material that extend what you learn in the book and you have one impressive package for learning assembly.
Rating: Summary: Excellent Book! Review: I goofed around with Java for a few months, but it never sparked my interest in programming. That all changed when I found this book. I had always thought of assembly as an 'elite' language that can be mastered only by experienced programmers. Hyde's approach makes it easy to learn assembly whether you have experience in high level languages or you are just a beginner in programming. The book does a great job of teaching the machine level implementation of concepts that are the back-bone of other programming languages. Hyde's assembly language compiler (HLA) also comes packed with a very powerful integrated macro system and run-time language. You actually get two languages in one. Couple that with loads of white-pages and support material that extend what you learn in the book and you have one impressive package for learning assembly.
Rating: Summary: Who is this for? Review: I grabbed this book looking for some interesting tidbits. I know a few RISC architectures asm, but never played w/x86, which is what I saw in the flipping through the book. Turns out I didn't flip through it nearly as much as I should have before buying it.
I didn't notice the whole book being geared towards a pseudo-assembly called HLA. High Level Assembly. Looks like x86, but isn't quite. Ok, my fault. So I read on and get a book using a teaching format I personally HATE. The "teach the wrong, but easy way first" then "teach the more correct way later and hope the reader doesn't remember the wrong way" approach. Ugh.
I'm not sure I would recommend this book to anyone. It's expensive and huge, when there are other more compact tomes to learn assembly from.
Rating: Summary: It would be nice if it worked Review: I was looking for something to allow my son to teach himself assembler. When I got this book, I was excited. Although the content keeps you further from the actual language than it should, it might make it easier to learn. But my son was unable to get it working. I decided to take the course myself. Being a software engineer since the late 80's, and fluent in several languages, I figured I could get it to work. Installation is VERY hokey; some of the needed software is on the CD, and some has to be downloaded. But I followed the installation instructions closely. I was never able to compile the helloWorld program. First, it couldn't find the libraries. I believe that there is a problem with how it treats paths, probably in relation to Windows 2000. I would imagine it works under other Windows OSES. But I don't use them. Next, I copied the libraries into the same directory I had stored the source. It was able to find the libraries, but they had syntax errors. Please, at least test your include libraries before you ship them! The whole idea about high-level assembler, I believe, is to hold your hand during the development process and make it a little easier. This package does NOT fill that need. I believe if the software was held to some sort of decent standard, the package would be excellent. But I'm returning my copy. I just can't get it to work.
Rating: Summary: It would be nice if it worked Review: I was looking for something to allow my son to teach himself assembler. When I got this book, I was excited. Although the content keeps you further from the actual language than it should, it might make it easier to learn. But my son was unable to get it working. I decided to take the course myself. Being a software engineer since the late 80's, and fluent in several languages, I figured I could get it to work. Installation is VERY hokey; some of the needed software is on the CD, and some has to be downloaded. But I followed the installation instructions closely. I was never able to compile the helloWorld program. First, it couldn't find the libraries. I believe that there is a problem with how it treats paths, probably in relation to Windows 2000. I would imagine it works under other Windows OSES. But I don't use them. Next, I copied the libraries into the same directory I had stored the source. It was able to find the libraries, but they had syntax errors. Please, at least test your include libraries before you ship them! The whole idea about high-level assembler, I believe, is to hold your hand during the development process and make it a little easier. This package does NOT fill that need. I believe if the software was held to some sort of decent standard, the package would be excellent. But I'm returning my copy. I just can't get it to work.
Rating: Summary: Great book Review: I've looked a very long time trying to find a good book to learn assembly from. I received this book last week and proceeded to gobble it up. It's almost exactly what I've been looking for. The only drawback is that it spends a lot more time talking about HLA (high-level assembly) instead of low level assembly. The author's approach is to talk mostly about HLA and then slip in more and more low level stuff. He pretty much covers everything in detailed HLA and mostly pretty good LLA. It's sometimes hard to tell when code is HLA or LLA. Also, he doesn't address writing a complete program in LLA, only using an HLA wrapper. Style of writing is such that I feel like a knowledgeable friend is walking me through it. It's a cool book and I'm glad I bought it. Like others say, you can find it online and check it out. I still recommend buying it and reading it at least twice! You won't be disappointed.
Rating: Summary: Well Thought Out, Easy to Understand, and Comprehensive Review: Mr. Hyde has created what has to be the most comprehensive treatment of 32-bit Pentium assembly language ever written. This book not only covers all the usual machine instructions one expects to find in a book of this type, but it also covers topics rarely found in other assembly language books, including file I/O, object-oriented programming in assembly, and advanced procedures and parameter passing. Another interesting feature is that this book covers the Intel MMX and FPU instruction sets -- a topic not often found in assembly language books even though these special instructions are among the main reasons for using assembly language in the first place. The high-level assembler that this book uses is a very interesting piece of software. It actually solves one of the biggest problems with writing assembly code -- reading the result when you're done writing the code. The high-level assembler allows you to write some of the cleanest assembly code ever written. The examples in the book are a shining example of this assembler's capability (compare this code against the typical stuff you'll find on the internet and you'll immediately see the quality of this code). The high-level assembler also includes a massive set of library routines. This library package alone is worth the price of the book. Indeed, I've purchased library packages for other assemblers that didn't come close to what this package provides. Amazingly enough, Mr. Hyde provides this library and its source code, completely free of charge and royalty-free (he has put it in the public domain). Assembly language has always been hard to learn and hard to use. Assembly code has come under considerable criticism for being difficult to maintain. The Art of Assembly Language's presentation of this programming language, along with the high-level assembler provided with this book, is going to change this perception. This book proves that assembly can be easy to learn, you can write readable programs in assembly, and assembly can be easy to maintain. My only complaint with this book is that I wish it were available when I had to learn assembly language five years ago.
Rating: Summary: The best assembly book ever! Review: People have been waiting for this book for years! Finally, it is available in print. This is the easiest to read book on assembly language ever published. The High Level Assembler that "Art of Assembly" uses makes it a whole lot easier to grasp the concept of assembly language. This book is perfect for those who already know C, C++, or Java.
Rating: Summary: Excellent! Review: 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.
|