Personal Computer from the Inside Out: The Programmer's Guide to Low-Level PC Hardware and Software (3rd Edition)

Author: Murray Sargent, Richard L. Shoemaker
5.0

Personal Computer from the Inside Out: The Programmer's Guide to Low-Level PC Hardware and Software (3rd Edition)

5.0

Review Date:

Comments

by peter_d_sherman   2019-05-17
Start here:

Boolean Logic & Logic Gates: Crash Course Computer Science #3

https://www.youtube.com/watch?v=gI-qXk7XojA

It's a nice, simple, easily watchable and highly visual overview of what you're going to start learning.

From there, it's virtually guaranteed that YouTube will suggest more relevant videos, and you'll be on your way.

Then later, you might want some books on "Digital Logic" (that's the keyword to search for).

To go up from that level of abstraction, I recommend "The Personal Computer from the Inside Out: The Programmer's Guide to Low-Level PC Hardware and Software (3rd Edition)" By Murray Sargent III and Richard L. Shoemaker: https://www.amazon.com/gp/product/0201626462

To learn Assembly Language: Randall Hyde's Art Of Assembly Language http://www.plantation-productions.com/Webster/www.artofasm.c...

To learn Compilers: Compiler Construction, by Niklaus Wirth http://www.ethoberon.ethz.ch/WirthPubl/CBEAll.pdf

Let's Build A Compiler, Jack W. Crenshaw & Marco van de Voort: https://www.stack.nl/~marcov/compiler.pdf

A Small C Compiler, by James E. Hendrix (sorry, this one is behind a pay/registration wall) https://www.scribd.com/document/289762150/Small-C-compiler-v... https://en.wikipedia.org/wiki/Small-C

Tiny C Compiler https://bellard.org/tcc/

Wikipedia articles related to compilers: Compilers, General: https://en.wikipedia.org/wiki/Compiler BNF: https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_form Shunting Yard Algorithm: https://en.wikipedia.org/wiki/Shunting-yard_algorithm Parse Trees: https://en.wikipedia.org/wiki/Parse_tree

Here's a great way to visually explore how various compilers create assembly language instructions: https://godbolt.org/

Up the abstraction level from all of that is LISP and LISPlike languages, Tensorflow, ML, and related high-level abstractions -- but you probably are more aware of those than the lower levels...

Anyway, good luck! It's a wonderful journey to undertake!