کتاب آموزش اسمبلی Microsoft در یک روز: از صفر تا کدنویسی با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
آموزش اسمبلی Microsoft در یک روز: از صفر تا کدنویسی آموزش اسمبلی Microsoft در یک روز: از صفر تا کدنویسی آیا به دنیای عمیق و پر رمز و راز برنامهنویسی سیستم علاقهمندید؟ آیا میخواهید قدرت واقعی کامپیو...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره آموزش اسمبلی Microsoft در یک روز: از صفر تا کدنویسی
موضوع کلی: برنامهنویسی سیستم با اسمبلی
موضوع میانی: مقدمهای بر اسمبلی Microsoft (MASM)
📋 سرفصلهای دوره
- 1. مقدمهای بر برنامهنویسی سیستم
- 2. چرا اسمبلی؟
- 3. چرا Microsoft Assembler (MASM)؟
- 4. معرفی دوره: آموزش اسمبلی Microsoft در یک روز
- 5. اهداف دوره
- 6. محتوای دوره: مروری کوتاه
- 7. ابزارهای مورد نیاز: نصب MASM
- 8. ابزارهای مورد نیاز: نصب ویرایشگر کد
- 9. ابزارهای مورد نیاز: نصب دیباگر
- 10. اولین برنامه اسمبلی: Hello, World!
- 11. ساختار کلی یک برنامه اسمبلی
- 12. دستورات اسمبلی: آشنایی اولیه
- 13. انواع دادهها در اسمبلی: بایت، ورد، دابلورد
- 14. ثابتها و متغیرها
- 15. نحوه تعریف دادهها در بخش `.DATA`
- 16. نحوه تعریف کد در بخش `.CODE`
- 17. دستور `PROC` و `ENDP` برای رویهها
- 18. دستور `MAIN PROC` و `END MAIN`
- 19. دستور `MOV` برای انتقال داده
- 20. رجیسترها: معرفی انواع (AX, BX, CX, DX)
- 21. رجیسترها: رجیسترهای سگمنت (CS, DS, SS, ES)
- 22. رجیسترها: رجیسترهای اشارهگر (SP, BP)
- 23. رجیسترها: رجیسترهای شاخص (SI, DI)
- 24. آدرسدهی مستقیم
- 25. آدرسدهی غیرمستقیم از طریق رجیستر
- 26. آدرسدهی غیرمستقیم با آفست
- 27. عملیات حسابی: جمع (`ADD`)
- 28. عملیات حسابی: تفریق (`SUB`)
- 29. عملیات حسابی: ضرب (`MUL`)
- 30. عملیات حسابی: تقسیم (`DIV`)
- 31. دستورات پرش (`JMP`)
- 32. پرشهای شرطی: معرفی (`JE`, `JNE`, `JG`, `JL`, ...)
- 33. مقایسه (`CMP`)
- 34. ساختارهای کنترلی: حلقهها
- 35. حلقه `LOOP`
- 36. استفاده از CX به عنوان شمارنده حلقه
- 37. نحوه خروج از حلقهها
- 38. ساختارهای کنترلی: شرطها
- 39. دستور `IF` شبیهسازی شده با پرشهای شرطی
- 40. نحوه پیادهسازی `IF-THEN-ELSE`
- 41. آرایهها: معرفی
- 42. دسترسی به عناصر آرایه
- 43. نحوه محاسبه آدرس عناصر آرایه
- 44. رشتهها: معرفی
- 45. نحوه تعریف رشتهها
- 46. عملیات رشتهای: کپی کردن (`MOV` با رشته)
- 47. عملیات رشتهای: طول رشته
- 48. عملیات رشتهای: مقایسه رشتهها
- 49. توابع و رویهها (Procedures): معرفی
- 50. نحوه فراخوانی رویهها (`CALL`)
- 51. بازگشت از رویهها (`RET`)
- 52. انتقال پارامتر به رویهها: استفاده از رجیسترها
- 53. انتقال پارامتر به رویهها: استفاده از پشته (Stack)
- 54. پشته (Stack): معرفی
- 55. عملکرد پشته: `PUSH` و `POP`
- 56. استفاده از پشته برای ذخیره رجیسترها
- 57. استفاده از پشته برای پارامترهای رویه
- 58. استفاده از پشته برای متغیرهای محلی رویه
- 59. مدیریت حافظه: معرفی
- 60. انواع حافظه: حافظه اصلی، رجیسترها
- 61. آدرسدهی در حافظه
- 62. تعریف بلوکهای داده بزرگ
- 63. استفاده از `DUP` برای مقداردهی اولیه
- 64. مدیریت خطاها: معرفی
- 65. بررسی کدهای خطا
- 66. استفاده از پرچمها (Flags)
- 67. پرچم وضعیت: Zero Flag (ZF)
- 68. پرچم وضعیت: Sign Flag (SF)
- 69. پرچم وضعیت: Carry Flag (CF)
- 70. پرچم وضعیت: Overflow Flag (OF)
- 71. ورودی/خروجی (I/O): معرفی
- 72. ورودی/خروجی از طریق رجیسترها
- 73. ورودی/خروجی از طریق توابع سیستم عامل (DOS API)
- 74. استفاده از `INT 21h` برای توابع DOS
- 75. تابع `AH=02h` برای نمایش کاراکتر
- 76. تابع `AH=09h` برای نمایش رشته
- 77. تابع `AH=01h` برای خواندن کاراکتر
- 78. تابع `AH=0Ah` برای خواندن رشته
- 79. تابع `AH=4Ch` برای خروج از برنامه
- 80. مدیریت فایل: معرفی
- 81. باز کردن فایل (`INT 21h`, `AH=3Dh`)
- 82. خواندن از فایل (`INT 21h`, `AH=3Fh`)
- 83. نوشتن در فایل (`INT 21h`, `AH=40h`)
- 84. بستن فایل (`INT 21h`, `AH=3Eh`)
- 85. توابع پیشرفته DOS API
- 86. استفاده از رجیستر `DX` برای مشخص کردن درایو
- 87. استفاده از رجیستر `BX` برای هندر فایل
- 88. خطاها در عملیات فایل
- 89. مفاهیم پیشرفته اسمبلی
- 90. اشارهگرهای کد (Code Pointers)
- 91. پرشهای غیرمستقیم
- 92. نحوه ساخت جدول پرش (Jump Table)
- 93. استفاده از `OFFSET` برای آدرسدهی
- 94. بهینهسازی کد اسمبلی
- 95. مقدمهای بر دیباگینگ
- 96. استفاده از دیباگر (مثال: Turbo Debugger, OllyDbg)
- 97. تنظیم نقاط توقف (Breakpoints)
- 98. مشاهده مقادیر رجیسترها
- 99. مشاهده حافظه
- 100. اجرای خط به خط کد
تگها:
Assembly
Assembly for Beginners
low-level programming
MASM
Microsoft Assembler
System Programming
Windows Assembly
x86 Assembly
آموزش اسمبلی
آموزش سریع اسمبلی
اسمبلی ویندوز
برنامه نویسی اسمبلی
برنامه نویسی سیستم
یادگیری اسمبلی
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.