کتاب رازهای عملکرد: برنامه‌نویسی زبان اسمبلی X86 با MASM و تکنیک‌های پیشرفته ماکرو

249,950 تومان

📚 کتاب آموزشی جامع

📚 اطلاعات کتاب

عنوان کتاب: کتاب رازهای عملکرد: برنامه‌نویسی زبان اسمبلی X86 با MASM و تکنیک‌های پیشرفته ماکرو

موضوع کلی: برنامه‌نویسی سیستمی و معماری سخت‌افزار

موضوع میانی: برنامه‌نویسی زبان اسمبلی X86

📋 سرفصل‌های کتاب (100 موضوع)

  • 1. مقدمه‌ای بر معماری کامپیوتر و برنامه‌نویسی سطح پایین
  • 2. چرا زبان اسمبلی بیاموزیم؟ مروری بر کاربردها
  • 3. آشنایی با سیستم‌های عددی: باینری، هگزادسیمال و اکتال
  • 4. ساختار پردازنده 8086: واحد اجرا و واحد گذرگاه
  • 5. معرفی رجیسترهای عمومی: AX, BX, CX, DX
  • 6. رجیسترهای سگمنت: CS, DS, SS, ES
  • 7. رجیسترهای اشاره‌گر و اندیس: SP, BP, SI, DI
  • 8. رجیستر فلگ‌ها و نقش آن در تصمیم‌گیری
  • 9. مفهوم حافظه سگمنت‌بندی شده و محاسبه آدرس فیزیکی
  • 10. نصب و راه‌اندازی محیط برنامه‌نویسی: MASM، LINK و DOSBox
  • 11. ساختار یک برنامه اسمبلی: سگمنت‌های کد، داده و پشته
  • 12. دستورالعمل‌های تعریف داده: DB, DW, DD, DQ, DT
  • 13. اولین برنامه: نمایش "Hello, World!" روی صفحه
  • 14. فرایند کامپایل و لینک کردن یک برنامه اسمبلی (EXE و COM)
  • 15. آشنایی با دیباگر DEBUG برای خطایابی
  • 16. دستورالعمل انتقال داده: MOV
  • 17. عملگرهای حسابی پایه: ADD و SUB
  • 18. دستورالعمل‌های INC و DEC برای افزایش و کاهش
  • 19. مفهوم پشته (Stack) و عملکرد آن
  • 20. دستورالعمل‌های PUSH و POP برای کار با پشته
  • 21. مدهای آدرس‌دهی: مستقیم و غیرمستقیم
  • 22. مدهای آدرس‌دهی: مبتنی بر رجیستر و اندیس‌دار
  • 23. دستورالعمل‌های XCHG و LEA
  • 24. معرفی وقفه‌ها (Interrupts) و جدول بردار وقفه (IVT)
  • 25. استفاده از وقفه DOS (INT 21h) برای ورودی و خروجی کاراکتر
  • 26. خواندن یک رشته از ورودی با استفاده از وقفه DOS
  • 27. ساختار کنترل برنامه: پرش‌های بدون شرط (JMP)
  • 28. دستورالعمل مقایسه: CMP
  • 29. پرش‌های شرطی بر اساس فلگ صفر: JZ و JNZ
  • 30. پرش‌های شرطی بر اساس فلگ علامت: JS و JNS
  • 31. پرش‌های شرطی بر اساس فلگ کری: JC و JNC
  • 32. پرش‌های شرطی برای اعداد علامت‌دار: JG, JL, JGE, JLE
  • 33. ساخت حلقه‌های ساده با دستورالعمل LOOP
  • 34. ساخت حلقه‌های پیچیده‌تر با CMP و پرش‌های شرطی
  • 35. مفهوم رویه‌ها (Procedures): PROC و ENDP
  • 36. دستورالعمل‌های CALL و RET برای فراخوانی رویه‌ها
  • 37. ارسال پارامتر به رویه‌ها از طریق رجیسترها
  • 38. ارسال پارامتر به رویه‌ها از طریق پشته
  • 39. ایجاد متغیرهای محلی در پشته (Stack Frame)
  • 40. رویه‌های بازگشتی (Recursive Procedures)
  • 41. عملیات منطقی بیتی: AND, OR, XOR
  • 42. دستورالعمل NOT و NEG
  • 43. دستورالعمل TEST و کاربردهای آن
  • 44. عملیات شیفت منطقی: SHL و SHR
  • 45. عملیات شیفت حسابی: SAL و SAR
  • 46. عملیات چرخش: ROL و ROR
  • 47. عملیات چرخش با کری: RCL و RCR
  • 48. ضرب اعداد بدون علامت با MUL
  • 49. ضرب اعداد علامت‌دار با IMUL
  • 50. تقسیم اعداد بدون علامت با DIV
  • 51. تقسیم اعداد علامت‌دار با IDIV
  • 52. کار با رشته‌ها: مقدمه و نمایش در حافظه
  • 53. دستورالعمل‌های رشته‌ای: MOVSB, MOVSW
  • 54. دستورالعمل‌های رشته‌ای: LODSB, STOSB
  • 55. دستورالعمل‌های رشته‌ای: CMPSB, SCASB
  • 56. پیشوندهای تکرار: REP, REPE, REPNE
  • 57. کار با آرایه‌ها و دسترسی به عناصر آن
  • 58. وقفه BIOS برای خدمات ویدیویی (INT 10h)
  • 59. تنظیم مد ویدیو و پاک کردن صفحه نمایش
  • 60. تغییر مکان نما (Cursor) روی صفحه
  • 61. نوشتن کاراکتر با ویژگی‌های رنگی
  • 62. دسترسی مستقیم به حافظه ویدیو برای افزایش سرعت
  • 63. وقفه BIOS برای خدمات صفحه‌کلید (INT 16h)
  • 64. خواندن کاراکتر بدون نمایش روی صفحه (Echo)
  • 65. مدیریت فایل در DOS: ایجاد و باز کردن فایل
  • 66. خواندن از فایل با استفاده از وقفه DOS
  • 67. نوشتن در فایل با استفاده از وقفه DOS
  • 68. بستن فایل و مدیریت خطاها
  • 69. مقدمه‌ای بر ماکروها: کاهش کدهای تکراری
  • 70. نحوه تعریف و فراخوانی یک ماکرو ساده
  • 71. ماکروها با پارامترها
  • 72. استفاده از دستورالعمل LOCAL برای برچسب‌های محلی در ماکرو
  • 73. اسمبلی شرطی: دستورات IF, ELSE, ENDIF
  • 74. دستورات شرطی IFDEF و IFNDEF
  • 75. بلوک‌های تکرار: REPT, IRP, IRPC
  • 76. عملگرهای ماکرو: &، <>، !، %
  • 77. ساخت کتابخانه‌های ماکرو و استفاده از INCLUDE
  • 78. تعریف ساختارها با دستورالعمل STRUCT
  • 79. کار با فیلدهای یک ساختار
  • 80. تعریف رکوردها با دستورالعمل RECORD
  • 81. مدل‌های حافظه: TINY, SMALL, MEDIUM, COMPACT, LARGE, HUGE
  • 82. دستورالعمل ASSUME و نقش آن
  • 83. ترکیب زبان اسمبلی با زبان‌های سطح بالا (مانند C)
  • 84. قراردادهای فراخوانی: cdecl و pascal
  • 85. نوشتن توابع اسمبلی برای فراخوانی از C
  • 86. فراخوانی توابع C از درون کد اسمبلی
  • 87. مقدمه‌ای بر کمک‌پ پردازنده ریاضی 8087 (FPU)
  • 88. رجیسترهای پشته‌ای FPU و دستورالعمل‌های پایه
  • 89. تکنیک‌های بهینه‌سازی کد اسمبلی
  • 90. ایجاد برنامه‌های مقیم در حافظه (TSR)
  • 91. مقدمه‌ای بر معماری 32 بیتی: پردازنده 80386 و حالت محافظت شده
  • 92. نگاهی گذرا به برنامه‌نویسی اسمبلی x86-64
  • 93. کاربردهای مدرن اسمبلی: مهندسی معکوس و امنیت
  • 94. کاربردهای مدرن اسمبلی: سیستم‌های نهفته و درایورها
  • 95. پروژه نهایی: ساخت یک ویرایشگر متن ساده در مد TEXT
  • 96. جمع‌بندی دوره و مسیرهای یادگیری آینده

نظرات

هنوز نظری ثبت نشده است.

وارد شوید تا نظر ثبت کنید.