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





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









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





  1. #1
    تاریخ عضویت
    2021/10/01
    76
    3

    مقداردهی به رجیسترها چطوری انجام میشه؟

    سلام خوبید؟
    ببینید مقدار دهی به رجیسترها چطوری انجام میشه؟
    مثلا ما یک برنامه می نویسیم رجیسترها رو داخل تعیین تکلیف میکنیم درسته؟ یک بخش برنامه نویسی میکرو این کار هست درسته؟
    خب حالا در واقع cpu میاد به روی رجیسترها مقدار دهی میکنه؟
    و اینکه بر چه بستر یا از چه راهی این کار میکنه؟ باس؟ باس چیه؟
    • تبلیغات
      .

  2. #2
    تاریخ عضویت
    2017/06/13
    1,392
    871

    پاسخ : مقداردهی به رجیسترها چطوری انجام میشه؟

    نقل قول نوشته اصلی توسط alibbb

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

    عضویت

    سلام خوبید؟
    ببینید مقدار دهی به رجیسترها چطوری انجام میشه؟
    مثلا ما یک برنامه می نویسیم رجیسترها رو داخل تعیین تکلیف میکنیم درسته؟ یک بخش برنامه نویسی میکرو این کار هست درسته؟
    خب حالا در واقع cpu میاد به روی رجیسترها مقدار دهی میکنه؟
    و اینکه بر چه بستر یا از چه راهی این کار میکنه؟ باس؟ باس چیه؟
    سلام
    جواب این سوال طولی به اندازه کتاب معماری کامپیوتر موریس مانو داره! اون کتاب رو مطالعه کنید، به پاسخ سوالاتون میرسید.
  3. #3
    تاریخ عضویت
    2021/10/01
    76
    3

    پاسخ : مقداردهی به رجیسترها چطوری انجام میشه؟

    تشکر. حالا از بحث مدارمنطقیش بگذریم. این مقداردهی رجیستر تو زبان سی چطور انجام میشه؟ مثلا در دو حال زیر
    وقتی بخوایم کل 8 بیت رجیستر مقدار دهی کنیم؟ چون رجیستر هر بیتش یک نام گذاری کردند نمیشه که دونه به دونه مقدار دهی کرد.
    دوم در حالتی که تکی بخوایم یک بیت رجیستر مقدار دهی کنیم.
    آیا باید دستور خاصی asm به کار ببریم؟



    نقل قول نوشته اصلی توسط hossein.m98

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

    عضویت

    سلام
    جواب این سوال طولی به اندازه کتاب معماری کامپیوتر موریس مانو داره! اون کتاب رو مطالعه کنید، به پاسخ سوالاتون میرسید.
  4. #4
    تاریخ عضویت
    2017/06/13
    1,392
    871

    پاسخ : مقداردهی به رجیسترها چطوری انجام میشه؟

    نقل قول نوشته اصلی توسط alibbb

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

    عضویت

    تشکر. حالا از بحث مدارمنطقیش بگذریم. این مقداردهی رجیستر تو زبان سی چطور انجام میشه؟ مثلا در دو حال زیر
    وقتی بخوایم کل 8 بیت رجیستر مقدار دهی کنیم؟ چون رجیستر هر بیتش یک نام گذاری کردند نمیشه که دونه به دونه مقدار دهی کرد.
    دوم در حالتی که تکی بخوایم یک بیت رجیستر مقدار دهی کنیم.
    آیا باید دستور خاصی asm به کار ببریم؟
    با عملگرهای بیتی!
    فرض که اسم رجیسترمون REG باشه. برای ۱ کردن بیت یا بیت هایی با ارزش مکانی n0 و n1 و... در زبان C باید به شکل زیر عمل کرد. دقت کنید که میشه هر تعداد بیتی که میخوایید با این روش ۱ کنید:

    REG |= (1<<n0) | (1<<n1) /* ... | (1<<nn) */;

    برای صفر کردن:

    REG &= ~((1<<n0) | (1<<n1) /* ... | (1<<nn) */);

    برای not کردن:

    REG ^= (1<<n0) | (1<<n1) /* ... | (1<<nn) */;
  5. #5
    تاریخ عضویت
    2021/10/01
    76
    3

    پاسخ : مقداردهی به رجیسترها چطوری انجام میشه؟

    سلام. آها پس کلا میشه رجیستر از طریق اسمش مقدار دهی کرد. من فکر میکردم باید دستور ASM اسمبلی به کار برد. دست شما درد نکنه.
    پس این دستورات asm برای چین؟ اینو شما میدونید؟

    نقل قول نوشته اصلی توسط hossein.m98

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

    عضویت

    با عملگرهای بیتی!
    فرض که اسم رجیسترمون REG باشه. برای ۱ کردن بیت یا بیت هایی با ارزش مکانی n0 و n1 و... در زبان C باید به شکل زیر عمل کرد. دقت کنید که میشه هر تعداد بیتی که میخوایید با این روش ۱ کنید:

    REG |= (1<<n0) | (1<<n1) /* ... | (1<<nn) */;

    برای صفر کردن:

    REG &= ~((1<<n0) | (1<<n1) /* ... | (1<<nn) */);

    برای not کردن:

    REG ^= (1<<n0) | (1<<n1) /* ... | (1<<nn) */;
  6. #6
    تاریخ عضویت
    2017/06/13
    1,392
    871

    پاسخ : مقداردهی به رجیسترها چطوری انجام میشه؟

    نقل قول نوشته اصلی توسط alibbb

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

    عضویت

    سلام. آها پس کلا میشه رجیستر از طریق اسمش مقدار دهی کرد. من فکر میکردم باید دستور ASM اسمبلی به کار برد. دست شما درد نکنه.
    پس این دستورات asm برای چین؟ اینو شما میدونید؟
    کدوم دستورات asm؟
  7. #7
    تاریخ عضویت
    2021/10/01
    76
    3

    پاسخ : مقداردهی به رجیسترها چطوری انجام میشه؟

    یکسری دستورات asm هستند تو برنامه ها دیدم. اینا بهشون میگن دستورات اسمبلی. نمیدونم از کجا اومدن؟
    لیست کاملشو از کجا باید پیدا کنم تا بفهمم چی کار می کنن؟
    نقل قول نوشته اصلی توسط hossein.m98

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

    عضویت

    کدوم دستورات asm؟
  8. #8
    تاریخ عضویت
    2017/02/06
    235
    126

    پاسخ : مقداردهی به رجیسترها چطوری انجام میشه؟

    نقل قول نوشته اصلی توسط alibbb

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

    عضویت

    یکسری دستورات asm هستند تو برنامه ها دیدم. اینا بهشون میگن دستورات اسمبلی. نمیدونم از کجا اومدن؟
    لیست کاملشو از کجا باید پیدا کنم تا بفهمم چی کار می کنن؟
    باسلام.
    هر معماری یک سری دستورالعمل های خاص خودشو داره که شرکت سازنده اونا رو در غالب Instruction Set منتشر میکنه.نسخه خیلی خلاصه این مجموعه معمولا در انتهای دیتاشیت کامل(نه خلاصه) هر یک از محصولات خانواده AVR وجود داره
    لینک دانلود مجموعه دستورات خانواده AVR :

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

    عضویت

  9. #9
    تاریخ عضویت
    2017/06/13
    1,392
    871

    پاسخ : مقداردهی به رجیسترها چطوری انجام میشه؟

    نقل قول نوشته اصلی توسط alibbb

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

    عضویت

    یکسری دستورات asm هستند تو برنامه ها دیدم. اینا بهشون میگن دستورات اسمبلی. نمیدونم از کجا اومدن؟
    لیست کاملشو از کجا باید پیدا کنم تا بفهمم چی کار می کنن؟
    خوب ببینید همونطوری که دوستمون گفتن هر پردازنده ای یک سری دستورات اسمبلی داره که در نهایت هر برنامه ای به اونا ترجمه میشه و خود کد اسمبلی هم مستقیما تبدیل به کد ماشین یا همون ۰ و ۱ میشه. این مجموعه دستورات توسط سازنده ارائه میشه، همراه با یک سری قوانین دیگه که لازم هستش رعایت بشن.
    از اونجایی که زبان C به زبان اسمبلی خیلی نزدیکه، میشه داخلش کد اسمبلی هم وارد کرد. این کار مواقعی کاربرد داره که یا نشه با زبان C کاری که میخواییم انجام بدیم مثل فراخوانی بعضی دستورات مربوط به مد Sleep و یا Set و Clear کردن وقفه عمومی توی AVR، یا این که بخواییم عملکردی رو به شکل کاملا بهینه خودمون بنویسیم. مثلا یک تابع داریم که یک کار مشخص انجام میده، میاییم بدنه تابع رو خودمون با اسمبلی مینویسیم که دقیقا همون کاری که ما میخواییم در سطح اسمبلی انجام بده؛ البته لازمه این کار اینه که به اسمبلی اون پردازنده و قوانینی مثل قواعد فراخوانی (Calling Convention) اون پردازنده مسلط بود.
  10. #10
    تاریخ عضویت
    2021/10/01
    76
    3

    پاسخ : مقداردهی به رجیسترها چطوری انجام میشه؟

    دست شما درد نکنه دوستان. خسته نباشید.
نمایش نتایج: از 1 به 10 از 10

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

  1. چطوری میشه پشت pcb را چاپ سبز کرد؟؟
    توسط sutedelan در انجمن مدار چاپی (PCB)
    پاسخ: 32
    آخرين نوشته: 2020/08/05, 18:51
  2. پاسخ: 26
    آخرين نوشته: 2019/05/29, 11:26
  3. استفاده از عملگرهای شیفتی در مقداردهی رجیسترها
    توسط tempel در انجمن میکروکنترلرهای AVR
    پاسخ: 4
    آخرين نوشته: 2018/08/06, 22:04
  4. پاسخ: 1
    آخرين نوشته: 2014/04/15, 12:59
  5. نور لپ تاپ چطوری کم میشه ؟
    توسط saeiddiod در انجمن كامپيوتر ، اينترنت و علوم مرتبط
    پاسخ: 8
    آخرين نوشته: 2014/04/11, 12:14

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

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

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

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