دوره راهنمای جامع برنامهنویسی 80386/80486 با رویکرد Microsoft: از مقدمات تا بهینهسازی همراه با فلشکارت آموزشی — ارائه روی فلش مموری
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره راهنمای جامع برنامهنویسی 80386/80486 با رویکرد Microsoft: از مقدمات تا بهینهسازی
موضوع کلی: معماری و برنامهنویسی سطح پایین کامپیوتر
موضوع میانی: برنامهنویسی اسمبلی برای پردازندههای 80386 و 80486
📋 سرفصلهای دوره
- 1. مقدمهای بر معماری کامپیوتر و زبان اسمبلی
- 2. چرا برنامهنویسی اسمبلی برای 80386/80486؟
- 3. مروری بر سیر تکاملی پردازندههای X86
- 4. محیط توسعه: اسمبلر، لینکر، دیباگر
- 5. اولین برنامه اسمبلی: Hello World در حالت حقیقی (Real Mode)
- 6. رجیسترهای عمومی (General Purpose Registers): EAX, EBX, ECX, EDX
- 7. رجیسترهای اشارهگر و اندیس (Pointer and Index Registers): ESI, EDI, EBP, ESP
- 8. رجیسترهای سگمنت (Segment Registers): CS, DS, SS, ES, FS, GS
- 9. رجیستر پرچمها (EFLAGS) و بیتهای وضعیت
- 10. رجیستر اشارهگر دستورالعمل (EIP)
- 11. انواع دادهها و مقادیر فوری (Immediate Values)
- 12. سازماندهی حافظه: آدرسهای منطقی، خطی و فیزیکی
- 13. حالتهای عملیاتی پردازنده: Real Mode, Protected Mode, Virtual 8086 Mode
- 14. ساختار حافظه و نواحی RAM/ROM
- 15. مد آدرسدهی (Addressing Modes) در 80386/80486
- 16. MOV: جابجایی عمومی دادهها
- 17. PUSH و POP: عملیات پشته (Stack)
- 18. LEA: بارگذاری آدرس موثر (Load Effective Address)
- 19. XCHG: تعویض محتوای رجیستر/حافظه
- 20. CWD, CDQ: توسعه علامت (Sign Extension)
- 21. MOVSX, MOVZX: توسعه علامت و صفر برای دادهها
- 22. BSWAP: معکوس کردن ترتیب بایتها
- 23. LODS, STOS, MOVS: دستورات رشتهای (String Operations)
- 24. IN و OUT: ورودی/خروجی پورت (Port I/O)
- 25. ADD, ADC: جمع و جمع با رقم نقلی (Carry)
- 26. SUB, SBB: تفریق و تفریق با رقم قرضی (Borrow)
- 27. INC, DEC: افزایش و کاهش
- 28. NEG: منفی کردن (Negation)
- 29. CMP: مقایسه
- 30. MUL, IMUL: ضرب (بدون علامت و علامتدار)
- 31. DIV, IDIV: تقسیم (بدون علامت و علامتدار)
- 32. AND, OR, XOR: عملیات منطقی بیتی
- 33. NOT: NOT بیتی
- 34. TEST: تست بیتی
- 35. SHL, SHR, SAL, SAR: شیفت بیتی (Logical and Arithmetic Shifts)
- 36. ROL, ROR, RCL, RCR: چرخش بیتی (Rotates)
- 37. BT, BTC, BTR, BTS: تست و دستکاری بیتها
- 38. DAA, DAS: تنظیم اعشاری (Decimal Adjust)
- 39. AAA, AAS, AAM, AAD: تنظیم ASCII
- 40. JMP: پرش بدون قید و شرط
- 41. Jcc: پرشهای شرطی (Conditional Jumps)
- 42. CALL و RET: فراخوانی و بازگشت از زیرروالها
- 43. LOOP, LOOPE, LOOPNE: حلقهها
- 44. فراخوانیهای داخل سگمنت و بین سگمنت (Near and Far Calls/Jumps)
- 45. پیادهسازی ساختارهای کنترلی سطح بالا (IF/ELSE, WHILE) در اسمبلی
- 46. استفاده از دستورات SETcc
- 47. آشنایی با Protected Mode و اهمیت آن
- 48. جدول توصیفگر جهانی (GDT) و توصیفگرها (Descriptors)
- 49. توصیفگرهای سگمنت: کد، داده، پشته
- 50. انتخابگرهای سگمنت (Segment Selectors) و ساختار آنها
- 51. جدول توصیفگر محلی (LDT)
- 52. سطوح امتیاز (Privilege Levels) و حلقههای حفاظتی (Rings)
- 53. دروازههای فراخوانی (Call Gates) برای تغییر سطح امتیاز
- 54. فعالسازی Protected Mode
- 55. مقدمهای بر Paging و ترجمه آدرسها
- 56. ساختار دایرکتوری صفحه (Page Directory)
- 57. ساختار جدول صفحه (Page Table)
- 58. ترجمه آدرس خطی به فیزیکی با Paging
- 59. رجیسترهای کنترلی (CR0, CR3) برای Paging
- 60. مدیریت حافظه مجازی و نقش Paging
- 61. حفاظت حافظه (Memory Protection) در Protected Mode
- 62. آدرسدهی 32 بیتی در Protected Mode
- 63. تخصیص و آزادسازی حافظه در Protected Mode (مفاهیم)
- 64. تفاوت وقفهها (Interrupts) و استثناها (Exceptions)
- 65. جدول توصیفگر وقفه (IDT)
- 66. توصیفگرهای گیت وقفه و تله (Interrupt Gate, Trap Gate)
- 67. بردارهای وقفه و انواع آنها
- 68. وقفههای سختافزاری (IRQs)
- 69. وقفههای نرمافزاری (INT n) و استفاده از آنها
- 70. نوشتن روالهای سرویس وقفه (ISRs) سفارشی
- 71. مدیریت استثناها (مانند تقسیم بر صفر، خطای حفاظت عمومی)
- 72. اولویتبندی وقفهها
- 73. وقفههای تودرتو (Nested Interrupts)
- 74. دستورات STI, CLI, IRET, IRETD
- 75. سگمنت وضعیت وظیفه (TSS): ساختار و کاربرد
- 76. دروازههای وظیفه (Task Gates)
- 77. مکانیزم سوییچ وظیفه (Task Switching)
- 78. چندوظیفگی (Multitasking) در Protected Mode
- 79. رجیسترهای کنترلی (CR0) برای مدیریت وظایف
- 80. معرفی واحد ممیز شناور (FPU) یا 80387/80486DX
- 81. رجیسترهای FPU و مدل پشتهای (Stack Model)
- 82. انواع دادههای FPU (ممیز شناور تک، دو، و ده برابر دقت)
- 83. دستورات پایه FPU: بارگذاری، ذخیره، انتقال (FLD, FST, FADD, FMUL, FDIV)
- 84. دستورات مقایسه و کنترل FPU
- 85. FPU: انجام محاسبات پیچیده ریاضی
- 86. افزایش کارایی در 80486: Cache On-Chip و Pipelining
- 87. مدیریت Cache: سیاستهای Write-Through و Write-Back
- 88. دستورات کنترل Cache (مانند INVD, WBINVD)
- 89. بهینهسازی کد برای عملکرد بهتر روی 80386/80486
- 90. تشخیص نوع پردازنده (CPU ID)
- 91. استفاده از ویژگیهای خاص 80486 برای حداکثر کارایی
- 92. فراخوانی کدهای اسمبلی از C/C++
- 93. فراخوانی توابع C/C++ از کد اسمبلی
- 94. قراردادهای ارسال پارامتر (Calling Conventions)
- 95. لینک کردن ماژولهای اسمبلی با کدهای C/C++
- 96. انتقال داده بین اسمبلی و زبانهای سطح بالا
- 97. استفاده از دیباگرهای پیشرفته (مانند SoftICE، OllyDbg، WinDbg - مفاهیم)
- 98. نقاط توقف (Breakpoints) و ردیابی (Tracing)
- 99. تحلیل حافظه و رجیسترها در حین عیبیابی
- 100. نکات و ترفندهای بهینهسازی و عیبیابی پیشرفته
محتویات بسته آموزشی
🌐 سامانه آنلاین فلشکارت؛ مرور هدفمند و هوشمند
اکانت ارائهشده، دسترسی به نسخه تحت وب سامانه فلشکارت ویژه این دوره را فراهم میکند. این سامانه از الگوریتم زمانبندی مرور SM-2 استفاده میکند و بر اساس ارزیابی شما از میزان یادآوری هر کارت، زمان مرورهای بعدی را تنظیم میکند.
به این ترتیب، کارتهای دشوارتر میتوانند زودتر مرور شوند و برای تثبیت مطالب در حافظه، برنامه مرور متناسبتری داشته باشید.
مدتزمان معادل آموزشی بر اساس برآورد این دوره در گواهی درج میشود.
گواهی دوزبانه با استعلام آنلاین
پس از تکمیل فعالیتهای لازم و تأیید درخواست، گواهی پایان دوره به زبان فارسی و انگلیسی صادر میشود. گواهی دارای لینک اختصاصی و QR Code برای بررسی و استعلام آنلاین است.
این گواهی صرفاً بهعنوان گواهی اتمام دوره آموزشی صادر میشود و معادل مدرک دانشگاهی، آکادمیک یا مدرک رسمی مورد تأیید نهادهای دولتی نیست. صدور آن منوط به تکمیل شرایط دوره و تأیید نهایی درخواست است.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.