به نام خدا
من بابت زبانهای برنامه نویسی ماشین و اسمبلی نگران نیستم و خیالم راحت است !
زیرا زبانهای ماشین و اسمبلی مثل چسب دو قلو به سخت افزار چسبیده اند و هرکجا که سخت افزار برود این دو نیز با او می روند !
یعنی زبانهای برنامه نویسی ماشین و اسمبلی درحکم روح سخت افزار می باشند و حتی فراتر از آن ؛ این دو زبان بخشی از ذات و بدنه اصلی سخت افزار محسوب می شوند و هرگز از سخت افزار جدا نمی شوند و هیچ زبان دیگری نمی تواند جایگزین آنها شود لذا زبانهای ماشین و اسمبلی عمری جاودانه دارند و هرگز منسوخ یا منقرض نمی شوند .
زبان ماشین یعنی سخت افزار
زبان اسمبلی یعنی برادر دوقلوی زبان ماشین
نتیجه:
زبان اسمبلی یعنی زبان سخت افزار
خب عملا هرنوع نگرانی و دلواپسی بابت بقای عمر زبانهای ماشین و اسمبلی کاملا بیهوده است .
شاید کامپایلرهای ذوقی و سلیقه ای و شلخته و غیر استاندارد زبان اسمبلی ؛ منسوخ و منقرض شوند اما اسمبلی خالص و واقعی و استاندارد که کامپایلر ندارد و دستی است ؛ هرگز منقرض نمی شود .
اسمبلی واقعی و خالص و استاندارد و دستی یعنی چیزی شبیه به این کد که کاملا با دست نوشته می شود و با دست به زبان ماشین ترجمه می شود و در انحصار هیج شخص حقیقی و حقوقی نیست و یک زبان آزاد و همگانی است :
mov eax , eax
mov ebx , ebx
mov ecx , ecx
mov edx , edx
ret
کد بالا ؛ یک زبان اسمبلی استاندارد خالص واقعی بین المللی است یعنی گرامر و سینتاکس بین المللی دارد و در همه جا به همین شکل بکار می رود .
این کد باعث می شود که تمام رجیسترهای عمومی پردازنده کاملا خالی و تمیز شوند و پردازنده آماده شود تا دستورات جدید را اجرا کند
این کد یک خانه تکانی محسوب می شود و جلوی بروز بسیاری از خطاها را می گیرد .
سعی کنید در ابتدای هرکدام از برنامه های اسمبلی ؛ این کدهای بالا را بنویسید .
همچنین در ابتدای هر کدام از روتین ها و زیر برنامه ها نیز این کد را بنویسید .
زیرا پردارنده ؛ پی در پی توسط داده ها و متغیرها و ثابت ها اشغال می شود .
بنابراین شما باید عملیات پاکسازی پردازنده را با کپی و الصاق مکرر در ابتدای تمام روتین ها تکرار کنید .
شاید بگویید که می توانیم تمام روتین ها را به این کد هدایت کنیم و از دستورات پرش شرطی یا غیر شرطی استفاده کنیم .
اما اینکار موجب می شود که برنامه ی شما به یک اسپاگتی تبدیل شود زیرا مدام باید پرش رو به بالا انجام دهید .
در حالیکه در زبان اسمبلی ؛ تمام پرش ها باید کوتاه و رو به پایین باشند و از تکنیک اسمبلی خطی استفاده کنید تا کد برنامه ؛ بهینه شود .
شاید بگویید از یک ماکرو استفاده می کنیم
اما باید بدانید که ماکرو دشمن زبان اسمبلی است و از اسمبلی خالص استاندارد بین المللی فاصله دارد .
ماکرو یعنی شبیه سازی زبان سطح بالا .
زبانهای برنامه نویسی چیزی جز یک ماکرو نیستند .
به تعداد ریگ های بیابان زبان سطح بالا اختراع شده است که تمام آنها فقط در حکم یک ماکرو هستند و هیچ چیزی به دنیای کامپیوتر و برنامه نویسی اضافه نکردند بجز توهمی از قابلیت حمل !
قابلیت حمل بر روی سخت افزارهای مختلف ؛ یک نیاز کاذب و دروغین است .
در درون هر کامپیوتر فقط یک نوع پردازنده وجود دارد .
بنابراین قابلیت حمل یک چیز زائد و بی مصرف و فریبنده است
حتی زمانی که می خواهید یک پردازنده ی جدید را اختراع کنید مجبورید از زبان اسمبلی استفاده کنید زیرا هیچکدام از زبانهای سطح بالا از وجود چنین پرازنده ای که به تازگی و توسط شما اختراع شده خبر ندارند و کد اسمبلی این پردازنده ی جدید فقط در مغز شما طراحی شده است .
پس چاره ای ندارید مگر اینکه از زبان اسمبلی استفاده نمایید
مثلا شما می توانید پردازنده ی شخصی برای خودتان بسازید و دستورات زبان اسمبلی اش را بدین شکل تعریف کنید :
IF=00
IS=01
ISNOT=02
THEN=04
ELSE=05
ELSEIF=06
ENDIF=07
AS=08
RETURN=09
TRUE=0A
FALSE=0B
GOTO=0C
JUMP=0D
COPY=0E
CUT=0F
PASTE=10
SELECTALL=11
12=MOVE
13=DEFINE
و الی آخر
بله شما می توانید یک پردازنده جدید بسازید که دستورات زبان اسمبلی اش از کلمات ساده و کامل و قابل فهم زبان انگلیسی تشکیل شده باشند و عملا یک اسمبلی کاملا سطح بالا و قابل فهم و شیئ گرا شبیه به زبانهای سطح بالا را شخصا بسازید و به ازای هر لغت کامل انگلیسی ؛ یک کد زبان ماشین را برای پردازنده تان تعریف نمایید .
با این شگرد جذاب عملا از تردید بین زبان اسمبلی و زبانهای سطح بالا خلاص می شوید .
اسمبلی خالص استاندارد بین المللی لزوما شامل سمبول های سطح پایین و گنگ و نامفهوم و سه رقمی نیست بلکه می تواند از کلمات کامل و قابل فهم انگلیسی نیز تشکیل شده باشد .
.
اینجاست که می گویم بابت زبانهای ماشین و اسمبلی هرگز نگران و دلواپس و مضطرب نیستم و خیالم راحت است .
زبان اسمبلی در هر شکلی که باشد چه سطح پایین و چه سطح بالا ؛ عمری جاودانه و ابدی دارد .
اسمبلی زبانی است که هرگز منسوخ و منقرض نمی شود .
خصوصا اسمبلی سطح بالا یا HLA به عنوان جذابترین و کاربرپسندترین شکل زبان اسمبلی ؛ یقینا عمر ابدی خواهد داشت و حتی می تواند تمام زبانهای سطح بالا را شکست دهد و نابود کند .
زبانهای سطح بالا یکی پس از دیگری منقرض و منسوخ خواهند شد اما زبان اسمبلی تا روز قیامت زنده می ماند .
مرگ تدریجی زبانهای سطح بالا حتمی است . دیر و زود دارد اما سوخت و سوز ندارد !
سلام مرا به زبانهای فرترن و کوبول و الگول و لیسپ و بیسیک و پاسکال و سی و سی پلاس پلاس و سی شارپ و جاوا و پرل و پایتون و روبی و پی اچ پی و جاوا اسکریپت و فاکس پرو و فورث برسانید و بگویید پرچم زبان اسمبلی همیشه بالاست .
اسمبلی سطح بالا می تواند زبان اسمبلی را به سلطنت برساند و تاج پادشاهی را بر سر او بگذارد .
دوران پادشاهی زبانهای سطح بالا رو به اتمام است زیرا اسمبلی سطح بالا در راه است و دنیا را فتح می کند .
زنده باد اسمبلی
زنده باد آزادی
زنده باد امنیت
زنده باد اصالت
زنده باد قدرت
HLA=اسمبلی سطح بالا
HLL= زبان سطح بالا
در این پست ؛ تناقض می بینید ولی هیچ تناقضی در کار نیست زیرا اسمبلی سطح بالا هرگز ماکرو یا زبان سطح بالا نیست بلکه نسخه ی قابل فهم زبان اسمبلی محسوب می شود و مستقیما به کد زبان ماشین ترجمه می شود
اسمبلی سطح بالا را می توانید خودتان شخصا اختراع کنید و به ازای هر دستور زبان اسمبلی سطح بالا ، یک دستور زبان ماشین تعیین کنید .