کتاب صوتی جادوی زبان اسمبلی: کشف کدهای پنهان و تسلط بر سختافزار
📚 کتاب آموزشی جامع
📚 اطلاعات کتاب
عنوان کتاب: کتاب جادوی زبان اسمبلی: کشف کدهای پنهان و تسلط بر سختافزار
موضوع کلی: برنامهنویسی سطح پایین
موضوع میانی: رازهای برنامهنویسی با زبان اسمبلی
📋 سرفصلهای کتاب (100 موضوع)
- 1. مقدمهای بر جادوی زبان اسمبلی: چرا باید به سطح پایین برویم؟
- 2. تاریخچه و تکامل پردازندهها: از 8086 تا معماریهای مدرن
- 3. سیستمهای عددی: سفری به دنیای دودویی و هگزادسیمال
- 4. نمایش دادهها در حافظه: بیتها، بایتها و کلمات
- 5. معماری فون نویمان: قلب تپنده کامپیوترهای امروزی
- 6. آشنایی با واحد پردازش مرکزی (CPU) و چرخه دستورالعمل
- 7. ثباتها (Registers) چیستند؟ میز کار پردازنده
- 8. کاوش در ثباتهای عمومی (General-Purpose Registers)
- 9. ثباتهای ویژه: اشارهگر دستور (IP) و فلگها (Flags)
- 10. مدل حافظه و سگمنتیشن: آدرسدهی در دنیای واقعی
- 11. پشته (Stack): ستون فقرات اجرای توابع
- 12. نصب و راهاندازی محیط توسعه (NASM و Linker)
- 13. ابزارهای جادوگر: آشنایی با دیباگرها (GDB/WinDbg)
- 14. اولین برنامه: طلسم "سلام، جادوگر!"
- 15. فرایند اسمبل کردن و لینک کردن: از کد منبع تا فایل اجرایی
- 16. دستور MOV: قلب تپنده انتقال داده
- 17. انواع عملوندها: کار با ثباتها، حافظه و مقادیر ثابت
- 18. دستورات محاسباتی پایه: ADD و SUB
- 19. دستورات ضرب و تقسیم: MUL و DIV
- 20. کار با اعداد علامتدار و بدون علامت
- 21. عملیات بیتی منطقی: AND, OR, XOR, NOT
- 22. دستورات شیفت و چرخش: جابجایی هوشمندانه بیتها
- 23. دستور مقایسه (CMP) و تأثیر آن بر فلگها
- 24. پرش بدون شرط (JMP): تغییر مسیر اجرای برنامه
- 25. پرشهای شرطی: تصمیمگیری در سطح ماشین
- 26. ساختار حلقهها (Loops) با استفاده از پرشهای شرطی
- 27. دستورات PUSH و POP: مدیریت پشته
- 28. استفاده از پشته برای ذخیره موقت دادهها
- 29. تعریف و فراخوانی رویهها (Procedures)
- 30. دستورات CALL و RET: مکانیزم فراخوانی تابع
- 31. جادوی دستور LEA: محاسبه آدرس بدون دسترسی به حافظه
- 32. تبادل دادهها: دستور XCHG
- 33. تعریف متغیرها و دادهها در سگمنت دیتا
- 34. پیادهسازی و پیمایش آرایهها
- 35. کار با رشتههای اسکی و کاراکترها
- 36. تکنیکهای پایه برای پردازش رشتهها
- 37. حالتهای آدرسدهی حافظه: کلید دسترسی به دادهها
- 38. آدرسدهی غیرمستقیم و مبتنی بر ثبات
- 39. ساختار پشتهقاب (Stack Frame): چارچوب اجرای توابع
- 40. انتقال پارامترها به رویهها از طریق پشته
- 41. تعریف متغیرهای محلی روی پشته
- 42. قدرت ماکروها در اسمبلی: اتوماسیون کدهای تکراری
- 43. تفاوت ماکرو و رویه: چه زمانی از کدام استفاده کنیم؟
- 44. مفهوم اشارهگرها در سطح پایین
- 45. مقدمهای بر ساختارها (Structs) در اسمبلی
- 46. قراردادهای فراخوانی (Calling Conventions): cdecl, stdcall
- 47. فراخوانی توابع اسمبلی از زبان C/C++
- 48. فراخوانی توابع C از زبان اسمبلی
- 49. ترکیب کد اسمبلی و C: بهترینهای هر دو جهان
- 50. مفهوم فراخوان سیستمی (System Call)
- 51. فراخوانهای سیستمی در لینوکس (syscall)
- 52. فراخوانهای سیستمی در ویندوز (Windows API)
- 53. ورودی و خروجی استاندارد: خواندن از کیبورد و نوشتن روی صفحه
- 54. کار با فایلها: باز کردن، خواندن، نوشتن و بستن
- 55. مدیریت حافظه دینامیک با فراخوانهای سیستمی
- 56. استفاده از کتابخانههای اشتراکی (Shared Libraries / DLLs)
- 57. مقدمهای بر برنامهنویسی ۶۴ بیتی (x86-64)
- 58. تفاوتهای کلیدی معماری ۶۴ بیتی: ثباتهای بیشتر، آدرسدهی جدید
- 59. واحد ممیز شناور (FPU) و پشته FPU
- 60. محاسبات اعشاری با دستورات FPU
- 61. مقدمهای بر SIMD: پردازش موازی دادهها
- 62. جادوی دستورات MMX: اولین گام در پردازش موازی
- 63. دستورات SSE و محاسبات برداری روی دادههای ۱۲۸ بیتی
- 64. کار با اعداد ممیز شناور با SSE
- 65. دستورات AVX: قدرت پردازش ۲۵۶ بیتی و فراتر از آن
- 66. بهینهسازی کد اسمبلی: ترفندها و تکنیکها
- 67. درک حافظه نهان (Cache) و تاثیر آن بر سرعت
- 68. رازهای بهینهسازی حلقه (Loop Unrolling)
- 69. خط لوله دستورالعمل (Instruction Pipelining) و خطرات آن
- 70. پیشبینی پرش (Branch Prediction) و نوشتن کدهای بهینه
- 71. عملیات اتمی و برنامهنویسی همروند
- 72. دستورات قفلگذاری (LOCK) برای دسترسی امن به حافظه
- 73. شناسایی ویژگیهای پردازنده با دستور CPUID
- 74. مفهوم وقفه (Interrupt): توقف جهان برای یک رویداد
- 75. جدول بردار وقفه (IVT / IDT)
- 76. وقفههای نرمافزاری: فراخوانی خدمات سیستم
- 77. وقفههای سختافزاری و ارتباط با دستگاهها
- 78. نوشتن یک کنترلکننده وقفه ساده (ISR)
- 79. ارتباط با سختافزار از طریق پورتهای I/O (IN, OUT)
- 80. تایمر قابل برنامهریزی (PIT) و زمانسنجی دقیق
- 81. دسترسی مستقیم به حافظه (DMA): انتقال داده بدون دخالت CPU
- 82. حالت متنی ویدیو (VGA Text Mode): نوشتن مستقیم روی صفحه
- 83. کنترل مکاننما و رنگها در حالت متنی
- 84. خواندن مستقیم ورودی از صفحهکلید
- 85. فرآیند بوت شدن کامپیوتر: از BIOS/UEFI تا سیستمعامل
- 86. Master Boot Record (MBR) و ساختار آن
- 87. نوشتن یک بوتلودر ساده: "سلام از دنیای واقعی!"
- 88. مقدمهای بر مهندسی معکوس با دیساسمبلرها
- 89. تحلیل کدهای کامپایل شده و درک منطق برنامه
- 90. کدهای خود-تغییردهنده (Self-Modifying Code)
- 91. هنر نوشتن شلکد (Shellcoding)
- 92. پیادهسازی یک الگوریتم رمزنگاری ساده (مانند XOR)
- 93. تولید اعداد تصادفی در سطح پایین
- 94. پروژه نهایی: ساخت یک بازی ساده در حالت متنی
- 95. تحلیل و بهینهسازی یک تابع کلیدی
- 96. جمعبندی: قدرت و مسئولیت برنامهنویسی اسمبلی
- 97. جادوی بیپایان اسمبلی: مسیر پیش رو
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفتوآمد هستید، قدم میزنید، استراحت میکنید یا کارهای روزمرهتان را انجام میدهید. محتوای صوتی کمک میکند از این لحظهها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفتوآمد، پیادهروی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربهای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازهای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایدههای تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادتهای شخصیتان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، میتوانید داستانها، آموزشها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتابها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفتوگو، روایت، توضیح آموزشی یا مجموعهای از قسمتهای صوتی؛ مناسب برای کشف ایدهها و آشنایی با دیدگاههای گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاههای تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپتاپ
با پخشکننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکتههای مهم را یادداشت کنید یا پس از پایان شنیدن، آنها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتابهای صوتی و پادکستهای آموزشی، دنیای تازهای از ایدهها، روایتها و آموختنیها را به لحظههای خود اضافه کنید.
sp.express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرمافزار مورد استفاده بستگی دارد.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.