Modern X86 Assembly Language Programming (eBook)
XXI, 604 Seiten
Apress (Verlag)
978-1-4842-4063-2 (ISBN)
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.
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.
Gain the fundamentals of x86 64-bit assembly language programming and focus onthe updated aspects of the x86 instruction set that are most relevant to applicationsoftware development. This book covers topics including x86 64-bit programming andAdvanced Vector Extensions (AVX) programming. The focus in this second edition is exclusively on 64-bit base programming architectureand AVX programming. Modern X86 Assembly Language Programming's structure andsample code are designed to help you quickly understand x86 assembly languageprogramming and the computational capabilities of the x86 platform. After readingand 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 LearnDiscover details of the x86 64-bit platform including its core architecture, data types,registers, memory addressing modes, and the basic instruction setUse the x86 64-bit instruction set to create performance-enhancing functions thatare callable from a high-level language (C++)Employ x86 64-bit assembly language to efficiently manipulate common data typesand programming constructs including integers, text strings, arrays, and structuresUse the AVX instruction set to perform scalar floating-point arithmeticExploit the AVX, AVX2, and AVX-512 instruction sets to significantly accelerate theperformance of computationally-intense algorithms in problem domains such asimage processing, computer graphics, mathematics, and statisticsApply various coding strategies and techniques to optimally exploit the x86 64-bit,AVX, AVX2, and AVX-512 instruction sets for maximum possible performanceWho 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.
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.
IntroductionChapter 1 – 64-bit ArchitectureChapter 2 – 64-bit Architecture Programming – Part 1Chapter 3- 64-bit Architecture Programming – Part 2Chapter 4 – Advanced Vector Extensions (AVX)Chapter 5 – AVX Programming – Scalar Floating-PointChapter 6 – AVX Programming – Packed Floating-PointChapter 7 – AVX Programming – Packed IntegersChapter 8 – Advanced Vector Extensions 2 (AVX2)Chapter 9 – AVX2 Programming – Packed Floating-PointChapter 10 – AVX2 Programming – Packed IntegersChapter 11 – AVX2 Programming – Enhanced Feature Set InstructionsChapter 12 – Advanced Vector Extensions 512 (AVX-512)Chapter 13 – AVX-512 Programming – Packed Floating-PointChapter 14 – AVX-512 Programming – Packed IntegersChapter 15 – Optimization Strategies and TechniquesChapter 16 – Advanced Programming ExamplesAppendix A
Erscheint lt. Verlag | 6.12.2018 |
---|---|
Zusatzinfo | XXI, 604 p. 96 illus. |
Verlagsort | Berkeley |
Sprache | englisch |
Themenwelt | Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge |
Informatik ► Theorie / Studium ► Algorithmen | |
Schlagworte | 32-bit • 64-Bit • Algorithm analysis and problem complexity • Assembly • avx • avx-512 • Code • language • programming • SIMD • source • Streaming • x86 |
ISBN-10 | 1-4842-4063-4 / 1484240634 |
ISBN-13 | 978-1-4842-4063-2 / 9781484240632 |
Haben Sie eine Frage zum Produkt? |
Größe: 18,0 MB
DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasserzeichen und ist damit für Sie personalisiert. Bei einer missbräuchlichen Weitergabe des eBooks an Dritte ist eine Rückverfolgung an die Quelle möglich.
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich