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.
Author(s): Daniel Kusswurm
Edition: 2nd
Publisher: Apress
Year: 2019
Language: English
Commentary: True PDF
Pages: 604
Tags: Assembly Language; X86-64 Architecture; Advanced Vector Extensions
Front Matter ....Pages i-xxi
X86-64 Core Architecture (Daniel Kusswurm)....Pages 1-19
X86-64 Core Programming – Part 1 (Daniel Kusswurm)....Pages 21-49
X86-64 Core Programming – Part 2 (Daniel Kusswurm)....Pages 51-86
Advanced Vector Extensions (Daniel Kusswurm)....Pages 87-107
AVX Programming – Scalar Floating-Point (Daniel Kusswurm)....Pages 109-166
AVX Programming – Packed Floating-Point (Daniel Kusswurm)....Pages 167-214
AVX Programming – Packed Integers (Daniel Kusswurm)....Pages 215-275
Advanced Vector Extensions 2 (Daniel Kusswurm)....Pages 277-284
AVX2 Programming – Packed Floating-Point (Daniel Kusswurm)....Pages 285-346
AVX2 Programming – Packed Integers (Daniel Kusswurm)....Pages 347-384
AVX2 Programming – Extended Instructions (Daniel Kusswurm)....Pages 385-419
Advanced Vector Extensions 512 (Daniel Kusswurm)....Pages 421-432
AVX-512 Programming – Floating-Point (Daniel Kusswurm)....Pages 433-490
AVX-512 Programming – Packed Integers (Daniel Kusswurm)....Pages 491-528
Optimization Strategies and Techniques (Daniel Kusswurm)....Pages 529-540
Advanced Programming (Daniel Kusswurm)....Pages 541-584
Back Matter ....Pages 585-604