main.elf: file format elf32-avr Sections: Idx Name Size VMA LMA File off Algn 0 .text 000000b2 00000000 00000000 00000094 2**0 CONTENTS, ALLOC, LOAD, READONLY, CODE 1 .data 00000000 00800060 000000b2 00000146 2**0 CONTENTS, ALLOC, LOAD, DATA 2 .bss 00000000 00800060 000000b2 00000146 2**0 ALLOC 3 .noinit 00000000 00800060 00800060 00000146 2**0 CONTENTS 4 .eeprom 00000000 00810000 00810000 00000146 2**0 CONTENTS 5 .stab 00000354 00000000 00000000 00000148 2**2 CONTENTS, READONLY, DEBUGGING 6 .stabstr 00000084 00000000 00000000 0000049c 2**0 CONTENTS, READONLY, DEBUGGING 7 .debug_aranges 00000014 00000000 00000000 00000520 2**0 CONTENTS, READONLY, DEBUGGING 8 .debug_pubnames 00000025 00000000 00000000 00000534 2**0 CONTENTS, READONLY, DEBUGGING 9 .debug_info 000000cb 00000000 00000000 00000559 2**0 CONTENTS, READONLY, DEBUGGING 10 .debug_abbrev 00000083 00000000 00000000 00000624 2**0 CONTENTS, READONLY, DEBUGGING 11 .debug_line 000000b4 00000000 00000000 000006a7 2**0 CONTENTS, READONLY, DEBUGGING 12 .debug_str 000000a3 00000000 00000000 0000075b 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: 00000000 <__vectors>: 0: 12 c0 rjmp .+36 ; 0x26 <__ctors_end> 2: 2a c0 rjmp .+84 ; 0x58 <__bad_interrupt> 4: 29 c0 rjmp .+82 ; 0x58 <__bad_interrupt> 6: 28 c0 rjmp .+80 ; 0x58 <__bad_interrupt> 8: 27 c0 rjmp .+78 ; 0x58 <__bad_interrupt> a: 26 c0 rjmp .+76 ; 0x58 <__bad_interrupt> c: 25 c0 rjmp .+74 ; 0x58 <__bad_interrupt> e: 24 c0 rjmp .+72 ; 0x58 <__bad_interrupt> 10: 23 c0 rjmp .+70 ; 0x58 <__bad_interrupt> 12: 22 c0 rjmp .+68 ; 0x58 <__bad_interrupt> 14: 21 c0 rjmp .+66 ; 0x58 <__bad_interrupt> 16: 20 c0 rjmp .+64 ; 0x58 <__bad_interrupt> 18: 1f c0 rjmp .+62 ; 0x58 <__bad_interrupt> 1a: 1e c0 rjmp .+60 ; 0x58 <__bad_interrupt> 1c: 1d c0 rjmp .+58 ; 0x58 <__bad_interrupt> 1e: 1c c0 rjmp .+56 ; 0x58 <__bad_interrupt> 20: 1b c0 rjmp .+54 ; 0x58 <__bad_interrupt> 22: 1a c0 rjmp .+52 ; 0x58 <__bad_interrupt> 24: 19 c0 rjmp .+50 ; 0x58 <__bad_interrupt> 00000026 <__ctors_end>: 26: 11 24 eor r1, r1 28: 1f be out 0x3f, r1 ; 63 2a: cf ed ldi r28, 0xDF ; 223 2c: cd bf out 0x3d, r28 ; 61 0000002e <__do_copy_data>: 2e: 10 e0 ldi r17, 0x00 ; 0 30: a0 e6 ldi r26, 0x60 ; 96 32: b0 e0 ldi r27, 0x00 ; 0 34: e2 eb ldi r30, 0xB2 ; 178 36: f0 e0 ldi r31, 0x00 ; 0 38: 03 c0 rjmp .+6 ; 0x40 <.do_copy_data_start> 0000003a <.do_copy_data_loop>: 3a: c8 95 lpm 3c: 31 96 adiw r30, 0x01 ; 1 3e: 0d 92 st X+, r0 00000040 <.do_copy_data_start>: 40: a0 36 cpi r26, 0x60 ; 96 42: b1 07 cpc r27, r17 44: d1 f7 brne .-12 ; 0x3a <.do_copy_data_loop> 00000046 <__do_clear_bss>: 46: 10 e0 ldi r17, 0x00 ; 0 48: a0 e6 ldi r26, 0x60 ; 96 4a: b0 e0 ldi r27, 0x00 ; 0 4c: 01 c0 rjmp .+2 ; 0x50 <.do_clear_bss_start> 0000004e <.do_clear_bss_loop>: 4e: 1d 92 st X+, r1 00000050 <.do_clear_bss_start>: 50: a0 36 cpi r26, 0x60 ; 96 52: b1 07 cpc r27, r17 54: e1 f7 brne .-8 ; 0x4e <.do_clear_bss_loop> 56: 0a c0 rjmp .+20 ; 0x6c
00000058 <__bad_interrupt>: 58: d3 cf rjmp .-90 ; 0x0 <__vectors> 0000005a : void delay(void) { uint32_t waitcounter; waitcounter = 10000000; 5a: 80 e8 ldi r24, 0x80 ; 128 5c: 96 e9 ldi r25, 0x96 ; 150 5e: a8 e9 ldi r26, 0x98 ; 152 60: b0 e0 ldi r27, 0x00 ; 0 while(0 != waitcounter) { waitcounter--; 62: c2 97 sbiw r24, 0x32 ; 50 64: a1 09 sbc r26, r1 66: b1 09 sbc r27, r1 68: e1 f7 brne .-8 ; 0x62 6a: 08 95 ret 0000006c
: } } int main(void) { 6c: cf ed ldi r28, 0xDF ; 223 6e: d0 e0 ldi r29, 0x00 ; 0 70: de bf out 0x3e, r29 ; 62 72: cd bf out 0x3d, r28 ; 61 uint32_t ctr; //--------- // initialise the hardware DDRB = 0x1F; 74: 8f e1 ldi r24, 0x1F ; 31 76: 87 bb out 0x17, r24 ; 23 78: aa 24 eor r10, r10 7a: bb 24 eor r11, r11 7c: cc 24 eor r12, r12 7e: dd 24 eor r13, r13 80: 87 e0 ldi r24, 0x07 ; 7 82: e8 2e mov r14, r24 84: f1 2c mov r15, r1 86: 01 2d mov r16, r1 88: 11 2d mov r17, r1 //--------- // the main loop while(1) { for (ctr=0; ctr<8; ctr++){ // set color PORTB = ctr*4; 8a: a8 ba out 0x18, r10 ; 24 // turn on LED PORTB |= 0x01; 8c: c0 9a sbi 0x18, 0 ; 24 // the delay delay(); 8e: e5 df rcall .-54 ; 0x5a // turn on LED PORTB &= 0xFE; 90: c0 98 cbi 0x18, 0 ; 24 92: 08 94 sec 94: e1 08 sbc r14, r1 96: f1 08 sbc r15, r1 98: 01 09 sbc r16, r1 9a: 11 09 sbc r17, r1 9c: 84 e0 ldi r24, 0x04 ; 4 9e: 90 e0 ldi r25, 0x00 ; 0 a0: a0 e0 ldi r26, 0x00 ; 0 a2: b0 e0 ldi r27, 0x00 ; 0 a4: a8 0e add r10, r24 a6: b9 1e adc r11, r25 a8: ca 1e adc r12, r26 aa: db 1e adc r13, r27 ac: 17 ff sbrs r17, 7 ae: ed cf rjmp .-38 ; 0x8a b0: e3 cf rjmp .-58 ; 0x78