zaujimavost pri programovani AVR v GCC
Richard Kaliciak
hw.kaliciak@stonline.sk
Úterý Říjen 23 16:17:23 CEST 2007
Jan Waclawek schrieb:
>
> Mimochodom, ako sa to prelozi ak tu optimalizaciu uplne vypnes?
>
Celkom sialeno. Ako keby to robil nejaky ziacik prvacik. Vsetko si
poctivo zapisuje do ramky. Ale counter je iba 8-bitov:
---------- begin ----------
void main( void){
ce: cf 93 push r28
d0: df 93 push r29
d2: cd b7 in r28, 0x3d ; 61
d4: de b7 in r29, 0x3e ; 62
d6: 21 97 sbiw r28, 0x01 ; 1
d8: 0f b6 in r0, 0x3f ; 63
da: f8 94 cli
dc: de bf out 0x3e, r29 ; 62
de: 0f be out 0x3f, r0 ; 63
e0: cd bf out 0x3d, r28 ; 61
unsigned char counter = 0;
e2: 19 82 std Y+1, r1 ; 0x01
while(1){
PORTA = counter++;
e4: eb e3 ldi r30, 0x3B ; 59
e6: f0 e0 ldi r31, 0x00 ; 0
e8: 89 81 ldd r24, Y+1 ; 0x01
ea: 80 83 st Z, r24
ec: 89 81 ldd r24, Y+1 ; 0x01
ee: 8f 5f subi r24, 0xFF ; 255
f0: 89 83 std Y+1, r24 ; 0x01
}
f2: f8 cf rjmp .-16 ; 0xe4 <main+0x16>
---------- end ----------
Další informace o konferenci Hw-list