This a good opportunity to say thank you to Anthony J. Dos Reis.
I like the way he writes and when reading his books, I feel like he is in
front of me teaching the subject.
Here are his books that I bought:
Assembly Language and Computer Architecture Using C++ and Java , Course Technology, 2004
By reading this book, I've developed my skills in programming with
C/C++, assembly language and while learning computer architecture all
at the same time. This book contains lots of low level stuffs.
The exercises are easy enough and had really sharpen my skills.
Although the target machine is theoretical, I was able to switch
easily into the real machine.
Compiler Construction Using Java, JavaCC, and Yacc, IEEE/Wiley, 2012
This book taught me how to create compilers. The author started from
simple principles in grammars then slowly introducing a very simple compiler
eventually adding more features to the compiler. I was able to adapt
his method in developing a compiler. In later chapters, the book does
a great job in presenting an application of what was learned from the previous
chapters by implementing grep using automata theory.
I might have forgotten some of the topics after more than a year but I
will not forget the fun it gave to me when reading and learning from