Skip to main content
  • Book
  • © 2018

Modern X86 Assembly Language Programming

Covers x86 64-bit, AVX, AVX2, and AVX-512

Apress

Authors:

  • Has a modern focus on 64-bit and AVX programming for today's algorithms-influenced programmers

  • Revised and updated to cover the new AVX-512

  • The author is an expert with over 30 years experience as a programmer, developer and computer scientist

Buy it now

Buying options

eBook USD 44.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Other ways to access

This is a preview of subscription content, log in via an institution to check for access.

Table of contents (16 chapters)

  1. Front Matter

    Pages i-xxi
  2. X86-64 Core Architecture

    • Daniel Kusswurm
    Pages 1-19
  3. X86-64 Core Programming – Part 1

    • Daniel Kusswurm
    Pages 21-49
  4. X86-64 Core Programming – Part 2

    • Daniel Kusswurm
    Pages 51-86
  5. Advanced Vector Extensions

    • Daniel Kusswurm
    Pages 87-107
  6. AVX Programming – Scalar Floating-Point

    • Daniel Kusswurm
    Pages 109-166
  7. AVX Programming – Packed Floating-Point

    • Daniel Kusswurm
    Pages 167-214
  8. AVX Programming – Packed Integers

    • Daniel Kusswurm
    Pages 215-275
  9. Advanced Vector Extensions 2

    • Daniel Kusswurm
    Pages 277-284
  10. AVX2 Programming – Packed Floating-Point

    • Daniel Kusswurm
    Pages 285-346
  11. AVX2 Programming – Packed Integers

    • Daniel Kusswurm
    Pages 347-384
  12. AVX2 Programming – Extended Instructions

    • Daniel Kusswurm
    Pages 385-419
  13. Advanced Vector Extensions 512

    • Daniel Kusswurm
    Pages 421-432
  14. AVX-512 Programming – Floating-Point

    • Daniel Kusswurm
    Pages 433-490
  15. AVX-512 Programming – Packed Integers

    • Daniel Kusswurm
    Pages 491-528
  16. Optimization Strategies and Techniques

    • Daniel Kusswurm
    Pages 529-540
  17. Advanced Programming

    • Daniel Kusswurm
    Pages 541-584
  18. Back Matter

    Pages 585-604

About this book

Gain the fundamentals of x86 64-bit assembly language programming and focus on

the updated aspects of the x86 instruction set that are most relevant to application

software development. This book covers topics including x86 64-bit programming and

Advanced Vector Extensions (AVX) programming.

 

The focus in this second edition is exclusively on 64-bit base programming architecture

and AVX programming. Modern X86 Assembly Language Programming’s structure and

sample code are designed to help you quickly understand x86 assembly language

programming and the computational capabilities of the x86 platform. After reading

and using this book, you’ll be able to code performance-enhancing functions and

algorithms using x86 64-bit assembly language and the AVX, AVX2 and AVX-512

instruction set extensions.

What You Will Learn

  • Discover details of the x86 64-bit platform including its core architecture, data types,
  • registers, memory addressing modes, and the basic instruction set
  • Use the x86 64-bit instruction set to create performance-enhancing functions that
  • are callable from a high-level language (C++)
  • Employ x86 64-bit assembly language to efficiently manipulate common data types
  • and programming constructs including integers, text strings, arrays, and structures
  • Use the AVX instruction set to perform scalar floating-point arithmetic
  • Exploit the AVX, AVX2, and AVX-512 instruction sets to significantly accelerate the
  • performance of computationally-intense algorithms in problem domains such as
  • image processing, computer graphics, mathematics, and statistics
  • Apply various coding strategies and techniques to optimally exploit the x86 64-bit,
  • AVX, AVX2, and AVX-512 instruction sets for maximum possible performance

Who This Book Is For  

Software developers who want to learn how to write code using x86 64-bit assembly language. It’s also ideal for software developers who already have a basic understanding of x86 32-bit or 64-bit assembly language programming and are interested in learning how to exploit the SIMD capabilities of AVX, AVX2 and AVX-512.

Authors and Affiliations

  • Geneva, USA

    Daniel Kusswurm

About the author

Daniel Kusswurm has over 30 years of professional experience as a software developer and computer scientist. During his career, he has developed innovative software for medical devices, scientific instruments, and image processing applications. On most of these projects, he successfully employed x86 assembly language to significantly improve the performance of computationally-intense algorithms or solve unique programming challenges. His educational background includes a BS in electrical engineering technology along with an MS and PhD in computer science.

Bibliographic Information

Buy it now

Buying options

eBook USD 44.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Other ways to access