1 | main.elf: file format elf32-avr
|
2 |
|
3 | Sections:
|
4 | Idx Name Size VMA LMA File off Algn
|
5 | 0 .text 000000e2 00000000 00000000 00000074 2**1
|
6 | CONTENTS, ALLOC, LOAD, READONLY, CODE
|
7 | 1 .bss 00000002 00800060 000000e2 00000156 2**0
|
8 | ALLOC
|
9 | 2 .stab 000006b4 00000000 00000000 00000158 2**2
|
10 | CONTENTS, READONLY, DEBUGGING
|
11 | 3 .stabstr 00000054 00000000 00000000 0000080c 2**0
|
12 | CONTENTS, READONLY, DEBUGGING
|
13 | 4 .debug_aranges 00000020 00000000 00000000 00000860 2**0
|
14 | CONTENTS, READONLY, DEBUGGING
|
15 | 5 .debug_pubnames 00000031 00000000 00000000 00000880 2**0
|
16 | CONTENTS, READONLY, DEBUGGING
|
17 | 6 .debug_info 0000009e 00000000 00000000 000008b1 2**0
|
18 | CONTENTS, READONLY, DEBUGGING
|
19 | 7 .debug_abbrev 0000006c 00000000 00000000 0000094f 2**0
|
20 | CONTENTS, READONLY, DEBUGGING
|
21 | 8 .debug_line 0000008b 00000000 00000000 000009bb 2**0
|
22 | CONTENTS, READONLY, DEBUGGING
|
23 | 9 .debug_frame 00000030 00000000 00000000 00000a48 2**2
|
24 | CONTENTS, READONLY, DEBUGGING
|
25 | 10 .debug_str 00000070 00000000 00000000 00000a78 2**0
|
26 | CONTENTS, READONLY, DEBUGGING
|
27 | Disassembly of section .text:
|
28 |
|
29 | 00000000 <__vectors>:
|
30 | 0: 0c 94 2a 00 jmp 0x54 ; 0x54 <__ctors_end>
|
31 | 4: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
|
32 | 8: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
|
33 | c: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
|
34 | 10: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
|
35 | 14: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
|
36 | 18: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
|
37 | 1c: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
|
38 | 20: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
|
39 | 24: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
|
40 | 28: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
|
41 | 2c: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
|
42 | 30: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
|
43 | 34: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
|
44 | 38: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
|
45 | 3c: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
|
46 | 40: 0c 94 4f 00 jmp 0x9e ; 0x9e <__vector_16>
|
47 | 44: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
|
48 | 48: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
|
49 | 4c: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
|
50 | 50: 0c 94 47 00 jmp 0x8e ; 0x8e <__bad_interrupt>
|
51 |
|
52 | 00000054 <__ctors_end>:
|
53 | 54: 11 24 eor r1, r1
|
54 | 56: 1f be out 0x3f, r1 ; 63
|
55 | 58: cf e5 ldi r28, 0x5F ; 95
|
56 | 5a: d4 e0 ldi r29, 0x04 ; 4
|
57 | 5c: de bf out 0x3e, r29 ; 62
|
58 | 5e: cd bf out 0x3d, r28 ; 61
|
59 |
|
60 | 00000060 <__do_copy_data>:
|
61 | 60: 10 e0 ldi r17, 0x00 ; 0
|
62 | 62: a0 e6 ldi r26, 0x60 ; 96
|
63 | 64: b0 e0 ldi r27, 0x00 ; 0
|
64 | 66: e2 ee ldi r30, 0xE2 ; 226
|
65 | 68: f0 e0 ldi r31, 0x00 ; 0
|
66 | 6a: 02 c0 rjmp .+4 ; 0x70 <.do_copy_data_start>
|
67 |
|
68 | 0000006c <.do_copy_data_loop>:
|
69 | 6c: 05 90 lpm r0, Z+
|
70 | 6e: 0d 92 st X+, r0
|
71 |
|
72 | 00000070 <.do_copy_data_start>:
|
73 | 70: a0 36 cpi r26, 0x60 ; 96
|
74 | 72: b1 07 cpc r27, r17
|
75 | 74: d9 f7 brne .-10 ; 0x6c <.do_copy_data_loop>
|
76 |
|
77 | 00000076 <__do_clear_bss>:
|
78 | 76: 10 e0 ldi r17, 0x00 ; 0
|
79 | 78: a0 e6 ldi r26, 0x60 ; 96
|
80 | 7a: b0 e0 ldi r27, 0x00 ; 0
|
81 | 7c: 01 c0 rjmp .+2 ; 0x80 <.do_clear_bss_start>
|
82 |
|
83 | 0000007e <.do_clear_bss_loop>:
|
84 | 7e: 1d 92 st X+, r1
|
85 |
|
86 | 00000080 <.do_clear_bss_start>:
|
87 | 80: a2 36 cpi r26, 0x62 ; 98
|
88 | 82: b1 07 cpc r27, r17
|
89 | 84: e1 f7 brne .-8 ; 0x7e <.do_clear_bss_loop>
|
90 | 86: 0e 94 49 00 call 0x92 ; 0x92 <main>
|
91 | 8a: 0c 94 6f 00 jmp 0xde ; 0xde <_exit>
|
92 |
|
93 | 0000008e <__bad_interrupt>:
|
94 | 8e: 0c 94 00 00 jmp 0 ; 0x0 <__heap_end>
|
95 |
|
96 | 00000092 <main>:
|
97 | #define cbi(var, mask) ((var) &= (uint8_t)~(1 << mask))
|
98 |
|
99 |
|
100 |
|
101 | volatile int z;
|
102 | int main() {
|
103 | 92: 88 e0 ldi r24, 0x08 ; 8
|
104 | 94: 88 b9 out 0x08, r24 ; 8
|
105 |
|
106 | ACSR = 1<<ACIE | 0<<ACIS1 | 0<<ACIS0;
|
107 | sei(); //Allow global interrupts
|
108 | 96: 78 94 sei
|
109 |
|
110 | DDRB = 1<<PB0;
|
111 | 98: 81 e0 ldi r24, 0x01 ; 1
|
112 | 9a: 87 bb out 0x17, r24 ; 23
|
113 | 9c: ff cf rjmp .-2 ; 0x9c <main+0xa>
|
114 |
|
115 | 0000009e <__vector_16>:
|
116 | while(1);
|
117 | return 1;
|
118 | }
|
119 |
|
120 | ISR(ANA_COMP_vect)
|
121 | {
|
122 | 9e: 1f 92 push r1
|
123 | a0: 0f 92 push r0
|
124 | a2: 0f b6 in r0, 0x3f ; 63
|
125 | a4: 0f 92 push r0
|
126 | a6: 11 24 eor r1, r1
|
127 | a8: 8f 93 push r24
|
128 | aa: 9f 93 push r25
|
129 |
|
130 | if(z=ACSR & 0x20) PORTB = 0<<PB0;
|
131 | ac: 88 b1 in r24, 0x08 ; 8
|
132 | ae: 90 e0 ldi r25, 0x00 ; 0
|
133 | b0: 80 72 andi r24, 0x20 ; 32
|
134 | b2: 90 70 andi r25, 0x00 ; 0
|
135 | b4: 90 93 61 00 sts 0x0061, r25
|
136 | b8: 80 93 60 00 sts 0x0060, r24
|
137 | bc: 80 91 60 00 lds r24, 0x0060
|
138 | c0: 90 91 61 00 lds r25, 0x0061
|
139 | c4: 89 2b or r24, r25
|
140 | c6: 11 f0 breq .+4 ; 0xcc <__vector_16+0x2e>
|
141 | c8: 18 ba out 0x18, r1 ; 24
|
142 | ca: 02 c0 rjmp .+4 ; 0xd0 <__vector_16+0x32>
|
143 | else PORTB =1<<PB0;
|
144 | cc: 81 e0 ldi r24, 0x01 ; 1
|
145 | ce: 88 bb out 0x18, r24 ; 24
|
146 | }
|
147 | d0: 9f 91 pop r25
|
148 | d2: 8f 91 pop r24
|
149 | d4: 0f 90 pop r0
|
150 | d6: 0f be out 0x3f, r0 ; 63
|
151 | d8: 0f 90 pop r0
|
152 | da: 1f 90 pop r1
|
153 | dc: 18 95 reti
|
154 |
|
155 | 000000de <_exit>:
|
156 | de: f8 94 cli
|
157 |
|
158 | 000000e0 <__stop_program>:
|
159 | e0: ff cf rjmp .-2 ; 0xe0 <__stop_program>
|