Introduction to Computing Systems: From Bits and Gates to C and Beyond
This was a text book for one of my introductory computer science courses. I wrote a processor simulator in C, and even implemented the processor in VHDL in this course. The processor is known as an LC3, and is introduced in this book for the sake of teaching about assembly language and how a processor works.