همراهان عزیز وب سایت آموزشی پی وی لرن وقتتون بخیر و شادی، با آموزش زبان برنامه نویسی اسمبلی (Assembly) در خدمتتون خواهیم بود. ثبات ها در زبان اسمبلی (Assembly) را در دو جلسه مورد بررسی قرار خواهیم داد. در بخش اول به مواردی چون ثبات پردازنده، ثبات داده (Data Registers)، ثبات های اشاره گر (Pointer Registers) و ثبات ایندکس (Index Register) می پردازیم.
عملیات انجام شده توسط پردازنده بیشتر شامل پردازش داده ها است. این داده ها می توانند در حافظه ذخیره شوند و از آن جا بتوان به آن ها دسترسی پیدا کرد. با این حال ، خواندن داده و ذخیره داده ها در حافظه ، پردازنده را کند می کند ، زیرا این امر شامل فرآیندهای پیچیده ای برای ارسال درخواست داده از طریق باس کنترل و به واحد ذخیره سازی حافظه و گرفتن اطلاعات از طریق همان کانال است.
برای سرعت بخشیدن به عملیات پردازنده ، پردازنده شامل برخی از مکان های ذخیره سازی داخلی به نام ثبات یا رجیستر می باشد.
رجیسترها عناصر داده را برای پردازش بدون نیاز به دسترسی به حافظه اصلی، ذخیره می کنند. تعداد ثبات ها در تراشه پردازنده محدود است.
ده معماری ۳۲ بیتی و شش پردازنده ۱۶ بیتی در معماری IA-32 وجود دارد. ثبات ها به سه دسته دسته بندی می شوند.
ثبات های عمومی به گروه های زیر تقسیم می شوند.
چهار رجیستر داده ۳۲ بیتی برای عملیات محاسباتی، منطقی و سایر موارد استفاده می شود. این رجیسترهای ۳۲ بیتی به سه روش قابل استفاده هستند.
بخش کم ارزش و پر ارزش از چهار ثبات ۱۶ بیتی فوق الذکر می تواند به عنوان هشت ثبات داده ۸ بیتی استفاده شود: AH ، AL ، BH ، BL ، CH ، CL ، DH و DL.
برخی از این رجیسترها در عملیات محاسباتی کاربرد خاصی دارند.
ثبات AX انباشتگر اصلی (primary accumulator) است. از آن در ورودی / خروجی و بیش تر دستورالعمل های محاسباتی استفاده می شود. به عنوان مثال ، در عملیات ضرب ، یک عملوند با استفاده از رجیستر EAX یا AX یا AL با توجه به اندازه عملوند ذخیره می شود.
ثبات BX به عنوان ثبات پایه (Base Register) شناخته می شود ، زیرا می تواند در آدرس دهی های فهرستی استفاده شود.
ثبات CX به عنوانثبات شمارنده (Count Register) شناخته می شود ، زیرا ثبات های ECX ، CX تعداد تکرار حلقه ها را در عملیات های تکراری ذخیره می کنند.
ثبات DX به عنوان ثبات داده (Data Register) شناخته می شود. در عملیات ورودی / خروجی استفاده می شود. همچنین با استفاده از ثبات AX به همراه DX برای عملیات ضرب و تقسیم مقادیر بزرگ استفاده می شود.
رجیسترهای اشاره گر شامل ثبات های ۳۲ بیتی EIP ، ESP و EBP و ۱۶ بیتی SP، IP و BP می باشند. سه دسته از اشاره گرها وجود دارد.
ثبات ایندکس ۳۲ بیتی ، ESI و EDI و بخش های راست ۱۶ بیتی SI و DI برای آدرس دهی ایندکس شده استفاده می شود و بعضی اوقات در جمع و تفریق استفاده می شود. دو مجموعه ثبات ایندکس (Index Register) وجود دارد.
(Source Index (SI – از آن به عنوان شاخص مبدا برای عملیات روی رشته ها استفاده می شود.
(Destination Index (DI – از آن به عنوان شاخص مقصد برای عملیات روی رشته ها استفاده می شود.
ثبات ها در زبان اسمبلی (Assembly) را مورد بررسی قرار دادیم. در بخش اول به مواردی چون ثبات پردازنده، ثبات داده (Data Registers)، ثبات های اشاره گر (Pointer Registers) و ثبات ایندکس (Index Register) پرداختیم. در جلسه ی آینده نیز مبحث ثبات ها در زبان اسمبلی را ادامه خواهیم داد. با آموزش زبان اسمبلی (Assembly) همراه باشید.
mr01
حرف e در ثبات های ۳۲ بیتی به چه معنی هستش؟