

Ask YC: Best book for studying 8086 Assembly Language programming - yearsinrock

which is the best one?
the one which gives a lot of of info on instruction sets
======
swies
You can't get more instruction set info than vol. 2A/B here:
<http://www.intel.com/products/processor/manuals/>

~~~
SirWart
The reference manuals are a very good resource, but probably not the best
place to start initially. Keep in mind if you are using gas (the gnu
assembler), that it uses AT&T syntax and not Intel syntax. The biggest
difference is the order of the operands for the instructions are reversed
compared to how they are listed in the manual.

------
pjf
I recommend "Assembly Language" by Jeff Duntemann and "The Art of Assembly
Programming" by Randall Hyde [1]

[1] <http://webster.cs.ucr.edu/AoA/index.html>

------
projectileboy
I learned with a fabulous book that I believe was called "80836 Assembly
Programming" or some such, from Microsoft Press. Also did a really good job of
explaining the processor architecture, although I don't know how much that's
changed between the x86 and the current generation. A lot, I assume. I know
the P4 has a very different register set. I believe the instruction set is
largely the same, however.

I can try and find it in my basement, if you really need it.

------
muriithi
You can use the online book "PC Assembly Language" by Dr.Paul A. Carter url
<http://www.drpaulcarter.com/pcasm>

This book however covers protected mode(80386 and later) and not real
mode(8086).

~~~
yearsinrock
thanks but i wanted a book that will cover everything on this subject and will
hekp me in the long time once i buy it.

~~~
muriithi
Try

Introduction to 80X86 Assembly Language and Computer Architecture
<http://www.amazon.com/exec/obidos/ASIN/0763717738>

The Art of Assembly Language
<http://www.amazon.com/exec/obidos/ASIN/1886411972>

Essentials of 80x86 Assembly Language
<http://www.amazon.com/exec/obidos/ASIN/076373621X>

~~~
yearsinrock
Thanks i already have Detmer I'll start using it

------
zorkme
Start with 386/486 in 32-bit protected mode. Segmented addressing sucks and is
not used. The 8086 also has a lot of extra instructions like LOOP which are
useful only if you want to be a demo coder. On modern x86 many of these
instructions aren't used.

------
cheponis
If you truly want to understand the x86, you should first learn the 4004, then
the 8008, then the 8080, then the 8088, then 8086, then the 80186, then the
80286, then the 80386, then you can go in a number of directions that others
have suggested.

------
jksmith
As I recall back in the day, I got more from anything written by Michael
Abrash, a serious gearhead back in the 80's who eventually joined Id Software.

