Cargando…

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

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Kusswurm, Daniel (Autor)
Formato: Electrónico eBook
Idioma:Inglés
Publicado: [New York, NY] : Apress, [2018]
Edición:Second edition.
Temas:
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)
Tabla de Contenidos:
  • 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
  • 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
  • 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
  • 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
  • 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