کتاب نبوغ سختافزار با TRS-80 Model III: برنامهنویسی اسمبلی Z80 از پایه تا حرفهای با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
نبوغ سختافزار با TRS-80 Model III: برنامهنویسی اسمبلی Z80 از پایه تا حرفهای نبوغ سختافزار با TRS-80 Model III: برنامهنویسی اسمبلی Z80 از پایه تا حرفهای آیا همیشه آرزو داشتید که بدانید کامپیوترها...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره نبوغ سختافزار با TRS-80 Model III: برنامهنویسی اسمبلی Z80 از پایه تا حرفهای
موضوع کلی: برنامهنویسی سطح پایین و معماری رایانه
موضوع میانی: معماری و برنامهنویسی اسمبلی Z80
📋 سرفصلهای دوره
- 1. مقدمهای بر برنامهنویسی سطح پایین و زبان اسمبلی
- 2. چرا Z80 و TRS-80 Model III؟ تاریخچه و اهمیت
- 3. آشنایی با معماری رایانه: CPU، حافظه و I/O
- 4. سیستمهای عددی: باینری، هگزادسیمال و اکتال
- 5. نمایش دادهها در حافظه: بایتها، کلمات و رشتهها
- 6. راهاندازی محیط کار: شبیهساز TRS-80 یا سختافزار واقعی
- 7. آشنایی با مانیتور T-BUG: ورود و اجرای کد ماشین
- 8. معماری پردازنده Z80: رجیسترهای اصلی (A, F, BC, DE, HL)
- 9. رجیسترهای جایگزین (Alternate Registers) و رجیسترهای خاص (IX, IY, SP, PC)
- 10. رجیستر فلگ (F): بررسی فلگهای کری، صفر، علامت و پاریتی
- 11. اولین برنامه: نمایش یک کاراکتر روی صفحه
- 12. دستور LD: انتقال داده بین رجیسترهای ۸ بیتی
- 13. دستور LD: بارگذاری مقادیر ثابت در رجیسترها
- 14. دستور LD: کار با حافظه و آدرسدهی غیرمستقیم (HL)
- 15. دستور LD: آدرسدهی غیرمستقیم با (BC) و (DE)
- 16. دستورات انتقال داده ۱۶ بیتی: LD BC/DE/HL/SP, nn
- 17. پشته (Stack): مفهوم و کاربرد آن در برنامهنویسی
- 18. دستورات PUSH و POP: ذخیره و بازیابی رجیسترها در پشته
- 19. دستورات محاسباتی: جمع (ADD) و جمع با کری (ADC)
- 20. دستورات محاسباتی: تفریق (SUB) و تفریق با قرض (SBC)
- 21. دستورات افزایش و کاهش یک واحدی (INC و DEC)
- 22. مقایسه مقادیر: دستور CP و تأثیر آن بر فلگها
- 23. عملیات منطقی: AND, OR, XOR
- 24. دستورات شیفت و چرخش (Rotate and Shift)
- 25. دستورات بیتی: تست بیت (BIT)، تنظیم بیت (SET) و ریست بیت (RES)
- 26. دستورات پرش غیرشرطی (JP و JR)
- 27. دستورات پرش شرطی بر اساس فلگها
- 28. حلقهها در اسمبلی: پیادهسازی با دستور DJNZ
- 29. زیرروالها (Subroutines): دستورات CALL و RET
- 30. فراخوانی و بازگشت شرطی از زیرروالها
- 31. تعریف داده در حافظه: دستورات DEFB, DEFW, DEFS
- 32. کار با جداول و آرایهها در حافظه
- 33. تکنیک جداول جستجو (Lookup Tables)
- 34. آدرسدهی ایندکسشده با رجیسترهای IX و IY
- 35. محاسبات ۱۶ بیتی: جمع و تفریق اعداد بزرگ
- 36. مقدمهای بر کار با رشتهها (Strings)
- 37. کپی کردن یک بلوک از حافظه: دستور LDIR
- 38. مقایسه دو بلوک از حافظه: دستور CPIR
- 39. نقشه حافظه TRS-80 Model III: RAM, ROM و I/O
- 40. آشنایی با روتینهای ROM (BIOS): قدرت کدهای آماده
- 41. فراخوانی روتینهای ROM: نمایش کاراکتر و رشته
- 42. ورودی از کیبورد با استفاده از روتینهای ROM
- 43. مدیریت مکاننما (Cursor) با توابع ROM
- 44. پاک کردن صفحه نمایش با فراخوانی ROM
- 45. دسترسی مستقیم به حافظه ویدئو (Video RAM)
- 46. ساختار حافظه ویدئو و نمایش کاراکترها به صورت مستقیم
- 47. ایجاد کاراکترهای گرافیکی سفارشی (User-Defined Graphics)
- 48. تکنیکهای انیمیشن ساده با دستکاری مستقیم حافظه ویدئو
- 49. پورتهای ورودی/خروجی (I/O Ports)
- 50. خواندن وضعیت کیبورد به صورت مستقیم (Keyboard Matrix Scanning)
- 51. تولید صدا: ایجاد صدای کلیک ساده
- 52. کنترل موتور نوار کاست از طریق پورت I/O
- 53. خواندن و نوشتن داده روی نوار کاست (سطح پایه)
- 54. مفهوم وقفهها (Interrupts) و کاربرد آنها
- 55. حالتهای وقفه در Z80: IM 0, IM 1, IM 2
- 56. وقفههای سختافزاری در TRS-80: وقفه تایمر
- 57. نوشتن یک روتین ساده کنترل وقفه (Interrupt Service Routine)
- 58. ارتباط بین اسمبلی و BASIC: دستور USR
- 59. انتقال پارامتر بین BASIC و روتین اسمبلی
- 60. بازگرداندن مقادیر از اسمبلی به BASIC
- 61. افزایش سرعت برنامههای BASIC با روتینهای اسمبلی
- 62. حساب BCD (Binary-Coded Decimal)
- 63. دستورات DAA, RLD, RRD برای محاسبات BCD
- 64. پیادهسازی عملیات ریاضی روی اعداد BCD چند بایتی
- 65. ماکروها در اسمبلی: تعریف و استفاده
- 66. اسمبل شرطی (Conditional Assembly)
- 67. مقدمهای بر سیستمعامل TRSDOS
- 68. فراخوانی توابع TRSDOS برای مدیریت فایل
- 69. باز کردن، خواندن و نوشتن فایلهای ترتیبی (Sequential Files)
- 70. کار با فایلهای با دسترسی تصادفی (Random-Access Files)
- 71. ساختار یک برنامه COM قابل اجرا در TRSDOS
- 72. تکنیکهای دیباگینگ: استفاده از Breakpoint
- 73. تکنیکهای دیباگینگ: بررسی حافظه و رجیسترها
- 74. کد قابل جابجایی (Relocatable Code) و پیونددهی (Linking)
- 75. پروژه اول: ساخت یک ویرایشگر متن ساده
- 76. پروژه اول: مدیریت بافر متن و حرکت مکاننما
- 77. پروژه اول: ذخیره و بارگذاری متن از نوار کاست
- 78. گرافیک پیشرفته: رسم خط و نقطه
- 79. گرافیک پیشرفته: ایجاد اشکال هندسی ساده
- 80. تکنیکهای بهینهسازی کد برای افزایش سرعت
- 81. تکنیکهای بهینهسازی کد برای کاهش حجم
- 82. تحلیل و مهندسی معکوس کدهای ساده
- 83. بررسی کدهای موجود در ROM برای یادگیری تکنیکها
- 84. برنامهنویسی بازی: منطق اصلی بازی
- 85. پروژه دوم: پیادهسازی بازی Pong
- 86. پروژه دوم: تشخیص برخورد و مدیریت امتیازات
- 87. پروژه دوم: افزودن صدا به بازی
- 88. ساخت ابزارهای کمکی کوچک در اسمبلی
- 89. مقدمهای بر درایورهای دستگاه
- 90. نوشتن یک درایور ساده برای یک دستگاه فرضی
- 91. مدیریت حافظه پیشرفته و تکنیکهای Paging (در صورت وجود)
- 92. مفاهیم Multi-tasking ساده و زمانبندی وظایف
- 93. پیادهسازی یک تایمر نرمافزاری دقیق
- 94. رمزنگاری ساده: الگوریتم سزار (Caesar Cipher) در اسمبلی
- 95. فشردهسازی دادهها: الگوریتم Run-Length Encoding (RLE)
- 96. ارتباط سریال (Serial Communication) در سطح سختافزار
- 97. تکنیکهای پیشرفته دیباگینگ و Trace کردن کد
- 98. ساخت یک برنامه مستقل و قابل اجرا از TRSDOS
- 99. جمعبندی دوره و مسیرهای یادگیری آینده
تگها:
8-bit computing
Assembly Language
Computer Architecture
embedded systems
low-level programming
Microprocessor Programming
Programming
Retro Computing
TRS-80
TRS-80 Model III
Vintage Computing
Z80 Assembly
برنامهنویسی اسمبلی
کامپیوتر رترو
معماری کامپیوتر
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.