BLIK_ATmega8.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 0000009c 00000000 00000000 00000094 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000000 00800060 0000009c 00000130 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000000 00800060 0000009c 00000130 2**0
ALLOC
3 .noinit 00000000 00800060 00800060 00000130 2**0
CONTENTS
4 .eeprom 00000000 00810000 00810000 00000130 2**0
CONTENTS
5 .debug_aranges 00000014 00000000 00000000 00000130 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_pubnames 00000029 00000000 00000000 00000144 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_info 0000012f 00000000 00000000 0000016d 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_abbrev 000000c8 00000000 00000000 0000029c 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_line 000000f7 00000000 00000000 00000364 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_str 000000e0 00000000 00000000 0000045b 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 12 c0 rjmp .+36 ; 0x26
2: 2b c0 rjmp .+86 ; 0x5a
4: 2a c0 rjmp .+84 ; 0x5a
6: 29 c0 rjmp .+82 ; 0x5a
8: 28 c0 rjmp .+80 ; 0x5a
a: 27 c0 rjmp .+78 ; 0x5a
c: 26 c0 rjmp .+76 ; 0x5a
e: 25 c0 rjmp .+74 ; 0x5a
10: 24 c0 rjmp .+72 ; 0x5a
12: 23 c0 rjmp .+70 ; 0x5a
14: 22 c0 rjmp .+68 ; 0x5a
16: 21 c0 rjmp .+66 ; 0x5a
18: 20 c0 rjmp .+64 ; 0x5a
1a: 1f c0 rjmp .+62 ; 0x5a
1c: 1e c0 rjmp .+60 ; 0x5a
1e: 1d c0 rjmp .+58 ; 0x5a
20: 1c c0 rjmp .+56 ; 0x5a
22: 1b c0 rjmp .+54 ; 0x5a
24: 1a c0 rjmp .+52 ; 0x5a
00000026 <__ctors_end>:
26: 11 24 eor r1, r1
28: 1f be out 0x3f, r1 ; 63
2a: cf e5 ldi r28, 0x5F ; 95
2c: d4 e0 ldi r29, 0x04 ; 4
2e: de bf out 0x3e, r29 ; 62
30: cd bf out 0x3d, r28 ; 61
00000032 <__do_copy_data>:
32: 10 e0 ldi r17, 0x00 ; 0
34: a0 e6 ldi r26, 0x60 ; 96
36: b0 e0 ldi r27, 0x00 ; 0
38: ec e9 ldi r30, 0x9C ; 156
3a: f0 e0 ldi r31, 0x00 ; 0
3c: 02 c0 rjmp .+4 ; 0x42
0000003e <.do_copy_data_loop>:
3e: 05 90 lpm r0, Z+
40: 0d 92 st X+, r0
00000042 <.do_copy_data_start>:
42: a0 36 cpi r26, 0x60 ; 96
44: b1 07 cpc r27, r17
46: d9 f7 brne .-10 ; 0x3e
00000048 <__do_clear_bss>:
48: 10 e0 ldi r17, 0x00 ; 0
4a: a0 e6 ldi r26, 0x60 ; 96
4c: b0 e0 ldi r27, 0x00 ; 0
4e: 01 c0 rjmp .+2 ; 0x52
00000050 <.do_clear_bss_loop>:
50: 1d 92 st X+, r1
00000052 <.do_clear_bss_start>:
52: a0 36 cpi r26, 0x60 ; 96
54: b1 07 cpc r27, r17
56: e1 f7 brne .-8 ; 0x50
58: 13 c0 rjmp .+38 ; 0x80
0000005a <__bad_interrupt>:
5a: d2 cf rjmp .-92 ; 0x0
0000005c <xDelay_ms>:
#include <avr/delay.h>
// Spozdeni o libovolny pocet ms
void xDelay_ms(unsigned int Time)
{
5c: cf 93 push r28
5e: df 93 push r29
60: 9c 01 movw r18, r24
for(;Time!=0;Time--)
62: 89 2b or r24, r25
64: 51 f0 breq .+20 ; 0x7a
66: aa ef ldi r26, 0xFA ; 250
68: b0 e0 ldi r27, 0x00 ; 0
6a: c0 e0 ldi r28, 0x00 ; 0
6c: d0 e0 ldi r29, 0x00 ; 0
*/
static __inline__ void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
6e: cd 01 movw r24, r26
70: 01 97 sbiw r24, 0x01 ; 1
72: f1 f7 brne .-4 ; 0x70
74: 21 50 subi r18, 0x01 ; 1
76: 30 40 sbci r19, 0x00 ; 0
78: d1 f7 brne .-12 ; 0x6e
7a: df 91 pop r29
7c: cf 91 pop r28
7e: 08 95 ret
00000080 <main>:
_delay_ms(1); // Knihovni procedura ma velmi omezen
} // maximalni cas spozdeni
// Hlavni program
int main()
{
80: cf e5 ldi r28, 0x5F ; 95
82: d4 e0 ldi r29, 0x04 ; 4
84: de bf out 0x3e, r29 ; 62
86: cd bf out 0x3d, r28 ; 61
DDRC |=1; // Nastav port PCD0 jako vystup
88: a0 9a sbi 0x14, 0 ; 20
for(;;) // Nekonecna smycka
{
PORTC |= 1; // Nastav 1
8a: a8 9a sbi 0x15, 0 ; 21
xDelay_ms(500); // Pockej 1/2 sekundy
8c: 84 ef ldi r24, 0xF4 ; 244
8e: 91 e0 ldi r25, 0x01 ; 1
90: e5 df rcall .-54 ; 0x5c
PORTC &= ~1; // Nastav 0
92: a8 98 cbi 0x15, 0 ; 21
xDelay_ms(500); // Pockej 1/2 sekundy
94: 84 ef ldi r24, 0xF4 ; 244
96: 91 e0 ldi r25, 0x01 ; 1
98: e1 df rcall .-62 ; 0x5c
9a: f7 cf rjmp .-18 ; 0x8a