انواع ثبات های CPU در زبان اسمبلی Assembly

  • پنجشنبه ۱۹ آذر ۱۳۹۴
  • بازدید ۷,۲۰۸ نفر

تصویر Type-Register-Assembly-12483 انواع ثبات های CPU در زبان اسمبلی Assembly

انواع ثبات های CPU در زبان اسمبلی Assembly

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

ثبات های پردازنده های 16 بیتی:

ثبات های CPU حافظه های 8، 16، 32 بیتی هستند که در پردازنده مرکزی قرار گرفته اند. برای افزایش سرعت حلقه های تکرار، عملیات محاسباتی و دستورات تصمیم گیری در داخل حلقه، از ثبات های CPU استفاده می کنیم. در کامپیوتر هر ثبات دارای اسمی است که بتوان از آن استفاده کرد. ثبات ها، به چند دسته تقسیم بندی می شوند که عبارتند از: ثبات های عمومی، ثبات های سگمنت، ثبات های اندیس، و وضعیت کنترلی. در پردازنده های 80386 و به بالاتر، ثبات هایی به نام های FS و GS وجود دارند که کاربردهای خاص خود را دارند.

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

ثبات های عمومی پردازنده 16 بیتی:

ثبات AX: این ثبات در عملیات ورودی – خروجی و محاسبات زیاد استفاده می شود. ثبات AX به دو بخش AL و AH تقسیم می شود که هر کدام 8 بیت فضا دارند.

ثبات BX: این ثبات به عنوان اندیس برای توسعه آدرس استفاده می شود و به ثبات پایه معروف است. این ثبات در محاسبات نیز به کار می رود. ثبات BX نیز به دو بخش BL و BH تقسیم می شود که هر کدام 8 بیت فضا دارند.

ثبات CX: به ثبات شمارنده معروف است، و برای کنترل حلقه تکرار مورد استفاده قرار می گیرد. در عملیات شیفت، می توان تعداد شیفت را در آن قرار داد. این ثبات در انجام محاسبات نیز استفاده می شود و به ثبات های CL و CH تقسیم شده است و هر کدام 8 بیت فضا دارند.

ثبات DX: هنگام سروکار با عملیات ضرب و تقسیم بزرگ از این ثبات استفاده می شود. این ثبات دربعضی از اعمال ورودی و خروجی نیز به کار می رود و به ثبات داده ها معروف است. ثبات DX نیز به دو ثبات DL و DH تقسیم می شود که هر کدام 8 بیت فضا دارند.

ثبات های سگمنت:

قبل از این که انواع سگمنت را نام ببریم بهتر است که مفهوم سگمنت (Segment) را بدانیم. سگمنت ناحیه ای از حافظه است که آدرس شروع آن بر 16 قابل قسمت است و از مرز پاراگراف شروع می شود. اندازه سگمنت می تواند تا 64 کیلو بایت باشد. هر برنامه اسمبلی چهار نوع سگمنت دارد که عبارتند از: سگمنت کد (Code Segment)، سگمنت داده (Data Segment)، سگمنت پشته (Stack Segment) و سگمنت اضافی (ٍExtra Segment).

سگمنت کد (Code Segment): در این بخش دستورات زبان ماشین قرار می گیرد.

سگمنت داده (Data Segment): در این بخش داده ها و ناحیه کاری قرار می گیرد.

سگمنت پشته (Stack Segment): در این بخش آدرس های بازگشت از زیربرنامه ها قرار می گیرد.

سگمنت اضافی (ٍExtra Segment): این سگمنت برای انجام عملیات بر روی رشته ها مورد استفاده قرار می گیرد.

ثبات های اندیس:

این نوع ثبات ها حاوی آفست داده ها و دستورالعمل ها در داخل سگمنت ها هستند. آفست فاصله متغیر، برچسب یا دستورالعمل از ابتدای سگمنت است. ثبات های اندیس در عملیات رشته ای، آرایه ها و بعضی ساختمان داده ها موجب افزایش سرعت می شود. ثبات های اندیس عبارتند از: BP، SP، SI، DI.

ثبات BP یا Base Pointer: شامل آفستی از ثبات پشته است و در فراخوانی زیر برنامه ها مورد استفاده قرار می گیرد.

ثبات SP یا Stack Pointer: این ثبات آفست بالای پشته را در خود نگه میدارد.

ثبات SI یا Source Index: در عملیات رشته ای آدرس رشته منبع را در خود نگه میدارد.

ثبات DI یا Destination Index: در عملیات رشته ای آدرس رشته مقصد را در خود نگه میدارد.

ثبات های وضعیتی و کنترلی:

ثبات IP یا Instruction Pointer: حاوی آفست دستور بعدی در سگمنت کد میباشد.

ثبات فلگ ها (Flags): این ثبات وضعیت CPU یا نتیجه عملیات محاسباتی را نگه میدارد و هر بیت نامی برای خود دارد و از 16 بیت فقط 9 بیت آن مورد استفاده قرار می گیرد که در زیر آمده است.

بیت C: این بیت را CF یا Carry نیز می نامند و همان رقم نقلی است و هنگام انجام عملیات محاسباتی یا شیفت اگر رقم نقلی اتفاق بیافتد آن را در خود نگه میدارد.

بیت D: این بیت را DF یا Direction نیز می نامند و به معنی جهت است و هنگام پردازش رشته ها اگر مقدار آن 1 باشد از سمت راست و اگر 0 باشد از سمت چپ عملیات را انجام میدهد.

بیت P: این بیت را PF یا Parity نیز می نامند و به معنی توازن است و برای کنترل صحت داده ها مورد استفاده قرار می گیرد.

بیت A: این بیت را AF یا Auxiliary Carry نیز می نامند و به معنی رقم نقلی کمکی است و هنگامی که در محاسبات 8 بیتی رقم نقلی در بیت سوم ایجاد شود این بیت مقدارش یک خواهد شد.

بیت Z: این بیت را ZF یا Zero نیز می نامند و به معنی صفر است و هنگامی که در محاسبات یا مقایسه ها حاصل برابر صفر باشد این بیت مقدارش یک خواهد شد.

بیت S: این بیت را SF یا Sign نیز می نامند و به معنی علامت است و هنگامی که در محاسبات نتیجه منفی باشد مقدارش یک و اگر نتیجه مثبت باشد مقدارش صفر خواهد بود.

بیت T: این بیت را TF یا Trap نیز می نامند و به معنی قدم به قدم است و هنگامی مقدارش یک باشد برنامه دستور به دستور اجرا خواهد شد.

بیت I: این بیت را IF یا Interrupt نیز می نامند و به معنی وقفه است و هنگامی که مقدارش یک باشد سیستم به وقفه پاسخ میدهد.

بیت O: این بیت را OF یا Overflow نیز می نامند و به معنی سرریز است و هنگامی که در محاسبات آخرین بیت به دلیل سرریز شدن از بین برود این بیت مقدارش یک خواهد شد.

تصویر 1:

تصویر Type-Register-Assembly-12483-2 انواع ثبات های CPU در زبان اسمبلی Assembly

در ادامه می توانید فیلمی از انواع ثبات های CPU در زبان اسمبلی Assembly را در محیط نرم افزار EMU8086 مشاهده کنید.

 

مطالب مرتبط
ثبت نظر
ریفریش کنید!
نظرات کاربران (۷ مورد)
  1. تصویر آواتار کاربر 0
    وحید شنبه , 31 تیر

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

  2. تصویر آواتار کاربر 0
    صمد اسمبیلیر چهارشنبه , 29 آذر

    بنده در مبحث انواع ثبات های CPU در زبان اسمبلی Assembly مشکل و حل هم نمی شد ولی از این مطلب مفید استفاده کردم و مشکلم حل شد

  3. تصویر آواتار کاربر 0
    دانیال جمعه , 21 اردیبهشت

    سلام ممنون بابت آموزش مفیدتون,فقط میخواستم ویدیو رو هم ببینم دیدم صدا نداره,میخواستم بپرسم مشکل از سمت منه یا خود ویدیو اشکال داره؟ ممنون

    • تصویر آواتار کاربر 0
      Mجمعه , 21 اردیبهشت

      سلام برای من هم صدا نداره این طور که معلومه فیلم بی صداست.

      • تصویر آواتار کاربر 2
        نوآوران گرمیجمعه , 21 اردیبهشت

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

  4. تصویر آواتار کاربر 0
    محمد شنبه , 10 آذر

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

  5. تصویر آواتار کاربر 0
    مهدی دوشنبه , 24 تیر

    دمت گرم خیلی ممنون از مطالب آموزشی شما