ParsX.com
پذیرش پروژه از دانشجویی ... تا سازمانی 09376225339
 
   ProfileProfile   Log in to check your private messagesLog in to check your private messages  |  FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups Log inLog in   RegisterRegister 

تعریف رجیسترها و علت استفاده از آن ها

 
Post new topic   Reply to topic    ParsX.com Forum Index -> C/C++ Programming
View previous topic :: View next topic  
Author Message
arash
مدير بخش سي
مدير بخش سي


Joined: 27 Nov 2004
Posts: 1232
Location: www.parsx.com

PostPosted: Fri Jan 20, 2006 11:11 pm    Post subject: تعریف رجیسترها و علت استفاده از آن ها Reply with quote

تعریف رجیستر :
رجیسترها خانه های پر سرعت حافظه هستند که کامپایلر برای قابل استفاده شدن برنامه از آن ها استفاده می کنند.
در صورت لزوم خود کاربر نیز می تواند برای سریع تر شدن کارها از آنها استفاده کند
چند نکته مهم که باید ذکر شود
از رجیسترها کمتر استفاده کنید چون زمانی که شما یک متغییر از نوع رجیستری تعریف می کنید یک خانه پر سرعت حافظه را از کامپایلر می گیرید
برای مثال متوانید شمارنده حلقه را ( در صورتی که از نوع char یا int باشد ) از نوع رجیستر تعریف کنید
فقط متغییر هایی از نوع char و یا int را می توان از نوع رجیستری تعریف کرد و دیگر متغییرها باید به صورت معمولی تعریف شوند
برای تعریف یک متغییر از نوع رجیستر کافیست کلمه register قبل از نام متغییر استفاده می کنیم
نکته Exclamation:
هر گاه در یک بلاک برنامه بیش از یک متغییر از نوع زجیستری تعریف کنید کامپایلر هر دو را از نوع متغییر های معمولی تعریف خواهد کرد
نکته Exclamation:
یک متغییر سراسری را نمی توان از نوع رجیستری تعریف کرد

برای مثال :

register int i;

for(i=1;i<100;i++)
printf("%d ",i);
Back to top
arash
مدير بخش سي
مدير بخش سي


Joined: 27 Nov 2004
Posts: 1232
Location: www.parsx.com

PostPosted: Fri Jan 20, 2006 11:12 pm    Post subject: Reply with quote

رجیسترها :
به خانه های پر سرعت حافظه رجیستر گفته می شود . لازم به ذکر می باشد که این نوع حافظه با حافظه سخت ( Hard disk ) متفاوت می باشد .
عملوندها :
آن دسته عواملی که رو آنها عملیات ریاضی صورت می گیرد .
عملگرها :
عملیاتی ریاضی است که رو عملوندهای انجام می شود .
مثال : کامپیوتری دارای یک ALU شامل 32 عملگر دو عملوندی و شامل 14 عمگر تک عملوندی و تعداد 64 رجیستر می باشد فرمت دستور العمل را برای موارد زیر بیابید :
الف ) دستور العملهای دو عملوندی ؟
ب ) دستور العملهای تک عملوندی مشخص نمایید ؟
ج ) کد زبان ماشینی بنویسید که عملگر شماره 20 را روی به ترتیب رجیستر شماره 0 و رجیستر شماره 63 تاثیر دهد ؟
د ) کد زبان ماشینی بنویسید که عملگر شماره 10 را روی تنها عملوند خود رجیستر شماره 3 اثر دهد ؟
الف )4Bit  14 دستور العمل تک عملوندی
ب )5Bit  32 دستور العمل دو عملوندی
6Bit  64 رجیستر
ج ) 1111111 00010100 00000000
د ) 00000001 00001010
Back to top
Display posts from previous:   
Post new topic   Reply to topic    ParsX.com Forum Index -> C/C++ Programming All times are GMT + 3.5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum