Zeitschaltung.elf: file format elf32-avr Sections: Idx Name Size VMA LMA File off Algn 0 .text 0000017c 00000000 00000000 00000054 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE 1 .stab 000006b4 00000000 00000000 000001d0 2**2 CONTENTS, READONLY, DEBUGGING 2 .stabstr 00000085 00000000 00000000 00000884 2**0 CONTENTS, READONLY, DEBUGGING 3 .debug_aranges 00000040 00000000 00000000 00000909 2**0 CONTENTS, READONLY, DEBUGGING 4 .debug_pubnames 0000008f 00000000 00000000 00000949 2**0 CONTENTS, READONLY, DEBUGGING 5 .debug_info 0000059f 00000000 00000000 000009d8 2**0 CONTENTS, READONLY, DEBUGGING 6 .debug_abbrev 00000262 00000000 00000000 00000f77 2**0 CONTENTS, READONLY, DEBUGGING 7 .debug_line 00000441 00000000 00000000 000011d9 2**0 CONTENTS, READONLY, DEBUGGING 8 .debug_frame 000000a0 00000000 00000000 0000161c 2**2 CONTENTS, READONLY, DEBUGGING 9 .debug_str 00000187 00000000 00000000 000016bc 2**0 CONTENTS, READONLY, DEBUGGING 10 .debug_loc 000001f1 00000000 00000000 00001843 2**0 CONTENTS, READONLY, DEBUGGING 11 .debug_pubtypes 00000070 00000000 00000000 00001a34 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: 00000000 <__vectors>: 0: 09 c0 rjmp .+18 ; 0x14 <__ctors_end> 2: 25 c0 rjmp .+74 ; 0x4e <__vector_1> 4: 0d c0 rjmp .+26 ; 0x20 <__bad_interrupt> 6: 0c c0 rjmp .+24 ; 0x20 <__bad_interrupt> 8: 0b c0 rjmp .+22 ; 0x20 <__bad_interrupt> a: 0a c0 rjmp .+20 ; 0x20 <__bad_interrupt> c: 09 c0 rjmp .+18 ; 0x20 <__bad_interrupt> e: 08 c0 rjmp .+16 ; 0x20 <__bad_interrupt> 10: 07 c0 rjmp .+14 ; 0x20 <__bad_interrupt> 12: 06 c0 rjmp .+12 ; 0x20 <__bad_interrupt> 00000014 <__ctors_end>: 14: 11 24 eor r1, r1 16: 1f be out 0x3f, r1 ; 63 18: cf e9 ldi r28, 0x9F ; 159 1a: cd bf out 0x3d, r28 ; 61 1c: 50 d0 rcall .+160 ; 0xbe
1e: ac c0 rjmp .+344 ; 0x178 <_exit> 00000020 <__bad_interrupt>: 20: ef cf rjmp .-34 ; 0x0 <__vectors> 00000022 : uint16_t adc_schlafen() { uint8_t value; uint16_t sum; //sleep_long(1000); ADCSRA |= (1< value = ADCL; //LOWER First 2c: 84 b1 in r24, 0x04 ; 4 value = ADCH; //THEN upper 2e: 85 b1 in r24, 0x05 ; 5 sum = value; ADCSRA &= ~(1< sum += 1000; 3a: 9c 01 movw r18, r24 3c: 28 51 subi r18, 0x18 ; 24 3e: 3c 4f sbci r19, 0xFC ; 252 return sum; } 40: c9 01 movw r24, r18 42: 08 95 ret 00000044 : void mosfet_an() { uint16_t sleep = adc_schlafen(); 44: ee df rcall .-36 ; 0x22 PORTB |= (1< PORTB &= ~(1<: ISR(INT0_vect) { 4e: 1f 92 push r1 50: 0f 92 push r0 52: 0f b6 in r0, 0x3f ; 63 54: 0f 92 push r0 56: 11 24 eor r1, r1 58: 2f 93 push r18 5a: 3f 93 push r19 5c: 4f 93 push r20 5e: 5f 93 push r21 60: 6f 93 push r22 62: 7f 93 push r23 64: 8f 93 push r24 66: 9f 93 push r25 68: af 93 push r26 6a: bf 93 push r27 6c: ef 93 push r30 6e: ff 93 push r31 #else //round up by default __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); #endif __builtin_avr_delay_cycles(__ticks_dc); 70: 8f ef ldi r24, 0xFF ; 255 72: 9d ee ldi r25, 0xED ; 237 74: a2 e0 ldi r26, 0x02 ; 2 76: 81 50 subi r24, 0x01 ; 1 78: 90 40 sbci r25, 0x00 ; 0 7a: a0 40 sbci r26, 0x00 ; 0 7c: e1 f7 brne .-8 ; 0x76 <__vector_1+0x28> 7e: 00 c0 rjmp .+0 ; 0x80 <__vector_1+0x32> 80: 00 00 nop _delay_ms(100); if (!(PINB & (1< PORTB |= (1< 8a: 8f ef ldi r24, 0xFF ; 255 8c: 9b e7 ldi r25, 0x7B ; 123 8e: a2 e9 ldi r26, 0x92 ; 146 90: 81 50 subi r24, 0x01 ; 1 92: 90 40 sbci r25, 0x00 ; 0 94: a0 40 sbci r26, 0x00 ; 0 96: e1 f7 brne .-8 ; 0x90 <__vector_1+0x42> 98: 00 c0 rjmp .+0 ; 0x9a <__vector_1+0x4c> 9a: 00 00 nop } //} //set_sleep_mode(SLEEP_MODE_IDLE); //sleep_mode(); } 9c: ff 91 pop r31 9e: ef 91 pop r30 a0: bf 91 pop r27 a2: af 91 pop r26 a4: 9f 91 pop r25 a6: 8f 91 pop r24 a8: 7f 91 pop r23 aa: 6f 91 pop r22 ac: 5f 91 pop r21 ae: 4f 91 pop r20 b0: 3f 91 pop r19 b2: 2f 91 pop r18 b4: 0f 90 pop r0 b6: 0f be out 0x3f, r0 ; 63 b8: 0f 90 pop r0 ba: 1f 90 pop r1 bc: 18 95 reti 000000be
: int main (void) { cli(); be: f8 94 cli DDRB |= (1< ea: 00 c0 rjmp .+0 ; 0xec ec: 00 00 nop _delay_ms(20); PORTB &= ~(1< fe: 00 c0 rjmp .+0 ; 0x100 100: 00 00 nop 102: ed cf rjmp .-38 ; 0xde 00000104 : 104: 07 c0 rjmp .+14 ; 0x114 106: ef e5 ldi r30, 0x5F ; 95 108: f9 e0 ldi r31, 0x09 ; 9 10a: 31 97 sbiw r30, 0x01 ; 1 10c: f1 f7 brne .-4 ; 0x10a 10e: 00 c0 rjmp .+0 ; 0x110 110: 00 00 nop 112: 81 50 subi r24, 0x01 ; 1 114: 88 23 and r24, r24 116: b9 f7 brne .-18 ; 0x106 118: 08 95 ret 0000011a : 11a: 07 c0 rjmp .+14 ; 0x12a 11c: ef e5 ldi r30, 0x5F ; 95 11e: f9 e0 ldi r31, 0x09 ; 9 120: 31 97 sbiw r30, 0x01 ; 1 122: f1 f7 brne .-4 ; 0x120 124: 00 c0 rjmp .+0 ; 0x126 126: 00 00 nop 128: 01 97 sbiw r24, 0x01 ; 1 12a: 00 97 sbiw r24, 0x00 ; 0 12c: b9 f7 brne .-18 ; 0x11c 12e: 08 95 ret 00000130 : 130: 05 c0 rjmp .+10 ; 0x13c #else //round up by default __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); #endif __builtin_avr_delay_cycles(__ticks_dc); 132: 93 e0 ldi r25, 0x03 ; 3 134: 9a 95 dec r25 136: f1 f7 brne .-4 ; 0x134 138: 00 00 nop 13a: 81 50 subi r24, 0x01 ; 1 13c: 88 23 and r24, r24 13e: c9 f7 brne .-14 ; 0x132 140: 08 95 ret 00000142 : 142: 05 c0 rjmp .+10 ; 0x14e 144: 23 e0 ldi r18, 0x03 ; 3 146: 2a 95 dec r18 148: f1 f7 brne .-4 ; 0x146 14a: 00 00 nop 14c: 01 97 sbiw r24, 0x01 ; 1 14e: 00 97 sbiw r24, 0x00 ; 0 150: c9 f7 brne .-14 ; 0x144 152: 08 95 ret 00000154 <__mulhi3>: 154: 55 27 eor r21, r21 156: 00 24 eor r0, r0 00000158 <__mulhi3_loop>: 158: 80 ff sbrs r24, 0 15a: 02 c0 rjmp .+4 ; 0x160 <__mulhi3_skip1> 15c: 06 0e add r0, r22 15e: 57 1f adc r21, r23 00000160 <__mulhi3_skip1>: 160: 66 0f add r22, r22 162: 77 1f adc r23, r23 164: 61 15 cp r22, r1 166: 71 05 cpc r23, r1 168: 21 f0 breq .+8 ; 0x172 <__mulhi3_exit> 16a: 96 95 lsr r25 16c: 87 95 ror r24 16e: 00 97 sbiw r24, 0x00 ; 0 170: 99 f7 brne .-26 ; 0x158 <__mulhi3_loop> 00000172 <__mulhi3_exit>: 172: 95 2f mov r25, r21 174: 80 2d mov r24, r0 176: 08 95 ret 00000178 <_exit>: 178: f8 94 cli 0000017a <__stop_program>: 17a: ff cf rjmp .-2 ; 0x17a <__stop_program>