Although functional, the limited read/write memory is needless used to redundantly store static read-only initialization data/strings effectively eliminates this memory from having any useful purpose.
main.elf: file format elf32-avr Sections: Idx Name Size VMA LMA File off Algn 0 .data 00000062 00800100 00000afc 00000b90 2**0 CONTENTS, ALLOC, LOAD, DATA 1 .text 00000afc 00000000 00000000 00000094 2**0 CONTENTS, ALLOC, LOAD, READONLY, CODE 2 .bss 0000000a 00800162 00800162 00000bf2 2**0 ALLOC 3 .noinit 00000000 0080016c 0080016c 00000bf2 2**0 CONTENTS 4 .eeprom 00000000 00810000 00810000 00000bf2 2**0 CONTENTS 5 .stab 00001c80 00000000 00000000 00000bf4 2**2 CONTENTS, READONLY, DEBUGGING 6 .stabstr 00000daa 00000000 00000000 00002874 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: 00000000 <__vectors>: 0: 0c 94 46 00 jmp 0x8c <__ctors_end> 4: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 8: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> c: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 10: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 14: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 18: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 1c: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 20: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 24: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 28: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 2c: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 30: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 34: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 38: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 3c: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 40: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 44: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 48: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 4c: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 50: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 54: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 58: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 5c: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 60: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 64: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 68: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 6c: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 70: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 74: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 78: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 7c: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 80: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 84: 0c 94 61 00 jmp 0xc2 <__bad_interrupt> 88: 0c 94 61 00 jmp 0xc2 <__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: ec ef ldi r30, 0xFC ; 252 a0: fa e0 ldi r31, 0x0A ; 10 a2: 02 c0 rjmp .+4 ; 0xa8 <.do_copy_data_start> 000000a4 <.do_copy_data_loop>: [copies data in read-only-memory to ram needlessly] a4: 05 90 lpm r0, Z+ a6: 0d 92 st X+, r0 000000a8 <.do_copy_data_start>: a8: a2 36 cpi r26, 0x62 ; 98 aa: b1 07 cpc r27, r17 ac: d9 f7 brne .-10 ; 0xa4 <.do_copy_data_loop> 000000ae <__do_clear_bss>: ae: 11 e0 ldi r17, 0x01 ; 1 b0: a2 e6 ldi r26, 0x62 ; 98 b2: b1 e0 ldi r27, 0x01 ; 1 b4: 01 c0 rjmp .+2 ; 0xb8 <.do_clear_bss_start> 000000b6 <.do_clear_bss_loop>: b6: 1d 92 st X+, r1 000000b8 <.do_clear_bss_start>: b8: ac 36 cpi r26, 0x6C ; 108 ba: b1 07 cpc r27, r17 bc: e1 f7 brne .-8 ; 0xb6 <.do_clear_bss_loop> be: 0c 94 63 00 jmp 0xc6 <main> 000000c2 <__bad_interrupt>: c2: 0c 94 00 00 jmp 0x0 <__heap_end> 000000c6 <main>: int main (void){ c6: cf ef ldi r28, 0xFF ; 255 c8: d0 e1 ldi r29, 0x10 ; 16 ca: de bf out 0x3e, r29 ; 62 cc: cd bf out 0x3d, r28 ; 61 printf (" asjdfljaslkdjfkalsjdfklasdkf asldkjf;klasdjd aslkdjflkasjfklas alksjdflkjasf alsjdfklsadf"); ce: 80 e0 ldi r24, 0x00 ; 0 d0: 91 e0 ldi r25, 0x01 ; 1 d2: 9f 93 push r25 d4: 8f 93 push r24 d6: 0e 94 73 00 call 0xe6 <printf> da: 0f 90 pop r0 dc: 0f 90 pop r0 } de: 80 e0 ldi r24, 0x00 ; 0 e0: 90 e0 ldi r25, 0x00 ; 0 e2: 0c 94 7d 05 jmp 0xafa <_exit> 000000e6 <printf>: #include <stdio.h> int printf(const char *fmt, ...) { e6: cf 93 push r28 e8: df 93 push r29 ea: cd b7 in r28, 0x3d ; 61 ec: de b7 in r29, 0x3e ; 62 ee: 22 97 sbiw r28, 0x02 ; 2 f0: 0f b6 in r0, 0x3f ; 63 f2: f8 94 cli f4: de bf out 0x3e, r29 ; 62 f6: 0f be out 0x3f, r0 ; 63 f8: cd bf out 0x3d, r28 ; 61 fa: e7 e0 ldi r30, 0x07 ; 7 fc: f0 e0 ldi r31, 0x00 ; 0 fe: ec 0f add r30, r28 100: fd 1f adc r31, r29 102: 61 91 ld r22, Z+ 104: 71 91 ld r23, Z+ va_list ap; int i; va_start(ap, fmt); 106: e9 83 std Y+1, r30 ; 0x01 108: fa 83 std Y+2, r31 ; 0x02 i = vfprintf(stdout, fmt, ap); 10a: af 01 movw r20, r30 10c: 80 91 64 01 lds r24, 0x0164 110: 90 91 65 01 lds r25, 0x0165 114: 0e 94 95 00 call 0x12a <vfprintf> 118: 22 96 adiw r28, 0x02 ; 2 11a: 0f b6 in r0, 0x3f ; 63 11c: f8 94 cli 11e: de bf out 0x3e, r29 ; 62 120: 0f be out 0x3f, r0 ; 63 122: cd bf out 0x3d, r28 ; 61 124: df 91 pop r29 126: cf 91 pop r28 128: 08 95 ret 0000012a <vfprintf>: va_end(ap); return i; } 12a: 2f 92 push r2 12c: 3f 92 push r3 12e: 4f 92 push r4 130: 5f 92 push r5 132: 6f 92 push r6 134: 7f 92 push r7 136: 8f 92 push r8 138: 9f 92 push r9 13a: af 92 push r10 13c: bf 92 push r11 13e: cf 92 push r12 140: df 92 push r13 142: ef 92 push r14 144: ff 92 push r15 146: 0f 93 push r16 148: 1f 93 push r17 14a: cf 93 push r28 14c: df 93 push r29 14e: cd b7 in r28, 0x3d ; 61 150: de b7 in r29, 0x3e ; 62 152: 62 97 sbiw r28, 0x12 ; 18 154: 0f b6 in r0, 0x3f ; 63 156: f8 94 cli 158: de bf out 0x3e, r29 ; 62 15a: 0f be out 0x3f, r0 ; 63 15c: cd bf out 0x3d, r28 ; 61 15e: 88 24 eor r8, r8 160: 99 24 eor r9, r9 162: 54 01 movw r10, r8 164: 2c 01 movw r4, r24 166: 69 8b std Y+17, r22 ; 0x11 168: 7a 8b std Y+18, r23 ; 0x12 16a: 3a 01 movw r6, r20 16c: fc 01 movw r30, r24 16e: 16 82 std Z+6, r1 ; 0x06 170: 17 82 std Z+7, r1 ; 0x07 172: 83 81 ldd r24, Z+3 ; 0x03 174: 81 fd sbrc r24, 1 176: 6e c2 rjmp .+1244 ; 0x654 <vfprintf+0x52a> 178: 8f ef ldi r24, 0xFF ; 255 17a: 9f ef ldi r25, 0xFF ; 255 17c: 91 c2 rjmp .+1314 ; 0x6a0 <vfprintf+0x576> 17e: 29 89 ldd r18, Y+17 ; 0x11 180: 3a 89 ldd r19, Y+18 ; 0x12 182: 2f 5f subi r18, 0xFF ; 255 184: 3f 4f sbci r19, 0xFF ; 255 186: 29 8b std Y+17, r18 ; 0x11 188: 3a 8b std Y+18, r19 ; 0x12 18a: c0 fe sbrs r12, 0 18c: 66 c2 rjmp .+1228 ; 0x65a <vfprintf+0x530> 18e: 83 2d mov r24, r3 190: 80 53 subi r24, 0x30 ; 48 192: 8a 30 cpi r24, 0x0A ; 10 194: e0 f4 brcc .+56 ; 0x1ce <vfprintf+0xa4> 196: 30 e3 ldi r19, 0x30 ; 48 198: 33 16 cp r3, r19 19a: 41 f4 brne .+16 ; 0x1ac <vfprintf+0x82> 19c: 8d 85 ldd r24, Y+13 ; 0x0d 19e: 88 23 and r24, r24 1a0: 29 f4 brne .+10 ; 0x1ac <vfprintf+0x82> 1a2: c3 fc sbrc r12, 3 1a4: 03 c0 rjmp .+6 ; 0x1ac <vfprintf+0x82> 1a6: e0 e0 ldi r30, 0x00 ; 0 1a8: f1 e0 ldi r31, 0x01 ; 1 1aa: 7b c0 rjmp .+246 ; 0x2a2 <vfprintf+0x178> 1ac: 8a e0 ldi r24, 0x0A ; 10 1ae: fd 85 ldd r31, Y+13 ; 0x0d 1b0: f8 02 muls r31, r24 1b2: c0 01 movw r24, r0 1b4: 11 24 eor r1, r1 1b6: 38 0e add r3, r24 1b8: 23 2d mov r18, r3 1ba: 20 53 subi r18, 0x30 ; 48 1bc: 2d 87 std Y+13, r18 ; 0x0d 1be: 27 ff sbrs r18, 7 1c0: 02 c0 rjmp .+4 ; 0x1c6 <vfprintf+0x9c> 1c2: 3f e7 ldi r19, 0x7F ; 127 1c4: 3d 87 std Y+13, r19 ; 0x0d 1c6: c3 fc sbrc r12, 3 1c8: 5a c2 rjmp .+1204 ; 0x67e <vfprintf+0x554> 1ca: 2d 84 ldd r2, Y+13 ; 0x0d 1cc: 58 c2 rjmp .+1200 ; 0x67e <vfprintf+0x554> 1ce: c6 01 movw r24, r12 1d0: b3 e0 ldi r27, 0x03 ; 3 1d2: 96 95 lsr r25 1d4: 87 95 ror r24 1d6: ba 95 dec r27 1d8: e1 f7 brne .-8 ; 0x1d2 <vfprintf+0xa8> 1da: 81 70 andi r24, 0x01 ; 1 1dc: 90 70 andi r25, 0x00 ; 0 1de: 28 2f mov r18, r24 1e0: 88 23 and r24, r24 1e2: 29 f0 breq .+10 ; 0x1ee <vfprintf+0xc4> 1e4: 8d 85 ldd r24, Y+13 ; 0x0d 1e6: 88 23 and r24, r24 1e8: 11 f4 brne .+4 ; 0x1ee <vfprintf+0xc4> 1ea: 91 e0 ldi r25, 0x01 ; 1 1ec: 9d 87 std Y+13, r25 ; 0x0d 1ee: 83 2d mov r24, r3 1f0: 99 27 eor r25, r25 1f2: 87 fd sbrc r24, 7 1f4: 90 95 com r25 1f6: e7 e6 ldi r30, 0x67 ; 103 1f8: e3 15 cp r30, r3 1fa: 64 f1 brlt .+88 ; 0x254 <vfprintf+0x12a> 1fc: f5 e6 ldi r31, 0x65 ; 101 1fe: 3f 16 cp r3, r31 200: 0c f0 brlt .+2 ; 0x204 <vfprintf+0xda> 202: 65 c0 rjmp .+202 ; 0x2ce <vfprintf+0x1a4> 204: 33 e5 ldi r19, 0x53 ; 83 206: 33 16 cp r3, r19 208: 09 f4 brne .+2 ; 0x20c <vfprintf+0xe2> 20a: 8f c0 rjmp .+286 ; 0x32a <vfprintf+0x200> 20c: 33 15 cp r19, r3 20e: b4 f0 brlt .+44 ; 0x23c <vfprintf+0x112> 210: eb e2 ldi r30, 0x2B ; 43 212: 3e 16 cp r3, r30 214: 09 f4 brne .+2 ; 0x218 <vfprintf+0xee> 216: 3f c0 rjmp .+126 ; 0x296 <vfprintf+0x16c> 218: e3 15 cp r30, r3 21a: 44 f0 brlt .+16 ; 0x22c <vfprintf+0x102> 21c: f0 e2 ldi r31, 0x20 ; 32 21e: 3f 16 cp r3, r31 220: f1 f1 breq .+124 ; 0x29e <vfprintf+0x174> 222: 23 e2 ldi r18, 0x23 ; 35 224: 32 16 cp r3, r18 226: 09 f0 breq .+2 ; 0x22a <vfprintf+0x100> 228: 12 c2 rjmp .+1060 ; 0x64e <vfprintf+0x524> 22a: 41 c0 rjmp .+130 ; 0x2ae <vfprintf+0x184> 22c: 3d e2 ldi r19, 0x2D ; 45 22e: 33 16 cp r3, r19 230: d9 f1 breq .+118 ; 0x2a8 <vfprintf+0x17e> 232: ee e2 ldi r30, 0x2E ; 46 234: 3e 16 cp r3, r30 236: 09 f0 breq .+2 ; 0x23a <vfprintf+0x110> 238: 0a c2 rjmp .+1044 ; 0x64e <vfprintf+0x524> 23a: 3e c0 rjmp .+124 ; 0x2b8 <vfprintf+0x18e> 23c: f3 e6 ldi r31, 0x63 ; 99 23e: 3f 16 cp r3, r31 240: 09 f4 brne .+2 ; 0x244 <vfprintf+0x11a> 242: 4b c0 rjmp .+150 ; 0x2da <vfprintf+0x1b0> 244: f3 15 cp r31, r3 246: 0c f4 brge .+2 ; 0x24a <vfprintf+0x120> 248: 8a c0 rjmp .+276 ; 0x35e <vfprintf+0x234> 24a: 28 e5 ldi r18, 0x58 ; 88 24c: 32 16 cp r3, r18 24e: 09 f0 breq .+2 ; 0x252 <vfprintf+0x128> 250: fe c1 rjmp .+1020 ; 0x64e <vfprintf+0x524> 252: b5 c0 rjmp .+362 ; 0x3be <vfprintf+0x294> 254: 30 e7 ldi r19, 0x70 ; 112 256: 33 16 cp r3, r19 258: 09 f4 brne .+2 ; 0x25c <vfprintf+0x132> 25a: ab c0 rjmp .+342 ; 0x3b2 <vfprintf+0x288> 25c: 33 15 cp r19, r3 25e: 5c f0 brlt .+22 ; 0x276 <vfprintf+0x14c> 260: ec e6 ldi r30, 0x6C ; 108 262: 3e 16 cp r3, r30 264: 79 f1 breq .+94 ; 0x2c4 <vfprintf+0x19a> 266: ff e6 ldi r31, 0x6F ; 111 268: 3f 16 cp r3, r31 26a: 91 f0 breq .+36 ; 0x290 <vfprintf+0x166> 26c: 29 e6 ldi r18, 0x69 ; 105 26e: 32 16 cp r3, r18 270: 09 f0 breq .+2 ; 0x274 <vfprintf+0x14a> 272: ed c1 rjmp .+986 ; 0x64e <vfprintf+0x524> 274: 74 c0 rjmp .+232 ; 0x35e <vfprintf+0x234> 276: 35 e7 ldi r19, 0x75 ; 117 278: 33 16 cp r3, r19 27a: 09 f4 brne .+2 ; 0x27e <vfprintf+0x154> 27c: a2 c0 rjmp .+324 ; 0x3c2 <vfprintf+0x298> 27e: e8 e7 ldi r30, 0x78 ; 120 280: 3e 16 cp r3, r30 282: 09 f4 brne .+2 ; 0x286 <vfprintf+0x15c> 284: 9c c0 rjmp .+312 ; 0x3be <vfprintf+0x294> 286: f3 e7 ldi r31, 0x73 ; 115 288: 3f 16 cp r3, r31 28a: 09 f0 breq .+2 ; 0x28e <vfprintf+0x164> 28c: e0 c1 rjmp .+960 ; 0x64e <vfprintf+0x524> 28e: 2d c0 rjmp .+90 ; 0x2ea <vfprintf+0x1c0> 290: 28 e0 ldi r18, 0x08 ; 8 292: 28 8b std Y+16, r18 ; 0x10 294: 96 c0 rjmp .+300 ; 0x3c2 <vfprintf+0x298> 296: 80 e1 ldi r24, 0x10 ; 16 298: 90 e0 ldi r25, 0x00 ; 0 29a: c8 2a or r12, r24 29c: d9 2a or r13, r25 29e: e0 e2 ldi r30, 0x20 ; 32 2a0: f0 e0 ldi r31, 0x00 ; 0 2a2: ce 2a or r12, r30 2a4: df 2a or r13, r31 2a6: eb c1 rjmp .+982 ; 0x67e <vfprintf+0x554> 2a8: 20 e8 ldi r18, 0x80 ; 128 2aa: 30 e0 ldi r19, 0x00 ; 0 2ac: 0d c0 rjmp .+26 ; 0x2c8 <vfprintf+0x19e> 2ae: 80 e4 ldi r24, 0x40 ; 64 2b0: 90 e0 ldi r25, 0x00 ; 0 2b2: c8 2a or r12, r24 2b4: d9 2a or r13, r25 2b6: e3 c1 rjmp .+966 ; 0x67e <vfprintf+0x554> 2b8: e8 e0 ldi r30, 0x08 ; 8 2ba: f0 e0 ldi r31, 0x00 ; 0 2bc: ce 2a or r12, r30 2be: df 2a or r13, r31 2c0: 1d 86 std Y+13, r1 ; 0x0d 2c2: dd c1 rjmp .+954 ; 0x67e <vfprintf+0x554> 2c4: 24 e0 ldi r18, 0x04 ; 4 2c6: 30 e0 ldi r19, 0x00 ; 0 2c8: c2 2a or r12, r18 2ca: d3 2a or r13, r19 2cc: d8 c1 rjmp .+944 ; 0x67e <vfprintf+0x554> 2ce: af e3 ldi r26, 0x3F ; 63 2d0: 8a 2e mov r8, r26 2d2: 2a 94 dec r2 2d4: f3 e6 ldi r31, 0x63 ; 99 2d6: 3f 2e mov r3, r31 2d8: 44 c1 rjmp .+648 ; 0x562 <vfprintf+0x438> 2da: f3 01 movw r30, r6 2dc: 80 80 ld r8, Z 2de: 2a 94 dec r2 2e0: 22 e0 ldi r18, 0x02 ; 2 2e2: 30 e0 ldi r19, 0x00 ; 0 2e4: 62 0e add r6, r18 2e6: 73 1e adc r7, r19 2e8: 3c c1 rjmp .+632 ; 0x562 <vfprintf+0x438> 2ea: 83 01 movw r16, r6 2ec: 0e 5f subi r16, 0xFE ; 254 2ee: 1f 4f sbci r17, 0xFF ; 255 2f0: f3 01 movw r30, r6 2f2: a0 81 ld r26, Z 2f4: b1 81 ldd r27, Z+1 ; 0x01 2f6: 4d 01 movw r8, r26 2f8: 22 23 and r18, r18 2fa: 51 f0 breq .+20 ; 0x310 <vfprintf+0x1e6> 2fc: fd 85 ldd r31, Y+13 ; 0x0d 2fe: 6f 2f mov r22, r31 300: 77 27 eor r23, r23 302: 67 fd sbrc r22, 7 304: 70 95 com r23 306: cd 01 movw r24, r26 308: 0e 94 f1 03 call 0x7e2 <strnlen> 30c: 88 8b std Y+16, r24 ; 0x10 30e: 07 c0 rjmp .+14 ; 0x31e <vfprintf+0x1f4> 310: fd 01 movw r30, r26 312: 01 90 ld r0, Z+ 314: 00 20 and r0, r0 316: e9 f7 brne .-6 ; 0x312 <vfprintf+0x1e8> 318: 31 97 sbiw r30, 0x01 ; 1 31a: ea 1b sub r30, r26 31c: e8 8b std Y+16, r30 ; 0x10 31e: 28 89 ldd r18, Y+16 ; 0x10 320: 22 1a sub r2, r18 322: 38 01 movw r6, r16 324: e3 e7 ldi r30, 0x73 ; 115 326: 3e 2e mov r3, r30 328: 1c c1 rjmp .+568 ; 0x562 <vfprintf+0x438> 32a: 83 01 movw r16, r6 32c: 0e 5f subi r16, 0xFE ; 254 32e: 1f 4f sbci r17, 0xFF ; 255 330: f3 01 movw r30, r6 332: 80 81 ld r24, Z 334: 91 81 ldd r25, Z+1 ; 0x01 336: 4c 01 movw r8, r24 338: 22 23 and r18, r18 33a: 41 f0 breq .+16 ; 0x34c <vfprintf+0x222> 33c: fd 85 ldd r31, Y+13 ; 0x0d 33e: 6f 2f mov r22, r31 340: 77 27 eor r23, r23 342: 67 fd sbrc r22, 7 344: 70 95 com r23 346: 0e 94 fc 03 call 0x7f8 <strnlen_P> 34a: 02 c0 rjmp .+4 ; 0x350 <vfprintf+0x226> 34c: 0e 94 e8 03 call 0x7d0 <strlen_P> 350: 88 8b std Y+16, r24 ; 0x10 352: 28 89 ldd r18, Y+16 ; 0x10 354: 22 1a sub r2, r18 356: 38 01 movw r6, r16 358: 73 e5 ldi r23, 0x53 ; 83 35a: 37 2e mov r3, r23 35c: 02 c1 rjmp .+516 ; 0x562 <vfprintf+0x438> 35e: c2 fe sbrs r12, 2 360: 08 c0 rjmp .+16 ; 0x372 <vfprintf+0x248> 362: f3 01 movw r30, r6 364: 80 81 ld r24, Z 366: 91 81 ldd r25, Z+1 ; 0x01 368: a2 81 ldd r26, Z+2 ; 0x02 36a: b3 81 ldd r27, Z+3 ; 0x03 36c: 24 e0 ldi r18, 0x04 ; 4 36e: 30 e0 ldi r19, 0x00 ; 0 370: 09 c0 rjmp .+18 ; 0x384 <vfprintf+0x25a> 372: f3 01 movw r30, r6 374: 80 81 ld r24, Z 376: 91 81 ldd r25, Z+1 ; 0x01 378: aa 27 eor r26, r26 37a: 97 fd sbrc r25, 7 37c: a0 95 com r26 37e: ba 2f mov r27, r26 380: 22 e0 ldi r18, 0x02 ; 2 382: 30 e0 ldi r19, 0x00 ; 0 384: 62 0e add r6, r18 386: 73 1e adc r7, r19 388: 4c 01 movw r8, r24 38a: 5d 01 movw r10, r26 38c: b7 ff sbrs r27, 7 38e: 0c c0 rjmp .+24 ; 0x3a8 <vfprintf+0x27e> 390: 82 e0 ldi r24, 0x02 ; 2 392: 90 e0 ldi r25, 0x00 ; 0 394: c8 2a or r12, r24 396: d9 2a or r13, r25 398: b0 94 com r11 39a: a0 94 com r10 39c: 90 94 com r9 39e: 80 94 com r8 3a0: 81 1c adc r8, r1 3a2: 91 1c adc r9, r1 3a4: a1 1c adc r10, r1 3a6: b1 1c adc r11, r1 3a8: ef eb ldi r30, 0xBF ; 191 3aa: ff ef ldi r31, 0xFF ; 255 3ac: ce 22 and r12, r30 3ae: df 22 and r13, r31 3b0: 21 c0 rjmp .+66 ; 0x3f4 <vfprintf+0x2ca> 3b2: 20 e4 ldi r18, 0x40 ; 64 3b4: 30 e0 ldi r19, 0x00 ; 0 3b6: c2 2a or r12, r18 3b8: d3 2a or r13, r19 3ba: 68 e7 ldi r22, 0x78 ; 120 3bc: 36 2e mov r3, r22 3be: 30 e1 ldi r19, 0x10 ; 16 3c0: 38 8b std Y+16, r19 ; 0x10 3c2: c2 fe sbrs r12, 2 3c4: 08 c0 rjmp .+16 ; 0x3d6 <vfprintf+0x2ac> 3c6: f3 01 movw r30, r6 3c8: 80 81 ld r24, Z 3ca: 91 81 ldd r25, Z+1 ; 0x01 3cc: a2 81 ldd r26, Z+2 ; 0x02 3ce: b3 81 ldd r27, Z+3 ; 0x03 3d0: 24 e0 ldi r18, 0x04 ; 4 3d2: 30 e0 ldi r19, 0x00 ; 0 3d4: 07 c0 rjmp .+14 ; 0x3e4 <vfprintf+0x2ba> 3d6: f3 01 movw r30, r6 3d8: 80 81 ld r24, Z 3da: 91 81 ldd r25, Z+1 ; 0x01 3dc: aa 27 eor r26, r26 3de: bb 27 eor r27, r27 3e0: 22 e0 ldi r18, 0x02 ; 2 3e2: 30 e0 ldi r19, 0x00 ; 0 3e4: 62 0e add r6, r18 3e6: 73 1e adc r7, r19 3e8: 4c 01 movw r8, r24 3ea: 5d 01 movw r10, r26 3ec: 8f ec ldi r24, 0xCF ; 207 3ee: 9f ef ldi r25, 0xFF ; 255 3f0: c8 22 and r12, r24 3f2: d9 22 and r13, r25 3f4: 85 01 movw r16, r10 3f6: 74 01 movw r14, r8 3f8: fe 01 movw r30, r28 3fa: 31 96 adiw r30, 0x01 ; 1 3fc: ee 87 std Y+14, r30 ; 0x0e 3fe: ff 87 std Y+15, r31 ; 0x0f 400: f8 89 ldd r31, Y+16 ; 0x10 402: 8f 2e mov r8, r31 404: 99 24 eor r9, r9 406: aa 24 eor r10, r10 408: bb 24 eor r11, r11 40a: c8 01 movw r24, r16 40c: b7 01 movw r22, r14 40e: a5 01 movw r20, r10 410: 94 01 movw r18, r8 412: 0e 94 5b 05 call 0xab6 <__udivmodsi4> 416: 6a 30 cpi r22, 0x0A ; 10 418: 1c f0 brlt .+6 ; 0x420 <vfprintf+0x2f6> 41a: 63 0d add r22, r3 41c: 61 52 subi r22, 0x21 ; 33 41e: 01 c0 rjmp .+2 ; 0x422 <vfprintf+0x2f8> 420: 60 5d subi r22, 0xD0 ; 208 422: ee 85 ldd r30, Y+14 ; 0x0e 424: ff 85 ldd r31, Y+15 ; 0x0f 426: 61 93 st Z+, r22 428: ee 87 std Y+14, r30 ; 0x0e 42a: ff 87 std Y+15, r31 ; 0x0f 42c: c8 01 movw r24, r16 42e: b7 01 movw r22, r14 430: a5 01 movw r20, r10 432: 94 01 movw r18, r8 434: 0e 94 5b 05 call 0xab6 <__udivmodsi4> 438: 79 01 movw r14, r18 43a: 8a 01 movw r16, r20 43c: 21 15 cp r18, r1 43e: 31 05 cpc r19, r1 440: 41 05 cpc r20, r1 442: 51 05 cpc r21, r1 444: 11 f7 brne .-60 ; 0x40a <vfprintf+0x2e0> 446: 88 24 eor r8, r8 448: 99 24 eor r9, r9 44a: 54 01 movw r10, r8 44c: ce 01 movw r24, r28 44e: 01 96 adiw r24, 0x01 ; 1 450: 4e 85 ldd r20, Y+14 ; 0x0e 452: 48 1b sub r20, r24 454: 84 2e mov r8, r20 456: c6 01 movw r24, r12 458: 82 73 andi r24, 0x32 ; 50 45a: 90 70 andi r25, 0x00 ; 0 45c: 89 2b or r24, r25 45e: 09 f0 breq .+2 ; 0x462 <vfprintf+0x338> 460: 2a 94 dec r2 462: c6 fe sbrs r12, 6 464: 07 c0 rjmp .+14 ; 0x474 <vfprintf+0x34a> 466: f8 89 ldd r31, Y+16 ; 0x10 468: f0 31 cpi r31, 0x10 ; 16 46a: 11 f4 brne .+4 ; 0x470 <vfprintf+0x346> 46c: 82 e0 ldi r24, 0x02 ; 2 46e: 01 c0 rjmp .+2 ; 0x472 <vfprintf+0x348> 470: 81 e0 ldi r24, 0x01 ; 1 472: 28 1a sub r2, r24 474: c3 fe sbrs r12, 3 476: 12 c0 rjmp .+36 ; 0x49c <vfprintf+0x372> 478: 8d 85 ldd r24, Y+13 ; 0x0d 47a: 28 2f mov r18, r24 47c: 33 27 eor r19, r19 47e: 27 fd sbrc r18, 7 480: 30 95 com r19 482: 84 2f mov r24, r20 484: 99 27 eor r25, r25 486: 82 17 cp r24, r18 488: 93 07 cpc r25, r19 48a: 2c f0 brlt .+10 ; 0x496 <vfprintf+0x36c> 48c: e7 ef ldi r30, 0xF7 ; 247 48e: ff ef ldi r31, 0xFF ; 255 490: ce 22 and r12, r30 492: df 22 and r13, r31 494: 03 c0 rjmp .+6 ; 0x49c <vfprintf+0x372> 496: fd 85 ldd r31, Y+13 ; 0x0d 498: f4 1b sub r31, r20 49a: fd 87 std Y+13, r31 ; 0x0d 49c: c6 01 movw r24, r12 49e: 53 e0 ldi r21, 0x03 ; 3 4a0: 96 95 lsr r25 4a2: 87 95 ror r24 4a4: 5a 95 dec r21 4a6: e1 f7 brne .-8 ; 0x4a0 <vfprintf+0x376> 4a8: 81 70 andi r24, 0x01 ; 1 4aa: 90 70 andi r25, 0x00 ; 0 4ac: 08 2f mov r16, r24 4ae: 88 23 and r24, r24 4b0: 19 f0 breq .+6 ; 0x4b8 <vfprintf+0x38e> 4b2: 2d 85 ldd r18, Y+13 ; 0x0d 4b4: 22 1a sub r2, r18 4b6: 01 c0 rjmp .+2 ; 0x4ba <vfprintf+0x390> 4b8: 24 1a sub r2, r20 4ba: c6 01 movw r24, r12 4bc: 80 78 andi r24, 0x80 ; 128 4be: 91 70 andi r25, 0x01 ; 1 4c0: 89 2b or r24, r25 4c2: 69 f4 brne .+26 ; 0x4de <vfprintf+0x3b4> 4c4: 82 2d mov r24, r2 4c6: 06 c0 rjmp .+12 ; 0x4d4 <vfprintf+0x3aa> 4c8: b2 01 movw r22, r4 4ca: 80 e2 ldi r24, 0x20 ; 32 4cc: 90 e0 ldi r25, 0x00 ; 0 4ce: 0e 94 b4 03 call 0x768 <fputc> 4d2: 81 2f mov r24, r17 4d4: 18 2f mov r17, r24 4d6: 11 50 subi r17, 0x01 ; 1 4d8: 18 16 cp r1, r24 4da: b4 f3 brlt .-20 ; 0x4c8 <vfprintf+0x39e> 4dc: 21 2e mov r2, r17 4de: c1 fe sbrs r12, 1 4e0: 04 c0 rjmp .+8 ; 0x4ea <vfprintf+0x3c0> 4e2: b2 01 movw r22, r4 4e4: 8d e2 ldi r24, 0x2D ; 45 4e6: 90 e0 ldi r25, 0x00 ; 0 4e8: 0b c0 rjmp .+22 ; 0x500 <vfprintf+0x3d6> 4ea: c4 fe sbrs r12, 4 4ec: 04 c0 rjmp .+8 ; 0x4f6 <vfprintf+0x3cc> 4ee: b2 01 movw r22, r4 4f0: 8b e2 ldi r24, 0x2B ; 43 4f2: 90 e0 ldi r25, 0x00 ; 0 4f4: 05 c0 rjmp .+10 ; 0x500 <vfprintf+0x3d6> 4f6: c5 fe sbrs r12, 5 4f8: 05 c0 rjmp .+10 ; 0x504 <vfprintf+0x3da> 4fa: b2 01 movw r22, r4 4fc: 80 e2 ldi r24, 0x20 ; 32 4fe: 90 e0 ldi r25, 0x00 ; 0 500: 0e 94 b4 03 call 0x768 <fputc> 504: c6 fe sbrs r12, 6 506: 0f c0 rjmp .+30 ; 0x526 <vfprintf+0x3fc> 508: b2 01 movw r22, r4 50a: 80 e3 ldi r24, 0x30 ; 48 50c: 90 e0 ldi r25, 0x00 ; 0 50e: 0e 94 b4 03 call 0x768 <fputc> 512: 38 89 ldd r19, Y+16 ; 0x10 514: 30 31 cpi r19, 0x10 ; 16 516: 39 f4 brne .+14 ; 0x526 <vfprintf+0x3fc> 518: b2 01 movw r22, r4 51a: 83 2d mov r24, r3 51c: 99 27 eor r25, r25 51e: 87 fd sbrc r24, 7 520: 90 95 com r25 522: 0e 94 b4 03 call 0x768 <fputc> 526: d0 fe sbrs r13, 0 528: 0d c0 rjmp .+26 ; 0x544 <vfprintf+0x41a> 52a: 82 2d mov r24, r2 52c: 06 c0 rjmp .+12 ; 0x53a <vfprintf+0x410> 52e: b2 01 movw r22, r4 530: 80 e3 ldi r24, 0x30 ; 48 532: 90 e0 ldi r25, 0x00 ; 0 534: 0e 94 b4 03 call 0x768 <fputc> 538: 81 2f mov r24, r17 53a: 18 2f mov r17, r24 53c: 11 50 subi r17, 0x01 ; 1 53e: 18 16 cp r1, r24 540: b4 f3 brlt .-20 ; 0x52e <vfprintf+0x404> 542: 21 2e mov r2, r17 544: 00 23 and r16, r16 546: 69 f0 breq .+26 ; 0x562 <vfprintf+0x438> 548: 2d 85 ldd r18, Y+13 ; 0x0d 54a: 06 c0 rjmp .+12 ; 0x558 <vfprintf+0x42e> 54c: b2 01 movw r22, r4 54e: 80 e3 ldi r24, 0x30 ; 48 550: 90 e0 ldi r25, 0x00 ; 0 552: 0e 94 b4 03 call 0x768 <fputc> 556: 21 2f mov r18, r17 558: 12 2f mov r17, r18 55a: 11 50 subi r17, 0x01 ; 1 55c: 12 16 cp r1, r18 55e: b4 f3 brlt .-20 ; 0x54c <vfprintf+0x422> 560: 1d 87 std Y+13, r17 ; 0x0d 562: c6 01 movw r24, r12 564: 88 0f add r24, r24 566: 89 2f mov r24, r25 568: 88 1f adc r24, r24 56a: 99 0b sbc r25, r25 56c: 91 95 neg r25 56e: 21 e0 ldi r18, 0x01 ; 1 570: c2 2e mov r12, r18 572: d1 2c mov r13, r1 574: c8 22 and r12, r24 576: d9 22 and r13, r25 578: 80 fd sbrc r24, 0 57a: 0d c0 rjmp .+26 ; 0x596 <vfprintf+0x46c> 57c: 82 2d mov r24, r2 57e: 06 c0 rjmp .+12 ; 0x58c <vfprintf+0x462> 580: b2 01 movw r22, r4 582: 80 e2 ldi r24, 0x20 ; 32 584: 90 e0 ldi r25, 0x00 ; 0 586: 0e 94 b4 03 call 0x768 <fputc> 58a: 81 2f mov r24, r17 58c: 18 2f mov r17, r24 58e: 11 50 subi r17, 0x01 ; 1 590: 18 16 cp r1, r24 592: b4 f3 brlt .-20 ; 0x580 <vfprintf+0x456> 594: 21 2e mov r2, r17 596: 83 e6 ldi r24, 0x63 ; 99 598: 38 16 cp r3, r24 59a: 41 f4 brne .+16 ; 0x5ac <vfprintf+0x482> 59c: b2 01 movw r22, r4 59e: 88 2d mov r24, r8 5a0: 99 27 eor r25, r25 5a2: 87 fd sbrc r24, 7 5a4: 90 95 com r25 5a6: 0e 94 b4 03 call 0x768 <fputc> 5aa: 41 c0 rjmp .+130 ; 0x62e <vfprintf+0x504> 5ac: 93 e7 ldi r25, 0x73 ; 115 5ae: 39 16 cp r3, r25 5b0: 91 f4 brne .+36 ; 0x5d6 <vfprintf+0x4ac> 5b2: 84 01 movw r16, r8 5b4: ff 24 eor r15, r15 5b6: 0a c0 rjmp .+20 ; 0x5cc <vfprintf+0x4a2> 5b8: f8 01 movw r30, r16 5ba: 81 91 ld r24, Z+ 5bc: 8f 01 movw r16, r30 5be: b2 01 movw r22, r4 5c0: 99 27 eor r25, r25 5c2: 87 fd sbrc r24, 7 5c4: 90 95 com r25 5c6: 0e 94 b4 03 call 0x768 <fputc> 5ca: fa 94 dec r15 5cc: 88 89 ldd r24, Y+16 ; 0x10 5ce: 81 95 neg r24 5d0: f8 16 cp r15, r24 5d2: 91 f7 brne .-28 ; 0x5b8 <vfprintf+0x48e> 5d4: 16 c0 rjmp .+44 ; 0x602 <vfprintf+0x4d8> 5d6: 23 e5 ldi r18, 0x53 ; 83 5d8: 32 16 cp r3, r18 5da: 19 f0 breq .+6 ; 0x5e2 <vfprintf+0x4b8> 5dc: 0e 85 ldd r16, Y+14 ; 0x0e 5de: 1f 85 ldd r17, Y+15 ; 0x0f 5e0: 1f c0 rjmp .+62 ; 0x620 <vfprintf+0x4f6> 5e2: 84 01 movw r16, r8 5e4: ff 24 eor r15, r15 5e6: 09 c0 rjmp .+18 ; 0x5fa <vfprintf+0x4d0> 5e8: f8 01 movw r30, r16 5ea: 84 91 lpm r24, Z 5ec: b2 01 movw r22, r4 5ee: 99 27 eor r25, r25 5f0: 0e 94 b4 03 call 0x768 <fputc> 5f4: 0f 5f subi r16, 0xFF ; 255 5f6: 1f 4f sbci r17, 0xFF ; 255 5f8: fa 94 dec r15 5fa: 88 89 ldd r24, Y+16 ; 0x10 5fc: 81 95 neg r24 5fe: f8 16 cp r15, r24 600: 99 f7 brne .-26 ; 0x5e8 <vfprintf+0x4be> 602: f8 89 ldd r31, Y+16 ; 0x10 604: ff 0d add r31, r15 606: f1 50 subi r31, 0x01 ; 1 608: f8 8b std Y+16, r31 ; 0x10 60a: 48 01 movw r8, r16 60c: 10 c0 rjmp .+32 ; 0x62e <vfprintf+0x504> 60e: f8 01 movw r30, r16 610: 82 91 ld r24, -Z 612: 8f 01 movw r16, r30 614: b2 01 movw r22, r4 616: 99 27 eor r25, r25 618: 87 fd sbrc r24, 7 61a: 90 95 com r25 61c: 0e 94 b4 03 call 0x768 <fputc> 620: ce 01 movw r24, r28 622: 01 96 adiw r24, 0x01 ; 1 624: 08 17 cp r16, r24 626: 19 07 cpc r17, r25 628: 91 f7 brne .-28 ; 0x60e <vfprintf+0x4e4> 62a: 0e 87 std Y+14, r16 ; 0x0e 62c: 1f 87 std Y+15, r17 ; 0x0f 62e: cd 28 or r12, r13 630: 89 f0 breq .+34 ; 0x654 <vfprintf+0x52a> 632: 82 2d mov r24, r2 634: 06 c0 rjmp .+12 ; 0x642 <vfprintf+0x518> 636: b2 01 movw r22, r4 638: 80 e2 ldi r24, 0x20 ; 32 63a: 90 e0 ldi r25, 0x00 ; 0 63c: 0e 94 b4 03 call 0x768 <fputc> 640: 81 2f mov r24, r17 642: 18 2f mov r17, r24 644: 11 50 subi r17, 0x01 ; 1 646: 18 16 cp r1, r24 648: b4 f3 brlt .-20 ; 0x636 <vfprintf+0x50c> 64a: 21 2e mov r2, r17 64c: 03 c0 rjmp .+6 ; 0x654 <vfprintf+0x52a> 64e: b2 01 movw r22, r4 650: 0e 94 b4 03 call 0x768 <fputc> 654: cc 24 eor r12, r12 656: dd 24 eor r13, r13 658: 12 c0 rjmp .+36 ; 0x67e <vfprintf+0x554> 65a: f5 e2 ldi r31, 0x25 ; 37 65c: 3f 16 cp r3, r31 65e: 41 f4 brne .+16 ; 0x670 <vfprintf+0x546> 660: 81 e0 ldi r24, 0x01 ; 1 662: c8 2e mov r12, r24 664: d1 2c mov r13, r1 666: 1d 86 std Y+13, r1 ; 0x0d 668: 22 24 eor r2, r2 66a: 2a e0 ldi r18, 0x0A ; 10 66c: 28 8b std Y+16, r18 ; 0x10 66e: 07 c0 rjmp .+14 ; 0x67e <vfprintf+0x554> 670: b2 01 movw r22, r4 672: 83 2d mov r24, r3 674: 99 27 eor r25, r25 676: 87 fd sbrc r24, 7 678: 90 95 com r25 67a: 0e 94 b4 03 call 0x768 <fputc> 67e: f2 01 movw r30, r4 680: 83 81 ldd r24, Z+3 ; 0x03 682: 83 ff sbrs r24, 3 684: 04 c0 rjmp .+8 ; 0x68e <vfprintf+0x564> 686: e9 89 ldd r30, Y+17 ; 0x11 688: fa 89 ldd r31, Y+18 ; 0x12 68a: 34 90 lpm r3, Z 68c: 03 c0 rjmp .+6 ; 0x694 <vfprintf+0x56a> 68e: e9 89 ldd r30, Y+17 ; 0x11 690: fa 89 ldd r31, Y+18 ; 0x12 692: 30 80 ld r3, Z 694: 33 20 and r3, r3 696: 09 f0 breq .+2 ; 0x69a <vfprintf+0x570> 698: 72 cd rjmp .-1308 ; 0x17e <vfprintf+0x54> 69a: f2 01 movw r30, r4 69c: 86 81 ldd r24, Z+6 ; 0x06 69e: 97 81 ldd r25, Z+7 ; 0x07 6a0: 62 96 adiw r28, 0x12 ; 18 6a2: 0f b6 in r0, 0x3f ; 63 6a4: f8 94 cli 6a6: de bf out 0x3e, r29 ; 62 6a8: 0f be out 0x3f, r0 ; 63 6aa: cd bf out 0x3d, r28 ; 61 6ac: df 91 pop r29 6ae: cf 91 pop r28 6b0: 1f 91 pop r17 6b2: 0f 91 pop r16 6b4: ff 90 pop r15 6b6: ef 90 pop r14 6b8: df 90 pop r13 6ba: cf 90 pop r12 6bc: bf 90 pop r11 6be: af 90 pop r10 6c0: 9f 90 pop r9 6c2: 8f 90 pop r8 6c4: 7f 90 pop r7 6c6: 6f 90 pop r6 6c8: 5f 90 pop r5 6ca: 4f 90 pop r4 6cc: 3f 90 pop r3 6ce: 2f 90 pop r2 6d0: 08 95 ret 000006d2 <fdevopen>: 6d2: 0f 93 push r16 6d4: 1f 93 push r17 6d6: cf 93 push r28 6d8: df 93 push r29 6da: 8c 01 movw r16, r24 6dc: eb 01 movw r28, r22 6de: 89 2b or r24, r25 6e0: 21 f1 breq .+72 ; 0x72a <fdevopen+0x58> 6e2: 6c e0 ldi r22, 0x0C ; 12 6e4: 70 e0 ldi r23, 0x00 ; 0 6e6: 81 e0 ldi r24, 0x01 ; 1 6e8: 90 e0 ldi r25, 0x00 ; 0 6ea: 0e 94 07 04 call 0x80e <calloc> 6ee: fc 01 movw r30, r24 6f0: 89 2b or r24, r25 6f2: e9 f0 breq .+58 ; 0x72e <fdevopen+0x5c> 6f4: 20 97 sbiw r28, 0x00 ; 0 6f6: 51 f0 breq .+20 ; 0x70c <fdevopen+0x3a> 6f8: c2 87 std Z+10, r28 ; 0x0a 6fa: d3 87 std Z+11, r29 ; 0x0b 6fc: 81 e0 ldi r24, 0x01 ; 1 6fe: 83 83 std Z+3, r24 ; 0x03 700: 80 91 62 01 lds r24, 0x0162 704: 90 91 63 01 lds r25, 0x0163 708: 89 2b or r24, r25 70a: 19 f1 breq .+70 ; 0x752 <fdevopen+0x80> 70c: 01 15 cp r16, r1 70e: 11 05 cpc r17, r1 710: 29 f1 breq .+74 ; 0x75c <fdevopen+0x8a> 712: 00 87 std Z+8, r16 ; 0x08 714: 11 87 std Z+9, r17 ; 0x09 716: 83 81 ldd r24, Z+3 ; 0x03 718: 82 60 ori r24, 0x02 ; 2 71a: 83 83 std Z+3, r24 ; 0x03 71c: 80 91 64 01 lds r24, 0x0164 720: 90 91 65 01 lds r25, 0x0165 724: 89 2b or r24, r25 726: d1 f4 brne .+52 ; 0x75c <fdevopen+0x8a> 728: 05 c0 rjmp .+10 ; 0x734 <fdevopen+0x62> 72a: 67 2b or r22, r23 72c: d1 f6 brne .-76 ; 0x6e2 <fdevopen+0x10> 72e: e0 e0 ldi r30, 0x00 ; 0 730: f0 e0 ldi r31, 0x00 ; 0 732: 14 c0 rjmp .+40 ; 0x75c <fdevopen+0x8a> 734: f0 93 65 01 sts 0x0165, r31 738: e0 93 64 01 sts 0x0164, r30 73c: 80 91 66 01 lds r24, 0x0166 740: 90 91 67 01 lds r25, 0x0167 744: 89 2b or r24, r25 746: 51 f4 brne .+20 ; 0x75c <fdevopen+0x8a> 748: f0 93 67 01 sts 0x0167, r31 74c: e0 93 66 01 sts 0x0166, r30 750: 05 c0 rjmp .+10 ; 0x75c <fdevopen+0x8a> 752: f0 93 63 01 sts 0x0163, r31 756: e0 93 62 01 sts 0x0162, r30 75a: d8 cf rjmp .-80 ; 0x70c <fdevopen+0x3a> 75c: cf 01 movw r24, r30 75e: df 91 pop r29 760: cf 91 pop r28 762: 1f 91 pop r17 764: 0f 91 pop r16 766: 08 95 ret 00000768 <fputc>: #include "stdio_private.h" int fputc(int c, FILE *stream) { 768: 0f 93 push r16 76a: 1f 93 push r17 76c: cf 93 push r28 76e: df 93 push r29 770: 8c 01 movw r16, r24 772: eb 01 movw r28, r22 if ((stream->flags & __SWR) == 0) 774: 8b 81 ldd r24, Y+3 ; 0x03 776: 99 27 eor r25, r25 778: 81 ff sbrs r24, 1 77a: 16 c0 rjmp .+44 ; 0x7a8 <fputc+0x40> return EOF; if (stream->flags & __SSTR) { 77c: 82 ff sbrs r24, 2 77e: 17 c0 rjmp .+46 ; 0x7ae <fputc+0x46> if (stream->len < stream->size) 780: 2e 81 ldd r18, Y+6 ; 0x06 782: 3f 81 ldd r19, Y+7 ; 0x07 784: 8c 81 ldd r24, Y+4 ; 0x04 786: 9d 81 ldd r25, Y+5 ; 0x05 788: 28 17 cp r18, r24 78a: 39 07 cpc r19, r25 78c: 2c f0 brlt .+10 ; 0x798 <fputc+0x30> *stream->buf++ = c; stream->len++; 78e: 2f 5f subi r18, 0xFF ; 255 790: 3f 4f sbci r19, 0xFF ; 255 792: 2e 83 std Y+6, r18 ; 0x06 794: 3f 83 std Y+7, r19 ; 0x07 796: 16 c0 rjmp .+44 ; 0x7c4 <fputc+0x5c> 798: e8 81 ld r30, Y 79a: f9 81 ldd r31, Y+1 ; 0x01 79c: 01 93 st Z+, r16 79e: e8 83 st Y, r30 7a0: f9 83 std Y+1, r31 ; 0x01 7a2: 2e 81 ldd r18, Y+6 ; 0x06 7a4: 3f 81 ldd r19, Y+7 ; 0x07 7a6: f3 cf rjmp .-26 ; 0x78e <fputc+0x26> return c; } else { if (stream->put(c) == 0) { stream->len++; return c; 7a8: 0f ef ldi r16, 0xFF ; 255 7aa: 1f ef ldi r17, 0xFF ; 255 7ac: 0b c0 rjmp .+22 ; 0x7c4 <fputc+0x5c> 7ae: e8 85 ldd r30, Y+8 ; 0x08 7b0: f9 85 ldd r31, Y+9 ; 0x09 7b2: 80 2f mov r24, r16 7b4: 09 95 icall 7b6: 89 2b or r24, r25 7b8: b9 f7 brne .-18 ; 0x7a8 <fputc+0x40> 7ba: 8e 81 ldd r24, Y+6 ; 0x06 7bc: 9f 81 ldd r25, Y+7 ; 0x07 7be: 01 96 adiw r24, 0x01 ; 1 7c0: 8e 83 std Y+6, r24 ; 0x06 7c2: 9f 83 std Y+7, r25 ; 0x07 } else return EOF; } } 7c4: c8 01 movw r24, r16 7c6: df 91 pop r29 7c8: cf 91 pop r28 7ca: 1f 91 pop r17 7cc: 0f 91 pop r16 7ce: 08 95 ret 000007d0 <strlen_P>: 7d0: fc 01 movw r30, r24 000007d2 <.strlen_P_loop>: 7d2: 05 90 lpm r0, Z+ 7d4: 00 20 and r0, r0 7d6: e9 f7 brne .-6 ; 0x7d2 <.strlen_P_loop> 7d8: 80 95 com r24 7da: 90 95 com r25 7dc: 8e 0f add r24, r30 7de: 9f 1f adc r25, r31 7e0: 08 95 ret 000007e2 <strnlen>: 7e2: fc 01 movw r30, r24 000007e4 <.strnlen_loop>: 7e4: 61 50 subi r22, 0x01 ; 1 7e6: 70 40 sbci r23, 0x00 ; 0 7e8: 01 90 ld r0, Z+ 7ea: 01 10 cpse r0, r1 7ec: d8 f7 brcc .-10 ; 0x7e4 <.strnlen_loop> 7ee: 80 95 com r24 7f0: 90 95 com r25 7f2: 8e 0f add r24, r30 7f4: 9f 1f adc r25, r31 7f6: 08 95 ret 000007f8 <strnlen_P>: 7f8: fc 01 movw r30, r24 7fa: 61 50 subi r22, 0x01 ; 1 7fc: 70 40 sbci r23, 0x00 ; 0 7fe: 05 90 lpm r0, Z+ 800: 01 10 cpse r0, r1 802: d8 f7 brcc .-10 ; 0x7fa <strnlen_P+0x2> 804: 80 95 com r24 806: 90 95 com r25 808: 8e 0f add r24, r30 80a: 9f 1f adc r25, r31 80c: 08 95 ret 0000080e <calloc>: 80e: 0f 93 push r16 810: 1f 93 push r17 812: cf 93 push r28 814: df 93 push r29 816: 86 9f mul r24, r22 818: 80 01 movw r16, r0 81a: 87 9f mul r24, r23 81c: 10 0d add r17, r0 81e: 96 9f mul r25, r22 820: 10 0d add r17, r0 822: 11 24 eor r1, r1 824: c8 01 movw r24, r16 826: 0e 94 23 04 call 0x846 <malloc> 82a: ec 01 movw r28, r24 82c: 00 97 sbiw r24, 0x00 ; 0 82e: 29 f0 breq .+10 ; 0x83a <calloc+0x2c> 830: a8 01 movw r20, r16 832: 60 e0 ldi r22, 0x00 ; 0 834: 70 e0 ldi r23, 0x00 ; 0 836: 0e 94 54 05 call 0xaa8 <memset> 83a: ce 01 movw r24, r28 83c: df 91 pop r29 83e: cf 91 pop r28 840: 1f 91 pop r17 842: 0f 91 pop r16 844: 08 95 ret 00000846 <malloc>: 846: 0f 93 push r16 848: 1f 93 push r17 84a: cf 93 push r28 84c: df 93 push r29 84e: ac 01 movw r20, r24 850: 02 97 sbiw r24, 0x02 ; 2 852: 08 f4 brcc .+2 ; 0x856 <malloc+0x10> 854: 82 c0 rjmp .+260 ; 0x95a <malloc+0x114> 856: 00 91 6a 01 lds r16, 0x016A 85a: 10 91 6b 01 lds r17, 0x016B 85e: 01 15 cp r16, r1 860: 11 05 cpc r17, r1 862: 09 f4 brne .+2 ; 0x866 <malloc+0x20> 864: 63 c0 rjmp .+198 ; 0x92c <malloc+0xe6> 866: f8 01 movw r30, r16 868: 60 81 ld r22, Z 86a: 71 81 ldd r23, Z+1 ; 0x01 86c: 46 17 cp r20, r22 86e: 57 07 cpc r21, r23 870: 09 f4 brne .+2 ; 0x874 <malloc+0x2e> 872: 53 c0 rjmp .+166 ; 0x91a <malloc+0xd4> 874: d8 01 movw r26, r16 876: cb 01 movw r24, r22 878: 20 e0 ldi r18, 0x00 ; 0 87a: 30 e0 ldi r19, 0x00 ; 0 87c: 48 17 cp r20, r24 87e: 59 07 cpc r21, r25 880: 30 f4 brcc .+12 ; 0x88e <malloc+0x48> 882: 21 15 cp r18, r1 884: 31 05 cpc r19, r1 886: 79 f0 breq .+30 ; 0x8a6 <malloc+0x60> 888: 82 17 cp r24, r18 88a: 93 07 cpc r25, r19 88c: 60 f0 brcs .+24 ; 0x8a6 <malloc+0x60> 88e: ed 01 movw r28, r26 890: ea 81 ldd r30, Y+2 ; 0x02 892: fb 81 ldd r31, Y+3 ; 0x03 894: 30 97 sbiw r30, 0x00 ; 0 896: 69 f0 breq .+26 ; 0x8b2 <malloc+0x6c> 898: 80 81 ld r24, Z 89a: 91 81 ldd r25, Z+1 ; 0x01 89c: 48 17 cp r20, r24 89e: 59 07 cpc r21, r25 8a0: a1 f1 breq .+104 ; 0x90a <malloc+0xc4> 8a2: df 01 movw r26, r30 8a4: eb cf rjmp .-42 ; 0x87c <malloc+0x36> 8a6: 9c 01 movw r18, r24 8a8: ed 01 movw r28, r26 8aa: ea 81 ldd r30, Y+2 ; 0x02 8ac: fb 81 ldd r31, Y+3 ; 0x03 8ae: 30 97 sbiw r30, 0x00 ; 0 8b0: 99 f7 brne .-26 ; 0x898 <malloc+0x52> 8b2: 21 15 cp r18, r1 8b4: 31 05 cpc r19, r1 8b6: d1 f1 breq .+116 ; 0x92c <malloc+0xe6> 8b8: c9 01 movw r24, r18 8ba: 84 1b sub r24, r20 8bc: 95 0b sbc r25, r21 8be: 04 97 sbiw r24, 0x04 ; 4 8c0: 08 f4 brcc .+2 ; 0x8c4 <malloc+0x7e> 8c2: a9 01 movw r20, r18 8c4: 62 17 cp r22, r18 8c6: 73 07 cpc r23, r19 8c8: 11 f4 brne .+4 ; 0x8ce <malloc+0x88> 8ca: 4a c0 rjmp .+148 ; 0x960 <malloc+0x11a> 8cc: 8f 01 movw r16, r30 8ce: e8 01 movw r28, r16 8d0: ea 81 ldd r30, Y+2 ; 0x02 8d2: fb 81 ldd r31, Y+3 ; 0x03 8d4: 30 97 sbiw r30, 0x00 ; 0 8d6: 51 f1 breq .+84 ; 0x92c <malloc+0xe6> 8d8: 80 81 ld r24, Z 8da: 91 81 ldd r25, Z+1 ; 0x01 8dc: 28 17 cp r18, r24 8de: 39 07 cpc r19, r25 8e0: a9 f7 brne .-22 ; 0x8cc <malloc+0x86> 8e2: d8 01 movw r26, r16 8e4: 8f 01 movw r16, r30 8e6: 42 17 cp r20, r18 8e8: 53 07 cpc r21, r19 8ea: 09 f4 brne .+2 ; 0x8ee <malloc+0xa8> 8ec: 5f c0 rjmp .+190 ; 0x9ac <malloc+0x166> 8ee: c9 01 movw r24, r18 8f0: 84 1b sub r24, r20 8f2: 95 0b sbc r25, r21 8f4: f8 01 movw r30, r16 8f6: e8 0f add r30, r24 8f8: f9 1f adc r31, r25 8fa: 41 93 st Z+, r20 8fc: 51 93 st Z+, r21 8fe: 02 97 sbiw r24, 0x02 ; 2 900: d8 01 movw r26, r16 902: 8d 93 st X+, r24 904: 9c 93 st X, r25 906: cf 01 movw r24, r30 908: 65 c0 rjmp .+202 ; 0x9d4 <malloc+0x18e> 90a: 82 81 ldd r24, Z+2 ; 0x02 90c: 93 81 ldd r25, Z+3 ; 0x03 90e: ed 01 movw r28, r26 910: 8a 83 std Y+2, r24 ; 0x02 912: 9b 83 std Y+3, r25 ; 0x03 914: cf 01 movw r24, r30 916: 02 96 adiw r24, 0x02 ; 2 918: 5d c0 rjmp .+186 ; 0x9d4 <malloc+0x18e> 91a: e8 01 movw r28, r16 91c: 8a 81 ldd r24, Y+2 ; 0x02 91e: 9b 81 ldd r25, Y+3 ; 0x03 920: 90 93 6b 01 sts 0x016B, r25 924: 80 93 6a 01 sts 0x016A, r24 928: f8 01 movw r30, r16 92a: f4 cf rjmp .-24 ; 0x914 <malloc+0xce> 92c: 60 91 68 01 lds r22, 0x0168 930: 70 91 69 01 lds r23, 0x0169 934: 61 15 cp r22, r1 936: 71 05 cpc r23, r1 938: f9 f0 breq .+62 ; 0x978 <malloc+0x132> 93a: 20 91 5b 01 lds r18, 0x015B 93e: 30 91 5c 01 lds r19, 0x015C 942: 21 15 cp r18, r1 944: 31 05 cpc r19, r1 946: 79 f0 breq .+30 ; 0x966 <malloc+0x120> 948: fb 01 movw r30, r22 94a: 26 1b sub r18, r22 94c: 37 0b sbc r19, r23 94e: 24 17 cp r18, r20 950: 35 07 cpc r19, r21 952: d8 f4 brcc .+54 ; 0x98a <malloc+0x144> 954: 80 e0 ldi r24, 0x00 ; 0 956: 90 e0 ldi r25, 0x00 ; 0 958: 3d c0 rjmp .+122 ; 0x9d4 <malloc+0x18e> 95a: 42 e0 ldi r20, 0x02 ; 2 95c: 50 e0 ldi r21, 0x00 ; 0 95e: 7b cf rjmp .-266 ; 0x856 <malloc+0x10> 960: a0 e0 ldi r26, 0x00 ; 0 962: b0 e0 ldi r27, 0x00 ; 0 964: c0 cf rjmp .-128 ; 0x8e6 <malloc+0xa0> 966: 2d b7 in r18, 0x3d ; 61 968: 3e b7 in r19, 0x3e ; 62 96a: 80 91 5f 01 lds r24, 0x015F 96e: 90 91 60 01 lds r25, 0x0160 972: 28 1b sub r18, r24 974: 39 0b sbc r19, r25 976: e8 cf rjmp .-48 ; 0x948 <malloc+0x102> 978: 60 91 5d 01 lds r22, 0x015D 97c: 70 91 5e 01 lds r23, 0x015E 980: 70 93 69 01 sts 0x0169, r23 984: 60 93 68 01 sts 0x0168, r22 988: d8 cf rjmp .-80 ; 0x93a <malloc+0xf4> 98a: ca 01 movw r24, r20 98c: 02 96 adiw r24, 0x02 ; 2 98e: 28 17 cp r18, r24 990: 39 07 cpc r19, r25 992: 00 f3 brcs .-64 ; 0x954 <malloc+0x10e> 994: 64 0f add r22, r20 996: 75 1f adc r23, r21 998: 6e 5f subi r22, 0xFE ; 254 99a: 7f 4f sbci r23, 0xFF ; 255 99c: 70 93 69 01 sts 0x0169, r23 9a0: 60 93 68 01 sts 0x0168, r22 9a4: 41 93 st Z+, r20 9a6: 51 93 st Z+, r21 9a8: cf 01 movw r24, r30 9aa: 14 c0 rjmp .+40 ; 0x9d4 <malloc+0x18e> 9ac: 10 97 sbiw r26, 0x00 ; 0 9ae: 49 f0 breq .+18 ; 0x9c2 <malloc+0x17c> 9b0: f8 01 movw r30, r16 9b2: 82 81 ldd r24, Z+2 ; 0x02 9b4: 93 81 ldd r25, Z+3 ; 0x03 9b6: ed 01 movw r28, r26 9b8: 8a 83 std Y+2, r24 ; 0x02 9ba: 9b 83 std Y+3, r25 ; 0x03 9bc: c8 01 movw r24, r16 9be: 02 96 adiw r24, 0x02 ; 2 9c0: 09 c0 rjmp .+18 ; 0x9d4 <malloc+0x18e> 9c2: f8 01 movw r30, r16 9c4: 82 81 ldd r24, Z+2 ; 0x02 9c6: 93 81 ldd r25, Z+3 ; 0x03 9c8: 90 93 6b 01 sts 0x016B, r25 9cc: 80 93 6a 01 sts 0x016A, r24 9d0: c8 01 movw r24, r16 9d2: 02 96 adiw r24, 0x02 ; 2 9d4: df 91 pop r29 9d6: cf 91 pop r28 9d8: 1f 91 pop r17 9da: 0f 91 pop r16 9dc: 08 95 ret 000009de <free>: 9de: cf 93 push r28 9e0: df 93 push r29 9e2: 00 97 sbiw r24, 0x00 ; 0 9e4: 09 f4 brne .+2 ; 0x9e8 <free+0xa> 9e6: 5d c0 rjmp .+186 ; 0xaa2 <free+0xc4> 9e8: ec 01 movw r28, r24 9ea: 22 97 sbiw r28, 0x02 ; 2 9ec: 1a 82 std Y+2, r1 ; 0x02 9ee: 1b 82 std Y+3, r1 ; 0x03 9f0: e0 91 6a 01 lds r30, 0x016A 9f4: f0 91 6b 01 lds r31, 0x016B 9f8: 30 97 sbiw r30, 0x00 ; 0 9fa: d9 f1 breq .+118 ; 0xa72 <free+0x94> 9fc: ec 17 cp r30, r28 9fe: fd 07 cpc r31, r29 a00: 40 f1 brcs .+80 ; 0xa52 <free+0x74> a02: df 01 movw r26, r30 a04: 40 e0 ldi r20, 0x00 ; 0 a06: 50 e0 ldi r21, 0x00 ; 0 a08: aa 83 std Y+2, r26 ; 0x02 a0a: bb 83 std Y+3, r27 ; 0x03 a0c: fe 01 movw r30, r28 a0e: 21 91 ld r18, Z+ a10: 31 91 ld r19, Z+ a12: e2 0f add r30, r18 a14: f3 1f adc r31, r19 a16: ae 17 cp r26, r30 a18: bf 07 cpc r27, r31 a1a: 91 f1 breq .+100 ; 0xa80 <free+0xa2> a1c: 41 15 cp r20, r1 a1e: 51 05 cpc r21, r1 a20: 41 f1 breq .+80 ; 0xa72 <free+0x94> a22: fa 01 movw r30, r20 a24: c2 83 std Z+2, r28 ; 0x02 a26: d3 83 std Z+3, r29 ; 0x03 a28: 21 91 ld r18, Z+ a2a: 31 91 ld r19, Z+ a2c: e2 0f add r30, r18 a2e: f3 1f adc r31, r19 a30: ce 17 cp r28, r30 a32: df 07 cpc r29, r31 a34: b1 f5 brne .+108 ; 0xaa2 <free+0xc4> a36: 88 81 ld r24, Y a38: 99 81 ldd r25, Y+1 ; 0x01 a3a: 28 0f add r18, r24 a3c: 39 1f adc r19, r25 a3e: 2e 5f subi r18, 0xFE ; 254 a40: 3f 4f sbci r19, 0xFF ; 255 a42: fa 01 movw r30, r20 a44: 20 83 st Z, r18 a46: 31 83 std Z+1, r19 ; 0x01 a48: 8a 81 ldd r24, Y+2 ; 0x02 a4a: 9b 81 ldd r25, Y+3 ; 0x03 a4c: 82 83 std Z+2, r24 ; 0x02 a4e: 93 83 std Z+3, r25 ; 0x03 a50: 28 c0 rjmp .+80 ; 0xaa2 <free+0xc4> a52: a2 81 ldd r26, Z+2 ; 0x02 a54: b3 81 ldd r27, Z+3 ; 0x03 a56: 10 97 sbiw r26, 0x00 ; 0 a58: 11 f4 brne .+4 ; 0xa5e <free+0x80> a5a: 21 c0 rjmp .+66 ; 0xa9e <free+0xc0> a5c: dc 01 movw r26, r24 a5e: ac 17 cp r26, r28 a60: bd 07 cpc r27, r29 a62: 60 f4 brcc .+24 ; 0xa7c <free+0x9e> a64: fd 01 movw r30, r26 a66: 82 81 ldd r24, Z+2 ; 0x02 a68: 93 81 ldd r25, Z+3 ; 0x03 a6a: 00 97 sbiw r24, 0x00 ; 0 a6c: b9 f7 brne .-18 ; 0xa5c <free+0x7e> a6e: ad 01 movw r20, r26 a70: d8 cf rjmp .-80 ; 0xa22 <free+0x44> a72: d0 93 6b 01 sts 0x016B, r29 a76: c0 93 6a 01 sts 0x016A, r28 a7a: 13 c0 rjmp .+38 ; 0xaa2 <free+0xc4> a7c: af 01 movw r20, r30 a7e: c4 cf rjmp .-120 ; 0xa08 <free+0x2a> a80: 8d 91 ld r24, X+ a82: 9c 91 ld r25, X a84: 11 97 sbiw r26, 0x01 ; 1 a86: 28 0f add r18, r24 a88: 39 1f adc r19, r25 a8a: 2e 5f subi r18, 0xFE ; 254 a8c: 3f 4f sbci r19, 0xFF ; 255 a8e: 28 83 st Y, r18 a90: 39 83 std Y+1, r19 ; 0x01 a92: fd 01 movw r30, r26 a94: 82 81 ldd r24, Z+2 ; 0x02 a96: 93 81 ldd r25, Z+3 ; 0x03 a98: 8a 83 std Y+2, r24 ; 0x02 a9a: 9b 83 std Y+3, r25 ; 0x03 a9c: bf cf rjmp .-130 ; 0xa1c <free+0x3e> a9e: af 01 movw r20, r30 aa0: c0 cf rjmp .-128 ; 0xa22 <free+0x44> aa2: df 91 pop r29 aa4: cf 91 pop r28 aa6: 08 95 ret 00000aa8 <memset>: aa8: dc 01 movw r26, r24 aaa: 01 c0 rjmp .+2 ; 0xaae <.memset_start> 00000aac <.memset_loop>: aac: 6d 93 st X+, r22 00000aae <.memset_start>: aae: 41 50 subi r20, 0x01 ; 1 ab0: 50 40 sbci r21, 0x00 ; 0 ab2: e0 f7 brcc .-8 ; 0xaac <.memset_loop> ab4: 08 95 ret 00000ab6 <__udivmodsi4>: ab6: a1 e2 ldi r26, 0x21 ; 33 ab8: 1a 2e mov r1, r26 aba: aa 1b sub r26, r26 abc: bb 1b sub r27, r27 abe: fd 01 movw r30, r26 ac0: 0d c0 rjmp .+26 ; 0xadc <__udivmodsi4_ep> 00000ac2 <__udivmodsi4_loop>: ac2: aa 1f adc r26, r26 ac4: bb 1f adc r27, r27 ac6: ee 1f adc r30, r30 ac8: ff 1f adc r31, r31 aca: a2 17 cp r26, r18 acc: b3 07 cpc r27, r19 ace: e4 07 cpc r30, r20 ad0: f5 07 cpc r31, r21 ad2: 20 f0 brcs .+8 ; 0xadc <__udivmodsi4_ep> ad4: a2 1b sub r26, r18 ad6: b3 0b sbc r27, r19 ad8: e4 0b sbc r30, r20 ada: f5 0b sbc r31, r21 00000adc <__udivmodsi4_ep>: adc: 66 1f adc r22, r22 ade: 77 1f adc r23, r23 ae0: 88 1f adc r24, r24 ae2: 99 1f adc r25, r25 ae4: 1a 94 dec r1 ae6: 69 f7 brne .-38 ; 0xac2 <__udivmodsi4_loop> ae8: 60 95 com r22 aea: 70 95 com r23 aec: 80 95 com r24 aee: 90 95 com r25 af0: 9b 01 movw r18, r22 af2: ac 01 movw r20, r24 af4: bd 01 movw r22, r26 af6: cf 01 movw r24, r30 af8: 08 95 ret 00000afa <_exit>: afa: ff cf rjmp .-2 ; 0xafa <_exit> -- Summary: static initialization .data redundantly copied to ram prior to use. Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: schlie at comcast dot net CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: ppc-apple-darwin7.8 GCC host triplet: ppc-apple-darwin7.8 GCC target triplet: avr-unknown-none http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20243