ثبات کنترلی Register Control
ثبات اشــاره گر دستورالعمل 32 بیتی و ثبات flag 32 بیتی در کنار هم به عنوان
ثبات کنترلی در نظر گرفته میشن
بسیاری از دستورها مقایسه و محاسبات ریاضی و تغییر وضعیت flag
ها و برخی دیگر از دستورالعمل های شرطی مقدار این flag ها را برای انتقال جریان
به بقیه مکان ها بررسی میکند
میخایم در مورد فلگ ها حرف بزنیم خب اصن فلگ چیه ؟
برای کنترل جریان اجرای برنامه استفاده میشه این مقادیر در حقیقت نشون دهنده ی وضعیت خاصی که برنامه به ما میگه که چه کاری باید انجام بدیم
میخایم چند تا فلگ مهم رو نام ببریم و این که بگیم کارایی شون چیه
Overflow flag
نشان دهنده ی یک بیت پر ارزش سر ریز چپ ترین بیت از داده ها بعد از یک عملیات محاسباتی هست
Direction flag
جهت چپ یا راســت را برای حرکت یا مقایسه داده های رشته تعیین میکنه وقتی مقدار DF 0 باشد عملیات رشته ای از چپ به راست
و وقتی مقدار 1 باشه عملیات رشته ها از راست به چپ انجام میشه
Interupt flag
تعییــن میکند کــه آیا وقفه های خارج از برنامه مثل ورودی صفحه کلید رو باید نادیده گرفت یا پردازش کرد وقتی مقدار 0 باشه وقفه خارجــی را غیرفعال میکنه و اگر روی 1 تنظیم باشه وقفه خارجی را فعال میکنه
Flag Trap
این امکان را میده که عملکرد پردازنده را به حالت پلکانی تنظیم کنیم و برای debug کردن برنامه ها استفاده میشه
Sign flag
این علامت توسط چپ ترین بیت نشان داده میشه اگر SF صفر باشه نتیجه مثبت
است و اگر یک باشد نتیجه منفیه
Zero flag
نشــان دهنده نتیجه یک عملیات ریاضی است در نتیجه غیر صفر flag با صفر تنظیم میشه و نتیجه اگر صفر شد 1 میشه
Auxiliary flag
انتقال بیت 3 به 4 است وقتی
تنظیم میشه که در یک عملیات حسابی 1 بایت باعث انتقال از بیت 3 به بیت 4 شه
Partiy flag
به تعداد کل 1 های موجود در نتیجه ی به دســت اومده از یک عملیات محاســباتی تنظیم میشه در صورتی که تعداد زوج بشه صفر اگر تعداد فرد باشه یک
Cary flag
مقدار نقلی از بیت پر ارزش تر (چپ ترین بیت) هست
#flag
#flags
#registercontrol
ثبات اشــاره گر دستورالعمل 32 بیتی و ثبات flag 32 بیتی در کنار هم به عنوان
ثبات کنترلی در نظر گرفته میشن
بسیاری از دستورها مقایسه و محاسبات ریاضی و تغییر وضعیت flag
ها و برخی دیگر از دستورالعمل های شرطی مقدار این flag ها را برای انتقال جریان
به بقیه مکان ها بررسی میکند
میخایم در مورد فلگ ها حرف بزنیم خب اصن فلگ چیه ؟
برای کنترل جریان اجرای برنامه استفاده میشه این مقادیر در حقیقت نشون دهنده ی وضعیت خاصی که برنامه به ما میگه که چه کاری باید انجام بدیم
میخایم چند تا فلگ مهم رو نام ببریم و این که بگیم کارایی شون چیه
Overflow flag
نشان دهنده ی یک بیت پر ارزش سر ریز چپ ترین بیت از داده ها بعد از یک عملیات محاسباتی هست
Direction flag
جهت چپ یا راســت را برای حرکت یا مقایسه داده های رشته تعیین میکنه وقتی مقدار DF 0 باشد عملیات رشته ای از چپ به راست
و وقتی مقدار 1 باشه عملیات رشته ها از راست به چپ انجام میشه
Interupt flag
تعییــن میکند کــه آیا وقفه های خارج از برنامه مثل ورودی صفحه کلید رو باید نادیده گرفت یا پردازش کرد وقتی مقدار 0 باشه وقفه خارجــی را غیرفعال میکنه و اگر روی 1 تنظیم باشه وقفه خارجی را فعال میکنه
Flag Trap
این امکان را میده که عملکرد پردازنده را به حالت پلکانی تنظیم کنیم و برای debug کردن برنامه ها استفاده میشه
Sign flag
این علامت توسط چپ ترین بیت نشان داده میشه اگر SF صفر باشه نتیجه مثبت
است و اگر یک باشد نتیجه منفیه
Zero flag
نشــان دهنده نتیجه یک عملیات ریاضی است در نتیجه غیر صفر flag با صفر تنظیم میشه و نتیجه اگر صفر شد 1 میشه
Auxiliary flag
انتقال بیت 3 به 4 است وقتی
تنظیم میشه که در یک عملیات حسابی 1 بایت باعث انتقال از بیت 3 به بیت 4 شه
Partiy flag
به تعداد کل 1 های موجود در نتیجه ی به دســت اومده از یک عملیات محاســباتی تنظیم میشه در صورتی که تعداد زوج بشه صفر اگر تعداد فرد باشه یک
Cary flag
مقدار نقلی از بیت پر ارزش تر (چپ ترین بیت) هست
#flag
#flags
#registercontrol
👍5