ورود

View Full Version : سوال: استاندارد اسمبلی چیه؟



rroona
چهارشنبه 28 مرداد 1388, 21:33 عصر
ممکنه در مورد استاندارد اسمبلی و کاربردهاش توضیح بدین.
اگه کتاب الکترونیکی هم در این زمینه هست معرفی کنید

tdkhakpur
چهارشنبه 28 مرداد 1388, 22:26 عصر
سلام یعنی چی استاندارد اسمبلی ولی اگر منظورتان کد های استاندارده 8086 کد های استاندارد داره.

behzad_dr
چهارشنبه 28 مرداد 1388, 22:33 عصر
اسمبلی در اینجا زبان گفتار سطح پایین با یک ریز پردازنده است .اینکه میفرمائید استاندارد اسمبلی چیه ...خوب جمله سوالی درستی نیست زیرا منظور شما از اسمبلی، اسمبلی کدام پردازنده است؟ من پیشنهاد میکنم برای درک بهتر مفهوم اسمبلی یه نگاهی به فصل2 کتاب معماری نوشته پترسون بیندازید. اونجا متوجه خواهید شد که هر پردازنده دارای یک استاندارد خاص برای دستورات اسمبلی میباشد .ضمنا لینک زیر فکر میکنم شروع خوبی برای درک این مفهوم باشه.
اگر دقت کنید ، متوجه میشید که فرامین برای پردازنده های مختلف به صورت متفاوت میباشد.در لینک زیر فرمان add برای اسمبلی mips توضیح داده شده.. و مطمئنا این فرمان برای پردازنده Intel با کمی تشابه اما متفاوت است. و تفاوت آنها بیشتر در قالب دستورالعمل است.
http://barnamenevis.org/forum/showthread.php?t=131139


پیروز باشید . بهزاد

hoax3r
چهارشنبه 28 مرداد 1388, 23:27 عصر
فکر نکنم اسمبلی مثل زبان هایی مثل ++C/C توسط یه سازمان استاندارد شده باشه که کامپایلر ها هم از
اون تبعیت کنن

tdkhakpur
چهارشنبه 28 مرداد 1388, 23:32 عصر
فکر نکنم اسمبلی مثل زبان هایی مثل ++C/C توسط یه سازمان استاندارد شده باشه که کامپایلر ها هم از
اون تبعیت کنن
نه اینطوری نیست شما هر جایی که دیدید وقتی برنامه شما میتواند error داشته باشد پس حتما یک استانداردی در کار هست و باید ازش پیروی کردد همانطوری که make یا masm انجام میدهد و در نهایت به دست link می سپارد.

hoax3r
پنج شنبه 29 مرداد 1388, 00:27 صبح
نه اینطوری نیست شما هر جایی که دیدید وقتی برنامه شما میتواند error داشته باشد پس حتما یک استانداردی در کار هست و باید ازش پیروی کردد همانطوری که make یا masm انجام میدهد و در نهایت به دست link می سپارد.

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

tdkhakpur
پنج شنبه 29 مرداد 1388, 13:37 عصر
البته من منظورم سینتکس زبان بود که هر اسمبلری برای خودش یه سینتکس متفاوت داره
وگرنه دستورات که بستگی به پردازده و ساختمنش داره و در این صورت استاندارد معنا ندراه
که اگه فقط دستورات رو در نظر بگیریم بله حرف شما درسته
چرا داخل پردازنده هم به این شکله ببینید شما برای پردازنده 8086 یک آپکد دارید و این برای پردازنده های دیگر هم صدق میکند حالا شما اگر حتی یک بیت از این آپ کد را جابجا کنید یا از استاندارد خارج میشوید یا اینکه باعث ایجاد یک دستور خاص که مخصوص به اون پردازنده هست شده اید. به طور مثال برای دادن دستور mov شما به فرض 10110011 را به پردازنده فرستادید و منظورتان اجرای دستور mov هست آیا میتوانید این دستور را بصورت 4 بیتی یا 6 بیتی بفرستید خوب خودتان هم باید بدانید که هر پردازنده هم داخل خودش یک چک کننده بصورت ترانزیستور و شمارنده دارد که این بیتها را شمرده و از صحت و تعداد آن اطمینان پیدا میکند.

hoax3r
پنج شنبه 29 مرداد 1388, 15:24 عصر
چرا داخل پردازنده هم به این شکله ببینید شما برای پردازنده 8086 یک آپکد دارید و این برای پردازنده های دیگر هم صدق میکند حالا شما اگر حتی یک بیت از این آپ کد را جابجا کنید یا از استاندارد خارج میشوید یا اینکه باعث ایجاد یک دستور خاص که مخصوص به اون پردازنده هست شده اید. به طور مثال برای دادن دستور mov شما به فرض 10110011 را به پردازنده فرستادید و منظورتان اجرای دستور mov هست آیا میتوانید این دستور را بصورت 4 بیتی یا 6 بیتی بفرستید خوب خودتان هم باید بدانید که هر پردازنده هم داخل خودش یک چک کننده بصورت ترانزیستور و شمارنده دارد که این بیتها را شمرده و از صحت و تعداد آن اطمینان پیدا میکند.

بله حق با شما بود، حواسم به این نکته نبود