Modern X86 assembly language programming covers X86 64-Bit, AVX, AVX2, and AVX-512

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 instructi...

Full description

Bibliographic Details
Main Author: Kusswurm, Daniel
Format: eBook
Language:English
Published: [New York, NY] Apress 2018
Edition:Second edition
Subjects:
Online Access:
Collection: O'Reilly - Collection details see MPG.ReNa
LEADER 05228nmm a2200433 u 4500
001 EB001935843
003 EBX01000000000000001098745
005 00000000000000.0
007 cr|||||||||||||||||||||
008 210123 ||| eng
020 |a 9781484240632 
050 4 |a QA76.73.X16 
100 1 |a Kusswurm, Daniel 
245 0 0 |a Modern X86 assembly language programming  |b covers X86 64-Bit, AVX, AVX2, and AVX-512  |c Daniel Kusswurm 
250 |a Second edition 
260 |a [New York, NY]  |b Apress  |c 2018 
300 |a 1 online resource 
505 0 |a SIMD Programming ConceptsWraparound vs. Saturated Arithmetic; AVX Execution Environment; Register Set; Data Types; Instruction Syntax; AVX Scalar Floating-Point; Floating-Point Programming Concepts; Scalar Floating-Point Register Set; Control-Status Register; Instruction Set Overview; AVX Packed Floating-Point; Instruction Set Overview; AVX Packed Integer; Instruction Set Overview; Differences Between x86-AVX and x86-SSE; Summary; Chapter 5: AVX Programming -- Scalar Floating-Point; Scalar Floating-Point Arithmetic; Single-Precision Floating-Point; Double-Precision Floating-Point 
505 0 |a Addition and SubtractionLogical Operations; Shift Operations; Advanced Integer Arithmetic; Multiplication and Division; Calculations Using Mixed Types; Memory Addressing and Condition Codes; Memory Addressing Modes; Condition Codes; Summary; Chapter 3: X86-64 Core Programming -- Part 2; Arrays; One-Dimensional Arrays; Accessing Elements; Using Elements in Calculations; Two-Dimensional Arrays; Accessing Elements; Row-Column Calculations; Structures; Strings; Counting Characters; String Concatenation; Comparing Arrays; Array Reversal; Summary; Chapter 4: Advanced Vector Extensions; AVX Overview 
505 0 |a Scalar Floating-Point Compares and ConversionsFloating-Point Compares; Floating-Point Conversions; Scalar Floating-Point Arrays and Matrices; Floating-Point Arrays; Floating-Point Matrices; Calling Convention; Basic Stack Frames; Using Non-Volatile General-Purpose Registers; Using Non-Volatile XMM Registers; Macros for Prologs and Epilogs; Summary; Chapter 6: AVX Programming -- Packed Floating-Point; Packed Floating-Point Arithmetic; Packed Floating-Point Compares; Packed Floating-Point Conversions; Packed Floating-Point Arrays; Packed Floating-Point Square Roots 
505 0 |a Packed Floating-Point Array Min-MaxPacked Floating-Point Least Squares; Packed Floating-Point Matrices; Matrix Transposition; Matrix Multiplication; Summary; Chapter 7: AVX Programming -- Packed Integers; Packed Integer Addition and Subtraction; Packed Integer Shifts; Packed Integer Multiplication; Packed Integer Image Processing; Pixel Minimum-Maximum Values; Pixel Mean Intensity; Pixel Conversions; Image Histograms; Image Thresholding; Summary; Chapter 8: Advanced Vector Extensions 2; AVX2 Execution Environment; AVX2 Packed Floating-Point; AVX2 Packed Integer; X86 Instruction Set Extensions 
505 0 |a Intro; Contents; About the Author; About the Technical Reviewer; Acknowledgments; Introduction; Chapter 1: X86-64 Core Architecture; Historical Overview; Data Types; Fundamental Data Types; Numerical Data Types; SIMD Data Types; Miscellaneous Data Types; Internal Architecture; General-Purpose Registers; RFLAGS Register; Instruction Pointer; Instruction Operands; Memory Addressing; Differences Between x86-64 and x86-32 Programming; Invalid Instructions; Deprecated Instructions; Instruction Set Overview; Summary; Chapter 2: X86-64 Core Programming -- Part 1; Simple Integer Arithmetic 
653 |a X86 assembly language (Computer program language) / fast 
653 |a X86 assembly language (Langage de programmation) 
653 |a X86 assembly language (Computer program language) / http://id.loc.gov/authorities/subjects/sh2012003657 
653 |a Intel (Microprocesseurs) 
653 |a Intel microprocessors / fast 
653 |a Intel microprocessors / http://id.loc.gov/authorities/subjects/sh97002150 
041 0 7 |a eng  |2 ISO 639-2 
989 |b OREILLY  |a O'Reilly 
015 |a GBB921766 
024 8 |a 10.1007/978-1-4842-4063-2 
776 |z 9781484240632 
776 |z 9781484240625 
776 |z 1484240626 
776 |z 1484240634 
856 4 0 |u https://learning.oreilly.com/library/view/~/9781484240632/?ar  |x Verlag  |3 Volltext 
082 0 |a 005.2 
520 |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