کتاب تسلط بر برنامهنویسی پیشرفته i386/i486: از مبانی تا بهینهسازی حرفهای با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
دوره تسلط بر برنامهنویسی پیشرفته i386/i486: از مبانی تا بهینهسازی حرفهای تسلط بر برنامهنویسی پیشرفته i386/i486: از مبانی تا بهینهسازی حرفهای سفری عمیق به قلب پردازندههای x86 و رمزگشایی از زبان ...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره تسلط بر برنامهنویسی پیشرفته i386/i486: از مبانی تا بهینهسازی حرفهای
موضوع کلی: برنامهنویسی سطح پایین سیستم
موضوع میانی: معماری x86 و زبان اسمبلی
📋 سرفصلهای دوره
- 1. مقدمهای بر معماری x86 و تاریخچه آن
- 2. مقدمهای بر زبان اسمبلی و دلایل استفاده از آن
- 3. سیستمهای عددی (دودویی، شانزدهشانزدهی) و نمایش دادهها
- 4. معماری رجیسترها: رجیسترهای همه منظوره
- 5. رجیسترهای سگمنت و کاربرد آنها
- 6. رجیسترهای فلگ و کنترل جریان
- 7. حالتهای آدرسدهی حافظه (Addressing Modes)
- 8. دستورالعملهای انتقال داده (MOV, PUSH, POP)
- 9. دستورالعملهای محاسباتی (ADD, SUB, MUL, DIV)
- 10. دستورالعملهای منطقی و بیتی (AND, OR, XOR, NOT, SHL, SHR)
- 11. دستورالعملهای کنترل جریان (JMP, CALL, RET)
- 12. کار با پشته (Stack) و فراخوانی توابع
- 13. مقدمهای بر ماکروها و رویهها (Procedures)
- 14. ساختار برنامههای اسمبلی ساده
- 15. ابزارهای توسعه (اسمبلر، لینکر، دیباگر)
- 16. سازماندهی حافظه در حالت Real Mode
- 17. مفهوم سگمنت و آفست در Real Mode
- 18. وقفه (Interrupt) و جدول بردار وقفه (IVT)
- 19. مقدمهای بر خدمات BIOS و فراخوانی وقفه 10h (Video Services)
- 20. استفاده از وقفه 16h (Keyboard Services)
- 21. کار با دیسک سخت و فلاپی از طریق وقفه 13h (Disk Services)
- 22. خدمات DOS از طریق وقفه 21h (File I/O, Character I/O)
- 23. نوشتن برنامههای کاربردی ساده در Real Mode
- 24. مدیریت رشتهها و کاراکترها در اسمبلی
- 25. تکنیکهای ورودی/خروجی پایه در Real Mode
- 26. گذار از Real Mode به Protected Mode
- 27. مفهوم حافظه مجازی (Virtual Memory) و آدرسدهی خطی
- 28. جدول توصیفگر سراسری (GDT): ساختار و وظایف
- 29. توصیفگرهای سگمنت (Segment Descriptors): انواع و فیلدها
- 30. انتخابگر سگمنت (Segment Selector) و کشف توصیفگر
- 31. بارگذاری رجیسترهای سگمنت در Protected Mode
- 32. رجیسترهای کنترلی CR0, CR2, CR3, CR4
- 33. سطوح امتیاز (Privilege Levels): CPL, RPL, DPL
- 34. دروازههای فراخوانی (Call Gates) و انتقال امتیاز
- 35. جدول توصیفگر محلی (LDT) و کاربرد آن
- 36. مفهوم و کاربرد TSS (Task State Segment)
- 37. سوئیچ وظیفه (Task Switching) با استفاده از TSS
- 38. حفاظت از حافظه در Protected Mode
- 39. دسترسی به پورتهای I/O در Protected Mode
- 40. مثال عملی: یک هسته کوچک در Protected Mode
- 41. مقدمهای بر Paging و مزایای آن
- 42. ساختار Page Directory و Page Table
- 43. ترجمه آدرس خطی به فیزیکی با Paging
- 44. فیلدهای توصیفگر صفحه (Page Descriptor)
- 45. Page Attributes: Present, Read/Write, User/Supervisor
- 46. Translation Lookaside Buffer (TLB) و عملکرد آن
- 47. مدیریت خطا در Paging (Page Fault)
- 48. صفحات بزرگ (Large Pages) و Page Size Extension (PSE)
- 49. Page Global Enable (PGE) و کاربردهای آن
- 50. پیادهسازی مدیریت حافظه مبتنی بر Paging
- 51. ساختار حافظه و مدیریت آن در سیستمعاملها
- 52. اشتراکگذاری حافظه و حفاظت آن با Paging
- 53. مفاهیم Demand Paging و Swapping
- 54. طراحی و پیادهسازی یک Page Fault Handler
- 55. امنیت حافظه و جداسازی فرآیندها
- 56. وقفه و استثنا: تفاوتها و شباهتها
- 57. جدول توصیفگر وقفه (IDT): ساختار و وظایف
- 58. دروازههای وقفه (Interrupt Gates) و دروازههای تله (Trap Gates)
- 59. نوشتن یک Interrupt Service Routine (ISR)
- 60. استثناهای پردازنده (Processor Exceptions): Divide-by-Zero, GPF
- 61. کنترلکننده وقفه برنامهپذیر (PIC) 8259A
- 62. پیکربندی و برنامهنویسی PIC برای مدیریت وقفهها
- 63. وقفه غیرقابل پوشاندن (NMI)
- 64. مدیریت I/O با دستورالعملهای IN/OUT
- 65. دسترسی مستقیم به حافظه (DMA) و کاربرد آن
- 66. تایمر قابل برنامهریزی (PIT) 8253/8254
- 67. برنامهنویسی PIT برای تولید وقفههای زمانبندی شده
- 68. رابط صفحه کلید (Keyboard Interface) و کنترلر 8042
- 69. رابط ماوس (Mouse Interface)
- 70. نوشتن درایورهای دستگاه پایه
- 71. مقدمهای بر FPU (x87 Co-processor)
- 72. معماری رجیسترهای FPU (Stack-based)
- 73. انواع داده FPU (Single, Double, Extended Precision)
- 74. دستورالعملهای پایه FPU (FLD, FST, FADD, FMUL)
- 75. دستورالعملهای مقایسه و کنترل FPU
- 76. مدیریت استثناهای FPU
- 77. تکنیکهای برنامهنویسی FPU برای محاسبات دقیق
- 78. مقدمهای بر MMX Technology (MultiMedia eXtensions)
- 79. رجیسترهای MMX و انواع داده SIMD
- 80. دستورالعملهای MMX و کاربرد آنها در پردازش چندرسانهای
- 81. مفهوم خط لوله (Pipelining) و پیشبینی شاخه (Branch Prediction)
- 82. کش (Cache Memory): اصول کار و سلسله مراتب
- 83. Cache Coherence و مدیریت آن
- 84. بهینهسازی کد برای عملکرد بهتر کش
- 85. دستورالعملهای مخصوص کش (Cache Control Instructions)
- 86. همگامسازی حافظه و دستورالعملهای Memory Barrier
- 87. تکنیکهای بهینهسازی سطح دستورالعمل
- 88. بهینهسازی حلقهها و توابع
- 89. System Calls و نحوه تعامل با سیستمعامل
- 90. پیادهسازی System Call Handler ساده
- 91. مدیریت ریسورسها و سیستمعاملهای چندوظیفهای
- 92. عملیات اتمیک (Atomic Operations) و همگامسازی
- 93. مقدمهای بر مولتیتسکینگ و Time Slicing
- 94. مفاهیم اولیه امنیت در برنامهنویسی سطح پایین
- 95. تزریق کد (Code Injection) و مقابله با آن
- 96. دیباگینگ پیشرفته برنامههای اسمبلی و سیستم
- 97. مقدمهای بر مفاهیم مجازیسازی (Virtualization)
- 98. استفاده از Performance Monitoring Counters (PMCs)
- 99. مروری بر معماریهای جدیدتر (SSE, AVX) و انتقال مفاهیم
- 100. جمعبندی: آینده برنامهنویسی سطح پایین و فرصتها
تگها:
Assembly
Assembly Language
i386
i386/i486 Advanced Programming
i486
low-level programming
x86 Assembly
اسمبلی x86
برنامهنویسی i386
برنامهنویسی i486
برنامهنویسی سطح پایین
بهینهسازی سیستم
بهینهسازی کد
معماری x86
معماری کامپیوتر
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.