اطلاعیه

Collapse
No announcement yet.

کمپایل کردن فایل asm

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

    کمپایل کردن فایل asm

    سلام دوستان
    من یک برنامه دارم که به زبان اسمبلی نوشته شده حالا باید اینو چه جوری به فایل hex تبدیل کنم

    اگه بگید ممنون میشم

    مرسی
    http://services.nexodyne.com/email/i...3D/0/image.png

    #2
    پاسخ : کمپایل کردن فایل asm

    با AVR STUDIO
    آموزش نرم افزار Matlab برای دانشجویان رشته های مهندسیhttp://alidoost.ir/news.php?readmore=22

    دیدگاه


      #3
      پاسخ : کمپایل کردن فایل asm

      همینطور که farid-a عزیز اشاره کرد باید از برنامه AVR STUDIO استفاده کنید ولی به این نکته توجه کنید که اگر فقط فایل asm دارید شما نمیتونید مستقیما فایل asm رو Open کنید و اسمبلی کنید، برای اینکار باید یک پروژه جدید ایجاد کنید و بعد توی پروژه این فایل asm رو اضافه کنید. در این حالت میتونید به راحتی با فشار کلید F7 برنامه رو اسمبلی کنید. ( کزینه Build )
      برای آنالیز خط به خط و ایراد یابی هم از همین برنامه میتونید به خوبی استفاده کنید ( نسخه 4 به بالا باشه بهتره )
      از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
      هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
      اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
      اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
      شاد و موفق باشید

      دیدگاه


        #4
        پاسخ : کمپایل کردن فایل asm

        با سلام
        اینکار را با هر کامپایلر AVR می توانی انجام بدهی.چون کامپیلرها معمولا زبان اسمبلی را هم پشتیبانی می کنند.مثلا در BASCOM می توانی بعداز معرفی میکروی مورد نظر از :
        ASM$ وENDASM$ استفاده کنی البته فقط باید دستورات اسمبلی را بین این دو تابع بنویسی.چون معلوم نیست برنامه شما با کدام اسمبلر نوشته شده.
        با تشکر

        دیدگاه


          #5
          پاسخ : کمپایل کردن فایل asm

          aliagha جان این روشی که شما اشاره کردید هم میتونه جواب بده اما اشکالات خاص خودش رو داره ( نسبت به AVR Studio ) که میتونه کسی که به اسمبلی مهارت نداره رو به راحتی دچار سردرگمی کنه، بهترین روش همون استفاده از AVR Studio هست، من این روشی که شما میگید رو امتحان کردم برای برنامه های اسمبلی که کمی پیچیده هستند کارهای اضافی انجام بشه تا درست جواب بگیریم ( البته من توی CodeVision امتحان کردم ) دلیل دوم هم این هست که این دوستمون کد رو ظاهرا خودش ننوشته و کدهایی که به زبان اسمبلی نوشته میشه معمولا طبق استانداردی هستند که avr studio از اون استفاده میکنه. البته خوب اگر این برنامه رو نداشته باشه اون راه حلی که شما گفتی هم برای خودش نقش لنگه کفش توی بیابان رو پیدا میکنه.
          راستی من یک نکته رو یادآوری کنم، اگر از پروگرامر های استاندارد درون AVR Studio استفاده میکنید و برنامه به راحتی ریخته شد و Verify شد که چه بهتر ولی اگر از پروگرامری استفاده کردید که موقع Verify کردن error داد فایل hex رو با notepad باز کنید و خط اول رو کامل پاک کنید بعد delete رو بزنید تا بقیه خط ها بیان بالا و جای اون خط پر بشه. من خودم زمانی این مشکل رو داشتم که مدتی وقتم رو گرفت تا فهمیدم اینجوری حلش کنم.
          یک نکته رو هم یادآوری کنم ( البته همه میدونند دیگه ) : به فرآیند تبدیل فایل asm به فایل hex اسمبل کردن و به برنامه ای که این کار رو انجام میده اسمبلر گفته میشه و کامپایلر مترجم زبان های سطح بالا و متوسط هست و برای مترجم برنامه اسمبلی باید از کلمه اسمبلر استفاده کرد.
          موفق باشید
          از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
          هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
          اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
          اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
          شاد و موفق باشید

          دیدگاه


            #6
            پاسخ : کمپایل کردن فایل asm

            سلام دوستان
            من avr studio رو نصب کردم و فایل هم به hex تبدیل شده ولی چون چند تا گزینه داشت که مدار من با این فایل که من hex کردم کار نکرد میشه شما هم این فایل رو برای من hex تبدیل کنید دستتون درد نکنه

            ;*****
            ;* Title: USART0 initialize and send/receive data
            ;* Version: 2.0
            ;* Start date: 87.09.04
            ;* End date: 87.09.04
            ;* Target MCU: ATMEGA64
            ;* XTAL: 7.3728MHZ
            ;*
            ;* Describtion:
            ;*This program initialize usart0 and send/receive data for it's buffer
            ;*
            ;*Used register:
            ;*XL,XH
            ;*****
            ;*****
            .INCLUDE "M64DEF.INC"
            .ORG 0X0000
            RJMP RESET ;Reset Handle
            ;*****
            RESET:
            ;***** Initialize stack pointer
            ;* Initialize stack pointer to 0X085F in internal SRAM

            LDI XL,LOW(0X10FF) ;Load XL with 0XFF
            LDI XH,HIGH(0X10FF) ;Load XH with 0X10
            OUT SPL,XL ;Load SPL with XL
            OUT SPH,XH ;Load SPH with XH

            LDI XL,0XFF ;Load XL with 0XFF
            OUT DDRA,XL ;Set port A as output

            LDI XL,0X00
            OUT PORTA,XL

            CALL USART0_INITIALIZE


            ;***** Initialize USART0
            ;* Describtion:
            ;*This subroutine initialize usart0 parameter
            ;*Used register:
            ;*XL
            ;*
            USART0_INITIALIZE:

            LDI XL,0X20 ;RXC TXC UDRE FE DOR PE U2X MPCM
            OUT UCSR0A,XL ; 0 0 1 0 0 0 0 0
            LDI XL,0XF8 ;RXCIE TXCIE UDRIE RXEN TXEN UCSZ2 RXB8 TXB8
            OUT UCSR0B,XL ; 1 1 1 1 1 0 0 0
            LDI XL,0X86 ;URSEL UMSEL UPM1 UPM0 USBS UCSZ1 UCSZ0 UCPOL
            STS UCSR0C,XL ; 1 0 0 0 0 1 1 0
            LDI XL,0X00 ;URSEL - - - UBRR11 UBRR10 UBRR9 UBRR8
            STS UBRR0H,XL ; 0 0 0 0 0 0 0 0
            LDI XL,0XBF ;UBRR7 UBRR6 UBRR5 UBRR4 UBRR3 UBRR2 UBRR1 UBRR0
            OUT UBRR0L,XL ; 1 0 1 1 1 1 1 1

            RET
            http://services.nexodyne.com/email/i...3D/0/image.png

            دیدگاه


              #7
              پاسخ : کمپایل کردن فایل asm

              سلام دوست عزیز من یک پروإ¾إ¾إ¾إ¾إ¾ژه جدید ایجاد کردم و اینکار رو کردم بدون error انجام شد، فقط من برای اینکه خیالم از پشته راحت بشه یک دستکاری کوچک تو قسمت اول برنامه کردم این کل پروژه هست:
              http://navidt.persiangig.ir/Electronic/friend%20work.rar
              این برنامه ظاهرا برای آی سی ATMEGA64 نوشته شده و از کریستال خارجی 7.3728 مگا هرتز استفاده کرده، این دو مورد رو رعایت میکنید؟
              برنامه پیچیده نیست فقط باید رجیسترها رو از روی دیتاشیت نگاه کنید ببینید اون مقادیری که باید داشته باشه رو درست داده یا خیر.
              موفق باشید
              از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
              هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
              اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
              اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
              شاد و موفق باشید

              دیدگاه

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