4 ms·
I think this is the free version of the first edition of this: http://www.nostarch.com/assembly2.htm http://www.nostarch.com/assembly2.htm Many of the reviews
by spacemanaki 15y ago
I think this is the free version of the first edition of this: http://www.nostarch.com/assembly2.htm http://www.nostarch.com/assembly2.htm
Many of the reviews on Amazon bemoan the choice of "High Level Assembly" in that book, does this edition use HLA? How does it compare?
Any HNers who've read the second edition care to comment on it? The author responded in the reviews on Amazon and his defense seemed reasonable to me: many students won't become professional assembly language programmers, so why make them struggle more than is necessary.
http://www.amazon.com/review/R3C06U180STE19/ref=cm_cr_rdp_perm?ie=UTF8&ASIN=1886411972&nodeID=&tag=&linkCode= http://www.amazon.com/review/R3C06U180STE19/ref=cm_cr_rdp_pe...
Edited to add: I answered my own question, I think this does use HLA. http://homepage.mac.com/randyhyde/webster.cs.ucr.edu/www.artofasm.com/Linux/HTML/Foreword.html#63 http://homepage.mac.com/randyhyde/webster.cs.ucr.edu/www.art...
- gnosis 15y agoThe title of this book is misleading. It should really be titled "The Art of My Own Language, which I call HLA" HLA is not assembly, but a high level language of the author's own invention. I didn't realize that it was HLA and not assembly which was taught in the book. If I had, I wouldn't have posted the link.
- derleth 15y ago> HLA is not assembly It allows you to write software opcode-by-opcode. That's assembly. The differences between HLA and NASM or MASM are matters of degree, not of kind. > but a high level language No. High-level languages do things like manage memory for you and otherwise abstract large bits of the machine. HLA does not do that.
- gnosis 15y agoLisp allows inline assembly -- but that doesn't make it a low-level language. C and Forth can do the same, yet no one would confuse them with assembly language either.
- derleth 15y ago> Lisp allows inline assembly Not according to the standard. > C and Forth can do the same Can. Not necessarily will.
- silentbicycle 15y agoWhile you're at it, any alternative recommendations? I'm still a novice at writing assembly (more interested in code gen and instruction set design than coding assembly by hand), but I've found these helpful: * http://asm.sourceforge.net/resources.html * http://www.intel.com/products/processor/manuals/ * http://news.ycombinator.com/item?id=1662430 (good resource, link to HN discussion)
- gnosis 15y agoIf you're going to be writing assembly on Linux, you should decide which of the two major syntaxes to learn: - AT&T (gas, gcc inline assembly) - Intel (nasm, fasm, yasm, but also gas) Some links to help you decide: Pro-gas: http://www.deater.net/weave/vmwprod/asm/ll/README.gas_sucks http://www.deater.net/weave/vmwprod/asm/ll/README.gas_sucks Anti-gas: http://x86asm.net/articles/what-i-dislike-about-gas/ http://x86asm.net/articles/what-i-dislike-about-gas/ Neither/both: http://www.ibm.com/developerworks/linux/library/l-gas-nasm/index.html http://www.ibm.com/developerworks/linux/library/l-gas-nasm/i... Neither: http://webster.cs.ucr.edu/AsmTools/WhichAsm.html http://webster.cs.ucr.edu/AsmTools/WhichAsm.html If you decide to go with AT&T/gas, check out "Programming from the Ground Up", by Jonathan Bartlett: http://download.savannah.gnu.org/releases/pgubook/ http://download.savannah.gnu.org/releases/pgubook/ If you decide to go with Intel/nasm, see "PC Assembly Language" by Paul A. Carter: http://www.drpaulcarter.com/pcasm/ http://www.drpaulcarter.com/pcasm/ Also, the following tutorial is focused on DOS/8086, but it's really unique in that it's very interactive, and provides you with a fully functional assembly interpreter and 8086 simulator: http://www.btinternet.com/~btketman/tutpage.html http://www.btinternet.com/~btketman/tutpage.html I highly recommend it for getting a quick feel for the basics, though some of the DOS/8086 specific stuff in it won't apply to Linux.