This book covers assembly language programming for the x86 family of microprocessors. The objective is to teach how to program in x86 assembly, as well as the history and basic architecture of x86 processor family. When referring to x86 we address the complete range of x86-based processors (since the original Intel 8086 in 1978). This includes: IA-32 assembly, also commonly referred to as x86-32 a