Principles of Computer Organization and Assembly Language: Using the Java Virtual Machine - Patrick Juola