no-clobber.elf: file format elf32-avr Sections: Idx Name Size VMA LMA File off Algn 0 .data 00000028 00800100 00000140 000001d4 2**0 CONTENTS, ALLOC, LOAD, DATA 1 .text 00000140 00000000 00000000 00000094 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE 2 .bss 00000028 00800128 00800128 000001fc 2**0 ALLOC 3 .stab 00000b28 00000000 00000000 000001fc 2**2 CONTENTS, READONLY, DEBUGGING 4 .stabstr 00000948 00000000 00000000 00000d24 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: 00000000 <__vectors>: 0: 0c 94 34 00 jmp 0x68 ; 0x68 <__ctors_end> 4: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 8: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 10: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 14: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 18: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 1c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 20: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 24: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 28: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 2c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 30: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 34: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 38: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 3c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 40: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 44: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 48: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 4c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 50: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 54: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 58: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 5c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 60: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 64: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__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: e0 e4 ldi r30, 0x40 ; 64 7c: f1 e0 ldi r31, 0x01 ; 1 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: a8 32 cpi r26, 0x28 ; 40 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: a8 e2 ldi r26, 0x28 ; 40 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 35 cpi r26, 0x50 ; 80 96: b1 07 cpc r27, r17 98: e1 f7 brne .-8 ; 0x92 <.do_clear_bss_loop> 9a: 0e 94 53 00 call 0xa6 ; 0xa6
9e: 0c 94 9e 00 jmp 0x13c ; 0x13c <_exit> 000000a2 <__bad_interrupt>: a2: 0c 94 00 00 jmp 0 ; 0x0 <__vectors> 000000a6
: volatile uint32_t dot_datas[10] = {0xDEADBEEF,0xDEADBEEF,0xDEADBEEF,0xDEADBEEF,0xDEADBEEF,0xDEADBEEF,0xDEADBEEF,0xDEADBEEF,0xDEADBEEF,0xDEADBEEF}; volatile uint32_t dot_bss[10]; __attribute__((naked)) int main(void) { asm("nop"::); a6: 00 00 nop asm("nop"::); a8: 00 00 nop aa: 20 e0 ldi r18, 0x00 ; 0 ac: be 01 movw r22, r28 ae: 6f 5f subi r22, 0xFF ; 255 b0: 7f 4f sbci r23, 0xFF ; 255 uint8_t i; for( i=0; i<8; ++i ) { adc_readings[i] = dot_bss[8]&0xFFFF; } dot_datas[0]++; for( i=1; i<9; ++i ) { b2: 8e 01 movw r16, r28 b4: 0f 5e subi r16, 0xEF ; 239 b6: 1f 4f sbci r17, 0xFF ; 255 b8: 11 c0 rjmp .+34 ; 0xdc for(;;) { uint16_t adc_readings[8]; uint8_t i; for( i=0; i<8; ++i ) { adc_readings[i] = dot_bss[8]&0xFFFF; ba: 80 91 48 01 lds r24, 0x0148 be: 90 91 49 01 lds r25, 0x0149 c2: a0 91 4a 01 lds r26, 0x014A c6: b0 91 4b 01 lds r27, 0x014B ca: e2 2f mov r30, r18 cc: f0 e0 ldi r31, 0x00 ; 0 ce: ee 0f add r30, r30 d0: ff 1f adc r31, r31 d2: e6 0f add r30, r22 d4: f7 1f adc r31, r23 d6: 91 83 std Z+1, r25 ; 0x01 d8: 80 83 st Z, r24 asm("nop"::); for(;;) { uint16_t adc_readings[8]; uint8_t i; for( i=0; i<8; ++i ) { da: 2f 5f subi r18, 0xFF ; 255 dc: 28 30 cpi r18, 0x08 ; 8 de: 68 f3 brcs .-38 ; 0xba adc_readings[i] = dot_bss[8]&0xFFFF; } dot_datas[0]++; e0: 80 91 00 01 lds r24, 0x0100 e4: 90 91 01 01 lds r25, 0x0101 e8: a0 91 02 01 lds r26, 0x0102 ec: b0 91 03 01 lds r27, 0x0103 f0: 01 96 adiw r24, 0x01 ; 1 f2: a1 1d adc r26, r1 f4: b1 1d adc r27, r1 f6: 80 93 00 01 sts 0x0100, r24 fa: 90 93 01 01 sts 0x0101, r25 fe: a0 93 02 01 sts 0x0102, r26 102: b0 93 03 01 sts 0x0103, r27 106: ab 01 movw r20, r22 108: 21 e0 ldi r18, 0x01 ; 1 10a: 30 e0 ldi r19, 0x00 ; 0 for( i=1; i<9; ++i ) { dot_bss[i] = adc_readings[i-1]; 10c: fa 01 movw r30, r20 10e: 81 91 ld r24, Z+ 110: 91 91 ld r25, Z+ 112: af 01 movw r20, r30 114: a0 e0 ldi r26, 0x00 ; 0 116: b0 e0 ldi r27, 0x00 ; 0 118: f9 01 movw r30, r18 11a: ee 0f add r30, r30 11c: ff 1f adc r31, r31 11e: ee 0f add r30, r30 120: ff 1f adc r31, r31 122: e8 5d subi r30, 0xD8 ; 216 124: fe 4f sbci r31, 0xFE ; 254 126: 80 83 st Z, r24 128: 91 83 std Z+1, r25 ; 0x01 12a: a2 83 std Z+2, r26 ; 0x02 12c: b3 83 std Z+3, r27 ; 0x03 12e: 2f 5f subi r18, 0xFF ; 255 130: 3f 4f sbci r19, 0xFF ; 255 uint8_t i; for( i=0; i<8; ++i ) { adc_readings[i] = dot_bss[8]&0xFFFF; } dot_datas[0]++; for( i=1; i<9; ++i ) { 132: 40 17 cp r20, r16 134: 51 07 cpc r21, r17 136: 51 f7 brne .-44 ; 0x10c 138: 20 e0 ldi r18, 0x00 ; 0 13a: d0 cf rjmp .-96 ; 0xdc 0000013c <_exit>: 13c: f8 94 cli 0000013e <__stop_program>: 13e: ff cf rjmp .-2 ; 0x13e <__stop_program>