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





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









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









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





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

نمایش نتایج: از 1 به 2 از 2
  1. #1
    2017/03/03
    9
    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
    61
    52

    پاسخ : پیدا کردن آدرس شروع یک خط کد 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
نمایش نتایج: از 1 به 2 از 2

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

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

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

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

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

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

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