کتاب از صفر تا قهرمانی: توسعه نرم‌افزار برای مینی‌کامپیوترها با زبان اسمبلی

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. آینده برنامه‌نویسی سطح پایین و نقش زبان اسمبلی

نظرات

هنوز نظری ثبت نشده است.

وارد شوید تا نظر ثبت کنید.