کتاب زبان اسمبلی IBM-PC: از صفر تا قهرمانی (با رویکرد آسان و جذاب) با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB

زبان اسمبلی IBM-PC: از صفر تا قهرمانی (با رویکرد آسان و جذاب) | یک گام تا تسلط بر معماری کامپیوتر زبان اسمبلی IBM-PC: از صفر تا قهرمانی (با رویکرد آسان و جذاب) آیا تا به حال آرزو کرده‌اید که بدانید کا...

انتخاب پلن

انتخاب پلن برای ادامه خرید الزامی است.

پرداخت اقساطی
در صورت خرید اقساطی هر قسط: 62,488 تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.
پرداخت اقساطی با دیجی‌پی پرداخت اقساطی با ترب‌پی

🎓 دوره آموزشی جامع

📚 اطلاعات دوره

عنوان دوره: دوره زبان اسمبلی IBM-PC: از صفر تا قهرمانی (با رویکرد آسان و جذاب)

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

موضوع میانی: زبان اسمبلی x86

📋 سرفصل‌های دوره

  • 1. به دنیای اسمبلی خوش آمدید: چرا باید اسمبلی یاد بگیریم؟
  • 2. نگاهی به کامپیوتر IBM-PC و معماری x86 (Real Mode)
  • 3. سیستم‌های عددی: باینری، هگزادسیمال، دسیمال (از صفر)
  • 4. تبدیل‌های سریع بین سیستم‌های عددی: رمزگشایی داده‌ها
  • 5. مفهوم بیت، بایت، کلمه و کلمه دوگانه
  • 6. ابزارهای برنامه‌نویسی: اسمبلر (NASM/MASM)، لینکر، دیباگر
  • 7. ساختار یک برنامه اسمبلی IBM-PC
  • 8. اولین برنامه شما: "Hello, World!" با رویکرد آسان
  • 9. اسمبل کردن، لینک کردن و اجرای برنامه‌ها
  • 10. حل مشکلات رایج و مقدمه‌ای بر دیباگینگ
  • 11. معرفی کلی CPU و نقش آن در معماری IBM-PC
  • 12. رجیسترهای همه‌منظوره: AX, BX, CX, DX (کاربرد پایه)
  • 13. رجیسترهای همه‌منظوره: AX, BX, CX, DX (بخش‌های H و L)
  • 14. رجیسترهای اشاره‌گر: SP (Stack Pointer) و BP (Base Pointer)
  • 15. رجیسترهای اندیس: SI (Source Index) و DI (Destination Index)
  • 16. رجیستر پرچم‌ها (Flags Register): شناسایی نتایج عملیات
  • 17. فلگ Carry, Zero, Sign: کنترل جریان برنامه
  • 18. فلگ Overflow, Parity, Auxiliary Carry: جزئیات بیشتر
  • 19. رجیسترهای قطعه‌ای (Segment Registers): CS, DS, ES, SS
  • 20. مفهوم سگمنت و آفست: آدرس‌دهی در حافظه
  • 21. محاسبه آدرس فیزیکی: فرمول اصلی
  • 22. بخش‌بندی حافظه در Real Mode: ۱ مگابایت افسانه‌ای
  • 23. حالت‌های آدرس‌دهی: Immediate, Register
  • 24. حالت‌های آدرس‌دهی: Direct, Register Indirect
  • 25. حالت‌های آدرس‌دهی: Base, Index, Base+Index
  • 26. دستور MOV: قلب انتقال داده‌ها
  • 27. محدودیت‌های MOV: جایی که MOV نمی‌تواند برود
  • 28. دستور PUSH و POP: مدیریت پشته به سادگی
  • 29. مثال‌های کاربردی از PUSH و POP: حفظ وضعیت رجیسترها
  • 30. دستور XCHG: تعویض محتوای دو مکان به سرعت
  • 31. مقدمه‌ای بر عملیات حسابی و تاثیر بر فلگ‌ها
  • 32. دستور ADD: جمع اعداد با یا بدون Carry
  • 33. دستور ADC: جمع با Carry (اضافه کردن Carry به جمع)
  • 34. دستور SUB: تفریق اعداد با یا بدون Borrow
  • 35. دستور SBB: تفریق با Borrow (کاهش با Borrow)
  • 36. دستور INC و DEC: افزایش و کاهش سریع
  • 37. دستور NEG: تغییر علامت یک عدد
  • 38. ضرب در اسمبلی: MUL (بدون علامت) و IMUL (علامت‌دار)
  • 39. تقسیم در اسمبلی: DIV (بدون علامت) و IDIV (علامت‌دار)
  • 40. مثال جامع از عملیات حسابی و تاثیر فلگ‌ها
  • 41. دستور CMP: مقایسه اعداد بدون تغییر آنها
  • 42. دستور AND: عملیات منطقی "و" بیتی و ماسک کردن
  • 43. دستور OR: عملیات منطقی "یا" بیتی و تنظیم بیت‌ها
  • 44. دستور XOR: عملیات "یا انحصاری" و کاربردهای خاص (مثلاً صفر کردن رجیستر)
  • 45. دستور NOT: معکوس کردن بیت‌ها
  • 46. دستور TEST: مقایسه منطقی بدون تغییر رجیستر
  • 47. شیفت منطقی: SHL (Left Shift) و SHR (Right Shift)
  • 48. شیفت حسابی: SAL (Arithmetic Left Shift) و SAR (Arithmetic Right Shift)
  • 49. چرخش بیت‌ها: ROL (Rotate Left) و ROR (Rotate Right)
  • 50. چرخش با Carry: RCL (Rotate Through Carry Left) و RCR (Rotate Through Carry Right)
  • 51. پرش‌های بدون قید و شرط: JMP (Near, Far, Short)
  • 52. پرش‌های شرطی: JZ, JNZ, JC, JNC (بر اساس فلگ‌ها)
  • 53. پرش‌های شرطی برای اعداد علامت‌دار و بدون علامت (JG, JL, JA, JB و ... )
  • 54. حلقه‌ها: دستور LOOP و کاربرد رجیستر CX
  • 55. حلقه‌های شرطی: LOOPE/LOOPZ و LOOPNE/LOOPNZ
  • 56. تعریف متغیرها: DB, DW, DD, DQ, DT
  • 57. مقداردهی اولیه به متغیرها و استفاده از DUP
  • 58. آرایه‌ها: تعریف، دسترسی و پیمایش
  • 59. رشته‌های متنی: ذخیره‌سازی و پایان رشته (Null-terminated)
  • 60. ساختارهای داده‌ای ساده: رکوردها و فیلدها (با EQU و STRUCT)
  • 61. رویه‌ها (Procedures): سازماندهی کد با CALL و RET
  • 62. ارسال پارامترها به رویه‌ها از طریق پشته
  • 63. حفظ و بازیابی رجیسترها در رویه‌ها
  • 64. رویه‌های تودرتو و بازگشتی (مقدمه‌ای بر Recursion)
  • 65. تکنیک‌های اشکال‌زدایی پیشرفته‌تر: بررسی حافظه و پشته
  • 66. معرفی مفهوم وقفه (Interrupt) و جدول بردارهای وقفه (IVT)
  • 67. وقفه DOS: INT 21h (مقدمه‌ای بر توابع سیستم‌عامل)
  • 68. تابع 01h (INT 21h): خواندن یک کاراکتر از کیبورد (با اکو)
  • 69. تابع 02h (INT 21h): نمایش یک کاراکتر بر روی صفحه
  • 70. تابع 09h (INT 21h): نمایش یک رشته متنی ($ Terminated)
  • 71. تابع 0Ah (INT 21h): خواندن رشته از کیبورد (با بافر)
  • 72. وقفه BIOS: INT 10h (خدمات ویدئویی)
  • 73. تابع 00h (INT 10h): تنظیم حالت ویدئویی
  • 74. تابع 02h (INT 10h): تنظیم موقعیت مکان‌نما (Cursor)
  • 75. تابع 03h (INT 10h): خواندن موقعیت و شکل مکان‌نما
  • 76. تابع 06h و 07h (INT 10h): اسکرول کردن صفحه
  • 77. تابع 09h (INT 10h): نمایش کاراکتر با رنگ در موقعیت دلخواه
  • 78. تابع 0Ah (INT 10h): نوشتن کاراکتر در موقعیت مکان‌نما
  • 79. وقفه BIOS: INT 16h (خدمات کیبورد)
  • 80. تابع 00h (INT 16h): خواندن کاراکتر از کیبورد
  • 81. تابع 01h (INT 16h): بررسی وجود کلید فشرده شده (بدون انتظار)
  • 82. تابع 02h (INT 16h): خواندن وضعیت کلیدهای Shift, Ctrl, Alt
  • 83. وقفه BIOS: INT 1Ah (خدمات ساعت و تاریخ)
  • 84. تابع 00h (INT 1Ah): خواندن ساعت سیستم
  • 85. تابع 04h (INT 1Ah): خواندن تاریخ سیستم
  • 86. مقدمه‌ای بر کار با فایل‌ها (با INT 21h)
  • 87. تابع 3Ch (INT 21h): ایجاد فایل جدید
  • 88. تابع 3Dh (INT 21h): باز کردن فایل موجود
  • 89. تابع 3Eh (INT 21h): بستن فایل
  • 90. تابع 3Fh و 40h (INT 21h): خواندن و نوشتن در فایل
  • 91. ماکروها (Macros): تعریف، کاربرد و مزایا
  • 92. پارامترها در ماکروها و اپراتورهای ماکرو
  • 93. استفاده از INCLUDE: سازماندهی کد با فایل‌های جداگانه
  • 94. برنامه‌نویسی ساختاریافته در اسمبلی: IF, ELSE, WHILE
  • 95. کاربرد آدرس‌های نزدیک و دور (NEAR vs. FAR)
  • 96. مدیریت خطاهای رایج در برنامه‌نویسی اسمبلی
  • 97. ساخت یک بازی متنی ساده: "Space Invaders" کوچک!
  • 98. پیاده‌سازی یک ماشین‌حساب ساده خط فرمان
  • 99. بهینه‌سازی کد اسمبلی: سرعت و اندازه
  • 100. فراتر از Real Mode: نگاهی کوتاه به آینده وProtected Mode (با تاکید بر "فقط برای شناخت")
تگ‌ها: Assembler assembly programming Computer Architecture DOS Programming low-level programming MIPS (اگر در ادامه به آن پرداخته شود) PC architecture x86 Assembly آموزش اسمبلی زبان اسمبلی، اسمبلی x86، برنامه‌نویسی اسمبلی، IBM-PC assembly language مقدمات اسمبلی یادگیری اسمبلی

نظرات

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

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