C/C++ in the CPU's Eyes
In day-to-day C++, abstractions like classes, references, and iterators wrap up the low-level details so cleanly that we rarely have to think about them, and writing code really is easier that way. This series turns the viewpoint around: I'd like you to come stand on the CPU's side with me and look back from there, to see what happens at the instruction level when a line of i++ runs, what a function call leaves behind on the stack, what an object actually looks like in memory, and how a pointer value becomes a real location on the memory chips, one step at a time.
The series covers 11 topics, written up as 35 short articles, and any one of them takes about ten minutes to read. Every example and experiment is original to this site. Every block of assembly, every debugger session, and every line of program output you see in these articles comes verbatim from real runs on my machine; type the commands in yourself and you will reproduce them. The environment section in the first article of each topic records the compiler version that was running at the time.