x86 Assembly
From Wikibooks, the open-content textbooks collection
Contents |
[edit] Preface
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.
[edit] Table of Contents
[edit] x86 Basics
- x86 Family
- x86 Architecture and register description
- Comments
- 16, 32 and 64 Bits
- Intrinsic Data Types
[edit] x86 Instruction Set
- x86 Instructions
- Data Transfer Instructions
- Control Flow Instructions
- Arithmetic Instructions
- Logic Instructions
- Shift and Rotate Instructions
- Other Instructions
- x86 Interrupts
[edit] Syntaxes and Assemblers
[edit] Instruction Extensions
- Floating Point
- MMX
- SSE (SSE, SSE2, SSE3)
- 3D Now!
[edit] Advanced x86
- Advanced x86
- High-Level Languages
- Machine Language Conversion
- Protected Mode
- Global Descriptor Table
- Advanced Interrupts (IDT, ISRs, IDTR)
- Bootloaders
[edit] x86 Chipset
- x86 Chipset
- Direct Memory Access (DMA)
- Programmable Interrupt Controller (PIC)
- Programmable Interrupt Timer (PIT)
- Programmable Parallel Interface (PPI)

