skywave_atxmega128a1_final.elf: file format elf32-avr Sections: Idx Name Size VMA LMA File off Algn 0 .text 0000783e 00000000 00000000 00000094 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE 1 .data 000001c2 00802000 0000783e 000078d2 2**0 CONTENTS, ALLOC, LOAD, DATA 2 .bss 000007eb 008021c2 008021c2 00007a94 2**0 ALLOC 3 .comment 0000005c 00000000 00000000 00007a94 2**0 CONTENTS, READONLY 4 .note.gnu.avr.deviceinfo 00000040 00000000 00000000 00007af0 2**2 CONTENTS, READONLY 5 .debug_aranges 000008b8 00000000 00000000 00007b30 2**3 CONTENTS, READONLY, DEBUGGING 6 .debug_info 00016ca4 00000000 00000000 000083e8 2**0 CONTENTS, READONLY, DEBUGGING 7 .debug_abbrev 00007237 00000000 00000000 0001f08c 2**0 CONTENTS, READONLY, DEBUGGING 8 .debug_line 0000d797 00000000 00000000 000262c3 2**0 CONTENTS, READONLY, DEBUGGING 9 .debug_frame 0000268c 00000000 00000000 00033a5c 2**2 CONTENTS, READONLY, DEBUGGING 10 .debug_str 0003750b 00000000 00000000 000360e8 2**0 CONTENTS, READONLY, DEBUGGING 11 .debug_loc 0000905e 00000000 00000000 0006d5f3 2**0 CONTENTS, READONLY, DEBUGGING 12 .debug_ranges 00000808 00000000 00000000 00076658 2**3 CONTENTS, READONLY, DEBUGGING 13 .debug_macro 0000ef03 00000000 00000000 00076e60 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: 00000000 <__vectors>: 0: fc c1 rjmp .+1016 ; 0x3fa <__ctors_end> 2: 00 00 nop 4: 20 c2 rjmp .+1088 ; 0x446 <__bad_interrupt> 6: 00 00 nop 8: 1e c2 rjmp .+1084 ; 0x446 <__bad_interrupt> a: 00 00 nop c: 1c c2 rjmp .+1080 ; 0x446 <__bad_interrupt> e: 00 00 nop 10: 1a c2 rjmp .+1076 ; 0x446 <__bad_interrupt> 12: 00 00 nop 14: 18 c2 rjmp .+1072 ; 0x446 <__bad_interrupt> 16: 00 00 nop 18: 16 c2 rjmp .+1068 ; 0x446 <__bad_interrupt> 1a: 00 00 nop 1c: 14 c2 rjmp .+1064 ; 0x446 <__bad_interrupt> 1e: 00 00 nop 20: 12 c2 rjmp .+1060 ; 0x446 <__bad_interrupt> 22: 00 00 nop 24: 10 c2 rjmp .+1056 ; 0x446 <__bad_interrupt> 26: 00 00 nop 28: 0e c2 rjmp .+1052 ; 0x446 <__bad_interrupt> 2a: 00 00 nop 2c: 0c c2 rjmp .+1048 ; 0x446 <__bad_interrupt> 2e: 00 00 nop 30: 0a c2 rjmp .+1044 ; 0x446 <__bad_interrupt> 32: 00 00 nop 34: 0c 94 59 0e jmp 0x1cb2 ; 0x1cb2 <__vector_13> 38: 4a c4 rjmp .+2196 ; 0x8ce <__vector_14> 3a: 00 00 nop 3c: 80 c4 rjmp .+2304 ; 0x93e <__vector_15> 3e: 00 00 nop 40: 0c 94 9e 2e jmp 0x5d3c ; 0x5d3c <__vector_16> 44: b4 c4 rjmp .+2408 ; 0x9ae <__vector_17> 46: 00 00 nop 48: ea c4 rjmp .+2516 ; 0xa1e <__vector_18> 4a: 00 00 nop 4c: 20 c5 rjmp .+2624 ; 0xa8e <__vector_19> 4e: 00 00 nop 50: 56 c5 rjmp .+2732 ; 0xafe <__vector_20> 52: 00 00 nop 54: 8c c5 rjmp .+2840 ; 0xb6e <__vector_21> 56: 00 00 nop 58: c2 c5 rjmp .+2948 ; 0xbde <__vector_22> 5a: 00 00 nop 5c: f8 c5 rjmp .+3056 ; 0xc4e <__vector_23> 5e: 00 00 nop 60: f2 c1 rjmp .+996 ; 0x446 <__bad_interrupt> 62: 00 00 nop 64: 0c 94 eb 2f jmp 0x5fd6 ; 0x5fd6 <__vector_25> 68: ee c1 rjmp .+988 ; 0x446 <__bad_interrupt> 6a: 00 00 nop 6c: ec c1 rjmp .+984 ; 0x446 <__bad_interrupt> 6e: 00 00 nop 70: 0c 94 6d 15 jmp 0x2ada ; 0x2ada <__vector_28> 74: e8 c1 rjmp .+976 ; 0x446 <__bad_interrupt> 76: 00 00 nop 78: e6 c1 rjmp .+972 ; 0x446 <__bad_interrupt> 7a: 00 00 nop 7c: e4 c1 rjmp .+968 ; 0x446 <__bad_interrupt> 7e: 00 00 nop 80: e2 c1 rjmp .+964 ; 0x446 <__bad_interrupt> 82: 00 00 nop 84: e0 c1 rjmp .+960 ; 0x446 <__bad_interrupt> 86: 00 00 nop 88: de c1 rjmp .+956 ; 0x446 <__bad_interrupt> 8a: 00 00 nop 8c: dc c1 rjmp .+952 ; 0x446 <__bad_interrupt> 8e: 00 00 nop 90: da c1 rjmp .+948 ; 0x446 <__bad_interrupt> 92: 00 00 nop 94: d8 c1 rjmp .+944 ; 0x446 <__bad_interrupt> 96: 00 00 nop 98: d6 c1 rjmp .+940 ; 0x446 <__bad_interrupt> 9a: 00 00 nop 9c: 14 c3 rjmp .+1576 ; 0x6c6 <__vector_39> 9e: 00 00 nop a0: 4f c3 rjmp .+1694 ; 0x740 <__vector_40> a2: 00 00 nop a4: 8a c3 rjmp .+1812 ; 0x7ba <__vector_41> a6: 00 00 nop a8: c5 c3 rjmp .+1930 ; 0x834 <__vector_42> aa: 00 00 nop ac: cc c1 rjmp .+920 ; 0x446 <__bad_interrupt> ae: 00 00 nop b0: ca c1 rjmp .+916 ; 0x446 <__bad_interrupt> b2: 00 00 nop b4: c8 c1 rjmp .+912 ; 0x446 <__bad_interrupt> b6: 00 00 nop b8: 0c 94 bd 0e jmp 0x1d7a ; 0x1d7a <__vector_46> bc: 0c 94 8f 08 jmp 0x111e ; 0x111e <__vector_47> c0: 0c 94 c7 08 jmp 0x118e ; 0x118e <__vector_48> c4: 0c 94 ff 08 jmp 0x11fe ; 0x11fe <__vector_49> c8: 0c 94 37 09 jmp 0x126e ; 0x126e <__vector_50> cc: 0c 94 6f 09 jmp 0x12de ; 0x12de <__vector_51> d0: 0c 94 a7 09 jmp 0x134e ; 0x134e <__vector_52> d4: 0c 94 df 09 jmp 0x13be ; 0x13be <__vector_53> d8: 0c 94 17 0a jmp 0x142e ; 0x142e <__vector_54> dc: 0c 94 4f 0a jmp 0x149e ; 0x149e <__vector_55> e0: 0c 94 87 0a jmp 0x150e ; 0x150e <__vector_56> e4: b0 c1 rjmp .+864 ; 0x446 <__bad_interrupt> e6: 00 00 nop e8: ae c1 rjmp .+860 ; 0x446 <__bad_interrupt> ea: 00 00 nop ec: ac c1 rjmp .+856 ; 0x446 <__bad_interrupt> ee: 00 00 nop f0: aa c1 rjmp .+852 ; 0x446 <__bad_interrupt> f2: 00 00 nop f4: a8 c1 rjmp .+848 ; 0x446 <__bad_interrupt> f6: 00 00 nop f8: a6 c1 rjmp .+844 ; 0x446 <__bad_interrupt> fa: 00 00 nop fc: a4 c1 rjmp .+840 ; 0x446 <__bad_interrupt> fe: 00 00 nop 100: 0c 94 96 17 jmp 0x2f2c ; 0x2f2c <__vector_64> 104: 0c 94 ce 14 jmp 0x299c ; 0x299c <__vector_65> 108: 0c 94 29 1d jmp 0x3a52 ; 0x3a52 <__vector_66> 10c: 9c c1 rjmp .+824 ; 0x446 <__bad_interrupt> 10e: 00 00 nop 110: 9a c1 rjmp .+820 ; 0x446 <__bad_interrupt> 112: 00 00 nop 114: 98 c1 rjmp .+816 ; 0x446 <__bad_interrupt> 116: 00 00 nop 118: 96 c1 rjmp .+812 ; 0x446 <__bad_interrupt> 11a: 00 00 nop 11c: e0 c1 rjmp .+960 ; 0x4de <__vector_71> 11e: 00 00 nop 120: 1b c2 rjmp .+1078 ; 0x558 <__vector_72> 122: 00 00 nop 124: 56 c2 rjmp .+1196 ; 0x5d2 <__vector_73> 126: 00 00 nop 128: 91 c2 rjmp .+1314 ; 0x64c <__vector_74> 12a: 00 00 nop 12c: 8c c1 rjmp .+792 ; 0x446 <__bad_interrupt> 12e: 00 00 nop 130: 0c 94 8b 0e jmp 0x1d16 ; 0x1d16 <__vector_76> 134: c4 c5 rjmp .+2952 ; 0xcbe <__vector_77> 136: 00 00 nop 138: fa c5 rjmp .+3060 ; 0xd2e <__vector_78> 13a: 00 00 nop 13c: 30 c6 rjmp .+3168 ; 0xd9e <__vector_79> 13e: 00 00 nop 140: 66 c6 rjmp .+3276 ; 0xe0e <__vector_80> 142: 00 00 nop 144: 9c c6 rjmp .+3384 ; 0xe7e <__vector_81> 146: 00 00 nop 148: d2 c6 rjmp .+3492 ; 0xeee <__vector_82> 14a: 00 00 nop 14c: 08 c7 rjmp .+3600 ; 0xf5e <__vector_83> 14e: 00 00 nop 150: 3e c7 rjmp .+3708 ; 0xfce <__vector_84> 152: 00 00 nop 154: 74 c7 rjmp .+3816 ; 0x103e <__vector_85> 156: 00 00 nop 158: aa c7 rjmp .+3924 ; 0x10ae <__vector_86> 15a: 00 00 nop 15c: 74 c1 rjmp .+744 ; 0x446 <__bad_interrupt> 15e: 00 00 nop 160: 72 c1 rjmp .+740 ; 0x446 <__bad_interrupt> 162: 00 00 nop 164: 70 c1 rjmp .+736 ; 0x446 <__bad_interrupt> 166: 00 00 nop 168: 6e c1 rjmp .+732 ; 0x446 <__bad_interrupt> 16a: 00 00 nop 16c: 6c c1 rjmp .+728 ; 0x446 <__bad_interrupt> 16e: 00 00 nop 170: 6a c1 rjmp .+724 ; 0x446 <__bad_interrupt> 172: 00 00 nop 174: 68 c1 rjmp .+720 ; 0x446 <__bad_interrupt> 176: 00 00 nop 178: 66 c1 rjmp .+716 ; 0x446 <__bad_interrupt> 17a: 00 00 nop 17c: 64 c1 rjmp .+712 ; 0x446 <__bad_interrupt> 17e: 00 00 nop 180: 62 c1 rjmp .+708 ; 0x446 <__bad_interrupt> 182: 00 00 nop 184: 60 c1 rjmp .+704 ; 0x446 <__bad_interrupt> 186: 00 00 nop 188: 5e c1 rjmp .+700 ; 0x446 <__bad_interrupt> 18a: 00 00 nop 18c: 5c c1 rjmp .+696 ; 0x446 <__bad_interrupt> 18e: 00 00 nop 190: 5a c1 rjmp .+692 ; 0x446 <__bad_interrupt> 192: 00 00 nop 194: 58 c1 rjmp .+688 ; 0x446 <__bad_interrupt> 196: 00 00 nop 198: 56 c1 rjmp .+684 ; 0x446 <__bad_interrupt> 19a: 00 00 nop 19c: 54 c1 rjmp .+680 ; 0x446 <__bad_interrupt> 19e: 00 00 nop 1a0: 52 c1 rjmp .+676 ; 0x446 <__bad_interrupt> 1a2: 00 00 nop 1a4: 50 c1 rjmp .+672 ; 0x446 <__bad_interrupt> 1a6: 00 00 nop 1a8: 4e c1 rjmp .+668 ; 0x446 <__bad_interrupt> 1aa: 00 00 nop 1ac: 0c 94 ef 0e jmp 0x1dde ; 0x1dde <__vector_107> 1b0: 0c 94 bf 0a jmp 0x157e ; 0x157e <__vector_108> 1b4: 0c 94 f7 0a jmp 0x15ee ; 0x15ee <__vector_109> 1b8: 0c 94 2f 0b jmp 0x165e ; 0x165e <__vector_110> 1bc: 0c 94 67 0b jmp 0x16ce ; 0x16ce <__vector_111> 1c0: 0c 94 9f 0b jmp 0x173e ; 0x173e <__vector_112> 1c4: 0c 94 d7 0b jmp 0x17ae ; 0x17ae <__vector_113> 1c8: 0c 94 0f 0c jmp 0x181e ; 0x181e <__vector_114> 1cc: 0c 94 47 0c jmp 0x188e ; 0x188e <__vector_115> 1d0: 0c 94 7f 0c jmp 0x18fe ; 0x18fe <__vector_116> 1d4: 0c 94 b7 0c jmp 0x196e ; 0x196e <__vector_117> 1d8: 36 c1 rjmp .+620 ; 0x446 <__bad_interrupt> 1da: 00 00 nop 1dc: 34 c1 rjmp .+616 ; 0x446 <__bad_interrupt> 1de: 00 00 nop 1e0: 32 c1 rjmp .+612 ; 0x446 <__bad_interrupt> 1e2: 00 00 nop 1e4: 30 c1 rjmp .+608 ; 0x446 <__bad_interrupt> 1e6: 00 00 nop 1e8: 2e c1 rjmp .+604 ; 0x446 <__bad_interrupt> 1ea: 00 00 nop 1ec: 2c c1 rjmp .+600 ; 0x446 <__bad_interrupt> 1ee: 00 00 nop 1f0: 2a c1 rjmp .+596 ; 0x446 <__bad_interrupt> 1f2: 00 00 nop 1f4: 28 c1 rjmp .+592 ; 0x446 <__bad_interrupt> 1f6: 00 00 nop 1f8: 26 c1 rjmp .+588 ; 0x446 <__bad_interrupt> 1fa: 00 00 nop 1fc: fa 12 cpse r15, r26 1fe: 0d 13 cpse r16, r29 200: 20 13 cpse r18, r16 202: 33 13 cpse r19, r19 204: 46 13 cpse r20, r22 206: 59 13 cpse r21, r25 208: 6c 13 cpse r22, r28 20a: 7f 13 cpse r23, r31 20c: 03 6e ori r16, 0xE3 ; 227 20e: db 36 cpi r29, 0x6B ; 107 210: 3d 9a sbi 0x07, 5 ; 7 212: 99 99 sbic 0x13, 1 ; 19 214: 99 3d cpi r25, 0xD9 ; 217 216: ab aa std Y+51, r10 ; 0x33 218: aa 2a or r10, r26 21a: 3e 00 .word 0x003e ; ???? 21c: 00 00 nop 21e: 80 3f cpi r24, 0xF0 ; 240 220: 08 4a sbci r16, 0xA8 ; 168 222: d7 3b cpi r29, 0xB7 ; 183 224: 3b ce rjmp .-906 ; 0xfffffe9c <__eeprom_end+0xff7efe9c> 226: 01 6e ori r16, 0xE1 ; 225 228: 84 bc out 0x24, r8 ; 36 22a: bf fd .word 0xfdbf ; ???? 22c: c1 2f mov r28, r17 22e: 3d 6c ori r19, 0xCD ; 205 230: 74 31 cpi r23, 0x14 ; 20 232: 9a bd out 0x2a, r25 ; 42 234: 56 83 std Z+6, r21 ; 0x06 236: 3d da rcall .-2950 ; 0xfffff6b2 <__eeprom_end+0xff7ef6b2> 238: 3d 00 .word 0x003d ; ???? 23a: c7 7f andi r28, 0xF7 ; 247 23c: 11 be out 0x31, r1 ; 49 23e: d9 e4 ldi r29, 0x49 ; 73 240: bb 4c sbci r27, 0xCB ; 203 242: 3e 91 ld r19, -X 244: 6b aa std Y+51, r6 ; 0x33 246: aa be out 0x3a, r10 ; 58 248: 00 00 nop 24a: 00 80 ld r0, Z 24c: 3f 07 cpc r19, r31 24e: 2c 7a andi r18, 0xAC ; 172 250: a5 ba out 0x15, r10 ; 21 252: 6c c5 rjmp .+2776 ; 0xd2c <__vector_77+0x6e> 254: 90 da rcall .-2784 ; 0xfffff776 <__eeprom_end+0xff7ef776> 256: 3b 93 .word 0x933b ; ???? 258: 65 fc sbrc r6, 5 25a: 8b bc out 0x2b, r8 ; 43 25c: 53 f8 bld r5, 3 25e: 10 fd sbrc r17, 0 260: 3c 56 subi r19, 0x6C ; 108 262: 92 83 std Z+2, r25 ; 0x02 264: 4d bd out 0x2d, r20 ; 45 266: 87 9d mul r24, r7 268: 3a b6 in r3, 0x3a ; 58 26a: 3d cb rjmp .-2438 ; 0xfffff8e6 <__eeprom_end+0xff7ef8e6> 26c: c9 bf out 0x39, r28 ; 57 26e: 5b be out 0x3b, r5 ; 59 270: 73 da rcall .-2842 ; 0xfffff758 <__eeprom_end+0xff7ef758> 272: 0f c9 rjmp .-3554 ; 0xfffff492 <__eeprom_end+0xff7ef492> 274: 3f 08 sbc r3, r15 276: 00 00 nop 278: 00 be out 0x30, r0 ; 48 27a: 92 24 eor r9, r2 27c: 49 12 cpse r4, r25 27e: 3e ab std Y+54, r19 ; 0x36 280: aa aa std Y+50, r10 ; 0x32 282: 2a be out 0x3a, r2 ; 58 284: cd cc rjmp .-1638 ; 0xfffffc20 <__eeprom_end+0xff7efc20> 286: cc 4c sbci r28, 0xCC ; 204 288: 3e 00 .word 0x003e ; ???? 28a: 00 00 nop 28c: 80 be out 0x30, r8 ; 48 28e: ab aa std Y+51, r10 ; 0x33 290: aa aa std Y+50, r10 ; 0x32 292: 3e 00 .word 0x003e ; ???? 294: 00 00 nop 296: 00 bf out 0x30, r16 ; 48 298: 00 00 nop 29a: 00 80 ld r0, Z 29c: 3f 00 .word 0x003f ; ???? 29e: 00 00 nop 2a0: 00 00 nop 2a2: 08 41 sbci r16, 0x18 ; 24 2a4: 78 d3 rcall .+1776 ; 0x996 <__vector_15+0x58> 2a6: bb 43 sbci r27, 0x3B ; 59 2a8: 87 d1 rcall .+782 ; 0x5b8 <__vector_72+0x60> 2aa: 13 3d cpi r17, 0xD3 ; 211 2ac: 19 0e add r1, r25 2ae: 3c c3 rjmp .+1656 ; 0x928 <__vector_14+0x5a> 2b0: bd 42 sbci r27, 0x2D ; 45 2b2: 82 ad ldd r24, Z+58 ; 0x3a 2b4: 2b 3e cpi r18, 0xEB ; 235 2b6: 68 ec ldi r22, 0xC8 ; 200 2b8: 82 76 andi r24, 0x62 ; 98 2ba: be d9 rcall .-3204 ; 0xfffff638 <__eeprom_end+0xff7ef638> 2bc: 8f e1 ldi r24, 0x1F ; 31 2be: a9 3e cpi r26, 0xE9 ; 233 2c0: 4c 80 ldd r4, Y+4 ; 0x04 2c2: ef ff .word 0xffef ; ???? 2c4: be 01 movw r22, r28 2c6: c4 ff sbrs r28, 4 2c8: 7f 3f cpi r23, 0xFF ; 255 2ca: 00 00 nop 2cc: 00 00 nop 2ce: 00 07 cpc r16, r16 2d0: 63 42 sbci r22, 0x23 ; 35 2d2: 36 b7 in r19, 0x36 ; 54 2d4: 9b d8 rcall .-3786 ; 0xfffff40c <__eeprom_end+0xff7ef40c> 2d6: a7 1a sub r10, r23 2d8: 39 68 ori r19, 0x89 ; 137 2da: 56 18 sub r5, r6 2dc: ae ba out 0x1e, r10 ; 30 2de: ab 55 subi r26, 0x5B ; 91 2e0: 8c 1d adc r24, r12 2e2: 3c b7 in r19, 0x3c ; 60 2e4: cc 57 subi r28, 0x7C ; 124 2e6: 63 bd out 0x23, r22 ; 35 2e8: 6d ed ldi r22, 0xDD ; 221 2ea: fd 75 andi r31, 0x5D ; 93 2ec: 3e f6 brtc .-114 ; 0x27c <__SREG__+0x23d> 2ee: 17 72 andi r17, 0x27 ; 39 2f0: 31 bf out 0x31, r19 ; 49 2f2: 00 00 nop 2f4: 00 80 ld r0, Z 2f6: 3f 00 .word 0x003f ; ???? 000002f8 <__trampolines_end>: 2f8: 6e 61 ori r22, 0x1E ; 30 2fa: 6e 00 .word 0x006e ; ???? 000002fc <__c.2332>: 2fc: 69 6e 66 00 00 40 7a 10 f3 5a 00 a0 72 4e 18 09 inf..@z..Z..rN.. 30c: 00 10 a5 d4 e8 00 00 e8 76 48 17 00 00 e4 0b 54 ........vH.....T 31c: 02 00 00 ca 9a 3b 00 00 00 e1 f5 05 00 00 80 96 .....;.......... 32c: 98 00 00 00 40 42 0f 00 00 00 a0 86 01 00 00 00 ....@B.......... 33c: 10 27 00 00 00 00 e8 03 00 00 00 00 64 00 00 00 .'..........d... 34c: 00 00 0a 00 00 00 00 00 01 00 00 00 00 00 2c 76 ..............,v 35c: d8 88 dc 67 4f 08 23 df c1 df ae 59 e1 b1 b7 96 ...gO.#....Y.... 36c: e5 e3 e4 53 c6 3a e6 51 99 76 96 e8 e6 c2 84 26 ...S.:.Q.v.....& 37c: eb 89 8c 9b 62 ed 40 7c 6f fc ef bc 9c 9f 40 f2 ....b.@|o.....@. 38c: ba a5 6f a5 f4 90 05 5a 2a f7 5c 93 6b 6c f9 67 ..o....Z*.\.kl.g 39c: 6d c1 1b fc e0 e4 0d 47 fe f5 20 e6 b5 00 d0 ed m......G.. ..... 3ac: 90 2e 03 00 94 35 77 05 00 80 84 1e 08 00 00 20 .....5w........ 3bc: 4e 0a 00 00 00 c8 0c 33 33 33 33 0f 98 6e 12 83 N......3333..n.. 3cc: 11 41 ef 8d 21 14 89 3b e6 55 16 cf fe e6 db 18 .A..!..;.U...... 3dc: d1 84 4b 38 1b f7 7c 1d 90 1d a4 bb e4 24 20 32 ..K8..|......$ 2 3ec: 84 72 5e 22 81 00 c9 f1 24 ec a1 e5 3d 27 .r^"....$...=' 000003fa <__ctors_end>: 3fa: 11 24 eor r1, r1 3fc: 1f be out 0x3f, r1 ; 63 3fe: cf ef ldi r28, 0xFF ; 255 400: cd bf out 0x3d, r28 ; 61 402: df e3 ldi r29, 0x3F ; 63 404: de bf out 0x3e, r29 ; 62 406: 00 e0 ldi r16, 0x00 ; 0 408: 0c bf out 0x3c, r16 ; 60 40a: 18 be out 0x38, r1 ; 56 40c: 19 be out 0x39, r1 ; 57 40e: 1a be out 0x3a, r1 ; 58 410: 1b be out 0x3b, r1 ; 59 00000412 <__do_copy_data>: 412: 11 e2 ldi r17, 0x21 ; 33 414: a0 e0 ldi r26, 0x00 ; 0 416: b0 e2 ldi r27, 0x20 ; 32 418: ee e3 ldi r30, 0x3E ; 62 41a: f8 e7 ldi r31, 0x78 ; 120 41c: 00 e0 ldi r16, 0x00 ; 0 41e: 0b bf out 0x3b, r16 ; 59 420: 02 c0 rjmp .+4 ; 0x426 <__do_copy_data+0x14> 422: 07 90 elpm r0, Z+ 424: 0d 92 st X+, r0 426: a2 3c cpi r26, 0xC2 ; 194 428: b1 07 cpc r27, r17 42a: d9 f7 brne .-10 ; 0x422 <__do_copy_data+0x10> 42c: 1b be out 0x3b, r1 ; 59 0000042e <__do_clear_bss>: 42e: 29 e2 ldi r18, 0x29 ; 41 430: a2 ec ldi r26, 0xC2 ; 194 432: b1 e2 ldi r27, 0x21 ; 33 434: 01 c0 rjmp .+2 ; 0x438 <.do_clear_bss_start> 00000436 <.do_clear_bss_loop>: 436: 1d 92 st X+, r1 00000438 <.do_clear_bss_start>: 438: ad 3a cpi r26, 0xAD ; 173 43a: b2 07 cpc r27, r18 43c: e1 f7 brne .-8 ; 0x436 <.do_clear_bss_loop> 43e: 0e 94 ce 30 call 0x619c ; 0x619c
442: 0c 94 1d 3c jmp 0x783a ; 0x783a <_exit> 00000446 <__bad_interrupt>: 446: dc cd rjmp .-1096 ; 0x0 <__vectors> 00000448 : # include #endif void sysclk_init(void) { 448: cf 93 push r28 44a: df 93 push r29 44c: 1f 92 push r1 44e: 1f 92 push r1 450: cd b7 in r28, 0x3d ; 61 452: de b7 in r29, 0x3e ; 62 #endif bool need_rc2mhz = false; /* Turn off all peripheral clocks that can be turned off. */ for (i = 0; i <= SYSCLK_PORT_F; i++) { *(reg++) = 0xff; 454: 8f ef ldi r24, 0xFF ; 255 456: 80 93 70 00 sts 0x0070, r24 ; 0x800070 <__TEXT_REGION_LENGTH__+0x700070> 45a: 80 93 71 00 sts 0x0071, r24 ; 0x800071 <__TEXT_REGION_LENGTH__+0x700071> 45e: 80 93 72 00 sts 0x0072, r24 ; 0x800072 <__TEXT_REGION_LENGTH__+0x700072> 462: 80 93 73 00 sts 0x0073, r24 ; 0x800073 <__TEXT_REGION_LENGTH__+0x700073> 466: 80 93 74 00 sts 0x0074, r24 ; 0x800074 <__TEXT_REGION_LENGTH__+0x700074> 46a: 80 93 75 00 sts 0x0075, r24 ; 0x800075 <__TEXT_REGION_LENGTH__+0x700075> 46e: 80 93 76 00 sts 0x0076, r24 ; 0x800076 <__TEXT_REGION_LENGTH__+0x700076> typedef uint8_t irqflags_t; static inline irqflags_t cpu_irq_save(void) { volatile irqflags_t flags = SREG; 472: 8f b7 in r24, 0x3f ; 63 474: 8a 83 std Y+2, r24 ; 0x02 cpu_irq_disable(); 476: f8 94 cli return flags; 478: 9a 81 ldd r25, Y+2 ; 0x02 irqflags_t flags; Assert(id != OSC_ID_USBSOF); flags = cpu_irq_save(); OSC.CTRL |= id; 47a: e0 e5 ldi r30, 0x50 ; 80 47c: f0 e0 ldi r31, 0x00 ; 0 47e: 80 81 ld r24, Z 480: 82 60 ori r24, 0x02 ; 2 482: 80 83 st Z, r24 } static inline void cpu_irq_restore(irqflags_t flags) { barrier(); SREG = flags; 484: 9f bf out 0x3f, r25 ; 63 static inline bool osc_is_ready(uint8_t id) { Assert(id != OSC_ID_USBSOF); return OSC.STATUS & id; 486: 81 81 ldd r24, Z+1 ; 0x01 * * \param id A number identifying the oscillator to wait for. */ static inline void osc_wait_ready(uint8_t id) { while (!osc_is_ready(id)) { 488: 81 ff sbrs r24, 1 48a: fd cf rjmp .-6 ; 0x486 default: //unhandled_case(CONFIG_SYSCLK_SOURCE); return; } ccp_write_io((uint8_t *)&CLK.CTRL, CONFIG_SYSCLK_SOURCE); 48c: 61 e0 ldi r22, 0x01 ; 1 48e: 80 e4 ldi r24, 0x40 ; 64 490: 90 e0 ldi r25, 0x00 ; 0 492: 0d d2 rcall .+1050 ; 0x8ae typedef uint8_t irqflags_t; static inline irqflags_t cpu_irq_save(void) { volatile irqflags_t flags = SREG; 494: 8f b7 in r24, 0x3f ; 63 496: 89 83 std Y+1, r24 ; 0x01 cpu_irq_disable(); 498: f8 94 cli return flags; 49a: 99 81 ldd r25, Y+1 ; 0x01 irqflags_t flags; Assert(id != OSC_ID_USBSOF); flags = cpu_irq_save(); OSC.CTRL &= ~id; 49c: e0 e5 ldi r30, 0x50 ; 80 49e: f0 e0 ldi r31, 0x00 ; 0 4a0: 80 81 ld r24, Z 4a2: 8e 7f andi r24, 0xFE ; 254 4a4: 80 83 st Z, r24 } static inline void cpu_irq_restore(irqflags_t flags) { barrier(); SREG = flags; 4a6: 9f bf out 0x3f, r25 ; 63 } #ifdef CONFIG_RTC_SOURCE sysclk_rtcsrc_enable(CONFIG_RTC_SOURCE); #endif } 4a8: 0f 90 pop r0 4aa: 0f 90 pop r0 4ac: df 91 pop r29 4ae: cf 91 pop r28 4b0: 08 95 ret 000004b2 : void sysclk_enable_module(enum sysclk_port_id port, uint8_t id) { 4b2: cf 93 push r28 4b4: df 93 push r29 4b6: 1f 92 push r1 4b8: cd b7 in r28, 0x3d ; 61 4ba: de b7 in r29, 0x3e ; 62 typedef uint8_t irqflags_t; static inline irqflags_t cpu_irq_save(void) { volatile irqflags_t flags = SREG; 4bc: 9f b7 in r25, 0x3f ; 63 4be: 99 83 std Y+1, r25 ; 0x01 cpu_irq_disable(); 4c0: f8 94 cli return flags; 4c2: 99 81 ldd r25, Y+1 ; 0x01 irqflags_t flags = cpu_irq_save(); *((uint8_t *)&PR.PRGEN + port) &= ~id; 4c4: e8 2f mov r30, r24 4c6: f0 e0 ldi r31, 0x00 ; 0 4c8: e0 59 subi r30, 0x90 ; 144 4ca: ff 4f sbci r31, 0xFF ; 255 4cc: 60 95 com r22 4ce: 80 81 ld r24, Z 4d0: 68 23 and r22, r24 4d2: 60 83 st Z, r22 } static inline void cpu_irq_restore(irqflags_t flags) { barrier(); SREG = flags; 4d4: 9f bf out 0x3f, r25 ; 63 cpu_irq_restore(flags); } 4d6: 0f 90 pop r0 4d8: df 91 pop r29 4da: cf 91 pop r28 4dc: 08 95 ret 000004de <__vector_71>: * * Calls the callback function that has been set for the ADC when the channel's * interrupt flag is set, if its interrupt has been enabled. */ ISR(ADCA_CH0_vect) { 4de: 1f 92 push r1 4e0: 0f 92 push r0 4e2: 0f b6 in r0, 0x3f ; 63 4e4: 0f 92 push r0 4e6: 11 24 eor r1, r1 4e8: 08 b6 in r0, 0x38 ; 56 4ea: 0f 92 push r0 4ec: 18 be out 0x38, r1 ; 56 4ee: 09 b6 in r0, 0x39 ; 57 4f0: 0f 92 push r0 4f2: 19 be out 0x39, r1 ; 57 4f4: 0b b6 in r0, 0x3b ; 59 4f6: 0f 92 push r0 4f8: 1b be out 0x3b, r1 ; 59 4fa: 2f 93 push r18 4fc: 3f 93 push r19 4fe: 4f 93 push r20 500: 5f 93 push r21 502: 6f 93 push r22 504: 7f 93 push r23 506: 8f 93 push r24 508: 9f 93 push r25 50a: af 93 push r26 50c: bf 93 push r27 50e: ef 93 push r30 510: ff 93 push r31 adca_callback(&ADCA, ADC_CH0, adc_get_result(&ADCA, ADC_CH0)); 512: 40 91 24 02 lds r20, 0x0224 ; 0x800224 <__TEXT_REGION_LENGTH__+0x700224> 516: 50 91 25 02 lds r21, 0x0225 ; 0x800225 <__TEXT_REGION_LENGTH__+0x700225> 51a: e0 91 39 25 lds r30, 0x2539 ; 0x802539 51e: f0 91 3a 25 lds r31, 0x253A ; 0x80253a 522: 61 e0 ldi r22, 0x01 ; 1 524: 80 e0 ldi r24, 0x00 ; 0 526: 92 e0 ldi r25, 0x02 ; 2 528: 19 95 eicall } 52a: ff 91 pop r31 52c: ef 91 pop r30 52e: bf 91 pop r27 530: af 91 pop r26 532: 9f 91 pop r25 534: 8f 91 pop r24 536: 7f 91 pop r23 538: 6f 91 pop r22 53a: 5f 91 pop r21 53c: 4f 91 pop r20 53e: 3f 91 pop r19 540: 2f 91 pop r18 542: 0f 90 pop r0 544: 0b be out 0x3b, r0 ; 59 546: 0f 90 pop r0 548: 09 be out 0x39, r0 ; 57 54a: 0f 90 pop r0 54c: 08 be out 0x38, r0 ; 56 54e: 0f 90 pop r0 550: 0f be out 0x3f, r0 ; 63 552: 0f 90 pop r0 554: 1f 90 pop r1 556: 18 95 reti 00000558 <__vector_72>: * * Calls the callback function that has been set for the ADC when the channel's * interrupt flag is set, if its interrupt has been enabled. */ ISR(ADCA_CH1_vect) { 558: 1f 92 push r1 55a: 0f 92 push r0 55c: 0f b6 in r0, 0x3f ; 63 55e: 0f 92 push r0 560: 11 24 eor r1, r1 562: 08 b6 in r0, 0x38 ; 56 564: 0f 92 push r0 566: 18 be out 0x38, r1 ; 56 568: 09 b6 in r0, 0x39 ; 57 56a: 0f 92 push r0 56c: 19 be out 0x39, r1 ; 57 56e: 0b b6 in r0, 0x3b ; 59 570: 0f 92 push r0 572: 1b be out 0x3b, r1 ; 59 574: 2f 93 push r18 576: 3f 93 push r19 578: 4f 93 push r20 57a: 5f 93 push r21 57c: 6f 93 push r22 57e: 7f 93 push r23 580: 8f 93 push r24 582: 9f 93 push r25 584: af 93 push r26 586: bf 93 push r27 588: ef 93 push r30 58a: ff 93 push r31 adca_callback(&ADCA, ADC_CH1, adc_get_result(&ADCA, ADC_CH1)); 58c: 40 91 2c 02 lds r20, 0x022C ; 0x80022c <__TEXT_REGION_LENGTH__+0x70022c> 590: 50 91 2d 02 lds r21, 0x022D ; 0x80022d <__TEXT_REGION_LENGTH__+0x70022d> 594: e0 91 39 25 lds r30, 0x2539 ; 0x802539 598: f0 91 3a 25 lds r31, 0x253A ; 0x80253a 59c: 62 e0 ldi r22, 0x02 ; 2 59e: 80 e0 ldi r24, 0x00 ; 0 5a0: 92 e0 ldi r25, 0x02 ; 2 5a2: 19 95 eicall } 5a4: ff 91 pop r31 5a6: ef 91 pop r30 5a8: bf 91 pop r27 5aa: af 91 pop r26 5ac: 9f 91 pop r25 5ae: 8f 91 pop r24 5b0: 7f 91 pop r23 5b2: 6f 91 pop r22 5b4: 5f 91 pop r21 5b6: 4f 91 pop r20 5b8: 3f 91 pop r19 5ba: 2f 91 pop r18 5bc: 0f 90 pop r0 5be: 0b be out 0x3b, r0 ; 59 5c0: 0f 90 pop r0 5c2: 09 be out 0x39, r0 ; 57 5c4: 0f 90 pop r0 5c6: 08 be out 0x38, r0 ; 56 5c8: 0f 90 pop r0 5ca: 0f be out 0x3f, r0 ; 63 5cc: 0f 90 pop r0 5ce: 1f 90 pop r1 5d0: 18 95 reti 000005d2 <__vector_73>: * * Calls the callback function that has been set for the ADC when the channel's * interrupt flag is set, if its interrupt has been enabled. */ ISR(ADCA_CH2_vect) { 5d2: 1f 92 push r1 5d4: 0f 92 push r0 5d6: 0f b6 in r0, 0x3f ; 63 5d8: 0f 92 push r0 5da: 11 24 eor r1, r1 5dc: 08 b6 in r0, 0x38 ; 56 5de: 0f 92 push r0 5e0: 18 be out 0x38, r1 ; 56 5e2: 09 b6 in r0, 0x39 ; 57 5e4: 0f 92 push r0 5e6: 19 be out 0x39, r1 ; 57 5e8: 0b b6 in r0, 0x3b ; 59 5ea: 0f 92 push r0 5ec: 1b be out 0x3b, r1 ; 59 5ee: 2f 93 push r18 5f0: 3f 93 push r19 5f2: 4f 93 push r20 5f4: 5f 93 push r21 5f6: 6f 93 push r22 5f8: 7f 93 push r23 5fa: 8f 93 push r24 5fc: 9f 93 push r25 5fe: af 93 push r26 600: bf 93 push r27 602: ef 93 push r30 604: ff 93 push r31 adca_callback(&ADCA, ADC_CH2, adc_get_result(&ADCA, ADC_CH2)); 606: 40 91 34 02 lds r20, 0x0234 ; 0x800234 <__TEXT_REGION_LENGTH__+0x700234> 60a: 50 91 35 02 lds r21, 0x0235 ; 0x800235 <__TEXT_REGION_LENGTH__+0x700235> 60e: e0 91 39 25 lds r30, 0x2539 ; 0x802539 612: f0 91 3a 25 lds r31, 0x253A ; 0x80253a 616: 64 e0 ldi r22, 0x04 ; 4 618: 80 e0 ldi r24, 0x00 ; 0 61a: 92 e0 ldi r25, 0x02 ; 2 61c: 19 95 eicall } 61e: ff 91 pop r31 620: ef 91 pop r30 622: bf 91 pop r27 624: af 91 pop r26 626: 9f 91 pop r25 628: 8f 91 pop r24 62a: 7f 91 pop r23 62c: 6f 91 pop r22 62e: 5f 91 pop r21 630: 4f 91 pop r20 632: 3f 91 pop r19 634: 2f 91 pop r18 636: 0f 90 pop r0 638: 0b be out 0x3b, r0 ; 59 63a: 0f 90 pop r0 63c: 09 be out 0x39, r0 ; 57 63e: 0f 90 pop r0 640: 08 be out 0x38, r0 ; 56 642: 0f 90 pop r0 644: 0f be out 0x3f, r0 ; 63 646: 0f 90 pop r0 648: 1f 90 pop r1 64a: 18 95 reti 0000064c <__vector_74>: * * Calls the callback function that has been set for the ADC when the channel's * interrupt flag is set, if its interrupt has been enabled. */ ISR(ADCA_CH3_vect) { 64c: 1f 92 push r1 64e: 0f 92 push r0 650: 0f b6 in r0, 0x3f ; 63 652: 0f 92 push r0 654: 11 24 eor r1, r1 656: 08 b6 in r0, 0x38 ; 56 658: 0f 92 push r0 65a: 18 be out 0x38, r1 ; 56 65c: 09 b6 in r0, 0x39 ; 57 65e: 0f 92 push r0 660: 19 be out 0x39, r1 ; 57 662: 0b b6 in r0, 0x3b ; 59 664: 0f 92 push r0 666: 1b be out 0x3b, r1 ; 59 668: 2f 93 push r18 66a: 3f 93 push r19 66c: 4f 93 push r20 66e: 5f 93 push r21 670: 6f 93 push r22 672: 7f 93 push r23 674: 8f 93 push r24 676: 9f 93 push r25 678: af 93 push r26 67a: bf 93 push r27 67c: ef 93 push r30 67e: ff 93 push r31 adca_callback(&ADCA, ADC_CH3, adc_get_result(&ADCA, ADC_CH3)); 680: 40 91 3c 02 lds r20, 0x023C ; 0x80023c <__TEXT_REGION_LENGTH__+0x70023c> 684: 50 91 3d 02 lds r21, 0x023D ; 0x80023d <__TEXT_REGION_LENGTH__+0x70023d> 688: e0 91 39 25 lds r30, 0x2539 ; 0x802539 68c: f0 91 3a 25 lds r31, 0x253A ; 0x80253a 690: 68 e0 ldi r22, 0x08 ; 8 692: 80 e0 ldi r24, 0x00 ; 0 694: 92 e0 ldi r25, 0x02 ; 2 696: 19 95 eicall } 698: ff 91 pop r31 69a: ef 91 pop r30 69c: bf 91 pop r27 69e: af 91 pop r26 6a0: 9f 91 pop r25 6a2: 8f 91 pop r24 6a4: 7f 91 pop r23 6a6: 6f 91 pop r22 6a8: 5f 91 pop r21 6aa: 4f 91 pop r20 6ac: 3f 91 pop r19 6ae: 2f 91 pop r18 6b0: 0f 90 pop r0 6b2: 0b be out 0x3b, r0 ; 59 6b4: 0f 90 pop r0 6b6: 09 be out 0x39, r0 ; 57 6b8: 0f 90 pop r0 6ba: 08 be out 0x38, r0 ; 56 6bc: 0f 90 pop r0 6be: 0f be out 0x3f, r0 ; 63 6c0: 0f 90 pop r0 6c2: 1f 90 pop r1 6c4: 18 95 reti 000006c6 <__vector_39>: * * Calls the callback function that has been set for the ADC when the channel's * interrupt flag is set, if its interrupt has been enabled. */ ISR(ADCB_CH0_vect) { 6c6: 1f 92 push r1 6c8: 0f 92 push r0 6ca: 0f b6 in r0, 0x3f ; 63 6cc: 0f 92 push r0 6ce: 11 24 eor r1, r1 6d0: 08 b6 in r0, 0x38 ; 56 6d2: 0f 92 push r0 6d4: 18 be out 0x38, r1 ; 56 6d6: 09 b6 in r0, 0x39 ; 57 6d8: 0f 92 push r0 6da: 19 be out 0x39, r1 ; 57 6dc: 0b b6 in r0, 0x3b ; 59 6de: 0f 92 push r0 6e0: 1b be out 0x3b, r1 ; 59 6e2: 2f 93 push r18 6e4: 3f 93 push r19 6e6: 4f 93 push r20 6e8: 5f 93 push r21 6ea: 6f 93 push r22 6ec: 7f 93 push r23 6ee: 8f 93 push r24 6f0: 9f 93 push r25 6f2: af 93 push r26 6f4: bf 93 push r27 6f6: ef 93 push r30 6f8: ff 93 push r31 adcb_callback(&ADCB, ADC_CH0, adc_get_result(&ADCB, ADC_CH0)); 6fa: 40 91 64 02 lds r20, 0x0264 ; 0x800264 <__TEXT_REGION_LENGTH__+0x700264> 6fe: 50 91 65 02 lds r21, 0x0265 ; 0x800265 <__TEXT_REGION_LENGTH__+0x700265> 702: e0 91 37 25 lds r30, 0x2537 ; 0x802537 706: f0 91 38 25 lds r31, 0x2538 ; 0x802538 70a: 61 e0 ldi r22, 0x01 ; 1 70c: 80 e4 ldi r24, 0x40 ; 64 70e: 92 e0 ldi r25, 0x02 ; 2 710: 19 95 eicall } 712: ff 91 pop r31 714: ef 91 pop r30 716: bf 91 pop r27 718: af 91 pop r26 71a: 9f 91 pop r25 71c: 8f 91 pop r24 71e: 7f 91 pop r23 720: 6f 91 pop r22 722: 5f 91 pop r21 724: 4f 91 pop r20 726: 3f 91 pop r19 728: 2f 91 pop r18 72a: 0f 90 pop r0 72c: 0b be out 0x3b, r0 ; 59 72e: 0f 90 pop r0 730: 09 be out 0x39, r0 ; 57 732: 0f 90 pop r0 734: 08 be out 0x38, r0 ; 56 736: 0f 90 pop r0 738: 0f be out 0x3f, r0 ; 63 73a: 0f 90 pop r0 73c: 1f 90 pop r1 73e: 18 95 reti 00000740 <__vector_40>: * * Calls the callback function that has been set for the ADC when the channel's * interrupt flag is set, if its interrupt has been enabled. */ ISR(ADCB_CH1_vect) { 740: 1f 92 push r1 742: 0f 92 push r0 744: 0f b6 in r0, 0x3f ; 63 746: 0f 92 push r0 748: 11 24 eor r1, r1 74a: 08 b6 in r0, 0x38 ; 56 74c: 0f 92 push r0 74e: 18 be out 0x38, r1 ; 56 750: 09 b6 in r0, 0x39 ; 57 752: 0f 92 push r0 754: 19 be out 0x39, r1 ; 57 756: 0b b6 in r0, 0x3b ; 59 758: 0f 92 push r0 75a: 1b be out 0x3b, r1 ; 59 75c: 2f 93 push r18 75e: 3f 93 push r19 760: 4f 93 push r20 762: 5f 93 push r21 764: 6f 93 push r22 766: 7f 93 push r23 768: 8f 93 push r24 76a: 9f 93 push r25 76c: af 93 push r26 76e: bf 93 push r27 770: ef 93 push r30 772: ff 93 push r31 adcb_callback(&ADCB, ADC_CH1, adc_get_result(&ADCB, ADC_CH1)); 774: 40 91 6c 02 lds r20, 0x026C ; 0x80026c <__TEXT_REGION_LENGTH__+0x70026c> 778: 50 91 6d 02 lds r21, 0x026D ; 0x80026d <__TEXT_REGION_LENGTH__+0x70026d> 77c: e0 91 37 25 lds r30, 0x2537 ; 0x802537 780: f0 91 38 25 lds r31, 0x2538 ; 0x802538 784: 62 e0 ldi r22, 0x02 ; 2 786: 80 e4 ldi r24, 0x40 ; 64 788: 92 e0 ldi r25, 0x02 ; 2 78a: 19 95 eicall } 78c: ff 91 pop r31 78e: ef 91 pop r30 790: bf 91 pop r27 792: af 91 pop r26 794: 9f 91 pop r25 796: 8f 91 pop r24 798: 7f 91 pop r23 79a: 6f 91 pop r22 79c: 5f 91 pop r21 79e: 4f 91 pop r20 7a0: 3f 91 pop r19 7a2: 2f 91 pop r18 7a4: 0f 90 pop r0 7a6: 0b be out 0x3b, r0 ; 59 7a8: 0f 90 pop r0 7aa: 09 be out 0x39, r0 ; 57 7ac: 0f 90 pop r0 7ae: 08 be out 0x38, r0 ; 56 7b0: 0f 90 pop r0 7b2: 0f be out 0x3f, r0 ; 63 7b4: 0f 90 pop r0 7b6: 1f 90 pop r1 7b8: 18 95 reti 000007ba <__vector_41>: * * Calls the callback function that has been set for the ADC when the channel's * interrupt flag is set, if its interrupt has been enabled. */ ISR(ADCB_CH2_vect) { 7ba: 1f 92 push r1 7bc: 0f 92 push r0 7be: 0f b6 in r0, 0x3f ; 63 7c0: 0f 92 push r0 7c2: 11 24 eor r1, r1 7c4: 08 b6 in r0, 0x38 ; 56 7c6: 0f 92 push r0 7c8: 18 be out 0x38, r1 ; 56 7ca: 09 b6 in r0, 0x39 ; 57 7cc: 0f 92 push r0 7ce: 19 be out 0x39, r1 ; 57 7d0: 0b b6 in r0, 0x3b ; 59 7d2: 0f 92 push r0 7d4: 1b be out 0x3b, r1 ; 59 7d6: 2f 93 push r18 7d8: 3f 93 push r19 7da: 4f 93 push r20 7dc: 5f 93 push r21 7de: 6f 93 push r22 7e0: 7f 93 push r23 7e2: 8f 93 push r24 7e4: 9f 93 push r25 7e6: af 93 push r26 7e8: bf 93 push r27 7ea: ef 93 push r30 7ec: ff 93 push r31 adcb_callback(&ADCB, ADC_CH2, adc_get_result(&ADCB, ADC_CH2)); 7ee: 40 91 74 02 lds r20, 0x0274 ; 0x800274 <__TEXT_REGION_LENGTH__+0x700274> 7f2: 50 91 75 02 lds r21, 0x0275 ; 0x800275 <__TEXT_REGION_LENGTH__+0x700275> 7f6: e0 91 37 25 lds r30, 0x2537 ; 0x802537 7fa: f0 91 38 25 lds r31, 0x2538 ; 0x802538 7fe: 64 e0 ldi r22, 0x04 ; 4 800: 80 e4 ldi r24, 0x40 ; 64 802: 92 e0 ldi r25, 0x02 ; 2 804: 19 95 eicall } 806: ff 91 pop r31 808: ef 91 pop r30 80a: bf 91 pop r27 80c: af 91 pop r26 80e: 9f 91 pop r25 810: 8f 91 pop r24 812: 7f 91 pop r23 814: 6f 91 pop r22 816: 5f 91 pop r21 818: 4f 91 pop r20 81a: 3f 91 pop r19 81c: 2f 91 pop r18 81e: 0f 90 pop r0 820: 0b be out 0x3b, r0 ; 59 822: 0f 90 pop r0 824: 09 be out 0x39, r0 ; 57 826: 0f 90 pop r0 828: 08 be out 0x38, r0 ; 56 82a: 0f 90 pop r0 82c: 0f be out 0x3f, r0 ; 63 82e: 0f 90 pop r0 830: 1f 90 pop r1 832: 18 95 reti 00000834 <__vector_42>: * * Calls the callback function that has been set for the ADC when the channel's * interrupt flag is set, if its interrupt has been enabled. */ ISR(ADCB_CH3_vect) { 834: 1f 92 push r1 836: 0f 92 push r0 838: 0f b6 in r0, 0x3f ; 63 83a: 0f 92 push r0 83c: 11 24 eor r1, r1 83e: 08 b6 in r0, 0x38 ; 56 840: 0f 92 push r0 842: 18 be out 0x38, r1 ; 56 844: 09 b6 in r0, 0x39 ; 57 846: 0f 92 push r0 848: 19 be out 0x39, r1 ; 57 84a: 0b b6 in r0, 0x3b ; 59 84c: 0f 92 push r0 84e: 1b be out 0x3b, r1 ; 59 850: 2f 93 push r18 852: 3f 93 push r19 854: 4f 93 push r20 856: 5f 93 push r21 858: 6f 93 push r22 85a: 7f 93 push r23 85c: 8f 93 push r24 85e: 9f 93 push r25 860: af 93 push r26 862: bf 93 push r27 864: ef 93 push r30 866: ff 93 push r31 adcb_callback(&ADCB, ADC_CH3, adc_get_result(&ADCB, ADC_CH3)); 868: 40 91 7c 02 lds r20, 0x027C ; 0x80027c <__TEXT_REGION_LENGTH__+0x70027c> 86c: 50 91 7d 02 lds r21, 0x027D ; 0x80027d <__TEXT_REGION_LENGTH__+0x70027d> 870: e0 91 37 25 lds r30, 0x2537 ; 0x802537 874: f0 91 38 25 lds r31, 0x2538 ; 0x802538 878: 68 e0 ldi r22, 0x08 ; 8 87a: 80 e4 ldi r24, 0x40 ; 64 87c: 92 e0 ldi r25, 0x02 ; 2 87e: 19 95 eicall } 880: ff 91 pop r31 882: ef 91 pop r30 884: bf 91 pop r27 886: af 91 pop r26 888: 9f 91 pop r25 88a: 8f 91 pop r24 88c: 7f 91 pop r23 88e: 6f 91 pop r22 890: 5f 91 pop r21 892: 4f 91 pop r20 894: 3f 91 pop r19 896: 2f 91 pop r18 898: 0f 90 pop r0 89a: 0b be out 0x3b, r0 ; 59 89c: 0f 90 pop r0 89e: 09 be out 0x39, r0 ; 57 8a0: 0f 90 pop r0 8a2: 08 be out 0x38, r0 ; 56 8a4: 0f 90 pop r0 8a6: 0f be out 0x3f, r0 ; 63 8a8: 0f 90 pop r0 8aa: 1f 90 pop r1 8ac: 18 95 reti 000008ae : PUBLIC_FUNCTION(ccp_write_io) #if defined(__GNUC__) out RAMPZ, r1 // Reset bits 23:16 of Z 8ae: 1b be out 0x3b, r1 ; 59 movw r30, r24 // Load addr into Z 8b0: fc 01 movw r30, r24 ldi r18, CCP_IOREG // Load magic CCP value 8b2: 28 ed ldi r18, 0xD8 ; 216 out CCP, r18 // Start CCP handshake 8b4: 24 bf out 0x34, r18 ; 52 st Z, r22 // Write value to I/O register 8b6: 60 83 st Z, r22 ret // Return to caller 8b8: 08 95 ret 000008ba : #endif #ifndef __DOXYGEN__ PUBLIC_FUNCTION(nvm_read_byte) #if defined(__GNUC__) lds r20, NVM_CMD ; Store NVM command register 8ba: 40 91 ca 01 lds r20, 0x01CA ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> mov ZL, r22 ; Load byte index into low byte of Z. 8be: e6 2f mov r30, r22 mov ZH, r23 ; Load high byte into Z. 8c0: f7 2f mov r31, r23 sts NVM_CMD, r24 ; Load prepared command into NVM Command register. 8c2: 80 93 ca 01 sts 0x01CA, r24 ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> lpm r24, Z ; Perform an LPM to read out byte 8c6: 84 91 lpm r24, Z sts NVM_CMD, r20 ; Restore NVM command register 8c8: 40 93 ca 01 sts 0x01CA, r20 ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> sts NVM_CMD, r16 ; Load prepared command into NVM Command register. lpm r16, Z ; Perform an LPM to read out byte sts NVM_CMD, r20 ; Restore NVM command register #endif ret 8cc: 08 95 ret 000008ce <__vector_14>: { cpu_irq_restore(iflags); return; } cpu_irq_restore(iflags); } 8ce: 1f 92 push r1 8d0: 0f 92 push r0 8d2: 0f b6 in r0, 0x3f ; 63 8d4: 0f 92 push r0 8d6: 11 24 eor r1, r1 8d8: 08 b6 in r0, 0x38 ; 56 8da: 0f 92 push r0 8dc: 18 be out 0x38, r1 ; 56 8de: 09 b6 in r0, 0x39 ; 57 8e0: 0f 92 push r0 8e2: 19 be out 0x39, r1 ; 57 8e4: 0b b6 in r0, 0x3b ; 59 8e6: 0f 92 push r0 8e8: 1b be out 0x3b, r1 ; 59 8ea: 2f 93 push r18 8ec: 3f 93 push r19 8ee: 4f 93 push r20 8f0: 5f 93 push r21 8f2: 6f 93 push r22 8f4: 7f 93 push r23 8f6: 8f 93 push r24 8f8: 9f 93 push r25 8fa: af 93 push r26 8fc: bf 93 push r27 8fe: ef 93 push r30 900: ff 93 push r31 902: e0 91 0e 22 lds r30, 0x220E ; 0x80220e 906: f0 91 0f 22 lds r31, 0x220F ; 0x80220f 90a: 30 97 sbiw r30, 0x00 ; 0 90c: 09 f0 breq .+2 ; 0x910 <__vector_14+0x42> 90e: 19 95 eicall 910: ff 91 pop r31 912: ef 91 pop r30 914: bf 91 pop r27 916: af 91 pop r26 918: 9f 91 pop r25 91a: 8f 91 pop r24 91c: 7f 91 pop r23 91e: 6f 91 pop r22 920: 5f 91 pop r21 922: 4f 91 pop r20 924: 3f 91 pop r19 926: 2f 91 pop r18 928: 0f 90 pop r0 92a: 0b be out 0x3b, r0 ; 59 92c: 0f 90 pop r0 92e: 09 be out 0x39, r0 ; 57 930: 0f 90 pop r0 932: 08 be out 0x38, r0 ; 56 934: 0f 90 pop r0 936: 0f be out 0x3f, r0 ; 63 938: 0f 90 pop r0 93a: 1f 90 pop r1 93c: 18 95 reti 0000093e <__vector_15>: 93e: 1f 92 push r1 940: 0f 92 push r0 942: 0f b6 in r0, 0x3f ; 63 944: 0f 92 push r0 946: 11 24 eor r1, r1 948: 08 b6 in r0, 0x38 ; 56 94a: 0f 92 push r0 94c: 18 be out 0x38, r1 ; 56 94e: 09 b6 in r0, 0x39 ; 57 950: 0f 92 push r0 952: 19 be out 0x39, r1 ; 57 954: 0b b6 in r0, 0x3b ; 59 956: 0f 92 push r0 958: 1b be out 0x3b, r1 ; 59 95a: 2f 93 push r18 95c: 3f 93 push r19 95e: 4f 93 push r20 960: 5f 93 push r21 962: 6f 93 push r22 964: 7f 93 push r23 966: 8f 93 push r24 968: 9f 93 push r25 96a: af 93 push r26 96c: bf 93 push r27 96e: ef 93 push r30 970: ff 93 push r31 972: e0 91 0c 22 lds r30, 0x220C ; 0x80220c 976: f0 91 0d 22 lds r31, 0x220D ; 0x80220d 97a: 30 97 sbiw r30, 0x00 ; 0 97c: 09 f0 breq .+2 ; 0x980 <__vector_15+0x42> 97e: 19 95 eicall 980: ff 91 pop r31 982: ef 91 pop r30 984: bf 91 pop r27 986: af 91 pop r26 988: 9f 91 pop r25 98a: 8f 91 pop r24 98c: 7f 91 pop r23 98e: 6f 91 pop r22 990: 5f 91 pop r21 992: 4f 91 pop r20 994: 3f 91 pop r19 996: 2f 91 pop r18 998: 0f 90 pop r0 99a: 0b be out 0x3b, r0 ; 59 99c: 0f 90 pop r0 99e: 09 be out 0x39, r0 ; 57 9a0: 0f 90 pop r0 9a2: 08 be out 0x38, r0 ; 56 9a4: 0f 90 pop r0 9a6: 0f be out 0x3f, r0 ; 63 9a8: 0f 90 pop r0 9aa: 1f 90 pop r1 9ac: 18 95 reti 000009ae <__vector_17>: 9ae: 1f 92 push r1 9b0: 0f 92 push r0 9b2: 0f b6 in r0, 0x3f ; 63 9b4: 0f 92 push r0 9b6: 11 24 eor r1, r1 9b8: 08 b6 in r0, 0x38 ; 56 9ba: 0f 92 push r0 9bc: 18 be out 0x38, r1 ; 56 9be: 09 b6 in r0, 0x39 ; 57 9c0: 0f 92 push r0 9c2: 19 be out 0x39, r1 ; 57 9c4: 0b b6 in r0, 0x3b ; 59 9c6: 0f 92 push r0 9c8: 1b be out 0x3b, r1 ; 59 9ca: 2f 93 push r18 9cc: 3f 93 push r19 9ce: 4f 93 push r20 9d0: 5f 93 push r21 9d2: 6f 93 push r22 9d4: 7f 93 push r23 9d6: 8f 93 push r24 9d8: 9f 93 push r25 9da: af 93 push r26 9dc: bf 93 push r27 9de: ef 93 push r30 9e0: ff 93 push r31 9e2: e0 91 0a 22 lds r30, 0x220A ; 0x80220a 9e6: f0 91 0b 22 lds r31, 0x220B ; 0x80220b 9ea: 30 97 sbiw r30, 0x00 ; 0 9ec: 09 f0 breq .+2 ; 0x9f0 <__vector_17+0x42> 9ee: 19 95 eicall 9f0: ff 91 pop r31 9f2: ef 91 pop r30 9f4: bf 91 pop r27 9f6: af 91 pop r26 9f8: 9f 91 pop r25 9fa: 8f 91 pop r24 9fc: 7f 91 pop r23 9fe: 6f 91 pop r22 a00: 5f 91 pop r21 a02: 4f 91 pop r20 a04: 3f 91 pop r19 a06: 2f 91 pop r18 a08: 0f 90 pop r0 a0a: 0b be out 0x3b, r0 ; 59 a0c: 0f 90 pop r0 a0e: 09 be out 0x39, r0 ; 57 a10: 0f 90 pop r0 a12: 08 be out 0x38, r0 ; 56 a14: 0f 90 pop r0 a16: 0f be out 0x3f, r0 ; 63 a18: 0f 90 pop r0 a1a: 1f 90 pop r1 a1c: 18 95 reti 00000a1e <__vector_18>: a1e: 1f 92 push r1 a20: 0f 92 push r0 a22: 0f b6 in r0, 0x3f ; 63 a24: 0f 92 push r0 a26: 11 24 eor r1, r1 a28: 08 b6 in r0, 0x38 ; 56 a2a: 0f 92 push r0 a2c: 18 be out 0x38, r1 ; 56 a2e: 09 b6 in r0, 0x39 ; 57 a30: 0f 92 push r0 a32: 19 be out 0x39, r1 ; 57 a34: 0b b6 in r0, 0x3b ; 59 a36: 0f 92 push r0 a38: 1b be out 0x3b, r1 ; 59 a3a: 2f 93 push r18 a3c: 3f 93 push r19 a3e: 4f 93 push r20 a40: 5f 93 push r21 a42: 6f 93 push r22 a44: 7f 93 push r23 a46: 8f 93 push r24 a48: 9f 93 push r25 a4a: af 93 push r26 a4c: bf 93 push r27 a4e: ef 93 push r30 a50: ff 93 push r31 a52: e0 91 08 22 lds r30, 0x2208 ; 0x802208 a56: f0 91 09 22 lds r31, 0x2209 ; 0x802209 a5a: 30 97 sbiw r30, 0x00 ; 0 a5c: 09 f0 breq .+2 ; 0xa60 <__vector_18+0x42> a5e: 19 95 eicall a60: ff 91 pop r31 a62: ef 91 pop r30 a64: bf 91 pop r27 a66: af 91 pop r26 a68: 9f 91 pop r25 a6a: 8f 91 pop r24 a6c: 7f 91 pop r23 a6e: 6f 91 pop r22 a70: 5f 91 pop r21 a72: 4f 91 pop r20 a74: 3f 91 pop r19 a76: 2f 91 pop r18 a78: 0f 90 pop r0 a7a: 0b be out 0x3b, r0 ; 59 a7c: 0f 90 pop r0 a7e: 09 be out 0x39, r0 ; 57 a80: 0f 90 pop r0 a82: 08 be out 0x38, r0 ; 56 a84: 0f 90 pop r0 a86: 0f be out 0x3f, r0 ; 63 a88: 0f 90 pop r0 a8a: 1f 90 pop r1 a8c: 18 95 reti 00000a8e <__vector_19>: a8e: 1f 92 push r1 a90: 0f 92 push r0 a92: 0f b6 in r0, 0x3f ; 63 a94: 0f 92 push r0 a96: 11 24 eor r1, r1 a98: 08 b6 in r0, 0x38 ; 56 a9a: 0f 92 push r0 a9c: 18 be out 0x38, r1 ; 56 a9e: 09 b6 in r0, 0x39 ; 57 aa0: 0f 92 push r0 aa2: 19 be out 0x39, r1 ; 57 aa4: 0b b6 in r0, 0x3b ; 59 aa6: 0f 92 push r0 aa8: 1b be out 0x3b, r1 ; 59 aaa: 2f 93 push r18 aac: 3f 93 push r19 aae: 4f 93 push r20 ab0: 5f 93 push r21 ab2: 6f 93 push r22 ab4: 7f 93 push r23 ab6: 8f 93 push r24 ab8: 9f 93 push r25 aba: af 93 push r26 abc: bf 93 push r27 abe: ef 93 push r30 ac0: ff 93 push r31 ac2: e0 91 06 22 lds r30, 0x2206 ; 0x802206 ac6: f0 91 07 22 lds r31, 0x2207 ; 0x802207 aca: 30 97 sbiw r30, 0x00 ; 0 acc: 09 f0 breq .+2 ; 0xad0 <__vector_19+0x42> ace: 19 95 eicall ad0: ff 91 pop r31 ad2: ef 91 pop r30 ad4: bf 91 pop r27 ad6: af 91 pop r26 ad8: 9f 91 pop r25 ada: 8f 91 pop r24 adc: 7f 91 pop r23 ade: 6f 91 pop r22 ae0: 5f 91 pop r21 ae2: 4f 91 pop r20 ae4: 3f 91 pop r19 ae6: 2f 91 pop r18 ae8: 0f 90 pop r0 aea: 0b be out 0x3b, r0 ; 59 aec: 0f 90 pop r0 aee: 09 be out 0x39, r0 ; 57 af0: 0f 90 pop r0 af2: 08 be out 0x38, r0 ; 56 af4: 0f 90 pop r0 af6: 0f be out 0x3f, r0 ; 63 af8: 0f 90 pop r0 afa: 1f 90 pop r1 afc: 18 95 reti 00000afe <__vector_20>: afe: 1f 92 push r1 b00: 0f 92 push r0 b02: 0f b6 in r0, 0x3f ; 63 b04: 0f 92 push r0 b06: 11 24 eor r1, r1 b08: 08 b6 in r0, 0x38 ; 56 b0a: 0f 92 push r0 b0c: 18 be out 0x38, r1 ; 56 b0e: 09 b6 in r0, 0x39 ; 57 b10: 0f 92 push r0 b12: 19 be out 0x39, r1 ; 57 b14: 0b b6 in r0, 0x3b ; 59 b16: 0f 92 push r0 b18: 1b be out 0x3b, r1 ; 59 b1a: 2f 93 push r18 b1c: 3f 93 push r19 b1e: 4f 93 push r20 b20: 5f 93 push r21 b22: 6f 93 push r22 b24: 7f 93 push r23 b26: 8f 93 push r24 b28: 9f 93 push r25 b2a: af 93 push r26 b2c: bf 93 push r27 b2e: ef 93 push r30 b30: ff 93 push r31 b32: e0 91 04 22 lds r30, 0x2204 ; 0x802204 b36: f0 91 05 22 lds r31, 0x2205 ; 0x802205 b3a: 30 97 sbiw r30, 0x00 ; 0 b3c: 09 f0 breq .+2 ; 0xb40 <__vector_20+0x42> b3e: 19 95 eicall b40: ff 91 pop r31 b42: ef 91 pop r30 b44: bf 91 pop r27 b46: af 91 pop r26 b48: 9f 91 pop r25 b4a: 8f 91 pop r24 b4c: 7f 91 pop r23 b4e: 6f 91 pop r22 b50: 5f 91 pop r21 b52: 4f 91 pop r20 b54: 3f 91 pop r19 b56: 2f 91 pop r18 b58: 0f 90 pop r0 b5a: 0b be out 0x3b, r0 ; 59 b5c: 0f 90 pop r0 b5e: 09 be out 0x39, r0 ; 57 b60: 0f 90 pop r0 b62: 08 be out 0x38, r0 ; 56 b64: 0f 90 pop r0 b66: 0f be out 0x3f, r0 ; 63 b68: 0f 90 pop r0 b6a: 1f 90 pop r1 b6c: 18 95 reti 00000b6e <__vector_21>: b6e: 1f 92 push r1 b70: 0f 92 push r0 b72: 0f b6 in r0, 0x3f ; 63 b74: 0f 92 push r0 b76: 11 24 eor r1, r1 b78: 08 b6 in r0, 0x38 ; 56 b7a: 0f 92 push r0 b7c: 18 be out 0x38, r1 ; 56 b7e: 09 b6 in r0, 0x39 ; 57 b80: 0f 92 push r0 b82: 19 be out 0x39, r1 ; 57 b84: 0b b6 in r0, 0x3b ; 59 b86: 0f 92 push r0 b88: 1b be out 0x3b, r1 ; 59 b8a: 2f 93 push r18 b8c: 3f 93 push r19 b8e: 4f 93 push r20 b90: 5f 93 push r21 b92: 6f 93 push r22 b94: 7f 93 push r23 b96: 8f 93 push r24 b98: 9f 93 push r25 b9a: af 93 push r26 b9c: bf 93 push r27 b9e: ef 93 push r30 ba0: ff 93 push r31 ba2: e0 91 02 22 lds r30, 0x2202 ; 0x802202 ba6: f0 91 03 22 lds r31, 0x2203 ; 0x802203 baa: 30 97 sbiw r30, 0x00 ; 0 bac: 09 f0 breq .+2 ; 0xbb0 <__vector_21+0x42> bae: 19 95 eicall bb0: ff 91 pop r31 bb2: ef 91 pop r30 bb4: bf 91 pop r27 bb6: af 91 pop r26 bb8: 9f 91 pop r25 bba: 8f 91 pop r24 bbc: 7f 91 pop r23 bbe: 6f 91 pop r22 bc0: 5f 91 pop r21 bc2: 4f 91 pop r20 bc4: 3f 91 pop r19 bc6: 2f 91 pop r18 bc8: 0f 90 pop r0 bca: 0b be out 0x3b, r0 ; 59 bcc: 0f 90 pop r0 bce: 09 be out 0x39, r0 ; 57 bd0: 0f 90 pop r0 bd2: 08 be out 0x38, r0 ; 56 bd4: 0f 90 pop r0 bd6: 0f be out 0x3f, r0 ; 63 bd8: 0f 90 pop r0 bda: 1f 90 pop r1 bdc: 18 95 reti 00000bde <__vector_22>: bde: 1f 92 push r1 be0: 0f 92 push r0 be2: 0f b6 in r0, 0x3f ; 63 be4: 0f 92 push r0 be6: 11 24 eor r1, r1 be8: 08 b6 in r0, 0x38 ; 56 bea: 0f 92 push r0 bec: 18 be out 0x38, r1 ; 56 bee: 09 b6 in r0, 0x39 ; 57 bf0: 0f 92 push r0 bf2: 19 be out 0x39, r1 ; 57 bf4: 0b b6 in r0, 0x3b ; 59 bf6: 0f 92 push r0 bf8: 1b be out 0x3b, r1 ; 59 bfa: 2f 93 push r18 bfc: 3f 93 push r19 bfe: 4f 93 push r20 c00: 5f 93 push r21 c02: 6f 93 push r22 c04: 7f 93 push r23 c06: 8f 93 push r24 c08: 9f 93 push r25 c0a: af 93 push r26 c0c: bf 93 push r27 c0e: ef 93 push r30 c10: ff 93 push r31 c12: e0 91 00 22 lds r30, 0x2200 ; 0x802200 c16: f0 91 01 22 lds r31, 0x2201 ; 0x802201 c1a: 30 97 sbiw r30, 0x00 ; 0 c1c: 09 f0 breq .+2 ; 0xc20 <__vector_22+0x42> c1e: 19 95 eicall c20: ff 91 pop r31 c22: ef 91 pop r30 c24: bf 91 pop r27 c26: af 91 pop r26 c28: 9f 91 pop r25 c2a: 8f 91 pop r24 c2c: 7f 91 pop r23 c2e: 6f 91 pop r22 c30: 5f 91 pop r21 c32: 4f 91 pop r20 c34: 3f 91 pop r19 c36: 2f 91 pop r18 c38: 0f 90 pop r0 c3a: 0b be out 0x3b, r0 ; 59 c3c: 0f 90 pop r0 c3e: 09 be out 0x39, r0 ; 57 c40: 0f 90 pop r0 c42: 08 be out 0x38, r0 ; 56 c44: 0f 90 pop r0 c46: 0f be out 0x3f, r0 ; 63 c48: 0f 90 pop r0 c4a: 1f 90 pop r1 c4c: 18 95 reti 00000c4e <__vector_23>: c4e: 1f 92 push r1 c50: 0f 92 push r0 c52: 0f b6 in r0, 0x3f ; 63 c54: 0f 92 push r0 c56: 11 24 eor r1, r1 c58: 08 b6 in r0, 0x38 ; 56 c5a: 0f 92 push r0 c5c: 18 be out 0x38, r1 ; 56 c5e: 09 b6 in r0, 0x39 ; 57 c60: 0f 92 push r0 c62: 19 be out 0x39, r1 ; 57 c64: 0b b6 in r0, 0x3b ; 59 c66: 0f 92 push r0 c68: 1b be out 0x3b, r1 ; 59 c6a: 2f 93 push r18 c6c: 3f 93 push r19 c6e: 4f 93 push r20 c70: 5f 93 push r21 c72: 6f 93 push r22 c74: 7f 93 push r23 c76: 8f 93 push r24 c78: 9f 93 push r25 c7a: af 93 push r26 c7c: bf 93 push r27 c7e: ef 93 push r30 c80: ff 93 push r31 c82: e0 91 fe 21 lds r30, 0x21FE ; 0x8021fe c86: f0 91 ff 21 lds r31, 0x21FF ; 0x8021ff c8a: 30 97 sbiw r30, 0x00 ; 0 c8c: 09 f0 breq .+2 ; 0xc90 <__vector_23+0x42> c8e: 19 95 eicall c90: ff 91 pop r31 c92: ef 91 pop r30 c94: bf 91 pop r27 c96: af 91 pop r26 c98: 9f 91 pop r25 c9a: 8f 91 pop r24 c9c: 7f 91 pop r23 c9e: 6f 91 pop r22 ca0: 5f 91 pop r21 ca2: 4f 91 pop r20 ca4: 3f 91 pop r19 ca6: 2f 91 pop r18 ca8: 0f 90 pop r0 caa: 0b be out 0x3b, r0 ; 59 cac: 0f 90 pop r0 cae: 09 be out 0x39, r0 ; 57 cb0: 0f 90 pop r0 cb2: 08 be out 0x38, r0 ; 56 cb4: 0f 90 pop r0 cb6: 0f be out 0x3f, r0 ; 63 cb8: 0f 90 pop r0 cba: 1f 90 pop r1 cbc: 18 95 reti 00000cbe <__vector_77>: cbe: 1f 92 push r1 cc0: 0f 92 push r0 cc2: 0f b6 in r0, 0x3f ; 63 cc4: 0f 92 push r0 cc6: 11 24 eor r1, r1 cc8: 08 b6 in r0, 0x38 ; 56 cca: 0f 92 push r0 ccc: 18 be out 0x38, r1 ; 56 cce: 09 b6 in r0, 0x39 ; 57 cd0: 0f 92 push r0 cd2: 19 be out 0x39, r1 ; 57 cd4: 0b b6 in r0, 0x3b ; 59 cd6: 0f 92 push r0 cd8: 1b be out 0x3b, r1 ; 59 cda: 2f 93 push r18 cdc: 3f 93 push r19 cde: 4f 93 push r20 ce0: 5f 93 push r21 ce2: 6f 93 push r22 ce4: 7f 93 push r23 ce6: 8f 93 push r24 ce8: 9f 93 push r25 cea: af 93 push r26 cec: bf 93 push r27 cee: ef 93 push r30 cf0: ff 93 push r31 cf2: e0 91 fc 21 lds r30, 0x21FC ; 0x8021fc cf6: f0 91 fd 21 lds r31, 0x21FD ; 0x8021fd cfa: 30 97 sbiw r30, 0x00 ; 0 cfc: 09 f0 breq .+2 ; 0xd00 <__vector_77+0x42> cfe: 19 95 eicall d00: ff 91 pop r31 d02: ef 91 pop r30 d04: bf 91 pop r27 d06: af 91 pop r26 d08: 9f 91 pop r25 d0a: 8f 91 pop r24 d0c: 7f 91 pop r23 d0e: 6f 91 pop r22 d10: 5f 91 pop r21 d12: 4f 91 pop r20 d14: 3f 91 pop r19 d16: 2f 91 pop r18 d18: 0f 90 pop r0 d1a: 0b be out 0x3b, r0 ; 59 d1c: 0f 90 pop r0 d1e: 09 be out 0x39, r0 ; 57 d20: 0f 90 pop r0 d22: 08 be out 0x38, r0 ; 56 d24: 0f 90 pop r0 d26: 0f be out 0x3f, r0 ; 63 d28: 0f 90 pop r0 d2a: 1f 90 pop r1 d2c: 18 95 reti 00000d2e <__vector_78>: d2e: 1f 92 push r1 d30: 0f 92 push r0 d32: 0f b6 in r0, 0x3f ; 63 d34: 0f 92 push r0 d36: 11 24 eor r1, r1 d38: 08 b6 in r0, 0x38 ; 56 d3a: 0f 92 push r0 d3c: 18 be out 0x38, r1 ; 56 d3e: 09 b6 in r0, 0x39 ; 57 d40: 0f 92 push r0 d42: 19 be out 0x39, r1 ; 57 d44: 0b b6 in r0, 0x3b ; 59 d46: 0f 92 push r0 d48: 1b be out 0x3b, r1 ; 59 d4a: 2f 93 push r18 d4c: 3f 93 push r19 d4e: 4f 93 push r20 d50: 5f 93 push r21 d52: 6f 93 push r22 d54: 7f 93 push r23 d56: 8f 93 push r24 d58: 9f 93 push r25 d5a: af 93 push r26 d5c: bf 93 push r27 d5e: ef 93 push r30 d60: ff 93 push r31 d62: e0 91 fa 21 lds r30, 0x21FA ; 0x8021fa d66: f0 91 fb 21 lds r31, 0x21FB ; 0x8021fb d6a: 30 97 sbiw r30, 0x00 ; 0 d6c: 09 f0 breq .+2 ; 0xd70 <__vector_78+0x42> d6e: 19 95 eicall d70: ff 91 pop r31 d72: ef 91 pop r30 d74: bf 91 pop r27 d76: af 91 pop r26 d78: 9f 91 pop r25 d7a: 8f 91 pop r24 d7c: 7f 91 pop r23 d7e: 6f 91 pop r22 d80: 5f 91 pop r21 d82: 4f 91 pop r20 d84: 3f 91 pop r19 d86: 2f 91 pop r18 d88: 0f 90 pop r0 d8a: 0b be out 0x3b, r0 ; 59 d8c: 0f 90 pop r0 d8e: 09 be out 0x39, r0 ; 57 d90: 0f 90 pop r0 d92: 08 be out 0x38, r0 ; 56 d94: 0f 90 pop r0 d96: 0f be out 0x3f, r0 ; 63 d98: 0f 90 pop r0 d9a: 1f 90 pop r1 d9c: 18 95 reti 00000d9e <__vector_79>: d9e: 1f 92 push r1 da0: 0f 92 push r0 da2: 0f b6 in r0, 0x3f ; 63 da4: 0f 92 push r0 da6: 11 24 eor r1, r1 da8: 08 b6 in r0, 0x38 ; 56 daa: 0f 92 push r0 dac: 18 be out 0x38, r1 ; 56 dae: 09 b6 in r0, 0x39 ; 57 db0: 0f 92 push r0 db2: 19 be out 0x39, r1 ; 57 db4: 0b b6 in r0, 0x3b ; 59 db6: 0f 92 push r0 db8: 1b be out 0x3b, r1 ; 59 dba: 2f 93 push r18 dbc: 3f 93 push r19 dbe: 4f 93 push r20 dc0: 5f 93 push r21 dc2: 6f 93 push r22 dc4: 7f 93 push r23 dc6: 8f 93 push r24 dc8: 9f 93 push r25 dca: af 93 push r26 dcc: bf 93 push r27 dce: ef 93 push r30 dd0: ff 93 push r31 dd2: e0 91 f8 21 lds r30, 0x21F8 ; 0x8021f8 dd6: f0 91 f9 21 lds r31, 0x21F9 ; 0x8021f9 dda: 30 97 sbiw r30, 0x00 ; 0 ddc: 09 f0 breq .+2 ; 0xde0 <__vector_79+0x42> dde: 19 95 eicall de0: ff 91 pop r31 de2: ef 91 pop r30 de4: bf 91 pop r27 de6: af 91 pop r26 de8: 9f 91 pop r25 dea: 8f 91 pop r24 dec: 7f 91 pop r23 dee: 6f 91 pop r22 df0: 5f 91 pop r21 df2: 4f 91 pop r20 df4: 3f 91 pop r19 df6: 2f 91 pop r18 df8: 0f 90 pop r0 dfa: 0b be out 0x3b, r0 ; 59 dfc: 0f 90 pop r0 dfe: 09 be out 0x39, r0 ; 57 e00: 0f 90 pop r0 e02: 08 be out 0x38, r0 ; 56 e04: 0f 90 pop r0 e06: 0f be out 0x3f, r0 ; 63 e08: 0f 90 pop r0 e0a: 1f 90 pop r1 e0c: 18 95 reti 00000e0e <__vector_80>: e0e: 1f 92 push r1 e10: 0f 92 push r0 e12: 0f b6 in r0, 0x3f ; 63 e14: 0f 92 push r0 e16: 11 24 eor r1, r1 e18: 08 b6 in r0, 0x38 ; 56 e1a: 0f 92 push r0 e1c: 18 be out 0x38, r1 ; 56 e1e: 09 b6 in r0, 0x39 ; 57 e20: 0f 92 push r0 e22: 19 be out 0x39, r1 ; 57 e24: 0b b6 in r0, 0x3b ; 59 e26: 0f 92 push r0 e28: 1b be out 0x3b, r1 ; 59 e2a: 2f 93 push r18 e2c: 3f 93 push r19 e2e: 4f 93 push r20 e30: 5f 93 push r21 e32: 6f 93 push r22 e34: 7f 93 push r23 e36: 8f 93 push r24 e38: 9f 93 push r25 e3a: af 93 push r26 e3c: bf 93 push r27 e3e: ef 93 push r30 e40: ff 93 push r31 e42: e0 91 f6 21 lds r30, 0x21F6 ; 0x8021f6 e46: f0 91 f7 21 lds r31, 0x21F7 ; 0x8021f7 e4a: 30 97 sbiw r30, 0x00 ; 0 e4c: 09 f0 breq .+2 ; 0xe50 <__vector_80+0x42> e4e: 19 95 eicall e50: ff 91 pop r31 e52: ef 91 pop r30 e54: bf 91 pop r27 e56: af 91 pop r26 e58: 9f 91 pop r25 e5a: 8f 91 pop r24 e5c: 7f 91 pop r23 e5e: 6f 91 pop r22 e60: 5f 91 pop r21 e62: 4f 91 pop r20 e64: 3f 91 pop r19 e66: 2f 91 pop r18 e68: 0f 90 pop r0 e6a: 0b be out 0x3b, r0 ; 59 e6c: 0f 90 pop r0 e6e: 09 be out 0x39, r0 ; 57 e70: 0f 90 pop r0 e72: 08 be out 0x38, r0 ; 56 e74: 0f 90 pop r0 e76: 0f be out 0x3f, r0 ; 63 e78: 0f 90 pop r0 e7a: 1f 90 pop r1 e7c: 18 95 reti 00000e7e <__vector_81>: e7e: 1f 92 push r1 e80: 0f 92 push r0 e82: 0f b6 in r0, 0x3f ; 63 e84: 0f 92 push r0 e86: 11 24 eor r1, r1 e88: 08 b6 in r0, 0x38 ; 56 e8a: 0f 92 push r0 e8c: 18 be out 0x38, r1 ; 56 e8e: 09 b6 in r0, 0x39 ; 57 e90: 0f 92 push r0 e92: 19 be out 0x39, r1 ; 57 e94: 0b b6 in r0, 0x3b ; 59 e96: 0f 92 push r0 e98: 1b be out 0x3b, r1 ; 59 e9a: 2f 93 push r18 e9c: 3f 93 push r19 e9e: 4f 93 push r20 ea0: 5f 93 push r21 ea2: 6f 93 push r22 ea4: 7f 93 push r23 ea6: 8f 93 push r24 ea8: 9f 93 push r25 eaa: af 93 push r26 eac: bf 93 push r27 eae: ef 93 push r30 eb0: ff 93 push r31 eb2: e0 91 f4 21 lds r30, 0x21F4 ; 0x8021f4 eb6: f0 91 f5 21 lds r31, 0x21F5 ; 0x8021f5 eba: 30 97 sbiw r30, 0x00 ; 0 ebc: 09 f0 breq .+2 ; 0xec0 <__vector_81+0x42> ebe: 19 95 eicall ec0: ff 91 pop r31 ec2: ef 91 pop r30 ec4: bf 91 pop r27 ec6: af 91 pop r26 ec8: 9f 91 pop r25 eca: 8f 91 pop r24 ecc: 7f 91 pop r23 ece: 6f 91 pop r22 ed0: 5f 91 pop r21 ed2: 4f 91 pop r20 ed4: 3f 91 pop r19 ed6: 2f 91 pop r18 ed8: 0f 90 pop r0 eda: 0b be out 0x3b, r0 ; 59 edc: 0f 90 pop r0 ede: 09 be out 0x39, r0 ; 57 ee0: 0f 90 pop r0 ee2: 08 be out 0x38, r0 ; 56 ee4: 0f 90 pop r0 ee6: 0f be out 0x3f, r0 ; 63 ee8: 0f 90 pop r0 eea: 1f 90 pop r1 eec: 18 95 reti 00000eee <__vector_82>: eee: 1f 92 push r1 ef0: 0f 92 push r0 ef2: 0f b6 in r0, 0x3f ; 63 ef4: 0f 92 push r0 ef6: 11 24 eor r1, r1 ef8: 08 b6 in r0, 0x38 ; 56 efa: 0f 92 push r0 efc: 18 be out 0x38, r1 ; 56 efe: 09 b6 in r0, 0x39 ; 57 f00: 0f 92 push r0 f02: 19 be out 0x39, r1 ; 57 f04: 0b b6 in r0, 0x3b ; 59 f06: 0f 92 push r0 f08: 1b be out 0x3b, r1 ; 59 f0a: 2f 93 push r18 f0c: 3f 93 push r19 f0e: 4f 93 push r20 f10: 5f 93 push r21 f12: 6f 93 push r22 f14: 7f 93 push r23 f16: 8f 93 push r24 f18: 9f 93 push r25 f1a: af 93 push r26 f1c: bf 93 push r27 f1e: ef 93 push r30 f20: ff 93 push r31 f22: e0 91 f2 21 lds r30, 0x21F2 ; 0x8021f2 f26: f0 91 f3 21 lds r31, 0x21F3 ; 0x8021f3 f2a: 30 97 sbiw r30, 0x00 ; 0 f2c: 09 f0 breq .+2 ; 0xf30 <__vector_82+0x42> f2e: 19 95 eicall f30: ff 91 pop r31 f32: ef 91 pop r30 f34: bf 91 pop r27 f36: af 91 pop r26 f38: 9f 91 pop r25 f3a: 8f 91 pop r24 f3c: 7f 91 pop r23 f3e: 6f 91 pop r22 f40: 5f 91 pop r21 f42: 4f 91 pop r20 f44: 3f 91 pop r19 f46: 2f 91 pop r18 f48: 0f 90 pop r0 f4a: 0b be out 0x3b, r0 ; 59 f4c: 0f 90 pop r0 f4e: 09 be out 0x39, r0 ; 57 f50: 0f 90 pop r0 f52: 08 be out 0x38, r0 ; 56 f54: 0f 90 pop r0 f56: 0f be out 0x3f, r0 ; 63 f58: 0f 90 pop r0 f5a: 1f 90 pop r1 f5c: 18 95 reti 00000f5e <__vector_83>: f5e: 1f 92 push r1 f60: 0f 92 push r0 f62: 0f b6 in r0, 0x3f ; 63 f64: 0f 92 push r0 f66: 11 24 eor r1, r1 f68: 08 b6 in r0, 0x38 ; 56 f6a: 0f 92 push r0 f6c: 18 be out 0x38, r1 ; 56 f6e: 09 b6 in r0, 0x39 ; 57 f70: 0f 92 push r0 f72: 19 be out 0x39, r1 ; 57 f74: 0b b6 in r0, 0x3b ; 59 f76: 0f 92 push r0 f78: 1b be out 0x3b, r1 ; 59 f7a: 2f 93 push r18 f7c: 3f 93 push r19 f7e: 4f 93 push r20 f80: 5f 93 push r21 f82: 6f 93 push r22 f84: 7f 93 push r23 f86: 8f 93 push r24 f88: 9f 93 push r25 f8a: af 93 push r26 f8c: bf 93 push r27 f8e: ef 93 push r30 f90: ff 93 push r31 f92: e0 91 f0 21 lds r30, 0x21F0 ; 0x8021f0 f96: f0 91 f1 21 lds r31, 0x21F1 ; 0x8021f1 f9a: 30 97 sbiw r30, 0x00 ; 0 f9c: 09 f0 breq .+2 ; 0xfa0 <__vector_83+0x42> f9e: 19 95 eicall fa0: ff 91 pop r31 fa2: ef 91 pop r30 fa4: bf 91 pop r27 fa6: af 91 pop r26 fa8: 9f 91 pop r25 faa: 8f 91 pop r24 fac: 7f 91 pop r23 fae: 6f 91 pop r22 fb0: 5f 91 pop r21 fb2: 4f 91 pop r20 fb4: 3f 91 pop r19 fb6: 2f 91 pop r18 fb8: 0f 90 pop r0 fba: 0b be out 0x3b, r0 ; 59 fbc: 0f 90 pop r0 fbe: 09 be out 0x39, r0 ; 57 fc0: 0f 90 pop r0 fc2: 08 be out 0x38, r0 ; 56 fc4: 0f 90 pop r0 fc6: 0f be out 0x3f, r0 ; 63 fc8: 0f 90 pop r0 fca: 1f 90 pop r1 fcc: 18 95 reti 00000fce <__vector_84>: fce: 1f 92 push r1 fd0: 0f 92 push r0 fd2: 0f b6 in r0, 0x3f ; 63 fd4: 0f 92 push r0 fd6: 11 24 eor r1, r1 fd8: 08 b6 in r0, 0x38 ; 56 fda: 0f 92 push r0 fdc: 18 be out 0x38, r1 ; 56 fde: 09 b6 in r0, 0x39 ; 57 fe0: 0f 92 push r0 fe2: 19 be out 0x39, r1 ; 57 fe4: 0b b6 in r0, 0x3b ; 59 fe6: 0f 92 push r0 fe8: 1b be out 0x3b, r1 ; 59 fea: 2f 93 push r18 fec: 3f 93 push r19 fee: 4f 93 push r20 ff0: 5f 93 push r21 ff2: 6f 93 push r22 ff4: 7f 93 push r23 ff6: 8f 93 push r24 ff8: 9f 93 push r25 ffa: af 93 push r26 ffc: bf 93 push r27 ffe: ef 93 push r30 1000: ff 93 push r31 1002: e0 91 ee 21 lds r30, 0x21EE ; 0x8021ee 1006: f0 91 ef 21 lds r31, 0x21EF ; 0x8021ef 100a: 30 97 sbiw r30, 0x00 ; 0 100c: 09 f0 breq .+2 ; 0x1010 <__vector_84+0x42> 100e: 19 95 eicall 1010: ff 91 pop r31 1012: ef 91 pop r30 1014: bf 91 pop r27 1016: af 91 pop r26 1018: 9f 91 pop r25 101a: 8f 91 pop r24 101c: 7f 91 pop r23 101e: 6f 91 pop r22 1020: 5f 91 pop r21 1022: 4f 91 pop r20 1024: 3f 91 pop r19 1026: 2f 91 pop r18 1028: 0f 90 pop r0 102a: 0b be out 0x3b, r0 ; 59 102c: 0f 90 pop r0 102e: 09 be out 0x39, r0 ; 57 1030: 0f 90 pop r0 1032: 08 be out 0x38, r0 ; 56 1034: 0f 90 pop r0 1036: 0f be out 0x3f, r0 ; 63 1038: 0f 90 pop r0 103a: 1f 90 pop r1 103c: 18 95 reti 0000103e <__vector_85>: 103e: 1f 92 push r1 1040: 0f 92 push r0 1042: 0f b6 in r0, 0x3f ; 63 1044: 0f 92 push r0 1046: 11 24 eor r1, r1 1048: 08 b6 in r0, 0x38 ; 56 104a: 0f 92 push r0 104c: 18 be out 0x38, r1 ; 56 104e: 09 b6 in r0, 0x39 ; 57 1050: 0f 92 push r0 1052: 19 be out 0x39, r1 ; 57 1054: 0b b6 in r0, 0x3b ; 59 1056: 0f 92 push r0 1058: 1b be out 0x3b, r1 ; 59 105a: 2f 93 push r18 105c: 3f 93 push r19 105e: 4f 93 push r20 1060: 5f 93 push r21 1062: 6f 93 push r22 1064: 7f 93 push r23 1066: 8f 93 push r24 1068: 9f 93 push r25 106a: af 93 push r26 106c: bf 93 push r27 106e: ef 93 push r30 1070: ff 93 push r31 1072: e0 91 ec 21 lds r30, 0x21EC ; 0x8021ec 1076: f0 91 ed 21 lds r31, 0x21ED ; 0x8021ed 107a: 30 97 sbiw r30, 0x00 ; 0 107c: 09 f0 breq .+2 ; 0x1080 <__vector_85+0x42> 107e: 19 95 eicall 1080: ff 91 pop r31 1082: ef 91 pop r30 1084: bf 91 pop r27 1086: af 91 pop r26 1088: 9f 91 pop r25 108a: 8f 91 pop r24 108c: 7f 91 pop r23 108e: 6f 91 pop r22 1090: 5f 91 pop r21 1092: 4f 91 pop r20 1094: 3f 91 pop r19 1096: 2f 91 pop r18 1098: 0f 90 pop r0 109a: 0b be out 0x3b, r0 ; 59 109c: 0f 90 pop r0 109e: 09 be out 0x39, r0 ; 57 10a0: 0f 90 pop r0 10a2: 08 be out 0x38, r0 ; 56 10a4: 0f 90 pop r0 10a6: 0f be out 0x3f, r0 ; 63 10a8: 0f 90 pop r0 10aa: 1f 90 pop r1 10ac: 18 95 reti 000010ae <__vector_86>: 10ae: 1f 92 push r1 10b0: 0f 92 push r0 10b2: 0f b6 in r0, 0x3f ; 63 10b4: 0f 92 push r0 10b6: 11 24 eor r1, r1 10b8: 08 b6 in r0, 0x38 ; 56 10ba: 0f 92 push r0 10bc: 18 be out 0x38, r1 ; 56 10be: 09 b6 in r0, 0x39 ; 57 10c0: 0f 92 push r0 10c2: 19 be out 0x39, r1 ; 57 10c4: 0b b6 in r0, 0x3b ; 59 10c6: 0f 92 push r0 10c8: 1b be out 0x3b, r1 ; 59 10ca: 2f 93 push r18 10cc: 3f 93 push r19 10ce: 4f 93 push r20 10d0: 5f 93 push r21 10d2: 6f 93 push r22 10d4: 7f 93 push r23 10d6: 8f 93 push r24 10d8: 9f 93 push r25 10da: af 93 push r26 10dc: bf 93 push r27 10de: ef 93 push r30 10e0: ff 93 push r31 10e2: e0 91 ea 21 lds r30, 0x21EA ; 0x8021ea 10e6: f0 91 eb 21 lds r31, 0x21EB ; 0x8021eb 10ea: 30 97 sbiw r30, 0x00 ; 0 10ec: 09 f0 breq .+2 ; 0x10f0 <__vector_86+0x42> 10ee: 19 95 eicall 10f0: ff 91 pop r31 10f2: ef 91 pop r30 10f4: bf 91 pop r27 10f6: af 91 pop r26 10f8: 9f 91 pop r25 10fa: 8f 91 pop r24 10fc: 7f 91 pop r23 10fe: 6f 91 pop r22 1100: 5f 91 pop r21 1102: 4f 91 pop r20 1104: 3f 91 pop r19 1106: 2f 91 pop r18 1108: 0f 90 pop r0 110a: 0b be out 0x3b, r0 ; 59 110c: 0f 90 pop r0 110e: 09 be out 0x39, r0 ; 57 1110: 0f 90 pop r0 1112: 08 be out 0x38, r0 ; 56 1114: 0f 90 pop r0 1116: 0f be out 0x3f, r0 ; 63 1118: 0f 90 pop r0 111a: 1f 90 pop r1 111c: 18 95 reti 0000111e <__vector_47>: 111e: 1f 92 push r1 1120: 0f 92 push r0 1122: 0f b6 in r0, 0x3f ; 63 1124: 0f 92 push r0 1126: 11 24 eor r1, r1 1128: 08 b6 in r0, 0x38 ; 56 112a: 0f 92 push r0 112c: 18 be out 0x38, r1 ; 56 112e: 09 b6 in r0, 0x39 ; 57 1130: 0f 92 push r0 1132: 19 be out 0x39, r1 ; 57 1134: 0b b6 in r0, 0x3b ; 59 1136: 0f 92 push r0 1138: 1b be out 0x3b, r1 ; 59 113a: 2f 93 push r18 113c: 3f 93 push r19 113e: 4f 93 push r20 1140: 5f 93 push r21 1142: 6f 93 push r22 1144: 7f 93 push r23 1146: 8f 93 push r24 1148: 9f 93 push r25 114a: af 93 push r26 114c: bf 93 push r27 114e: ef 93 push r30 1150: ff 93 push r31 1152: e0 91 e8 21 lds r30, 0x21E8 ; 0x8021e8 1156: f0 91 e9 21 lds r31, 0x21E9 ; 0x8021e9 115a: 30 97 sbiw r30, 0x00 ; 0 115c: 09 f0 breq .+2 ; 0x1160 <__vector_47+0x42> 115e: 19 95 eicall 1160: ff 91 pop r31 1162: ef 91 pop r30 1164: bf 91 pop r27 1166: af 91 pop r26 1168: 9f 91 pop r25 116a: 8f 91 pop r24 116c: 7f 91 pop r23 116e: 6f 91 pop r22 1170: 5f 91 pop r21 1172: 4f 91 pop r20 1174: 3f 91 pop r19 1176: 2f 91 pop r18 1178: 0f 90 pop r0 117a: 0b be out 0x3b, r0 ; 59 117c: 0f 90 pop r0 117e: 09 be out 0x39, r0 ; 57 1180: 0f 90 pop r0 1182: 08 be out 0x38, r0 ; 56 1184: 0f 90 pop r0 1186: 0f be out 0x3f, r0 ; 63 1188: 0f 90 pop r0 118a: 1f 90 pop r1 118c: 18 95 reti 0000118e <__vector_48>: 118e: 1f 92 push r1 1190: 0f 92 push r0 1192: 0f b6 in r0, 0x3f ; 63 1194: 0f 92 push r0 1196: 11 24 eor r1, r1 1198: 08 b6 in r0, 0x38 ; 56 119a: 0f 92 push r0 119c: 18 be out 0x38, r1 ; 56 119e: 09 b6 in r0, 0x39 ; 57 11a0: 0f 92 push r0 11a2: 19 be out 0x39, r1 ; 57 11a4: 0b b6 in r0, 0x3b ; 59 11a6: 0f 92 push r0 11a8: 1b be out 0x3b, r1 ; 59 11aa: 2f 93 push r18 11ac: 3f 93 push r19 11ae: 4f 93 push r20 11b0: 5f 93 push r21 11b2: 6f 93 push r22 11b4: 7f 93 push r23 11b6: 8f 93 push r24 11b8: 9f 93 push r25 11ba: af 93 push r26 11bc: bf 93 push r27 11be: ef 93 push r30 11c0: ff 93 push r31 11c2: e0 91 e6 21 lds r30, 0x21E6 ; 0x8021e6 11c6: f0 91 e7 21 lds r31, 0x21E7 ; 0x8021e7 11ca: 30 97 sbiw r30, 0x00 ; 0 11cc: 09 f0 breq .+2 ; 0x11d0 <__vector_48+0x42> 11ce: 19 95 eicall 11d0: ff 91 pop r31 11d2: ef 91 pop r30 11d4: bf 91 pop r27 11d6: af 91 pop r26 11d8: 9f 91 pop r25 11da: 8f 91 pop r24 11dc: 7f 91 pop r23 11de: 6f 91 pop r22 11e0: 5f 91 pop r21 11e2: 4f 91 pop r20 11e4: 3f 91 pop r19 11e6: 2f 91 pop r18 11e8: 0f 90 pop r0 11ea: 0b be out 0x3b, r0 ; 59 11ec: 0f 90 pop r0 11ee: 09 be out 0x39, r0 ; 57 11f0: 0f 90 pop r0 11f2: 08 be out 0x38, r0 ; 56 11f4: 0f 90 pop r0 11f6: 0f be out 0x3f, r0 ; 63 11f8: 0f 90 pop r0 11fa: 1f 90 pop r1 11fc: 18 95 reti 000011fe <__vector_49>: 11fe: 1f 92 push r1 1200: 0f 92 push r0 1202: 0f b6 in r0, 0x3f ; 63 1204: 0f 92 push r0 1206: 11 24 eor r1, r1 1208: 08 b6 in r0, 0x38 ; 56 120a: 0f 92 push r0 120c: 18 be out 0x38, r1 ; 56 120e: 09 b6 in r0, 0x39 ; 57 1210: 0f 92 push r0 1212: 19 be out 0x39, r1 ; 57 1214: 0b b6 in r0, 0x3b ; 59 1216: 0f 92 push r0 1218: 1b be out 0x3b, r1 ; 59 121a: 2f 93 push r18 121c: 3f 93 push r19 121e: 4f 93 push r20 1220: 5f 93 push r21 1222: 6f 93 push r22 1224: 7f 93 push r23 1226: 8f 93 push r24 1228: 9f 93 push r25 122a: af 93 push r26 122c: bf 93 push r27 122e: ef 93 push r30 1230: ff 93 push r31 1232: e0 91 e4 21 lds r30, 0x21E4 ; 0x8021e4 1236: f0 91 e5 21 lds r31, 0x21E5 ; 0x8021e5 123a: 30 97 sbiw r30, 0x00 ; 0 123c: 09 f0 breq .+2 ; 0x1240 <__vector_49+0x42> 123e: 19 95 eicall 1240: ff 91 pop r31 1242: ef 91 pop r30 1244: bf 91 pop r27 1246: af 91 pop r26 1248: 9f 91 pop r25 124a: 8f 91 pop r24 124c: 7f 91 pop r23 124e: 6f 91 pop r22 1250: 5f 91 pop r21 1252: 4f 91 pop r20 1254: 3f 91 pop r19 1256: 2f 91 pop r18 1258: 0f 90 pop r0 125a: 0b be out 0x3b, r0 ; 59 125c: 0f 90 pop r0 125e: 09 be out 0x39, r0 ; 57 1260: 0f 90 pop r0 1262: 08 be out 0x38, r0 ; 56 1264: 0f 90 pop r0 1266: 0f be out 0x3f, r0 ; 63 1268: 0f 90 pop r0 126a: 1f 90 pop r1 126c: 18 95 reti 0000126e <__vector_50>: 126e: 1f 92 push r1 1270: 0f 92 push r0 1272: 0f b6 in r0, 0x3f ; 63 1274: 0f 92 push r0 1276: 11 24 eor r1, r1 1278: 08 b6 in r0, 0x38 ; 56 127a: 0f 92 push r0 127c: 18 be out 0x38, r1 ; 56 127e: 09 b6 in r0, 0x39 ; 57 1280: 0f 92 push r0 1282: 19 be out 0x39, r1 ; 57 1284: 0b b6 in r0, 0x3b ; 59 1286: 0f 92 push r0 1288: 1b be out 0x3b, r1 ; 59 128a: 2f 93 push r18 128c: 3f 93 push r19 128e: 4f 93 push r20 1290: 5f 93 push r21 1292: 6f 93 push r22 1294: 7f 93 push r23 1296: 8f 93 push r24 1298: 9f 93 push r25 129a: af 93 push r26 129c: bf 93 push r27 129e: ef 93 push r30 12a0: ff 93 push r31 12a2: e0 91 e2 21 lds r30, 0x21E2 ; 0x8021e2 12a6: f0 91 e3 21 lds r31, 0x21E3 ; 0x8021e3 12aa: 30 97 sbiw r30, 0x00 ; 0 12ac: 09 f0 breq .+2 ; 0x12b0 <__vector_50+0x42> 12ae: 19 95 eicall 12b0: ff 91 pop r31 12b2: ef 91 pop r30 12b4: bf 91 pop r27 12b6: af 91 pop r26 12b8: 9f 91 pop r25 12ba: 8f 91 pop r24 12bc: 7f 91 pop r23 12be: 6f 91 pop r22 12c0: 5f 91 pop r21 12c2: 4f 91 pop r20 12c4: 3f 91 pop r19 12c6: 2f 91 pop r18 12c8: 0f 90 pop r0 12ca: 0b be out 0x3b, r0 ; 59 12cc: 0f 90 pop r0 12ce: 09 be out 0x39, r0 ; 57 12d0: 0f 90 pop r0 12d2: 08 be out 0x38, r0 ; 56 12d4: 0f 90 pop r0 12d6: 0f be out 0x3f, r0 ; 63 12d8: 0f 90 pop r0 12da: 1f 90 pop r1 12dc: 18 95 reti 000012de <__vector_51>: 12de: 1f 92 push r1 12e0: 0f 92 push r0 12e2: 0f b6 in r0, 0x3f ; 63 12e4: 0f 92 push r0 12e6: 11 24 eor r1, r1 12e8: 08 b6 in r0, 0x38 ; 56 12ea: 0f 92 push r0 12ec: 18 be out 0x38, r1 ; 56 12ee: 09 b6 in r0, 0x39 ; 57 12f0: 0f 92 push r0 12f2: 19 be out 0x39, r1 ; 57 12f4: 0b b6 in r0, 0x3b ; 59 12f6: 0f 92 push r0 12f8: 1b be out 0x3b, r1 ; 59 12fa: 2f 93 push r18 12fc: 3f 93 push r19 12fe: 4f 93 push r20 1300: 5f 93 push r21 1302: 6f 93 push r22 1304: 7f 93 push r23 1306: 8f 93 push r24 1308: 9f 93 push r25 130a: af 93 push r26 130c: bf 93 push r27 130e: ef 93 push r30 1310: ff 93 push r31 1312: e0 91 e0 21 lds r30, 0x21E0 ; 0x8021e0 1316: f0 91 e1 21 lds r31, 0x21E1 ; 0x8021e1 131a: 30 97 sbiw r30, 0x00 ; 0 131c: 09 f0 breq .+2 ; 0x1320 <__vector_51+0x42> 131e: 19 95 eicall 1320: ff 91 pop r31 1322: ef 91 pop r30 1324: bf 91 pop r27 1326: af 91 pop r26 1328: 9f 91 pop r25 132a: 8f 91 pop r24 132c: 7f 91 pop r23 132e: 6f 91 pop r22 1330: 5f 91 pop r21 1332: 4f 91 pop r20 1334: 3f 91 pop r19 1336: 2f 91 pop r18 1338: 0f 90 pop r0 133a: 0b be out 0x3b, r0 ; 59 133c: 0f 90 pop r0 133e: 09 be out 0x39, r0 ; 57 1340: 0f 90 pop r0 1342: 08 be out 0x38, r0 ; 56 1344: 0f 90 pop r0 1346: 0f be out 0x3f, r0 ; 63 1348: 0f 90 pop r0 134a: 1f 90 pop r1 134c: 18 95 reti 0000134e <__vector_52>: 134e: 1f 92 push r1 1350: 0f 92 push r0 1352: 0f b6 in r0, 0x3f ; 63 1354: 0f 92 push r0 1356: 11 24 eor r1, r1 1358: 08 b6 in r0, 0x38 ; 56 135a: 0f 92 push r0 135c: 18 be out 0x38, r1 ; 56 135e: 09 b6 in r0, 0x39 ; 57 1360: 0f 92 push r0 1362: 19 be out 0x39, r1 ; 57 1364: 0b b6 in r0, 0x3b ; 59 1366: 0f 92 push r0 1368: 1b be out 0x3b, r1 ; 59 136a: 2f 93 push r18 136c: 3f 93 push r19 136e: 4f 93 push r20 1370: 5f 93 push r21 1372: 6f 93 push r22 1374: 7f 93 push r23 1376: 8f 93 push r24 1378: 9f 93 push r25 137a: af 93 push r26 137c: bf 93 push r27 137e: ef 93 push r30 1380: ff 93 push r31 1382: e0 91 de 21 lds r30, 0x21DE ; 0x8021de 1386: f0 91 df 21 lds r31, 0x21DF ; 0x8021df 138a: 30 97 sbiw r30, 0x00 ; 0 138c: 09 f0 breq .+2 ; 0x1390 <__vector_52+0x42> 138e: 19 95 eicall 1390: ff 91 pop r31 1392: ef 91 pop r30 1394: bf 91 pop r27 1396: af 91 pop r26 1398: 9f 91 pop r25 139a: 8f 91 pop r24 139c: 7f 91 pop r23 139e: 6f 91 pop r22 13a0: 5f 91 pop r21 13a2: 4f 91 pop r20 13a4: 3f 91 pop r19 13a6: 2f 91 pop r18 13a8: 0f 90 pop r0 13aa: 0b be out 0x3b, r0 ; 59 13ac: 0f 90 pop r0 13ae: 09 be out 0x39, r0 ; 57 13b0: 0f 90 pop r0 13b2: 08 be out 0x38, r0 ; 56 13b4: 0f 90 pop r0 13b6: 0f be out 0x3f, r0 ; 63 13b8: 0f 90 pop r0 13ba: 1f 90 pop r1 13bc: 18 95 reti 000013be <__vector_53>: 13be: 1f 92 push r1 13c0: 0f 92 push r0 13c2: 0f b6 in r0, 0x3f ; 63 13c4: 0f 92 push r0 13c6: 11 24 eor r1, r1 13c8: 08 b6 in r0, 0x38 ; 56 13ca: 0f 92 push r0 13cc: 18 be out 0x38, r1 ; 56 13ce: 09 b6 in r0, 0x39 ; 57 13d0: 0f 92 push r0 13d2: 19 be out 0x39, r1 ; 57 13d4: 0b b6 in r0, 0x3b ; 59 13d6: 0f 92 push r0 13d8: 1b be out 0x3b, r1 ; 59 13da: 2f 93 push r18 13dc: 3f 93 push r19 13de: 4f 93 push r20 13e0: 5f 93 push r21 13e2: 6f 93 push r22 13e4: 7f 93 push r23 13e6: 8f 93 push r24 13e8: 9f 93 push r25 13ea: af 93 push r26 13ec: bf 93 push r27 13ee: ef 93 push r30 13f0: ff 93 push r31 13f2: e0 91 dc 21 lds r30, 0x21DC ; 0x8021dc 13f6: f0 91 dd 21 lds r31, 0x21DD ; 0x8021dd 13fa: 30 97 sbiw r30, 0x00 ; 0 13fc: 09 f0 breq .+2 ; 0x1400 <__vector_53+0x42> 13fe: 19 95 eicall 1400: ff 91 pop r31 1402: ef 91 pop r30 1404: bf 91 pop r27 1406: af 91 pop r26 1408: 9f 91 pop r25 140a: 8f 91 pop r24 140c: 7f 91 pop r23 140e: 6f 91 pop r22 1410: 5f 91 pop r21 1412: 4f 91 pop r20 1414: 3f 91 pop r19 1416: 2f 91 pop r18 1418: 0f 90 pop r0 141a: 0b be out 0x3b, r0 ; 59 141c: 0f 90 pop r0 141e: 09 be out 0x39, r0 ; 57 1420: 0f 90 pop r0 1422: 08 be out 0x38, r0 ; 56 1424: 0f 90 pop r0 1426: 0f be out 0x3f, r0 ; 63 1428: 0f 90 pop r0 142a: 1f 90 pop r1 142c: 18 95 reti 0000142e <__vector_54>: 142e: 1f 92 push r1 1430: 0f 92 push r0 1432: 0f b6 in r0, 0x3f ; 63 1434: 0f 92 push r0 1436: 11 24 eor r1, r1 1438: 08 b6 in r0, 0x38 ; 56 143a: 0f 92 push r0 143c: 18 be out 0x38, r1 ; 56 143e: 09 b6 in r0, 0x39 ; 57 1440: 0f 92 push r0 1442: 19 be out 0x39, r1 ; 57 1444: 0b b6 in r0, 0x3b ; 59 1446: 0f 92 push r0 1448: 1b be out 0x3b, r1 ; 59 144a: 2f 93 push r18 144c: 3f 93 push r19 144e: 4f 93 push r20 1450: 5f 93 push r21 1452: 6f 93 push r22 1454: 7f 93 push r23 1456: 8f 93 push r24 1458: 9f 93 push r25 145a: af 93 push r26 145c: bf 93 push r27 145e: ef 93 push r30 1460: ff 93 push r31 1462: e0 91 da 21 lds r30, 0x21DA ; 0x8021da 1466: f0 91 db 21 lds r31, 0x21DB ; 0x8021db 146a: 30 97 sbiw r30, 0x00 ; 0 146c: 09 f0 breq .+2 ; 0x1470 <__vector_54+0x42> 146e: 19 95 eicall 1470: ff 91 pop r31 1472: ef 91 pop r30 1474: bf 91 pop r27 1476: af 91 pop r26 1478: 9f 91 pop r25 147a: 8f 91 pop r24 147c: 7f 91 pop r23 147e: 6f 91 pop r22 1480: 5f 91 pop r21 1482: 4f 91 pop r20 1484: 3f 91 pop r19 1486: 2f 91 pop r18 1488: 0f 90 pop r0 148a: 0b be out 0x3b, r0 ; 59 148c: 0f 90 pop r0 148e: 09 be out 0x39, r0 ; 57 1490: 0f 90 pop r0 1492: 08 be out 0x38, r0 ; 56 1494: 0f 90 pop r0 1496: 0f be out 0x3f, r0 ; 63 1498: 0f 90 pop r0 149a: 1f 90 pop r1 149c: 18 95 reti 0000149e <__vector_55>: 149e: 1f 92 push r1 14a0: 0f 92 push r0 14a2: 0f b6 in r0, 0x3f ; 63 14a4: 0f 92 push r0 14a6: 11 24 eor r1, r1 14a8: 08 b6 in r0, 0x38 ; 56 14aa: 0f 92 push r0 14ac: 18 be out 0x38, r1 ; 56 14ae: 09 b6 in r0, 0x39 ; 57 14b0: 0f 92 push r0 14b2: 19 be out 0x39, r1 ; 57 14b4: 0b b6 in r0, 0x3b ; 59 14b6: 0f 92 push r0 14b8: 1b be out 0x3b, r1 ; 59 14ba: 2f 93 push r18 14bc: 3f 93 push r19 14be: 4f 93 push r20 14c0: 5f 93 push r21 14c2: 6f 93 push r22 14c4: 7f 93 push r23 14c6: 8f 93 push r24 14c8: 9f 93 push r25 14ca: af 93 push r26 14cc: bf 93 push r27 14ce: ef 93 push r30 14d0: ff 93 push r31 14d2: e0 91 d8 21 lds r30, 0x21D8 ; 0x8021d8 14d6: f0 91 d9 21 lds r31, 0x21D9 ; 0x8021d9 14da: 30 97 sbiw r30, 0x00 ; 0 14dc: 09 f0 breq .+2 ; 0x14e0 <__vector_55+0x42> 14de: 19 95 eicall 14e0: ff 91 pop r31 14e2: ef 91 pop r30 14e4: bf 91 pop r27 14e6: af 91 pop r26 14e8: 9f 91 pop r25 14ea: 8f 91 pop r24 14ec: 7f 91 pop r23 14ee: 6f 91 pop r22 14f0: 5f 91 pop r21 14f2: 4f 91 pop r20 14f4: 3f 91 pop r19 14f6: 2f 91 pop r18 14f8: 0f 90 pop r0 14fa: 0b be out 0x3b, r0 ; 59 14fc: 0f 90 pop r0 14fe: 09 be out 0x39, r0 ; 57 1500: 0f 90 pop r0 1502: 08 be out 0x38, r0 ; 56 1504: 0f 90 pop r0 1506: 0f be out 0x3f, r0 ; 63 1508: 0f 90 pop r0 150a: 1f 90 pop r1 150c: 18 95 reti 0000150e <__vector_56>: 150e: 1f 92 push r1 1510: 0f 92 push r0 1512: 0f b6 in r0, 0x3f ; 63 1514: 0f 92 push r0 1516: 11 24 eor r1, r1 1518: 08 b6 in r0, 0x38 ; 56 151a: 0f 92 push r0 151c: 18 be out 0x38, r1 ; 56 151e: 09 b6 in r0, 0x39 ; 57 1520: 0f 92 push r0 1522: 19 be out 0x39, r1 ; 57 1524: 0b b6 in r0, 0x3b ; 59 1526: 0f 92 push r0 1528: 1b be out 0x3b, r1 ; 59 152a: 2f 93 push r18 152c: 3f 93 push r19 152e: 4f 93 push r20 1530: 5f 93 push r21 1532: 6f 93 push r22 1534: 7f 93 push r23 1536: 8f 93 push r24 1538: 9f 93 push r25 153a: af 93 push r26 153c: bf 93 push r27 153e: ef 93 push r30 1540: ff 93 push r31 1542: e0 91 d6 21 lds r30, 0x21D6 ; 0x8021d6 1546: f0 91 d7 21 lds r31, 0x21D7 ; 0x8021d7 154a: 30 97 sbiw r30, 0x00 ; 0 154c: 09 f0 breq .+2 ; 0x1550 <__vector_56+0x42> 154e: 19 95 eicall 1550: ff 91 pop r31 1552: ef 91 pop r30 1554: bf 91 pop r27 1556: af 91 pop r26 1558: 9f 91 pop r25 155a: 8f 91 pop r24 155c: 7f 91 pop r23 155e: 6f 91 pop r22 1560: 5f 91 pop r21 1562: 4f 91 pop r20 1564: 3f 91 pop r19 1566: 2f 91 pop r18 1568: 0f 90 pop r0 156a: 0b be out 0x3b, r0 ; 59 156c: 0f 90 pop r0 156e: 09 be out 0x39, r0 ; 57 1570: 0f 90 pop r0 1572: 08 be out 0x38, r0 ; 56 1574: 0f 90 pop r0 1576: 0f be out 0x3f, r0 ; 63 1578: 0f 90 pop r0 157a: 1f 90 pop r1 157c: 18 95 reti 0000157e <__vector_108>: 157e: 1f 92 push r1 1580: 0f 92 push r0 1582: 0f b6 in r0, 0x3f ; 63 1584: 0f 92 push r0 1586: 11 24 eor r1, r1 1588: 08 b6 in r0, 0x38 ; 56 158a: 0f 92 push r0 158c: 18 be out 0x38, r1 ; 56 158e: 09 b6 in r0, 0x39 ; 57 1590: 0f 92 push r0 1592: 19 be out 0x39, r1 ; 57 1594: 0b b6 in r0, 0x3b ; 59 1596: 0f 92 push r0 1598: 1b be out 0x3b, r1 ; 59 159a: 2f 93 push r18 159c: 3f 93 push r19 159e: 4f 93 push r20 15a0: 5f 93 push r21 15a2: 6f 93 push r22 15a4: 7f 93 push r23 15a6: 8f 93 push r24 15a8: 9f 93 push r25 15aa: af 93 push r26 15ac: bf 93 push r27 15ae: ef 93 push r30 15b0: ff 93 push r31 15b2: e0 91 d4 21 lds r30, 0x21D4 ; 0x8021d4 15b6: f0 91 d5 21 lds r31, 0x21D5 ; 0x8021d5 15ba: 30 97 sbiw r30, 0x00 ; 0 15bc: 09 f0 breq .+2 ; 0x15c0 <__vector_108+0x42> 15be: 19 95 eicall 15c0: ff 91 pop r31 15c2: ef 91 pop r30 15c4: bf 91 pop r27 15c6: af 91 pop r26 15c8: 9f 91 pop r25 15ca: 8f 91 pop r24 15cc: 7f 91 pop r23 15ce: 6f 91 pop r22 15d0: 5f 91 pop r21 15d2: 4f 91 pop r20 15d4: 3f 91 pop r19 15d6: 2f 91 pop r18 15d8: 0f 90 pop r0 15da: 0b be out 0x3b, r0 ; 59 15dc: 0f 90 pop r0 15de: 09 be out 0x39, r0 ; 57 15e0: 0f 90 pop r0 15e2: 08 be out 0x38, r0 ; 56 15e4: 0f 90 pop r0 15e6: 0f be out 0x3f, r0 ; 63 15e8: 0f 90 pop r0 15ea: 1f 90 pop r1 15ec: 18 95 reti 000015ee <__vector_109>: 15ee: 1f 92 push r1 15f0: 0f 92 push r0 15f2: 0f b6 in r0, 0x3f ; 63 15f4: 0f 92 push r0 15f6: 11 24 eor r1, r1 15f8: 08 b6 in r0, 0x38 ; 56 15fa: 0f 92 push r0 15fc: 18 be out 0x38, r1 ; 56 15fe: 09 b6 in r0, 0x39 ; 57 1600: 0f 92 push r0 1602: 19 be out 0x39, r1 ; 57 1604: 0b b6 in r0, 0x3b ; 59 1606: 0f 92 push r0 1608: 1b be out 0x3b, r1 ; 59 160a: 2f 93 push r18 160c: 3f 93 push r19 160e: 4f 93 push r20 1610: 5f 93 push r21 1612: 6f 93 push r22 1614: 7f 93 push r23 1616: 8f 93 push r24 1618: 9f 93 push r25 161a: af 93 push r26 161c: bf 93 push r27 161e: ef 93 push r30 1620: ff 93 push r31 1622: e0 91 d2 21 lds r30, 0x21D2 ; 0x8021d2 1626: f0 91 d3 21 lds r31, 0x21D3 ; 0x8021d3 162a: 30 97 sbiw r30, 0x00 ; 0 162c: 09 f0 breq .+2 ; 0x1630 <__vector_109+0x42> 162e: 19 95 eicall 1630: ff 91 pop r31 1632: ef 91 pop r30 1634: bf 91 pop r27 1636: af 91 pop r26 1638: 9f 91 pop r25 163a: 8f 91 pop r24 163c: 7f 91 pop r23 163e: 6f 91 pop r22 1640: 5f 91 pop r21 1642: 4f 91 pop r20 1644: 3f 91 pop r19 1646: 2f 91 pop r18 1648: 0f 90 pop r0 164a: 0b be out 0x3b, r0 ; 59 164c: 0f 90 pop r0 164e: 09 be out 0x39, r0 ; 57 1650: 0f 90 pop r0 1652: 08 be out 0x38, r0 ; 56 1654: 0f 90 pop r0 1656: 0f be out 0x3f, r0 ; 63 1658: 0f 90 pop r0 165a: 1f 90 pop r1 165c: 18 95 reti 0000165e <__vector_110>: 165e: 1f 92 push r1 1660: 0f 92 push r0 1662: 0f b6 in r0, 0x3f ; 63 1664: 0f 92 push r0 1666: 11 24 eor r1, r1 1668: 08 b6 in r0, 0x38 ; 56 166a: 0f 92 push r0 166c: 18 be out 0x38, r1 ; 56 166e: 09 b6 in r0, 0x39 ; 57 1670: 0f 92 push r0 1672: 19 be out 0x39, r1 ; 57 1674: 0b b6 in r0, 0x3b ; 59 1676: 0f 92 push r0 1678: 1b be out 0x3b, r1 ; 59 167a: 2f 93 push r18 167c: 3f 93 push r19 167e: 4f 93 push r20 1680: 5f 93 push r21 1682: 6f 93 push r22 1684: 7f 93 push r23 1686: 8f 93 push r24 1688: 9f 93 push r25 168a: af 93 push r26 168c: bf 93 push r27 168e: ef 93 push r30 1690: ff 93 push r31 1692: e0 91 d0 21 lds r30, 0x21D0 ; 0x8021d0 1696: f0 91 d1 21 lds r31, 0x21D1 ; 0x8021d1 169a: 30 97 sbiw r30, 0x00 ; 0 169c: 09 f0 breq .+2 ; 0x16a0 <__vector_110+0x42> 169e: 19 95 eicall 16a0: ff 91 pop r31 16a2: ef 91 pop r30 16a4: bf 91 pop r27 16a6: af 91 pop r26 16a8: 9f 91 pop r25 16aa: 8f 91 pop r24 16ac: 7f 91 pop r23 16ae: 6f 91 pop r22 16b0: 5f 91 pop r21 16b2: 4f 91 pop r20 16b4: 3f 91 pop r19 16b6: 2f 91 pop r18 16b8: 0f 90 pop r0 16ba: 0b be out 0x3b, r0 ; 59 16bc: 0f 90 pop r0 16be: 09 be out 0x39, r0 ; 57 16c0: 0f 90 pop r0 16c2: 08 be out 0x38, r0 ; 56 16c4: 0f 90 pop r0 16c6: 0f be out 0x3f, r0 ; 63 16c8: 0f 90 pop r0 16ca: 1f 90 pop r1 16cc: 18 95 reti 000016ce <__vector_111>: 16ce: 1f 92 push r1 16d0: 0f 92 push r0 16d2: 0f b6 in r0, 0x3f ; 63 16d4: 0f 92 push r0 16d6: 11 24 eor r1, r1 16d8: 08 b6 in r0, 0x38 ; 56 16da: 0f 92 push r0 16dc: 18 be out 0x38, r1 ; 56 16de: 09 b6 in r0, 0x39 ; 57 16e0: 0f 92 push r0 16e2: 19 be out 0x39, r1 ; 57 16e4: 0b b6 in r0, 0x3b ; 59 16e6: 0f 92 push r0 16e8: 1b be out 0x3b, r1 ; 59 16ea: 2f 93 push r18 16ec: 3f 93 push r19 16ee: 4f 93 push r20 16f0: 5f 93 push r21 16f2: 6f 93 push r22 16f4: 7f 93 push r23 16f6: 8f 93 push r24 16f8: 9f 93 push r25 16fa: af 93 push r26 16fc: bf 93 push r27 16fe: ef 93 push r30 1700: ff 93 push r31 1702: e0 91 ce 21 lds r30, 0x21CE ; 0x8021ce 1706: f0 91 cf 21 lds r31, 0x21CF ; 0x8021cf 170a: 30 97 sbiw r30, 0x00 ; 0 170c: 09 f0 breq .+2 ; 0x1710 <__vector_111+0x42> 170e: 19 95 eicall 1710: ff 91 pop r31 1712: ef 91 pop r30 1714: bf 91 pop r27 1716: af 91 pop r26 1718: 9f 91 pop r25 171a: 8f 91 pop r24 171c: 7f 91 pop r23 171e: 6f 91 pop r22 1720: 5f 91 pop r21 1722: 4f 91 pop r20 1724: 3f 91 pop r19 1726: 2f 91 pop r18 1728: 0f 90 pop r0 172a: 0b be out 0x3b, r0 ; 59 172c: 0f 90 pop r0 172e: 09 be out 0x39, r0 ; 57 1730: 0f 90 pop r0 1732: 08 be out 0x38, r0 ; 56 1734: 0f 90 pop r0 1736: 0f be out 0x3f, r0 ; 63 1738: 0f 90 pop r0 173a: 1f 90 pop r1 173c: 18 95 reti 0000173e <__vector_112>: 173e: 1f 92 push r1 1740: 0f 92 push r0 1742: 0f b6 in r0, 0x3f ; 63 1744: 0f 92 push r0 1746: 11 24 eor r1, r1 1748: 08 b6 in r0, 0x38 ; 56 174a: 0f 92 push r0 174c: 18 be out 0x38, r1 ; 56 174e: 09 b6 in r0, 0x39 ; 57 1750: 0f 92 push r0 1752: 19 be out 0x39, r1 ; 57 1754: 0b b6 in r0, 0x3b ; 59 1756: 0f 92 push r0 1758: 1b be out 0x3b, r1 ; 59 175a: 2f 93 push r18 175c: 3f 93 push r19 175e: 4f 93 push r20 1760: 5f 93 push r21 1762: 6f 93 push r22 1764: 7f 93 push r23 1766: 8f 93 push r24 1768: 9f 93 push r25 176a: af 93 push r26 176c: bf 93 push r27 176e: ef 93 push r30 1770: ff 93 push r31 1772: e0 91 cc 21 lds r30, 0x21CC ; 0x8021cc 1776: f0 91 cd 21 lds r31, 0x21CD ; 0x8021cd 177a: 30 97 sbiw r30, 0x00 ; 0 177c: 09 f0 breq .+2 ; 0x1780 <__vector_112+0x42> 177e: 19 95 eicall 1780: ff 91 pop r31 1782: ef 91 pop r30 1784: bf 91 pop r27 1786: af 91 pop r26 1788: 9f 91 pop r25 178a: 8f 91 pop r24 178c: 7f 91 pop r23 178e: 6f 91 pop r22 1790: 5f 91 pop r21 1792: 4f 91 pop r20 1794: 3f 91 pop r19 1796: 2f 91 pop r18 1798: 0f 90 pop r0 179a: 0b be out 0x3b, r0 ; 59 179c: 0f 90 pop r0 179e: 09 be out 0x39, r0 ; 57 17a0: 0f 90 pop r0 17a2: 08 be out 0x38, r0 ; 56 17a4: 0f 90 pop r0 17a6: 0f be out 0x3f, r0 ; 63 17a8: 0f 90 pop r0 17aa: 1f 90 pop r1 17ac: 18 95 reti 000017ae <__vector_113>: 17ae: 1f 92 push r1 17b0: 0f 92 push r0 17b2: 0f b6 in r0, 0x3f ; 63 17b4: 0f 92 push r0 17b6: 11 24 eor r1, r1 17b8: 08 b6 in r0, 0x38 ; 56 17ba: 0f 92 push r0 17bc: 18 be out 0x38, r1 ; 56 17be: 09 b6 in r0, 0x39 ; 57 17c0: 0f 92 push r0 17c2: 19 be out 0x39, r1 ; 57 17c4: 0b b6 in r0, 0x3b ; 59 17c6: 0f 92 push r0 17c8: 1b be out 0x3b, r1 ; 59 17ca: 2f 93 push r18 17cc: 3f 93 push r19 17ce: 4f 93 push r20 17d0: 5f 93 push r21 17d2: 6f 93 push r22 17d4: 7f 93 push r23 17d6: 8f 93 push r24 17d8: 9f 93 push r25 17da: af 93 push r26 17dc: bf 93 push r27 17de: ef 93 push r30 17e0: ff 93 push r31 17e2: e0 91 ca 21 lds r30, 0x21CA ; 0x8021ca 17e6: f0 91 cb 21 lds r31, 0x21CB ; 0x8021cb 17ea: 30 97 sbiw r30, 0x00 ; 0 17ec: 09 f0 breq .+2 ; 0x17f0 <__vector_113+0x42> 17ee: 19 95 eicall 17f0: ff 91 pop r31 17f2: ef 91 pop r30 17f4: bf 91 pop r27 17f6: af 91 pop r26 17f8: 9f 91 pop r25 17fa: 8f 91 pop r24 17fc: 7f 91 pop r23 17fe: 6f 91 pop r22 1800: 5f 91 pop r21 1802: 4f 91 pop r20 1804: 3f 91 pop r19 1806: 2f 91 pop r18 1808: 0f 90 pop r0 180a: 0b be out 0x3b, r0 ; 59 180c: 0f 90 pop r0 180e: 09 be out 0x39, r0 ; 57 1810: 0f 90 pop r0 1812: 08 be out 0x38, r0 ; 56 1814: 0f 90 pop r0 1816: 0f be out 0x3f, r0 ; 63 1818: 0f 90 pop r0 181a: 1f 90 pop r1 181c: 18 95 reti 0000181e <__vector_114>: 181e: 1f 92 push r1 1820: 0f 92 push r0 1822: 0f b6 in r0, 0x3f ; 63 1824: 0f 92 push r0 1826: 11 24 eor r1, r1 1828: 08 b6 in r0, 0x38 ; 56 182a: 0f 92 push r0 182c: 18 be out 0x38, r1 ; 56 182e: 09 b6 in r0, 0x39 ; 57 1830: 0f 92 push r0 1832: 19 be out 0x39, r1 ; 57 1834: 0b b6 in r0, 0x3b ; 59 1836: 0f 92 push r0 1838: 1b be out 0x3b, r1 ; 59 183a: 2f 93 push r18 183c: 3f 93 push r19 183e: 4f 93 push r20 1840: 5f 93 push r21 1842: 6f 93 push r22 1844: 7f 93 push r23 1846: 8f 93 push r24 1848: 9f 93 push r25 184a: af 93 push r26 184c: bf 93 push r27 184e: ef 93 push r30 1850: ff 93 push r31 1852: e0 91 c8 21 lds r30, 0x21C8 ; 0x8021c8 1856: f0 91 c9 21 lds r31, 0x21C9 ; 0x8021c9 185a: 30 97 sbiw r30, 0x00 ; 0 185c: 09 f0 breq .+2 ; 0x1860 <__vector_114+0x42> 185e: 19 95 eicall 1860: ff 91 pop r31 1862: ef 91 pop r30 1864: bf 91 pop r27 1866: af 91 pop r26 1868: 9f 91 pop r25 186a: 8f 91 pop r24 186c: 7f 91 pop r23 186e: 6f 91 pop r22 1870: 5f 91 pop r21 1872: 4f 91 pop r20 1874: 3f 91 pop r19 1876: 2f 91 pop r18 1878: 0f 90 pop r0 187a: 0b be out 0x3b, r0 ; 59 187c: 0f 90 pop r0 187e: 09 be out 0x39, r0 ; 57 1880: 0f 90 pop r0 1882: 08 be out 0x38, r0 ; 56 1884: 0f 90 pop r0 1886: 0f be out 0x3f, r0 ; 63 1888: 0f 90 pop r0 188a: 1f 90 pop r1 188c: 18 95 reti 0000188e <__vector_115>: 188e: 1f 92 push r1 1890: 0f 92 push r0 1892: 0f b6 in r0, 0x3f ; 63 1894: 0f 92 push r0 1896: 11 24 eor r1, r1 1898: 08 b6 in r0, 0x38 ; 56 189a: 0f 92 push r0 189c: 18 be out 0x38, r1 ; 56 189e: 09 b6 in r0, 0x39 ; 57 18a0: 0f 92 push r0 18a2: 19 be out 0x39, r1 ; 57 18a4: 0b b6 in r0, 0x3b ; 59 18a6: 0f 92 push r0 18a8: 1b be out 0x3b, r1 ; 59 18aa: 2f 93 push r18 18ac: 3f 93 push r19 18ae: 4f 93 push r20 18b0: 5f 93 push r21 18b2: 6f 93 push r22 18b4: 7f 93 push r23 18b6: 8f 93 push r24 18b8: 9f 93 push r25 18ba: af 93 push r26 18bc: bf 93 push r27 18be: ef 93 push r30 18c0: ff 93 push r31 18c2: e0 91 c6 21 lds r30, 0x21C6 ; 0x8021c6 18c6: f0 91 c7 21 lds r31, 0x21C7 ; 0x8021c7 18ca: 30 97 sbiw r30, 0x00 ; 0 18cc: 09 f0 breq .+2 ; 0x18d0 <__vector_115+0x42> 18ce: 19 95 eicall 18d0: ff 91 pop r31 18d2: ef 91 pop r30 18d4: bf 91 pop r27 18d6: af 91 pop r26 18d8: 9f 91 pop r25 18da: 8f 91 pop r24 18dc: 7f 91 pop r23 18de: 6f 91 pop r22 18e0: 5f 91 pop r21 18e2: 4f 91 pop r20 18e4: 3f 91 pop r19 18e6: 2f 91 pop r18 18e8: 0f 90 pop r0 18ea: 0b be out 0x3b, r0 ; 59 18ec: 0f 90 pop r0 18ee: 09 be out 0x39, r0 ; 57 18f0: 0f 90 pop r0 18f2: 08 be out 0x38, r0 ; 56 18f4: 0f 90 pop r0 18f6: 0f be out 0x3f, r0 ; 63 18f8: 0f 90 pop r0 18fa: 1f 90 pop r1 18fc: 18 95 reti 000018fe <__vector_116>: 18fe: 1f 92 push r1 1900: 0f 92 push r0 1902: 0f b6 in r0, 0x3f ; 63 1904: 0f 92 push r0 1906: 11 24 eor r1, r1 1908: 08 b6 in r0, 0x38 ; 56 190a: 0f 92 push r0 190c: 18 be out 0x38, r1 ; 56 190e: 09 b6 in r0, 0x39 ; 57 1910: 0f 92 push r0 1912: 19 be out 0x39, r1 ; 57 1914: 0b b6 in r0, 0x3b ; 59 1916: 0f 92 push r0 1918: 1b be out 0x3b, r1 ; 59 191a: 2f 93 push r18 191c: 3f 93 push r19 191e: 4f 93 push r20 1920: 5f 93 push r21 1922: 6f 93 push r22 1924: 7f 93 push r23 1926: 8f 93 push r24 1928: 9f 93 push r25 192a: af 93 push r26 192c: bf 93 push r27 192e: ef 93 push r30 1930: ff 93 push r31 1932: e0 91 c4 21 lds r30, 0x21C4 ; 0x8021c4 1936: f0 91 c5 21 lds r31, 0x21C5 ; 0x8021c5 193a: 30 97 sbiw r30, 0x00 ; 0 193c: 09 f0 breq .+2 ; 0x1940 <__vector_116+0x42> 193e: 19 95 eicall 1940: ff 91 pop r31 1942: ef 91 pop r30 1944: bf 91 pop r27 1946: af 91 pop r26 1948: 9f 91 pop r25 194a: 8f 91 pop r24 194c: 7f 91 pop r23 194e: 6f 91 pop r22 1950: 5f 91 pop r21 1952: 4f 91 pop r20 1954: 3f 91 pop r19 1956: 2f 91 pop r18 1958: 0f 90 pop r0 195a: 0b be out 0x3b, r0 ; 59 195c: 0f 90 pop r0 195e: 09 be out 0x39, r0 ; 57 1960: 0f 90 pop r0 1962: 08 be out 0x38, r0 ; 56 1964: 0f 90 pop r0 1966: 0f be out 0x3f, r0 ; 63 1968: 0f 90 pop r0 196a: 1f 90 pop r1 196c: 18 95 reti 0000196e <__vector_117>: 196e: 1f 92 push r1 1970: 0f 92 push r0 1972: 0f b6 in r0, 0x3f ; 63 1974: 0f 92 push r0 1976: 11 24 eor r1, r1 1978: 08 b6 in r0, 0x38 ; 56 197a: 0f 92 push r0 197c: 18 be out 0x38, r1 ; 56 197e: 09 b6 in r0, 0x39 ; 57 1980: 0f 92 push r0 1982: 19 be out 0x39, r1 ; 57 1984: 0b b6 in r0, 0x3b ; 59 1986: 0f 92 push r0 1988: 1b be out 0x3b, r1 ; 59 198a: 2f 93 push r18 198c: 3f 93 push r19 198e: 4f 93 push r20 1990: 5f 93 push r21 1992: 6f 93 push r22 1994: 7f 93 push r23 1996: 8f 93 push r24 1998: 9f 93 push r25 199a: af 93 push r26 199c: bf 93 push r27 199e: ef 93 push r30 19a0: ff 93 push r31 19a2: e0 91 c2 21 lds r30, 0x21C2 ; 0x8021c2 <__data_end> 19a6: f0 91 c3 21 lds r31, 0x21C3 ; 0x8021c3 <__data_end+0x1> 19aa: 30 97 sbiw r30, 0x00 ; 0 19ac: 09 f0 breq .+2 ; 0x19b0 <__vector_117+0x42> 19ae: 19 95 eicall 19b0: ff 91 pop r31 19b2: ef 91 pop r30 19b4: bf 91 pop r27 19b6: af 91 pop r26 19b8: 9f 91 pop r25 19ba: 8f 91 pop r24 19bc: 7f 91 pop r23 19be: 6f 91 pop r22 19c0: 5f 91 pop r21 19c2: 4f 91 pop r20 19c4: 3f 91 pop r19 19c6: 2f 91 pop r18 19c8: 0f 90 pop r0 19ca: 0b be out 0x3b, r0 ; 59 19cc: 0f 90 pop r0 19ce: 09 be out 0x39, r0 ; 57 19d0: 0f 90 pop r0 19d2: 08 be out 0x38, r0 ; 56 19d4: 0f 90 pop r0 19d6: 0f be out 0x3f, r0 ; 63 19d8: 0f 90 pop r0 19da: 1f 90 pop r1 19dc: 18 95 reti 000019de : 19de: 1f 93 push r17 19e0: cf 93 push r28 19e2: df 93 push r29 19e4: 1f 92 push r1 19e6: 1f 92 push r1 19e8: cd b7 in r28, 0x3d ; 61 19ea: de b7 in r29, 0x3e ; 62 19ec: 2f b7 in r18, 0x3f ; 63 19ee: 2a 83 std Y+2, r18 ; 0x02 19f0: f8 94 cli 19f2: 1a 81 ldd r17, Y+2 ; 0x02 19f4: 28 2f mov r18, r24 19f6: 39 2f mov r19, r25 19f8: 21 15 cp r18, r1 19fa: 88 e0 ldi r24, 0x08 ; 8 19fc: 38 07 cpc r19, r24 19fe: 49 f4 brne .+18 ; 0x1a12 1a00: 61 e0 ldi r22, 0x01 ; 1 1a02: 83 e0 ldi r24, 0x03 ; 3 1a04: 0e 94 59 02 call 0x4b2 ; 0x4b2 1a08: 64 e0 ldi r22, 0x04 ; 4 1a0a: 83 e0 ldi r24, 0x03 ; 3 1a0c: 0e 94 59 02 call 0x4b2 ; 0x4b2 1a10: 5c c0 rjmp .+184 ; 0x1aca 1a12: 20 34 cpi r18, 0x40 ; 64 1a14: 88 e0 ldi r24, 0x08 ; 8 1a16: 38 07 cpc r19, r24 1a18: 49 f4 brne .+18 ; 0x1a2c 1a1a: 62 e0 ldi r22, 0x02 ; 2 1a1c: 83 e0 ldi r24, 0x03 ; 3 1a1e: 0e 94 59 02 call 0x4b2 ; 0x4b2 1a22: 64 e0 ldi r22, 0x04 ; 4 1a24: 83 e0 ldi r24, 0x03 ; 3 1a26: 0e 94 59 02 call 0x4b2 ; 0x4b2 1a2a: 4f c0 rjmp .+158 ; 0x1aca 1a2c: 21 15 cp r18, r1 1a2e: 89 e0 ldi r24, 0x09 ; 9 1a30: 38 07 cpc r19, r24 1a32: 49 f4 brne .+18 ; 0x1a46 1a34: 61 e0 ldi r22, 0x01 ; 1 1a36: 84 e0 ldi r24, 0x04 ; 4 1a38: 0e 94 59 02 call 0x4b2 ; 0x4b2 1a3c: 64 e0 ldi r22, 0x04 ; 4 1a3e: 84 e0 ldi r24, 0x04 ; 4 1a40: 0e 94 59 02 call 0x4b2 ; 0x4b2 1a44: 42 c0 rjmp .+132 ; 0x1aca 1a46: 20 34 cpi r18, 0x40 ; 64 1a48: 89 e0 ldi r24, 0x09 ; 9 1a4a: 38 07 cpc r19, r24 1a4c: 49 f4 brne .+18 ; 0x1a60 1a4e: 62 e0 ldi r22, 0x02 ; 2 1a50: 84 e0 ldi r24, 0x04 ; 4 1a52: 0e 94 59 02 call 0x4b2 ; 0x4b2 1a56: 64 e0 ldi r22, 0x04 ; 4 1a58: 84 e0 ldi r24, 0x04 ; 4 1a5a: 0e 94 59 02 call 0x4b2 ; 0x4b2 1a5e: 35 c0 rjmp .+106 ; 0x1aca 1a60: 21 15 cp r18, r1 1a62: 8a e0 ldi r24, 0x0A ; 10 1a64: 38 07 cpc r19, r24 1a66: 49 f4 brne .+18 ; 0x1a7a 1a68: 61 e0 ldi r22, 0x01 ; 1 1a6a: 85 e0 ldi r24, 0x05 ; 5 1a6c: 0e 94 59 02 call 0x4b2 ; 0x4b2 1a70: 64 e0 ldi r22, 0x04 ; 4 1a72: 85 e0 ldi r24, 0x05 ; 5 1a74: 0e 94 59 02 call 0x4b2 ; 0x4b2 1a78: 28 c0 rjmp .+80 ; 0x1aca 1a7a: 20 34 cpi r18, 0x40 ; 64 1a7c: 8a e0 ldi r24, 0x0A ; 10 1a7e: 38 07 cpc r19, r24 1a80: 49 f4 brne .+18 ; 0x1a94 1a82: 62 e0 ldi r22, 0x02 ; 2 1a84: 85 e0 ldi r24, 0x05 ; 5 1a86: 0e 94 59 02 call 0x4b2 ; 0x4b2 1a8a: 64 e0 ldi r22, 0x04 ; 4 1a8c: 85 e0 ldi r24, 0x05 ; 5 1a8e: 0e 94 59 02 call 0x4b2 ; 0x4b2 1a92: 1b c0 rjmp .+54 ; 0x1aca 1a94: 21 15 cp r18, r1 1a96: 8b e0 ldi r24, 0x0B ; 11 1a98: 38 07 cpc r19, r24 1a9a: 49 f4 brne .+18 ; 0x1aae 1a9c: 61 e0 ldi r22, 0x01 ; 1 1a9e: 86 e0 ldi r24, 0x06 ; 6 1aa0: 0e 94 59 02 call 0x4b2 ; 0x4b2 1aa4: 64 e0 ldi r22, 0x04 ; 4 1aa6: 86 e0 ldi r24, 0x06 ; 6 1aa8: 0e 94 59 02 call 0x4b2 ; 0x4b2 1aac: 0e c0 rjmp .+28 ; 0x1aca 1aae: 20 34 cpi r18, 0x40 ; 64 1ab0: 3b 40 sbci r19, 0x0B ; 11 1ab2: 49 f4 brne .+18 ; 0x1ac6 1ab4: 62 e0 ldi r22, 0x02 ; 2 1ab6: 86 e0 ldi r24, 0x06 ; 6 1ab8: 0e 94 59 02 call 0x4b2 ; 0x4b2 1abc: 64 e0 ldi r22, 0x04 ; 4 1abe: 86 e0 ldi r24, 0x06 ; 6 1ac0: 0e 94 59 02 call 0x4b2 ; 0x4b2 1ac4: 02 c0 rjmp .+4 ; 0x1aca 1ac6: 1f bf out 0x3f, r17 ; 63 1ac8: 10 c0 rjmp .+32 ; 0x1aea 1aca: 80 91 32 25 lds r24, 0x2532 ; 0x802532 1ace: 8f 3f cpi r24, 0xFF ; 255 1ad0: 09 f4 brne .+2 ; 0x1ad4 1ad2: ff cf rjmp .-2 ; 0x1ad2 1ad4: 8f b7 in r24, 0x3f ; 63 1ad6: 89 83 std Y+1, r24 ; 0x01 1ad8: f8 94 cli 1ada: 99 81 ldd r25, Y+1 ; 0x01 1adc: e1 e3 ldi r30, 0x31 ; 49 1ade: f5 e2 ldi r31, 0x25 ; 37 1ae0: 81 81 ldd r24, Z+1 ; 0x01 1ae2: 8f 5f subi r24, 0xFF ; 255 1ae4: 81 83 std Z+1, r24 ; 0x01 1ae6: 9f bf out 0x3f, r25 ; 63 1ae8: 1f bf out 0x3f, r17 ; 63 1aea: 0f 90 pop r0 1aec: 0f 90 pop r0 1aee: df 91 pop r29 1af0: cf 91 pop r28 1af2: 1f 91 pop r17 1af4: 08 95 ret 00001af6 : void tc_set_overflow_interrupt_callback(volatile void *tc, tc_callback_t callback) { #ifdef TCC0 if ((uintptr_t) tc == (uintptr_t) & TCC0) { 1af6: 81 15 cp r24, r1 1af8: 28 e0 ldi r18, 0x08 ; 8 1afa: 92 07 cpc r25, r18 1afc: 29 f4 brne .+10 ; 0x1b08 tc_tcc0_ovf_callback = callback; 1afe: 60 93 0e 22 sts 0x220E, r22 ; 0x80220e 1b02: 70 93 0f 22 sts 0x220F, r23 ; 0x80220f 1b06: 08 95 ret } else #endif #ifdef TCC1 if ((uintptr_t) tc == (uintptr_t) & TCC1) { 1b08: 80 34 cpi r24, 0x40 ; 64 1b0a: 28 e0 ldi r18, 0x08 ; 8 1b0c: 92 07 cpc r25, r18 1b0e: 29 f4 brne .+10 ; 0x1b1a tc_tcc1_ovf_callback = callback; 1b10: 60 93 04 22 sts 0x2204, r22 ; 0x802204 1b14: 70 93 05 22 sts 0x2205, r23 ; 0x802205 1b18: 08 95 ret } else #endif #ifdef TCD0 if ((uintptr_t) tc == (uintptr_t) & TCD0) { 1b1a: 81 15 cp r24, r1 1b1c: 29 e0 ldi r18, 0x09 ; 9 1b1e: 92 07 cpc r25, r18 1b20: 29 f4 brne .+10 ; 0x1b2c tc_tcd0_ovf_callback = callback; 1b22: 60 93 fc 21 sts 0x21FC, r22 ; 0x8021fc 1b26: 70 93 fd 21 sts 0x21FD, r23 ; 0x8021fd 1b2a: 08 95 ret } else #endif #ifdef TCD1 if ((uintptr_t) tc == (uintptr_t) & TCD1) { 1b2c: 80 34 cpi r24, 0x40 ; 64 1b2e: 29 e0 ldi r18, 0x09 ; 9 1b30: 92 07 cpc r25, r18 1b32: 29 f4 brne .+10 ; 0x1b3e tc_tcd1_ovf_callback = callback; 1b34: 60 93 f0 21 sts 0x21F0, r22 ; 0x8021f0 1b38: 70 93 f1 21 sts 0x21F1, r23 ; 0x8021f1 1b3c: 08 95 ret } else #endif #ifdef TCE0 if ((uintptr_t) tc == (uintptr_t) & TCE0) { 1b3e: 81 15 cp r24, r1 1b40: 2a e0 ldi r18, 0x0A ; 10 1b42: 92 07 cpc r25, r18 1b44: 29 f4 brne .+10 ; 0x1b50 tc_tce0_ovf_callback = callback; 1b46: 60 93 e8 21 sts 0x21E8, r22 ; 0x8021e8 1b4a: 70 93 e9 21 sts 0x21E9, r23 ; 0x8021e9 1b4e: 08 95 ret } else #endif #ifdef TCE1 if ((uintptr_t) tc == (uintptr_t) & TCE1) { 1b50: 80 34 cpi r24, 0x40 ; 64 1b52: 2a e0 ldi r18, 0x0A ; 10 1b54: 92 07 cpc r25, r18 1b56: 29 f4 brne .+10 ; 0x1b62 tc_tce1_ovf_callback = callback; 1b58: 60 93 dc 21 sts 0x21DC, r22 ; 0x8021dc 1b5c: 70 93 dd 21 sts 0x21DD, r23 ; 0x8021dd 1b60: 08 95 ret } else #endif #ifdef TCF0 if ((uintptr_t) tc == (uintptr_t) & TCF0) { 1b62: 81 15 cp r24, r1 1b64: 2b e0 ldi r18, 0x0B ; 11 1b66: 92 07 cpc r25, r18 1b68: 29 f4 brne .+10 ; 0x1b74 tc_tcf0_ovf_callback = callback; 1b6a: 60 93 d4 21 sts 0x21D4, r22 ; 0x8021d4 1b6e: 70 93 d5 21 sts 0x21D5, r23 ; 0x8021d5 1b72: 08 95 ret } else #endif #ifdef TCF1 if ((uintptr_t) tc == (uintptr_t) & TCF1) { 1b74: 80 34 cpi r24, 0x40 ; 64 1b76: 9b 40 sbci r25, 0x0B ; 11 1b78: 21 f4 brne .+8 ; 0x1b82 tc_tcf1_ovf_callback = callback; 1b7a: 60 93 c8 21 sts 0x21C8, r22 ; 0x8021c8 1b7e: 70 93 c9 21 sts 0x21C9, r23 ; 0x8021c9 1b82: 08 95 ret 00001b84 : * \brief Common TWI master interrupt service routine. * * Check current status and calls the appropriate handler. */ static void twim_interrupt_handler(void) { 1b84: cf 93 push r28 1b86: df 93 push r29 uint8_t const master_status = transfer.bus->MASTER.STATUS; 1b88: e0 91 10 22 lds r30, 0x2210 ; 0x802210 1b8c: f0 91 11 22 lds r31, 0x2211 ; 0x802211 1b90: 84 81 ldd r24, Z+4 ; 0x04 if (master_status & TWI_MASTER_ARBLOST_bm) { 1b92: 83 ff sbrs r24, 3 1b94: 08 c0 rjmp .+16 ; 0x1ba6 transfer.bus->MASTER.STATUS = master_status | TWI_MASTER_ARBLOST_bm; 1b96: 88 60 ori r24, 0x08 ; 8 1b98: 84 83 std Z+4, r24 ; 0x04 transfer.bus->MASTER.CTRLC = TWI_MASTER_CMD_STOP_gc; 1b9a: 83 e0 ldi r24, 0x03 ; 3 1b9c: 83 83 std Z+3, r24 ; 0x03 transfer.status = ERR_BUSY; 1b9e: 86 ef ldi r24, 0xF6 ; 246 1ba0: 80 93 1a 22 sts 0x221A, r24 ; 0x80221a 1ba4: 83 c0 rjmp .+262 ; 0x1cac } else if ((master_status & TWI_MASTER_BUSERR_bm) || 1ba6: 98 2f mov r25, r24 1ba8: 94 71 andi r25, 0x14 ; 20 1baa: 31 f0 breq .+12 ; 0x1bb8 (master_status & TWI_MASTER_RXACK_bm)) { transfer.bus->MASTER.CTRLC = TWI_MASTER_CMD_STOP_gc; 1bac: 83 e0 ldi r24, 0x03 ; 3 1bae: 83 83 std Z+3, r24 ; 0x03 transfer.status = ERR_IO_ERROR; 1bb0: 8f ef ldi r24, 0xFF ; 255 1bb2: 80 93 1a 22 sts 0x221A, r24 ; 0x80221a 1bb6: 7a c0 rjmp .+244 ; 0x1cac } else if (master_status & TWI_MASTER_WIF_bm) { 1bb8: 86 ff sbrs r24, 6 1bba: 43 c0 rjmp .+134 ; 0x1c42 * Handles TWI transactions (master write) and responses to (N)ACK. */ static inline void twim_write_handler(void) { TWI_t * const bus = transfer.bus; twi_package_t * const pkg = transfer.pkg; 1bbc: c0 e1 ldi r28, 0x10 ; 16 1bbe: d2 e2 ldi r29, 0x22 ; 34 1bc0: aa 81 ldd r26, Y+2 ; 0x02 1bc2: bb 81 ldd r27, Y+3 ; 0x03 if (transfer.addr_count < pkg->addr_length) { 1bc4: 8c 81 ldd r24, Y+4 ; 0x04 1bc6: 9d 81 ldd r25, Y+5 ; 0x05 1bc8: 14 96 adiw r26, 0x04 ; 4 1bca: 2d 91 ld r18, X+ 1bcc: 3c 91 ld r19, X 1bce: 15 97 sbiw r26, 0x05 ; 5 1bd0: 82 17 cp r24, r18 1bd2: 93 07 cpc r25, r19 1bd4: 6c f4 brge .+26 ; 0x1bf0 const uint8_t * const data = pkg->addr; bus->MASTER.DATA = data[transfer.addr_count++]; 1bd6: 9c 01 movw r18, r24 1bd8: 2f 5f subi r18, 0xFF ; 255 1bda: 3f 4f sbci r19, 0xFF ; 255 1bdc: 20 93 14 22 sts 0x2214, r18 ; 0x802214 1be0: 30 93 15 22 sts 0x2215, r19 ; 0x802215 1be4: a8 0f add r26, r24 1be6: b9 1f adc r27, r25 1be8: 11 96 adiw r26, 0x01 ; 1 1bea: 8c 91 ld r24, X 1bec: 87 83 std Z+7, r24 ; 0x07 1bee: 5e c0 rjmp .+188 ; 0x1cac } else if (transfer.data_count < pkg->length) { 1bf0: 80 91 16 22 lds r24, 0x2216 ; 0x802216 1bf4: 90 91 17 22 lds r25, 0x2217 ; 0x802217 1bf8: 18 96 adiw r26, 0x08 ; 8 1bfa: 2d 91 ld r18, X+ 1bfc: 3c 91 ld r19, X 1bfe: 19 97 sbiw r26, 0x09 ; 9 1c00: 82 17 cp r24, r18 1c02: 93 07 cpc r25, r19 1c04: c8 f4 brcc .+50 ; 0x1c38 if (transfer.read) { 1c06: 20 91 18 22 lds r18, 0x2218 ; 0x802218 1c0a: 22 23 and r18, r18 1c0c: 21 f0 breq .+8 ; 0x1c16 /* Send repeated START condition (Address|R/W=1). */ bus->MASTER.ADDR |= 0x01; 1c0e: 86 81 ldd r24, Z+6 ; 0x06 1c10: 81 60 ori r24, 0x01 ; 1 1c12: 86 83 std Z+6, r24 ; 0x06 1c14: 4b c0 rjmp .+150 ; 0x1cac } else { const uint8_t * const data = pkg->buffer; 1c16: 16 96 adiw r26, 0x06 ; 6 1c18: 2d 91 ld r18, X+ 1c1a: 3c 91 ld r19, X 1c1c: 17 97 sbiw r26, 0x07 ; 7 bus->MASTER.DATA = data[transfer.data_count++]; 1c1e: ac 01 movw r20, r24 1c20: 4f 5f subi r20, 0xFF ; 255 1c22: 5f 4f sbci r21, 0xFF ; 255 1c24: 40 93 16 22 sts 0x2216, r20 ; 0x802216 1c28: 50 93 17 22 sts 0x2217, r21 ; 0x802217 1c2c: d9 01 movw r26, r18 1c2e: a8 0f add r26, r24 1c30: b9 1f adc r27, r25 1c32: 8c 91 ld r24, X 1c34: 87 83 std Z+7, r24 ; 0x07 1c36: 3a c0 rjmp .+116 ; 0x1cac } else { /* Send STOP condition to complete the transaction. */ bus->MASTER.CTRLC = TWI_MASTER_CMD_STOP_gc; 1c38: 83 e0 ldi r24, 0x03 ; 3 1c3a: 83 83 std Z+3, r24 ; 0x03 transfer.status = STATUS_OK; 1c3c: 10 92 1a 22 sts 0x221A, r1 ; 0x80221a 1c40: 35 c0 rjmp .+106 ; 0x1cac } else if (master_status & TWI_MASTER_WIF_bm) { twim_write_handler(); } else if (master_status & TWI_MASTER_RIF_bm) { 1c42: 88 23 and r24, r24 1c44: 84 f5 brge .+96 ; 0x1ca6 * reading bytes from the TWI slave. */ static inline void twim_read_handler(void) { TWI_t * const bus = transfer.bus; twi_package_t * const pkg = transfer.pkg; 1c46: a0 e1 ldi r26, 0x10 ; 16 1c48: b2 e2 ldi r27, 0x22 ; 34 1c4a: 12 96 adiw r26, 0x02 ; 2 1c4c: cd 91 ld r28, X+ 1c4e: dc 91 ld r29, X 1c50: 13 97 sbiw r26, 0x03 ; 3 if (transfer.data_count < pkg->length) { 1c52: 16 96 adiw r26, 0x06 ; 6 1c54: 8d 91 ld r24, X+ 1c56: 9c 91 ld r25, X 1c58: 17 97 sbiw r26, 0x07 ; 7 1c5a: 28 85 ldd r18, Y+8 ; 0x08 1c5c: 39 85 ldd r19, Y+9 ; 0x09 1c5e: 82 17 cp r24, r18 1c60: 93 07 cpc r25, r19 1c62: d8 f4 brcc .+54 ; 0x1c9a uint8_t * const data = pkg->buffer; 1c64: 6e 81 ldd r22, Y+6 ; 0x06 1c66: 7f 81 ldd r23, Y+7 ; 0x07 data[transfer.data_count++] = bus->MASTER.DATA; 1c68: 9c 01 movw r18, r24 1c6a: 2f 5f subi r18, 0xFF ; 255 1c6c: 3f 4f sbci r19, 0xFF ; 255 1c6e: 20 93 16 22 sts 0x2216, r18 ; 0x802216 1c72: 30 93 17 22 sts 0x2217, r19 ; 0x802217 1c76: 47 81 ldd r20, Z+7 ; 0x07 1c78: db 01 movw r26, r22 1c7a: a8 0f add r26, r24 1c7c: b9 1f adc r27, r25 1c7e: 4c 93 st X, r20 /* If there is more to read, issue ACK and start a byte read. * Otherwise, issue NACK and STOP to complete the transaction. */ if (transfer.data_count < pkg->length) { 1c80: 88 85 ldd r24, Y+8 ; 0x08 1c82: 99 85 ldd r25, Y+9 ; 0x09 1c84: 28 17 cp r18, r24 1c86: 39 07 cpc r19, r25 1c88: 18 f4 brcc .+6 ; 0x1c90 bus->MASTER.CTRLC = TWI_MASTER_CMD_RECVTRANS_gc; 1c8a: 82 e0 ldi r24, 0x02 ; 2 1c8c: 83 83 std Z+3, r24 ; 0x03 1c8e: 0e c0 rjmp .+28 ; 0x1cac } else { bus->MASTER.CTRLC = TWI_MASTER_ACKACT_bm | TWI_MASTER_CMD_STOP_gc; 1c90: 87 e0 ldi r24, 0x07 ; 7 1c92: 83 83 std Z+3, r24 ; 0x03 transfer.status = STATUS_OK; 1c94: 10 92 1a 22 sts 0x221A, r1 ; 0x80221a 1c98: 09 c0 rjmp .+18 ; 0x1cac } else { /* Issue STOP and buffer overflow condition. */ bus->MASTER.CTRLC = TWI_MASTER_CMD_STOP_gc; 1c9a: 83 e0 ldi r24, 0x03 ; 3 1c9c: 83 83 std Z+3, r24 ; 0x03 transfer.status = ERR_NO_MEMORY; 1c9e: 89 ef ldi r24, 0xF9 ; 249 1ca0: 80 93 1a 22 sts 0x221A, r24 ; 0x80221a 1ca4: 03 c0 rjmp .+6 ; 0x1cac twim_read_handler(); } else { transfer.status = ERR_PROTOCOL; 1ca6: 8b ef ldi r24, 0xFB ; 251 1ca8: 80 93 1a 22 sts 0x221A, r24 ; 0x80221a } } 1cac: df 91 pop r29 1cae: cf 91 pop r28 1cb0: 08 95 ret 00001cb2 <__vector_13>: * parameters specified in the global \c transfer structure. */ static void twim_interrupt_handler(void); #ifdef TWIC ISR(TWIC_TWIM_vect) { twim_interrupt_handler(); } 1cb2: 1f 92 push r1 1cb4: 0f 92 push r0 1cb6: 0f b6 in r0, 0x3f ; 63 1cb8: 0f 92 push r0 1cba: 11 24 eor r1, r1 1cbc: 08 b6 in r0, 0x38 ; 56 1cbe: 0f 92 push r0 1cc0: 18 be out 0x38, r1 ; 56 1cc2: 09 b6 in r0, 0x39 ; 57 1cc4: 0f 92 push r0 1cc6: 19 be out 0x39, r1 ; 57 1cc8: 0b b6 in r0, 0x3b ; 59 1cca: 0f 92 push r0 1ccc: 1b be out 0x3b, r1 ; 59 1cce: 2f 93 push r18 1cd0: 3f 93 push r19 1cd2: 4f 93 push r20 1cd4: 5f 93 push r21 1cd6: 6f 93 push r22 1cd8: 7f 93 push r23 1cda: 8f 93 push r24 1cdc: 9f 93 push r25 1cde: af 93 push r26 1ce0: bf 93 push r27 1ce2: ef 93 push r30 1ce4: ff 93 push r31 1ce6: 4e df rcall .-356 ; 0x1b84 1ce8: ff 91 pop r31 1cea: ef 91 pop r30 1cec: bf 91 pop r27 1cee: af 91 pop r26 1cf0: 9f 91 pop r25 1cf2: 8f 91 pop r24 1cf4: 7f 91 pop r23 1cf6: 6f 91 pop r22 1cf8: 5f 91 pop r21 1cfa: 4f 91 pop r20 1cfc: 3f 91 pop r19 1cfe: 2f 91 pop r18 1d00: 0f 90 pop r0 1d02: 0b be out 0x3b, r0 ; 59 1d04: 0f 90 pop r0 1d06: 09 be out 0x39, r0 ; 57 1d08: 0f 90 pop r0 1d0a: 08 be out 0x38, r0 ; 56 1d0c: 0f 90 pop r0 1d0e: 0f be out 0x3f, r0 ; 63 1d10: 0f 90 pop r0 1d12: 1f 90 pop r1 1d14: 18 95 reti 00001d16 <__vector_76>: #endif #ifdef TWID ISR(TWID_TWIM_vect) { twim_interrupt_handler(); } 1d16: 1f 92 push r1 1d18: 0f 92 push r0 1d1a: 0f b6 in r0, 0x3f ; 63 1d1c: 0f 92 push r0 1d1e: 11 24 eor r1, r1 1d20: 08 b6 in r0, 0x38 ; 56 1d22: 0f 92 push r0 1d24: 18 be out 0x38, r1 ; 56 1d26: 09 b6 in r0, 0x39 ; 57 1d28: 0f 92 push r0 1d2a: 19 be out 0x39, r1 ; 57 1d2c: 0b b6 in r0, 0x3b ; 59 1d2e: 0f 92 push r0 1d30: 1b be out 0x3b, r1 ; 59 1d32: 2f 93 push r18 1d34: 3f 93 push r19 1d36: 4f 93 push r20 1d38: 5f 93 push r21 1d3a: 6f 93 push r22 1d3c: 7f 93 push r23 1d3e: 8f 93 push r24 1d40: 9f 93 push r25 1d42: af 93 push r26 1d44: bf 93 push r27 1d46: ef 93 push r30 1d48: ff 93 push r31 1d4a: 1c df rcall .-456 ; 0x1b84 1d4c: ff 91 pop r31 1d4e: ef 91 pop r30 1d50: bf 91 pop r27 1d52: af 91 pop r26 1d54: 9f 91 pop r25 1d56: 8f 91 pop r24 1d58: 7f 91 pop r23 1d5a: 6f 91 pop r22 1d5c: 5f 91 pop r21 1d5e: 4f 91 pop r20 1d60: 3f 91 pop r19 1d62: 2f 91 pop r18 1d64: 0f 90 pop r0 1d66: 0b be out 0x3b, r0 ; 59 1d68: 0f 90 pop r0 1d6a: 09 be out 0x39, r0 ; 57 1d6c: 0f 90 pop r0 1d6e: 08 be out 0x38, r0 ; 56 1d70: 0f 90 pop r0 1d72: 0f be out 0x3f, r0 ; 63 1d74: 0f 90 pop r0 1d76: 1f 90 pop r1 1d78: 18 95 reti 00001d7a <__vector_46>: #endif #ifdef TWIE ISR(TWIE_TWIM_vect) { twim_interrupt_handler(); } 1d7a: 1f 92 push r1 1d7c: 0f 92 push r0 1d7e: 0f b6 in r0, 0x3f ; 63 1d80: 0f 92 push r0 1d82: 11 24 eor r1, r1 1d84: 08 b6 in r0, 0x38 ; 56 1d86: 0f 92 push r0 1d88: 18 be out 0x38, r1 ; 56 1d8a: 09 b6 in r0, 0x39 ; 57 1d8c: 0f 92 push r0 1d8e: 19 be out 0x39, r1 ; 57 1d90: 0b b6 in r0, 0x3b ; 59 1d92: 0f 92 push r0 1d94: 1b be out 0x3b, r1 ; 59 1d96: 2f 93 push r18 1d98: 3f 93 push r19 1d9a: 4f 93 push r20 1d9c: 5f 93 push r21 1d9e: 6f 93 push r22 1da0: 7f 93 push r23 1da2: 8f 93 push r24 1da4: 9f 93 push r25 1da6: af 93 push r26 1da8: bf 93 push r27 1daa: ef 93 push r30 1dac: ff 93 push r31 1dae: ea de rcall .-556 ; 0x1b84 1db0: ff 91 pop r31 1db2: ef 91 pop r30 1db4: bf 91 pop r27 1db6: af 91 pop r26 1db8: 9f 91 pop r25 1dba: 8f 91 pop r24 1dbc: 7f 91 pop r23 1dbe: 6f 91 pop r22 1dc0: 5f 91 pop r21 1dc2: 4f 91 pop r20 1dc4: 3f 91 pop r19 1dc6: 2f 91 pop r18 1dc8: 0f 90 pop r0 1dca: 0b be out 0x3b, r0 ; 59 1dcc: 0f 90 pop r0 1dce: 09 be out 0x39, r0 ; 57 1dd0: 0f 90 pop r0 1dd2: 08 be out 0x38, r0 ; 56 1dd4: 0f 90 pop r0 1dd6: 0f be out 0x3f, r0 ; 63 1dd8: 0f 90 pop r0 1dda: 1f 90 pop r1 1ddc: 18 95 reti 00001dde <__vector_107>: #endif #ifdef TWIF ISR(TWIF_TWIM_vect) { twim_interrupt_handler(); } 1dde: 1f 92 push r1 1de0: 0f 92 push r0 1de2: 0f b6 in r0, 0x3f ; 63 1de4: 0f 92 push r0 1de6: 11 24 eor r1, r1 1de8: 08 b6 in r0, 0x38 ; 56 1dea: 0f 92 push r0 1dec: 18 be out 0x38, r1 ; 56 1dee: 09 b6 in r0, 0x39 ; 57 1df0: 0f 92 push r0 1df2: 19 be out 0x39, r1 ; 57 1df4: 0b b6 in r0, 0x3b ; 59 1df6: 0f 92 push r0 1df8: 1b be out 0x3b, r1 ; 59 1dfa: 2f 93 push r18 1dfc: 3f 93 push r19 1dfe: 4f 93 push r20 1e00: 5f 93 push r21 1e02: 6f 93 push r22 1e04: 7f 93 push r23 1e06: 8f 93 push r24 1e08: 9f 93 push r25 1e0a: af 93 push r26 1e0c: bf 93 push r27 1e0e: ef 93 push r30 1e10: ff 93 push r31 1e12: b8 de rcall .-656 ; 0x1b84 1e14: ff 91 pop r31 1e16: ef 91 pop r30 1e18: bf 91 pop r27 1e1a: af 91 pop r26 1e1c: 9f 91 pop r25 1e1e: 8f 91 pop r24 1e20: 7f 91 pop r23 1e22: 6f 91 pop r22 1e24: 5f 91 pop r21 1e26: 4f 91 pop r20 1e28: 3f 91 pop r19 1e2a: 2f 91 pop r18 1e2c: 0f 90 pop r0 1e2e: 0b be out 0x3b, r0 ; 59 1e30: 0f 90 pop r0 1e32: 09 be out 0x39, r0 ; 57 1e34: 0f 90 pop r0 1e36: 08 be out 0x38, r0 ; 56 1e38: 0f 90 pop r0 1e3a: 0f be out 0x3f, r0 ; 63 1e3c: 0f 90 pop r0 1e3e: 1f 90 pop r1 1e40: 18 95 reti 00001e42 : * (see \ref twi_options_t) * \retval STATUS_OK Transaction is successful * \retval ERR_INVALID_ARG Invalid arguments in \c opt. */ status_code_t twi_master_init(TWI_t *twi, const twi_options_t *opt) { 1e42: fc 01 movw r30, r24 uint8_t const ctrla = CONF_TWIM_INTLVL | TWI_MASTER_RIEN_bm | TWI_MASTER_WIEN_bm | TWI_MASTER_ENABLE_bm; twi->MASTER.BAUD = opt->speed_reg; 1e44: db 01 movw r26, r22 1e46: 14 96 adiw r26, 0x04 ; 4 1e48: 8c 91 ld r24, X 1e4a: 85 83 std Z+5, r24 ; 0x05 twi->MASTER.CTRLA = ctrla; 1e4c: 88 eb ldi r24, 0xB8 ; 184 1e4e: 81 83 std Z+1, r24 ; 0x01 twi->MASTER.STATUS = TWI_MASTER_BUSSTATE_IDLE_gc; 1e50: 81 e0 ldi r24, 0x01 ; 1 1e52: 84 83 std Z+4, r24 ; 0x04 transfer.locked = false; 1e54: e0 e1 ldi r30, 0x10 ; 16 1e56: f2 e2 ldi r31, 0x22 ; 34 1e58: 11 86 std Z+9, r1 ; 0x09 transfer.status = STATUS_OK; 1e5a: 12 86 std Z+10, r1 ; 0x0a /* Enable configured PMIC interrupt level. */ PMIC.CTRL |= CONF_PMIC_INTLVL; 1e5c: e0 ea ldi r30, 0xA0 ; 160 1e5e: f0 e0 ldi r31, 0x00 ; 0 1e60: 82 81 ldd r24, Z+2 ; 0x02 1e62: 82 60 ori r24, 0x02 ; 2 1e64: 82 83 std Z+2, r24 ; 0x02 cpu_irq_enable(); 1e66: 78 94 sei return STATUS_OK; } 1e68: 80 e0 ldi r24, 0x00 ; 0 1e6a: 08 95 ret 00001e6c : * - ERR_PROTOCOL to indicate an unexpected bus state * - ERR_INVALID_ARG to indicate invalid arguments. */ status_code_t twi_master_transfer(TWI_t *twi, const twi_package_t *package, bool read) { 1e6c: cf 93 push r28 1e6e: df 93 push r29 1e70: 1f 92 push r1 1e72: cd b7 in r28, 0x3d ; 61 1e74: de b7 in r29, 0x3e ; 62 1e76: 9c 01 movw r18, r24 1e78: fb 01 movw r30, r22 /* Do a sanity check on the arguments. */ if ((twi == NULL) || (package == NULL)) { 1e7a: 89 2b or r24, r25 1e7c: 09 f4 brne .+2 ; 0x1e80 1e7e: 51 c0 rjmp .+162 ; 0x1f22 1e80: 30 97 sbiw r30, 0x00 ; 0 1e82: 09 f4 brne .+2 ; 0x1e86 1e84: 50 c0 rjmp .+160 ; 0x1f26 return ERR_INVALID_ARG; } /* Initiate a transaction when the bus is ready. */ status_code_t status = twim_acquire(package->no_wait); 1e86: 92 85 ldd r25, Z+10 ; 0x0a * * \return STATUS_OK if the bus is acquired, else ERR_BUSY. */ static inline status_code_t twim_acquire(bool no_wait) { while (transfer.locked) { 1e88: 80 91 19 22 lds r24, 0x2219 ; 0x802219 1e8c: 88 23 and r24, r24 1e8e: 19 f0 breq .+6 ; 0x1e96 if (no_wait) { return ERR_BUSY; } 1e90: 99 23 and r25, r25 1e92: f1 f3 breq .-4 ; 0x1e90 1e94: 4a c0 rjmp .+148 ; 0x1f2a typedef uint8_t irqflags_t; static inline irqflags_t cpu_irq_save(void) { volatile irqflags_t flags = SREG; 1e96: 8f b7 in r24, 0x3f ; 63 1e98: 89 83 std Y+1, r24 ; 0x01 cpu_irq_disable(); 1e9a: f8 94 cli return flags; 1e9c: 89 81 ldd r24, Y+1 ; 0x01 } irqflags_t const flags = cpu_irq_save (); transfer.locked = true; 1e9e: a0 e1 ldi r26, 0x10 ; 16 1ea0: b2 e2 ldi r27, 0x22 ; 34 1ea2: 91 e0 ldi r25, 0x01 ; 1 1ea4: 19 96 adiw r26, 0x09 ; 9 1ea6: 9c 93 st X, r25 1ea8: 19 97 sbiw r26, 0x09 ; 9 transfer.status = OPERATION_IN_PROGRESS; 1eaa: 90 e8 ldi r25, 0x80 ; 128 1eac: 1a 96 adiw r26, 0x0a ; 10 1eae: 9c 93 st X, r25 1eb0: 1a 97 sbiw r26, 0x0a ; 10 } static inline void cpu_irq_restore(irqflags_t flags) { barrier(); SREG = flags; 1eb2: 8f bf out 0x3f, r24 ; 63 /* Initiate a transaction when the bus is ready. */ status_code_t status = twim_acquire(package->no_wait); if (STATUS_OK == status) { transfer.bus = (TWI_t *) twi; 1eb4: 2d 93 st X+, r18 1eb6: 3c 93 st X, r19 1eb8: 11 97 sbiw r26, 0x01 ; 1 transfer.pkg = (twi_package_t *) package; 1eba: 12 96 adiw r26, 0x02 ; 2 1ebc: 6d 93 st X+, r22 1ebe: 7c 93 st X, r23 1ec0: 13 97 sbiw r26, 0x03 ; 3 transfer.addr_count = 0; 1ec2: 14 96 adiw r26, 0x04 ; 4 1ec4: 1d 92 st X+, r1 1ec6: 1c 92 st X, r1 1ec8: 15 97 sbiw r26, 0x05 ; 5 transfer.data_count = 0; 1eca: 16 96 adiw r26, 0x06 ; 6 1ecc: 1d 92 st X+, r1 1ece: 1c 92 st X, r1 1ed0: 17 97 sbiw r26, 0x07 ; 7 transfer.read = read; 1ed2: 18 96 adiw r26, 0x08 ; 8 1ed4: 4c 93 st X, r20 uint8_t const chip = (package->chip) << 1; 1ed6: 80 81 ld r24, Z 1ed8: 88 0f add r24, r24 if (package->addr_length || (false == read)) { 1eda: 64 81 ldd r22, Z+4 ; 0x04 1edc: 75 81 ldd r23, Z+5 ; 0x05 1ede: 67 2b or r22, r23 1ee0: 11 f4 brne .+4 ; 0x1ee6 1ee2: 41 11 cpse r20, r1 1ee4: 03 c0 rjmp .+6 ; 0x1eec transfer.bus->MASTER.ADDR = chip; 1ee6: f9 01 movw r30, r18 1ee8: 86 83 std Z+6, r24 ; 0x06 1eea: 03 c0 rjmp .+6 ; 0x1ef2 } else if (read) { transfer.bus->MASTER.ADDR = chip | 0x01; 1eec: 81 60 ori r24, 0x01 ; 1 1eee: f9 01 movw r30, r18 1ef0: 86 83 std Z+6, r24 ; 0x06 { /* First wait for the driver event handler to indicate something * other than a transfer in-progress, then test the bus interface * for an Idle bus state. */ while (OPERATION_IN_PROGRESS == transfer.status); 1ef2: e0 e1 ldi r30, 0x10 ; 16 1ef4: f2 e2 ldi r31, 0x22 ; 34 1ef6: 92 85 ldd r25, Z+10 ; 0x0a 1ef8: 90 38 cpi r25, 0x80 ; 128 1efa: e9 f3 breq .-6 ; 0x1ef6 * \retval false The bus is currently busy. */ static inline bool twim_idle (const TWI_t * twi) { return ((twi->MASTER.STATUS & TWI_MASTER_BUSSTATE_gm) 1efc: f9 01 movw r30, r18 1efe: 84 81 ldd r24, Z+4 ; 0x04 * other than a transfer in-progress, then test the bus interface * for an Idle bus state. */ while (OPERATION_IN_PROGRESS == transfer.status); while (! twim_idle(transfer.bus)) { barrier(); } 1f00: 83 70 andi r24, 0x03 ; 3 1f02: 81 30 cpi r24, 0x01 ; 1 1f04: 49 f0 breq .+18 ; 0x1f18 1f06: a0 e1 ldi r26, 0x10 ; 16 1f08: b2 e2 ldi r27, 0x22 ; 34 1f0a: ed 91 ld r30, X+ 1f0c: fc 91 ld r31, X 1f0e: 11 97 sbiw r26, 0x01 ; 1 * \retval false The bus is currently busy. */ static inline bool twim_idle (const TWI_t * twi) { return ((twi->MASTER.STATUS & TWI_MASTER_BUSSTATE_gm) 1f10: 84 81 ldd r24, Z+4 ; 0x04 * other than a transfer in-progress, then test the bus interface * for an Idle bus state. */ while (OPERATION_IN_PROGRESS == transfer.status); while (! twim_idle(transfer.bus)) { barrier(); } 1f12: 83 70 andi r24, 0x03 ; 3 1f14: 81 30 cpi r24, 0x01 ; 1 1f16: c9 f7 brne .-14 ; 0x1f0a status_code_t const status = transfer.status; 1f18: e0 e1 ldi r30, 0x10 ; 16 1f1a: f2 e2 ldi r31, 0x22 ; 34 1f1c: 82 85 ldd r24, Z+10 ; 0x0a transfer.locked = false; 1f1e: 11 86 std Z+9, r1 ; 0x09 1f20: 05 c0 rjmp .+10 ; 0x1f2c const twi_package_t *package, bool read) { /* Do a sanity check on the arguments. */ if ((twi == NULL) || (package == NULL)) { return ERR_INVALID_ARG; 1f22: 88 ef ldi r24, 0xF8 ; 248 1f24: 03 c0 rjmp .+6 ; 0x1f2c 1f26: 88 ef ldi r24, 0xF8 ; 248 1f28: 01 c0 rjmp .+2 ; 0x1f2c */ static inline status_code_t twim_acquire(bool no_wait) { while (transfer.locked) { if (no_wait) { return ERR_BUSY; } 1f2a: 86 ef ldi r24, 0xF6 ; 246 status = twim_release(); } return status; } 1f2c: 0f 90 pop r0 1f2e: df 91 pop r29 1f30: cf 91 pop r28 1f32: 08 95 ret 00001f34 : if (baud_offset != USART_BAUD_UNDEFINED) { (usart)->BAUDCTRLB = (uint8_t)((uint16_t)baudctrl); (usart)->BAUDCTRLA = (uint8_t)((uint16_t)baudctrl >> 8); } } 1f34: fc 01 movw r30, r24 1f36: 91 81 ldd r25, Z+1 ; 0x01 1f38: 95 ff sbrs r25, 5 1f3a: fd cf rjmp .-6 ; 0x1f36 1f3c: 60 83 st Z, r22 1f3e: 80 e0 ldi r24, 0x00 ; 0 1f40: 90 e0 ldi r25, 0x00 ; 0 1f42: 08 95 ret 00001f44 : 1f44: fc 01 movw r30, r24 1f46: 91 81 ldd r25, Z+1 ; 0x01 1f48: 99 23 and r25, r25 1f4a: ec f7 brge .-6 ; 0x1f46 1f4c: 80 81 ld r24, Z 1f4e: 08 95 ret 00001f50 : * \retval true if the hardware supports the baud rate * \retval false if the hardware does not support the baud rate (i.e. it's * either too high or too low.) */ bool usart_set_baudrate(USART_t *usart, uint32_t baud, uint32_t cpu_hz) { 1f50: 4f 92 push r4 1f52: 5f 92 push r5 1f54: 6f 92 push r6 1f56: 7f 92 push r7 1f58: 8f 92 push r8 1f5a: 9f 92 push r9 1f5c: af 92 push r10 1f5e: bf 92 push r11 1f60: ef 92 push r14 1f62: ff 92 push r15 1f64: 0f 93 push r16 1f66: 1f 93 push r17 1f68: cf 93 push r28 1f6a: 7c 01 movw r14, r24 1f6c: 4a 01 movw r8, r20 1f6e: 5b 01 movw r10, r22 1f70: 28 01 movw r4, r16 1f72: 39 01 movw r6, r18 /* 8 = (2^0) * 8 * (2^0) = (2^BSCALE_MIN) * 8 * (BSEL_MIN) */ max_rate = cpu_hz / 8; /* 4194304 = (2^7) * 8 * (2^12) = (2^BSCALE_MAX) * 8 * (BSEL_MAX+1) */ min_rate = cpu_hz / 4194304; if (!((usart)->CTRLB & USART_CLK2X_bm)) { 1f74: fc 01 movw r30, r24 1f76: 84 81 ldd r24, Z+4 ; 0x04 1f78: 82 ff sbrs r24, 2 1f7a: 16 c0 rjmp .+44 ; 0x1fa8 /* * Check if the hardware supports the given baud rate */ /* 8 = (2^0) * 8 * (2^0) = (2^BSCALE_MIN) * 8 * (BSEL_MIN) */ max_rate = cpu_hz / 8; 1f7c: d9 01 movw r26, r18 1f7e: c8 01 movw r24, r16 1f80: 68 94 set 1f82: 12 f8 bld r1, 2 1f84: b6 95 lsr r27 1f86: a7 95 ror r26 1f88: 97 95 ror r25 1f8a: 87 95 ror r24 1f8c: 16 94 lsr r1 1f8e: d1 f7 brne .-12 ; 0x1f84 /* 4194304 = (2^7) * 8 * (2^12) = (2^BSCALE_MAX) * 8 * (BSEL_MAX+1) */ min_rate = cpu_hz / 4194304; 1f90: b9 01 movw r22, r18 1f92: a8 01 movw r20, r16 1f94: 03 2e mov r0, r19 1f96: 36 e1 ldi r19, 0x16 ; 22 1f98: 76 95 lsr r23 1f9a: 67 95 ror r22 1f9c: 57 95 ror r21 1f9e: 47 95 ror r20 1fa0: 3a 95 dec r19 1fa2: d1 f7 brne .-12 ; 0x1f98 1fa4: 30 2d mov r19, r0 1fa6: 15 c0 rjmp .+42 ; 0x1fd2 if (!((usart)->CTRLB & USART_CLK2X_bm)) { max_rate /= 2; 1fa8: d9 01 movw r26, r18 1faa: c8 01 movw r24, r16 1fac: 68 94 set 1fae: 13 f8 bld r1, 3 1fb0: b6 95 lsr r27 1fb2: a7 95 ror r26 1fb4: 97 95 ror r25 1fb6: 87 95 ror r24 1fb8: 16 94 lsr r1 1fba: d1 f7 brne .-12 ; 0x1fb0 min_rate /= 2; 1fbc: b9 01 movw r22, r18 1fbe: a8 01 movw r20, r16 1fc0: 03 2e mov r0, r19 1fc2: 37 e1 ldi r19, 0x17 ; 23 1fc4: 76 95 lsr r23 1fc6: 67 95 ror r22 1fc8: 57 95 ror r21 1fca: 47 95 ror r20 1fcc: 3a 95 dec r19 1fce: d1 f7 brne .-12 ; 0x1fc4 1fd0: 30 2d mov r19, r0 } if ((baud > max_rate) || (baud < min_rate)) { 1fd2: 88 15 cp r24, r8 1fd4: 99 05 cpc r25, r9 1fd6: aa 05 cpc r26, r10 1fd8: bb 05 cpc r27, r11 1fda: 08 f4 brcc .+2 ; 0x1fde 1fdc: a6 c0 rjmp .+332 ; 0x212a 1fde: 84 16 cp r8, r20 1fe0: 95 06 cpc r9, r21 1fe2: a6 06 cpc r10, r22 1fe4: b7 06 cpc r11, r23 1fe6: 08 f4 brcc .+2 ; 0x1fea 1fe8: a2 c0 rjmp .+324 ; 0x212e return false; } /* Check if double speed is enabled. */ if (!((usart)->CTRLB & USART_CLK2X_bm)) { 1fea: f7 01 movw r30, r14 1fec: 84 81 ldd r24, Z+4 ; 0x04 1fee: 82 fd sbrc r24, 2 1ff0: 04 c0 rjmp .+8 ; 0x1ffa baud *= 2; 1ff2: 88 0c add r8, r8 1ff4: 99 1c adc r9, r9 1ff6: aa 1c adc r10, r10 1ff8: bb 1c adc r11, r11 } /* Find the lowest possible exponent. */ limit = 0xfffU >> 4; ratio = cpu_hz / baud; 1ffa: c3 01 movw r24, r6 1ffc: b2 01 movw r22, r4 1ffe: a5 01 movw r20, r10 2000: 94 01 movw r18, r8 2002: 0e 94 2d 3a call 0x745a ; 0x745a <__udivmodsi4> for (exp = -7; exp < 7; exp++) { if (ratio < limit) { 2006: 2f 3f cpi r18, 0xFF ; 255 2008: 31 05 cpc r19, r1 200a: 41 05 cpc r20, r1 200c: 51 05 cpc r21, r1 200e: 08 f4 brcc .+2 ; 0x2012 2010: 90 c0 rjmp .+288 ; 0x2132 2012: 8f ef ldi r24, 0xFF ; 255 2014: 90 e0 ldi r25, 0x00 ; 0 2016: a0 e0 ldi r26, 0x00 ; 0 2018: b0 e0 ldi r27, 0x00 ; 0 201a: c9 ef ldi r28, 0xF9 ; 249 201c: 05 c0 rjmp .+10 ; 0x2028 201e: 28 17 cp r18, r24 2020: 39 07 cpc r19, r25 2022: 4a 07 cpc r20, r26 2024: 5b 07 cpc r21, r27 2026: 58 f0 brcs .+22 ; 0x203e break; } limit <<= 1; 2028: 88 0f add r24, r24 202a: 99 1f adc r25, r25 202c: aa 1f adc r26, r26 202e: bb 1f adc r27, r27 if (exp < -3) { 2030: cd 3f cpi r28, 0xFD ; 253 2032: 0c f4 brge .+2 ; 0x2036 limit |= 1; 2034: 81 60 ori r24, 0x01 ; 1 2036: cf 5f subi r28, 0xFF ; 255 /* Find the lowest possible exponent. */ limit = 0xfffU >> 4; ratio = cpu_hz / baud; for (exp = -7; exp < 7; exp++) { 2038: c7 30 cpi r28, 0x07 ; 7 203a: 89 f7 brne .-30 ; 0x201e 203c: 4f c0 rjmp .+158 ; 0x20dc * point. * * The formula for calculating BSEL is slightly different when exp is * negative than it is when exp is positive. */ if (exp < 0) { 203e: cc 23 and r28, r28 2040: 0c f0 brlt .+2 ; 0x2044 2042: 4c c0 rjmp .+152 ; 0x20dc /* We are supposed to subtract 1, then apply BSCALE. We want to * apply BSCALE first, so we need to turn everything inside the * parenthesis into a single fractional expression. */ cpu_hz -= 8 * baud; 2044: d5 01 movw r26, r10 2046: c4 01 movw r24, r8 2048: 88 0f add r24, r24 204a: 99 1f adc r25, r25 204c: aa 1f adc r26, r26 204e: bb 1f adc r27, r27 2050: 88 0f add r24, r24 2052: 99 1f adc r25, r25 2054: aa 1f adc r26, r26 2056: bb 1f adc r27, r27 2058: 88 0f add r24, r24 205a: 99 1f adc r25, r25 205c: aa 1f adc r26, r26 205e: bb 1f adc r27, r27 2060: 48 1a sub r4, r24 2062: 59 0a sbc r5, r25 2064: 6a 0a sbc r6, r26 2066: 7b 0a sbc r7, r27 /* If we end up with a left-shift after taking the final * divide-by-8 into account, do the shift before the divide. * Otherwise, left-shift the denominator instead (effectively * resulting in an overall right shift.) */ if (exp <= -3) { 2068: ce 3f cpi r28, 0xFE ; 254 206a: f4 f4 brge .+60 ; 0x20a8 div = ((cpu_hz << (-exp - 3)) + baud / 2) / baud; 206c: 8d ef ldi r24, 0xFD ; 253 206e: 9f ef ldi r25, 0xFF ; 255 2070: 8c 1b sub r24, r28 2072: 91 09 sbc r25, r1 2074: c7 fd sbrc r28, 7 2076: 93 95 inc r25 2078: 04 c0 rjmp .+8 ; 0x2082 207a: 44 0c add r4, r4 207c: 55 1c adc r5, r5 207e: 66 1c adc r6, r6 2080: 77 1c adc r7, r7 2082: 8a 95 dec r24 2084: d2 f7 brpl .-12 ; 0x207a 2086: d5 01 movw r26, r10 2088: c4 01 movw r24, r8 208a: b6 95 lsr r27 208c: a7 95 ror r26 208e: 97 95 ror r25 2090: 87 95 ror r24 2092: bc 01 movw r22, r24 2094: cd 01 movw r24, r26 2096: 64 0d add r22, r4 2098: 75 1d adc r23, r5 209a: 86 1d adc r24, r6 209c: 97 1d adc r25, r7 209e: a5 01 movw r20, r10 20a0: 94 01 movw r18, r8 20a2: 0e 94 2d 3a call 0x745a ; 0x745a <__udivmodsi4> 20a6: 37 c0 rjmp .+110 ; 0x2116 } else { baud <<= exp + 3; 20a8: 83 e0 ldi r24, 0x03 ; 3 20aa: 8c 0f add r24, r28 20ac: a5 01 movw r20, r10 20ae: 94 01 movw r18, r8 20b0: 04 c0 rjmp .+8 ; 0x20ba 20b2: 22 0f add r18, r18 20b4: 33 1f adc r19, r19 20b6: 44 1f adc r20, r20 20b8: 55 1f adc r21, r21 20ba: 8a 95 dec r24 20bc: d2 f7 brpl .-12 ; 0x20b2 div = (cpu_hz + baud / 2) / baud; 20be: da 01 movw r26, r20 20c0: c9 01 movw r24, r18 20c2: b6 95 lsr r27 20c4: a7 95 ror r26 20c6: 97 95 ror r25 20c8: 87 95 ror r24 20ca: bc 01 movw r22, r24 20cc: cd 01 movw r24, r26 20ce: 64 0d add r22, r4 20d0: 75 1d adc r23, r5 20d2: 86 1d adc r24, r6 20d4: 97 1d adc r25, r7 20d6: 0e 94 2d 3a call 0x745a ; 0x745a <__udivmodsi4> 20da: 1d c0 rjmp .+58 ; 0x2116 } } else { /* We will always do a right shift in this case, but we need to * shift three extra positions because of the divide-by-8. */ baud <<= exp + 3; 20dc: 83 e0 ldi r24, 0x03 ; 3 20de: 8c 0f add r24, r28 20e0: a5 01 movw r20, r10 20e2: 94 01 movw r18, r8 20e4: 04 c0 rjmp .+8 ; 0x20ee 20e6: 22 0f add r18, r18 20e8: 33 1f adc r19, r19 20ea: 44 1f adc r20, r20 20ec: 55 1f adc r21, r21 20ee: 8a 95 dec r24 20f0: d2 f7 brpl .-12 ; 0x20e6 div = (cpu_hz + baud / 2) / baud - 1; 20f2: da 01 movw r26, r20 20f4: c9 01 movw r24, r18 20f6: b6 95 lsr r27 20f8: a7 95 ror r26 20fa: 97 95 ror r25 20fc: 87 95 ror r24 20fe: bc 01 movw r22, r24 2100: cd 01 movw r24, r26 2102: 64 0d add r22, r4 2104: 75 1d adc r23, r5 2106: 86 1d adc r24, r6 2108: 97 1d adc r25, r7 210a: 0e 94 2d 3a call 0x745a ; 0x745a <__udivmodsi4> 210e: 21 50 subi r18, 0x01 ; 1 2110: 31 09 sbc r19, r1 2112: 41 09 sbc r20, r1 2114: 51 09 sbc r21, r1 } (usart)->BAUDCTRLB = (uint8_t)(((div >> 8) & 0X0F) | (exp << 4)); 2116: 83 2f mov r24, r19 2118: 8f 70 andi r24, 0x0F ; 15 211a: c2 95 swap r28 211c: c0 7f andi r28, 0xF0 ; 240 211e: c8 2b or r28, r24 2120: f7 01 movw r30, r14 2122: c7 83 std Z+7, r28 ; 0x07 (usart)->BAUDCTRLA = (uint8_t)div; 2124: 26 83 std Z+6, r18 ; 0x06 return true; 2126: 81 e0 ldi r24, 0x01 ; 1 2128: 18 c0 rjmp .+48 ; 0x215a max_rate /= 2; min_rate /= 2; } if ((baud > max_rate) || (baud < min_rate)) { return false; 212a: 80 e0 ldi r24, 0x00 ; 0 212c: 16 c0 rjmp .+44 ; 0x215a 212e: 80 e0 ldi r24, 0x00 ; 0 2130: 14 c0 rjmp .+40 ; 0x215a if (exp < 0) { /* We are supposed to subtract 1, then apply BSCALE. We want to * apply BSCALE first, so we need to turn everything inside the * parenthesis into a single fractional expression. */ cpu_hz -= 8 * baud; 2132: d5 01 movw r26, r10 2134: c4 01 movw r24, r8 2136: 88 0f add r24, r24 2138: 99 1f adc r25, r25 213a: aa 1f adc r26, r26 213c: bb 1f adc r27, r27 213e: 88 0f add r24, r24 2140: 99 1f adc r25, r25 2142: aa 1f adc r26, r26 2144: bb 1f adc r27, r27 2146: 88 0f add r24, r24 2148: 99 1f adc r25, r25 214a: aa 1f adc r26, r26 214c: bb 1f adc r27, r27 214e: 48 1a sub r4, r24 2150: 59 0a sbc r5, r25 2152: 6a 0a sbc r6, r26 2154: 7b 0a sbc r7, r27 /* Find the lowest possible exponent. */ limit = 0xfffU >> 4; ratio = cpu_hz / baud; for (exp = -7; exp < 7; exp++) { 2156: c9 ef ldi r28, 0xF9 ; 249 2158: 89 cf rjmp .-238 ; 0x206c (usart)->BAUDCTRLB = (uint8_t)(((div >> 8) & 0X0F) | (exp << 4)); (usart)->BAUDCTRLA = (uint8_t)div; return true; } 215a: cf 91 pop r28 215c: 1f 91 pop r17 215e: 0f 91 pop r16 2160: ff 90 pop r15 2162: ef 90 pop r14 2164: bf 90 pop r11 2166: af 90 pop r10 2168: 9f 90 pop r9 216a: 8f 90 pop r8 216c: 7f 90 pop r7 216e: 6f 90 pop r6 2170: 5f 90 pop r5 2172: 4f 90 pop r4 2174: 08 95 ret 00002176 : * * \retval true if the initialization was successfull * \retval false if the initialization failed (error in baud rate calculation) */ bool usart_init_rs232(USART_t *usart, const usart_rs232_options_t *opt) { 2176: 0f 93 push r16 2178: 1f 93 push r17 217a: cf 93 push r28 217c: df 93 push r29 217e: ec 01 movw r28, r24 2180: 8b 01 movw r16, r22 * * \param module Pointer to the module's base address. */ static inline void sysclk_enable_peripheral_clock(const volatile void *module) { if (module == NULL) { 2182: 00 97 sbiw r24, 0x00 ; 0 2184: 09 f4 brne .+2 ; 0x2188 2186: 5d c1 rjmp .+698 ; 0x2442 Assert(false); } #ifdef AES else if (module == &AES) { 2188: 80 3c cpi r24, 0xC0 ; 192 218a: 91 05 cpc r25, r1 218c: 29 f4 brne .+10 ; 0x2198 sysclk_enable_module(SYSCLK_PORT_GEN, SYSCLK_AES); 218e: 60 e1 ldi r22, 0x10 ; 16 2190: 80 e0 ldi r24, 0x00 ; 0 2192: 0e 94 59 02 call 0x4b2 ; 0x4b2 2196: 55 c1 rjmp .+682 ; 0x2442 } #endif #ifdef EBI else if (module == &EBI) { 2198: c0 34 cpi r28, 0x40 ; 64 219a: 84 e0 ldi r24, 0x04 ; 4 219c: d8 07 cpc r29, r24 219e: 29 f4 brne .+10 ; 0x21aa sysclk_enable_module(SYSCLK_PORT_GEN, SYSCLK_EBI); 21a0: 68 e0 ldi r22, 0x08 ; 8 21a2: 80 e0 ldi r24, 0x00 ; 0 21a4: 0e 94 59 02 call 0x4b2 ; 0x4b2 21a8: 4c c1 rjmp .+664 ; 0x2442 } #endif #ifdef RTC else if (module == &RTC) { 21aa: c1 15 cp r28, r1 21ac: e4 e0 ldi r30, 0x04 ; 4 21ae: de 07 cpc r29, r30 21b0: 29 f4 brne .+10 ; 0x21bc sysclk_enable_module(SYSCLK_PORT_GEN, SYSCLK_RTC); 21b2: 64 e0 ldi r22, 0x04 ; 4 21b4: 80 e0 ldi r24, 0x00 ; 0 21b6: 0e 94 59 02 call 0x4b2 ; 0x4b2 21ba: 43 c1 rjmp .+646 ; 0x2442 } #endif #ifdef EVSYS else if (module == &EVSYS) { 21bc: c0 38 cpi r28, 0x80 ; 128 21be: f1 e0 ldi r31, 0x01 ; 1 21c0: df 07 cpc r29, r31 21c2: 29 f4 brne .+10 ; 0x21ce sysclk_enable_module(SYSCLK_PORT_GEN, SYSCLK_EVSYS); 21c4: 62 e0 ldi r22, 0x02 ; 2 21c6: 80 e0 ldi r24, 0x00 ; 0 21c8: 0e 94 59 02 call 0x4b2 ; 0x4b2 21cc: 3a c1 rjmp .+628 ; 0x2442 } #endif #ifdef DMA else if (module == &DMA) { 21ce: c1 15 cp r28, r1 21d0: 81 e0 ldi r24, 0x01 ; 1 21d2: d8 07 cpc r29, r24 21d4: 29 f4 brne .+10 ; 0x21e0 sysclk_enable_module(SYSCLK_PORT_GEN, SYSCLK_DMA); 21d6: 61 e0 ldi r22, 0x01 ; 1 21d8: 80 e0 ldi r24, 0x00 ; 0 21da: 0e 94 59 02 call 0x4b2 ; 0x4b2 21de: 31 c1 rjmp .+610 ; 0x2442 else if (module == &EDMA) { sysclk_enable_module(SYSCLK_PORT_GEN, SYSCLK_EDMA); } #endif #ifdef ACA else if (module == &ACA) { 21e0: c0 38 cpi r28, 0x80 ; 128 21e2: e3 e0 ldi r30, 0x03 ; 3 21e4: de 07 cpc r29, r30 21e6: 29 f4 brne .+10 ; 0x21f2 sysclk_enable_module(SYSCLK_PORT_A, SYSCLK_AC); 21e8: 61 e0 ldi r22, 0x01 ; 1 21ea: 81 e0 ldi r24, 0x01 ; 1 21ec: 0e 94 59 02 call 0x4b2 ; 0x4b2 21f0: 28 c1 rjmp .+592 ; 0x2442 } #endif #ifdef ACB else if (module == &ACB) { 21f2: c0 39 cpi r28, 0x90 ; 144 21f4: f3 e0 ldi r31, 0x03 ; 3 21f6: df 07 cpc r29, r31 21f8: 29 f4 brne .+10 ; 0x2204 sysclk_enable_module(SYSCLK_PORT_B, SYSCLK_AC); 21fa: 61 e0 ldi r22, 0x01 ; 1 21fc: 82 e0 ldi r24, 0x02 ; 2 21fe: 0e 94 59 02 call 0x4b2 ; 0x4b2 2202: 1f c1 rjmp .+574 ; 0x2442 } #endif #ifdef ADCA else if (module == &ADCA) { 2204: c1 15 cp r28, r1 2206: 82 e0 ldi r24, 0x02 ; 2 2208: d8 07 cpc r29, r24 220a: 29 f4 brne .+10 ; 0x2216 sysclk_enable_module(SYSCLK_PORT_A, SYSCLK_ADC); 220c: 62 e0 ldi r22, 0x02 ; 2 220e: 81 e0 ldi r24, 0x01 ; 1 2210: 0e 94 59 02 call 0x4b2 ; 0x4b2 2214: 16 c1 rjmp .+556 ; 0x2442 } #endif #ifdef ADCB else if (module == &ADCB) { 2216: c0 34 cpi r28, 0x40 ; 64 2218: e2 e0 ldi r30, 0x02 ; 2 221a: de 07 cpc r29, r30 221c: 29 f4 brne .+10 ; 0x2228 sysclk_enable_module(SYSCLK_PORT_B, SYSCLK_ADC); 221e: 62 e0 ldi r22, 0x02 ; 2 2220: 82 e0 ldi r24, 0x02 ; 2 2222: 0e 94 59 02 call 0x4b2 ; 0x4b2 2226: 0d c1 rjmp .+538 ; 0x2442 } #endif #ifdef DACA else if (module == &DACA) { 2228: c1 15 cp r28, r1 222a: f3 e0 ldi r31, 0x03 ; 3 222c: df 07 cpc r29, r31 222e: 29 f4 brne .+10 ; 0x223a sysclk_enable_module(SYSCLK_PORT_A, SYSCLK_DAC); 2230: 64 e0 ldi r22, 0x04 ; 4 2232: 81 e0 ldi r24, 0x01 ; 1 2234: 0e 94 59 02 call 0x4b2 ; 0x4b2 2238: 04 c1 rjmp .+520 ; 0x2442 } #endif // Workaround for bad XMEGA D header file #if !XMEGA_D #ifdef DACB else if (module == &DACB) { 223a: c0 32 cpi r28, 0x20 ; 32 223c: 83 e0 ldi r24, 0x03 ; 3 223e: d8 07 cpc r29, r24 2240: 29 f4 brne .+10 ; 0x224c sysclk_enable_module(SYSCLK_PORT_B, SYSCLK_DAC); 2242: 64 e0 ldi r22, 0x04 ; 4 2244: 82 e0 ldi r24, 0x02 ; 2 2246: 0e 94 59 02 call 0x4b2 ; 0x4b2 224a: fb c0 rjmp .+502 ; 0x2442 } #endif #endif // Workaround end #ifdef TCC0 else if (module == &TCC0) { 224c: c1 15 cp r28, r1 224e: e8 e0 ldi r30, 0x08 ; 8 2250: de 07 cpc r29, r30 2252: 29 f4 brne .+10 ; 0x225e sysclk_enable_module(SYSCLK_PORT_C, SYSCLK_TC0); 2254: 61 e0 ldi r22, 0x01 ; 1 2256: 83 e0 ldi r24, 0x03 ; 3 2258: 0e 94 59 02 call 0x4b2 ; 0x4b2 225c: f2 c0 rjmp .+484 ; 0x2442 } #endif #ifdef TCD0 else if (module == &TCD0) { 225e: c1 15 cp r28, r1 2260: f9 e0 ldi r31, 0x09 ; 9 2262: df 07 cpc r29, r31 2264: 29 f4 brne .+10 ; 0x2270 sysclk_enable_module(SYSCLK_PORT_D, SYSCLK_TC0); 2266: 61 e0 ldi r22, 0x01 ; 1 2268: 84 e0 ldi r24, 0x04 ; 4 226a: 0e 94 59 02 call 0x4b2 ; 0x4b2 226e: e9 c0 rjmp .+466 ; 0x2442 } #endif #ifdef TCE0 else if (module == &TCE0) { 2270: c1 15 cp r28, r1 2272: 8a e0 ldi r24, 0x0A ; 10 2274: d8 07 cpc r29, r24 2276: 29 f4 brne .+10 ; 0x2282 sysclk_enable_module(SYSCLK_PORT_E, SYSCLK_TC0); 2278: 61 e0 ldi r22, 0x01 ; 1 227a: 85 e0 ldi r24, 0x05 ; 5 227c: 0e 94 59 02 call 0x4b2 ; 0x4b2 2280: e0 c0 rjmp .+448 ; 0x2442 } #endif #ifdef TCF0 else if (module == &TCF0) { 2282: c1 15 cp r28, r1 2284: eb e0 ldi r30, 0x0B ; 11 2286: de 07 cpc r29, r30 2288: 29 f4 brne .+10 ; 0x2294 sysclk_enable_module(SYSCLK_PORT_F, SYSCLK_TC0); 228a: 61 e0 ldi r22, 0x01 ; 1 228c: 86 e0 ldi r24, 0x06 ; 6 228e: 0e 94 59 02 call 0x4b2 ; 0x4b2 2292: d7 c0 rjmp .+430 ; 0x2442 } #endif #ifdef TCC1 else if (module == &TCC1) { 2294: c0 34 cpi r28, 0x40 ; 64 2296: f8 e0 ldi r31, 0x08 ; 8 2298: df 07 cpc r29, r31 229a: 29 f4 brne .+10 ; 0x22a6 sysclk_enable_module(SYSCLK_PORT_C, SYSCLK_TC1); 229c: 62 e0 ldi r22, 0x02 ; 2 229e: 83 e0 ldi r24, 0x03 ; 3 22a0: 0e 94 59 02 call 0x4b2 ; 0x4b2 22a4: ce c0 rjmp .+412 ; 0x2442 } #endif #ifdef TCD1 else if (module == &TCD1) { 22a6: c0 34 cpi r28, 0x40 ; 64 22a8: 89 e0 ldi r24, 0x09 ; 9 22aa: d8 07 cpc r29, r24 22ac: 29 f4 brne .+10 ; 0x22b8 sysclk_enable_module(SYSCLK_PORT_D, SYSCLK_TC1); 22ae: 62 e0 ldi r22, 0x02 ; 2 22b0: 84 e0 ldi r24, 0x04 ; 4 22b2: 0e 94 59 02 call 0x4b2 ; 0x4b2 22b6: c5 c0 rjmp .+394 ; 0x2442 } #endif #ifdef TCE1 else if (module == &TCE1) { 22b8: c0 34 cpi r28, 0x40 ; 64 22ba: ea e0 ldi r30, 0x0A ; 10 22bc: de 07 cpc r29, r30 22be: 29 f4 brne .+10 ; 0x22ca sysclk_enable_module(SYSCLK_PORT_E, SYSCLK_TC1); 22c0: 62 e0 ldi r22, 0x02 ; 2 22c2: 85 e0 ldi r24, 0x05 ; 5 22c4: 0e 94 59 02 call 0x4b2 ; 0x4b2 22c8: bc c0 rjmp .+376 ; 0x2442 } #endif #ifdef TCF1 else if (module == &TCF1) { 22ca: c0 34 cpi r28, 0x40 ; 64 22cc: fb e0 ldi r31, 0x0B ; 11 22ce: df 07 cpc r29, r31 22d0: 29 f4 brne .+10 ; 0x22dc sysclk_enable_module(SYSCLK_PORT_F, SYSCLK_TC1); 22d2: 62 e0 ldi r22, 0x02 ; 2 22d4: 86 e0 ldi r24, 0x06 ; 6 22d6: 0e 94 59 02 call 0x4b2 ; 0x4b2 22da: b3 c0 rjmp .+358 ; 0x2442 else if (module == &TCD5) { sysclk_enable_module(SYSCLK_PORT_D, SYSCLK_TC5); } #endif #ifdef HIRESC else if (module == &HIRESC) { 22dc: c0 39 cpi r28, 0x90 ; 144 22de: 88 e0 ldi r24, 0x08 ; 8 22e0: d8 07 cpc r29, r24 22e2: 29 f4 brne .+10 ; 0x22ee sysclk_enable_module(SYSCLK_PORT_C, SYSCLK_HIRES); 22e4: 64 e0 ldi r22, 0x04 ; 4 22e6: 83 e0 ldi r24, 0x03 ; 3 22e8: 0e 94 59 02 call 0x4b2 ; 0x4b2 22ec: aa c0 rjmp .+340 ; 0x2442 } #endif #ifdef HIRESD else if (module == &HIRESD) { 22ee: c0 39 cpi r28, 0x90 ; 144 22f0: e9 e0 ldi r30, 0x09 ; 9 22f2: de 07 cpc r29, r30 22f4: 29 f4 brne .+10 ; 0x2300 sysclk_enable_module(SYSCLK_PORT_D, SYSCLK_HIRES); 22f6: 64 e0 ldi r22, 0x04 ; 4 22f8: 84 e0 ldi r24, 0x04 ; 4 22fa: 0e 94 59 02 call 0x4b2 ; 0x4b2 22fe: a1 c0 rjmp .+322 ; 0x2442 } #endif #ifdef HIRESE else if (module == &HIRESE) { 2300: c0 39 cpi r28, 0x90 ; 144 2302: fa e0 ldi r31, 0x0A ; 10 2304: df 07 cpc r29, r31 2306: 29 f4 brne .+10 ; 0x2312 sysclk_enable_module(SYSCLK_PORT_E, SYSCLK_HIRES); 2308: 64 e0 ldi r22, 0x04 ; 4 230a: 85 e0 ldi r24, 0x05 ; 5 230c: 0e 94 59 02 call 0x4b2 ; 0x4b2 2310: 98 c0 rjmp .+304 ; 0x2442 } #endif #ifdef HIRESF else if (module == &HIRESF) { 2312: c0 39 cpi r28, 0x90 ; 144 2314: 8b e0 ldi r24, 0x0B ; 11 2316: d8 07 cpc r29, r24 2318: 29 f4 brne .+10 ; 0x2324 sysclk_enable_module(SYSCLK_PORT_F, SYSCLK_HIRES); 231a: 64 e0 ldi r22, 0x04 ; 4 231c: 86 e0 ldi r24, 0x06 ; 6 231e: 0e 94 59 02 call 0x4b2 ; 0x4b2 2322: 8f c0 rjmp .+286 ; 0x2442 } #endif #ifdef SPIC else if (module == &SPIC) { 2324: c0 3c cpi r28, 0xC0 ; 192 2326: e8 e0 ldi r30, 0x08 ; 8 2328: de 07 cpc r29, r30 232a: 29 f4 brne .+10 ; 0x2336 sysclk_enable_module(SYSCLK_PORT_C, SYSCLK_SPI); 232c: 68 e0 ldi r22, 0x08 ; 8 232e: 83 e0 ldi r24, 0x03 ; 3 2330: 0e 94 59 02 call 0x4b2 ; 0x4b2 2334: 86 c0 rjmp .+268 ; 0x2442 } #endif #ifdef SPID else if (module == &SPID) { 2336: c0 3c cpi r28, 0xC0 ; 192 2338: f9 e0 ldi r31, 0x09 ; 9 233a: df 07 cpc r29, r31 233c: 29 f4 brne .+10 ; 0x2348 sysclk_enable_module(SYSCLK_PORT_D, SYSCLK_SPI); 233e: 68 e0 ldi r22, 0x08 ; 8 2340: 84 e0 ldi r24, 0x04 ; 4 2342: 0e 94 59 02 call 0x4b2 ; 0x4b2 2346: 7d c0 rjmp .+250 ; 0x2442 } #endif #ifdef SPIE else if (module == &SPIE) { 2348: c0 3c cpi r28, 0xC0 ; 192 234a: 8a e0 ldi r24, 0x0A ; 10 234c: d8 07 cpc r29, r24 234e: 29 f4 brne .+10 ; 0x235a sysclk_enable_module(SYSCLK_PORT_E, SYSCLK_SPI); 2350: 68 e0 ldi r22, 0x08 ; 8 2352: 85 e0 ldi r24, 0x05 ; 5 2354: 0e 94 59 02 call 0x4b2 ; 0x4b2 2358: 74 c0 rjmp .+232 ; 0x2442 } #endif #ifdef SPIF else if (module == &SPIF) { 235a: c0 3c cpi r28, 0xC0 ; 192 235c: eb e0 ldi r30, 0x0B ; 11 235e: de 07 cpc r29, r30 2360: 29 f4 brne .+10 ; 0x236c sysclk_enable_module(SYSCLK_PORT_F, SYSCLK_SPI); 2362: 68 e0 ldi r22, 0x08 ; 8 2364: 86 e0 ldi r24, 0x06 ; 6 2366: 0e 94 59 02 call 0x4b2 ; 0x4b2 236a: 6b c0 rjmp .+214 ; 0x2442 } #endif #ifdef USARTC0 else if (module == &USARTC0) { 236c: c0 3a cpi r28, 0xA0 ; 160 236e: f8 e0 ldi r31, 0x08 ; 8 2370: df 07 cpc r29, r31 2372: 29 f4 brne .+10 ; 0x237e sysclk_enable_module(SYSCLK_PORT_C, SYSCLK_USART0); 2374: 60 e1 ldi r22, 0x10 ; 16 2376: 83 e0 ldi r24, 0x03 ; 3 2378: 0e 94 59 02 call 0x4b2 ; 0x4b2 237c: 62 c0 rjmp .+196 ; 0x2442 } #endif #ifdef USARTD0 else if (module == &USARTD0) { 237e: c0 3a cpi r28, 0xA0 ; 160 2380: 89 e0 ldi r24, 0x09 ; 9 2382: d8 07 cpc r29, r24 2384: 29 f4 brne .+10 ; 0x2390 sysclk_enable_module(SYSCLK_PORT_D, SYSCLK_USART0); 2386: 60 e1 ldi r22, 0x10 ; 16 2388: 84 e0 ldi r24, 0x04 ; 4 238a: 0e 94 59 02 call 0x4b2 ; 0x4b2 238e: 59 c0 rjmp .+178 ; 0x2442 } #endif #ifdef USARTE0 else if (module == &USARTE0) { 2390: c0 3a cpi r28, 0xA0 ; 160 2392: ea e0 ldi r30, 0x0A ; 10 2394: de 07 cpc r29, r30 2396: 29 f4 brne .+10 ; 0x23a2 sysclk_enable_module(SYSCLK_PORT_E, SYSCLK_USART0); 2398: 60 e1 ldi r22, 0x10 ; 16 239a: 85 e0 ldi r24, 0x05 ; 5 239c: 0e 94 59 02 call 0x4b2 ; 0x4b2 23a0: 50 c0 rjmp .+160 ; 0x2442 } #endif #ifdef USARTF0 else if (module == &USARTF0) { 23a2: c0 3a cpi r28, 0xA0 ; 160 23a4: fb e0 ldi r31, 0x0B ; 11 23a6: df 07 cpc r29, r31 23a8: 29 f4 brne .+10 ; 0x23b4 sysclk_enable_module(SYSCLK_PORT_F, SYSCLK_USART0); 23aa: 60 e1 ldi r22, 0x10 ; 16 23ac: 86 e0 ldi r24, 0x06 ; 6 23ae: 0e 94 59 02 call 0x4b2 ; 0x4b2 23b2: 47 c0 rjmp .+142 ; 0x2442 } #endif #ifdef USARTC1 else if (module == &USARTC1) { 23b4: c0 3b cpi r28, 0xB0 ; 176 23b6: 88 e0 ldi r24, 0x08 ; 8 23b8: d8 07 cpc r29, r24 23ba: 29 f4 brne .+10 ; 0x23c6 sysclk_enable_module(SYSCLK_PORT_C, SYSCLK_USART1); 23bc: 60 e2 ldi r22, 0x20 ; 32 23be: 83 e0 ldi r24, 0x03 ; 3 23c0: 0e 94 59 02 call 0x4b2 ; 0x4b2 23c4: 3e c0 rjmp .+124 ; 0x2442 } #endif #ifdef USARTD1 else if (module == &USARTD1) { 23c6: c0 3b cpi r28, 0xB0 ; 176 23c8: e9 e0 ldi r30, 0x09 ; 9 23ca: de 07 cpc r29, r30 23cc: 29 f4 brne .+10 ; 0x23d8 sysclk_enable_module(SYSCLK_PORT_D, SYSCLK_USART1); 23ce: 60 e2 ldi r22, 0x20 ; 32 23d0: 84 e0 ldi r24, 0x04 ; 4 23d2: 0e 94 59 02 call 0x4b2 ; 0x4b2 23d6: 35 c0 rjmp .+106 ; 0x2442 } #endif #ifdef USARTE1 else if (module == &USARTE1) { 23d8: c0 3b cpi r28, 0xB0 ; 176 23da: fa e0 ldi r31, 0x0A ; 10 23dc: df 07 cpc r29, r31 23de: 29 f4 brne .+10 ; 0x23ea sysclk_enable_module(SYSCLK_PORT_E, SYSCLK_USART1); 23e0: 60 e2 ldi r22, 0x20 ; 32 23e2: 85 e0 ldi r24, 0x05 ; 5 23e4: 0e 94 59 02 call 0x4b2 ; 0x4b2 23e8: 2c c0 rjmp .+88 ; 0x2442 } #endif #ifdef USARTF1 else if (module == &USARTF1) { 23ea: c0 3b cpi r28, 0xB0 ; 176 23ec: 8b e0 ldi r24, 0x0B ; 11 23ee: d8 07 cpc r29, r24 23f0: 29 f4 brne .+10 ; 0x23fc sysclk_enable_module(SYSCLK_PORT_F, SYSCLK_USART1); 23f2: 60 e2 ldi r22, 0x20 ; 32 23f4: 86 e0 ldi r24, 0x06 ; 6 23f6: 0e 94 59 02 call 0x4b2 ; 0x4b2 23fa: 23 c0 rjmp .+70 ; 0x2442 } #endif #ifdef TWIC else if (module == &TWIC) { 23fc: c0 38 cpi r28, 0x80 ; 128 23fe: e4 e0 ldi r30, 0x04 ; 4 2400: de 07 cpc r29, r30 2402: 29 f4 brne .+10 ; 0x240e sysclk_enable_module(SYSCLK_PORT_C, SYSCLK_TWI); 2404: 60 e4 ldi r22, 0x40 ; 64 2406: 83 e0 ldi r24, 0x03 ; 3 2408: 0e 94 59 02 call 0x4b2 ; 0x4b2 240c: 1a c0 rjmp .+52 ; 0x2442 } #endif #ifdef TWID else if (module == &TWID) { 240e: c0 39 cpi r28, 0x90 ; 144 2410: f4 e0 ldi r31, 0x04 ; 4 2412: df 07 cpc r29, r31 2414: 29 f4 brne .+10 ; 0x2420 sysclk_enable_module(SYSCLK_PORT_D, SYSCLK_TWI); 2416: 60 e4 ldi r22, 0x40 ; 64 2418: 84 e0 ldi r24, 0x04 ; 4 241a: 0e 94 59 02 call 0x4b2 ; 0x4b2 241e: 11 c0 rjmp .+34 ; 0x2442 } #endif #ifdef TWIE else if (module == &TWIE) { 2420: c0 3a cpi r28, 0xA0 ; 160 2422: 84 e0 ldi r24, 0x04 ; 4 2424: d8 07 cpc r29, r24 2426: 29 f4 brne .+10 ; 0x2432 sysclk_enable_module(SYSCLK_PORT_E, SYSCLK_TWI); 2428: 60 e4 ldi r22, 0x40 ; 64 242a: 85 e0 ldi r24, 0x05 ; 5 242c: 0e 94 59 02 call 0x4b2 ; 0x4b2 2430: 08 c0 rjmp .+16 ; 0x2442 } #endif #ifdef TWIF else if (module == &TWIF) { 2432: c0 3b cpi r28, 0xB0 ; 176 2434: e4 e0 ldi r30, 0x04 ; 4 2436: de 07 cpc r29, r30 2438: 21 f4 brne .+8 ; 0x2442 sysclk_enable_module(SYSCLK_PORT_F, SYSCLK_TWI); 243a: 60 e4 ldi r22, 0x40 ; 64 243c: 86 e0 ldi r24, 0x06 ; 6 243e: 0e 94 59 02 call 0x4b2 ; 0x4b2 * - 0x2 : IrDA mode. * - 0x3 : Master SPI mode. */ static inline void usart_set_mode(USART_t *usart, USART_CMODE_t usartmode) { (usart)->CTRLC = ((usart)->CTRLC & (~USART_CMODE_gm)) | usartmode; 2442: 8d 81 ldd r24, Y+5 ; 0x05 2444: 8f 73 andi r24, 0x3F ; 63 2446: 8d 83 std Y+5, r24 ; 0x05 * \param twoStopBits Enable two stop bit mode. Use bool type. */ static inline void usart_format_set(USART_t *usart, USART_CHSIZE_t charSize, USART_PMODE_t parityMode, bool twoStopBits) { (usart)->CTRLC = (uint8_t)charSize | parityMode 2448: f8 01 movw r30, r16 244a: 95 81 ldd r25, Z+5 ; 0x05 244c: 84 81 ldd r24, Z+4 ; 0x04 244e: 89 2b or r24, r25 2450: 96 81 ldd r25, Z+6 ; 0x06 2452: 91 11 cpse r25, r1 2454: 98 e0 ldi r25, 0x08 ; 8 2456: 89 2b or r24, r25 2458: 8d 83 std Y+5, r24 ; 0x05 bool result; sysclk_enable_peripheral_clock(usart); usart_set_mode(usart, USART_CMODE_ASYNCHRONOUS_gc); usart_format_set(usart, opt->charlength, opt->paritytype, opt->stopbits); result = usart_set_baudrate(usart, opt->baudrate, sysclk_get_per_hz()); 245a: f8 01 movw r30, r16 245c: 40 81 ld r20, Z 245e: 51 81 ldd r21, Z+1 ; 0x01 2460: 62 81 ldd r22, Z+2 ; 0x02 2462: 73 81 ldd r23, Z+3 ; 0x03 2464: 00 e0 ldi r16, 0x00 ; 0 2466: 18 e4 ldi r17, 0x48 ; 72 2468: 28 ee ldi r18, 0xE8 ; 232 246a: 31 e0 ldi r19, 0x01 ; 1 246c: ce 01 movw r24, r28 246e: 70 dd rcall .-1312 ; 0x1f50 * * \param usart Pointer to the USART module. */ static inline void usart_tx_enable(USART_t *usart) { (usart)->CTRLB |= USART_TXEN_bm; 2470: 9c 81 ldd r25, Y+4 ; 0x04 2472: 98 60 ori r25, 0x08 ; 8 2474: 9c 83 std Y+4, r25 ; 0x04 * * \param usart Pointer to the USART module */ static inline void usart_rx_enable(USART_t *usart) { (usart)->CTRLB |= USART_RXEN_bm; 2476: 9c 81 ldd r25, Y+4 ; 0x04 2478: 90 61 ori r25, 0x10 ; 16 247a: 9c 83 std Y+4, r25 ; 0x04 usart_tx_enable(usart); usart_rx_enable(usart); return result; } 247c: df 91 pop r29 247e: cf 91 pop r28 2480: 1f 91 pop r17 2482: 0f 91 pop r16 2484: 08 95 ret 00002486 : uint8_t temp = (WDT.WINCTRL & WDT_WPER_gm) | (1 << WDT_WEN_bp) | (1 << WDT_WCEN_bp); ccp_write_io((void *)&WDT.WINCTRL, temp); wdt_wait_while_busy(); return true; } 2486: 90 91 80 00 lds r25, 0x0080 ; 0x800080 <__TEXT_REGION_LENGTH__+0x700080> 248a: 24 e0 ldi r18, 0x04 ; 4 248c: 82 9f mul r24, r18 248e: b0 01 movw r22, r0 2490: 11 24 eor r1, r1 2492: 6c 73 andi r22, 0x3C ; 60 2494: 92 70 andi r25, 0x02 ; 2 2496: 91 60 ori r25, 0x01 ; 1 2498: 69 2b or r22, r25 249a: 80 e8 ldi r24, 0x80 ; 128 249c: 90 e0 ldi r25, 0x00 ; 0 249e: 0e 94 57 04 call 0x8ae ; 0x8ae 24a2: e0 e8 ldi r30, 0x80 ; 128 24a4: f0 e0 ldi r31, 0x00 ; 0 24a6: 82 81 ldd r24, Z+2 ; 0x02 24a8: 80 fd sbrc r24, 0 24aa: fd cf rjmp .-6 ; 0x24a6 24ac: 08 95 ret 000024ae : 24ae: 60 91 80 00 lds r22, 0x0080 ; 0x800080 <__TEXT_REGION_LENGTH__+0x700080> 24b2: 6c 73 andi r22, 0x3C ; 60 24b4: 63 60 ori r22, 0x03 ; 3 24b6: 80 e8 ldi r24, 0x80 ; 128 24b8: 90 e0 ldi r25, 0x00 ; 0 24ba: 0e 94 57 04 call 0x8ae ; 0x8ae 24be: e0 e8 ldi r30, 0x80 ; 128 24c0: f0 e0 ldi r31, 0x00 ; 0 24c2: 82 81 ldd r24, Z+2 ; 0x02 24c4: 80 fd sbrc r24, 0 24c6: fd cf rjmp .-6 ; 0x24c2 24c8: 08 95 ret 000024ca : uint8_t temp; /* * WDT enabled (minimum timeout period for max. security) */ temp = WDT_PER_8CLK_gc | (1 << WDT_ENABLE_bp) | (1 << WDT_CEN_bp); ccp_write_io((void *)&WDT.CTRL, temp); 24ca: 63 e0 ldi r22, 0x03 ; 3 24cc: 80 e8 ldi r24, 0x80 ; 128 24ce: 90 e0 ldi r25, 0x00 ; 0 24d0: 0e 94 57 04 call 0x8ae ; 0x8ae /*! \brief Wait until WD settings are synchronized to the WD clock domain. * */ static inline void wdt_wait_while_busy(void) { while ((WDT.STATUS & WDT_SYNCBUSY_bm) == WDT_SYNCBUSY_bm) { 24d4: e0 e8 ldi r30, 0x80 ; 128 24d6: f0 e0 ldi r31, 0x00 ; 0 24d8: 82 81 ldd r24, Z+2 ; 0x02 24da: 80 fd sbrc r24, 0 24dc: fd cf rjmp .-6 ; 0x24d8 wdt_wait_while_busy(); /* * WDT enabled (maximum window period for max. security) */ temp = WDT_WPER_8KCLK_gc | (1 << WDT_WEN_bp) | (1 << WDT_WCEN_bp); ccp_write_io((void *)&WDT.WINCTRL, temp); 24de: 6b e2 ldi r22, 0x2B ; 43 24e0: 81 e8 ldi r24, 0x81 ; 129 24e2: 90 e0 ldi r25, 0x00 ; 0 24e4: 0e 94 57 04 call 0x8ae ; 0x8ae 24e8: e0 e8 ldi r30, 0x80 ; 128 24ea: f0 e0 ldi r31, 0x00 ; 0 24ec: 82 81 ldd r24, Z+2 ; 0x02 24ee: 80 fd sbrc r24, 0 24f0: fd cf rjmp .-6 ; 0x24ec wdt_wait_while_busy(); /* * WDT Reset during window => WDT generates an Hard Reset. */ wdt_reset(); 24f2: a8 95 wdr 24f4: ff cf rjmp .-2 ; 0x24f4 000024f6 : * * \param config Pointer to PWM configuration. * \param freq_hz Wanted PWM frequency in Hz. */ void pwm_set_frequency(struct pwm_config *config, uint16_t freq_hz) { 24f6: cf 92 push r12 24f8: df 92 push r13 24fa: ef 92 push r14 24fc: ff 92 push r15 24fe: cf 93 push r28 2500: df 93 push r29 2502: ec 01 movw r28, r24 /* Avoid division by zero. */ Assert(freq_hz != 0); /* Calculate the smallest divider for the requested frequency related to the CPU frequency */ smallest_div = cpu_hz / freq_hz / 0xFFFF; 2504: 6b 01 movw r12, r22 2506: e1 2c mov r14, r1 2508: f1 2c mov r15, r1 250a: 60 e0 ldi r22, 0x00 ; 0 250c: 78 e4 ldi r23, 0x48 ; 72 250e: 88 ee ldi r24, 0xE8 ; 232 2510: 91 e0 ldi r25, 0x01 ; 1 2512: a7 01 movw r20, r14 2514: 96 01 movw r18, r12 2516: 0e 94 2d 3a call 0x745a ; 0x745a <__udivmodsi4> 251a: ca 01 movw r24, r20 251c: b9 01 movw r22, r18 251e: 2f ef ldi r18, 0xFF ; 255 2520: 3f ef ldi r19, 0xFF ; 255 2522: 40 e0 ldi r20, 0x00 ; 0 2524: 50 e0 ldi r21, 0x00 ; 0 2526: 0e 94 2d 3a call 0x745a ; 0x745a <__udivmodsi4> if (smallest_div < 1) { 252a: 21 15 cp r18, r1 252c: 31 05 cpc r19, r1 252e: 29 f4 brne .+10 ; 0x253a dividor = 1; config->clk_sel = PWM_CLK_DIV1; 2530: 81 e0 ldi r24, 0x01 ; 1 2532: 8c 83 std Y+4, r24 ; 0x04 /* Calculate the smallest divider for the requested frequency related to the CPU frequency */ smallest_div = cpu_hz / freq_hz / 0xFFFF; if (smallest_div < 1) { dividor = 1; 2534: 21 e0 ldi r18, 0x01 ; 1 2536: 30 e0 ldi r19, 0x00 ; 0 2538: 2d c0 rjmp .+90 ; 0x2594 config->clk_sel = PWM_CLK_DIV1; } else if (smallest_div < 2) { 253a: 22 30 cpi r18, 0x02 ; 2 253c: 31 05 cpc r19, r1 253e: 28 f4 brcc .+10 ; 0x254a dividor = 2; config->clk_sel = PWM_CLK_DIV2; 2540: 82 e0 ldi r24, 0x02 ; 2 2542: 8c 83 std Y+4, r24 ; 0x04 smallest_div = cpu_hz / freq_hz / 0xFFFF; if (smallest_div < 1) { dividor = 1; config->clk_sel = PWM_CLK_DIV1; } else if (smallest_div < 2) { dividor = 2; 2544: 22 e0 ldi r18, 0x02 ; 2 2546: 30 e0 ldi r19, 0x00 ; 0 2548: 25 c0 rjmp .+74 ; 0x2594 config->clk_sel = PWM_CLK_DIV2; } else if (smallest_div < 4) { 254a: 24 30 cpi r18, 0x04 ; 4 254c: 31 05 cpc r19, r1 254e: 28 f4 brcc .+10 ; 0x255a dividor = 4; config->clk_sel = PWM_CLK_DIV4; 2550: 83 e0 ldi r24, 0x03 ; 3 2552: 8c 83 std Y+4, r24 ; 0x04 config->clk_sel = PWM_CLK_DIV1; } else if (smallest_div < 2) { dividor = 2; config->clk_sel = PWM_CLK_DIV2; } else if (smallest_div < 4) { dividor = 4; 2554: 24 e0 ldi r18, 0x04 ; 4 2556: 30 e0 ldi r19, 0x00 ; 0 2558: 1d c0 rjmp .+58 ; 0x2594 config->clk_sel = PWM_CLK_DIV4; } else if (smallest_div < 8) { 255a: 28 30 cpi r18, 0x08 ; 8 255c: 31 05 cpc r19, r1 255e: 28 f4 brcc .+10 ; 0x256a dividor = 8; config->clk_sel = PWM_CLK_DIV8; 2560: 84 e0 ldi r24, 0x04 ; 4 2562: 8c 83 std Y+4, r24 ; 0x04 config->clk_sel = PWM_CLK_DIV2; } else if (smallest_div < 4) { dividor = 4; config->clk_sel = PWM_CLK_DIV4; } else if (smallest_div < 8) { dividor = 8; 2564: 28 e0 ldi r18, 0x08 ; 8 2566: 30 e0 ldi r19, 0x00 ; 0 2568: 15 c0 rjmp .+42 ; 0x2594 config->clk_sel = PWM_CLK_DIV8; } else if (smallest_div < 64) { 256a: 20 34 cpi r18, 0x40 ; 64 256c: 31 05 cpc r19, r1 256e: 28 f4 brcc .+10 ; 0x257a dividor = 64; config->clk_sel = PWM_CLK_DIV64; 2570: 85 e0 ldi r24, 0x05 ; 5 2572: 8c 83 std Y+4, r24 ; 0x04 config->clk_sel = PWM_CLK_DIV4; } else if (smallest_div < 8) { dividor = 8; config->clk_sel = PWM_CLK_DIV8; } else if (smallest_div < 64) { dividor = 64; 2574: 20 e4 ldi r18, 0x40 ; 64 2576: 30 e0 ldi r19, 0x00 ; 0 2578: 0d c0 rjmp .+26 ; 0x2594 config->clk_sel = PWM_CLK_DIV64; } else if (smallest_div < 256) { 257a: 2f 3f cpi r18, 0xFF ; 255 257c: 31 05 cpc r19, r1 257e: 09 f0 breq .+2 ; 0x2582 2580: 28 f4 brcc .+10 ; 0x258c dividor = 256; config->clk_sel = PWM_CLK_DIV256; 2582: 86 e0 ldi r24, 0x06 ; 6 2584: 8c 83 std Y+4, r24 ; 0x04 config->clk_sel = PWM_CLK_DIV8; } else if (smallest_div < 64) { dividor = 64; config->clk_sel = PWM_CLK_DIV64; } else if (smallest_div < 256) { dividor = 256; 2586: 20 e0 ldi r18, 0x00 ; 0 2588: 31 e0 ldi r19, 0x01 ; 1 258a: 04 c0 rjmp .+8 ; 0x2594 config->clk_sel = PWM_CLK_DIV256; } else { dividor = 1024; config->clk_sel = PWM_CLK_DIV1024; 258c: 87 e0 ldi r24, 0x07 ; 7 258e: 8c 83 std Y+4, r24 ; 0x04 config->clk_sel = PWM_CLK_DIV64; } else if (smallest_div < 256) { dividor = 256; config->clk_sel = PWM_CLK_DIV256; } else { dividor = 1024; 2590: 20 e0 ldi r18, 0x00 ; 0 2592: 34 e0 ldi r19, 0x04 ; 4 config->clk_sel = PWM_CLK_DIV1024; } /* Calculate the period from the just found divider */ config->period = cpu_hz / dividor / freq_hz; 2594: 40 e0 ldi r20, 0x00 ; 0 2596: 50 e0 ldi r21, 0x00 ; 0 2598: 60 e0 ldi r22, 0x00 ; 0 259a: 78 e4 ldi r23, 0x48 ; 72 259c: 88 ee ldi r24, 0xE8 ; 232 259e: 91 e0 ldi r25, 0x01 ; 1 25a0: 0e 94 2d 3a call 0x745a ; 0x745a <__udivmodsi4> 25a4: ca 01 movw r24, r20 25a6: b9 01 movw r22, r18 25a8: a7 01 movw r20, r14 25aa: 96 01 movw r18, r12 25ac: 0e 94 2d 3a call 0x745a ; 0x745a <__udivmodsi4> 25b0: 2d 83 std Y+5, r18 ; 0x05 25b2: 3e 83 std Y+6, r19 ; 0x06 /* Make sure our period is at least 100 ticks so we are able to provide a full range (0-100% duty cycle */ if (config->period < 100) { 25b4: 24 36 cpi r18, 0x64 ; 100 25b6: 31 05 cpc r19, r1 25b8: 18 f4 brcc .+6 ; 0x25c0 /* The period is too short. */ config->clk_sel = PWM_CLK_OFF; 25ba: 1c 82 std Y+4, r1 ; 0x04 config->period = 0; 25bc: 1d 82 std Y+5, r1 ; 0x05 25be: 1e 82 std Y+6, r1 ; 0x06 Assert(false); } } 25c0: df 91 pop r29 25c2: cf 91 pop r28 25c4: ff 90 pop r15 25c6: ef 90 pop r14 25c8: df 90 pop r13 25ca: cf 90 pop r12 25cc: 08 95 ret 000025ce : * \param channel \ref pwm_channel_t "CC channel" to use for this PWM. * \param freq_hz Frequency to use for this PWM. */ void pwm_init(struct pwm_config *config, enum pwm_tc_t tc, enum pwm_channel_t channel, uint16_t freq_hz) { 25ce: 0f 93 push r16 25d0: 1f 93 push r17 25d2: cf 93 push r28 25d4: df 93 push r29 25d6: ec 01 movw r28, r24 25d8: 89 01 movw r16, r18 /* Set TC and correct I/O pin to output */ /* * Support and FAQ: visit Atmel Support */ switch (tc) { 25da: 86 2f mov r24, r22 25dc: 90 e0 ldi r25, 0x00 ; 0 25de: 88 30 cpi r24, 0x08 ; 8 25e0: 91 05 cpc r25, r1 25e2: 08 f0 brcs .+2 ; 0x25e6 25e4: 9e c0 rjmp .+316 ; 0x2722 25e6: fc 01 movw r30, r24 25e8: 88 27 eor r24, r24 25ea: e2 50 subi r30, 0x02 ; 2 25ec: ff 4f sbci r31, 0xFF ; 255 25ee: 8f 4f sbci r24, 0xFF ; 255 25f0: 0c 94 4f 3a jmp 0x749e ; 0x749e <__tablejump2__> #if defined(TCC0) case PWM_TCC0: config->tc = &TCC0; 25f4: 80 e0 ldi r24, 0x00 ; 0 25f6: 98 e0 ldi r25, 0x08 ; 8 25f8: 88 83 st Y, r24 25fa: 99 83 std Y+1, r25 ; 0x01 PORTC.DIR |= (1 << (channel-1)); 25fc: e0 e4 ldi r30, 0x40 ; 64 25fe: f6 e0 ldi r31, 0x06 ; 6 2600: 30 81 ld r19, Z 2602: 81 e0 ldi r24, 0x01 ; 1 2604: 90 e0 ldi r25, 0x00 ; 0 2606: 2f ef ldi r18, 0xFF ; 255 2608: 24 0f add r18, r20 260a: 02 c0 rjmp .+4 ; 0x2610 260c: 88 0f add r24, r24 260e: 99 1f adc r25, r25 2610: 2a 95 dec r18 2612: e2 f7 brpl .-8 ; 0x260c 2614: 83 2b or r24, r19 2616: 80 83 st Z, r24 num_chan = 4; break; 2618: 84 c0 rjmp .+264 ; 0x2722 #endif #if defined(TCC1) case PWM_TCC1: config->tc = &TCC1; 261a: 80 e4 ldi r24, 0x40 ; 64 261c: 98 e0 ldi r25, 0x08 ; 8 261e: 88 83 st Y, r24 2620: 99 83 std Y+1, r25 ; 0x01 PORTC.DIR |= (1 << (channel+3)); 2622: e0 e4 ldi r30, 0x40 ; 64 2624: f6 e0 ldi r31, 0x06 ; 6 2626: 30 81 ld r19, Z 2628: 81 e0 ldi r24, 0x01 ; 1 262a: 90 e0 ldi r25, 0x00 ; 0 262c: 23 e0 ldi r18, 0x03 ; 3 262e: 24 0f add r18, r20 2630: 02 c0 rjmp .+4 ; 0x2636 2632: 88 0f add r24, r24 2634: 99 1f adc r25, r25 2636: 2a 95 dec r18 2638: e2 f7 brpl .-8 ; 0x2632 263a: 83 2b or r24, r19 263c: 80 83 st Z, r24 num_chan = 2; break; 263e: 71 c0 rjmp .+226 ; 0x2722 #endif #if defined(TCD0) case PWM_TCD0: config->tc = &TCD0; 2640: 80 e0 ldi r24, 0x00 ; 0 2642: 99 e0 ldi r25, 0x09 ; 9 2644: 88 83 st Y, r24 2646: 99 83 std Y+1, r25 ; 0x01 PORTD.DIR |= (1 << (channel-1)); 2648: e0 e6 ldi r30, 0x60 ; 96 264a: f6 e0 ldi r31, 0x06 ; 6 264c: 30 81 ld r19, Z 264e: 81 e0 ldi r24, 0x01 ; 1 2650: 90 e0 ldi r25, 0x00 ; 0 2652: 2f ef ldi r18, 0xFF ; 255 2654: 24 0f add r18, r20 2656: 02 c0 rjmp .+4 ; 0x265c 2658: 88 0f add r24, r24 265a: 99 1f adc r25, r25 265c: 2a 95 dec r18 265e: e2 f7 brpl .-8 ; 0x2658 2660: 83 2b or r24, r19 2662: 80 83 st Z, r24 num_chan = 4; break; 2664: 5e c0 rjmp .+188 ; 0x2722 #endif #if defined(TCD1) case PWM_TCD1: config->tc = &TCD1; 2666: 80 e4 ldi r24, 0x40 ; 64 2668: 99 e0 ldi r25, 0x09 ; 9 266a: 88 83 st Y, r24 266c: 99 83 std Y+1, r25 ; 0x01 PORTD.DIR |= (1 << (channel+3)); 266e: e0 e6 ldi r30, 0x60 ; 96 2670: f6 e0 ldi r31, 0x06 ; 6 2672: 30 81 ld r19, Z 2674: 81 e0 ldi r24, 0x01 ; 1 2676: 90 e0 ldi r25, 0x00 ; 0 2678: 23 e0 ldi r18, 0x03 ; 3 267a: 24 0f add r18, r20 267c: 02 c0 rjmp .+4 ; 0x2682 267e: 88 0f add r24, r24 2680: 99 1f adc r25, r25 2682: 2a 95 dec r18 2684: e2 f7 brpl .-8 ; 0x267e 2686: 83 2b or r24, r19 2688: 80 83 st Z, r24 num_chan = 2; break; 268a: 4b c0 rjmp .+150 ; 0x2722 #endif #if defined(TCE0) case PWM_TCE0: config->tc = &TCE0; 268c: 80 e0 ldi r24, 0x00 ; 0 268e: 9a e0 ldi r25, 0x0A ; 10 2690: 88 83 st Y, r24 2692: 99 83 std Y+1, r25 ; 0x01 PORTE.DIR |= (1 << (channel-1)); 2694: e0 e8 ldi r30, 0x80 ; 128 2696: f6 e0 ldi r31, 0x06 ; 6 2698: 30 81 ld r19, Z 269a: 81 e0 ldi r24, 0x01 ; 1 269c: 90 e0 ldi r25, 0x00 ; 0 269e: 2f ef ldi r18, 0xFF ; 255 26a0: 24 0f add r18, r20 26a2: 02 c0 rjmp .+4 ; 0x26a8 26a4: 88 0f add r24, r24 26a6: 99 1f adc r25, r25 26a8: 2a 95 dec r18 26aa: e2 f7 brpl .-8 ; 0x26a4 26ac: 83 2b or r24, r19 26ae: 80 83 st Z, r24 num_chan = 4; break; 26b0: 38 c0 rjmp .+112 ; 0x2722 #endif #if defined(TCE1) case PWM_TCE1: config->tc = &TCE1; 26b2: 80 e4 ldi r24, 0x40 ; 64 26b4: 9a e0 ldi r25, 0x0A ; 10 26b6: 88 83 st Y, r24 26b8: 99 83 std Y+1, r25 ; 0x01 PORTE.DIR |= (1 << (channel+3)); 26ba: e0 e8 ldi r30, 0x80 ; 128 26bc: f6 e0 ldi r31, 0x06 ; 6 26be: 30 81 ld r19, Z 26c0: 81 e0 ldi r24, 0x01 ; 1 26c2: 90 e0 ldi r25, 0x00 ; 0 26c4: 23 e0 ldi r18, 0x03 ; 3 26c6: 24 0f add r18, r20 26c8: 02 c0 rjmp .+4 ; 0x26ce 26ca: 88 0f add r24, r24 26cc: 99 1f adc r25, r25 26ce: 2a 95 dec r18 26d0: e2 f7 brpl .-8 ; 0x26ca 26d2: 83 2b or r24, r19 26d4: 80 83 st Z, r24 num_chan = 2; break; 26d6: 25 c0 rjmp .+74 ; 0x2722 #endif #if defined(TCF0) case PWM_TCF0: config->tc = &TCF0; 26d8: 80 e0 ldi r24, 0x00 ; 0 26da: 9b e0 ldi r25, 0x0B ; 11 26dc: 88 83 st Y, r24 26de: 99 83 std Y+1, r25 ; 0x01 PORTF.DIR |= (1 << (channel-1)); 26e0: e0 ea ldi r30, 0xA0 ; 160 26e2: f6 e0 ldi r31, 0x06 ; 6 26e4: 30 81 ld r19, Z 26e6: 81 e0 ldi r24, 0x01 ; 1 26e8: 90 e0 ldi r25, 0x00 ; 0 26ea: 2f ef ldi r18, 0xFF ; 255 26ec: 24 0f add r18, r20 26ee: 02 c0 rjmp .+4 ; 0x26f4 26f0: 88 0f add r24, r24 26f2: 99 1f adc r25, r25 26f4: 2a 95 dec r18 26f6: e2 f7 brpl .-8 ; 0x26f0 26f8: 83 2b or r24, r19 26fa: 80 83 st Z, r24 num_chan = 4; break; 26fc: 12 c0 rjmp .+36 ; 0x2722 #endif #if defined(TCF1) case PWM_TCF1: config->tc = &TCF1; 26fe: 80 e4 ldi r24, 0x40 ; 64 2700: 9b e0 ldi r25, 0x0B ; 11 2702: 88 83 st Y, r24 2704: 99 83 std Y+1, r25 ; 0x01 PORTF.DIR |= (1 << (channel+3)); 2706: e0 ea ldi r30, 0xA0 ; 160 2708: f6 e0 ldi r31, 0x06 ; 6 270a: 30 81 ld r19, Z 270c: 81 e0 ldi r24, 0x01 ; 1 270e: 90 e0 ldi r25, 0x00 ; 0 2710: 23 e0 ldi r18, 0x03 ; 3 2712: 24 0f add r18, r20 2714: 02 c0 rjmp .+4 ; 0x271a 2716: 88 0f add r24, r24 2718: 99 1f adc r25, r25 271a: 2a 95 dec r18 271c: e2 f7 brpl .-8 ; 0x2716 271e: 83 2b or r24, r19 2720: 80 83 st Z, r24 } /* Make sure we are not given a channel number larger than this TC can handle */ Assert(channel <= num_chan); config->channel = channel; 2722: 4a 83 std Y+2, r20 ; 0x02 /* Set the correct cc_mask */ switch (channel) { 2724: 42 30 cpi r20, 0x02 ; 2 2726: 61 f0 breq .+24 ; 0x2740 2728: 18 f4 brcc .+6 ; 0x2730 272a: 41 30 cpi r20, 0x01 ; 1 272c: 31 f0 breq .+12 ; 0x273a 272e: 10 c0 rjmp .+32 ; 0x2750 2730: 43 30 cpi r20, 0x03 ; 3 2732: 49 f0 breq .+18 ; 0x2746 2734: 44 30 cpi r20, 0x04 ; 4 2736: 51 f0 breq .+20 ; 0x274c 2738: 0b c0 rjmp .+22 ; 0x2750 case PWM_CH_A: config->cc_mask = TC_CCAEN; 273a: 80 e1 ldi r24, 0x10 ; 16 273c: 8b 83 std Y+3, r24 ; 0x03 break; 273e: 08 c0 rjmp .+16 ; 0x2750 case PWM_CH_B: config->cc_mask = TC_CCBEN; 2740: 80 e2 ldi r24, 0x20 ; 32 2742: 8b 83 std Y+3, r24 ; 0x03 break; 2744: 05 c0 rjmp .+10 ; 0x2750 case PWM_CH_C: config->cc_mask = TC_CCCEN; 2746: 80 e4 ldi r24, 0x40 ; 64 2748: 8b 83 std Y+3, r24 ; 0x03 break; 274a: 02 c0 rjmp .+4 ; 0x2750 case PWM_CH_D: config->cc_mask = TC_CCDEN; 274c: 80 e8 ldi r24, 0x80 ; 128 274e: 8b 83 std Y+3, r24 ; 0x03 Assert(false); break; } /* Enable peripheral clock for this TC */ tc_enable(config->tc); 2750: 88 81 ld r24, Y 2752: 99 81 ldd r25, Y+1 ; 0x01 2754: 44 d9 rcall .-3448 ; 0x19de /* Set this TC's waveform generator in single slope mode */ tc_set_wgm(config->tc, TC_WG_SS); 2756: e8 81 ld r30, Y 2758: f9 81 ldd r31, Y+1 ; 0x01 * \param tc Pointer to TC module. * \param wgm : waveform generator */ static inline void tc_set_wgm(volatile void *tc, enum tc_wg_mode_t wgm) { ((TC0_t *)tc)->CTRLB = (((TC0_t *)tc)->CTRLB & ~TC0_WGMODE_gm) | wgm; 275a: 81 81 ldd r24, Z+1 ; 0x01 275c: 88 7f andi r24, 0xF8 ; 248 275e: 83 60 ori r24, 0x03 ; 3 2760: 81 83 std Z+1, r24 ; 0x01 /* Default values (disable TC and set minimum period)*/ config->period = 0; 2762: 1d 82 std Y+5, r1 ; 0x05 2764: 1e 82 std Y+6, r1 ; 0x06 config->clk_sel = PWM_CLK_OFF; 2766: 1c 82 std Y+4, r1 ; 0x04 tc_write_clock_source(config->tc, PWM_CLK_OFF); 2768: e8 81 ld r30, Y 276a: f9 81 ldd r31, Y+1 ; 0x01 */ static inline void tc_write_clock_source(volatile void *tc, TC_CLKSEL_t TC_CLKSEL_enum) { ((TC0_t *)tc)->CTRLA = (((TC0_t *)tc)->CTRLA & ~TC0_CLKSEL_gm) | 276c: 80 81 ld r24, Z * \note Configuring the clock also starts the timer */ static inline void tc_write_clock_source(volatile void *tc, TC_CLKSEL_t TC_CLKSEL_enum) { ((TC0_t *)tc)->CTRLA = 276e: 80 7f andi r24, 0xF0 ; 240 2770: 80 83 st Z, r24 /* Set the PWM frequency */ pwm_set_frequency(config, freq_hz); 2772: b8 01 movw r22, r16 2774: ce 01 movw r24, r28 2776: bf de rcall .-642 ; 0x24f6 } 2778: df 91 pop r29 277a: cf 91 pop r28 277c: 1f 91 pop r17 277e: 0f 91 pop r16 2780: 08 95 ret 00002782 : * * \param *config Pointer to the PWM configuration struct * \param duty_cycle_scale Duty cycle as a value between 0 and 100. */ void pwm_start(struct pwm_config *config, uint8_t duty_cycle_scale) { 2782: cf 93 push r28 2784: df 93 push r29 2786: ec 01 movw r28, r24 */ static inline void pwm_set_duty_cycle_percent(struct pwm_config *config, uint8_t duty_cycle_scale) { Assert( duty_cycle_scale <= 100 ); tc_write_cc_buffer(config->tc, (enum tc_cc_channel_t)config->channel, 2788: 2d 81 ldd r18, Y+5 ; 0x05 278a: 3e 81 ldd r19, Y+6 ; 0x06 278c: a6 2f mov r26, r22 278e: b0 e0 ldi r27, 0x00 ; 0 2790: 0e 94 58 3a call 0x74b0 ; 0x74b0 <__umulhisi3> 2794: 24 e6 ldi r18, 0x64 ; 100 2796: 30 e0 ldi r19, 0x00 ; 0 2798: 40 e0 ldi r20, 0x00 ; 0 279a: 50 e0 ldi r21, 0x00 ; 0 279c: 0e 94 2d 3a call 0x745a ; 0x745a <__udivmodsi4> 27a0: 8a 81 ldd r24, Y+2 ; 0x02 27a2: e8 81 ld r30, Y 27a4: f9 81 ldd r31, Y+1 ; 0x01 * \param buffer_value Counter Buffer value */ static inline void tc_write_cc_buffer(volatile void *tc, enum tc_cc_channel_t channel_index, uint16_t buffer_value) { if (tc_is_tc0(void *tc)) { 27a6: e6 fd sbrc r30, 6 27a8: 17 c0 rjmp .+46 ; 0x27d8 switch (channel_index) { 27aa: 82 30 cpi r24, 0x02 ; 2 27ac: 61 f0 breq .+24 ; 0x27c6 27ae: 18 f4 brcc .+6 ; 0x27b6 27b0: 81 30 cpi r24, 0x01 ; 1 27b2: 31 f0 breq .+12 ; 0x27c0 27b4: 1b c0 rjmp .+54 ; 0x27ec 27b6: 83 30 cpi r24, 0x03 ; 3 27b8: 49 f0 breq .+18 ; 0x27cc 27ba: 84 30 cpi r24, 0x04 ; 4 27bc: 51 f0 breq .+20 ; 0x27d2 27be: 16 c0 rjmp .+44 ; 0x27ec case TC_CCA: ((TC0_t *)tc)->CCABUF = buffer_value; 27c0: 20 af std Z+56, r18 ; 0x38 27c2: 31 af std Z+57, r19 ; 0x39 27c4: 13 c0 rjmp .+38 ; 0x27ec break; case TC_CCB: ((TC0_t *)tc)->CCBBUF = buffer_value; 27c6: 22 af std Z+58, r18 ; 0x3a 27c8: 33 af std Z+59, r19 ; 0x3b 27ca: 10 c0 rjmp .+32 ; 0x27ec break; case TC_CCC: ((TC0_t *)tc)->CCCBUF = buffer_value; 27cc: 24 af std Z+60, r18 ; 0x3c 27ce: 35 af std Z+61, r19 ; 0x3d 27d0: 0d c0 rjmp .+26 ; 0x27ec break; case TC_CCD: ((TC0_t *)tc)->CCDBUF = buffer_value; 27d2: 26 af std Z+62, r18 ; 0x3e 27d4: 37 af std Z+63, r19 ; 0x3f 27d6: 0a c0 rjmp .+20 ; 0x27ec break; } } else if (tc_is_tc1(void *tc)) { switch (channel_index) { 27d8: 81 30 cpi r24, 0x01 ; 1 27da: 19 f0 breq .+6 ; 0x27e2 27dc: 82 30 cpi r24, 0x02 ; 2 27de: 21 f0 breq .+8 ; 0x27e8 27e0: 05 c0 rjmp .+10 ; 0x27ec case TC_CCA: ((TC1_t *)tc)->CCABUF = buffer_value; 27e2: 20 af std Z+56, r18 ; 0x38 27e4: 31 af std Z+57, r19 ; 0x39 27e6: 02 c0 rjmp .+4 ; 0x27ec break; case TC_CCB: ((TC1_t *)tc)->CCBBUF = buffer_value; 27e8: 22 af std Z+58, r18 ; 0x3a 27ea: 33 af std Z+59, r19 ; 0x3b /* Set given duty cycle */ pwm_set_duty_cycle_percent(config, duty_cycle_scale); /* Set correct TC period */ tc_write_period(config->tc, config->period); 27ec: 8d 81 ldd r24, Y+5 ; 0x05 27ee: 9e 81 ldd r25, Y+6 ; 0x06 27f0: e8 81 ld r30, Y 27f2: f9 81 ldd r31, Y+1 ; 0x01 * \param tc Pointer to TC module. * \param per_value Period value : PER */ static inline void tc_write_period(volatile void *tc, uint16_t per_value) { ((TC0_t *)tc)->PER = per_value; 27f4: 86 a3 std Z+38, r24 ; 0x26 27f6: 97 a3 std Z+39, r25 ; 0x27 /* Enable CC channel for this TC */ tc_enable_cc_channels(config->tc, config->cc_mask); 27f8: 8b 81 ldd r24, Y+3 ; 0x03 27fa: e8 81 ld r30, Y 27fc: f9 81 ldd r31, Y+1 ; 0x01 * \param enablemask CC channel */ static inline void tc_enable_cc_channels(volatile void *tc, enum tc_cc_channel_mask_enable_t enablemask) { if (tc_is_tc0(void *tc)) { 27fe: e6 fd sbrc r30, 6 2800: 04 c0 rjmp .+8 ; 0x280a ((TC0_t *)tc)->CTRLB |= enablemask; 2802: 91 81 ldd r25, Z+1 ; 0x01 2804: 89 2b or r24, r25 2806: 81 83 std Z+1, r24 ; 0x01 2808: 04 c0 rjmp .+8 ; 0x2812 } else if (tc_is_tc1(void *tc)) { ((TC1_t *)tc)->CTRLB |= 280a: 91 81 ldd r25, Z+1 ; 0x01 280c: 80 73 andi r24, 0x30 ; 48 280e: 89 2b or r24, r25 2810: 81 83 std Z+1, r24 ; 0x01 /* Enable TC by setting correct clock prescaler */ tc_write_clock_source(config->tc, config->clk_sel); 2812: e8 81 ld r30, Y 2814: f9 81 ldd r31, Y+1 ; 0x01 */ static inline void tc_write_clock_source(volatile void *tc, TC_CLKSEL_t TC_CLKSEL_enum) { ((TC0_t *)tc)->CTRLA = (((TC0_t *)tc)->CTRLA & ~TC0_CLKSEL_gm) | 2816: 80 81 ld r24, Z * \note Configuring the clock also starts the timer */ static inline void tc_write_clock_source(volatile void *tc, TC_CLKSEL_t TC_CLKSEL_enum) { ((TC0_t *)tc)->CTRLA = 2818: 80 7f andi r24, 0xF0 ; 240 281a: 9c 81 ldd r25, Y+4 ; 0x04 281c: 89 2b or r24, r25 281e: 80 83 st Z, r24 } 2820: df 91 pop r29 2822: cf 91 pop r28 2824: 08 95 ret 00002826 : ds3231_status = true; } void ds3231_clear_ready(void) { ds3231_status = false; 2826: 10 92 1b 22 sts 0x221B, r1 ; 0x80221b 282a: 08 95 ret 0000282c : } void ds3231_set_time(uint8_t hours, uint8_t minutes, uint8_t seconds) { 282c: 1f 93 push r17 282e: cf 93 push r28 2830: df 93 push r29 2832: 16 2f mov r17, r22 2834: d4 2f mov r29, r20 //high is pm //low is am uint8_t pm_or_am = 0; if(hours >= 12) 2836: 8c 30 cpi r24, 0x0C ; 12 2838: 38 f0 brcs .+14 ; 0x2848 { if(hours == 24) 283a: 88 31 cpi r24, 0x18 ; 24 283c: 39 f0 breq .+14 ; 0x284c { hours -= 12; } else if(hours == 12) 283e: 8c 30 cpi r24, 0x0C ; 12 2840: 41 f0 breq .+16 ; 0x2852 { pm_or_am = 1; } else { hours -= 12; 2842: 8c 50 subi r24, 0x0C ; 12 pm_or_am = 1; 2844: 31 e0 ldi r19, 0x01 ; 1 2846: 06 c0 rjmp .+12 ; 0x2854 void ds3231_set_time(uint8_t hours, uint8_t minutes, uint8_t seconds) { //high is pm //low is am uint8_t pm_or_am = 0; 2848: 30 e0 ldi r19, 0x00 ; 0 284a: 04 c0 rjmp .+8 ; 0x2854 284c: 30 e0 ldi r19, 0x00 ; 0 if(hours >= 12) { if(hours == 24) { hours -= 12; 284e: 8c e0 ldi r24, 0x0C ; 12 2850: 01 c0 rjmp .+2 ; 0x2854 } else if(hours == 12) { pm_or_am = 1; 2852: 31 e0 ldi r19, 0x01 ; 1 } } uint8_t formattedSeconds = ((seconds / 10) << 4) | (seconds % 10); uint8_t formattedMinutes = ((minutes / 10) << 4) | (minutes % 10); uint8_t formattedHours = (1 << 6) | (pm_or_am << 5) | ((hours / 10) << 4) | (hours % 10); twi_write(DS3231_ADDR, DS3231_HOURS, formattedHours); 2854: cd ec ldi r28, 0xCD ; 205 2856: 8c 9f mul r24, r28 2858: 41 2d mov r20, r1 285a: 11 24 eor r1, r1 285c: 24 2f mov r18, r20 285e: 26 95 lsr r18 2860: 26 95 lsr r18 2862: 26 95 lsr r18 2864: 42 2f mov r20, r18 2866: 44 0f add r20, r20 2868: 94 2f mov r25, r20 286a: 99 0f add r25, r25 286c: 99 0f add r25, r25 286e: 94 0f add r25, r20 2870: 89 1b sub r24, r25 2872: 98 2f mov r25, r24 2874: 90 64 ori r25, 0x40 ; 64 2876: 83 2f mov r24, r19 2878: 82 95 swap r24 287a: 88 0f add r24, r24 287c: 80 7e andi r24, 0xE0 ; 224 287e: 89 2b or r24, r25 2880: 90 e1 ldi r25, 0x10 ; 16 2882: 29 9f mul r18, r25 2884: a0 01 movw r20, r0 2886: 11 24 eor r1, r1 2888: 48 2b or r20, r24 288a: 62 e0 ldi r22, 0x02 ; 2 288c: 88 e6 ldi r24, 0x68 ; 104 288e: 0e 94 69 2f call 0x5ed2 ; 0x5ed2 twi_write(DS3231_ADDR, DS3231_MINUTES, formattedMinutes); 2892: 1c 9f mul r17, r28 2894: 81 2d mov r24, r1 2896: 11 24 eor r1, r1 2898: 86 95 lsr r24 289a: 86 95 lsr r24 289c: 86 95 lsr r24 289e: 90 e1 ldi r25, 0x10 ; 16 28a0: 89 9f mul r24, r25 28a2: a0 01 movw r20, r0 28a4: 11 24 eor r1, r1 28a6: 88 0f add r24, r24 28a8: 98 2f mov r25, r24 28aa: 99 0f add r25, r25 28ac: 99 0f add r25, r25 28ae: 89 0f add r24, r25 28b0: 18 1b sub r17, r24 28b2: 41 2b or r20, r17 28b4: 61 e0 ldi r22, 0x01 ; 1 28b6: 88 e6 ldi r24, 0x68 ; 104 28b8: 0e 94 69 2f call 0x5ed2 ; 0x5ed2 twi_write(DS3231_ADDR, DS3231_SECONDS, formattedSeconds); 28bc: dc 9f mul r29, r28 28be: c1 2d mov r28, r1 28c0: 11 24 eor r1, r1 28c2: c6 95 lsr r28 28c4: c6 95 lsr r28 28c6: c6 95 lsr r28 28c8: 80 e1 ldi r24, 0x10 ; 16 28ca: c8 9f mul r28, r24 28cc: a0 01 movw r20, r0 28ce: 11 24 eor r1, r1 28d0: cc 0f add r28, r28 28d2: 8c 2f mov r24, r28 28d4: 88 0f add r24, r24 28d6: 88 0f add r24, r24 28d8: c8 0f add r28, r24 28da: dc 1b sub r29, r28 28dc: 4d 2b or r20, r29 28de: 60 e0 ldi r22, 0x00 ; 0 28e0: 88 e6 ldi r24, 0x68 ; 104 28e2: 0e 94 69 2f call 0x5ed2 ; 0x5ed2 } 28e6: df 91 pop r29 28e8: cf 91 pop r28 28ea: 1f 91 pop r17 28ec: 08 95 ret 000028ee : static uint8_t rtc_buffer[32]; static _Bool ds3231_status; static sw_time timeBank; void ds3231_init(void) { ds3231_status = false; 28ee: 10 92 1b 22 sts 0x221B, r1 ; 0x80221b timeBank.hour = 0; timeBank.minute = 0; timeBank.second = 0; timeBank.pm_or_am = 1; //reset and go twi_write(DS3231_ADDR, DS3231_CTRL, 0x0); 28f2: 40 e0 ldi r20, 0x00 ; 0 28f4: 6e e0 ldi r22, 0x0E ; 14 28f6: 88 e6 ldi r24, 0x68 ; 104 28f8: 0e 94 69 2f call 0x5ed2 ; 0x5ed2 twi_write(DS3231_ADDR, DS3231_CTRL_STATUS, 0x0); 28fc: 40 e0 ldi r20, 0x00 ; 0 28fe: 6f e0 ldi r22, 0x0F ; 15 2900: 88 e6 ldi r24, 0x68 ; 104 2902: 0e 94 69 2f call 0x5ed2 ; 0x5ed2 //configure and enable interrupt PORTD.PIN0CTRL = PORT_ISC_FALLING_gc; 2906: e0 e6 ldi r30, 0x60 ; 96 2908: f6 e0 ldi r31, 0x06 ; 6 290a: 82 e0 ldi r24, 0x02 ; 2 290c: 80 8b std Z+16, r24 ; 0x10 PORTD.INT1MASK = PIN0_bm; 290e: 81 e0 ldi r24, 0x01 ; 1 2910: 83 87 std Z+11, r24 ; 0x0b //or equals OR ELSE PORTD.INTCTRL |= PORT_INT1LVL_HI_gc; 2912: 81 85 ldd r24, Z+9 ; 0x09 2914: 8c 60 ori r24, 0x0C ; 12 2916: 81 87 std Z+9, r24 ; 0x09 //swprintf(SWDEBUG, "%#x\n", rtc_buffer); ds3231_set_time(3, 58, 00); 2918: 40 e0 ldi r20, 0x00 ; 0 291a: 6a e3 ldi r22, 0x3A ; 58 291c: 83 e0 ldi r24, 0x03 ; 3 291e: 86 cf rjmp .-244 ; 0x282c 2920: 08 95 ret 00002922 : twi_write(DS3231_ADDR, DS3231_MINUTES, formattedMinutes); twi_write(DS3231_ADDR, DS3231_SECONDS, formattedSeconds); } void ds3231_get_time(sw_time* time) { 2922: cf 93 push r28 2924: df 93 push r29 2926: ec 01 movw r28, r24 twi_read(DS3231_ADDR, DS3231_SECONDS, 3, rtc_buffer); 2928: 2c e1 ldi r18, 0x1C ; 28 292a: 32 e2 ldi r19, 0x22 ; 34 292c: 43 e0 ldi r20, 0x03 ; 3 292e: 60 e0 ldi r22, 0x00 ; 0 2930: 88 e6 ldi r24, 0x68 ; 104 2932: 0e 94 7a 2f call 0x5ef4 ; 0x5ef4 uint8_t hours = rtc_buffer[2]; 2936: ec e1 ldi r30, 0x1C ; 28 2938: f2 e2 ldi r31, 0x22 ; 34 293a: 22 81 ldd r18, Z+2 ; 0x02 uint8_t minutes = rtc_buffer[1]; 293c: 91 81 ldd r25, Z+1 ; 0x01 uint8_t seconds = rtc_buffer[0]; 293e: 80 81 ld r24, Z time->hour = (((hours & ~0b11101111) >> 4) * 10) + (hours & ~0b11110000); 2940: 24 fb bst r18, 4 2942: 33 27 eor r19, r19 2944: 30 f9 bld r19, 0 2946: 33 0f add r19, r19 2948: 43 2f mov r20, r19 294a: 44 0f add r20, r20 294c: 44 0f add r20, r20 294e: 34 0f add r19, r20 2950: 42 2f mov r20, r18 2952: 4f 70 andi r20, 0x0F ; 15 2954: 34 0f add r19, r20 2956: 38 83 st Y, r19 time->minute = (((minutes & ~0b00001111) >> 4) * 10) + (minutes & ~0b11110000); 2958: 39 2f mov r19, r25 295a: 36 95 lsr r19 295c: 36 95 lsr r19 295e: 36 95 lsr r19 2960: 3e 71 andi r19, 0x1E ; 30 2962: 43 2f mov r20, r19 2964: 44 0f add r20, r20 2966: 44 0f add r20, r20 2968: 34 0f add r19, r20 296a: 9f 70 andi r25, 0x0F ; 15 296c: 93 0f add r25, r19 296e: 99 83 std Y+1, r25 ; 0x01 time->second = (((seconds & ~0b00001111) >> 4) * 10) + (seconds & ~0b11110000); 2970: 98 2f mov r25, r24 2972: 96 95 lsr r25 2974: 96 95 lsr r25 2976: 96 95 lsr r25 2978: 9e 71 andi r25, 0x1E ; 30 297a: 39 2f mov r19, r25 297c: 33 0f add r19, r19 297e: 33 0f add r19, r19 2980: 93 0f add r25, r19 2982: 8f 70 andi r24, 0x0F ; 15 2984: 89 0f add r24, r25 2986: 8a 83 std Y+2, r24 ; 0x02 //pm is high, am is low time->pm_or_am = (hours & (1 << 5)) ? 1 : 0; 2988: 25 fb bst r18, 5 298a: 22 27 eor r18, r18 298c: 20 f9 bld r18, 0 298e: 2b 83 std Y+3, r18 ; 0x03 } 2990: df 91 pop r29 2992: cf 91 pop r28 2994: 08 95 ret 00002996 : _Bool ds3231_is_ready(void) { return ds3231_status; } 2996: 80 91 1b 22 lds r24, 0x221B ; 0x80221b 299a: 08 95 ret 0000299c <__vector_65>: ISR(PORTD_INT1_vect) { 299c: 1f 92 push r1 299e: 0f 92 push r0 29a0: 0f b6 in r0, 0x3f ; 63 29a2: 0f 92 push r0 29a4: 11 24 eor r1, r1 29a6: 08 b6 in r0, 0x38 ; 56 29a8: 0f 92 push r0 29aa: 18 be out 0x38, r1 ; 56 29ac: 8f 93 push r24 ds3231_set_time(3, 58, 00); } void ds3231_set_ready(void) { ds3231_status = true; 29ae: 81 e0 ldi r24, 0x01 ; 1 29b0: 80 93 1b 22 sts 0x221B, r24 ; 0x80221b } ISR(PORTD_INT1_vect) { ds3231_set_ready(); 29b4: 8f 91 pop r24 29b6: 0f 90 pop r0 29b8: 08 be out 0x38, r0 ; 56 29ba: 0f 90 pop r0 29bc: 0f be out 0x3f, r0 ; 63 29be: 0f 90 pop r0 29c0: 1f 90 pop r1 29c2: 18 95 reti 000029c4 : 29c4: fc 01 movw r30, r24 29c6: 12 82 std Z+2, r1 ; 0x02 29c8: a0 81 ld r26, Z 29ca: b1 81 ldd r27, Z+1 ; 0x01 29cc: 1c 92 st X, r1 29ce: 82 e0 ldi r24, 0x02 ; 2 29d0: 83 83 std Z+3, r24 ; 0x03 29d2: 08 95 ret 000029d4 : 29d4: 0f 93 push r16 29d6: 1f 93 push r17 29d8: cf 93 push r28 29da: df 93 push r29 29dc: 88 e1 ldi r24, 0x18 ; 24 29de: 90 e2 ldi r25, 0x20 ; 32 29e0: 0e 94 e2 2e call 0x5dc4 ; 0x5dc4 29e4: 9f 93 push r25 29e6: 8f 93 push r24 29e8: 8e e1 ldi r24, 0x1E ; 30 29ea: 90 e2 ldi r25, 0x20 ; 32 29ec: 9f 93 push r25 29ee: 8f 93 push r24 29f0: 88 e0 ldi r24, 0x08 ; 8 29f2: 8f 93 push r24 29f4: 80 ea ldi r24, 0xA0 ; 160 29f6: 8f 93 push r24 29f8: e0 91 3d 25 lds r30, 0x253D ; 0x80253d 29fc: f0 91 3e 25 lds r31, 0x253E ; 0x80253e 2a00: 19 95 eicall 2a02: cc e3 ldi r28, 0x3C ; 60 2a04: d2 e2 ldi r29, 0x22 ; 34 2a06: 04 e6 ldi r16, 0x64 ; 100 2a08: 12 e2 ldi r17, 0x22 ; 34 2a0a: 0f 90 pop r0 2a0c: 0f 90 pop r0 2a0e: 0f 90 pop r0 2a10: 0f 90 pop r0 2a12: 0f 90 pop r0 2a14: 0f 90 pop r0 2a16: ce 01 movw r24, r28 2a18: d5 df rcall .-86 ; 0x29c4 2a1a: 24 96 adiw r28, 0x04 ; 4 2a1c: c0 17 cp r28, r16 2a1e: d1 07 cpc r29, r17 2a20: d1 f7 brne .-12 ; 0x2a16 2a22: e6 e4 ldi r30, 0x46 ; 70 2a24: f9 e2 ldi r31, 0x29 ; 41 2a26: 80 e8 ldi r24, 0x80 ; 128 2a28: 95 e2 ldi r25, 0x25 ; 37 2a2a: a0 e0 ldi r26, 0x00 ; 0 2a2c: b0 e0 ldi r27, 0x00 ; 0 2a2e: 80 83 st Z, r24 2a30: 91 83 std Z+1, r25 ; 0x01 2a32: a2 83 std Z+2, r26 ; 0x02 2a34: b3 83 std Z+3, r27 ; 0x03 2a36: 81 e0 ldi r24, 0x01 ; 1 2a38: 86 83 std Z+6, r24 ; 0x06 2a3a: 15 82 std Z+5, r1 ; 0x05 2a3c: 83 e0 ldi r24, 0x03 ; 3 2a3e: 84 83 std Z+4, r24 ; 0x04 2a40: bf 01 movw r22, r30 2a42: 80 eb ldi r24, 0xB0 ; 176 2a44: 98 e0 ldi r25, 0x08 ; 8 2a46: 97 db rcall .-2258 ; 0x2176 2a48: 82 e2 ldi r24, 0x22 ; 34 2a4a: 90 e2 ldi r25, 0x20 ; 32 2a4c: 9f 93 push r25 2a4e: 8f 93 push r24 2a50: d8 e0 ldi r29, 0x08 ; 8 2a52: df 93 push r29 2a54: c0 eb ldi r28, 0xB0 ; 176 2a56: cf 93 push r28 2a58: e0 91 3d 25 lds r30, 0x253D ; 0x80253d 2a5c: f0 91 3e 25 lds r31, 0x253E ; 0x80253e 2a60: 19 95 eicall 2a62: 85 e3 ldi r24, 0x35 ; 53 2a64: 90 e2 ldi r25, 0x20 ; 32 2a66: 9f 93 push r25 2a68: 8f 93 push r24 2a6a: df 93 push r29 2a6c: cf 93 push r28 2a6e: e0 91 3d 25 lds r30, 0x253D ; 0x80253d 2a72: f0 91 3e 25 lds r31, 0x253E ; 0x80253e 2a76: 19 95 eicall 2a78: 86 e4 ldi r24, 0x46 ; 70 2a7a: 90 e2 ldi r25, 0x20 ; 32 2a7c: 9f 93 push r25 2a7e: 8f 93 push r24 2a80: df 93 push r29 2a82: cf 93 push r28 2a84: e0 91 3d 25 lds r30, 0x253D ; 0x80253d 2a88: f0 91 3e 25 lds r31, 0x253E ; 0x80253e 2a8c: 19 95 eicall 2a8e: 8a e7 ldi r24, 0x7A ; 122 2a90: 90 e2 ldi r25, 0x20 ; 32 2a92: 9f 93 push r25 2a94: 8f 93 push r24 2a96: df 93 push r29 2a98: cf 93 push r28 2a9a: e0 91 3d 25 lds r30, 0x253D ; 0x80253d 2a9e: f0 91 3e 25 lds r31, 0x253E ; 0x80253e 2aa2: 19 95 eicall 2aa4: 84 e9 ldi r24, 0x94 ; 148 2aa6: 90 e2 ldi r25, 0x20 ; 32 2aa8: 9f 93 push r25 2aaa: 8f 93 push r24 2aac: df 93 push r29 2aae: cf 93 push r28 2ab0: e0 91 3d 25 lds r30, 0x253D ; 0x80253d 2ab4: f0 91 3e 25 lds r31, 0x253E ; 0x80253e 2ab8: 19 95 eicall * \param level Interrupt level of the RXD interrupt. */ static inline void usart_set_rx_interrupt_level(USART_t *usart, enum usart_int_level_t level) { (usart)->CTRLA = ((usart)->CTRLA & ~USART_RXCINTLVL_gm) | 2aba: e0 eb ldi r30, 0xB0 ; 176 2abc: f8 e0 ldi r31, 0x08 ; 8 2abe: 83 81 ldd r24, Z+3 ; 0x03 2ac0: 8f 7c andi r24, 0xCF ; 207 2ac2: 80 62 ori r24, 0x20 ; 32 2ac4: 83 83 std Z+3, r24 ; 0x03 2ac6: 8d b7 in r24, 0x3d ; 61 2ac8: 9e b7 in r25, 0x3e ; 62 2aca: 44 96 adiw r24, 0x14 ; 20 2acc: 8d bf out 0x3d, r24 ; 61 2ace: 9e bf out 0x3e, r25 ; 62 2ad0: df 91 pop r29 2ad2: cf 91 pop r28 2ad4: 1f 91 pop r17 2ad6: 0f 91 pop r16 2ad8: 08 95 ret 00002ada <__vector_28>: 2ada: 1f 92 push r1 2adc: 0f 92 push r0 2ade: 0f b6 in r0, 0x3f ; 63 2ae0: 0f 92 push r0 2ae2: 11 24 eor r1, r1 2ae4: 08 b6 in r0, 0x38 ; 56 2ae6: 0f 92 push r0 2ae8: 18 be out 0x38, r1 ; 56 2aea: 09 b6 in r0, 0x39 ; 57 2aec: 0f 92 push r0 2aee: 19 be out 0x39, r1 ; 57 2af0: 0b b6 in r0, 0x3b ; 59 2af2: 0f 92 push r0 2af4: 1b be out 0x3b, r1 ; 59 2af6: 2f 93 push r18 2af8: 3f 93 push r19 2afa: 4f 93 push r20 2afc: 5f 93 push r21 2afe: 6f 93 push r22 2b00: 7f 93 push r23 2b02: 8f 93 push r24 2b04: 9f 93 push r25 2b06: af 93 push r26 2b08: bf 93 push r27 2b0a: ef 93 push r30 2b0c: ff 93 push r31 2b0e: 80 eb ldi r24, 0xB0 ; 176 2b10: 98 e0 ldi r25, 0x08 ; 8 2b12: 18 da rcall .-3024 ; 0x1f44 2b14: 80 93 45 29 sts 0x2945, r24 ; 0x802945 2b18: ff 91 pop r31 2b1a: ef 91 pop r30 2b1c: bf 91 pop r27 2b1e: af 91 pop r26 2b20: 9f 91 pop r25 2b22: 8f 91 pop r24 2b24: 7f 91 pop r23 2b26: 6f 91 pop r22 2b28: 5f 91 pop r21 2b2a: 4f 91 pop r20 2b2c: 3f 91 pop r19 2b2e: 2f 91 pop r18 2b30: 0f 90 pop r0 2b32: 0b be out 0x3b, r0 ; 59 2b34: 0f 90 pop r0 2b36: 09 be out 0x39, r0 ; 57 2b38: 0f 90 pop r0 2b3a: 08 be out 0x38, r0 ; 56 2b3c: 0f 90 pop r0 2b3e: 0f be out 0x3f, r0 ; 63 2b40: 0f 90 pop r0 2b42: 1f 90 pop r1 2b44: 18 95 reti 00002b46 <__portable_avr_delay_cycles>: groundAlt_Data.samplect = 1; bInitialAltitudeSet_MPL3 = true; set_ntcle_off(groundAlt_Data.temp); swprintf(SWDEBUG, "GROUND ALT: %-2.2f\n", groundAlt_Data.pressure); } 2b46: 04 c0 rjmp .+8 ; 0x2b50 <__portable_avr_delay_cycles+0xa> 2b48: 61 50 subi r22, 0x01 ; 1 2b4a: 71 09 sbc r23, r1 2b4c: 81 09 sbc r24, r1 2b4e: 91 09 sbc r25, r1 2b50: 61 15 cp r22, r1 2b52: 71 05 cpc r23, r1 2b54: 81 05 cpc r24, r1 2b56: 91 05 cpc r25, r1 2b58: b9 f7 brne .-18 ; 0x2b48 <__portable_avr_delay_cycles+0x2> 2b5a: 08 95 ret 00002b5c : 2b5c: 48 e0 ldi r20, 0x08 ; 8 2b5e: 66 e6 ldi r22, 0x66 ; 102 2b60: 72 e2 ldi r23, 0x22 ; 34 2b62: 86 ea ldi r24, 0xA6 ; 166 2b64: 92 e2 ldi r25, 0x22 ; 34 2b66: 0e 94 9d 2d call 0x5b3a ; 0x5b3a 2b6a: 48 e0 ldi r20, 0x08 ; 8 2b6c: 66 e8 ldi r22, 0x86 ; 134 2b6e: 72 e2 ldi r23, 0x22 ; 34 2b70: 8b ea ldi r24, 0xAB ; 171 2b72: 92 e2 ldi r25, 0x22 ; 34 2b74: 0e 94 9d 2d call 0x5b3a ; 0x5b3a 2b78: 10 92 65 22 sts 0x2265, r1 ; 0x802265 2b7c: 10 92 64 22 sts 0x2264, r1 ; 0x802264 2b80: 44 e0 ldi r20, 0x04 ; 4 2b82: 66 e2 ldi r22, 0x26 ; 38 2b84: 80 e6 ldi r24, 0x60 ; 96 2b86: 0e 94 69 2f call 0x5ed2 ; 0x5ed2 2b8a: 2b eb ldi r18, 0xBB ; 187 2b8c: 32 e2 ldi r19, 0x22 ; 34 2b8e: 41 e0 ldi r20, 0x01 ; 1 2b90: 66 e2 ldi r22, 0x26 ; 38 2b92: 80 e6 ldi r24, 0x60 ; 96 2b94: 0e 94 7a 2f call 0x5ef4 ; 0x5ef4 2b98: 80 91 bb 22 lds r24, 0x22BB ; 0x8022bb 2b9c: 82 fd sbrc r24, 2 2b9e: f5 cf rjmp .-22 ; 0x2b8a 2ba0: 47 e0 ldi r20, 0x07 ; 7 2ba2: 63 e1 ldi r22, 0x13 ; 19 2ba4: 80 e6 ldi r24, 0x60 ; 96 2ba6: 0e 94 69 2f call 0x5ed2 ; 0x5ed2 2baa: 40 e2 ldi r20, 0x20 ; 32 2bac: 68 e2 ldi r22, 0x28 ; 40 2bae: 80 e6 ldi r24, 0x60 ; 96 2bb0: 0e 94 69 2f call 0x5ed2 ; 0x5ed2 2bb4: 40 e8 ldi r20, 0x80 ; 128 2bb6: 69 e2 ldi r22, 0x29 ; 41 2bb8: 80 e6 ldi r24, 0x60 ; 96 2bba: 0e 94 69 2f call 0x5ed2 ; 0x5ed2 2bbe: 40 e8 ldi r20, 0x80 ; 128 2bc0: 6a e2 ldi r22, 0x2A ; 42 2bc2: 80 e6 ldi r24, 0x60 ; 96 2bc4: 0e 94 69 2f call 0x5ed2 ; 0x5ed2 2bc8: 48 e9 ldi r20, 0x98 ; 152 2bca: 66 e2 ldi r22, 0x26 ; 38 2bcc: 80 e6 ldi r24, 0x60 ; 96 2bce: 0e 94 69 2f call 0x5ed2 ; 0x5ed2 2bd2: 66 e5 ldi r22, 0x56 ; 86 2bd4: 73 e2 ldi r23, 0x23 ; 35 2bd6: 88 e0 ldi r24, 0x08 ; 8 2bd8: 90 e0 ldi r25, 0x00 ; 0 2bda: b5 df rcall .-150 ; 0x2b46 <__portable_avr_delay_cycles> 2bdc: e0 e6 ldi r30, 0x60 ; 96 2bde: f6 e0 ldi r31, 0x06 ; 6 2be0: 81 e3 ldi r24, 0x31 ; 49 2be2: 82 8b std Z+18, r24 ; 0x12 2be4: 84 e0 ldi r24, 0x04 ; 4 2be6: 82 87 std Z+10, r24 ; 0x0a 2be8: 81 85 ldd r24, Z+9 ; 0x09 2bea: 83 60 ori r24, 0x03 ; 3 2bec: 81 87 std Z+9, r24 ; 0x09 2bee: 08 95 ret 00002bf0 : 2bf0: cf 93 push r28 2bf2: df 93 push r29 2bf4: 20 91 64 22 lds r18, 0x2264 ; 0x802264 2bf8: 22 23 and r18, r18 2bfa: e1 f0 breq .+56 ; 0x2c34 2bfc: ec 01 movw r28, r24 2bfe: 8b ea ldi r24, 0xAB ; 171 2c00: 92 e2 ldi r25, 0x22 ; 34 2c02: 0e 94 f8 2c call 0x59f0 ; 0x59f0 2c06: 6d 83 std Y+5, r22 ; 0x05 2c08: 7e 83 std Y+6, r23 ; 0x06 2c0a: 8f 83 std Y+7, r24 ; 0x07 2c0c: 98 87 std Y+8, r25 ; 0x08 2c0e: 86 ea ldi r24, 0xA6 ; 166 2c10: 92 e2 ldi r25, 0x22 ; 34 2c12: 0e 94 f8 2c call 0x59f0 ; 0x59f0 2c16: 20 91 b1 22 lds r18, 0x22B1 ; 0x8022b1 2c1a: 30 91 b2 22 lds r19, 0x22B2 ; 0x8022b2 2c1e: 40 91 b3 22 lds r20, 0x22B3 ; 0x8022b3 2c22: 50 91 b4 22 lds r21, 0x22B4 ; 0x8022b4 2c26: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 2c2a: 69 83 std Y+1, r22 ; 0x01 2c2c: 7a 83 std Y+2, r23 ; 0x02 2c2e: 8b 83 std Y+3, r24 ; 0x03 2c30: 9c 83 std Y+4, r25 ; 0x04 2c32: 09 c0 rjmp .+18 ; 0x2c46 2c34: fc 01 movw r30, r24 2c36: 11 82 std Z+1, r1 ; 0x01 2c38: 12 82 std Z+2, r1 ; 0x02 2c3a: 13 82 std Z+3, r1 ; 0x03 2c3c: 14 82 std Z+4, r1 ; 0x04 2c3e: 15 82 std Z+5, r1 ; 0x05 2c40: 16 82 std Z+6, r1 ; 0x06 2c42: 17 82 std Z+7, r1 ; 0x07 2c44: 10 86 std Z+8, r1 ; 0x08 2c46: df 91 pop r29 2c48: cf 91 pop r28 2c4a: 08 95 ret 00002c4c : 2c4c: 80 91 65 22 lds r24, 0x2265 ; 0x802265 2c50: 08 95 ret 00002c52 : 2c52: 81 11 cpse r24, r1 2c54: 06 c0 rjmp .+12 ; 0x2c62 2c56: 4a e8 ldi r20, 0x8A ; 138 2c58: 66 e2 ldi r22, 0x26 ; 38 2c5a: 80 e6 ldi r24, 0x60 ; 96 2c5c: 0c 94 69 2f jmp 0x5ed2 ; 0x5ed2 2c60: 08 95 ret 2c62: 4a e0 ldi r20, 0x0A ; 10 2c64: 66 e2 ldi r22, 0x26 ; 38 2c66: 80 e6 ldi r24, 0x60 ; 96 2c68: 0c 94 69 2f jmp 0x5ed2 ; 0x5ed2 2c6c: 08 95 ret 00002c6e : 2c6e: cf 92 push r12 2c70: df 92 push r13 2c72: ef 92 push r14 2c74: ff 92 push r15 2c76: cf 93 push r28 2c78: df 93 push r29 2c7a: c0 eb ldi r28, 0xB0 ; 176 2c7c: d2 e2 ldi r29, 0x22 ; 34 2c7e: 69 85 ldd r22, Y+9 ; 0x09 2c80: 7a 85 ldd r23, Y+10 ; 0x0a 2c82: 07 2e mov r0, r23 2c84: 00 0c add r0, r0 2c86: 88 0b sbc r24, r24 2c88: 99 0b sbc r25, r25 2c8a: 0e 94 50 33 call 0x66a0 ; 0x66a0 <__floatsisf> 2c8e: 6b 01 movw r12, r22 2c90: 7c 01 movw r14, r24 2c92: 9b 01 movw r18, r22 2c94: ac 01 movw r20, r24 2c96: 69 81 ldd r22, Y+1 ; 0x01 2c98: 7a 81 ldd r23, Y+2 ; 0x02 2c9a: 8b 81 ldd r24, Y+3 ; 0x03 2c9c: 9c 81 ldd r25, Y+4 ; 0x04 2c9e: 0e 94 b5 32 call 0x656a ; 0x656a <__divsf3> 2ca2: 69 83 std Y+1, r22 ; 0x01 2ca4: 7a 83 std Y+2, r23 ; 0x02 2ca6: 8b 83 std Y+3, r24 ; 0x03 2ca8: 9c 83 std Y+4, r25 ; 0x04 2caa: a7 01 movw r20, r14 2cac: 96 01 movw r18, r12 2cae: 6d 81 ldd r22, Y+5 ; 0x05 2cb0: 7e 81 ldd r23, Y+6 ; 0x06 2cb2: 8f 81 ldd r24, Y+7 ; 0x07 2cb4: 98 85 ldd r25, Y+8 ; 0x08 2cb6: 0e 94 b5 32 call 0x656a ; 0x656a <__divsf3> 2cba: 6d 83 std Y+5, r22 ; 0x05 2cbc: 7e 83 std Y+6, r23 ; 0x06 2cbe: 8f 83 std Y+7, r24 ; 0x07 2cc0: 98 87 std Y+8, r25 ; 0x08 2cc2: 21 e0 ldi r18, 0x01 ; 1 2cc4: 30 e0 ldi r19, 0x00 ; 0 2cc6: 29 87 std Y+9, r18 ; 0x09 2cc8: 3a 87 std Y+10, r19 ; 0x0a 2cca: 20 93 64 22 sts 0x2264, r18 ; 0x802264 2cce: 0e 94 5c 30 call 0x60b8 ; 0x60b8 2cd2: 8c 81 ldd r24, Y+4 ; 0x04 2cd4: 8f 93 push r24 2cd6: 8b 81 ldd r24, Y+3 ; 0x03 2cd8: 8f 93 push r24 2cda: 8a 81 ldd r24, Y+2 ; 0x02 2cdc: 8f 93 push r24 2cde: 89 81 ldd r24, Y+1 ; 0x01 2ce0: 8f 93 push r24 2ce2: 86 ea ldi r24, 0xA6 ; 166 2ce4: 90 e2 ldi r25, 0x20 ; 32 2ce6: 9f 93 push r25 2ce8: 8f 93 push r24 2cea: 88 e0 ldi r24, 0x08 ; 8 2cec: 8f 93 push r24 2cee: 80 ea ldi r24, 0xA0 ; 160 2cf0: 8f 93 push r24 2cf2: e0 91 3d 25 lds r30, 0x253D ; 0x80253d 2cf6: f0 91 3e 25 lds r31, 0x253E ; 0x80253e 2cfa: 19 95 eicall 2cfc: 8d b7 in r24, 0x3d ; 61 2cfe: 9e b7 in r25, 0x3e ; 62 2d00: 08 96 adiw r24, 0x08 ; 8 2d02: 8d bf out 0x3d, r24 ; 61 2d04: 9e bf out 0x3e, r25 ; 62 2d06: df 91 pop r29 2d08: cf 91 pop r28 2d0a: ff 90 pop r15 2d0c: ef 90 pop r14 2d0e: df 90 pop r13 2d10: cf 90 pop r12 2d12: 08 95 ret 00002d14 : 2d14: 8f 92 push r8 2d16: 9f 92 push r9 2d18: af 92 push r10 2d1a: bf 92 push r11 2d1c: cf 92 push r12 2d1e: df 92 push r13 2d20: ef 92 push r14 2d22: ff 92 push r15 2d24: 0f 93 push r16 2d26: 1f 93 push r17 2d28: cf 93 push r28 2d2a: df 93 push r29 2d2c: 10 92 65 22 sts 0x2265, r1 ; 0x802265 2d30: 2b eb ldi r18, 0xBB ; 187 2d32: 32 e2 ldi r19, 0x22 ; 34 2d34: 46 e0 ldi r20, 0x06 ; 6 2d36: 60 e0 ldi r22, 0x00 ; 0 2d38: 80 e6 ldi r24, 0x60 ; 96 2d3a: 0e 94 7a 2f call 0x5ef4 ; 0x5ef4 2d3e: 80 91 bb 22 lds r24, 0x22BB ; 0x8022bb 2d42: 83 ff sbrs r24, 3 2d44: da c0 rjmp .+436 ; 0x2efa 2d46: cb eb ldi r28, 0xBB ; 187 2d48: d2 e2 ldi r29, 0x22 ; 34 2d4a: b9 80 ldd r11, Y+1 ; 0x01 2d4c: ca 80 ldd r12, Y+2 ; 0x02 2d4e: ab 80 ldd r10, Y+3 ; 0x03 2d50: 1c 81 ldd r17, Y+4 ; 0x04 2d52: 0d 81 ldd r16, Y+5 ; 0x05 2d54: 9e 01 movw r18, r28 2d56: 41 e0 ldi r20, 0x01 ; 1 2d58: 66 e2 ldi r22, 0x26 ; 38 2d5a: 80 e6 ldi r24, 0x60 ; 96 2d5c: 0e 94 7a 2f call 0x5ef4 ; 0x5ef4 2d60: 88 81 ld r24, Y 2d62: 88 23 and r24, r24 2d64: 1c f5 brge .+70 ; 0x2dac 2d66: 6c 2d mov r22, r12 2d68: 70 e0 ldi r23, 0x00 ; 0 2d6a: 7b 29 or r23, r11 2d6c: 07 2e mov r0, r23 2d6e: 00 0c add r0, r0 2d70: 88 0b sbc r24, r24 2d72: 99 0b sbc r25, r25 2d74: 0e 94 50 33 call 0x66a0 ; 0x66a0 <__floatsisf> 2d78: 6b 01 movw r12, r22 2d7a: 7c 01 movw r14, r24 2d7c: ca 2d mov r28, r10 2d7e: c2 95 swap r28 2d80: cf 70 andi r28, 0x0F ; 15 2d82: 6c 2f mov r22, r28 2d84: 70 e0 ldi r23, 0x00 ; 0 2d86: 80 e0 ldi r24, 0x00 ; 0 2d88: 90 e0 ldi r25, 0x00 ; 0 2d8a: 0e 94 50 33 call 0x66a0 ; 0x66a0 <__floatsisf> 2d8e: 20 e0 ldi r18, 0x00 ; 0 2d90: 30 e0 ldi r19, 0x00 ; 0 2d92: 40 e8 ldi r20, 0x80 ; 128 2d94: 5d e3 ldi r21, 0x3D ; 61 2d96: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 2d9a: 9b 01 movw r18, r22 2d9c: ac 01 movw r20, r24 2d9e: c7 01 movw r24, r14 2da0: b6 01 movw r22, r12 2da2: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 2da6: 6b 01 movw r12, r22 2da8: 7c 01 movw r14, r24 2daa: 2f c0 rjmp .+94 ; 0x2e0a 2dac: d1 2c mov r13, r1 2dae: e1 2c mov r14, r1 2db0: f1 2c mov r15, r1 2db2: fe 2c mov r15, r14 2db4: ed 2c mov r14, r13 2db6: dc 2c mov r13, r12 2db8: cc 24 eor r12, r12 2dba: eb 28 or r14, r11 2dbc: ca 28 or r12, r10 2dbe: ca 2d mov r28, r10 2dc0: c0 73 andi r28, 0x30 ; 48 2dc2: c2 95 swap r28 2dc4: cf 70 andi r28, 0x0F ; 15 2dc6: 6c 2f mov r22, r28 2dc8: 70 e0 ldi r23, 0x00 ; 0 2dca: 80 e0 ldi r24, 0x00 ; 0 2dcc: 90 e0 ldi r25, 0x00 ; 0 2dce: 0e 94 4e 33 call 0x669c ; 0x669c <__floatunsisf> 2dd2: 20 e0 ldi r18, 0x00 ; 0 2dd4: 30 e0 ldi r19, 0x00 ; 0 2dd6: 40 e8 ldi r20, 0x80 ; 128 2dd8: 5e e3 ldi r21, 0x3E ; 62 2dda: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 2dde: 4b 01 movw r8, r22 2de0: 5c 01 movw r10, r24 2de2: c7 01 movw r24, r14 2de4: b6 01 movw r22, r12 2de6: 68 94 set 2de8: 15 f8 bld r1, 5 2dea: 95 95 asr r25 2dec: 87 95 ror r24 2dee: 77 95 ror r23 2df0: 67 95 ror r22 2df2: 16 94 lsr r1 2df4: d1 f7 brne .-12 ; 0x2dea 2df6: 0e 94 50 33 call 0x66a0 ; 0x66a0 <__floatsisf> 2dfa: 9b 01 movw r18, r22 2dfc: ac 01 movw r20, r24 2dfe: c5 01 movw r24, r10 2e00: b4 01 movw r22, r8 2e02: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 2e06: 6b 01 movw r12, r22 2e08: 7c 01 movw r14, r24 2e0a: a7 01 movw r20, r14 2e0c: 96 01 movw r18, r12 2e0e: c7 01 movw r24, r14 2e10: b6 01 movw r22, r12 2e12: 0e 94 b5 35 call 0x6b6a ; 0x6b6a <__unordsf2> 2e16: 81 11 cpse r24, r1 2e18: 72 c0 rjmp .+228 ; 0x2efe 2e1a: 20 e0 ldi r18, 0x00 ; 0 2e1c: 30 e0 ldi r19, 0x00 ; 0 2e1e: a9 01 movw r20, r18 2e20: c7 01 movw r24, r14 2e22: b6 01 movw r22, r12 2e24: 0e 94 b1 32 call 0x6562 ; 0x6562 <__cmpsf2> 2e28: 88 23 and r24, r24 2e2a: 09 f4 brne .+2 ; 0x2e2e 2e2c: 6a c0 rjmp .+212 ; 0x2f02 2e2e: d0 2f mov r29, r16 2e30: d2 95 swap r29 2e32: df 70 andi r29, 0x0F ; 15 2e34: 6d 2f mov r22, r29 2e36: 70 e0 ldi r23, 0x00 ; 0 2e38: 80 e0 ldi r24, 0x00 ; 0 2e3a: 90 e0 ldi r25, 0x00 ; 0 2e3c: 0e 94 50 33 call 0x66a0 ; 0x66a0 <__floatsisf> 2e40: 20 e0 ldi r18, 0x00 ; 0 2e42: 30 e0 ldi r19, 0x00 ; 0 2e44: 40 e8 ldi r20, 0x80 ; 128 2e46: 5d e3 ldi r21, 0x3D ; 61 2e48: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 2e4c: 4b 01 movw r8, r22 2e4e: 5c 01 movw r10, r24 2e50: 61 2f mov r22, r17 2e52: 70 e0 ldi r23, 0x00 ; 0 2e54: 80 e0 ldi r24, 0x00 ; 0 2e56: 90 e0 ldi r25, 0x00 ; 0 2e58: 0e 94 4e 33 call 0x669c ; 0x669c <__floatunsisf> 2e5c: 9b 01 movw r18, r22 2e5e: ac 01 movw r20, r24 2e60: c5 01 movw r24, r10 2e62: b4 01 movw r22, r8 2e64: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 2e68: 4b 01 movw r8, r22 2e6a: 5c 01 movw r10, r24 2e6c: 9b 01 movw r18, r22 2e6e: ac 01 movw r20, r24 2e70: 0e 94 b5 35 call 0x6b6a ; 0x6b6a <__unordsf2> 2e74: 81 11 cpse r24, r1 2e76: 47 c0 rjmp .+142 ; 0x2f06 2e78: 20 e0 ldi r18, 0x00 ; 0 2e7a: 30 e0 ldi r19, 0x00 ; 0 2e7c: a9 01 movw r20, r18 2e7e: c5 01 movw r24, r10 2e80: b4 01 movw r22, r8 2e82: 0e 94 b1 32 call 0x6562 ; 0x6562 <__cmpsf2> 2e86: 88 23 and r24, r24 2e88: 09 f4 brne .+2 ; 0x2e8c 2e8a: 3f c0 rjmp .+126 ; 0x2f0a 2e8c: c0 91 64 22 lds r28, 0x2264 ; 0x802264 2e90: cc 23 and r28, r28 2e92: 69 f0 breq .+26 ; 0x2eae 2e94: b5 01 movw r22, r10 2e96: a4 01 movw r20, r8 2e98: 8b ea ldi r24, 0xAB ; 171 2e9a: 92 e2 ldi r25, 0x22 ; 34 2e9c: 0e 94 ce 2c call 0x599c ; 0x599c 2ea0: b7 01 movw r22, r14 2ea2: a6 01 movw r20, r12 2ea4: 86 ea ldi r24, 0xA6 ; 166 2ea6: 92 e2 ldi r25, 0x22 ; 34 2ea8: 0e 94 ce 2c call 0x599c ; 0x599c 2eac: 31 c0 rjmp .+98 ; 0x2f10 2eae: c0 eb ldi r28, 0xB0 ; 176 2eb0: d2 e2 ldi r29, 0x22 ; 34 2eb2: a7 01 movw r20, r14 2eb4: 96 01 movw r18, r12 2eb6: 69 81 ldd r22, Y+1 ; 0x01 2eb8: 7a 81 ldd r23, Y+2 ; 0x02 2eba: 8b 81 ldd r24, Y+3 ; 0x03 2ebc: 9c 81 ldd r25, Y+4 ; 0x04 2ebe: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 2ec2: 69 83 std Y+1, r22 ; 0x01 2ec4: 7a 83 std Y+2, r23 ; 0x02 2ec6: 8b 83 std Y+3, r24 ; 0x03 2ec8: 9c 83 std Y+4, r25 ; 0x04 2eca: a5 01 movw r20, r10 2ecc: 94 01 movw r18, r8 2ece: 6d 81 ldd r22, Y+5 ; 0x05 2ed0: 7e 81 ldd r23, Y+6 ; 0x06 2ed2: 8f 81 ldd r24, Y+7 ; 0x07 2ed4: 98 85 ldd r25, Y+8 ; 0x08 2ed6: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 2eda: 6d 83 std Y+5, r22 ; 0x05 2edc: 7e 83 std Y+6, r23 ; 0x06 2ede: 8f 83 std Y+7, r24 ; 0x07 2ee0: 98 87 std Y+8, r25 ; 0x08 2ee2: 89 85 ldd r24, Y+9 ; 0x09 2ee4: 9a 85 ldd r25, Y+10 ; 0x0a 2ee6: 01 96 adiw r24, 0x01 ; 1 2ee8: 89 87 std Y+9, r24 ; 0x09 2eea: 9a 87 std Y+10, r25 ; 0x0a 2eec: 80 38 cpi r24, 0x80 ; 128 2eee: 91 05 cpc r25, r1 2ef0: 74 f0 brlt .+28 ; 0x2f0e 2ef2: ce 01 movw r24, r28 2ef4: bc de rcall .-648 ; 0x2c6e 2ef6: c1 e0 ldi r28, 0x01 ; 1 2ef8: 0b c0 rjmp .+22 ; 0x2f10 2efa: c0 e0 ldi r28, 0x00 ; 0 2efc: 09 c0 rjmp .+18 ; 0x2f10 2efe: c0 e0 ldi r28, 0x00 ; 0 2f00: 07 c0 rjmp .+14 ; 0x2f10 2f02: c0 e0 ldi r28, 0x00 ; 0 2f04: 05 c0 rjmp .+10 ; 0x2f10 2f06: c0 e0 ldi r28, 0x00 ; 0 2f08: 03 c0 rjmp .+6 ; 0x2f10 2f0a: c0 e0 ldi r28, 0x00 ; 0 2f0c: 01 c0 rjmp .+2 ; 0x2f10 2f0e: c1 e0 ldi r28, 0x01 ; 1 2f10: 8c 2f mov r24, r28 2f12: df 91 pop r29 2f14: cf 91 pop r28 2f16: 1f 91 pop r17 2f18: 0f 91 pop r16 2f1a: ff 90 pop r15 2f1c: ef 90 pop r14 2f1e: df 90 pop r13 2f20: cf 90 pop r12 2f22: bf 90 pop r11 2f24: af 90 pop r10 2f26: 9f 90 pop r9 2f28: 8f 90 pop r8 2f2a: 08 95 ret 00002f2c <__vector_64>: _Bool mpl3_checkbInitialAltitudeSet(void) { return bInitialAltitudeSet_MPL3; 2f2c: 1f 92 push r1 2f2e: 0f 92 push r0 2f30: 0f b6 in r0, 0x3f ; 63 2f32: 0f 92 push r0 2f34: 11 24 eor r1, r1 2f36: 08 b6 in r0, 0x38 ; 56 2f38: 0f 92 push r0 2f3a: 18 be out 0x38, r1 ; 56 2f3c: 8f 93 push r24 void mpl3_clear_data_flag(void) { b_mpl3fired = false; } 2f3e: 81 e0 ldi r24, 0x01 ; 1 2f40: 80 93 65 22 sts 0x2265, r24 ; 0x802265 _Bool mpl3_checkbInitialAltitudeSet(void) { return bInitialAltitudeSet_MPL3; } 2f44: 8f 91 pop r24 2f46: 0f 90 pop r0 2f48: 08 be out 0x38, r0 ; 56 2f4a: 0f 90 pop r0 2f4c: 0f be out 0x3f, r0 ; 63 2f4e: 0f 90 pop r0 2f50: 1f 90 pop r1 2f52: 18 95 reti 00002f54 <__portable_avr_delay_cycles>: { case MAG_14BITS: mag_resolution = (float)(10.f * 4912.f / 8190.f); break; case MAG_16BITS: mag_resolution = (float)(10.f * 4912.f / 32760.f); 2f54: 04 c0 rjmp .+8 ; 0x2f5e <__portable_avr_delay_cycles+0xa> 2f56: 61 50 subi r22, 0x01 ; 1 2f58: 71 09 sbc r23, r1 2f5a: 81 09 sbc r24, r1 2f5c: 91 09 sbc r25, r1 2f5e: 61 15 cp r22, r1 2f60: 71 05 cpc r23, r1 2f62: 81 05 cpc r24, r1 2f64: 91 05 cpc r25, r1 2f66: b9 f7 brne .-18 ; 0x2f56 <__portable_avr_delay_cycles+0x2> 2f68: 08 95 ret 00002f6a : 2f6a: 80 93 89 24 sts 0x2489, r24 ; 0x802489 2f6e: 08 95 ret 00002f70 : 2f70: 80 91 89 24 lds r24, 0x2489 ; 0x802489 2f74: 08 95 ret 00002f76 : 2f76: 68 2f mov r22, r24 2f78: 70 e0 ldi r23, 0x00 ; 0 2f7a: 88 ee ldi r24, 0xE8 ; 232 2f7c: 93 e0 ldi r25, 0x03 ; 3 2f7e: 0e 94 06 3a call 0x740c ; 0x740c <__udivmodhi4> 2f82: 4f ef ldi r20, 0xFF ; 255 2f84: 46 0f add r20, r22 2f86: 69 e1 ldi r22, 0x19 ; 25 2f88: 89 e6 ldi r24, 0x69 ; 105 2f8a: 0c 94 69 2f jmp 0x5ed2 ; 0x5ed2 2f8e: 08 95 ret 00002f90 : 2f90: cf 93 push r28 2f92: df 93 push r29 2f94: ec 01 movw r28, r24 2f96: 84 e4 ldi r24, 0x44 ; 68 2f98: 94 e2 ldi r25, 0x24 ; 36 2f9a: 0e 94 f8 2c call 0x59f0 ; 0x59f0 2f9e: 68 83 st Y, r22 2fa0: 79 83 std Y+1, r23 ; 0x01 2fa2: 8a 83 std Y+2, r24 ; 0x02 2fa4: 9b 83 std Y+3, r25 ; 0x03 2fa6: 87 e1 ldi r24, 0x17 ; 23 2fa8: 94 e2 ldi r25, 0x24 ; 36 2faa: 0e 94 f8 2c call 0x59f0 ; 0x59f0 2fae: 6c 83 std Y+4, r22 ; 0x04 2fb0: 7d 83 std Y+5, r23 ; 0x05 2fb2: 8e 83 std Y+6, r24 ; 0x06 2fb4: 9f 83 std Y+7, r25 ; 0x07 2fb6: 8a ee ldi r24, 0xEA ; 234 2fb8: 93 e2 ldi r25, 0x23 ; 35 2fba: 0e 94 f8 2c call 0x59f0 ; 0x59f0 2fbe: 68 87 std Y+8, r22 ; 0x08 2fc0: 79 87 std Y+9, r23 ; 0x09 2fc2: 8a 87 std Y+10, r24 ; 0x0a 2fc4: 9b 87 std Y+11, r25 ; 0x0b 2fc6: df 91 pop r29 2fc8: cf 91 pop r28 2fca: 08 95 ret 00002fcc : 2fcc: cf 93 push r28 2fce: df 93 push r29 2fd0: ec 01 movw r28, r24 2fd2: 8d eb ldi r24, 0xBD ; 189 2fd4: 93 e2 ldi r25, 0x23 ; 35 2fd6: 0e 94 cd 2d call 0x5b9a ; 0x5b9a 2fda: 68 83 st Y, r22 2fdc: 79 83 std Y+1, r23 ; 0x01 2fde: 8a 83 std Y+2, r24 ; 0x02 2fe0: 9b 83 std Y+3, r25 ; 0x03 2fe2: 80 e9 ldi r24, 0x90 ; 144 2fe4: 93 e2 ldi r25, 0x23 ; 35 2fe6: 0e 94 cd 2d call 0x5b9a ; 0x5b9a 2fea: 6c 83 std Y+4, r22 ; 0x04 2fec: 7d 83 std Y+5, r23 ; 0x05 2fee: 8e 83 std Y+6, r24 ; 0x06 2ff0: 9f 83 std Y+7, r25 ; 0x07 2ff2: 83 e6 ldi r24, 0x63 ; 99 2ff4: 93 e2 ldi r25, 0x23 ; 35 2ff6: 0e 94 cd 2d call 0x5b9a ; 0x5b9a 2ffa: 68 87 std Y+8, r22 ; 0x08 2ffc: 79 87 std Y+9, r23 ; 0x09 2ffe: 8a 87 std Y+10, r24 ; 0x0a 3000: 9b 87 std Y+11, r25 ; 0x0b 3002: df 91 pop r29 3004: cf 91 pop r28 3006: 08 95 ret 00003008 : 3008: 2f 92 push r2 300a: 3f 92 push r3 300c: 4f 92 push r4 300e: 5f 92 push r5 3010: 6f 92 push r6 3012: 7f 92 push r7 3014: 8f 92 push r8 3016: 9f 92 push r9 3018: af 92 push r10 301a: bf 92 push r11 301c: cf 92 push r12 301e: df 92 push r13 3020: ef 92 push r14 3022: ff 92 push r15 3024: 0f 93 push r16 3026: 1f 93 push r17 3028: cf 93 push r28 302a: df 93 push r29 302c: cd b7 in r28, 0x3d ; 61 302e: de b7 in r29, 0x3e ; 62 3030: a4 97 sbiw r28, 0x24 ; 36 3032: cd bf out 0x3d, r28 ; 61 3034: de bf out 0x3e, r29 ; 62 3036: fc 01 movw r30, r24 3038: a0 80 ld r10, Z 303a: b1 80 ldd r11, Z+1 ; 0x01 303c: c2 80 ldd r12, Z+2 ; 0x02 303e: d3 80 ldd r13, Z+3 ; 0x03 3040: e4 88 ldd r14, Z+20 ; 0x14 3042: f5 88 ldd r15, Z+21 ; 0x15 3044: 06 89 ldd r16, Z+22 ; 0x16 3046: 17 89 ldd r17, Z+23 ; 0x17 3048: 20 89 ldd r18, Z+16 ; 0x10 304a: 31 89 ldd r19, Z+17 ; 0x11 304c: 42 89 ldd r20, Z+18 ; 0x12 304e: 53 89 ldd r21, Z+19 ; 0x13 3050: 44 84 ldd r4, Z+12 ; 0x0c 3052: 55 84 ldd r5, Z+13 ; 0x0d 3054: 66 84 ldd r6, Z+14 ; 0x0e 3056: 77 84 ldd r7, Z+15 ; 0x0f 3058: 80 a1 ldd r24, Z+32 ; 0x20 305a: 91 a1 ldd r25, Z+33 ; 0x21 305c: a2 a1 ldd r26, Z+34 ; 0x22 305e: b3 a1 ldd r27, Z+35 ; 0x23 3060: b0 58 subi r27, 0x80 ; 128 3062: bf 93 push r27 3064: af 93 push r26 3066: 9f 93 push r25 3068: 8f 93 push r24 306a: 87 8d ldd r24, Z+31 ; 0x1f 306c: 8f 93 push r24 306e: 86 8d ldd r24, Z+30 ; 0x1e 3070: 8f 93 push r24 3072: 85 8d ldd r24, Z+29 ; 0x1d 3074: 8f 93 push r24 3076: 84 8d ldd r24, Z+28 ; 0x1c 3078: 8f 93 push r24 307a: 83 8d ldd r24, Z+27 ; 0x1b 307c: 8f 93 push r24 307e: 82 8d ldd r24, Z+26 ; 0x1a 3080: 8f 93 push r24 3082: 81 8d ldd r24, Z+25 ; 0x19 3084: 8f 93 push r24 3086: 80 8d ldd r24, Z+24 ; 0x18 3088: 8f 93 push r24 308a: 83 85 ldd r24, Z+11 ; 0x0b 308c: 8f 93 push r24 308e: 82 85 ldd r24, Z+10 ; 0x0a 3090: 8f 93 push r24 3092: 81 85 ldd r24, Z+9 ; 0x09 3094: 8f 93 push r24 3096: 80 85 ldd r24, Z+8 ; 0x08 3098: 8f 93 push r24 309a: 87 81 ldd r24, Z+7 ; 0x07 309c: 8f 93 push r24 309e: 86 81 ldd r24, Z+6 ; 0x06 30a0: 8f 93 push r24 30a2: 85 81 ldd r24, Z+5 ; 0x05 30a4: 8f 93 push r24 30a6: 84 81 ldd r24, Z+4 ; 0x04 30a8: 8f 93 push r24 30aa: c3 01 movw r24, r6 30ac: b2 01 movw r22, r4 30ae: 0e 94 22 24 call 0x4844 ; 0x4844 30b2: 60 91 00 20 lds r22, 0x2000 ; 0x802000 <__data_start> 30b6: 70 91 01 20 lds r23, 0x2001 ; 0x802001 <__data_start+0x1> 30ba: 80 91 02 20 lds r24, 0x2002 ; 0x802002 <__data_start+0x2> 30be: 90 91 03 20 lds r25, 0x2003 ; 0x802003 <__data_start+0x3> 30c2: 20 91 00 20 lds r18, 0x2000 ; 0x802000 <__data_start> 30c6: 30 91 01 20 lds r19, 0x2001 ; 0x802001 <__data_start+0x1> 30ca: 40 91 02 20 lds r20, 0x2002 ; 0x802002 <__data_start+0x2> 30ce: 50 91 03 20 lds r21, 0x2003 ; 0x802003 <__data_start+0x3> 30d2: 80 90 a4 24 lds r8, 0x24A4 ; 0x8024a4 30d6: 90 90 a5 24 lds r9, 0x24A5 ; 0x8024a5 30da: a0 90 a6 24 lds r10, 0x24A6 ; 0x8024a6 30de: b0 90 a7 24 lds r11, 0x24A7 ; 0x8024a7 30e2: 40 90 a4 24 lds r4, 0x24A4 ; 0x8024a4 30e6: 50 90 a5 24 lds r5, 0x24A5 ; 0x8024a5 30ea: 60 90 a6 24 lds r6, 0x24A6 ; 0x8024a6 30ee: 70 90 a7 24 lds r7, 0x24A7 ; 0x8024a7 30f2: e0 90 a0 24 lds r14, 0x24A0 ; 0x8024a0 30f6: f0 90 a1 24 lds r15, 0x24A1 ; 0x8024a1 30fa: 00 91 a2 24 lds r16, 0x24A2 ; 0x8024a2 30fe: 10 91 a3 24 lds r17, 0x24A3 ; 0x8024a3 3102: e9 82 std Y+1, r14 ; 0x01 3104: fa 82 std Y+2, r15 ; 0x02 3106: 0b 83 std Y+3, r16 ; 0x03 3108: 1c 83 std Y+4, r17 ; 0x04 310a: e0 90 a0 24 lds r14, 0x24A0 ; 0x8024a0 310e: f0 90 a1 24 lds r15, 0x24A1 ; 0x8024a1 3112: 00 91 a2 24 lds r16, 0x24A2 ; 0x8024a2 3116: 10 91 a3 24 lds r17, 0x24A3 ; 0x8024a3 311a: ed 82 std Y+5, r14 ; 0x05 311c: fe 82 std Y+6, r15 ; 0x06 311e: 0f 83 std Y+7, r16 ; 0x07 3120: 18 87 std Y+8, r17 ; 0x08 3122: e0 90 9c 24 lds r14, 0x249C ; 0x80249c 3126: f0 90 9d 24 lds r15, 0x249D ; 0x80249d 312a: 00 91 9e 24 lds r16, 0x249E ; 0x80249e 312e: 10 91 9f 24 lds r17, 0x249F ; 0x80249f 3132: e9 86 std Y+9, r14 ; 0x09 3134: fa 86 std Y+10, r15 ; 0x0a 3136: 0b 87 std Y+11, r16 ; 0x0b 3138: 1c 87 std Y+12, r17 ; 0x0c 313a: e0 90 9c 24 lds r14, 0x249C ; 0x80249c 313e: f0 90 9d 24 lds r15, 0x249D ; 0x80249d 3142: 00 91 9e 24 lds r16, 0x249E ; 0x80249e 3146: 10 91 9f 24 lds r17, 0x249F ; 0x80249f 314a: ed 86 std Y+13, r14 ; 0x0d 314c: fe 86 std Y+14, r15 ; 0x0e 314e: 0f 87 std Y+15, r16 ; 0x0f 3150: 18 8b std Y+16, r17 ; 0x10 3152: e0 90 a4 24 lds r14, 0x24A4 ; 0x8024a4 3156: f0 90 a5 24 lds r15, 0x24A5 ; 0x8024a5 315a: 00 91 a6 24 lds r16, 0x24A6 ; 0x8024a6 315e: 10 91 a7 24 lds r17, 0x24A7 ; 0x8024a7 3162: e9 8a std Y+17, r14 ; 0x11 3164: fa 8a std Y+18, r15 ; 0x12 3166: 0b 8b std Y+19, r16 ; 0x13 3168: 1c 8b std Y+20, r17 ; 0x14 316a: e0 90 a0 24 lds r14, 0x24A0 ; 0x8024a0 316e: f0 90 a1 24 lds r15, 0x24A1 ; 0x8024a1 3172: 00 91 a2 24 lds r16, 0x24A2 ; 0x8024a2 3176: 10 91 a3 24 lds r17, 0x24A3 ; 0x8024a3 317a: ed 8a std Y+21, r14 ; 0x15 317c: fe 8a std Y+22, r15 ; 0x16 317e: 0f 8b std Y+23, r16 ; 0x17 3180: 18 8f std Y+24, r17 ; 0x18 3182: e0 90 00 20 lds r14, 0x2000 ; 0x802000 <__data_start> 3186: f0 90 01 20 lds r15, 0x2001 ; 0x802001 <__data_start+0x1> 318a: 00 91 02 20 lds r16, 0x2002 ; 0x802002 <__data_start+0x2> 318e: 10 91 03 20 lds r17, 0x2003 ; 0x802003 <__data_start+0x3> 3192: e9 a2 std Y+33, r14 ; 0x21 3194: fa a2 std Y+34, r15 ; 0x22 3196: 0b a3 std Y+35, r16 ; 0x23 3198: 1c a3 std Y+36, r17 ; 0x24 319a: e0 90 9c 24 lds r14, 0x249C ; 0x80249c 319e: f0 90 9d 24 lds r15, 0x249D ; 0x80249d 31a2: 00 91 9e 24 lds r16, 0x249E ; 0x80249e 31a6: 10 91 9f 24 lds r17, 0x249F ; 0x80249f 31aa: e9 8e std Y+25, r14 ; 0x19 31ac: fa 8e std Y+26, r15 ; 0x1a 31ae: 0b 8f std Y+27, r16 ; 0x1b 31b0: 1c 8f std Y+28, r17 ; 0x1c 31b2: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 31b6: 6b 01 movw r12, r22 31b8: 7c 01 movw r14, r24 31ba: a3 01 movw r20, r6 31bc: 92 01 movw r18, r4 31be: c5 01 movw r24, r10 31c0: b4 01 movw r22, r8 31c2: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 31c6: 9b 01 movw r18, r22 31c8: ac 01 movw r20, r24 31ca: c7 01 movw r24, r14 31cc: b6 01 movw r22, r12 31ce: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 31d2: 4b 01 movw r8, r22 31d4: 5c 01 movw r10, r24 31d6: 2d 81 ldd r18, Y+5 ; 0x05 31d8: 3e 81 ldd r19, Y+6 ; 0x06 31da: 4f 81 ldd r20, Y+7 ; 0x07 31dc: 58 85 ldd r21, Y+8 ; 0x08 31de: 69 81 ldd r22, Y+1 ; 0x01 31e0: 7a 81 ldd r23, Y+2 ; 0x02 31e2: 8b 81 ldd r24, Y+3 ; 0x03 31e4: 9c 81 ldd r25, Y+4 ; 0x04 31e6: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 31ea: 9b 01 movw r18, r22 31ec: ac 01 movw r20, r24 31ee: c5 01 movw r24, r10 31f0: b4 01 movw r22, r8 31f2: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 31f6: 4b 01 movw r8, r22 31f8: 5c 01 movw r10, r24 31fa: 2d 85 ldd r18, Y+13 ; 0x0d 31fc: 3e 85 ldd r19, Y+14 ; 0x0e 31fe: 4f 85 ldd r20, Y+15 ; 0x0f 3200: 58 89 ldd r21, Y+16 ; 0x10 3202: 69 85 ldd r22, Y+9 ; 0x09 3204: 7a 85 ldd r23, Y+10 ; 0x0a 3206: 8b 85 ldd r24, Y+11 ; 0x0b 3208: 9c 85 ldd r25, Y+12 ; 0x0c 320a: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 320e: 9b 01 movw r18, r22 3210: ac 01 movw r20, r24 3212: c5 01 movw r24, r10 3214: b4 01 movw r22, r8 3216: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 321a: 2b 01 movw r4, r22 321c: 3c 01 movw r6, r24 321e: 2d 89 ldd r18, Y+21 ; 0x15 3220: 3e 89 ldd r19, Y+22 ; 0x16 3222: 4f 89 ldd r20, Y+23 ; 0x17 3224: 58 8d ldd r21, Y+24 ; 0x18 3226: 69 89 ldd r22, Y+17 ; 0x11 3228: 7a 89 ldd r23, Y+18 ; 0x12 322a: 8b 89 ldd r24, Y+19 ; 0x13 322c: 9c 89 ldd r25, Y+20 ; 0x14 322e: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 3232: 4b 01 movw r8, r22 3234: 5c 01 movw r10, r24 3236: 29 8d ldd r18, Y+25 ; 0x19 3238: 3a 8d ldd r19, Y+26 ; 0x1a 323a: 4b 8d ldd r20, Y+27 ; 0x1b 323c: 5c 8d ldd r21, Y+28 ; 0x1c 323e: 69 a1 ldd r22, Y+33 ; 0x21 3240: 7a a1 ldd r23, Y+34 ; 0x22 3242: 8b a1 ldd r24, Y+35 ; 0x23 3244: 9c a1 ldd r25, Y+36 ; 0x24 3246: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 324a: 9b 01 movw r18, r22 324c: ac 01 movw r20, r24 324e: c5 01 movw r24, r10 3250: b4 01 movw r22, r8 3252: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 3256: 9b 01 movw r18, r22 3258: ac 01 movw r20, r24 325a: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 325e: a3 01 movw r20, r6 3260: 92 01 movw r18, r4 3262: 0e 94 5e 32 call 0x64bc ; 0x64bc 3266: 0f 2e mov r0, r31 3268: f6 e7 ldi r31, 0x76 ; 118 326a: 2f 2e mov r2, r31 326c: f9 e2 ldi r31, 0x29 ; 41 326e: 3f 2e mov r3, r31 3270: f0 2d mov r31, r0 3272: f1 01 movw r30, r2 3274: 60 83 st Z, r22 3276: 71 83 std Z+1, r23 ; 0x01 3278: 82 83 std Z+2, r24 ; 0x02 327a: 93 83 std Z+3, r25 ; 0x03 327c: 60 91 a4 24 lds r22, 0x24A4 ; 0x8024a4 3280: 70 91 a5 24 lds r23, 0x24A5 ; 0x8024a5 3284: 80 91 a6 24 lds r24, 0x24A6 ; 0x8024a6 3288: 90 91 a7 24 lds r25, 0x24A7 ; 0x8024a7 328c: 20 91 9c 24 lds r18, 0x249C ; 0x80249c 3290: 30 91 9d 24 lds r19, 0x249D ; 0x80249d 3294: 40 91 9e 24 lds r20, 0x249E ; 0x80249e 3298: 50 91 9f 24 lds r21, 0x249F ; 0x80249f 329c: 80 90 00 20 lds r8, 0x2000 ; 0x802000 <__data_start> 32a0: 90 90 01 20 lds r9, 0x2001 ; 0x802001 <__data_start+0x1> 32a4: a0 90 02 20 lds r10, 0x2002 ; 0x802002 <__data_start+0x2> 32a8: b0 90 03 20 lds r11, 0x2003 ; 0x802003 <__data_start+0x3> 32ac: 40 90 a0 24 lds r4, 0x24A0 ; 0x8024a0 32b0: 50 90 a1 24 lds r5, 0x24A1 ; 0x8024a1 32b4: 60 90 a2 24 lds r6, 0x24A2 ; 0x8024a2 32b8: 70 90 a3 24 lds r7, 0x24A3 ; 0x8024a3 32bc: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 32c0: 6b 01 movw r12, r22 32c2: 7c 01 movw r14, r24 32c4: a3 01 movw r20, r6 32c6: 92 01 movw r18, r4 32c8: c5 01 movw r24, r10 32ca: b4 01 movw r22, r8 32cc: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 32d0: 9b 01 movw r18, r22 32d2: ac 01 movw r20, r24 32d4: c7 01 movw r24, r14 32d6: b6 01 movw r22, r12 32d8: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 32dc: 9b 01 movw r18, r22 32de: ac 01 movw r20, r24 32e0: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 32e4: 0e 94 38 32 call 0x6470 ; 0x6470 32e8: dc 01 movw r26, r24 32ea: cb 01 movw r24, r22 32ec: b0 58 subi r27, 0x80 ; 128 32ee: 80 93 7a 29 sts 0x297A, r24 ; 0x80297a 32f2: 90 93 7b 29 sts 0x297B, r25 ; 0x80297b 32f6: a0 93 7c 29 sts 0x297C, r26 ; 0x80297c 32fa: b0 93 7d 29 sts 0x297D, r27 ; 0x80297d 32fe: 60 91 00 20 lds r22, 0x2000 ; 0x802000 <__data_start> 3302: 70 91 01 20 lds r23, 0x2001 ; 0x802001 <__data_start+0x1> 3306: 80 91 02 20 lds r24, 0x2002 ; 0x802002 <__data_start+0x2> 330a: 90 91 03 20 lds r25, 0x2003 ; 0x802003 <__data_start+0x3> 330e: 20 91 00 20 lds r18, 0x2000 ; 0x802000 <__data_start> 3312: 30 91 01 20 lds r19, 0x2001 ; 0x802001 <__data_start+0x1> 3316: 40 91 02 20 lds r20, 0x2002 ; 0x802002 <__data_start+0x2> 331a: 50 91 03 20 lds r21, 0x2003 ; 0x802003 <__data_start+0x3> 331e: 80 90 a4 24 lds r8, 0x24A4 ; 0x8024a4 3322: 90 90 a5 24 lds r9, 0x24A5 ; 0x8024a5 3326: a0 90 a6 24 lds r10, 0x24A6 ; 0x8024a6 332a: b0 90 a7 24 lds r11, 0x24A7 ; 0x8024a7 332e: 40 90 a4 24 lds r4, 0x24A4 ; 0x8024a4 3332: 50 90 a5 24 lds r5, 0x24A5 ; 0x8024a5 3336: 60 90 a6 24 lds r6, 0x24A6 ; 0x8024a6 333a: 70 90 a7 24 lds r7, 0x24A7 ; 0x8024a7 333e: e0 90 a0 24 lds r14, 0x24A0 ; 0x8024a0 3342: f0 90 a1 24 lds r15, 0x24A1 ; 0x8024a1 3346: 00 91 a2 24 lds r16, 0x24A2 ; 0x8024a2 334a: 10 91 a3 24 lds r17, 0x24A3 ; 0x8024a3 334e: e9 82 std Y+1, r14 ; 0x01 3350: fa 82 std Y+2, r15 ; 0x02 3352: 0b 83 std Y+3, r16 ; 0x03 3354: 1c 83 std Y+4, r17 ; 0x04 3356: e0 90 a0 24 lds r14, 0x24A0 ; 0x8024a0 335a: f0 90 a1 24 lds r15, 0x24A1 ; 0x8024a1 335e: 00 91 a2 24 lds r16, 0x24A2 ; 0x8024a2 3362: 10 91 a3 24 lds r17, 0x24A3 ; 0x8024a3 3366: ed 82 std Y+5, r14 ; 0x05 3368: fe 82 std Y+6, r15 ; 0x06 336a: 0f 83 std Y+7, r16 ; 0x07 336c: 18 87 std Y+8, r17 ; 0x08 336e: e0 90 9c 24 lds r14, 0x249C ; 0x80249c 3372: f0 90 9d 24 lds r15, 0x249D ; 0x80249d 3376: 00 91 9e 24 lds r16, 0x249E ; 0x80249e 337a: 10 91 9f 24 lds r17, 0x249F ; 0x80249f 337e: e9 86 std Y+9, r14 ; 0x09 3380: fa 86 std Y+10, r15 ; 0x0a 3382: 0b 87 std Y+11, r16 ; 0x0b 3384: 1c 87 std Y+12, r17 ; 0x0c 3386: e0 90 9c 24 lds r14, 0x249C ; 0x80249c 338a: f0 90 9d 24 lds r15, 0x249D ; 0x80249d 338e: 00 91 9e 24 lds r16, 0x249E ; 0x80249e 3392: 10 91 9f 24 lds r17, 0x249F ; 0x80249f 3396: ed 86 std Y+13, r14 ; 0x0d 3398: fe 86 std Y+14, r15 ; 0x0e 339a: 0f 87 std Y+15, r16 ; 0x0f 339c: 18 8b std Y+16, r17 ; 0x10 339e: e0 90 00 20 lds r14, 0x2000 ; 0x802000 <__data_start> 33a2: f0 90 01 20 lds r15, 0x2001 ; 0x802001 <__data_start+0x1> 33a6: 00 91 02 20 lds r16, 0x2002 ; 0x802002 <__data_start+0x2> 33aa: 10 91 03 20 lds r17, 0x2003 ; 0x802003 <__data_start+0x3> 33ae: e9 8a std Y+17, r14 ; 0x11 33b0: fa 8a std Y+18, r15 ; 0x12 33b2: 0b 8b std Y+19, r16 ; 0x13 33b4: 1c 8b std Y+20, r17 ; 0x14 33b6: e0 90 a4 24 lds r14, 0x24A4 ; 0x8024a4 33ba: f0 90 a5 24 lds r15, 0x24A5 ; 0x8024a5 33be: 00 91 a6 24 lds r16, 0x24A6 ; 0x8024a6 33c2: 10 91 a7 24 lds r17, 0x24A7 ; 0x8024a7 33c6: ed 8a std Y+21, r14 ; 0x15 33c8: fe 8a std Y+22, r15 ; 0x16 33ca: 0f 8b std Y+23, r16 ; 0x17 33cc: 18 8f std Y+24, r17 ; 0x18 33ce: e0 90 a0 24 lds r14, 0x24A0 ; 0x8024a0 33d2: f0 90 a1 24 lds r15, 0x24A1 ; 0x8024a1 33d6: 00 91 a2 24 lds r16, 0x24A2 ; 0x8024a2 33da: 10 91 a3 24 lds r17, 0x24A3 ; 0x8024a3 33de: e9 a2 std Y+33, r14 ; 0x21 33e0: fa a2 std Y+34, r15 ; 0x22 33e2: 0b a3 std Y+35, r16 ; 0x23 33e4: 1c a3 std Y+36, r17 ; 0x24 33e6: e0 90 9c 24 lds r14, 0x249C ; 0x80249c 33ea: f0 90 9d 24 lds r15, 0x249D ; 0x80249d 33ee: 00 91 9e 24 lds r16, 0x249E ; 0x80249e 33f2: 10 91 9f 24 lds r17, 0x249F ; 0x80249f 33f6: e9 8e std Y+25, r14 ; 0x19 33f8: fa 8e std Y+26, r15 ; 0x1a 33fa: 0b 8f std Y+27, r16 ; 0x1b 33fc: 1c 8f std Y+28, r17 ; 0x1c 33fe: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 3402: 6b 01 movw r12, r22 3404: 7c 01 movw r14, r24 3406: a3 01 movw r20, r6 3408: 92 01 movw r18, r4 340a: c5 01 movw r24, r10 340c: b4 01 movw r22, r8 340e: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 3412: 9b 01 movw r18, r22 3414: ac 01 movw r20, r24 3416: c7 01 movw r24, r14 3418: b6 01 movw r22, r12 341a: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 341e: 4b 01 movw r8, r22 3420: 5c 01 movw r10, r24 3422: 2d 81 ldd r18, Y+5 ; 0x05 3424: 3e 81 ldd r19, Y+6 ; 0x06 3426: 4f 81 ldd r20, Y+7 ; 0x07 3428: 58 85 ldd r21, Y+8 ; 0x08 342a: 69 81 ldd r22, Y+1 ; 0x01 342c: 7a 81 ldd r23, Y+2 ; 0x02 342e: 8b 81 ldd r24, Y+3 ; 0x03 3430: 9c 81 ldd r25, Y+4 ; 0x04 3432: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 3436: 9b 01 movw r18, r22 3438: ac 01 movw r20, r24 343a: c5 01 movw r24, r10 343c: b4 01 movw r22, r8 343e: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 3442: 4b 01 movw r8, r22 3444: 5c 01 movw r10, r24 3446: 2d 85 ldd r18, Y+13 ; 0x0d 3448: 3e 85 ldd r19, Y+14 ; 0x0e 344a: 4f 85 ldd r20, Y+15 ; 0x0f 344c: 58 89 ldd r21, Y+16 ; 0x10 344e: 69 85 ldd r22, Y+9 ; 0x09 3450: 7a 85 ldd r23, Y+10 ; 0x0a 3452: 8b 85 ldd r24, Y+11 ; 0x0b 3454: 9c 85 ldd r25, Y+12 ; 0x0c 3456: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 345a: 9b 01 movw r18, r22 345c: ac 01 movw r20, r24 345e: c5 01 movw r24, r10 3460: b4 01 movw r22, r8 3462: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 3466: 2b 01 movw r4, r22 3468: 3c 01 movw r6, r24 346a: 2d 89 ldd r18, Y+21 ; 0x15 346c: 3e 89 ldd r19, Y+22 ; 0x16 346e: 4f 89 ldd r20, Y+23 ; 0x17 3470: 58 8d ldd r21, Y+24 ; 0x18 3472: 69 89 ldd r22, Y+17 ; 0x11 3474: 7a 89 ldd r23, Y+18 ; 0x12 3476: 8b 89 ldd r24, Y+19 ; 0x13 3478: 9c 89 ldd r25, Y+20 ; 0x14 347a: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 347e: 4b 01 movw r8, r22 3480: 5c 01 movw r10, r24 3482: 29 8d ldd r18, Y+25 ; 0x19 3484: 3a 8d ldd r19, Y+26 ; 0x1a 3486: 4b 8d ldd r20, Y+27 ; 0x1b 3488: 5c 8d ldd r21, Y+28 ; 0x1c 348a: 69 a1 ldd r22, Y+33 ; 0x21 348c: 7a a1 ldd r23, Y+34 ; 0x22 348e: 8b a1 ldd r24, Y+35 ; 0x23 3490: 9c a1 ldd r25, Y+36 ; 0x24 3492: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 3496: 9b 01 movw r18, r22 3498: ac 01 movw r20, r24 349a: c5 01 movw r24, r10 349c: b4 01 movw r22, r8 349e: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 34a2: 9b 01 movw r18, r22 34a4: ac 01 movw r20, r24 34a6: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 34aa: a3 01 movw r20, r6 34ac: 92 01 movw r18, r4 34ae: 0e 94 5e 32 call 0x64bc ; 0x64bc 34b2: 60 93 7e 29 sts 0x297E, r22 ; 0x80297e 34b6: 70 93 7f 29 sts 0x297F, r23 ; 0x80297f 34ba: 80 93 80 29 sts 0x2980, r24 ; 0x802980 34be: 90 93 81 29 sts 0x2981, r25 ; 0x802981 34c2: 60 91 7a 29 lds r22, 0x297A ; 0x80297a 34c6: 70 91 7b 29 lds r23, 0x297B ; 0x80297b 34ca: 80 91 7c 29 lds r24, 0x297C ; 0x80297c 34ce: 90 91 7d 29 lds r25, 0x297D ; 0x80297d 34d2: 2d ee ldi r18, 0xED ; 237 34d4: 3e e2 ldi r19, 0x2E ; 46 34d6: 45 e6 ldi r20, 0x65 ; 101 34d8: 52 e4 ldi r21, 0x42 ; 66 34da: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 34de: 60 93 7a 29 sts 0x297A, r22 ; 0x80297a 34e2: 70 93 7b 29 sts 0x297B, r23 ; 0x80297b 34e6: 80 93 7c 29 sts 0x297C, r24 ; 0x80297c 34ea: 90 93 7d 29 sts 0x297D, r25 ; 0x80297d 34ee: f1 01 movw r30, r2 34f0: 60 81 ld r22, Z 34f2: 71 81 ldd r23, Z+1 ; 0x01 34f4: 82 81 ldd r24, Z+2 ; 0x02 34f6: 93 81 ldd r25, Z+3 ; 0x03 34f8: 2d ee ldi r18, 0xED ; 237 34fa: 3e e2 ldi r19, 0x2E ; 46 34fc: 45 e6 ldi r20, 0x65 ; 101 34fe: 52 e4 ldi r21, 0x42 ; 66 3500: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 3504: f1 01 movw r30, r2 3506: 60 83 st Z, r22 3508: 71 83 std Z+1, r23 ; 0x01 350a: 82 83 std Z+2, r24 ; 0x02 350c: 93 83 std Z+3, r25 ; 0x03 350e: 60 91 7e 29 lds r22, 0x297E ; 0x80297e 3512: 70 91 7f 29 lds r23, 0x297F ; 0x80297f 3516: 80 91 80 29 lds r24, 0x2980 ; 0x802980 351a: 90 91 81 29 lds r25, 0x2981 ; 0x802981 351e: 2d ee ldi r18, 0xED ; 237 3520: 3e e2 ldi r19, 0x2E ; 46 3522: 45 e6 ldi r20, 0x65 ; 101 3524: 52 e4 ldi r21, 0x42 ; 66 3526: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 352a: 60 93 7e 29 sts 0x297E, r22 ; 0x80297e 352e: 70 93 7f 29 sts 0x297F, r23 ; 0x80297f 3532: 80 93 80 29 sts 0x2980, r24 ; 0x802980 3536: 90 93 81 29 sts 0x2981, r25 ; 0x802981 353a: f1 01 movw r30, r2 353c: 40 81 ld r20, Z 353e: 51 81 ldd r21, Z+1 ; 0x01 3540: 62 81 ldd r22, Z+2 ; 0x02 3542: 73 81 ldd r23, Z+3 ; 0x03 3544: 8d eb ldi r24, 0xBD ; 189 3546: 93 e2 ldi r25, 0x23 ; 35 3548: 0e 94 a3 2d call 0x5b46 ; 0x5b46 354c: 40 91 7a 29 lds r20, 0x297A ; 0x80297a 3550: 50 91 7b 29 lds r21, 0x297B ; 0x80297b 3554: 60 91 7c 29 lds r22, 0x297C ; 0x80297c 3558: 70 91 7d 29 lds r23, 0x297D ; 0x80297d 355c: 80 e9 ldi r24, 0x90 ; 144 355e: 93 e2 ldi r25, 0x23 ; 35 3560: 0e 94 a3 2d call 0x5b46 ; 0x5b46 3564: 40 91 7e 29 lds r20, 0x297E ; 0x80297e 3568: 50 91 7f 29 lds r21, 0x297F ; 0x80297f 356c: 60 91 80 29 lds r22, 0x2980 ; 0x802980 3570: 70 91 81 29 lds r23, 0x2981 ; 0x802981 3574: 83 e6 ldi r24, 0x63 ; 99 3576: 93 e2 ldi r25, 0x23 ; 35 3578: 0e 94 a3 2d call 0x5b46 ; 0x5b46 357c: cd bf out 0x3d, r28 ; 61 357e: de bf out 0x3e, r29 ; 62 3580: a4 96 adiw r28, 0x24 ; 36 3582: cd bf out 0x3d, r28 ; 61 3584: de bf out 0x3e, r29 ; 62 3586: df 91 pop r29 3588: cf 91 pop r28 358a: 1f 91 pop r17 358c: 0f 91 pop r16 358e: ff 90 pop r15 3590: ef 90 pop r14 3592: df 90 pop r13 3594: cf 90 pop r12 3596: bf 90 pop r11 3598: af 90 pop r10 359a: 9f 90 pop r9 359c: 8f 90 pop r8 359e: 7f 90 pop r7 35a0: 6f 90 pop r6 35a2: 5f 90 pop r5 35a4: 4f 90 pop r4 35a6: 3f 90 pop r3 35a8: 2f 90 pop r2 35aa: 08 95 ret 000035ac : 35ac: cf 92 push r12 35ae: df 92 push r13 35b0: ef 92 push r14 35b2: ff 92 push r15 35b4: 0f 93 push r16 35b6: 1f 93 push r17 35b8: cf 93 push r28 35ba: df 93 push r29 35bc: 29 e4 ldi r18, 0x49 ; 73 35be: 34 e2 ldi r19, 0x24 ; 36 35c0: 4f e0 ldi r20, 0x0F ; 15 35c2: 6a e3 ldi r22, 0x3A ; 58 35c4: 89 e6 ldi r24, 0x69 ; 105 35c6: 0e 94 7a 2f call 0x5ef4 ; 0x5ef4 35ca: 80 91 49 24 lds r24, 0x2449 ; 0x802449 35ce: 80 ff sbrs r24, 0 35d0: 32 c1 rjmp .+612 ; 0x3836 35d2: e9 e4 ldi r30, 0x49 ; 73 35d4: f4 e2 ldi r31, 0x24 ; 36 35d6: 81 81 ldd r24, Z+1 ; 0x01 35d8: 90 e0 ldi r25, 0x00 ; 0 35da: 98 2f mov r25, r24 35dc: 88 27 eor r24, r24 35de: 22 81 ldd r18, Z+2 ; 0x02 35e0: 82 2b or r24, r18 35e2: 0e e8 ldi r16, 0x8E ; 142 35e4: 19 e2 ldi r17, 0x29 ; 41 35e6: d8 01 movw r26, r16 35e8: 8d 93 st X+, r24 35ea: 9c 93 st X, r25 35ec: 11 97 sbiw r26, 0x01 ; 1 35ee: 83 81 ldd r24, Z+3 ; 0x03 35f0: 90 e0 ldi r25, 0x00 ; 0 35f2: 98 2f mov r25, r24 35f4: 88 27 eor r24, r24 35f6: 24 81 ldd r18, Z+4 ; 0x04 35f8: 82 2b or r24, r18 35fa: 12 96 adiw r26, 0x02 ; 2 35fc: 8d 93 st X+, r24 35fe: 9c 93 st X, r25 3600: 13 97 sbiw r26, 0x03 ; 3 3602: 85 81 ldd r24, Z+5 ; 0x05 3604: 90 e0 ldi r25, 0x00 ; 0 3606: 98 2f mov r25, r24 3608: 88 27 eor r24, r24 360a: 26 81 ldd r18, Z+6 ; 0x06 360c: 82 2b or r24, r18 360e: 14 96 adiw r26, 0x04 ; 4 3610: 8d 93 st X+, r24 3612: 9c 93 st X, r25 3614: 15 97 sbiw r26, 0x05 ; 5 3616: 81 85 ldd r24, Z+9 ; 0x09 3618: 90 e0 ldi r25, 0x00 ; 0 361a: 98 2f mov r25, r24 361c: 88 27 eor r24, r24 361e: 22 85 ldd r18, Z+10 ; 0x0a 3620: 82 2b or r24, r18 3622: 16 96 adiw r26, 0x06 ; 6 3624: 8d 93 st X+, r24 3626: 9c 93 st X, r25 3628: 17 97 sbiw r26, 0x07 ; 7 362a: 83 85 ldd r24, Z+11 ; 0x0b 362c: 90 e0 ldi r25, 0x00 ; 0 362e: 98 2f mov r25, r24 3630: 88 27 eor r24, r24 3632: 24 85 ldd r18, Z+12 ; 0x0c 3634: 82 2b or r24, r18 3636: 18 96 adiw r26, 0x08 ; 8 3638: 8d 93 st X+, r24 363a: 9c 93 st X, r25 363c: 19 97 sbiw r26, 0x09 ; 9 363e: 85 85 ldd r24, Z+13 ; 0x0d 3640: 90 e0 ldi r25, 0x00 ; 0 3642: 98 2f mov r25, r24 3644: 88 27 eor r24, r24 3646: 26 85 ldd r18, Z+14 ; 0x0e 3648: 82 2b or r24, r18 364a: 1a 96 adiw r26, 0x0a ; 10 364c: 8d 93 st X+, r24 364e: 9c 93 st X, r25 3650: 1b 97 sbiw r26, 0x0b ; 11 3652: 6d 91 ld r22, X+ 3654: 7c 91 ld r23, X 3656: c0 90 8a 29 lds r12, 0x298A ; 0x80298a 365a: d0 90 8b 29 lds r13, 0x298B ; 0x80298b 365e: e0 90 8c 29 lds r14, 0x298C ; 0x80298c 3662: f0 90 8d 29 lds r15, 0x298D ; 0x80298d 3666: 07 2e mov r0, r23 3668: 00 0c add r0, r0 366a: 88 0b sbc r24, r24 366c: 99 0b sbc r25, r25 366e: 0e 94 50 33 call 0x66a0 ; 0x66a0 <__floatsisf> 3672: a7 01 movw r20, r14 3674: 96 01 movw r18, r12 3676: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 367a: c2 e5 ldi r28, 0x52 ; 82 367c: d9 e2 ldi r29, 0x29 ; 41 367e: 68 83 st Y, r22 3680: 79 83 std Y+1, r23 ; 0x01 3682: 8a 83 std Y+2, r24 ; 0x02 3684: 9b 83 std Y+3, r25 ; 0x03 3686: f8 01 movw r30, r16 3688: 62 81 ldd r22, Z+2 ; 0x02 368a: 73 81 ldd r23, Z+3 ; 0x03 368c: c0 90 8a 29 lds r12, 0x298A ; 0x80298a 3690: d0 90 8b 29 lds r13, 0x298B ; 0x80298b 3694: e0 90 8c 29 lds r14, 0x298C ; 0x80298c 3698: f0 90 8d 29 lds r15, 0x298D ; 0x80298d 369c: 07 2e mov r0, r23 369e: 00 0c add r0, r0 36a0: 88 0b sbc r24, r24 36a2: 99 0b sbc r25, r25 36a4: 0e 94 50 33 call 0x66a0 ; 0x66a0 <__floatsisf> 36a8: a7 01 movw r20, r14 36aa: 96 01 movw r18, r12 36ac: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 36b0: 6c 83 std Y+4, r22 ; 0x04 36b2: 7d 83 std Y+5, r23 ; 0x05 36b4: 8e 83 std Y+6, r24 ; 0x06 36b6: 9f 83 std Y+7, r25 ; 0x07 36b8: d8 01 movw r26, r16 36ba: 14 96 adiw r26, 0x04 ; 4 36bc: 6d 91 ld r22, X+ 36be: 7c 91 ld r23, X 36c0: 15 97 sbiw r26, 0x05 ; 5 36c2: c0 90 8a 29 lds r12, 0x298A ; 0x80298a 36c6: d0 90 8b 29 lds r13, 0x298B ; 0x80298b 36ca: e0 90 8c 29 lds r14, 0x298C ; 0x80298c 36ce: f0 90 8d 29 lds r15, 0x298D ; 0x80298d 36d2: 07 2e mov r0, r23 36d4: 00 0c add r0, r0 36d6: 88 0b sbc r24, r24 36d8: 99 0b sbc r25, r25 36da: 0e 94 50 33 call 0x66a0 ; 0x66a0 <__floatsisf> 36de: a7 01 movw r20, r14 36e0: 96 01 movw r18, r12 36e2: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 36e6: 68 87 std Y+8, r22 ; 0x08 36e8: 79 87 std Y+9, r23 ; 0x09 36ea: 8a 87 std Y+10, r24 ; 0x0a 36ec: 9b 87 std Y+11, r25 ; 0x0b 36ee: f8 01 movw r30, r16 36f0: 66 81 ldd r22, Z+6 ; 0x06 36f2: 77 81 ldd r23, Z+7 ; 0x07 36f4: c0 90 86 29 lds r12, 0x2986 ; 0x802986 36f8: d0 90 87 29 lds r13, 0x2987 ; 0x802987 36fc: e0 90 88 29 lds r14, 0x2988 ; 0x802988 3700: f0 90 89 29 lds r15, 0x2989 ; 0x802989 3704: 07 2e mov r0, r23 3706: 00 0c add r0, r0 3708: 88 0b sbc r24, r24 370a: 99 0b sbc r25, r25 370c: 0e 94 50 33 call 0x66a0 ; 0x66a0 <__floatsisf> 3710: a7 01 movw r20, r14 3712: 96 01 movw r18, r12 3714: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 3718: 6c 87 std Y+12, r22 ; 0x0c 371a: 7d 87 std Y+13, r23 ; 0x0d 371c: 8e 87 std Y+14, r24 ; 0x0e 371e: 9f 87 std Y+15, r25 ; 0x0f 3720: d8 01 movw r26, r16 3722: 18 96 adiw r26, 0x08 ; 8 3724: 6d 91 ld r22, X+ 3726: 7c 91 ld r23, X 3728: 19 97 sbiw r26, 0x09 ; 9 372a: c0 90 86 29 lds r12, 0x2986 ; 0x802986 372e: d0 90 87 29 lds r13, 0x2987 ; 0x802987 3732: e0 90 88 29 lds r14, 0x2988 ; 0x802988 3736: f0 90 89 29 lds r15, 0x2989 ; 0x802989 373a: 07 2e mov r0, r23 373c: 00 0c add r0, r0 373e: 88 0b sbc r24, r24 3740: 99 0b sbc r25, r25 3742: 0e 94 50 33 call 0x66a0 ; 0x66a0 <__floatsisf> 3746: a7 01 movw r20, r14 3748: 96 01 movw r18, r12 374a: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 374e: 68 8b std Y+16, r22 ; 0x10 3750: 79 8b std Y+17, r23 ; 0x11 3752: 8a 8b std Y+18, r24 ; 0x12 3754: 9b 8b std Y+19, r25 ; 0x13 3756: f8 01 movw r30, r16 3758: 62 85 ldd r22, Z+10 ; 0x0a 375a: 73 85 ldd r23, Z+11 ; 0x0b 375c: c0 90 86 29 lds r12, 0x2986 ; 0x802986 3760: d0 90 87 29 lds r13, 0x2987 ; 0x802987 3764: e0 90 88 29 lds r14, 0x2988 ; 0x802988 3768: f0 90 89 29 lds r15, 0x2989 ; 0x802989 376c: 07 2e mov r0, r23 376e: 00 0c add r0, r0 3770: 88 0b sbc r24, r24 3772: 99 0b sbc r25, r25 3774: 0e 94 50 33 call 0x66a0 ; 0x66a0 <__floatsisf> 3778: a7 01 movw r20, r14 377a: 96 01 movw r18, r12 377c: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 3780: 6c 8b std Y+20, r22 ; 0x14 3782: 7d 8b std Y+21, r23 ; 0x15 3784: 8e 8b std Y+22, r24 ; 0x16 3786: 9f 8b std Y+23, r25 ; 0x17 3788: 18 8e std Y+24, r1 ; 0x18 378a: 19 8e std Y+25, r1 ; 0x19 378c: 1a 8e std Y+26, r1 ; 0x1a 378e: 1b 8e std Y+27, r1 ; 0x1b 3790: 1c 8e std Y+28, r1 ; 0x1c 3792: 1d 8e std Y+29, r1 ; 0x1d 3794: 1e 8e std Y+30, r1 ; 0x1e 3796: 1f 8e std Y+31, r1 ; 0x1f 3798: 18 a2 std Y+32, r1 ; 0x20 379a: 19 a2 std Y+33, r1 ; 0x21 379c: 1a a2 std Y+34, r1 ; 0x22 379e: 1b a2 std Y+35, r1 ; 0x23 37a0: 08 85 ldd r16, Y+8 ; 0x08 37a2: 19 85 ldd r17, Y+9 ; 0x09 37a4: 2a 85 ldd r18, Y+10 ; 0x0a 37a6: 3b 85 ldd r19, Y+11 ; 0x0b 37a8: 4c 81 ldd r20, Y+4 ; 0x04 37aa: 5d 81 ldd r21, Y+5 ; 0x05 37ac: 6e 81 ldd r22, Y+6 ; 0x06 37ae: 7f 81 ldd r23, Y+7 ; 0x07 37b0: 88 81 ld r24, Y 37b2: 99 81 ldd r25, Y+1 ; 0x01 37b4: aa 81 ldd r26, Y+2 ; 0x02 37b6: bb 81 ldd r27, Y+3 ; 0x03 37b8: 3f 93 push r19 37ba: 2f 93 push r18 37bc: 1f 93 push r17 37be: 0f 93 push r16 37c0: 7f 93 push r23 37c2: 6f 93 push r22 37c4: 5f 93 push r21 37c6: 4f 93 push r20 37c8: bf 93 push r27 37ca: af 93 push r26 37cc: 9f 93 push r25 37ce: 8f 93 push r24 37d0: 8a eb ldi r24, 0xBA ; 186 37d2: 90 e2 ldi r25, 0x20 ; 32 37d4: 9f 93 push r25 37d6: 8f 93 push r24 37d8: 88 e0 ldi r24, 0x08 ; 8 37da: 8f 93 push r24 37dc: 80 ea ldi r24, 0xA0 ; 160 37de: 8f 93 push r24 37e0: e0 91 3d 25 lds r30, 0x253D ; 0x80253d 37e4: f0 91 3e 25 lds r31, 0x253E ; 0x80253e 37e8: 19 95 eicall 37ea: 48 81 ld r20, Y 37ec: 59 81 ldd r21, Y+1 ; 0x01 37ee: 6a 81 ldd r22, Y+2 ; 0x02 37f0: 7b 81 ldd r23, Y+3 ; 0x03 37f2: 84 e4 ldi r24, 0x44 ; 68 37f4: 94 e2 ldi r25, 0x24 ; 36 37f6: 0e 94 ce 2c call 0x599c ; 0x599c 37fa: 4c 81 ldd r20, Y+4 ; 0x04 37fc: 5d 81 ldd r21, Y+5 ; 0x05 37fe: 6e 81 ldd r22, Y+6 ; 0x06 3800: 7f 81 ldd r23, Y+7 ; 0x07 3802: 87 e1 ldi r24, 0x17 ; 23 3804: 94 e2 ldi r25, 0x24 ; 36 3806: 0e 94 ce 2c call 0x599c ; 0x599c 380a: 48 85 ldd r20, Y+8 ; 0x08 380c: 59 85 ldd r21, Y+9 ; 0x09 380e: 6a 85 ldd r22, Y+10 ; 0x0a 3810: 7b 85 ldd r23, Y+11 ; 0x0b 3812: 8a ee ldi r24, 0xEA ; 234 3814: 93 e2 ldi r25, 0x23 ; 35 3816: 0e 94 ce 2c call 0x599c ; 0x599c 381a: ce 01 movw r24, r28 381c: f5 db rcall .-2070 ; 0x3008 381e: 29 e4 ldi r18, 0x49 ; 73 3820: 34 e2 ldi r19, 0x24 ; 36 3822: 41 e0 ldi r20, 0x01 ; 1 3824: 6a e3 ldi r22, 0x3A ; 58 3826: 89 e6 ldi r24, 0x69 ; 105 3828: 0e 94 7a 2f call 0x5ef4 ; 0x5ef4 382c: 8d b7 in r24, 0x3d ; 61 382e: 9e b7 in r25, 0x3e ; 62 3830: 40 96 adiw r24, 0x10 ; 16 3832: 8d bf out 0x3d, r24 ; 61 3834: 9e bf out 0x3e, r25 ; 62 3836: df 91 pop r29 3838: cf 91 pop r28 383a: 1f 91 pop r17 383c: 0f 91 pop r16 383e: ff 90 pop r15 3840: ef 90 pop r14 3842: df 90 pop r13 3844: cf 90 pop r12 3846: 08 95 ret 00003848 : 3848: 29 e4 ldi r18, 0x49 ; 73 384a: 34 e2 ldi r19, 0x24 ; 36 384c: 41 e0 ldi r20, 0x01 ; 1 384e: 65 e7 ldi r22, 0x75 ; 117 3850: 89 e6 ldi r24, 0x69 ; 105 3852: 0e 94 7a 2f call 0x5ef4 ; 0x5ef4 3856: 80 91 49 24 lds r24, 0x2449 ; 0x802449 385a: 81 37 cpi r24, 0x71 ; 113 385c: 89 f4 brne .+34 ; 0x3880 385e: 80 ed ldi r24, 0xD0 ; 208 3860: 90 e2 ldi r25, 0x20 ; 32 3862: 9f 93 push r25 3864: 8f 93 push r24 3866: 88 e0 ldi r24, 0x08 ; 8 3868: 8f 93 push r24 386a: 80 ea ldi r24, 0xA0 ; 160 386c: 8f 93 push r24 386e: e0 91 3d 25 lds r30, 0x253D ; 0x80253d 3872: f0 91 3e 25 lds r31, 0x253E ; 0x80253e 3876: 19 95 eicall 3878: 0f 90 pop r0 387a: 0f 90 pop r0 387c: 0f 90 pop r0 387e: 0f 90 pop r0 3880: 08 95 ret 00003882 : 3882: 81 30 cpi r24, 0x01 ; 1 3884: 99 f0 breq .+38 ; 0x38ac 3886: 28 f0 brcs .+10 ; 0x3892 3888: 82 30 cpi r24, 0x02 ; 2 388a: e9 f0 breq .+58 ; 0x38c6 388c: 83 30 cpi r24, 0x03 ; 3 388e: 41 f1 breq .+80 ; 0x38e0 3890: 33 c0 rjmp .+102 ; 0x38f8 3892: 80 e0 ldi r24, 0x00 ; 0 3894: 90 e0 ldi r25, 0x00 ; 0 3896: a0 e8 ldi r26, 0x80 ; 128 3898: b8 e3 ldi r27, 0x38 ; 56 389a: 80 93 8a 29 sts 0x298A, r24 ; 0x80298a 389e: 90 93 8b 29 sts 0x298B, r25 ; 0x80298b 38a2: a0 93 8c 29 sts 0x298C, r26 ; 0x80298c 38a6: b0 93 8d 29 sts 0x298D, r27 ; 0x80298d 38aa: 26 c0 rjmp .+76 ; 0x38f8 38ac: 80 e0 ldi r24, 0x00 ; 0 38ae: 90 e0 ldi r25, 0x00 ; 0 38b0: a0 e0 ldi r26, 0x00 ; 0 38b2: b9 e3 ldi r27, 0x39 ; 57 38b4: 80 93 8a 29 sts 0x298A, r24 ; 0x80298a 38b8: 90 93 8b 29 sts 0x298B, r25 ; 0x80298b 38bc: a0 93 8c 29 sts 0x298C, r26 ; 0x80298c 38c0: b0 93 8d 29 sts 0x298D, r27 ; 0x80298d 38c4: 19 c0 rjmp .+50 ; 0x38f8 38c6: 80 e0 ldi r24, 0x00 ; 0 38c8: 90 e0 ldi r25, 0x00 ; 0 38ca: a0 e8 ldi r26, 0x80 ; 128 38cc: b9 e3 ldi r27, 0x39 ; 57 38ce: 80 93 8a 29 sts 0x298A, r24 ; 0x80298a 38d2: 90 93 8b 29 sts 0x298B, r25 ; 0x80298b 38d6: a0 93 8c 29 sts 0x298C, r26 ; 0x80298c 38da: b0 93 8d 29 sts 0x298D, r27 ; 0x80298d 38de: 0c c0 rjmp .+24 ; 0x38f8 38e0: 80 e0 ldi r24, 0x00 ; 0 38e2: 90 e0 ldi r25, 0x00 ; 0 38e4: a0 e0 ldi r26, 0x00 ; 0 38e6: ba e3 ldi r27, 0x3A ; 58 38e8: 80 93 8a 29 sts 0x298A, r24 ; 0x80298a 38ec: 90 93 8b 29 sts 0x298B, r25 ; 0x80298b 38f0: a0 93 8c 29 sts 0x298C, r26 ; 0x80298c 38f4: b0 93 8d 29 sts 0x298D, r27 ; 0x80298d 38f8: 48 e1 ldi r20, 0x18 ; 24 38fa: 6c e1 ldi r22, 0x1C ; 28 38fc: 89 e6 ldi r24, 0x69 ; 105 38fe: 0c 94 69 2f jmp 0x5ed2 ; 0x5ed2 3902: 08 95 ret 00003904 : } } void set_gyro_resolution(gyroScale scale) { switch(scale) 3904: 81 30 cpi r24, 0x01 ; 1 3906: 99 f0 breq .+38 ; 0x392e 3908: 28 f0 brcs .+10 ; 0x3914 390a: 82 30 cpi r24, 0x02 ; 2 390c: e9 f0 breq .+58 ; 0x3948 390e: 83 30 cpi r24, 0x03 ; 3 3910: 41 f1 breq .+80 ; 0x3962 3912: 33 c0 rjmp .+102 ; 0x397a { case GYRO_250DPS: gyro_resolution = (float)(250.0/32760.0); 3914: 81 ea ldi r24, 0xA1 ; 161 3916: 9f e0 ldi r25, 0x0F ; 15 3918: aa ef ldi r26, 0xFA ; 250 391a: bb e3 ldi r27, 0x3B ; 59 391c: 80 93 86 29 sts 0x2986, r24 ; 0x802986 3920: 90 93 87 29 sts 0x2987, r25 ; 0x802987 3924: a0 93 88 29 sts 0x2988, r26 ; 0x802988 3928: b0 93 89 29 sts 0x2989, r27 ; 0x802989 break; 392c: 26 c0 rjmp .+76 ; 0x397a case GYRO_500DPS: gyro_resolution = (float)(500.0/32760.0); 392e: 81 ea ldi r24, 0xA1 ; 161 3930: 9f e0 ldi r25, 0x0F ; 15 3932: aa e7 ldi r26, 0x7A ; 122 3934: bc e3 ldi r27, 0x3C ; 60 3936: 80 93 86 29 sts 0x2986, r24 ; 0x802986 393a: 90 93 87 29 sts 0x2987, r25 ; 0x802987 393e: a0 93 88 29 sts 0x2988, r26 ; 0x802988 3942: b0 93 89 29 sts 0x2989, r27 ; 0x802989 break; 3946: 19 c0 rjmp .+50 ; 0x397a case GYRO_1000DPS: gyro_resolution = (float)(1000.0/32760.0); 3948: 81 ea ldi r24, 0xA1 ; 161 394a: 9f e0 ldi r25, 0x0F ; 15 394c: aa ef ldi r26, 0xFA ; 250 394e: bc e3 ldi r27, 0x3C ; 60 3950: 80 93 86 29 sts 0x2986, r24 ; 0x802986 3954: 90 93 87 29 sts 0x2987, r25 ; 0x802987 3958: a0 93 88 29 sts 0x2988, r26 ; 0x802988 395c: b0 93 89 29 sts 0x2989, r27 ; 0x802989 break; 3960: 0c c0 rjmp .+24 ; 0x397a case GYRO_2000DPS: gyro_resolution = (float)(2000.0/32768.0); 3962: 80 e0 ldi r24, 0x00 ; 0 3964: 90 e0 ldi r25, 0x00 ; 0 3966: aa e7 ldi r26, 0x7A ; 122 3968: bd e3 ldi r27, 0x3D ; 61 396a: 80 93 86 29 sts 0x2986, r24 ; 0x802986 396e: 90 93 87 29 sts 0x2987, r25 ; 0x802987 3972: a0 93 88 29 sts 0x2988, r26 ; 0x802988 3976: b0 93 89 29 sts 0x2989, r27 ; 0x802989 break; default: break; } twi_write(MPU_ADDR, GYRO_CONFIG, (MPU_GYRO_SCALE << 3)); 397a: 48 e1 ldi r20, 0x18 ; 24 397c: 6b e1 ldi r22, 0x1B ; 27 397e: 89 e6 ldi r24, 0x69 ; 105 3980: 0c 94 69 2f jmp 0x5ed2 ; 0x5ed2 3984: 08 95 ret 00003986 : void mpu_init(void) { b_mag_calibrate = false; init_circ_buffer_double(&cb_yaw, yaw_buff, 10); 3986: 4a e0 ldi r20, 0x0A ; 10 3988: 65 e9 ldi r22, 0x95 ; 149 398a: 73 e2 ldi r23, 0x23 ; 35 398c: 8d eb ldi r24, 0xBD ; 189 398e: 93 e2 ldi r25, 0x23 ; 35 3990: 0e 94 72 2e call 0x5ce4 ; 0x5ce4 init_circ_buffer_double(&cb_pitch, pitch_buff, 10); 3994: 4a e0 ldi r20, 0x0A ; 10 3996: 68 e6 ldi r22, 0x68 ; 104 3998: 73 e2 ldi r23, 0x23 ; 35 399a: 80 e9 ldi r24, 0x90 ; 144 399c: 93 e2 ldi r25, 0x23 ; 35 399e: 0e 94 72 2e call 0x5ce4 ; 0x5ce4 init_circ_buffer_double(&cb_roll, roll_buff, 10); 39a2: 4a e0 ldi r20, 0x0A ; 10 39a4: 6b e3 ldi r22, 0x3B ; 59 39a6: 73 e2 ldi r23, 0x23 ; 35 39a8: 83 e6 ldi r24, 0x63 ; 99 39aa: 93 e2 ldi r25, 0x23 ; 35 39ac: 0e 94 72 2e call 0x5ce4 ; 0x5ce4 init_circ_buffer_float(&cb_accel_x, accel_buff_x, 10); 39b0: 4a e0 ldi r20, 0x0A ; 10 39b2: 6c e1 ldi r22, 0x1C ; 28 39b4: 74 e2 ldi r23, 0x24 ; 36 39b6: 84 e4 ldi r24, 0x44 ; 68 39b8: 94 e2 ldi r25, 0x24 ; 36 39ba: 0e 94 9d 2d call 0x5b3a ; 0x5b3a init_circ_buffer_float(&cb_accel_y, accel_buff_y, 10); 39be: 4a e0 ldi r20, 0x0A ; 10 39c0: 6f ee ldi r22, 0xEF ; 239 39c2: 73 e2 ldi r23, 0x23 ; 35 39c4: 87 e1 ldi r24, 0x17 ; 23 39c6: 94 e2 ldi r25, 0x24 ; 36 39c8: 0e 94 9d 2d call 0x5b3a ; 0x5b3a init_circ_buffer_float(&cb_accel_z, accel_buff_z, 10); 39cc: 4a e0 ldi r20, 0x0A ; 10 39ce: 62 ec ldi r22, 0xC2 ; 194 39d0: 73 e2 ldi r23, 0x23 ; 35 39d2: 8a ee ldi r24, 0xEA ; 234 39d4: 93 e2 ldi r25, 0x23 ; 35 39d6: 0e 94 9d 2d call 0x5b3a ; 0x5b3a //reset imu twi_write(MPU_ADDR, PWR_MGMT_1, 0x80); 39da: 40 e8 ldi r20, 0x80 ; 128 39dc: 6b e6 ldi r22, 0x6B ; 107 39de: 89 e6 ldi r24, 0x69 ; 105 39e0: 0e 94 69 2f call 0x5ed2 ; 0x5ed2 delay_ms(100); 39e4: 66 e5 ldi r22, 0x56 ; 86 39e6: 73 e2 ldi r23, 0x23 ; 35 39e8: 88 e0 ldi r24, 0x08 ; 8 39ea: 90 e0 ldi r25, 0x00 ; 0 39ec: b3 da rcall .-2714 ; 0x2f54 <__portable_avr_delay_cycles> twi_write(MPU_ADDR, PWR_MGMT_1, 0x01); 39ee: 41 e0 ldi r20, 0x01 ; 1 39f0: 6b e6 ldi r22, 0x6B ; 107 39f2: 89 e6 ldi r24, 0x69 ; 105 39f4: 0e 94 69 2f call 0x5ed2 ; 0x5ed2 twi_write(MPU_ADDR, PWR_MGMT_2, 0x00); 39f8: 40 e0 ldi r20, 0x00 ; 0 39fa: 6c e6 ldi r22, 0x6C ; 108 39fc: 89 e6 ldi r24, 0x69 ; 105 39fe: 0e 94 69 2f call 0x5ed2 ; 0x5ed2 delay_ms(100); 3a02: 66 e5 ldi r22, 0x56 ; 86 3a04: 73 e2 ldi r23, 0x23 ; 35 3a06: 88 e0 ldi r24, 0x08 ; 8 3a08: 90 e0 ldi r25, 0x00 ; 0 3a0a: a4 da rcall .-2744 ; 0x2f54 <__portable_avr_delay_cycles> //clock source config //enable gyro + accel //gyro init twi_write(MPU_ADDR, MPU_CONFIG, 0x02); //gyro low pass filter config 3a0c: 42 e0 ldi r20, 0x02 ; 2 3a0e: 6a e1 ldi r22, 0x1A ; 26 3a10: 89 e6 ldi r24, 0x69 ; 105 3a12: 0e 94 69 2f call 0x5ed2 ; 0x5ed2 set_gyro_resolution(GYRO_2000DPS); 3a16: 83 e0 ldi r24, 0x03 ; 3 //accel config set_accel_resolution(ACCEL_16G); 3a18: 75 df rcall .-278 ; 0x3904 3a1a: 83 e0 ldi r24, 0x03 ; 3 3a1c: 32 df rcall .-412 ; 0x3882 twi_write(MPU_ADDR, ACCEL_CONFIG2, 0x02); //accel low pass filter config 3a1e: 42 e0 ldi r20, 0x02 ; 2 3a20: 6d e1 ldi r22, 0x1D ; 29 3a22: 89 e6 ldi r24, 0x69 ; 105 3a24: 0e 94 69 2f call 0x5ed2 ; 0x5ed2 //sample rate config mpu_set_sample_rate(MPU_SAMPLE_RATE); 3a28: 84 e6 ldi r24, 0x64 ; 100 3a2a: a5 da rcall .-2742 ; 0x2f76 //mpu int config twi_write(MPU_ADDR, INT_PIN_CFG, 0x22); 3a2c: 42 e2 ldi r20, 0x22 ; 34 3a2e: 67 e3 ldi r22, 0x37 ; 55 3a30: 89 e6 ldi r24, 0x69 ; 105 3a32: 0e 94 69 2f call 0x5ed2 ; 0x5ed2 twi_write(MPU_ADDR, INT_ENABLE, 0x01); 3a36: 41 e0 ldi r20, 0x01 ; 1 3a38: 68 e3 ldi r22, 0x38 ; 56 3a3a: 89 e6 ldi r24, 0x69 ; 105 3a3c: 0e 94 69 2f call 0x5ed2 ; 0x5ed2 //not using mag //mpu_mag_wai(); //mag init //mag_init(); //int pin config on mcu PORTA.PIN2CTRL = PORT_OPC_PULLDOWN_gc | PORT_ISC_RISING_gc; 3a40: e0 e0 ldi r30, 0x00 ; 0 3a42: f6 e0 ldi r31, 0x06 ; 6 3a44: 81 e1 ldi r24, 0x11 ; 17 3a46: 82 8b std Z+18, r24 ; 0x12 PORTA.INT0MASK = PIN2_bm; 3a48: 84 e0 ldi r24, 0x04 ; 4 3a4a: 82 87 std Z+10, r24 ; 0x0a PORTA.INTCTRL = PORT_INT0LVL_HI_gc; 3a4c: 83 e0 ldi r24, 0x03 ; 3 3a4e: 81 87 std Z+9, r24 ; 0x09 3a50: 08 95 ret 00003a52 <__vector_66>: } twi_write(MPU_ADDR, GYRO_CONFIG, (MPU_GYRO_SCALE << 3)); } ISR(PORTA_INT0_vect) { 3a52: 1f 92 push r1 3a54: 0f 92 push r0 3a56: 0f b6 in r0, 0x3f ; 63 3a58: 0f 92 push r0 3a5a: 11 24 eor r1, r1 3a5c: 08 b6 in r0, 0x38 ; 56 3a5e: 0f 92 push r0 3a60: 18 be out 0x38, r1 ; 56 3a62: 8f 93 push r24 delay_ms(10); } void set_mpu_data_status(_Bool status) { b_mpu_data_ready = status; 3a64: 81 e0 ldi r24, 0x01 ; 1 3a66: 80 93 89 24 sts 0x2489, r24 ; 0x802489 } ISR(PORTA_INT0_vect) { set_mpu_data_status(true); 3a6a: 8f 91 pop r24 3a6c: 0f 90 pop r0 3a6e: 08 be out 0x38, r0 ; 56 3a70: 0f 90 pop r0 3a72: 0f be out 0x3f, r0 ; 63 3a74: 0f 90 pop r0 3a76: 1f 90 pop r1 3a78: 18 95 reti 00003a7a : void get_ntcle_temp(void) { ntcle100_data.temp += (get_oversampled_ntcle_temp(NTCLE100_OVERSAMPLE_AMOUNT) - temp_off); ntcle100_data.samplect++; } 3a7a: e0 e0 ldi r30, 0x00 ; 0 3a7c: f2 e0 ldi r31, 0x02 ; 2 3a7e: 80 a1 ldd r24, Z+32 ; 0x20 3a80: 80 68 ori r24, 0x80 ; 128 3a82: 80 a3 std Z+32, r24 ; 0x20 3a84: 08 95 ret 00003a86 : 3a86: f9 df rcall .-14 ; 0x3a7a 3a88: e0 e0 ldi r30, 0x00 ; 0 3a8a: f2 e0 ldi r31, 0x02 ; 2 3a8c: 83 a1 ldd r24, Z+35 ; 0x23 3a8e: 88 23 and r24, r24 3a90: e9 f3 breq .-6 ; 0x3a8c 3a92: e0 e0 ldi r30, 0x00 ; 0 3a94: f2 e0 ldi r31, 0x02 ; 2 3a96: 84 a1 ldd r24, Z+36 ; 0x24 3a98: 95 a1 ldd r25, Z+37 ; 0x25 3a9a: 16 82 std Z+6, r1 ; 0x06 3a9c: 08 95 ret 00003a9e : 3a9e: 8f 92 push r8 3aa0: 9f 92 push r9 3aa2: af 92 push r10 3aa4: bf 92 push r11 3aa6: cf 92 push r12 3aa8: df 92 push r13 3aaa: ef 92 push r14 3aac: ff 92 push r15 3aae: cf 93 push r28 3ab0: c4 2f mov r28, r20 3ab2: 0e 94 4e 33 call 0x669c ; 0x669c <__floatunsisf> 3ab6: 20 e0 ldi r18, 0x00 ; 0 3ab8: 30 e4 ldi r19, 0x40 ; 64 3aba: 4c e1 ldi r20, 0x1C ; 28 3abc: 56 e4 ldi r21, 0x46 ; 70 3abe: 0e 94 b5 32 call 0x656a ; 0x656a <__divsf3> 3ac2: 0e 94 61 34 call 0x68c2 ; 0x68c2 3ac6: 6b 01 movw r12, r22 3ac8: 7c 01 movw r14, r24 3aca: 9b 01 movw r18, r22 3acc: ac 01 movw r20, r24 3ace: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 3ad2: 22 e8 ldi r18, 0x82 ; 130 3ad4: 35 ed ldi r19, 0xD5 ; 213 3ad6: 4f e2 ldi r20, 0x2F ; 47 3ad8: 56 e3 ldi r21, 0x36 ; 54 3ada: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 3ade: 4b 01 movw r8, r22 3ae0: 5c 01 movw r10, r24 3ae2: 21 ef ldi r18, 0xF1 ; 241 3ae4: 3b eb ldi r19, 0xBB ; 187 3ae6: 46 e8 ldi r20, 0x86 ; 134 3ae8: 59 e3 ldi r21, 0x39 ; 57 3aea: c7 01 movw r24, r14 3aec: b6 01 movw r22, r12 3aee: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 3af2: 2d e0 ldi r18, 0x0D ; 13 3af4: 3f ec ldi r19, 0xCF ; 207 3af6: 4b e5 ldi r20, 0x5B ; 91 3af8: 5b e3 ldi r21, 0x3B ; 59 3afa: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 3afe: 9b 01 movw r18, r22 3b00: ac 01 movw r20, r24 3b02: c5 01 movw r24, r10 3b04: b4 01 movw r22, r8 3b06: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 3b0a: 4b 01 movw r8, r22 3b0c: 5c 01 movw r10, r24 3b0e: 20 e0 ldi r18, 0x00 ; 0 3b10: 30 e0 ldi r19, 0x00 ; 0 3b12: 40 e4 ldi r20, 0x40 ; 64 3b14: 50 e4 ldi r21, 0x40 ; 64 3b16: c7 01 movw r24, r14 3b18: b6 01 movw r22, r12 3b1a: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 3b1e: 2a e6 ldi r18, 0x6A ; 106 3b20: 33 e1 ldi r19, 0x13 ; 19 3b22: 49 e8 ldi r20, 0x89 ; 137 3b24: 53 e3 ldi r21, 0x33 ; 51 3b26: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 3b2a: 9b 01 movw r18, r22 3b2c: ac 01 movw r20, r24 3b2e: c5 01 movw r24, r10 3b30: b4 01 movw r22, r8 3b32: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 3b36: 9b 01 movw r18, r22 3b38: ac 01 movw r20, r24 3b3a: 60 e0 ldi r22, 0x00 ; 0 3b3c: 70 e0 ldi r23, 0x00 ; 0 3b3e: 80 e8 ldi r24, 0x80 ; 128 3b40: 9f e3 ldi r25, 0x3F ; 63 3b42: 0e 94 b5 32 call 0x656a ; 0x656a <__divsf3> 3b46: cc 23 and r28, r28 3b48: 89 f0 breq .+34 ; 0x3b6c 3b4a: 23 e3 ldi r18, 0x33 ; 51 3b4c: 33 e9 ldi r19, 0x93 ; 147 3b4e: 48 e8 ldi r20, 0x88 ; 136 3b50: 53 e4 ldi r21, 0x43 ; 67 3b52: c6 2e mov r12, r22 3b54: d7 2e mov r13, r23 3b56: e8 2e mov r14, r24 3b58: f9 2e mov r15, r25 3b5a: c7 01 movw r24, r14 3b5c: b6 01 movw r22, r12 3b5e: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 3b62: 56 2f mov r21, r22 3b64: 47 2f mov r20, r23 3b66: 38 2f mov r19, r24 3b68: 29 2f mov r18, r25 3b6a: 04 c0 rjmp .+8 ; 0x3b74 3b6c: 56 2f mov r21, r22 3b6e: 47 2f mov r20, r23 3b70: 38 2f mov r19, r24 3b72: 29 2f mov r18, r25 3b74: 65 2f mov r22, r21 3b76: 74 2f mov r23, r20 3b78: 83 2f mov r24, r19 3b7a: 92 2f mov r25, r18 3b7c: cf 91 pop r28 3b7e: ff 90 pop r15 3b80: ef 90 pop r14 3b82: df 90 pop r13 3b84: cf 90 pop r12 3b86: bf 90 pop r11 3b88: af 90 pop r10 3b8a: 9f 90 pop r9 3b8c: 8f 90 pop r8 3b8e: 08 95 ret 00003b90 : 3b90: ea e8 ldi r30, 0x8A ; 138 3b92: f4 e2 ldi r31, 0x24 ; 36 3b94: 10 82 st Z, r1 3b96: 11 82 std Z+1, r1 ; 0x01 3b98: 12 82 std Z+2, r1 ; 0x02 3b9a: 13 82 std Z+3, r1 ; 0x03 3b9c: 14 82 std Z+4, r1 ; 0x04 3b9e: 15 82 std Z+5, r1 ; 0x05 3ba0: 08 95 ret 00003ba2 : 3ba2: ff 92 push r15 3ba4: 0f 93 push r16 3ba6: 1f 93 push r17 3ba8: cf 93 push r28 3baa: df 93 push r29 3bac: 8c 01 movw r16, r24 3bae: f6 2e mov r15, r22 3bb0: ca e8 ldi r28, 0x8A ; 138 3bb2: d4 e2 ldi r29, 0x24 ; 36 3bb4: 6c 81 ldd r22, Y+4 ; 0x04 3bb6: 7d 81 ldd r23, Y+5 ; 0x05 3bb8: 07 2e mov r0, r23 3bba: 00 0c add r0, r0 3bbc: 88 0b sbc r24, r24 3bbe: 99 0b sbc r25, r25 3bc0: 0e 94 50 33 call 0x66a0 ; 0x66a0 <__floatsisf> 3bc4: 9b 01 movw r18, r22 3bc6: ac 01 movw r20, r24 3bc8: 68 81 ld r22, Y 3bca: 79 81 ldd r23, Y+1 ; 0x01 3bcc: 8a 81 ldd r24, Y+2 ; 0x02 3bce: 9b 81 ldd r25, Y+3 ; 0x03 3bd0: 0e 94 b5 32 call 0x656a ; 0x656a <__divsf3> 3bd4: f8 01 movw r30, r16 3bd6: 60 83 st Z, r22 3bd8: 71 83 std Z+1, r23 ; 0x01 3bda: 82 83 std Z+2, r24 ; 0x02 3bdc: 93 83 std Z+3, r25 ; 0x03 3bde: f1 10 cpse r15, r1 3be0: d7 df rcall .-82 ; 0x3b90 3be2: df 91 pop r29 3be4: cf 91 pop r28 3be6: 1f 91 pop r17 3be8: 0f 91 pop r16 3bea: ff 90 pop r15 3bec: 08 95 ret 00003bee : 3bee: 4f 92 push r4 3bf0: 5f 92 push r5 3bf2: 6f 92 push r6 3bf4: 7f 92 push r7 3bf6: 8f 92 push r8 3bf8: 9f 92 push r9 3bfa: af 92 push r10 3bfc: bf 92 push r11 3bfe: cf 92 push r12 3c00: df 92 push r13 3c02: ef 92 push r14 3c04: ff 92 push r15 3c06: 0f 93 push r16 3c08: 1f 93 push r17 3c0a: cf 93 push r28 3c0c: df 93 push r29 3c0e: 8c 01 movw r16, r24 3c10: 18 16 cp r1, r24 3c12: 19 06 cpc r1, r25 3c14: 0c f0 brlt .+2 ; 0x3c18 3c16: 40 c0 rjmp .+128 ; 0x3c98 3c18: c0 e0 ldi r28, 0x00 ; 0 3c1a: d0 e0 ldi r29, 0x00 ; 0 3c1c: 81 2c mov r8, r1 3c1e: 91 2c mov r9, r1 3c20: 54 01 movw r10, r8 3c22: 31 df rcall .-414 ; 0x3a86 3c24: bc 01 movw r22, r24 3c26: 80 e0 ldi r24, 0x00 ; 0 3c28: 90 e0 ldi r25, 0x00 ; 0 3c2a: 0e 94 4e 33 call 0x669c ; 0x669c <__floatunsisf> 3c2e: 20 e0 ldi r18, 0x00 ; 0 3c30: 30 e0 ldi r19, 0x00 ; 0 3c32: 44 e0 ldi r20, 0x04 ; 4 3c34: 50 e4 ldi r21, 0x40 ; 64 3c36: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 3c3a: 20 e0 ldi r18, 0x00 ; 0 3c3c: 30 e0 ldi r19, 0x00 ; 0 3c3e: 40 e8 ldi r20, 0x80 ; 128 3c40: 59 e3 ldi r21, 0x39 ; 57 3c42: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 3c46: 6b 01 movw r12, r22 3c48: 7c 01 movw r14, r24 3c4a: 20 e0 ldi r18, 0x00 ; 0 3c4c: 30 e2 ldi r19, 0x20 ; 32 3c4e: 4b e4 ldi r20, 0x4B ; 75 3c50: 56 e4 ldi r21, 0x46 ; 70 3c52: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 3c56: 2b 01 movw r4, r22 3c58: 3c 01 movw r6, r24 3c5a: a7 01 movw r20, r14 3c5c: 96 01 movw r18, r12 3c5e: 63 e3 ldi r22, 0x33 ; 51 3c60: 73 e3 ldi r23, 0x33 ; 51 3c62: 83 e5 ldi r24, 0x53 ; 83 3c64: 90 e4 ldi r25, 0x40 ; 64 3c66: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 3c6a: 9b 01 movw r18, r22 3c6c: ac 01 movw r20, r24 3c6e: c3 01 movw r24, r6 3c70: b2 01 movw r22, r4 3c72: 0e 94 b5 32 call 0x656a ; 0x656a <__divsf3> 3c76: 0e 94 22 33 call 0x6644 ; 0x6644 <__fixunssfsi> 3c7a: 41 e0 ldi r20, 0x01 ; 1 3c7c: 10 df rcall .-480 ; 0x3a9e 3c7e: 9b 01 movw r18, r22 3c80: ac 01 movw r20, r24 3c82: c5 01 movw r24, r10 3c84: b4 01 movw r22, r8 3c86: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 3c8a: 4b 01 movw r8, r22 3c8c: 5c 01 movw r10, r24 3c8e: 21 96 adiw r28, 0x01 ; 1 3c90: 0c 17 cp r16, r28 3c92: 1d 07 cpc r17, r29 3c94: 31 f6 brne .-116 ; 0x3c22 3c96: 03 c0 rjmp .+6 ; 0x3c9e 3c98: 81 2c mov r8, r1 3c9a: 91 2c mov r9, r1 3c9c: 54 01 movw r10, r8 3c9e: b8 01 movw r22, r16 3ca0: 11 0f add r17, r17 3ca2: 88 0b sbc r24, r24 3ca4: 99 0b sbc r25, r25 3ca6: 0e 94 50 33 call 0x66a0 ; 0x66a0 <__floatsisf> 3caa: 9b 01 movw r18, r22 3cac: ac 01 movw r20, r24 3cae: c5 01 movw r24, r10 3cb0: b4 01 movw r22, r8 3cb2: 0e 94 b5 32 call 0x656a ; 0x656a <__divsf3> 3cb6: df 91 pop r29 3cb8: cf 91 pop r28 3cba: 1f 91 pop r17 3cbc: 0f 91 pop r16 3cbe: ff 90 pop r15 3cc0: ef 90 pop r14 3cc2: df 90 pop r13 3cc4: cf 90 pop r12 3cc6: bf 90 pop r11 3cc8: af 90 pop r10 3cca: 9f 90 pop r9 3ccc: 8f 90 pop r8 3cce: 7f 90 pop r7 3cd0: 6f 90 pop r6 3cd2: 5f 90 pop r5 3cd4: 4f 90 pop r4 3cd6: 08 95 ret 00003cd8 : ntcle100_data.samplect = 0; } float get_ntcle_temp_now(void) { return (get_oversampled_ntcle_temp(NTCLE100_OVERSAMPLE_AMOUNT) - temp_off); 3cd8: 84 e0 ldi r24, 0x04 ; 4 3cda: 90 e0 ldi r25, 0x00 ; 0 3cdc: 88 df rcall .-240 ; 0x3bee 3cde: 20 91 a0 29 lds r18, 0x29A0 ; 0x8029a0 3ce2: 30 91 a1 29 lds r19, 0x29A1 ; 0x8029a1 3ce6: 40 91 a2 29 lds r20, 0x29A2 ; 0x8029a2 3cea: 50 91 a3 29 lds r21, 0x29A3 ; 0x8029a3 3cee: 0c 94 d3 31 jmp 0x63a6 ; 0x63a6 <__subsf3> } 3cf2: 08 95 ret 00003cf4 : { ADCA.CH0.CTRL |= 0b10000000; } void ntcle100_init(void) { 3cf4: cf 93 push r28 3cf6: df 93 push r29 temp_off = 0; 3cf8: 10 92 a0 29 sts 0x29A0, r1 ; 0x8029a0 3cfc: 10 92 a1 29 sts 0x29A1, r1 ; 0x8029a1 3d00: 10 92 a2 29 sts 0x29A2, r1 ; 0x8029a2 3d04: 10 92 a3 29 sts 0x29A3, r1 ; 0x8029a3 //enable adc channel 0 ADCA.CH0.CTRL = 0b00000001; 3d08: e0 e0 ldi r30, 0x00 ; 0 3d0a: f2 e0 ldi r31, 0x02 ; 2 3d0c: 81 e0 ldi r24, 0x01 ; 1 3d0e: 80 a3 std Z+32, r24 ; 0x20 //pin 0 for ch0 ADCA.CH0.MUXCTRL = 0b00000000; 3d10: 11 a2 std Z+33, r1 ; 0x21 swprintf(SWDEBUG, "Test temp: %-2.2f\n", get_ntcle_temp_now()); 3d12: c0 91 3d 25 lds r28, 0x253D ; 0x80253d 3d16: d0 91 3e 25 lds r29, 0x253E ; 0x80253e 3d1a: de df rcall .-68 ; 0x3cd8 3d1c: 9f 93 push r25 3d1e: 8f 93 push r24 3d20: 7f 93 push r23 3d22: 6f 93 push r22 3d24: 8c ee ldi r24, 0xEC ; 236 3d26: 90 e2 ldi r25, 0x20 ; 32 3d28: 9f 93 push r25 3d2a: 8f 93 push r24 3d2c: 88 e0 ldi r24, 0x08 ; 8 3d2e: 8f 93 push r24 3d30: 80 ea ldi r24, 0xA0 ; 160 3d32: 8f 93 push r24 3d34: fe 01 movw r30, r28 3d36: 19 95 eicall } 3d38: 8d b7 in r24, 0x3d ; 61 3d3a: 9e b7 in r25, 0x3e ; 62 3d3c: 08 96 adiw r24, 0x08 ; 8 3d3e: 8d bf out 0x3d, r24 ; 61 3d40: 9e bf out 0x3e, r25 ; 62 3d42: df 91 pop r29 3d44: cf 91 pop r28 3d46: 08 95 ret 00003d48 : */ #include "drivers/adc_util.h" void adc_util_init(void) { 3d48: 0f 93 push r16 3d4a: 1f 93 push r17 3d4c: cf 93 push r28 3d4e: df 93 push r29 //enable adca ADCA.CTRLA = 0b00000001; 3d50: 00 e0 ldi r16, 0x00 ; 0 3d52: 12 e0 ldi r17, 0x02 ; 2 3d54: 81 e0 ldi r24, 0x01 ; 1 3d56: f8 01 movw r30, r16 3d58: 80 83 st Z, r24 //enable unsigned 12 bit res ADCA.CTRLB = 0b00000000; 3d5a: 11 82 std Z+1, r1 ; 0x01 //[5:4] = 01 for Vcc/1.6 as ref voltage ADCA.REFCTRL = 0b00010000; 3d5c: 80 e1 ldi r24, 0x10 ; 16 3d5e: 82 83 std Z+2, r24 ; 0x02 ADCA.PRESCALER = 0b00000101; 3d60: 85 e0 ldi r24, 0x05 ; 5 3d62: 84 83 std Z+4, r24 ; 0x04 * * \param address Byte offset into the signature row */ static inline uint8_t nvm_read_production_signature_row(uint8_t address) { return nvm_read_byte(NVM_CMD_READ_CALIB_ROW_gc, address); 3d64: 61 e2 ldi r22, 0x21 ; 33 3d66: 70 e0 ldi r23, 0x00 ; 0 3d68: 82 e0 ldi r24, 0x02 ; 2 3d6a: 0e 94 5d 04 call 0x8ba ; 0x8ba uint16_t data; switch (cal) { #ifdef ADCA case ADC_CAL_ADCA: data = nvm_read_production_signature_row(ADCACAL1); 3d6e: c8 2f mov r28, r24 3d70: d0 e0 ldi r29, 0x00 ; 0 data <<= 8; 3d72: dc 2f mov r29, r28 3d74: cc 27 eor r28, r28 3d76: 60 e2 ldi r22, 0x20 ; 32 3d78: 70 e0 ldi r23, 0x00 ; 0 3d7a: 82 e0 ldi r24, 0x02 ; 2 3d7c: 0e 94 5d 04 call 0x8ba ; 0x8ba data |= nvm_read_production_signature_row(ADCACAL0); 3d80: c8 2b or r28, r24 ADCA.CAL = adc_get_calibration_data(ADC_CAL_ADCA); 3d82: f8 01 movw r30, r16 3d84: c4 87 std Z+12, r28 ; 0x0c 3d86: d5 87 std Z+13, r29 ; 0x0d ////enable adc 1 //ADCA.CH1.CTRL = 0b00000001; // ////pin 1 for ch1 //ADCA.CH1.MUXCTRL = 0b00001000; } 3d88: df 91 pop r29 3d8a: cf 91 pop r28 3d8c: 1f 91 pop r17 3d8e: 0f 91 pop r16 3d90: 08 95 ret 00003d92 : 3d92: 4f 92 push r4 3d94: 5f 92 push r5 3d96: 6f 92 push r6 3d98: 7f 92 push r7 3d9a: 8f 92 push r8 3d9c: 9f 92 push r9 3d9e: af 92 push r10 3da0: bf 92 push r11 3da2: cf 92 push r12 3da4: df 92 push r13 3da6: ef 92 push r14 3da8: ff 92 push r15 3daa: 0f 93 push r16 3dac: 1f 93 push r17 3dae: cf 93 push r28 3db0: df 93 push r29 3db2: cd b7 in r28, 0x3d ; 61 3db4: de b7 in r29, 0x3e ; 62 3db6: a4 97 sbiw r28, 0x24 ; 36 3db8: cd bf out 0x3d, r28 ; 61 3dba: de bf out 0x3e, r29 ; 62 3dbc: 69 87 std Y+9, r22 ; 0x09 3dbe: 7a 87 std Y+10, r23 ; 0x0a 3dc0: 8b 87 std Y+11, r24 ; 0x0b 3dc2: 9c 87 std Y+12, r25 ; 0x0c 3dc4: 2d 87 std Y+13, r18 ; 0x0d 3dc6: 3e 87 std Y+14, r19 ; 0x0e 3dc8: 4f 87 std Y+15, r20 ; 0x0f 3dca: 58 8b std Y+16, r21 ; 0x10 3dcc: e9 8a std Y+17, r14 ; 0x11 3dce: fa 8a std Y+18, r15 ; 0x12 3dd0: 0b 8b std Y+19, r16 ; 0x13 3dd2: 1c 8b std Y+20, r17 ; 0x14 3dd4: 20 e0 ldi r18, 0x00 ; 0 3dd6: 30 e0 ldi r19, 0x00 ; 0 3dd8: a9 01 movw r20, r18 3dda: c6 01 movw r24, r12 3ddc: b5 01 movw r22, r10 3dde: 0e 94 b1 32 call 0x6562 ; 0x6562 <__cmpsf2> 3de2: 81 11 cpse r24, r1 3de4: 17 c0 rjmp .+46 ; 0x3e14 3de6: 20 e0 ldi r18, 0x00 ; 0 3de8: 30 e0 ldi r19, 0x00 ; 0 3dea: a9 01 movw r20, r18 3dec: 68 ad ldd r22, Y+56 ; 0x38 3dee: 79 ad ldd r23, Y+57 ; 0x39 3df0: 8a ad ldd r24, Y+58 ; 0x3a 3df2: 9b ad ldd r25, Y+59 ; 0x3b 3df4: 0e 94 b1 32 call 0x6562 ; 0x6562 <__cmpsf2> 3df8: 81 11 cpse r24, r1 3dfa: 0c c0 rjmp .+24 ; 0x3e14 3dfc: 20 e0 ldi r18, 0x00 ; 0 3dfe: 30 e0 ldi r19, 0x00 ; 0 3e00: a9 01 movw r20, r18 3e02: 6c ad ldd r22, Y+60 ; 0x3c 3e04: 7d ad ldd r23, Y+61 ; 0x3d 3e06: 8e ad ldd r24, Y+62 ; 0x3e 3e08: 9f ad ldd r25, Y+63 ; 0x3f 3e0a: 0e 94 b1 32 call 0x6562 ; 0x6562 <__cmpsf2> 3e0e: 88 23 and r24, r24 3e10: 09 f4 brne .+2 ; 0x3e14 3e12: 89 c2 rjmp .+1298 ; 0x4326 <__stack+0x327> 3e14: a6 01 movw r20, r12 3e16: 95 01 movw r18, r10 3e18: c6 01 movw r24, r12 3e1a: b5 01 movw r22, r10 3e1c: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 3e20: 2b 01 movw r4, r22 3e22: 3c 01 movw r6, r24 3e24: 28 ad ldd r18, Y+56 ; 0x38 3e26: 39 ad ldd r19, Y+57 ; 0x39 3e28: 4a ad ldd r20, Y+58 ; 0x3a 3e2a: 5b ad ldd r21, Y+59 ; 0x3b 3e2c: ca 01 movw r24, r20 3e2e: b9 01 movw r22, r18 3e30: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 3e34: 9b 01 movw r18, r22 3e36: ac 01 movw r20, r24 3e38: c3 01 movw r24, r6 3e3a: b2 01 movw r22, r4 3e3c: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 3e40: 2b 01 movw r4, r22 3e42: 3c 01 movw r6, r24 3e44: 2c ad ldd r18, Y+60 ; 0x3c 3e46: 3d ad ldd r19, Y+61 ; 0x3d 3e48: 4e ad ldd r20, Y+62 ; 0x3e 3e4a: 5f ad ldd r21, Y+63 ; 0x3f 3e4c: ca 01 movw r24, r20 3e4e: b9 01 movw r22, r18 3e50: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 3e54: 9b 01 movw r18, r22 3e56: ac 01 movw r20, r24 3e58: c3 01 movw r24, r6 3e5a: b2 01 movw r22, r4 3e5c: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 3e60: 2b 01 movw r4, r22 3e62: 3c 01 movw r6, r24 3e64: 75 94 asr r7 3e66: 67 94 ror r6 3e68: 57 94 ror r5 3e6a: 47 94 ror r4 3e6c: 1f ed ldi r17, 0xDF ; 223 3e6e: e1 2e mov r14, r17 3e70: 19 e5 ldi r17, 0x59 ; 89 3e72: f1 2e mov r15, r17 3e74: 07 e3 ldi r16, 0x37 ; 55 3e76: 1f e5 ldi r17, 0x5F ; 95 3e78: e4 18 sub r14, r4 3e7a: f5 08 sbc r15, r5 3e7c: 06 09 sbc r16, r6 3e7e: 17 09 sbc r17, r7 3e80: 20 e0 ldi r18, 0x00 ; 0 3e82: 30 e0 ldi r19, 0x00 ; 0 3e84: 40 e0 ldi r20, 0x00 ; 0 3e86: 5f e3 ldi r21, 0x3F ; 63 3e88: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 3e8c: a8 01 movw r20, r16 3e8e: 97 01 movw r18, r14 3e90: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 3e94: a8 01 movw r20, r16 3e96: 97 01 movw r18, r14 3e98: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 3e9c: 9b 01 movw r18, r22 3e9e: ac 01 movw r20, r24 3ea0: 60 e0 ldi r22, 0x00 ; 0 3ea2: 70 e0 ldi r23, 0x00 ; 0 3ea4: 80 ec ldi r24, 0xC0 ; 192 3ea6: 9f e3 ldi r25, 0x3F ; 63 3ea8: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 3eac: a8 01 movw r20, r16 3eae: 97 01 movw r18, r14 3eb0: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 3eb4: 2b 01 movw r4, r22 3eb6: 3c 01 movw r6, r24 3eb8: 9b 01 movw r18, r22 3eba: ac 01 movw r20, r24 3ebc: c6 01 movw r24, r12 3ebe: b5 01 movw r22, r10 3ec0: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 3ec4: 69 83 std Y+1, r22 ; 0x01 3ec6: 7a 83 std Y+2, r23 ; 0x02 3ec8: 8b 83 std Y+3, r24 ; 0x03 3eca: 9c 83 std Y+4, r25 ; 0x04 3ecc: a3 01 movw r20, r6 3ece: 92 01 movw r18, r4 3ed0: 68 ad ldd r22, Y+56 ; 0x38 3ed2: 79 ad ldd r23, Y+57 ; 0x39 3ed4: 8a ad ldd r24, Y+58 ; 0x3a 3ed6: 9b ad ldd r25, Y+59 ; 0x3b 3ed8: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 3edc: 6d 83 std Y+5, r22 ; 0x05 3ede: 7e 83 std Y+6, r23 ; 0x06 3ee0: 8f 83 std Y+7, r24 ; 0x07 3ee2: 98 87 std Y+8, r25 ; 0x08 3ee4: a3 01 movw r20, r6 3ee6: 92 01 movw r18, r4 3ee8: 6c ad ldd r22, Y+60 ; 0x3c 3eea: 7d ad ldd r23, Y+61 ; 0x3d 3eec: 8e ad ldd r24, Y+62 ; 0x3e 3eee: 9f ad ldd r25, Y+63 ; 0x3f 3ef0: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 3ef4: 6d 8b std Y+21, r22 ; 0x15 3ef6: 7e 8b std Y+22, r23 ; 0x16 3ef8: 8f 8b std Y+23, r24 ; 0x17 3efa: 98 8f std Y+24, r25 ; 0x18 3efc: 60 91 a4 24 lds r22, 0x24A4 ; 0x8024a4 3f00: 70 91 a5 24 lds r23, 0x24A5 ; 0x8024a5 3f04: 80 91 a6 24 lds r24, 0x24A6 ; 0x8024a6 3f08: 90 91 a7 24 lds r25, 0x24A7 ; 0x8024a7 3f0c: 20 91 9c 24 lds r18, 0x249C ; 0x80249c 3f10: 30 91 9d 24 lds r19, 0x249D ; 0x80249d 3f14: 40 91 9e 24 lds r20, 0x249E ; 0x80249e 3f18: 50 91 9f 24 lds r21, 0x249F ; 0x80249f 3f1c: 80 90 00 20 lds r8, 0x2000 ; 0x802000 <__data_start> 3f20: 90 90 01 20 lds r9, 0x2001 ; 0x802001 <__data_start+0x1> 3f24: a0 90 02 20 lds r10, 0x2002 ; 0x802002 <__data_start+0x2> 3f28: b0 90 03 20 lds r11, 0x2003 ; 0x802003 <__data_start+0x3> 3f2c: 40 90 a0 24 lds r4, 0x24A0 ; 0x8024a0 3f30: 50 90 a1 24 lds r5, 0x24A1 ; 0x8024a1 3f34: 60 90 a2 24 lds r6, 0x24A2 ; 0x8024a2 3f38: 70 90 a3 24 lds r7, 0x24A3 ; 0x8024a3 3f3c: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 3f40: 6b 01 movw r12, r22 3f42: 7c 01 movw r14, r24 3f44: a3 01 movw r20, r6 3f46: 92 01 movw r18, r4 3f48: c5 01 movw r24, r10 3f4a: b4 01 movw r22, r8 3f4c: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 3f50: 9b 01 movw r18, r22 3f52: ac 01 movw r20, r24 3f54: c7 01 movw r24, r14 3f56: b6 01 movw r22, r12 3f58: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 3f5c: 69 8f std Y+25, r22 ; 0x19 3f5e: 7a 8f std Y+26, r23 ; 0x1a 3f60: 8b 8f std Y+27, r24 ; 0x1b 3f62: 9c 8f std Y+28, r25 ; 0x1c 3f64: 60 91 00 20 lds r22, 0x2000 ; 0x802000 <__data_start> 3f68: 70 91 01 20 lds r23, 0x2001 ; 0x802001 <__data_start+0x1> 3f6c: 80 91 02 20 lds r24, 0x2002 ; 0x802002 <__data_start+0x2> 3f70: 90 91 03 20 lds r25, 0x2003 ; 0x802003 <__data_start+0x3> 3f74: 20 91 a4 24 lds r18, 0x24A4 ; 0x8024a4 3f78: 30 91 a5 24 lds r19, 0x24A5 ; 0x8024a5 3f7c: 40 91 a6 24 lds r20, 0x24A6 ; 0x8024a6 3f80: 50 91 a7 24 lds r21, 0x24A7 ; 0x8024a7 3f84: 80 90 a0 24 lds r8, 0x24A0 ; 0x8024a0 3f88: 90 90 a1 24 lds r9, 0x24A1 ; 0x8024a1 3f8c: a0 90 a2 24 lds r10, 0x24A2 ; 0x8024a2 3f90: b0 90 a3 24 lds r11, 0x24A3 ; 0x8024a3 3f94: 40 90 9c 24 lds r4, 0x249C ; 0x80249c 3f98: 50 90 9d 24 lds r5, 0x249D ; 0x80249d 3f9c: 60 90 9e 24 lds r6, 0x249E ; 0x80249e 3fa0: 70 90 9f 24 lds r7, 0x249F ; 0x80249f 3fa4: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 3fa8: 6b 01 movw r12, r22 3faa: 7c 01 movw r14, r24 3fac: a3 01 movw r20, r6 3fae: 92 01 movw r18, r4 3fb0: c5 01 movw r24, r10 3fb2: b4 01 movw r22, r8 3fb4: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 3fb8: 9b 01 movw r18, r22 3fba: ac 01 movw r20, r24 3fbc: c7 01 movw r24, r14 3fbe: b6 01 movw r22, r12 3fc0: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 3fc4: 6d 8f std Y+29, r22 ; 0x1d 3fc6: 7e 8f std Y+30, r23 ; 0x1e 3fc8: 8f 8f std Y+31, r24 ; 0x1f 3fca: 98 a3 std Y+32, r25 ; 0x20 3fcc: 60 91 00 20 lds r22, 0x2000 ; 0x802000 <__data_start> 3fd0: 70 91 01 20 lds r23, 0x2001 ; 0x802001 <__data_start+0x1> 3fd4: 80 91 02 20 lds r24, 0x2002 ; 0x802002 <__data_start+0x2> 3fd8: 90 91 03 20 lds r25, 0x2003 ; 0x802003 <__data_start+0x3> 3fdc: 20 91 00 20 lds r18, 0x2000 ; 0x802000 <__data_start> 3fe0: 30 91 01 20 lds r19, 0x2001 ; 0x802001 <__data_start+0x1> 3fe4: 40 91 02 20 lds r20, 0x2002 ; 0x802002 <__data_start+0x2> 3fe8: 50 91 03 20 lds r21, 0x2003 ; 0x802003 <__data_start+0x3> 3fec: 80 90 9c 24 lds r8, 0x249C ; 0x80249c 3ff0: 90 90 9d 24 lds r9, 0x249D ; 0x80249d 3ff4: a0 90 9e 24 lds r10, 0x249E ; 0x80249e 3ff8: b0 90 9f 24 lds r11, 0x249F ; 0x80249f 3ffc: 40 90 9c 24 lds r4, 0x249C ; 0x80249c 4000: 50 90 9d 24 lds r5, 0x249D ; 0x80249d 4004: 60 90 9e 24 lds r6, 0x249E ; 0x80249e 4008: 70 90 9f 24 lds r7, 0x249F ; 0x80249f 400c: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4010: 20 e0 ldi r18, 0x00 ; 0 4012: 30 e0 ldi r19, 0x00 ; 0 4014: 40 e0 ldi r20, 0x00 ; 0 4016: 5f e3 ldi r21, 0x3F ; 63 4018: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 401c: 6b 01 movw r12, r22 401e: 7c 01 movw r14, r24 4020: a3 01 movw r20, r6 4022: 92 01 movw r18, r4 4024: c5 01 movw r24, r10 4026: b4 01 movw r22, r8 4028: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 402c: 9b 01 movw r18, r22 402e: ac 01 movw r20, r24 4030: c7 01 movw r24, r14 4032: b6 01 movw r22, r12 4034: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 4038: 6b 01 movw r12, r22 403a: 7c 01 movw r14, r24 403c: 9b 01 movw r18, r22 403e: ac 01 movw r20, r24 4040: 6d 81 ldd r22, Y+5 ; 0x05 4042: 7e 81 ldd r23, Y+6 ; 0x06 4044: 8f 81 ldd r24, Y+7 ; 0x07 4046: 98 85 ldd r25, Y+8 ; 0x08 4048: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 404c: 4b 01 movw r8, r22 404e: 5c 01 movw r10, r24 4050: 2d 8d ldd r18, Y+29 ; 0x1d 4052: 3e 8d ldd r19, Y+30 ; 0x1e 4054: 4f 8d ldd r20, Y+31 ; 0x1f 4056: 58 a1 ldd r21, Y+32 ; 0x20 4058: 6d 89 ldd r22, Y+21 ; 0x15 405a: 7e 89 ldd r23, Y+22 ; 0x16 405c: 8f 89 ldd r24, Y+23 ; 0x17 405e: 98 8d ldd r25, Y+24 ; 0x18 4060: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4064: 9b 01 movw r18, r22 4066: ac 01 movw r20, r24 4068: c5 01 movw r24, r10 406a: b4 01 movw r22, r8 406c: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 4070: 69 a3 std Y+33, r22 ; 0x21 4072: 7a a3 std Y+34, r23 ; 0x22 4074: 8b a3 std Y+35, r24 ; 0x23 4076: 9c a3 std Y+36, r25 ; 0x24 4078: 29 8d ldd r18, Y+25 ; 0x19 407a: 3a 8d ldd r19, Y+26 ; 0x1a 407c: 4b 8d ldd r20, Y+27 ; 0x1b 407e: 5c 8d ldd r21, Y+28 ; 0x1c 4080: 6d 89 ldd r22, Y+21 ; 0x15 4082: 7e 89 ldd r23, Y+22 ; 0x16 4084: 8f 89 ldd r24, Y+23 ; 0x17 4086: 98 8d ldd r25, Y+24 ; 0x18 4088: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 408c: 4b 01 movw r8, r22 408e: 5c 01 movw r10, r24 4090: a7 01 movw r20, r14 4092: 96 01 movw r18, r12 4094: 69 81 ldd r22, Y+1 ; 0x01 4096: 7a 81 ldd r23, Y+2 ; 0x02 4098: 8b 81 ldd r24, Y+3 ; 0x03 409a: 9c 81 ldd r25, Y+4 ; 0x04 409c: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 40a0: 9b 01 movw r18, r22 40a2: ac 01 movw r20, r24 40a4: c5 01 movw r24, r10 40a6: b4 01 movw r22, r8 40a8: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 40ac: 4b 01 movw r8, r22 40ae: 5c 01 movw r10, r24 40b0: 2d 8d ldd r18, Y+29 ; 0x1d 40b2: 3e 8d ldd r19, Y+30 ; 0x1e 40b4: 4f 8d ldd r20, Y+31 ; 0x1f 40b6: 58 a1 ldd r21, Y+32 ; 0x20 40b8: 69 81 ldd r22, Y+1 ; 0x01 40ba: 7a 81 ldd r23, Y+2 ; 0x02 40bc: 8b 81 ldd r24, Y+3 ; 0x03 40be: 9c 81 ldd r25, Y+4 ; 0x04 40c0: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 40c4: 6b 01 movw r12, r22 40c6: 7c 01 movw r14, r24 40c8: 29 8d ldd r18, Y+25 ; 0x19 40ca: 3a 8d ldd r19, Y+26 ; 0x1a 40cc: 4b 8d ldd r20, Y+27 ; 0x1b 40ce: 5c 8d ldd r21, Y+28 ; 0x1c 40d0: 6d 81 ldd r22, Y+5 ; 0x05 40d2: 7e 81 ldd r23, Y+6 ; 0x06 40d4: 8f 81 ldd r24, Y+7 ; 0x07 40d6: 98 85 ldd r25, Y+8 ; 0x08 40d8: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 40dc: 9b 01 movw r18, r22 40de: ac 01 movw r20, r24 40e0: c7 01 movw r24, r14 40e2: b6 01 movw r22, r12 40e4: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 40e8: 6b 01 movw r12, r22 40ea: 7c 01 movw r14, r24 40ec: 60 91 a8 24 lds r22, 0x24A8 ; 0x8024a8 40f0: 70 91 a9 24 lds r23, 0x24A9 ; 0x8024a9 40f4: 80 91 aa 24 lds r24, 0x24AA ; 0x8024aa 40f8: 90 91 ab 24 lds r25, 0x24AB ; 0x8024ab 40fc: 20 e0 ldi r18, 0x00 ; 0 40fe: 30 e0 ldi r19, 0x00 ; 0 4100: a9 01 movw r20, r18 4102: 0e 94 51 34 call 0x68a2 ; 0x68a2 <__gesf2> 4106: 18 16 cp r1, r24 4108: 0c f0 brlt .+2 ; 0x410c <__stack+0x10d> 410a: ab c0 rjmp .+342 ; 0x4262 <__stack+0x263> 410c: 20 91 a8 24 lds r18, 0x24A8 ; 0x8024a8 4110: 30 91 a9 24 lds r19, 0x24A9 ; 0x8024a9 4114: 40 91 aa 24 lds r20, 0x24AA ; 0x8024aa 4118: 50 91 ab 24 lds r21, 0x24AB ; 0x8024ab 411c: 40 90 98 24 lds r4, 0x2498 ; 0x802498 4120: 50 90 99 24 lds r5, 0x2499 ; 0x802499 4124: 60 90 9a 24 lds r6, 0x249A ; 0x80249a 4128: 70 90 9b 24 lds r7, 0x249B ; 0x80249b 412c: 69 a1 ldd r22, Y+33 ; 0x21 412e: 7a a1 ldd r23, Y+34 ; 0x22 4130: 8b a1 ldd r24, Y+35 ; 0x23 4132: 9c a1 ldd r25, Y+36 ; 0x24 4134: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4138: 2a ef ldi r18, 0xFA ; 250 413a: 39 ec ldi r19, 0xC9 ; 201 413c: 44 e3 ldi r20, 0x34 ; 52 413e: 59 e3 ldi r21, 0x39 ; 57 4140: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4144: a3 01 movw r20, r6 4146: 92 01 movw r18, r4 4148: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 414c: 60 93 98 24 sts 0x2498, r22 ; 0x802498 4150: 70 93 99 24 sts 0x2499, r23 ; 0x802499 4154: 80 93 9a 24 sts 0x249A, r24 ; 0x80249a 4158: 90 93 9b 24 sts 0x249B, r25 ; 0x80249b 415c: 20 91 a8 24 lds r18, 0x24A8 ; 0x8024a8 4160: 30 91 a9 24 lds r19, 0x24A9 ; 0x8024a9 4164: 40 91 aa 24 lds r20, 0x24AA ; 0x8024aa 4168: 50 91 ab 24 lds r21, 0x24AB ; 0x8024ab 416c: 40 90 94 24 lds r4, 0x2494 ; 0x802494 4170: 50 90 95 24 lds r5, 0x2495 ; 0x802495 4174: 60 90 96 24 lds r6, 0x2496 ; 0x802496 4178: 70 90 97 24 lds r7, 0x2497 ; 0x802497 417c: c5 01 movw r24, r10 417e: b4 01 movw r22, r8 4180: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4184: 2a ef ldi r18, 0xFA ; 250 4186: 39 ec ldi r19, 0xC9 ; 201 4188: 44 e3 ldi r20, 0x34 ; 52 418a: 59 e3 ldi r21, 0x39 ; 57 418c: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4190: a3 01 movw r20, r6 4192: 92 01 movw r18, r4 4194: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 4198: 60 93 94 24 sts 0x2494, r22 ; 0x802494 419c: 70 93 95 24 sts 0x2495, r23 ; 0x802495 41a0: 80 93 96 24 sts 0x2496, r24 ; 0x802496 41a4: 90 93 97 24 sts 0x2497, r25 ; 0x802497 41a8: 20 91 a8 24 lds r18, 0x24A8 ; 0x8024a8 41ac: 30 91 a9 24 lds r19, 0x24A9 ; 0x8024a9 41b0: 40 91 aa 24 lds r20, 0x24AA ; 0x8024aa 41b4: 50 91 ab 24 lds r21, 0x24AB ; 0x8024ab 41b8: 40 90 90 24 lds r4, 0x2490 ; 0x802490 41bc: 50 90 91 24 lds r5, 0x2491 ; 0x802491 41c0: 60 90 92 24 lds r6, 0x2492 ; 0x802492 41c4: 70 90 93 24 lds r7, 0x2493 ; 0x802493 41c8: c7 01 movw r24, r14 41ca: b6 01 movw r22, r12 41cc: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 41d0: 2a ef ldi r18, 0xFA ; 250 41d2: 39 ec ldi r19, 0xC9 ; 201 41d4: 44 e3 ldi r20, 0x34 ; 52 41d6: 59 e3 ldi r21, 0x39 ; 57 41d8: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 41dc: a3 01 movw r20, r6 41de: 92 01 movw r18, r4 41e0: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 41e4: 60 93 90 24 sts 0x2490, r22 ; 0x802490 41e8: 70 93 91 24 sts 0x2491, r23 ; 0x802491 41ec: 80 93 92 24 sts 0x2492, r24 ; 0x802492 41f0: 90 93 93 24 sts 0x2493, r25 ; 0x802493 41f4: 20 91 98 24 lds r18, 0x2498 ; 0x802498 41f8: 30 91 99 24 lds r19, 0x2499 ; 0x802499 41fc: 40 91 9a 24 lds r20, 0x249A ; 0x80249a 4200: 50 91 9b 24 lds r21, 0x249B ; 0x80249b 4204: 69 85 ldd r22, Y+9 ; 0x09 4206: 7a 85 ldd r23, Y+10 ; 0x0a 4208: 8b 85 ldd r24, Y+11 ; 0x0b 420a: 9c 85 ldd r25, Y+12 ; 0x0c 420c: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 4210: 69 87 std Y+9, r22 ; 0x09 4212: 7a 87 std Y+10, r23 ; 0x0a 4214: 8b 87 std Y+11, r24 ; 0x0b 4216: 9c 87 std Y+12, r25 ; 0x0c 4218: 20 91 94 24 lds r18, 0x2494 ; 0x802494 421c: 30 91 95 24 lds r19, 0x2495 ; 0x802495 4220: 40 91 96 24 lds r20, 0x2496 ; 0x802496 4224: 50 91 97 24 lds r21, 0x2497 ; 0x802497 4228: 6d 85 ldd r22, Y+13 ; 0x0d 422a: 7e 85 ldd r23, Y+14 ; 0x0e 422c: 8f 85 ldd r24, Y+15 ; 0x0f 422e: 98 89 ldd r25, Y+16 ; 0x10 4230: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 4234: 6d 87 std Y+13, r22 ; 0x0d 4236: 7e 87 std Y+14, r23 ; 0x0e 4238: 8f 87 std Y+15, r24 ; 0x0f 423a: 98 8b std Y+16, r25 ; 0x10 423c: 20 91 90 24 lds r18, 0x2490 ; 0x802490 4240: 30 91 91 24 lds r19, 0x2491 ; 0x802491 4244: 40 91 92 24 lds r20, 0x2492 ; 0x802492 4248: 50 91 93 24 lds r21, 0x2493 ; 0x802493 424c: 69 89 ldd r22, Y+17 ; 0x11 424e: 7a 89 ldd r23, Y+18 ; 0x12 4250: 8b 89 ldd r24, Y+19 ; 0x13 4252: 9c 89 ldd r25, Y+20 ; 0x14 4254: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 4258: 69 8b std Y+17, r22 ; 0x11 425a: 7a 8b std Y+18, r23 ; 0x12 425c: 8b 8b std Y+19, r24 ; 0x13 425e: 9c 8b std Y+20, r25 ; 0x14 4260: 18 c0 rjmp .+48 ; 0x4292 <__stack+0x293> 4262: 10 92 98 24 sts 0x2498, r1 ; 0x802498 4266: 10 92 99 24 sts 0x2499, r1 ; 0x802499 426a: 10 92 9a 24 sts 0x249A, r1 ; 0x80249a 426e: 10 92 9b 24 sts 0x249B, r1 ; 0x80249b 4272: 10 92 94 24 sts 0x2494, r1 ; 0x802494 4276: 10 92 95 24 sts 0x2495, r1 ; 0x802495 427a: 10 92 96 24 sts 0x2496, r1 ; 0x802496 427e: 10 92 97 24 sts 0x2497, r1 ; 0x802497 4282: 10 92 90 24 sts 0x2490, r1 ; 0x802490 4286: 10 92 91 24 sts 0x2491, r1 ; 0x802491 428a: 10 92 92 24 sts 0x2492, r1 ; 0x802492 428e: 10 92 93 24 sts 0x2493, r1 ; 0x802493 4292: 20 91 04 20 lds r18, 0x2004 ; 0x802004 4296: 30 91 05 20 lds r19, 0x2005 ; 0x802005 429a: 40 91 06 20 lds r20, 0x2006 ; 0x802006 429e: 50 91 07 20 lds r21, 0x2007 ; 0x802007 42a2: 69 a1 ldd r22, Y+33 ; 0x21 42a4: 7a a1 ldd r23, Y+34 ; 0x22 42a6: 8b a1 ldd r24, Y+35 ; 0x23 42a8: 9c a1 ldd r25, Y+36 ; 0x24 42aa: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 42ae: 9b 01 movw r18, r22 42b0: ac 01 movw r20, r24 42b2: 69 85 ldd r22, Y+9 ; 0x09 42b4: 7a 85 ldd r23, Y+10 ; 0x0a 42b6: 8b 85 ldd r24, Y+11 ; 0x0b 42b8: 9c 85 ldd r25, Y+12 ; 0x0c 42ba: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 42be: 69 87 std Y+9, r22 ; 0x09 42c0: 7a 87 std Y+10, r23 ; 0x0a 42c2: 8b 87 std Y+11, r24 ; 0x0b 42c4: 9c 87 std Y+12, r25 ; 0x0c 42c6: 20 91 04 20 lds r18, 0x2004 ; 0x802004 42ca: 30 91 05 20 lds r19, 0x2005 ; 0x802005 42ce: 40 91 06 20 lds r20, 0x2006 ; 0x802006 42d2: 50 91 07 20 lds r21, 0x2007 ; 0x802007 42d6: c5 01 movw r24, r10 42d8: b4 01 movw r22, r8 42da: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 42de: 9b 01 movw r18, r22 42e0: ac 01 movw r20, r24 42e2: 6d 85 ldd r22, Y+13 ; 0x0d 42e4: 7e 85 ldd r23, Y+14 ; 0x0e 42e6: 8f 85 ldd r24, Y+15 ; 0x0f 42e8: 98 89 ldd r25, Y+16 ; 0x10 42ea: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 42ee: 6d 87 std Y+13, r22 ; 0x0d 42f0: 7e 87 std Y+14, r23 ; 0x0e 42f2: 8f 87 std Y+15, r24 ; 0x0f 42f4: 98 8b std Y+16, r25 ; 0x10 42f6: 20 91 04 20 lds r18, 0x2004 ; 0x802004 42fa: 30 91 05 20 lds r19, 0x2005 ; 0x802005 42fe: 40 91 06 20 lds r20, 0x2006 ; 0x802006 4302: 50 91 07 20 lds r21, 0x2007 ; 0x802007 4306: c7 01 movw r24, r14 4308: b6 01 movw r22, r12 430a: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 430e: 9b 01 movw r18, r22 4310: ac 01 movw r20, r24 4312: 69 89 ldd r22, Y+17 ; 0x11 4314: 7a 89 ldd r23, Y+18 ; 0x12 4316: 8b 89 ldd r24, Y+19 ; 0x13 4318: 9c 89 ldd r25, Y+20 ; 0x14 431a: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 431e: 69 8b std Y+17, r22 ; 0x11 4320: 7a 8b std Y+18, r23 ; 0x12 4322: 8b 8b std Y+19, r24 ; 0x13 4324: 9c 8b std Y+20, r25 ; 0x14 4326: 2a ef ldi r18, 0xFA ; 250 4328: 39 ec ldi r19, 0xC9 ; 201 432a: 44 eb ldi r20, 0xB4 ; 180 432c: 58 e3 ldi r21, 0x38 ; 56 432e: 69 85 ldd r22, Y+9 ; 0x09 4330: 7a 85 ldd r23, Y+10 ; 0x0a 4332: 8b 85 ldd r24, Y+11 ; 0x0b 4334: 9c 85 ldd r25, Y+12 ; 0x0c 4336: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 433a: 69 87 std Y+9, r22 ; 0x09 433c: 7a 87 std Y+10, r23 ; 0x0a 433e: 8b 87 std Y+11, r24 ; 0x0b 4340: 9c 87 std Y+12, r25 ; 0x0c 4342: 2a ef ldi r18, 0xFA ; 250 4344: 39 ec ldi r19, 0xC9 ; 201 4346: 44 eb ldi r20, 0xB4 ; 180 4348: 58 e3 ldi r21, 0x38 ; 56 434a: 6d 85 ldd r22, Y+13 ; 0x0d 434c: 7e 85 ldd r23, Y+14 ; 0x0e 434e: 8f 85 ldd r24, Y+15 ; 0x0f 4350: 98 89 ldd r25, Y+16 ; 0x10 4352: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4356: 6d 87 std Y+13, r22 ; 0x0d 4358: 7e 87 std Y+14, r23 ; 0x0e 435a: 8f 87 std Y+15, r24 ; 0x0f 435c: 98 8b std Y+16, r25 ; 0x10 435e: 2a ef ldi r18, 0xFA ; 250 4360: 39 ec ldi r19, 0xC9 ; 201 4362: 44 eb ldi r20, 0xB4 ; 180 4364: 58 e3 ldi r21, 0x38 ; 56 4366: 69 89 ldd r22, Y+17 ; 0x11 4368: 7a 89 ldd r23, Y+18 ; 0x12 436a: 8b 89 ldd r24, Y+19 ; 0x13 436c: 9c 89 ldd r25, Y+20 ; 0x14 436e: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4372: 69 8b std Y+17, r22 ; 0x11 4374: 7a 8b std Y+18, r23 ; 0x12 4376: 8b 8b std Y+19, r24 ; 0x13 4378: 9c 8b std Y+20, r25 ; 0x14 437a: e0 90 00 20 lds r14, 0x2000 ; 0x802000 <__data_start> 437e: f0 90 01 20 lds r15, 0x2001 ; 0x802001 <__data_start+0x1> 4382: 00 91 02 20 lds r16, 0x2002 ; 0x802002 <__data_start+0x2> 4386: 10 91 03 20 lds r17, 0x2003 ; 0x802003 <__data_start+0x3> 438a: ed 82 std Y+5, r14 ; 0x05 438c: fe 82 std Y+6, r15 ; 0x06 438e: 0f 83 std Y+7, r16 ; 0x07 4390: 18 87 std Y+8, r17 ; 0x08 4392: 80 90 a4 24 lds r8, 0x24A4 ; 0x8024a4 4396: 90 90 a5 24 lds r9, 0x24A5 ; 0x8024a5 439a: a0 90 a6 24 lds r10, 0x24A6 ; 0x8024a6 439e: b0 90 a7 24 lds r11, 0x24A7 ; 0x8024a7 43a2: e0 90 a0 24 lds r14, 0x24A0 ; 0x8024a0 43a6: f0 90 a1 24 lds r15, 0x24A1 ; 0x8024a1 43aa: 00 91 a2 24 lds r16, 0x24A2 ; 0x8024a2 43ae: 10 91 a3 24 lds r17, 0x24A3 ; 0x8024a3 43b2: ed 8a std Y+21, r14 ; 0x15 43b4: fe 8a std Y+22, r15 ; 0x16 43b6: 0f 8b std Y+23, r16 ; 0x17 43b8: 18 8f std Y+24, r17 ; 0x18 43ba: 40 90 9c 24 lds r4, 0x249C ; 0x80249c 43be: 50 90 9d 24 lds r5, 0x249D ; 0x80249d 43c2: 60 90 9e 24 lds r6, 0x249E ; 0x80249e 43c6: 70 90 9f 24 lds r7, 0x249F ; 0x80249f 43ca: c0 90 00 20 lds r12, 0x2000 ; 0x802000 <__data_start> 43ce: d0 90 01 20 lds r13, 0x2001 ; 0x802001 <__data_start+0x1> 43d2: e0 90 02 20 lds r14, 0x2002 ; 0x802002 <__data_start+0x2> 43d6: f0 90 03 20 lds r15, 0x2003 ; 0x802003 <__data_start+0x3> 43da: c5 01 movw r24, r10 43dc: b4 01 movw r22, r8 43de: 90 58 subi r25, 0x80 ; 128 43e0: 29 85 ldd r18, Y+9 ; 0x09 43e2: 3a 85 ldd r19, Y+10 ; 0x0a 43e4: 4b 85 ldd r20, Y+11 ; 0x0b 43e6: 5c 85 ldd r21, Y+12 ; 0x0c 43e8: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 43ec: 69 83 std Y+1, r22 ; 0x01 43ee: 7a 83 std Y+2, r23 ; 0x02 43f0: 8b 83 std Y+3, r24 ; 0x03 43f2: 9c 83 std Y+4, r25 ; 0x04 43f4: 2d 89 ldd r18, Y+21 ; 0x15 43f6: 3e 89 ldd r19, Y+22 ; 0x16 43f8: 4f 89 ldd r20, Y+23 ; 0x17 43fa: 58 8d ldd r21, Y+24 ; 0x18 43fc: 6d 85 ldd r22, Y+13 ; 0x0d 43fe: 7e 85 ldd r23, Y+14 ; 0x0e 4400: 8f 85 ldd r24, Y+15 ; 0x0f 4402: 98 89 ldd r25, Y+16 ; 0x10 4404: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4408: 9b 01 movw r18, r22 440a: ac 01 movw r20, r24 440c: 69 81 ldd r22, Y+1 ; 0x01 440e: 7a 81 ldd r23, Y+2 ; 0x02 4410: 8b 81 ldd r24, Y+3 ; 0x03 4412: 9c 81 ldd r25, Y+4 ; 0x04 4414: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 4418: 69 83 std Y+1, r22 ; 0x01 441a: 7a 83 std Y+2, r23 ; 0x02 441c: 8b 83 std Y+3, r24 ; 0x03 441e: 9c 83 std Y+4, r25 ; 0x04 4420: a3 01 movw r20, r6 4422: 92 01 movw r18, r4 4424: 69 89 ldd r22, Y+17 ; 0x11 4426: 7a 89 ldd r23, Y+18 ; 0x12 4428: 8b 89 ldd r24, Y+19 ; 0x13 442a: 9c 89 ldd r25, Y+20 ; 0x14 442c: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4430: 9b 01 movw r18, r22 4432: ac 01 movw r20, r24 4434: 69 81 ldd r22, Y+1 ; 0x01 4436: 7a 81 ldd r23, Y+2 ; 0x02 4438: 8b 81 ldd r24, Y+3 ; 0x03 443a: 9c 81 ldd r25, Y+4 ; 0x04 443c: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 4440: a7 01 movw r20, r14 4442: 96 01 movw r18, r12 4444: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 4448: 60 93 00 20 sts 0x2000, r22 ; 0x802000 <__data_start> 444c: 70 93 01 20 sts 0x2001, r23 ; 0x802001 <__data_start+0x1> 4450: 80 93 02 20 sts 0x2002, r24 ; 0x802002 <__data_start+0x2> 4454: 90 93 03 20 sts 0x2003, r25 ; 0x802003 <__data_start+0x3> 4458: 40 90 9c 24 lds r4, 0x249C ; 0x80249c 445c: 50 90 9d 24 lds r5, 0x249D ; 0x80249d 4460: 60 90 9e 24 lds r6, 0x249E ; 0x80249e 4464: 70 90 9f 24 lds r7, 0x249F ; 0x80249f 4468: c0 90 a4 24 lds r12, 0x24A4 ; 0x8024a4 446c: d0 90 a5 24 lds r13, 0x24A5 ; 0x8024a5 4470: e0 90 a6 24 lds r14, 0x24A6 ; 0x8024a6 4474: f0 90 a7 24 lds r15, 0x24A7 ; 0x8024a7 4478: 2d 81 ldd r18, Y+5 ; 0x05 447a: 3e 81 ldd r19, Y+6 ; 0x06 447c: 4f 81 ldd r20, Y+7 ; 0x07 447e: 58 85 ldd r21, Y+8 ; 0x08 4480: 69 85 ldd r22, Y+9 ; 0x09 4482: 7a 85 ldd r23, Y+10 ; 0x0a 4484: 8b 85 ldd r24, Y+11 ; 0x0b 4486: 9c 85 ldd r25, Y+12 ; 0x0c 4488: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 448c: 69 83 std Y+1, r22 ; 0x01 448e: 7a 83 std Y+2, r23 ; 0x02 4490: 8b 83 std Y+3, r24 ; 0x03 4492: 9c 83 std Y+4, r25 ; 0x04 4494: 2d 89 ldd r18, Y+21 ; 0x15 4496: 3e 89 ldd r19, Y+22 ; 0x16 4498: 4f 89 ldd r20, Y+23 ; 0x17 449a: 58 8d ldd r21, Y+24 ; 0x18 449c: 69 89 ldd r22, Y+17 ; 0x11 449e: 7a 89 ldd r23, Y+18 ; 0x12 44a0: 8b 89 ldd r24, Y+19 ; 0x13 44a2: 9c 89 ldd r25, Y+20 ; 0x14 44a4: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 44a8: 9b 01 movw r18, r22 44aa: ac 01 movw r20, r24 44ac: 69 81 ldd r22, Y+1 ; 0x01 44ae: 7a 81 ldd r23, Y+2 ; 0x02 44b0: 8b 81 ldd r24, Y+3 ; 0x03 44b2: 9c 81 ldd r25, Y+4 ; 0x04 44b4: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 44b8: 69 83 std Y+1, r22 ; 0x01 44ba: 7a 83 std Y+2, r23 ; 0x02 44bc: 8b 83 std Y+3, r24 ; 0x03 44be: 9c 83 std Y+4, r25 ; 0x04 44c0: a3 01 movw r20, r6 44c2: 92 01 movw r18, r4 44c4: 6d 85 ldd r22, Y+13 ; 0x0d 44c6: 7e 85 ldd r23, Y+14 ; 0x0e 44c8: 8f 85 ldd r24, Y+15 ; 0x0f 44ca: 98 89 ldd r25, Y+16 ; 0x10 44cc: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 44d0: 9b 01 movw r18, r22 44d2: ac 01 movw r20, r24 44d4: 69 81 ldd r22, Y+1 ; 0x01 44d6: 7a 81 ldd r23, Y+2 ; 0x02 44d8: 8b 81 ldd r24, Y+3 ; 0x03 44da: 9c 81 ldd r25, Y+4 ; 0x04 44dc: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 44e0: a7 01 movw r20, r14 44e2: 96 01 movw r18, r12 44e4: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 44e8: 60 93 a4 24 sts 0x24A4, r22 ; 0x8024a4 44ec: 70 93 a5 24 sts 0x24A5, r23 ; 0x8024a5 44f0: 80 93 a6 24 sts 0x24A6, r24 ; 0x8024a6 44f4: 90 93 a7 24 sts 0x24A7, r25 ; 0x8024a7 44f8: 40 90 9c 24 lds r4, 0x249C ; 0x80249c 44fc: 50 90 9d 24 lds r5, 0x249D ; 0x80249d 4500: 60 90 9e 24 lds r6, 0x249E ; 0x80249e 4504: 70 90 9f 24 lds r7, 0x249F ; 0x80249f 4508: c0 90 a0 24 lds r12, 0x24A0 ; 0x8024a0 450c: d0 90 a1 24 lds r13, 0x24A1 ; 0x8024a1 4510: e0 90 a2 24 lds r14, 0x24A2 ; 0x8024a2 4514: f0 90 a3 24 lds r15, 0x24A3 ; 0x8024a3 4518: 2d 81 ldd r18, Y+5 ; 0x05 451a: 3e 81 ldd r19, Y+6 ; 0x06 451c: 4f 81 ldd r20, Y+7 ; 0x07 451e: 58 85 ldd r21, Y+8 ; 0x08 4520: 6d 85 ldd r22, Y+13 ; 0x0d 4522: 7e 85 ldd r23, Y+14 ; 0x0e 4524: 8f 85 ldd r24, Y+15 ; 0x0f 4526: 98 89 ldd r25, Y+16 ; 0x10 4528: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 452c: 69 83 std Y+1, r22 ; 0x01 452e: 7a 83 std Y+2, r23 ; 0x02 4530: 8b 83 std Y+3, r24 ; 0x03 4532: 9c 83 std Y+4, r25 ; 0x04 4534: a5 01 movw r20, r10 4536: 94 01 movw r18, r8 4538: 69 89 ldd r22, Y+17 ; 0x11 453a: 7a 89 ldd r23, Y+18 ; 0x12 453c: 8b 89 ldd r24, Y+19 ; 0x13 453e: 9c 89 ldd r25, Y+20 ; 0x14 4540: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4544: 9b 01 movw r18, r22 4546: ac 01 movw r20, r24 4548: 69 81 ldd r22, Y+1 ; 0x01 454a: 7a 81 ldd r23, Y+2 ; 0x02 454c: 8b 81 ldd r24, Y+3 ; 0x03 454e: 9c 81 ldd r25, Y+4 ; 0x04 4550: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 4554: 69 83 std Y+1, r22 ; 0x01 4556: 7a 83 std Y+2, r23 ; 0x02 4558: 8b 83 std Y+3, r24 ; 0x03 455a: 9c 83 std Y+4, r25 ; 0x04 455c: a3 01 movw r20, r6 455e: 92 01 movw r18, r4 4560: 69 85 ldd r22, Y+9 ; 0x09 4562: 7a 85 ldd r23, Y+10 ; 0x0a 4564: 8b 85 ldd r24, Y+11 ; 0x0b 4566: 9c 85 ldd r25, Y+12 ; 0x0c 4568: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 456c: 9b 01 movw r18, r22 456e: ac 01 movw r20, r24 4570: 69 81 ldd r22, Y+1 ; 0x01 4572: 7a 81 ldd r23, Y+2 ; 0x02 4574: 8b 81 ldd r24, Y+3 ; 0x03 4576: 9c 81 ldd r25, Y+4 ; 0x04 4578: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 457c: a7 01 movw r20, r14 457e: 96 01 movw r18, r12 4580: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 4584: 60 93 a0 24 sts 0x24A0, r22 ; 0x8024a0 4588: 70 93 a1 24 sts 0x24A1, r23 ; 0x8024a1 458c: 80 93 a2 24 sts 0x24A2, r24 ; 0x8024a2 4590: 90 93 a3 24 sts 0x24A3, r25 ; 0x8024a3 4594: c0 90 9c 24 lds r12, 0x249C ; 0x80249c 4598: d0 90 9d 24 lds r13, 0x249D ; 0x80249d 459c: e0 90 9e 24 lds r14, 0x249E ; 0x80249e 45a0: f0 90 9f 24 lds r15, 0x249F ; 0x80249f 45a4: 2d 81 ldd r18, Y+5 ; 0x05 45a6: 3e 81 ldd r19, Y+6 ; 0x06 45a8: 4f 81 ldd r20, Y+7 ; 0x07 45aa: 58 85 ldd r21, Y+8 ; 0x08 45ac: 69 89 ldd r22, Y+17 ; 0x11 45ae: 7a 89 ldd r23, Y+18 ; 0x12 45b0: 8b 89 ldd r24, Y+19 ; 0x13 45b2: 9c 89 ldd r25, Y+20 ; 0x14 45b4: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 45b8: 2b 01 movw r4, r22 45ba: 3c 01 movw r6, r24 45bc: a5 01 movw r20, r10 45be: 94 01 movw r18, r8 45c0: 6d 85 ldd r22, Y+13 ; 0x0d 45c2: 7e 85 ldd r23, Y+14 ; 0x0e 45c4: 8f 85 ldd r24, Y+15 ; 0x0f 45c6: 98 89 ldd r25, Y+16 ; 0x10 45c8: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 45cc: 9b 01 movw r18, r22 45ce: ac 01 movw r20, r24 45d0: c3 01 movw r24, r6 45d2: b2 01 movw r22, r4 45d4: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 45d8: 4b 01 movw r8, r22 45da: 5c 01 movw r10, r24 45dc: 2d 89 ldd r18, Y+21 ; 0x15 45de: 3e 89 ldd r19, Y+22 ; 0x16 45e0: 4f 89 ldd r20, Y+23 ; 0x17 45e2: 58 8d ldd r21, Y+24 ; 0x18 45e4: 69 85 ldd r22, Y+9 ; 0x09 45e6: 7a 85 ldd r23, Y+10 ; 0x0a 45e8: 8b 85 ldd r24, Y+11 ; 0x0b 45ea: 9c 85 ldd r25, Y+12 ; 0x0c 45ec: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 45f0: 9b 01 movw r18, r22 45f2: ac 01 movw r20, r24 45f4: c5 01 movw r24, r10 45f6: b4 01 movw r22, r8 45f8: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 45fc: a7 01 movw r20, r14 45fe: 96 01 movw r18, r12 4600: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 4604: 60 93 9c 24 sts 0x249C, r22 ; 0x80249c 4608: 70 93 9d 24 sts 0x249D, r23 ; 0x80249d 460c: 80 93 9e 24 sts 0x249E, r24 ; 0x80249e 4610: 90 93 9f 24 sts 0x249F, r25 ; 0x80249f 4614: 60 91 00 20 lds r22, 0x2000 ; 0x802000 <__data_start> 4618: 70 91 01 20 lds r23, 0x2001 ; 0x802001 <__data_start+0x1> 461c: 80 91 02 20 lds r24, 0x2002 ; 0x802002 <__data_start+0x2> 4620: 90 91 03 20 lds r25, 0x2003 ; 0x802003 <__data_start+0x3> 4624: 20 91 00 20 lds r18, 0x2000 ; 0x802000 <__data_start> 4628: 30 91 01 20 lds r19, 0x2001 ; 0x802001 <__data_start+0x1> 462c: 40 91 02 20 lds r20, 0x2002 ; 0x802002 <__data_start+0x2> 4630: 50 91 03 20 lds r21, 0x2003 ; 0x802003 <__data_start+0x3> 4634: 80 90 a4 24 lds r8, 0x24A4 ; 0x8024a4 4638: 90 90 a5 24 lds r9, 0x24A5 ; 0x8024a5 463c: a0 90 a6 24 lds r10, 0x24A6 ; 0x8024a6 4640: b0 90 a7 24 lds r11, 0x24A7 ; 0x8024a7 4644: 40 90 a4 24 lds r4, 0x24A4 ; 0x8024a4 4648: 50 90 a5 24 lds r5, 0x24A5 ; 0x8024a5 464c: 60 90 a6 24 lds r6, 0x24A6 ; 0x8024a6 4650: 70 90 a7 24 lds r7, 0x24A7 ; 0x8024a7 4654: e0 90 a0 24 lds r14, 0x24A0 ; 0x8024a0 4658: f0 90 a1 24 lds r15, 0x24A1 ; 0x8024a1 465c: 00 91 a2 24 lds r16, 0x24A2 ; 0x8024a2 4660: 10 91 a3 24 lds r17, 0x24A3 ; 0x8024a3 4664: e9 86 std Y+9, r14 ; 0x09 4666: fa 86 std Y+10, r15 ; 0x0a 4668: 0b 87 std Y+11, r16 ; 0x0b 466a: 1c 87 std Y+12, r17 ; 0x0c 466c: e0 90 a0 24 lds r14, 0x24A0 ; 0x8024a0 4670: f0 90 a1 24 lds r15, 0x24A1 ; 0x8024a1 4674: 00 91 a2 24 lds r16, 0x24A2 ; 0x8024a2 4678: 10 91 a3 24 lds r17, 0x24A3 ; 0x8024a3 467c: ed 86 std Y+13, r14 ; 0x0d 467e: fe 86 std Y+14, r15 ; 0x0e 4680: 0f 87 std Y+15, r16 ; 0x0f 4682: 18 8b std Y+16, r17 ; 0x10 4684: e0 90 9c 24 lds r14, 0x249C ; 0x80249c 4688: f0 90 9d 24 lds r15, 0x249D ; 0x80249d 468c: 00 91 9e 24 lds r16, 0x249E ; 0x80249e 4690: 10 91 9f 24 lds r17, 0x249F ; 0x80249f 4694: e9 82 std Y+1, r14 ; 0x01 4696: fa 82 std Y+2, r15 ; 0x02 4698: 0b 83 std Y+3, r16 ; 0x03 469a: 1c 83 std Y+4, r17 ; 0x04 469c: e0 90 9c 24 lds r14, 0x249C ; 0x80249c 46a0: f0 90 9d 24 lds r15, 0x249D ; 0x80249d 46a4: 00 91 9e 24 lds r16, 0x249E ; 0x80249e 46a8: 10 91 9f 24 lds r17, 0x249F ; 0x80249f 46ac: e9 8a std Y+17, r14 ; 0x11 46ae: fa 8a std Y+18, r15 ; 0x12 46b0: 0b 8b std Y+19, r16 ; 0x13 46b2: 1c 8b std Y+20, r17 ; 0x14 46b4: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 46b8: 6b 01 movw r12, r22 46ba: 7c 01 movw r14, r24 46bc: a3 01 movw r20, r6 46be: 92 01 movw r18, r4 46c0: c5 01 movw r24, r10 46c2: b4 01 movw r22, r8 46c4: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 46c8: 9b 01 movw r18, r22 46ca: ac 01 movw r20, r24 46cc: c7 01 movw r24, r14 46ce: b6 01 movw r22, r12 46d0: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 46d4: 4b 01 movw r8, r22 46d6: 5c 01 movw r10, r24 46d8: 2d 85 ldd r18, Y+13 ; 0x0d 46da: 3e 85 ldd r19, Y+14 ; 0x0e 46dc: 4f 85 ldd r20, Y+15 ; 0x0f 46de: 58 89 ldd r21, Y+16 ; 0x10 46e0: 69 85 ldd r22, Y+9 ; 0x09 46e2: 7a 85 ldd r23, Y+10 ; 0x0a 46e4: 8b 85 ldd r24, Y+11 ; 0x0b 46e6: 9c 85 ldd r25, Y+12 ; 0x0c 46e8: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 46ec: 9b 01 movw r18, r22 46ee: ac 01 movw r20, r24 46f0: c5 01 movw r24, r10 46f2: b4 01 movw r22, r8 46f4: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 46f8: 4b 01 movw r8, r22 46fa: 5c 01 movw r10, r24 46fc: 29 89 ldd r18, Y+17 ; 0x11 46fe: 3a 89 ldd r19, Y+18 ; 0x12 4700: 4b 89 ldd r20, Y+19 ; 0x13 4702: 5c 89 ldd r21, Y+20 ; 0x14 4704: 69 81 ldd r22, Y+1 ; 0x01 4706: 7a 81 ldd r23, Y+2 ; 0x02 4708: 8b 81 ldd r24, Y+3 ; 0x03 470a: 9c 81 ldd r25, Y+4 ; 0x04 470c: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4710: 9b 01 movw r18, r22 4712: ac 01 movw r20, r24 4714: c5 01 movw r24, r10 4716: b4 01 movw r22, r8 4718: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 471c: 4b 01 movw r8, r22 471e: 5c 01 movw r10, r24 4720: b5 94 asr r11 4722: a7 94 ror r10 4724: 97 94 ror r9 4726: 87 94 ror r8 4728: 0f 2e mov r0, r31 472a: ff ed ldi r31, 0xDF ; 223 472c: cf 2e mov r12, r31 472e: f9 e5 ldi r31, 0x59 ; 89 4730: df 2e mov r13, r31 4732: f7 e3 ldi r31, 0x37 ; 55 4734: ef 2e mov r14, r31 4736: ff e5 ldi r31, 0x5F ; 95 4738: ff 2e mov r15, r31 473a: f0 2d mov r31, r0 473c: c8 18 sub r12, r8 473e: d9 08 sbc r13, r9 4740: ea 08 sbc r14, r10 4742: fb 08 sbc r15, r11 4744: 20 e0 ldi r18, 0x00 ; 0 4746: 30 e0 ldi r19, 0x00 ; 0 4748: 40 e0 ldi r20, 0x00 ; 0 474a: 5f e3 ldi r21, 0x3F ; 63 474c: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4750: a7 01 movw r20, r14 4752: 96 01 movw r18, r12 4754: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4758: a7 01 movw r20, r14 475a: 96 01 movw r18, r12 475c: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4760: 9b 01 movw r18, r22 4762: ac 01 movw r20, r24 4764: 60 e0 ldi r22, 0x00 ; 0 4766: 70 e0 ldi r23, 0x00 ; 0 4768: 80 ec ldi r24, 0xC0 ; 192 476a: 9f e3 ldi r25, 0x3F ; 63 476c: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 4770: a7 01 movw r20, r14 4772: 96 01 movw r18, r12 4774: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4778: 6b 01 movw r12, r22 477a: 7c 01 movw r14, r24 477c: 60 91 00 20 lds r22, 0x2000 ; 0x802000 <__data_start> 4780: 70 91 01 20 lds r23, 0x2001 ; 0x802001 <__data_start+0x1> 4784: 80 91 02 20 lds r24, 0x2002 ; 0x802002 <__data_start+0x2> 4788: 90 91 03 20 lds r25, 0x2003 ; 0x802003 <__data_start+0x3> 478c: a7 01 movw r20, r14 478e: 96 01 movw r18, r12 4790: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4794: 60 93 00 20 sts 0x2000, r22 ; 0x802000 <__data_start> 4798: 70 93 01 20 sts 0x2001, r23 ; 0x802001 <__data_start+0x1> 479c: 80 93 02 20 sts 0x2002, r24 ; 0x802002 <__data_start+0x2> 47a0: 90 93 03 20 sts 0x2003, r25 ; 0x802003 <__data_start+0x3> 47a4: 60 91 a4 24 lds r22, 0x24A4 ; 0x8024a4 47a8: 70 91 a5 24 lds r23, 0x24A5 ; 0x8024a5 47ac: 80 91 a6 24 lds r24, 0x24A6 ; 0x8024a6 47b0: 90 91 a7 24 lds r25, 0x24A7 ; 0x8024a7 47b4: a7 01 movw r20, r14 47b6: 96 01 movw r18, r12 47b8: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 47bc: 60 93 a4 24 sts 0x24A4, r22 ; 0x8024a4 47c0: 70 93 a5 24 sts 0x24A5, r23 ; 0x8024a5 47c4: 80 93 a6 24 sts 0x24A6, r24 ; 0x8024a6 47c8: 90 93 a7 24 sts 0x24A7, r25 ; 0x8024a7 47cc: 60 91 a0 24 lds r22, 0x24A0 ; 0x8024a0 47d0: 70 91 a1 24 lds r23, 0x24A1 ; 0x8024a1 47d4: 80 91 a2 24 lds r24, 0x24A2 ; 0x8024a2 47d8: 90 91 a3 24 lds r25, 0x24A3 ; 0x8024a3 47dc: a7 01 movw r20, r14 47de: 96 01 movw r18, r12 47e0: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 47e4: 60 93 a0 24 sts 0x24A0, r22 ; 0x8024a0 47e8: 70 93 a1 24 sts 0x24A1, r23 ; 0x8024a1 47ec: 80 93 a2 24 sts 0x24A2, r24 ; 0x8024a2 47f0: 90 93 a3 24 sts 0x24A3, r25 ; 0x8024a3 47f4: 60 91 9c 24 lds r22, 0x249C ; 0x80249c 47f8: 70 91 9d 24 lds r23, 0x249D ; 0x80249d 47fc: 80 91 9e 24 lds r24, 0x249E ; 0x80249e 4800: 90 91 9f 24 lds r25, 0x249F ; 0x80249f 4804: a7 01 movw r20, r14 4806: 96 01 movw r18, r12 4808: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 480c: 60 93 9c 24 sts 0x249C, r22 ; 0x80249c 4810: 70 93 9d 24 sts 0x249D, r23 ; 0x80249d 4814: 80 93 9e 24 sts 0x249E, r24 ; 0x80249e 4818: 90 93 9f 24 sts 0x249F, r25 ; 0x80249f 481c: a4 96 adiw r28, 0x24 ; 36 481e: cd bf out 0x3d, r28 ; 61 4820: de bf out 0x3e, r29 ; 62 4822: df 91 pop r29 4824: cf 91 pop r28 4826: 1f 91 pop r17 4828: 0f 91 pop r16 482a: ff 90 pop r15 482c: ef 90 pop r14 482e: df 90 pop r13 4830: cf 90 pop r12 4832: bf 90 pop r11 4834: af 90 pop r10 4836: 9f 90 pop r9 4838: 8f 90 pop r8 483a: 7f 90 pop r7 483c: 6f 90 pop r6 483e: 5f 90 pop r5 4840: 4f 90 pop r4 4842: 08 95 ret 00004844 : 4844: 2f 92 push r2 4846: 3f 92 push r3 4848: 4f 92 push r4 484a: 5f 92 push r5 484c: 6f 92 push r6 484e: 7f 92 push r7 4850: 8f 92 push r8 4852: 9f 92 push r9 4854: af 92 push r10 4856: bf 92 push r11 4858: cf 92 push r12 485a: df 92 push r13 485c: ef 92 push r14 485e: ff 92 push r15 4860: 0f 93 push r16 4862: 1f 93 push r17 4864: cf 93 push r28 4866: df 93 push r29 4868: cd b7 in r28, 0x3d ; 61 486a: de b7 in r29, 0x3e ; 62 486c: c8 55 subi r28, 0x58 ; 88 486e: d1 09 sbc r29, r1 4870: cd bf out 0x3d, r28 ; 61 4872: de bf out 0x3e, r29 ; 62 4874: 69 8b std Y+17, r22 ; 0x11 4876: 7a 8b std Y+18, r23 ; 0x12 4878: 8b 8b std Y+19, r24 ; 0x13 487a: 9c 8b std Y+20, r25 ; 0x14 487c: 29 8f std Y+25, r18 ; 0x19 487e: 3a 8f std Y+26, r19 ; 0x1a 4880: 4b 8f std Y+27, r20 ; 0x1b 4882: 5c 8f std Y+28, r21 ; 0x1c 4884: e9 82 std Y+1, r14 ; 0x01 4886: fa 82 std Y+2, r15 ; 0x02 4888: 0b 83 std Y+3, r16 ; 0x03 488a: 1c 83 std Y+4, r17 ; 0x04 488c: af 96 adiw r28, 0x2f ; 47 488e: ff ac ldd r15, Y+63 ; 0x3f 4890: af 97 sbiw r28, 0x2f ; 47 4892: e0 96 adiw r28, 0x30 ; 48 4894: ef ac ldd r14, Y+63 ; 0x3f 4896: e0 97 sbiw r28, 0x30 ; 48 4898: e1 96 adiw r28, 0x31 ; 49 489a: 9f ac ldd r9, Y+63 ; 0x3f 489c: e1 97 sbiw r28, 0x31 ; 49 489e: e2 96 adiw r28, 0x32 ; 50 48a0: 8f ac ldd r8, Y+63 ; 0x3f 48a2: e2 97 sbiw r28, 0x32 ; 50 48a4: e3 96 adiw r28, 0x33 ; 51 48a6: 1f ad ldd r17, Y+63 ; 0x3f 48a8: e3 97 sbiw r28, 0x33 ; 51 48aa: e4 96 adiw r28, 0x34 ; 52 48ac: 0f ad ldd r16, Y+63 ; 0x3f 48ae: e4 97 sbiw r28, 0x34 ; 52 48b0: e5 96 adiw r28, 0x35 ; 53 48b2: 3f ac ldd r3, Y+63 ; 0x3f 48b4: e5 97 sbiw r28, 0x35 ; 53 48b6: e6 96 adiw r28, 0x36 ; 54 48b8: 2f ac ldd r2, Y+63 ; 0x3f 48ba: e6 97 sbiw r28, 0x36 ; 54 48bc: 20 e0 ldi r18, 0x00 ; 0 48be: 30 e0 ldi r19, 0x00 ; 0 48c0: a9 01 movw r20, r18 48c2: ea 96 adiw r28, 0x3a ; 58 48c4: 6c ad ldd r22, Y+60 ; 0x3c 48c6: 7d ad ldd r23, Y+61 ; 0x3d 48c8: 8e ad ldd r24, Y+62 ; 0x3e 48ca: 9f ad ldd r25, Y+63 ; 0x3f 48cc: ea 97 sbiw r28, 0x3a ; 58 48ce: 0e 94 b1 32 call 0x6562 ; 0x6562 <__cmpsf2> 48d2: 81 11 cpse r24, r1 48d4: 35 c0 rjmp .+106 ; 0x4940 48d6: 20 e0 ldi r18, 0x00 ; 0 48d8: 30 e0 ldi r19, 0x00 ; 0 48da: a9 01 movw r20, r18 48dc: ee 96 adiw r28, 0x3e ; 62 48de: 6c ad ldd r22, Y+60 ; 0x3c 48e0: 7d ad ldd r23, Y+61 ; 0x3d 48e2: 8e ad ldd r24, Y+62 ; 0x3e 48e4: 9f ad ldd r25, Y+63 ; 0x3f 48e6: ee 97 sbiw r28, 0x3e ; 62 48e8: 0e 94 b1 32 call 0x6562 ; 0x6562 <__cmpsf2> 48ec: 81 11 cpse r24, r1 48ee: 28 c0 rjmp .+80 ; 0x4940 48f0: 20 e0 ldi r18, 0x00 ; 0 48f2: 30 e0 ldi r19, 0x00 ; 0 48f4: a9 01 movw r20, r18 48f6: c2 58 subi r28, 0x82 ; 130 48f8: df 4f sbci r29, 0xFF ; 255 48fa: 68 81 ld r22, Y 48fc: 79 81 ldd r23, Y+1 ; 0x01 48fe: 8a 81 ldd r24, Y+2 ; 0x02 4900: 9b 81 ldd r25, Y+3 ; 0x03 4902: ce 57 subi r28, 0x7E ; 126 4904: d0 40 sbci r29, 0x00 ; 0 4906: 0e 94 b1 32 call 0x6562 ; 0x6562 <__cmpsf2> 490a: 81 11 cpse r24, r1 490c: 19 c0 rjmp .+50 ; 0x4940 490e: 2f 92 push r2 4910: 3f 92 push r3 4912: 0f 93 push r16 4914: 1f 93 push r17 4916: 8f 92 push r8 4918: 9f 92 push r9 491a: ef 92 push r14 491c: ff 92 push r15 491e: e9 80 ldd r14, Y+1 ; 0x01 4920: fa 80 ldd r15, Y+2 ; 0x02 4922: 0b 81 ldd r16, Y+3 ; 0x03 4924: 1c 81 ldd r17, Y+4 ; 0x04 4926: 29 8d ldd r18, Y+25 ; 0x19 4928: 3a 8d ldd r19, Y+26 ; 0x1a 492a: 4b 8d ldd r20, Y+27 ; 0x1b 492c: 5c 8d ldd r21, Y+28 ; 0x1c 492e: 69 89 ldd r22, Y+17 ; 0x11 4930: 7a 89 ldd r23, Y+18 ; 0x12 4932: 8b 89 ldd r24, Y+19 ; 0x13 4934: 9c 89 ldd r25, Y+20 ; 0x14 4936: 2d da rcall .-2982 ; 0x3d92 4938: cd bf out 0x3d, r28 ; 61 493a: de bf out 0x3e, r29 ; 62 493c: 0c 94 b3 2c jmp 0x5966 ; 0x5966 4940: 20 e0 ldi r18, 0x00 ; 0 4942: 30 e0 ldi r19, 0x00 ; 0 4944: a9 01 movw r20, r18 4946: c6 01 movw r24, r12 4948: b5 01 movw r22, r10 494a: 0e 94 b1 32 call 0x6562 ; 0x6562 <__cmpsf2> 494e: 81 11 cpse r24, r1 4950: 17 c0 rjmp .+46 ; 0x4980 4952: 20 e0 ldi r18, 0x00 ; 0 4954: 30 e0 ldi r19, 0x00 ; 0 4956: a9 01 movw r20, r18 4958: 6f 2d mov r22, r15 495a: 7e 2d mov r23, r14 495c: 89 2d mov r24, r9 495e: 98 2d mov r25, r8 4960: 0e 94 b1 32 call 0x6562 ; 0x6562 <__cmpsf2> 4964: 81 11 cpse r24, r1 4966: 0c c0 rjmp .+24 ; 0x4980 4968: 20 e0 ldi r18, 0x00 ; 0 496a: 30 e0 ldi r19, 0x00 ; 0 496c: a9 01 movw r20, r18 496e: 61 2f mov r22, r17 4970: 70 2f mov r23, r16 4972: 83 2d mov r24, r3 4974: 92 2d mov r25, r2 4976: 0e 94 b1 32 call 0x6562 ; 0x6562 <__cmpsf2> 497a: 88 23 and r24, r24 497c: 09 f4 brne .+2 ; 0x4980 497e: 89 c5 rjmp .+2834 ; 0x5492 4980: a6 01 movw r20, r12 4982: 95 01 movw r18, r10 4984: c6 01 movw r24, r12 4986: b5 01 movw r22, r10 4988: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 498c: 2b 01 movw r4, r22 498e: 3c 01 movw r6, r24 4990: 2f 2d mov r18, r15 4992: 3e 2d mov r19, r14 4994: 49 2d mov r20, r9 4996: 58 2d mov r21, r8 4998: 6f 2d mov r22, r15 499a: 7e 2d mov r23, r14 499c: 89 2d mov r24, r9 499e: 98 2d mov r25, r8 49a0: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 49a4: 9b 01 movw r18, r22 49a6: ac 01 movw r20, r24 49a8: c3 01 movw r24, r6 49aa: b2 01 movw r22, r4 49ac: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 49b0: 2b 01 movw r4, r22 49b2: 3c 01 movw r6, r24 49b4: 21 2f mov r18, r17 49b6: 30 2f mov r19, r16 49b8: 43 2d mov r20, r3 49ba: 52 2d mov r21, r2 49bc: 61 2f mov r22, r17 49be: 70 2f mov r23, r16 49c0: 83 2d mov r24, r3 49c2: 92 2d mov r25, r2 49c4: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 49c8: 9b 01 movw r18, r22 49ca: ac 01 movw r20, r24 49cc: c3 01 movw r24, r6 49ce: b2 01 movw r22, r4 49d0: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 49d4: 2b 01 movw r4, r22 49d6: 3c 01 movw r6, r24 49d8: 75 94 asr r7 49da: 67 94 ror r6 49dc: 57 94 ror r5 49de: 47 94 ror r4 49e0: 2f ed ldi r18, 0xDF ; 223 49e2: 39 e5 ldi r19, 0x59 ; 89 49e4: 47 e3 ldi r20, 0x37 ; 55 49e6: 5f e5 ldi r21, 0x5F ; 95 49e8: 24 19 sub r18, r4 49ea: 35 09 sbc r19, r5 49ec: 46 09 sbc r20, r6 49ee: 57 09 sbc r21, r7 49f0: 29 01 movw r4, r18 49f2: 3a 01 movw r6, r20 49f4: 20 e0 ldi r18, 0x00 ; 0 49f6: 30 e0 ldi r19, 0x00 ; 0 49f8: 40 e0 ldi r20, 0x00 ; 0 49fa: 5f e3 ldi r21, 0x3F ; 63 49fc: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4a00: a3 01 movw r20, r6 4a02: 92 01 movw r18, r4 4a04: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4a08: a3 01 movw r20, r6 4a0a: 92 01 movw r18, r4 4a0c: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4a10: 9b 01 movw r18, r22 4a12: ac 01 movw r20, r24 4a14: 60 e0 ldi r22, 0x00 ; 0 4a16: 70 e0 ldi r23, 0x00 ; 0 4a18: 80 ec ldi r24, 0xC0 ; 192 4a1a: 9f e3 ldi r25, 0x3F ; 63 4a1c: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 4a20: a3 01 movw r20, r6 4a22: 92 01 movw r18, r4 4a24: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4a28: 2b 01 movw r4, r22 4a2a: 3c 01 movw r6, r24 4a2c: 9b 01 movw r18, r22 4a2e: ac 01 movw r20, r24 4a30: c6 01 movw r24, r12 4a32: b5 01 movw r22, r10 4a34: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4a38: 6d ab std Y+53, r22 ; 0x35 4a3a: 7e ab std Y+54, r23 ; 0x36 4a3c: 8f ab std Y+55, r24 ; 0x37 4a3e: 98 af std Y+56, r25 ; 0x38 4a40: a3 01 movw r20, r6 4a42: 92 01 movw r18, r4 4a44: 6f 2d mov r22, r15 4a46: 7e 2d mov r23, r14 4a48: 89 2d mov r24, r9 4a4a: 98 2d mov r25, r8 4a4c: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4a50: 69 af std Y+57, r22 ; 0x39 4a52: 7a af std Y+58, r23 ; 0x3a 4a54: 8b af std Y+59, r24 ; 0x3b 4a56: 9c af std Y+60, r25 ; 0x3c 4a58: a3 01 movw r20, r6 4a5a: 92 01 movw r18, r4 4a5c: 61 2f mov r22, r17 4a5e: 70 2f mov r23, r16 4a60: 83 2d mov r24, r3 4a62: 92 2d mov r25, r2 4a64: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4a68: 21 96 adiw r28, 0x01 ; 1 4a6a: 6c af std Y+60, r22 ; 0x3c 4a6c: 7d af std Y+61, r23 ; 0x3d 4a6e: 8e af std Y+62, r24 ; 0x3e 4a70: 9f af std Y+63, r25 ; 0x3f 4a72: 21 97 sbiw r28, 0x01 ; 1 4a74: ea 96 adiw r28, 0x3a ; 58 4a76: 2c ad ldd r18, Y+60 ; 0x3c 4a78: 3d ad ldd r19, Y+61 ; 0x3d 4a7a: 4e ad ldd r20, Y+62 ; 0x3e 4a7c: 5f ad ldd r21, Y+63 ; 0x3f 4a7e: ea 97 sbiw r28, 0x3a ; 58 4a80: ca 01 movw r24, r20 4a82: b9 01 movw r22, r18 4a84: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4a88: 6b 01 movw r12, r22 4a8a: 7c 01 movw r14, r24 4a8c: ee 96 adiw r28, 0x3e ; 62 4a8e: 2c ad ldd r18, Y+60 ; 0x3c 4a90: 3d ad ldd r19, Y+61 ; 0x3d 4a92: 4e ad ldd r20, Y+62 ; 0x3e 4a94: 5f ad ldd r21, Y+63 ; 0x3f 4a96: ee 97 sbiw r28, 0x3e ; 62 4a98: ca 01 movw r24, r20 4a9a: b9 01 movw r22, r18 4a9c: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4aa0: 9b 01 movw r18, r22 4aa2: ac 01 movw r20, r24 4aa4: c7 01 movw r24, r14 4aa6: b6 01 movw r22, r12 4aa8: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 4aac: 6b 01 movw r12, r22 4aae: 7c 01 movw r14, r24 4ab0: c2 58 subi r28, 0x82 ; 130 4ab2: df 4f sbci r29, 0xFF ; 255 4ab4: 28 81 ld r18, Y 4ab6: 39 81 ldd r19, Y+1 ; 0x01 4ab8: 4a 81 ldd r20, Y+2 ; 0x02 4aba: 5b 81 ldd r21, Y+3 ; 0x03 4abc: ce 57 subi r28, 0x7E ; 126 4abe: d0 40 sbci r29, 0x00 ; 0 4ac0: ca 01 movw r24, r20 4ac2: b9 01 movw r22, r18 4ac4: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4ac8: 9b 01 movw r18, r22 4aca: ac 01 movw r20, r24 4acc: c7 01 movw r24, r14 4ace: b6 01 movw r22, r12 4ad0: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 4ad4: 8b 01 movw r16, r22 4ad6: 9c 01 movw r18, r24 4ad8: 35 95 asr r19 4ada: 27 95 ror r18 4adc: 17 95 ror r17 4ade: 07 95 ror r16 4ae0: 0f 2e mov r0, r31 4ae2: ff ed ldi r31, 0xDF ; 223 4ae4: cf 2e mov r12, r31 4ae6: f9 e5 ldi r31, 0x59 ; 89 4ae8: df 2e mov r13, r31 4aea: f7 e3 ldi r31, 0x37 ; 55 4aec: ef 2e mov r14, r31 4aee: ff e5 ldi r31, 0x5F ; 95 4af0: ff 2e mov r15, r31 4af2: f0 2d mov r31, r0 4af4: c0 1a sub r12, r16 4af6: d1 0a sbc r13, r17 4af8: e2 0a sbc r14, r18 4afa: f3 0a sbc r15, r19 4afc: 20 e0 ldi r18, 0x00 ; 0 4afe: 30 e0 ldi r19, 0x00 ; 0 4b00: 40 e0 ldi r20, 0x00 ; 0 4b02: 5f e3 ldi r21, 0x3F ; 63 4b04: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4b08: a7 01 movw r20, r14 4b0a: 96 01 movw r18, r12 4b0c: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4b10: a7 01 movw r20, r14 4b12: 96 01 movw r18, r12 4b14: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4b18: 9b 01 movw r18, r22 4b1a: ac 01 movw r20, r24 4b1c: 60 e0 ldi r22, 0x00 ; 0 4b1e: 70 e0 ldi r23, 0x00 ; 0 4b20: 80 ec ldi r24, 0xC0 ; 192 4b22: 9f e3 ldi r25, 0x3F ; 63 4b24: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 4b28: a7 01 movw r20, r14 4b2a: 96 01 movw r18, r12 4b2c: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4b30: 6b 01 movw r12, r22 4b32: 7c 01 movw r14, r24 4b34: 9b 01 movw r18, r22 4b36: ac 01 movw r20, r24 4b38: ea 96 adiw r28, 0x3a ; 58 4b3a: 6c ad ldd r22, Y+60 ; 0x3c 4b3c: 7d ad ldd r23, Y+61 ; 0x3d 4b3e: 8e ad ldd r24, Y+62 ; 0x3e 4b40: 9f ad ldd r25, Y+63 ; 0x3f 4b42: ea 97 sbiw r28, 0x3a ; 58 4b44: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4b48: 6d 83 std Y+5, r22 ; 0x05 4b4a: 7e 83 std Y+6, r23 ; 0x06 4b4c: 8f 83 std Y+7, r24 ; 0x07 4b4e: 98 87 std Y+8, r25 ; 0x08 4b50: a7 01 movw r20, r14 4b52: 96 01 movw r18, r12 4b54: ee 96 adiw r28, 0x3e ; 62 4b56: 6c ad ldd r22, Y+60 ; 0x3c 4b58: 7d ad ldd r23, Y+61 ; 0x3d 4b5a: 8e ad ldd r24, Y+62 ; 0x3e 4b5c: 9f ad ldd r25, Y+63 ; 0x3f 4b5e: ee 97 sbiw r28, 0x3e ; 62 4b60: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4b64: 69 87 std Y+9, r22 ; 0x09 4b66: 7a 87 std Y+10, r23 ; 0x0a 4b68: 8b 87 std Y+11, r24 ; 0x0b 4b6a: 9c 87 std Y+12, r25 ; 0x0c 4b6c: a7 01 movw r20, r14 4b6e: 96 01 movw r18, r12 4b70: c2 58 subi r28, 0x82 ; 130 4b72: df 4f sbci r29, 0xFF ; 255 4b74: 68 81 ld r22, Y 4b76: 79 81 ldd r23, Y+1 ; 0x01 4b78: 8a 81 ldd r24, Y+2 ; 0x02 4b7a: 9b 81 ldd r25, Y+3 ; 0x03 4b7c: ce 57 subi r28, 0x7E ; 126 4b7e: d0 40 sbci r29, 0x00 ; 0 4b80: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4b84: 6d 87 std Y+13, r22 ; 0x0d 4b86: 7e 87 std Y+14, r23 ; 0x0e 4b88: 8f 87 std Y+15, r24 ; 0x0f 4b8a: 98 8b std Y+16, r25 ; 0x10 4b8c: 40 90 00 20 lds r4, 0x2000 ; 0x802000 <__data_start> 4b90: 50 90 01 20 lds r5, 0x2001 ; 0x802001 <__data_start+0x1> 4b94: 60 90 02 20 lds r6, 0x2002 ; 0x802002 <__data_start+0x2> 4b98: 70 90 03 20 lds r7, 0x2003 ; 0x802003 <__data_start+0x3> 4b9c: e0 90 00 20 lds r14, 0x2000 ; 0x802000 <__data_start> 4ba0: f0 90 01 20 lds r15, 0x2001 ; 0x802001 <__data_start+0x1> 4ba4: 00 91 02 20 lds r16, 0x2002 ; 0x802002 <__data_start+0x2> 4ba8: 10 91 03 20 lds r17, 0x2003 ; 0x802003 <__data_start+0x3> 4bac: 69 96 adiw r28, 0x19 ; 25 4bae: ec ae std Y+60, r14 ; 0x3c 4bb0: fd ae std Y+61, r15 ; 0x3d 4bb2: 0e af std Y+62, r16 ; 0x3e 4bb4: 1f af std Y+63, r17 ; 0x3f 4bb6: 69 97 sbiw r28, 0x19 ; 25 4bb8: 60 91 00 20 lds r22, 0x2000 ; 0x802000 <__data_start> 4bbc: 70 91 01 20 lds r23, 0x2001 ; 0x802001 <__data_start+0x1> 4bc0: 80 91 02 20 lds r24, 0x2002 ; 0x802002 <__data_start+0x2> 4bc4: 90 91 03 20 lds r25, 0x2003 ; 0x802003 <__data_start+0x3> 4bc8: 20 91 a4 24 lds r18, 0x24A4 ; 0x8024a4 4bcc: 30 91 a5 24 lds r19, 0x24A5 ; 0x8024a5 4bd0: 40 91 a6 24 lds r20, 0x24A6 ; 0x8024a6 4bd4: 50 91 a7 24 lds r21, 0x24A7 ; 0x8024a7 4bd8: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4bdc: 69 a3 std Y+33, r22 ; 0x21 4bde: 7a a3 std Y+34, r23 ; 0x22 4be0: 8b a3 std Y+35, r24 ; 0x23 4be2: 9c a3 std Y+36, r25 ; 0x24 4be4: 60 91 00 20 lds r22, 0x2000 ; 0x802000 <__data_start> 4be8: 70 91 01 20 lds r23, 0x2001 ; 0x802001 <__data_start+0x1> 4bec: 80 91 02 20 lds r24, 0x2002 ; 0x802002 <__data_start+0x2> 4bf0: 90 91 03 20 lds r25, 0x2003 ; 0x802003 <__data_start+0x3> 4bf4: 20 91 a0 24 lds r18, 0x24A0 ; 0x8024a0 4bf8: 30 91 a1 24 lds r19, 0x24A1 ; 0x8024a1 4bfc: 40 91 a2 24 lds r20, 0x24A2 ; 0x8024a2 4c00: 50 91 a3 24 lds r21, 0x24A3 ; 0x8024a3 4c04: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4c08: 6d 8f std Y+29, r22 ; 0x1d 4c0a: 7e 8f std Y+30, r23 ; 0x1e 4c0c: 8f 8f std Y+31, r24 ; 0x1f 4c0e: 98 a3 std Y+32, r25 ; 0x20 4c10: 60 91 00 20 lds r22, 0x2000 ; 0x802000 <__data_start> 4c14: 70 91 01 20 lds r23, 0x2001 ; 0x802001 <__data_start+0x1> 4c18: 80 91 02 20 lds r24, 0x2002 ; 0x802002 <__data_start+0x2> 4c1c: 90 91 03 20 lds r25, 0x2003 ; 0x802003 <__data_start+0x3> 4c20: 20 91 9c 24 lds r18, 0x249C ; 0x80249c 4c24: 30 91 9d 24 lds r19, 0x249D ; 0x80249d 4c28: 40 91 9e 24 lds r20, 0x249E ; 0x80249e 4c2c: 50 91 9f 24 lds r21, 0x249F ; 0x80249f 4c30: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4c34: 6d 8b std Y+21, r22 ; 0x15 4c36: 7e 8b std Y+22, r23 ; 0x16 4c38: 8f 8b std Y+23, r24 ; 0x17 4c3a: 98 8f std Y+24, r25 ; 0x18 4c3c: c0 90 a4 24 lds r12, 0x24A4 ; 0x8024a4 4c40: d0 90 a5 24 lds r13, 0x24A5 ; 0x8024a5 4c44: e0 90 a6 24 lds r14, 0x24A6 ; 0x8024a6 4c48: f0 90 a7 24 lds r15, 0x24A7 ; 0x8024a7 4c4c: 00 91 a4 24 lds r16, 0x24A4 ; 0x8024a4 4c50: 10 91 a5 24 lds r17, 0x24A5 ; 0x8024a5 4c54: 20 91 a6 24 lds r18, 0x24A6 ; 0x8024a6 4c58: 30 91 a7 24 lds r19, 0x24A7 ; 0x8024a7 4c5c: 09 ab std Y+49, r16 ; 0x31 4c5e: 1a ab std Y+50, r17 ; 0x32 4c60: 2b ab std Y+51, r18 ; 0x33 4c62: 3c ab std Y+52, r19 ; 0x34 4c64: 60 91 a4 24 lds r22, 0x24A4 ; 0x8024a4 4c68: 70 91 a5 24 lds r23, 0x24A5 ; 0x8024a5 4c6c: 80 91 a6 24 lds r24, 0x24A6 ; 0x8024a6 4c70: 90 91 a7 24 lds r25, 0x24A7 ; 0x8024a7 4c74: 20 91 a0 24 lds r18, 0x24A0 ; 0x8024a0 4c78: 30 91 a1 24 lds r19, 0x24A1 ; 0x8024a1 4c7c: 40 91 a2 24 lds r20, 0x24A2 ; 0x8024a2 4c80: 50 91 a3 24 lds r21, 0x24A3 ; 0x8024a3 4c84: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4c88: 69 a7 std Y+41, r22 ; 0x29 4c8a: 7a a7 std Y+42, r23 ; 0x2a 4c8c: 8b a7 std Y+43, r24 ; 0x2b 4c8e: 9c a7 std Y+44, r25 ; 0x2c 4c90: 60 91 a4 24 lds r22, 0x24A4 ; 0x8024a4 4c94: 70 91 a5 24 lds r23, 0x24A5 ; 0x8024a5 4c98: 80 91 a6 24 lds r24, 0x24A6 ; 0x8024a6 4c9c: 90 91 a7 24 lds r25, 0x24A7 ; 0x8024a7 4ca0: 20 91 9c 24 lds r18, 0x249C ; 0x80249c 4ca4: 30 91 9d 24 lds r19, 0x249D ; 0x80249d 4ca8: 40 91 9e 24 lds r20, 0x249E ; 0x80249e 4cac: 50 91 9f 24 lds r21, 0x249F ; 0x80249f 4cb0: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4cb4: 6d a7 std Y+45, r22 ; 0x2d 4cb6: 7e a7 std Y+46, r23 ; 0x2e 4cb8: 8f a7 std Y+47, r24 ; 0x2f 4cba: 98 ab std Y+48, r25 ; 0x30 4cbc: 60 91 a0 24 lds r22, 0x24A0 ; 0x8024a0 4cc0: 70 91 a1 24 lds r23, 0x24A1 ; 0x8024a1 4cc4: 80 91 a2 24 lds r24, 0x24A2 ; 0x8024a2 4cc8: 90 91 a3 24 lds r25, 0x24A3 ; 0x8024a3 4ccc: 20 91 a0 24 lds r18, 0x24A0 ; 0x8024a0 4cd0: 30 91 a1 24 lds r19, 0x24A1 ; 0x8024a1 4cd4: 40 91 a2 24 lds r20, 0x24A2 ; 0x8024a2 4cd8: 50 91 a3 24 lds r21, 0x24A3 ; 0x8024a3 4cdc: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4ce0: 25 96 adiw r28, 0x05 ; 5 4ce2: 6c af std Y+60, r22 ; 0x3c 4ce4: 7d af std Y+61, r23 ; 0x3d 4ce6: 8e af std Y+62, r24 ; 0x3e 4ce8: 9f af std Y+63, r25 ; 0x3f 4cea: 25 97 sbiw r28, 0x05 ; 5 4cec: 60 91 a0 24 lds r22, 0x24A0 ; 0x8024a0 4cf0: 70 91 a1 24 lds r23, 0x24A1 ; 0x8024a1 4cf4: 80 91 a2 24 lds r24, 0x24A2 ; 0x8024a2 4cf8: 90 91 a3 24 lds r25, 0x24A3 ; 0x8024a3 4cfc: 20 91 9c 24 lds r18, 0x249C ; 0x80249c 4d00: 30 91 9d 24 lds r19, 0x249D ; 0x80249d 4d04: 40 91 9e 24 lds r20, 0x249E ; 0x80249e 4d08: 50 91 9f 24 lds r21, 0x249F ; 0x80249f 4d0c: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4d10: 29 96 adiw r28, 0x09 ; 9 4d12: 6c af std Y+60, r22 ; 0x3c 4d14: 7d af std Y+61, r23 ; 0x3d 4d16: 8e af std Y+62, r24 ; 0x3e 4d18: 9f af std Y+63, r25 ; 0x3f 4d1a: 29 97 sbiw r28, 0x09 ; 9 4d1c: 60 91 9c 24 lds r22, 0x249C ; 0x80249c 4d20: 70 91 9d 24 lds r23, 0x249D ; 0x80249d 4d24: 80 91 9e 24 lds r24, 0x249E ; 0x80249e 4d28: 90 91 9f 24 lds r25, 0x249F ; 0x80249f 4d2c: 20 91 9c 24 lds r18, 0x249C ; 0x80249c 4d30: 30 91 9d 24 lds r19, 0x249D ; 0x80249d 4d34: 40 91 9e 24 lds r20, 0x249E ; 0x80249e 4d38: 50 91 9f 24 lds r21, 0x249F ; 0x80249f 4d3c: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4d40: 6d a3 std Y+37, r22 ; 0x25 4d42: 7e a3 std Y+38, r23 ; 0x26 4d44: 8f a3 std Y+39, r24 ; 0x27 4d46: 98 a7 std Y+40, r25 ; 0x28 4d48: 25 96 adiw r28, 0x05 ; 5 4d4a: 2c ad ldd r18, Y+60 ; 0x3c 4d4c: 3d ad ldd r19, Y+61 ; 0x3d 4d4e: 4e ad ldd r20, Y+62 ; 0x3e 4d50: 5f ad ldd r21, Y+63 ; 0x3f 4d52: 25 97 sbiw r28, 0x05 ; 5 4d54: 60 e0 ldi r22, 0x00 ; 0 4d56: 70 e0 ldi r23, 0x00 ; 0 4d58: 80 e0 ldi r24, 0x00 ; 0 4d5a: 9f e3 ldi r25, 0x3F ; 63 4d5c: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 4d60: 2d a1 ldd r18, Y+37 ; 0x25 4d62: 3e a1 ldd r19, Y+38 ; 0x26 4d64: 4f a1 ldd r20, Y+39 ; 0x27 4d66: 58 a5 ldd r21, Y+40 ; 0x28 4d68: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 4d6c: 2d 96 adiw r28, 0x0d ; 13 4d6e: 6c af std Y+60, r22 ; 0x3c 4d70: 7d af std Y+61, r23 ; 0x3d 4d72: 8e af std Y+62, r24 ; 0x3e 4d74: 9f af std Y+63, r25 ; 0x3f 4d76: 2d 97 sbiw r28, 0x0d ; 13 4d78: 2d 89 ldd r18, Y+21 ; 0x15 4d7a: 3e 89 ldd r19, Y+22 ; 0x16 4d7c: 4f 89 ldd r20, Y+23 ; 0x17 4d7e: 58 8d ldd r21, Y+24 ; 0x18 4d80: 69 a5 ldd r22, Y+41 ; 0x29 4d82: 7a a5 ldd r23, Y+42 ; 0x2a 4d84: 8b a5 ldd r24, Y+43 ; 0x2b 4d86: 9c a5 ldd r25, Y+44 ; 0x2c 4d88: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 4d8c: 61 96 adiw r28, 0x11 ; 17 4d8e: 6c af std Y+60, r22 ; 0x3c 4d90: 7d af std Y+61, r23 ; 0x3d 4d92: 8e af std Y+62, r24 ; 0x3e 4d94: 9f af std Y+63, r25 ; 0x3f 4d96: 61 97 sbiw r28, 0x11 ; 17 4d98: 2d a5 ldd r18, Y+45 ; 0x2d 4d9a: 3e a5 ldd r19, Y+46 ; 0x2e 4d9c: 4f a5 ldd r20, Y+47 ; 0x2f 4d9e: 58 a9 ldd r21, Y+48 ; 0x30 4da0: 6d 8d ldd r22, Y+29 ; 0x1d 4da2: 7e 8d ldd r23, Y+30 ; 0x1e 4da4: 8f 8d ldd r24, Y+31 ; 0x1f 4da6: 98 a1 ldd r25, Y+32 ; 0x20 4da8: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 4dac: 65 96 adiw r28, 0x15 ; 21 4dae: 6c af std Y+60, r22 ; 0x3c 4db0: 7d af std Y+61, r23 ; 0x3d 4db2: 8e af std Y+62, r24 ; 0x3e 4db4: 9f af std Y+63, r25 ; 0x3f 4db6: 65 97 sbiw r28, 0x15 ; 21 4db8: 2d 96 adiw r28, 0x0d ; 13 4dba: 2c ad ldd r18, Y+60 ; 0x3c 4dbc: 3d ad ldd r19, Y+61 ; 0x3d 4dbe: 4e ad ldd r20, Y+62 ; 0x3e 4dc0: 5f ad ldd r21, Y+63 ; 0x3f 4dc2: 2d 97 sbiw r28, 0x0d ; 13 4dc4: 6d 81 ldd r22, Y+5 ; 0x05 4dc6: 7e 81 ldd r23, Y+6 ; 0x06 4dc8: 8f 81 ldd r24, Y+7 ; 0x07 4dca: 98 85 ldd r25, Y+8 ; 0x08 4dcc: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4dd0: 4b 01 movw r8, r22 4dd2: 5c 01 movw r10, r24 4dd4: 61 96 adiw r28, 0x11 ; 17 4dd6: 2c ad ldd r18, Y+60 ; 0x3c 4dd8: 3d ad ldd r19, Y+61 ; 0x3d 4dda: 4e ad ldd r20, Y+62 ; 0x3e 4ddc: 5f ad ldd r21, Y+63 ; 0x3f 4dde: 61 97 sbiw r28, 0x11 ; 17 4de0: 69 85 ldd r22, Y+9 ; 0x09 4de2: 7a 85 ldd r23, Y+10 ; 0x0a 4de4: 8b 85 ldd r24, Y+11 ; 0x0b 4de6: 9c 85 ldd r25, Y+12 ; 0x0c 4de8: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4dec: 9b 01 movw r18, r22 4dee: ac 01 movw r20, r24 4df0: c5 01 movw r24, r10 4df2: b4 01 movw r22, r8 4df4: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 4df8: 4b 01 movw r8, r22 4dfa: 5c 01 movw r10, r24 4dfc: 65 96 adiw r28, 0x15 ; 21 4dfe: 2c ad ldd r18, Y+60 ; 0x3c 4e00: 3d ad ldd r19, Y+61 ; 0x3d 4e02: 4e ad ldd r20, Y+62 ; 0x3e 4e04: 5f ad ldd r21, Y+63 ; 0x3f 4e06: 65 97 sbiw r28, 0x15 ; 21 4e08: 6d 85 ldd r22, Y+13 ; 0x0d 4e0a: 7e 85 ldd r23, Y+14 ; 0x0e 4e0c: 8f 85 ldd r24, Y+15 ; 0x0f 4e0e: 98 89 ldd r25, Y+16 ; 0x10 4e10: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4e14: 9b 01 movw r18, r22 4e16: ac 01 movw r20, r24 4e18: c5 01 movw r24, r10 4e1a: b4 01 movw r22, r8 4e1c: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 4e20: 9b 01 movw r18, r22 4e22: ac 01 movw r20, r24 4e24: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 4e28: 4b 01 movw r8, r22 4e2a: 5c 01 movw r10, r24 4e2c: 29 a9 ldd r18, Y+49 ; 0x31 4e2e: 3a a9 ldd r19, Y+50 ; 0x32 4e30: 4b a9 ldd r20, Y+51 ; 0x33 4e32: 5c a9 ldd r21, Y+52 ; 0x34 4e34: c7 01 movw r24, r14 4e36: b6 01 movw r22, r12 4e38: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4e3c: 9b 01 movw r18, r22 4e3e: ac 01 movw r20, r24 4e40: 60 e0 ldi r22, 0x00 ; 0 4e42: 70 e0 ldi r23, 0x00 ; 0 4e44: 80 e0 ldi r24, 0x00 ; 0 4e46: 9f e3 ldi r25, 0x3F ; 63 4e48: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 4e4c: 69 ab std Y+49, r22 ; 0x31 4e4e: 7a ab std Y+50, r23 ; 0x32 4e50: 8b ab std Y+51, r24 ; 0x33 4e52: 9c ab std Y+52, r25 ; 0x34 4e54: 29 a5 ldd r18, Y+41 ; 0x29 4e56: 3a a5 ldd r19, Y+42 ; 0x2a 4e58: 4b a5 ldd r20, Y+43 ; 0x2b 4e5a: 5c a5 ldd r21, Y+44 ; 0x2c 4e5c: 6d 89 ldd r22, Y+21 ; 0x15 4e5e: 7e 89 ldd r23, Y+22 ; 0x16 4e60: 8f 89 ldd r24, Y+23 ; 0x17 4e62: 98 8d ldd r25, Y+24 ; 0x18 4e64: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 4e68: 2d 81 ldd r18, Y+5 ; 0x05 4e6a: 3e 81 ldd r19, Y+6 ; 0x06 4e6c: 4f 81 ldd r20, Y+7 ; 0x07 4e6e: 58 85 ldd r21, Y+8 ; 0x08 4e70: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4e74: 6b 01 movw r12, r22 4e76: 7c 01 movw r14, r24 4e78: 2d a1 ldd r18, Y+37 ; 0x25 4e7a: 3e a1 ldd r19, Y+38 ; 0x26 4e7c: 4f a1 ldd r20, Y+39 ; 0x27 4e7e: 58 a5 ldd r21, Y+40 ; 0x28 4e80: 69 a9 ldd r22, Y+49 ; 0x31 4e82: 7a a9 ldd r23, Y+50 ; 0x32 4e84: 8b a9 ldd r24, Y+51 ; 0x33 4e86: 9c a9 ldd r25, Y+52 ; 0x34 4e88: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 4e8c: 29 85 ldd r18, Y+9 ; 0x09 4e8e: 3a 85 ldd r19, Y+10 ; 0x0a 4e90: 4b 85 ldd r20, Y+11 ; 0x0b 4e92: 5c 85 ldd r21, Y+12 ; 0x0c 4e94: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4e98: 9b 01 movw r18, r22 4e9a: ac 01 movw r20, r24 4e9c: c7 01 movw r24, r14 4e9e: b6 01 movw r22, r12 4ea0: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 4ea4: 6b 01 movw r12, r22 4ea6: 7c 01 movw r14, r24 4ea8: 29 a1 ldd r18, Y+33 ; 0x21 4eaa: 3a a1 ldd r19, Y+34 ; 0x22 4eac: 4b a1 ldd r20, Y+35 ; 0x23 4eae: 5c a1 ldd r21, Y+36 ; 0x24 4eb0: 29 96 adiw r28, 0x09 ; 9 4eb2: 6c ad ldd r22, Y+60 ; 0x3c 4eb4: 7d ad ldd r23, Y+61 ; 0x3d 4eb6: 8e ad ldd r24, Y+62 ; 0x3e 4eb8: 9f ad ldd r25, Y+63 ; 0x3f 4eba: 29 97 sbiw r28, 0x09 ; 9 4ebc: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 4ec0: 2d 85 ldd r18, Y+13 ; 0x0d 4ec2: 3e 85 ldd r19, Y+14 ; 0x0e 4ec4: 4f 85 ldd r20, Y+15 ; 0x0f 4ec6: 58 89 ldd r21, Y+16 ; 0x10 4ec8: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4ecc: 9b 01 movw r18, r22 4ece: ac 01 movw r20, r24 4ed0: c7 01 movw r24, r14 4ed2: b6 01 movw r22, r12 4ed4: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 4ed8: 9b 01 movw r18, r22 4eda: ac 01 movw r20, r24 4edc: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 4ee0: 6b 01 movw r12, r22 4ee2: 7c 01 movw r14, r24 4ee4: a5 01 movw r20, r10 4ee6: 94 01 movw r18, r8 4ee8: c5 01 movw r24, r10 4eea: b4 01 movw r22, r8 4eec: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4ef0: 6d 8b std Y+21, r22 ; 0x15 4ef2: 7e 8b std Y+22, r23 ; 0x16 4ef4: 8f 8b std Y+23, r24 ; 0x17 4ef6: 98 8f std Y+24, r25 ; 0x18 4ef8: a5 01 movw r20, r10 4efa: 94 01 movw r18, r8 4efc: c5 01 movw r24, r10 4efe: b4 01 movw r22, r8 4f00: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4f04: 4b 01 movw r8, r22 4f06: 5c 01 movw r10, r24 4f08: a7 01 movw r20, r14 4f0a: 96 01 movw r18, r12 4f0c: c7 01 movw r24, r14 4f0e: b6 01 movw r22, r12 4f10: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4f14: 9b 01 movw r18, r22 4f16: ac 01 movw r20, r24 4f18: c5 01 movw r24, r10 4f1a: b4 01 movw r22, r8 4f1c: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 4f20: 0e 94 74 35 call 0x6ae8 ; 0x6ae8 4f24: 4b 01 movw r8, r22 4f26: 5c 01 movw r10, r24 4f28: 2d 8d ldd r18, Y+29 ; 0x1d 4f2a: 3e 8d ldd r19, Y+30 ; 0x1e 4f2c: 4f 8d ldd r20, Y+31 ; 0x1f 4f2e: 58 a1 ldd r21, Y+32 ; 0x20 4f30: 6d a5 ldd r22, Y+45 ; 0x2d 4f32: 7e a5 ldd r23, Y+46 ; 0x2e 4f34: 8f a5 ldd r24, Y+47 ; 0x2f 4f36: 98 a9 ldd r25, Y+48 ; 0x30 4f38: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 4f3c: 6d 8f std Y+29, r22 ; 0x1d 4f3e: 7e 8f std Y+30, r23 ; 0x1e 4f40: 8f 8f std Y+31, r24 ; 0x1f 4f42: 98 a3 std Y+32, r25 ; 0x20 4f44: 29 96 adiw r28, 0x09 ; 9 4f46: 2c ad ldd r18, Y+60 ; 0x3c 4f48: 3d ad ldd r19, Y+61 ; 0x3d 4f4a: 4e ad ldd r20, Y+62 ; 0x3e 4f4c: 5f ad ldd r21, Y+63 ; 0x3f 4f4e: 29 97 sbiw r28, 0x09 ; 9 4f50: 69 a1 ldd r22, Y+33 ; 0x21 4f52: 7a a1 ldd r23, Y+34 ; 0x22 4f54: 8b a1 ldd r24, Y+35 ; 0x23 4f56: 9c a1 ldd r25, Y+36 ; 0x24 4f58: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 4f5c: 69 a3 std Y+33, r22 ; 0x21 4f5e: 7a a3 std Y+34, r23 ; 0x22 4f60: 8b a3 std Y+35, r24 ; 0x23 4f62: 9c a3 std Y+36, r25 ; 0x24 4f64: 25 96 adiw r28, 0x05 ; 5 4f66: 2c ad ldd r18, Y+60 ; 0x3c 4f68: 3d ad ldd r19, Y+61 ; 0x3d 4f6a: 4e ad ldd r20, Y+62 ; 0x3e 4f6c: 5f ad ldd r21, Y+63 ; 0x3f 4f6e: 25 97 sbiw r28, 0x05 ; 5 4f70: 69 a9 ldd r22, Y+49 ; 0x31 4f72: 7a a9 ldd r23, Y+50 ; 0x32 4f74: 8b a9 ldd r24, Y+51 ; 0x33 4f76: 9c a9 ldd r25, Y+52 ; 0x34 4f78: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 4f7c: 6d 8b std Y+21, r22 ; 0x15 4f7e: 7e 8b std Y+22, r23 ; 0x16 4f80: 8f 8b std Y+23, r24 ; 0x17 4f82: 98 8f std Y+24, r25 ; 0x18 4f84: 2d 8d ldd r18, Y+29 ; 0x1d 4f86: 3e 8d ldd r19, Y+30 ; 0x1e 4f88: 4f 8d ldd r20, Y+31 ; 0x1f 4f8a: 58 a1 ldd r21, Y+32 ; 0x20 4f8c: 6d 81 ldd r22, Y+5 ; 0x05 4f8e: 7e 81 ldd r23, Y+6 ; 0x06 4f90: 8f 81 ldd r24, Y+7 ; 0x07 4f92: 98 85 ldd r25, Y+8 ; 0x08 4f94: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4f98: 6b 01 movw r12, r22 4f9a: 7c 01 movw r14, r24 4f9c: 29 a1 ldd r18, Y+33 ; 0x21 4f9e: 3a a1 ldd r19, Y+34 ; 0x22 4fa0: 4b a1 ldd r20, Y+35 ; 0x23 4fa2: 5c a1 ldd r21, Y+36 ; 0x24 4fa4: 69 85 ldd r22, Y+9 ; 0x09 4fa6: 7a 85 ldd r23, Y+10 ; 0x0a 4fa8: 8b 85 ldd r24, Y+11 ; 0x0b 4faa: 9c 85 ldd r25, Y+12 ; 0x0c 4fac: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4fb0: 9b 01 movw r18, r22 4fb2: ac 01 movw r20, r24 4fb4: c7 01 movw r24, r14 4fb6: b6 01 movw r22, r12 4fb8: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 4fbc: 6b 01 movw r12, r22 4fbe: 7c 01 movw r14, r24 4fc0: 2d 89 ldd r18, Y+21 ; 0x15 4fc2: 3e 89 ldd r19, Y+22 ; 0x16 4fc4: 4f 89 ldd r20, Y+23 ; 0x17 4fc6: 58 8d ldd r21, Y+24 ; 0x18 4fc8: 6d 85 ldd r22, Y+13 ; 0x0d 4fca: 7e 85 ldd r23, Y+14 ; 0x0e 4fcc: 8f 85 ldd r24, Y+15 ; 0x0f 4fce: 98 89 ldd r25, Y+16 ; 0x10 4fd0: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 4fd4: 9b 01 movw r18, r22 4fd6: ac 01 movw r20, r24 4fd8: c7 01 movw r24, r14 4fda: b6 01 movw r22, r12 4fdc: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 4fe0: 9b 01 movw r18, r22 4fe2: ac 01 movw r20, r24 4fe4: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 4fe8: 6b 01 movw r12, r22 4fea: 7c 01 movw r14, r24 4fec: 69 96 adiw r28, 0x19 ; 25 4fee: 2c ad ldd r18, Y+60 ; 0x3c 4ff0: 3d ad ldd r19, Y+61 ; 0x3d 4ff2: 4e ad ldd r20, Y+62 ; 0x3e 4ff4: 5f ad ldd r21, Y+63 ; 0x3f 4ff6: 69 97 sbiw r28, 0x19 ; 25 4ff8: c3 01 movw r24, r6 4ffa: b2 01 movw r22, r4 4ffc: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 5000: 20 e0 ldi r18, 0x00 ; 0 5002: 30 e0 ldi r19, 0x00 ; 0 5004: 40 e0 ldi r20, 0x00 ; 0 5006: 5f e3 ldi r21, 0x3F ; 63 5008: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 500c: 2d a1 ldd r18, Y+37 ; 0x25 500e: 3e a1 ldd r19, Y+38 ; 0x26 5010: 4f a1 ldd r20, Y+39 ; 0x27 5012: 58 a5 ldd r21, Y+40 ; 0x28 5014: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 5018: 6d a3 std Y+37, r22 ; 0x25 501a: 7e a3 std Y+38, r23 ; 0x26 501c: 8f a3 std Y+39, r24 ; 0x27 501e: 98 a7 std Y+40, r25 ; 0x28 5020: a5 01 movw r20, r10 5022: 94 01 movw r18, r8 5024: 2d 96 adiw r28, 0x0d ; 13 5026: 6c ad ldd r22, Y+60 ; 0x3c 5028: 7d ad ldd r23, Y+61 ; 0x3d 502a: 8e ad ldd r24, Y+62 ; 0x3e 502c: 9f ad ldd r25, Y+63 ; 0x3f 502e: 2d 97 sbiw r28, 0x0d ; 13 5030: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 5034: 2b 01 movw r4, r22 5036: 3c 01 movw r6, r24 5038: a7 01 movw r20, r14 503a: 96 01 movw r18, r12 503c: 6d 8d ldd r22, Y+29 ; 0x1d 503e: 7e 8d ldd r23, Y+30 ; 0x1e 5040: 8f 8d ldd r24, Y+31 ; 0x1f 5042: 98 a1 ldd r25, Y+32 ; 0x20 5044: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 5048: 9b 01 movw r18, r22 504a: ac 01 movw r20, r24 504c: c3 01 movw r24, r6 504e: b2 01 movw r22, r4 5050: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 5054: 69 a7 std Y+41, r22 ; 0x29 5056: 7a a7 std Y+42, r23 ; 0x2a 5058: 8b a7 std Y+43, r24 ; 0x2b 505a: 9c a7 std Y+44, r25 ; 0x2c 505c: a5 01 movw r20, r10 505e: 94 01 movw r18, r8 5060: 61 96 adiw r28, 0x11 ; 17 5062: 6c ad ldd r22, Y+60 ; 0x3c 5064: 7d ad ldd r23, Y+61 ; 0x3d 5066: 8e ad ldd r24, Y+62 ; 0x3e 5068: 9f ad ldd r25, Y+63 ; 0x3f 506a: 61 97 sbiw r28, 0x11 ; 17 506c: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 5070: 2b 01 movw r4, r22 5072: 3c 01 movw r6, r24 5074: a7 01 movw r20, r14 5076: 96 01 movw r18, r12 5078: 69 a1 ldd r22, Y+33 ; 0x21 507a: 7a a1 ldd r23, Y+34 ; 0x22 507c: 8b a1 ldd r24, Y+35 ; 0x23 507e: 9c a1 ldd r25, Y+36 ; 0x24 5080: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 5084: 9b 01 movw r18, r22 5086: ac 01 movw r20, r24 5088: c3 01 movw r24, r6 508a: b2 01 movw r22, r4 508c: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 5090: 6d a7 std Y+45, r22 ; 0x2d 5092: 7e a7 std Y+46, r23 ; 0x2e 5094: 8f a7 std Y+47, r24 ; 0x2f 5096: 98 ab std Y+48, r25 ; 0x30 5098: a5 01 movw r20, r10 509a: 94 01 movw r18, r8 509c: 65 96 adiw r28, 0x15 ; 21 509e: 6c ad ldd r22, Y+60 ; 0x3c 50a0: 7d ad ldd r23, Y+61 ; 0x3d 50a2: 8e ad ldd r24, Y+62 ; 0x3e 50a4: 9f ad ldd r25, Y+63 ; 0x3f 50a6: 65 97 sbiw r28, 0x15 ; 21 50a8: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 50ac: 2b 01 movw r4, r22 50ae: 3c 01 movw r6, r24 50b0: a7 01 movw r20, r14 50b2: 96 01 movw r18, r12 50b4: 6d 89 ldd r22, Y+21 ; 0x15 50b6: 7e 89 ldd r23, Y+22 ; 0x16 50b8: 8f 89 ldd r24, Y+23 ; 0x17 50ba: 98 8d ldd r25, Y+24 ; 0x18 50bc: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 50c0: 9b 01 movw r18, r22 50c2: ac 01 movw r20, r24 50c4: c3 01 movw r24, r6 50c6: b2 01 movw r22, r4 50c8: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 50cc: 6b 01 movw r12, r22 50ce: 7c 01 movw r14, r24 50d0: 2d a1 ldd r18, Y+37 ; 0x25 50d2: 3e a1 ldd r19, Y+38 ; 0x26 50d4: 4f a1 ldd r20, Y+39 ; 0x27 50d6: 58 a5 ldd r21, Y+40 ; 0x28 50d8: 69 ad ldd r22, Y+57 ; 0x39 50da: 7a ad ldd r23, Y+58 ; 0x3a 50dc: 8b ad ldd r24, Y+59 ; 0x3b 50de: 9c ad ldd r25, Y+60 ; 0x3c 50e0: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 50e4: 4b 01 movw r8, r22 50e6: 5c 01 movw r10, r24 50e8: 29 a1 ldd r18, Y+33 ; 0x21 50ea: 3a a1 ldd r19, Y+34 ; 0x22 50ec: 4b a1 ldd r20, Y+35 ; 0x23 50ee: 5c a1 ldd r21, Y+36 ; 0x24 50f0: 21 96 adiw r28, 0x01 ; 1 50f2: 6c ad ldd r22, Y+60 ; 0x3c 50f4: 7d ad ldd r23, Y+61 ; 0x3d 50f6: 8e ad ldd r24, Y+62 ; 0x3e 50f8: 9f ad ldd r25, Y+63 ; 0x3f 50fa: 21 97 sbiw r28, 0x01 ; 1 50fc: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 5100: 9b 01 movw r18, r22 5102: ac 01 movw r20, r24 5104: c5 01 movw r24, r10 5106: b4 01 movw r22, r8 5108: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 510c: 4b 01 movw r8, r22 510e: 5c 01 movw r10, r24 5110: a7 01 movw r20, r14 5112: 96 01 movw r18, r12 5114: 69 85 ldd r22, Y+9 ; 0x09 5116: 7a 85 ldd r23, Y+10 ; 0x0a 5118: 8b 85 ldd r24, Y+11 ; 0x0b 511a: 9c 85 ldd r25, Y+12 ; 0x0c 511c: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 5120: 2b 01 movw r4, r22 5122: 3c 01 movw r6, r24 5124: 2d a5 ldd r18, Y+45 ; 0x2d 5126: 3e a5 ldd r19, Y+46 ; 0x2e 5128: 4f a5 ldd r20, Y+47 ; 0x2f 512a: 58 a9 ldd r21, Y+48 ; 0x30 512c: 6d 85 ldd r22, Y+13 ; 0x0d 512e: 7e 85 ldd r23, Y+14 ; 0x0e 5130: 8f 85 ldd r24, Y+15 ; 0x0f 5132: 98 89 ldd r25, Y+16 ; 0x10 5134: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 5138: 9b 01 movw r18, r22 513a: ac 01 movw r20, r24 513c: c3 01 movw r24, r6 513e: b2 01 movw r22, r4 5140: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 5144: 9b 01 movw r18, r22 5146: ac 01 movw r20, r24 5148: c5 01 movw r24, r10 514a: b4 01 movw r22, r8 514c: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 5150: 6d 8b std Y+21, r22 ; 0x15 5152: 7e 8b std Y+22, r23 ; 0x16 5154: 8f 8b std Y+23, r24 ; 0x17 5156: 98 8f std Y+24, r25 ; 0x18 5158: 2d 8d ldd r18, Y+29 ; 0x1d 515a: 3e 8d ldd r19, Y+30 ; 0x1e 515c: 4f 8d ldd r20, Y+31 ; 0x1f 515e: 58 a1 ldd r21, Y+32 ; 0x20 5160: 21 96 adiw r28, 0x01 ; 1 5162: 6c ad ldd r22, Y+60 ; 0x3c 5164: 7d ad ldd r23, Y+61 ; 0x3d 5166: 8e ad ldd r24, Y+62 ; 0x3e 5168: 9f ad ldd r25, Y+63 ; 0x3f 516a: 21 97 sbiw r28, 0x01 ; 1 516c: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 5170: 4b 01 movw r8, r22 5172: 5c 01 movw r10, r24 5174: 2d a1 ldd r18, Y+37 ; 0x25 5176: 3e a1 ldd r19, Y+38 ; 0x26 5178: 4f a1 ldd r20, Y+39 ; 0x27 517a: 58 a5 ldd r21, Y+40 ; 0x28 517c: 6d a9 ldd r22, Y+53 ; 0x35 517e: 7e a9 ldd r23, Y+54 ; 0x36 5180: 8f a9 ldd r24, Y+55 ; 0x37 5182: 98 ad ldd r25, Y+56 ; 0x38 5184: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 5188: 9b 01 movw r18, r22 518a: ac 01 movw r20, r24 518c: c5 01 movw r24, r10 518e: b4 01 movw r22, r8 5190: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 5194: 4b 01 movw r8, r22 5196: 5c 01 movw r10, r24 5198: 29 a5 ldd r18, Y+41 ; 0x29 519a: 3a a5 ldd r19, Y+42 ; 0x2a 519c: 4b a5 ldd r20, Y+43 ; 0x2b 519e: 5c a5 ldd r21, Y+44 ; 0x2c 51a0: 6d 85 ldd r22, Y+13 ; 0x0d 51a2: 7e 85 ldd r23, Y+14 ; 0x0e 51a4: 8f 85 ldd r24, Y+15 ; 0x0f 51a6: 98 89 ldd r25, Y+16 ; 0x10 51a8: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 51ac: 2b 01 movw r4, r22 51ae: 3c 01 movw r6, r24 51b0: a7 01 movw r20, r14 51b2: 96 01 movw r18, r12 51b4: 6d 81 ldd r22, Y+5 ; 0x05 51b6: 7e 81 ldd r23, Y+6 ; 0x06 51b8: 8f 81 ldd r24, Y+7 ; 0x07 51ba: 98 85 ldd r25, Y+8 ; 0x08 51bc: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 51c0: 9b 01 movw r18, r22 51c2: ac 01 movw r20, r24 51c4: c3 01 movw r24, r6 51c6: b2 01 movw r22, r4 51c8: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 51cc: 9b 01 movw r18, r22 51ce: ac 01 movw r20, r24 51d0: c5 01 movw r24, r10 51d2: b4 01 movw r22, r8 51d4: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 51d8: 4b 01 movw r8, r22 51da: 5c 01 movw r10, r24 51dc: 29 a1 ldd r18, Y+33 ; 0x21 51de: 3a a1 ldd r19, Y+34 ; 0x22 51e0: 4b a1 ldd r20, Y+35 ; 0x23 51e2: 5c a1 ldd r21, Y+36 ; 0x24 51e4: 6d a9 ldd r22, Y+53 ; 0x35 51e6: 7e a9 ldd r23, Y+54 ; 0x36 51e8: 8f a9 ldd r24, Y+55 ; 0x37 51ea: 98 ad ldd r25, Y+56 ; 0x38 51ec: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 51f0: 6b 01 movw r12, r22 51f2: 7c 01 movw r14, r24 51f4: 2d 8d ldd r18, Y+29 ; 0x1d 51f6: 3e 8d ldd r19, Y+30 ; 0x1e 51f8: 4f 8d ldd r20, Y+31 ; 0x1f 51fa: 58 a1 ldd r21, Y+32 ; 0x20 51fc: 69 ad ldd r22, Y+57 ; 0x39 51fe: 7a ad ldd r23, Y+58 ; 0x3a 5200: 8b ad ldd r24, Y+59 ; 0x3b 5202: 9c ad ldd r25, Y+60 ; 0x3c 5204: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 5208: 9b 01 movw r18, r22 520a: ac 01 movw r20, r24 520c: c7 01 movw r24, r14 520e: b6 01 movw r22, r12 5210: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 5214: 6b 01 movw r12, r22 5216: 7c 01 movw r14, r24 5218: 2d a5 ldd r18, Y+45 ; 0x2d 521a: 3e a5 ldd r19, Y+46 ; 0x2e 521c: 4f a5 ldd r20, Y+47 ; 0x2f 521e: 58 a9 ldd r21, Y+48 ; 0x30 5220: 6d 81 ldd r22, Y+5 ; 0x05 5222: 7e 81 ldd r23, Y+6 ; 0x06 5224: 8f 81 ldd r24, Y+7 ; 0x07 5226: 98 85 ldd r25, Y+8 ; 0x08 5228: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 522c: 2b 01 movw r4, r22 522e: 3c 01 movw r6, r24 5230: 29 a5 ldd r18, Y+41 ; 0x29 5232: 3a a5 ldd r19, Y+42 ; 0x2a 5234: 4b a5 ldd r20, Y+43 ; 0x2b 5236: 5c a5 ldd r21, Y+44 ; 0x2c 5238: 69 85 ldd r22, Y+9 ; 0x09 523a: 7a 85 ldd r23, Y+10 ; 0x0a 523c: 8b 85 ldd r24, Y+11 ; 0x0b 523e: 9c 85 ldd r25, Y+12 ; 0x0c 5240: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 5244: 9b 01 movw r18, r22 5246: ac 01 movw r20, r24 5248: c3 01 movw r24, r6 524a: b2 01 movw r22, r4 524c: 0e 94 d3 31 call 0x63a6 ; 0x63a6 <__subsf3> 5250: 9b 01 movw r18, r22 5252: ac 01 movw r20, r24 5254: c7 01 movw r24, r14 5256: b6 01 movw r22, r12 5258: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 525c: 6b 01 movw r12, r22 525e: 7c 01 movw r14, r24 5260: 60 91 a8 24 lds r22, 0x24A8 ; 0x8024a8 5264: 70 91 a9 24 lds r23, 0x24A9 ; 0x8024a9 5268: 80 91 aa 24 lds r24, 0x24AA ; 0x8024aa 526c: 90 91 ab 24 lds r25, 0x24AB ; 0x8024ab 5270: 20 e0 ldi r18, 0x00 ; 0 5272: 30 e0 ldi r19, 0x00 ; 0 5274: a9 01 movw r20, r18 5276: 0e 94 51 34 call 0x68a2 ; 0x68a2 <__gesf2> 527a: 18 16 cp r1, r24 527c: 0c f0 brlt .+2 ; 0x5280 527e: aa c0 rjmp .+340 ; 0x53d4 5280: 20 91 a8 24 lds r18, 0x24A8 ; 0x8024a8 5284: 30 91 a9 24 lds r19, 0x24A9 ; 0x8024a9 5288: 40 91 aa 24 lds r20, 0x24AA ; 0x8024aa 528c: 50 91 ab 24 lds r21, 0x24AB ; 0x8024ab 5290: 40 90 98 24 lds r4, 0x2498 ; 0x802498 5294: 50 90 99 24 lds r5, 0x2499 ; 0x802499 5298: 60 90 9a 24 lds r6, 0x249A ; 0x80249a 529c: 70 90 9b 24 lds r7, 0x249B ; 0x80249b 52a0: 6d 89 ldd r22, Y+21 ; 0x15 52a2: 7e 89 ldd r23, Y+22 ; 0x16 52a4: 8f 89 ldd r24, Y+23 ; 0x17 52a6: 98 8d ldd r25, Y+24 ; 0x18 52a8: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 52ac: 2a ef ldi r18, 0xFA ; 250 52ae: 39 ec ldi r19, 0xC9 ; 201 52b0: 44 e3 ldi r20, 0x34 ; 52 52b2: 59 e3 ldi r21, 0x39 ; 57 52b4: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 52b8: a3 01 movw r20, r6 52ba: 92 01 movw r18, r4 52bc: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 52c0: 60 93 98 24 sts 0x2498, r22 ; 0x802498 52c4: 70 93 99 24 sts 0x2499, r23 ; 0x802499 52c8: 80 93 9a 24 sts 0x249A, r24 ; 0x80249a 52cc: 90 93 9b 24 sts 0x249B, r25 ; 0x80249b 52d0: 20 91 a8 24 lds r18, 0x24A8 ; 0x8024a8 52d4: 30 91 a9 24 lds r19, 0x24A9 ; 0x8024a9 52d8: 40 91 aa 24 lds r20, 0x24AA ; 0x8024aa 52dc: 50 91 ab 24 lds r21, 0x24AB ; 0x8024ab 52e0: 40 90 94 24 lds r4, 0x2494 ; 0x802494 52e4: 50 90 95 24 lds r5, 0x2495 ; 0x802495 52e8: 60 90 96 24 lds r6, 0x2496 ; 0x802496 52ec: 70 90 97 24 lds r7, 0x2497 ; 0x802497 52f0: c5 01 movw r24, r10 52f2: b4 01 movw r22, r8 52f4: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 52f8: 2a ef ldi r18, 0xFA ; 250 52fa: 39 ec ldi r19, 0xC9 ; 201 52fc: 44 e3 ldi r20, 0x34 ; 52 52fe: 59 e3 ldi r21, 0x39 ; 57 5300: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 5304: a3 01 movw r20, r6 5306: 92 01 movw r18, r4 5308: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 530c: 60 93 94 24 sts 0x2494, r22 ; 0x802494 5310: 70 93 95 24 sts 0x2495, r23 ; 0x802495 5314: 80 93 96 24 sts 0x2496, r24 ; 0x802496 5318: 90 93 97 24 sts 0x2497, r25 ; 0x802497 531c: 20 91 a8 24 lds r18, 0x24A8 ; 0x8024a8 5320: 30 91 a9 24 lds r19, 0x24A9 ; 0x8024a9 5324: 40 91 aa 24 lds r20, 0x24AA ; 0x8024aa 5328: 50 91 ab 24 lds r21, 0x24AB ; 0x8024ab 532c: 40 90 90 24 lds r4, 0x2490 ; 0x802490 5330: 50 90 91 24 lds r5, 0x2491 ; 0x802491 5334: 60 90 92 24 lds r6, 0x2492 ; 0x802492 5338: 70 90 93 24 lds r7, 0x2493 ; 0x802493 533c: c7 01 movw r24, r14 533e: b6 01 movw r22, r12 5340: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 5344: 2a ef ldi r18, 0xFA ; 250 5346: 39 ec ldi r19, 0xC9 ; 201 5348: 44 e3 ldi r20, 0x34 ; 52 534a: 59 e3 ldi r21, 0x39 ; 57 534c: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 5350: a3 01 movw r20, r6 5352: 92 01 movw r18, r4 5354: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 5358: 60 93 90 24 sts 0x2490, r22 ; 0x802490 535c: 70 93 91 24 sts 0x2491, r23 ; 0x802491 5360: 80 93 92 24 sts 0x2492, r24 ; 0x802492 5364: 90 93 93 24 sts 0x2493, r25 ; 0x802493 5368: 20 91 98 24 lds r18, 0x2498 ; 0x802498 536c: 30 91 99 24 lds r19, 0x2499 ; 0x802499 5370: 40 91 9a 24 lds r20, 0x249A ; 0x80249a 5374: 50 91 9b 24 lds r21, 0x249B ; 0x80249b 5378: 69 89 ldd r22, Y+17 ; 0x11 537a: 7a 89 ldd r23, Y+18 ; 0x12 537c: 8b 89 ldd r24, Y+19 ; 0x13 537e: 9c 89 ldd r25, Y+20 ; 0x14 5380: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 5384: 69 8b std Y+17, r22 ; 0x11 5386: 7a 8b std Y+18, r23 ; 0x12 5388: 8b 8b std Y+19, r24 ; 0x13 538a: 9c 8b std Y+20, r25 ; 0x14 538c: 20 91 94 24 lds r18, 0x2494 ; 0x802494 5390: 30 91 95 24 lds r19, 0x2495 ; 0x802495 5394: 40 91 96 24 lds r20, 0x2496 ; 0x802496 5398: 50 91 97 24 lds r21, 0x2497 ; 0x802497 539c: 69 8d ldd r22, Y+25 ; 0x19 539e: 7a 8d ldd r23, Y+26 ; 0x1a 53a0: 8b 8d ldd r24, Y+27 ; 0x1b 53a2: 9c 8d ldd r25, Y+28 ; 0x1c 53a4: 0e 94 d4 31 call 0x63a8 ; 0x63a8 <__addsf3> 53a8: 69 8f std Y+25, r22 ; 0x19 53aa: 7a 8f std Y+26, r23 ; 0x1a 53ac: 8b 8f std Y+27, r24 ; 0x1b 53ae: 9c 8f std Y+28, r25 ; 0x1c 53b0: 20 91 90 24 lds r18, 0x2490 ; 0x802490 53b4: 30 91 91 24 lds r19, 0x2491 ; 0x802491 53b8: 40 91 92 24 lds r20, 0x2492 ; 0x802492 53bc: 50 91 93 24 lds r21, 0x2493 ; 0x802493 53c0: 69 81 ldd r22, Y+1 ; 0x01 53c2: 7a 81 ldd r23, Y+2 ; 0x02 53c4: 8b 81 ldd r24, Y+3 ; 0x03 53c6: 9c 81 ldd r25, Y+4 ; 0x04 53c8: ef d7 rcall .+4062 ; 0x63a8 <__addsf3> 53ca: 69 83 std Y+1, r22 ; 0x01 53cc: 7a 83 std Y+2, r23 ; 0x02 53ce: 8b 83 std Y+3, r24 ; 0x03 53d0: 9c 83 std Y+4, r25 ; 0x04 53d2: 18 c0 rjmp .+48 ; 0x5404 53d4: 10 92 98 24 sts 0x2498, r1 ; 0x802498 53d8: 10 92 99 24 sts 0x2499, r1 ; 0x802499 53dc: 10 92 9a 24 sts 0x249A, r1 ; 0x80249a 53e0: 10 92 9b 24 sts 0x249B, r1 ; 0x80249b 53e4: 10 92 94 24 sts 0x2494, r1 ; 0x802494 53e8: 10 92 95 24 sts 0x2495, r1 ; 0x802495 53ec: 10 92 96 24 sts 0x2496, r1 ; 0x802496 53f0: 10 92 97 24 sts 0x2497, r1 ; 0x802497 53f4: 10 92 90 24 sts 0x2490, r1 ; 0x802490 53f8: 10 92 91 24 sts 0x2491, r1 ; 0x802491 53fc: 10 92 92 24 sts 0x2492, r1 ; 0x802492 5400: 10 92 93 24 sts 0x2493, r1 ; 0x802493 5404: 20 91 04 20 lds r18, 0x2004 ; 0x802004 5408: 30 91 05 20 lds r19, 0x2005 ; 0x802005 540c: 40 91 06 20 lds r20, 0x2006 ; 0x802006 5410: 50 91 07 20 lds r21, 0x2007 ; 0x802007 5414: 6d 89 ldd r22, Y+21 ; 0x15 5416: 7e 89 ldd r23, Y+22 ; 0x16 5418: 8f 89 ldd r24, Y+23 ; 0x17 541a: 98 8d ldd r25, Y+24 ; 0x18 541c: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 5420: 9b 01 movw r18, r22 5422: ac 01 movw r20, r24 5424: 69 89 ldd r22, Y+17 ; 0x11 5426: 7a 89 ldd r23, Y+18 ; 0x12 5428: 8b 89 ldd r24, Y+19 ; 0x13 542a: 9c 89 ldd r25, Y+20 ; 0x14 542c: bd d7 rcall .+3962 ; 0x63a8 <__addsf3> 542e: 69 8b std Y+17, r22 ; 0x11 5430: 7a 8b std Y+18, r23 ; 0x12 5432: 8b 8b std Y+19, r24 ; 0x13 5434: 9c 8b std Y+20, r25 ; 0x14 5436: 20 91 04 20 lds r18, 0x2004 ; 0x802004 543a: 30 91 05 20 lds r19, 0x2005 ; 0x802005 543e: 40 91 06 20 lds r20, 0x2006 ; 0x802006 5442: 50 91 07 20 lds r21, 0x2007 ; 0x802007 5446: c5 01 movw r24, r10 5448: b4 01 movw r22, r8 544a: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 544e: 9b 01 movw r18, r22 5450: ac 01 movw r20, r24 5452: 69 8d ldd r22, Y+25 ; 0x19 5454: 7a 8d ldd r23, Y+26 ; 0x1a 5456: 8b 8d ldd r24, Y+27 ; 0x1b 5458: 9c 8d ldd r25, Y+28 ; 0x1c 545a: a6 d7 rcall .+3916 ; 0x63a8 <__addsf3> 545c: 69 8f std Y+25, r22 ; 0x19 545e: 7a 8f std Y+26, r23 ; 0x1a 5460: 8b 8f std Y+27, r24 ; 0x1b 5462: 9c 8f std Y+28, r25 ; 0x1c 5464: 20 91 04 20 lds r18, 0x2004 ; 0x802004 5468: 30 91 05 20 lds r19, 0x2005 ; 0x802005 546c: 40 91 06 20 lds r20, 0x2006 ; 0x802006 5470: 50 91 07 20 lds r21, 0x2007 ; 0x802007 5474: c7 01 movw r24, r14 5476: b6 01 movw r22, r12 5478: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 547c: 9b 01 movw r18, r22 547e: ac 01 movw r20, r24 5480: 69 81 ldd r22, Y+1 ; 0x01 5482: 7a 81 ldd r23, Y+2 ; 0x02 5484: 8b 81 ldd r24, Y+3 ; 0x03 5486: 9c 81 ldd r25, Y+4 ; 0x04 5488: 8f d7 rcall .+3870 ; 0x63a8 <__addsf3> 548a: 69 83 std Y+1, r22 ; 0x01 548c: 7a 83 std Y+2, r23 ; 0x02 548e: 8b 83 std Y+3, r24 ; 0x03 5490: 9c 83 std Y+4, r25 ; 0x04 5492: 2a ef ldi r18, 0xFA ; 250 5494: 39 ec ldi r19, 0xC9 ; 201 5496: 44 eb ldi r20, 0xB4 ; 180 5498: 58 e3 ldi r21, 0x38 ; 56 549a: 69 89 ldd r22, Y+17 ; 0x11 549c: 7a 89 ldd r23, Y+18 ; 0x12 549e: 8b 89 ldd r24, Y+19 ; 0x13 54a0: 9c 89 ldd r25, Y+20 ; 0x14 54a2: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 54a6: 6d 83 std Y+5, r22 ; 0x05 54a8: 7e 83 std Y+6, r23 ; 0x06 54aa: 8f 83 std Y+7, r24 ; 0x07 54ac: 98 87 std Y+8, r25 ; 0x08 54ae: 2a ef ldi r18, 0xFA ; 250 54b0: 39 ec ldi r19, 0xC9 ; 201 54b2: 44 eb ldi r20, 0xB4 ; 180 54b4: 58 e3 ldi r21, 0x38 ; 56 54b6: 69 8d ldd r22, Y+25 ; 0x19 54b8: 7a 8d ldd r23, Y+26 ; 0x1a 54ba: 8b 8d ldd r24, Y+27 ; 0x1b 54bc: 9c 8d ldd r25, Y+28 ; 0x1c 54be: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 54c2: 69 87 std Y+9, r22 ; 0x09 54c4: 7a 87 std Y+10, r23 ; 0x0a 54c6: 8b 87 std Y+11, r24 ; 0x0b 54c8: 9c 87 std Y+12, r25 ; 0x0c 54ca: 2a ef ldi r18, 0xFA ; 250 54cc: 39 ec ldi r19, 0xC9 ; 201 54ce: 44 eb ldi r20, 0xB4 ; 180 54d0: 58 e3 ldi r21, 0x38 ; 56 54d2: 69 81 ldd r22, Y+1 ; 0x01 54d4: 7a 81 ldd r23, Y+2 ; 0x02 54d6: 8b 81 ldd r24, Y+3 ; 0x03 54d8: 9c 81 ldd r25, Y+4 ; 0x04 54da: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 54de: 6d 87 std Y+13, r22 ; 0x0d 54e0: 7e 87 std Y+14, r23 ; 0x0e 54e2: 8f 87 std Y+15, r24 ; 0x0f 54e4: 98 8b std Y+16, r25 ; 0x10 54e6: e0 90 00 20 lds r14, 0x2000 ; 0x802000 <__data_start> 54ea: f0 90 01 20 lds r15, 0x2001 ; 0x802001 <__data_start+0x1> 54ee: 00 91 02 20 lds r16, 0x2002 ; 0x802002 <__data_start+0x2> 54f2: 10 91 03 20 lds r17, 0x2003 ; 0x802003 <__data_start+0x3> 54f6: e9 8a std Y+17, r14 ; 0x11 54f8: fa 8a std Y+18, r15 ; 0x12 54fa: 0b 8b std Y+19, r16 ; 0x13 54fc: 1c 8b std Y+20, r17 ; 0x14 54fe: 80 90 a4 24 lds r8, 0x24A4 ; 0x8024a4 5502: 90 90 a5 24 lds r9, 0x24A5 ; 0x8024a5 5506: a0 90 a6 24 lds r10, 0x24A6 ; 0x8024a6 550a: b0 90 a7 24 lds r11, 0x24A7 ; 0x8024a7 550e: e0 90 a0 24 lds r14, 0x24A0 ; 0x8024a0 5512: f0 90 a1 24 lds r15, 0x24A1 ; 0x8024a1 5516: 00 91 a2 24 lds r16, 0x24A2 ; 0x8024a2 551a: 10 91 a3 24 lds r17, 0x24A3 ; 0x8024a3 551e: e9 8e std Y+25, r14 ; 0x19 5520: fa 8e std Y+26, r15 ; 0x1a 5522: 0b 8f std Y+27, r16 ; 0x1b 5524: 1c 8f std Y+28, r17 ; 0x1c 5526: 40 90 9c 24 lds r4, 0x249C ; 0x80249c 552a: 50 90 9d 24 lds r5, 0x249D ; 0x80249d 552e: 60 90 9e 24 lds r6, 0x249E ; 0x80249e 5532: 70 90 9f 24 lds r7, 0x249F ; 0x80249f 5536: c0 90 00 20 lds r12, 0x2000 ; 0x802000 <__data_start> 553a: d0 90 01 20 lds r13, 0x2001 ; 0x802001 <__data_start+0x1> 553e: e0 90 02 20 lds r14, 0x2002 ; 0x802002 <__data_start+0x2> 5542: f0 90 03 20 lds r15, 0x2003 ; 0x802003 <__data_start+0x3> 5546: c5 01 movw r24, r10 5548: b4 01 movw r22, r8 554a: 90 58 subi r25, 0x80 ; 128 554c: 2d 81 ldd r18, Y+5 ; 0x05 554e: 3e 81 ldd r19, Y+6 ; 0x06 5550: 4f 81 ldd r20, Y+7 ; 0x07 5552: 58 85 ldd r21, Y+8 ; 0x08 5554: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 5558: 69 83 std Y+1, r22 ; 0x01 555a: 7a 83 std Y+2, r23 ; 0x02 555c: 8b 83 std Y+3, r24 ; 0x03 555e: 9c 83 std Y+4, r25 ; 0x04 5560: 29 8d ldd r18, Y+25 ; 0x19 5562: 3a 8d ldd r19, Y+26 ; 0x1a 5564: 4b 8d ldd r20, Y+27 ; 0x1b 5566: 5c 8d ldd r21, Y+28 ; 0x1c 5568: 69 85 ldd r22, Y+9 ; 0x09 556a: 7a 85 ldd r23, Y+10 ; 0x0a 556c: 8b 85 ldd r24, Y+11 ; 0x0b 556e: 9c 85 ldd r25, Y+12 ; 0x0c 5570: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 5574: 9b 01 movw r18, r22 5576: ac 01 movw r20, r24 5578: 69 81 ldd r22, Y+1 ; 0x01 557a: 7a 81 ldd r23, Y+2 ; 0x02 557c: 8b 81 ldd r24, Y+3 ; 0x03 557e: 9c 81 ldd r25, Y+4 ; 0x04 5580: 12 d7 rcall .+3620 ; 0x63a6 <__subsf3> 5582: 69 83 std Y+1, r22 ; 0x01 5584: 7a 83 std Y+2, r23 ; 0x02 5586: 8b 83 std Y+3, r24 ; 0x03 5588: 9c 83 std Y+4, r25 ; 0x04 558a: a3 01 movw r20, r6 558c: 92 01 movw r18, r4 558e: 6d 85 ldd r22, Y+13 ; 0x0d 5590: 7e 85 ldd r23, Y+14 ; 0x0e 5592: 8f 85 ldd r24, Y+15 ; 0x0f 5594: 98 89 ldd r25, Y+16 ; 0x10 5596: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 559a: 9b 01 movw r18, r22 559c: ac 01 movw r20, r24 559e: 69 81 ldd r22, Y+1 ; 0x01 55a0: 7a 81 ldd r23, Y+2 ; 0x02 55a2: 8b 81 ldd r24, Y+3 ; 0x03 55a4: 9c 81 ldd r25, Y+4 ; 0x04 55a6: ff d6 rcall .+3582 ; 0x63a6 <__subsf3> 55a8: a7 01 movw r20, r14 55aa: 96 01 movw r18, r12 55ac: fd d6 rcall .+3578 ; 0x63a8 <__addsf3> 55ae: 60 93 00 20 sts 0x2000, r22 ; 0x802000 <__data_start> 55b2: 70 93 01 20 sts 0x2001, r23 ; 0x802001 <__data_start+0x1> 55b6: 80 93 02 20 sts 0x2002, r24 ; 0x802002 <__data_start+0x2> 55ba: 90 93 03 20 sts 0x2003, r25 ; 0x802003 <__data_start+0x3> 55be: 40 90 9c 24 lds r4, 0x249C ; 0x80249c 55c2: 50 90 9d 24 lds r5, 0x249D ; 0x80249d 55c6: 60 90 9e 24 lds r6, 0x249E ; 0x80249e 55ca: 70 90 9f 24 lds r7, 0x249F ; 0x80249f 55ce: c0 90 a4 24 lds r12, 0x24A4 ; 0x8024a4 55d2: d0 90 a5 24 lds r13, 0x24A5 ; 0x8024a5 55d6: e0 90 a6 24 lds r14, 0x24A6 ; 0x8024a6 55da: f0 90 a7 24 lds r15, 0x24A7 ; 0x8024a7 55de: 29 89 ldd r18, Y+17 ; 0x11 55e0: 3a 89 ldd r19, Y+18 ; 0x12 55e2: 4b 89 ldd r20, Y+19 ; 0x13 55e4: 5c 89 ldd r21, Y+20 ; 0x14 55e6: 6d 81 ldd r22, Y+5 ; 0x05 55e8: 7e 81 ldd r23, Y+6 ; 0x06 55ea: 8f 81 ldd r24, Y+7 ; 0x07 55ec: 98 85 ldd r25, Y+8 ; 0x08 55ee: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 55f2: 69 83 std Y+1, r22 ; 0x01 55f4: 7a 83 std Y+2, r23 ; 0x02 55f6: 8b 83 std Y+3, r24 ; 0x03 55f8: 9c 83 std Y+4, r25 ; 0x04 55fa: 29 8d ldd r18, Y+25 ; 0x19 55fc: 3a 8d ldd r19, Y+26 ; 0x1a 55fe: 4b 8d ldd r20, Y+27 ; 0x1b 5600: 5c 8d ldd r21, Y+28 ; 0x1c 5602: 6d 85 ldd r22, Y+13 ; 0x0d 5604: 7e 85 ldd r23, Y+14 ; 0x0e 5606: 8f 85 ldd r24, Y+15 ; 0x0f 5608: 98 89 ldd r25, Y+16 ; 0x10 560a: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 560e: 9b 01 movw r18, r22 5610: ac 01 movw r20, r24 5612: 69 81 ldd r22, Y+1 ; 0x01 5614: 7a 81 ldd r23, Y+2 ; 0x02 5616: 8b 81 ldd r24, Y+3 ; 0x03 5618: 9c 81 ldd r25, Y+4 ; 0x04 561a: c6 d6 rcall .+3468 ; 0x63a8 <__addsf3> 561c: 69 83 std Y+1, r22 ; 0x01 561e: 7a 83 std Y+2, r23 ; 0x02 5620: 8b 83 std Y+3, r24 ; 0x03 5622: 9c 83 std Y+4, r25 ; 0x04 5624: a3 01 movw r20, r6 5626: 92 01 movw r18, r4 5628: 69 85 ldd r22, Y+9 ; 0x09 562a: 7a 85 ldd r23, Y+10 ; 0x0a 562c: 8b 85 ldd r24, Y+11 ; 0x0b 562e: 9c 85 ldd r25, Y+12 ; 0x0c 5630: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 5634: 9b 01 movw r18, r22 5636: ac 01 movw r20, r24 5638: 69 81 ldd r22, Y+1 ; 0x01 563a: 7a 81 ldd r23, Y+2 ; 0x02 563c: 8b 81 ldd r24, Y+3 ; 0x03 563e: 9c 81 ldd r25, Y+4 ; 0x04 5640: b2 d6 rcall .+3428 ; 0x63a6 <__subsf3> 5642: a7 01 movw r20, r14 5644: 96 01 movw r18, r12 5646: b0 d6 rcall .+3424 ; 0x63a8 <__addsf3> 5648: 60 93 a4 24 sts 0x24A4, r22 ; 0x8024a4 564c: 70 93 a5 24 sts 0x24A5, r23 ; 0x8024a5 5650: 80 93 a6 24 sts 0x24A6, r24 ; 0x8024a6 5654: 90 93 a7 24 sts 0x24A7, r25 ; 0x8024a7 5658: 40 90 9c 24 lds r4, 0x249C ; 0x80249c 565c: 50 90 9d 24 lds r5, 0x249D ; 0x80249d 5660: 60 90 9e 24 lds r6, 0x249E ; 0x80249e 5664: 70 90 9f 24 lds r7, 0x249F ; 0x80249f 5668: c0 90 a0 24 lds r12, 0x24A0 ; 0x8024a0 566c: d0 90 a1 24 lds r13, 0x24A1 ; 0x8024a1 5670: e0 90 a2 24 lds r14, 0x24A2 ; 0x8024a2 5674: f0 90 a3 24 lds r15, 0x24A3 ; 0x8024a3 5678: 29 89 ldd r18, Y+17 ; 0x11 567a: 3a 89 ldd r19, Y+18 ; 0x12 567c: 4b 89 ldd r20, Y+19 ; 0x13 567e: 5c 89 ldd r21, Y+20 ; 0x14 5680: 69 85 ldd r22, Y+9 ; 0x09 5682: 7a 85 ldd r23, Y+10 ; 0x0a 5684: 8b 85 ldd r24, Y+11 ; 0x0b 5686: 9c 85 ldd r25, Y+12 ; 0x0c 5688: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 568c: 69 83 std Y+1, r22 ; 0x01 568e: 7a 83 std Y+2, r23 ; 0x02 5690: 8b 83 std Y+3, r24 ; 0x03 5692: 9c 83 std Y+4, r25 ; 0x04 5694: a5 01 movw r20, r10 5696: 94 01 movw r18, r8 5698: 6d 85 ldd r22, Y+13 ; 0x0d 569a: 7e 85 ldd r23, Y+14 ; 0x0e 569c: 8f 85 ldd r24, Y+15 ; 0x0f 569e: 98 89 ldd r25, Y+16 ; 0x10 56a0: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 56a4: 9b 01 movw r18, r22 56a6: ac 01 movw r20, r24 56a8: 69 81 ldd r22, Y+1 ; 0x01 56aa: 7a 81 ldd r23, Y+2 ; 0x02 56ac: 8b 81 ldd r24, Y+3 ; 0x03 56ae: 9c 81 ldd r25, Y+4 ; 0x04 56b0: 7a d6 rcall .+3316 ; 0x63a6 <__subsf3> 56b2: 69 83 std Y+1, r22 ; 0x01 56b4: 7a 83 std Y+2, r23 ; 0x02 56b6: 8b 83 std Y+3, r24 ; 0x03 56b8: 9c 83 std Y+4, r25 ; 0x04 56ba: a3 01 movw r20, r6 56bc: 92 01 movw r18, r4 56be: 6d 81 ldd r22, Y+5 ; 0x05 56c0: 7e 81 ldd r23, Y+6 ; 0x06 56c2: 8f 81 ldd r24, Y+7 ; 0x07 56c4: 98 85 ldd r25, Y+8 ; 0x08 56c6: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 56ca: 9b 01 movw r18, r22 56cc: ac 01 movw r20, r24 56ce: 69 81 ldd r22, Y+1 ; 0x01 56d0: 7a 81 ldd r23, Y+2 ; 0x02 56d2: 8b 81 ldd r24, Y+3 ; 0x03 56d4: 9c 81 ldd r25, Y+4 ; 0x04 56d6: 68 d6 rcall .+3280 ; 0x63a8 <__addsf3> 56d8: a7 01 movw r20, r14 56da: 96 01 movw r18, r12 56dc: 65 d6 rcall .+3274 ; 0x63a8 <__addsf3> 56de: 60 93 a0 24 sts 0x24A0, r22 ; 0x8024a0 56e2: 70 93 a1 24 sts 0x24A1, r23 ; 0x8024a1 56e6: 80 93 a2 24 sts 0x24A2, r24 ; 0x8024a2 56ea: 90 93 a3 24 sts 0x24A3, r25 ; 0x8024a3 56ee: c0 90 9c 24 lds r12, 0x249C ; 0x80249c 56f2: d0 90 9d 24 lds r13, 0x249D ; 0x80249d 56f6: e0 90 9e 24 lds r14, 0x249E ; 0x80249e 56fa: f0 90 9f 24 lds r15, 0x249F ; 0x80249f 56fe: 29 89 ldd r18, Y+17 ; 0x11 5700: 3a 89 ldd r19, Y+18 ; 0x12 5702: 4b 89 ldd r20, Y+19 ; 0x13 5704: 5c 89 ldd r21, Y+20 ; 0x14 5706: 6d 85 ldd r22, Y+13 ; 0x0d 5708: 7e 85 ldd r23, Y+14 ; 0x0e 570a: 8f 85 ldd r24, Y+15 ; 0x0f 570c: 98 89 ldd r25, Y+16 ; 0x10 570e: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 5712: 2b 01 movw r4, r22 5714: 3c 01 movw r6, r24 5716: a5 01 movw r20, r10 5718: 94 01 movw r18, r8 571a: 69 85 ldd r22, Y+9 ; 0x09 571c: 7a 85 ldd r23, Y+10 ; 0x0a 571e: 8b 85 ldd r24, Y+11 ; 0x0b 5720: 9c 85 ldd r25, Y+12 ; 0x0c 5722: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 5726: 9b 01 movw r18, r22 5728: ac 01 movw r20, r24 572a: c3 01 movw r24, r6 572c: b2 01 movw r22, r4 572e: 3c d6 rcall .+3192 ; 0x63a8 <__addsf3> 5730: 4b 01 movw r8, r22 5732: 5c 01 movw r10, r24 5734: 29 8d ldd r18, Y+25 ; 0x19 5736: 3a 8d ldd r19, Y+26 ; 0x1a 5738: 4b 8d ldd r20, Y+27 ; 0x1b 573a: 5c 8d ldd r21, Y+28 ; 0x1c 573c: 6d 81 ldd r22, Y+5 ; 0x05 573e: 7e 81 ldd r23, Y+6 ; 0x06 5740: 8f 81 ldd r24, Y+7 ; 0x07 5742: 98 85 ldd r25, Y+8 ; 0x08 5744: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 5748: 9b 01 movw r18, r22 574a: ac 01 movw r20, r24 574c: c5 01 movw r24, r10 574e: b4 01 movw r22, r8 5750: 2a d6 rcall .+3156 ; 0x63a6 <__subsf3> 5752: a7 01 movw r20, r14 5754: 96 01 movw r18, r12 5756: 28 d6 rcall .+3152 ; 0x63a8 <__addsf3> 5758: 60 93 9c 24 sts 0x249C, r22 ; 0x80249c 575c: 70 93 9d 24 sts 0x249D, r23 ; 0x80249d 5760: 80 93 9e 24 sts 0x249E, r24 ; 0x80249e 5764: 90 93 9f 24 sts 0x249F, r25 ; 0x80249f 5768: 60 91 00 20 lds r22, 0x2000 ; 0x802000 <__data_start> 576c: 70 91 01 20 lds r23, 0x2001 ; 0x802001 <__data_start+0x1> 5770: 80 91 02 20 lds r24, 0x2002 ; 0x802002 <__data_start+0x2> 5774: 90 91 03 20 lds r25, 0x2003 ; 0x802003 <__data_start+0x3> 5778: 20 91 00 20 lds r18, 0x2000 ; 0x802000 <__data_start> 577c: 30 91 01 20 lds r19, 0x2001 ; 0x802001 <__data_start+0x1> 5780: 40 91 02 20 lds r20, 0x2002 ; 0x802002 <__data_start+0x2> 5784: 50 91 03 20 lds r21, 0x2003 ; 0x802003 <__data_start+0x3> 5788: 80 90 a4 24 lds r8, 0x24A4 ; 0x8024a4 578c: 90 90 a5 24 lds r9, 0x24A5 ; 0x8024a5 5790: a0 90 a6 24 lds r10, 0x24A6 ; 0x8024a6 5794: b0 90 a7 24 lds r11, 0x24A7 ; 0x8024a7 5798: 40 90 a4 24 lds r4, 0x24A4 ; 0x8024a4 579c: 50 90 a5 24 lds r5, 0x24A5 ; 0x8024a5 57a0: 60 90 a6 24 lds r6, 0x24A6 ; 0x8024a6 57a4: 70 90 a7 24 lds r7, 0x24A7 ; 0x8024a7 57a8: e0 90 a0 24 lds r14, 0x24A0 ; 0x8024a0 57ac: f0 90 a1 24 lds r15, 0x24A1 ; 0x8024a1 57b0: 00 91 a2 24 lds r16, 0x24A2 ; 0x8024a2 57b4: 10 91 a3 24 lds r17, 0x24A3 ; 0x8024a3 57b8: ed 82 std Y+5, r14 ; 0x05 57ba: fe 82 std Y+6, r15 ; 0x06 57bc: 0f 83 std Y+7, r16 ; 0x07 57be: 18 87 std Y+8, r17 ; 0x08 57c0: e0 90 a0 24 lds r14, 0x24A0 ; 0x8024a0 57c4: f0 90 a1 24 lds r15, 0x24A1 ; 0x8024a1 57c8: 00 91 a2 24 lds r16, 0x24A2 ; 0x8024a2 57cc: 10 91 a3 24 lds r17, 0x24A3 ; 0x8024a3 57d0: e9 86 std Y+9, r14 ; 0x09 57d2: fa 86 std Y+10, r15 ; 0x0a 57d4: 0b 87 std Y+11, r16 ; 0x0b 57d6: 1c 87 std Y+12, r17 ; 0x0c 57d8: e0 90 9c 24 lds r14, 0x249C ; 0x80249c 57dc: f0 90 9d 24 lds r15, 0x249D ; 0x80249d 57e0: 00 91 9e 24 lds r16, 0x249E ; 0x80249e 57e4: 10 91 9f 24 lds r17, 0x249F ; 0x80249f 57e8: e9 82 std Y+1, r14 ; 0x01 57ea: fa 82 std Y+2, r15 ; 0x02 57ec: 0b 83 std Y+3, r16 ; 0x03 57ee: 1c 83 std Y+4, r17 ; 0x04 57f0: e0 90 9c 24 lds r14, 0x249C ; 0x80249c 57f4: f0 90 9d 24 lds r15, 0x249D ; 0x80249d 57f8: 00 91 9e 24 lds r16, 0x249E ; 0x80249e 57fc: 10 91 9f 24 lds r17, 0x249F ; 0x80249f 5800: ed 86 std Y+13, r14 ; 0x0d 5802: fe 86 std Y+14, r15 ; 0x0e 5804: 0f 87 std Y+15, r16 ; 0x0f 5806: 18 8b std Y+16, r17 ; 0x10 5808: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 580c: 6b 01 movw r12, r22 580e: 7c 01 movw r14, r24 5810: a3 01 movw r20, r6 5812: 92 01 movw r18, r4 5814: c5 01 movw r24, r10 5816: b4 01 movw r22, r8 5818: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 581c: 9b 01 movw r18, r22 581e: ac 01 movw r20, r24 5820: c7 01 movw r24, r14 5822: b6 01 movw r22, r12 5824: c1 d5 rcall .+2946 ; 0x63a8 <__addsf3> 5826: 4b 01 movw r8, r22 5828: 5c 01 movw r10, r24 582a: 29 85 ldd r18, Y+9 ; 0x09 582c: 3a 85 ldd r19, Y+10 ; 0x0a 582e: 4b 85 ldd r20, Y+11 ; 0x0b 5830: 5c 85 ldd r21, Y+12 ; 0x0c 5832: 6d 81 ldd r22, Y+5 ; 0x05 5834: 7e 81 ldd r23, Y+6 ; 0x06 5836: 8f 81 ldd r24, Y+7 ; 0x07 5838: 98 85 ldd r25, Y+8 ; 0x08 583a: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 583e: 9b 01 movw r18, r22 5840: ac 01 movw r20, r24 5842: c5 01 movw r24, r10 5844: b4 01 movw r22, r8 5846: b0 d5 rcall .+2912 ; 0x63a8 <__addsf3> 5848: 4b 01 movw r8, r22 584a: 5c 01 movw r10, r24 584c: 2d 85 ldd r18, Y+13 ; 0x0d 584e: 3e 85 ldd r19, Y+14 ; 0x0e 5850: 4f 85 ldd r20, Y+15 ; 0x0f 5852: 58 89 ldd r21, Y+16 ; 0x10 5854: 69 81 ldd r22, Y+1 ; 0x01 5856: 7a 81 ldd r23, Y+2 ; 0x02 5858: 8b 81 ldd r24, Y+3 ; 0x03 585a: 9c 81 ldd r25, Y+4 ; 0x04 585c: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 5860: 9b 01 movw r18, r22 5862: ac 01 movw r20, r24 5864: c5 01 movw r24, r10 5866: b4 01 movw r22, r8 5868: 9f d5 rcall .+2878 ; 0x63a8 <__addsf3> 586a: 8b 01 movw r16, r22 586c: 9c 01 movw r18, r24 586e: 35 95 asr r19 5870: 27 95 ror r18 5872: 17 95 ror r17 5874: 07 95 ror r16 5876: 0f 2e mov r0, r31 5878: ff ed ldi r31, 0xDF ; 223 587a: cf 2e mov r12, r31 587c: f9 e5 ldi r31, 0x59 ; 89 587e: df 2e mov r13, r31 5880: f7 e3 ldi r31, 0x37 ; 55 5882: ef 2e mov r14, r31 5884: ff e5 ldi r31, 0x5F ; 95 5886: ff 2e mov r15, r31 5888: f0 2d mov r31, r0 588a: c0 1a sub r12, r16 588c: d1 0a sbc r13, r17 588e: e2 0a sbc r14, r18 5890: f3 0a sbc r15, r19 5892: 20 e0 ldi r18, 0x00 ; 0 5894: 30 e0 ldi r19, 0x00 ; 0 5896: 40 e0 ldi r20, 0x00 ; 0 5898: 5f e3 ldi r21, 0x3F ; 63 589a: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 589e: a7 01 movw r20, r14 58a0: 96 01 movw r18, r12 58a2: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 58a6: a7 01 movw r20, r14 58a8: 96 01 movw r18, r12 58aa: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 58ae: 9b 01 movw r18, r22 58b0: ac 01 movw r20, r24 58b2: 60 e0 ldi r22, 0x00 ; 0 58b4: 70 e0 ldi r23, 0x00 ; 0 58b6: 80 ec ldi r24, 0xC0 ; 192 58b8: 9f e3 ldi r25, 0x3F ; 63 58ba: 75 d5 rcall .+2794 ; 0x63a6 <__subsf3> 58bc: a7 01 movw r20, r14 58be: 96 01 movw r18, r12 58c0: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 58c4: 6b 01 movw r12, r22 58c6: 7c 01 movw r14, r24 58c8: 60 91 00 20 lds r22, 0x2000 ; 0x802000 <__data_start> 58cc: 70 91 01 20 lds r23, 0x2001 ; 0x802001 <__data_start+0x1> 58d0: 80 91 02 20 lds r24, 0x2002 ; 0x802002 <__data_start+0x2> 58d4: 90 91 03 20 lds r25, 0x2003 ; 0x802003 <__data_start+0x3> 58d8: a7 01 movw r20, r14 58da: 96 01 movw r18, r12 58dc: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 58e0: 60 93 00 20 sts 0x2000, r22 ; 0x802000 <__data_start> 58e4: 70 93 01 20 sts 0x2001, r23 ; 0x802001 <__data_start+0x1> 58e8: 80 93 02 20 sts 0x2002, r24 ; 0x802002 <__data_start+0x2> 58ec: 90 93 03 20 sts 0x2003, r25 ; 0x802003 <__data_start+0x3> 58f0: 60 91 a4 24 lds r22, 0x24A4 ; 0x8024a4 58f4: 70 91 a5 24 lds r23, 0x24A5 ; 0x8024a5 58f8: 80 91 a6 24 lds r24, 0x24A6 ; 0x8024a6 58fc: 90 91 a7 24 lds r25, 0x24A7 ; 0x8024a7 5900: a7 01 movw r20, r14 5902: 96 01 movw r18, r12 5904: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 5908: 60 93 a4 24 sts 0x24A4, r22 ; 0x8024a4 590c: 70 93 a5 24 sts 0x24A5, r23 ; 0x8024a5 5910: 80 93 a6 24 sts 0x24A6, r24 ; 0x8024a6 5914: 90 93 a7 24 sts 0x24A7, r25 ; 0x8024a7 5918: 60 91 a0 24 lds r22, 0x24A0 ; 0x8024a0 591c: 70 91 a1 24 lds r23, 0x24A1 ; 0x8024a1 5920: 80 91 a2 24 lds r24, 0x24A2 ; 0x8024a2 5924: 90 91 a3 24 lds r25, 0x24A3 ; 0x8024a3 5928: a7 01 movw r20, r14 592a: 96 01 movw r18, r12 592c: 0e 94 a1 34 call 0x6942 ; 0x6942 <__mulsf3> 5930: 60 93 a0 24 sts 0x24A0, r22 ; 0x8024a0 5934: 70 93 a1 24 sts 0x24A1, r23 ; 0x8024a1 5938: 80 93 a2 24 sts 0x24A2, r24 ; 0x8024a2 593c: 90 93 a3 24 sts 0x24A3, r25 ; 0x8024a3 5940: 60 91 9c 24 lds r22, 0x249C ; 0x80249c 5944: 70 91 9d 24 lds r23, 0x249D ; 0x80249d 5948: 80 91 9e 24 lds r24, 0x249E ; 0x80249e 594c: 90 91 9f 24 lds r25, 0x249F ; 0x80249f 5950: a7 01 movw r20, r14 5952: 96 01 movw r18, r12 5954: f6 d7 rcall .+4076 ; 0x6942 <__mulsf3> 5956: 60 93 9c 24 sts 0x249C, r22 ; 0x80249c 595a: 70 93 9d 24 sts 0x249D, r23 ; 0x80249d 595e: 80 93 9e 24 sts 0x249E, r24 ; 0x80249e 5962: 90 93 9f 24 sts 0x249F, r25 ; 0x80249f 5966: c8 5a subi r28, 0xA8 ; 168 5968: df 4f sbci r29, 0xFF ; 255 596a: cd bf out 0x3d, r28 ; 61 596c: de bf out 0x3e, r29 ; 62 596e: df 91 pop r29 5970: cf 91 pop r28 5972: 1f 91 pop r17 5974: 0f 91 pop r16 5976: ff 90 pop r15 5978: ef 90 pop r14 597a: df 90 pop r13 597c: cf 90 pop r12 597e: bf 90 pop r11 5980: af 90 pop r10 5982: 9f 90 pop r9 5984: 8f 90 pop r8 5986: 7f 90 pop r7 5988: 6f 90 pop r6 598a: 5f 90 pop r5 598c: 4f 90 pop r4 598e: 3f 90 pop r3 5990: 2f 90 pop r2 5992: 08 95 ret 00005994 : 5994: 81 e0 ldi r24, 0x01 ; 1 5996: 80 93 ac 24 sts 0x24AC, r24 ; 0x8024ac 599a: 08 95 ret 0000599c : 599c: fc 01 movw r30, r24 599e: 83 81 ldd r24, Z+3 ; 0x03 59a0: a1 81 ldd r26, Z+1 ; 0x01 59a2: b2 81 ldd r27, Z+2 ; 0x02 59a4: 94 e0 ldi r25, 0x04 ; 4 59a6: 89 9f mul r24, r25 59a8: a0 0d add r26, r0 59aa: b1 1d adc r27, r1 59ac: 11 24 eor r1, r1 59ae: 1d 92 st X+, r1 59b0: 1d 92 st X+, r1 59b2: 1d 92 st X+, r1 59b4: 1c 92 st X, r1 59b6: 13 97 sbiw r26, 0x03 ; 3 59b8: 83 81 ldd r24, Z+3 ; 0x03 59ba: a1 81 ldd r26, Z+1 ; 0x01 59bc: b2 81 ldd r27, Z+2 ; 0x02 59be: 94 e0 ldi r25, 0x04 ; 4 59c0: 89 9f mul r24, r25 59c2: a0 0d add r26, r0 59c4: b1 1d adc r27, r1 59c6: 11 24 eor r1, r1 59c8: 4d 93 st X+, r20 59ca: 5d 93 st X+, r21 59cc: 6d 93 st X+, r22 59ce: 7c 93 st X, r23 59d0: 13 97 sbiw r26, 0x03 ; 3 59d2: 20 81 ld r18, Z 59d4: 83 81 ldd r24, Z+3 ; 0x03 59d6: 90 e0 ldi r25, 0x00 ; 0 59d8: 01 96 adiw r24, 0x01 ; 1 59da: 62 2f mov r22, r18 59dc: 70 e0 ldi r23, 0x00 ; 0 59de: 0e 94 1a 3a call 0x7434 ; 0x7434 <__divmodhi4> 59e2: 83 83 std Z+3, r24 ; 0x03 59e4: 84 81 ldd r24, Z+4 ; 0x04 59e6: 82 17 cp r24, r18 59e8: 10 f4 brcc .+4 ; 0x59ee 59ea: 8f 5f subi r24, 0xFF ; 255 59ec: 84 83 std Z+4, r24 ; 0x04 59ee: 08 95 ret 000059f0 : 59f0: 4f 92 push r4 59f2: 5f 92 push r5 59f4: 6f 92 push r6 59f6: 7f 92 push r7 59f8: 8f 92 push r8 59fa: 9f 92 push r9 59fc: af 92 push r10 59fe: bf 92 push r11 5a00: cf 92 push r12 5a02: df 92 push r13 5a04: ef 92 push r14 5a06: ff 92 push r15 5a08: 0f 93 push r16 5a0a: 1f 93 push r17 5a0c: cf 93 push r28 5a0e: df 93 push r29 5a10: fc 01 movw r30, r24 5a12: d4 81 ldd r29, Z+4 ; 0x04 5a14: dd 23 and r29, r29 5a16: 09 f4 brne .+2 ; 0x5a1a 5a18: 7c c0 rjmp .+248 ; 0x5b12 5a1a: b0 80 ld r11, Z 5a1c: db 15 cp r29, r11 5a1e: 39 f0 breq .+14 ; 0x5a2e 5a20: b1 10 cpse r11, r1 5a22: 53 c0 rjmp .+166 ; 0x5aca 5a24: 80 e0 ldi r24, 0x00 ; 0 5a26: c1 2c mov r12, r1 5a28: d1 2c mov r13, r1 5a2a: 76 01 movw r14, r12 5a2c: 63 c0 rjmp .+198 ; 0x5af4 5a2e: 01 81 ldd r16, Z+1 ; 0x01 5a30: 12 81 ldd r17, Z+2 ; 0x02 5a32: 78 01 movw r14, r16 5a34: c0 e0 ldi r28, 0x00 ; 0 5a36: 91 2c mov r9, r1 5a38: 81 2c mov r8, r1 5a3a: f7 01 movw r30, r14 5a3c: 41 90 ld r4, Z+ 5a3e: 51 90 ld r5, Z+ 5a40: 61 90 ld r6, Z+ 5a42: 71 90 ld r7, Z+ 5a44: 7f 01 movw r14, r30 5a46: f8 01 movw r30, r16 5a48: 84 e0 ldi r24, 0x04 ; 4 5a4a: 98 9e mul r9, r24 5a4c: e0 0d add r30, r0 5a4e: f1 1d adc r31, r1 5a50: 11 24 eor r1, r1 5a52: 20 81 ld r18, Z 5a54: 31 81 ldd r19, Z+1 ; 0x01 5a56: 42 81 ldd r20, Z+2 ; 0x02 5a58: 53 81 ldd r21, Z+3 ; 0x03 5a5a: c3 01 movw r24, r6 5a5c: b2 01 movw r22, r4 5a5e: 21 d7 rcall .+3650 ; 0x68a2 <__gesf2> 5a60: 18 16 cp r1, r24 5a62: 8c f0 brlt .+34 ; 0x5a86 5a64: f8 01 movw r30, r16 5a66: 84 e0 ldi r24, 0x04 ; 4 5a68: 88 9e mul r8, r24 5a6a: e0 0d add r30, r0 5a6c: f1 1d adc r31, r1 5a6e: 11 24 eor r1, r1 5a70: 20 81 ld r18, Z 5a72: 31 81 ldd r19, Z+1 ; 0x01 5a74: 42 81 ldd r20, Z+2 ; 0x02 5a76: 53 81 ldd r21, Z+3 ; 0x03 5a78: c3 01 movw r24, r6 5a7a: b2 01 movw r22, r4 5a7c: 72 d5 rcall .+2788 ; 0x6562 <__cmpsf2> 5a7e: 88 23 and r24, r24 5a80: 1c f4 brge .+6 ; 0x5a88 5a82: 8c 2e mov r8, r28 5a84: 01 c0 rjmp .+2 ; 0x5a88 5a86: 9c 2e mov r9, r28 5a88: cf 5f subi r28, 0xFF ; 255 5a8a: dc 13 cpse r29, r28 5a8c: d6 cf rjmp .-84 ; 0x5a3a 5a8e: a1 2c mov r10, r1 5a90: b1 2c mov r11, r1 5a92: c0 e0 ldi r28, 0x00 ; 0 5a94: c1 2c mov r12, r1 5a96: d1 2c mov r13, r1 5a98: 76 01 movw r14, r12 5a9a: 8c 16 cp r8, r28 5a9c: 71 f0 breq .+28 ; 0x5aba 5a9e: 9c 16 cp r9, r28 5aa0: 61 f0 breq .+24 ; 0x5aba 5aa2: f8 01 movw r30, r16 5aa4: ea 0d add r30, r10 5aa6: fb 1d adc r31, r11 5aa8: 20 81 ld r18, Z 5aaa: 31 81 ldd r19, Z+1 ; 0x01 5aac: 42 81 ldd r20, Z+2 ; 0x02 5aae: 53 81 ldd r21, Z+3 ; 0x03 5ab0: c7 01 movw r24, r14 5ab2: b6 01 movw r22, r12 5ab4: 79 d4 rcall .+2290 ; 0x63a8 <__addsf3> 5ab6: 6b 01 movw r12, r22 5ab8: 7c 01 movw r14, r24 5aba: cf 5f subi r28, 0xFF ; 255 5abc: e4 e0 ldi r30, 0x04 ; 4 5abe: ae 0e add r10, r30 5ac0: b1 1c adc r11, r1 5ac2: dc 13 cpse r29, r28 5ac4: ea cf rjmp .-44 ; 0x5a9a 5ac6: 82 e0 ldi r24, 0x02 ; 2 5ac8: 15 c0 rjmp .+42 ; 0x5af4 5aca: 01 81 ldd r16, Z+1 ; 0x01 5acc: 12 81 ldd r17, Z+2 ; 0x02 5ace: c0 e0 ldi r28, 0x00 ; 0 5ad0: c1 2c mov r12, r1 5ad2: d1 2c mov r13, r1 5ad4: 76 01 movw r14, r12 5ad6: f8 01 movw r30, r16 5ad8: 21 91 ld r18, Z+ 5ada: 31 91 ld r19, Z+ 5adc: 41 91 ld r20, Z+ 5ade: 51 91 ld r21, Z+ 5ae0: 8f 01 movw r16, r30 5ae2: c7 01 movw r24, r14 5ae4: b6 01 movw r22, r12 5ae6: 60 d4 rcall .+2240 ; 0x63a8 <__addsf3> 5ae8: 6b 01 movw r12, r22 5aea: 7c 01 movw r14, r24 5aec: cf 5f subi r28, 0xFF ; 255 5aee: bc 12 cpse r11, r28 5af0: f2 cf rjmp .-28 ; 0x5ad6 5af2: 80 e0 ldi r24, 0x00 ; 0 5af4: 6d 2f mov r22, r29 5af6: 70 e0 ldi r23, 0x00 ; 0 5af8: 68 1b sub r22, r24 5afa: 71 09 sbc r23, r1 5afc: 07 2e mov r0, r23 5afe: 00 0c add r0, r0 5b00: 88 0b sbc r24, r24 5b02: 99 0b sbc r25, r25 5b04: cd d5 rcall .+2970 ; 0x66a0 <__floatsisf> 5b06: 9b 01 movw r18, r22 5b08: ac 01 movw r20, r24 5b0a: c7 01 movw r24, r14 5b0c: b6 01 movw r22, r12 5b0e: 2d d5 rcall .+2650 ; 0x656a <__divsf3> 5b10: 03 c0 rjmp .+6 ; 0x5b18 5b12: 60 e0 ldi r22, 0x00 ; 0 5b14: 70 e0 ldi r23, 0x00 ; 0 5b16: cb 01 movw r24, r22 5b18: df 91 pop r29 5b1a: cf 91 pop r28 5b1c: 1f 91 pop r17 5b1e: 0f 91 pop r16 5b20: ff 90 pop r15 5b22: ef 90 pop r14 5b24: df 90 pop r13 5b26: cf 90 pop r12 5b28: bf 90 pop r11 5b2a: af 90 pop r10 5b2c: 9f 90 pop r9 5b2e: 8f 90 pop r8 5b30: 7f 90 pop r7 5b32: 6f 90 pop r6 5b34: 5f 90 pop r5 5b36: 4f 90 pop r4 5b38: 08 95 ret 00005b3a : 5b3a: fc 01 movw r30, r24 5b3c: 14 82 std Z+4, r1 ; 0x04 5b3e: 40 83 st Z, r20 5b40: 61 83 std Z+1, r22 ; 0x01 5b42: 72 83 std Z+2, r23 ; 0x02 5b44: 08 95 ret 00005b46 : 5b46: fc 01 movw r30, r24 5b48: 83 81 ldd r24, Z+3 ; 0x03 5b4a: a1 81 ldd r26, Z+1 ; 0x01 5b4c: b2 81 ldd r27, Z+2 ; 0x02 5b4e: 94 e0 ldi r25, 0x04 ; 4 5b50: 89 9f mul r24, r25 5b52: a0 0d add r26, r0 5b54: b1 1d adc r27, r1 5b56: 11 24 eor r1, r1 5b58: 1d 92 st X+, r1 5b5a: 1d 92 st X+, r1 5b5c: 1d 92 st X+, r1 5b5e: 1c 92 st X, r1 5b60: 13 97 sbiw r26, 0x03 ; 3 5b62: 83 81 ldd r24, Z+3 ; 0x03 5b64: a1 81 ldd r26, Z+1 ; 0x01 5b66: b2 81 ldd r27, Z+2 ; 0x02 5b68: 94 e0 ldi r25, 0x04 ; 4 5b6a: 89 9f mul r24, r25 5b6c: a0 0d add r26, r0 5b6e: b1 1d adc r27, r1 5b70: 11 24 eor r1, r1 5b72: 4d 93 st X+, r20 5b74: 5d 93 st X+, r21 5b76: 6d 93 st X+, r22 5b78: 7c 93 st X, r23 5b7a: 13 97 sbiw r26, 0x03 ; 3 5b7c: 20 81 ld r18, Z 5b7e: 83 81 ldd r24, Z+3 ; 0x03 5b80: 90 e0 ldi r25, 0x00 ; 0 5b82: 01 96 adiw r24, 0x01 ; 1 5b84: 62 2f mov r22, r18 5b86: 70 e0 ldi r23, 0x00 ; 0 5b88: 0e 94 1a 3a call 0x7434 ; 0x7434 <__divmodhi4> 5b8c: 83 83 std Z+3, r24 ; 0x03 5b8e: 84 81 ldd r24, Z+4 ; 0x04 5b90: 82 17 cp r24, r18 5b92: 10 f4 brcc .+4 ; 0x5b98 5b94: 8f 5f subi r24, 0xFF ; 255 5b96: 84 83 std Z+4, r24 ; 0x04 5b98: 08 95 ret 00005b9a : 5b9a: 4f 92 push r4 5b9c: 5f 92 push r5 5b9e: 6f 92 push r6 5ba0: 7f 92 push r7 5ba2: 8f 92 push r8 5ba4: 9f 92 push r9 5ba6: af 92 push r10 5ba8: bf 92 push r11 5baa: cf 92 push r12 5bac: df 92 push r13 5bae: ef 92 push r14 5bb0: ff 92 push r15 5bb2: 0f 93 push r16 5bb4: 1f 93 push r17 5bb6: cf 93 push r28 5bb8: df 93 push r29 5bba: fc 01 movw r30, r24 5bbc: d4 81 ldd r29, Z+4 ; 0x04 5bbe: dd 23 and r29, r29 5bc0: 09 f4 brne .+2 ; 0x5bc4 5bc2: 7c c0 rjmp .+248 ; 0x5cbc 5bc4: b0 80 ld r11, Z 5bc6: db 15 cp r29, r11 5bc8: 39 f0 breq .+14 ; 0x5bd8 5bca: b1 10 cpse r11, r1 5bcc: 53 c0 rjmp .+166 ; 0x5c74 5bce: 80 e0 ldi r24, 0x00 ; 0 5bd0: c1 2c mov r12, r1 5bd2: d1 2c mov r13, r1 5bd4: 76 01 movw r14, r12 5bd6: 63 c0 rjmp .+198 ; 0x5c9e 5bd8: 01 81 ldd r16, Z+1 ; 0x01 5bda: 12 81 ldd r17, Z+2 ; 0x02 5bdc: 78 01 movw r14, r16 5bde: c0 e0 ldi r28, 0x00 ; 0 5be0: 91 2c mov r9, r1 5be2: 81 2c mov r8, r1 5be4: f7 01 movw r30, r14 5be6: 41 90 ld r4, Z+ 5be8: 51 90 ld r5, Z+ 5bea: 61 90 ld r6, Z+ 5bec: 71 90 ld r7, Z+ 5bee: 7f 01 movw r14, r30 5bf0: f8 01 movw r30, r16 5bf2: 84 e0 ldi r24, 0x04 ; 4 5bf4: 98 9e mul r9, r24 5bf6: e0 0d add r30, r0 5bf8: f1 1d adc r31, r1 5bfa: 11 24 eor r1, r1 5bfc: 20 81 ld r18, Z 5bfe: 31 81 ldd r19, Z+1 ; 0x01 5c00: 42 81 ldd r20, Z+2 ; 0x02 5c02: 53 81 ldd r21, Z+3 ; 0x03 5c04: c3 01 movw r24, r6 5c06: b2 01 movw r22, r4 5c08: 4c d6 rcall .+3224 ; 0x68a2 <__gesf2> 5c0a: 18 16 cp r1, r24 5c0c: 8c f0 brlt .+34 ; 0x5c30 5c0e: f8 01 movw r30, r16 5c10: 84 e0 ldi r24, 0x04 ; 4 5c12: 88 9e mul r8, r24 5c14: e0 0d add r30, r0 5c16: f1 1d adc r31, r1 5c18: 11 24 eor r1, r1 5c1a: 20 81 ld r18, Z 5c1c: 31 81 ldd r19, Z+1 ; 0x01 5c1e: 42 81 ldd r20, Z+2 ; 0x02 5c20: 53 81 ldd r21, Z+3 ; 0x03 5c22: c3 01 movw r24, r6 5c24: b2 01 movw r22, r4 5c26: 9d d4 rcall .+2362 ; 0x6562 <__cmpsf2> 5c28: 88 23 and r24, r24 5c2a: 1c f4 brge .+6 ; 0x5c32 5c2c: 8c 2e mov r8, r28 5c2e: 01 c0 rjmp .+2 ; 0x5c32 5c30: 9c 2e mov r9, r28 5c32: cf 5f subi r28, 0xFF ; 255 5c34: dc 13 cpse r29, r28 5c36: d6 cf rjmp .-84 ; 0x5be4 5c38: a1 2c mov r10, r1 5c3a: b1 2c mov r11, r1 5c3c: c0 e0 ldi r28, 0x00 ; 0 5c3e: c1 2c mov r12, r1 5c40: d1 2c mov r13, r1 5c42: 76 01 movw r14, r12 5c44: 8c 16 cp r8, r28 5c46: 71 f0 breq .+28 ; 0x5c64 5c48: 9c 16 cp r9, r28 5c4a: 61 f0 breq .+24 ; 0x5c64 5c4c: f8 01 movw r30, r16 5c4e: ea 0d add r30, r10 5c50: fb 1d adc r31, r11 5c52: 20 81 ld r18, Z 5c54: 31 81 ldd r19, Z+1 ; 0x01 5c56: 42 81 ldd r20, Z+2 ; 0x02 5c58: 53 81 ldd r21, Z+3 ; 0x03 5c5a: c7 01 movw r24, r14 5c5c: b6 01 movw r22, r12 5c5e: a4 d3 rcall .+1864 ; 0x63a8 <__addsf3> 5c60: 6b 01 movw r12, r22 5c62: 7c 01 movw r14, r24 5c64: cf 5f subi r28, 0xFF ; 255 5c66: e4 e0 ldi r30, 0x04 ; 4 5c68: ae 0e add r10, r30 5c6a: b1 1c adc r11, r1 5c6c: dc 13 cpse r29, r28 5c6e: ea cf rjmp .-44 ; 0x5c44 5c70: 82 e0 ldi r24, 0x02 ; 2 5c72: 15 c0 rjmp .+42 ; 0x5c9e 5c74: 01 81 ldd r16, Z+1 ; 0x01 5c76: 12 81 ldd r17, Z+2 ; 0x02 5c78: c0 e0 ldi r28, 0x00 ; 0 5c7a: c1 2c mov r12, r1 5c7c: d1 2c mov r13, r1 5c7e: 76 01 movw r14, r12 5c80: f8 01 movw r30, r16 5c82: 21 91 ld r18, Z+ 5c84: 31 91 ld r19, Z+ 5c86: 41 91 ld r20, Z+ 5c88: 51 91 ld r21, Z+ 5c8a: 8f 01 movw r16, r30 5c8c: c7 01 movw r24, r14 5c8e: b6 01 movw r22, r12 5c90: 8b d3 rcall .+1814 ; 0x63a8 <__addsf3> 5c92: 6b 01 movw r12, r22 5c94: 7c 01 movw r14, r24 5c96: cf 5f subi r28, 0xFF ; 255 5c98: bc 12 cpse r11, r28 5c9a: f2 cf rjmp .-28 ; 0x5c80 5c9c: 80 e0 ldi r24, 0x00 ; 0 5c9e: 6d 2f mov r22, r29 5ca0: 70 e0 ldi r23, 0x00 ; 0 5ca2: 68 1b sub r22, r24 5ca4: 71 09 sbc r23, r1 5ca6: 07 2e mov r0, r23 5ca8: 00 0c add r0, r0 5caa: 88 0b sbc r24, r24 5cac: 99 0b sbc r25, r25 5cae: f8 d4 rcall .+2544 ; 0x66a0 <__floatsisf> 5cb0: 9b 01 movw r18, r22 5cb2: ac 01 movw r20, r24 5cb4: c7 01 movw r24, r14 5cb6: b6 01 movw r22, r12 5cb8: 58 d4 rcall .+2224 ; 0x656a <__divsf3> 5cba: 03 c0 rjmp .+6 ; 0x5cc2 5cbc: 60 e0 ldi r22, 0x00 ; 0 5cbe: 70 e0 ldi r23, 0x00 ; 0 5cc0: cb 01 movw r24, r22 5cc2: df 91 pop r29 5cc4: cf 91 pop r28 5cc6: 1f 91 pop r17 5cc8: 0f 91 pop r16 5cca: ff 90 pop r15 5ccc: ef 90 pop r14 5cce: df 90 pop r13 5cd0: cf 90 pop r12 5cd2: bf 90 pop r11 5cd4: af 90 pop r10 5cd6: 9f 90 pop r9 5cd8: 8f 90 pop r8 5cda: 7f 90 pop r7 5cdc: 6f 90 pop r6 5cde: 5f 90 pop r5 5ce0: 4f 90 pop r4 5ce2: 08 95 ret 00005ce4 : 5ce4: fc 01 movw r30, r24 5ce6: 14 82 std Z+4, r1 ; 0x04 5ce8: 40 83 st Z, r20 5cea: 61 83 std Z+1, r22 ; 0x01 5cec: 72 83 std Z+2, r23 ; 0x02 5cee: 08 95 ret 00005cf0 : 5cf0: 10 92 ac 24 sts 0x24AC, r1 ; 0x8024ac 5cf4: 20 e2 ldi r18, 0x20 ; 32 5cf6: 30 e0 ldi r19, 0x00 ; 0 5cf8: 42 e0 ldi r20, 0x02 ; 2 5cfa: 64 e0 ldi r22, 0x04 ; 4 5cfc: 8d ea ldi r24, 0xAD ; 173 5cfe: 94 e2 ldi r25, 0x24 ; 36 5d00: 0e 94 e7 12 call 0x25ce ; 0x25ce 5d04: 64 e6 ldi r22, 0x64 ; 100 5d06: 8d ea ldi r24, 0xAD ; 173 5d08: 94 e2 ldi r25, 0x24 ; 36 5d0a: 0e 94 c1 13 call 0x2782 ; 0x2782 5d0e: e0 91 ad 24 lds r30, 0x24AD ; 0x8024ad 5d12: f0 91 ae 24 lds r31, 0x24AE ; 0x8024ae 5d16: 86 81 ldd r24, Z+6 ; 0x06 5d18: 8c 7f andi r24, 0xFC ; 252 5d1a: 86 83 std Z+6, r24 ; 0x06 5d1c: 86 81 ldd r24, Z+6 ; 0x06 5d1e: 81 60 ori r24, 0x01 ; 1 5d20: 86 83 std Z+6, r24 ; 0x06 5d22: 6a ec ldi r22, 0xCA ; 202 5d24: 7c e2 ldi r23, 0x2C ; 44 5d26: cf 01 movw r24, r30 5d28: 0c 94 7b 0d jmp 0x1af6 ; 0x1af6 5d2c: 08 95 ret 00005d2e : 5d2e: 80 e0 ldi r24, 0x00 ; 0 5d30: 0c 94 29 16 jmp 0x2c52 ; 0x2c52 5d34: 08 95 ret 00005d36 : 5d36: 80 91 ac 24 lds r24, 0x24AC ; 0x8024ac 5d3a: 08 95 ret 00005d3c <__vector_16>: 5d3c: 1f 92 push r1 5d3e: 0f 92 push r0 5d40: 0f b6 in r0, 0x3f ; 63 5d42: 0f 92 push r0 5d44: 11 24 eor r1, r1 5d46: 08 b6 in r0, 0x38 ; 56 5d48: 0f 92 push r0 5d4a: 18 be out 0x38, r1 ; 56 5d4c: 2f 93 push r18 5d4e: 3f 93 push r19 5d50: 4f 93 push r20 5d52: 5f 93 push r21 5d54: 6f 93 push r22 5d56: 7f 93 push r23 5d58: 8f 93 push r24 5d5a: 9f 93 push r25 5d5c: af 93 push r26 5d5e: 20 91 a4 29 lds r18, 0x29A4 ; 0x8029a4 5d62: 30 91 a5 29 lds r19, 0x29A5 ; 0x8029a5 5d66: 40 91 a6 29 lds r20, 0x29A6 ; 0x8029a6 5d6a: 50 91 a7 29 lds r21, 0x29A7 ; 0x8029a7 5d6e: 60 91 a8 29 lds r22, 0x29A8 ; 0x8029a8 5d72: 70 91 a9 29 lds r23, 0x29A9 ; 0x8029a9 5d76: 80 91 aa 29 lds r24, 0x29AA ; 0x8029aa 5d7a: 90 91 ab 29 lds r25, 0x29AB ; 0x8029ab 5d7e: a1 e0 ldi r26, 0x01 ; 1 5d80: 0e 94 67 3a call 0x74ce ; 0x74ce <__adddi3_s8> 5d84: 20 93 a4 29 sts 0x29A4, r18 ; 0x8029a4 5d88: 30 93 a5 29 sts 0x29A5, r19 ; 0x8029a5 5d8c: 40 93 a6 29 sts 0x29A6, r20 ; 0x8029a6 5d90: 50 93 a7 29 sts 0x29A7, r21 ; 0x8029a7 5d94: 60 93 a8 29 sts 0x29A8, r22 ; 0x8029a8 5d98: 70 93 a9 29 sts 0x29A9, r23 ; 0x8029a9 5d9c: 80 93 aa 29 sts 0x29AA, r24 ; 0x8029aa 5da0: 90 93 ab 29 sts 0x29AB, r25 ; 0x8029ab 5da4: af 91 pop r26 5da6: 9f 91 pop r25 5da8: 8f 91 pop r24 5daa: 7f 91 pop r23 5dac: 6f 91 pop r22 5dae: 5f 91 pop r21 5db0: 4f 91 pop r20 5db2: 3f 91 pop r19 5db4: 2f 91 pop r18 5db6: 0f 90 pop r0 5db8: 08 be out 0x38, r0 ; 56 5dba: 0f 90 pop r0 5dbc: 0f be out 0x3f, r0 ; 63 5dbe: 0f 90 pop r0 5dc0: 1f 90 pop r1 5dc2: 18 95 reti 00005dc4 : 5dc4: 8f 92 push r8 5dc6: 9f 92 push r9 5dc8: af 92 push r10 5dca: bf 92 push r11 5dcc: cf 92 push r12 5dce: df 92 push r13 5dd0: ef 92 push r14 5dd2: ff 92 push r15 5dd4: 0f 93 push r16 5dd6: 1f 93 push r17 5dd8: cf 93 push r28 5dda: df 93 push r29 5ddc: fc 01 movw r30, r24 5dde: 01 90 ld r0, Z+ 5de0: 00 20 and r0, r0 5de2: e9 f7 brne .-6 ; 0x5dde 5de4: 31 97 sbiw r30, 0x01 ; 1 5de6: 7f 01 movw r14, r30 5de8: e8 1a sub r14, r24 5dea: f9 0a sbc r15, r25 5dec: 47 01 movw r8, r14 5dee: 1e 14 cp r1, r14 5df0: 1f 04 cpc r1, r15 5df2: 0c f0 brlt .+2 ; 0x5df6 5df4: 43 c0 rjmp .+134 ; 0x5e7c 5df6: 6c 01 movw r12, r24 5df8: 10 e0 ldi r17, 0x00 ; 0 5dfa: a1 2c mov r10, r1 5dfc: b1 2c mov r11, r1 5dfe: 00 e0 ldi r16, 0x00 ; 0 5e00: f6 01 movw r30, r12 5e02: e1 0f add r30, r17 5e04: f1 1d adc r31, r1 5e06: c0 81 ld r28, Z 5e08: 8c 2f mov r24, r28 5e0a: 0c 2e mov r0, r28 5e0c: 00 0c add r0, r0 5e0e: 99 0b sbc r25, r25 5e10: c0 97 sbiw r24, 0x30 ; 48 5e12: 0a 97 sbiw r24, 0x0a ; 10 5e14: 38 f0 brcs .+14 ; 0x5e24 5e16: cd 32 cpi r28, 0x2D ; 45 5e18: 21 f5 brne .+72 ; 0x5e62 5e1a: 81 e0 ldi r24, 0x01 ; 1 5e1c: e8 1a sub r14, r24 5e1e: f1 08 sbc r15, r1 5e20: 01 e0 ldi r16, 0x01 ; 1 5e22: 1f c0 rjmp .+62 ; 0x5e62 5e24: 81 e0 ldi r24, 0x01 ; 1 5e26: e8 1a sub r14, r24 5e28: f1 08 sbc r15, r1 5e2a: b7 01 movw r22, r14 5e2c: 0f 2c mov r0, r15 5e2e: 00 0c add r0, r0 5e30: 88 0b sbc r24, r24 5e32: 99 0b sbc r25, r25 5e34: 35 d4 rcall .+2154 ; 0x66a0 <__floatsisf> 5e36: 9b 01 movw r18, r22 5e38: ac 01 movw r20, r24 5e3a: 60 e0 ldi r22, 0x00 ; 0 5e3c: 70 e0 ldi r23, 0x00 ; 0 5e3e: 80 e2 ldi r24, 0x20 ; 32 5e40: 91 e4 ldi r25, 0x41 ; 65 5e42: e2 d5 rcall .+3012 ; 0x6a08 5e44: 2d d6 rcall .+3162 ; 0x6aa0 5e46: 0c 2e mov r0, r28 5e48: 00 0c add r0, r0 5e4a: dd 0b sbc r29, r29 5e4c: e0 97 sbiw r28, 0x30 ; 48 5e4e: f5 d3 rcall .+2026 ; 0x663a <__fixsfsi> 5e50: c6 9f mul r28, r22 5e52: 90 01 movw r18, r0 5e54: c7 9f mul r28, r23 5e56: 30 0d add r19, r0 5e58: d6 9f mul r29, r22 5e5a: 30 0d add r19, r0 5e5c: 11 24 eor r1, r1 5e5e: a2 0e add r10, r18 5e60: b3 1e adc r11, r19 5e62: 1f 5f subi r17, 0xFF ; 255 5e64: 81 2f mov r24, r17 5e66: 90 e0 ldi r25, 0x00 ; 0 5e68: 88 15 cp r24, r8 5e6a: 99 05 cpc r25, r9 5e6c: 4c f2 brlt .-110 ; 0x5e00 5e6e: 00 23 and r16, r16 5e70: 41 f0 breq .+16 ; 0x5e82 5e72: 88 27 eor r24, r24 5e74: 99 27 eor r25, r25 5e76: 8a 19 sub r24, r10 5e78: 9b 09 sbc r25, r11 5e7a: 04 c0 rjmp .+8 ; 0x5e84 5e7c: 80 e0 ldi r24, 0x00 ; 0 5e7e: 90 e0 ldi r25, 0x00 ; 0 5e80: 01 c0 rjmp .+2 ; 0x5e84 5e82: c5 01 movw r24, r10 5e84: df 91 pop r29 5e86: cf 91 pop r28 5e88: 1f 91 pop r17 5e8a: 0f 91 pop r16 5e8c: ff 90 pop r15 5e8e: ef 90 pop r14 5e90: df 90 pop r13 5e92: cf 90 pop r12 5e94: bf 90 pop r11 5e96: af 90 pop r10 5e98: 9f 90 pop r9 5e9a: 8f 90 pop r8 5e9c: 08 95 ret 00005e9e : static twi_options_t twi_conf = { .speed = TWI_SPEED, .speed_reg = TWI_BAUD(32000000, TWI_SPEED) }; twi_master_init(TWI_MASTER, &twi_conf); 5e9e: 68 e0 ldi r22, 0x08 ; 8 5ea0: 70 e2 ldi r23, 0x20 ; 32 5ea2: 80 eb ldi r24, 0xB0 ; 176 5ea4: 94 e0 ldi r25, 0x04 ; 4 5ea6: 0e 94 21 0f call 0x1e42 ; 0x1e42 * * \param twi Base address of the TWI instance. */ static inline void twi_master_enable(TWI_t *twi) { twi->MASTER.CTRLA |= TWI_MASTER_ENABLE_bm; 5eaa: e0 eb ldi r30, 0xB0 ; 176 5eac: f4 e0 ldi r31, 0x04 ; 4 5eae: 81 81 ldd r24, Z+1 ; 0x01 5eb0: 88 60 ori r24, 0x08 ; 8 5eb2: 81 83 std Z+1, r24 ; 0x01 twi_master_enable(TWI_MASTER); univ_pkt.no_wait = true; 5eb4: e4 ef ldi r30, 0xF4 ; 244 5eb6: f4 e2 ldi r31, 0x24 ; 36 5eb8: 81 e0 ldi r24, 0x01 ; 1 5eba: 82 87 std Z+10, r24 ; 0x0a univ_pkt.addr_length = 1; 5ebc: 81 e0 ldi r24, 0x01 ; 1 5ebe: 90 e0 ldi r25, 0x00 ; 0 5ec0: 84 83 std Z+4, r24 ; 0x04 5ec2: 95 83 std Z+5, r25 ; 0x05 univ_pkt.length = 1; 5ec4: 80 87 std Z+8, r24 ; 0x08 5ec6: 91 87 std Z+9, r25 ; 0x09 univ_pkt.buffer = buffer; 5ec8: 84 eb ldi r24, 0xB4 ; 180 5eca: 94 e2 ldi r25, 0x24 ; 36 5ecc: 86 83 std Z+6, r24 ; 0x06 5ece: 97 83 std Z+7, r25 ; 0x07 5ed0: 08 95 ret 00005ed2 : //swprintf(SWDEBUG, "TWI INIT SUCCESS\n"); } void twi_write(uint8_t slave_address, uint8_t regi, uint8_t data) { univ_pkt.chip = slave_address; 5ed2: e4 ef ldi r30, 0xF4 ; 244 5ed4: f4 e2 ldi r31, 0x24 ; 36 5ed6: 80 83 st Z, r24 univ_pkt.addr[0] = regi; 5ed8: 61 83 std Z+1, r22 ; 0x01 buffer[0] = data; 5eda: 40 93 b4 24 sts 0x24B4, r20 ; 0x8024b4 univ_pkt.length = 1; 5ede: 81 e0 ldi r24, 0x01 ; 1 5ee0: 90 e0 ldi r25, 0x00 ; 0 5ee2: 80 87 std Z+8, r24 ; 0x08 5ee4: 91 87 std Z+9, r25 ; 0x09 * \return STATUS_OK If all bytes were written, error code otherwise */ static inline status_code_t twi_master_write(TWI_t *twi, const twi_package_t *package) { return twi_master_transfer (twi, package, false); 5ee6: 40 e0 ldi r20, 0x00 ; 0 5ee8: bf 01 movw r22, r30 5eea: 80 eb ldi r24, 0xB0 ; 176 5eec: 94 e0 ldi r25, 0x04 ; 4 5eee: 0c 94 36 0f jmp 0x1e6c ; 0x1e6c 5ef2: 08 95 ret 00005ef4 : twi_master_write(TWI_MASTER, &univ_pkt); } void twi_read(uint8_t slave_address, uint8_t regi, uint8_t data_length, uint8_t* dataBuffer) { 5ef4: 0f 93 push r16 5ef6: 1f 93 push r17 5ef8: cf 93 push r28 5efa: c4 2f mov r28, r20 5efc: 89 01 movw r16, r18 univ_pkt.chip = slave_address; 5efe: e4 ef ldi r30, 0xF4 ; 244 5f00: f4 e2 ldi r31, 0x24 ; 36 5f02: 80 83 st Z, r24 univ_pkt.addr[0] = regi; 5f04: 61 83 std Z+1, r22 ; 0x01 univ_pkt.length = data_length; 5f06: 84 2f mov r24, r20 5f08: 90 e0 ldi r25, 0x00 ; 0 5f0a: 80 87 std Z+8, r24 ; 0x08 5f0c: 91 87 std Z+9, r25 ; 0x09 * \return STATUS_OK If all bytes were read, error code otherwise */ static inline status_code_t twi_master_read(TWI_t *twi, const twi_package_t *package) { return twi_master_transfer (twi, package, true); 5f0e: 41 e0 ldi r20, 0x01 ; 1 5f10: bf 01 movw r22, r30 5f12: 80 eb ldi r24, 0xB0 ; 176 5f14: 94 e0 ldi r25, 0x04 ; 4 5f16: 0e 94 36 0f call 0x1e6c ; 0x1e6c twi_master_read(TWI_MASTER, &univ_pkt); for(uint8_t x = 0; x < data_length; x++) 5f1a: cc 23 and r28, r28 5f1c: 81 f0 breq .+32 ; 0x5f3e 5f1e: a4 eb ldi r26, 0xB4 ; 180 5f20: b4 e2 ldi r27, 0x24 ; 36 5f22: f8 01 movw r30, r16 5f24: c1 50 subi r28, 0x01 ; 1 5f26: 2c 2f mov r18, r28 5f28: 30 e0 ldi r19, 0x00 ; 0 5f2a: 2f 5f subi r18, 0xFF ; 255 5f2c: 3f 4f sbci r19, 0xFF ; 255 5f2e: 20 0f add r18, r16 5f30: 31 1f adc r19, r17 { dataBuffer[x] = 0; 5f32: 10 82 st Z, r1 dataBuffer[x] = buffer[x]; 5f34: 8d 91 ld r24, X+ 5f36: 81 93 st Z+, r24 { univ_pkt.chip = slave_address; univ_pkt.addr[0] = regi; univ_pkt.length = data_length; twi_master_read(TWI_MASTER, &univ_pkt); for(uint8_t x = 0; x < data_length; x++) 5f38: e2 17 cp r30, r18 5f3a: f3 07 cpc r31, r19 5f3c: d1 f7 brne .-12 ; 0x5f32 { dataBuffer[x] = 0; dataBuffer[x] = buffer[x]; } } 5f3e: cf 91 pop r28 5f40: 1f 91 pop r17 5f42: 0f 91 pop r16 5f44: 08 95 ret 00005f46 : //usart_init_rs232(USART_GPS, &gps_uart_conf); //enable interrupts for incoming messages through usart usart_set_rx_interrupt_level(USART_XBEE, USART_INT_LVL_HI); //uncomment if file system is implemented with open logger //usart_set_rx_interrupt_level(USART_OPENLOGGER, USART_INT_LVL_HI); //usart_set_rx_interrupt_level(USART_GPS, USART_INT_LVL_MED); 5f46: ef 92 push r14 5f48: ff 92 push r15 5f4a: 0f 93 push r16 5f4c: 1f 93 push r17 5f4e: cf 93 push r28 5f50: df 93 push r29 5f52: cd b7 in r28, 0x3d ; 61 5f54: de b7 in r29, 0x3e ; 62 5f56: da 95 dec r29 5f58: cd bf out 0x3d, r28 ; 61 5f5a: de bf out 0x3e, r29 ; 62 5f5c: c6 5f subi r28, 0xF6 ; 246 5f5e: de 4f sbci r29, 0xFE ; 254 5f60: e8 80 ld r14, Y 5f62: f9 80 ldd r15, Y+1 ; 0x01 5f64: ca 50 subi r28, 0x0A ; 10 5f66: d1 40 sbci r29, 0x01 ; 1 //swprintf(SWDEBUG, "USART ONLINE\n"); } void sw_rs232_printf(USART_t* usart_channel, const char* text, ...) 5f68: ae 01 movw r20, r28 5f6a: 42 5f subi r20, 0xF2 ; 242 5f6c: 5e 4f sbci r21, 0xFE ; 254 5f6e: c4 5f subi r28, 0xF4 ; 244 5f70: de 4f sbci r29, 0xFE ; 254 5f72: 68 81 ld r22, Y 5f74: 79 81 ldd r23, Y+1 ; 0x01 5f76: cc 50 subi r28, 0x0C ; 12 5f78: d1 40 sbci r29, 0x01 ; 1 5f7a: ce 01 movw r24, r28 5f7c: 01 96 adiw r24, 0x01 ; 1 5f7e: 0e 94 9d 3b call 0x773a ; 0x773a { char write_buffer[256]; va_list args; va_start(args, text); vsprintf(write_buffer, text, args); 5f82: 69 81 ldd r22, Y+1 ; 0x01 5f84: 66 23 and r22, r22 5f86: 59 f0 breq .+22 ; 0x5f9e 5f88: 8e 01 movw r16, r28 5f8a: 0e 5f subi r16, 0xFE ; 254 5f8c: 1f 4f sbci r17, 0xFF ; 255 va_end(args); //must make const string because hacky syntax below only works with const string 5f8e: c7 01 movw r24, r14 5f90: 0e 94 9a 0f call 0x1f34 ; 0x1f34 void sw_rs232_printf(USART_t* usart_channel, const char* text, ...) { char write_buffer[256]; va_list args; va_start(args, text); vsprintf(write_buffer, text, args); 5f94: f8 01 movw r30, r16 5f96: 61 91 ld r22, Z+ 5f98: 8f 01 movw r16, r30 5f9a: 61 11 cpse r22, r1 5f9c: f8 cf rjmp .-16 ; 0x5f8e va_end(args); //must make const string because hacky syntax below only works with const string const char* p_wb = write_buffer; //this syntax is hacky and I don't like it, BUT it cuts down on code and saves me time. I'll clean it up if I have time 5f9e: d3 95 inc r29 5fa0: cd bf out 0x3d, r28 ; 61 5fa2: de bf out 0x3e, r29 ; 62 5fa4: df 91 pop r29 5fa6: cf 91 pop r28 5fa8: 1f 91 pop r17 5faa: 0f 91 pop r16 5fac: ff 90 pop r15 5fae: ef 90 pop r14 5fb0: 08 95 ret 00005fb2 : static void sw_rs232_printf(USART_t* usart_channel, const char* text, ...); void usart_comms_init() { //set our global swprintf function to use our local and private sw_rs232_printf function swprintf = &sw_rs232_printf; 5fb2: 83 ea ldi r24, 0xA3 ; 163 5fb4: 9f e2 ldi r25, 0x2F ; 47 5fb6: 80 93 3d 25 sts 0x253D, r24 ; 0x80253d 5fba: 90 93 3e 25 sts 0x253E, r25 ; 0x80253e .stopbits = true, .paritytype = USART_PMODE_DISABLED_gc, .charlength = USART_CHSIZE_8BIT_gc }; static usart_rs232_options_t openlogger_uart_conf = { 5fbe: 61 e1 ldi r22, 0x11 ; 17 5fc0: 70 e2 ldi r23, 0x20 ; 32 5fc2: 80 ea ldi r24, 0xA0 ; 160 5fc4: 98 e0 ldi r25, 0x08 ; 8 5fc6: 0e 94 bb 10 call 0x2176 ; 0x2176 5fca: e0 ea ldi r30, 0xA0 ; 160 5fcc: f8 e0 ldi r31, 0x08 ; 8 5fce: 83 81 ldd r24, Z+3 ; 0x03 5fd0: 80 63 ori r24, 0x30 ; 48 5fd2: 83 83 std Z+3, r24 ; 0x03 5fd4: 08 95 ret 00005fd6 <__vector_25>: //must make const string because hacky syntax below only works with const string const char* p_wb = write_buffer; //this syntax is hacky and I don't like it, BUT it cuts down on code and saves me time. I'll clean it up if I have time while(*p_wb) { usart_putchar(usart_channel, *p_wb++); 5fd6: 1f 92 push r1 5fd8: 0f 92 push r0 5fda: 0f b6 in r0, 0x3f ; 63 5fdc: 0f 92 push r0 5fde: 11 24 eor r1, r1 5fe0: 08 b6 in r0, 0x38 ; 56 5fe2: 0f 92 push r0 5fe4: 18 be out 0x38, r1 ; 56 5fe6: 09 b6 in r0, 0x39 ; 57 5fe8: 0f 92 push r0 5fea: 19 be out 0x39, r1 ; 57 5fec: 0b b6 in r0, 0x3b ; 59 5fee: 0f 92 push r0 5ff0: 1b be out 0x3b, r1 ; 59 5ff2: 2f 93 push r18 5ff4: 3f 93 push r19 5ff6: 4f 93 push r20 5ff8: 5f 93 push r21 5ffa: 6f 93 push r22 5ffc: 7f 93 push r23 5ffe: 8f 93 push r24 6000: 9f 93 push r25 6002: af 93 push r26 6004: bf 93 push r27 6006: ef 93 push r30 6008: ff 93 push r31 } 600a: 80 ea ldi r24, 0xA0 ; 160 600c: 98 e0 ldi r25, 0x08 ; 8 600e: 0e 94 a2 0f call 0x1f44 ; 0x1f44 6012: 80 93 ac 29 sts 0x29AC, r24 ; 0x8029ac } 6016: 80 91 ac 29 lds r24, 0x29AC ; 0x8029ac 601a: 80 36 cpi r24, 0x60 ; 96 601c: 11 f4 brne .+4 ; 0x6022 <__vector_25+0x4c> ISR(USARTC0_RXC_vect) { 601e: 0e 94 65 12 call 0x24ca ; 0x24ca xbee_response_temp = usart_getchar(USART_XBEE); //usart_putchar(USART_XBEE, '!'); if(xbee_response_temp == 'k') 6022: ff 91 pop r31 6024: ef 91 pop r30 6026: bf 91 pop r27 6028: af 91 pop r26 602a: 9f 91 pop r25 602c: 8f 91 pop r24 602e: 7f 91 pop r23 6030: 6f 91 pop r22 6032: 5f 91 pop r21 6034: 4f 91 pop r20 6036: 3f 91 pop r19 6038: 2f 91 pop r18 603a: 0f 90 pop r0 603c: 0b be out 0x3b, r0 ; 59 603e: 0f 90 pop r0 6040: 09 be out 0x39, r0 ; 57 6042: 0f 90 pop r0 6044: 08 be out 0x38, r0 ; 56 6046: 0f 90 pop r0 6048: 0f be out 0x3f, r0 ; 63 604a: 0f 90 pop r0 604c: 1f 90 pop r1 604e: 18 95 reti 00006050 : #include "ioport_compat.h" #if defined(IOPORT_XMEGA_COMPAT) void ioport_configure_port_pin(void *port, pin_mask_t pin_mask, port_pin_flags_t flags) { 6050: cf 93 push r28 6052: df 93 push r29 6054: fc 01 movw r30, r24 uint8_t pin; for (pin = 0; pin < 8; pin++) { if (pin_mask & (1 << pin)) { *((uint8_t *)port + PORT_PIN0CTRL + pin) = flags >> 8; 6056: 20 e0 ldi r18, 0x00 ; 0 6058: 30 e0 ldi r19, 0x00 ; 0 port_pin_flags_t flags) { uint8_t pin; for (pin = 0; pin < 8; pin++) { if (pin_mask & (1 << pin)) { 605a: c6 2f mov r28, r22 605c: d0 e0 ldi r29, 0x00 ; 0 605e: de 01 movw r26, r28 6060: 02 2e mov r0, r18 6062: 02 c0 rjmp .+4 ; 0x6068 6064: b5 95 asr r27 6066: a7 95 ror r26 6068: 0a 94 dec r0 606a: e2 f7 brpl .-8 ; 0x6064 606c: a0 fd sbrc r26, 0 *((uint8_t *)port + PORT_PIN0CTRL + pin) = flags >> 8; 606e: 50 8b std Z+16, r21 ; 0x10 6070: 2f 5f subi r18, 0xFF ; 255 6072: 3f 4f sbci r19, 0xFF ; 255 6074: 31 96 adiw r30, 0x01 ; 1 void ioport_configure_port_pin(void *port, pin_mask_t pin_mask, port_pin_flags_t flags) { uint8_t pin; for (pin = 0; pin < 8; pin++) { 6076: 28 30 cpi r18, 0x08 ; 8 6078: 31 05 cpc r19, r1 607a: 89 f7 brne .-30 ; 0x605e if (pin_mask & (1 << pin)) { *((uint8_t *)port + PORT_PIN0CTRL + pin) = flags >> 8; } } /* Select direction and initial pin state */ if (flags & IOPORT_DIR_OUTPUT) { 607c: 40 ff sbrs r20, 0 607e: 0a c0 rjmp .+20 ; 0x6094 if (flags & IOPORT_INIT_HIGH) { 6080: 41 ff sbrs r20, 1 6082: 03 c0 rjmp .+6 ; 0x608a *((uint8_t *)port + PORT_OUTSET) = pin_mask; 6084: fc 01 movw r30, r24 6086: 65 83 std Z+5, r22 ; 0x05 6088: 02 c0 rjmp .+4 ; 0x608e } else { *((uint8_t *)port + PORT_OUTCLR) = pin_mask; 608a: fc 01 movw r30, r24 608c: 66 83 std Z+6, r22 ; 0x06 } *((uint8_t *)port + PORT_DIRSET) = pin_mask; 608e: fc 01 movw r30, r24 6090: 61 83 std Z+1, r22 ; 0x01 6092: 02 c0 rjmp .+4 ; 0x6098 } else { *((uint8_t *)port + PORT_DIRCLR) = pin_mask; 6094: fc 01 movw r30, r24 6096: 62 83 std Z+2, r22 ; 0x02 } } 6098: df 91 pop r29 609a: cf 91 pop r28 609c: 08 95 ret 0000609e : * \param flags Bitmask of flags specifying additional configuration * parameters. */ static inline void ioport_configure_pin(port_pin_t pin, port_pin_flags_t flags) { ioport_configure_port_pin(arch_ioport_pin_to_base(pin), 609e: 43 e0 ldi r20, 0x03 ; 3 60a0: 50 e0 ldi r21, 0x00 ; 0 60a2: 68 e0 ldi r22, 0x08 ; 8 60a4: 80 ec ldi r24, 0xC0 ; 192 60a6: 97 e0 ldi r25, 0x07 ; 7 60a8: d3 df rcall .-90 ; 0x6050 60aa: 40 e0 ldi r20, 0x00 ; 0 60ac: 58 e1 ldi r21, 0x18 ; 24 60ae: 64 e0 ldi r22, 0x04 ; 4 60b0: 80 ec ldi r24, 0xC0 ; 192 60b2: 97 e0 ldi r25, 0x07 ; 7 60b4: cd cf rjmp .-102 ; 0x6050 60b6: 08 95 ret 000060b8 : { sw_state_manager = SW_STANDBY; sensor_ready_status = 0b11100000; //initialize all function pointers to avoid oopsies swprintf = NULL; //chip init 60b8: cf 92 push r12 60ba: df 92 push r13 60bc: ef 92 push r14 60be: ff 92 push r15 60c0: 6b 01 movw r12, r22 60c2: 7c 01 movw r14, r24 board_init(); 60c4: 0e 94 6c 1e call 0x3cd8 ; 0x3cd8 60c8: a7 01 movw r20, r14 60ca: 96 01 movw r18, r12 60cc: 6c d1 rcall .+728 ; 0x63a6 <__subsf3> 60ce: 60 93 a0 29 sts 0x29A0, r22 ; 0x8029a0 60d2: 70 93 a1 29 sts 0x29A1, r23 ; 0x8029a1 60d6: 80 93 a2 29 sts 0x29A2, r24 ; 0x8029a2 60da: 90 93 a3 29 sts 0x29A3, r25 ; 0x8029a3 sysclk_init(); 60de: ff 90 pop r15 60e0: ef 90 pop r14 60e2: df 90 pop r13 60e4: cf 90 pop r12 60e6: 08 95 ret 000060e8 : wdt_set_timeout_period(WDT_2S); 60e8: cf 93 push r28 60ea: df 93 push r29 //pin config 60ec: 10 92 30 25 sts 0x2530, r1 ; 0x802530 //mpu addr pin 60f0: 80 ee ldi r24, 0xE0 ; 224 60f2: 80 93 3f 25 sts 0x253F, r24 ; 0x80253f //xbee 60f6: 10 92 3b 25 sts 0x253B, r1 ; 0x80253b 60fa: 10 92 3c 25 sts 0x253C, r1 ; 0x80253c PORTC.DIR |= 0b00001000; 60fe: 10 92 3d 25 sts 0x253D, r1 ; 0x80253d 6102: 10 92 3e 25 sts 0x253E, r1 ; 0x80253e PORTC.OUT |= 0b00001000; //openlog 6106: cb df rcall .-106 ; 0x609e PORTF.DIR |= 0b00001000; 6108: 0e 94 24 02 call 0x448 ; 0x448 PORTF.OUT |= 0b00001000; 610c: 88 e0 ldi r24, 0x08 ; 8 610e: 0e 94 43 12 call 0x2486 ; 0x2486 sysclk_enable_peripheral_clock(TWI_MASTER); sysclk_enable_peripheral_clock(USART_XBEE); sysclk_enable_peripheral_clock(USART_GPS); sysclk_enable_peripheral_clock(USART_OPENLOGGER); 6112: e0 e4 ldi r30, 0x40 ; 64 6114: f6 e0 ldi r31, 0x06 ; 6 6116: 80 81 ld r24, Z 6118: 88 60 ori r24, 0x08 ; 8 611a: 80 83 st Z, r24 sysclk_enable_peripheral_clock(&ADCA); 611c: 84 81 ldd r24, Z+4 ; 0x04 611e: 88 60 ori r24, 0x08 ; 8 6120: 84 83 std Z+4, r24 ; 0x04 sysclk_enable_module(SYSCLK_PORT_C, SYSCLK_TC0); 6122: c0 ea ldi r28, 0xA0 ; 160 6124: d6 e0 ldi r29, 0x06 ; 6 6126: 88 81 ld r24, Y 6128: 88 60 ori r24, 0x08 ; 8 612a: 88 83 st Y, r24 612c: 8c 81 ldd r24, Y+4 ; 0x04 612e: 88 60 ori r24, 0x08 ; 8 6130: 8c 83 std Y+4, r24 ; 0x04 sysclk_enable_module(SYSCLK_PORT_E, SYSCLK_TWI); } #endif #ifdef TWIF else if (module == &TWIF) { sysclk_enable_module(SYSCLK_PORT_F, SYSCLK_TWI); 6132: 60 e4 ldi r22, 0x40 ; 64 6134: 86 e0 ldi r24, 0x06 ; 6 6136: 0e 94 59 02 call 0x4b2 ; 0x4b2 sysclk_enable_module(SYSCLK_PORT_F, SYSCLK_SPI); } #endif #ifdef USARTC0 else if (module == &USARTC0) { sysclk_enable_module(SYSCLK_PORT_C, SYSCLK_USART0); 613a: 60 e1 ldi r22, 0x10 ; 16 613c: 83 e0 ldi r24, 0x03 ; 3 613e: 0e 94 59 02 call 0x4b2 ; 0x4b2 sysclk_enable_module(SYSCLK_PORT_F, SYSCLK_USART0); } #endif #ifdef USARTC1 else if (module == &USARTC1) { sysclk_enable_module(SYSCLK_PORT_C, SYSCLK_USART1); 6142: 60 e2 ldi r22, 0x20 ; 32 6144: 83 e0 ldi r24, 0x03 ; 3 6146: 0e 94 59 02 call 0x4b2 ; 0x4b2 sysclk_enable_module(SYSCLK_PORT_E, SYSCLK_USART0); } #endif #ifdef USARTF0 else if (module == &USARTF0) { sysclk_enable_module(SYSCLK_PORT_F, SYSCLK_USART0); 614a: 60 e1 ldi r22, 0x10 ; 16 614c: 86 e0 ldi r24, 0x06 ; 6 614e: 0e 94 59 02 call 0x4b2 ; 0x4b2 sysclk_enable_module(SYSCLK_PORT_B, SYSCLK_AC); } #endif #ifdef ADCA else if (module == &ADCA) { sysclk_enable_module(SYSCLK_PORT_A, SYSCLK_ADC); 6152: 62 e0 ldi r22, 0x02 ; 2 6154: 81 e0 ldi r24, 0x01 ; 1 6156: 0e 94 59 02 call 0x4b2 ; 0x4b2 //initialize drivers usart_comms_init(); twi_comms_init(); adc_util_init(); skywave_util_init(); //enable interrupts at all levels 615a: 61 e0 ldi r22, 0x01 ; 1 615c: 83 e0 ldi r24, 0x03 ; 3 615e: 0e 94 59 02 call 0x4b2 ; 0x4b2 irq_initialize_vectors(); cpu_irq_enable(); //wdt_enable(); //initialize device drivers 6162: 88 e3 ldi r24, 0x38 ; 56 6164: 88 8b std Y+16, r24 ; 0x10 ds3231_init(); mpl3_init(); mpu_wai(); 6166: 89 8b std Y+17, r24 ; 0x11 delay_ms(2000); 6168: 24 df rcall .-440 ; 0x5fb2 616a: 99 de rcall .-718 ; 0x5e9e mpu_init(); 616c: 0e 94 a4 1e call 0x3d48 ; 0x3d48 //ntcle100_init(); sw_32hz_timer_init(); 6170: 87 e0 ldi r24, 0x07 ; 7 6172: 80 93 a2 00 sts 0x00A2, r24 ; 0x8000a2 <__TEXT_REGION_LENGTH__+0x7000a2> } 6176: 78 94 sei _Bool bSensorsReady() 6178: 0e 94 57 12 call 0x24ae ; 0x24ae { if(sensor_ready_status == 0xFF) 617c: 0e 94 77 14 call 0x28ee ; 0x28ee { 6180: 0e 94 ae 15 call 0x2b5c ; 0x2b5c return true; 6184: 0e 94 24 1c call 0x3848 ; 0x3848 } 6188: 0e 94 c3 1c call 0x3986 ; 0x3986 return false; 618c: 0e 94 7a 1e call 0x3cf4 ; 0x3cf4 } 6190: 0e 94 ea 14 call 0x29d4 ; 0x29d4 6194: ad dd rcall .-1190 ; 0x5cf0 6196: df 91 pop r29 6198: cf 91 pop r28 619a: 08 95 ret 0000619c
: static void sw_fs_standby_init(void); static void sw_fs_ascent_init(void); static void sw_fs_first_descent_init(void); typedef struct { 619c: a5 df rcall .-182 ; 0x60e8 case SW_FIRST_DESCENT: break; case SW_SEC_DESCENT: break; 619e: 0f 2e mov r0, r31 61a0: f3 e3 ldi r31, 0x33 ; 51 61a2: 8f 2e mov r8, r31 61a4: f0 e2 ldi r31, 0x20 ; 32 61a6: 9f 2e mov r9, r31 61a8: f0 2d mov r31, r0 61aa: 68 94 set 61ac: 44 24 eor r4, r4 61ae: 43 f8 bld r4, 3 61b0: 0f 2e mov r0, r31 61b2: f0 ea ldi r31, 0xA0 ; 160 61b4: 5f 2e mov r5, r31 61b6: f0 2d mov r31, r0 case SW_FINAL: break; }; } 61b8: 0f 2e mov r0, r31 61ba: f5 e0 ldi r31, 0x05 ; 5 61bc: cf 2e mov r12, r31 61be: f1 e2 ldi r31, 0x21 ; 33 61c0: df 2e mov r13, r31 61c2: f0 2d mov r31, r0 // void set_ntcle_off(float t_off) 61c4: 0f 2e mov r0, r31 61c6: f6 e3 ldi r31, 0x36 ; 54 61c8: ef 2e mov r14, r31 61ca: f1 e2 ldi r31, 0x21 ; 33 61cc: ff 2e mov r15, r31 61ce: f0 2d mov r31, r0 { temp_off = (get_ntcle_temp_now() - t_off); 61d0: 0e e5 ldi r16, 0x5E ; 94 61d2: 11 e2 ldi r17, 0x21 ; 33 } 61d4: 0f 2e mov r0, r31 61d6: ff ef ldi r31, 0xFF ; 255 61d8: 2f 2e mov r2, r31 61da: f0 e2 ldi r31, 0x20 ; 32 61dc: 3f 2e mov r3, r31 61de: f0 2d mov r31, r0 static sw_data_bank missionData; static _Bool bSensorsReady(void); 61e0: 0f 2e mov r0, r31 61e2: f3 eb ldi r31, 0xB3 ; 179 61e4: 6f 2e mov r6, r31 61e6: f1 e2 ldi r31, 0x21 ; 33 61e8: 7f 2e mov r7, r31 61ea: f0 2d mov r31, r0 { sw_time missionTime; mpl3_Data mpl3Data; ntcle100_Data ntcle100Data; uint16_t packet_count; }sw_data_bank; 61ec: a8 95 wdr 61ee: a3 dd rcall .-1210 ; 0x5d36 void handle_flight_state(void) 61f0: 81 11 cpse r24, r1 61f2: 9d dd rcall .-1222 ; 0x5d2e { switch(sw_state_manager) { 61f4: 0e 94 26 16 call 0x2c4c ; 0x2c4c 61f8: 81 11 cpse r24, r1 case SW_STANDBY: 61fa: 0e 94 8a 16 call 0x2d14 ; 0x2d14 break; case SW_ASCENT: 61fe: 0e 94 b8 17 call 0x2f70 ; 0x2f70 6202: 88 23 and r24, r24 6204: 29 f0 breq .+10 ; 0x6210 break; 6206: 0e 94 d6 1a call 0x35ac ; 0x35ac case SW_FIRST_DESCENT: 620a: 80 e0 ldi r24, 0x00 ; 0 620c: 0e 94 b5 17 call 0x2f6a ; 0x2f6a break; case SW_SEC_DESCENT: 6210: 0e 94 cb 14 call 0x2996 ; 0x2996 6214: 88 23 and r24, r24 6216: 51 f3 breq .-44 ; 0x61ec break; 6218: 9f 92 push r9 621a: 8f 92 push r8 621c: 4f 92 push r4 621e: 5f 92 push r5 6220: e0 91 3d 25 lds r30, 0x253D ; 0x80253d 6224: f0 91 3e 25 lds r31, 0x253E ; 0x80253e 6228: 19 95 eicall case SW_FINAL: 622a: 61 e0 ldi r22, 0x01 ; 1 622c: 8f ef ldi r24, 0xFF ; 255 622e: 94 e2 ldi r25, 0x24 ; 36 6230: 0e 94 f8 15 call 0x2bf0 ; 0x2bf0 6234: 61 e0 ldi r22, 0x01 ; 1 6236: 8a e0 ldi r24, 0x0A ; 10 6238: 95 e2 ldi r25, 0x25 ; 37 623a: 0e 94 d1 1d call 0x3ba2 ; 0x3ba2 break; 623e: 8c e1 ldi r24, 0x1C ; 28 6240: 95 e2 ldi r25, 0x25 ; 37 6242: 0e 94 e6 17 call 0x2fcc ; 0x2fcc }; 6246: 80 e1 ldi r24, 0x10 ; 16 6248: 95 e2 ldi r25, 0x25 ; 37 624a: 0e 94 c8 17 call 0x2f90 ; 0x2f90 } // 624e: cf ef ldi r28, 0xFF ; 255 6250: d4 e2 ldi r29, 0x24 ; 36 break; case SW_FINAL: break; }; } 6252: 8c 8d ldd r24, Y+28 ; 0x1c 6254: 8f 93 push r24 6256: 8b 8d ldd r24, Y+27 ; 0x1b 6258: 8f 93 push r24 625a: 8a 8d ldd r24, Y+26 ; 0x1a 625c: 8f 93 push r24 625e: 89 8d ldd r24, Y+25 ; 0x19 6260: 8f 93 push r24 6262: 88 8d ldd r24, Y+24 ; 0x18 6264: 8f 93 push r24 6266: 8f 89 ldd r24, Y+23 ; 0x17 6268: 8f 93 push r24 626a: 8e 89 ldd r24, Y+22 ; 0x16 626c: 8f 93 push r24 626e: 8d 89 ldd r24, Y+21 ; 0x15 6270: 8f 93 push r24 6272: 8c 89 ldd r24, Y+20 ; 0x14 6274: 8f 93 push r24 6276: 8b 89 ldd r24, Y+19 ; 0x13 6278: 8f 93 push r24 627a: 8a 89 ldd r24, Y+18 ; 0x12 627c: 8f 93 push r24 627e: 89 89 ldd r24, Y+17 ; 0x11 6280: 8f 93 push r24 6282: df 92 push r13 6284: cf 92 push r12 6286: 4f 92 push r4 6288: 5f 92 push r5 628a: e0 91 3d 25 lds r30, 0x253D ; 0x80253d 628e: f0 91 3e 25 lds r31, 0x253E ; 0x80253e 6292: 19 95 eicall // void set_ntcle_off(float t_off) 6294: 88 a5 ldd r24, Y+40 ; 0x28 6296: 8f 93 push r24 6298: 8f a1 ldd r24, Y+39 ; 0x27 629a: 8f 93 push r24 629c: 8e a1 ldd r24, Y+38 ; 0x26 629e: 8f 93 push r24 62a0: 8d a1 ldd r24, Y+37 ; 0x25 62a2: 8f 93 push r24 62a4: 8c a1 ldd r24, Y+36 ; 0x24 62a6: 8f 93 push r24 62a8: 8b a1 ldd r24, Y+35 ; 0x23 62aa: 8f 93 push r24 62ac: 8a a1 ldd r24, Y+34 ; 0x22 62ae: 8f 93 push r24 62b0: 89 a1 ldd r24, Y+33 ; 0x21 62b2: 8f 93 push r24 62b4: 88 a1 ldd r24, Y+32 ; 0x20 62b6: 8f 93 push r24 62b8: 8f 8d ldd r24, Y+31 ; 0x1f 62ba: 8f 93 push r24 62bc: 8e 8d ldd r24, Y+30 ; 0x1e 62be: 8f 93 push r24 62c0: 8d 8d ldd r24, Y+29 ; 0x1d 62c2: 8f 93 push r24 62c4: ff 92 push r15 62c6: ef 92 push r14 62c8: 4f 92 push r4 62ca: 5f 92 push r5 62cc: e0 91 3d 25 lds r30, 0x253D ; 0x80253d 62d0: f0 91 3e 25 lds r31, 0x253E ; 0x80253e 62d4: 19 95 eicall { temp_off = (get_ntcle_temp_now() - t_off); 62d6: 2d b7 in r18, 0x3d ; 61 62d8: 3e b7 in r19, 0x3e ; 62 62da: 2c 5d subi r18, 0xDC ; 220 62dc: 3f 4f sbci r19, 0xFF ; 255 62de: 2d bf out 0x3d, r18 ; 61 62e0: 3e bf out 0x3e, r19 ; 62 62e2: 88 85 ldd r24, Y+8 ; 0x08 62e4: 8f 93 push r24 62e6: 8f 81 ldd r24, Y+7 ; 0x07 62e8: 8f 93 push r24 62ea: 8e 81 ldd r24, Y+6 ; 0x06 62ec: 8f 93 push r24 62ee: 8d 81 ldd r24, Y+5 ; 0x05 62f0: 8f 93 push r24 62f2: 8c 81 ldd r24, Y+4 ; 0x04 62f4: 8f 93 push r24 62f6: 8b 81 ldd r24, Y+3 ; 0x03 62f8: 8f 93 push r24 62fa: 8a 81 ldd r24, Y+2 ; 0x02 62fc: 8f 93 push r24 62fe: 89 81 ldd r24, Y+1 ; 0x01 6300: 8f 93 push r24 6302: 1f 93 push r17 6304: 0f 93 push r16 6306: 4f 92 push r4 6308: 5f 92 push r5 630a: e0 91 3d 25 lds r30, 0x253D ; 0x80253d 630e: f0 91 3e 25 lds r31, 0x253E ; 0x80253e 6312: 19 95 eicall } 6314: 8c e2 ldi r24, 0x2C ; 44 6316: 95 e2 ldi r25, 0x25 ; 37 6318: 0e 94 91 14 call 0x2922 ; 0x2922 631c: e0 91 3d 25 lds r30, 0x253D ; 0x80253d 6320: f0 91 3e 25 lds r31, 0x253E ; 0x80253e 6324: 8d b7 in r24, 0x3d ; 61 6326: 9e b7 in r25, 0x3e ; 62 6328: 0c 96 adiw r24, 0x0c ; 12 632a: 8d bf out 0x3d, r24 ; 61 632c: 9e bf out 0x3e, r25 ; 62 632e: 88 a9 ldd r24, Y+48 ; 0x30 6330: 81 11 cpse r24, r1 6332: 05 c0 rjmp .+10 ; 0x633e 6334: 22 e0 ldi r18, 0x02 ; 2 6336: 31 e2 ldi r19, 0x21 ; 33 6338: 82 2f mov r24, r18 633a: 93 2f mov r25, r19 633c: 02 c0 rjmp .+4 ; 0x6342 633e: 82 2d mov r24, r2 6340: 93 2d mov r25, r3 6342: 9f 93 push r25 6344: 8f 93 push r24 static sw_data_bank missionData; 6346: af ef ldi r26, 0xFF ; 255 6348: b4 e2 ldi r27, 0x24 ; 36 // void set_ntcle_off(float t_off) { temp_off = (get_ntcle_temp_now() - t_off); } 634a: 9f 96 adiw r26, 0x2f ; 47 634c: 8c 91 ld r24, X 634e: 9f 97 sbiw r26, 0x2f ; 47 6350: 1f 92 push r1 6352: 8f 93 push r24 6354: 9e 96 adiw r26, 0x2e ; 46 6356: 8c 91 ld r24, X 6358: 9e 97 sbiw r26, 0x2e ; 46 635a: 1f 92 push r1 635c: 8f 93 push r24 635e: 9d 96 adiw r26, 0x2d ; 45 6360: 8c 91 ld r24, X 6362: 1f 92 push r1 6364: 8f 93 push r24 6366: 85 e8 ldi r24, 0x85 ; 133 6368: 91 e2 ldi r25, 0x21 ; 33 636a: 9f 93 push r25 636c: 8f 93 push r24 636e: 4f 92 push r4 6370: 5f 92 push r5 6372: 19 95 eicall static sw_data_bank missionData; static _Bool bSensorsReady(void); 6374: a0 90 3d 25 lds r10, 0x253D ; 0x80253d 6378: b0 90 3e 25 lds r11, 0x253E ; 0x80253e 637c: 0e 94 6c 1e call 0x3cd8 ; 0x3cd8 6380: 9f 93 push r25 6382: 8f 93 push r24 6384: 7f 93 push r23 6386: 6f 93 push r22 6388: 7f 92 push r7 638a: 6f 92 push r6 638c: 4f 92 push r4 638e: 5f 92 push r5 6390: f5 01 movw r30, r10 6392: 19 95 eicall int main(void) 6394: 0e 94 13 14 call 0x2826 ; 0x2826 6398: 2d b7 in r18, 0x3d ; 61 639a: 3e b7 in r19, 0x3e ; 62 639c: 2c 5e subi r18, 0xEC ; 236 639e: 3f 4f sbci r19, 0xFF ; 255 63a0: 2d bf out 0x3d, r18 ; 61 63a2: 3e bf out 0x3e, r19 ; 62 63a4: 23 cf rjmp .-442 ; 0x61ec 000063a6 <__subsf3>: 63a6: 50 58 subi r21, 0x80 ; 128 000063a8 <__addsf3>: 63a8: bb 27 eor r27, r27 63aa: aa 27 eor r26, r26 63ac: 0e d0 rcall .+28 ; 0x63ca <__addsf3x> 63ae: 3f c2 rjmp .+1150 ; 0x682e <__fp_round> 63b0: 30 d2 rcall .+1120 ; 0x6812 <__fp_pscA> 63b2: 30 f0 brcs .+12 ; 0x63c0 <__addsf3+0x18> 63b4: 35 d2 rcall .+1130 ; 0x6820 <__fp_pscB> 63b6: 20 f0 brcs .+8 ; 0x63c0 <__addsf3+0x18> 63b8: 31 f4 brne .+12 ; 0x63c6 <__addsf3+0x1e> 63ba: 9f 3f cpi r25, 0xFF ; 255 63bc: 11 f4 brne .+4 ; 0x63c2 <__addsf3+0x1a> 63be: 1e f4 brtc .+6 ; 0x63c6 <__addsf3+0x1e> 63c0: ef c1 rjmp .+990 ; 0x67a0 <__fp_nan> 63c2: 0e f4 brtc .+2 ; 0x63c6 <__addsf3+0x1e> 63c4: e0 95 com r30 63c6: e7 fb bst r30, 7 63c8: e5 c1 rjmp .+970 ; 0x6794 <__fp_inf> 000063ca <__addsf3x>: 63ca: e9 2f mov r30, r25 63cc: 41 d2 rcall .+1154 ; 0x6850 <__fp_split3> 63ce: 80 f3 brcs .-32 ; 0x63b0 <__addsf3+0x8> 63d0: ba 17 cp r27, r26 63d2: 62 07 cpc r22, r18 63d4: 73 07 cpc r23, r19 63d6: 84 07 cpc r24, r20 63d8: 95 07 cpc r25, r21 63da: 18 f0 brcs .+6 ; 0x63e2 <__addsf3x+0x18> 63dc: 71 f4 brne .+28 ; 0x63fa <__addsf3x+0x30> 63de: 9e f5 brtc .+102 ; 0x6446 <__addsf3x+0x7c> 63e0: 59 c2 rjmp .+1202 ; 0x6894 <__fp_zero> 63e2: 0e f4 brtc .+2 ; 0x63e6 <__addsf3x+0x1c> 63e4: e0 95 com r30 63e6: 0b 2e mov r0, r27 63e8: ba 2f mov r27, r26 63ea: a0 2d mov r26, r0 63ec: 0b 01 movw r0, r22 63ee: b9 01 movw r22, r18 63f0: 90 01 movw r18, r0 63f2: 0c 01 movw r0, r24 63f4: ca 01 movw r24, r20 63f6: a0 01 movw r20, r0 63f8: 11 24 eor r1, r1 63fa: ff 27 eor r31, r31 63fc: 59 1b sub r21, r25 63fe: 99 f0 breq .+38 ; 0x6426 <__addsf3x+0x5c> 6400: 59 3f cpi r21, 0xF9 ; 249 6402: 50 f4 brcc .+20 ; 0x6418 <__addsf3x+0x4e> 6404: 50 3e cpi r21, 0xE0 ; 224 6406: 68 f1 brcs .+90 ; 0x6462 <__addsf3x+0x98> 6408: 1a 16 cp r1, r26 640a: f0 40 sbci r31, 0x00 ; 0 640c: a2 2f mov r26, r18 640e: 23 2f mov r18, r19 6410: 34 2f mov r19, r20 6412: 44 27 eor r20, r20 6414: 58 5f subi r21, 0xF8 ; 248 6416: f3 cf rjmp .-26 ; 0x63fe <__addsf3x+0x34> 6418: 46 95 lsr r20 641a: 37 95 ror r19 641c: 27 95 ror r18 641e: a7 95 ror r26 6420: f0 40 sbci r31, 0x00 ; 0 6422: 53 95 inc r21 6424: c9 f7 brne .-14 ; 0x6418 <__addsf3x+0x4e> 6426: 7e f4 brtc .+30 ; 0x6446 <__addsf3x+0x7c> 6428: 1f 16 cp r1, r31 642a: ba 0b sbc r27, r26 642c: 62 0b sbc r22, r18 642e: 73 0b sbc r23, r19 6430: 84 0b sbc r24, r20 6432: ba f0 brmi .+46 ; 0x6462 <__addsf3x+0x98> 6434: 91 50 subi r25, 0x01 ; 1 6436: a1 f0 breq .+40 ; 0x6460 <__addsf3x+0x96> 6438: ff 0f add r31, r31 643a: bb 1f adc r27, r27 643c: 66 1f adc r22, r22 643e: 77 1f adc r23, r23 6440: 88 1f adc r24, r24 6442: c2 f7 brpl .-16 ; 0x6434 <__addsf3x+0x6a> 6444: 0e c0 rjmp .+28 ; 0x6462 <__addsf3x+0x98> 6446: ba 0f add r27, r26 6448: 62 1f adc r22, r18 644a: 73 1f adc r23, r19 644c: 84 1f adc r24, r20 644e: 48 f4 brcc .+18 ; 0x6462 <__addsf3x+0x98> 6450: 87 95 ror r24 6452: 77 95 ror r23 6454: 67 95 ror r22 6456: b7 95 ror r27 6458: f7 95 ror r31 645a: 9e 3f cpi r25, 0xFE ; 254 645c: 08 f0 brcs .+2 ; 0x6460 <__addsf3x+0x96> 645e: b3 cf rjmp .-154 ; 0x63c6 <__addsf3+0x1e> 6460: 93 95 inc r25 6462: 88 0f add r24, r24 6464: 08 f0 brcs .+2 ; 0x6468 <__addsf3x+0x9e> 6466: 99 27 eor r25, r25 6468: ee 0f add r30, r30 646a: 97 95 ror r25 646c: 87 95 ror r24 646e: 08 95 ret 00006470 : 6470: 9f 93 push r25 6472: 9f 77 andi r25, 0x7F ; 127 6474: ee e3 ldi r30, 0x3E ; 62 6476: 89 37 cpi r24, 0x79 ; 121 6478: 9e 07 cpc r25, r30 647a: 20 f4 brcc .+8 ; 0x6484 647c: ec e0 ldi r30, 0x0C ; 12 647e: f2 e0 ldi r31, 0x02 ; 2 6480: b7 d1 rcall .+878 ; 0x67f0 <__fp_powsodd> 6482: 09 c0 rjmp .+18 ; 0x6496 6484: 48 d1 rcall .+656 ; 0x6716 <__fp_arccos> 6486: 90 58 subi r25, 0x80 ; 128 6488: a2 ea ldi r26, 0xA2 ; 162 648a: 2a ed ldi r18, 0xDA ; 218 648c: 3f e0 ldi r19, 0x0F ; 15 648e: 49 ec ldi r20, 0xC9 ; 201 6490: 5f e3 ldi r21, 0x3F ; 63 6492: 9b df rcall .-202 ; 0x63ca <__addsf3x> 6494: cc d1 rcall .+920 ; 0x682e <__fp_round> 6496: 0f 90 pop r0 6498: 07 fc sbrc r0, 7 649a: 90 58 subi r25, 0x80 ; 128 649c: 08 95 ret 649e: b9 d1 rcall .+882 ; 0x6812 <__fp_pscA> 64a0: 58 f0 brcs .+22 ; 0x64b8 64a2: 80 e8 ldi r24, 0x80 ; 128 64a4: 91 e0 ldi r25, 0x01 ; 1 64a6: 09 f4 brne .+2 ; 0x64aa 64a8: 9e ef ldi r25, 0xFE ; 254 64aa: ba d1 rcall .+884 ; 0x6820 <__fp_pscB> 64ac: 28 f0 brcs .+10 ; 0x64b8 64ae: 40 e8 ldi r20, 0x80 ; 128 64b0: 51 e0 ldi r21, 0x01 ; 1 64b2: 59 f4 brne .+22 ; 0x64ca 64b4: 5e ef ldi r21, 0xFE ; 254 64b6: 09 c0 rjmp .+18 ; 0x64ca 64b8: 73 c1 rjmp .+742 ; 0x67a0 <__fp_nan> 64ba: ec c1 rjmp .+984 ; 0x6894 <__fp_zero> 000064bc : 64bc: e9 2f mov r30, r25 64be: e0 78 andi r30, 0x80 ; 128 64c0: c7 d1 rcall .+910 ; 0x6850 <__fp_split3> 64c2: 68 f3 brcs .-38 ; 0x649e 64c4: 09 2e mov r0, r25 64c6: 05 2a or r0, r21 64c8: c1 f3 breq .-16 ; 0x64ba 64ca: 26 17 cp r18, r22 64cc: 37 07 cpc r19, r23 64ce: 48 07 cpc r20, r24 64d0: 59 07 cpc r21, r25 64d2: 38 f0 brcs .+14 ; 0x64e2 64d4: 0e 2e mov r0, r30 64d6: 07 f8 bld r0, 7 64d8: e0 25 eor r30, r0 64da: 69 f0 breq .+26 ; 0x64f6 64dc: e0 25 eor r30, r0 64de: e0 64 ori r30, 0x40 ; 64 64e0: 0a c0 rjmp .+20 ; 0x64f6 64e2: ef 63 ori r30, 0x3F ; 63 64e4: 07 f8 bld r0, 7 64e6: 00 94 com r0 64e8: 07 fa bst r0, 7 64ea: db 01 movw r26, r22 64ec: b9 01 movw r22, r18 64ee: 9d 01 movw r18, r26 64f0: dc 01 movw r26, r24 64f2: ca 01 movw r24, r20 64f4: ad 01 movw r20, r26 64f6: ef 93 push r30 64f8: 47 d0 rcall .+142 ; 0x6588 <__divsf3_pse> 64fa: 99 d1 rcall .+818 ; 0x682e <__fp_round> 64fc: 0a d0 rcall .+20 ; 0x6512 64fe: 5f 91 pop r21 6500: 55 23 and r21, r21 6502: 31 f0 breq .+12 ; 0x6510 6504: 2b ed ldi r18, 0xDB ; 219 6506: 3f e0 ldi r19, 0x0F ; 15 6508: 49 e4 ldi r20, 0x49 ; 73 650a: 50 fd sbrc r21, 0 650c: 49 ec ldi r20, 0xC9 ; 201 650e: 4c cf rjmp .-360 ; 0x63a8 <__addsf3> 6510: 08 95 ret 00006512 : 6512: df 93 push r29 6514: dd 27 eor r29, r29 6516: b9 2f mov r27, r25 6518: bf 77 andi r27, 0x7F ; 127 651a: 40 e8 ldi r20, 0x80 ; 128 651c: 5f e3 ldi r21, 0x3F ; 63 651e: 16 16 cp r1, r22 6520: 17 06 cpc r1, r23 6522: 48 07 cpc r20, r24 6524: 5b 07 cpc r21, r27 6526: 10 f4 brcc .+4 ; 0x652c 6528: d9 2f mov r29, r25 652a: bf d1 rcall .+894 ; 0x68aa 652c: 9f 93 push r25 652e: 8f 93 push r24 6530: 7f 93 push r23 6532: 6f 93 push r22 6534: 17 d3 rcall .+1582 ; 0x6b64 6536: e0 e2 ldi r30, 0x20 ; 32 6538: f2 e0 ldi r31, 0x02 ; 2 653a: 35 d1 rcall .+618 ; 0x67a6 <__fp_powser> 653c: 78 d1 rcall .+752 ; 0x682e <__fp_round> 653e: 2f 91 pop r18 6540: 3f 91 pop r19 6542: 4f 91 pop r20 6544: 5f 91 pop r21 6546: 09 d2 rcall .+1042 ; 0x695a <__mulsf3x> 6548: dd 23 and r29, r29 654a: 49 f0 breq .+18 ; 0x655e 654c: 90 58 subi r25, 0x80 ; 128 654e: a2 ea ldi r26, 0xA2 ; 162 6550: 2a ed ldi r18, 0xDA ; 218 6552: 3f e0 ldi r19, 0x0F ; 15 6554: 49 ec ldi r20, 0xC9 ; 201 6556: 5f e3 ldi r21, 0x3F ; 63 6558: d0 78 andi r29, 0x80 ; 128 655a: 5d 27 eor r21, r29 655c: 36 df rcall .-404 ; 0x63ca <__addsf3x> 655e: df 91 pop r29 6560: 66 c1 rjmp .+716 ; 0x682e <__fp_round> 00006562 <__cmpsf2>: 6562: f4 d0 rcall .+488 ; 0x674c <__fp_cmp> 6564: 08 f4 brcc .+2 ; 0x6568 <__cmpsf2+0x6> 6566: 81 e0 ldi r24, 0x01 ; 1 6568: 08 95 ret 0000656a <__divsf3>: 656a: 0c d0 rcall .+24 ; 0x6584 <__divsf3x> 656c: 60 c1 rjmp .+704 ; 0x682e <__fp_round> 656e: 58 d1 rcall .+688 ; 0x6820 <__fp_pscB> 6570: 40 f0 brcs .+16 ; 0x6582 <__divsf3+0x18> 6572: 4f d1 rcall .+670 ; 0x6812 <__fp_pscA> 6574: 30 f0 brcs .+12 ; 0x6582 <__divsf3+0x18> 6576: 21 f4 brne .+8 ; 0x6580 <__divsf3+0x16> 6578: 5f 3f cpi r21, 0xFF ; 255 657a: 19 f0 breq .+6 ; 0x6582 <__divsf3+0x18> 657c: 0b c1 rjmp .+534 ; 0x6794 <__fp_inf> 657e: 51 11 cpse r21, r1 6580: 8a c1 rjmp .+788 ; 0x6896 <__fp_szero> 6582: 0e c1 rjmp .+540 ; 0x67a0 <__fp_nan> 00006584 <__divsf3x>: 6584: 65 d1 rcall .+714 ; 0x6850 <__fp_split3> 6586: 98 f3 brcs .-26 ; 0x656e <__divsf3+0x4> 00006588 <__divsf3_pse>: 6588: 99 23 and r25, r25 658a: c9 f3 breq .-14 ; 0x657e <__divsf3+0x14> 658c: 55 23 and r21, r21 658e: b1 f3 breq .-20 ; 0x657c <__divsf3+0x12> 6590: 95 1b sub r25, r21 6592: 55 0b sbc r21, r21 6594: bb 27 eor r27, r27 6596: aa 27 eor r26, r26 6598: 62 17 cp r22, r18 659a: 73 07 cpc r23, r19 659c: 84 07 cpc r24, r20 659e: 38 f0 brcs .+14 ; 0x65ae <__divsf3_pse+0x26> 65a0: 9f 5f subi r25, 0xFF ; 255 65a2: 5f 4f sbci r21, 0xFF ; 255 65a4: 22 0f add r18, r18 65a6: 33 1f adc r19, r19 65a8: 44 1f adc r20, r20 65aa: aa 1f adc r26, r26 65ac: a9 f3 breq .-22 ; 0x6598 <__divsf3_pse+0x10> 65ae: 33 d0 rcall .+102 ; 0x6616 <__divsf3_pse+0x8e> 65b0: 0e 2e mov r0, r30 65b2: 3a f0 brmi .+14 ; 0x65c2 <__divsf3_pse+0x3a> 65b4: e0 e8 ldi r30, 0x80 ; 128 65b6: 30 d0 rcall .+96 ; 0x6618 <__divsf3_pse+0x90> 65b8: 91 50 subi r25, 0x01 ; 1 65ba: 50 40 sbci r21, 0x00 ; 0 65bc: e6 95 lsr r30 65be: 00 1c adc r0, r0 65c0: ca f7 brpl .-14 ; 0x65b4 <__divsf3_pse+0x2c> 65c2: 29 d0 rcall .+82 ; 0x6616 <__divsf3_pse+0x8e> 65c4: fe 2f mov r31, r30 65c6: 27 d0 rcall .+78 ; 0x6616 <__divsf3_pse+0x8e> 65c8: 66 0f add r22, r22 65ca: 77 1f adc r23, r23 65cc: 88 1f adc r24, r24 65ce: bb 1f adc r27, r27 65d0: 26 17 cp r18, r22 65d2: 37 07 cpc r19, r23 65d4: 48 07 cpc r20, r24 65d6: ab 07 cpc r26, r27 65d8: b0 e8 ldi r27, 0x80 ; 128 65da: 09 f0 breq .+2 ; 0x65de <__divsf3_pse+0x56> 65dc: bb 0b sbc r27, r27 65de: 80 2d mov r24, r0 65e0: bf 01 movw r22, r30 65e2: ff 27 eor r31, r31 65e4: 93 58 subi r25, 0x83 ; 131 65e6: 5f 4f sbci r21, 0xFF ; 255 65e8: 2a f0 brmi .+10 ; 0x65f4 <__divsf3_pse+0x6c> 65ea: 9e 3f cpi r25, 0xFE ; 254 65ec: 51 05 cpc r21, r1 65ee: 68 f0 brcs .+26 ; 0x660a <__divsf3_pse+0x82> 65f0: d1 c0 rjmp .+418 ; 0x6794 <__fp_inf> 65f2: 51 c1 rjmp .+674 ; 0x6896 <__fp_szero> 65f4: 5f 3f cpi r21, 0xFF ; 255 65f6: ec f3 brlt .-6 ; 0x65f2 <__divsf3_pse+0x6a> 65f8: 98 3e cpi r25, 0xE8 ; 232 65fa: dc f3 brlt .-10 ; 0x65f2 <__divsf3_pse+0x6a> 65fc: 86 95 lsr r24 65fe: 77 95 ror r23 6600: 67 95 ror r22 6602: b7 95 ror r27 6604: f7 95 ror r31 6606: 9f 5f subi r25, 0xFF ; 255 6608: c9 f7 brne .-14 ; 0x65fc <__divsf3_pse+0x74> 660a: 88 0f add r24, r24 660c: 91 1d adc r25, r1 660e: 96 95 lsr r25 6610: 87 95 ror r24 6612: 97 f9 bld r25, 7 6614: 08 95 ret 6616: e1 e0 ldi r30, 0x01 ; 1 6618: 66 0f add r22, r22 661a: 77 1f adc r23, r23 661c: 88 1f adc r24, r24 661e: bb 1f adc r27, r27 6620: 62 17 cp r22, r18 6622: 73 07 cpc r23, r19 6624: 84 07 cpc r24, r20 6626: ba 07 cpc r27, r26 6628: 20 f0 brcs .+8 ; 0x6632 <__divsf3_pse+0xaa> 662a: 62 1b sub r22, r18 662c: 73 0b sbc r23, r19 662e: 84 0b sbc r24, r20 6630: ba 0b sbc r27, r26 6632: ee 1f adc r30, r30 6634: 88 f7 brcc .-30 ; 0x6618 <__divsf3_pse+0x90> 6636: e0 95 com r30 6638: 08 95 ret 0000663a <__fixsfsi>: 663a: 04 d0 rcall .+8 ; 0x6644 <__fixunssfsi> 663c: 68 94 set 663e: b1 11 cpse r27, r1 6640: 2a c1 rjmp .+596 ; 0x6896 <__fp_szero> 6642: 08 95 ret 00006644 <__fixunssfsi>: 6644: 0d d1 rcall .+538 ; 0x6860 <__fp_splitA> 6646: 88 f0 brcs .+34 ; 0x666a <__fixunssfsi+0x26> 6648: 9f 57 subi r25, 0x7F ; 127 664a: 90 f0 brcs .+36 ; 0x6670 <__fixunssfsi+0x2c> 664c: b9 2f mov r27, r25 664e: 99 27 eor r25, r25 6650: b7 51 subi r27, 0x17 ; 23 6652: a0 f0 brcs .+40 ; 0x667c <__fixunssfsi+0x38> 6654: d1 f0 breq .+52 ; 0x668a <__fixunssfsi+0x46> 6656: 66 0f add r22, r22 6658: 77 1f adc r23, r23 665a: 88 1f adc r24, r24 665c: 99 1f adc r25, r25 665e: 1a f0 brmi .+6 ; 0x6666 <__fixunssfsi+0x22> 6660: ba 95 dec r27 6662: c9 f7 brne .-14 ; 0x6656 <__fixunssfsi+0x12> 6664: 12 c0 rjmp .+36 ; 0x668a <__fixunssfsi+0x46> 6666: b1 30 cpi r27, 0x01 ; 1 6668: 81 f0 breq .+32 ; 0x668a <__fixunssfsi+0x46> 666a: 14 d1 rcall .+552 ; 0x6894 <__fp_zero> 666c: b1 e0 ldi r27, 0x01 ; 1 666e: 08 95 ret 6670: 11 c1 rjmp .+546 ; 0x6894 <__fp_zero> 6672: 67 2f mov r22, r23 6674: 78 2f mov r23, r24 6676: 88 27 eor r24, r24 6678: b8 5f subi r27, 0xF8 ; 248 667a: 39 f0 breq .+14 ; 0x668a <__fixunssfsi+0x46> 667c: b9 3f cpi r27, 0xF9 ; 249 667e: cc f3 brlt .-14 ; 0x6672 <__fixunssfsi+0x2e> 6680: 86 95 lsr r24 6682: 77 95 ror r23 6684: 67 95 ror r22 6686: b3 95 inc r27 6688: d9 f7 brne .-10 ; 0x6680 <__fixunssfsi+0x3c> 668a: 3e f4 brtc .+14 ; 0x669a <__fixunssfsi+0x56> 668c: 90 95 com r25 668e: 80 95 com r24 6690: 70 95 com r23 6692: 61 95 neg r22 6694: 7f 4f sbci r23, 0xFF ; 255 6696: 8f 4f sbci r24, 0xFF ; 255 6698: 9f 4f sbci r25, 0xFF ; 255 669a: 08 95 ret 0000669c <__floatunsisf>: 669c: e8 94 clt 669e: 09 c0 rjmp .+18 ; 0x66b2 <__floatsisf+0x12> 000066a0 <__floatsisf>: 66a0: 97 fb bst r25, 7 66a2: 3e f4 brtc .+14 ; 0x66b2 <__floatsisf+0x12> 66a4: 90 95 com r25 66a6: 80 95 com r24 66a8: 70 95 com r23 66aa: 61 95 neg r22 66ac: 7f 4f sbci r23, 0xFF ; 255 66ae: 8f 4f sbci r24, 0xFF ; 255 66b0: 9f 4f sbci r25, 0xFF ; 255 66b2: 99 23 and r25, r25 66b4: a9 f0 breq .+42 ; 0x66e0 <__floatsisf+0x40> 66b6: f9 2f mov r31, r25 66b8: 96 e9 ldi r25, 0x96 ; 150 66ba: bb 27 eor r27, r27 66bc: 93 95 inc r25 66be: f6 95 lsr r31 66c0: 87 95 ror r24 66c2: 77 95 ror r23 66c4: 67 95 ror r22 66c6: b7 95 ror r27 66c8: f1 11 cpse r31, r1 66ca: f8 cf rjmp .-16 ; 0x66bc <__floatsisf+0x1c> 66cc: fa f4 brpl .+62 ; 0x670c <__floatsisf+0x6c> 66ce: bb 0f add r27, r27 66d0: 11 f4 brne .+4 ; 0x66d6 <__floatsisf+0x36> 66d2: 60 ff sbrs r22, 0 66d4: 1b c0 rjmp .+54 ; 0x670c <__floatsisf+0x6c> 66d6: 6f 5f subi r22, 0xFF ; 255 66d8: 7f 4f sbci r23, 0xFF ; 255 66da: 8f 4f sbci r24, 0xFF ; 255 66dc: 9f 4f sbci r25, 0xFF ; 255 66de: 16 c0 rjmp .+44 ; 0x670c <__floatsisf+0x6c> 66e0: 88 23 and r24, r24 66e2: 11 f0 breq .+4 ; 0x66e8 <__floatsisf+0x48> 66e4: 96 e9 ldi r25, 0x96 ; 150 66e6: 11 c0 rjmp .+34 ; 0x670a <__floatsisf+0x6a> 66e8: 77 23 and r23, r23 66ea: 21 f0 breq .+8 ; 0x66f4 <__floatsisf+0x54> 66ec: 9e e8 ldi r25, 0x8E ; 142 66ee: 87 2f mov r24, r23 66f0: 76 2f mov r23, r22 66f2: 05 c0 rjmp .+10 ; 0x66fe <__floatsisf+0x5e> 66f4: 66 23 and r22, r22 66f6: 71 f0 breq .+28 ; 0x6714 <__floatsisf+0x74> 66f8: 96 e8 ldi r25, 0x86 ; 134 66fa: 86 2f mov r24, r22 66fc: 70 e0 ldi r23, 0x00 ; 0 66fe: 60 e0 ldi r22, 0x00 ; 0 6700: 2a f0 brmi .+10 ; 0x670c <__floatsisf+0x6c> 6702: 9a 95 dec r25 6704: 66 0f add r22, r22 6706: 77 1f adc r23, r23 6708: 88 1f adc r24, r24 670a: da f7 brpl .-10 ; 0x6702 <__floatsisf+0x62> 670c: 88 0f add r24, r24 670e: 96 95 lsr r25 6710: 87 95 ror r24 6712: 97 f9 bld r25, 7 6714: 08 95 ret 00006716 <__fp_arccos>: 6716: df 93 push r29 6718: cf 93 push r28 671a: 1f 93 push r17 671c: 0f 93 push r16 671e: 8b 01 movw r16, r22 6720: ec 01 movw r28, r24 6722: ed e4 ldi r30, 0x4D ; 77 6724: f2 e0 ldi r31, 0x02 ; 2 6726: 3f d0 rcall .+126 ; 0x67a6 <__fp_powser> 6728: 82 d0 rcall .+260 ; 0x682e <__fp_round> 672a: 98 01 movw r18, r16 672c: ae 01 movw r20, r28 672e: 8b 01 movw r16, r22 6730: ec 01 movw r28, r24 6732: 60 e0 ldi r22, 0x00 ; 0 6734: 70 e0 ldi r23, 0x00 ; 0 6736: 80 e8 ldi r24, 0x80 ; 128 6738: 9f e3 ldi r25, 0x3F ; 63 673a: 35 de rcall .-918 ; 0x63a6 <__subsf3> 673c: d5 d1 rcall .+938 ; 0x6ae8 673e: 98 01 movw r18, r16 6740: ae 01 movw r20, r28 6742: 0f 91 pop r16 6744: 1f 91 pop r17 6746: cf 91 pop r28 6748: df 91 pop r29 674a: 07 c1 rjmp .+526 ; 0x695a <__mulsf3x> 0000674c <__fp_cmp>: 674c: 99 0f add r25, r25 674e: 00 08 sbc r0, r0 6750: 55 0f add r21, r21 6752: aa 0b sbc r26, r26 6754: e0 e8 ldi r30, 0x80 ; 128 6756: fe ef ldi r31, 0xFE ; 254 6758: 16 16 cp r1, r22 675a: 17 06 cpc r1, r23 675c: e8 07 cpc r30, r24 675e: f9 07 cpc r31, r25 6760: c0 f0 brcs .+48 ; 0x6792 <__fp_cmp+0x46> 6762: 12 16 cp r1, r18 6764: 13 06 cpc r1, r19 6766: e4 07 cpc r30, r20 6768: f5 07 cpc r31, r21 676a: 98 f0 brcs .+38 ; 0x6792 <__fp_cmp+0x46> 676c: 62 1b sub r22, r18 676e: 73 0b sbc r23, r19 6770: 84 0b sbc r24, r20 6772: 95 0b sbc r25, r21 6774: 39 f4 brne .+14 ; 0x6784 <__fp_cmp+0x38> 6776: 0a 26 eor r0, r26 6778: 61 f0 breq .+24 ; 0x6792 <__fp_cmp+0x46> 677a: 23 2b or r18, r19 677c: 24 2b or r18, r20 677e: 25 2b or r18, r21 6780: 21 f4 brne .+8 ; 0x678a <__fp_cmp+0x3e> 6782: 08 95 ret 6784: 0a 26 eor r0, r26 6786: 09 f4 brne .+2 ; 0x678a <__fp_cmp+0x3e> 6788: a1 40 sbci r26, 0x01 ; 1 678a: a6 95 lsr r26 678c: 8f ef ldi r24, 0xFF ; 255 678e: 81 1d adc r24, r1 6790: 81 1d adc r24, r1 6792: 08 95 ret 00006794 <__fp_inf>: 6794: 97 f9 bld r25, 7 6796: 9f 67 ori r25, 0x7F ; 127 6798: 80 e8 ldi r24, 0x80 ; 128 679a: 70 e0 ldi r23, 0x00 ; 0 679c: 60 e0 ldi r22, 0x00 ; 0 679e: 08 95 ret 000067a0 <__fp_nan>: 67a0: 9f ef ldi r25, 0xFF ; 255 67a2: 80 ec ldi r24, 0xC0 ; 192 67a4: 08 95 ret 000067a6 <__fp_powser>: 67a6: df 93 push r29 67a8: cf 93 push r28 67aa: 1f 93 push r17 67ac: 0f 93 push r16 67ae: ff 92 push r15 67b0: ef 92 push r14 67b2: df 92 push r13 67b4: 7b 01 movw r14, r22 67b6: 8c 01 movw r16, r24 67b8: 68 94 set 67ba: 05 c0 rjmp .+10 ; 0x67c6 <__fp_powser+0x20> 67bc: da 2e mov r13, r26 67be: ef 01 movw r28, r30 67c0: cc d0 rcall .+408 ; 0x695a <__mulsf3x> 67c2: fe 01 movw r30, r28 67c4: e8 94 clt 67c6: a5 91 lpm r26, Z+ 67c8: 25 91 lpm r18, Z+ 67ca: 35 91 lpm r19, Z+ 67cc: 45 91 lpm r20, Z+ 67ce: 55 91 lpm r21, Z+ 67d0: ae f3 brts .-22 ; 0x67bc <__fp_powser+0x16> 67d2: ef 01 movw r28, r30 67d4: fa dd rcall .-1036 ; 0x63ca <__addsf3x> 67d6: fe 01 movw r30, r28 67d8: 97 01 movw r18, r14 67da: a8 01 movw r20, r16 67dc: da 94 dec r13 67de: 79 f7 brne .-34 ; 0x67be <__fp_powser+0x18> 67e0: df 90 pop r13 67e2: ef 90 pop r14 67e4: ff 90 pop r15 67e6: 0f 91 pop r16 67e8: 1f 91 pop r17 67ea: cf 91 pop r28 67ec: df 91 pop r29 67ee: 08 95 ret 000067f0 <__fp_powsodd>: 67f0: 9f 93 push r25 67f2: 8f 93 push r24 67f4: 7f 93 push r23 67f6: 6f 93 push r22 67f8: ff 93 push r31 67fa: ef 93 push r30 67fc: 9b 01 movw r18, r22 67fe: ac 01 movw r20, r24 6800: a0 d0 rcall .+320 ; 0x6942 <__mulsf3> 6802: ef 91 pop r30 6804: ff 91 pop r31 6806: cf df rcall .-98 ; 0x67a6 <__fp_powser> 6808: 2f 91 pop r18 680a: 3f 91 pop r19 680c: 4f 91 pop r20 680e: 5f 91 pop r21 6810: 98 c0 rjmp .+304 ; 0x6942 <__mulsf3> 00006812 <__fp_pscA>: 6812: 00 24 eor r0, r0 6814: 0a 94 dec r0 6816: 16 16 cp r1, r22 6818: 17 06 cpc r1, r23 681a: 18 06 cpc r1, r24 681c: 09 06 cpc r0, r25 681e: 08 95 ret 00006820 <__fp_pscB>: 6820: 00 24 eor r0, r0 6822: 0a 94 dec r0 6824: 12 16 cp r1, r18 6826: 13 06 cpc r1, r19 6828: 14 06 cpc r1, r20 682a: 05 06 cpc r0, r21 682c: 08 95 ret 0000682e <__fp_round>: 682e: 09 2e mov r0, r25 6830: 03 94 inc r0 6832: 00 0c add r0, r0 6834: 11 f4 brne .+4 ; 0x683a <__fp_round+0xc> 6836: 88 23 and r24, r24 6838: 52 f0 brmi .+20 ; 0x684e <__fp_round+0x20> 683a: bb 0f add r27, r27 683c: 40 f4 brcc .+16 ; 0x684e <__fp_round+0x20> 683e: bf 2b or r27, r31 6840: 11 f4 brne .+4 ; 0x6846 <__fp_round+0x18> 6842: 60 ff sbrs r22, 0 6844: 04 c0 rjmp .+8 ; 0x684e <__fp_round+0x20> 6846: 6f 5f subi r22, 0xFF ; 255 6848: 7f 4f sbci r23, 0xFF ; 255 684a: 8f 4f sbci r24, 0xFF ; 255 684c: 9f 4f sbci r25, 0xFF ; 255 684e: 08 95 ret 00006850 <__fp_split3>: 6850: 57 fd sbrc r21, 7 6852: 90 58 subi r25, 0x80 ; 128 6854: 44 0f add r20, r20 6856: 55 1f adc r21, r21 6858: 59 f0 breq .+22 ; 0x6870 <__fp_splitA+0x10> 685a: 5f 3f cpi r21, 0xFF ; 255 685c: 71 f0 breq .+28 ; 0x687a <__fp_splitA+0x1a> 685e: 47 95 ror r20 00006860 <__fp_splitA>: 6860: 88 0f add r24, r24 6862: 97 fb bst r25, 7 6864: 99 1f adc r25, r25 6866: 61 f0 breq .+24 ; 0x6880 <__fp_splitA+0x20> 6868: 9f 3f cpi r25, 0xFF ; 255 686a: 79 f0 breq .+30 ; 0x688a <__fp_splitA+0x2a> 686c: 87 95 ror r24 686e: 08 95 ret 6870: 12 16 cp r1, r18 6872: 13 06 cpc r1, r19 6874: 14 06 cpc r1, r20 6876: 55 1f adc r21, r21 6878: f2 cf rjmp .-28 ; 0x685e <__fp_split3+0xe> 687a: 46 95 lsr r20 687c: f1 df rcall .-30 ; 0x6860 <__fp_splitA> 687e: 08 c0 rjmp .+16 ; 0x6890 <__fp_splitA+0x30> 6880: 16 16 cp r1, r22 6882: 17 06 cpc r1, r23 6884: 18 06 cpc r1, r24 6886: 99 1f adc r25, r25 6888: f1 cf rjmp .-30 ; 0x686c <__fp_splitA+0xc> 688a: 86 95 lsr r24 688c: 71 05 cpc r23, r1 688e: 61 05 cpc r22, r1 6890: 08 94 sec 6892: 08 95 ret 00006894 <__fp_zero>: 6894: e8 94 clt 00006896 <__fp_szero>: 6896: bb 27 eor r27, r27 6898: 66 27 eor r22, r22 689a: 77 27 eor r23, r23 689c: cb 01 movw r24, r22 689e: 97 f9 bld r25, 7 68a0: 08 95 ret 000068a2 <__gesf2>: 68a2: 54 df rcall .-344 ; 0x674c <__fp_cmp> 68a4: 08 f4 brcc .+2 ; 0x68a8 <__gesf2+0x6> 68a6: 8f ef ldi r24, 0xFF ; 255 68a8: 08 95 ret 000068aa : 68aa: 9b 01 movw r18, r22 68ac: ac 01 movw r20, r24 68ae: 60 e0 ldi r22, 0x00 ; 0 68b0: 70 e0 ldi r23, 0x00 ; 0 68b2: 80 e8 ldi r24, 0x80 ; 128 68b4: 9f e3 ldi r25, 0x3F ; 63 68b6: 59 ce rjmp .-846 ; 0x656a <__divsf3> 68b8: 0e f0 brts .+2 ; 0x68bc 68ba: a7 c1 rjmp .+846 ; 0x6c0a <__fp_mpack> 68bc: 71 cf rjmp .-286 ; 0x67a0 <__fp_nan> 68be: 68 94 set 68c0: 69 cf rjmp .-302 ; 0x6794 <__fp_inf> 000068c2 : 68c2: ce df rcall .-100 ; 0x6860 <__fp_splitA> 68c4: c8 f3 brcs .-14 ; 0x68b8 68c6: 99 23 and r25, r25 68c8: d1 f3 breq .-12 ; 0x68be 68ca: c6 f3 brts .-16 ; 0x68bc 68cc: df 93 push r29 68ce: cf 93 push r28 68d0: 1f 93 push r17 68d2: 0f 93 push r16 68d4: ff 92 push r15 68d6: c9 2f mov r28, r25 68d8: dd 27 eor r29, r29 68da: 88 23 and r24, r24 68dc: 2a f0 brmi .+10 ; 0x68e8 68de: 21 97 sbiw r28, 0x01 ; 1 68e0: 66 0f add r22, r22 68e2: 77 1f adc r23, r23 68e4: 88 1f adc r24, r24 68e6: da f7 brpl .-10 ; 0x68de 68e8: 20 e0 ldi r18, 0x00 ; 0 68ea: 30 e0 ldi r19, 0x00 ; 0 68ec: 40 e8 ldi r20, 0x80 ; 128 68ee: 5f eb ldi r21, 0xBF ; 191 68f0: 9f e3 ldi r25, 0x3F ; 63 68f2: 88 39 cpi r24, 0x98 ; 152 68f4: 20 f0 brcs .+8 ; 0x68fe 68f6: 80 3e cpi r24, 0xE0 ; 224 68f8: 30 f0 brcs .+12 ; 0x6906 68fa: 21 96 adiw r28, 0x01 ; 1 68fc: 8f 77 andi r24, 0x7F ; 127 68fe: 54 dd rcall .-1368 ; 0x63a8 <__addsf3> 6900: e5 e7 ldi r30, 0x75 ; 117 6902: f2 e0 ldi r31, 0x02 ; 2 6904: 03 c0 rjmp .+6 ; 0x690c 6906: 50 dd rcall .-1376 ; 0x63a8 <__addsf3> 6908: e2 ea ldi r30, 0xA2 ; 162 690a: f2 e0 ldi r31, 0x02 ; 2 690c: 4c df rcall .-360 ; 0x67a6 <__fp_powser> 690e: 8b 01 movw r16, r22 6910: be 01 movw r22, r28 6912: ec 01 movw r28, r24 6914: fb 2e mov r15, r27 6916: 6f 57 subi r22, 0x7F ; 127 6918: 71 09 sbc r23, r1 691a: 75 95 asr r23 691c: 77 1f adc r23, r23 691e: 88 0b sbc r24, r24 6920: 99 0b sbc r25, r25 6922: be de rcall .-644 ; 0x66a0 <__floatsisf> 6924: 28 e1 ldi r18, 0x18 ; 24 6926: 32 e7 ldi r19, 0x72 ; 114 6928: 41 e3 ldi r20, 0x31 ; 49 692a: 5f e3 ldi r21, 0x3F ; 63 692c: 16 d0 rcall .+44 ; 0x695a <__mulsf3x> 692e: af 2d mov r26, r15 6930: 98 01 movw r18, r16 6932: ae 01 movw r20, r28 6934: ff 90 pop r15 6936: 0f 91 pop r16 6938: 1f 91 pop r17 693a: cf 91 pop r28 693c: df 91 pop r29 693e: 45 dd rcall .-1398 ; 0x63ca <__addsf3x> 6940: 76 cf rjmp .-276 ; 0x682e <__fp_round> 00006942 <__mulsf3>: 6942: 0b d0 rcall .+22 ; 0x695a <__mulsf3x> 6944: 74 cf rjmp .-280 ; 0x682e <__fp_round> 6946: 65 df rcall .-310 ; 0x6812 <__fp_pscA> 6948: 28 f0 brcs .+10 ; 0x6954 <__mulsf3+0x12> 694a: 6a df rcall .-300 ; 0x6820 <__fp_pscB> 694c: 18 f0 brcs .+6 ; 0x6954 <__mulsf3+0x12> 694e: 95 23 and r25, r21 6950: 09 f0 breq .+2 ; 0x6954 <__mulsf3+0x12> 6952: 20 cf rjmp .-448 ; 0x6794 <__fp_inf> 6954: 25 cf rjmp .-438 ; 0x67a0 <__fp_nan> 6956: 11 24 eor r1, r1 6958: 9e cf rjmp .-196 ; 0x6896 <__fp_szero> 0000695a <__mulsf3x>: 695a: 7a df rcall .-268 ; 0x6850 <__fp_split3> 695c: a0 f3 brcs .-24 ; 0x6946 <__mulsf3+0x4> 0000695e <__mulsf3_pse>: 695e: 95 9f mul r25, r21 6960: d1 f3 breq .-12 ; 0x6956 <__mulsf3+0x14> 6962: 95 0f add r25, r21 6964: 50 e0 ldi r21, 0x00 ; 0 6966: 55 1f adc r21, r21 6968: 62 9f mul r22, r18 696a: f0 01 movw r30, r0 696c: 72 9f mul r23, r18 696e: bb 27 eor r27, r27 6970: f0 0d add r31, r0 6972: b1 1d adc r27, r1 6974: 63 9f mul r22, r19 6976: aa 27 eor r26, r26 6978: f0 0d add r31, r0 697a: b1 1d adc r27, r1 697c: aa 1f adc r26, r26 697e: 64 9f mul r22, r20 6980: 66 27 eor r22, r22 6982: b0 0d add r27, r0 6984: a1 1d adc r26, r1 6986: 66 1f adc r22, r22 6988: 82 9f mul r24, r18 698a: 22 27 eor r18, r18 698c: b0 0d add r27, r0 698e: a1 1d adc r26, r1 6990: 62 1f adc r22, r18 6992: 73 9f mul r23, r19 6994: b0 0d add r27, r0 6996: a1 1d adc r26, r1 6998: 62 1f adc r22, r18 699a: 83 9f mul r24, r19 699c: a0 0d add r26, r0 699e: 61 1d adc r22, r1 69a0: 22 1f adc r18, r18 69a2: 74 9f mul r23, r20 69a4: 33 27 eor r19, r19 69a6: a0 0d add r26, r0 69a8: 61 1d adc r22, r1 69aa: 23 1f adc r18, r19 69ac: 84 9f mul r24, r20 69ae: 60 0d add r22, r0 69b0: 21 1d adc r18, r1 69b2: 82 2f mov r24, r18 69b4: 76 2f mov r23, r22 69b6: 6a 2f mov r22, r26 69b8: 11 24 eor r1, r1 69ba: 9f 57 subi r25, 0x7F ; 127 69bc: 50 40 sbci r21, 0x00 ; 0 69be: 8a f0 brmi .+34 ; 0x69e2 <__mulsf3_pse+0x84> 69c0: e1 f0 breq .+56 ; 0x69fa <__mulsf3_pse+0x9c> 69c2: 88 23 and r24, r24 69c4: 4a f0 brmi .+18 ; 0x69d8 <__mulsf3_pse+0x7a> 69c6: ee 0f add r30, r30 69c8: ff 1f adc r31, r31 69ca: bb 1f adc r27, r27 69cc: 66 1f adc r22, r22 69ce: 77 1f adc r23, r23 69d0: 88 1f adc r24, r24 69d2: 91 50 subi r25, 0x01 ; 1 69d4: 50 40 sbci r21, 0x00 ; 0 69d6: a9 f7 brne .-22 ; 0x69c2 <__mulsf3_pse+0x64> 69d8: 9e 3f cpi r25, 0xFE ; 254 69da: 51 05 cpc r21, r1 69dc: 70 f0 brcs .+28 ; 0x69fa <__mulsf3_pse+0x9c> 69de: da ce rjmp .-588 ; 0x6794 <__fp_inf> 69e0: 5a cf rjmp .-332 ; 0x6896 <__fp_szero> 69e2: 5f 3f cpi r21, 0xFF ; 255 69e4: ec f3 brlt .-6 ; 0x69e0 <__mulsf3_pse+0x82> 69e6: 98 3e cpi r25, 0xE8 ; 232 69e8: dc f3 brlt .-10 ; 0x69e0 <__mulsf3_pse+0x82> 69ea: 86 95 lsr r24 69ec: 77 95 ror r23 69ee: 67 95 ror r22 69f0: b7 95 ror r27 69f2: f7 95 ror r31 69f4: e7 95 ror r30 69f6: 9f 5f subi r25, 0xFF ; 255 69f8: c1 f7 brne .-16 ; 0x69ea <__mulsf3_pse+0x8c> 69fa: fe 2b or r31, r30 69fc: 88 0f add r24, r24 69fe: 91 1d adc r25, r1 6a00: 96 95 lsr r25 6a02: 87 95 ror r24 6a04: 97 f9 bld r25, 7 6a06: 08 95 ret 00006a08 : 6a08: fa 01 movw r30, r20 6a0a: ee 0f add r30, r30 6a0c: ff 1f adc r31, r31 6a0e: 30 96 adiw r30, 0x00 ; 0 6a10: 21 05 cpc r18, r1 6a12: 31 05 cpc r19, r1 6a14: 99 f1 breq .+102 ; 0x6a7c 6a16: 61 15 cp r22, r1 6a18: 71 05 cpc r23, r1 6a1a: 61 f4 brne .+24 ; 0x6a34 6a1c: 80 38 cpi r24, 0x80 ; 128 6a1e: bf e3 ldi r27, 0x3F ; 63 6a20: 9b 07 cpc r25, r27 6a22: 49 f1 breq .+82 ; 0x6a76 6a24: 68 94 set 6a26: 90 38 cpi r25, 0x80 ; 128 6a28: 81 05 cpc r24, r1 6a2a: 61 f0 breq .+24 ; 0x6a44 6a2c: 80 38 cpi r24, 0x80 ; 128 6a2e: bf ef ldi r27, 0xFF ; 255 6a30: 9b 07 cpc r25, r27 6a32: 41 f0 breq .+16 ; 0x6a44 6a34: 99 23 and r25, r25 6a36: 42 f5 brpl .+80 ; 0x6a88 6a38: ff 3f cpi r31, 0xFF ; 255 6a3a: e1 05 cpc r30, r1 6a3c: 31 05 cpc r19, r1 6a3e: 21 05 cpc r18, r1 6a40: 11 f1 breq .+68 ; 0x6a86 6a42: e8 94 clt 6a44: 08 94 sec 6a46: e7 95 ror r30 6a48: d9 01 movw r26, r18 6a4a: aa 23 and r26, r26 6a4c: 29 f4 brne .+10 ; 0x6a58 6a4e: ab 2f mov r26, r27 6a50: be 2f mov r27, r30 6a52: f8 5f subi r31, 0xF8 ; 248 6a54: d0 f3 brcs .-12 ; 0x6a4a 6a56: 10 c0 rjmp .+32 ; 0x6a78 6a58: ff 5f subi r31, 0xFF ; 255 6a5a: 70 f4 brcc .+28 ; 0x6a78 6a5c: a6 95 lsr r26 6a5e: e0 f7 brcc .-8 ; 0x6a58 6a60: f7 39 cpi r31, 0x97 ; 151 6a62: 50 f0 brcs .+20 ; 0x6a78 6a64: 19 f0 breq .+6 ; 0x6a6c 6a66: ff 3a cpi r31, 0xAF ; 175 6a68: 38 f4 brcc .+14 ; 0x6a78 6a6a: 9f 77 andi r25, 0x7F ; 127 6a6c: 9f 93 push r25 6a6e: 0c d0 rcall .+24 ; 0x6a88 6a70: 0f 90 pop r0 6a72: 07 fc sbrc r0, 7 6a74: 90 58 subi r25, 0x80 ; 128 6a76: 08 95 ret 6a78: 3e f0 brts .+14 ; 0x6a88 6a7a: 92 ce rjmp .-732 ; 0x67a0 <__fp_nan> 6a7c: 60 e0 ldi r22, 0x00 ; 0 6a7e: 70 e0 ldi r23, 0x00 ; 0 6a80: 80 e8 ldi r24, 0x80 ; 128 6a82: 9f e3 ldi r25, 0x3F ; 63 6a84: 08 95 ret 6a86: 4f e7 ldi r20, 0x7F ; 127 6a88: 9f 77 andi r25, 0x7F ; 127 6a8a: 5f 93 push r21 6a8c: 4f 93 push r20 6a8e: 3f 93 push r19 6a90: 2f 93 push r18 6a92: 17 df rcall .-466 ; 0x68c2 6a94: 2f 91 pop r18 6a96: 3f 91 pop r19 6a98: 4f 91 pop r20 6a9a: 5f 91 pop r21 6a9c: 52 df rcall .-348 ; 0x6942 <__mulsf3> 6a9e: 6e c0 rjmp .+220 ; 0x6b7c 00006aa0 : 6aa0: df de rcall .-578 ; 0x6860 <__fp_splitA> 6aa2: e0 f0 brcs .+56 ; 0x6adc 6aa4: 9e 37 cpi r25, 0x7E ; 126 6aa6: d8 f0 brcs .+54 ; 0x6ade 6aa8: 96 39 cpi r25, 0x96 ; 150 6aaa: b8 f4 brcc .+46 ; 0x6ada 6aac: 9e 38 cpi r25, 0x8E ; 142 6aae: 48 f4 brcc .+18 ; 0x6ac2 6ab0: 67 2f mov r22, r23 6ab2: 78 2f mov r23, r24 6ab4: 88 27 eor r24, r24 6ab6: 98 5f subi r25, 0xF8 ; 248 6ab8: f9 cf rjmp .-14 ; 0x6aac 6aba: 86 95 lsr r24 6abc: 77 95 ror r23 6abe: 67 95 ror r22 6ac0: 93 95 inc r25 6ac2: 95 39 cpi r25, 0x95 ; 149 6ac4: d0 f3 brcs .-12 ; 0x6aba 6ac6: b6 2f mov r27, r22 6ac8: b1 70 andi r27, 0x01 ; 1 6aca: 6b 0f add r22, r27 6acc: 71 1d adc r23, r1 6ace: 81 1d adc r24, r1 6ad0: 20 f4 brcc .+8 ; 0x6ada 6ad2: 87 95 ror r24 6ad4: 77 95 ror r23 6ad6: 67 95 ror r22 6ad8: 93 95 inc r25 6ada: 7c c0 rjmp .+248 ; 0x6bd4 <__fp_mintl> 6adc: 96 c0 rjmp .+300 ; 0x6c0a <__fp_mpack> 6ade: db ce rjmp .-586 ; 0x6896 <__fp_szero> 6ae0: 11 f4 brne .+4 ; 0x6ae6 6ae2: 0e f4 brtc .+2 ; 0x6ae6 6ae4: 5d ce rjmp .-838 ; 0x67a0 <__fp_nan> 6ae6: 91 c0 rjmp .+290 ; 0x6c0a <__fp_mpack> 00006ae8 : 6ae8: bb de rcall .-650 ; 0x6860 <__fp_splitA> 6aea: d0 f3 brcs .-12 ; 0x6ae0 6aec: 99 23 and r25, r25 6aee: d9 f3 breq .-10 ; 0x6ae6 6af0: ce f3 brts .-14 ; 0x6ae4 6af2: 9f 57 subi r25, 0x7F ; 127 6af4: 55 0b sbc r21, r21 6af6: 87 ff sbrs r24, 7 6af8: 96 d0 rcall .+300 ; 0x6c26 <__fp_norm2> 6afa: 00 24 eor r0, r0 6afc: a0 e6 ldi r26, 0x60 ; 96 6afe: 40 ea ldi r20, 0xA0 ; 160 6b00: 90 01 movw r18, r0 6b02: 80 58 subi r24, 0x80 ; 128 6b04: 56 95 lsr r21 6b06: 97 95 ror r25 6b08: 28 f4 brcc .+10 ; 0x6b14 6b0a: 80 5c subi r24, 0xC0 ; 192 6b0c: 66 0f add r22, r22 6b0e: 77 1f adc r23, r23 6b10: 88 1f adc r24, r24 6b12: 20 f0 brcs .+8 ; 0x6b1c 6b14: 26 17 cp r18, r22 6b16: 37 07 cpc r19, r23 6b18: 48 07 cpc r20, r24 6b1a: 30 f4 brcc .+12 ; 0x6b28 6b1c: 62 1b sub r22, r18 6b1e: 73 0b sbc r23, r19 6b20: 84 0b sbc r24, r20 6b22: 20 29 or r18, r0 6b24: 31 29 or r19, r1 6b26: 4a 2b or r20, r26 6b28: a6 95 lsr r26 6b2a: 17 94 ror r1 6b2c: 07 94 ror r0 6b2e: 20 25 eor r18, r0 6b30: 31 25 eor r19, r1 6b32: 4a 27 eor r20, r26 6b34: 58 f7 brcc .-42 ; 0x6b0c 6b36: 66 0f add r22, r22 6b38: 77 1f adc r23, r23 6b3a: 88 1f adc r24, r24 6b3c: 20 f0 brcs .+8 ; 0x6b46 6b3e: 26 17 cp r18, r22 6b40: 37 07 cpc r19, r23 6b42: 48 07 cpc r20, r24 6b44: 30 f4 brcc .+12 ; 0x6b52 6b46: 62 0b sbc r22, r18 6b48: 73 0b sbc r23, r19 6b4a: 84 0b sbc r24, r20 6b4c: 20 0d add r18, r0 6b4e: 31 1d adc r19, r1 6b50: 41 1d adc r20, r1 6b52: a0 95 com r26 6b54: 81 f7 brne .-32 ; 0x6b36 6b56: b9 01 movw r22, r18 6b58: 84 2f mov r24, r20 6b5a: 91 58 subi r25, 0x81 ; 129 6b5c: 88 0f add r24, r24 6b5e: 96 95 lsr r25 6b60: 87 95 ror r24 6b62: 08 95 ret 00006b64 : 6b64: 9b 01 movw r18, r22 6b66: ac 01 movw r20, r24 6b68: ec ce rjmp .-552 ; 0x6942 <__mulsf3> 00006b6a <__unordsf2>: 6b6a: f0 dd rcall .-1056 ; 0x674c <__fp_cmp> 6b6c: 88 0b sbc r24, r24 6b6e: 99 0b sbc r25, r25 6b70: 08 95 ret 6b72: 19 f4 brne .+6 ; 0x6b7a <__unordsf2+0x10> 6b74: 0e f0 brts .+2 ; 0x6b78 <__unordsf2+0xe> 6b76: 0e ce rjmp .-996 ; 0x6794 <__fp_inf> 6b78: 8d ce rjmp .-742 ; 0x6894 <__fp_zero> 6b7a: 12 ce rjmp .-988 ; 0x67a0 <__fp_nan> 00006b7c : 6b7c: 71 de rcall .-798 ; 0x6860 <__fp_splitA> 6b7e: c8 f3 brcs .-14 ; 0x6b72 <__unordsf2+0x8> 6b80: 96 38 cpi r25, 0x86 ; 134 6b82: c0 f7 brcc .-16 ; 0x6b74 <__unordsf2+0xa> 6b84: 07 f8 bld r0, 7 6b86: 0f 92 push r0 6b88: e8 94 clt 6b8a: 2b e3 ldi r18, 0x3B ; 59 6b8c: 3a ea ldi r19, 0xAA ; 170 6b8e: 48 eb ldi r20, 0xB8 ; 184 6b90: 5f e7 ldi r21, 0x7F ; 127 6b92: e5 de rcall .-566 ; 0x695e <__mulsf3_pse> 6b94: 0f 92 push r0 6b96: 0f 92 push r0 6b98: 0f 92 push r0 6b9a: 4d b7 in r20, 0x3d ; 61 6b9c: 5e b7 in r21, 0x3e ; 62 6b9e: 0f 92 push r0 6ba0: 7f d0 rcall .+254 ; 0x6ca0 6ba2: ef ec ldi r30, 0xCF ; 207 6ba4: f2 e0 ldi r31, 0x02 ; 2 6ba6: ff dd rcall .-1026 ; 0x67a6 <__fp_powser> 6ba8: 4f 91 pop r20 6baa: 5f 91 pop r21 6bac: ef 91 pop r30 6bae: ff 91 pop r31 6bb0: e5 95 asr r30 6bb2: ee 1f adc r30, r30 6bb4: ff 1f adc r31, r31 6bb6: 49 f0 breq .+18 ; 0x6bca 6bb8: fe 57 subi r31, 0x7E ; 126 6bba: e0 68 ori r30, 0x80 ; 128 6bbc: 44 27 eor r20, r20 6bbe: ee 0f add r30, r30 6bc0: 44 1f adc r20, r20 6bc2: fa 95 dec r31 6bc4: e1 f7 brne .-8 ; 0x6bbe 6bc6: 41 95 neg r20 6bc8: 55 0b sbc r21, r21 6bca: 36 d0 rcall .+108 ; 0x6c38 6bcc: 0f 90 pop r0 6bce: 07 fe sbrs r0, 7 6bd0: 6c ce rjmp .-808 ; 0x68aa 6bd2: 08 95 ret 00006bd4 <__fp_mintl>: 6bd4: 88 23 and r24, r24 6bd6: 71 f4 brne .+28 ; 0x6bf4 <__fp_mintl+0x20> 6bd8: 77 23 and r23, r23 6bda: 21 f0 breq .+8 ; 0x6be4 <__fp_mintl+0x10> 6bdc: 98 50 subi r25, 0x08 ; 8 6bde: 87 2b or r24, r23 6be0: 76 2f mov r23, r22 6be2: 07 c0 rjmp .+14 ; 0x6bf2 <__fp_mintl+0x1e> 6be4: 66 23 and r22, r22 6be6: 11 f4 brne .+4 ; 0x6bec <__fp_mintl+0x18> 6be8: 99 27 eor r25, r25 6bea: 0d c0 rjmp .+26 ; 0x6c06 <__fp_mintl+0x32> 6bec: 90 51 subi r25, 0x10 ; 16 6bee: 86 2b or r24, r22 6bf0: 70 e0 ldi r23, 0x00 ; 0 6bf2: 60 e0 ldi r22, 0x00 ; 0 6bf4: 2a f0 brmi .+10 ; 0x6c00 <__fp_mintl+0x2c> 6bf6: 9a 95 dec r25 6bf8: 66 0f add r22, r22 6bfa: 77 1f adc r23, r23 6bfc: 88 1f adc r24, r24 6bfe: da f7 brpl .-10 ; 0x6bf6 <__fp_mintl+0x22> 6c00: 88 0f add r24, r24 6c02: 96 95 lsr r25 6c04: 87 95 ror r24 6c06: 97 f9 bld r25, 7 6c08: 08 95 ret 00006c0a <__fp_mpack>: 6c0a: 9f 3f cpi r25, 0xFF ; 255 6c0c: 31 f0 breq .+12 ; 0x6c1a <__fp_mpack_finite+0xc> 00006c0e <__fp_mpack_finite>: 6c0e: 91 50 subi r25, 0x01 ; 1 6c10: 20 f4 brcc .+8 ; 0x6c1a <__fp_mpack_finite+0xc> 6c12: 87 95 ror r24 6c14: 77 95 ror r23 6c16: 67 95 ror r22 6c18: b7 95 ror r27 6c1a: 88 0f add r24, r24 6c1c: 91 1d adc r25, r1 6c1e: 96 95 lsr r25 6c20: 87 95 ror r24 6c22: 97 f9 bld r25, 7 6c24: 08 95 ret 00006c26 <__fp_norm2>: 6c26: 91 50 subi r25, 0x01 ; 1 6c28: 50 40 sbci r21, 0x00 ; 0 6c2a: 66 0f add r22, r22 6c2c: 77 1f adc r23, r23 6c2e: 88 1f adc r24, r24 6c30: d2 f7 brpl .-12 ; 0x6c26 <__fp_norm2> 6c32: 08 95 ret 6c34: af cd rjmp .-1186 ; 0x6794 <__fp_inf> 6c36: e9 cf rjmp .-46 ; 0x6c0a <__fp_mpack> 00006c38 : 6c38: 13 de rcall .-986 ; 0x6860 <__fp_splitA> 6c3a: e8 f3 brcs .-6 ; 0x6c36 <__fp_norm2+0x10> 6c3c: 99 23 and r25, r25 6c3e: d9 f3 breq .-10 ; 0x6c36 <__fp_norm2+0x10> 6c40: 94 0f add r25, r20 6c42: 51 1d adc r21, r1 6c44: bb f3 brvs .-18 ; 0x6c34 <__fp_norm2+0xe> 6c46: 91 50 subi r25, 0x01 ; 1 6c48: 50 40 sbci r21, 0x00 ; 0 6c4a: 94 f0 brlt .+36 ; 0x6c70 6c4c: 59 f0 breq .+22 ; 0x6c64 6c4e: 88 23 and r24, r24 6c50: 32 f0 brmi .+12 ; 0x6c5e 6c52: 66 0f add r22, r22 6c54: 77 1f adc r23, r23 6c56: 88 1f adc r24, r24 6c58: 91 50 subi r25, 0x01 ; 1 6c5a: 50 40 sbci r21, 0x00 ; 0 6c5c: c1 f7 brne .-16 ; 0x6c4e 6c5e: 9e 3f cpi r25, 0xFE ; 254 6c60: 51 05 cpc r21, r1 6c62: 44 f7 brge .-48 ; 0x6c34 <__fp_norm2+0xe> 6c64: 88 0f add r24, r24 6c66: 91 1d adc r25, r1 6c68: 96 95 lsr r25 6c6a: 87 95 ror r24 6c6c: 97 f9 bld r25, 7 6c6e: 08 95 ret 6c70: 5f 3f cpi r21, 0xFF ; 255 6c72: ac f0 brlt .+42 ; 0x6c9e 6c74: 98 3e cpi r25, 0xE8 ; 232 6c76: 9c f0 brlt .+38 ; 0x6c9e 6c78: bb 27 eor r27, r27 6c7a: 86 95 lsr r24 6c7c: 77 95 ror r23 6c7e: 67 95 ror r22 6c80: b7 95 ror r27 6c82: 08 f4 brcc .+2 ; 0x6c86 6c84: b1 60 ori r27, 0x01 ; 1 6c86: 93 95 inc r25 6c88: c1 f7 brne .-16 ; 0x6c7a 6c8a: bb 0f add r27, r27 6c8c: 58 f7 brcc .-42 ; 0x6c64 6c8e: 11 f4 brne .+4 ; 0x6c94 6c90: 60 ff sbrs r22, 0 6c92: e8 cf rjmp .-48 ; 0x6c64 6c94: 6f 5f subi r22, 0xFF ; 255 6c96: 7f 4f sbci r23, 0xFF ; 255 6c98: 8f 4f sbci r24, 0xFF ; 255 6c9a: 9f 4f sbci r25, 0xFF ; 255 6c9c: e3 cf rjmp .-58 ; 0x6c64 6c9e: fb cd rjmp .-1034 ; 0x6896 <__fp_szero> 00006ca0 : 6ca0: fa 01 movw r30, r20 6ca2: dc 01 movw r26, r24 6ca4: aa 0f add r26, r26 6ca6: bb 1f adc r27, r27 6ca8: 9b 01 movw r18, r22 6caa: ac 01 movw r20, r24 6cac: bf 57 subi r27, 0x7F ; 127 6cae: 28 f4 brcc .+10 ; 0x6cba 6cb0: 22 27 eor r18, r18 6cb2: 33 27 eor r19, r19 6cb4: 44 27 eor r20, r20 6cb6: 50 78 andi r21, 0x80 ; 128 6cb8: 1f c0 rjmp .+62 ; 0x6cf8 6cba: b7 51 subi r27, 0x17 ; 23 6cbc: 88 f4 brcc .+34 ; 0x6ce0 6cbe: ab 2f mov r26, r27 6cc0: 00 24 eor r0, r0 6cc2: 46 95 lsr r20 6cc4: 37 95 ror r19 6cc6: 27 95 ror r18 6cc8: 01 1c adc r0, r1 6cca: a3 95 inc r26 6ccc: d2 f3 brmi .-12 ; 0x6cc2 6cce: 00 20 and r0, r0 6cd0: 69 f0 breq .+26 ; 0x6cec 6cd2: 22 0f add r18, r18 6cd4: 33 1f adc r19, r19 6cd6: 44 1f adc r20, r20 6cd8: b3 95 inc r27 6cda: da f3 brmi .-10 ; 0x6cd2 6cdc: 0d d0 rcall .+26 ; 0x6cf8 6cde: 63 cb rjmp .-2362 ; 0x63a6 <__subsf3> 6ce0: 61 30 cpi r22, 0x01 ; 1 6ce2: 71 05 cpc r23, r1 6ce4: a0 e8 ldi r26, 0x80 ; 128 6ce6: 8a 07 cpc r24, r26 6ce8: b9 46 sbci r27, 0x69 ; 105 6cea: 30 f4 brcc .+12 ; 0x6cf8 6cec: 9b 01 movw r18, r22 6cee: ac 01 movw r20, r24 6cf0: 66 27 eor r22, r22 6cf2: 77 27 eor r23, r23 6cf4: 88 27 eor r24, r24 6cf6: 90 78 andi r25, 0x80 ; 128 6cf8: 30 96 adiw r30, 0x00 ; 0 6cfa: 21 f0 breq .+8 ; 0x6d04 6cfc: 20 83 st Z, r18 6cfe: 31 83 std Z+1, r19 ; 0x01 6d00: 42 83 std Z+2, r20 ; 0x02 6d02: 53 83 std Z+3, r21 ; 0x03 6d04: 08 95 ret 00006d06 : 6d06: 2f 92 push r2 6d08: 3f 92 push r3 6d0a: 4f 92 push r4 6d0c: 5f 92 push r5 6d0e: 6f 92 push r6 6d10: 7f 92 push r7 6d12: 8f 92 push r8 6d14: 9f 92 push r9 6d16: af 92 push r10 6d18: bf 92 push r11 6d1a: cf 92 push r12 6d1c: df 92 push r13 6d1e: ef 92 push r14 6d20: ff 92 push r15 6d22: 0f 93 push r16 6d24: 1f 93 push r17 6d26: cf 93 push r28 6d28: df 93 push r29 6d2a: cd b7 in r28, 0x3d ; 61 6d2c: de b7 in r29, 0x3e ; 62 6d2e: 60 97 sbiw r28, 0x10 ; 16 6d30: cd bf out 0x3d, r28 ; 61 6d32: de bf out 0x3e, r29 ; 62 6d34: 7c 01 movw r14, r24 6d36: 1b 01 movw r2, r22 6d38: 6a 01 movw r12, r20 6d3a: fc 01 movw r30, r24 6d3c: 16 82 std Z+6, r1 ; 0x06 6d3e: 17 82 std Z+7, r1 ; 0x07 6d40: 83 81 ldd r24, Z+3 ; 0x03 6d42: 81 ff sbrs r24, 1 6d44: 2a c3 rjmp .+1620 ; 0x739a 6d46: 9e 01 movw r18, r28 6d48: 2f 5f subi r18, 0xFF ; 255 6d4a: 3f 4f sbci r19, 0xFF ; 255 6d4c: 39 01 movw r6, r18 6d4e: f7 01 movw r30, r14 6d50: 93 81 ldd r25, Z+3 ; 0x03 6d52: f1 01 movw r30, r2 6d54: 93 fd sbrc r25, 3 6d56: 85 91 lpm r24, Z+ 6d58: 93 ff sbrs r25, 3 6d5a: 81 91 ld r24, Z+ 6d5c: 1f 01 movw r2, r30 6d5e: 88 23 and r24, r24 6d60: 09 f4 brne .+2 ; 0x6d64 6d62: 17 c3 rjmp .+1582 ; 0x7392 6d64: 85 32 cpi r24, 0x25 ; 37 6d66: 39 f4 brne .+14 ; 0x6d76 6d68: 93 fd sbrc r25, 3 6d6a: 85 91 lpm r24, Z+ 6d6c: 93 ff sbrs r25, 3 6d6e: 81 91 ld r24, Z+ 6d70: 1f 01 movw r2, r30 6d72: 85 32 cpi r24, 0x25 ; 37 6d74: 31 f4 brne .+12 ; 0x6d82 6d76: b7 01 movw r22, r14 6d78: 90 e0 ldi r25, 0x00 ; 0 6d7a: a3 d4 rcall .+2374 ; 0x76c2 6d7c: 56 01 movw r10, r12 6d7e: 65 01 movw r12, r10 6d80: e6 cf rjmp .-52 ; 0x6d4e 6d82: 10 e0 ldi r17, 0x00 ; 0 6d84: 51 2c mov r5, r1 6d86: 91 2c mov r9, r1 6d88: ff e1 ldi r31, 0x1F ; 31 6d8a: f9 15 cp r31, r9 6d8c: d8 f0 brcs .+54 ; 0x6dc4 6d8e: 8b 32 cpi r24, 0x2B ; 43 6d90: 79 f0 breq .+30 ; 0x6db0 6d92: 38 f4 brcc .+14 ; 0x6da2 6d94: 80 32 cpi r24, 0x20 ; 32 6d96: 79 f0 breq .+30 ; 0x6db6 6d98: 83 32 cpi r24, 0x23 ; 35 6d9a: a1 f4 brne .+40 ; 0x6dc4 6d9c: f9 2d mov r31, r9 6d9e: f0 61 ori r31, 0x10 ; 16 6da0: 2e c0 rjmp .+92 ; 0x6dfe 6da2: 8d 32 cpi r24, 0x2D ; 45 6da4: 61 f0 breq .+24 ; 0x6dbe 6da6: 80 33 cpi r24, 0x30 ; 48 6da8: 69 f4 brne .+26 ; 0x6dc4 6daa: 29 2d mov r18, r9 6dac: 21 60 ori r18, 0x01 ; 1 6dae: 2d c0 rjmp .+90 ; 0x6e0a 6db0: 39 2d mov r19, r9 6db2: 32 60 ori r19, 0x02 ; 2 6db4: 93 2e mov r9, r19 6db6: 89 2d mov r24, r9 6db8: 84 60 ori r24, 0x04 ; 4 6dba: 98 2e mov r9, r24 6dbc: 2a c0 rjmp .+84 ; 0x6e12 6dbe: e9 2d mov r30, r9 6dc0: e8 60 ori r30, 0x08 ; 8 6dc2: 15 c0 rjmp .+42 ; 0x6dee 6dc4: 97 fc sbrc r9, 7 6dc6: 2d c0 rjmp .+90 ; 0x6e22 6dc8: 20 ed ldi r18, 0xD0 ; 208 6dca: 28 0f add r18, r24 6dcc: 2a 30 cpi r18, 0x0A ; 10 6dce: 88 f4 brcc .+34 ; 0x6df2 6dd0: 96 fe sbrs r9, 6 6dd2: 06 c0 rjmp .+12 ; 0x6de0 6dd4: 3a e0 ldi r19, 0x0A ; 10 6dd6: 13 9f mul r17, r19 6dd8: 20 0d add r18, r0 6dda: 11 24 eor r1, r1 6ddc: 12 2f mov r17, r18 6dde: 19 c0 rjmp .+50 ; 0x6e12 6de0: 8a e0 ldi r24, 0x0A ; 10 6de2: 58 9e mul r5, r24 6de4: 20 0d add r18, r0 6de6: 11 24 eor r1, r1 6de8: 52 2e mov r5, r18 6dea: e9 2d mov r30, r9 6dec: e0 62 ori r30, 0x20 ; 32 6dee: 9e 2e mov r9, r30 6df0: 10 c0 rjmp .+32 ; 0x6e12 6df2: 8e 32 cpi r24, 0x2E ; 46 6df4: 31 f4 brne .+12 ; 0x6e02 6df6: 96 fc sbrc r9, 6 6df8: cc c2 rjmp .+1432 ; 0x7392 6dfa: f9 2d mov r31, r9 6dfc: f0 64 ori r31, 0x40 ; 64 6dfe: 9f 2e mov r9, r31 6e00: 08 c0 rjmp .+16 ; 0x6e12 6e02: 8c 36 cpi r24, 0x6C ; 108 6e04: 21 f4 brne .+8 ; 0x6e0e 6e06: 29 2d mov r18, r9 6e08: 20 68 ori r18, 0x80 ; 128 6e0a: 92 2e mov r9, r18 6e0c: 02 c0 rjmp .+4 ; 0x6e12 6e0e: 88 36 cpi r24, 0x68 ; 104 6e10: 41 f4 brne .+16 ; 0x6e22 6e12: f1 01 movw r30, r2 6e14: 93 fd sbrc r25, 3 6e16: 85 91 lpm r24, Z+ 6e18: 93 ff sbrs r25, 3 6e1a: 81 91 ld r24, Z+ 6e1c: 1f 01 movw r2, r30 6e1e: 81 11 cpse r24, r1 6e20: b3 cf rjmp .-154 ; 0x6d88 6e22: 9b eb ldi r25, 0xBB ; 187 6e24: 98 0f add r25, r24 6e26: 93 30 cpi r25, 0x03 ; 3 6e28: 20 f4 brcc .+8 ; 0x6e32 6e2a: 99 2d mov r25, r9 6e2c: 90 61 ori r25, 0x10 ; 16 6e2e: 80 5e subi r24, 0xE0 ; 224 6e30: 07 c0 rjmp .+14 ; 0x6e40 6e32: 9b e9 ldi r25, 0x9B ; 155 6e34: 98 0f add r25, r24 6e36: 93 30 cpi r25, 0x03 ; 3 6e38: 08 f0 brcs .+2 ; 0x6e3c 6e3a: 59 c1 rjmp .+690 ; 0x70ee 6e3c: 99 2d mov r25, r9 6e3e: 9f 7e andi r25, 0xEF ; 239 6e40: 96 ff sbrs r25, 6 6e42: 16 e0 ldi r17, 0x06 ; 6 6e44: 9f 73 andi r25, 0x3F ; 63 6e46: 99 2e mov r9, r25 6e48: 85 36 cpi r24, 0x65 ; 101 6e4a: 19 f4 brne .+6 ; 0x6e52 6e4c: 90 64 ori r25, 0x40 ; 64 6e4e: 99 2e mov r9, r25 6e50: 08 c0 rjmp .+16 ; 0x6e62 6e52: 86 36 cpi r24, 0x66 ; 102 6e54: 21 f4 brne .+8 ; 0x6e5e 6e56: 39 2f mov r19, r25 6e58: 30 68 ori r19, 0x80 ; 128 6e5a: 93 2e mov r9, r19 6e5c: 02 c0 rjmp .+4 ; 0x6e62 6e5e: 11 11 cpse r17, r1 6e60: 11 50 subi r17, 0x01 ; 1 6e62: 97 fe sbrs r9, 7 6e64: 07 c0 rjmp .+14 ; 0x6e74 6e66: 1c 33 cpi r17, 0x3C ; 60 6e68: 50 f4 brcc .+20 ; 0x6e7e 6e6a: 44 24 eor r4, r4 6e6c: 43 94 inc r4 6e6e: 41 0e add r4, r17 6e70: 27 e0 ldi r18, 0x07 ; 7 6e72: 0b c0 rjmp .+22 ; 0x6e8a 6e74: 18 30 cpi r17, 0x08 ; 8 6e76: 38 f0 brcs .+14 ; 0x6e86 6e78: 27 e0 ldi r18, 0x07 ; 7 6e7a: 17 e0 ldi r17, 0x07 ; 7 6e7c: 05 c0 rjmp .+10 ; 0x6e88 6e7e: 27 e0 ldi r18, 0x07 ; 7 6e80: 9c e3 ldi r25, 0x3C ; 60 6e82: 49 2e mov r4, r25 6e84: 02 c0 rjmp .+4 ; 0x6e8a 6e86: 21 2f mov r18, r17 6e88: 41 2c mov r4, r1 6e8a: 56 01 movw r10, r12 6e8c: 84 e0 ldi r24, 0x04 ; 4 6e8e: a8 0e add r10, r24 6e90: b1 1c adc r11, r1 6e92: f6 01 movw r30, r12 6e94: 60 81 ld r22, Z 6e96: 71 81 ldd r23, Z+1 ; 0x01 6e98: 82 81 ldd r24, Z+2 ; 0x02 6e9a: 93 81 ldd r25, Z+3 ; 0x03 6e9c: 04 2d mov r16, r4 6e9e: a3 01 movw r20, r6 6ea0: 22 d3 rcall .+1604 ; 0x74e6 <__ftoa_engine> 6ea2: 6c 01 movw r12, r24 6ea4: f9 81 ldd r31, Y+1 ; 0x01 6ea6: fc 87 std Y+12, r31 ; 0x0c 6ea8: f0 ff sbrs r31, 0 6eaa: 02 c0 rjmp .+4 ; 0x6eb0 6eac: f3 ff sbrs r31, 3 6eae: 06 c0 rjmp .+12 ; 0x6ebc 6eb0: 91 fc sbrc r9, 1 6eb2: 06 c0 rjmp .+12 ; 0x6ec0 6eb4: 92 fe sbrs r9, 2 6eb6: 06 c0 rjmp .+12 ; 0x6ec4 6eb8: 00 e2 ldi r16, 0x20 ; 32 6eba: 05 c0 rjmp .+10 ; 0x6ec6 6ebc: 0d e2 ldi r16, 0x2D ; 45 6ebe: 03 c0 rjmp .+6 ; 0x6ec6 6ec0: 0b e2 ldi r16, 0x2B ; 43 6ec2: 01 c0 rjmp .+2 ; 0x6ec6 6ec4: 00 e0 ldi r16, 0x00 ; 0 6ec6: 8c 85 ldd r24, Y+12 ; 0x0c 6ec8: 8c 70 andi r24, 0x0C ; 12 6eca: 19 f0 breq .+6 ; 0x6ed2 6ecc: 01 11 cpse r16, r1 6ece: 43 c2 rjmp .+1158 ; 0x7356 6ed0: 80 c2 rjmp .+1280 ; 0x73d2 6ed2: 97 fe sbrs r9, 7 6ed4: 10 c0 rjmp .+32 ; 0x6ef6 6ed6: 4c 0c add r4, r12 6ed8: fc 85 ldd r31, Y+12 ; 0x0c 6eda: f4 ff sbrs r31, 4 6edc: 04 c0 rjmp .+8 ; 0x6ee6 6ede: 8a 81 ldd r24, Y+2 ; 0x02 6ee0: 81 33 cpi r24, 0x31 ; 49 6ee2: 09 f4 brne .+2 ; 0x6ee6 6ee4: 4a 94 dec r4 6ee6: 14 14 cp r1, r4 6ee8: 74 f5 brge .+92 ; 0x6f46 6eea: 28 e0 ldi r18, 0x08 ; 8 6eec: 24 15 cp r18, r4 6eee: 78 f5 brcc .+94 ; 0x6f4e 6ef0: 88 e0 ldi r24, 0x08 ; 8 6ef2: 48 2e mov r4, r24 6ef4: 2c c0 rjmp .+88 ; 0x6f4e 6ef6: 96 fc sbrc r9, 6 6ef8: 2a c0 rjmp .+84 ; 0x6f4e 6efa: 81 2f mov r24, r17 6efc: 90 e0 ldi r25, 0x00 ; 0 6efe: 8c 15 cp r24, r12 6f00: 9d 05 cpc r25, r13 6f02: 9c f0 brlt .+38 ; 0x6f2a 6f04: 3c ef ldi r19, 0xFC ; 252 6f06: c3 16 cp r12, r19 6f08: 3f ef ldi r19, 0xFF ; 255 6f0a: d3 06 cpc r13, r19 6f0c: 74 f0 brlt .+28 ; 0x6f2a 6f0e: 89 2d mov r24, r9 6f10: 80 68 ori r24, 0x80 ; 128 6f12: 98 2e mov r9, r24 6f14: 0a c0 rjmp .+20 ; 0x6f2a 6f16: e2 e0 ldi r30, 0x02 ; 2 6f18: f0 e0 ldi r31, 0x00 ; 0 6f1a: ec 0f add r30, r28 6f1c: fd 1f adc r31, r29 6f1e: e1 0f add r30, r17 6f20: f1 1d adc r31, r1 6f22: 80 81 ld r24, Z 6f24: 80 33 cpi r24, 0x30 ; 48 6f26: 19 f4 brne .+6 ; 0x6f2e 6f28: 11 50 subi r17, 0x01 ; 1 6f2a: 11 11 cpse r17, r1 6f2c: f4 cf rjmp .-24 ; 0x6f16 6f2e: 97 fe sbrs r9, 7 6f30: 0e c0 rjmp .+28 ; 0x6f4e 6f32: 44 24 eor r4, r4 6f34: 43 94 inc r4 6f36: 41 0e add r4, r17 6f38: 81 2f mov r24, r17 6f3a: 90 e0 ldi r25, 0x00 ; 0 6f3c: c8 16 cp r12, r24 6f3e: d9 06 cpc r13, r25 6f40: 2c f4 brge .+10 ; 0x6f4c 6f42: 1c 19 sub r17, r12 6f44: 04 c0 rjmp .+8 ; 0x6f4e 6f46: 44 24 eor r4, r4 6f48: 43 94 inc r4 6f4a: 01 c0 rjmp .+2 ; 0x6f4e 6f4c: 10 e0 ldi r17, 0x00 ; 0 6f4e: 97 fe sbrs r9, 7 6f50: 06 c0 rjmp .+12 ; 0x6f5e 6f52: 1c 14 cp r1, r12 6f54: 1d 04 cpc r1, r13 6f56: 34 f4 brge .+12 ; 0x6f64 6f58: c6 01 movw r24, r12 6f5a: 01 96 adiw r24, 0x01 ; 1 6f5c: 05 c0 rjmp .+10 ; 0x6f68 6f5e: 85 e0 ldi r24, 0x05 ; 5 6f60: 90 e0 ldi r25, 0x00 ; 0 6f62: 02 c0 rjmp .+4 ; 0x6f68 6f64: 81 e0 ldi r24, 0x01 ; 1 6f66: 90 e0 ldi r25, 0x00 ; 0 6f68: 01 11 cpse r16, r1 6f6a: 01 96 adiw r24, 0x01 ; 1 6f6c: 11 23 and r17, r17 6f6e: 31 f0 breq .+12 ; 0x6f7c 6f70: 21 2f mov r18, r17 6f72: 30 e0 ldi r19, 0x00 ; 0 6f74: 2f 5f subi r18, 0xFF ; 255 6f76: 3f 4f sbci r19, 0xFF ; 255 6f78: 82 0f add r24, r18 6f7a: 93 1f adc r25, r19 6f7c: 25 2d mov r18, r5 6f7e: 30 e0 ldi r19, 0x00 ; 0 6f80: 82 17 cp r24, r18 6f82: 93 07 cpc r25, r19 6f84: 14 f4 brge .+4 ; 0x6f8a 6f86: 58 1a sub r5, r24 6f88: 01 c0 rjmp .+2 ; 0x6f8c 6f8a: 51 2c mov r5, r1 6f8c: 89 2d mov r24, r9 6f8e: 89 70 andi r24, 0x09 ; 9 6f90: 41 f4 brne .+16 ; 0x6fa2 6f92: 55 20 and r5, r5 6f94: 31 f0 breq .+12 ; 0x6fa2 6f96: b7 01 movw r22, r14 6f98: 80 e2 ldi r24, 0x20 ; 32 6f9a: 90 e0 ldi r25, 0x00 ; 0 6f9c: 92 d3 rcall .+1828 ; 0x76c2 6f9e: 5a 94 dec r5 6fa0: f8 cf rjmp .-16 ; 0x6f92 6fa2: 00 23 and r16, r16 6fa4: 21 f0 breq .+8 ; 0x6fae 6fa6: b7 01 movw r22, r14 6fa8: 80 2f mov r24, r16 6faa: 90 e0 ldi r25, 0x00 ; 0 6fac: 8a d3 rcall .+1812 ; 0x76c2 6fae: 93 fc sbrc r9, 3 6fb0: 08 c0 rjmp .+16 ; 0x6fc2 6fb2: 55 20 and r5, r5 6fb4: 31 f0 breq .+12 ; 0x6fc2 6fb6: b7 01 movw r22, r14 6fb8: 80 e3 ldi r24, 0x30 ; 48 6fba: 90 e0 ldi r25, 0x00 ; 0 6fbc: 82 d3 rcall .+1796 ; 0x76c2 6fbe: 5a 94 dec r5 6fc0: f8 cf rjmp .-16 ; 0x6fb2 6fc2: 97 fe sbrs r9, 7 6fc4: 4a c0 rjmp .+148 ; 0x705a 6fc6: 46 01 movw r8, r12 6fc8: d7 fe sbrs r13, 7 6fca: 02 c0 rjmp .+4 ; 0x6fd0 6fcc: 81 2c mov r8, r1 6fce: 91 2c mov r9, r1 6fd0: c6 01 movw r24, r12 6fd2: 88 19 sub r24, r8 6fd4: 99 09 sbc r25, r9 6fd6: f3 01 movw r30, r6 6fd8: e8 0f add r30, r24 6fda: f9 1f adc r31, r25 6fdc: ed 87 std Y+13, r30 ; 0x0d 6fde: fe 87 std Y+14, r31 ; 0x0e 6fe0: 96 01 movw r18, r12 6fe2: 24 19 sub r18, r4 6fe4: 31 09 sbc r19, r1 6fe6: 2f 87 std Y+15, r18 ; 0x0f 6fe8: 38 8b std Y+16, r19 ; 0x10 6fea: 01 2f mov r16, r17 6fec: 10 e0 ldi r17, 0x00 ; 0 6fee: 11 95 neg r17 6ff0: 01 95 neg r16 6ff2: 11 09 sbc r17, r1 6ff4: 3f ef ldi r19, 0xFF ; 255 6ff6: 83 16 cp r8, r19 6ff8: 93 06 cpc r9, r19 6ffa: 21 f4 brne .+8 ; 0x7004 6ffc: b7 01 movw r22, r14 6ffe: 8e e2 ldi r24, 0x2E ; 46 7000: 90 e0 ldi r25, 0x00 ; 0 7002: 5f d3 rcall .+1726 ; 0x76c2 7004: c8 14 cp r12, r8 7006: d9 04 cpc r13, r9 7008: 4c f0 brlt .+18 ; 0x701c 700a: 8f 85 ldd r24, Y+15 ; 0x0f 700c: 98 89 ldd r25, Y+16 ; 0x10 700e: 88 15 cp r24, r8 7010: 99 05 cpc r25, r9 7012: 24 f4 brge .+8 ; 0x701c 7014: ed 85 ldd r30, Y+13 ; 0x0d 7016: fe 85 ldd r31, Y+14 ; 0x0e 7018: 81 81 ldd r24, Z+1 ; 0x01 701a: 01 c0 rjmp .+2 ; 0x701e 701c: 80 e3 ldi r24, 0x30 ; 48 701e: f1 e0 ldi r31, 0x01 ; 1 7020: 8f 1a sub r8, r31 7022: 91 08 sbc r9, r1 7024: 2d 85 ldd r18, Y+13 ; 0x0d 7026: 3e 85 ldd r19, Y+14 ; 0x0e 7028: 2f 5f subi r18, 0xFF ; 255 702a: 3f 4f sbci r19, 0xFF ; 255 702c: 2d 87 std Y+13, r18 ; 0x0d 702e: 3e 87 std Y+14, r19 ; 0x0e 7030: 80 16 cp r8, r16 7032: 91 06 cpc r9, r17 7034: 24 f0 brlt .+8 ; 0x703e 7036: b7 01 movw r22, r14 7038: 90 e0 ldi r25, 0x00 ; 0 703a: 43 d3 rcall .+1670 ; 0x76c2 703c: db cf rjmp .-74 ; 0x6ff4 703e: c8 14 cp r12, r8 7040: d9 04 cpc r13, r9 7042: 41 f4 brne .+16 ; 0x7054 7044: 9a 81 ldd r25, Y+2 ; 0x02 7046: 96 33 cpi r25, 0x36 ; 54 7048: 20 f4 brcc .+8 ; 0x7052 704a: 95 33 cpi r25, 0x35 ; 53 704c: 19 f4 brne .+6 ; 0x7054 704e: 3c 85 ldd r19, Y+12 ; 0x0c 7050: 34 ff sbrs r19, 4 7052: 81 e3 ldi r24, 0x31 ; 49 7054: b7 01 movw r22, r14 7056: 90 e0 ldi r25, 0x00 ; 0 7058: 48 c0 rjmp .+144 ; 0x70ea 705a: 8a 81 ldd r24, Y+2 ; 0x02 705c: 81 33 cpi r24, 0x31 ; 49 705e: 19 f0 breq .+6 ; 0x7066 7060: 9c 85 ldd r25, Y+12 ; 0x0c 7062: 9f 7e andi r25, 0xEF ; 239 7064: 9c 87 std Y+12, r25 ; 0x0c 7066: b7 01 movw r22, r14 7068: 90 e0 ldi r25, 0x00 ; 0 706a: 2b d3 rcall .+1622 ; 0x76c2 706c: 11 11 cpse r17, r1 706e: 05 c0 rjmp .+10 ; 0x707a 7070: 94 fc sbrc r9, 4 7072: 16 c0 rjmp .+44 ; 0x70a0 7074: 85 e6 ldi r24, 0x65 ; 101 7076: 90 e0 ldi r25, 0x00 ; 0 7078: 15 c0 rjmp .+42 ; 0x70a4 707a: b7 01 movw r22, r14 707c: 8e e2 ldi r24, 0x2E ; 46 707e: 90 e0 ldi r25, 0x00 ; 0 7080: 20 d3 rcall .+1600 ; 0x76c2 7082: 1e 5f subi r17, 0xFE ; 254 7084: 82 e0 ldi r24, 0x02 ; 2 7086: 01 e0 ldi r16, 0x01 ; 1 7088: 08 0f add r16, r24 708a: f3 01 movw r30, r6 708c: e8 0f add r30, r24 708e: f1 1d adc r31, r1 7090: 80 81 ld r24, Z 7092: b7 01 movw r22, r14 7094: 90 e0 ldi r25, 0x00 ; 0 7096: 15 d3 rcall .+1578 ; 0x76c2 7098: 80 2f mov r24, r16 709a: 01 13 cpse r16, r17 709c: f4 cf rjmp .-24 ; 0x7086 709e: e8 cf rjmp .-48 ; 0x7070 70a0: 85 e4 ldi r24, 0x45 ; 69 70a2: 90 e0 ldi r25, 0x00 ; 0 70a4: b7 01 movw r22, r14 70a6: 0d d3 rcall .+1562 ; 0x76c2 70a8: d7 fc sbrc r13, 7 70aa: 06 c0 rjmp .+12 ; 0x70b8 70ac: c1 14 cp r12, r1 70ae: d1 04 cpc r13, r1 70b0: 41 f4 brne .+16 ; 0x70c2 70b2: ec 85 ldd r30, Y+12 ; 0x0c 70b4: e4 ff sbrs r30, 4 70b6: 05 c0 rjmp .+10 ; 0x70c2 70b8: d1 94 neg r13 70ba: c1 94 neg r12 70bc: d1 08 sbc r13, r1 70be: 8d e2 ldi r24, 0x2D ; 45 70c0: 01 c0 rjmp .+2 ; 0x70c4 70c2: 8b e2 ldi r24, 0x2B ; 43 70c4: b7 01 movw r22, r14 70c6: 90 e0 ldi r25, 0x00 ; 0 70c8: fc d2 rcall .+1528 ; 0x76c2 70ca: 80 e3 ldi r24, 0x30 ; 48 70cc: 2a e0 ldi r18, 0x0A ; 10 70ce: c2 16 cp r12, r18 70d0: d1 04 cpc r13, r1 70d2: 2c f0 brlt .+10 ; 0x70de 70d4: 8f 5f subi r24, 0xFF ; 255 70d6: fa e0 ldi r31, 0x0A ; 10 70d8: cf 1a sub r12, r31 70da: d1 08 sbc r13, r1 70dc: f7 cf rjmp .-18 ; 0x70cc 70de: b7 01 movw r22, r14 70e0: 90 e0 ldi r25, 0x00 ; 0 70e2: ef d2 rcall .+1502 ; 0x76c2 70e4: b7 01 movw r22, r14 70e6: c6 01 movw r24, r12 70e8: c0 96 adiw r24, 0x30 ; 48 70ea: eb d2 rcall .+1494 ; 0x76c2 70ec: 49 c1 rjmp .+658 ; 0x7380 70ee: 83 36 cpi r24, 0x63 ; 99 70f0: 31 f0 breq .+12 ; 0x70fe 70f2: 83 37 cpi r24, 0x73 ; 115 70f4: 79 f0 breq .+30 ; 0x7114 70f6: 83 35 cpi r24, 0x53 ; 83 70f8: 09 f0 breq .+2 ; 0x70fc 70fa: 52 c0 rjmp .+164 ; 0x71a0 70fc: 1f c0 rjmp .+62 ; 0x713c 70fe: 56 01 movw r10, r12 7100: 32 e0 ldi r19, 0x02 ; 2 7102: a3 0e add r10, r19 7104: b1 1c adc r11, r1 7106: f6 01 movw r30, r12 7108: 80 81 ld r24, Z 710a: 89 83 std Y+1, r24 ; 0x01 710c: 01 e0 ldi r16, 0x01 ; 1 710e: 10 e0 ldi r17, 0x00 ; 0 7110: 63 01 movw r12, r6 7112: 11 c0 rjmp .+34 ; 0x7136 7114: 56 01 movw r10, r12 7116: f2 e0 ldi r31, 0x02 ; 2 7118: af 0e add r10, r31 711a: b1 1c adc r11, r1 711c: f6 01 movw r30, r12 711e: c0 80 ld r12, Z 7120: d1 80 ldd r13, Z+1 ; 0x01 7122: 96 fe sbrs r9, 6 7124: 03 c0 rjmp .+6 ; 0x712c 7126: 61 2f mov r22, r17 7128: 70 e0 ldi r23, 0x00 ; 0 712a: 02 c0 rjmp .+4 ; 0x7130 712c: 6f ef ldi r22, 0xFF ; 255 712e: 7f ef ldi r23, 0xFF ; 255 7130: c6 01 movw r24, r12 7132: bc d2 rcall .+1400 ; 0x76ac 7134: 8c 01 movw r16, r24 7136: f9 2d mov r31, r9 7138: ff 77 andi r31, 0x7F ; 127 713a: 13 c0 rjmp .+38 ; 0x7162 713c: 56 01 movw r10, r12 713e: 22 e0 ldi r18, 0x02 ; 2 7140: a2 0e add r10, r18 7142: b1 1c adc r11, r1 7144: f6 01 movw r30, r12 7146: c0 80 ld r12, Z 7148: d1 80 ldd r13, Z+1 ; 0x01 714a: 96 fe sbrs r9, 6 714c: 03 c0 rjmp .+6 ; 0x7154 714e: 61 2f mov r22, r17 7150: 70 e0 ldi r23, 0x00 ; 0 7152: 02 c0 rjmp .+4 ; 0x7158 7154: 6f ef ldi r22, 0xFF ; 255 7156: 7f ef ldi r23, 0xFF ; 255 7158: c6 01 movw r24, r12 715a: 9d d2 rcall .+1338 ; 0x7696 715c: 8c 01 movw r16, r24 715e: f9 2d mov r31, r9 7160: f0 68 ori r31, 0x80 ; 128 7162: 9f 2e mov r9, r31 7164: f3 fd sbrc r31, 3 7166: 18 c0 rjmp .+48 ; 0x7198 7168: 85 2d mov r24, r5 716a: 90 e0 ldi r25, 0x00 ; 0 716c: 08 17 cp r16, r24 716e: 19 07 cpc r17, r25 7170: 98 f4 brcc .+38 ; 0x7198 7172: b7 01 movw r22, r14 7174: 80 e2 ldi r24, 0x20 ; 32 7176: 90 e0 ldi r25, 0x00 ; 0 7178: a4 d2 rcall .+1352 ; 0x76c2 717a: 5a 94 dec r5 717c: f5 cf rjmp .-22 ; 0x7168 717e: f6 01 movw r30, r12 7180: 97 fc sbrc r9, 7 7182: 85 91 lpm r24, Z+ 7184: 97 fe sbrs r9, 7 7186: 81 91 ld r24, Z+ 7188: 6f 01 movw r12, r30 718a: b7 01 movw r22, r14 718c: 90 e0 ldi r25, 0x00 ; 0 718e: 99 d2 rcall .+1330 ; 0x76c2 7190: 51 10 cpse r5, r1 7192: 5a 94 dec r5 7194: 01 50 subi r16, 0x01 ; 1 7196: 11 09 sbc r17, r1 7198: 01 15 cp r16, r1 719a: 11 05 cpc r17, r1 719c: 81 f7 brne .-32 ; 0x717e 719e: f0 c0 rjmp .+480 ; 0x7380 71a0: 84 36 cpi r24, 0x64 ; 100 71a2: 11 f0 breq .+4 ; 0x71a8 71a4: 89 36 cpi r24, 0x69 ; 105 71a6: 59 f5 brne .+86 ; 0x71fe 71a8: 56 01 movw r10, r12 71aa: 97 fe sbrs r9, 7 71ac: 09 c0 rjmp .+18 ; 0x71c0 71ae: 24 e0 ldi r18, 0x04 ; 4 71b0: a2 0e add r10, r18 71b2: b1 1c adc r11, r1 71b4: f6 01 movw r30, r12 71b6: 60 81 ld r22, Z 71b8: 71 81 ldd r23, Z+1 ; 0x01 71ba: 82 81 ldd r24, Z+2 ; 0x02 71bc: 93 81 ldd r25, Z+3 ; 0x03 71be: 0a c0 rjmp .+20 ; 0x71d4 71c0: f2 e0 ldi r31, 0x02 ; 2 71c2: af 0e add r10, r31 71c4: b1 1c adc r11, r1 71c6: f6 01 movw r30, r12 71c8: 60 81 ld r22, Z 71ca: 71 81 ldd r23, Z+1 ; 0x01 71cc: 07 2e mov r0, r23 71ce: 00 0c add r0, r0 71d0: 88 0b sbc r24, r24 71d2: 99 0b sbc r25, r25 71d4: f9 2d mov r31, r9 71d6: ff 76 andi r31, 0x6F ; 111 71d8: 9f 2e mov r9, r31 71da: 97 ff sbrs r25, 7 71dc: 09 c0 rjmp .+18 ; 0x71f0 71de: 90 95 com r25 71e0: 80 95 com r24 71e2: 70 95 com r23 71e4: 61 95 neg r22 71e6: 7f 4f sbci r23, 0xFF ; 255 71e8: 8f 4f sbci r24, 0xFF ; 255 71ea: 9f 4f sbci r25, 0xFF ; 255 71ec: f0 68 ori r31, 0x80 ; 128 71ee: 9f 2e mov r9, r31 71f0: 2a e0 ldi r18, 0x0A ; 10 71f2: 30 e0 ldi r19, 0x00 ; 0 71f4: a3 01 movw r20, r6 71f6: c3 d2 rcall .+1414 ; 0x777e <__ultoa_invert> 71f8: c8 2e mov r12, r24 71fa: c6 18 sub r12, r6 71fc: 3e c0 rjmp .+124 ; 0x727a 71fe: 09 2d mov r16, r9 7200: 85 37 cpi r24, 0x75 ; 117 7202: 21 f4 brne .+8 ; 0x720c 7204: 0f 7e andi r16, 0xEF ; 239 7206: 2a e0 ldi r18, 0x0A ; 10 7208: 30 e0 ldi r19, 0x00 ; 0 720a: 1d c0 rjmp .+58 ; 0x7246 720c: 09 7f andi r16, 0xF9 ; 249 720e: 8f 36 cpi r24, 0x6F ; 111 7210: 91 f0 breq .+36 ; 0x7236 7212: 18 f4 brcc .+6 ; 0x721a 7214: 88 35 cpi r24, 0x58 ; 88 7216: 59 f0 breq .+22 ; 0x722e 7218: bc c0 rjmp .+376 ; 0x7392 721a: 80 37 cpi r24, 0x70 ; 112 721c: 19 f0 breq .+6 ; 0x7224 721e: 88 37 cpi r24, 0x78 ; 120 7220: 11 f0 breq .+4 ; 0x7226 7222: b7 c0 rjmp .+366 ; 0x7392 7224: 00 61 ori r16, 0x10 ; 16 7226: 04 ff sbrs r16, 4 7228: 09 c0 rjmp .+18 ; 0x723c 722a: 04 60 ori r16, 0x04 ; 4 722c: 07 c0 rjmp .+14 ; 0x723c 722e: 94 fe sbrs r9, 4 7230: 08 c0 rjmp .+16 ; 0x7242 7232: 06 60 ori r16, 0x06 ; 6 7234: 06 c0 rjmp .+12 ; 0x7242 7236: 28 e0 ldi r18, 0x08 ; 8 7238: 30 e0 ldi r19, 0x00 ; 0 723a: 05 c0 rjmp .+10 ; 0x7246 723c: 20 e1 ldi r18, 0x10 ; 16 723e: 30 e0 ldi r19, 0x00 ; 0 7240: 02 c0 rjmp .+4 ; 0x7246 7242: 20 e1 ldi r18, 0x10 ; 16 7244: 32 e0 ldi r19, 0x02 ; 2 7246: 56 01 movw r10, r12 7248: 07 ff sbrs r16, 7 724a: 09 c0 rjmp .+18 ; 0x725e 724c: 84 e0 ldi r24, 0x04 ; 4 724e: a8 0e add r10, r24 7250: b1 1c adc r11, r1 7252: f6 01 movw r30, r12 7254: 60 81 ld r22, Z 7256: 71 81 ldd r23, Z+1 ; 0x01 7258: 82 81 ldd r24, Z+2 ; 0x02 725a: 93 81 ldd r25, Z+3 ; 0x03 725c: 08 c0 rjmp .+16 ; 0x726e 725e: f2 e0 ldi r31, 0x02 ; 2 7260: af 0e add r10, r31 7262: b1 1c adc r11, r1 7264: f6 01 movw r30, r12 7266: 60 81 ld r22, Z 7268: 71 81 ldd r23, Z+1 ; 0x01 726a: 80 e0 ldi r24, 0x00 ; 0 726c: 90 e0 ldi r25, 0x00 ; 0 726e: a3 01 movw r20, r6 7270: 86 d2 rcall .+1292 ; 0x777e <__ultoa_invert> 7272: c8 2e mov r12, r24 7274: c6 18 sub r12, r6 7276: 0f 77 andi r16, 0x7F ; 127 7278: 90 2e mov r9, r16 727a: 96 fe sbrs r9, 6 727c: 0b c0 rjmp .+22 ; 0x7294 727e: 09 2d mov r16, r9 7280: 0e 7f andi r16, 0xFE ; 254 7282: c1 16 cp r12, r17 7284: 50 f4 brcc .+20 ; 0x729a 7286: 94 fe sbrs r9, 4 7288: 0a c0 rjmp .+20 ; 0x729e 728a: 92 fc sbrc r9, 2 728c: 08 c0 rjmp .+16 ; 0x729e 728e: 09 2d mov r16, r9 7290: 0e 7e andi r16, 0xEE ; 238 7292: 05 c0 rjmp .+10 ; 0x729e 7294: dc 2c mov r13, r12 7296: 09 2d mov r16, r9 7298: 03 c0 rjmp .+6 ; 0x72a0 729a: dc 2c mov r13, r12 729c: 01 c0 rjmp .+2 ; 0x72a0 729e: d1 2e mov r13, r17 72a0: 04 ff sbrs r16, 4 72a2: 0d c0 rjmp .+26 ; 0x72be 72a4: fe 01 movw r30, r28 72a6: ec 0d add r30, r12 72a8: f1 1d adc r31, r1 72aa: 80 81 ld r24, Z 72ac: 80 33 cpi r24, 0x30 ; 48 72ae: 11 f4 brne .+4 ; 0x72b4 72b0: 09 7e andi r16, 0xE9 ; 233 72b2: 09 c0 rjmp .+18 ; 0x72c6 72b4: 02 ff sbrs r16, 2 72b6: 06 c0 rjmp .+12 ; 0x72c4 72b8: d3 94 inc r13 72ba: d3 94 inc r13 72bc: 04 c0 rjmp .+8 ; 0x72c6 72be: 80 2f mov r24, r16 72c0: 86 78 andi r24, 0x86 ; 134 72c2: 09 f0 breq .+2 ; 0x72c6 72c4: d3 94 inc r13 72c6: 03 fd sbrc r16, 3 72c8: 10 c0 rjmp .+32 ; 0x72ea 72ca: 00 ff sbrs r16, 0 72cc: 06 c0 rjmp .+12 ; 0x72da 72ce: 1c 2d mov r17, r12 72d0: d5 14 cp r13, r5 72d2: 78 f4 brcc .+30 ; 0x72f2 72d4: 15 0d add r17, r5 72d6: 1d 19 sub r17, r13 72d8: 0c c0 rjmp .+24 ; 0x72f2 72da: d5 14 cp r13, r5 72dc: 50 f4 brcc .+20 ; 0x72f2 72de: b7 01 movw r22, r14 72e0: 80 e2 ldi r24, 0x20 ; 32 72e2: 90 e0 ldi r25, 0x00 ; 0 72e4: ee d1 rcall .+988 ; 0x76c2 72e6: d3 94 inc r13 72e8: f8 cf rjmp .-16 ; 0x72da 72ea: d5 14 cp r13, r5 72ec: 10 f4 brcc .+4 ; 0x72f2 72ee: 5d 18 sub r5, r13 72f0: 01 c0 rjmp .+2 ; 0x72f4 72f2: 51 2c mov r5, r1 72f4: 04 ff sbrs r16, 4 72f6: 0f c0 rjmp .+30 ; 0x7316 72f8: b7 01 movw r22, r14 72fa: 80 e3 ldi r24, 0x30 ; 48 72fc: 90 e0 ldi r25, 0x00 ; 0 72fe: e1 d1 rcall .+962 ; 0x76c2 7300: 02 ff sbrs r16, 2 7302: 16 c0 rjmp .+44 ; 0x7330 7304: 01 fd sbrc r16, 1 7306: 03 c0 rjmp .+6 ; 0x730e 7308: 88 e7 ldi r24, 0x78 ; 120 730a: 90 e0 ldi r25, 0x00 ; 0 730c: 02 c0 rjmp .+4 ; 0x7312 730e: 88 e5 ldi r24, 0x58 ; 88 7310: 90 e0 ldi r25, 0x00 ; 0 7312: b7 01 movw r22, r14 7314: 0c c0 rjmp .+24 ; 0x732e 7316: 80 2f mov r24, r16 7318: 86 78 andi r24, 0x86 ; 134 731a: 51 f0 breq .+20 ; 0x7330 731c: 01 ff sbrs r16, 1 731e: 02 c0 rjmp .+4 ; 0x7324 7320: 8b e2 ldi r24, 0x2B ; 43 7322: 01 c0 rjmp .+2 ; 0x7326 7324: 80 e2 ldi r24, 0x20 ; 32 7326: 07 fd sbrc r16, 7 7328: 8d e2 ldi r24, 0x2D ; 45 732a: b7 01 movw r22, r14 732c: 90 e0 ldi r25, 0x00 ; 0 732e: c9 d1 rcall .+914 ; 0x76c2 7330: c1 16 cp r12, r17 7332: 30 f4 brcc .+12 ; 0x7340 7334: b7 01 movw r22, r14 7336: 80 e3 ldi r24, 0x30 ; 48 7338: 90 e0 ldi r25, 0x00 ; 0 733a: c3 d1 rcall .+902 ; 0x76c2 733c: 11 50 subi r17, 0x01 ; 1 733e: f8 cf rjmp .-16 ; 0x7330 7340: ca 94 dec r12 7342: f3 01 movw r30, r6 7344: ec 0d add r30, r12 7346: f1 1d adc r31, r1 7348: 80 81 ld r24, Z 734a: b7 01 movw r22, r14 734c: 90 e0 ldi r25, 0x00 ; 0 734e: b9 d1 rcall .+882 ; 0x76c2 7350: c1 10 cpse r12, r1 7352: f6 cf rjmp .-20 ; 0x7340 7354: 15 c0 rjmp .+42 ; 0x7380 7356: f4 e0 ldi r31, 0x04 ; 4 7358: f5 15 cp r31, r5 735a: 50 f5 brcc .+84 ; 0x73b0 735c: 84 e0 ldi r24, 0x04 ; 4 735e: 58 1a sub r5, r24 7360: 93 fe sbrs r9, 3 7362: 1e c0 rjmp .+60 ; 0x73a0 7364: 01 11 cpse r16, r1 7366: 25 c0 rjmp .+74 ; 0x73b2 7368: 2c 85 ldd r18, Y+12 ; 0x0c 736a: 23 ff sbrs r18, 3 736c: 27 c0 rjmp .+78 ; 0x73bc 736e: 08 ef ldi r16, 0xF8 ; 248 7370: 12 e0 ldi r17, 0x02 ; 2 7372: 39 2d mov r19, r9 7374: 30 71 andi r19, 0x10 ; 16 7376: 93 2e mov r9, r19 7378: f8 01 movw r30, r16 737a: 84 91 lpm r24, Z 737c: 81 11 cpse r24, r1 737e: 21 c0 rjmp .+66 ; 0x73c2 7380: 55 20 and r5, r5 7382: 09 f4 brne .+2 ; 0x7386 7384: fc cc rjmp .-1544 ; 0x6d7e 7386: b7 01 movw r22, r14 7388: 80 e2 ldi r24, 0x20 ; 32 738a: 90 e0 ldi r25, 0x00 ; 0 738c: 9a d1 rcall .+820 ; 0x76c2 738e: 5a 94 dec r5 7390: f7 cf rjmp .-18 ; 0x7380 7392: f7 01 movw r30, r14 7394: 86 81 ldd r24, Z+6 ; 0x06 7396: 97 81 ldd r25, Z+7 ; 0x07 7398: 23 c0 rjmp .+70 ; 0x73e0 739a: 8f ef ldi r24, 0xFF ; 255 739c: 9f ef ldi r25, 0xFF ; 255 739e: 20 c0 rjmp .+64 ; 0x73e0 73a0: b7 01 movw r22, r14 73a2: 80 e2 ldi r24, 0x20 ; 32 73a4: 90 e0 ldi r25, 0x00 ; 0 73a6: 8d d1 rcall .+794 ; 0x76c2 73a8: 5a 94 dec r5 73aa: 51 10 cpse r5, r1 73ac: f9 cf rjmp .-14 ; 0x73a0 73ae: da cf rjmp .-76 ; 0x7364 73b0: 51 2c mov r5, r1 73b2: b7 01 movw r22, r14 73b4: 80 2f mov r24, r16 73b6: 90 e0 ldi r25, 0x00 ; 0 73b8: 84 d1 rcall .+776 ; 0x76c2 73ba: d6 cf rjmp .-84 ; 0x7368 73bc: 0c ef ldi r16, 0xFC ; 252 73be: 12 e0 ldi r17, 0x02 ; 2 73c0: d8 cf rjmp .-80 ; 0x7372 73c2: 91 10 cpse r9, r1 73c4: 80 52 subi r24, 0x20 ; 32 73c6: b7 01 movw r22, r14 73c8: 90 e0 ldi r25, 0x00 ; 0 73ca: 7b d1 rcall .+758 ; 0x76c2 73cc: 0f 5f subi r16, 0xFF ; 255 73ce: 1f 4f sbci r17, 0xFF ; 255 73d0: d3 cf rjmp .-90 ; 0x7378 73d2: 23 e0 ldi r18, 0x03 ; 3 73d4: 25 15 cp r18, r5 73d6: 10 f4 brcc .+4 ; 0x73dc 73d8: 83 e0 ldi r24, 0x03 ; 3 73da: c1 cf rjmp .-126 ; 0x735e 73dc: 51 2c mov r5, r1 73de: c4 cf rjmp .-120 ; 0x7368 73e0: 60 96 adiw r28, 0x10 ; 16 73e2: cd bf out 0x3d, r28 ; 61 73e4: de bf out 0x3e, r29 ; 62 73e6: df 91 pop r29 73e8: cf 91 pop r28 73ea: 1f 91 pop r17 73ec: 0f 91 pop r16 73ee: ff 90 pop r15 73f0: ef 90 pop r14 73f2: df 90 pop r13 73f4: cf 90 pop r12 73f6: bf 90 pop r11 73f8: af 90 pop r10 73fa: 9f 90 pop r9 73fc: 8f 90 pop r8 73fe: 7f 90 pop r7 7400: 6f 90 pop r6 7402: 5f 90 pop r5 7404: 4f 90 pop r4 7406: 3f 90 pop r3 7408: 2f 90 pop r2 740a: 08 95 ret 0000740c <__udivmodhi4>: 740c: aa 1b sub r26, r26 740e: bb 1b sub r27, r27 7410: 51 e1 ldi r21, 0x11 ; 17 7412: 07 c0 rjmp .+14 ; 0x7422 <__udivmodhi4_ep> 00007414 <__udivmodhi4_loop>: 7414: aa 1f adc r26, r26 7416: bb 1f adc r27, r27 7418: a6 17 cp r26, r22 741a: b7 07 cpc r27, r23 741c: 10 f0 brcs .+4 ; 0x7422 <__udivmodhi4_ep> 741e: a6 1b sub r26, r22 7420: b7 0b sbc r27, r23 00007422 <__udivmodhi4_ep>: 7422: 88 1f adc r24, r24 7424: 99 1f adc r25, r25 7426: 5a 95 dec r21 7428: a9 f7 brne .-22 ; 0x7414 <__udivmodhi4_loop> 742a: 80 95 com r24 742c: 90 95 com r25 742e: bc 01 movw r22, r24 7430: cd 01 movw r24, r26 7432: 08 95 ret 00007434 <__divmodhi4>: 7434: 97 fb bst r25, 7 7436: 07 2e mov r0, r23 7438: 16 f4 brtc .+4 ; 0x743e <__divmodhi4+0xa> 743a: 00 94 com r0 743c: 06 d0 rcall .+12 ; 0x744a <__divmodhi4_neg1> 743e: 77 fd sbrc r23, 7 7440: 08 d0 rcall .+16 ; 0x7452 <__divmodhi4_neg2> 7442: e4 df rcall .-56 ; 0x740c <__udivmodhi4> 7444: 07 fc sbrc r0, 7 7446: 05 d0 rcall .+10 ; 0x7452 <__divmodhi4_neg2> 7448: 3e f4 brtc .+14 ; 0x7458 <__divmodhi4_exit> 0000744a <__divmodhi4_neg1>: 744a: 90 95 com r25 744c: 81 95 neg r24 744e: 9f 4f sbci r25, 0xFF ; 255 7450: 08 95 ret 00007452 <__divmodhi4_neg2>: 7452: 70 95 com r23 7454: 61 95 neg r22 7456: 7f 4f sbci r23, 0xFF ; 255 00007458 <__divmodhi4_exit>: 7458: 08 95 ret 0000745a <__udivmodsi4>: 745a: a1 e2 ldi r26, 0x21 ; 33 745c: 1a 2e mov r1, r26 745e: aa 1b sub r26, r26 7460: bb 1b sub r27, r27 7462: fd 01 movw r30, r26 7464: 0d c0 rjmp .+26 ; 0x7480 <__udivmodsi4_ep> 00007466 <__udivmodsi4_loop>: 7466: aa 1f adc r26, r26 7468: bb 1f adc r27, r27 746a: ee 1f adc r30, r30 746c: ff 1f adc r31, r31 746e: a2 17 cp r26, r18 7470: b3 07 cpc r27, r19 7472: e4 07 cpc r30, r20 7474: f5 07 cpc r31, r21 7476: 20 f0 brcs .+8 ; 0x7480 <__udivmodsi4_ep> 7478: a2 1b sub r26, r18 747a: b3 0b sbc r27, r19 747c: e4 0b sbc r30, r20 747e: f5 0b sbc r31, r21 00007480 <__udivmodsi4_ep>: 7480: 66 1f adc r22, r22 7482: 77 1f adc r23, r23 7484: 88 1f adc r24, r24 7486: 99 1f adc r25, r25 7488: 1a 94 dec r1 748a: 69 f7 brne .-38 ; 0x7466 <__udivmodsi4_loop> 748c: 60 95 com r22 748e: 70 95 com r23 7490: 80 95 com r24 7492: 90 95 com r25 7494: 9b 01 movw r18, r22 7496: ac 01 movw r20, r24 7498: bd 01 movw r22, r26 749a: cf 01 movw r24, r30 749c: 08 95 ret 0000749e <__tablejump2__>: 749e: ee 0f add r30, r30 74a0: ff 1f adc r31, r31 74a2: 88 1f adc r24, r24 74a4: 8b bf out 0x3b, r24 ; 59 74a6: 07 90 elpm r0, Z+ 74a8: f6 91 elpm r31, Z 74aa: e0 2d mov r30, r0 74ac: 1b be out 0x3b, r1 ; 59 74ae: 19 94 eijmp 000074b0 <__umulhisi3>: 74b0: a2 9f mul r26, r18 74b2: b0 01 movw r22, r0 74b4: b3 9f mul r27, r19 74b6: c0 01 movw r24, r0 74b8: a3 9f mul r26, r19 74ba: 70 0d add r23, r0 74bc: 81 1d adc r24, r1 74be: 11 24 eor r1, r1 74c0: 91 1d adc r25, r1 74c2: b2 9f mul r27, r18 74c4: 70 0d add r23, r0 74c6: 81 1d adc r24, r1 74c8: 11 24 eor r1, r1 74ca: 91 1d adc r25, r1 74cc: 08 95 ret 000074ce <__adddi3_s8>: 74ce: 00 24 eor r0, r0 74d0: a7 fd sbrc r26, 7 74d2: 00 94 com r0 74d4: 2a 0f add r18, r26 74d6: 30 1d adc r19, r0 74d8: 40 1d adc r20, r0 74da: 50 1d adc r21, r0 74dc: 60 1d adc r22, r0 74de: 70 1d adc r23, r0 74e0: 80 1d adc r24, r0 74e2: 90 1d adc r25, r0 74e4: 08 95 ret 000074e6 <__ftoa_engine>: 74e6: 28 30 cpi r18, 0x08 ; 8 74e8: 08 f0 brcs .+2 ; 0x74ec <__ftoa_engine+0x6> 74ea: 27 e0 ldi r18, 0x07 ; 7 74ec: 33 27 eor r19, r19 74ee: da 01 movw r26, r20 74f0: 99 0f add r25, r25 74f2: 31 1d adc r19, r1 74f4: 87 fd sbrc r24, 7 74f6: 91 60 ori r25, 0x01 ; 1 74f8: 00 96 adiw r24, 0x00 ; 0 74fa: 61 05 cpc r22, r1 74fc: 71 05 cpc r23, r1 74fe: 39 f4 brne .+14 ; 0x750e <__ftoa_engine+0x28> 7500: 32 60 ori r19, 0x02 ; 2 7502: 2e 5f subi r18, 0xFE ; 254 7504: 3d 93 st X+, r19 7506: 30 e3 ldi r19, 0x30 ; 48 7508: 2a 95 dec r18 750a: e1 f7 brne .-8 ; 0x7504 <__ftoa_engine+0x1e> 750c: 08 95 ret 750e: 9f 3f cpi r25, 0xFF ; 255 7510: 30 f0 brcs .+12 ; 0x751e <__ftoa_engine+0x38> 7512: 80 38 cpi r24, 0x80 ; 128 7514: 71 05 cpc r23, r1 7516: 61 05 cpc r22, r1 7518: 09 f0 breq .+2 ; 0x751c <__ftoa_engine+0x36> 751a: 3c 5f subi r19, 0xFC ; 252 751c: 3c 5f subi r19, 0xFC ; 252 751e: 3d 93 st X+, r19 7520: 91 30 cpi r25, 0x01 ; 1 7522: 08 f0 brcs .+2 ; 0x7526 <__ftoa_engine+0x40> 7524: 80 68 ori r24, 0x80 ; 128 7526: 91 1d adc r25, r1 7528: df 93 push r29 752a: cf 93 push r28 752c: 1f 93 push r17 752e: 0f 93 push r16 7530: ff 92 push r15 7532: ef 92 push r14 7534: 19 2f mov r17, r25 7536: 98 7f andi r25, 0xF8 ; 248 7538: 96 95 lsr r25 753a: e9 2f mov r30, r25 753c: 96 95 lsr r25 753e: 96 95 lsr r25 7540: e9 0f add r30, r25 7542: ff 27 eor r31, r31 7544: e6 5a subi r30, 0xA6 ; 166 7546: fc 4f sbci r31, 0xFC ; 252 7548: 99 27 eor r25, r25 754a: 33 27 eor r19, r19 754c: ee 24 eor r14, r14 754e: ff 24 eor r15, r15 7550: a7 01 movw r20, r14 7552: e7 01 movw r28, r14 7554: 05 90 lpm r0, Z+ 7556: 08 94 sec 7558: 07 94 ror r0 755a: 28 f4 brcc .+10 ; 0x7566 <__ftoa_engine+0x80> 755c: 36 0f add r19, r22 755e: e7 1e adc r14, r23 7560: f8 1e adc r15, r24 7562: 49 1f adc r20, r25 7564: 51 1d adc r21, r1 7566: 66 0f add r22, r22 7568: 77 1f adc r23, r23 756a: 88 1f adc r24, r24 756c: 99 1f adc r25, r25 756e: 06 94 lsr r0 7570: a1 f7 brne .-24 ; 0x755a <__ftoa_engine+0x74> 7572: 05 90 lpm r0, Z+ 7574: 07 94 ror r0 7576: 28 f4 brcc .+10 ; 0x7582 <__ftoa_engine+0x9c> 7578: e7 0e add r14, r23 757a: f8 1e adc r15, r24 757c: 49 1f adc r20, r25 757e: 56 1f adc r21, r22 7580: c1 1d adc r28, r1 7582: 77 0f add r23, r23 7584: 88 1f adc r24, r24 7586: 99 1f adc r25, r25 7588: 66 1f adc r22, r22 758a: 06 94 lsr r0 758c: a1 f7 brne .-24 ; 0x7576 <__ftoa_engine+0x90> 758e: 05 90 lpm r0, Z+ 7590: 07 94 ror r0 7592: 28 f4 brcc .+10 ; 0x759e <__ftoa_engine+0xb8> 7594: f8 0e add r15, r24 7596: 49 1f adc r20, r25 7598: 56 1f adc r21, r22 759a: c7 1f adc r28, r23 759c: d1 1d adc r29, r1 759e: 88 0f add r24, r24 75a0: 99 1f adc r25, r25 75a2: 66 1f adc r22, r22 75a4: 77 1f adc r23, r23 75a6: 06 94 lsr r0 75a8: a1 f7 brne .-24 ; 0x7592 <__ftoa_engine+0xac> 75aa: 05 90 lpm r0, Z+ 75ac: 07 94 ror r0 75ae: 20 f4 brcc .+8 ; 0x75b8 <__ftoa_engine+0xd2> 75b0: 49 0f add r20, r25 75b2: 56 1f adc r21, r22 75b4: c7 1f adc r28, r23 75b6: d8 1f adc r29, r24 75b8: 99 0f add r25, r25 75ba: 66 1f adc r22, r22 75bc: 77 1f adc r23, r23 75be: 88 1f adc r24, r24 75c0: 06 94 lsr r0 75c2: a9 f7 brne .-22 ; 0x75ae <__ftoa_engine+0xc8> 75c4: 84 91 lpm r24, Z 75c6: 10 95 com r17 75c8: 17 70 andi r17, 0x07 ; 7 75ca: 41 f0 breq .+16 ; 0x75dc <__ftoa_engine+0xf6> 75cc: d6 95 lsr r29 75ce: c7 95 ror r28 75d0: 57 95 ror r21 75d2: 47 95 ror r20 75d4: f7 94 ror r15 75d6: e7 94 ror r14 75d8: 1a 95 dec r17 75da: c1 f7 brne .-16 ; 0x75cc <__ftoa_engine+0xe6> 75dc: e0 e0 ldi r30, 0x00 ; 0 75de: f3 e0 ldi r31, 0x03 ; 3 75e0: 68 94 set 75e2: 15 90 lpm r1, Z+ 75e4: 15 91 lpm r17, Z+ 75e6: 35 91 lpm r19, Z+ 75e8: 65 91 lpm r22, Z+ 75ea: 95 91 lpm r25, Z+ 75ec: 05 90 lpm r0, Z+ 75ee: 7f e2 ldi r23, 0x2F ; 47 75f0: 73 95 inc r23 75f2: e1 18 sub r14, r1 75f4: f1 0a sbc r15, r17 75f6: 43 0b sbc r20, r19 75f8: 56 0b sbc r21, r22 75fa: c9 0b sbc r28, r25 75fc: d0 09 sbc r29, r0 75fe: c0 f7 brcc .-16 ; 0x75f0 <__ftoa_engine+0x10a> 7600: e1 0c add r14, r1 7602: f1 1e adc r15, r17 7604: 43 1f adc r20, r19 7606: 56 1f adc r21, r22 7608: c9 1f adc r28, r25 760a: d0 1d adc r29, r0 760c: 7e f4 brtc .+30 ; 0x762c <__ftoa_engine+0x146> 760e: 70 33 cpi r23, 0x30 ; 48 7610: 11 f4 brne .+4 ; 0x7616 <__ftoa_engine+0x130> 7612: 8a 95 dec r24 7614: e6 cf rjmp .-52 ; 0x75e2 <__ftoa_engine+0xfc> 7616: e8 94 clt 7618: 01 50 subi r16, 0x01 ; 1 761a: 30 f0 brcs .+12 ; 0x7628 <__ftoa_engine+0x142> 761c: 08 0f add r16, r24 761e: 0a f4 brpl .+2 ; 0x7622 <__ftoa_engine+0x13c> 7620: 00 27 eor r16, r16 7622: 02 17 cp r16, r18 7624: 08 f4 brcc .+2 ; 0x7628 <__ftoa_engine+0x142> 7626: 20 2f mov r18, r16 7628: 23 95 inc r18 762a: 02 2f mov r16, r18 762c: 7a 33 cpi r23, 0x3A ; 58 762e: 28 f0 brcs .+10 ; 0x763a <__ftoa_engine+0x154> 7630: 79 e3 ldi r23, 0x39 ; 57 7632: 7d 93 st X+, r23 7634: 2a 95 dec r18 7636: e9 f7 brne .-6 ; 0x7632 <__ftoa_engine+0x14c> 7638: 10 c0 rjmp .+32 ; 0x765a <__ftoa_engine+0x174> 763a: 7d 93 st X+, r23 763c: 2a 95 dec r18 763e: 89 f6 brne .-94 ; 0x75e2 <__ftoa_engine+0xfc> 7640: 06 94 lsr r0 7642: 97 95 ror r25 7644: 67 95 ror r22 7646: 37 95 ror r19 7648: 17 95 ror r17 764a: 17 94 ror r1 764c: e1 18 sub r14, r1 764e: f1 0a sbc r15, r17 7650: 43 0b sbc r20, r19 7652: 56 0b sbc r21, r22 7654: c9 0b sbc r28, r25 7656: d0 09 sbc r29, r0 7658: 98 f0 brcs .+38 ; 0x7680 <__ftoa_engine+0x19a> 765a: 23 95 inc r18 765c: 7e 91 ld r23, -X 765e: 73 95 inc r23 7660: 7a 33 cpi r23, 0x3A ; 58 7662: 08 f0 brcs .+2 ; 0x7666 <__ftoa_engine+0x180> 7664: 70 e3 ldi r23, 0x30 ; 48 7666: 7c 93 st X, r23 7668: 20 13 cpse r18, r16 766a: b8 f7 brcc .-18 ; 0x765a <__ftoa_engine+0x174> 766c: 7e 91 ld r23, -X 766e: 70 61 ori r23, 0x10 ; 16 7670: 7d 93 st X+, r23 7672: 30 f0 brcs .+12 ; 0x7680 <__ftoa_engine+0x19a> 7674: 83 95 inc r24 7676: 71 e3 ldi r23, 0x31 ; 49 7678: 7d 93 st X+, r23 767a: 70 e3 ldi r23, 0x30 ; 48 767c: 2a 95 dec r18 767e: e1 f7 brne .-8 ; 0x7678 <__ftoa_engine+0x192> 7680: 11 24 eor r1, r1 7682: ef 90 pop r14 7684: ff 90 pop r15 7686: 0f 91 pop r16 7688: 1f 91 pop r17 768a: cf 91 pop r28 768c: df 91 pop r29 768e: 99 27 eor r25, r25 7690: 87 fd sbrc r24, 7 7692: 90 95 com r25 7694: 08 95 ret 00007696 : 7696: fc 01 movw r30, r24 7698: 05 90 lpm r0, Z+ 769a: 61 50 subi r22, 0x01 ; 1 769c: 70 40 sbci r23, 0x00 ; 0 769e: 01 10 cpse r0, r1 76a0: d8 f7 brcc .-10 ; 0x7698 76a2: 80 95 com r24 76a4: 90 95 com r25 76a6: 8e 0f add r24, r30 76a8: 9f 1f adc r25, r31 76aa: 08 95 ret 000076ac : 76ac: fc 01 movw r30, r24 76ae: 61 50 subi r22, 0x01 ; 1 76b0: 70 40 sbci r23, 0x00 ; 0 76b2: 01 90 ld r0, Z+ 76b4: 01 10 cpse r0, r1 76b6: d8 f7 brcc .-10 ; 0x76ae 76b8: 80 95 com r24 76ba: 90 95 com r25 76bc: 8e 0f add r24, r30 76be: 9f 1f adc r25, r31 76c0: 08 95 ret 000076c2 : 76c2: 0f 93 push r16 76c4: 1f 93 push r17 76c6: cf 93 push r28 76c8: df 93 push r29 76ca: fb 01 movw r30, r22 76cc: 23 81 ldd r18, Z+3 ; 0x03 76ce: 21 fd sbrc r18, 1 76d0: 03 c0 rjmp .+6 ; 0x76d8 76d2: 8f ef ldi r24, 0xFF ; 255 76d4: 9f ef ldi r25, 0xFF ; 255 76d6: 2c c0 rjmp .+88 ; 0x7730 76d8: 22 ff sbrs r18, 2 76da: 16 c0 rjmp .+44 ; 0x7708 76dc: 46 81 ldd r20, Z+6 ; 0x06 76de: 57 81 ldd r21, Z+7 ; 0x07 76e0: 24 81 ldd r18, Z+4 ; 0x04 76e2: 35 81 ldd r19, Z+5 ; 0x05 76e4: 42 17 cp r20, r18 76e6: 53 07 cpc r21, r19 76e8: 44 f4 brge .+16 ; 0x76fa 76ea: a0 81 ld r26, Z 76ec: b1 81 ldd r27, Z+1 ; 0x01 76ee: 9d 01 movw r18, r26 76f0: 2f 5f subi r18, 0xFF ; 255 76f2: 3f 4f sbci r19, 0xFF ; 255 76f4: 20 83 st Z, r18 76f6: 31 83 std Z+1, r19 ; 0x01 76f8: 8c 93 st X, r24 76fa: 26 81 ldd r18, Z+6 ; 0x06 76fc: 37 81 ldd r19, Z+7 ; 0x07 76fe: 2f 5f subi r18, 0xFF ; 255 7700: 3f 4f sbci r19, 0xFF ; 255 7702: 26 83 std Z+6, r18 ; 0x06 7704: 37 83 std Z+7, r19 ; 0x07 7706: 14 c0 rjmp .+40 ; 0x7730 7708: 8b 01 movw r16, r22 770a: ec 01 movw r28, r24 770c: fb 01 movw r30, r22 770e: 00 84 ldd r0, Z+8 ; 0x08 7710: f1 85 ldd r31, Z+9 ; 0x09 7712: e0 2d mov r30, r0 7714: 19 95 eicall 7716: 89 2b or r24, r25 7718: e1 f6 brne .-72 ; 0x76d2 771a: d8 01 movw r26, r16 771c: 16 96 adiw r26, 0x06 ; 6 771e: 8d 91 ld r24, X+ 7720: 9c 91 ld r25, X 7722: 17 97 sbiw r26, 0x07 ; 7 7724: 01 96 adiw r24, 0x01 ; 1 7726: 16 96 adiw r26, 0x06 ; 6 7728: 8d 93 st X+, r24 772a: 9c 93 st X, r25 772c: 17 97 sbiw r26, 0x07 ; 7 772e: ce 01 movw r24, r28 7730: df 91 pop r29 7732: cf 91 pop r28 7734: 1f 91 pop r17 7736: 0f 91 pop r16 7738: 08 95 ret 0000773a : 773a: 0f 93 push r16 773c: 1f 93 push r17 773e: cf 93 push r28 7740: df 93 push r29 7742: cd b7 in r28, 0x3d ; 61 7744: de b7 in r29, 0x3e ; 62 7746: 2e 97 sbiw r28, 0x0e ; 14 7748: cd bf out 0x3d, r28 ; 61 774a: de bf out 0x3e, r29 ; 62 774c: 8c 01 movw r16, r24 774e: 86 e0 ldi r24, 0x06 ; 6 7750: 8c 83 std Y+4, r24 ; 0x04 7752: 09 83 std Y+1, r16 ; 0x01 7754: 1a 83 std Y+2, r17 ; 0x02 7756: 8f ef ldi r24, 0xFF ; 255 7758: 9f e7 ldi r25, 0x7F ; 127 775a: 8d 83 std Y+5, r24 ; 0x05 775c: 9e 83 std Y+6, r25 ; 0x06 775e: ce 01 movw r24, r28 7760: 01 96 adiw r24, 0x01 ; 1 7762: d1 da rcall .-2654 ; 0x6d06 7764: ef 81 ldd r30, Y+7 ; 0x07 7766: f8 85 ldd r31, Y+8 ; 0x08 7768: e0 0f add r30, r16 776a: f1 1f adc r31, r17 776c: 10 82 st Z, r1 776e: 2e 96 adiw r28, 0x0e ; 14 7770: cd bf out 0x3d, r28 ; 61 7772: de bf out 0x3e, r29 ; 62 7774: df 91 pop r29 7776: cf 91 pop r28 7778: 1f 91 pop r17 777a: 0f 91 pop r16 777c: 08 95 ret 0000777e <__ultoa_invert>: 777e: fa 01 movw r30, r20 7780: aa 27 eor r26, r26 7782: 28 30 cpi r18, 0x08 ; 8 7784: 51 f1 breq .+84 ; 0x77da <__ultoa_invert+0x5c> 7786: 20 31 cpi r18, 0x10 ; 16 7788: 81 f1 breq .+96 ; 0x77ea <__ultoa_invert+0x6c> 778a: e8 94 clt 778c: 6f 93 push r22 778e: 6e 7f andi r22, 0xFE ; 254 7790: 6e 5f subi r22, 0xFE ; 254 7792: 7f 4f sbci r23, 0xFF ; 255 7794: 8f 4f sbci r24, 0xFF ; 255 7796: 9f 4f sbci r25, 0xFF ; 255 7798: af 4f sbci r26, 0xFF ; 255 779a: b1 e0 ldi r27, 0x01 ; 1 779c: 3e d0 rcall .+124 ; 0x781a <__ultoa_invert+0x9c> 779e: b4 e0 ldi r27, 0x04 ; 4 77a0: 3c d0 rcall .+120 ; 0x781a <__ultoa_invert+0x9c> 77a2: 67 0f add r22, r23 77a4: 78 1f adc r23, r24 77a6: 89 1f adc r24, r25 77a8: 9a 1f adc r25, r26 77aa: a1 1d adc r26, r1 77ac: 68 0f add r22, r24 77ae: 79 1f adc r23, r25 77b0: 8a 1f adc r24, r26 77b2: 91 1d adc r25, r1 77b4: a1 1d adc r26, r1 77b6: 6a 0f add r22, r26 77b8: 71 1d adc r23, r1 77ba: 81 1d adc r24, r1 77bc: 91 1d adc r25, r1 77be: a1 1d adc r26, r1 77c0: 20 d0 rcall .+64 ; 0x7802 <__ultoa_invert+0x84> 77c2: 09 f4 brne .+2 ; 0x77c6 <__ultoa_invert+0x48> 77c4: 68 94 set 77c6: 3f 91 pop r19 77c8: 2a e0 ldi r18, 0x0A ; 10 77ca: 26 9f mul r18, r22 77cc: 11 24 eor r1, r1 77ce: 30 19 sub r19, r0 77d0: 30 5d subi r19, 0xD0 ; 208 77d2: 31 93 st Z+, r19 77d4: de f6 brtc .-74 ; 0x778c <__ultoa_invert+0xe> 77d6: cf 01 movw r24, r30 77d8: 08 95 ret 77da: 46 2f mov r20, r22 77dc: 47 70 andi r20, 0x07 ; 7 77de: 40 5d subi r20, 0xD0 ; 208 77e0: 41 93 st Z+, r20 77e2: b3 e0 ldi r27, 0x03 ; 3 77e4: 0f d0 rcall .+30 ; 0x7804 <__ultoa_invert+0x86> 77e6: c9 f7 brne .-14 ; 0x77da <__ultoa_invert+0x5c> 77e8: f6 cf rjmp .-20 ; 0x77d6 <__ultoa_invert+0x58> 77ea: 46 2f mov r20, r22 77ec: 4f 70 andi r20, 0x0F ; 15 77ee: 40 5d subi r20, 0xD0 ; 208 77f0: 4a 33 cpi r20, 0x3A ; 58 77f2: 18 f0 brcs .+6 ; 0x77fa <__ultoa_invert+0x7c> 77f4: 49 5d subi r20, 0xD9 ; 217 77f6: 31 fd sbrc r19, 1 77f8: 40 52 subi r20, 0x20 ; 32 77fa: 41 93 st Z+, r20 77fc: 02 d0 rcall .+4 ; 0x7802 <__ultoa_invert+0x84> 77fe: a9 f7 brne .-22 ; 0x77ea <__ultoa_invert+0x6c> 7800: ea cf rjmp .-44 ; 0x77d6 <__ultoa_invert+0x58> 7802: b4 e0 ldi r27, 0x04 ; 4 7804: a6 95 lsr r26 7806: 97 95 ror r25 7808: 87 95 ror r24 780a: 77 95 ror r23 780c: 67 95 ror r22 780e: ba 95 dec r27 7810: c9 f7 brne .-14 ; 0x7804 <__ultoa_invert+0x86> 7812: 00 97 sbiw r24, 0x00 ; 0 7814: 61 05 cpc r22, r1 7816: 71 05 cpc r23, r1 7818: 08 95 ret 781a: 9b 01 movw r18, r22 781c: ac 01 movw r20, r24 781e: 0a 2e mov r0, r26 7820: 06 94 lsr r0 7822: 57 95 ror r21 7824: 47 95 ror r20 7826: 37 95 ror r19 7828: 27 95 ror r18 782a: ba 95 dec r27 782c: c9 f7 brne .-14 ; 0x7820 <__ultoa_invert+0xa2> 782e: 62 0f add r22, r18 7830: 73 1f adc r23, r19 7832: 84 1f adc r24, r20 7834: 95 1f adc r25, r21 7836: a0 1d adc r26, r0 7838: 08 95 ret 0000783a <_exit>: 783a: f8 94 cli 0000783c <__stop_program>: 783c: ff cf rjmp .-2 ; 0x783c <__stop_program>