فلش‌کارت‌های آموزشی تسلط بر برنامه‌نویسی x86 با زبان اسمبلی: دروازه‌ای به اعماق سخت‌افزار

تسلط بر برنامه‌نویسی x86 با زبان اسمبلی: دروازه‌ای به اعماق سخت‌افزار تسلط بر برنامه‌نویسی x86 با زبان اسمبلی: دروازه‌ای به اعماق سخت‌افزار آیا می‌خواهید پرده از رازهای درونی کامپیوترها بردارید؟ آیا ب...

انتخاب پلن

انتخاب پلن برای ادامه خرید الزامی است.

پرداخت اقساطی
در صورت خرید اقساطی هر قسط: 74,988 تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.
پرداخت اقساطی با دیجی‌پی پرداخت اقساطی با ترب‌پی

🎓 دوره آموزشی جامع

📚 اطلاعات دوره

عنوان دوره: تسلط بر برنامه‌نویسی x86 با زبان اسمبلی: دروازه‌ای به اعماق سخت‌افزار

موضوع کلی: معماری کامپیوتر و برنامه‌نویسی سیستمی

موضوع میانی: مبانی زبان اسمبلی و ساختار پردازنده‌های x86

📋 سرفصل‌های دوره (100 موضوع)

  • 1. مقدمه: چرا زبان اسمبلی یاد بگیریم؟
  • 2. مروری بر معماری کامپیوتر: مدل Von Neumann
  • 3. سیستم‌های عددی: باینری، هگزادسیمال و دسیمال
  • 4. تبدیل بین سیستم‌های عددی
  • 5. نمایش اعداد صحیح علامت‌دار: مکمل دو
  • 6. عملیات حسابی باینری: جمع و تفریق
  • 7. مفاهیم پایه منطق دیجیتال: گیت‌های AND, OR, NOT, XOR
  • 8. ساختار پردازنده‌های x86: از 8086 تا مدرن
  • 9. حالت‌های عملیاتی پردازنده: Real-Address, Protected, Long Mode
  • 10. معرفی ثبات‌های (Registers) عمومی x86
  • 11. ثبات‌های EFLAGS و EIP
  • 12. معرفی حافظه و آدرس‌دهی
  • 13. نصب و راه‌اندازی محیط برنامه‌نویسی (MASM/NASM)
  • 14. ساختار یک برنامه اسمبلی پایه
  • 15. اولین برنامه: "Hello, World!" در اسمبلی
  • 16. دستورالعمل MOV: انتقال داده‌ها
  • 17. دستورالعمل‌های حسابی پایه: ADD و SUB
  • 18. دستورالعمل‌های INC و DEC
  • 19. معرفی دستورالعمل‌های منطقی: AND, OR, XOR
  • 20. دستورالعمل NOT: معکوس کردن بیت‌ها
  • 21. تعریف داده‌ها: بایت، کلمه و کلمه مضاعف (BYTE, WORD, DWORD)
  • 22. تعریف متغیرهای مقداردهی نشده در سگمنت .BSS
  • 23. آدرس‌دهی مستقیم حافظه
  • 24. آدرس‌دهی غیرمستقیم حافظه
  • 25. اپراتورهای OFFSET و PTR
  • 26. دستورالعمل XCHG: تعویض مقادیر
  • 27. دستورالعمل LEA: بارگذاری آدرس مؤثر
  • 28. دستورالعمل‌های پرچم (Flag): بررسی نتایج عملیات
  • 29. پرچم‌های Carry و Overflow
  • 30. پرچم‌های Zero و Sign
  • 31. دستورالعمل CMP و مقایسه داده‌ها
  • 32. پرش‌های بدون شرط: JMP
  • 33. پرش‌های شرطی بر اساس پرچم‌ها (JZ, JNZ, JC, JNC)
  • 34. پرش‌های شرطی برای اعداد علامت‌دار (JG, JL, JGE, JLE)
  • 35. پرش‌های شرطی برای اعداد بدون علامت (JA, JB, JAE, JBE)
  • 36. ساختار حلقه‌ها با استفاده از JMP و CMP
  • 37. دستورالعمل LOOP
  • 38. مثال عملی: محاسبه فاکتوریل با حلقه
  • 39. ساختارهای شرطی: پیاده‌سازی if-else
  • 40. پیاده‌سازی ساختار switch-case
  • 41. پشته (Stack): مفاهیم پایه
  • 42. دستورالعمل‌های PUSH و POP
  • 43. بررسی ثبات‌های ESP و EBP
  • 44. تعریف رویه‌ها (Procedures) با PROC و ENDP
  • 45. دستورالعمل‌های CALL و RET
  • 46. ایجاد رویه‌های تو در تو (Nested Procedures)
  • 47. فریم پشته (Stack Frame) چیست؟
  • 48. پاس دادن آرگومان‌ها به رویه‌ها از طریق ثبات‌ها
  • 49. پاس دادن آرگومان‌ها به رویه‌ها از طریق پشته
  • 50. ایجاد متغیرهای محلی روی پشته
  • 51. حفظ و بازیابی ثبات‌ها در رویه‌ها
  • 52. قراردادهای فراخوانی (Calling Conventions): cdecl, stdcall
  • 53. کتابخانه‌های لینک (Linking Libraries): معرفی Irvine32/Irvine64
  • 54. استفاده از رویه‌های کتابخانه‌ای برای ورودی/خروجی
  • 55. بازگشت (Recursion): پیاده‌سازی تابع بازگشتی
  • 56. آرایه‌ها: تعریف و دسترسی به عناصر
  • 57. پردازش آرایه‌ها با حلقه‌ها
  • 58. آدرس‌دهی ایندکس‌دار (Indexed Addressing)
  • 59. رشته‌ها در اسمبلی: تعریف و نمایش
  • 60. دستورالعمل‌های پایه پردازش رشته (LODS, STOS)
  • 61. دستورالعمل‌های پیشرفته پردازش رشته (MOVS, CMPS, SCAS)
  • 62. پیشوندهای تکرار: REP, REPE, REPNE
  • 63. آرایه‌های دو بعدی: پیاده‌سازی و پیمایش
  • 64. دستورالعمل‌های ضرب: MUL و IMUL
  • 65. دستورالعمل‌های تقسیم: DIV و IDIV
  • 66. دستورالعمل‌های شیفت منطقی: SHL و SHR
  • 67. دستورالعمل‌های شیفت حسابی: SAL و SAR
  • 68. دستورالعمل‌های چرخش: ROL و ROR
  • 69. دستورالعمل‌های چرخش با کری: RCL و RCR
  • 70. مثال کاربردی: رمزنگاری ساده با XOR و چرخش
  • 71. وقفه‌ها (Interrupts): مفاهیم و کاربردها
  • 72. جدول توصیفگر وقفه (IDT)
  • 73. فراخوانی‌های سیستمی (System Calls) در ویندوز
  • 74. فراخوانی‌های سیستمی (System Calls) در لینوکس
  • 75. برنامه‌نویسی فایل: ایجاد و نوشتن در فایل
  • 76. برنامه‌نویسی فایل: خواندن از فایل
  • 77. مدیریت حافظه در سطح سیستم‌عامل
  • 78. تخصیص حافظه دینامیک
  • 79. ترکیب کدهای اسمبلی و C/C++: مقدمه
  • 80. فراخوانی توابع C از اسمبلی
  • 81. فراخوانی توابع اسمبلی از C
  • 82. پاس دادن متغیرهای ساده بین C و اسمبلی
  • 83. پاس دادن آرایه‌ها و رشته‌ها بین C و اسمبلی
  • 84. پاس دادن ساختارها (Structs) بین C و اسمبلی
  • 85. اسمبلی درون‌خطی (Inline Assembly) در C/C++
  • 86. معماری x86-64: حالت ۶۴ بیتی (Long Mode)
  • 87. ثبات‌های ۶۴ بیتی (RAX, RBX, ...) و ثبات‌های جدید (R8-R15)
  • 88. آدرس‌دهی نسبی RIP
  • 89. قرارداد فراخوانی در x86-64 (System V AMD64 ABI)
  • 90. برنامه‌نویسی ممیز شناور (Floating-Point): مقدمه‌ای بر FPU
  • 91. ثبات‌های x87 FPU و پشته ممیز شناور
  • 92. دستورالعمل‌های پایه ممیز شناور (FLD, FST, FADD, FSUB)
  • 93. مقایسه اعداد ممیز شناور
  • 94. مقدمه‌ای بر SIMD: پردازش موازی داده‌ها
  • 95. دستورالعمل‌های MMX
  • 96. دستورالعمل‌های SSE: ثبات‌های XMM و عملیات اسکالر/پک شده
  • 97. دستورالعمل‌های AVX: ثبات‌های YMM
  • 98. مدیریت حافظه پیشرفته: سگمنتیشن و صفحه‌بندی (Paging)
  • 99. بهینه‌سازی کد اسمبلی: هم‌راستاسازی و زمان‌بندی دستورالعمل‌ها
  • 100. نگاهی به بوت لودرها و فرآیند راه‌اندازی سیستم
تسلط بر برنامه‌نویسی x86 با زبان اسمبلی: دروازه‌ای به اعماق سخت‌افزار

تسلط بر برنامه‌نویسی x86 با زبان اسمبلی: دروازه‌ای به اعماق سخت‌افزار

آیا می‌خواهید پرده از رازهای درونی کامپیوترها بردارید؟ آیا به دنبال درک عمیق‌تر از نحوه عملکرد پردازنده‌ها هستید؟ آیا می‌خواهید به یک برنامه‌نویس سیستمی قدرتمند تبدیل شوید؟ دوره آموزشی "تسلط بر برنامه‌نویسی x86 با زبان اسمبلی: دروازه‌ای به اعماق سخت‌افزار" دقیقاً برای شما طراحی شده است!

این دوره با الهام از کتاب ارزشمند "Assembly language for x86 processors" به شما کمک می‌کند تا قدم به دنیای جذاب و پیچیده برنامه‌نویسی اسمبلی بگذارید. با یادگیری زبان اسمبلی، نه تنها با معماری پردازنده‌های x86 آشنا می‌شوید، بلکه قادر خواهید بود برنامه‌هایی بنویسید که مستقیماً با سخت‌افزار در تعامل باشند. این مهارت، یک مزیت رقابتی بزرگ برای هر برنامه‌نویسی محسوب می‌شود که به دنبال درک کامل و کنترل سیستم است.

درباره دوره

دوره "تسلط بر برنامه‌نویسی x86 با زبان اسمبلی: دروازه‌ای به اعماق سخت‌افزار" یک دوره جامع و کاربردی است که به شما مبانی و تکنیک‌های پیشرفته برنامه‌نویسی اسمبلی را آموزش می‌دهد. ما در این دوره، اصول اساسی معماری کامپیوتر، نحوه عملکرد پردازنده‌های x86 و ساختار زبان اسمبلی را به طور کامل پوشش می‌دهیم. محتوای این دوره با در نظر گرفتن اصول و مثال‌های کتاب "Assembly language for x86 processors" طراحی شده است، اما به صورت مستقل و عملی ارائه می‌گردد تا یادگیری شما را به حداکثر برساند. با گذراندن این دوره، شما قادر خواهید بود برنامه‌های اسمبلی کارآمد و بهینه بنویسید و به طور کامل سخت‌افزار خود را کنترل کنید.

موضوعات کلیدی

  • مقدمه‌ای بر معماری کامپیوتر و پردازنده‌های x86
  • مبانی زبان اسمبلی: ثبات‌ها، دستورالعمل‌ها و انواع داده
  • آدرس‌دهی حافظه و مدیریت پشته
  • ساختارهای کنترلی: حلقه‌ها، شرط‌ها و پرش‌ها
  • توابع و فراخوانی روال‌ها
  • کار با ورودی و خروجی (I/O)
  • برنامه‌نویسی سیستم و مدیریت وقفه‌ها
  • بهینه‌سازی کد اسمبلی
  • دیباگینگ و رفع اشکال در برنامه‌های اسمبلی
  • برنامه‌نویسی اسمبلی در محیط‌های مختلف (Windows, Linux)

مخاطبان دوره

این دوره برای افراد زیر مناسب است:

  • دانشجویان رشته‌های مهندسی کامپیوتر، علوم کامپیوتر و رشته‌های مرتبط
  • برنامه‌نویسانی که به دنبال درک عمیق‌تر از معماری کامپیوتر هستند
  • محققان و توسعه‌دهندگانی که به برنامه‌نویسی سیستمی و درایورنویسی علاقه دارند
  • افرادی که می‌خواهند مهارت‌های خود را در زمینه‌های امنیت سایبری و مهندسی معکوس ارتقا دهند
  • علاقه‌مندان به یادگیری زبان اسمبلی به عنوان یک مهارت ارزشمند

چرا این دوره را بگذرانیم؟

گذراندن دوره "تسلط بر برنامه‌نویسی x86 با زبان اسمبلی: دروازه‌ای به اعماق سخت‌افزار" مزایای متعددی برای شما به ارمغان می‌آورد:

  • درک عمیق‌تر از سخت‌افزار: با یادگیری زبان اسمبلی، شما درک عمیقی از نحوه عملکرد پردازنده‌ها و اجزای مختلف کامپیوتر پیدا خواهید کرد.
  • توانایی بهینه‌سازی کد: زبان اسمبلی به شما امکان می‌دهد کد خود را به طور دقیق کنترل کنید و آن را برای حداکثر کارایی بهینه کنید.
  • مهارت‌های ارزشمند در زمینه امنیت سایبری: زبان اسمبلی یک ابزار ضروری برای مهندسان امنیت سایبری و محققان امنیتی است.
  • افزایش فرصت‌های شغلی: دانش زبان اسمبلی، شما را به یک متخصص ارزشمند در بازار کار تبدیل می‌کند.
  • ایجاد برنامه‌های سیستمی کارآمد: قادر خواهید بود برنامه‌های سیستمی بنویسید که مستقیماً با سخت‌افزار در تعامل باشند و عملکرد بالایی داشته باشند.
  • افزایش اعتماد به نفس در برنامه‌نویسی: یادگیری اسمبلی به شما دید عمیق‌تری نسبت به مفاهیم پایه‌ای برنامه‌نویسی می‌دهد و اعتماد به نفس شما را در حل مسائل پیچیده افزایش می‌دهد.
  • تسلط بر دیباگینگ در سطح پایین: توانایی عیب‌یابی برنامه‌ها در سطح اسمبلی، شما را به یک برنامه‌نویس ماهر و توانمند تبدیل می‌کند.

سرفصل‌های دوره

دوره "تسلط بر برنامه‌نویسی x86 با زبان اسمبلی: دروازه‌ای به اعماق سخت‌افزار" شامل بیش از 100 سرفصل جامع و کاربردی است که به شما تمامی جنبه‌های برنامه‌نویسی اسمبلی را آموزش می‌دهد. برخی از مهم‌ترین سرفصل‌ها عبارتند از:

  • مقدمه ای بر سیستم های کامپیوتری و معماری x86
  • نصب و پیکربندی محیط توسعه اسمبلی
  • آشنایی با ثبات های پردازنده و انواع داده
  • نوشتن اولین برنامه اسمبلی
  • دستورالعمل های انتقال داده
  • عملیات حسابی و منطقی
  • ساختارهای کنترلی: شرطی و حلقه ها
  • توابع و زیربرنامه ها
  • پشته (Stack) و مدیریت حافظه
  • پردازش رشته ها
  • ورودی و خروجی (I/O)
  • وقفه ها و کنترل سخت افزار
  • برنامه نویسی اسمبلی در سیستم عامل Windows
  • برنامه نویسی اسمبلی در سیستم عامل Linux
  • بهینه سازی کد اسمبلی
  • رفع اشکال (Debugging) برنامه های اسمبلی
  • استفاده از اسمبلی در برنامه های C/C++
  • برنامه نویسی درایور با اسمبلی (مقدماتی)
  • امنیت و آسیب پذیری ها در برنامه های اسمبلی
  • پروژه عملی: طراحی و پیاده سازی یک سیستم عامل ساده
  • و بسیاری سرفصل های دیگر ...

همین حالا در دوره "تسلط بر برنامه‌نویسی x86 با زبان اسمبلی: دروازه‌ای به اعماق سخت‌افزار" ثبت‌نام کنید و قدم در مسیر تبدیل شدن به یک متخصص برنامه‌نویسی سیستمی بگذارید!

ثبت‌نام در دوره
SMART LEARNING PLATFORM
از مطالعه تا یادگیری ماندگار
فراتر از یک مجموعه فلش‌کارت؛ تجربه‌ای تعاملی برای یادگیری، تمرین، مرور هوشمند و مشاهده مسیر پیشرفت شما، همراه با امکان دریافت گواهی پایان دوره در دوره‌های واجد شرایط.
مرور فاصله‌دار آمار یادگیری گواهی دوزبانه
یادگیری را به یک مسیر قابل پیگیری تبدیل کنید
با ورود به سامانه آموزشی، محتوای دوره را به‌صورت مرحله‌ای دنبال کنید، فلش‌کارت‌ها را مرور کنید، دانش خود را با پرسش‌ها و آزمون‌ها بسنجید و روند پیشرفتتان را در طول مسیر ببینید.
⟳
مرور فاصله‌دار هوشمند
با مرور زمان‌دار، کارت‌های تازه و کارت‌های سررسیدشده را بر اساس برنامه مرور دنبال کنید. ارزیابی پاسخ‌ها به زمان‌بندی مرورهای بعدی کمک می‌کند تا تمرین متناسب‌تری داشته باشید.
◉
مشاهده مسیر پیشرفت
میزان مشاهده فلش‌کارت‌ها، فعالیت‌های مرور، عملکرد آزمون‌ها و آمار یادگیری را بررسی کنید و تصویر روشن‌تری از مسیر آموزشی خود داشته باشید.
▤
یادگیری مرحله‌به‌مرحله
فصل‌ها و بخش‌های آموزشی را به ترتیب دنبال کنید، مطالب دیده‌نشده را پیدا کنید و بدون سردرگمی به ادامه مسیر برگردید.
✓
تمرین و سنجش آموخته‌ها
با نکته‌های آموزشی، پرسش و پاسخ، کوییزها و آزمون‌های پایان فصل، دانسته‌های خود را تمرین کنید و بخش‌هایی را که به توجه بیشتری نیاز دارند بشناسید.
SMART REVIEW
هر بار، مرور هدفمندتر
لازم نیست هر روز از ابتدا درباره اینکه چه چیزی را مرور کنید تصمیم بگیرید. سامانه، صف مرور روزانه را بر اساس کارت‌های تازه و موعد مرور کارت‌ها آماده می‌کند. شما پاسخ را ارزیابی می‌کنید و برنامه مرور با توجه به آن تنظیم می‌شود.
دوباره
برای کارت‌هایی که به تمرین زودتر نیاز دارند.
سخت
برای پاسخ‌هایی که با دشواری به یاد آمده‌اند.
خوب
برای پاسخ‌هایی که به‌درستی به یاد آورده‌اید.
آسان
برای کارت‌هایی که پاسخ آن‌ها را به‌آسانی می‌دانید.
برنامه مرور بر اساس ارزیابی شما تنظیم می‌شود؛ مرور منظم می‌تواند به تثبیت آموخته‌ها کمک کند، اما به‌تنهایی تضمین‌کننده تسلط کامل نیست.
محتوا را به شیوه‌های مختلف تمرین کنید
ساختار دوره‌ها متناسب با موضوع آموزشی طراحی شده است و ممکن است انواع مختلفی از محتوا را در بر بگیرد.
نکته‌های ساده
برای مرور سریع مفاهیم اصلی و نکات کلیدی.
نکته‌های رسمی
برای تمرین تعاریف، اصطلاحات و بیان دقیق علمی.
کوییز
برای سنجش درک مطلب و بررسی گزینه صحیح.
پرسش و پاسخ
برای تمرین یادآوری و سنجش میزان تسلط بر مطالب.
محتوای هر دوره بر اساس ساختار و امکانات فعال همان دوره ارائه می‌شود.
LEARN ANYWHERE
همراه شما روی مرورگر
برای استفاده از نسخه تحت وب، کافی است با حساب کاربری خود وارد سامانه شوید. بدون نیاز به نصب یک برنامه اختصاصی، می‌توانید از مرورگر سازگار روی گوشی، تبلت یا رایانه به دوره‌های در دسترس خود مراجعه کنید.
گوشی هوشمند
برای مطالعه در زمان‌های کوتاه
تبلت و لپ‌تاپ
برای مطالعه و مرور راحت‌تر
حساب کاربری شخصی
برای دسترسی به دوره‌های مجاز شما
COURSE COMPLETION CERTIFICATE
گواهی پایان دوره؛ ثبت دستاورد شما
در دوره‌هایی که امکان دریافت گواهی برای آن‌ها فعال است، می‌توانید پس از تکمیل شرایط آموزشی، درخواست گواهی پایان دوره ثبت کنید.
شرایط درخواست گواهی
✓ داشتن دسترسی دارای قابلیت گواهی برای دوره مربوطه.
✓ تکمیل اطلاعات لازم در پروفایل، شامل کد ملی معتبر، عکس پرسنلی و نام و نام خانوادگی انگلیسی.
✓ مشاهده تمام فلش‌کارت‌های فعال دوره.
✓ قبولی در آزمون‌های پایان فصل، در صورت وجود آزمون برای فصل‌ها.
فارسی و انگلیسی
پس از تأیید و انتشار، نسخه‌های فارسی و انگلیسی گواهی در دسترس قرار می‌گیرند.
استعلام آنلاین
گواهی منتشرشده دارای QR Code و لینک اختصاصی برای بررسی آنلاین اعتبار آن است.
دانلود و چاپ
پس از انتشار گواهی، امکان دریافت نسخه PDF فارسی و انگلیسی و چاپ آن فراهم است.
توجه: ثبت درخواست به معنای صدور قطعی نیست. درخواست گواهی پس از بررسی و تأیید ادمین منتشر می‌شود. این گواهی، گواهی پایان دوره آموزشی است و به‌خودی‌خود معادل مدرک دانشگاهی یا مدرک رسمی مورد تأیید نهادهای دولتی نیست.
یادگیری را شروع کنید؛ پیشرفت را دنبال کنید
با تمرین منظم، مرور هدفمند و پیگیری مسیر آموزشی خود، قدم‌به‌قدم دانش و مهارت‌هایتان را گسترش دهید.
هر کارت، یک قدم به جلو
امکانات محتوایی، مرور و گواهی بر اساس سطح دسترسی و تنظیمات هر دوره متفاوت است.
نگاهی به محیط سامانه

یادگیری هوشمند، قدم‌به‌قدم

با محیط سامانه آموزشی آشنا شوید و نمونه‌هایی از فضای یادگیری، فلش‌کارت‌ها و ابزارهای مرور و تمرین را مشاهده کنید.

تصویر نمونه اول از سامانه آموزشی و فلش‌کارت‌ها
محیط سامانه آموزشی
برای مشاهده تصویر در اندازه بزرگ‌تر کلیک کنید
تصویر نمونه دوم از سامانه آموزشی و فلش‌کارت‌ها
یادگیری و مرور مطالب
برای مشاهده تصویر در اندازه بزرگ‌تر کلیک کنید
تصویر نمونه سوم از سامانه آموزشی و فلش‌کارت‌ها
تجربه مطالعه تعاملی
برای مشاهده تصویر در اندازه بزرگ‌تر کلیک کنید
تصویر نمونه چهارم از سامانه آموزشی و فلش‌کارت‌ها
امکانات بیشتر سامانه
برای مشاهده تصویر در اندازه بزرگ‌تر کلیک کنید

یادگیری فراتر از مطالعه معمولی
با فلش‌کارت‌های آموزشی، مرور هدفمند و تمرین مستمر، مطالب را فعالانه یاد بگیرید و مسیر پیشرفت خود را دنبال کنید.

تگ‌ها: ASM Assembly C# Computer Architecture Linux low-level programming System Programming Windows x86 برنامه‌نویسی سیستمی پردازنده زبان اسمبلی معماری کامپیوتر میکروپروسسور

نظرات

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

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