Modern X86 assembly language programming : Covers x86 64-bit, AVX, AVX2, and AVX-512 /
Kusswurm, Daniel.author
Gain the fundamentals of x86 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 the new Advanced Vector Extensions (AVX) 512 programming, from the latest x86 instructions set, and the MMX technology and instruction set. 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. You will: 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.
Chapter 1 - 64-bit Architecture -- Chapter 2 - 64-bit Architecture Programming - Part 1 -- Chapter 3- 64-bit Architecture Programming - Part 2 -- Chapter 4 - Advanced Vector Extensions (AVX) -- Chapter 5 - AVX Programming - Scalar Floating-Point -- Chapter 6 - AVX Programming - Packed Floating-Point -- Chapter 7 - AVX Programming - Packed Integers -- Chapter 8 - Advanced Vector Extensions 2 (AVX2) -- Chapter 9 - AVX2 Programming - Packed Floating-Point -- Chapter 10 - AVX2 Programming - Packed Integers -- Chapter 11 - AVX2 Programming - Enhanced Feature Set Instructions -- Chapter 12 - Advanced Vector Extensions 512 (AVX-512) -- Chapter 13 - AVX-512 Programming - Packed Floating-Point -- Chapter 14 - AVX-512 Programming - Packed Integers -- Chapter 15 - Optimization Strategies and Techniques -- Chapter 16 - Advanced Programming Examples -- Appendix A.
Gain the fundamentals of x86 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 the new Advanced Vector Extensions (AVX) 512 programming, from the latest x86 instructions set, and the MMX technology and instruction set. 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. You will: 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.
Programming languages (Electronic computers).
Algorithms.