کتاب صوتی راهنمای جامع برنامهنویسی 80386/80486 با رویکرد Microsoft: از مقدمات تا بهینهسازی
📚 کتاب آموزشی جامع
📚 اطلاعات کتاب
عنوان کتاب: کتاب راهنمای جامع برنامهنویسی 80386/80486 با رویکرد Microsoft: از مقدمات تا بهینهسازی
موضوع کلی: معماری و برنامهنویسی سطح پایین کامپیوتر
موضوع میانی: برنامهنویسی اسمبلی برای پردازندههای 80386 و 80486
📋 سرفصلهای کتاب (100 موضوع)
- 1. مقدمهای بر معماری کامپیوتر و زبان اسمبلی
- 2. چرا برنامهنویسی اسمبلی برای 80386/80486؟
- 3. مروری بر سیر تکاملی پردازندههای X86
- 4. محیط توسعه: اسمبلر، لینکر، دیباگر
- 5. اولین برنامه اسمبلی: Hello World در حالت حقیقی (Real Mode)
- 6. رجیسترهای عمومی (General Purpose Registers): EAX, EBX, ECX, EDX
- 7. رجیسترهای اشارهگر و اندیس (Pointer and Index Registers): ESI, EDI, EBP, ESP
- 8. رجیسترهای سگمنت (Segment Registers): CS, DS, SS, ES, FS, GS
- 9. رجیستر پرچمها (EFLAGS) و بیتهای وضعیت
- 10. رجیستر اشارهگر دستورالعمل (EIP)
- 11. انواع دادهها و مقادیر فوری (Immediate Values)
- 12. سازماندهی حافظه: آدرسهای منطقی، خطی و فیزیکی
- 13. حالتهای عملیاتی پردازنده: Real Mode, Protected Mode, Virtual 8086 Mode
- 14. ساختار حافظه و نواحی RAM/ROM
- 15. مد آدرسدهی (Addressing Modes) در 80386/80486
- 16. MOV: جابجایی عمومی دادهها
- 17. PUSH و POP: عملیات پشته (Stack)
- 18. LEA: بارگذاری آدرس موثر (Load Effective Address)
- 19. XCHG: تعویض محتوای رجیستر/حافظه
- 20. CWD, CDQ: توسعه علامت (Sign Extension)
- 21. MOVSX, MOVZX: توسعه علامت و صفر برای دادهها
- 22. BSWAP: معکوس کردن ترتیب بایتها
- 23. LODS, STOS, MOVS: دستورات رشتهای (String Operations)
- 24. IN و OUT: ورودی/خروجی پورت (Port I/O)
- 25. ADD, ADC: جمع و جمع با رقم نقلی (Carry)
- 26. SUB, SBB: تفریق و تفریق با رقم قرضی (Borrow)
- 27. INC, DEC: افزایش و کاهش
- 28. NEG: منفی کردن (Negation)
- 29. CMP: مقایسه
- 30. MUL, IMUL: ضرب (بدون علامت و علامتدار)
- 31. DIV, IDIV: تقسیم (بدون علامت و علامتدار)
- 32. AND, OR, XOR: عملیات منطقی بیتی
- 33. NOT: NOT بیتی
- 34. TEST: تست بیتی
- 35. SHL, SHR, SAL, SAR: شیفت بیتی (Logical and Arithmetic Shifts)
- 36. ROL, ROR, RCL, RCR: چرخش بیتی (Rotates)
- 37. BT, BTC, BTR, BTS: تست و دستکاری بیتها
- 38. DAA, DAS: تنظیم اعشاری (Decimal Adjust)
- 39. AAA, AAS, AAM, AAD: تنظیم ASCII
- 40. JMP: پرش بدون قید و شرط
- 41. Jcc: پرشهای شرطی (Conditional Jumps)
- 42. CALL و RET: فراخوانی و بازگشت از زیرروالها
- 43. LOOP, LOOPE, LOOPNE: حلقهها
- 44. فراخوانیهای داخل سگمنت و بین سگمنت (Near and Far Calls/Jumps)
- 45. پیادهسازی ساختارهای کنترلی سطح بالا (IF/ELSE, WHILE) در اسمبلی
- 46. استفاده از دستورات SETcc
- 47. آشنایی با Protected Mode و اهمیت آن
- 48. جدول توصیفگر جهانی (GDT) و توصیفگرها (Descriptors)
- 49. توصیفگرهای سگمنت: کد، داده، پشته
- 50. انتخابگرهای سگمنت (Segment Selectors) و ساختار آنها
- 51. جدول توصیفگر محلی (LDT)
- 52. سطوح امتیاز (Privilege Levels) و حلقههای حفاظتی (Rings)
- 53. دروازههای فراخوانی (Call Gates) برای تغییر سطح امتیاز
- 54. فعالسازی Protected Mode
- 55. مقدمهای بر Paging و ترجمه آدرسها
- 56. ساختار دایرکتوری صفحه (Page Directory)
- 57. ساختار جدول صفحه (Page Table)
- 58. ترجمه آدرس خطی به فیزیکی با Paging
- 59. رجیسترهای کنترلی (CR0, CR3) برای Paging
- 60. مدیریت حافظه مجازی و نقش Paging
- 61. حفاظت حافظه (Memory Protection) در Protected Mode
- 62. آدرسدهی 32 بیتی در Protected Mode
- 63. تخصیص و آزادسازی حافظه در Protected Mode (مفاهیم)
- 64. تفاوت وقفهها (Interrupts) و استثناها (Exceptions)
- 65. جدول توصیفگر وقفه (IDT)
- 66. توصیفگرهای گیت وقفه و تله (Interrupt Gate, Trap Gate)
- 67. بردارهای وقفه و انواع آنها
- 68. وقفههای سختافزاری (IRQs)
- 69. وقفههای نرمافزاری (INT n) و استفاده از آنها
- 70. نوشتن روالهای سرویس وقفه (ISRs) سفارشی
- 71. مدیریت استثناها (مانند تقسیم بر صفر، خطای حفاظت عمومی)
- 72. اولویتبندی وقفهها
- 73. وقفههای تودرتو (Nested Interrupts)
- 74. دستورات STI, CLI, IRET, IRETD
- 75. سگمنت وضعیت وظیفه (TSS): ساختار و کاربرد
- 76. دروازههای وظیفه (Task Gates)
- 77. مکانیزم سوییچ وظیفه (Task Switching)
- 78. چندوظیفگی (Multitasking) در Protected Mode
- 79. رجیسترهای کنترلی (CR0) برای مدیریت وظایف
- 80. معرفی واحد ممیز شناور (FPU) یا 80387/80486DX
- 81. رجیسترهای FPU و مدل پشتهای (Stack Model)
- 82. انواع دادههای FPU (ممیز شناور تک، دو، و ده برابر دقت)
- 83. دستورات پایه FPU: بارگذاری، ذخیره، انتقال (FLD, FST, FADD, FMUL, FDIV)
- 84. دستورات مقایسه و کنترل FPU
- 85. FPU: انجام محاسبات پیچیده ریاضی
- 86. افزایش کارایی در 80486: Cache On-Chip و Pipelining
- 87. مدیریت Cache: سیاستهای Write-Through و Write-Back
- 88. دستورات کنترل Cache (مانند INVD, WBINVD)
- 89. بهینهسازی کد برای عملکرد بهتر روی 80386/80486
- 90. تشخیص نوع پردازنده (CPU ID)
- 91. استفاده از ویژگیهای خاص 80486 برای حداکثر کارایی
- 92. فراخوانی کدهای اسمبلی از C/C++
- 93. فراخوانی توابع C/C++ از کد اسمبلی
- 94. قراردادهای ارسال پارامتر (Calling Conventions)
- 95. لینک کردن ماژولهای اسمبلی با کدهای C/C++
- 96. انتقال داده بین اسمبلی و زبانهای سطح بالا
- 97. استفاده از دیباگرهای پیشرفته (مانند SoftICE، OllyDbg، WinDbg - مفاهیم)
- 98. نقاط توقف (Breakpoints) و ردیابی (Tracing)
- 99. تحلیل حافظه و رجیسترها در حین عیبیابی
- 100. نکات و ترفندهای بهینهسازی و عیبیابی پیشرفته
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفتوآمد هستید، قدم میزنید، استراحت میکنید یا کارهای روزمرهتان را انجام میدهید. محتوای صوتی کمک میکند از این لحظهها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفتوآمد، پیادهروی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربهای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازهای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایدههای تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادتهای شخصیتان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، میتوانید داستانها، آموزشها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتابها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفتوگو، روایت، توضیح آموزشی یا مجموعهای از قسمتهای صوتی؛ مناسب برای کشف ایدهها و آشنایی با دیدگاههای گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاههای تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپتاپ
با پخشکننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکتههای مهم را یادداشت کنید یا پس از پایان شنیدن، آنها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتابهای صوتی و پادکستهای آموزشی، دنیای تازهای از ایدهها، روایتها و آموختنیها را به لحظههای خود اضافه کنید.
sp.express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرمافزار مورد استفاده بستگی دارد.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.