1 | main.elf: file format elf32-avr
|
2 |
|
3 | Sections:
|
4 | Idx Name Size VMA LMA File off Algn
|
5 | 0 .text 000000b0 00000000 00000000 00000074 2**1
|
6 | CONTENTS, ALLOC, LOAD, READONLY, CODE
|
7 | 1 .bss 00000001 00800060 00800060 00000124 2**0
|
8 | ALLOC
|
9 | 2 .debug_aranges 00000020 00000000 00000000 00000124 2**0
|
10 | CONTENTS, READONLY, DEBUGGING
|
11 | 3 .debug_pubnames 00000026 00000000 00000000 00000144 2**0
|
12 | CONTENTS, READONLY, DEBUGGING
|
13 | 4 .debug_info 00000137 00000000 00000000 0000016a 2**0
|
14 | CONTENTS, READONLY, DEBUGGING
|
15 | 5 .debug_abbrev 000000d0 00000000 00000000 000002a1 2**0
|
16 | CONTENTS, READONLY, DEBUGGING
|
17 | 6 .debug_line 00000135 00000000 00000000 00000371 2**0
|
18 | CONTENTS, READONLY, DEBUGGING
|
19 | 7 .debug_frame 00000020 00000000 00000000 000004a8 2**2
|
20 | CONTENTS, READONLY, DEBUGGING
|
21 | 8 .debug_str 000000b2 00000000 00000000 000004c8 2**0
|
22 | CONTENTS, READONLY, DEBUGGING
|
23 | 9 .debug_loc 00000018 00000000 00000000 0000057a 2**0
|
24 | CONTENTS, READONLY, DEBUGGING
|
25 |
|
26 | Disassembly of section .text:
|
27 |
|
28 | 00000000 <__vectors>:
|
29 | 0: 0c 94 2a 00 jmp 0x54 ; 0x54 <__ctors_end>
|
30 | 4: 0c 94 3c 00 jmp 0x78 ; 0x78 <__bad_interrupt>
|
31 | 8: 0c 94 3c 00 jmp 0x78 ; 0x78 <__bad_interrupt>
|
32 | c: 0c 94 3c 00 jmp 0x78 ; 0x78 <__bad_interrupt>
|
33 | 10: 0c 94 3c 00 jmp 0x78 ; 0x78 <__bad_interrupt>
|
34 | 14: 0c 94 3c 00 jmp 0x78 ; 0x78 <__bad_interrupt>
|
35 | 18: 0c 94 3c 00 jmp 0x78 ; 0x78 <__bad_interrupt>
|
36 | 1c: 0c 94 3c 00 jmp 0x78 ; 0x78 <__bad_interrupt>
|
37 | 20: 0c 94 3c 00 jmp 0x78 ; 0x78 <__bad_interrupt>
|
38 | 24: 0c 94 3c 00 jmp 0x78 ; 0x78 <__bad_interrupt>
|
39 | 28: 0c 94 3c 00 jmp 0x78 ; 0x78 <__bad_interrupt>
|
40 | 2c: 0c 94 3c 00 jmp 0x78 ; 0x78 <__bad_interrupt>
|
41 | 30: 0c 94 3c 00 jmp 0x78 ; 0x78 <__bad_interrupt>
|
42 | 34: 0c 94 3c 00 jmp 0x78 ; 0x78 <__bad_interrupt>
|
43 | 38: 0c 94 3c 00 jmp 0x78 ; 0x78 <__bad_interrupt>
|
44 | 3c: 0c 94 3c 00 jmp 0x78 ; 0x78 <__bad_interrupt>
|
45 | 40: 0c 94 3c 00 jmp 0x78 ; 0x78 <__bad_interrupt>
|
46 | 44: 0c 94 3c 00 jmp 0x78 ; 0x78 <__bad_interrupt>
|
47 | 48: 0c 94 3c 00 jmp 0x78 ; 0x78 <__bad_interrupt>
|
48 | 4c: 0c 94 3c 00 jmp 0x78 ; 0x78 <__bad_interrupt>
|
49 | 50: 0c 94 3c 00 jmp 0x78 ; 0x78 <__bad_interrupt>
|
50 |
|
51 | 00000054 <__ctors_end>:
|
52 | 54: 11 24 eor r1, r1
|
53 | 56: 1f be out 0x3f, r1 ; 63
|
54 | 58: cf e5 ldi r28, 0x5F ; 95
|
55 | 5a: d8 e0 ldi r29, 0x08 ; 8
|
56 | 5c: de bf out 0x3e, r29 ; 62
|
57 | 5e: cd bf out 0x3d, r28 ; 61
|
58 |
|
59 | 00000060 <__do_clear_bss>:
|
60 | 60: 10 e0 ldi r17, 0x00 ; 0
|
61 | 62: a0 e6 ldi r26, 0x60 ; 96
|
62 | 64: b0 e0 ldi r27, 0x00 ; 0
|
63 | 66: 01 c0 rjmp .+2 ; 0x6a <.do_clear_bss_start>
|
64 |
|
65 | 00000068 <.do_clear_bss_loop>:
|
66 | 68: 1d 92 st X+, r1
|
67 |
|
68 | 0000006a <.do_clear_bss_start>:
|
69 | 6a: a1 36 cpi r26, 0x61 ; 97
|
70 | 6c: b1 07 cpc r27, r17
|
71 | 6e: e1 f7 brne .-8 ; 0x68 <.do_clear_bss_loop>
|
72 | 70: 0e 94 3e 00 call 0x7c ; 0x7c <main>
|
73 | 74: 0c 94 56 00 jmp 0xac ; 0xac <_exit>
|
74 |
|
75 | 00000078 <__bad_interrupt>:
|
76 | 78: 0c 94 00 00 jmp 0 ; 0x0 <__vectors>
|
77 |
|
78 | 0000007c <main>:
|
79 |
|
80 |
|
81 | int main (void) {
|
82 |
|
83 |
|
84 | DDRD |= ((1 << PD5) | (1 << PD6) | (1 << PD4)); // Ausgangsports setzen
|
85 | 7c: 81 b3 in r24, 0x11 ; 17
|
86 | 7e: 80 67 ori r24, 0x70 ; 112
|
87 | 80: 81 bb out 0x11, r24 ; 17
|
88 | 82: 88 e9 ldi r24, 0x98 ; 152
|
89 | 84: 9a e3 ldi r25, 0x3A ; 58
|
90 | milliseconds can be achieved.
|
91 | */
|
92 | void
|
93 | _delay_loop_2(uint16_t __count)
|
94 | {
|
95 | __asm__ volatile (
|
96 | 86: 20 e9 ldi r18, 0x90 ; 144
|
97 | 88: 31 e0 ldi r19, 0x01 ; 1
|
98 | 8a: f9 01 movw r30, r18
|
99 | 8c: 31 97 sbiw r30, 0x01 ; 1
|
100 | 8e: f1 f7 brne .-4 ; 0x8c <main+0x10>
|
101 | __ticks = (uint16_t) (__ms * 10.0);
|
102 | while(__ticks)
|
103 | {
|
104 | // wait 1/10 ms
|
105 | _delay_loop_2(((F_CPU) / 4e3) / 10);
|
106 | __ticks --;
|
107 | 90: 01 97 sbiw r24, 0x01 ; 1
|
108 | __ticks = 1;
|
109 | else if (__tmp > 65535)
|
110 | {
|
111 | // __ticks = requested delay in 1/10 ms
|
112 | __ticks = (uint16_t) (__ms * 10.0);
|
113 | while(__ticks)
|
114 | 92: d9 f7 brne .-10 ; 0x8a <main+0xe>
|
115 | _delay_ms(1500); // kurze Verzögerung
|
116 |
|
117 |
|
118 | while(1) { // Hauptschleife
|
119 |
|
120 | if (PIND & (1 << PD3)) // Taster an Pin 3 abfragen
|
121 | 94: 83 9b sbis 0x10, 3 ; 16
|
122 | 96: 02 c0 rjmp .+4 ; 0x9c <main+0x20>
|
123 | {
|
124 | PORTD &= ~(1<<PD5); // LED an Pin 5 aus
|
125 | 98: 95 98 cbi 0x12, 5 ; 18
|
126 | 9a: 01 c0 rjmp .+2 ; 0x9e <main+0x22>
|
127 | }
|
128 |
|
129 | else
|
130 | {
|
131 | PORTD |= (1<<PD5); // LED an Pin 5 an
|
132 | 9c: 95 9a sbi 0x12, 5 ; 18
|
133 | }
|
134 |
|
135 |
|
136 | if (DCFErr == 1)
|
137 | 9e: 80 91 60 00 lds r24, 0x0060
|
138 | a2: 81 30 cpi r24, 0x01 ; 1
|
139 | a4: b9 f7 brne .-18 ; 0x94 <main+0x18>
|
140 | {
|
141 | DCFErr = 0;
|
142 | a6: 10 92 60 00 sts 0x0060, r1
|
143 | aa: f4 cf rjmp .-24 ; 0x94 <main+0x18>
|
144 |
|
145 | 000000ac <_exit>:
|
146 | ac: f8 94 cli
|
147 |
|
148 | 000000ae <__stop_program>:
|
149 | ae: ff cf rjmp .-2 ; 0xae <__stop_program>
|