چرا زبان های ماشین یکسان تولید نمی شود؟
سلام
ما وقتی برنامه ای مینویسیم هنگامی که تبدیل به زبان اسمبلی می شود. تا اینجا یکسان
اما بعد از ان تبدیل به زبان ماشین میشود که آنهم مخصوص هر سخت افزار هست و جدا
یعنی کد هر سخت افزار با هم فرق دارد.
چرا ؟ چرا استاندارند سازی نمی کنند؟ همه کد زبان ماشین در نهایت یکسان شود؟
امکان داره مثالی بزنید?
الان این لینک حتی میگه زبان اسمبلی تولید شده برای هر سخت افزار هم متفاوت هست.
در صورتی که من تا الان فکر میکردم برنامه ای که نوشته میشه تا قسمت زبان اسمبلی همه یکسان هستند در هر نوع سخت افزار برای اجرا!
نقل قول:
هر
مجموعه دستورالعمل تعبیه شده در هر
برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]، زبان
برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ] مخصوص خود را دارا میباشد. لذا اگر دو نوع پردازنده که ISA یا به عبارتی مجموعه دستورالعمل آنها متفاوت از یکدیگر میباشد را داشته باشیم نمیتوانیم با یک زبان اسمبلی (یا زبان همگذاری) یکسان برای آن دو برنامه بنویسیم. برای مثال زبان اسمبلی پردازندههای
برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ] با زبان اسمبلی پردازندههای MIPS تفاوت دارد. (معماری MIPS توسط شرکتهای مختلف مانند
برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]،
برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]، و تعدادی دیگر از شرکتها مورد استفاده قرار میگردد)
پاسخ: چرا زبان های ماشین یکسان تولید نمی شود؟
اسمبلی رو نمی دونم ولی این که بخوان زبان ماشین رو برای همه ی سخت افزارها یکسان یا به قول شما استاندارد سازی کنن غیر ممکن هست چون مثلا یه پردازنده ی 32بیتی با یه پردازنده ی 64بیتی متفاوت هست و یه کد یکسان عملکرد متفاوتی توشون داره.(منظورم از کد همون 0و1 ها هست)