Modern X86 assembly language programming [electronic resource] : 32-bit, 64-bit, SSE, and AVX /
Kusswurm, Daniel.author.
Modern X86 Assembly Language Programming shows the fundamentals of x86 assembly language programming. It focuses on the aspects of the x86 instruction set that are most relevant to application software development. The book's structure and sample code are designed to help the reader quickly understand x86 assembly language programming and the computational capabilities of the x86 platform. Please note: Book appendixes can be downloaded here: http://www.apress.com/9781484200650 Major topics of the book include the following: 32-bit core architecture, data types, internal registers, memory addressing modes, and the basic instruction set X87 core architecture, register stack, special purpose registers, floating-point encodings, and instruction set MMX technology and instruction set Streaming SIMD extensions (SSE) and Advanced Vector Extensions (AVX) including internal registers, packed integer arithmetic, packed and scalar floating-point arithmetic, and associated instruction sets 64-bit core architecture, data types, internal registers, memory addressing modes, and the basic instruction set 64-bit extensions to SSE and AVX technologies X86 assembly language optimization strategies and techniques.
""Contents at a Glance""; ""Contents""; ""About the Author""; ""About the Technical Reviewer""; ""Acknowledgments""; ""Introduction""; ""Chapter 1: X86-32 Core Architecture""; ""Historical Overview""; ""Data Types""; ""Fundamental Data Types""; ""Numerical Data Types""; ""Packed Data Types""; ""Miscellaneous Data Types""; ""Internal Architecture""; ""Segment Registers""; ""General-Purpose Registers""; ""EFLAGS Register""; ""Instruction Pointer""; ""Instruction Operands""; ""Memory Addressing Modes""; ""Instruction Set Overview""; ""Data Transfer""; ""Binary Arithmetic""; ""Data Comparison""
""Data Conversion""""Logical""; ""Rotate and Shift""; ""Byte Set and Bit String""; ""String""; ""Flag Manipulation""; ""Control Transfer""; ""Miscellaneous""; ""Summary""; ""Chapter 2: X86-32 Core Programming""; ""Getting Started""; ""First Assembly Language Function""; ""Integer Multiplication and Division""; ""X86-32 Programming Fundamentals""; ""Calling Convention""; ""Memory Addressing Modes""; ""Integer Addition""; ""Condition Codes""; ""Arrays""; ""One-Dimensional Arrays""; ""Two-Dimensional Arrays""; ""Structures""; ""Simple Structures""; ""Dynamic Structure Creation""; ""Strings""
""Counting Characters""""String Concatenation""; ""Comparing Arrays""; ""Array Reversal""; ""Summary""; ""Chapter 3: X87 Floating-Point Unit""; ""X87 FPU Core Architecture""; ""Data Registers""; ""X87 FPU Special-Purpose Registers""; ""X87 FPU Operands and Encodings""; ""X87 FPU Instruction Set""; ""Data Transfer""; ""Basic Arithmetic""; ""Data Comparison""; ""Transcendental""; ""Constants""; ""Control""; ""Summary""; ""Chapter 4: X87 FPU Programming""; ""X87 FPU Programming Fundamentals""; ""Simple Arithmetic""; ""Floating-Point Compares""; ""X87 FPU Advanced Programming""
""Floating-Point Arrays""""Transcendental Instructions""; ""Advanced Stack Usage""; ""Summary""; ""Chapter 5: MMX Technology""; ""SIMD Processing Concepts""; ""Wraparound vs. Saturated Arithmetic""; ""MMX Execution Environment""; ""MMX Instruction Set""; ""Data Transfer""; ""Arithmetic""; ""Comparison""; ""Conversion""; ""Logical and Shift""; ""Unpack and Shuffle""; ""Insertion and Extraction""; ""State and Cache Control""; ""Summary""; ""Chapter 6: MMX Technology Programming""; ""MMX Programming Fundamentals""; ""Packed Integer Addition""; ""Packed Integer Shifts""
""Packed Integer Multiplication""""MMX Advanced Programming""; ""Integer Array Processing""; ""Using MMX and the x87 FPU""; ""Summary""; ""Chapter 7: Streaming SIMD Extensions""; ""X86-SSE Overview""; ""X86-SSE Execution Environment""; ""X86-SSE Register Set""; ""X86-SSE Data Types""; ""X86-SSE Control-Status Register""; ""X86-SSE Processing Techniques""; ""X86-SSE Instruction Set Overview""; ""Scalar Floating-Point Data Transfer""; ""Scalar Floating-Point Arithmetic""; ""Scalar Floating-Point Comparison""; ""Scalar Floating-Point Conversion""; ""Packed Floating-Point Data Transfer""
""Packed Floating-Point Arithmetic""
''The Expert Voice in Programming''--Cover.
Includes index.
Modern X86 Assembly Language Programming shows the fundamentals of x86 assembly language programming. It focuses on the aspects of the x86 instruction set that are most relevant to application software development. The book's structure and sample code are designed to help the reader quickly understand x86 assembly language programming and the computational capabilities of the x86 platform. Please note: Book appendixes can be downloaded here: http://www.apress.com/9781484200650 Major topics of the book include the following: 32-bit core architecture, data types, internal registers, memory addressing modes, and the basic instruction set X87 core architecture, register stack, special purpose registers, floating-point encodings, and instruction set MMX technology and instruction set Streaming SIMD extensions (SSE) and Advanced Vector Extensions (AVX) including internal registers, packed integer arithmetic, packed and scalar floating-point arithmetic, and associated instruction sets 64-bit core architecture, data types, internal registers, memory addressing modes, and the basic instruction set 64-bit extensions to SSE and AVX technologies X86 assembly language optimization strategies and techniques.
Programming languages (Electronic computers).
Software engineering.
Programming Languages, Compilers, Interpreters.
Software Engineering/Programming and Operating Systems.