اطلاعیه

Collapse
No announcement yet.

یک راه نرفته برای رام کردن آرم : assembly

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    یک راه نرفته برای رام کردن آرم : assembly

    من الان 11 ماه که آرم کار میکنم ولی نتونستم اولین پروزه ام رو بنویسم
    فکر کنم مشکل اینجاست که ما arm رابه سبک avr می خواهیم یاد بگیریم
    avr که یادتون هست بسکام را باز مکیردید و "حسن" lcd می نوشتید کار تمام کلمه حسن میرفت رو lcd
    ولی الان گاو نر می خواهد و مرد کهن
    من به این نتیجه رسیدم که arm را باید با اسمبلی یاد گرفت
    بییاید این راه اصلا نرفته را امتحان کنیم
    کی راجب اسمبلی مطلب مستقیم داره اینجا بذاره
    خواهشا لینک نذارید که من هم به سایت گوگل دست رسی دارم

    تنها موردي كه همه آدما يقين دارن خدا در حقش زیاد لطف کرده
    داشتن عقله زيادتر از دیگر آدم ها است

    #2
    پاسخ : یک راه نرفته برای رام کردن آرم : assembly

    سلام
    بجای رام کردن آرم، سی رو رام کنید و ازش فرار نکنید :job:
    There is nothing so practical as a good theory. — Kurt Lewin, 1951

    دیدگاه


      #3
      پاسخ : یک راه نرفته برای رام کردن آرم : assembly

      به نظرم آخر راه خواهید فهمید وارد کوچه بن بست شده اید!!!
      It's nice to be important but it's important to be nice!

      از اینکه نمی رسم جواب دوستان را بدم معذرت می خوام.

      دیدگاه


        #4
        پاسخ : یک راه نرفته برای رام کردن آرم : assembly

        سلام
        من خودم دیوانه اسمبلی هستم از اسمبلی Z80 تا 8051 و AVR و PIC و8086 به صورت کامل یاد گرفتم و تدریس کردم. ولی باور کنید اسمبلی آرم خیلی مشکل است
        بهترین راه حل برای یاد گرفتن اسمبلی آرم نوشتن برنامه به زبان سی و دیدن نتایج کامپایل شده به زبان اسمبلی است

        دیدگاه


          #5
          پاسخ : یک راه نرفته برای رام کردن آرم : assembly

          نوشته اصلی توسط ali_pezeshki
          سلام
          من خودم دیوانه اسمبلی هستم از اسمبلی Z80 تا 8051 و AVR و PIC و8086 به صورت کامل یاد گرفتم و تدریس کردم. ولی باور کنید اسمبلی آرم خیلی مشکل است
          بهترین راه حل برای یاد گرفتن اسمبلی آرم نوشتن برنامه به زبان سی و دیدن نتایج کامپایل شده به زبان اسمبلی است
          اسمبلی زبان مشترک همه کنترل کننده های برنامه پذیر است
          اسمبلی z80 با اسمبلی avr و اون هم با اسمبلی arm خیلی فرق ندارد
          فقط ساختار alu و memory فرق میکنه والا اساس همه دستورات انتقال و پردازش و انشعاب و دستورات کمک پردازنده و ممیز شناور است
          به امید خدا به جاهای باریک عبور از اسمبلی آرم رسیدم ( آخر های سربالایی قله )یکم مونده تا یک جزوه 10 صفحه ای که در عرض یک ساعت اسمبلی آرم را یاد بده و با چند سطر یک اوسلی اسکوپ روی مانیتور بسازه تا برای برو بچ تهیه کنم

          اون وقت میبینید یک برنامه یعنی چی
          البته من خودم با سی شارپ و جاوا ( و قدیما با دلفی )برنامه می نویسم ( منبع اصلی درآمد من ) و منکر زبان های سطح بالا نیستم (البته تحت سیستم عامل و سرعت پردازش 4 هسته ای )آ‌و حتی معتقدم زمان زبانهای امری به پایان رسیده و الان زمان زبانهای برنامه نویسی توصیفی است

          ولی در میکرو کنترولر با کلاک 16 مگ یا 55 مگ زبان سطح بالا بدرد نمی خوره و اسمبلی بهتر
          تنها موردي كه همه آدما يقين دارن خدا در حقش زیاد لطف کرده
          داشتن عقله زيادتر از دیگر آدم ها است

          دیدگاه


            #6
            پاسخ : یک راه نرفته برای رام کردن آرم : assembly

            نوشته اصلی توسط aliila
            اسمبلی زبان مشترک همه کنترل کننده های برنامه پذیر است
            اسمبلی z80 با اسمبلی avr و اون هم با اسمبلی arm خیلی فرق ندارد
            سلام،
            جسارتاً کاملاً برعکس گفتید. تا جایی که من می دونم C زبان معمول در برنامه نویسی میکرو کنترلرهاست.
            در مورد مقایسه اسمبلی Z80 و ARM هم میشه گفت تفاوت از زمین تا آسمان است! :smile:
            There is nothing so practical as a good theory. — Kurt Lewin, 1951

            دیدگاه


              #7
              پاسخ : یک راه نرفته برای رام کردن آرم : assembly

              سلام
              با تشکر از آقای سپاس یار . بنده کتاب arm شما را مطالعه کردم . بسیار خوب بود
              اگر اسمبلی arm آسان بود حداقل یکی از دوستان برنامه اولین پروژه (چشمک زن led) را بذاره تا ما هم یاد بگیریم
              با تشکر

              دیدگاه


                #8
                پاسخ : یک راه نرفته برای رام کردن آرم : assembly

                نوشته اصلی توسط رضا سپاس یار
                سلام،
                جسارتاً کاملاً برعکس گفتید. تا جایی که من می دونم C زبان معمول در برنامه نویسی میکرو کنترلرهاست.
                در مورد مقایسه اسمبلی Z80 و ARM هم میشه گفت تفاوت از زمین تا آسمان است! :smile:
                منظور من از زبان مشترک اسمبلی همان مجموعه دستور اعمل ها ست که عبارتند از دستورات انتقال و پردازش و انشعاب است
                حالا سوای شکل دستور انتقال Mov با دستور Ld (در دو نوع متفاوت و غیر قابل مقایسه دو نوع میکرو) ساختار برنامه نویسی و تفکر همان است

                البته بازهم میگم سی زبان حمل پذیر و شی گرا هست ولی برای برنامه نویسی میکرو کنترلر که اساسا برنامه های سیستمی و سخت افزاری هست مناسب نیست مخصوصا در حوزه فرکانس و زمان مثلا برای ساخت یک آشکار ساز گذر از صفر یا یک کانتر یا نوسان ساز و ... زبان سی بدرد نمی خوره

                چون با توجه به ساختار کامپایلر محاسباتش در زمان و در فرکانس برای برنامه نویس ناممکن است مثلا اگر شما از ساختار شرطی if استفاده کرده باشید نمی دونید دقیقا چند پالس ساعت طول خواهد کشید و دستور سطر بعدی بعد چند پالس انجام خواهد شد
                تنها موردي كه همه آدما يقين دارن خدا در حقش زیاد لطف کرده
                داشتن عقله زيادتر از دیگر آدم ها است

                دیدگاه


                  #9
                  پاسخ : یک راه نرفته برای رام کردن آرم : assembly

                  کاملا درسته و به خاطر همینه که از وقفه ها استفاده می کنیم تا زمان وقوع رخداد ها رو دقیقا محاسبه کنیم
                  چون در هر حال اینکه یه برنامه ی کامل و درست حسابی بنویسید و بخواهی با جمع و تفریق دستورات به زمان حدودی اجرای اونا دست پیدا کنید مثل اینکه به جای کشیدن صندلی زیر خودتون میز نهار خوری رو بکشید جلو !!!!!
                  در هر حال اسمبلی برای افزایش سرعت و بهینه کردن ساختار برنامه نویسی و کم کردن فضای حافظه کاملا بی رقیبه ولی شما وقتشو داری یه LCD با اسمبلی به خاطر کد های بهینه تر راه بندازی؟؟
                  لبخند بزنید تا زندگی برایتان لذت بخش گردد

                  دیدگاه


                    #10
                    پاسخ : یک راه نرفته برای رام کردن آرم : assembly

                    نوشته اصلی توسط صابر رضایی
                    کاملا درسته و به خاطر همینه که از وقفه ها استفاده می کنیم تا زمان وقوع رخداد ها رو دقیقا محاسبه کنیم
                    یا درست متوجه منظور من نشدید یا با اسمبلی کار نکرده اید
                    یک مثال می زنم طرز کار فرکانس سنج را که میدانید
                    فرکانس سنج از تایمر و کانتر و وقفه سر ریزی استفاده میکنه از صفر تا ماکس کانتر میشماره و وقفه رخ میده در وقفه یک متغیر را افزایش میده
                    و کانتر را صفر میکنه و کانتر را استارت میکنه و ادامه میده تا زمانی که تایمر به یک ثانیه برسه و قفه تایمر اجرا میشه در وقفه متغیر را ضرب در تعداد ماکس کانتر میکنه بعلاوه تعدادی جاری که خود کانتر داره می شه فرکانس آن سیگنال
                    من میگم حال وقتی که وقفه سر ریزی کانتر رخ میده میکرو کنترلر چند پالس ساعت برای اجرای وقفه سر ریزی طول میکشه یعنی وقتی می خواد متغیر را افزایش بده خوب این زمان یک خطای زیادی در محاسبه فرکانس میاره من عملا این پروزه را انجام دادم و فرکانس دقیق 250 کیلو را 247 نشان میداد حال شما در زبان سی چطوری طول مدت اجرای کامل وقفه را می تونی بدست بیاری تا مقدار فرکانس را اصلاح کنی ؟آ‌در حالی که در زبان اسمبلی این زمان جلوی چشمهاست ؟


                    نوشته اصلی توسط صابر رضایی
                    چون در هر حال اینکه یه برنامه ی کامل و درست حسابی بنویسید و بخواهی با جمع و تفریق دستورات به زمان حدودی اجرای اونا دست پیدا
                    زمان حدودی دیگه چه صیغه ای زمان دقیق دقیق هست و به دقت کریستال و pll بستگی داره


                    نوشته اصلی توسط صابر رضایی
                    شما وقتشو داری یه LCD با اسمبلی به خاطر کد های بهینه تر راه بندازی؟؟
                    مگه شما در زبان سی برای استفاده از lcd آ‌از کتابخانه استفاده نمی کنید ؟
                    خوب زبان اسمبلی هم ماکرو ها را پشتیبانی میکنه هم توابع را پس برای استفاده از lcd عین زبان سی میتونید از incloud ها استفاده کنید
                    تنها موردي كه همه آدما يقين دارن خدا در حقش زیاد لطف کرده
                    داشتن عقله زيادتر از دیگر آدم ها است

                    دیدگاه


                      #11
                      پاسخ : یک راه نرفته برای رام کردن آرم : assembly

                      کسی منکر مزایای استفاده از اسمبلی نیست. اما مسئله اینجاست که این مزایا مخصوصا موقعی که بخاطر استفاده از یک سخت افزار سریع نیاز شما به یک سخت افزار سریع تر کمتر و کمتر میشه کمتر به کار میان و این بیشتر وقت شما به عنوان یک طراحه که اهمیت پیدا میکنه نه بهینه کردن برنامه برای کاهش 2 یا 3 میکرو ثانیه در اجرای یک کد خاص. ممکنه یکی بیاد و روالهای lcd رو به اسمبلی بنویسه و در کتابخانه مربوطه بذاره ولی این یک نفره. قرار نیست همه اسمبلی یاد بگیرن تا اینو استفاده کنن. چون اون یک نفر وقت خودش رو صرف کرده تا وقت من و شما حروم نشه.
                      از طرف دیگه یک اسمبلر فقط یک اسمبلر هست و لاغیر در صورتی که یک کامپایلر علاوه بر ترجمه کد سطح بالای شما به زبان سطح پایین قراردادهای توصیف شده توسط شما رو هم در هنگام پیاده سازی نرم افزار روی کد اعمال میکنه تا میزان زمان صرف شده برای نوشتن و نگهداری کد مینیمم بشه. واینه که هزینه ها رو کاهش میده. البته در همه جای دنیا که وقت از طلا با ارزشتره. اینجا که قربونش برم وقت از پهن هم بی ارزشتره.

                      دیدگاه


                        #12
                        پاسخ : یک راه نرفته برای رام کردن آرم : assembly

                        با سلام
                        اقا لطف کنین یه کامپایلر معرفی کنین برای آرم که با اسمبلی برنامه نویسی بشه
                        لطفا کمک کنین خیلی نیاز دارم

                        دیدگاه


                          #13
                          پاسخ : یک راه نرفته برای رام کردن آرم : assembly

                          به نظر من باید اسمبلی رو یاد گرفت صرفا برای اینکه اطلاعاتمون بره بالا تا سطح تفکرمون بیشتر بشه ...
                          والا نباید برای نوشتن پروژه هاتون روی اون حساب باز کنید ...
                          خب هر کاری راهی داره همیشه که فقط یه راه نیست مثلا وقتی شما میخواید یه فرکانس متر دقیق بسازید برای اینکار اجباری برای نوشتن اسمبلی نیست مسلمه که برای اینکار باید فرکانس کاری میکرو چند برابر فرکانس ورودی باشه در این حالت تاخیر اجرای دستورات در وقفه صرف نظر میشه و اصلا یک هرتز هم فرق نمیکنه
                          اگه قرار بر نوشتن چند تا دستور ساده باشه منم خیلی مشتاقم که اسمبلی بنویسم ولی اینطور که نیست ...
                          [br /][hr]http://pcenter.ir[hr][br /]

                          دیدگاه

                          لطفا صبر کنید...
                          X