main.elf: file format elf32-avr Sections: Idx Name Size VMA LMA File off Algn 0 .data 00000020 00800100 00000182 000001f6 2**0 CONTENTS, ALLOC, LOAD, DATA 1 .text 00000182 00000000 00000000 00000074 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE 2 .comment 00000011 00000000 00000000 00000216 2**0 CONTENTS, READONLY 3 .debug_aranges 00000028 00000000 00000000 00000227 2**0 CONTENTS, READONLY, DEBUGGING 4 .debug_info 00000340 00000000 00000000 0000024f 2**0 CONTENTS, READONLY, DEBUGGING 5 .debug_abbrev 00000168 00000000 00000000 0000058f 2**0 CONTENTS, READONLY, DEBUGGING 6 .debug_line 00000117 00000000 00000000 000006f7 2**0 CONTENTS, READONLY, DEBUGGING 7 .debug_frame 00000060 00000000 00000000 00000810 2**2 CONTENTS, READONLY, DEBUGGING 8 .debug_str 00000153 00000000 00000000 00000870 2**0 CONTENTS, READONLY, DEBUGGING 9 .debug_loc 000000bf 00000000 00000000 000009c3 2**0 CONTENTS, READONLY, DEBUGGING 10 .debug_ranges 00000018 00000000 00000000 00000a82 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: 00000000 <__vectors>: 0: 0c 94 34 00 jmp 0x68 ; 0x68 <__ctors_end> 4: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt> 8: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt> c: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt> 10: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt> 14: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt> 18: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt> 1c: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt> 20: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt> 24: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt> 28: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt> 2c: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt> 30: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt> 34: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt> 38: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt> 3c: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt> 40: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt> 44: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt> 48: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt> 4c: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt> 50: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt> 54: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt> 58: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt> 5c: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt> 60: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt> 64: 0c 94 49 00 jmp 0x92 ; 0x92 <__bad_interrupt> 00000068 <__ctors_end>: 68: 11 24 eor r1, r1 6a: 1f be out 0x3f, r1 ; 63 6c: cf ef ldi r28, 0xFF ; 255 6e: d4 e0 ldi r29, 0x04 ; 4 70: de bf out 0x3e, r29 ; 62 72: cd bf out 0x3d, r28 ; 61 00000074 <__do_copy_data>: 74: 11 e0 ldi r17, 0x01 ; 1 76: a0 e0 ldi r26, 0x00 ; 0 78: b1 e0 ldi r27, 0x01 ; 1 7a: e2 e8 ldi r30, 0x82 ; 130 7c: f1 e0 ldi r31, 0x01 ; 1 7e: 02 c0 rjmp .+4 ; 0x84 <__do_copy_data+0x10> 80: 05 90 lpm r0, Z+ 82: 0d 92 st X+, r0 84: a0 32 cpi r26, 0x20 ; 32 86: b1 07 cpc r27, r17 88: d9 f7 brne .-10 ; 0x80 <__do_copy_data+0xc> 8a: 0e 94 71 00 call 0xe2 ; 0xe2
8e: 0c 94 bf 00 jmp 0x17e ; 0x17e <_exit> 00000092 <__bad_interrupt>: 92: 0c 94 00 00 jmp 0 ; 0x0 <__vectors> 00000096 : /* fine definizioni per il m168p*/ /* Inizializza la porta seriale */ void uart_init(void) { UBRRH = UBRRH_VALUE; 96: 10 92 c5 00 sts 0x00C5, r1 UBRRL = UBRRL_VALUE; 9a: 83 e3 ldi r24, 0x33 ; 51 9c: 80 93 c4 00 sts 0x00C4, r24 #if USE_2X0 UCSRA |= (1 << U2X); #else UCSRA &= ~(1 << U2X); a0: e0 ec ldi r30, 0xC0 ; 192 a2: f0 e0 ldi r31, 0x00 ; 0 a4: 80 81 ld r24, Z a6: 8d 7f andi r24, 0xFD ; 253 a8: 80 83 st Z, r24 #endif UCSRC= _BV(UCSZ01) | _BV(UCSZ00); // 8 N 1 aa: 86 e0 ldi r24, 0x06 ; 6 ac: 80 93 c2 00 sts 0x00C2, r24 UCSRB= (1<: } /* uart_putc(): scrive un carattere sulla porta seriale*/ int uart_putc(unsigned char c) { while (!(UCSRA & (1< } UDR = c; /* sende Zeichen */ c0: 80 93 c6 00 sts 0x00C6, r24 return 0; } c4: 80 e0 ldi r24, 0x00 ; 0 c6: 90 e0 ldi r25, 0x00 ; 0 c8: 08 95 ret 000000ca : /* uart_puts(): scrive una stringa sulla porta seriale*/ void uart_puts (char *s) { ca: cf 93 push r28 cc: df 93 push r29 ce: ec 01 movw r28, r24 while (*s) { d0: 89 91 ld r24, Y+ d2: 88 23 and r24, r24 d4: 19 f0 breq .+6 ; 0xdc uart_putc(*s); d6: 0e 94 5c 00 call 0xb8 ; 0xb8 da: fa cf rjmp .-12 ; 0xd0 s++; } } dc: df 91 pop r29 de: cf 91 pop r28 e0: 08 95 ret 000000e2
: /* Main - Programma principale*/ int main (void) { unsigned char zwischenspeicher; DDRC = 0b00000001; e2: 81 e0 ldi r24, 0x01 ; 1 e4: 87 b9 out 0x07, r24 ; 7 uart_init(); e6: 0e 94 4b 00 call 0x96 ; 0x96 #else //round up by default __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); #endif __builtin_avr_delay_cycles(__ticks_dc); ea: 2f ef ldi r18, 0xFF ; 255 ec: 3d e3 ldi r19, 0x3D ; 61 ee: 89 e4 ldi r24, 0x49 ; 73 f0: 21 50 subi r18, 0x01 ; 1 f2: 30 40 sbci r19, 0x00 ; 0 f4: 80 40 sbci r24, 0x00 ; 0 f6: e1 f7 brne .-8 ; 0xf0 f8: 00 c0 rjmp .+0 ; 0xfa fa: 00 00 nop _delay_ms(3000); uart_puts("CL"); fc: 80 e0 ldi r24, 0x00 ; 0 fe: 91 e0 ldi r25, 0x01 ; 1 100: 0e 94 65 00 call 0xca ; 0xca uart_puts("DSS"); 104: 83 e0 ldi r24, 0x03 ; 3 106: 91 e0 ldi r25, 0x01 ; 1 108: 0e 94 65 00 call 0xca ; 0xca uart_putc(0); 10c: 80 e0 ldi r24, 0x00 ; 0 10e: 0e 94 5c 00 call 0xb8 ; 0xb8 uart_puts("TT* Love Silvia *\n"); 112: 87 e0 ldi r24, 0x07 ; 7 114: 91 e0 ldi r25, 0x01 ; 1 116: 0e 94 65 00 call 0xca ; 0xca uart_puts("TRT"); 11a: 8b e1 ldi r24, 0x1B ; 27 11c: 91 e0 ldi r25, 0x01 ; 1 11e: 0e 94 65 00 call 0xca ; 0xca uart_puts("TT* Love Silvia *\n"); 122: 87 e0 ldi r24, 0x07 ; 7 124: 91 e0 ldi r25, 0x01 ; 1 126: 0e 94 65 00 call 0xca ; 0xca uart_puts("TRT"); 12a: 8b e1 ldi r24, 0x1B ; 27 12c: 91 e0 ldi r25, 0x01 ; 1 12e: 0e 94 65 00 call 0xca ; 0xca uart_puts("TT* Love Silvia *\n"); 132: 87 e0 ldi r24, 0x07 ; 7 134: 91 e0 ldi r25, 0x01 ; 1 136: 0e 94 65 00 call 0xca ; 0xca uart_puts("TRT"); 13a: 8b e1 ldi r24, 0x1B ; 27 13c: 91 e0 ldi r25, 0x01 ; 1 13e: 0e 94 65 00 call 0xca ; 0xca uart_puts("TT* Love Silvia *\n"); 142: 87 e0 ldi r24, 0x07 ; 7 144: 91 e0 ldi r25, 0x01 ; 1 146: 0e 94 65 00 call 0xca ; 0xca uart_puts("TRT"); 14a: 8b e1 ldi r24, 0x1B ; 27 14c: 91 e0 ldi r25, 0x01 ; 1 14e: 0e 94 65 00 call 0xca ; 0xca uart_puts("TT* Love Silvia *\n"); 152: 87 e0 ldi r24, 0x07 ; 7 154: 91 e0 ldi r25, 0x01 ; 1 156: 0e 94 65 00 call 0xca ; 0xca uart_puts("TRT"); 15a: 8b e1 ldi r24, 0x1B ; 27 15c: 91 e0 ldi r25, 0x01 ; 1 15e: 0e 94 65 00 call 0xca ; 0xca uart_puts("TT12345678901234\n"); */ while(1) { zwischenspeicher = PORTC; zwischenspeicher = zwischenspeicher ^ 0b00000001; 162: 91 e0 ldi r25, 0x01 ; 1 uart_puts("TRT"); uart_puts("TT12345678901234\n"); */ while(1) { zwischenspeicher = PORTC; 164: 88 b1 in r24, 0x08 ; 8 zwischenspeicher = zwischenspeicher ^ 0b00000001; 166: 89 27 eor r24, r25 PORTC = zwischenspeicher; 168: 88 b9 out 0x08, r24 ; 8 16a: 2f ef ldi r18, 0xFF ; 255 16c: 34 e3 ldi r19, 0x34 ; 52 16e: 8c e0 ldi r24, 0x0C ; 12 170: 21 50 subi r18, 0x01 ; 1 172: 30 40 sbci r19, 0x00 ; 0 174: 80 40 sbci r24, 0x00 ; 0 176: e1 f7 brne .-8 ; 0x170 178: 00 c0 rjmp .+0 ; 0x17a 17a: 00 00 nop 17c: f3 cf rjmp .-26 ; 0x164 0000017e <_exit>: 17e: f8 94 cli 00000180 <__stop_program>: 180: ff cf rjmp .-2 ; 0x180 <__stop_program>