اطلاعیه

Collapse
No announcement yet.

نامگذاری خانه های رم متوالی در اسمبلر AVRSTUDIO ؟

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    نامگذاری خانه های رم متوالی در اسمبلر AVRSTUDIO ؟

    به طور کلی در محیط اسمبلر AVR STUDIO برای اختصاص دادن نام به خانه های حافظه RAM از .EQU استفاده میشه اما با این روش باید برای تک تک خانه ها یکبار این دستور نوشته بشه، با PIC که کار میکردم برای اختصاص دادن نام به خانه های متوالی از روش زیر استفاده میکردم:
    کد:
    	CBLOCK	0X00
    	D1		
    	D2
    	TUP
    	TDOWN
    	XTEMP
    	YTEMP
    	ENDC
    در این روش از خانه 0 به نام D1 نام میگرفت و خانه های بعدی به ترتیب نام های زیری بهشون اختصاص داده میشد، راهی هست که بتونم در AVRSTUDIO به این صورت یا مشابهش آدرس های رم رو سریع نامگذاری کنم؟ چندین بار لازمم شده تعداد خانه های زیادی رو نامگذاری کنم و یه مقدار زمانگیر هست که مرتب equ رو استفاده کنیم. اگر راهی میدونید لطفا راهنمایی کنید و بگید آیا مختص نسخه خاصی هست یا در نسخه های قدیمی هم جواب میده؟ چون فعلا به دلایل مشکلات ویندوزم نسخه 4.19 رو استفاده می کنم و نتونستم نسخه های جدید تر را نصب کنم.
    تشکر
    از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
    هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
    اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
    اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
    شاد و موفق باشید

    #2
    پاسخ : نامگذاری خانه های رم متوالی در اسمبلر AVRSTUDIO ؟

    یک روش تعیین ابتدای متغیرها و بعد تعیین تعداد بایت هایی است که به هر متغیر اختصاص داده می شود. به عنوان مثال:

    کد:
    .DSEG
    
    .ORG	0X60
    
    variable1:     	.BYTE 1
    variable2:     	.BYTE 1
    variable3:     	.BYTE 1
    ...
    اوژن: به معنای افکننده و شکست دهنده است
    دانایی، توانایی است-Knowledge is POWER
    برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
    وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
    قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
    اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
    ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

    دیدگاه


      #3
      پاسخ : نامگذاری خانه های رم متوالی در اسمبلر AVRSTUDIO ؟

      از پاسخ شما ممنونم اوژن خان
      خوب هدف از اون روش تعریف متغییر که قرار دادم این هست که اختصاص دادن نام متغییرها به فضاهای حافظه راحت تر و سریع تر باشد، روش دوم که شما اشاره کردید اگرچه جوابگو هست و این مزیت را هم به همراه دارد که میتوان متغییر های چند بایتی را هم در کنار تک بایتی ها مشخص کرد اما مشکلش اینه که نوشتن یک لیبل و نوع متغییر خودش از نظر زمانگیری با نوشتن همون equ خیلی فرقی نمیکنه. البته این خیلی هم مشکل خاصی نیست چون معمولا اختصاص دادن نام به فضای داده یکبار بیشتر در برنامه لازم نیست انجام بشه حالا هرچندتا متغییر هم که باشه بالاخره یکبار تعریفشون میکنیم ولی گفتم شاید راهی مشابه اون باشه که کار رو راحت تر بکنه چراکه من معمولا برنامه هایی که متغییر زیاد داره را روی کاغذ دسته بندی میکنم و بعد همونطور که کاغذ رو نگاه میکنم تایپشون میکنم راستش دلیل اصلی مشکلی که با این روش های equ و بایت دارم ولی توی اون روش تغریبا نیست اینه که در روشی که نوشتم تقریبا اعداد رو لازم نیست بزنیم و من میتونم بدون برداشتن انگشتان از روی قسمت حروف تمام متغییرها رو مشخص کنم اما در روش های دیگه باید برای نوشتن عدد حافظه انگشتم رو به قسمت اعداد حرکت بدم که معمولا چون با این حرکت یکم مشکل دارم ممکن هست اعداد رو اشتباه بزنم و از اونجا که چشمم بیشتر به کاغذ هست ممکنه آدرس اشتباه بخوره و متوجه نشم، البته در روشی که شما اشاره کردید تقریبا فقط عدد 1 رو باید تایپ کنم که این موضوع کار رو راحت و احتمال خطا رو کم میکنه.
      با تشکر
      از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
      هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
      اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
      اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
      شاد و موفق باشید

      دیدگاه

      لطفا صبر کنید...
      X