mrpythonblog | Unsorted

Telegram-канал mrpythonblog - Mr Python | مستر پایتون

1215

مجموعه آموزش های ابزارنویسی و مهندسی معکوس وبسایت مسترپایتون : https://mrpythonblog.ir ارتباط با ادمین : @MrPythonAdmin آپارات : https://aparat.com/mrpythonblog یوتیوب : https://youtube.com/@mrpythonblog

Subscribe to a channel

Mr Python | مستر پایتون

سلام خدمت دوستان عزیز . امیدوارم حالتون خوب باشه .
این دو قسمتی که الان خدمتتون ارسال شد 👆 تنها قسمت هایی بود که تونستم این مدت ضبط کنم طی این دو هفته . یعنی قسمت های ۳۱ و ۳۲ که بسیار هم قسمت های مهمی هستند از نظر مفاهیم مطرح شده .
متاسفانه من دچار یک بیماری شدم و توانایی ضبط ویدیو نداشتم برای همین وقفه زیادی برای ضبط قسمت های بعدی پیش اومد .
از این به بعد طبق روال قبل ، ویدیو ها ضبط و منتشر میشوند .

Читать полностью…

Mr Python | مستر پایتون

🟣 اسمبلی x86 - قسمت 31 : قاب های پشته و قرارداد های فراخوانی (Calling Convention)

این قسمت بی شک یکی از مهمترین قسمت های دوره هست و میتوان گفت بعد از یادگیری مفاهیم این قسمت سطح درک شما از زبان اسمبلی در یک سطح کاملا جدیدی قرار خواهد گرفت .
در این قسمت به بررسی عمیق تر procedure ها و قاب های پشته مورد استفاده توسط آن ها خواهیم پرداخت . در مورد مدیریت قاب پشته (Stack Frame) ، دسترسی به آرگومان های داده شده به توابع ، مدیریت متغییر ها و حافظه محلی Procedure ها در پشته خواهیم پرداخت .
همچنین به این موضوع که قواعد فراخوانی (Calling Convention) چیست خواهیم پرداخت و دو نوع از مرسوم ترین آن ها یعنی CDECL و STDCALL را بررسی خواهیم کرد .

Aparat : https://www.aparat.com/v/csc0g62
Youtube : https://youtu.be/xyt4q3d9oiA

🆔 : @MrPythonBlog | BOOST

Читать полностью…

Mr Python | مستر پایتون

🟣 اسمبلی x86 - قسمت 30 : Procedure ها

در این قسمت به معرفی مفهوم Procedure یا Subroutine ها خواهیم پرداخت که همان توابع در زبان های برنامه نویسی سطح بالا هستند . با دستورالعمل های CALL و RET برای فراخوانی و بازگشت از Procedure ها آشنا خواهیم شد . به عبارتی اینجا یاد میگیریم چطور در زبان اسمبلی تابع تعریف کنیم .

Aparat : https://www.aparat.com/v/qigbu1g
Youtube : https://youtu.be/nHJ93hjs9Kc

🆔 : @MrPythonBlog | BOOST

Читать полностью…

Mr Python | مستر پایتون

🟣 اسمبلی x86 - قسمت 28 : حل چالش فیبوناچی

در این قسمت به حل آخرین تمرین مطرح شده در قسمت 25 یعنی حل چالش پیدا کردن جملات دنباله فیبوناچی خواهیم پرداخت .

Aparat : https://www.aparat.com/v/vmpez06
Youtube : https://youtu.be/QczOjB2AKeE

🆔 : @MrPythonBlog | BOOST

Читать полностью…

Mr Python | مستر پایتون

🟣 اسمبلی x86 - قسمت 26 : حل تمرین الگوریتم تشخیص اعداد اول

در این قسمت به حل اولین تمرین مطرح شده در قسمت 25 یعنی نوشتن برنامه ای در زبان اسمبلی که اعداد اول را تشخیص دهد پرداخته ایم .


Aparat : https://www.aparat.com/v/ymbai9v
Youtube : https://youtu.be/rGIktackBTI

🆔 : @MrPythonBlog | BOOST

Читать полностью…

Mr Python | مستر پایتون

🟣 اسمبلی x86 - قسمت 24 : حل تمرینات قسمت قبلی

در این قسمت به حل تمرینات مطرح شده در قسمت قبلی با استفاده از ساختار های شرطی خواهیم پرداخت .
سه تمرین حل شده در این قسمت :
1 - برنامه ای که تعداد اعضای زوج و فرد یک آرایه را بشمارد .
2 - برنامه ای که بزرگترین عضو یک آرایه را پیدا کند .
3 - برنامه محاسبه قدرمطلق یک عدد .

Aparat : https://www.aparat.com/v/tvcfwn7
Youtube : https://youtu.be/kGxTzvqwdps

🆔 : @MrPythonBlog | BOOST

Читать полностью…

Mr Python | مستر پایتون

🟣 اسمبلی x86 - قسمت 22 : دستورالعمل LOOP و JCXZ

در این ویدیو به معرفی دستورالعمل LOOP و حالات شرطی آن برای ایجاد حلقه ها و همچنین پیمایش آرایه ها به وسیله آن خواهیم پرداخت . همچنین به معرفی دستورالعمل JCXZ نیز پرداخته ایم .

Aparat : https://www.aparat.com/v/jelpd0d
Youtube : https://youtu.be/ewUhdVLyZ7A

🆔 : @MrPythonBlog | BOOST

Читать полностью…

Mr Python | مستر پایتون

🟣 اسمبلی x86 - قسمت 20 : حل تمرین محاسبه مجموع اعداد ۱ تا ۱۰۰

در این ویدیو به پیاده سازی تمرین مطرح شده در جلسه قبل یعنی محاسبه مجموع اعداد ۱ تا ۱۰۰ در زبان اسمبلی x86 خواهیم پرداخت .

Aparat : https://www.aparat.com/v/eoix8gr
Youtube : https://youtu.be/r9qZpYvf77M

🆔 : @MrPythonBlog | BOOST

Читать полностью…

Mr Python | مستر پایتون

🟣 اسمبلی x86 - قسمت 18 : دستورالعمل پرش (JMP)

در این ویدیو به بررسی دستورالعمل پرش خواهیم پرداخت که به ما اجازه خواهد داد به نقطه ای دلخواه از برنامه خود پرش کنیم و اجرا را از سر بگیریم . با بهره گیری از این نوع دستورالعمل خاص و انواع شرطی آن که در آینده یاد خواهیم گرفت قادر خواهیم بود تا ساختار های دستور شرطی ، حلقه های شرط و ... را پیاده سازی کنیم .

Aparat : https://www.aparat.com/v/uyk1lvz
Youtube : https://youtu.be/yry1vBQJr8c

🆔 : @MrPythonBlog | BOOST

Читать полностью…

Mr Python | مستر پایتون

🟣 اسمبلی x86 - قسمت 16 : دستورالعمل های منطقی

در این قسمت به بررسی دستورالعمل های منطقی AND , OR , NOT و XOR و کاربرد آن ها پرداخته ایم .

Aparat : https://www.aparat.com/v/pxym3a7
Youtube : https://youtu.be/F0ZHDCkWYAc

🆔 : @MrPythonBlog | BOOST

Читать полностью…

Mr Python | مستر پایتون

🟣 اسمبلی x86 - قسمت 14 : دستورالعمل های ریاضیاتی

در این قسمت به بررسی دستورالعمل های ریاضیاتی INC , DEC , NEG , ADD , SUB خواهیم پرداخت که اعمال ریاضیاتی نظیر جمع و تفریق را برای ما انجام میدهند . همچنین تاثیر این دستورالعمل ها روی ثبات پرچم ها (FLAG) را نیز بررسی کرده ایم .

Aparat : https://www.aparat.com/v/aphag7c
Youtube : https://youtu.be/BNugNESKtmA

🆔 : @MrPythonBlog | BOOST

Читать полностью…

Mr Python | مستر پایتون

🟣 اسمبلی x86 - قسمت 12 : حالت های آدرس دهی 8086

هر پردازنده ای چندین حالت آدرس دهی را پشتیبانی میکند . به طور کلی یک حالت آدرس دهی مشخص میکند پردازنده مورد نظر به چه صورت میتواند به عملوند یا داده دستورالعمل های خود دسترسی پیدا کند .
در این قسمت به بررسی و تشریح حالت های آدرس دهی پردازنده 8086 پرداخته ایم .
همچنین نحوه تعریف آرایه ها در اسبملی و دسترسی به اعضای آن با استفاده از حالت های آدرس دهی مناسب نیز بررسی شده است .

Aparat : https://www.aparat.com/v/doydpzf
Youtube : https://youtu.be/m7hnZgot5uw

🆔 : @MrPythonBlog | BOOST

Читать полностью…

Mr Python | مستر پایتون

🟣 اسمبلی x86 - قسمت 10 : شروع برنامه نویسی اسمبلی و معرفی شبیه ساز EMU8086

با بررسی پیش نیاز های تئوری در بخش های قبلی ، از این قسمت وارد بخش جدیدی از دوره خواهیم شد که قراره برای سیستم عامل قدیمی MS-DOS و روی پردازنده 8086 به زبان اسمبلی برنامه بنویسیم !
در این قسمت به بررسی و معرفی اولیه نرم افزار شبیه ساز 8086 به نام emu8086 پرداخته ایم و همچنین ساختار کلی برنامه های اسمبلی در این نرم افزار را معرفی کرده ایم .


Aparat : https://www.aparat.com/v/why3lh3
Youtube : https://youtu.be/BelMV4g7ID4

🆔 : @MrPythonBlog | BOOST

Читать полностью…

Mr Python | مستر پایتون

🟣 اسمبلی x86 - قسمت 8 : مدل حافظه قطعه بندی (Segmentation) در 8086

در این ویدیو به بررسی مدل حافظه مورد استفاده از ریزپردازنده 8086 به نام قطعه بندی (Segmentation) خواهیم پرداخت .

01:00 مدل حافظه (Memory Model) چیست ؟
03:13 مدل قطعه بندی (Segmentation) چیست ؟
08:10 حافظه 8086
13:36 آدرس های حافظه (منطقی و فیزیکی) در 8086
19:34 الگوریتم تبدیل آدرس منطقی به فیزیکی در قطعه بندی 8086
24:27 نکاتی در مورد قطعه بندی 8086
26:46 مروری بر ثبات های قطعه (Segment Registers) در 8086

Aparat : https://www.aparat.com/v/phvb3j9
Youtube : https://youtu.be/0DWjnkXruUo

🆔 : @MrPythonBlog | BOOST

Читать полностью…

Mr Python | مستر پایتون

🟣 اسمبلی x86 - قسمت 6 : چرخه اجرای 8086

از این قسمت وارد بخشی از دوره خواهیم شد که اختصاصا به ریزپردازنده 8086 که پایه ی خانواده x86 حساب میشه میپردازیم . در این قسمت به معرفی نمای کلی داخلی 8086 که شامل بخش های EU و BIU هست میپردازیم ، چرخه اجرای (Execution Cycle) این ریزپردازنده را بررسی کرده و در مورد قابلیت خط لوله (Pipeline) که موجب تسریع و بهینه سازی اجرای دستورالعمل ها خواهد شد صحبت میکنیم .

02:08 معرفی و یادآوری ریزپردازنده 8086
08:17 چرخه اجرا (Execution Cycle)
12:40 نمای کلی داخلی 8086 شامل بخش های BIU و EU
22:07 قابلیت خط لوله (Pipeline) در 8086

Aparat : https://www.aparat.com/v/bpww31t
Youtube : https://youtu.be/xgZ2AmyrDKI

🆔 : @MrPythonBlog | BOOST

Читать полностью…

Mr Python | مستر پایتون

🟣 اسمبلی x86 - قسمت 32 : حل تمرین تعریف تابع محاسبه فاکتوریل

در این قسمت به حل تمرین مطرح شده در قسمت قبلی یعنی نوشتن یک Procedure برای محاسبه فاکتوریل خواهیم پرداخت . این Procedure یک ورودی دریافت کرده و طبق قرارداد های CDECL یا STDCALL تعریف میشود . همچنین از روش مدیریت قاب پشته (Stack Frame) که در جلسه قبل مطرح شد برای مدیریت پشته و دسترسی به آرگومان ها استفاده کرده ایم

Aparat : https://www.aparat.com/v/ewrn70w
Youtube : https://youtu.be/rP3TrIuLcFU

🆔 : @MrPythonBlog | BOOST

Читать полностью…

Mr Python | مستر پایتون

سلام خدمت دوستان عزیز وقتتون بخیر

خدمتتون عرض کنم الان سایت ما با اختلال رو به رو هست و به دلیل اختلالات اینترنت ممکنه برای بعضی از دوستان باز نشه .

محتوای آموزشی ما طبق روال عادی حداقل روی آپارات آپلود خواهد شد . حالا اگر تونستیم و دسترسی داشتیم هم تلگرام اطلاع رسانی میکنیم و هم روی یوتیوب آپلودش میکنیم .

کانال آپارات مستر پایتون:
https://aparat.com/mrpythonblog
کانال یوتیوب مستر پایتون :
mrpythonblog" rel="nofollow">https://youtube.com/@mrpythonblog

Читать полностью…

Mr Python | مستر پایتون

🟣 اسمبلی x86 - قسمت 29 : دستورالعمل های PUSH و POP

در این قسمت به بررسی دستورالعمل های PUSH و POP برای کار با حافظه پشته (STACK) خواهیم پرداخت . حافظه پشته و ویژگی های آن را در قسمت نهم دوره بررسی کرده ایم . در صورت عدم آشنایی با حافظه پشته ، پیشنهاد میشود ابتدا مفاهیم قسمت 9 مرور شود و سپس این قسمت دیده شود .


Aparat : https://www.aparat.com/v/aoy1ja1
Youtube : https://youtu.be/jAawiF6gvrs

🆔 : @MrPythonBlog | BOOST

Читать полностью…

Mr Python | مستر پایتون

🟣 اسمبلی x86 - قسمت 27 : حل چالش FizzBuzz

در این قسمت به بررسی دومین تمرین مطرح شده در قسمت ۲۵ خواهیم پرداخت و آن هم چالش FizzBuzz است . این چالش به این صورت است که برنامه ما باید اعداد یک بازه (مثلا ۱ تا ۱۰۰)‌را پردازش کند ، به جای اعدادی که مضرب ۳ هستند عبارت Fuzz را بنویسد و به جای اعدادی که مضرب ۵ هستندذ عبارت Bizz را بنویسد و به جای اعدادی که هم مضرب ۳ و هم مضرب ۵ هستند عبارت FizzBuzz را بنویسد .

Aparat : https://www.aparat.com/v/tyt63vw
Youtube : https://youtu.be/c6_4bTeLR9g

🆔 : @MrPythonBlog | BOOST

Читать полностью…

Mr Python | مستر پایتون

🟣 اسمبلی x86 - قسمت 25 : پیاده سازی حلقه های شرطی while و for

یکی از پرکاربردترین ساختار ها در زبان های برنامه نویسی سطح بالا ، حلقه های شرطی نظیر FOR و WHILE هستند که در پیاده سازی بسیاری از الگوریتم ها به کار میروند . در این قسمت به بررسی نحوه پیاده سازی این حلقه ها در زبان اسمبلی با استفاده از دستورات مقایسه و پرش شرطی خواهیم پرداخت .

01:12 پیاده سازی حلقه WHILE
05:33 پیاده سازی حلقه DO WHILE
08:37 پیاده سازی حلقه FOR
14:51 ارائه سه تمرین جهت تثبیت مطالب مطرح شده

Aparat : https://www.aparat.com/v/tdgj0n8
Youtube : https://youtu.be/lYKBq-eZJlM

🆔 : @MrPythonBlog | BOOST

Читать полностью…

Mr Python | مستر پایتون

🟣 اسمبلی x86 - قسمت 23 : پیاده سازی دستورات شرطی IF-ELSE

در این قسمت به بررسی نحوه پیاده سازی انواع حالات ساختار های شرطی if , if-else , if-elseif-else در زبان اسمبلی با استفاده از دستورالعمل های مقایسه و پرش های شرطی پرداخته ایم

00:46 پیاده سازی IF ساده بدون ELSE
07:00 پیاده سازی IF همراه با ELSE
10:19 پیاده سازی IF همره با ELSE IF و ELSE
18:50 پیاده سازی IF های تو در تو و عملگر AND بین چندین شرط
22:08 پیاده سازی IF های مستقل و عملگر OR بین چندین شرط
26:02 ارائه چند تمرین جهت حل و بررسی برای قسمت بعدی

Aparat : https://www.aparat.com/v/zwtv7x3
Youtube : https://youtu.be/9bXj0hXsvrM

🆔 : @MrPythonBlog | BOOST

Читать полностью…

Mr Python | مستر پایتون

🟣 اسمبلی x86 - قسمت 21 :تست بیت ها با دستورالعمل TEST

در این ویدیو به بررسی دستورالعمل TEST و نحوه استفاده از آن برای تست کردن یک بیت خاص در یک عدد خواهیم پرداخت .
همچنین به عنوان تمرین عملی برنامه ای برای تشخیص زوج یا فرد بودن یک عدد دلخواه با استفاده از دستورالعمل TEST پیاده خواهیم کرد .

Aparat : https://www.aparat.com/v/zee6oc3
Youtube : https://youtu.be/trVeaeD2b4Y

🆔 : @MrPythonBlog | BOOST

Читать полностью…

Mr Python | مستر پایتون

🟣 اسمبلی x86 - قسمت 19 : دستورالعمل های مقایسه و پرش شرطی

در این قسمت به بررسی دستورالعمل های مقایسه (CMP)‌ و پرش های شرطی خواهیم پرداخت که به وسیله ی آن ها میتوان بر اساس نتیجه یک شرط خاص و مقایسه ،‌ به بخشی از برنامه پرش کرد . آن ها پایه ای برای پیاده سازی ساختار هایی نظیر دستورات شرط (IF/ELSE) و حلقه های شرط (WHILE , FOR , ...) هستند .

Aparat : https://www.aparat.com/v/kyxa36x
Youtube : https://youtu.be/2yqAkoIq6ZE

🆔 : @MrPythonBlog | BOOST

Читать полностью…

Mr Python | مستر پایتون

🟣 اسمبلی x86 - قسمت 17 - دستورالعمل های Shift و Rotate

در این قسمت به بررسی دستورالعمل های SHR , SHL , SAR , SAL , ROR , ROL , RCR , RCL پرداخته که برای انجام عملگر های SHIFT و ROTATE میباشند . همچنین تاثیر آن ها روی اعداد و پرچم ها نیز بررسی شده است .

Aparat : https://www.aparat.com/v/nrslg33
Youtube : https://youtu.be/dm7i4dLfudU

🆔 : @MrPythonBlog | BOOST

Читать полностью…

Mr Python | مستر پایتون

🟣 اسمبلی x86 - قسمت 15 : ادامه دستورالعمل های ریاضیاتی

در این قسمت و در ادامه قسمت قبلی به بررسی دستورالعمل های ریاضیاتی ضرب و تقسیم علامت دار و بدون علامت و دستورالعمل های توسعه علامت دار (Sign-Extention) CWD و CBW پرداخته ایم .

Aparat : https://www.aparat.com/v/ydhsg17
Youtube : https://youtu.be/69mevt_QFCw

🆔 : @MrPythonBlog | BOOST

Читать полностью…

Mr Python | مستر پایتون

🟣 اسمبلی x86 - قسمت 13 : مفهوم Endianness و دستورالعمل های LEA و XCHG


در این قسمت ابتدا به بررسی مفهوم Endianness پرداخته که مشخص کننده ترتیب ذخیره داده های چند بایتی توسط پردازنده ها در حافظه است . سپس به معرفی دستورالعمل های LEA و XCHG پرداخته شده است .

Aparat : https://www.aparat.com/v/qpium1k
Youtube : https://youtu.be/NWzpzb5qd7s

🆔 : @MrPythonBlog | BOOST

Читать полностью…

Mr Python | مستر پایتون

🟣 اسمبلی x86 - قسمت 11 : تعریف داده و دسترسی به حافظه داده

در این قسمت به بررسی نحوه تعریف داده های دلخواه در قطعه (Segment) داده پرداخته ایم و یاد میگیرم چطور میتونیم به هر کجای حافظه داده با آدرس دلخواه دسترسی پیدا کنیم ، از آن داده بخوانیم یا در آن داده بنویسیم . همچنین به بررسی حالت های مختلف بکارگیری دستورالعمل MOV نیز پرداخته ایم .

Aparat : https://www.aparat.com/v/gvhr426
Youtube : https://youtu.be/GFph31QvzDI

🆔 : @MrPythonBlog | BOOST

Читать полностью…

Mr Python | مستر پایتون

🟣 اسمبلی x86 - قسمت 9 : حافظه پشته (Stack)

در این قسمت به بررسی حافظه پشته یا Stack خواهیم پرداخت . به طور کلی پشته یک قطعه یا ناحیه از حافظه میباشد که جهت ذخیره داده های موقتی ، اطلاعات مربوط به توابع نظیر متغییر های محلی آن ها و ... به کار میرود .

00:08 حافظه پشته (Stack) چیست ؟
01:50 جهت رشد پشته
05:32 عملیات های PUSH و POP
15:03 تشریح عملیات PUSH
16:48 تشریح عملیات POP
18:59 جمع بندی ساختار داخلی 8086

Aparat : https://www.aparat.com/v/hbjl89x
Youtube : https://youtu.be/XqmQXUhGXmk

🆔 : @MrPythonBlog | BOOST

Читать полностью…

Mr Python | مستر پایتون

🟣 اسمبلی x86 - قسمت 7 : ثبات ها (Register) در 8086

در این ویدیو به بررسی ثبات ها یا Register ها در پردازنده میپردازیم که بخش بنیادی و مهم هر پردازنده محسوب میشوند .

00:41 ثبات (Register) چیست ؟
05:34 ثبات های عمومی (General-Purpose) در 8086
19:24 ثبات های قطعه (Segment Register)
27:43 ثبات پرچم (Flags)

Aparat : https://www.aparat.com/v/afm384e
Youtube : https://youtu.be/vSARAaTzN9I

🆔 : @MrPythonBlog | BOOST

Читать полностью…

Mr Python | مستر پایتون

🟣 اسمبلی x86 - قسمت 5 : عملگرهای بیتی

در این قسمت به بررسی عملگر های بیتی پراستفاده نظیر AND , OR , NOT ,XOR پرداخته ، مرسوم ترین کاربرد های آن ها را معرفی کرده و با عملگر های shift و rotate آشنا میشویم .

00:55 عملگر بیتی (Bitwise Operator) چیست ؟
03:43 عملگر NOT
06:52 عملگر AND
10:41 پاکسازی بیت (bit clearing) توسط عملگر AND
15:10 تست بیت (bit testing) توسط عملگر AND
19:04 عملگر OR
20:40 انجام bit setting توسط عملگر OR
23:09 عملگر XOR
24:21 انجام bit toggling توسط عملگر XOR
28:25 عملگر Shift
35:51 عملگر Rotate

Aparat
: https://www.aparat.com/v/ycj35fu
youtube : https://youtu.be/l3NiAcOB_EE

🆔 : @MrPythonBlog | BOOST

Читать полностью…
Subscribe to a channel