به نام خدا 


اسمبلی عمومی 



من در وبلاگ باینسم ؛ زبان برنامه نویسی اسمبلی را بصورت فی البداهه و نامنظم و بدون کامپایلر و در قالب زبان اسمبلی دستی و عمومی و جهانی ؛ تبلیغ می کنم . 



من مهندس یا  زبانشناس یا مدرس نیستم و هیچ چیزی را تدریس نمی کنم . 



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


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


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


من زبان اسمبلی را فارغ از نوع کامپایلر و بصورت دستی و در یک گرامر عمومی و بر روی کاغذ تبلیغ می کنم . 


نه وقت و حوصله ی تدریس دارم و نه ترجمه !! 


هیچ اصراری هم  ندارم که شما  فقط از زبان اسمبلی استفاده کنید . خیر . من فقط پیشنهاد می دهم . 



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


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


من فقط یک  بشیر و نذیر هستم . مسوولیت دیگری ندارم . 


اگر تمام دنیا هم به زبان اسمبلی بی اعتنایی کنند من کار خودم را انجام می دهم و راه خودم را می روم و  به روی خودم نمی آورم !! 


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


خب داشتم می گفتم : 


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



من زبان اسمبلی دستی عمومی جهانی بدون کامپایلر و استاندارد و بین المللی را روی کاغذ تبلیغ می کنم . 


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


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



مثال از یک دستور زبان اسمبلی عمومی : 


xor eax eax


xor ebx ebx


xor ecx ecx


xor edx edx


ret 


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



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



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


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


هرچند که طبق مشاهدات خودم ؛ اکثر کاربرها از masm یا  nasm یا fasm بعنوان اسمبلی عمومی استفاده می کنند . 


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


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


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


اما در این وبلاگ قصد دارم فقط کلیات و مسائل عمومی زبان اسمبلی را فارغ از نوع کامپایلر  بررسی کنم . 


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


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


مثال : 


دستور mov در زبان اسمبلی اینتل کاربردهای فراوانی دارد مثل : 



تعریف متغیر 


مقدار دهی به متغیر 


ادرس دهی به متغیر 


خالی کردن و تمیز کردن رجیستر پردازنده 


کپی و منتقل کردن متغیر 


و سایر موارد . 


خود دستور mov  مشتقات فراوانی دارد مثل : 

movsb

movsd

movsx



گاهی اوقات بهتر است بجای دستور mov از این مشتقات این دستور و یا از دستور  Lea  استفاده کنیم . 


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


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


عقل که نباشد جان در عذاب است !! 



بگذریم ....



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


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


کامپایلر و لینکر ما را محدود می کنند و بجای ما تصمیم می گیرند که این خیلی خطرناک است . 


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



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


برنامه نویسی باید همانند تایپ بصورت کاملا دستی انجام شود . 


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


برای برنامه نویسی؛  به ریاضیات و فیزیک و شیمی و  فرمولهای پیچیده و  آمار و الگوریتم و  انتگرال و مشتق و ماتریس و حساب دیفرانسیل و ریاضیات گسسته و  محاسبات سنگین و  گراف و  فلوچارت و سایر زوائد پیچیده و دیوانه کننده ی  رشته ریاضی فیزیک  ؛  نیاز نیست بلکه به  ذهن شفاف و تفکر خارج از چارچوب و آزاد و یک ماشین تحریر  ساده نیاز داریم !! 


دقیقا مثل دهه های 1930 و 1940 میلادی که برنامه نویسی توسط تایپیست ها انجام می شد . 


چیزهای زیادی در رشته مهندسی کامپیوتر وجود دارند که واقعا اضافی هستند و باید حذف شوند 


مثال : 


اقتصاد مهندسی !!! 


فیزیک مکانیک !!!! 


اصول طراحی کامپایلر !!!! 


نظریه زبانها و ماشین ها !!! 


هوش مصنوعی !!! 


یادگیری ماشین !!! 


روباتیک !!! 


مهندسی نرم افزار !!! 


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


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


روبات نباید بجای انسان بکار رود 



اما کو گوش شنوا ؟؟؟ 



بگذریم ...


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



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


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


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


پس بهتر است به همین وبلاگ سر بزنید و مابقی وبلاگهای مرا  رها کنید . زیرا حال و حوصله ندارم در چند وبلاگ مطلب بنویسم ! 


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



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


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


این شما هستید که باید فکر کنید و محاسبه کنید و تصمیم بگیرید . 


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


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


سیستم عامل نیز باید از انسان تبعیت کند نه اینکه بجای انسان تصمیم بگیرد . 


کامپیوتر باید کاملا از انسان اطاعت کند . 


در یک کلام : 


سیستم باید از انسان اطاعت کند . 



تا  بعد ....