avrgcc s assemblerem

Miroslav Sinko sinkomiro@rocketmail.com
Pátek Leden 18 00:33:02 CET 2008


Pouzivam inline assembler, nemam dovod obzerat sa inde. Neviem co
ocakavate od "ineho" assembleru. Myslim, ze najdolezitejsia je prave
integracia s C. [inac asm zapis instrukcii je dany, tam snad nie je co
spekulovat].

Ten inline asm s integraciou do C vyzera napr. takto:

void delay_ms_max255(BYTE time_ms)
{
WORD delay_count = F_CPU / 4000;
WORD cnt;

	if(!time_ms)   //test na 0, zaberie 2 instrukcie, ale pomoze
		return;//lebo by sa cyklilo 255 krat 
	
	asm volatile ("\n"
                  "L_dl1%=:\n\t"
                  "mov %A0, %A2\n\t"
                  "mov %B0, %B2\n"
                  "L_dl2%=:\n\t"
                  "sbiw %A0, 1\n\t"
                  "brne L_dl2%=\n\t"
                  "dec %1\n\t" "brne L_dl1%=\n\t":"=&w" (cnt)
                  :"r"(time_ms), "r"((unsigned short) (delay_count))
	);
}


miro

--- Tomas Chvatal <tchvatal@ezop.cz> wrote:

> Zdravim,
> 
> ucim se C a avrgcc a je mi jasne ze nekdy budu chtit neco pripsat k
> cecku v
> asaku
> a nekdy mozna naspat vse rovnou v asm.
> Otazka zni - jaky assembler pouzivate a proc ?
> Asm zabudovanej v avrgcc je lepsi nez ten od Atmelu ?
> 
> Nasel jsem toto http://www.avr-asm-tutorial.net/gavrasm/index_en.html
> (zcela jiny asm pro atmel s nejakymi vylepsenimi)
> Pouzivate to nekdo ? Lze to pak linkovat spolu s C v avrgcc ?
> 
> Diky predem za kazde info.
> 
> s pøáním hezkého dne
> Tomá¹ Chvátal
> EZOP Praha s.r.o.
> tel./fax.: 257320853
> tel.: 257320555
> tel.: 257320403
> www.ezop.cz
> tchvatal@ezop.cz
> 
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
> 



      ____________________________________________________________________________________
Looking for last minute shopping deals?  
Find them fast with Yahoo! Search.  http://tools.search.yahoo.com/newsearch/category.php?category=shopping



Další informace o konferenci Hw-list