
main.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         0000012a  00000000  00000000  00000094  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .data         00000000  00800060  0000012a  000001be  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  2 .bss          00000005  00800060  00800060  000001be  2**0
                  ALLOC
  3 .noinit       00000000  00800065  00800065  000001be  2**0
                  CONTENTS
  4 .eeprom       00000000  00810000  00810000  000001be  2**0
                  CONTENTS
  5 .stab         00000804  00000000  00000000  000001c0  2**2
                  CONTENTS, READONLY, DEBUGGING
  6 .stabstr      0000073c  00000000  00000000  000009c4  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
   0:	0c 94 2a 00 	jmp	0x54 <__ctors_end>
   4:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
   8:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
   c:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  10:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  14:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  18:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  1c:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  20:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  24:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  28:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  2c:	0c 94 47 00 	jmp	0x8e <__vector_11>
  30:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  34:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  38:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  3c:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  40:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  44:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  48:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  4c:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>
  50:	0c 94 45 00 	jmp	0x8a <__bad_interrupt>

00000054 <__ctors_end>:
  54:	11 24       	eor	r1, r1
  56:	1f be       	out	0x3f, r1	; 63
  58:	cf e5       	ldi	r28, 0x5F	; 95
  5a:	d8 e0       	ldi	r29, 0x08	; 8
  5c:	de bf       	out	0x3e, r29	; 62
  5e:	cd bf       	out	0x3d, r28	; 61

00000060 <__do_copy_data>:
  60:	10 e0       	ldi	r17, 0x00	; 0
  62:	a0 e6       	ldi	r26, 0x60	; 96
  64:	b0 e0       	ldi	r27, 0x00	; 0
  66:	ea e2       	ldi	r30, 0x2A	; 42
  68:	f1 e0       	ldi	r31, 0x01	; 1
  6a:	02 c0       	rjmp	.+4      	; 0x70 <.do_copy_data_start>

0000006c <.do_copy_data_loop>:
  6c:	05 90       	lpm	r0, Z+
  6e:	0d 92       	st	X+, r0

00000070 <.do_copy_data_start>:
  70:	a0 36       	cpi	r26, 0x60	; 96
  72:	b1 07       	cpc	r27, r17
  74:	d9 f7       	brne	.-10     	; 0x6c <.do_copy_data_loop>

00000076 <__do_clear_bss>:
  76:	10 e0       	ldi	r17, 0x00	; 0
  78:	a0 e6       	ldi	r26, 0x60	; 96
  7a:	b0 e0       	ldi	r27, 0x00	; 0
  7c:	01 c0       	rjmp	.+2      	; 0x80 <.do_clear_bss_start>

0000007e <.do_clear_bss_loop>:
  7e:	1d 92       	st	X+, r1

00000080 <.do_clear_bss_start>:
  80:	a5 36       	cpi	r26, 0x65	; 101
  82:	b1 07       	cpc	r27, r17
  84:	e1 f7       	brne	.-8      	; 0x7e <.do_clear_bss_loop>
  86:	0c 94 7d 00 	jmp	0xfa <main>

0000008a <__bad_interrupt>:
  8a:	0c 94 00 00 	jmp	0x0 <__heap_end>

0000008e <__vector_11>:
                     -O1
**********************************************************/

//void pwmPulse(void) { 
SIGNAL (SIG_OVERFLOW0) {
  8e:	1f 92       	push	r1
  90:	0f 92       	push	r0
  92:	0f b6       	in	r0, 0x3f	; 63
  94:	0f 92       	push	r0
  96:	11 24       	eor	r1, r1
  98:	8f 93       	push	r24
  9a:	9f 93       	push	r25
 if (pwmcount++ == 0){
  9c:	90 91 63 00 	lds	r25, 0x0063
  a0:	9f 5f       	subi	r25, 0xFF	; 255
  a2:	90 93 63 00 	sts	0x0063, r25
  a6:	91 30       	cpi	r25, 0x01	; 1
  a8:	a9 f0       	breq	.+42     	; 0xd4 <__vector_11+0x46>
  SetBit(PWM1BIT, PWM1PORT);
  SetBit(PWM2BIT, PWM2PORT);
  SetBit(PWM3BIT, PWM3PORT);
  SetBit(PWM4BIT, PWM4PORT);
 };

 if ((pwm1 ^ pwmcount) == 0) { ClearBit(PWM1BIT, PWM1PORT); }
  aa:	80 91 60 00 	lds	r24, 0x0060
  ae:	98 17       	cp	r25, r24
  b0:	09 f4       	brne	.+2      	; 0xb4 <__vector_11+0x26>
  b2:	d8 98       	cbi	0x1b, 0	; 27
 if ((pwm2 ^ pwmcount) == 0) { ClearBit(PWM2BIT, PWM2PORT); }
  b4:	80 91 61 00 	lds	r24, 0x0061
  b8:	98 17       	cp	r25, r24
  ba:	09 f4       	brne	.+2      	; 0xbe <__vector_11+0x30>
  bc:	d9 98       	cbi	0x1b, 1	; 27
 if ((pwm3 ^ pwmcount) == 0) { ClearBit(PWM3BIT, PWM3PORT); }
  be:	80 91 64 00 	lds	r24, 0x0064
  c2:	98 17       	cp	r25, r24
  c4:	09 f4       	brne	.+2      	; 0xc8 <__vector_11+0x3a>
  c6:	da 98       	cbi	0x1b, 2	; 27
 if ((pwm4 ^ pwmcount) == 0) { ClearBit(PWM4BIT, PWM4PORT); }
  c8:	80 91 62 00 	lds	r24, 0x0062
  cc:	98 17       	cp	r25, r24
  ce:	39 f4       	brne	.+14     	; 0xde <__vector_11+0x50>
  d0:	db 98       	cbi	0x1b, 3	; 27
  d2:	05 c0       	rjmp	.+10     	; 0xde <__vector_11+0x50>
  d4:	d8 9a       	sbi	0x1b, 0	; 27
  d6:	d9 9a       	sbi	0x1b, 1	; 27
  d8:	da 9a       	sbi	0x1b, 2	; 27
  da:	db 9a       	sbi	0x1b, 3	; 27
  dc:	e6 cf       	rjmp	.-52     	; 0xaa <__vector_11+0x1c>
  de:	9f 91       	pop	r25
  e0:	8f 91       	pop	r24
  e2:	0f 90       	pop	r0
  e4:	0f be       	out	0x3f, r0	; 63
  e6:	0f 90       	pop	r0
  e8:	1f 90       	pop	r1
  ea:	18 95       	reti

000000ec <timerInit>:
 
}

void timerInit(void) {

  // set prescaler to /1
  TCCR0 = (0 << FOC0 | 0 << WGM00 |0 << COM01 |0 << COM00 |0 << WGM01 |0 << CS02 |0 << CS01 |1 << CS00);
  ec:	81 e0       	ldi	r24, 0x01	; 1
  ee:	83 bf       	out	0x33, r24	; 51
  
  // set interrupt mask register 
  TIMSK |= (1<<TOIE0);  
  f0:	89 b7       	in	r24, 0x39	; 57
  f2:	81 60       	ori	r24, 0x01	; 1
  f4:	89 bf       	out	0x39, r24	; 57
  
  // turn interrupts on
  sei();
  f6:	78 94       	sei
  f8:	08 95       	ret

000000fa <main>:
  fa:	cf e5       	ldi	r28, 0x5F	; 95
  fc:	d8 e0       	ldi	r29, 0x08	; 8
  fe:	de bf       	out	0x3e, r29	; 62
 100:	cd bf       	out	0x3d, r28	; 61
 102:	8f e0       	ldi	r24, 0x0F	; 15
 104:	8a bb       	out	0x1a, r24	; 26
 106:	17 ba       	out	0x17, r1	; 23
 108:	14 ba       	out	0x14, r1	; 20
 10a:	11 ba       	out	0x11, r1	; 17
 10c:	80 e4       	ldi	r24, 0x40	; 64
 10e:	80 93 60 00 	sts	0x0060, r24
 112:	80 e8       	ldi	r24, 0x80	; 128
 114:	80 93 61 00 	sts	0x0061, r24
 118:	80 ef       	ldi	r24, 0xF0	; 240
 11a:	80 93 64 00 	sts	0x0064, r24
 11e:	8f ef       	ldi	r24, 0xFF	; 255
 120:	80 93 62 00 	sts	0x0062, r24
 124:	0e 94 76 00 	call	0xec <timerInit>
 128:	ff cf       	rjmp	.-2      	; 0x128 <main+0x2e>
