کتاب از صفر تا قهرمانی: توسعه نرمافزار برای مینیکامپیوترها با زبان اسمبلی
249,950 تومان
📚 کتاب آموزشی جامع
📚 اطلاعات کتاب
عنوان کتاب: کتاب از صفر تا قهرمانی: توسعه نرمافزار برای مینیکامپیوترها با زبان اسمبلی
موضوع کلی: معماری و برنامهنویسی سیستمهای کامپیوتری
موضوع میانی: زبان اسمبلی و توسعه نرمافزار برای سیستمهای کوچک
📋 سرفصلهای کتاب (100 موضوع)
- 1. سفر به دنیای مینیکامپیوترها: تاریخچه و اهمیت
- 2. مبانی معماری کامپیوتر: نگاهی کلی
- 3. نمایش دادهها در کامپیوتر: بیتها و بایتها
- 4. سیستمهای عددی (دودویی، اکتال، هگزادسیمال) و تبدیل آنها
- 5. معرفی زبان اسمبلی: چرا و چگونه؟
- 6. مزایا و معایب برنامهنویسی با زبان اسمبلی
- 7. نقش زبان اسمبلی در سیستمهای نهفته و سختافزار
- 8. آشنایی با ابزارهای اولیه: ویرایشگر متن و مفهوم اسمبلر
- 9. یک برنامه "Hello World" در زبان اسمبلی (مفاهیم اولیه)
- 10. اکوسیستم توسعه نرمافزار برای مینیکامپیوترها
- 11. ساختار پایه یک مینیکامپیوتر فرضی
- 12. واحد پردازش مرکزی (CPU): قلب تپنده سیستم
- 13. انواع رجیسترها در CPU: کاربردها و نقشها
- 14. رجیسترهای عمومی (General Purpose Registers)
- 15. رجیسترهای اشارهگر و شمارنده برنامه (PC, SP)
- 16. رجیستر وضعیت (Status Register) و پرچمها (Flags)
- 17. حافظه اصلی (Main Memory): سازماندهی و سلسلهمراتب
- 18. آدرسدهی حافظه: مفاهیم پایه
- 19. گذرگاهها (Buses): داده، آدرس، کنترل
- 20. چرخه واکشی-اجرا (Fetch-Execute Cycle)
- 21. مجموعه دستورالعمل (Instruction Set) چیست؟
- 22. فرمت دستورالعملها: کد عملیات و عملوندها
- 23. انواع داده قابل پردازش توسط CPU
- 24. دستورالعملهای انتقال داده (Data Transfer Instructions)
- 25. دستورالعملهای محاسباتی (Arithmetic Instructions)
- 26. دستورالعملهای منطقی (Logical Instructions)
- 27. دستورالعملهای شیفت و چرخش (Shift and Rotate Instructions)
- 28. دستورالعملهای کنترل جریان (Control Flow Instructions): پرشها
- 29. دستورالعملهای فراخوانی زیربرنامه و بازگشت (Call/Return)
- 30. معرفی حالتهای آدرسدهی (Addressing Modes)
- 31. سینتکس پایه زبان اسمبلی: برچسبها، دستورات، عملوندها
- 32. استفاده از ثوابت و مقادیر مستقیم (Immediate Values)
- 33. آدرسدهی مستقیم و غیرمستقیم رجیستری (Direct/Indirect Register Addressing)
- 34. آدرسدهی مستقیم و غیرمستقیم حافظهای (Direct/Indirect Memory Addressing)
- 35. آدرسدهی با تغییر مکان (Indexed Addressing)
- 36. تعریف دادهها در حافظه: بایتها، کلمات، رشتهها
- 37. کار با متغیرها و لیبلها در اسمبلی
- 38. ایجاد حلقهها با دستورات پرش شرطی (Conditional Jumps)
- 39. ساختارهای شرطی (IF-THEN-ELSE) در اسمبلی
- 40. طراحی زیربرنامهها (Subroutines) و مزایای آنها
- 41. استفاده از پشته (Stack) برای ذخیره رجیسترها و پارامترها
- 42. ارسال پارامتر به زیربرنامهها از طریق رجیستر یا پشته
- 43. فراخوانی زیربرنامهها و مدیریت چارچوب پشته (Stack Frame)
- 44. ماکروها در زبان اسمبلی: معرفی و کاربردها
- 45. تعریف و استفاده از ماکروها برای سادهسازی کد
- 46. ورودی/خروجی برنامهریزی شده (Programmed I/O)
- 47. کار با پورتهای ورودی/خروجی (I/O Ports)
- 48. نوشتن یک برنامه کامل: خواندن ورودی و نمایش خروجی
- 49. ابزارهای دیباگینگ اولیه: شبیهساز و ردیاب (Tracer)
- 50. استراتژیهای تست و اشکالزدایی کد اسمبلی
- 51. ضرورت اسمبلر: تبدیل کد اسمبلی به کد ماشین
- 52. معماری یک اسمبلر: گذر اول و گذر دوم
- 53. ساختار دادههای اسمبلر: جدول نماد (Symbol Table)
- 54. طراحی و پیادهسازی جدول نماد (Symbol Table Implementation)
- 55. تحلیلگر لغوی (Lexical Analyzer) و تشخیص توکنها
- 56. تحلیلگر نحوی (Syntax Analyzer) و قواعد گرامر اسمبلی
- 57. گذر اول اسمبلر: جمعآوری نمادها و آدرسدهی
- 58. گذر دوم اسمبلر: تولید کد ماشین و حل ارجاعات
- 59. تولید فایل آبجکت (Object File) و فرمت آن
- 60. مدیریت خطاها در اسمبلر: تشخیص و گزارش
- 61. ضرورت لینک/لودر: ترکیب ماژولها و آمادهسازی برای اجرا
- 62. مفهوم جابهجایی آدرس (Relocation)
- 63. فرمت فایلهای آبجکت قابل جابهجایی (Relocatable Object Files)
- 64. لینکسازی استاتیک (Static Linking): ترکیب کد و داده
- 65. جدولهای ارجاع خارجی (External Reference Tables)
- 66. طراحی و پیادهسازی یک لینککننده ساده
- 67. فرمت فایل اجرایی (Executable File Format)
- 68. مفهوم لودر (Loader) و وظایف آن
- 69. انواع لودرها: مطلق، جابهجاپذیر، دینامیک
- 70. پیادهسازی یک لودر برای مینیکامپیوتر فرضی
- 71. ضرورت شبیهساز: اجرای کد بدون سختافزار فیزیکی
- 72. معماری یک شبیهساز: شبیهسازی CPU، حافظه و I/O
- 73. پیادهسازی شبیهساز CPU: مدلسازی رجیسترها و پرچمها
- 74. شبیهسازی چرخه واکشی-اجرا در نرمافزار
- 75. شبیهسازی حافظه: آرایهها و مدیریت دسترسی
- 76. شبیهسازی دستگاههای ورودی/خروجی
- 77. رابط کاربری شبیهساز: نمایش وضعیت رجیسترها و حافظه
- 78. قابلیتهای اشکالزدایی (Debugging Features): نقاط توقف (Breakpoints)
- 79. قابلیتهای ردیابی (Tracing) و اجرای گام به گام (Step-by-Step Execution)
- 80. پیادهسازی یک شبیهساز کامل برای مینیکامپیوتر فرضی
- 81. مفهوم بوتاسترپینگ (Bootstrapping): اولین کد اجرایی
- 82. ROM مانیتور (ROM Monitor) و وظایف آن
- 83. بارگذاری سیستمعامل: از ROM به RAM
- 84. مدیریت وقفه (Interrupt Handling): مفاهیم و ضرورت
- 85. بردار وقفه (Interrupt Vector Table)
- 86. پیادهسازی روالهای سرویسدهی وقفه (ISR)
- 87. مدیریت حافظه پایه: تخصیص و آزادسازی ساده
- 88. مفهوم فضای آدرس منطقی و فیزیکی
- 89. درایورهای دستگاه (Device Drivers): ارتباط با سختافزار
- 90. پیادهسازی یک درایور دستگاه ورودی/خروجی ساده
- 91. مالتیتسکینگ (Multitasking) اولیه: سوئیچ وظیفه (Task Switching)
- 92. زمانبندی (Scheduling) وظایف در یک سیستم ساده
- 93. مدیریت ورودی/خروجی مبتنی بر وقفه (Interrupt-driven I/O)
- 94. ارتباط سریال (Serial Communication): مفاهیم و پیادهسازی
- 95. استفاده از تایمرها (Timers) برای وظایف زمانبندی شده
- 96. ذخیرهسازی دادهها: کار با دستگاههای ذخیرهسازی ساده
- 97. بهینهسازی کد اسمبلی: سرعت و حجم
- 98. واسط برنامهنویسی کاربردی (API) و فراخوانیهای سیستمی (System Calls)
- 99. توسعه سیستمهای نهفته (Embedded Systems) با اسمبلی
- 100. آینده برنامهنویسی سطح پایین و نقش زبان اسمبلی
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.