views:

187

answers:

5

Disclaimer: I'm not a programmer, and I'm really acting as a proxy to ask this question here :)

In old days, there was Peter Norton's Programmer's Guide to IBM PC. This book served as invaluable source of information for every person that wanted to write all things low-level. What book nowadays can be recommended as source of knowledge about low-level programming and general PC architecture knowledge? How CPU is built, how it is being used by operating system. Ideally it should be OS-agnostic, without dragging user into arcana of win32 or linux kernel specific.

+1  A: 

Professional Assembly Language Programmer (for me is the best book about assembly)

The Art of Assembly Language

pho3nix
+1  A: 

What about Structured Computer Organization written by Andrew Tanenbaum? It's more about computer architecture rather than programming languages.

Simone Carletti
+1  A: 

as for general architecture, some de-facto standards include:

Hennessy & Patterson - Computer Architecture, A Quantitative Approach

Tanenbaum - Structured Computer Organization

My assembly class used Mazidi & Mazidi - 80X86 IBM PC and Compatible Computers: Assembly Language, Design, and Interfacing Volumes I & II, it was decent if a little rough around the edges.

Also seconding the Art of Assembly, linked by pho3nix.

andersop
+3  A: 

The IA-32 manuals is an invaluable source for implementing low level stuff (Like an OS) on x86 processors. http://www.intel.com/products/processor/manuals/

nos
+1 The intel manuals are THE BEST place for information on CPU architecture. It is OS agnostic and they are detailed and thorough. You MAY want to start with the more basic manuals, such as the 8086 before reading the latest ones, mostly to save yourself from slogging through a few thousand pages.
caskey