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