وبلاگ دانشجویان رشته کامپیوتر دانشکده سما مسجدسلیمان
وبلاگ دانشجویان رشته کامپیوتر دانشکده سما مسجدسلیمان
 
قالب وبلاگ
آخرين مطالب
لینک دوستان

تبادل لینک هوشمند
برای تبادل لینک  ابتدا ما را با عنوان وبلاگ دانشجویان رشته کامپیوتر دانشکده سما مسجدسلیمان و آدرس computer.sama.loxblog.com لینک نمایید سپس مشخصات لینک خود را در زیر نوشته . در صورت وجود لینک ما در سایت شما لینکتان به طور خودکار در سایت ما قرار میگیرد.





اسمبلرها از دهه ۱۹۵۰ مورد استفاده قرار گرفتند و نوشتن آن‌ها بسیار راحت‌تر از نوشتن متجرم‌ها برای زبان‌های برنامه‌نویسی سطح بالا است بطوریکه هر دستور یادیاری و هر آدرس حالت ترکیبی این زبان مستقیماً به یک آپ‌کد زبان ماشین تبدیل می‌شود. اسمبلرهای جدید، به طور خاص برای معماری‌های ریسک، مانند اسپارک و پاور، هم‌مانند معماری ایکس۸۶ و ایکس۸۶-۶۴، با بهینه‌سازی زمان‌بندی دستورالعمل‌ها باعث استفاده کارآمد از خط لولۀ واحد پردازش مرکزی می‌شوند.

برخی از رایج‌ترین اسمبلرهای معماری ایکس۸۶ عبارتند از:

تعداد گذرها[ویرایش]

دو نوع اسمبلر بر اساس تعداد گذرها از روی کد منبع برای تولید برنامۀ قابل اجرا وجود دارد:

  • اسمبلرهای یکبار-گذر فقط یک بار از روی کد عبور می‌کنند. هر نمادی که قبل از تعریف شدنش استفاده شده باشد به یک خطا (به انگلیسی: errata)‏ در پایان کد آبجکت (یا حداقل، بعد از محل تعریف در کد آبجکت) نیاز دارد تا به پیوندده اعلام کند که برگرد و حفره‌ای را که بر اثر استفاده از این نماد قبل از تعریف شدنش، جاگذاشته شده بود بازنویسی کن.
  • اسمبلرهای چندبار-گذر جدولی از تمامی نمادها و مقادیر آن‌ها در گذر اول ایجاد می‌کنند، و سپس در گذرهای بعدی با استفاده از این جدول، نمادها را با مقادیر آن‌ها جایگزین کرده و فایل اجرایی را تولید می‌کنند.

هدف اصلی در استفاده از اسمبلرهای یکبار-گذر، سرعت اسمبل کردن بود، زیرا در گذر دوم به برگرداندن و بازخوانی نوار یا کارت پانچ، که در گذشته برای ذخیره‌سازی کدها استفاده می‌شدند، نیاز بود. این مشکل بعدها با وجود کامپیوترهای جدید برطرف شد. مزیت اسمبلرهای چندبار-گذر این است که در نبود خطاها در کد آبجکت، فرایند پیونددهی سریع‌تر انجام می‌شود.

اسمبلرهای سطح-بالا[ویرایش]

اسمبلرهای پیچیده‌تر سطح-بالا انتزاع‌های زبانی زیر را فراهم می‌کنند:

زبان اسمبلی[ویرایش]

برنامه‌ای که به زبان اسمبلی نوشته می‌شود شامل مجموعه‌ای از دستورالعمل‌های پردازنده (یادیارها)، شبه-دستورها (به انگلیسی: Pseudo-instructions)‏، کامنت‌ها و داده‌ها است. دستورهای زبان اسمبلی معمولاً از یک آپ‌کد و سپس فهرستی از داده‌ها، آرگومان‌ها و یا پارامترها تشکیل شده‌اند و توسط اسمبلر به دستورهای زبان ماشین ترجمه و به حافظه منتقل می‌شوند تا اجرا شوند.

برای مثال، دستور زیر به پردازندۀ معماری ایکس۸۶/آی‌ای-۳۲ می‌گوید که یک مقدار ثابت ۸ بیتی را به یک ثبات منتقل کند. کد باینری این دستور 10110 است که پس از آن یک شناسۀ ۳ بیتی می‌آید تا مشخص کند کدام ثبات باید استفاده شود. 000 شناسۀ ثبات AL است، بنابراین کد ماشین زیر دادۀ 01100001 را در ثبات AL بار می‌کند:

10110000 01100001

این کد باینری را می‌توان با تبدیل به مبنای ۱۶ کمی خواناتر کرد:

B0 61

در اینجا B0 به معنی انتقال مقدار بعدی به ثبات AL است و 61 نمایش مبنای ۱۶ مقدار باینری 01100001 است که باید منتقل شود و در مبنای ده برابر ۹۷ است. زبان اسمبلی اینتل یادیار MOV را (مخفف Move) برای دستورهای این چنینی فراهم کرده، به طوریکه کد ماشین بالا در زبان اسمبلی به شکل زیر نوشته می‌شود که خواندن و به خاطر سپردن آن راحت‌تر است (آنچه بعد از نقطه-ویرگول (;) آمده توضیح (به انگلیسی: comment)‏ است):

MOV AL, 61h       ; Load AL with 97 decimal (61 hex)

برخی زبان‌های اسمبلی ممکن است از دستورهای مشابه MOV برای انتقال، کپی و بارگذاری داده‌ها، چه ثبات‌ها، چه مقادیر عددی و چه متغیرهای حافظه استفاده کنند و برخی دیگر از اسمبلرها ممکن از دستورهای متفاوتی استفاده کنند؛ مثلاً L برای انتقال حافظه به ثبات، ST برای انتقال از ثبات به حافظه، LR برای انتقال از ثبات به ثبات و MVI برای انتقال ثابت‌های عددی به ثبات و غیره.

آپ‌کد اینتل 10110000 (B0) یک مقدار ۸ بیتی را به ثبات AL کپی می‌کند، در حالیکه 10110001 (B1) آن را به CL منتقل می‌کند و 10110010 (B2) همین کار را با DL انجام می‌دهد. مثال‌های اسمبلی آن به صورت زیر است:

MOV AL, 1h        ; Load AL with immediate value 1
MOV CL, 2h        ; Load CL with immediate value 2
MOV DL, 3h        ; Load DL with immediate value 3

دستور MOV می‌تواند مانند مثال زیر به اشکال پیچیده‌تری نیز استفاده شود:

MOV EAX, [EBX]    ; Move the 4 bytes in memory at the address contained in EBX into EAX
MOV [ESI+EAX], CL ; Move the contents of CL into the byte at address ESI+EAX

در هر حالت، دستور MOV مستقیماً توسط اسمبلر به یک آپ‌کد در بازۀ 88-8E یا A0-A3 یا B0-B8 یا C6 یا C7 ترجمه می‌شود و برنامه‌نویس مجبور به دانستن یا حفظ کردن آن‌ها نیست.

تبدیل زبان اسمبلی به زبان ماشین وظیفۀ اسمبلر است و عکس این عمل تا حدی توسط دی‌اسمبلر امکان‌پذیر است. برخلاف زبان‌های برنامه‌نویسی سطح بالا، ارتباط یک به یکی بین دستورهای زبان اسمبلی و دستورالعمل‌های زبان ماشین وجود دارد. با این حال، در برخی موارد، یک اسمبلر ممکن است شبه‌دستوراتی (به انگلیسی: Pseudoinstructions)‏ را به کار بگیرد (اساساً ماکروها) که به چند دستورالعمل زبان ماشین تبدیل می‌شود تا پاسخگوی نیازهای رایج باشد.

هر معماری کامپیوتر زبان ماشین مختص به خود را داراست. کامپیوترها در تعداد و نوع دستورهای قابل استفاده، تعداد و اندازۀ ثبات‌ها و نحوۀ انبارش داده‌ها با یکدیگر تفاوت دارند. با اینکه کامپیوترهای همه منظوره اساساً قادر به انجام کارکردهای مشابه هستند ولی این کار را با روش‌های گوناگونی انجام می‌دهند؛ بنابراین زبان اسمبلی مربوط به آن‌ها نیز این تفاوت‌ها را منعکس می‌کند.

مجموعه‌های متعددی از یادیارها و یا دستورهای زبان اسمبلی ممکن است برای یک مجموعه دستورالعمل واحد وجود داشته باشد، که به طور معمول در برنامه‌های اسمبلی مختلفی نمونه‌سازی می‌شوند. در این موارد، رایج‌ترین آن‌ها معمولاً نمونه‌ای است که توسط کارخانۀ سازنده عرضه می‌شود یا در مستندات آن‌ها استفاده شده است.

زبان اسمبلی موتورولا ۶۸۰۰

نظرات شما عزیزان:

نام :
آدرس ایمیل:
وب سایت/بلاگ :
متن پیام:
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

 

 

 

عکس شما

آپلود عکس دلخواه:





[ چهار شنبه 10 مهر 1392 ] [ 10:26 ] [ بهنام نصرالله پور ]

.: Weblog Themes By Iran Skin :.

درباره وبلاگ

به نام خدایی که دغدغه از دست دادنش را ندارم با عرض سلام و خسته نباشید خدمت فرد فرد دانشجویان رشته کامپیوتر ، از همه ی شما تشکر میکنیم که منت سر ما گذاشتید و به این وبلاگ سر زدید هدف ما در اینجا آشنایی بیشتر دانشجویان رشته کامپیوتر با دنیای علم و فناوری میباشد و ناگفته نماند اطلاعاتی که در این جا قرار داده می شود برگرفته از تمامی سایتهای اینترنتی و جزوات کتب داخلی و خارجی و تحقیقات علمی و پروژه های دانشجویان می باشد ، امیدوار هستیم که مطالب مورد پسند شما واقع بشوند. با تشکر گروه دانشجویان رشته کامپیوتر
آرشيو مطالب
خرداد 1394
ارديبهشت 1394 اسفند 1393 بهمن 1393 دی 1393 آبان 1393 مهر 1393 شهريور 1393 مرداد 1393 تير 1393 خرداد 1393 ارديبهشت 1393 فروردين 1393 اسفند 1392 بهمن 1392 دی 1392 آذر 1392 آبان 1392 مهر 1392 شهريور 1392 مرداد 1392 تير 1392
امکانات وب

نام :
وب :
پیام :
2+2=:
(Refresh)

<-PollName->

<-PollItems->

خبرنامه وب سایت:





آمار وب سایت:  

بازدید امروز : 17
بازدید دیروز : 0
بازدید هفته : 26
بازدید ماه : 408
بازدید کل : 36564
تعداد مطالب : 287
تعداد نظرات : 145
تعداد آنلاین : 1


Google

در اين وبلاگ
در كل اينترنت
 تماس با ما
کافی نت ستین ، ارائه دهنده ی کلیه خدمات اینترنتی با تخفیف ویژه برای دانشجویان

آموزش دروس ریاضی و فیزیک ویژه بانوان اگر سوالی دارید می توانید در بخش نظرات وبلاگ سوال خود را مطرح کنید.باتشکر




Up Page