امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
WinAVR
نویسنده پیام
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #12
 
شما یه کار راحت تر می تونی بکنی یدونه pointer تعریف کن به هر جایی خواستی می تونی اشاره کنی
یا با یه دونه ستاره می تونی به هر آدرسی خواستی دسترسی می تونی پیدا کنی

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۲۵-تير-۱۳۸۶, ۱۲:۰۲:۲۸
وب سایت ارسال‌ها
پاسخ
IMeysam آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 323
موضوع‌ها: 56
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 0
( 53 تشکر در 30 ارسال )
ارسال: #13
 
من برای این می خوام جای متغیر رو بدونم که تو اسمبلی بهش دستیابی داشته باشم. با پوینتر این کار میشه؟

اي آمده از عالم روحاني تفت /////// حيران شده در پنج و چهار و شش و هفت
می نوش ندانی ز کجا آمده‌اي /////// خوش باش ندانی بکجا خواهی رفت
۲۶-تير-۱۳۸۶, ۰۳:۲۶:۱۲
وب سایت ارسال‌ها
پاسخ
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #14
 
آره می شه ولی کار راحت تر هم هست شما می تونی تو همون دستور asm که می نویسی متغیر های ورودی خروجی رو هم معرفی کنی و حتی بگی فلان رجیستر رو برای شما رزرو کنه
کد:
asm volatile (
    "in      r26,0       ;Read PINF"        "\n\t"
    "in      r27,0x19    ;Read PINA"        "\n\t"

    "LDI     r28,8          ;FOR I=1 TO 4"     "\n\t"
"1:     LSL     R26         ;C     <- Rd(7)""\n\t"
    "ROR    %A0          ;RD(7) <- C"     "\n\t"
    "DEC    r28"                        "\n\t"
    "BRNE    1b             ;next ROR"        "\n\t"

    "LDI     r28,8          ;FOR I=1 TO 4"     "\n\t"
"2:     LSL     R27         ;C     <- Rd(7)""\n\t"
    "ROR    %B0          ;RD(7) <- C"    "\n\t"
    "DEC    r28"                         "\n\t"
    "BRNE    2b            ;next ROR"         "\n\t"
    : "=r" (Res) : :"r28","r26","r27"    
);
اینو خیلی وقت پیش نوشتم یه نگاه بکن شاید به درد بخوره

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۲۶-تير-۱۳۸۶, ۱۰:۰۷:۴۱
وب سایت ارسال‌ها
پاسخ
IMeysam آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 323
موضوع‌ها: 56
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 0
( 53 تشکر در 30 ارسال )
ارسال: #15
 
ممنون از پاسختون . این سطر هایی که نوشتید رو خوندم ولی نفهمیدم که چه متغیری رو از C وارد قسمت اسمبلی کردید. به هر حال می خوام که یه کم خودم بیشتر توضیح بدم.
برنامه من این طوره که یه روتین وقفه داریم که با اسمبلی نوشته شده. تو اون روتین باید به یه آرایه که قبلا در مکانی از حافظه مشخص شده دسترسی پیدا کنه. علت اسمبلی بودن هم نیاز به سرعته.
بالاخره میشه مکان متغیر رو مشخص کرد؟
در ضمن چرا این قدر این WinAVR همه چیزش عجیب و جدیده؟ مثلا این "n\t" یعنی چی در پایان هر خط اسمبلی باید باشه. :?:

اي آمده از عالم روحاني تفت /////// حيران شده در پنج و چهار و شش و هفت
می نوش ندانی ز کجا آمده‌اي /////// خوش باش ندانی بکجا خواهی رفت
۲۷-تير-۱۳۸۶, ۰۵:۰۵:۳۴
وب سایت ارسال‌ها
پاسخ
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #16
 
اگه اشتباه نکنم متغیر به اسم res رو می گیره می ریزه توی رجیستر (=r)
r28 r26 r27 رو هم رزرو می کنه
معمولی هم با اشاره گر ها به راحتی می شه

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۲۷-تير-۱۳۸۶, ۰۹:۵۳:۵۹
وب سایت ارسال‌ها
پاسخ
IMeysam آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 323
موضوع‌ها: 56
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 0
( 53 تشکر در 30 ارسال )
ارسال: #17
 
آقا هادی ممنون . ولی آخرش، میشه مکان یه متغیر رو تعیین کرد یا نه؟ :wink: :?:

اي آمده از عالم روحاني تفت /////// حيران شده در پنج و چهار و شش و هفت
می نوش ندانی ز کجا آمده‌اي /////// خوش باش ندانی بکجا خواهی رفت
۲۸-تير-۱۳۸۶, ۰۵:۱۱:۴۵
وب سایت ارسال‌ها
پاسخ
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #18
 
عددی که داخل اشاره گر قرار می دی آدرس متغیر هست البته کار با اشاره گر ها رو باید بلد باشی چون ممکنه محتوی اشاره گر رو تغییر بدی به جای آدرسی که بهش اشاره می کنه

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۲۸-تير-۱۳۸۶, ۰۹:۴۳:۴۶
وب سایت ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  این ERROR تو WINAVR چیه؟ cinapa 7 6,768 ۰۳-شهریور-۱۳۹۲, ۱۲:۴۴:۳۲
آخرین ارسال: cinapa
  آموزش winavr محمد حسینی 11 14,099 ۲۷-تير-۱۳۹۲, ۱۸:۰۶:۳۲
آخرین ارسال: cinapa
  یادگیری winavr mtm200 2 3,162 ۲۳-فروردین-۱۳۹۱, ۰۱:۱۲:۰۰
آخرین ارسال: mtm200
  راه اندازی max7219 در winavr reza-m 0 2,703 ۰۲-آذر-۱۳۹۰, ۱۹:۵۱:۴۷
آخرین ارسال: reza-m
Question مقایسه codvision و WinAVR reza555 11 9,366 ۳۱-مرداد-۱۳۸۹, ۲۲:۱۴:۰۴
آخرین ارسال: reza555
Shy چگونه مي شه كتابخانه avrlib به winavr يا eclipes اضافه كرد. jadopcb 6 5,235 ۰۱-خرداد-۱۳۸۹, ۱۲:۵۶:۱۹
آخرین ارسال: jadopcb
  اولین راهنمای جامع فارسی برای winavr (1) 123456za 2 4,340 ۰۶-آذر-۱۳۸۷, ۱۰:۱۸:۵۵
آخرین ارسال: 123456za
  سوییچ از codevision به WINAVR IMeysam 25 10,446 ۰۴-اسفند-۱۳۸۶, ۱۳:۲۹:۲۰
آخرین ارسال: IMeysam
  سوال در مورد كتابخانه هاي WinAVR hesam_mybb1.2_import13370 23 9,030 ۰۵-اردیبهشت-۱۳۸۶, ۲۱:۱۴:۵۹
آخرین ارسال: ha_60
  winavr,avrgccide 123456za 7 3,942 ۱۰-فروردین-۱۳۸۶, ۱۱:۲۵:۳۵
آخرین ارسال: ha_60

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS