This tutorial-style book provides an introductory look under the hood of a modern computer. It
covers fundamental topics like data storage formats computer arithmetic basic data types
logic gates and circuits and the CPU. Unlike other books about assembly language and computer
organization Introduction to Computer Organization is written with the understanding that most
programmers will never have to write x86-64 assembly language or design hardware. This book is
written to give those programmers a practical and concrete understanding of what's happening in
a computer in the hopes that this knowledge will help them become a better programmer in their
chosen field. You'll learn how transistors are used to construct the binary switches that are
used to implement the logic circuits that make up a computer how these circuits are programmed
to implement basic programming constructs and how data items are organized and manipulated. By
the end of the book you 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 and how to use assembly language to implement things like program flow and Input
Output.