برنامه نويسي

برنامه نویسی مدرن X86 به زبان اسمبلی: 32 بیتی، 64 بیتی، SSE و AVX

Modern X86 Assembly Language Programming: 32-bit, 64-bit, SSE, and AVX

دانلود کتاب Modern X86 Assembly Language Programming: 32-bit, 64-bit, SSE, and AVX (به فارسی: برنامه نویسی مدرن X86 به زبان اسمبلی: 32 بیتی، 64 بیتی، SSE و AVX) نوشته شده توسط «Daniel Kusswurm»


اطلاعات کتاب برنامه نویسی مدرن X86 به زبان اسمبلی: 32 بیتی، 64 بیتی، SSE و AVX

موضوع اصلی: کامپیوتر – برنامه نویسی

نوع: کتاب الکترونیکی

ناشر: Apress

نویسنده: Daniel Kusswurm

زبان: english

فرمت کتاب: PDF (قابل تبدیل به سایر فرمت ها)

سال انتشار: 2014

تعداد صفحه: 700 / 685

حجم فایل: 8.31 مگابایت

کد کتاب: 1484200659 , 9781484200650

نوبت چاپ: 1

توضیحات کتاب برنامه نویسی مدرن X86 به زبان اسمبلی: 32 بیتی، 64 بیتی، SSE و AVX

برنامه نویسی مدرن X86 به زبان اسمبلی اصول برنامه نویسی به زبان اسمبلی x86 را نشان می دهد. بر روی جنبه هایی از مجموعه دستورات x86 که بیشترین ارتباط را با توسعه نرم افزار کاربردی دارد، تمرکز می کند. ساختار و کد نمونه کتاب برای کمک به خواننده در درک سریع برنامه نویسی زبان اسمبلی x86 و قابلیت های محاسباتی پلت فرم x86 طراحی شده است. موضوعات اصلی کتاب شامل موارد زیر است:

  • معماری هسته 32 بیتی، انواع داده ها، ثبات های داخلی، حالت های آدرس دهی حافظه، و مجموعه دستورالعمل های اولیه
  • معماری هسته X87، پشته ثبت، رجیسترهای با هدف ویژه، رمزگذاری‌های ممیز شناور و مجموعه دستورالعمل
  • تکنولوژی MMX و مجموعه دستورالعمل
  • جریان‌های افزودنی SIMD (SSE) و پیشرفته پسوندهای برداری (AVX) شامل رجیسترهای داخلی، محاسبات اعداد صحیح بسته بندی شده، محاسبات ممیز شناور بسته و اسکالر، و مجموعه دستورالعمل های مرتبط
  • معماری هسته 64 بیتی، انواع داده، ثبات های داخلی، حالت های آدرس دهی حافظه و مجموعه دستورالعمل های پایه
  • افزونه های 64 بیتی برای فناوری های SSE و AVX
  • استراتژی ها و تکنیک های بهینه سازی زبان اسمبلی X86

آنچه خواهید آموخت

  • نحوه استفاده از مجموعه دستورات 32 و 64 بیتی x86 برای ایجاد توابع افزایش دهنده عملکرد که از زبان سطح بالا (C++) قابل فراخوانی هستند
  • Ho w برای استفاده از زبان اسمبلی x86 برای دستکاری موثر ساختارهای برنامه نویسی رایج از جمله اعداد صحیح، مقادیر ممیز شناور، رشته های متنی، آرایه ها و ساختارها
  • چگونه از پسوندهای SSE و AVX برای تسریع قابل توجه عملکرد محاسباتی استفاده کنیم. الگوریتم ها و زیر روال های فشرده در حوزه های مشکل مانند پردازش تصویر، گرافیک کامپیوتری، ریاضیات و آمار
  • نحوه استفاده از استراتژی ها و تکنیک های مختلف کدگذاری برای بهره برداری بهینه از ریزمعماری x86 برای حداکثر عملکرد ممکن

این کتاب برای چه کسی است

    مخاطبان هدف برنامه نویسی به زبان Modern X86 اسمبلی توسعه دهندگان نرم افزار هستند از جمله:

    • توسعه دهندگان نرم افزار کسانی که در حال ایجاد برنامه های کاربردی برای پلتفرم های مبتنی بر ویندوز هستند و می خواهند یاد بگیرند که چگونه الگوریتم ها و توابع افزایش عملکرد را با استفاده از زبان اسمبلی x86 بنویسند
    • توسعه دهندگان نرم افزاری که در حال ایجاد برنامه های کاربردی برای محیط های غیر ویندوزی هستند. ent و مایل به یادگیری برنامه نویسی زبان اسمبلی x86 هستند
    • توسعه دهندگان نرم افزاری که درک اولیه از برنامه نویسی زبان اسمبلی x86 دارند و می خواهند نحوه استفاده از SSE و AVX را بیاموزند
    • توسعه دهندگان نرم افزار و علوم کامپیوتر دانش‌آموزانی که می‌خواهند یا باید درک بهتری از پلتفرم x86 از جمله معماری داخلی و مجموعه‌های دستورالعمل آن به دست آورند

    مخاطبان اصلی کتاب توسعه‌دهندگان نرم‌افزار ویندوز هستند زیرا کد نمونه با استفاده از Visual C++ و Visual C++ ایجاد می‌شود. ماکرو اسمبلر مایکروسافت. با این حال، توسعه‌دهندگانی که پلتفرم‌های غیر ویندوزی را هدف قرار می‌دهند، می‌توانند از این کتاب بیاموزند زیرا بیشتر محتوا مستقل از هر سیستم عامل خاصی سازمان‌دهی و ارتباط برقرار می‌شود. به منظور درک مطالب موضوعی کتاب، پیشینه ای که شامل تجربه برنامه نویسی با استفاده از C یا C++ باشد، مفید خواهد بود. تجربه یا دانش یک API خاص ویندوز پیش نیازی برای بهره مندی از این کتاب نخواهد بود.

    فهرست مطالب

    پیشگفتار/پیشگفتار

    1: X86-32 Core Architecture

    2: X86-32 Core Architecture Programming

    3: X87 Floating Point Unit

    4 : برنامه نویسی واحد نقطه شناور X87

    5: فناوری MMX

    6: برنامه نویسی MMX

    7: پخش برنامه های افزودنی SIMD (SSE)

    8: برنامه نویسی X86-SSE – Scalar Floating-Point

    9: X86-SSE Programming – Packed Floating-Point

    10: X86-SSE Programming – Packed Integers

    p>11: برنامه نویسی X86-SSE – رشته های متنی

    12: پسوندهای برداری پیشرفته (AVX)

    13: برنامه نویسی X86-AVX – نقطه شناور اسکالر

    14: برنامه نویسی X86-AVX – نقطه شناور بسته بندی شده

    15: برنامه نویسی X86-AVX – اعداد صحیح بسته بندی شده

    16: برنامه نویسی X86-AVX – دستورالعمل های جدید

    17: X86-64 Core Architecture

    18: X86-64 Core Architecture Programming

    19: X86-64 SIMD Architecture

    20: برنامه نویسی SIMD X86-64

    21: موضوعات پیشرفته و تکنیک های بهینه سازی

    22: برنامه نویسی موضوعات پیشرفته


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

    What you’ll learn

    • How to use the x86’s 32-bit and 64-bit instruction sets to create performance-enhancing functions that are callable from a high-level language (C++)
    • How to use x86 assembly language to efficiently manipulate common programming constructs including integers, floating-point values, text strings, arrays, and structures
    • How to use the SSE and AVX extensions to significantly accelerate the performance of computationally-intensive algorithms and subroutines in problem domains such as image processing, computer graphics, mathematics, and statistics
    • How to use various coding strategies and techniques to optimally exploit the x86’s microarchitecture for maximum possible performance

    Who this book is for

      The target audience for Modern X86 Assembly Language Programming is software developers including:

      • Software developers who are creating application programs for Windows-based platforms and want to learn how to write performance-enhancing algorithms and functions using x86 assembly language
      • Software developers who are creating application programs for non-Windows environments and want to learn x86 assembly language programming
      • Software developers who have a basic understanding of x86 assembly language programming and want to learn how to use SSE and AVX
      • Software developers and computer science students who want or need to gain a better understanding of the x86 platform including its internal architecture and instruction sets

      The primary audience for the book is Windows software developers since the sample code will be created using Visual C++ and Microsoft Macro Assembler. Developers targeting non- Windows platforms, however, also can learn from the book since most of the content will be organized and communicated independent of any specific operating system. In order to understand the book’s subject material, a background that includes some programming experience using C or C++ will be helpful. Experience with or knowledge of a particular Windows API will not be a prerequisite to benefit from the book.

      Table of Contents

      Preface/foreword

      1: X86-32 Core Architecture

      2: X86-32 Core Architecture Programming

      3: X87 Floating Point Unit

      4: X87 Floating Point Unit Programming

      5: MMX Technology

      6: MMX Programming

      7: Streaming SIMD Extensions (SSE)

      8: X86-SSE Programming – Scalar Floating-Point

      9: X86-SSE Programming – Packed Floating-Point

      10: X86-SSE Programming – Packed Integers

      11: X86-SSE Programming – Text Strings

      12: Advanced Vector Extensions (AVX)

      13: X86-AVX Programming – Scalar Floating-Point

      14: X86-AVX Programming – Packed Floating-Point

      15: X86-AVX Programming – Packed Integers

      16: X86-AVX Programming – New Instructions

      17: X86-64 Core Architecture

      18: X86-64 Core Architecture Programming

      19: X86-64 SIMD Architecture

      20: X86-64 SIMD Programming

      21: Advanced Topics and Optimization Techniques

      22: Advanced Topics Programming

      دانلود کتاب «برنامه نویسی مدرن X86 به زبان اسمبلی: 32 بیتی، 64 بیتی، SSE و AVX»

      مبلغی که بابت خرید کتاب می‌پردازیم به مراتب پایین‌تر از هزینه‌هایی است که در آینده بابت نخواندن آن خواهیم پرداخت.

      برای دریافت کد تخفیف ۲۰ درصدی این کتاب، ابتدا صفحه اینستاگرام کازرون آنلاین (@kazerun.online ) را دنبال کنید. سپس، کلمه «بلیان» را در دایرکت ارسال کنید تا کد تخفیف به شما ارسال شود.

      دیدگاهتان را بنویسید