Computer Architecture and Assembly Language by Anthony J. Dos Reis is a comprehensive textbook that explains both the theoretical underpinnings and practical aspects of computer architecture and assembly programming. Its 800+ pages cover topics such as data representation, instruction set architectures, pipelining, memory hierarchy, and low-level coding in assembly language. It is geared toward students who need a deep understanding of how hardware and software interact, preparing them to write efficient assembly code and understand performance implications of architectural choices.