213 |
miho |
1 |
|
|
|
2 |
BLIK_ATmega8.elf: file format elf32-avr |
|
|
3 |
|
|
|
4 |
Sections: |
|
|
5 |
Idx Name Size VMA LMA File off Algn |
|
|
6 |
|
|
|
7 |
CONTENTS, ALLOC, LOAD, READONLY, CODE |
|
|
8 |
1 .data 00000000 00800060 0000009c 00000130 2**0 |
|
|
9 |
CONTENTS, ALLOC, LOAD, DATA |
|
|
10 |
2 .bss 00000000 00800060 0000009c 00000130 2**0 |
|
|
11 |
ALLOC |
|
|
12 |
3 .noinit 00000000 00800060 00800060 00000130 2**0 |
|
|
13 |
CONTENTS |
|
|
14 |
4 .eeprom 00000000 00810000 00810000 00000130 2**0 |
|
|
15 |
CONTENTS |
|
|
16 |
5 .debug_aranges 00000014 00000000 00000000 00000130 2**0 |
|
|
17 |
CONTENTS, READONLY, DEBUGGING |
|
|
18 |
6 .debug_pubnames 00000029 00000000 00000000 00000144 2**0 |
|
|
19 |
CONTENTS, READONLY, DEBUGGING |
|
|
20 |
7 .debug_info 0000012f 00000000 00000000 0000016d 2**0 |
|
|
21 |
CONTENTS, READONLY, DEBUGGING |
|
|
22 |
8 .debug_abbrev 000000c8 00000000 00000000 0000029c 2**0 |
|
|
23 |
CONTENTS, READONLY, DEBUGGING |
|
|
24 |
9 .debug_line 000000f7 00000000 00000000 00000364 2**0 |
|
|
25 |
CONTENTS, READONLY, DEBUGGING |
|
|
26 |
10 .debug_str 000000e0 00000000 00000000 0000045b 2**0 |
|
|
27 |
CONTENTS, READONLY, DEBUGGING |
|
|
28 |
Disassembly of section .text: |
|
|
29 |
|
|
|
30 |
00000000 <__vectors>: |
|
|
31 |
0: 12 c0 rjmp .+36 ; 0x26 |
|
|
32 |
2: 2b c0 rjmp .+86 ; 0x5a |
|
|
33 |
4: 2a c0 rjmp .+84 ; 0x5a |
|
|
34 |
6: 29 c0 rjmp .+82 ; 0x5a |
|
|
35 |
8: 28 c0 rjmp .+80 ; 0x5a |
|
|
36 |
a: 27 c0 rjmp .+78 ; 0x5a |
|
|
37 |
c: 26 c0 rjmp .+76 ; 0x5a |
|
|
38 |
e: 25 c0 rjmp .+74 ; 0x5a |
|
|
39 |
10: 24 c0 rjmp .+72 ; 0x5a |
|
|
40 |
12: 23 c0 rjmp .+70 ; 0x5a |
|
|
41 |
14: 22 c0 rjmp .+68 ; 0x5a |
|
|
42 |
16: 21 c0 rjmp .+66 ; 0x5a |
|
|
43 |
18: 20 c0 rjmp .+64 ; 0x5a |
|
|
44 |
1a: 1f c0 rjmp .+62 ; 0x5a |
|
|
45 |
1c: 1e c0 rjmp .+60 ; 0x5a |
|
|
46 |
1e: 1d c0 rjmp .+58 ; 0x5a |
|
|
47 |
20: 1c c0 rjmp .+56 ; 0x5a |
|
|
48 |
22: 1b c0 rjmp .+54 ; 0x5a |
|
|
49 |
24: 1a c0 rjmp .+52 ; 0x5a |
|
|
50 |
|
|
|
51 |
00000026 <__ctors_end>: |
|
|
52 |
26: 11 24 eor r1, r1 |
|
|
53 |
28: 1f be out 0x3f, r1 ; 63 |
|
|
54 |
2a: cf e5 ldi r28, 0x5F ; 95 |
|
|
55 |
2c: d4 e0 ldi r29, 0x04 ; 4 |
|
|
56 |
2e: de bf out 0x3e, r29 ; 62 |
|
|
57 |
30: cd bf out 0x3d, r28 ; 61 |
|
|
58 |
|
|
|
59 |
00000032 <__do_copy_data>: |
|
|
60 |
32: 10 e0 ldi r17, 0x00 ; 0 |
|
|
61 |
34: a0 e6 ldi r26, 0x60 ; 96 |
|
|
62 |
36: b0 e0 ldi r27, 0x00 ; 0 |
|
|
63 |
38: ec e9 ldi r30, 0x9C ; 156 |
|
|
64 |
3a: f0 e0 ldi r31, 0x00 ; 0 |
|
|
65 |
3c: 02 c0 rjmp .+4 ; 0x42 |
|
|
66 |
|
|
|
67 |
0000003e <.do_copy_data_loop>: |
|
|
68 |
3e: 05 90 lpm r0, Z+ |
|
|
69 |
40: 0d 92 st X+, r0 |
|
|
70 |
|
|
|
71 |
00000042 <.do_copy_data_start>: |
|
|
72 |
42: a0 36 cpi r26, 0x60 ; 96 |
|
|
73 |
44: b1 07 cpc r27, r17 |
|
|
74 |
46: d9 f7 brne .-10 ; 0x3e |
|
|
75 |
|
|
|
76 |
00000048 <__do_clear_bss>: |
|
|
77 |
48: 10 e0 ldi r17, 0x00 ; 0 |
|
|
78 |
4a: a0 e6 ldi r26, 0x60 ; 96 |
|
|
79 |
4c: b0 e0 ldi r27, 0x00 ; 0 |
|
|
80 |
4e: 01 c0 rjmp .+2 ; 0x52 |
|
|
81 |
|
|
|
82 |
00000050 <.do_clear_bss_loop>: |
|
|
83 |
50: 1d 92 st X+, r1 |
|
|
84 |
|
|
|
85 |
00000052 <.do_clear_bss_start>: |
|
|
86 |
52: a0 36 cpi r26, 0x60 ; 96 |
|
|
87 |
54: b1 07 cpc r27, r17 |
|
|
88 |
56: e1 f7 brne .-8 ; 0x50 |
|
|
89 |
58: 13 c0 rjmp .+38 ; 0x80 |
|
|
90 |
|
|
|
91 |
0000005a <__bad_interrupt>: |
|
|
92 |
5a: d2 cf rjmp .-92 ; 0x0 |
|
|
93 |
|
|
|
94 |
0000005c <xDelay_ms>: |
|
|
95 |
#include <avr/delay.h> |
|
|
96 |
|
|
|
97 |
// Spozdeni o libovolny pocet ms |
|
|
98 |
void xDelay_ms(unsigned int Time) |
|
|
99 |
{ |
|
|
100 |
5c: cf 93 push r28 |
|
|
101 |
5e: df 93 push r29 |
|
|
102 |
60: 9c 01 movw r18, r24 |
|
|
103 |
for(;Time!=0;Time--) |
|
|
104 |
62: 89 2b or r24, r25 |
|
|
105 |
64: 51 f0 breq .+20 ; 0x7a |
|
|
106 |
66: aa ef ldi r26, 0xFA ; 250 |
|
|
107 |
68: b0 e0 ldi r27, 0x00 ; 0 |
|
|
108 |
6a: c0 e0 ldi r28, 0x00 ; 0 |
|
|
109 |
6c: d0 e0 ldi r29, 0x00 ; 0 |
|
|
110 |
*/ |
|
|
111 |
static __inline__ void |
|
|
112 |
_delay_loop_2(uint16_t __count) |
|
|
113 |
{ |
|
|
114 |
__asm__ volatile ( |
|
|
115 |
6e: cd 01 movw r24, r26 |
|
|
116 |
70: 01 97 sbiw r24, 0x01 ; 1 |
|
|
117 |
72: f1 f7 brne .-4 ; 0x70 |
|
|
118 |
74: 21 50 subi r18, 0x01 ; 1 |
|
|
119 |
76: 30 40 sbci r19, 0x00 ; 0 |
|
|
120 |
78: d1 f7 brne .-12 ; 0x6e |
|
|
121 |
7a: df 91 pop r29 |
|
|
122 |
7c: cf 91 pop r28 |
|
|
123 |
7e: 08 95 ret |
|
|
124 |
|
|
|
125 |
00000080 <main>: |
|
|
126 |
_delay_ms(1); // Knihovni procedura ma velmi omezen |
|
|
127 |
} // maximalni cas spozdeni |
|
|
128 |
|
|
|
129 |
|
|
|
130 |
// Hlavni program |
|
|
131 |
int main() |
|
|
132 |
{ |
|
|
133 |
80: cf e5 ldi r28, 0x5F ; 95 |
|
|
134 |
82: d4 e0 ldi r29, 0x04 ; 4 |
|
|
135 |
84: de bf out 0x3e, r29 ; 62 |
|
|
136 |
86: cd bf out 0x3d, r28 ; 61 |
|
|
137 |
|
|
|
138 |
DDRC |=1; // Nastav port PCD0 jako vystup |
|
|
139 |
88: a0 9a sbi 0x14, 0 ; 20 |
|
|
140 |
|
|
|
141 |
for(;;) // Nekonecna smycka |
|
|
142 |
{ |
|
|
143 |
PORTC |= 1; // Nastav 1 |
|
|
144 |
8a: a8 9a sbi 0x15, 0 ; 21 |
|
|
145 |
xDelay_ms(500); // Pockej 1/2 sekundy |
|
|
146 |
8c: 84 ef ldi r24, 0xF4 ; 244 |
|
|
147 |
8e: 91 e0 ldi r25, 0x01 ; 1 |
|
|
148 |
90: e5 df rcall .-54 ; 0x5c |
|
|
149 |
PORTC &= ~1; // Nastav 0 |
|
|
150 |
92: a8 98 cbi 0x15, 0 ; 21 |
|
|
151 |
xDelay_ms(500); // Pockej 1/2 sekundy |
|
|
152 |
94: 84 ef ldi r24, 0xF4 ; 244 |
|
|
153 |
96: 91 e0 ldi r25, 0x01 ; 1 |
|
|
154 |
98: e1 df rcall .-62 ; 0x5c |
|
|
155 |
9a: f7 cf rjmp .-18 ; 0x8a |