ورود

مشاهده نسخه کامل : چرا زبان های ماشین یکسان تولید نمی شود؟



life24
21-11-13, 11:30
سلام

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


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

هر مجموعه دستورالعمل تعبیه شده در هر پردازنده‌ای (Only the registered members can see the link D8%B2%D8%B4_%D9%85%D8%B1%DA%A9%D8%B2%DB%8C)، زبان اسمبلی (Only the registered members can see the link) مخصوص خود را دارا می‌باشد. لذا اگر دو نوع پردازنده که ISA یا به عبارتی مجموعه دستورالعمل آنها متفاوت از یکدیگر میباشد را داشته باشیم نمیتوانیم با یک زبان اسمبلی (یا زبان همگذاری) یکسان برای آن دو برنامه بنویسیم. برای مثال زبان اسمبلی پردازنده‌های x86 (Only the registered members can see the link) با زبان اسمبلی پردازنده‌های MIPS تفاوت دارد. (معماری MIPS توسط شرکتهای مختلف مانند ایسر (Only the registered members can see the link)، ان‌ای‌سی (Only the registered members can see the link B%8C)، و تعدادی دیگر از شرکتها مورد استفاده قرار میگردد)

mahdi1995
21-11-13, 18:38
اسمبلی رو نمی دونم ولی این که بخوان زبان ماشین رو برای همه ی سخت افزارها یکسان یا به قول شما استاندارد سازی کنن غیر ممکن هست چون مثلا یه پردازنده ی 32بیتی با یه پردازنده ی 64بیتی متفاوت هست و یه کد یکسان عملکرد متفاوتی توشون داره.(منظورم از کد همون 0و1 ها هست)