inz.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 0000011a 00000000 00000000 00000054 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .debug_aranges 00000020 00000000 00000000 0000016e 2**0
CONTENTS, READONLY, DEBUGGING
2 .debug_pubnames 0000003d 00000000 00000000 0000018e 2**0
CONTENTS, READONLY, DEBUGGING
3 .debug_info 000001e5 00000000 00000000 000001cb 2**0
CONTENTS, READONLY, DEBUGGING
4 .debug_abbrev 0000010e 00000000 00000000 000003b0 2**0
CONTENTS, READONLY, DEBUGGING
5 .debug_line 000001ba 00000000 00000000 000004be 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_frame 00000040 00000000 00000000 00000678 2**2
CONTENTS, READONLY, DEBUGGING
7 .debug_str 000000d5 00000000 00000000 000006b8 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_loc 00000018 00000000 00000000 0000078d 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_ranges 00000090 00000000 00000000 000007a5 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 0c 94 46 00 jmp 0x8c ; 0x8c <__ctors_end>
4: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
8: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
c: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
10: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
14: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
18: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
1c: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
20: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
24: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
28: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
2c: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
30: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
34: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
38: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
3c: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
40: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
44: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
48: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
4c: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
50: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
54: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
58: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
5c: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
60: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
64: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
68: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
6c: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
70: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
74: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
78: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
7c: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
80: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
84: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
88: 0c 94 5d 00 jmp 0xba ; 0xba <__bad_interrupt>
0000008c <__ctors_end>:
8c: 11 24 eor r1, r1
8e: 1f be out 0x3f, r1 ; 63
90: cf ef ldi r28, 0xFF ; 255
92: d0 e1 ldi r29, 0x10 ; 16
94: de bf out 0x3e, r29 ; 62
96: cd bf out 0x3d, r28 ; 61
00000098 <__do_copy_data>:
98: 11 e0 ldi r17, 0x01 ; 1
9a: a0 e0 ldi r26, 0x00 ; 0
9c: b1 e0 ldi r27, 0x01 ; 1
9e: ea e1 ldi r30, 0x1A ; 26
a0: f1 e0 ldi r31, 0x01 ; 1
a2: 00 e0 ldi r16, 0x00 ; 0
a4: 0b bf out 0x3b, r16 ; 59
a6: 02 c0 rjmp .+4 ; 0xac <__do_copy_data+0x14>
a8: 07 90 elpm r0, Z+
aa: 0d 92 st X+, r0
ac: a0 30 cpi r26, 0x00 ; 0
ae: b1 07 cpc r27, r17
b0: d9 f7 brne .-10 ; 0xa8 <__do_copy_data+0x10>
b2: 0e 94 5f 00 call 0xbe ; 0xbe <main>
b6: 0c 94 8b 00 jmp 0x116 ; 0x116 <_exit>
000000ba <__bad_interrupt>:
ba: 0c 94 00 00 jmp 0 ; 0x0 <__vectors>
000000be <main>:
}
}
void USART_Init( uint16_t baud )
{
UBRR0H = (uint8_t) (baud>>8);
be: 10 92 90 00 sts 0x0090, r1
UBRR0L = (uint8_t) baud;
c2: 83 e3 ldi r24, 0x33 ; 51
c4: 89 b9 out 0x09, r24 ; 9
UCSR0B = (1<<RXEN0)|(1<<TXEN0);
c6: 88 e1 ldi r24, 0x18 ; 24
c8: 8a b9 out 0x0a, r24 ; 10
UCSR0C = (1<<UMSEL0)|(3<<UCSZ0);
ca: 86 e4 ldi r24, 0x46 ; 70
cc: 80 93 95 00 sts 0x0095, r24
void USART_Transmit( unsigned char data )
{
while ( !( UCSR0A & (1<<UDRE0)) );
UDR0=data;
d0: 61 e4 ldi r22, 0x41 ; 65
milliseconds can be achieved.
*/
void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
d2: 5d e0 ldi r21, 0x0D ; 13
d4: 4a e0 ldi r20, 0x0A ; 10
d6: 28 ec ldi r18, 0xC8 ; 200
d8: 30 e0 ldi r19, 0x00 ; 0
}
void USART_Transmit( unsigned char data )
{
while ( !( UCSR0A & (1<<UDRE0)) );
da: 5d 9b sbis 0x0b, 5 ; 11
dc: fe cf rjmp .-4 ; 0xda <main+0x1c>
UDR0=data;
de: 6c b9 out 0x0c, r22 ; 12
}
void USART_Transmit( unsigned char data )
{
while ( !( UCSR0A & (1<<UDRE0)) );
e0: 5d 9b sbis 0x0b, 5 ; 11
e2: fe cf rjmp .-4 ; 0xe0 <main+0x22>
UDR0=data;
e4: 5c b9 out 0x0c, r21 ; 12
}
void USART_Transmit( unsigned char data )
{
while ( !( UCSR0A & (1<<UDRE0)) );
e6: 5d 9b sbis 0x0b, 5 ; 11
e8: fe cf rjmp .-4 ; 0xe6 <main+0x28>
UDR0=data;
ea: 4c b9 out 0x0c, r20 ; 12
ec: 80 e1 ldi r24, 0x10 ; 16
ee: 97 e2 ldi r25, 0x27 ; 39
f0: f9 01 movw r30, r18
f2: 31 97 sbiw r30, 0x01 ; 1
f4: f1 f7 brne .-4 ; 0xf2 <main+0x34>
__ticks = (uint16_t) (__ms * 10.0);
while(__ticks)
{
// wait 1/10 ms
_delay_loop_2(((F_CPU) / 4e3) / 10);
__ticks --;
f6: 01 97 sbiw r24, 0x01 ; 1
__ticks = 1;
else if (__tmp > 65535)
{
// __ticks = requested delay in 1/10 ms
__ticks = (uint16_t) (__ms * 10.0);
while(__ticks)
f8: d9 f7 brne .-10 ; 0xf0 <main+0x32>
fa: ef cf rjmp .-34 ; 0xda <main+0x1c>
000000fc <USART_Init>:
}
}
void USART_Init( uint16_t baud )
{
UBRR0H = (uint8_t) (baud>>8);
fc: 90 93 90 00 sts 0x0090, r25
UBRR0L = (uint8_t) baud;
100: 89 b9 out 0x09, r24 ; 9
UCSR0B = (1<<RXEN0)|(1<<TXEN0);
102: 88 e1 ldi r24, 0x18 ; 24
104: 8a b9 out 0x0a, r24 ; 10
UCSR0C = (1<<UMSEL0)|(3<<UCSZ0);
106: 86 e4 ldi r24, 0x46 ; 70
108: 80 93 95 00 sts 0x0095, r24
}
10c: 08 95 ret
0000010e <USART_Transmit>:
void USART_Transmit( unsigned char data )
{
while ( !( UCSR0A & (1<<UDRE0)) );
10e: 5d 9b sbis 0x0b, 5 ; 11
110: fe cf rjmp .-4 ; 0x10e <USART_Transmit>
UDR0=data;
112: 8c b9 out 0x0c, r24 ; 12
}
114: 08 95 ret
00000116 <_exit>:
116: f8 94 cli
00000118 <__stop_program>:
118: ff cf rjmp .-2 ; 0x118 <__stop_program>