دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱۵
  • اردیبهشت

جلسه ۱۱ : دستورالعمل های منطقی زبان اسمبلی (Assembly)

  • دسته‌بندی‌ها :
جلسه ۱۱ : دستورالعمل های منطقی زبان اسمبلی (Assembly)
    • جزئیات
    • نوع محتواآموزشی

      همراهان عزیز وب سایت آموزشی پی وی لرن وقتتون بخیر و شادی، با آموزش زبان برنامه نویسی اسمبلی (Assembly) در خدمتتون خواهیم بود. دستورالعمل های منطقی زبان اسمبلی (Assembly) را در این بخش از آموزش خواهیم داشت.

      دستورالعمل های منطقی زبان اسمبلی (Assembly)

      مجموعه دستورالعمل پردازشگر، دستورالعمل AND ، OR ، XOR ، TEST و NOT منطقی Boolean را ارائه می دهد ، که بیت ها را مطابق نیاز برنامه تست ، تنظیم می کند.

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

      ردیفدستورالعملفرمت
      ۱ANDAND operand1, operand2
      ۲OROR operand1, operand2
      ۳XORXOR operand1, operand2
      ۴TESTTEST operand1, operand2
      ۵NOTNOT operand1

      در همه موارد اولین عملوند می تواند در ثبات یا حافظه باشد. عملوند دوم می تواند در ثبات / حافظه یا مقدار فوری (ثابت) باشد. با این حال ، عملکرد memory-to-memory امکان پذیر نیست. این دستورالعمل ها بیت های عملوند را مقایسه یا مطابقت می دهند و فلگ های CF ، OF ، PF ، SF و ZF را تنظیم می کنند.

      دستورالعمل AND

      دستورالعمل AND برای پشتیبانی از عبارات منطقی با انجام عملکرد بیتی و AND استفاده می شود. اگر بیت های مچینگ از هر دو عملوند ۱ باشند ، عملکرد AND بیتی ۱ را برمی گرداند ، در غیر این صورت مقدار ۰ برمی گردد. به عنوان مثال:

      مثال : 

      از روش AND می توان برای صفر کردن یک یا چند بیت استفاده کرد. به عنوان مثال ، ثبات BL حاوی ۱۰۱۰ ۰۰۱۱ است. اگر لازم است بیت های مرتبه بالا را به صفر کنید، AND آن را با ۰FH قرار می دهید.

      مثال : 

      بیایید مثال دیگری بزنیم. اگر می خواهید بررسی کنید که آیا عدد مشخص شده زوج است و یا فرد. اگر این ۱ باشد ، عدد فرد است ، وگر نه عدد زوج است.

      با فرض این که عدد در ثبات AL است ، می توانیم بنویسیم:

      مثال : 

      برنامه زیر این را نشان می دهد.

      مثال

      مثال : 

      هنگامی که کد فوق کامپایل و اجرا شد ، نتیجه زیر را ایجاد می کند.

      مثال : 

      مقدار را در ثبات ax با یک رقم فرد تغییر دهید ، مانند:

      مثال : 

      برنامه نمایش خواهد داد:

      مثال : 

      به طور مشابه برای پاک کردن کل ثبات می توانید آن را با ۰۰H بگذارید.

      دستورالعمل OR

      دستورالعمل OR برای پشتیبانی از عبارات منطقی، با انجام عمل OR بیتی استفاده می شود. اگر بیت های مچینگ از هر یک یا هر دو عملوند یکی باشد ، عملگر OR بیتی ۱ را برمی گرداند. اگر هر دو بیت صفر باشد ۰ برمی گردد.

      مثلا،

      مثال : 

      از عملکرد OR می توان برای تنظیم یک یا چند بیت استفاده کرد. به عنوان مثال ، فرض كنید كه ثبات AL حاوی ۱۰۱۰ ۰۰۱۱ باشد ، شما باید چهار بیت مرتبه پایین را تنظیم كنید ، می توانید OR آن را با مقدار  ۱۱۱۱ ۰۰۰۰ ، یعنی FH تنظیم كنید.

      مثال : 

      مثال

      مثال زیر دستورالعمل OR را نشان می دهد. بگذارید مقدار ۵ و ۳ را به ترتیب در ثبات های AL و BL ذخیره کنیم ، سپس دستورالعمل ،

      مثال : 

      باید ۷ را در ثبات AL ذخیره کنید.

      مثال : 

      هنگامی که کد فوق کامپایل و اجرا شد ، نتیجه زیر را ایجاد می کند.

      مثال : 

      دستورالعمل XOR

      دستورالعمل XOR عملیات XOR بیتی را اجرا می کند. عملیات XOR مقدار بیت حاصل را به ۱ تنظیم می کند ، اگر و فقط اگر بیت های مربوط به عملوند متفاوت باشند. اگر بیت های مربوط به عملوندها یکسان باشند (هر دو ۰ یا هر دو ۱) ، بیت حاصل ۰ می شود.

      مثلا،

      مثال : 

      XOR کردن یک عملوند به خودی خود عملوند را به ۰ تغییر می دهد. این برای پاک کردن یک رجیستر استفاده می شود.

      مثال : 

      دستورالعمل TEST

      دستورالعمل TEST همانند عملیات AND کار می کند ، اما برخلاف دستورالعمل AND ، اولین عملکرد را تغییر نمی دهد. بنابراین ، اگر باید بررسی کنیم که یک عدد در یک رجیستری فرد و یا زوج است ، می توانیم این کار را با استفاده از دستورالعمل TEST بدون تغییر عدد اصلی انجام دهیم.

      مثال : 

      دستورالعمل NOT

      دستورالعمل NOT عملیات NOT بيتي را انجام مي دهد. عملیات NOT ، بیت ها را در یک عملوند معکوس می کند. این عملوند می تواند در یک رجیستر یا در حافظه باشد.

      مثلا،

      مثال : 

      مبحث بررسی دستورالعمل های منطقی زبان اسمبلی (Assembly) را در این جا به پایان می رسانیم.

      کلام پایانی

      دستورالعمل های منطقی زبان اسمبلی (Assembly) را با بررسی دستورالعمل های مختلف مورد بررسی قرار دادیم. در بخش بعدی به بررسی Condition ها می پردازیم. با  آموزش زبان اسمبلی (Assembly) همراه باشید.

      QR:  جلسه ۱۱ : دستورالعمل های منطقی زبان اسمبلی (Assembly)
      به اشتراک بگذارید