معرفی و دانلود کتاب برنامه نویسی به زبان اسمبلی در معماری 64 بیتی مدرن: همراه با مثالهای آموزشی و هدفمند
برای دانلود قانونی کتاب برنامه نویسی به زبان اسمبلی در معماری 64 بیتی مدرن و دسترسی به هزاران کتاب و کتاب صوتی دیگر، اپلیکیشن کتابراه را رایگان نصب کنید.
معرفی کتاب برنامه نویسی به زبان اسمبلی در معماری 64 بیتی مدرن: همراه با مثالهای آموزشی و هدفمند
کتاب برنامه نویسی به زبان اسمبلی در معماری 64 بیتی مدرن نوشتهی دکتر عین الله جعفرنژاد قمی، یک راهنمای عملی و تصویری برای آشنایی با مبانی زبان اسمبلی و کار با آن در سطوح مختلف برنامهنویسی است. آموزش گامبهگام و مثالهای هدفمند این راهنما به شما کمک میکند تا درک بهتری از مجموعه امکانات و ویژگیهای منحصربهفرد اسمبلر NASM در معماری 64 بیتی داشته باشید و اصول بهینهسازی کد در ارتباط با دادههای حجیم را بیاموزید.
دربارهی کتاب برنامه نویسی به زبان اسمبلی در معماری 64 بیتی مدرن
برای یک برنامهنویس موفق، آشنایی با زبانهای مختلف برنامهنویسی به معنی اجرای دقیقتر کدها و دسترسی به امکانات بیشتر است. این روزها کتابهای بسیاری در ارتباط با یادگیری زبان برنامهنویسی پایتون و جاوا نوشته شده& اما دکتر عین الله جعفرنژاد قمی قصد دارد تا در کتاب برنامه نویسی به زبان اسمبلی در معماری 64 بیتی مدرن، فرصتی برای آشنایی با یکی از پایهایترین زبانهای برنامهنویسی یعنی زبان اسمبلی (Assembly Language) برای شما فراهم کند و دید عمیقتری به نحوه عملکرد پردازندهها و حافظهی دادهها بر پایهی این زبان ارائه دهد.
در بین زبانهای مختلف برنامهنویسی، زبان اسمبلی بیشتر بابت نزدیکی به زبان و مجموعه دستورات پردازنده شناخته میشود؛ موضوعی که در عین جذابیت میتواند برای برنامهنویسان چالشبرانگیز باشد. نویسندهی کتاب برنامه نویسی به زبان اسمبلی در معماری 64 بیتی مدرن، برای رفع این مشکل، مباحث آموزشی کتاب خود را در برنامهی Code::Blocks تعریف کرده است. به این ترتیب برنامهنویسانی که پیش از این نیز سابقهی کار با این محیط توسعهی یکپارچه و برنامهنویسی به زبان C و C++ را دارند میتوانند بدون پیچیدگی، آموزش خود را در این حوزه از سر بگیرند.
زبان اسمبلی، تعاملی میان جهان نرمافزار و سختافزار
کار با زبان اسمبلی به شما این امکان را میدهد تا به عنوان یک برنامهنویس کنترلی دقیق و سطح پایین بر منابع سیستم داشته باشید و کد را به زبانی نزدیک به سختافزار و معماری پردازنده پیادهسازی کنید. به همین جهت، نمیتوان کاربردهای گستردهی زبان اسمبلی در توسعهی سیستمعامل، سیستمهای تعبیهشده، لختافزار، بازی و گرافیک و مهندسی معکوس و امنیت نرمافزار، درایورهای دستگاه و رمزنگاری را نادیده گرفت. همچنین میتوان پیشبینی کرد که در کار با زبان اسمبلی به تعامل با حجم بالایی از دادهها و در نتیجه استفاده از یک اسمبلر قدرتمند نیاز داریم.
نویسندهی کتاب برنامه نویسی به زبان اسمبلی در معماری 64 بیتی مدرن، پس از تعریف کار در محیط برنامهی Code::Blocks ما را برای آغاز فرایند کدنویسی با یکی از قدرتمندترین اسمبلرهای موجود در بازار یعنی NASM آماده میکند. با کمک گرفتن از آموزههای این کتاب، میتوانیم بسیاری از پیچیدگی و چالشهای کار با زبان اسمبلی را پشت سر بگذاریم؛ از قابلیتهای کامپیوترهای 64 بیتی استفاده ببریم و مدیریت بهتری بر دادههای حجیم و کنترل دقیق منابع سیستم داشته باشیم. تصاویر راهنما، مثالهای متنوع و هدفمند و همچنین تمریناتی که در پایان هر فصل به شما ارائه میشود، همراهان اصلی شما برای یادگیری هرچه دقیقتر مباحث هستند. دعوت میکنیم حتماً از مطالب پرکاربرد این کتاب استفاده ببرید.
این کتاب با تلاش انتشارات علوم رایانه به دست علاقهمندان میرسد.
کتاب برنامه نویسی به زبان اسمبلی در معماری 64 بیتی مدرن برای شما مناسب است اگر
- به علوم کامپیوتری، درک معماری کامپیوتری و نحوهی عملکرد سختافزار و نرمافزار علاقهمندید.
- میخواهید دانش خود را در زمینهی برنامهنویسی و نظم و توسعهی سیستم عامل، به روز نگه دارید.
در بخشی از کتاب برنامه نویسی به زبان اسمبلی در معماری 64 بیتی مدرن: همراه با مثالهای آموزشی و هدفمند میخوانیم
3-6. پرش شرطی
دستورات پرش شرطی به برنامهنویس این امکان را میدهند که اجرای برنامه را بر اساس نتیجهی مقایسهها یا وضعیت بیتهای خاص در پرچمها (ثبات FLAGS) کنترل کند. این دستورات معمولاً پس از دستوری مثل cmp استفاده میشوند که با توجه به نتیجهی عمل آنها پرچمهایی مثل SF، CF، ZF و OF تغییر میکنند. دستورات متنوعی برای پرش شرطی وجود دارند مثل jg، jne، je و غیره که در این بخش بررسی میشوند. اما از آنجا که این دستورات معمولاً روی نتیجهی دستور cmp عمل میکنند، ابتدا این دستور را مورد بحث قرار میدهیم.
1-3-6. انجام مقایسه با دستور cmp
در هر برنامهی اسمبلی گاهی مواردی پیش میآید که باید مسیر اجرای برنامه بر اساس یک مقایسه انتخاب شود. مثلاً آیا کاربر رمز خود را درست وارد کرده است؟ آیا مقدار موجودی حساب کافی است؟ آیا به پایان لیست رسیدیم و غیره؟ بدون انجام مقایسه نمیتوانیم مسیر اجرا را تعیین کنیم. یکی از دستورات مقایسه در اسمبلی دستور cmp است که در این بخش بررسی میشود. این دستور به صورت زیر به کار میرود:
cmp operand1, operand2
فهرست مطالب کتاب
فصل اول: زبان اسمبلی و معماری سیستمهای 64 بیتی
1-1. تعریف و ویژگیهای زبان اسمبلی
1-2. کاربردهای زبان اسمبلی
1-3. جایگاه زبان اسمبلی
1-4. ساختار پردازندهی 64 بیتی
1-5. انواع دادهی 64 بیتی و همترازی
1-6. تمرینها
فصل دوم: معرفی اَسمبلر و محیط برنامهنویسی مدرن
2-1. معرفی اسمبلرهای معروف
2-2. محیط توسعهی یکپارچه برای اسمبلی
2-3. نصب محیط توسعهی یکپارچهی Code::Blocks
2-4. دانلود و نصب NASM با کدبلاکس
2-5. پیکربندی پروژه در کدبلاکس برای NASM
2-6. تمرینها
فصل سوم: تعریف و انتقال داده
3-1. ساختار کلی برنامه در زبان اسمبلی
3-2. تعریف دادهها در برنامه
3-3. انتقال دادهها با دستور mov
3-4. آدرسدهی حافظه در دستورات اسمبلی
3-5. آدرس موثر چیست و چه کاربردی دارد
3-6. انتقال دادهها با دستورات movzx و movsx
3-7. تعیین اندازهی حافظه برای دادهها
3-8. تعویض دادهها با دستور xchg
3-9. دستورات inc و dec
3-10. تمرینها
فصل چهارم: تسهیلات ورودی - خروجی
4-1. تسهیلات ورودی-خروجی با توابع استاندارد C
4-2. تسهیلات ورودی-خروجی با API ویندوز
4-3. تمرینها
فصل پنجم: پردازش دادهها با اَعمال محاسباتی
5-1. مدیریت اعداد علامتدار و بدون علامت
5-2. عمل جمع با دستور add
5-3. عمل تفریق با دستور sub
5-4. عمل جمع با دستور adc
5-5. عمل تفریق با دستور sbb
5-6. عمل جمع با دستور xadd
5-7. تغییر علامت با دستور neg
5-8. عمل ضرب با دستورات mul و imul
5-9. عمل تقسیم با دستورات div و idiv
5-10. تمرینها
فصل ششم: ساختارهای کنترلی
6-1. مفهوم پَرش در اسمبلی
6-2. پَرش غیر شرطی با دستور jmp
6-3. پَرش شرطی
6-4. انشعابهای چندگانه با دستورات پرش
6-5. حلقههای تکرار
6-6. تمرینها
فصل هفتم: تسهیلات پردازش بیتها
7-1. پردازش بیتها با اَعمال منطقی
7-2. پردازش بیتها با اَعمال شیفت
7-3. پردازش بیتها با دستورات چرخش (دوران)
7-4. دستکاری و مقدار دادن به بیتهای خاص
7-5. دستور bt (Bit Test)
7-6. تمرینها
فصل هشتم: تعریف و پیادهسازی توابع
8-1. ساختار کلی برنامه همراه با تابع
8-2. مراحل فراخوانی تابع
8-3. ارسال پارامتر به زیربرنامه
8-4. تعریف متغیرهای محلی توابع در پشته
8-5. توابع بازگشتی
8-6. توابع خارجی
8-7. تمرینها
فصل نهم: آرایهها و رشتهها
9-1. تعریف آرایه در اسمبلی
9-2. تعریف رشته در اسمبلی
9-3. تمرینها
فصل دهم: پردازش فایلهای داده
10-1. قابلیتهای ورودی-خروجی فایل در اسمبلی
10-2. ورودی-خروجی فایل با توابع استاندارد C
10-3. بازکردن یا ایجاد فایل
10-4. نوشتن اطلاعات در فایل
10-5. بستن فایل
10-6. خواندن از فایل
10-7. ورودی-خروجی همراه با فرمت
10-8. سازمان فایل تصادفی
10-9. تمرینها
فصل یازدهم: ارتباط زبان اسمبلی با زبان C
11-1. معماری x86
11-2. مکانهای ذخیرهی دادهها در اسمبلی
11-3. انواع ثباتهای پردازنده
11-4. نیازمندیهای فنی
11-5. چگونه در C برنامه اسمبلی بنویسیم
11-6. تمرینها
فصل دوازدهم: پردازش موازی دادهها
12-1. واحد ممیز شناور x87 FPU
12-2. دستورات بارگذاری و ذخیرهسازی در FPU
12-3. فناوریهای SSE و AVX
12-4. فناوری SSE
12-5. فناوریهای AVX
12-6. تمرینها
واژهنامه انگلیسی به فارسی
منابع و مآخذ
مشخصات کتاب الکترونیک
نام کتاب | کتاب برنامه نویسی به زبان اسمبلی در معماری 64 بیتی مدرن: همراه با مثالهای آموزشی و هدفمند |
نویسنده | عین الله جعفرنژاد قمی |
ناشر چاپی | انتشارات علوم رایانه |
سال انتشار | ۱۴۰۴ |
فرمت کتاب | |
تعداد صفحات | 221 |
زبان | فارسی |
شابک | 978-600-205-245-2 |
موضوع کتاب | کتابهای برنامه نویسی اسمبلی |