Gast
#180086
Hi, warum erzeugt WinAVR in der .lss Datei eigentlich nur zu einigen Funktionen ASM Code unter den jeweiligen C-Zeilen, in anderen nur ASM ?? Die Main Funktion ist zum Beispiel ein einziger ASM Block: 000000d4 <main>: d4: c7 e5 ldi r28, 0x57 ; 87 d6: d4 e0 ldi r29, 0x04 ; 4 d8: de bf out 0x3e, r29 ; 62 da: cd bf out 0x3d, r28 ; 61 dc: 0e 94 47 00 call 0x8e e0: 0e 94 c1 00 call 0x182 e4: 0e 94 8a 04 call 0x914 e8: 0e 94 10 05 call 0xa20 ec: c7 98 cbi 0x18, 7 ; 24 .... In der gleichen Datei etwas weiter unten: 00000182 <uart_init>: { unsigned char i; /* Baudrate einstellen */ UBRRH = (uint8_t) (UBRR_BAUD>>8); 182: 10 bc out 0x20, r1 ; 32 UBRRL = (uint8_t) UBRR_BAUD & 0x00FF; 184: 89 e1 ldi r24, 0x19 ; 25 186: 89 b9 out 0x09, r24 ; 9 .... Kann ich irgendwo einstellen, dass die Darstellung wie uart_init für alle Funktionen haben will ?? Ich finde das nämlich immer sehr nützlich um festzustellen wie Speicheraufwendig eine Funktion später in Assembler ist. MfG Fabian