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 but keep in mind that x86-32 Assembly is commonly referred to as IA-32 (Intel Architecture, 32-bit) Assembly, a 32-bit extension of the original Intel x86 processor architecture. IA-32 has full backwards compatibility (16-bit). AMD64 or AMD 64-bit extension is called x86-64 and is backwards compatible with 32-bit code without performance loss. Intel 64 previously named IA-32e or EM64T is almost identical to x86-64. Throughout the book these terms may be used interchangeably when appropriate. A special notice will be given if covering 16-bit, 32-bit or 64-bits architectures and on any limitations so to limit confusion.