
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!
Modify source, compile self, repeat.
This repo claims to have the code: https://github.com/DosWorld/smallc
Later, it was expanded by James Hendrix into a full book with a more complete implementation. [2] (As a kid, coming across this book in the bargain bin at CompUSA was what led to me learning C. I still have my copy!)
[1] https://archive.org/details/dr_dobbs_journal_vol_05_201803/p...
[2] https://www.amazon.com/Small-Compiler-Language-Theory-Design...
In case anyone else is interested, there is a freely available ISO of the the book available from Dr Dobbs Journal. From the README in the ISO:
>"Welcome to Dr. Dobb's Small-C Resource CD-ROM, the definitive collection of Small-C related information and source code. This CD-ROM includes the full text to James Hendrix's book "A Small-C Compiler: Language, Usage, Theory, and Design," selected articles on Small-C from "Dr. Dobb's Journal" magazine, and Small-C implementations for a number of processor platforms, including the 8080, Z80, 6502, and others."
It's available here:
http://www.drdobbs.com/developer-network-small-c-compiler-bo...