Ask HN: Where should I begin learning low-level computing, asm?

5 points by lists ↗ HN
I'm not in any way interested in trying to become a professional software engineer (though that outcome wouldn't isn't objectionable), I just want to learn how a computer functions from its lowest levels to however high it can go, in that linear order. So I'd like to explore computer processing mechanics (just <i>what</i> is a processor doing and with what?) and assembly with that (near direct manipulation of memory and processor), followed by C, and so on.<p>Would the esteemed community at HN be willing to provide some direction and starting points for such a project? Comments even? I imagine the project trajectory may need to adjust to certain realities of computing. Thanks ahead of time.

4 comments

[ 3.8 ms ] story [ 22.5 ms ] thread
You should take a look around for college courses called "Computer Organization" or such. This is pretty much what you describe. Just search Google for "computer organization course". My alma mater has some available, and I think MIT OCW might as well.
From www.artofasm.com/index.html you can find art of assembly language online books, good place to learn assembly
There were 2 computer architecture books by hennessy and patterson. Though they focused on mips, its a very theoretical discussion.

If you want something a bit more practical, Understanding the Linux Kernel tries to be a bit more x86 specific.