دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش:
نویسندگان: Ray Seyfarth
سری:
ISBN (شابک) : 1466470038, 9781466470033
ناشر: CreateSpace Independent Publishing Platform
سال نشر: 2011
تعداد صفحات: 256
زبان: English
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 5 مگابایت
در صورت تبدیل فایل کتاب Introduction to 64 Bit Intel Assembly Language Programming for Linux به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب مقدمه ای بر برنامه نویسی زبان اسمبلی 64 بیتی اینتل برای لینوکس نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
این کتاب یک کتاب درسی برنامه نویسی به زبان اسمبلی است که برنامه نویسان را با زبان اسمبلی 64 بیتی اینتل آشنا می کند. این کتاب به عنوان اولین کتاب زبان اسمبلی برای برنامه نویسان با تجربه در برنامه نویسی سطح بالا به زبانی مانند C یا C در نظر گرفته شده است. برنامه نویسی اسمبلی با استفاده از اسمبلر yasm (مثل اسمبلر nasm) تحت سیستم عامل لینوکس انجام می شود. این کتاب در درجه اول نحوه نوشتن کد اسمبلی سازگار با برنامه های C را آموزش می دهد. خواننده فراخوانی توابع C را از زبان اسمبلی و فراخوانی توابع اسمبلی از C علاوه بر نوشتن برنامه های کامل در زبان اسمبلی فرا خواهد خواند. کامپایلر gcc برای برنامه نویسی C استفاده می شود. این کتاب با تأکید بر استفاده از دیباگر gdb برای اشکالزدایی برنامهها شروع میکند. توانایی برنامه های اسمبلی تک مرحله ای در یادگیری برنامه نویسی اسمبلی بسیار مهم است. از نکات برجسته این کتاب می توان به انجام برنامه نویسی ورودی/خروجی با استفاده از فراخوانی سیستم لینوکس و کتابخانه C، پیاده سازی ساختارهای داده در زبان اسمبلی و برنامه نویسی زبان اسمبلی با کارایی بالا اشاره کرد. یک وب سایت همراه دارای مجموعه ای از اسلایدهای PDF است که مربیان می توانند برای ارائه در کلاس و کد منبع برای برنامه های نمونه استفاده کنند. فصل های اولیه کتاب بر استفاده از اشکال زدا برای مشاهده رفتار برنامه تکیه دارند. پس از فصلی در مورد توابع، کاربر آماده است تا از printf و scanf از کتابخانه C برای انجام I/O استفاده کند. فصل مربوط به ساختارهای داده، فهرستهای با پیوند منفرد، فهرستهای دایرهای با پیوند دوگانه، جداول هش و درختهای باینری را پوشش میدهد. برنامه های آزمایشی برای تمام این ساختارهای داده ارائه شده است. یک فصل در مورد تکنیک های بهینه سازی و 3 فصل در مورد بهینه سازی های خاص وجود دارد. یک فصل نحوه شمارش کارآمد 1 بیت در یک آرایه با کارآمدترین نسخه با استفاده از دستورالعمل popcnt که اخیراً معرفی شده است را پوشش می دهد. فصل دیگر استفاده از دستورالعمل های SSE برای ایجاد یک پیاده سازی کارآمد از الگوریتم فیلتر Sobel را پوشش می دهد. فصل آخر برنامه نویسی با کارایی بالا در مورد همبستگی محاسباتی بین داده ها در 2 آرایه بحث می کند. یک پیاده سازی AVX وجود دارد که 20.5 GFLOP را در یک هسته از یک CPU Core i7 به دست می آورد.
This book is an assembly language programming textbook introducing programmers to 64 bit Intel assembly language. The book is intended as a first assembly language book for programmers experienced in high level programming in a language like C or C++. The assembly programming is performed using the yasm assembler (much like the nasm assembler) under the Linux operating system. The book primarily teaches how to write assembly code compatible with C programs. The reader will learn to call C functions from assembly language and to call assembly functions from C in addition to writing complete programs in assembly language. The gcc compiler is used for C programming. The book starts early emphasizing using the gdb debugger to debug programs. Being able to single-step assembly programs is critical in learning assembly programming. Highlights of the book include doing input/output programming using the Linux system calls and the C library, implementing data structures in assembly language and high performance assembly language programming. A companion web site has a collection of PDF slides which instructors can use for in-class presentations and source code for sample programs. Early chapters of the book rely on using the debugger to observe program behavior. After a chapter on functions, the user is prepared to use printf and scanf from the C library to perform I/O. The chapter on data structures covers singly linked lists, doubly linked circular lists, hash tables and binary trees. Test programs are presented for all these data structures. There is a chapter on optimization techniques and 3 chapters on specific optimizations. One chapter covers how to efficiently count the 1 bits in an array with the most efficient version using the recently-introduced popcnt instruction. Another chapter covers using SSE instructions to create an efficient implementation of the Sobel filtering algorithm. The final high performance programming chapter discusses computing correlation between data in 2 arrays. There is an AVX implementation which achieves 20.5 GFLOPs on a single core of a Core i7 CPU.