Book description
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 andalgorithms 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.
Table of contents
- Cover
- Front Matter
- 1. X86-64 Core Architecture
- 2. X86-64 Core Programming – Part 1
- 3. X86-64 Core Programming – Part 2
- 4. Advanced Vector Extensions
- 5. AVX Programming – Scalar Floating-Point
- 6. AVX Programming – Packed Floating-Point
- 7. AVX Programming – Packed Integers
- 8. Advanced Vector Extensions 2
- 9. AVX2 Programming – Packed Floating-Point
- 10. AVX2 Programming – Packed Integers
- 11. AVX2 Programming – Extended Instructions
- 12. Advanced Vector Extensions 512
- 13. AVX-512 Programming – Floating-Point
- 14. AVX-512 Programming – Packed Integers
- 15. Optimization Strategies and Techniques
- 16. Advanced Programming
- Back Matter
Product information
- Title: Modern X86 Assembly Language Programming: Covers x86 64-bit, AVX, AVX2, and AVX-512
- Author(s):
- Release date: December 2018
- Publisher(s): Apress
- ISBN: 9781484240632
You might also like
book
Modern Arm Assembly Language Programming: Covers Armv8-A 32-bit, 64-bit, and SIMD
Gain the fundamentals of Armv8-A 32-bit and 64-bit assembly language programming. This book emphasizes Armv8-A assembly …
book
Modern X86 Assembly Language Programming: 32-bit, 64-bit, SSE, and AVX
shows the fundamentals of x86 assembly language programming. It focuses on the aspects of the x86 …
book
Modern Parallel Programming with C++ and Assembly Language: X86 SIMD Development Using AVX, AVX2, and AVX-512
Learn the fundamentals of x86 Single instruction multiple data (SIMD) programming using C++ intrinsic functions and …
book
Low-Level Programming: C, Assembly, and Program Execution on Intel® 64 Architecture
Learn Intel 64 assembly language and architecture, become proficient in C, and understand how the programs …