کتاب رازگشایی TRS-80 Model III: کتاب جامع برنامهنویسی Z80 با زبان اسمبلی
📚 کتاب آموزشی جامع
📚 اطلاعات کتاب
عنوان کتاب: کتاب رازگشایی TRS-80 Model III: کتاب جامع برنامهنویسی Z80 با زبان اسمبلی
موضوع کلی: برنامهنویسی سطح پایین
موضوع میانی: زبانهای اسمبلی و معماری ریزپردازندهها
📋 سرفصلهای کتاب (100 موضوع)
- 1. مقدمهای بر برنامهنویسی سطح پایین
- 2. چرا زبان اسمبلی؟ چرا TRS-80؟
- 3. آشنایی با معماری کامپیوتر: CPU، حافظه و گذرگاهها
- 4. سیستم اعداد باینری (دودویی)
- 5. سیستم اعداد هگزادسیمال
- 6. تبدیل بین سیستمهای عددی
- 7. عملیات منطقی بیتی: AND, OR, XOR, NOT
- 8. معرفی ریزپردازنده Z80
- 9. معماری داخلی Z80: نگاهی کلی
- 10. ثباتهای اصلی Z80: A, F, B, C, D, E, H, L
- 11. ثباتهای خاص Z80: SP, PC, IX, IY, I, R
- 12. ثبات فلگها (Flags Register) و معنای هر فلگ
- 13. نقشه حافظه TRS-80 Model III
- 14. آشنایی با محیط توسعه: ویرایشگر، اسمبلر و شبیهساز
- 15. ساختار یک برنامه اسمبلی: برچسبها، دستورات و عملوندها
- 16. اولین برنامه: پاک کردن صفحه نمایش
- 17. دستورالعملهای انتقال داده: معرفی خانواده LD
- 18. انتقال داده بین ثباتهای ۸ بیتی (LD r, r')
- 19. بارگذاری مقادیر فوری در ثباتهای ۸ بیتی (LD r, n)
- 20. کار با حافظه: آدرسدهی غیرمستقیم با HL
- 21. دستورات (LD r, (HL و (LD (HL, r
- 22. بارگذاری مقادیر فوری در جفتثباتها (LD dd, nn)
- 23. آدرسدهی مستقیم: (LD A, (nn و (LD (nn), A
- 24. عملیات حسابی ۸ بیتی: جمع (ADD, ADC)
- 25. عملیات حسابی ۸ بیتی: تفریق (SUB, SBC)
- 26. دستورات افزایش و کاهش ۸ بیتی (INC r, DEC r)
- 27. دستور مقایسه (CP) و تاثیر آن بر فلگها
- 28. عملیات منطقی: AND, OR, XOR
- 29. دستورات چرخش و شیفت ساده (RLCA, RRCA, RLA, RRA)
- 30. دستورات جامع چرخش و شیفت (RLC, RRC, RL, RR, SLA, SRA, SRL)
- 31. عملیات حسابی ۱۶ بیتی: (ADD HL, rr)
- 32. عملیات حسابی ۱۶ بیتی با در نظر گرفتن رقم نقلی (ADC HL, rr, SBC HL, rr)
- 33. دستورات افزایش و کاهش ۱۶ بیتی (INC rr, DEC rr)
- 34. کار با پشته (Stack): مقدمه
- 35. دستورات PUSH و POP
- 36. نقش پشته در فراخوانی زیربرنامهها
- 37. پرشهای بدون شرط (JP, JR)
- 38. پرشهای شرطی (JP cc, nn و JR cc, e)
- 39. ایجاد حلقههای ساده با DJNZ
- 40. زیربرنامهها: فراخوانی با CALL و بازگشت با RET
- 41. فراخوانی و بازگشت شرطی (CALL cc, nn و RET cc)
- 42. دستورات راهاندازی مجدد (RST)
- 43. دستورالعملهای بیتی: BIT, SET, RES
- 44. آدرسدهی ایندکسی با IX و IY
- 45. دستورالعملهای تبادل داده (EX, EXX)
- 46. دستورات ویژه: DAA, CPL, NEG, CCF, SCF
- 47. دستورالعملهای بلاکی انتقال داده (LDI, LDIR)
- 48. دستورالعملهای بلاکی مقایسه (CPI, CPIR)
- 49. دستورالعملهای بلاکی جستجو (LDD, LDDR, CPD, CPDR)
- 50. شبهدستورات (Pseudo-ops): تعریف داده با DB و DW
- 51. شبهدستورات: رزرو حافظه با DS
- 52. شبهدستورات: تخصیص برچسب با EQU و ORG
- 53. تعامل با سختافزار: پورتهای ورودی/خروجی
- 54. دستورات IN و OUT
- 55. معماری ویدیویی TRS-80: حافظه نمایشگر
- 56. چاپ یک کاراکتر در یک موقعیت خاص صفحه
- 57. پیادهسازی روتین پاک کردن صفحه
- 58. استفاده از فراخوانیهای ROM BIOS: مقدمه
- 59. فراخوانی روتین چاپ کاراکتر از ROM
- 60. فراخوانی روتین چاپ رشته از ROM
- 61. اسکرول کردن صفحه نمایش با استفاده از ROM
- 62. گرافیک بلوکی در TRS-80
- 63. خواندن از صفحهکلید: روش Polling
- 64. بررسی ماتریس صفحهکلید TRS-80
- 65. فراخوانی روتین خواندن کلید از ROM
- 66. تولید صدا: کار با پورت کاست
- 67. ایجاد تاخیر زمانی برای کنترل فرکانس صدا
- 68. تولید یک نت موسیقی ساده
- 69. وقفهها (Interrupts): مفاهیم پایه
- 70. حالتهای وقفه در Z80 (IM 0, 1, 2)
- 71. نوشتن یک روال سرویس وقفه (ISR) ساده
- 72. استفاده از وقفه تایمر در TRS-80
- 73. ورودی/خروجی از طریق نوار کاست: ذخیره دادهها
- 74. ورودی/خروجی از طریق نوار کاست: بارگذاری دادهها
- 75. ساختار فایل روی نوار کاست
- 76. طراحی زیربرنامههای کارآمد
- 77. روشهای ارسال پارامتر به زیربرنامهها
- 78. روشهای بازگرداندن مقادیر از زیربرنامهها
- 79. برنامهنویسی ماژولار: تقسیم کد به فایلهای مختلف
- 80. ماکروها: تعریف و استفاده
- 81. تفاوت ماکرو و زیربرنامه
- 82. جداول جستجو (Look-up Tables)
- 83. تبدیل کد اسکی به مقدار عددی
- 84. تبدیل عدد به رشته اسکی برای نمایش
- 85. ضرب ۸ بیتی با استفاده از شیفت و جمع
- 86. تقسیم ۸ بیتی با استفاده از تفریقهای متوالی
- 87. کار با اعداد چندبایتی (Multi-byte Arithmetic)
- 88. تکنیکهای اشکالزدایی (Debugging)
- 89. استفاده از Breakpoint در شبیهساز
- 90. بررسی حافظه و ثباتها در حین اجرا
- 91. بهینهسازی برای سرعت
- 92. بهینهسازی برای حجم کد
- 93. ساختارهای داده ساده: آرایهها
- 94. پروژه اول: ساخت یک انیمیشن ساده متنی
- 95. پروژه دوم: پیادهسازی یک بازی ساده (مانند Pong)
- 96. پروژه سوم: نوشتن یک ابزار کوچک (مانند Memory Dump)
- 97. ارتباط اسمبلی با BASIC: دستورات USR
- 98. فراخوانی کد اسمبلی از برنامه BASIC
- 99. خواندن و نوشتن متغیرهای BASIC از اسمبلی
- 100. جمعبندی مفاهیم Z80
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.