This book gives x86 assembly language programmers a view about how to use the resources and features provided by the i386/i486 processor, the newest and most advanced microprocessor from the Intel x86 family. Because the i386/i486 processor is entirely compatible with its predecessor, the 8086/88 processor, this book concentrates on the enhanced features compared to its predecessor. We assume the reader is already familiar with the concepts of 8086/88 assembly language programming. Our goal is to show you the programming methods that apply to powerful features of the i386/i486. The i387 math coprocessor is not discussed in this book. A detailed explanation about how to use each i386/i486 instruction is not covered in this book. However, we list the complete i386/i486 instruction set in Appendix B. Organization of the Book This book is divided into sections to help readers start learning from the concepts that are similar to the 8086/8088 processor. Then, the discussion shifts to the resources and environment of the i386/i486 processor. Throughout the book, real-life program examples are used to illustrate in detail how you can use the enhanced features or functions of the processor. Chapter 1 introduces the i386/i486 architecture and its enhanced features. The discussion includes the operation mode, general registers, segment registers, system registers, and system data structures. Chapter 2 discusses the method that the i386/i486 processor uses to make itself fully compatible with the 8086/88 processor and to define the interrupt vector table address, which is different from the 8086/88 processor.