اطلاعیه

Collapse
No announcement yet.

تبدیل کد اسمبلی WINAVR به CodeVision

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

    تبدیل کد اسمبلی WINAVR به CodeVision

    با سلام خدمت دوستان عزیز و گرامی
    یه برنامه ای هست که کد اون با winavr نوشته شده
    میخواستم اون رو تبدیل به کدویژن کنم
    مشکلی نبود جز اینکه یه قسمت از برنامه اسمبلی نوشته شده
    کد:
    void static inline Signal_OUT(const uint8_t *signal, uint8_t ad2, uint8_t ad1, uint8_t ad0)
    {
    asm volatile(	"eor r18, r18 	;r18<-0"	"\n\t"
    				"eor r19, r19 	;r19<-0"	"\n\t"
    				"1:"						"\n\t"
    				"add r18, %0	;1 cycle"			"\n\t"
    				"adc r19, %1	;1 cycle"			"\n\t"	
    				"adc %A3, %2	;1 cycle"			"\n\t"
    				"lpm 			;3 cycles" 	"\n\t"
    				"out %4, __tmp_reg__	;1 cycle"	"\n\t"
    				"sbis %5, 2		;1 cycle if no skip" "\n\t"
    				"rjmp 1b		;2 cycles. Total 10 cycles"	"\n\t"
    				:
    				:"r" (ad0),"r" (ad1),"r" (ad2),"e" (signal),"I" (_SFR_IO_ADDR(PORTA)), "I" (_SFR_IO_ADDR(SPCR))
    				:"r18", "r19" 
    	);
    }
    شاید این کد رو دیده باشید
    برای سیگنال ژنراتور هستش
    تا حدود زیادیش رو تحلیل کردم اما کامل نشده
    مخصوصا قسمت آدرس signal
    ممنون میشم اگه اطلاعاتی دارید بگید
    برای آنکه کاری امکان پذیر گردد دیدگان دیگری لازم است، دیدگانی نو
لطفا صبر کنید...
X