تبلیغات

نسل باران

|

بانک شماره و موبایل popup window

قالب های حرفه ای وردپرس

|

پلاگین وردپرس popup window

وب سایت دانشجویان کارشناسی و ارشد کامپیوتر خرم آباد - نحوه کامپایل و ساخت فایل اجرایی از سورس کد های اسمبلی
نسل باران
وب سایت دانشجویان کارشناسی و ارشد کامپیوتر خرم آباد
امام علی (ع) می فرمایند: « زکات العلم نشرهُ» زکات علم نشر آن است.
به سایت ما خوش آمدید
سلام به همگی
عموما کسایی که تازه اسمبلی یاد میگیرن تو نحوه اجرای کد و ساختن فایل اجرایی مشکل دارن . تو این تاپیک میخوام نحوه انجام این کار رو انجام بدم .
از فایل ضمیمه هم میتونید فایلهای مورد نیاز و برنامه نمونه رو دنلود کنید .
.
خیلی خب . ما یه برنامه ساده داریم که دوتا عدد رو از هم کم میکنه .
کد برنامه ما اینه :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
;in the name of GOD
INCLUDE IO.H
 
DATA SEGMENT
   MESSAGE1 DB 'ENTER A NUMBER',10,13,0
   MESSAGE2 DB 'ENTER SECOND NUMBER',10,13,0
 
   A DB 6 DUP(0),0
   B DB 6 DUP(0),0
   C DB 6 DUP(0),0
DATA ENDS
 
 
CODE SEGMENT
  
  ASSUME CS:CODE   ,   DS:DATA
START: 
        MOV AX,DATA
        MOV DS,AX
 
        OUTPUT MESSAGE1
        INPUTS A,4         ;یک عدد دو رقمی دریافت کن 
        ATOI A           
         
        MOV BX,AX       
 
        OUTPUT MESSAGE2
        INPUTS B,4
           ATOI B
         
        SUB BX,AX            ;NUM1 = NUM1 - NUM2
        ;ADD BX,AX            ;NUM1 = NUM1 + NUM2
         
        ITOA C,BX
        OUTPUT C
 EXIT:
  
        MOV AH,4CH
        INT 21H
         
CODE     ENDS
    END     START
         
 
   

حالا ما میخوایم این سورس کد رو به فایل اجرایی تبدیل کنیم .
برای اینکار ما به فایلهای Masm.exe و Link.exe نیاز داریم .
فایل Masm.exe میاد سورس کد ما رو کامپایل میکنه و Object file اون رو میسازه ( اگه سورس کد اروری نداشته باشه باید یه فایل .obj ساخته بشه )
فایل Link.exe هم تبدیل فایل Object برناممون رو تبدیل به فایل اجرایی میکنه ( همون .exe ) .

نحوه استفاده هم به این صورت هست :
اسم سوس کد ما هست sub.asm بصورت زیر عمل میکنیم :

فایل Masm.exe رو اول اجرا میکنیم .

1.تو خط اول اسم سوس کدمون یا آدرس سورس کدمون رو مینویسیم . ( اگه فایلهای Masm,Link و سورس کد ما همه کنار هم هستن کافیه فقط اسم سورس کد رو بنویسیم اما اگه سورس کد ما تو یه پوشه دیگه هست باید آدرس کامل اون رو اینجا بنویسیم .

پس برای حالت اول مینویسیم :
1
sub.asm
اگه سورس کد ما تو یه پوشه دیگه هست اینطور باید بنویسیم : ( مثلا سورس کد من تو درایو سی تو پوشه asm هست ) .
1
C:\asm\sub.asm
دقت کنید تو آدرس که دارید میدید حتما پسوند .asm رو قید کنید .
2. تو خط دوم از ما میپرسه چه نامی برای فایل object میخوایم بزاریم .ما انتر میکنیم ( یعنی همون نام سورس کد رو بزار روش )
3.تو خط سوم از ما میپرسه چه اسمی برای فایل lst میخوایم بزاریم . دوباره انتر میکنیم تا نام پیش فرض که نام سورس کد ما هست انتخاب بشه . (فایل lst توضیحات سورس کد ما رو در خودش داره - اگه اروری وجود داشته باشه تو این فایل بخوبی مشخص هست )
4. تو خط چهارم هم از ما یک نام برای فایل crf میخواد که مثل بالا عمل میکنیم .
حالا باید 4 فایل جدید کنار سورس کدتون ساخته شده باشه . بنام sub.OBJوsub.lst و sub.crf و sub.map

حالا باید فایل اجرایی رو بسازیم . برای اینکار Link.exe رو اجرا میکنیم .

  1. تو خط اول اسم فایل object که تو مرحله قبل ساختیم وارد میکنیم .(نکته رو بخونید)
  2. تو خط دوم هم یه اسم برای فایل اجرایی تازمون وارد میکنیم ( پیش فرض خودش نام سورس کد رو به اضافه .exe برای ما انتخاب کرده ) ما با زدن انتر نام پیشفرض رو قبول میکنیم .
  3. تو مرحله سوم و چهارم هم اگر از کتابخانه ای استفاده کردیم نامهای اون رو جلوی خطوط مربوطه مینویسیم . اگر استفاده نکردیم نیازی به نوشتن چیزی نیست .
  4. خب کار ما تموم هست و الان باید فایل اجرایی ما ساخته شده باشه

Info نکته :
اگر ما در برنامه مون از ماکروهای فایل IO.h استفاده کرده باشیم . حتما باید تو مرحله اول لینک وقتی که داریم اسم فایل object رو میدیم . اسم فایل آبجکت IO رو هم بدیم یعنی باید به این صورت عمل کنیم .

1
sub.obj+IO.obj


برای اینکه هر بار مجبور نباشیم برای دیدن یه تغییر کوچیک در کد کلی راه بریم تا خروجی بگیریم میتونیم از Batch file استفاده کنیم .
یعنی بیاییم همه کدهایی که بالا بصورت یکی بعد از دیگری میزدیم . یکدفعه بزنیم .
برای اینکار notepad رو باز میکنیم و توش به این صورت دستورات رو مینویسیم :
1
2
3
masm sub.asm,,,,
link sub+io,,,,
pause

خب حالا این فایل رو با نام "compile.bat" ذخیره کنید ( علامت نقل قول هم همراهش باشه ) .
حالا توضیح :
خط اول میاد به فایل Masm اسمهایی رو که میخواد میده . ( بین هر کاما که جلوی فایل masm نوشته میتونید یه اسم دلخواه بنویسید - اگه خالی بزارید مثل این میمونه که وقتی به اون خط رسیدید انتر زده باشید )
خط دوم هم میاد به لینک پارامترهایی که نیاز داره میده . دقت کنید که چون من در این برنامه از ماکروهای io.h استفاده کردم بجای نوشتن sub اومدم sub+io رو نوشتم .
pause هم مانع از بسته شدن پنجره میشه و اینطور شما میتونید ارورها و اتفاقات افتاده رو ببینید .

این فایل رو کنار بقیه فایلها قرار بدید و برای کامپایل کردن و ساختن فایل اجرایی کافیه این فایل رو اجرا کنید . یادتون باشه هر وقت تغییری تو سورس کدتون دادید اول اون رو ذخیره کنید و بعد این فایل رو اجرا کنید تا آخرین تغییرات سورسکدتون اعمال بشه (اینو گفتم چون خیلی ها فراموش میکنن ) .

(ورژن 6.11 مسم و 5.6 لینک هم جداگانه قرار دادم . آموزش و نحوه کار یکی هست . فقط اینکه تو این ورژنبا مسم باید از طریق cmd کار کنید یا از همون بچ فایل که بالا گفتم استفاده کنید . ورژن 6.11 خیلی بهتر از 5.10 هست و گیرهای کمتری موقع کامپایل میده )



نوع مطلب : اسمبلی، 
برچسب ها :
لینک های مرتبط :

 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر



درباره وبلاگ


امام صادق(ع) می فرمایند: «اِنُّ لِکلِّ شیءٍ زکاةً و زکاةُ العِلمِ اَنْ یُعَلِّمَهُ اَهلَهُ» برای هر چیزی زکاتی است،و زکات علم آن است که آن را به اشخاص شایسته بیاموزید. (منبع: تحف.ص 364)

امام علی (ع) می فرمایند: « زکات العلم نشرهُ» زکات علم نشر آن است.

مدیر وبلاگ : s1390
مطالب اخیر
نویسندگان
صفحات جانبی
آمار وبلاگ
  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :
فرم تماس
نام و نام خانوادگی
آدرس ایمیل
امکانات دیگر
دریافت كد ختم صلوات
کلیه حقوق این وبلاگ برای وب سایت دانشجویان کارشناسی و ارشد کامپیوتر خرم آباد محفوظ است