کتاب کتاب جامع 8086: تسلط بر معماری و برنامهنویسی اسمبلی با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
دوره جامع 8086: تسلط بر معماری و برنامهنویسی اسمبلی دوره جامع 8086: تسلط بر معماری و برنامهنویسی اسمبلی - کلید ورود شما به دنیای سختافزار! آیا همیشه آرزو داشتهاید که بدانید کامپیوترها واقعاً چگونه...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره جامع 8086: تسلط بر معماری و برنامهنویسی اسمبلی
موضوع کلی: معماری کامپیوتر و میکروپروسسورها
موضوع میانی: مبانی معماری و برنامهنویسی پردازندههای x86
📋 سرفصلهای دوره
- 1. مقدمهای بر معماری کامپیوتر
- 2. تاریخچه میکروپروسسورها: از 4004 تا 8086
- 3. سیستمهای عددی: باینری، هگزادسیمال و اکتال
- 4. تبدیل مبنای اعداد
- 5. محاسبات در مبنای دو: جمع و تفریق
- 6. اعداد علامتدار و نمایش مکمل دو
- 7. مفاهیم پایهای گیتهای منطقی (AND, OR, NOT)
- 8. گیتهای منطقی ترکیبی (NAND, NOR, XOR)
- 9. ساختار یک سیستم کامپیوتری مبتنی بر میکروپروسسور
- 10. معرفی خانواده پردازندههای x86
- 11. معماری داخلی 8086: واحد واسط باس (BIU) و واحد اجرایی (EU)
- 12. رجیسترهای عمومی (AX, BX, CX, DX)
- 13. رجیسترهای اشارهگر و اندیس (SP, BP, SI, DI)
- 14. رجیسترهای سگمنت (CS, DS, SS, ES)
- 15. رجیستر فلگها (Flags Register) و بررسی هر فلگ
- 16. اشارهگر دستورالعمل (Instruction Pointer - IP)
- 17. مفهوم سگمنتبندی حافظه (Memory Segmentation)
- 18. محاسبه آدرس فیزیکی: جادوی 20 بیتی
- 19. پایپلاین دستورالعمل (Instruction Pipeline) در 8086
- 20. دیاگرام پینهای 8086 و وظایف آنها
- 21. حالتهای کاری 8086: حالت حداقل (Minimum Mode)
- 22. حالتهای کاری 8086: حالت حداکثر (Maximum Mode)
- 23. سیکلهای ماشین و حالات انتظار (Wait States)
- 24. معرفی پردازنده 8088 و تفاوتهای آن با 8086
- 25. مروری بر معماری: جمعبندی ساختار 8086
- 26. مقدمهای بر زبان اسمبلی و اسمبلرها (MASM/TASM)
- 27. ساختار یک برنامه اسمبلی: سگمنتهای کد، داده و پشته
- 28. دستورالعملهای تعریف داده (DB, DW, DD)
- 29. دستورالعمل MOV: قلب تپنده انتقال داده
- 30. روشهای آدرسدهی: فوری، مستقیم و رجیستری
- 31. روشهای آدرسدهی: غیرمستقیم رجیستری
- 32. روشهای آدرسدهی: مبتنی بر رجیستر پایه (Based)
- 33. روشهای آدرسدهی: اندیسدار (Indexed)
- 34. روشهای آدرسدهی: مبتنی بر پایه و اندیس (Based-Indexed)
- 35. دستورالعملهای PUSH و POP و کار با پشته (Stack)
- 36. دستورالعملهای ریاضی: ADD و SUB
- 37. دستورالعملهای ریاضی: INC و DEC
- 38. دستورالعملهای ضرب: MUL و IMUL
- 39. دستورالعملهای تقسیم: DIV و IDIV
- 40. دستورالعملهای منطقی: AND, OR, XOR
- 41. دستورالعملهای منطقی: NOT و TEST
- 42. دستورالعملهای شیفت: SHL/SAL و SHR
- 43. دستورالعملهای چرخش: ROL و ROR
- 44. دستورالعملهای چرخش با بیت نقلی: RCL و RCR
- 45. دستورالعملهای XCHG و LEA
- 46. دستورالعمل CMP و نقش آن در مقایسه
- 47. کار با رشتهها: دستورالعملهای MOVSB/MOVSW
- 48. کار با رشتهها: دستورالعملهای CMPSB/CMPSW
- 49. کار با رشتهها: دستورالعملهای SCASB/SCASW و STOSB/STOSW
- 50. پیشوندهای تکرار (REP, REPE, REPNE)
- 51. پرش بدون شرط: دستور JMP
- 52. پرشهای شرطی مبتنی بر فلگ صفر (JZ, JNZ)
- 53. پرشهای شرطی مبتنی بر فلگ علامت (JS, JNS)
- 54. پرشهای شرطی برای اعداد بدون علامت (JA, JB, JAE, JBE)
- 55. پرشهای شرطی برای اعداد علامتدار (JG, JL, JGE, JLE)
- 56. ساختار حلقهها در اسمبلی: دستور LOOP
- 57. حلقههای شرطی: LOOPE/LOOPZ و LOOPNE/LOOPNZ
- 58. معرفی رویهها (Procedures): دستورات CALL و RET
- 59. ارسال پارامتر به رویهها از طریق رجیسترها
- 60. ارسال پارامتر به رویهها از طریق پشته
- 61. متغیرهای محلی و استفاده از رجیستر BP
- 62. رویههای بازگشتی (Recursive Procedures)
- 63. مفهوم ماکرو (Macro) و تفاوت آن با رویه
- 64. تعریف و استفاده از ماکروها در اسمبلی
- 65. کتابخانهها و فایلهای Include
- 66. سازماندهی حافظه در سیستمهای مبتنی بر 8086
- 67. فضای آدرسدهی حافظه و ورودی/خروجی (I/O)
- 68. ورودی/خروجی ایزوله (Isolated I/O) در مقابل حافظه نگاشتشده (Memory-Mapped I/O)
- 69. دستورالعملهای IN و OUT برای دسترسی به پورتها
- 70. معرفی چیپ 8255 (Programmable Peripheral Interface - PPI)
- 71. برنامهریزی 8255: حالت 0 (Basic I/O)
- 72. برنامهریزی 8255: حالت 1 (Strobed I/O)
- 73. برنامهریزی 8255: حالت 2 (Strobed Bidirectional Bus I/O)
- 74. مثال عملی: اتصال LED به 8255 و کنترل آن
- 75. مثال عملی: خواندن وضعیت کلیدها با 8255
- 76. دیکد کردن آدرس (Address Decoding) برای حافظه
- 77. دیکد کردن آدرس برای پورتهای ورودی/خروجی
- 78. واسط سریال و معرفی چیپ 8251 (USART)
- 79. دسترسی مستقیم به حافظه (DMA) و کنترلر 8237
- 80. زمانسنج قابل برنامهریزی 8253/8254 (Programmable Interval Timer - PIT)
- 81. مفهوم وقفهها (Interrupts) و پردازش ناهمگام
- 82. جدول بردار وقفه (Interrupt Vector Table - IVT)
- 83. فرآیند پردازش یک وقفه: از درخواست تا بازگشت
- 84. وقفههای نرمافزاری: دستور INT
- 85. وقفههای سختافزاری: NMI و INTR
- 86. کنترلر وقفه قابل برنامهریزی 8259 (PIC)
- 87. برنامهریزی و راهاندازی 8259 PIC
- 88. وقفههای معروف BIOS (INT 10h برای ویدیو، INT 16h برای کیبورد)
- 89. وقفههای حیاتی DOS (INT 21h)
- 90. نوشتن یک روال سرویس وقفه (ISR) سفارشی
- 91. کمکپردازنده ریاضی 8087: معماری و رجیسترها
- 92. برنامهنویسی برای 8087: دستورالعملهای FPU
- 93. همگامسازی در سیستمهای چند پردازندهای: پیشوند LOCK
- 94. مولد پالس ساعت 8284 (System Clock Generator)
- 95. کنترلر باس 8288 (Bus Controller) در حالت حداکثر
- 96. طراحی یک سیستم کامپیوتری ساده مبتنی بر 8086 (بخش اول: CPU و حافظه)
- 97. طراحی یک سیستم کامپیوتری ساده مبتنی بر 8086 (بخش دوم: I/O و وقفهها)
- 98. ابزارهای دیباگینگ در اسمبلی (مانند DEBUG.exe)
- 99. نگاهی به آینده: از 8086 به 80286 و حالت محافظت شده (Protected Mode)
- 100. پروژه نهایی: ساخت یک سیستم عامل مانیتور ساده (Simple Monitor OS)
تگها:
8086
8086 Architecture
8086 Programming
Assembly Language
Computer Architecture
Microprocessor
The 8086 book
x86
آموزش 8086
اسمبلی 8086
برنامه نویسی اسمبلی
پردازنده
دوره آموزشی
معماری کامپیوتر
میکروپروسسور
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.