سلام.چطور می شه تعداد دقیق دستور اسمبلی یک دستور C را بدست بیاریم ، و سپس از طریق اون تعداد کلاک ، و مدت زمان دقیق اجرای یک دستور خاص را بدست آورد .مثلا دستور OCR0=(51+51*sin(n*209 با تشکر از دوستان
اطلاعیه
Collapse
No announcement yet.
تعداد دستور اسمبلی یک دستور زبان C
Collapse
X
-
پاسخ : تعداد دستور اسمبلی یک دستور زبان C
شما میتونی کد اسمبلی تولید شده توسط کامپایلر رو در لیست نهایی ببینی.
البته بخاطر پیچیدگی تولید کد برای همه موارد این روش امکان پذیر نیست یا حد اقل یک کمی مصیبته. تازه غیر از این خیلی وقتها مقدار عددی پارامتر ها شدیدا ممکنه روی میزان زمان اجرای کد تاثیر بذاره. شاید راحتترین روش استفاده از یک تایمر سخت افزاری باشه. قبل از انجام عمل استارتش کن و پس از انتهای عمل مقدار رجیستر TCNT رو بخون. از میزان تفاوت این دو تا میتونی با یک تقریب نسبتا خوب زمان تقریبی رو برای کد خودت و با اون پارامتر های بخصوص دربیاری.
تازه در مورد پیشنهادی خودت تابع سینوس جزء زمان اجرا حساب میشه اما جزء کد خودت نیست.
-
پاسخ : تعداد دستور اسمبلی یک دستور زبان C
در محیط سیمولاتور AVRStudio به غیر از آنکه می توان دستورات اسمبلی معادل هر دستور C را مشاهده کرد، یک Cycle counter وجود دارد که در هنگام شبیه سازی می توان با زدن F10، تعداد سیکل های هر دستور C را مشاهده کرد. این پنجره در صورت غیر فعال بودن، از طریق View/Toolbars/Processor قابل دسترسی است و برای کدویژن و IAR و Winavr قابل انجام است.اوژن: به معنای افکننده و شکست دهنده است
دانایی، توانایی است-Knowledge is POWER
برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد
دیدگاه
دیدگاه