From: torvalds@klaava.Helsinki.FI (Linus Torvalds) Subject: Re: [Q] good 386 programming book (protected mode, etc.) Date: Sat, 27 Feb 1993 21:25:01 GMT
I've mentioned this book before, but it won't hurt to say so again: the
book I swear by when it comes to 386 protected mode details is the
"Programming the 80386" by John H Crawford and Patrik P Gelsinger (SYBEX
books, ISBN 0-89588-381-3).
The book is a 780-page brick packed with information on the 386: it's
definitely not an easy read, and looking things up in it can be painful,
but I haven't found anything approaching it when it comes to the
details. It doesn't mention DOS, BIOS or any PC-specific hardware, and
it doesn't try to teach assembly language, but instead tells you all you
need to know about memory protection (segmentation and paging),
exceptions and it has a detailed description of all the commands and
internal 386 data structures.
Note that the "Programming the 80386" book is definitely over-kill if
you are only interested in user-level programming: it's meant for
kernel-level projects and is not a beginners book to the 386. Also, it
doesn't cover the 486, so there is no info on the new instructions or
the new timings.
Other books that I have found reasonably useful:
- "Advanced 80386 Programming Techniques" by James L Turley (McGraw-
Hill, ISBN 0-07-881342-5). Easier to read than the "Programming.."
book, but not as complete (and has had a couple of inaccuracies).
But worth getting if only because it's so much easier to understand
than the Crawford/Gelsinger book.
- "Microsoft's 80386/80486 Programming Guide" by Ross P Nelson. Mainly
useful because it's easy to find instruction tables etc - this also
contains info on the 486. Any other general 386/486 book would
probably work as well: this hardly covers the real intricacies of the
processor, but is probably enough if you are more interested in
user-level programming.
Note that all the above books *only* cover the processor itself. They
do not cover the rest of the PC hardware, so you'll have to find other
books for that (and I can't recommend any - PC hardware books are mostly
bad).
Linus