🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: تسلط بر زبان اسمبلی IBM PC: از پایه تا کاربرد عملی
موضوع کلی: برنامهنویسی سیستم
موضوع میانی: برنامهنویسی سطح پایین
📋 سرفصلهای دوره (100 موضوع)
- 1. مقدمهای بر برنامهنویسی سیستم و زبان اسمبلی
- 2. چرا زبان اسمبلی در عصر حاضر؟ کاربردها و ضرورتها
- 3. تاریخچه IBM PC و نقش پردازنده 8086/8088
- 4. معماری کلی یک سیستم کامپیوتری IBM PC
- 5. مفاهیم پایه بیت، بایت، کلمه و کلمه دوگانه
- 6. سیستم عددی دودویی (باینری) و عملیات آن
- 7. سیستم عددی شانزدهی (هگزادسیمال) و اهمیت آن
- 8. تبدیل مبناها: دهدهی، دودویی، شانزدهی
- 9. نمایش اعداد علامتدار: متمم دو
- 10. نصب و پیکربندی محیط برنامهنویسی (اسمبلر، لینکر، دیباگر)
- 11. ساختار اولیه یک برنامه اسمبلی: کد، داده، پشته
- 12. اسمبل کردن و لینک کردن اولین برنامه
- 13. اجرای برنامه و درک خروجی
- 14. رجیسترهای عمومی پردازنده 8086/8088 (AX, BX, CX, DX)
- 15. رجیسترهای اشارهگر و اندیس (SP, BP, SI, DI)
- 16. رجیسترهای قطعهای (CS, DS, ES, SS)
- 17. رجیستر پرچمها (FLAGS) و بیتهای وضعیت
- 18. مفهوم قطعهبندی حافظه (Segmentation)
- 19. آدرسدهی منطقی و فیزیکی در 8086
- 20. محاسبه آدرس فیزیکی با استفاده از Segment:Offset
- 21. مدلهای حافظه در برنامهنویسی اسمبلی (Tiny, Small, etc.)
- 22. دستورالعملهای اسمبلر: SEGMENT, ENDS, ASSUME
- 23. دستورالعملهای اسمبلر: PROC, ENDP, END
- 24. تعریف دادهها با DB, DW, DD
- 25. تعریف ثوابت با EQU و %DEFINE
- 26. دستور MOV: انتقال داده بین رجیسترها و حافظه
- 27. دستور XCHG: مبادله محتویات رجیسترها و حافظه
- 28. PUSH و POP: مدیریت پشته
- 29. PUSHF و POPF: ذخیره و بازیابی رجیستر پرچمها
- 30. LEA: بارگذاری آدرس موثر
- 31. LDS و LES: بارگذاری اشارهگرهای دور
- 32. XLAT: ترجمه جدول
- 33. حالتهای آدرسدهی: فوری (Immediate)
- 34. حالتهای آدرسدهی: رجیستری (Register)
- 35. حالتهای آدرسدهی: مستقیم (Direct)
- 36. حالتهای آدرسدهی: غیرمستقیم رجیستری (Register Indirect)
- 37. حالتهای آدرسدهی: پایه و اندیس (Base-Indexed)
- 38. حالتهای آدرسدهی: جابجایی (Relative)
- 39. دستور ADD و ADC: جمع با و بدون رقم نقلی
- 40. دستور SUB و SBB: تفریق با و بدون رقم قرضی
- 41. INC و DEC: افزایش و کاهش
- 42. NEG: تغییر علامت
- 43. CMP: مقایسه عملوندها و تاثیر بر پرچمها
- 44. MUL و IMUL: ضرب بدون علامت و علامتدار
- 45. DIV و IDIV: تقسیم بدون علامت و علامتدار
- 46. AAA, AAD, AAM, AAS: تنظیمات BCD (Binary Coded Decimal)
- 47. JMP: پرش بدون شرط (کوتاه، نزدیک، دور)
- 48. پرشهای شرطی: JZ, JNZ, JE, JNE (بر اساس پرچم Z)
- 49. پرشهای شرطی: JA, JNA, JB, JNB (اعداد بدون علامت)
- 50. پرشهای شرطی: JG, JNG, JL, JNL (اعداد علامتدار)
- 51. پرشهای شرطی: JO, JNO, JP, JNP, JS, JNS
- 52. دستور LOOP: حلقههای تکرار با CX
- 53. LOOPE/LOOPZ و LOOPNE/LOOPNZ: حلقههای شرطی
- 54. JCXZ: پرش در صورتی که CX صفر باشد
- 55. AND, OR, XOR, NOT: عملیات منطقی بیتی
- 56. TEST: تست بیتها بدون تغییر عملوند
- 57. SHL, SHR: شیفت منطقی به چپ و راست
- 58. SAL, SAR: شیفت حسابی به چپ و راست
- 59. ROL, ROR: چرخش به چپ و راست
- 60. RCL, RCR: چرخش به چپ و راست با رقم نقلی
- 61. مقدمهای بر زیرروالها و مزایای استفاده از آنها
- 62. CALL و RET: فراخوانی و بازگشت از زیرروال
- 63. انتقال پارامترها به زیرروالها از طریق رجیسترها
- 64. انتقال پارامترها به زیرروالها از طریق پشته
- 65. زیرروالهای NEAR و FAR
- 66. سازماندهی حافظه پشته و قاب پشته (Stack Frame)
- 67. مفهوم رشتهها در اسمبلی و نمایش آنها
- 68. MOVSB, MOVSW: انتقال بایت/کلمه رشته
- 69. CMPSB, CMPSW: مقایسه بایت/کلمه رشته
- 70. SCASB, SCASW: اسکن بایت/کلمه رشته
- 71. LODSB, LODSW: بارگذاری بایت/کلمه رشته
- 72. STOSB, STOSW: ذخیره بایت/کلمه رشته
- 73. REP: تکرار دستورات رشتهای
- 74. مقدمهای بر ماکروها: تعریف و کاربرد
- 75. تعریف ماکرو با MACRO و ENDM
- 76. استفاده از پارامترها و اپراتورهای ماکرو
- 77. ماکروهای شرطی و تکراری
- 78. تفاوتهای کلیدی بین ماکرو و زیرروال
- 79. مقدمهای بر وقفهها (Interrupts): سختافزاری و نرمافزاری
- 80. جدول بردار وقفه (IVT) و نحوه کار آن
- 81. INT: فراخوانی وقفه نرمافزاری
- 82. IRET: بازگشت از روتین وقفه
- 83. روتینهای خدمات وقفه (ISR) و نحوه پیادهسازی
- 84. وقفه 10h BIOS: خدمات ویدئو (تنظیم حالت، چاپ)
- 85. وقفه 16h BIOS: خدمات صفحه کلید (خواندن کلید)
- 86. وقفه 1Ah BIOS: خدمات زمان (خواندن ساعت)
- 87. وقفه 13h BIOS: خدمات دیسک (خواندن/نوشتن سکتور)
- 88. وقفه 21h DOS: چاپ کاراکتر و رشته
- 89. وقفه 21h DOS: خواندن کاراکتر و رشته از صفحه کلید
- 90. وقفه 21h DOS: مدیریت فایل (باز کردن، بستن، خواندن، نوشتن)
- 91. وقفه 21h DOS: ایجاد و حذف فایل و دایرکتوری
- 92. مدیریت پورتهای ورودی/خروجی با IN و OUT
- 93. کنترلر وقفه قابل برنامهریزی (8259A PIC)
- 94. تایمر/شمارنده قابل برنامهریزی (8253/8254 PIT)
- 95. اشکالزدایی با DEBUG: بررسی رجیسترها و حافظه
- 96. اشکالزدایی با DEBUG: ردیابی (Trace) و پرش (Go)
- 97. ساخت برنامههای مقیم در حافظه (TSR)
- 98. مبانی همکاری اسمبلی با زبانهای سطح بالا (C/C++)
- 99. بهینهسازی کد اسمبلی برای کارایی و سرعت
- 100. پروژه نهایی: ساخت یک ابزار کاربردی با اسمبلی IBM PC
تسلط بر زبان اسمبلی IBM PC: از پایه تا کاربرد عملی
سفری به قلب تپنده کامپیوتر: زبان مادری ماشین را بیاموزید
آیا تا به حال با شگفتی به این فکر کردهاید که کامپیوتر شما در پایینترین سطح چگونه کار میکند؟ چگونه یک کلیک ساده ماوس یا فشردن یک کلید روی کیبورد، به دستوری قابل فهم برای پردازنده تبدیل میشود و دنیایی از محاسبات را به راه میاندازد؟ اکثر برنامهنویسان در لایههای انتزاعی زبانهای سطح بالا کار میکنند، اما مهندسان واقعی، آنهایی که میخواهند بر ماشین تسلط کامل داشته باشند، به سراغ زبان مادری آن میروند: زبان اسمبلی.
دوره «تسلط بر زبان اسمبلی IBM PC» شما را به سفری شگفتانگیز در تاریخ و معماری کامپیوترهای شخصی میبرد. این دوره با الهام مستقیم از کتاب کلاسیک و جریانساز “IBM PC assembly language and programming” نوشته پیتر ایبل (Peter Abel) طراحی شده است؛ کتابی که برای دههها، مرجع اصلی یادگیری برنامهنویسی سطح پایین بوده و نسلها مهندس نرمافزار و سختافزار را تربیت کرده است. ما همان رویکرد ساختاریافته، عمیق و اثباتشده را با ابزارهای مدرن و مثالهای کاربردی ترکیب کردهایم تا یک تجربه آموزشی بینظیر و ماندگار برای شما خلق کنیم.
درباره دوره: فراتر از تئوری، لمس واقعی سختافزار
این دوره فقط یک لیست از دستورات اسمبلی نیست؛ بلکه یک کالبدشکافی کامل از معماری پردازندههای 8086/8088 است که اساس کامپیوترهای مدرن امروزی را تشکیل میدهند. ما از صفر شروع میکنیم و به شما یاد میدهیم که چگونه با رجیسترها، حافظه، پورتهای ورودی/خروجی و وقفهها (Interrupts) به طور مستقیم ارتباط برقرار کنید. با دنبال کردن ساختار منطقی کتاب مرجع، هر مفهوم روی پایههایی محکم بنا میشود تا درک شما از نحوه اجرای کد در سطح سختافزار، عمیق، شهودی و پایدار باشد. شما یاد میگیرید که «مانند یک پردازنده فکر کنید» و کدهایی بنویسید که سریعتر، بهینهتر و قدرتمندتر از همیشه باشند.
موضوعات کلیدی: چه چیزهایی در این دوره یاد میگیرید؟
- مبانی معماری کامپیوتر: آشنایی کامل با معماری Von Neumann، پردازندههای x86، گذرگاهها و چرخه دستور.
- سیستمهای عددی و نمایش دادهها: تسلط بر سیستمهای باینری، هگزادسیمال و نحوه نمایش اعداد و کاراکترها در حافظه.
- دستورات بنیادین اسمبلی: یادگیری دستورات انتقال داده (MOV)، محاسباتی (ADD, SUB, MUL, DIV)، منطقی (AND, OR, XOR) و شیفت.
- کار مستقیم با رجیسترهای پردازنده: کنترل کامل بر رجیسترهای عمومی، سگمنت، پوینتر و فلگها.
- کنترل جریان برنامه: پیادهسازی ساختارهای شرطی و حلقهها با استفاده از دستورات پرش (JMP, JZ, JNE) و مقایسه (CMP).
- مدیریت پشته و رویهها (Procedures): درک عمیق از پشته (Stack) و استفاده از آن برای نوشتن کدهای ماژولار و فراخوانی توابع.
- تعامل با سختافزار از طریق وقفهها: استفاده از وقفههای نرمافزاری BIOS و DOS برای کنترل صفحهنمایش، کیبورد، فایلها و ساعت سیستم.
- تکنیکهای پیشرفته: نوشتن ماکروها برای سادهسازی کد، کار با رشتهها و عملیات فایلنویسی سطح پایین.
- دیباگ و تحلیل کد: یادگیری مهارت حیاتی خطایابی و تحلیل کد اسمبلی با ابزارهایی مانند DEBUG.
- پروژههای عملی: ساخت برنامههای کاربردی از یک ماشین حساب ساده تا یک ویرایشگر متن ابتدایی برای تثبیت مفاهیم.
این دوره برای چه کسانی مناسب است؟
این سفر شگفتانگیز برای طیف وسیعی از علاقهمندان به دنیای کامپیوتر طراحی شده است:
- دانشجویان رشتههای مهندسی کامپیوتر و برق: که میخواهند درک خود را از دروس معماری کامپیوتر، سیستمعامل و ریزپردازنده عمیقتر کرده و تئوری را به عمل تبدیل کنند.
- برنامهنویسان نرمافزار (در هر زبانی): که به دنبال بهینهسازی کدهای حساس به پرفورمنس، درک بهتر نحوه کارکرد کامپایلرها و تبدیل شدن به یک مهندس نرمافزار کاملتر هستند.
- متخصصان امنیت سایبری و محققان بدافزار: که برای تحلیل کد، مهندسی معکوس و کشف آسیبپذیریها به دانش اسمبلی به عنوان یک ابزار حیاتی نیاز دارند.
- توسعهدهندگان سیستمهای نهفته (Embedded Systems): که به طور روزمره با سختافزار در ارتباط هستند و نیاز به کنترل دقیق منابع سیستم دارند.
- علاقهمندان به ساخت بازی و گرافیک کامپیوتری: که میخواهند تکنیکهای سطح پایین برای دستیابی به حداکثر سرعت و کارایی گرافیکی را بیاموزند.
- هر فرد کنجکاوی: که میخواهد از یک کاربر صرف تکنولوژی به یک خالق آگاه تبدیل شود و بداند در «زیر کاپوت» کامپیوتر چه میگذرد.
چرا یادگیری اسمبلی در دنیای امروز یک مزیت رقابتی است؟
شاید بپرسید با وجود زبانهای سطح بالا، چرا باید اسمبلی یاد بگیریم؟ پاسخ ساده است: این یک مهارت است که شما را از دیگران متمایز میکند.
-
درک عمیق و بنیادین
زبانهای سطح بالا لایههای انتزاعی زیادی دارند. اسمبلی این لایهها را کنار میزند و به شما نشان میدهد که کد شما واقعاً چگونه روی سیلیکون اجرا میشود. این دانش، شما را به برنامهنویس بهتری در هر زبانی تبدیل خواهد کرد.
-
قدرت بهینهسازی بینظیر
وقتی سرعت و مصرف حافظه اهمیت حیاتی دارد (مانند درایورهای سختافزاری، سیستمعاملها، موتورهای بازیسازی)، هیچچیز نمیتواند جایگزین کد اسمبلی بهینهشده شود.
-
کلید ورود به دنیای امنیت و مهندسی معکوس
تحلیل بدافزار، اکسپلویتنویسی و درک آسیبپذیریهای نرمافزاری بدون تسلط بر زبان اسمبلی تقریباً غیرممکن است. این مهارت شما را به یک متخصص کمیاب و ارزشمند در بازار کار امنیت تبدیل میکند.
-
تقویت تفکر الگوریتمیک
یادگیری اسمبلی شما را وادار میکند تا محدودیتها و قابلیتهای واقعی پردازنده را درک کنید. این مهارت حل مسئله، توانایی شما را در طراحی الگوریتمهای کارآمد به شدت افزایش میدهد.
-
بر اساس یک منبع معتبر و اثباتشده
این دوره بر پایه کتابی بنا شده که امتحان خود را در طول دههها پس داده و مفاهیم را به بهترین و ساختاریافتهترین شکل ممکن آموزش میدهد. شما از یک مسیر آموزشی مطمئن بهرهمند خواهید شد.
سرفصلهای جامع دوره (بیش از 100 درس مفهومی و عملی)
ما شما را قدم به قدم از مبانی تا مباحث پیشرفته همراهی میکنیم:
فصل اول: مبانی و مفاهیم پایه
- تاریخچه کامپیوترهای IBM PC
- معماری پردازنده و حافظه
- آشنایی با سیستمهای عددی (دودویی، دهدهی و هگزادسیمال)
- نحوه نمایش دادهها (کاراکترهای ASCII، اعداد صحیح)
- معرفی ابزارهای دوره (شبیهساز DOSBox، اسمبلر MASM/TASM و دیباگر DEBUG)
فصل دوم: شروع کدنویسی با اسمبلی
- ساختار یک برنامه اسمبلی (.COM و .EXE)
- نوشتن، اسمبل کردن و اجرای اولین برنامه: “Hello, World!”
- سگمنتهای کد، داده و پشته
- دستورات و شبهدستورات (Directives)
فصل سوم: رجیسترها، حافظه و حالتهای آدرسدهی
- معرفی کامل رجیسترهای عمومی (AX, BX, CX, DX)
- رجیسترهای پوینتر و ایندکس (SP, BP, SI, DI)
- رجیسترهای سگمنت (CS, DS, SS, ES)
- دستور MOV و انواع حالتهای آدرسدهی (فوری، مستقیم، غیرمستقیم)
فصل چهارم: عملیات حسابی و منطقی
- دستورات محاسباتی: ADD, SUB, INC, DEC
- ضرب و تقسیم: MUL, IMUL, DIV, IDIV
- دستورات منطقی: AND, OR, XOR, NOT
- دستورات شیفت و چرخش: SHL, SHR, ROL, ROR
- رجیستر فلگها و تاثیر عملیات بر آن
فصل پنجم: کنترل جریان برنامه
- دستور مقایسه CMP
- دستورات پرش غیرشرطی (JMP) و شرطی (JZ, JNE, JG, JL, …)
- پیادهسازی ساختارهای IF-ELSE
- ایجاد حلقههای تکرار (LOOP, WHILE, FOR)
فصل ششم: پشته و رویهها (Procedures)
- مفهوم پشته (Stack) و عملکرد آن
- دستورات PUSH و POP
- تعریف و فراخوانی رویهها (CALL, RET)
- ارسال پارامتر به رویهها از طریق رجیستر و پشته
- متغیرهای محلی روی پشته
فصل هفتم: کار با وقفههای BIOS و DOS
- مفهوم وقفه (Interrupt) و جدول بردار وقفه
- معرفی وقفه کلیدی DOS (INT 21h)
- خواندن کاراکتر و رشته از کیبورد
- نمایش کاراکتر و رشته روی صفحه
- معرفی وقفه ویدیویی BIOS (INT 10h)
- تغییر حالت ویدیو، تغییر رنگ و مکاننما
فصل هشتم: کار با رشتهها و جداول
- تعریف رشتهها و آرایهها در حافظه
- دستورات پردازش رشته (MOVSB, LODSB, STOSB, SCASB, CMPSB)
- استفاده از پیشوندهای تکرار (REP, REPE, REPNE)
- کار با جداول جستجو (Lookup Tables)
فصل نهم: مباحث پیشرفته و کاربردی
- نوشتن ماکروهای قدرتمند (MACRO directive)
- عملیات فایل: ایجاد، خواندن، نوشتن و بستن فایلها
- مدیریت حافظه و تخصیص دینامیک
- ارتباط با پورتهای سختافزاری (IN, OUT)
فصل دهم: پروژههای نهایی
- پروژه اول: ساخت یک ماشین حساب ساده در محیط کنسول
- پروژه دوم: پیادهسازی یک بازی ساده مانند حدس عدد
- پروژه سوم: ساخت یک ویرایشگر متن بسیار ابتدایی
همین امروز سفر خود را به دنیای شگفتانگیز برنامهنویسی سطح پایین آغاز کنید و مهارتی را کسب کنید که شما را به یک مهندس نرمافزار برجسته تبدیل خواهد کرد.
📚 محتوای این محصول آموزشی (پکیج کامل)
💡 این محصول یک نسخهٔ کامل و جامع است
تمامی محتوای آموزشی این کتاب در قالب یک بستهی کامل و یکپارچه ارائه میشود و شامل تمام نسخهها و فایلهای موردنیاز برای یادگیری است.
🎁 محتویات کامل بسته دانلودی
- ویدیوهای آموزشی فارسی — آموزش قدمبهقدم، کاربردی و قابل فهم
- پادکستهای صوتی فارسی — توضیح مفاهیم کلیدی و نکات تکمیلی
- کتاب PDF فارسی — شامل کلیهٔ سرفصلها و محتوای آموزشی
- کتاب خلاصه نکات ویدیوها و پادکستها – نسخه PDF — مناسب مرور سریع و جمعبندی مباحث
- کتاب صدها نکته فارسی (خودمونی) – نسخه PDF — زبان ساده و کاربردی
- کتاب صدها نکته رسمی فارسی – نسخه PDF — نگارش استاندارد، علمی و مناسب چاپ
-
کتاب صدها پرسش و پاسخ تشریحی – نسخه PDF
— هر سؤال بلافاصله همراه با پاسخ کامل و شفاف ارائه شده است؛ مناسب درک عمیق مفاهیم و رفع ابهام. -
کتاب صدها پرسش و پاسخ چهارگزینهای – نسخه PDF (نسخه یادگیری سریع)
— پاسخها بلافاصله پس از سؤال قرار دارند؛ مناسب یادگیری سریع و تثبیت مطالب. -
کتاب صدها پرسش و پاسخ چهارگزینهای – نسخه PDF (نسخه خودآزمایی پایانبخش)
— پاسخها در انتهای هر بخش آمدهاند؛ مناسب آزمون واقعی و سنجش میزان یادگیری. -
کتاب تمرینهای درست / نادرست (True / False) – نسخه PDF
— مناسب افزایش دقت مفهومی و تشخیص صحیح یا نادرست بودن گزارهها. -
کتاب تمرینهای جای خالی – نسخه PDF
— تقویت یادگیری فعال و تسلط بر مفاهیم و اصطلاحات کلیدی.
🎯 این بسته یک دورهٔ آموزشی کامل و چندلایه است؛ شامل آموزش تصویری، صوتی، کتابها، تمرینها و خودآزمایی .
ℹ️ نکات مهم هنگام خرید
- این محصول به صورت فایل دانلودی کامل ارائه میشود و نسخهٔ چاپی ندارد.
- تمامی فایلها و کتابها کاملاً فارسی هستند.
- توجه: لینکهای اختصاصی دوره طی ۴۸ ساعت پس از ثبت سفارش ارسال میشوند.
- نیازی به درج شماره موبایل نیست؛ اما برای پشتیبانی سریعتر توصیه میشود.
- در صورت بروز مشکل در دانلود با شماره 09395106248 تماس بگیرید.
- اگر پرداخت انجام شده ولی لینکها را دریافت نکردهاید، نام و نام خانوادگی و نام محصول را پیامک کنید تا لینکها دوباره ارسال شوند.
💬 راههای ارتباطی پشتیبانی:
واتساپ یا پیامک:
09395106248
تلگرام: @ma_limbs


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