0

اصول برنامه نویسی در اسمبلی

 
siryahya
siryahya
کاربر طلایی1
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 158652
محل سکونت : ▂▃▄▅▆▇█Tabriz█▇▆▅▄▃▂

پاسخ به:اصول برنامه نویسی در اسمبلی
دوشنبه 21 اردیبهشت 1394  2:52 AM

پرتابل (*قابل حمل) بودن سیستم عامل Unix در واقع نتیجه بازنویسی این زبان در زبان C در سال ۱۹۷۳ است. زیرا زبان C برای پرتابل بودن ایجاد شده بود .
 
اولین نسخه مستقل C توسط ریچارد استالمن از Free Software Foundation ایجاد شد . نام آن , GNU ( که مخفف Gnu's Not Unix است ) آنرا از به همراه داشتن کپی رایت Unix معاف میکند .سیستم عامل لینوکس بسیار بسیار به زبان C و کامپایلر GCC وابسته است.
 
کامپایلر در واقع برنامه ای است که یک برنامه به زبان های سطح بالا را ( مثلا C ) به یک کد ماشینی یا Machine Code ترجمه میکند که بتواند در Memory قرار گیرد.
برنامه ای که قابلیت قرار گرفتن در مموری و اجرا توسط پردازنده را داشته باشد فایل اجرایی یا Executable File یا Executable میگویند .
 
کامپایلر GCC در چهار مرحله کار میکند برای مثال اگر بخواهیم برنامه Hello World زیر را کامپایل کنیم :
 
کد PHP:
#include <stdio.h>
 
int main()
{
  printf("Hello World \n");
  return 0;
}  
مرحله اول : پیش پردازش ( PreProcess ) در این مرحله فایل های مختلف که در برنامه فراخوانی شده اند به سورس اضافه میشوند ( مثلا #include های اول برنامه ) برای مثال یک برنامه که فقط روی صفحه چاپ کند Hello World در این مرحله تبدیل میشود به :
کد PHP:
http://paste.ubuntu.com/7683949/  
مرحله سوم : Assemble : در این مرحله کد های اسمبلی به Object File تبدیل میشوند . برای ادامه کار تا این مرحله از سوییچ -c استفاده کنید .
مرحله چهارم : لینک : در این مرحله Object فایل به فایل اجرایی متناسب با سیستم عامل شما تبدیل میشود و فایل اجرایی نهایی تحویل داده میشود.
 
اگر قبلا اسمبلی کار کرده باشید حتما متوجه شده اید که با گرامر Intel که معمولا کار میکنیم متفاوت است که در جلسه بعد کاملا راجع به آن توضیح خواهم داد.
 
پس ترتیب کامپایل یک سورس کد زبان C به شکل زیر شد : 
 

ترکی زبان قربون صدقه رفتنه داریم که: گوزلرین گیله‌سین قاداسین آلیم که یعنی درد و بلای مردمک چشات به جونم …!.

تشکرات از این پست
دسترسی سریع به انجمن ها