کتاب از صفر تا قهرمانی با 80386: یک کتاب جامع برنامه نویسی اسمبلی
249,950 تومان
📚 کتاب آموزشی جامع
📚 اطلاعات کتاب
عنوان کتاب: کتاب از صفر تا قهرمانی با 80386: یک کتاب جامع برنامه نویسی اسمبلی
موضوع کلی: معماری کامپیوتر و برنامه نویسی اسمبلی
موضوع میانی: معماری و برنامه نویسی پردازنده 80386
📋 سرفصلهای کتاب (100 موضوع)
- 1. مقدمهای بر معماری کامپیوتر
- 2. چرا برنامه نویسی اسمبلی؟
- 3. معرفی پردازنده 80386: یک نگاه کلی
- 4. مبانی سیستمهای عددی: دودویی، شانزدهدهی و دهدهی
- 5. نمایندگی دادهها: اعداد صحیح، کاراکترها و رشتهها
- 6. حافظه و آدرسدهی: مفاهیم پایه و سازماندهی
- 7. ابزارهای برنامه نویسی اسمبلی: اسمبلر، لینکر، دیباگر
- 8. اولین برنامه اسمبلی: "Hello World" و کامپایل آن
- 9. ساختار یک برنامه اسمبلی استاندارد (MASM/NASM)
- 10. مدلهای حافظه در 80386 (مقدمه ای بر Flat, Tiny, Small, Compact, Large, Huge)
- 11. ثباتهای عمومی 80386: EAX, EBX, ECX, EDX و کاربردها
- 12. ثباتهای اشارهگر و اندیس: ESP, EBP, ESI, EDI و نقش آنها در پشته و آدرسدهی
- 13. ثباتهای Segment: CS, DS, SS, ES, FS, GS و سگمنتبندی
- 14. ثبات پرچم (EFLAGS) و بیتهای مهم آن
- 15. ثبات اشارهگر دستور (EIP) و نقش آن در اجرای برنامه
- 16. سازماندهی حافظه در Real Mode: سگمنتها و آفستها
- 17. محاسبه آدرس فیزیکی در Real Mode
- 18. مفهوم Segment Override Prefix و کاربردهای آن
- 19. پشته (Stack) در Real Mode: اصول کار و مدیریت
- 20. کار با پشته: دستورات PUSH و POP
- 21. انواع دادهها در اسمبلی: BYTE, WORD, DWORD, QWORD
- 22. تعریف متغیرها: DB, DW, DD, DQ, DT
- 23. تعریف ثابتها: EQU و استفاده از آن
- 24. مقدمهای بر دستورالعملها (Instruction Set) 80386
- 25. فرمت و ساختار دستورالعملها: اپکد، عملوندها
- 26. دستورات انتقال داده: MOV, MOVSX, MOVZX
- 27. دستورات انتقال داده پشتهای: PUSHAD, POPAD, PUSHF, POPF
- 28. دستورات بارگذاری آدرس: LEA
- 29. دستورات مبادله: XCHG, BSWAP
- 30. دستورات ورودی/خروجی پایه: IN, OUT
- 31. دستورات محاسباتی پایه: ADD, SUB
- 32. دستورات محاسباتی ضرب: MUL, IMUL
- 33. دستورات محاسباتی تقسیم: DIV, IDIV
- 34. دستورات افزایشی و کاهشی: INC, DEC
- 35. دستورات مقایسه و نفی: CMP, NEG
- 36. دستورات منطقی: AND, OR, XOR, NOT
- 37. دستورات شیفت منطقی و حسابی: SHL, SHR, SAR, SAL
- 38. دستورات چرخش: ROL, ROR, RCL, RCR
- 39. دستورات تست بیتی: TEST
- 40. مقدمهای بر پرشها و کنترل فلو (Conditional/Unconditional Jumps)
- 41. پرشهای بدون شرط: JMP
- 42. فراخوانی توابع و زیربرنامهها: CALL, RET
- 43. پرشهای شرطی بر اساس پرچمها: JZ, JNZ, JC, JNC, JO, JNO و...
- 44. دستورات حلقه: LOOP, LOOPE, LOOPNE, JECXZ
- 45. طراحی توابع و زیربرنامهها (Procedures) در اسمبلی
- 46. فراخوانی توابع دور (FAR CALL/RET) و نزدیک (NEAR CALL/RET)
- 47. ارسال پارامترها به توابع از طریق رجیسترها
- 48. ارسال پارامترها به توابع از طریق پشته (Stack Frame)
- 49. مدیریت حافظه محلی در توابع: ENTER, LEAVE
- 50. توابع بازگشتی (Recursion) و پیادهسازی آن
- 51. ماکروها: تعریف، استفاده و پارامترها
- 52. تفاوت و انتخاب بین ماکروها و توابع
- 53. پیادهسازی ساختارهای شرطی IF/ELSE در اسمبلی
- 54. پیادهسازی ساختارهای تکرار WHILE/FOR در اسمبلی
- 55. مبانی کار با رشتهها در اسمبلی
- 56. دستکاری کاراکترها و رشتههای ASCII
- 57. دستورات انتقال رشتهای: MOVSB, MOVSW, MOVSD
- 58. دستورات جستجوی رشتهای: SCASB, SCASW, SCASD
- 59. دستورات بارگذاری و ذخیره رشتهای: LODSB, LODSW, LODSD, STOSB, STOSW, STOSD
- 60. دستورات مقایسه رشتهای: CMPSB, CMPSW, CMPSD
- 61. پیشوندهای تکرار: REP, REPE, REPNE (REPZ, REPNZ)
- 62. عملیات BCD (Binary Coded Decimal) و دستورات آن
- 63. دستورات تبدیل BCD به باینری و بالعکس
- 64. دستورات تبدیل بایت/کلمه/دوکلمه/چهارکلمه (CBW, CWD, CDQ, CWDE, CDQE)
- 65. دستکاری بیتی پیشرفته: BT, BTC, BTR, BTS
- 66. دستورات XADD, CMPXCHG برای همگامسازی (Synchronization)
- 67. مفهوم وقفه (Interrupt) و انواع آن
- 68. جدول توصیفگر وقفه (IDT) در Real Mode (IVT)
- 69. وقفههای سختافزاری و نرمافزاری (INT n)
- 70. دستورالعمل INT n و INTO
- 71. دستورات CLI, STI, IRET برای مدیریت وقفهها
- 72. استفاده از توابع DOS (Int 21h) برای ورودی/خروجی کنسول و فایل
- 73. استفاده از توابع BIOS (Int 10h, Int 16h, Int 13h)
- 74. نوشتن روتینهای سرویس وقفه (ISR) سفارشی
- 75. اصول I/O Port و آدرسدهی آن
- 76. دسترسی مستقیم به پورتهای I/O با دستورات IN, OUT
- 77. نیاز به Protected Mode: مزایا و اهداف
- 78. تفاوتهای اساسی Real Mode و Protected Mode
- 79. ورود به Protected Mode و بازگشت از آن
- 80. ثباتهای کنترل (Control Registers): CR0, CR1, CR2, CR3, CR4
- 81. ثباتهای دیباگ (Debug Registers): DR0-DR7
- 82. مفهوم جدول توصیفگر سراسری (GDT)
- 83. توصیفگرهای سگمنت (Segment Descriptors): ساختار و انواع
- 84. انتخابگرهای سگمنت (Segment Selectors): RPL, TI, Index
- 85. بارگذاری ثباتهای سگمنت در Protected Mode
- 86. آدرسدهی منطقی، خطی و فیزیکی در Protected Mode
- 87. مفهوم Paging و نقش آن در حافظه مجازی
- 88. جداول صفحه (Page Tables): ساختار و ورودیها
- 89. دایرکتوری صفحه (Page Directory): ساختار و ورودیها
- 90. ترجمه آدرس خطی به فیزیکی توسط Paging
- 91. فعالسازی Paging و مدیریت آن
- 92. مفهوم Task State Segment (TSS) و محتویات آن
- 93. سوئیچینگ وظیفه (Task Switching) سختافزاری
- 94. مفهوم گیتها (Gates): Call Gate, Interrupt Gate, Trap Gate, Task Gate
- 95. حلقههای محافظت (Protection Rings): Ring 0 تا Ring 3
- 96. مکانیزمهای امنیتی و کنترل دسترسی در Protected Mode
- 97. مفهوم Virtual 8086 Mode (V86 Mode)
- 98. فعالسازی و مدیریت V86 Mode توسط یک Monitor
- 99. برنامه نویسی در V86 Mode و محدودیتهای آن
- 100. بهینهسازی کد اسمبلی برای کارایی بهتر در 80386
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.