There are currently no items in your shopping cart.

User Panel

Forgot your password?.

x86 Assembly Language From Ground Up

Introduction :

Getting Started :
Setting Up the Development Environment
Coding : Simple Assembly program
Installing a Syntax Highlighter

x86 Processors & Computer Architectures :
Evolution of Intel Processors
Harvard Architecture vs Von Neumann Architecture

The Computing Device :
Logic Gates
From Transistors to Operating Systems
Number Systems

The Programmer's Model :
Overview of x86 Data Types
Basic x86 Microcomputer Design
x86 Operating Modes
Overview of the x86 Registers
Coding : One Register to Rule Them All
Overview of the x86 Flags
Overview of the Floating Point Unit
Overview of x86 Memory Models

Introduction to x86 Assembly Language :
Overview of x86 Integers
Introduction to Directives and Instructions
Simple x86 Assembly Template
Coding : Declaring Variables in Assembly
Dealing with Data
Coding : Mixing C/C++ and Assembly

Data Transfer Instructions :
Operand Types
Overview of the MOV Instruction
Understanding Direct - Offset Operands
Memory Addressing Modes

Arithmetic Instructions :
The Increment and Decrement Instructions
The Addition and Subtraction Instructions
Data Operators and Directives
Coding : Summing Array Elements
Coding : Scanning an Array
Coding : Using Pointers and Typedef

Conditional Branching :
The Jump and Loop Instructions
Logic Instructions
Condition Jump Instructions
Instruction Operands

The Nature of Mixing C/C++ and Assembly :
Coding : Computing the Sum of an Array
Coding : Computing Signed Multiplication and Division
Coding : Understanding C/C++ Calling Conventions
Coding : Experimenting with different Addressing Modes
Coding : Declaring Global Variables in C/C++ and using them in Assembly
Coding : Experimenting with Conditional Codes

Working with Arrays :
Coding : Iterating through Array Elements
Coding : Array Elements Square
Coding : Working with 2-Dimensional Arrays
Coding : Computing the Sum of Rows and Columns of a 2-Dimensional Array

Working with Strings :
Coding : Copying Strings from one Variable to another
Coding :Creating a Character Search Algorithm

Programming with the Floating -Point Unit (FPU) Registers :
Overview of the x86 FPU
Coding : Writing a temperature conversion program using the FPU
Coding : Developing the Sphere Computation Algorithm
Coding : Processing Floating-Point Arrays with FPU Instructions
Coding : Computing Min and Max of Single-Precision Floating Point Arrays
Coding : Developing Algorithms with x86 FPU Transcendental Instructions
Coding : Developing the Least Squares Algorithm

Programming with the x86 MMX Extensions :
Coding : SIMD Arithmetic with Packed Data using MMX Registers (Part I)
Coding : SIMD Arithmetic with Packed Data using MMX Registers (Part II)
Coding : Shift Operations with Packed Data using MMX Registers
Coding : Understanding MMX Multiplication

Programming with the x86 SSE Extentsions :
History of SSE
The SSE Execution Environment
Coding : Understanding SSE Floating-Point Arithmetic
Coding : Developing the Sphere Algorithm using SSE Instructions
Coding : SSE Packed Integer Arithmetic

Programming with the x86 Advanced Vector (AVX) Extensions :
History of AVX

Closing :
Closing Remarks