The fundamental book to read would be "Introduction to Automata Theory, Languages, and Computation" ( http://www.amazon.com/Introduction-Automata-Theory-Languages... (http://www.amazon.com/Introduction-Automata-Theory-Languages-Computation/dp/0321462254/)) Then proceed to Dragonbook. After finishing Dragonbook, you might like this Linkers and loaders (http://www.amazon.com/Linkers-Kaufmann-Software-Engineering-... (http://www.amazon.com/Linkers-Kaufmann-Software-Engineering-Programming/dp/1558604960)) In general follow this guy Jeff Ullman and you would be good(http://infolab.stanford.edu/~ullman/)
Also recommended in this reply