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



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

جلسه ۱۴ : اعداد در زبان اسمبلی (Assembly)

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

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

      اعداد در زبان اسمبلی (Assembly)

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

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

      مثال : 

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

      مثال : 

      با این وجود ، این تبدیل ها دارای سربار هستند و برنامه نویسی زبان اسمبلی اجازه می دهد تا اعداد را به شیوه ای کارآمدتر ، به شکل دودویی پردازش کنید. اعداد دهدهی را می توان به دو شکل نشان داد.

      • فرم ASCII
      • فرم دهی BCD یا Binary Coded Decimal

      نمایش ASCII

      در نمایش ASCII ، اعداد دهدهی به عنوان رشته ای از کاراکترهای ASCII ذخیره می شوند. به عنوان مثال ، مقدار دهدهی ۱۲۳۴ به صورت زیر ذخیره می شود.

      مثال : 

      که ۳۱H مقدار ASCII برای ۱ است ، ۳۲H مقدار ASCII برای ۲ است و غیره. چهار دستورالعمل برای پردازش اعداد در نمایش ASCII وجود دارد.

      • AAA − ASCII Adjust After Addition
      • AAS − ASCII Adjust After Subtraction
      • AAM − ASCII Adjust After Multiplication
      • AAD − ASCII Adjust Before Division

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

      مثال : 

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

      مثال : 

      نمایش BCD

      دو نوع نمایش BCD وجود دارد.

      • نمایش BCD بسته‌ بندی نشده (Unpacked BCD)
      • نمایش BCD بسته‌ بندی شده (packed BCD)

      در نمایش BCD بسته بندی نشده ، هر بایت معادل دودویی یک رقم دسیمال را ذخیره می کند. به عنوان مثال ، اعداد ۱۲۳۴ به صورت زیر ذخیره می شود.

      مثال : 

      برای پردازش این اعداد دو دستورالعمل وجود دارد.

      • AAM − ASCII Adjust After Multiplication
      • AAD − ASCII Adjust Before Division

      چهار دستورالعمل تنظیم اسکی ، AAA ، AAS ، AAM و AAD نیز با نمایش BCD بسته‌ بندی نشده (Unpacked BCD) قابل استفاده هستند. در نمایش BCD بسته بندی شده ، هر رقم با استفاده از چهار بیت ذخیره می شود. دو رقم دهدهی در یک بایت بسته بندی می شوند. به عنوان مثال ، اعداد ۱۲۳۴ به صورت زیر ذخیره می شود.

      مثال : 

      برای پردازش این اعداد دو دستورالعمل وجود دارد.

      • DAA − Decimal Adjust After Addition
      • DAS − decimal Adjust After Subtraction

      در نمایش BCD بسته بندی شده هیچ پشتیبانی برای ضرب و تقسیم وجود ندارد.

      مثال

      در مثال زیر از مفاهیم فوق استفاده شده است.

      مثال : 

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

      مثال : 

      کلام پایانی

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

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