اپلیکیشن اندرویدی فلشکارت آموزشی آموزش جامع و کاربردی زبان اسمبلی Sigma Assembler: از مقدمات تا پروژههای عملی
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره آموزش جامع و کاربردی زبان اسمبلی Sigma Assembler: از مقدمات تا پروژههای عملی
موضوع کلی: برنامهنویسی سطح پایین
موضوع میانی: زبان اسمبلی سیگما
📋 سرفصلهای دوره
- 1. معرفی برنامهنویسی سطح پایین: چرا اسمبلی؟
- 2. آشنایی با معماری کامپیوتر: دیدگاه سختافزاری
- 3. معرفی زبان اسمبلی سیگما و جایگاه آن
- 4. تاریخچه و تکامل زبانهای اسمبلی
- 5. محیط توسعه سیگما: نصب و راهاندازی اسمبلر
- 6. اولین برنامه سیگما: Hello World
- 7. معرفی ساختار یک برنامه اسمبلی سیگما
- 8. مفاهیم پایه: بیت، بایت، کلمه، DWORD
- 9. سیستمهای عددی: باینری، اکتال، دسیمال، هگزادسیمال
- 10. نمایش دادهها در حافظه: اعداد صحیح، کاراکترها
- 11. مفهوم Endianness: Little-Endian و Big-Endian
- 12. ابزارهای اساسی: اسمبلر، لینکر، لودر
- 13. مروری بر اجزای اصلی واحد پردازش مرکزی (CPU)
- 14. رجیسترهای عمومی سیگما: کاربردها
- 15. رجیسترهای اشارهگر و ایندکسر: EIP, ESP, EBP, ESI, EDI (یا معادلهای سیگما)
- 16. رجیستر پرچم (FLAGS Register) و بیتهای وضعیت
- 17. مدلهای حافظه و سگمنتبندی در سیگما
- 18. سازماندهی حافظه RAM: بخشهای کد، داده و پشته
- 19. نحوه دسترسی CPU به حافظه
- 20. واحدهای ALU و CU: نقش آنها در اجرای دستورات
- 21. چرخه اجرای دستور (Fetch-Decode-Execute)
- 22. مفهوم آدرسدهی و انواع آن
- 23. تفاوت حافظه کش و حافظه اصلی
- 24. دستورات انتقال داده: MOV
- 25. دستورات بارگذاری و ذخیره: LOAD و STORE
- 26. دستورات پشته: PUSH و POP
- 27. دستورات تبادل: XCHG
- 28. دستورات حسابی: ADD, SUB
- 29. دستورات ضرب: MUL (Unsigned) و IMUL (Signed)
- 30. دستورات تقسیم: DIV (Unsigned) و IDIV (Signed)
- 31. دستورات افزایش و کاهش: INC, DEC
- 32. دستورات مقایسه: CMP
- 33. دستورات منطقی: AND, OR, XOR, NOT
- 34. دستورات نفی: NEG
- 35. دستورات شیفت منطقی و حسابی: SHL, SHR, SAR, SAL
- 36. دستورات چرخش: ROL, ROR, RCL, RCR
- 37. مفهوم پرچمها پس از دستورات حسابی و منطقی
- 38. دستورات تبدیل داده
- 39. دستور NOP و کاربرد آن
- 40. مروری بر کدگذاری دستورات (Opcode)
- 41. آدرسدهی مستقیم (Direct Addressing)
- 42. آدرسدهی رجیستری (Register Addressing)
- 43. آدرسدهی بلافصل (Immediate Addressing)
- 44. آدرسدهی غیرمستقیم رجیستری (Register Indirect Addressing)
- 45. آدرسدهی پایه و ایندکسی (Base & Index Addressing)
- 46. آدرسدهی مقیاسدار (Scaled Index Addressing)
- 47. استفاده از آفستها و جابجاییها
- 48. تعریف متغیرها در بخش داده: DB, DW, DD, DQ
- 49. تعریف رشتهها و کاراکترها
- 50. تخصیص فضای حافظه برای آرایهها
- 51. دستورات کار با آدرسها: LEA
- 52. مدیریت حافظه پشته: کاربردها و محدودیتها
- 53. دستور پرش بدون قید و شرط: JMP
- 54. لیبلها (Labels) و کاربرد آنها
- 55. دستور مقایسه و پرچمها (CMP, TEST)
- 56. دستورات پرش شرطی: JZ, JNZ, JE, JNE
- 57. دستورات پرش شرطی برای مقادیر بدون علامت: JA, JAE, JB, JBE
- 58. دستورات پرش شرطی برای مقادیر علامتدار: JG, JGE, JL, JLE
- 59. پیادهسازی ساختارهای If-Else با دستورات پرش
- 60. پیادهسازی حلقههای While و For با اسمبلی
- 61. دستورات CALL و RET: فراخوانی زیربرنامهها
- 62. مفهوم پشته در فراخوانی توابع: ذخیره آدرس بازگشت
- 63. ارسال پارامتر به زیربرنامهها: روشهای مختلف
- 64. بازگرداندن مقادیر از زیربرنامهها
- 65. ماژولار کردن کد با استفاده از زیربرنامهها
- 66. کار با آرایهها در سیگما: دسترسی به عناصر
- 67. پیمایش آرایهها با استفاده از حلقهها و اشارهگرها
- 68. مفهوم رشتهها و پایاندهنده Null-terminated
- 69. دستورات کار با رشتهها (MOVS, SCAS, CMPS)
- 70. جستجو و جایگزینی در رشتهها
- 71. پیادهسازی ساختارها (Structs/Records) در اسمبلی
- 72. آرایهای از ساختارها
- 73. تبدیل انواع داده (Type Casting) در اسمبلی
- 74. مفاهیم اولیه صف و پشته در حافظه
- 75. معرفی سیستم عامل و خدمات آن
- 76. فراخوانیهای سیستمی (System Calls/Interrupts) در سیگما
- 77. ورودی/خروجی کنسول: خواندن کاراکترها
- 78. ورودی/خروجی کنسول: نمایش رشتهها
- 79. تبدیل اعداد به رشته و بالعکس برای نمایش
- 80. کار با فایلها: باز کردن، بستن، خواندن و نوشتن (فراخوانیهای سیستمی)
- 81. مفهوم دستگیرههای فایل (File Handles)
- 82. مدیریت خطاهای فراخوانیهای سیستمی
- 83. تعامل با پورتها (مفاهیم پایه I/O Port)
- 84. مفاهیم اولیه برنامهنویسی وقفه (Interrupt Handling)
- 85. تعریف و استفاده از ماکروها (Macros)
- 86. تفاوت ماکرو و زیربرنامه (Macro vs. Procedure)
- 87. استفاده از دستورات شرطی و حلقه در ماکروها
- 88. برنامهنویسی چند فایل: مفهوم لینکر و فایلهای OBJ/LIB
- 89. اشکالزدایی (Debugging) برنامههای اسمبلی: ابزارها و تکنیکها
- 90. بررسی حافظه و رجیسترها در Debugger
- 91. نقاط توقف (Breakpoints) و اجرای گام به گام (Step-by-step Execution)
- 92. بهینهسازی کد اسمبلی: سرعت و حجم
- 93. اصول Cache-Friendly Programming
- 94. فراخوانی توابع C/C++ از اسمبلی و بالعکس (ABI)
- 95. پروژه ۱: پیادهسازی یک ماشین حساب ساده
- 96. پروژه ۲: مدیریت یک لیست ساده از دادهها
- 97. پروژه ۳: پیادهسازی یک بازی متنی ساده (مثلاً حدس عدد)
- 98. پروژه ۴: کار با گرافیک پایه یا ASCII Art
- 99. پروژه ۵: پیادهسازی یک برنامه کوچک ابزاری (مثلاً کپی فایل)
- 100. آینده برنامهنویسی اسمبلی و کاربردهای نوین آن
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.