اپلیکیشن اندرویدی فلشکارت آموزشی برنامهنویسی 6809: هنر کنترل سختافزار با کدهای ماشین
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره برنامهنویسی 6809: هنر کنترل سختافزار با کدهای ماشین
موضوع کلی: برنامهنویسی سطح پایین
موضوع میانی: برنامهنویسی میکروپروسسورهای کلاسیک
📋 سرفصلهای دوره
- 1. مقدمهای بر برنامهنویسی سطح پایین
- 2. تاریخچه میکروپروسسورها و ظهور 6809
- 3. کامپیوتر چگونه کار میکند؟ چرخه Fetch-Decode-Execute
- 4. سیستمهای عددی: باینری، هگزادسیمال و دسیمال
- 5. تبدیل بین سیستمهای عددی
- 6. محاسبات باینری: جمع و تفریق
- 7. نمایش اعداد علامتدار: مکمل دو
- 8. بیت، بایت، کلمه و حافظه
- 9. سازماندهی حافظه و فضای آدرسدهی
- 10. گذرگاههای آدرس، داده و کنترل
- 11. تفاوت کد ماشین و زبان اسمبلی
- 12. ابزارهای برنامهنویسی: اسمبلر، دیباگر و مانیتور
- 13. معماری داخلی میکروپروسسور 6809
- 14. رجیسترهای اصلی: انباشتگرهای A, B و رجیستر 16 بیتی D
- 15. رجیسترهای اندیس: X و Y
- 16. اشارهگرهای پشته: U و S
- 17. شمارنده برنامه (Program Counter - PC)
- 18. رجیستر صفحه مستقیم (Direct Page Register - DP)
- 19. رجیستر کدهای شرطی (CCR) و فلگها
- 20. بررسی دقیق فلگها: کری، سرریز، صفر، منفی، نیمکری
- 21. نقشه حافظه در یک سیستم مبتنی بر 6809
- 22. مفهوم پشته (Stack) و عملکرد آن
- 23. دستورات انتقال داده: LDA, LDB, STA, STB
- 24. کار با رجیستر 16 بیتی D: LDD, STD
- 25. دستورات انتقال بین رجیسترها: TFR, EXG
- 26. مقدمهای بر حالتهای آدرسدهی 6809
- 27. حالت ذاتی (Inherent Addressing)
- 28. حالت فوری (Immediate Addressing)
- 29. حالت مستقیم (Direct Addressing)
- 30. حالت توسعهیافته (Extended Addressing)
- 31. دستورات محاسباتی پایه: ADDA, ADDB, SUBA, SUBB
- 32. جمع و تفریق 16 بیتی: ADDD, SUBD
- 33. دستورات افزایش و کاهش: INC, DEC, INX, DEX
- 34. دستورات جمع و تفریق با رقم نقلی: ADC, SBC
- 35. دستورات منطقی: AND, OR, EOR
- 36. دستور تست بیت: BIT
- 37. دستورات متمم و منفی کردن: COM, NEG
- 38. دستورات پاک کردن: CLR
- 39. دستورات شیفت منطقی: LSR, LSL
- 40. دستورات شیفت محاسباتی: ASR
- 41. دستورات چرخش: ROR, ROL
- 42. کنترل جریان برنامه: پرش بدون شرط (JMP, BRA)
- 43. انشعابهای شرطی ساده: BEQ, BNE
- 44. انشعابهای شرطی بر اساس فلگها: BCC, BCS, BPL, BMI
- 45. انشعابهای شرطی برای اعداد بدون علامت: BHI, BLS
- 46. انشعابهای شرطی برای اعداد با علامت: BGT, BLT, BGE, BLE
- 47. ساختار حلقهها با استفاده از دستورات انشعاب
- 48. مقایسه مقادیر: CMPA, CMPB, CMPD, CMPX
- 49. حالت آدرسدهی اندیسدار (Indexed Addressing) - مقدمه
- 50. اندیسدار با آفست ثابت صفر
- 51. اندیسدار با آفست ثابت 5، 8 و 16 بیتی
- 52. اندیسدار با آفست انباشتگر (A, B, D)
- 53. اندیسدار با افزایش/کاهش خودکار (Auto-increment/decrement)
- 54. حالت آدرسدهی نسبی (Relative Addressing)
- 55. حالت آدرسدهی توسعهیافته غیرمستقیم (Extended Indirect)
- 56. حالت آدرسدهی اندیسدار غیرمستقیم (Indexed Indirect)
- 57. انتخاب حالت آدرسدهی مناسب: کارایی و حجم کد
- 58. مفهوم زیربرنامهها (Subroutines)
- 59. فراخوانی زیربرنامه: JSR و BSR
- 60. بازگشت از زیربرنامه: RTS
- 61. عملکرد پشته در فراخوانی زیربرنامه
- 62. روشهای ارسال پارامتر به زیربرنامهها
- 63. ارسال پارامتر از طریق رجیسترها
- 64. ارسال پارامتر از طریق پشته
- 65. ایجاد متغیرهای محلی روی پشته
- 66. دستورات کار با پشته: PSHS/PULS و PSHU/PULU
- 67. زیربرنامههای بازگشتی (Re-entrant Subroutines)
- 68. پیادهسازی توابع بازگشتی (Recursion)
- 69. جداول و آرایهها: تعریف و دسترسی
- 70. پردازش رشتهها و جداول جستجو (Look-up Tables)
- 71. مبانی ورودی/خروجی (I/O)
- 72. ورودی/خروجی نقشهشده در حافظه (Memory-Mapped I/O)
- 73. برنامهنویسی ورودی/خروجی موازی (PIO)
- 74. معرفی تراشه 6821 PIA (Peripheral Interface Adapter)
- 75. پیکربندی رجیسترهای داده، جهت و کنترل در PIA
- 76. مثال عملی: خواندن از سوییچها با PIA
- 77. مثال عملی: نوشتن روی LEDها با PIA
- 78. مفهوم Handshaking در ارتباطات موازی
- 79. برنامهنویسی ورودی/خروجی سریال (SIO)
- 80. معرفی تراشه 6850 ACIA (Asynchronous Communications Interface Adapter)
- 81. روش سرکشی (Polling) برای مدیریت I/O
- 82. مفهوم وقفهها (Interrupts)
- 83. جدول بردار وقفه (Interrupt Vector Table)
- 84. وقفههای سختافزاری: IRQ و FIRQ
- 85. تفاوت و اولویتبندی وقفهها
- 86. نوشتن یک روال سرویس وقفه (Interrupt Service Routine - ISR)
- 87. ذخیره و بازیابی وضعیت پردازنده در ISR
- 88. دستورات RTI و CWAI
- 89. وقفههای نرمافزاری: SWI, SWI2, SWI3
- 90. ایجاد تاخیرهای زمانی دقیق
- 91. ضرب نرمافزاری ۸ بیتی و ۱۶ بیتی
- 92. تقسیم نرمافزاری
- 93. محاسبات BCD (Binary-Coded Decimal)
- 94. تبدیل بین باینری و BCD
- 95. تکنیکهای اشکالزدایی (Debugging) کد ماشین
- 96. ساخت یک برنامه مانیتور ساده
- 97. بهینهسازی کد برای سرعت
- 98. بهینهسازی کد برای حجم
- 99. دسترسی مستقیم به حافظه (DMA) و کنترلر 6844
- 100. جمعبندی دوره و نگاهی به میکروکنترلرها
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.