Search Torrents
|
Browse Torrents
|
48 Hour Uploads
|
TV shows
|
Music
|
Top 100
Audio
Video
Applications
Games
Porn
Other
All
Music
Audio books
Sound clips
FLAC
Other
Movies
Movies DVDR
Music videos
Movie clips
TV shows
Handheld
HD - Movies
HD - TV shows
3D
Other
Windows
Mac
UNIX
Handheld
IOS (iPad/iPhone)
Android
Other OS
PC
Mac
PSx
XBOX360
Wii
Handheld
IOS (iPad/iPhone)
Android
Other
Movies
Movies DVDR
Pictures
Games
HD - Movies
Movie clips
Other
E-books
Comics
Pictures
Covers
Physibles
Other
Details for:
Kusswurm D. Modern X86 Assembly Language Programming. Covers X86 64-bit 3ed 2023
kusswurm d modern x86 assembly language programming covers x86 64 bit 3ed 2023
Type:
E-books
Files:
2
Size:
30.5 MB
Uploaded On:
Sept. 9, 2023, 10:38 a.m.
Added By:
andryold1
Seeders:
0
Leechers:
1
Info Hash:
AF606467EADA91BF570C92DA413414632B5B869D
Get This Torrent
Textbook in PDF format This book is an instructional text that will teach you how to code x86-64 assembly language functions. It also explains how you can exploit the SIMD capabilities of an x86-64 processor using x86-64 assembly language and the AVX, AVX2, and AVX-512 instruction sets. This updated edition’s content and organization are designed to help you quickly understand x86-64 assembly language programming and the unique computational capabilities of x86 processors. The source code is structured to accelerate learning and comprehension of essential x86-64 assembly language programming constructs and data structures. Modern X86 Assembly Language Programming, Third Edition includes source code for both Windows and Linux. The source code elucidates current x86-64 assembly language programming practices, run-time calling conventions, and the latest generation of software development tools. While it is still theoretically possible to write large sections or an entire application program using assembly language, the demanding requirements of contemporary software development mean that such an approach is both impractical and ill-advised. Instead, this book accentuates the coding x86-64 assembly language functions that are callable from C++. The downloadable software package for this book includes source code that works on both Windows (Visual C++ and MASM) and Linux (GNU C++ and NASM). Before proceeding, it warrants mentioning that this edition of the Modern X86 Assembly Language Programming book doesn’t cover x86-32 assembly language programming. It also doesn’t discuss legacy x86 technologies such as the x87 floating-point unit, MMX, and X86-SSE (Streaming SIMD Extensions). The first edition of this text remains relevant if you’re interested in learning about these topics. This book doesn’t explain x86 architectural features or privileged instructions that are used in operating systems and device drivers. However, if your goal is to develop x86-64 assembly language code for these use cases, you’ll need to thoroughly comprehend the material that’s presented in this book. What You Will Learn: Understand important details of the x86-64 processor platform, including its core architecture, data types, registers, memory addressing modes, and the basic instruction set Use the x86-64 instruction set to create assembly language functions that are callable from C++ Create assembly language code for both Windows and Linux using modern software development tools including MASM (Windows) and NASM (Linux) Employ x86-64 assembly language to efficiently manipulate common data types and programming constructs including integers, text strings, arrays, matrices, and user-defined structures Explore indispensable elements of x86 SIMD architectures, register sets, and data types. Master x86 SIMD arithmetic and data operations using both integer and floating-point operands Harness the AVX, AVX2, and AVX-512 instruction sets to accelerate the performance of computationally-intense calculations in machine learning, image processing, signal processing, computer graphics, statistics, and matrix arithmetic applications Apply leading-edge coding strategies to optimally exploit the AVX, AVX2, and AVX-512 instruction sets for maximum possible performance Who This Book Is For: Software developers who are creating programs for x86 platforms and want to learn how to code performance-enhanced algorithms using the core x86-64 instruction set; developers who need to learn how to write SIMD functions or accelerate the performance of existing code using the AVX, AVX2, and AVX-512 instruction sets; and computer science/engineering students or hobbyists who want to learn or better understand x86-64 assembly language programming and the AVX, AVX2, and AVX-512 instruction sets. About the Author About the Technical Reviewer Acknowledgments Introduction X86-64 Core Architecture Historical Overview Data Types Fundamental Data Types Numerical Data Types SIMD Data Types Miscellaneous Data Types X86-64 Processor Architecture General-Purpose Registers Instruction Pointer RFLAGS Register Floating-Point and SIMD Registers MXCSR Register Instruction Operands Memory Addressing Condition Codes Differences Between X86-64 and X Legacy Instruction Sets Summary X86-64 Core Programming – Part Source Code Overview Assembler Basics Integer Arithmetic Integer Addition and Subtraction – 32-Bit Bitwise Logical Operations Shift Operations Integer Addition and Subtraction – 64-bit Integer Multiplication and Division Summary X86-64 Core Programming – Part Simple Stack Arguments Mixed-Type Integer Arithmetic Memory Addressing Modes Condition Codes Assembly Language For-Loops Summary X86-64 Core Programming – Part Arrays One-Dimensional Arrays Multiple One-Dimensional Arrays Two-Dimensional Arrays Strings Counting Characters Array Compare Array Copy and Fill Array Reversal Assembly Language Structures Summary AVX Programming – Scalar Floating-Point Floating-Point Programming Concepts Scalar Floating-Point Registers Single-Precision Floating-Point Arithmetic Temperature Conversions Cone Volume/Surface Area Calculation Double-Precision Floating-Point Arithmetic Floating-Point Comparisons and Conversions Floating-Point Comparisons Floating-Point Conversions Floating-Point Arrays Summary Run-Time Calling Conventions Calling Convention Overview Calling Convention Requirements for Visual C Stack Frames Using Non-volatile General-Purpose Registers Using Non-volatile XMM Registers Calling External Functions Calling Convention Requirements for GNU C Stack Arguments Using Non-volatile General-Purpose Registers and Stack Frames Calling External Functions Summary Introduction to X86-AVX SIMD Programming SIMD Programming Concepts What Is SIMD SIMD Integer Arithmetic SIMD Floating-Point Arithmetic SIMD Data Manipulation Operations X86-AVX Overview AVX/AVX2 SIMD Architecture Overview SIMD Registers SIMD Data Types Instruction Syntax Differences Between X86-SSE and X86-AVX Summary AVX Programming – Packed Integers Integer Arithmetic Addition and Subtraction Multiplication Bitwise Logical Operations Arithmetic and Logical Shifts Integer Arrays Pixel Minimum and Maximum Pixel Mean Summary AVX Programming – Packed Floating-Point Packed Floating-Point Arithmetic Elementary Operations Packed Comparisons Packed Conversions Packed Floating-Point Arithmetic – Arrays Mean and Standard Deviation Distance Calculations Packed Floating-Point Arithmetic – Matrices Column Means Summary AVX2 Programming – Packed Integers Integer Arithmetic Elementary Operations Size Promotions Image Processing Pixel Clipping RGB to Grayscale Pixel Conversions Image Histogram Summary AVX2 Programming – Packed Floating-Point – Part Floating-Point Arrays Least Squares Floating-Point Matrices Matrix Multiplication Matrix (4 × 4) Multiplication Matrix (4 × 4) Vector Multiplication Covariance Matrix Summary AVX2 Programming – Packed Floating-Point – Part Matrix Inversion Single-Precision Double-Precision Signal Processing – Convolutions 1D Convolution Arithmetic 1D Convolution Using Variable-Size Kernel Single-Precision Double-Precision 1D Convolution Using Fixed-Size Kernel Single-Precision Double-Precision Summary AVX-512 Programming – Packed Integers AVX-512 Overview Execution Environment Merge Masking and Zero Masking Embedded Broadcasts Instruction-Level Rounding Integer Arithmetic Elementary Operations Masked Operations Image Processing Image Thresholding Image Statistics Image Histogram Summary AVX-512 Programming – Packed Floating-Point – Part Floating-Point Arithmetic Elementary Operations Packed Comparisons Floating-Point Arrays Floating-Point Matrices Covariance Matrix Matrix Multiplication Matrix (4 × 4) Vector Multiplication Summary AVX-512 Programming – Packed Floating-Point – Part Signal Processing 1D Convolution Using Variable-Size Kernel 1D Convolution Using Fixed-Size Kernel Summary Advanced Assembly Language Programming CPUID Instruction Processor Vendor Information X86-AVX Detection Non-temporal Memory Stores Integer Non-temporal Memory Stores Floating-Point Non-temporal Memory Stores SIMD Text Processing Summary Assembly Language Optimization and Development Guidelines Assembly Language Optimization Guidelines Basic Techniques Floating-Point Arithmetic Branch Instructions Data Alignment SIMD Techniques Assembly Language Development Guidelines Identify Functions for x86-64 Assembly Language Coding Select Target x86-AVX Instruction Set Establish Benchmark Timing Objectives Code x86-64 Assembly Language Functions Benchmark x86-64 Assembly Language Code Optimize x86-64 Assembly Language Code Repeat Benchmarking and Optimization Steps Summary Appendix A: Source Code and Development Tools Appendix B: References and Resources Index
Get This Torrent
Kusswurm D. Modern X86 Assembly Language Programming. Covers X86 64-bit 3ed 2023.pdf
9.6 MB
Kusswurm D. Modern Parallel Programming with C++...Assembly 2022.pdf
20.8 MB
Similar Posts:
Category
Name
Uploaded
E-books
Kusswurm D. Modern Parallel Programming with C++...Assembly 2022
Jan. 29, 2023, 7:03 p.m.