Wednesday, July 9, 2008

32/64-bit 80x86 Assembly Language Architecture (Paperback)

Assembly LanguageI recommend this book, with caveats. I found all the information I was looking for about Intel/AMD architecure (I was specifically interested in the 64-bit extensions). The charts showing which instructions are implemented on which model processors are a very big plus that probably cannot be found elsewhere. BUT: There are lots of little errors throughout that I could detect because of inconsistencies--I don't know how many more there are that I couldn't detect in material only presented once. Example: pp. 204 & 205 discussion of division, the text has the dividend and divisor reversed from what is shown in the tables. Also, the author tends to spend many pages repeating basic or similar information at great length (for example, treating addition and subtraction separately, repeating all the details) but some more complicated but necessary information is left unsaid (for example: What exactly do the two-stage square root instructions do? What on earth is a partial tangent or a partial arctangent (the discussion makes it seem the latter is just a division operation, which is not likely)? There is a whole chapter entitled "MASM vs NASM vs TASM vs WASM" that really only discusses MASM and certainly gives no useful information on the differences between those assemblers.
I could go on, but you get the idea. Very useful to have on the shelf, but reads like it was written in a big hurry--could have used a lot of editing.

Download Link 1
Download Link 2