zaujimavost pri programovani AVR v GCC
Jan Waclawek
konfera@efton.sk
Úterý Říjen 23 16:17:43 CEST 2007
>On Tue, 23 Oct 2007, Richard Kaliciak wrote:
>
>> while(1){
>> PORTA = counter++;
>> d2: 8b bb out 0x1b, r24 ; 27
>> d4: 01 96 adiw r24, 0x01 ; 1
>> d6: fd cf rjmp .-6 ; 0xd2 <main+0x4>
>> ---------- end ----------
>> (counter je v R24 a R25 = 16 bitov)
>
>> while(1){
>> counter++;
>> d0: 8f 5f subi r24, 0xFF ; 255
>> PORTA = counter;
>> d2: 8b bb out 0x1b, r24 ; 27
>> d4: fd cf rjmp .-6 ; 0xd0 <main+0x2>
>> ---------- end ----------
>> (counter je v R24 = 8 bitov)
>
>> Vie mi to niekto vysvetlit?
>
>Vysvetlit to neumim, ale mam pocit ze obe ty smycky jsou stejne rychle.
>Jediny rozdil je v te pocatecni inicializaci. To zpomaleni poznate ?
Wordova aritmetika (adiw) je na 2 cykly na rozdiel od 1-cyklovej bytovej (subi) - to je na tak kratkom cykle pekne poznat.
wek
Další informace o konferenci Hw-list