Banner 468 X 60

The Art of Assembly Language



The Art of Assembly Language
| 2003-09-16 00:00:00 | | 0 | Assembly


THE ART OF ASSEMBLY LANGUAGE is a practical and comprehensive guide to assembly language. It presents assembly language from the high-level programmer's point of view, allowing the reader to start writing meaningful assembly language programs immediately. The CDROM includes the High Level Assembler (HLA) tool and the HLA Standard Library, all the source code from the book, plus over 50,000 lines of additional sample code, all well-documented and tested.

User review
Should be titled: The Art of a Cockamamie Language of the Author's Design: Wasting Reader's Time for Fun and Profit
I'll be very brief: this book is wholly useless. It isn't the technical expertise of the author or his writing that make it so -- Mr Hyde is an intelligent and accomplished man; his writing is good as always. What makes this book a complete and immediate failure is that it IS NOT ABOUT ASSEMBLY LANGUAGE in the sense that most people think what (the) assembly language is (the title is a blatant misrepresentation, or, at best, a disingenuous, self-serving play on the fact that there's no FORMAL assembly standard in existence).


The author concocted some sort of intermediate-level, C-like language, which he called HLA (high-level assembly), and _this_ is what this THICK book is about, at least the most of it. This language is built on top of MASM, but it isn't MASM (by MASM I mean the language syntax, not assembler program from Microsoft).


Why in the world would one spend one's time learning this language? When one needs to learn PC assembly, today, for all practical purposes it means one thing: MASM. Unixes use different assemblers, but so long as you're writing for an x86 processor, moving from the MASM assembly syntax to, say, Intel assembly syntax is no big deal. A book on x86 assembly language should be based on MASM -- or, at least, something equivalent and more or less standard, if not de jure, then de facto. HLA is neither standard, nor widely used; nor can I think of anything it *would* be useful for.


This is a well-written but self-indulgent book that no one needs, a literary white elephant. I hope the author will recover his senses, trash HLA, and publish a second edition based on the good old bare-bones MASM assembly. (Either that, of the title should be changed as suggested above ;-)

User review
A Note From the Author
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

User review
dont be fooled, HLA is far from traditional assembler
My goal in reading an assembly book is to eventually learn fasm. I must say, after reading the first 2 chapters of this book, I am very disappointed! I definitely REGRET the fact that I paid for this book before looking into it further. I have a working knowledge of C++ and I must say, HLA looks more like C++ than fasm code. I can only surmise that the good ratings this book has gotten are from people who haven't seen traditional assembly code, and are convinced that its `assembly` or are actually interested in learning HLA. For a more traditional lesson in assembly I would recommend Assembly Language Step-by-Step Programming with DOS and Linux ISBN: 0471375233


Although I have skimmed through the entire book, it is true that I have not entirely completed this book. I am in fact a bit nervous about the idea of finishing it. I however, am going to finish it. If I feel that the book has enlightened me to the ways of assembly through some profound psychological trickery, I will let people know at Random-Seed.net

User review
Not what you would expect.
I am familiar with writing true assembly language programs for microcontrollers. Granted, while they are very different than PC processors, the fact is that HLA leaves something to be desired. It may have the power of assembly, but it doesn't have the feel. It should have been titled 'The Art of HLA' which would have still sounded good, but would have also given the customer a hint about what is inside the book. I'm going to keep it, but I'm not happy with the product.


True assembly is beautiful with respect to form, as there is little abstraction between you and the machine. This way there is no incongruencies between what you want it to do and how you say you want it done.

User review
Outstanding text for class or self-learning!
This book is 900+ pages of outstanding material on what is really an art - assembly language programming. The author, a university professor, has done what so many other authors have failed to do: take a complicated subject and break it down into easy-to-digest pieces. More importantly, it's written in clear, understandable language. Although not for the faint hearted - you really have to want to learn assembly language programming - the serious student should have no problems. What's really neat (IMHO) is that the author's proven system - called High Level Assembler (HLA) - is used throughout the book. HLA, although slightly different from 'regular' assembler, is easy to learn and very, very logical. The CD-ROM included with this book contains the HLA, the HLA library of routines, all of the source code in the book and over 50,000 lines of sample code. Again, if you want to learn assembly language, this is `the` book you should have in your library!!!


Download this book!

Free Ebooks Download

0 comments: