کتاب برنامه نویسی به زبان اسمبلی در معماری 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
بله













