ParsX.com
پذیرش پروژه از دانشجویی ... تا سازمانی 09376225339
 
   ProfileProfile   Log in to check your private messagesLog in to check your private messages  |  FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups Log inLog in   RegisterRegister 

اسمبلي چيست ؟

 
Post new topic   Reply to topic    ParsX.com Forum Index -> ساختمان و زبان ماشين
View previous topic :: View next topic  
Author Message
vahid
بي تو هرگز


Joined: 26 Nov 2004
Posts: 3067
Location: Tehran

PostPosted: Tue Jan 25, 2005 1:40 pm    Post subject: اسمبلي چيست ؟ Reply with quote

اسمبلي چيست ؟
زبانهاي برنامه نويسي كامپيوتر عموما به دو دسته زبانهاي سطح بالا و زبانهاي سطح پايين تقسيم ميشوند . برخي اين زبانها را به صه دسته تقسيم بندي كرده اند . زبانهاي سطح بالا و زبانهاي سطح پايين و زبانهاي سطح مياني . زبان برنامه نويسي اسمبلي جز زبانهاي سطح پايين است .
زبان سطح پايين به زباني گفته ميشود كه از لحاض ساختاري و ترجمه بسيار به زبان ماشين نزديك است . يعني قابليت فهم ان براي ماشين بهتر و راحتتر است . اما زبانهاي سطح بالا با كاربر رابطه بهتري دارند و كاربر يا برنامه نويس با اين زبان راحتتر ارتباط برقرار ميكند .
در زبان اسمبلي به سبب پايين بودن سطح ان ويژگيهايي نهفته است كه در هيچ يك از زبانهاي ديگر اين ويژگيها را نميتوان يافت : يكي از ويژگيهاي مهم اين زبان باز گذاشتن دست كاربر در كنترل سخت افزار بويژه CPU است . در واقع كاربر ميتواند با جز به جز پردازشگر و سخت افزار كامپيوتر ارتباط برقرار كند . بنابراين سرعت اينگونه برنامه ها نسبت به زبانهاي سطح بالا بسيار بالاتر است .
البته اين زبان داراي مشكلاتي نيز هست . كه از جمله مهمترين انها زياد بودن تعداد دستوراتي است كه كاربر بايد براي انجام عملي خاص از انها استفاده كند .
برنامه نويس براي برنامه نويسي بايد بر ارشيتكت ساخت CPU ‌مسلط باشد .
سورس اين برنامه ها اصولا خطوط زيادي دارد .
اين برنامه ها بسته به ماشين عمل ميكنند . يعني اگر ساختار اصلي ماشين تغيير كند . اين برنامه ها قابليت اجرا ندارند .
اسمبلر چيست ؟
براي تبديل زبان اسمبلي به زبان ماشين بايد از اين مترجم استفاده كرد . در واقع زبان اسمبلي از طريق اسمبلر به زبان ماشين كه صفر و يك است ترجمه ميشود .
هر خط از زبان اسمبلي معادل يك خط است در زبان ماشين . اين ويژگي خاص دستورات اسمبلي است و در زبانها سطح بالا چنين اتفاقي نمي افتد .
نحوه اسمبل شدن برنامه را در شكل زير ميبينيد :

براي اسمبل كردن يك برنامه توسط اسمبلي بايد به يك اسمبلر دسترسي داشت . كه اين كار را ميتوان توسط يك نرم افزار ويژه انجام داد كه عموما از اسمبلرهاي TASM ‌يا MASM استفاده ميكنند . كه اولي محصول شركت turbo و دومي محصول مايكروسافت است . كه نسخه جديد MASM نرم افزاري است به نام ML ‌كه كار كردن با ان نسبت به دو نرم افزار بالايي بسيار ساده تر است .
با استفاده از TASM ‌يا MASM سورس برنامه اي كه در فايلي با پسوند asm نوشته ايد را به يك فايل obj تبديل ميكنيد . سپس با يك لينكر TLINK ميتوانيد فايل را به فايل اجرايي تسوط كامپيوتر تبديل كنيد كه پسوند exe دارد .
براي نوشتن سورس برنامه كافيست يك ويرايشگر متن داشته باشيد كه تمامي كامپيوتر ها چنين چيزي را اصولا دارند . اگر از سيتسم عامل ويندوز استفاده ميكنيد ميتوانيد از notepad استفاده كنيد اگر از word استفاده ميكنيد يادتان باشد كه تغييرات اتوماتيك انرا براي تصحيح كلمات از كار بياندازيد . پس از انكه سورس برنامه را نوشتيد كافيست انرا با پسوند asm ذخيره كنيد براي اينكار از منوي file ميتوانيد گزينه save as ‌را انتخاب كنيد و نام فايل را با پسوند asm در دو جفت كوتيشن قرار ميدهيد :
“parsx.asm” سپس به پرامپت داس ميرويد .
براي رفتن به محيط داس اگر از سيستم عامل win98 ‌ و نسخه هاي 9X استفاده ميكنيد كافيست در منوي استارت گزينه run را انتخاب كنيد و سپس بنويسيد command و اگر از ويندوزهاي با نسخه بالاتر استفاده ميكنيد ميتوانيد در منوي run بنويسيد cmd و ازانجا به محيط داس برويد و به ادرسي كه اسمبلر شما و فايل asm شما قرار دارد برويد . براي رفتن به اين مسير ها بايد كمي بر داس مسلط باشيد .
اما براي تغيير دايركتوري بدانيد كه ميزنيد cd namefolder و براي بيرون رفتن از ان ميزنيد cd\ و براي تغيير درايو نام درايو را بهمراه دو نقطه مينويسيد : c: به همين سادگي .
اگر از نرم افزار MASM استفاده ميكنيد . كافيست تايپ كنيد MASM ‌و سپس نام فايل سورس را بنويسيد و ترتيب را ادامه دهيد تا فايل obj ‌شما ساخته شود . سپس LINK ‌را مينويسيد و نام فايلي كه ساخته ايد و پسوند obj ‌بان اختصاص داده شده است را مينويسيد . مراتب را ادام ميدهيد .
اگر از ml استفاده ميكنيد . كافيست نام فايل asm ‌را جلوي ml بنويسيد . يعني مينويسيد ml parsx.asm و سپس برنامه شما به exe تبديل ميشود .
براي استفاده از turbo assembler هم كافيست نام فايل را جلوي tasm بنويسيد تا obj شما ساخته شود و سپس با tlink نام فايل با پسوند obj فايل exe رابسازيد .
tasm parsx.asm
tlink parsx.obj

و بدين ترتيب فايل شما ساخته ميشود .
البته روش ديگري براي ساخت فايلهاي اسمبلي نيز وجود دارد . كه داراي محدوديتهاي زيادي است . كافيست در اعلان داس در هر مسيري كه هستيد تايپ كنيد debug تا وارد محيط debug ‌شويد .
براي ورود دستورات اسمبلي كليد a ‌را ميزنيد و enter ميزنيد و براي خروج از محيط دستورات كافيست بدون نوشتن چيزي دكمه اينتر را بزنيد . براي خروج از محيط ديباگ نيز كافيست دكمه q را بزنيد و اينتر را بعد از ان بزنيد . و براي اجراي دستورات g را بزنيد . كه كار كردن با اين محيط اموزش ويژه اي را ميطلبد .
Back to top
Display posts from previous:   
Post new topic   Reply to topic    ParsX.com Forum Index -> ساختمان و زبان ماشين All times are GMT + 3.5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum