قالب دستورات در زبان اسمبلی Assembly

  • جمعه ۲۰ آذر ۱۳۹۴
  • بازدید 1,842 نفر
  • 1 امتیاز2 امتیاز3 امتیاز4 امتیاز5 امتیاز (17 امتیاز از 4 رای)
    Loading...

format statement assembly 12532 تصویر

قالب دستورات در زبان اسمبلی Assembly

در این بخش از آموزش زبان اسمبلی برای شما کاربران عزیز آموزش قالب دستورات در زبان اسمبلی Assembly را  آماده کرده ایم که می توانید در ادامه آن را مشاهده کنید.

هر برنامه در اسمبلی شامل مجموعه ای از دستورات است که بعضی از این دستورات اجرایی هستند و به زبان ماشین ترجمه می شوند و بعضی دیگر راهنمای اسمبلر هستند مانند تعریف داده و غیره.

در حالت کلی قالب دستورات در زبان اسمبلی به شکل زیر است.

توضیحات     عملوند    دستورالعمل     شناسه

در حالت کلی دستورات،عملوندها،شناسه ها و توضیحات در داخل کروشه قرار دارند و به معنای اختیاری بودن است. دستورات در زبان اسمبلی ممکن است فاقد شناسه، عملوند و توضیحات باشند.

توضیحات بیشتر قالب دستورات در زبان اسمبلی Assembly را در ادامه مطلب می توانید مشاهده کنید.

شناسه ها در زبان اسمبلی:

از عناصر زبان برنامه نویسی اسمبلی است مثل نام زیربرنامه یا نام برنامه، برچسب و یا عملوندها و باید دارای نامی باشد و برای نام گذاری آن از حروف A تا Z و a تا z – ارقام ۰ تا ۹ و کاراکترهای مانند ؟، -، $، .، @ استفاده می شود و حداکثر طول آن ۳۱ کاراکتر می تواند باشد.

شناسه در زبان اسمبلی می تواند آدرس داده، دستورالعمل، زیر برنامه و یا سگمنت باشد. وجود شناسه ها در برنامه باعث می شود تا برنامه نویس به راحتی به آن دسترسی داشته باشد.

دستورالعمل های در زبان اسمبلی به کامپیوتر می گوید که باید چه کاری را انجام دهد و به دو دسته تقسیم می شود.

  • دستوراتی که به کد زبان ماشین ترجمه می شوند.
  • دستوراتی که راهنمای اسمبلر هستند و به اسمبلر می گوید که باید چه کاری را انجام دهد.

قالب برنامه در زبان اسمبلی به شکل زیر می باشد.

تعریف سگمنت پشته

تعریف سگمنت داده

نام سگمنت کد segment

نام زیربرنامه proc far

نام زیربرنامه endp

نام سگمنت کد ends

End نام زیربرنامه

نحوه تعریف سگمنت ها در زبان اسمبلی:

هر برنامه ممکن است دارای چند سگمنت باشد از جمله سگمنت پشته، سگمنت داده، سگمنت کد و سگمنت اضافی. برای تعریف سگمنت از کلمه Segment به شکل زیر استفاده می کنیم .

نام سگمنت    segment     پارامترها

نام سگمنت     ends

در قالب بالا نام سگمنت اختیاری است و از باید قوانین تعریف شناسه را رعایت کنید و بعد از آن کلمه کلیدی segment را قرار می دهید و در آخر پارامترهای سگمنت را مشخص می کنید. در قالب بالا به جای علامت سه نقطه کدهای مربوط به سگمنت را می نویسید و در آخر با آوردن نام سگمنت و کلمه Ends سگمنت را می بندید.

پارامترهای که در دستور Segment می توانید قرار بدهید عبارتند از پارامتر تنظیم، پارامتر ترکیب و پارامتر کلاس.

پارامتر تنظیم: این پارامتر مرز شروع شدن سگمنت را مشخص می کند و می تواند یکی از مقادیر زیر را به خود بگیرد.

BYTE: آدرس سگمنت از هر نقطه ای از حافظه می تواند شروع شود.

WORD: سگمنت از نقطه ای که آدرس حافظه آن زوج باشد می تواند شروع شود.

PARA: آدرس سگمنت از مرز پاراگراف می تواند شروع شود.

PAGE: سگمنت از آدرسی که بر ۲۵۶ قابل قسمت باشد می تواند شروع شود.

پارامترهای ترکیب: از پارامتر مشخص می کند که آیا سگمنت با سگمنت های دیگر پس از ترجمه ترکیب شود یا خیر و مقادیر زیر را می تواند به خود بگیرد.

NONE: سگمنت به صورت منطقی از سایر سگمنت ها جدا در نظر گرفته می شود ولی ممکن است از نظر فیزیکی در کنار یکدیگر قرار گرفته باشند.

PUBLIC: برنامه پیوند دهنده سگمنت های عمومی با نام و کلاس یکسان را در کنار هم قرار میدهد.

STACK: برنامه ای که عمل پیوند را انجام می دهد پشته را عمومی در نظر می گیرد.

COMMON: برنامه ای که عمل پیوند را انجام می دهد سگمنت های با نام و کلاس یکسان آدرس یکسانی را می دهد.

AT: اگر آدرس پاراگراف با AT تعریف شود در این حالت برچسب ها و متغیر ها در آفست ثابتی از ناحیه حافظه می توان تعریف کرد.

نحوه تعریف رویه یا زیربرنامه در زبان اسمبلی:

هر برنامه به زبان اسمبلی حداقل باید یک رویه یا زیربرنامه داشته باشد و آن در سگمنت کد تعریف می شود. برای تعریف زیربرنامه از دستور Proc استفاده می کنیم در شکل زیر قالب تعریف یه زیربرنامه در زبان اسمبلی را مشاهده می کنید.

نام زیربرنامه   Proc   far

نام زیربرنامه   endp

در تعریف بالا زیربرنامه اصلی با کلمه far به معنای دسترسی از راه دور به این زیربرنامه مشخص می شود.

تعیین اهداف هر سگمنت با دستور assume:

بعد از اینکه سگمنت های برنامه را مشخص کردید باید هدف هر یک از سگمنت ها را در برنامه مشخص کنید که این کار با دستور assume در قسمت زیر رنامه اصلی مشخص می شود.

قالب کلی در assume در اسمبلی:

assume    cs:سگمنت کد, ds:سگمنت داده, ss:سگمنت پشته, es:سگمنت اضافی

خروجی ۱:

format statement assembly 12532 1 تصویر


مشاهده ویدئو در این باره

خوشحال خواهیم شد اگر نظر خودتون رو درباره این مطلب ثبت کنید

خطا!دکمه ریفریش را بزنید
  1. تصویر آواتار کاربر 0
    ساناز رستگار جمعه , 25 تیر

    سلام من یه برنامه دارم که باید به زبان اسمبلی نوشته بشه شما می تونید این کار رو انجام بدین ؟

  2. تصویر آواتار کاربر 0
    وحید شنبه , 31 تیر

    سلام . عالی بود . با قدرت به امر احیای زبان اسمبلی ادامه دهید . موفق باشید

  3. تصویر آواتار کاربر 0
    ALI جمعه , 31 فروردین

    خیلی ممنون واقعا عالی بود خدا خیرتون بده

  4. تصویر آواتار کاربر 0
    حسین جمعه , 20 دی

    فیلم بی صدا هیچ بدرد نمی خورد.

لیســــــــت پــــــــروژه های انتشــــــــار نشده ( 22 موضوع )

مشاهده لیست کامل
مشاهده لیست کامل
مشاهده لیست کامل
مشاهده لیست کامل
socket programing آموزش برنامه نویسی آموزش سی شارپ اینترنت اشیا بازی تحت شبکه بازی تحت شبکه به زبان سی شارپ برنامه تحت شبکه با سی شارپ برنامه نویسی ترجمه مقاله ترجمه مقاله شبکه دانلود رایگان پروژه های دانشجویی دانلود سورس برنامه دانلود سورس رایگان دانلود نرم افزار دانلود پروژه دانشجویی دانلود پروژه رایگان دانلود پروژه های دانشجویی دانلود کتاب دانلود کتاب آموزشی دانلود کتاب اموزشی سورس رایگان سورس کد بازی تحت شبکه سورس کد بازی تحت شبکه با C# سورس کد بازی تحت شبکه چند نفره سوکت پروگرمین شبکه SDN شبیه سازی با نرم افزار R نحوه نوشتن برنامه تحت شبکه نرم افزار Rstudio پروژه arena پروژه matlab پروژه ns2 پروژه opnet پروژه ارنا پروژه سیمولینک matlab پروژه شبکه عصبی پروژه مهندسی صنایع پروژه مهندسی صنایع با ارنا پروژه های آماده با OpenGL پروژه های آماده با OpenGL در سی پلاس پلاس پروژه های آماده با ارنا پروژه های آماده برای درس گرافیک کامپیوتری پروژه هوش مصنوعی پروژه پردازش تصویر matlab پروژه پردازش سیگنال matlab