میخواستم بدونم فرق اسمبلر با کامپایلر چیه؟ آیا میشه گفت اسمبلر یه نوع کامپیالر سطح پایین هست؟
Printable View
میخواستم بدونم فرق اسمبلر با کامپایلر چیه؟ آیا میشه گفت اسمبلر یه نوع کامپیالر سطح پایین هست؟
کامپایلر برنامه مورد نظر را به طور کامل بررسی و تبدیل به زبان ماشین می کند اگر به خطایی حین ترجمه برخورد کند آن خطا را نگه داشته و پس از اتمام کار لیستی از خطاهایی را که برنامه داشته به کاربر اعلام می کند.نقل قول:
مفسر یک برنامه را خط به خط ترجمه می کند اگر حین ترجمه به خطا بر بخورد کار ترجمه را پایان داده و روی خط مورد نظر می ایستد تا خطا رفع شود
اسمبلر که برای زبان اسمبلی به کار میرود خط به خط شروع به ترجمه برنامه میکند از این نظر تا حدودی مانند مفسر عمل می کند اما ممکن است برای تبدیل یک برنامه با پسوند obj مجبور شود که دوبار برنامه را بررسی کند. مثلا اگر تعداد پرش ها بسیار زیاد باشد اسمبلر قسمتهایی از برنامه را خالی می گذارد و پس از یک ترجمه کلی برنامه(مانند کامپایلر) و درک منطق آن به سراغ جاهای خالی رفته و آنها را به زبان ماشین تبدیل می کند