ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 4 از 4
  1. #1
    2017/03/03
    11
    0

    پیدا کردن آدرس شروع یک خط کد C

    سلام دوستان
    یه سوال دارم، یک خط کد C ممکنه از چند تا خط و کد اسمبلی تشکیل شود. رجیستر program counter شامل آدرس دستورات اسمبلی است.
    آیا رجیستری برای ذخیره آدرس شروع دستورات C وجود نداره؟
    به عبارتی، فرض کنیم دو خط کد C داریم که خط اول شامل دو خط اسمبلی است. پس دارای آدرسهای 0x00000001 و 0x00000005 است.
    خط دوم C مثلا شامل 3 خط اسمبلی است پس شامل آدرسهای 0x0000000C، 0x000000009و 0x0000000010 است.
    شمارنده برنامه (R15 یا program counter=pc) مقادیر 0x000000001 تا 0x00000000010 را در خود ذخیره میکند.
    حالا میخوام بدونم رجیستری وجود نداره تا آدرس شروع هر دستور c یعنی آدرسهای 0x000000001 و0x000000009 را در خود ذخیره کند.
    لطفا سریع کمک کنید . ممنون میشم
    شروع و پایان دستورات Cاز کجا مشخص میشه؟
  2. #2
    2014/01/13
    100
    81

    پاسخ : پیدا کردن آدرس شروع یک خط کد C

    با سلام
    من که در میکرو سی کار میکنم ، کامپایلر برای هر فایل برنامه سی یک فایل اسمبلی درست میکند
    که در آن ، هر سطر از برنامه سی (به صورت کامنت) آمده و در زیر آن کد اسمبلی آن سطر
    نوشته شده ، البته آدرس هر دستور العمل را در این فایل نیامده ولی میتوان با دانستن
    طول هر دستور العمل ، آدرس هر خط را پیدا کرد (فکر میکنم تو PIC دستورالعمل ها طول ثابتی دارند)

    کذ زیر را ببینید:
    کد:
    _StartCharge:
    
    ;pic.c,68 ::         void StartCharge()
    ;pic.c,70 ::         if(xaux)
        MOVF        _xaux+0, 0 
        IORWF       _xaux+1, 0 
        BTFSC       STATUS+0, 2 
        GOTO        L_StartCharge0
    ;pic.c,72 ::         xcharge=1;
        MOVLW       1
        MOVWF       _xcharge+0 
        MOVLW       0
        MOVWF       _xcharge+1 
    ;pic.c,73 ::         maxvoltage=ndv=0;
        CLRF        _ndv+0 
        CLRF        _ndv+1 
        CLRF        _maxvoltage+0 
        CLRF        _maxvoltage+1 
    ;pic.c,74 ::         XCHARGEPORT=1;
        BSF         PORTB+0, 6 
    ;pic.c,75 ::         BuzzerTimer+=4;
        MOVLW       4
        ADDWF       _BuzzerTimer+0, 1
  3. #3
    2017/03/03
    11
    0

    پاسخ : پیدا کردن آدرس شروع یک خط کد C

    خیلی ممنونم
  4. #4
    2008/11/04
    430
    431

    پاسخ : پیدا کردن آدرس شروع یک خط کد C

    نقل قول نوشته اصلی توسط شبکه 94

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    شمارنده برنامه (R15 یا program counter=pc) مقادیر 0x000000001 تا 0x00000000010 را در خود ذخیره میکند.
    درسته تاریخ بحث قدیمیه، ولی دیدم آنلاینی گفتم بهت گوش زد کنم!
    شمارنده برنامه هیچی توی خودش ذخیره نمیکنه!!
    مگر، آدرس دستورالعمل جاری در حال پردازش!
نمایش نتایج: از 1 به 4 از 4

موضوعات مشابه

  1. اتنخاب آدرس شروع متغيرهاي EEPROM
    توسط hamedhamidi در انجمن میکروکنترلرهای AVR
    پاسخ: 11
    آخرين نوشته: 2018/04/29, 21:01
  2. نظر درباره نحوه پیدا کردم آدرس slave
    توسط M-SADEGH در انجمن میکروکنترلرهای AVR
    پاسخ: 1
    آخرين نوشته: 2017/08/27, 10:07
  3. کمک برای پیدا کردن آدرس شرکت
    توسط HOOMAMIRS در انجمن گفتگوی عمومی
    پاسخ: 2
    آخرين نوشته: 2017/05/28, 19:22
  4. جابجایی آدرس شروع در IAR
    توسط CyrusART در انجمن NXP
    پاسخ: 27
    آخرين نوشته: 2014/10/01, 18:11
  5. پیدا کردن آدرس آرگومان های ارسالی به تابع C در اسمبلی
    توسط Faramarz M-Sّ در انجمن میکروکنترلرهای AVR
    پاسخ: 3
    آخرين نوشته: 2014/06/22, 17:04

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •