vahidmy

وبلاگ شخصی وحید محمدی

vahidmy

وبلاگ شخصی وحید محمدی

وحیدمی

وبلاگ شخصی وحید محمدی . یک تایپیست که عاشق علم و تجربه است.


آدرس وبلاگ وحیدمی :

Home Page


https://vahidmy.blog.ir

+


Archive

آرشیو و بایگانی وبلاگ وحیدمی

https://vahidmy.blog.ir/archive

+


نقشه وبلاگ وحیدمی:

Sitemap

https://vahidmy.blog.ir/sitemap.xml

+

خوراکخوان وبلاگ وحیدمی

Feed

RSS

https://vahidmy.blog.ir/rss

+

آدرس مورد استفاده خزنده ها روباتها و موتورهای جستجوگر

Robot

https://vahidmy.blog.ir/robots.txt


+

مشخصات وبلاگ وحیدمی:


ساعات انتشار پست جدید وبلاگ :

بیست و چهار ساعته

وضعیت انتشار پست : نامنظم . در طول شبانه روز و در صورت صلاحدید ؛ پست جدید منتشر می کنم.


نام مدیر : وحید محمدی

گونه : وبلاگ شخصی با آدرس اختصاصی و محتوای عمومی

ژانر : تمام ژانرها

کاربرد : همه منظوره

هدف وبلاگ : به اشتراک گذاشتن دانش و تجربه با مردم و پرداخت زکات علم

مقصد مدیر وبلاگ : کسب رضای خداوند .

جنس وبلاگ : وبلاگ شخصی

تاریخ تاسیس : تیر 1398 خورشیدی



موضوعات وبلاگ : تمام علوم و فنون و مسائل مختلف در تمام زمینه


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

بروزرسانی:

وبلاگ وحیدمی منحصرا توسط سایت بلاگ دات آی آر به آدرس blog.ir میزبانی می شود . بنابراین بجز دامنه vahidmy.blog.ir سایر دامنه ها جعلی و فیک و خطرناک هستند .
برای مشاهده نکات جدید و ترفندهای امنیتی لطفا به آدرس زیر مراجعه فرمایید:

https://vahidmy.blog.ir/post/1



آدرس وبلاگهای تخصصی :

https://spasm.blog.ir

https://fasmy.blog.ir

https://binasm.blog.ir

طبقه بندی موضوعی
بایگانی
مطالب پربحث‌تر
  • ۰۱/۰۴/۱۱
    adc
نویسندگان
پیوندها

مباحث آموزش زبان اسمبلی

يكشنبه, ۱۲ خرداد ۱۴۰۴، ۰۲:۰۲ ب.ظ


به نام خدا 




مباحث آموزش زبان اسمبلی 



نویسنده :  توماس گریستار  -Tomasz Grysztar-. 



طراح و سازنده ی  زبان اسمبلی Fasm ( فلت اسمبلر) . 


 



در این پست قصد دارم لینک مربوط به مقالات و نوشته های عمومی و کلی که آقای توماس گریستار-Tomasz Grysztar- خالق اسمبلر  Fasm  در مورد زبان برنامه نویسی اسمبلی نوشته است را  به شما معرفی کنم . 



نکته مهم :



در انجمن فلت اسمبلر ، برای مشاهده ی لینک ها و دانلود فایلها  ، هیچ نیازی به عضویت نیست و شما بعنوان کاربر میهمان می توانید به تمام لینک ها وارد شوید و تمام فایلها را نیز دانلود نمایید . 



اما برای پرسیدن سوال و یا تولید یک تاپیک جدید ، باید حتما عضو این انجمن شوید . 



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




نکته ی جالب :


در انجمن فلت اسمبلر ، هر جا که لغت Download را در سمت راست صفحه دیدید ، سریعا روی دکمه ی مربوط به آن کلیک کنید تا فایل مربوطه دانلود شود !!




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



بنابراین شما بعنوان کاربر میهمان  و بدون نیاز به ثبت نام ، می توانید تمام این فایلهای مفید را دانلود نمایید و زبان اسمبلی را با کمک همین فایلها یاد بگیرید . 



من خودم اکثریت این فایلها را بعنوان کاربر میهمان ،  و برای فهم بهتر زبان اسمبلی ،  دانلود کرده ام و هرگز عضو این انجمن نشدم زیرا واقعا نیازی به اینکار نبود !!!








عنوان تاپیک : 



Assembly 



موضوع : 



معرفی کلی زبان برنامه نویسی اسمبلی 



لینک مربوطه : 



https://board.flatassembler.net/forum.php?f=27




تاپیکهای زیرمجموعه این لینک :



 Learning binary file formats



https://board.flatassembler.net/topic.php?t=20690








 New version of TetrOS



لینک مربوط به معرفی نسخه ی جدید سیستم عامل تتروس :






https://board.flatassembler.net/topic.php?t=21254







معرفی نسخه ی جدید سیستم عامل تتروس -TetrOS-توسط آقای توماس گریستار 




نکته :


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




سپس ، اسمبلر Fasm را در سال 1999 میلادی و بر اساس اسمبلر قدیمی و تجاری Tasm ( توربو اسمبلر ) محصول شرکت بورلند ، طراحی کرد و ساخت . 



( اسمبلر Tasm  محصول شرکت بورلند ، از طرف شرکت خبیث و بدذات و حسود مایکروسافت ، بعنوان ویروس معرفی شد و توسط این شرکت و سایر شرکای مایکروسافت  نابود گردید . اما من بالاخره توانستم این اسمبلر بسیار قدیمی را پیدا و دانلود کنم . اما نیاز به رجیستر شدن دارد !!!) 




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



البته اول از همه ، Fasm  را ساخت و سپس به رویای اولیه اش یعنی ساخت سیستم عامل تتروس برگشت و این سیستم عامل را با کمک Fasm ساخت 



او  بعدا همین تتروس را به زبان اسمبلی Fasm تبدیل کرد !!



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




الان از لینک بالا ، می توانید نسخه ی جدید سیستم عامل تتروس ( براساس بازی معروف تتریس ) را دانلود نمایید . 




نکته مهم:



برای مشاهده ی کد منبع فایل ها در این انجمن ، لازم است با ماوس ، روی لبه ی سمت راست کادر متنی مربوطه کلیک کرده و به سمت پایین ،  اسکرول کنید . 




اینجا نیز باید اسکرول کنید تا تمام کد منبع این سیستم عامل را در همان آدرس بالا ، بصورت آنلاین مشاهده نمایید . 




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






این سیستم عامل بطور کامل و صدر درصد با زبان اسمبلی  Fasm ساخته شده است !



نکته :


من در تلفظ لغات غیرفارسی ، براساس سلیقه ی شخصی خودم رفتار می کنم 



در نتیجه عبارت TetrOS را بصورت تتروس تلفظ می نمایم زیرا از کلمات کوتاه ، خوشم می آید و لذت می برم !!





ادامه ی تاپیکهای زیر مجموعه ی این لینک:



Processor fuzzing


قاطی کردن پردازنده :



آدرس مربوطه :



https://board.flatassembler.net/topic.php?t=20107





 Notes copied from Twitter


نکات کپی شده از توویتر 



آدرس مربوطه :



https://board.flatassembler.net/topic.php?t=21901





Unused foreword for an assembly book


فوروارد بلااستفاده برای یک کتاب اسمبلی :



https://board.flatassembler.net/topic.php?t=21553




Division by multiplication - revisited




https://board.flatassembler.net/topic.php?t=20099




 Snippets for detection of 32-bit/64-bit code segment



https://board.flatassembler.net/topic.php?t=20208




My articles in the Paged Out! magazine




https://board.flatassembler.net/topic.php?t=21162





Types of multi-pass assembly




https://board.flatassembler.net/topic.php?t=20249






Pitfalls of optimistic multi-pass assembly





https://board.flatassembler.net/topic.php?t=21060




unREAL mode




https://board.flatassembler.net/topic.php?t=11940




Comments on AVX implementation



https://board.flatassembler.net/topic.php?t=21344



SSE5 vs AVX



https://board.flatassembler.net/topic.php?t=9823



پایان بخش Assembly از انجمن فلت اسمبلر 



در پست بعدی ، لینک های مربوط به سایر بخشهای انجمن فلت اسمبلر را  می آورم !!





نکته :


من زبان انگلیسی ام خیلی ضعیف است . بنابراین زحمت ترجمه متون انگلیسی این انجمن را بر دوش خودتان می گذارم !!


من فقط لینک می دهم و هیچ کار دیگری انجام نمی دهم . 



امیدوارم در این پست ، توضیحات ضروری و کافی را  بیان کرده باشم و نیازی به تکرار مکررات نباشد . 



در پستهای بعدی ، بجز لینک دهی ، هیچ کار دیگری حتی ترجمه ی عنوان را انجام نمی دهم !



آخرین تصمیمگیری قطعی  و نهایی:


تمرکز کامل و همیشگی روی زبان برنامه نویسی  اسمبلی Fasm  و به منظور احیای زبان برنامه نویسی اسمبلی و نابودسازی تمام زبانهای برنامه نویسی سطح بالا !!



من با کمک زبان اسمبلی ، تمام زبانهای سطح بالا را نابود خواهم کرد . 


زیرا تمام زبانهای سطح بالا  ، ماتریکس و زندان طلایی و قفس محسوب می شوند و دشمن استقلال و آزادی و بصیرت می باشند 


تمام زبانهای برنامه نویسی سطح بالا ، دشمن شما کاربرها و البته دوست سازمانهای امنیتی و جاسوسی هستند . 


بنابراین مرگ زبانهای سطح بالا یعنی مرگ سازمانهای جاسوسی و تروریستی از قبیل سازمان سیا و سازمان موساد و ....



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



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



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



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



شاید این حرف به نظرتان یک شوخی یا جوک یا توهم باشد ، اما واقعیت است و من نمی توانم این واقعیت را بیش از این ، برایتان باز کنم . 


زیرا محرمانه است . 


همینقدر بدانید که من الان در حال جنگ با دشمن هستم .

 


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



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



یعنی اینکه زبان اسمبلی یک زبان جهانی است و به تمام مردم جهان تعلق دارد و یک زبان کاملا آزاد است . 



آزادی واقعی را در زبان اسمبلی پیدا کنید . 



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



با کمک همین زبان اسمبلی می توانید به عمر ابرقدرتهای ستمگر و ظالم  و قلدر و دیکتاتور مثل آمریکا و انگلیس و اسرائیل و ....  خاتمه دهید و برنده ی جنگ جهانی سوم شوید . 



پایانی بر فلسفه ی زبان اسمبلی 



آغازی بر ورود به دنیای فنی زبان اسمبلی 






+











نکته :


من الان در گوشی هوشمند هستم و نمی توانم لینک بدهم . اما به محض ورود به کامپیوتر ؛ آدرس بالا را به  لینک تبدیل می کنم . 




آدرس بالا به تنهایی  چندین تاپیک را  پوشش می دهد که شاید بعدا در پستهای بعدی ؛ به تک تک این تاپیک ها  لینک بدهم . 



نکته : 



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




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




اما سعی می کنم تا حد امکان ؛  سیستم را ساده کنم تا از سردرگمی کاربرها جلوگیری کرده باشم . 




بهرحال  اینجا وبلاگ است نه انجمن !! 



وبلاگ،  قوانین و ساختار خاص خودش را دارد و نباید به انجمن یا فاروم تبدیل شود . 




بنابراین سعی می کنم تعادل و میانه روی  را رعایت کنم.  . 






نکته مهم : 


من تصمیم گرفتم برای جلوگیری از تردید و سردرگمی کاربرهای محترم ؛   تا اطلاع ثانوی ؛  فقط از انجمن  زبان اسمبلی Fasm  لینک بدهم .  




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





زیرا Fasm ، در طراحی و ساخت سیستم عامل ؛  کارنامه ی درخشانی دارد  و نمره ی قبولی را دریافت کرده  و توانسته است سایر اسمبلرها را پشت سر بگذارد و شکست دهد ! 




تا به امروز ؛  دهها سیستم عامل را بطور کامل با Fasm ساخته اند . 



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





البته برخی اساتید محترم ،  در بحث طراحی و ساخت سیستم عامل ؛  زبان اسمبلی Nasm  را به کاربران معرفی می کنند اما بنابه دلایل فنی و گسترش سریع Fasm و خودکامپایل بودن و قابل حمل بودن Fasm  و سایر مزایای  Fasm نسبت به Nasm و Masm   ؛   عملا  انجمن  کاربران  Nasm و Masm  به رکود و افت دچار شده است و اصطلاحا ریزش کرده است . 




ضمن اینکه کاربران ماهر ؛ سیستم عامل های ساخته شده توسط Nasm را از اول تا آخر با Fasm بازنویسی و بازتولید کردند !! 




مثل سیستم عامل معروف MikeOS  که یک سیستم عامل آموزشی بود و توسط Nasm ساخته شده بود اما بعدا با Fasm بازنویسی شد ! 




بنابراین دوران شهرت Nasm  به پایان رسیده است . 




سایر اسمبلرها نیز اصلا به درد طراحی و ساخت سیستم عامل نمی خورند . 





نکته بسیار مهم و کلیدی: 



ملاک و معیار من برای انتخاب و  تعیین و معرفی  بهترین زبان برنامه نویسی  جهان ؛  هرگز برنامه ی کودکانه و ابلهانه ی  Hello World  نیست ؛  بلکه  توانایی زبان برنامه نویسی در طراحی و ساخت و  تولید و توزیع و انتشار سیستم عامل یعنی Operating System  ؛  می باشد . 





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




که طبق دانش و تجربه ؛ ثابت شده است که زبان برنامه نویسی اسمبلی و خصوصا Fasm ؛ به دلیل توانایی خارق العاده و منحصر به فرد  در طراحی و ساخت سیستم عامل ؛؛ بهترین و کاملترین و قدرتمندترین زبان برنامه نویسی جهان می باشد . 



بنابراین : 


ملاک و معیار  برتری و مزیت  یک زبان بر سایر زبانها فقط در یک چیز است : 





توانایی  آن زبان در تولید سیستم عامل . 




سایر چیزهای بی ارزش مثل تولید برنامه کودکانه Hello World را برای همیشه  فراموش کنید . 




هر زبان احمقانه ای می تواند برنامه ی Hello World بسازد اما کمتر زبانی می تواند سیستم عامل بسازد . 





بنابراین در مسابقه ی طراحی و ساخت سیستم عامل ؛ زبان اسمبلی Fasm ،  مقام اول جهانی را کسب کرد و قهرمان این مسابقه شد . 



این مقام هنوز هم در اختیار زبان اسمبلی Fasm می باشد 




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




من فقط برای برخی  موارد استثنایی و  تخصصی و دشوار  و  پیچیده  که ممکن است احتمالا  در انجمن Fasm پیدا نشوند ؛  به انجمن سایر اسمبلرها  لینک می دهم تا مشکل شما حل شود . 




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




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



پایان 


+

+

+

+


نکته خارج از بحث : 



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





متاسفانه حتی یک لپ تاپ دست دوم هم دیگه  پیدا نمی شود که بخرم و از این مشکل نجات پیدا کنم ! 




اگرچه حتی ارزان ترین لپ تاپ هم ،  دهها میلیون تومان قیمت دارد و نمی توانم بخرم ! 




به همین دلیل از  پست بعدی ؛  فقط لینک می دهم و از تکرار مباحث قبلی خودداری می کنم  . 




اگرچه در کامپیوتر نیز ؛  دیگه هرگز مطالب تکراری و قدیمی را بازتکرار و بازنشر نخواهم کرد . 





بنابراین  تحت هر شرایطی ؛  از  پست بعدی  فقط لینک می دهم . 



فقط اگر  ضرورت داشته باشد برای هر مطلب ؛ یک توضیح مختصر و  مفید می دهم . 



پایان پست .