اسمبلی عمومی
به نام خدا
اسمبلی عمومی
من در وبلاگ باینسم ؛ زبان برنامه نویسی اسمبلی را بصورت فی البداهه و نامنظم و بدون کامپایلر و در قالب زبان اسمبلی دستی و عمومی و جهانی ؛ تبلیغ می کنم .
من مهندس یا زبانشناس یا مدرس نیستم و هیچ چیزی را تدریس نمی کنم .
من فقط یک تایپیست ساده هستم و زبانهای ماشین و اسمبلی را فقط تبلیغ می کنم .
من بجز نقد و افشاگری و تبلیغ و اطلاع رسانی کار دیگری انجام نمی دهم .
من قبلا شما کاربرها را با چندین کامپایلر زبان اسمبلی و چندین هگز ادیتور آشنا کرده ام . می توانید به آرشیو وبلاگ وحیدمی مراجعه کنید و این فایلها را دانلود کنید .
من زبان اسمبلی را فارغ از نوع کامپایلر و بصورت دستی و در یک گرامر عمومی و بر روی کاغذ تبلیغ می کنم .
نه وقت و حوصله ی تدریس دارم و نه ترجمه !!
هیچ اصراری هم ندارم که شما فقط از زبان اسمبلی استفاده کنید . خیر . من فقط پیشنهاد می دهم .
می دانم که هیچکس به زبان اسمبلی اهمیت نمی دهد . بنابراین خودم را خسته نمی کنم و حرص و جوش نمی خورم و اعصاب خودم را داغون نمی کنم .
من فقط یک ایده پرداز و پیشنهاد دهنده و بشارت دهنده و هشدار دهنده هستم .
من فقط یک بشیر و نذیر هستم . مسوولیت دیگری ندارم .
اگر تمام دنیا هم به زبان اسمبلی بی اعتنایی کنند من کار خودم را انجام می دهم و راه خودم را می روم و به روی خودم نمی آورم !!
من نیز به تمام زبانهای سطح بالا بی اعتنایی می کنم . این به اون در !!!
خب داشتم می گفتم :
زبان اسمبلی که من در وبلاگ باینسم تبلیغ می کنم یک اسمبلی عمومی است و به هیچ کامپایلر و لینکر و گرامر و نحو و سینتاکس خاصی وابستگی ندارد و در انحصار هیچ شخص حقیقی یا حقوقی نیست .
من زبان اسمبلی دستی عمومی جهانی بدون کامپایلر و استاندارد و بین المللی را روی کاغذ تبلیغ می کنم .
این زبان اسمبلی که من تبلیغ می کنم در انحصار و کپی رایت هیچ شخص حقیقی و حقوقی نمی باشد و یک زبان کاملا آزاد و همگانی است و به همه تعلق دارد .
یک اسمبلی کاملا عمومی و مردمی و جهانی و آزاد .
مثال از یک دستور زبان اسمبلی عمومی :
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 میلادی که برنامه نویسی توسط تایپیست ها انجام می شد .
چیزهای زیادی در رشته مهندسی کامپیوتر وجود دارند که واقعا اضافی هستند و باید حذف شوند
مثال :
اقتصاد مهندسی !!!
فیزیک مکانیک !!!!
اصول طراحی کامپایلر !!!!
نظریه زبانها و ماشین ها !!!
هوش مصنوعی !!!
یادگیری ماشین !!!
روباتیک !!!
مهندسی نرم افزار !!!
و سایر دروسی که باعث می شود ما فراموش کنیم که کامپیوتر باید تحت کنترل ما باشد و برنامه نویسی باید دستی باشد و نرم افزار باید با دست و تحت کنترل مستقیم ما نوشته و تایپ و ذخیره و اجرا شود و این ما هستیم که باید محاسبه کنیم و تصمیم بگیریم و کامپیوتر صرفا یک ماشین حساب پیشرفته و ابزار کمکی است و نباید بجای ما فکر کند و نباید بجای ما تصمیم بگیرد وگرنه عمق فاجعه بیشتر می شود .
هوش مصنوعی شروع فاجعه است و باید متوقف شود . برنامه نویسی باید کاملا دستی و با زبان ماشین یا اسمبلی انجام شود .
روبات نباید بجای انسان بکار رود
اما کو گوش شنوا ؟؟؟
بگذریم ...
بهرحال من به خاطر این فاجعه ها و اشتباهات تصمیم گرفتم از ورود به رشته مهندسی کامپیوتر خودداری کنم و کماکان کنترل کامپیوترم در دست خودم باشد .
بنابراین من تا پایان عمر از زبان اسمبلی دستی یا از زبان ماشین برای برنامه نویسی استفاده می کنم .
زبان اسمبلی برای من یک اسمبلی عمومی و ساده و کلی است و هرگز به هیچ کامپایلری مقید و محدود نیست .
بنابراین شاید وبلاگ باینسم آخرین وبلاگ باشد و هرگز به وبلاگهای قبلی مراجعه نکنم و مطلب جدید منتشر ننمایم .
پس بهتر است به همین وبلاگ سر بزنید و مابقی وبلاگهای مرا رها کنید . زیرا حال و حوصله ندارم در چند وبلاگ مطلب بنویسم !
هرکار می کنم می بینم انگیزه ای برای وبلاگنویسی ندارم . زیرا سن و سال ام بالا رفته و پیر و خسته و بی حوصله شده ام . بنابراین بصورت جسته و گریخته و نامنظم ؛ یکسری مطالب کلی و عمومی را در همین وبلاگ باینسم خواهم نوشت . انشاا...
اگر به دنبال زبان اسمبلی واقعی می گردید باید از اسمبلی عمومی و دستی و بدون کامپایلر استفاده کنید .
اجازه ندهید کامپایلرها و لینکرها و زبان ها و سیستم عامل ها و کامپیوترها و روبات ها و ماشین ها ؛ بجای شما فکر کنند و تصمیم بگیرند وگرنه خیلی زود دیر می شود و کار از کار می گذرد و در باتلاق فناوری های مدرن و فریبنده غرق می شوید .
این شما هستید که باید فکر کنید و محاسبه کنید و تصمیم بگیرید .
زبان و کامپیوتر باید تحت کنترل انسان باشند و از انسان اطاعت کنند .
زبان برنامه نویسی باید عمومی و دستی و بدون کامپایلر و بدون لینکر و کاملا آزاد باشد و در انحصار هیچ شخص حقیقی یا حقوقی نباشد و از انسان اطاعت کند .
سیستم عامل نیز باید از انسان تبعیت کند نه اینکه بجای انسان تصمیم بگیرد .
کامپیوتر باید کاملا از انسان اطاعت کند .
در یک کلام :
سیستم باید از انسان اطاعت کند .
تا بعد ....