
blik.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         000000d4  00000000  00000000  00000054  2**1
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .stab         0000036c  00000000  00000000  00000128  2**2
                  CONTENTS, READONLY, DEBUGGING
  2 .stabstr      00000084  00000000  00000000  00000494  2**0
                  CONTENTS, READONLY, DEBUGGING
  3 .debug_aranges 00000020  00000000  00000000  00000518  2**0
                  CONTENTS, READONLY, DEBUGGING
  4 .debug_pubnames 00000028  00000000  00000000  00000538  2**0
                  CONTENTS, READONLY, DEBUGGING
  5 .debug_info   0000013d  00000000  00000000  00000560  2**0
                  CONTENTS, READONLY, DEBUGGING
  6 .debug_abbrev 000000d3  00000000  00000000  0000069d  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_line   000000fc  00000000  00000000  00000770  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_frame  00000030  00000000  00000000  0000086c  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_str    000000dd  00000000  00000000  0000089c  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_loc    00000028  00000000  00000000  00000979  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
   0:	0c 94 34 00 	jmp	0x68	; 0x68 <__ctors_end>
   4:	0c 94 4f 00 	jmp	0x9e	; 0x9e <__bad_interrupt>
   8:	0c 94 4f 00 	jmp	0x9e	; 0x9e <__bad_interrupt>
   c:	0c 94 4f 00 	jmp	0x9e	; 0x9e <__bad_interrupt>
  10:	0c 94 4f 00 	jmp	0x9e	; 0x9e <__bad_interrupt>
  14:	0c 94 4f 00 	jmp	0x9e	; 0x9e <__bad_interrupt>
  18:	0c 94 4f 00 	jmp	0x9e	; 0x9e <__bad_interrupt>
  1c:	0c 94 4f 00 	jmp	0x9e	; 0x9e <__bad_interrupt>
  20:	0c 94 4f 00 	jmp	0x9e	; 0x9e <__bad_interrupt>
  24:	0c 94 4f 00 	jmp	0x9e	; 0x9e <__bad_interrupt>
  28:	0c 94 4f 00 	jmp	0x9e	; 0x9e <__bad_interrupt>
  2c:	0c 94 4f 00 	jmp	0x9e	; 0x9e <__bad_interrupt>
  30:	0c 94 4f 00 	jmp	0x9e	; 0x9e <__bad_interrupt>
  34:	0c 94 4f 00 	jmp	0x9e	; 0x9e <__bad_interrupt>
  38:	0c 94 4f 00 	jmp	0x9e	; 0x9e <__bad_interrupt>
  3c:	0c 94 4f 00 	jmp	0x9e	; 0x9e <__bad_interrupt>
  40:	0c 94 4f 00 	jmp	0x9e	; 0x9e <__bad_interrupt>
  44:	0c 94 4f 00 	jmp	0x9e	; 0x9e <__bad_interrupt>
  48:	0c 94 4f 00 	jmp	0x9e	; 0x9e <__bad_interrupt>
  4c:	0c 94 4f 00 	jmp	0x9e	; 0x9e <__bad_interrupt>
  50:	0c 94 4f 00 	jmp	0x9e	; 0x9e <__bad_interrupt>
  54:	0c 94 4f 00 	jmp	0x9e	; 0x9e <__bad_interrupt>
  58:	0c 94 4f 00 	jmp	0x9e	; 0x9e <__bad_interrupt>
  5c:	0c 94 4f 00 	jmp	0x9e	; 0x9e <__bad_interrupt>
  60:	0c 94 4f 00 	jmp	0x9e	; 0x9e <__bad_interrupt>
  64:	0c 94 4f 00 	jmp	0x9e	; 0x9e <__bad_interrupt>

00000068 <__ctors_end>:
  68:	11 24       	eor	r1, r1
  6a:	1f be       	out	0x3f, r1	; 63
  6c:	cf ef       	ldi	r28, 0xFF	; 255
  6e:	d4 e0       	ldi	r29, 0x04	; 4
  70:	de bf       	out	0x3e, r29	; 62
  72:	cd bf       	out	0x3d, r28	; 61

00000074 <__do_copy_data>:
  74:	11 e0       	ldi	r17, 0x01	; 1
  76:	a0 e0       	ldi	r26, 0x00	; 0
  78:	b1 e0       	ldi	r27, 0x01	; 1
  7a:	e4 ed       	ldi	r30, 0xD4	; 212
  7c:	f0 e0       	ldi	r31, 0x00	; 0
  7e:	02 c0       	rjmp	.+4      	; 0x84 <.do_copy_data_start>

00000080 <.do_copy_data_loop>:
  80:	05 90       	lpm	r0, Z+
  82:	0d 92       	st	X+, r0

00000084 <.do_copy_data_start>:
  84:	a0 30       	cpi	r26, 0x00	; 0
  86:	b1 07       	cpc	r27, r17
  88:	d9 f7       	brne	.-10     	; 0x80 <.do_copy_data_loop>

0000008a <__do_clear_bss>:
  8a:	11 e0       	ldi	r17, 0x01	; 1
  8c:	a0 e0       	ldi	r26, 0x00	; 0
  8e:	b1 e0       	ldi	r27, 0x01	; 1
  90:	01 c0       	rjmp	.+2      	; 0x94 <.do_clear_bss_start>

00000092 <.do_clear_bss_loop>:
  92:	1d 92       	st	X+, r1

00000094 <.do_clear_bss_start>:
  94:	a0 30       	cpi	r26, 0x00	; 0
  96:	b1 07       	cpc	r27, r17
  98:	e1 f7       	brne	.-8      	; 0x92 <.do_clear_bss_loop>
  9a:	0c 94 5e 00 	jmp	0xbc	; 0xbc <main>

0000009e <__bad_interrupt>:
  9e:	0c 94 00 00 	jmp	0	; 0x0 <__vectors>

000000a2 <delay_ms>:


void delay_ms(unsigned int ms)
/* delay for a minimum of <ms> */
{
  a2:	9c 01       	movw	r18, r24
  a4:	e0 e8       	ldi	r30, 0x80	; 128
  a6:	f7 e0       	ldi	r31, 0x07	; 7
  a8:	05 c0       	rjmp	.+10     	; 0xb4 <delay_ms+0x12>
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
  aa:	cf 01       	movw	r24, r30
  ac:	01 97       	sbiw	r24, 0x01	; 1
  ae:	f1 f7       	brne	.-4      	; 0xac <delay_ms+0xa>
	// we use a calibrated macro. This is more
	// accurate and not so much compiler dependent
	// as self made code.
	while(ms){
		_delay_ms(0.96);
		ms--;
  b0:	21 50       	subi	r18, 0x01	; 1
  b2:	30 40       	sbci	r19, 0x00	; 0
  b4:	21 15       	cp	r18, r1
  b6:	31 05       	cpc	r19, r1
  b8:	c1 f7       	brne	.-16     	; 0xaa <delay_ms+0x8>
  ba:	08 95       	ret

000000bc <main>:
	}
}


/* new style */
int main(void)
{
  bc:	3d 9a       	sbi	0x07, 5	; 7
          /* INITIALIZE */
          /* enable PC5 as output */
          DDRC|= (1<<DDC5);

          /* PC5 is 5 (see file include/avr/iom8.h) and 1<<PC5 is 00100000 
	   * This can also be written as _BV(PC5)*/
          while (1) {
                      /* led on, pin=0 */
                      PORTC &= ~(1<<PC5);
  be:	45 98       	cbi	0x08, 5	; 8
                      delay_ms(50);
  c0:	82 e3       	ldi	r24, 0x32	; 50
  c2:	90 e0       	ldi	r25, 0x00	; 0
  c4:	0e 94 51 00 	call	0xa2	; 0xa2 <delay_ms>
                      /* set output to 5V, LED off */
                      PORTC|= (1<<PC5);
  c8:	45 9a       	sbi	0x08, 5	; 8
                      delay_ms(50);
  ca:	82 e3       	ldi	r24, 0x32	; 50
  cc:	90 e0       	ldi	r25, 0x00	; 0
  ce:	0e 94 51 00 	call	0xa2	; 0xa2 <delay_ms>
  d2:	f5 cf       	rjmp	.-22     	; 0xbe <main+0x2>
