قواعد نحوی در زبان اسمبلی – آموزش Assembly

  • شنبه ۱۵ دی ۱۳۹۷
  • بازدید ۶۵۴ نفر

assembly basic syntax 4590 تصویر

قواعد نحوی در زبان اسمبلی

یک برنامه اسمبلی را می توان به سه بخش تقسیم کرد:

  • بخش data
  • بخش bss
  • بخش text

بخش data

بخش data به منظور اعلان داده های اولیه و یا ثوابت استفاده می شود. این داده ها در زمان اجرای برنامه تغییر نمی کنند. شما می تواند مقادیر ثابت، نام فایل، اندازه بافر و غیره را در این بخش اعلان کنید.

سینتکس مربوط به اعلان این بخش به صورت زیر است:

بخش bss

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

بخش text

بخش text به منظور نگه داری کد واقعی برنامه استفاده می شود. این بخش باید با اعلان سراسری _start شروع شود. اعلان _start به هسته می گوید که برنامه باید از این نقظه شروع شود. سینتکس مربوط به اعلان این بخش به صورت زیر است:

کامنت

در زبان اسمبلی برای نوشتن کامنت ها از ; استفاده می شود. هر کامنت می تواند شامل تمامی کاراکترهای قابل چاپ باشد. کامنت ها ممکن است در یک خط نوشته شوند، مانند نمونه زیر:

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

برنامه هایی که با زبان اسمبلی نوشته می شوند شامل سه نوع دستور هستند:

  • دستورالعمل های اجرایی
  • دستورالعمل های اسمبلر
  • ماکروها

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

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

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

بخش هایی که داخل براکت قرار گرفته اند، اختیاری می باشند. یک دستورالعمل ابتدایی دارای دو بخش است، یکی نام دستور (mnemonic) که باید اجرا شود و دیگری عملوندهای (operands) دستور می باشد.

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

برنامه Hello World در اسمبلی

کد اسمبلی زیر عبارت “Hello World” را در صفحه نمایش چاپ می کند:

امتحان کنید

زمانی که کد بالا توسط کامپایلر اسمبلی و اجرا شود، نتیجه زیر را تولید خواهد کرد:

کامپایل و لینک کردن یک برنامه اسمبلی در NASM

مطمئن شوید که مسیر NASM و Id در متغیر محیطی PATH تنظیم شده است. سپس مراحل زیر را برای کامپایل و لینک کردن برنامه فوق دنبال کنید:

  • کد بالا را با استفاده از یک ویرایشگر متن تایپ کنید و آن را با نام asm ذخیره کنید.
  • به پوشه ای که فایل فوق را ذخیره کرده اید بروید.
  • برای مونتاژ کردن فایل فوق دستور nasm -f elf hello.asm را تایپ کنید.
  • اگر خطایی رخ داده باشد در این مرحله به شما گفته می شود. در غیر این صورت یک فایل object با نام o ساخته می شود.
  • برای لینک کردن و ایجاد یک فایل اجرایی دستور ld -m elf_i386 -s -o hello hello.o را تایپ کنید.
  • برنامه را با تایپ کردن ./hello اجرا کنید.

اگر همه مراحل به درستی انجام شود، پیام Hello World را مشاهده خواهید کرد.

ثبت نظر
ریفریش کنید!
نظرات کاربران (۰ مورد)

هیچ نظری ثبت نشده است