با عرض سلام و خسته نباشید و ....
موضوع این پست: ریجیسترها،انواع ریجیسترها،ثبات های سگمنت، ثبات های اشاره گر، ثبات های ایندکس.
ریجسترها: ریجیسترها حافظه ی کوچک و محدود در CPUمی باشدکه مستقیما با واحدهای ALU و CU در ارتباط است. خاصیت ویژه ریجیسترها سرعت بالا همچنین قابلیت آدرس دهی با نام است بدلیل آنکه دستیابی به ریجیسترها برای CPU سریعتر از انواع حافظه دیگر می باشد دستوراتی که فقط از ریجیسترها استفاده میکنند بسیار سریعتر از دستوراتی اجرا می شوند که عملوندهای آن قرار است از حافظه منتقل شوند.
ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ــــــــــــــــــــــــ
ریجیسترهای عمومیAX,BX,CX,DX
ریجسترهای سگمنت CS,DS,SS,ES
ریجسترهای ایندکس SP,BP,SI,DI
ریجیسترهای وضعیت کنترلیFR,IP
ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ــــــــــــــــــ
رجیسترهای عمومی عبارتند از:
AX,BX,CX,DX که همگی 16 بیتی هستند و برای اعمال محاسباتی و اعمال همه منظوره استفاده می شود.هر یک از این ریجیسترها قابلیت دسترسی به 8 بیت را دارند. یعنی میتوان داده ها را روی 8 بیت کم ارزش مانند AL,BL,CL,DL 8 بیت پر ارزش مانند AH,BH,CH,DH نوشت.
ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ــــــــــــــــــ
AX: این ثبات برای اعمال ورودی خروجی زیاد استفاده می شود.
BX: از این ثبات بعنوان اندیس جهت توسعه آدرس استفاده می شود. ضمن اینکه در محاسبات کاربرد دارد.
CX: از این ثبات علاوه بر کاربرد در محاسبات می توان جهت تعداد دفعات تکرار حلقه استفاده کرد.
DX: این ثبات برای اعمال ورودی خروجی زیاد همجنین ضرب و تقسیم بزرگ استفاده می شود.
ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ــــــــــــــــــ
ثبات های سگمنت عبارتند از CS,DS,SS,ES : که هر کدام 16 بیتی بوده و آدرس شروع هر سگمنت متناظر را نگهداری می کند.
ریجسترهای ایندکس SP,BP,SI,DI : که حاوی آفست داده و دستور عملها هستند.
ریجیسترهای وضعیت کنترلی: FR,IP
FR: یا ثبات پرچم این ثبات جهت نمایش وضعیت پردازنده مرکزی در اثر اجرای دستور عمل محسباتی انجام می شود. و فقط 9 بیت از 16 بیت ستفاده می شود.
ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ــــــــــــــــــ
CF محتوی رقم نقلی بوجود آمده از باارزش ترين بيت در عمليات محاسباتی يا چرخش
PF برای کنترل صحت انتقال داده. اگر صفر باشد تعداد بيتهای انتقالی فرد است و اگر يک باشد زوج است
AF محتوی رقم نقلی از بيت سوم به چهارم در يک بايت است. در عمليات BCD کاربرد دارد
ZF اگر نتيجه عمليات محاسباتی صفر باشد اين بيت 1 است در غير اينصورت صفر است
SF در صورت منفی بودن نتيجه عمليات اين بيت 1 است در غير اينصورت صفز است
TF برای اجرای دستورالعمل به صورت دستور به دستور اين بيت بايد 1 باشد
IF اگر 1 باشد وقفه فعال است و اگر صفر باشد وقفه غير فعال است يعنی سيستم وقوع وقفه را ناديده می گيرد
DF اگر 1 باشد عمل مقايسه يا انتقال داده از سمت راست به چپ صورت می گيرد در غير اينصورت از چپ به راست
OF اگر در باارزش ترين بيت سرريزی وجود داشته باشد اين بيت يک می شود. (توضيحات بيشتر در محاسبات مکمل 2 داده شده است)
ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ــــــــــــــــــــــــ
IP: این ثبات حاوی آفست و دستور اجرایی بعدی در سگمنت کد می باشد.
سگمنت
تعریف اول: برای آدرس دهی به هر يک از اين سگمنت های برنامه يک ثبات وجود دارد که مشخص می کند کدام بخش حافظه برای قسمت های مختلف برنامه به کار رفته است.
تعریف دوم: ناحیه ای از حافظه است که از مرز پاراگراف شروع می شود یعنی آدرس شروع آن بر 16 قابل تقسیم است و اندازه هر سگمنت حداکثر 64 کیلو بایت می باشد. بطور کل هم چهار سگمنت وحود دارد.
ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ــــــــــــــــــ
CS شامل آدرس شروع سگمنت کد، که به CPU می فهماند دستورالعمل های برنامه در کجا قرار دارند
DS شامل آدرس شروع سگمنت داده که به پردازنده می فهماند داده ها و فضای کاری در کجا قرار دارد
SS آدرس شروع سگمنت پشته را در خود ذخيره می کند
ES آدرس شروع سگمنت اضافی، سگمنت داده دوم
ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ــــــــــــــــــ
ثبات های اشاره گر
ثبات های اشاره گر نگهدارنده بخش آفست در آدرس دهی هستند و همراه با يکی از ثبات های سگمنت به محلی از حافظه اشاره دارند. طبق پيش فرض ثبات های همه منظوره و ايندکس همراه با DS و ثبات های پشته همراه با SS و IP همراه با CS استفاده می شوند.
IP همراه با ثبات CS به دستورالعمل بعدی که بايد توسط CPU اجرا شود اشاره می کند.
SP آفست مکانی از سگمنت پشته که عمل قرار گرفتن داده در پشته صورت می گيرد. به عبارت ديگرSS:SP به بالای پشته اشاره دارد.
BP برای دسترسی به متغيرهای محلی که در پشته قرار دارند استفاده می شود.
ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ــــــــــــــــــ
ثبات های ايندکس
دو ثبات 16 بيتی ايندکس وجود دارد که اغلب به عنوان اشاره گر به همراه DS به کار می روند تا به داده های موجود در سگمنت داده دسترسی شود. اما می توانند به همان منظورهای ديگر، مانند ثبات های همه منظوره، هم استفاده شود؛ گرچه نمی توانند به دو بخش 8 بيتی تجزيه شوند.
SI برای آدرس دهی و در عمليات رشته ای بعنوان مبدا استفاه می شود
DI برای آدرس دهی و در عمليات رشته ای بعنوان مقصد استفاه می شود
نظرات خودتون رو برای من پیام خصوصی کنید/