Plantz, Bob Introduction To Computer Organization (1718500092)
Unlike other books about assembly language and computer organisation, Introduction to Computer Organization is written with the understanding that most programmers will never have to write x86-64 assembly language or design hardware. By the end of the book readers should have a strong understanding of how binary is used to store data; how Boolean logic works, and how it's implemented in a computer; the basics of computer hardware; assembly language; program flow; and Input/Output.