From 46d113259ae27564824a7a3ad90fa896f68802e0 Mon Sep 17 00:00:00 2001 From: EspoTek Date: Tue, 20 Dec 2016 10:52:21 +1100 Subject: [PATCH] Fixed Logic Analyzer CH2 --- AVR Code/.vs/USB_BULK_TEST/v14/.atsuo | Bin 201728 -> 211456 bytes .../USB_BULK_TEST/Debug/USB_BULK_TEST.elf | Bin 363944 -> 364012 bytes .../USB_BULK_TEST/Debug/USB_BULK_TEST.hex | 1373 +-- .../USB_BULK_TEST/Debug/USB_BULK_TEST.lss | 9669 +++++++++-------- .../USB_BULK_TEST/Debug/USB_BULK_TEST.map | 460 +- .../USB_BULK_TEST/Debug/USB_BULK_TEST.srec | 1373 +-- .../src/ASF/common/services/usb/udc/udc.o | Bin 322520 -> 322496 bytes AVR Code/USB_BULK_TEST/Debug/src/main.o | Bin 294108 -> 294084 bytes AVR Code/USB_BULK_TEST/Debug/src/tiny_adc.o | Bin 291768 -> 291928 bytes AVR Code/USB_BULK_TEST/Debug/src/tiny_dig.o | Bin 277544 -> 277520 bytes AVR Code/USB_BULK_TEST/Debug/src/tiny_dma.o | Bin 314064 -> 314040 bytes AVR Code/USB_BULK_TEST/Debug/src/tiny_timer.o | Bin 298392 -> 298392 bytes AVR Code/USB_BULK_TEST/Debug/src/tiny_uart.o | Bin 283380 -> 283380 bytes .../USB_BULK_TEST/Release/USB_BULK_TEST.elf | Bin 22748 -> 22892 bytes .../USB_BULK_TEST/Release/USB_BULK_TEST.hex | 1254 +-- .../USB_BULK_TEST/Release/USB_BULK_TEST.lss | 8518 +++++++-------- .../USB_BULK_TEST/Release/USB_BULK_TEST.map | 652 +- .../USB_BULK_TEST/Release/USB_BULK_TEST.srec | 1254 +-- AVR Code/USB_BULK_TEST/Release/src/main.o | Bin 5776 -> 5804 bytes AVR Code/USB_BULK_TEST/Release/src/tiny_dma.o | Bin 7964 -> 8368 bytes .../USB_BULK_TEST/Release/src/tiny_timer.o | Bin 1524 -> 1544 bytes .../USB_BULK_TEST/Release/src/tiny_uart.o | Bin 1168 -> 1160 bytes AVR Code/USB_BULK_TEST/src/globals.h | 2 +- AVR Code/USB_BULK_TEST/src/main.c | 15 +- AVR Code/USB_BULK_TEST/src/tiny_dma.c | 111 +- AVR Code/USB_BULK_TEST/src/tiny_timer.c | 5 +- AVR Code/USB_BULK_TEST/src/tiny_uart.c | 18 +- Desktop Interface/Labrador.pro.user | 2 +- Desktop Interface/Thumbs.db | Bin 3072 -> 4096 bytes 29 files changed, 12405 insertions(+), 12301 deletions(-) diff --git a/AVR Code/.vs/USB_BULK_TEST/v14/.atsuo b/AVR Code/.vs/USB_BULK_TEST/v14/.atsuo index f1b748b5dec6e262c4eaf710ac65af7ad11f8493..83dc9145d4ddc39fbcbd0956a4c5f4d0e383fcfb 100644 GIT binary patch delta 7292 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 delta 6826 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 Yr)l7{6V;|6rS_sH!3i;Qnriod0L=^#z5oCK delta 64483 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 hg<^F>bR@-Di~ 16: 00 00 nop - 18: 00 c6 rjmp .+3072 ; 0xc1a <__vector_6> + 18: 06 c6 rjmp .+3084 ; 0xc26 <__vector_6> 1a: 00 00 nop - 1c: 36 c7 rjmp .+3692 ; 0xe8a <__vector_7> + 1c: 3c c7 rjmp .+3704 ; 0xe96 <__vector_7> 1e: 00 00 nop 20: 40 c1 rjmp .+640 ; 0x2a2 <__bad_interrupt> 22: 00 00 nop - 24: a1 c7 rjmp .+3906 ; 0xf68 <__vector_9> + 24: a7 c7 rjmp .+3918 ; 0xf74 <__vector_9> 26: 00 00 nop 28: 3c c1 rjmp .+632 ; 0x2a2 <__bad_interrupt> 2a: 00 00 nop @@ -83,7 +83,7 @@ Disassembly of section .text: 5a: 00 00 nop 5c: 22 c1 rjmp .+580 ; 0x2a2 <__bad_interrupt> 5e: 00 00 nop - 60: 0c 94 d2 08 jmp 0x11a4 ; 0x11a4 <__vector_24> + 60: 0c 94 dd 08 jmp 0x11ba ; 0x11ba <__vector_24> 64: 1e c1 rjmp .+572 ; 0x2a2 <__bad_interrupt> 66: 00 00 nop 68: 1c c1 rjmp .+568 ; 0x2a2 <__bad_interrupt> @@ -200,7 +200,7 @@ Disassembly of section .text: 146: 00 00 nop 148: ac c0 rjmp .+344 ; 0x2a2 <__bad_interrupt> 14a: 00 00 nop - 14c: 8d c7 rjmp .+3866 ; 0x1068 <__vector_83> + 14c: 93 c7 rjmp .+3878 ; 0x1074 <__vector_83> 14e: 00 00 nop 150: a8 c0 rjmp .+336 ; 0x2a2 <__bad_interrupt> 152: 00 00 nop @@ -284,8 +284,8 @@ Disassembly of section .text: 1ee: 00 00 nop 1f0: 58 c0 rjmp .+176 ; 0x2a2 <__bad_interrupt> 1f2: 00 00 nop - 1f4: 0c 94 7a 14 jmp 0x28f4 ; 0x28f4 <__vector_125> - 1f8: 0c 94 34 15 jmp 0x2a68 ; 0x2a68 <__vector_126> + 1f4: 0c 94 85 14 jmp 0x290a ; 0x290a <__vector_125> + 1f8: 0c 94 3f 15 jmp 0x2a7e ; 0x2a7e <__vector_126> 1fc: ce 01 movw r24, r28 1fe: d0 01 movw r26, r0 200: d2 01 movw r26, r4 @@ -294,53 +294,53 @@ Disassembly of section .text: 206: db 01 movw r26, r22 208: d8 01 movw r26, r16 20a: da 01 movw r26, r20 - 20c: 2b 06 cpc r2, r27 - 20e: 52 06 cpc r5, r18 - 210: 79 06 cpc r7, r25 - 212: a0 06 cpc r10, r16 - 214: c7 06 cpc r12, r23 - 216: 37 07 cpc r19, r23 - 218: ee 06 cpc r14, r30 - 21a: 13 07 cpc r17, r19 - 21c: 59 0b sbc r21, r25 - 21e: 5b 0b sbc r21, r27 - 220: 99 0b sbc r25, r25 - 222: d8 0b sbc r29, r24 - 224: e1 0b sbc r30, r17 - 226: e6 0b sbc r30, r22 - 228: 3b 0c add r3, r11 - 22a: 40 0c add r4, r0 - 22c: 87 0b sbc r24, r23 - 22e: 8a 0b sbc r24, r26 - 230: 8d 0b sbc r24, r29 - 232: 8f 0b sbc r24, r31 - 234: 91 0b sbc r25, r17 - 236: 93 0b sbc r25, r19 - 238: 95 0b sbc r25, r21 - 23a: 97 0b sbc r25, r23 - 23c: c5 0b sbc r28, r21 - 23e: c8 0b sbc r28, r24 - 240: cb 0b sbc r28, r27 - 242: ce 0b sbc r28, r30 - 244: d0 0b sbc r29, r16 - 246: d2 0b sbc r29, r18 - 248: d4 0b sbc r29, r20 - 24a: d6 0b sbc r29, r22 - 24c: f2 0b sbc r31, r18 - 24e: fd 0b sbc r31, r29 - 250: 08 0c add r0, r8 - 252: 17 0c add r1, r7 - 254: 1a 0c add r1, r10 - 256: 1c 0c add r1, r12 - 258: 26 0c add r2, r6 - 25a: 30 0c add r3, r0 - 25c: b8 0f add r27, r24 - 25e: bb 0f add r27, r27 - 260: be 0f add r27, r30 - 262: c1 0f add r28, r17 - 264: c4 0f add r28, r20 - 266: c7 0f add r28, r23 - 268: ca 0f add r28, r26 + 20c: 31 06 cpc r3, r17 + 20e: 58 06 cpc r5, r24 + 210: 7f 06 cpc r7, r31 + 212: a6 06 cpc r10, r22 + 214: cd 06 cpc r12, r29 + 216: 3d 07 cpc r19, r29 + 218: f4 06 cpc r15, r20 + 21a: 19 07 cpc r17, r25 + 21c: 64 0b sbc r22, r20 + 21e: 66 0b sbc r22, r22 + 220: a4 0b sbc r26, r20 + 222: e3 0b sbc r30, r19 + 224: ec 0b sbc r30, r28 + 226: f1 0b sbc r31, r17 + 228: 46 0c add r4, r6 + 22a: 4b 0c add r4, r11 + 22c: 92 0b sbc r25, r18 + 22e: 95 0b sbc r25, r21 + 230: 98 0b sbc r25, r24 + 232: 9a 0b sbc r25, r26 + 234: 9c 0b sbc r25, r28 + 236: 9e 0b sbc r25, r30 + 238: a0 0b sbc r26, r16 + 23a: a2 0b sbc r26, r18 + 23c: d0 0b sbc r29, r16 + 23e: d3 0b sbc r29, r19 + 240: d6 0b sbc r29, r22 + 242: d9 0b sbc r29, r25 + 244: db 0b sbc r29, r27 + 246: dd 0b sbc r29, r29 + 248: df 0b sbc r29, r31 + 24a: e1 0b sbc r30, r17 + 24c: fd 0b sbc r31, r29 + 24e: 08 0c add r0, r8 + 250: 13 0c add r1, r3 + 252: 22 0c add r2, r2 + 254: 25 0c add r2, r5 + 256: 27 0c add r2, r7 + 258: 31 0c add r3, r1 + 25a: 3b 0c add r3, r11 + 25c: c3 0f add r28, r19 + 25e: c6 0f add r28, r22 + 260: c9 0f add r28, r25 + 262: cc 0f add r28, r28 + 264: cf 0f add r28, r31 + 266: d2 0f add r29, r18 + 268: d5 0f add r29, r21 0000026a <__ctors_end>: 26a: 11 24 eor r1, r1 @@ -354,7 +354,7 @@ Disassembly of section .text: 276: 10 e2 ldi r17, 0x20 ; 32 278: a0 e0 ldi r26, 0x00 ; 0 27a: b0 e2 ldi r27, 0x20 ; 32 - 27c: e6 e8 ldi r30, 0x86 ; 134 + 27c: ec e9 ldi r30, 0x9C ; 156 27e: fc e2 ldi r31, 0x2C ; 44 280: 02 c0 rjmp .+4 ; 0x286 <__do_copy_data+0x10> 282: 05 90 lpm r0, Z+ @@ -377,7 +377,7 @@ Disassembly of section .text: 298: b2 07 cpc r27, r18 29a: e1 f7 brne .-8 ; 0x294 <.do_clear_bss_loop> 29c: 41 d0 rcall .+130 ; 0x320
- 29e: 0c 94 41 16 jmp 0x2c82 ; 0x2c82 <_exit> + 29e: 0c 94 4c 16 jmp 0x2c98 ; 0x2c98 <_exit> 000002a2 <__bad_interrupt>: 2a2: ae ce rjmp .-676 ; 0x0 <__vectors> @@ -428,7 +428,7 @@ void iso_callback(udd_ep_status_t status, iram_size_t nb_transfered, udd_ep_id_t 2cc: 70 e0 ldi r23, 0x00 ; 0 2ce: 86 59 subi r24, 0x96 ; 150 2d0: 99 4d sbci r25, 0xD9 ; 217 - 2d2: 0c 94 ca 09 jmp 0x1394 ; 0x1394 + 2d2: 0c 94 d5 09 jmp 0x13aa ; 0x13aa 2d6: 08 95 ret 000002d8 : @@ -452,7 +452,7 @@ void iso_callback2(udd_ep_status_t status, iram_size_t nb_transfered, udd_ep_id_ 2f0: 70 e0 ldi r23, 0x00 ; 0 2f2: 8c 59 subi r24, 0x9C ; 156 2f4: 98 4d sbci r25, 0xD8 ; 216 - 2f6: 0c 94 d6 09 jmp 0x13ac ; 0x13ac + 2f6: 0c 94 e1 09 jmp 0x13c2 ; 0x13c2 2fa: 08 95 ret 000002fc : @@ -476,7 +476,7 @@ void iso_callback3(udd_ep_status_t status, iram_size_t nb_transfered, udd_ep_id_ 314: 70 e0 ldi r23, 0x00 ; 0 316: 82 5a subi r24, 0xA2 ; 162 318: 97 4d sbci r25, 0xD7 ; 215 - 31a: 0c 94 e2 09 jmp 0x13c4 ; 0x13c4 + 31a: 0c 94 ed 09 jmp 0x13da ; 0x13da 31e: 08 95 ret 00000320
: @@ -491,30 +491,30 @@ int main(void){ cpu_irq_enable(); 326: 78 94 sei sysclk_init(); - 328: 48 d7 rcall .+3728 ; 0x11ba + 328: 53 d7 rcall .+3750 ; 0x11d0 board_init(); 32a: c3 df rcall .-122 ; 0x2b2 udc_start(); - 32c: 0e 94 d9 0a call 0x15b2 ; 0x15b2 + 32c: 0e 94 e4 0a call 0x15c8 ; 0x15c8 tiny_dac_setup(); - 330: d4 d0 rcall .+424 ; 0x4da + 330: da d0 rcall .+436 ; 0x4e6 tiny_dma_setup(); - 332: f7 d0 rcall .+494 ; 0x522 + 332: fd d0 rcall .+506 ; 0x52e tiny_adc_setup(0, 0); 334: 60 e0 ldi r22, 0x00 ; 0 336: 80 e0 ldi r24, 0x00 ; 0 - 338: 93 d0 rcall .+294 ; 0x460 + 338: 99 d0 rcall .+306 ; 0x46c tiny_adc_pid_setup(); - 33a: 7f d0 rcall .+254 ; 0x43a + 33a: 85 d0 rcall .+266 ; 0x446 tiny_adc_ch1setup(12); 33c: 8c e0 ldi r24, 0x0C ; 12 - 33e: 73 d0 rcall .+230 ; 0x426 + 33e: 79 d0 rcall .+242 ; 0x432 tiny_timer_setup(); - 340: 58 d6 rcall .+3248 ; 0xff2 + 340: 5e d6 rcall .+3260 ; 0xffe tiny_uart_setup(); - 342: 09 d7 rcall .+3602 ; 0x1156 + 342: 12 d7 rcall .+3620 ; 0x1168 tiny_spi_setup(); - 344: 20 d7 rcall .+3648 ; 0x1186 + 344: 2b d7 rcall .+3670 ; 0x119c tiny_dig_setup(); 346: ae df rcall .-164 ; 0x2a4 348: 50 91 56 22 lds r21, 0x2256 ; 0x802256 @@ -593,40 +593,40 @@ void main_sof_action(void) 392: fc 01 movw r30, r24 394: e2 50 subi r30, 0x02 ; 2 396: ff 4f sbci r31, 0xFF ; 255 - 398: 0c 94 32 16 jmp 0x2c64 ; 0x2c64 <__tablejump2__> + 398: 0c 94 3d 16 jmp 0x2c7a ; 0x2c7a <__tablejump2__> case 0: tiny_dma_loop_mode_0(); - 39c: 4e d1 rcall .+668 ; 0x63a + 39c: 54 d1 rcall .+680 ; 0x646 break; 39e: 0b c0 rjmp .+22 ; 0x3b6 case 1: tiny_dma_loop_mode_1(); - 3a0: c5 d1 rcall .+906 ; 0x72c + 3a0: cb d1 rcall .+918 ; 0x738 break; 3a2: 09 c0 rjmp .+18 ; 0x3b6 case 2: tiny_dma_loop_mode_2(); - 3a4: 37 d2 rcall .+1134 ; 0x814 + 3a4: 3d d2 rcall .+1146 ; 0x820 break; 3a6: 07 c0 rjmp .+14 ; 0x3b6 case 3: tiny_dma_loop_mode_3(); - 3a8: b2 d2 rcall .+1380 ; 0x90e + 3a8: b8 d2 rcall .+1392 ; 0x91a break; 3aa: 05 c0 rjmp .+10 ; 0x3b6 case 4: tiny_dma_loop_mode_4(); - 3ac: 27 d3 rcall .+1614 ; 0x9fc + 3ac: 2d d3 rcall .+1626 ; 0xa08 break; 3ae: 03 c0 rjmp .+6 ; 0x3b6 case 6: tiny_dma_loop_mode_6(); - 3b0: d0 d3 rcall .+1952 ; 0xb52 + 3b0: d6 d3 rcall .+1964 ; 0xb5e break; 3b2: 01 c0 rjmp .+2 ; 0x3b6 case 7: tiny_dma_loop_mode_7(); - 3b4: 31 d4 rcall .+2146 ; 0xc18 + 3b4: 37 d4 rcall .+2158 ; 0xc24 break; default: break; @@ -655,7 +655,7 @@ bool main_vendor_enable(void) 3d2: 72 e0 ldi r23, 0x02 ; 2 3d4: 8a e6 ldi r24, 0x6A ; 106 3d6: 96 e2 ldi r25, 0x26 ; 38 - 3d8: dd d7 rcall .+4026 ; 0x1394 + 3d8: e8 d7 rcall .+4048 ; 0x13aa udi_vendor_iso_in_run2((uint8_t *)&isoBuf[250], PACKET_SIZE, iso_callback2); 3da: 4c e6 ldi r20, 0x6C ; 108 3dc: 51 e0 ldi r21, 0x01 ; 1 @@ -663,7 +663,7 @@ bool main_vendor_enable(void) 3e0: 72 e0 ldi r23, 0x02 ; 2 3e2: 84 e6 ldi r24, 0x64 ; 100 3e4: 97 e2 ldi r25, 0x27 ; 39 - 3e6: e2 d7 rcall .+4036 ; 0x13ac + 3e6: ed d7 rcall .+4058 ; 0x13c2 udi_vendor_iso_in_run3((uint8_t *)&isoBuf[500], PACKET_SIZE, iso_callback3); 3e8: 4e e7 ldi r20, 0x7E ; 126 3ea: 51 e0 ldi r21, 0x01 ; 1 @@ -671,7 +671,7 @@ bool main_vendor_enable(void) 3ee: 72 e0 ldi r23, 0x02 ; 2 3f0: 8e e5 ldi r24, 0x5E ; 94 3f2: 98 e2 ldi r25, 0x28 ; 40 - 3f4: e7 d7 rcall .+4046 ; 0x13c4 + 3f4: f2 d7 rcall .+4068 ; 0x13da return true; } 3f6: 81 e0 ldi r24, 0x01 ; 1 @@ -721,2732 +721,2703 @@ void tiny_adc_ch0setup(unsigned char gain_mask){ 414: 90 a3 std Z+32, r25 ; 0x20 #ifdef VERO ADCA.CH0.MUXCTRL = ADC_CH_MUXPOS_PIN0_gc | ((gain_mask&0x80) ? ADC_CH_MUXNEG_PIN6_gc : ADC_CH_MUXNEG_PIN4_gc); - 416: 88 1f adc r24, r24 - 418: 88 27 eor r24, r24 - 41a: 88 1f adc r24, r24 - 41c: 88 0f add r24, r24 - 41e: 81 a3 std Z+33, r24 ; 0x21 #else ADCA.CH0.MUXCTRL = ((gain_mask&0x80) ? ADC_CH_MUXPOS_PIN2_gc : ADC_CH_MUXPOS_PIN0_gc) | ((gain_mask&0x80) ? ADC_CH_MUXNEG_PIN6_gc : ADC_CH_MUXNEG_PIN4_gc); + 416: 88 23 and r24, r24 + 418: 1c f4 brge .+6 ; 0x420 + 41a: 90 e1 ldi r25, 0x10 ; 16 + 41c: 82 e0 ldi r24, 0x02 ; 2 + 41e: 02 c0 rjmp .+4 ; 0x424 + 420: 90 e0 ldi r25, 0x00 ; 0 + 422: 80 e0 ldi r24, 0x00 ; 0 + 424: 89 2b or r24, r25 + 426: e0 e0 ldi r30, 0x00 ; 0 + 428: f2 e0 ldi r31, 0x02 ; 2 + 42a: 81 a3 std Z+33, r24 ; 0x21 #endif ADCA.CH0.INTCTRL = ADC_CH_INTLVL_OFF_gc; - 420: 12 a2 std Z+34, r1 ; 0x22 + 42c: 12 a2 std Z+34, r1 ; 0x22 ADCA.CH0.SCAN = 0x00; //Disable scanning - 422: 16 a2 std Z+38, r1 ; 0x26 - 424: 08 95 ret + 42e: 16 a2 std Z+38, r1 ; 0x26 + 430: 08 95 ret -00000426 : +00000432 : } void tiny_adc_ch1setup(unsigned char gain_mask){ ADCA.CH2.CTRL = 0x00; //Reset - 426: e0 e0 ldi r30, 0x00 ; 0 - 428: f2 e0 ldi r31, 0x02 ; 2 - 42a: 10 aa std Z+48, r1 ; 0x30 + 432: e0 e0 ldi r30, 0x00 ; 0 + 434: f2 e0 ldi r31, 0x02 ; 2 + 436: 10 aa std Z+48, r1 ; 0x30 ADCA.CH2.CTRL = ADC_CH_START_bm | gain_mask | ADC_CH_INPUTMODE_DIFFWGAIN_gc; - 42c: 83 68 ori r24, 0x83 ; 131 - 42e: 80 ab std Z+48, r24 ; 0x30 + 438: 83 68 ori r24, 0x83 ; 131 + 43a: 80 ab std Z+48, r24 ; 0x30 ADCA.CH2.MUXCTRL = ADC_CH_MUXPOS_PIN2_gc | ADC_CH_MUXNEG_PIN4_gc; - 430: 80 e1 ldi r24, 0x10 ; 16 - 432: 81 ab std Z+49, r24 ; 0x31 + 43c: 80 e1 ldi r24, 0x10 ; 16 + 43e: 81 ab std Z+49, r24 ; 0x31 ADCA.CH2.INTCTRL = ADC_CH_INTLVL_OFF_gc; - 434: 12 aa std Z+50, r1 ; 0x32 + 440: 12 aa std Z+50, r1 ; 0x32 ADCA.CH2.SCAN = 0x00; //Disable scanning - 436: 16 aa std Z+54, r1 ; 0x36 - 438: 08 95 ret + 442: 16 aa std Z+54, r1 ; 0x36 + 444: 08 95 ret -0000043a : +00000446 : } void tiny_adc_pid_setup(void){ ADCA.CH1.CTRL = 0x00; //Reset - 43a: e0 e0 ldi r30, 0x00 ; 0 - 43c: f2 e0 ldi r31, 0x02 ; 2 - 43e: 10 a6 std Z+40, r1 ; 0x28 + 446: e0 e0 ldi r30, 0x00 ; 0 + 448: f2 e0 ldi r31, 0x02 ; 2 + 44a: 10 a6 std Z+40, r1 ; 0x28 ADCA.CH1.CTRL = ADC_CH_START_bm | ADC_CH_GAIN_1X_gc | ADC_CH_INPUTMODE_DIFFWGAIN_gc; - 440: 83 e8 ldi r24, 0x83 ; 131 - 442: 80 a7 std Z+40, r24 ; 0x28 + 44c: 83 e8 ldi r24, 0x83 ; 131 + 44e: 80 a7 std Z+40, r24 ; 0x28 ADCA.CH1.MUXCTRL = ADC_CH_MUXPOS_PIN5_gc | 0b00000111; - 444: 8f e2 ldi r24, 0x2F ; 47 - 446: 81 a7 std Z+41, r24 ; 0x29 + 450: 8f e2 ldi r24, 0x2F ; 47 + 452: 81 a7 std Z+41, r24 ; 0x29 ADCA.CH1.INTCTRL = ADC_CH_INTLVL_OFF_gc; - 448: 12 a6 std Z+42, r1 ; 0x2a + 454: 12 a6 std Z+42, r1 ; 0x2a ADCA.CH1.SCAN = 0x00; //Disable scanning - 44a: 16 a6 std Z+46, r1 ; 0x2e - 44c: 08 95 ret + 456: 16 a6 std Z+46, r1 ; 0x2e + 458: 08 95 ret -0000044e : +0000045a : //FROM: http://www.avrfreaks.net/forum/xmega-production-signature-row uint8_t ReadCalibrationByte(uint8_t index){ uint8_t result; /* Load the NVM Command register to read the calibration row. */ NVM_CMD = NVM_CMD_READ_CALIB_ROW_gc; - 44e: aa ec ldi r26, 0xCA ; 202 - 450: b1 e0 ldi r27, 0x01 ; 1 - 452: 92 e0 ldi r25, 0x02 ; 2 - 454: 9c 93 st X, r25 + 45a: aa ec ldi r26, 0xCA ; 202 + 45c: b1 e0 ldi r27, 0x01 ; 1 + 45e: 92 e0 ldi r25, 0x02 ; 2 + 460: 9c 93 st X, r25 result = pgm_read_byte(index); - 456: e8 2f mov r30, r24 - 458: f0 e0 ldi r31, 0x00 ; 0 - 45a: 84 91 lpm r24, Z + 462: e8 2f mov r30, r24 + 464: f0 e0 ldi r31, 0x00 ; 0 + 466: 84 91 lpm r24, Z /* Clean up NVM Command register. */ NVM_CMD = NVM_CMD_NO_OPERATION_gc; - 45c: 1c 92 st X, r1 + 468: 1c 92 st X, r1 return( result ); - 45e: 08 95 ret + 46a: 08 95 ret -00000460 : +0000046c : // These 2 files need to be included in order to read // the production calibration values from EEPROM #include #include void tiny_adc_setup(unsigned char ch2_enable, unsigned char seven_fiddy_ksps){ - 460: cf 93 push r28 - 462: df 93 push r29 + 46c: cf 93 push r28 + 46e: df 93 push r29 PR.PRPA &=0b11111101; - 464: e0 e7 ldi r30, 0x70 ; 112 - 466: f0 e0 ldi r31, 0x00 ; 0 - 468: 91 81 ldd r25, Z+1 ; 0x01 - 46a: 9d 7f andi r25, 0xFD ; 253 - 46c: 91 83 std Z+1, r25 ; 0x01 + 470: e0 e7 ldi r30, 0x70 ; 112 + 472: f0 e0 ldi r31, 0x00 ; 0 + 474: 91 81 ldd r25, Z+1 ; 0x01 + 476: 9d 7f andi r25, 0xFD ; 253 + 478: 91 83 std Z+1, r25 ; 0x01 ADCA.CTRLA = 0x00; //Turn off - 46e: 10 92 00 02 sts 0x0200, r1 ; 0x800200 <__TEXT_REGION_LENGTH__+0x700200> + 47a: 10 92 00 02 sts 0x0200, r1 ; 0x800200 <__TEXT_REGION_LENGTH__+0x700200> ADCA.CTRLB = ADC_FREERUN_bm | (seven_fiddy_ksps == 2 ? ADC_RESOLUTION_LEFT12BIT_gc : ADC_RESOLUTION_8BIT_gc) | ADC_CONMODE_bm ; - 472: 62 30 cpi r22, 0x02 ; 2 - 474: 31 f1 breq .+76 ; 0x4c2 - 476: e0 e0 ldi r30, 0x00 ; 0 - 478: f2 e0 ldi r31, 0x02 ; 2 - 47a: 9c e1 ldi r25, 0x1C ; 28 - 47c: 91 83 std Z+1, r25 ; 0x01 + 47e: 62 30 cpi r22, 0x02 ; 2 + 480: 31 f1 breq .+76 ; 0x4ce + 482: e0 e0 ldi r30, 0x00 ; 0 + 484: f2 e0 ldi r31, 0x02 ; 2 + 486: 9c e1 ldi r25, 0x1C ; 28 + 488: 91 83 std Z+1, r25 ; 0x01 ADCA.REFCTRL = ADC_REFSEL_INTVCC2_gc; - 47e: 90 e4 ldi r25, 0x40 ; 64 - 480: 92 83 std Z+2, r25 ; 0x02 + 48a: 90 e4 ldi r25, 0x40 ; 64 + 48c: 92 83 std Z+2, r25 ; 0x02 ADCA.EVCTRL = ch2_enable ? ADC_SWEEP_0123_gc : ADC_SWEEP_01_gc; //Non-zero causes issues with interrupts! ;.; - 482: 81 11 cpse r24, r1 - 484: 02 c0 rjmp .+4 ; 0x48a - 486: 80 e4 ldi r24, 0x40 ; 64 - 488: 01 c0 rjmp .+2 ; 0x48c - 48a: 80 ec ldi r24, 0xC0 ; 192 - 48c: 80 93 03 02 sts 0x0203, r24 ; 0x800203 <__TEXT_REGION_LENGTH__+0x700203> + 48e: 81 11 cpse r24, r1 + 490: 02 c0 rjmp .+4 ; 0x496 + 492: 80 e4 ldi r24, 0x40 ; 64 + 494: 01 c0 rjmp .+2 ; 0x498 + 496: 80 ec ldi r24, 0xC0 ; 192 + 498: 80 93 03 02 sts 0x0203, r24 ; 0x800203 <__TEXT_REGION_LENGTH__+0x700203> ADCA.PRESCALER = seven_fiddy_ksps == 1 ? ADC_PRESCALER_DIV16_gc : ADC_PRESCALER_DIV32_gc; //ADC Clock = Sysclock/128 - 490: 61 30 cpi r22, 0x01 ; 1 - 492: 11 f0 breq .+4 ; 0x498 - 494: 83 e0 ldi r24, 0x03 ; 3 - 496: 01 c0 rjmp .+2 ; 0x49a - 498: 82 e0 ldi r24, 0x02 ; 2 - 49a: c0 e0 ldi r28, 0x00 ; 0 - 49c: d2 e0 ldi r29, 0x02 ; 2 - 49e: 8c 83 std Y+4, r24 ; 0x04 + 49c: 61 30 cpi r22, 0x01 ; 1 + 49e: 11 f0 breq .+4 ; 0x4a4 + 4a0: 83 e0 ldi r24, 0x03 ; 3 + 4a2: 01 c0 rjmp .+2 ; 0x4a6 + 4a4: 82 e0 ldi r24, 0x02 ; 2 + 4a6: c0 e0 ldi r28, 0x00 ; 0 + 4a8: d2 e0 ldi r29, 0x02 ; 2 + 4aa: 8c 83 std Y+4, r24 ; 0x04 ADCA.CALL = ReadCalibrationByte(offsetof(NVM_PROD_SIGNATURES_t, ADCACAL0)); //Load calibration bytes from production row. - 4a0: 80 e2 ldi r24, 0x20 ; 32 - 4a2: d5 df rcall .-86 ; 0x44e - 4a4: 8c 87 std Y+12, r24 ; 0x0c + 4ac: 80 e2 ldi r24, 0x20 ; 32 + 4ae: d5 df rcall .-86 ; 0x45a + 4b0: 8c 87 std Y+12, r24 ; 0x0c ADCA.CALH = ReadCalibrationByte(offsetof(NVM_PROD_SIGNATURES_t, ADCACAL1)); //Load calibration bytes from production row. - 4a6: 81 e2 ldi r24, 0x21 ; 33 - 4a8: d2 df rcall .-92 ; 0x44e - 4aa: 8d 87 std Y+13, r24 ; 0x0d + 4b2: 81 e2 ldi r24, 0x21 ; 33 + 4b4: d2 df rcall .-92 ; 0x45a + 4b6: 8d 87 std Y+13, r24 ; 0x0d ADCA.CMP = 0x0000; //No compare used - 4ac: 18 8e std Y+24, r1 ; 0x18 - 4ae: 19 8e std Y+25, r1 ; 0x19 + 4b8: 18 8e std Y+24, r1 ; 0x18 + 4ba: 19 8e std Y+25, r1 ; 0x19 ADCA.CTRLA = ADC_ENABLE_bm; - 4b0: 81 e0 ldi r24, 0x01 ; 1 - 4b2: 88 83 st Y, r24 + 4bc: 81 e0 ldi r24, 0x01 ; 1 + 4be: 88 83 st Y, r24 tiny_adc_pid_setup(); - 4b4: c2 df rcall .-124 ; 0x43a - 4b6: 0e c0 rjmp .+28 ; 0x4d4 + 4c0: c2 df rcall .-124 ; 0x446 + 4c2: 0e c0 rjmp .+28 ; 0x4e0 PR.PRPA &=0b11111101; ADCA.CTRLA = 0x00; //Turn off ADCA.CTRLB = ADC_FREERUN_bm | (seven_fiddy_ksps == 2 ? ADC_RESOLUTION_LEFT12BIT_gc : ADC_RESOLUTION_8BIT_gc) | ADC_CONMODE_bm ; ADCA.REFCTRL = ADC_REFSEL_INTVCC2_gc; ADCA.EVCTRL = ch2_enable ? ADC_SWEEP_0123_gc : ADC_SWEEP_01_gc; //Non-zero causes issues with interrupts! ;.; - 4b8: 80 ec ldi r24, 0xC0 ; 192 - 4ba: 80 93 03 02 sts 0x0203, r24 ; 0x800203 <__TEXT_REGION_LENGTH__+0x700203> + 4c4: 80 ec ldi r24, 0xC0 ; 192 + 4c6: 80 93 03 02 sts 0x0203, r24 ; 0x800203 <__TEXT_REGION_LENGTH__+0x700203> ADCA.PRESCALER = seven_fiddy_ksps == 1 ? ADC_PRESCALER_DIV16_gc : ADC_PRESCALER_DIV32_gc; //ADC Clock = Sysclock/128 - 4be: 83 e0 ldi r24, 0x03 ; 3 - 4c0: ec cf rjmp .-40 ; 0x49a + 4ca: 83 e0 ldi r24, 0x03 ; 3 + 4cc: ec cf rjmp .-40 ; 0x4a6 void tiny_adc_setup(unsigned char ch2_enable, unsigned char seven_fiddy_ksps){ PR.PRPA &=0b11111101; ADCA.CTRLA = 0x00; //Turn off ADCA.CTRLB = ADC_FREERUN_bm | (seven_fiddy_ksps == 2 ? ADC_RESOLUTION_LEFT12BIT_gc : ADC_RESOLUTION_8BIT_gc) | ADC_CONMODE_bm ; - 4c2: e0 e0 ldi r30, 0x00 ; 0 - 4c4: f2 e0 ldi r31, 0x02 ; 2 - 4c6: 9e e1 ldi r25, 0x1E ; 30 - 4c8: 91 83 std Z+1, r25 ; 0x01 + 4ce: e0 e0 ldi r30, 0x00 ; 0 + 4d0: f2 e0 ldi r31, 0x02 ; 2 + 4d2: 9e e1 ldi r25, 0x1E ; 30 + 4d4: 91 83 std Z+1, r25 ; 0x01 ADCA.REFCTRL = ADC_REFSEL_INTVCC2_gc; - 4ca: 90 e4 ldi r25, 0x40 ; 64 - 4cc: 92 83 std Z+2, r25 ; 0x02 + 4d6: 90 e4 ldi r25, 0x40 ; 64 + 4d8: 92 83 std Z+2, r25 ; 0x02 ADCA.EVCTRL = ch2_enable ? ADC_SWEEP_0123_gc : ADC_SWEEP_01_gc; //Non-zero causes issues with interrupts! ;.; - 4ce: 81 11 cpse r24, r1 - 4d0: f3 cf rjmp .-26 ; 0x4b8 - 4d2: d9 cf rjmp .-78 ; 0x486 + 4da: 81 11 cpse r24, r1 + 4dc: f3 cf rjmp .-26 ; 0x4c4 + 4de: d9 cf rjmp .-78 ; 0x492 ADCA.CTRLA = ADC_ENABLE_bm; tiny_adc_pid_setup(); return; } - 4d4: df 91 pop r29 - 4d6: cf 91 pop r28 - 4d8: 08 95 ret + 4e0: df 91 pop r29 + 4e2: cf 91 pop r28 + 4e4: 08 95 ret -000004da : +000004e6 : #include "tiny_adc.h" #include #include void tiny_dac_setup(void){ - 4da: cf 93 push r28 - 4dc: df 93 push r29 + 4e6: cf 93 push r28 + 4e8: df 93 push r29 //Turn on in PR PR.PRPB &=0b11111011; - 4de: e0 e7 ldi r30, 0x70 ; 112 - 4e0: f0 e0 ldi r31, 0x00 ; 0 - 4e2: 82 81 ldd r24, Z+2 ; 0x02 - 4e4: 8b 7f andi r24, 0xFB ; 251 - 4e6: 82 83 std Z+2, r24 ; 0x02 + 4ea: e0 e7 ldi r30, 0x70 ; 112 + 4ec: f0 e0 ldi r31, 0x00 ; 0 + 4ee: 82 81 ldd r24, Z+2 ; 0x02 + 4f0: 8b 7f andi r24, 0xFB ; 251 + 4f2: 82 83 std Z+2, r24 ; 0x02 DACB.CTRLA = DAC_CH1EN_bm | DAC_CH0EN_bm | DAC_ENABLE_bm; - 4e8: c0 e2 ldi r28, 0x20 ; 32 - 4ea: d3 e0 ldi r29, 0x03 ; 3 - 4ec: 8d e0 ldi r24, 0x0D ; 13 - 4ee: 88 83 st Y, r24 + 4f4: c0 e2 ldi r28, 0x20 ; 32 + 4f6: d3 e0 ldi r29, 0x03 ; 3 + 4f8: 8d e0 ldi r24, 0x0D ; 13 + 4fa: 88 83 st Y, r24 DACB.CTRLB = DAC_CHSEL_DUAL_gc; - 4f0: 80 e4 ldi r24, 0x40 ; 64 - 4f2: 89 83 std Y+1, r24 ; 0x01 + 4fc: 80 e4 ldi r24, 0x40 ; 64 + 4fe: 89 83 std Y+1, r24 ; 0x01 DACB.CTRLC = DAC_REFSEL_AVCC_gc | DAC_LEFTADJ_bm; - 4f4: 89 e0 ldi r24, 0x09 ; 9 - 4f6: 8a 83 std Y+2, r24 ; 0x02 + 500: 89 e0 ldi r24, 0x09 ; 9 + 502: 8a 83 std Y+2, r24 ; 0x02 //EVCTRL unset //DACB.CH0DATAH = 127;//contains (8-bit) sample, assuming left adjust! //TODO: Calibrate DACB.CH0GAINCAL = ReadCalibrationByte(offsetof(NVM_PROD_SIGNATURES_t, DACB0GAINCAL)); //Load calibration bytes from production row. - 4f8: 83 e3 ldi r24, 0x33 ; 51 - 4fa: a9 df rcall .-174 ; 0x44e - 4fc: 88 87 std Y+8, r24 ; 0x08 + 504: 83 e3 ldi r24, 0x33 ; 51 + 506: a9 df rcall .-174 ; 0x45a + 508: 88 87 std Y+8, r24 ; 0x08 DACB.CH0OFFSETCAL = ReadCalibrationByte(offsetof(NVM_PROD_SIGNATURES_t, DACB0OFFCAL)); //Load calibration bytes from production row. - 4fe: 82 e3 ldi r24, 0x32 ; 50 - 500: a6 df rcall .-180 ; 0x44e - 502: 89 87 std Y+9, r24 ; 0x09 + 50a: 82 e3 ldi r24, 0x32 ; 50 + 50c: a6 df rcall .-180 ; 0x45a + 50e: 89 87 std Y+9, r24 ; 0x09 DACB.CH1GAINCAL = ReadCalibrationByte(offsetof(NVM_PROD_SIGNATURES_t, DACB1GAINCAL)); //Load calibration bytes from production row. - 504: 87 e3 ldi r24, 0x37 ; 55 - 506: a3 df rcall .-186 ; 0x44e - 508: 8a 87 std Y+10, r24 ; 0x0a + 510: 87 e3 ldi r24, 0x37 ; 55 + 512: a3 df rcall .-186 ; 0x45a + 514: 8a 87 std Y+10, r24 ; 0x0a DACB.CH1OFFSETCAL = ReadCalibrationByte(offsetof(NVM_PROD_SIGNATURES_t, DACB1OFFCAL)); //Load calibration bytes from production row. - 50a: 86 e3 ldi r24, 0x36 ; 54 - 50c: a0 df rcall .-192 ; 0x44e - 50e: 8b 87 std Y+11, r24 ; 0x0b + 516: 86 e3 ldi r24, 0x36 ; 54 + 518: a0 df rcall .-192 ; 0x45a + 51a: 8b 87 std Y+11, r24 ; 0x0b //Set up for triple mode! PORTB.DIR |= 0x03; - 510: e0 e2 ldi r30, 0x20 ; 32 - 512: f6 e0 ldi r31, 0x06 ; 6 - 514: 80 81 ld r24, Z - 516: 83 60 ori r24, 0x03 ; 3 - 518: 80 83 st Z, r24 + 51c: e0 e2 ldi r30, 0x20 ; 32 + 51e: f6 e0 ldi r31, 0x06 ; 6 + 520: 80 81 ld r24, Z + 522: 83 60 ori r24, 0x03 ; 3 + 524: 80 83 st Z, r24 PORTB.OUT = 0x00; - 51a: 14 82 std Z+4, r1 ; 0x04 + 526: 14 82 std Z+4, r1 ; 0x04 - 51c: df 91 pop r29 - 51e: cf 91 pop r28 - 520: 08 95 ret + 528: df 91 pop r29 + 52a: cf 91 pop r28 + 52c: 08 95 ret -00000522 : +0000052e : #include "globals.h" void tiny_dma_setup(void){ //Turn on DMA PR.PRGEN &=0b111111110; //Turn on DMA clk - 522: e0 e7 ldi r30, 0x70 ; 112 - 524: f0 e0 ldi r31, 0x00 ; 0 - 526: 80 81 ld r24, Z - 528: 8e 7f andi r24, 0xFE ; 254 - 52a: 80 83 st Z, r24 + 52e: e0 e7 ldi r30, 0x70 ; 112 + 530: f0 e0 ldi r31, 0x00 ; 0 + 532: 80 81 ld r24, Z + 534: 8e 7f andi r24, 0xFE ; 254 + 536: 80 83 st Z, r24 DMA.CTRL = DMA_ENABLE_bm | DMA_PRIMODE_RR0123_gc; - 52c: 80 e8 ldi r24, 0x80 ; 128 - 52e: 80 93 00 01 sts 0x0100, r24 ; 0x800100 <__TEXT_REGION_LENGTH__+0x700100> - 532: 08 95 ret + 538: 80 e8 ldi r24, 0x80 ; 128 + 53a: 80 93 00 01 sts 0x0100, r24 ; 0x800100 <__TEXT_REGION_LENGTH__+0x700100> + 53e: 08 95 ret -00000534 : +00000540 : } void tiny_dma_flush(void){ DMA.CH0.CTRLA = 0x00; - 534: e0 e0 ldi r30, 0x00 ; 0 - 536: f1 e0 ldi r31, 0x01 ; 1 - 538: 10 8a std Z+16, r1 ; 0x10 + 540: e0 e0 ldi r30, 0x00 ; 0 + 542: f1 e0 ldi r31, 0x01 ; 1 + 544: 10 8a std Z+16, r1 ; 0x10 DMA.CH0.CTRLA = DMA_CH_RESET_bm; - 53a: 80 e4 ldi r24, 0x40 ; 64 - 53c: 80 8b std Z+16, r24 ; 0x10 + 546: 80 e4 ldi r24, 0x40 ; 64 + 548: 80 8b std Z+16, r24 ; 0x10 DMA.CH1.CTRLA = 0x00; - 53e: 10 a2 std Z+32, r1 ; 0x20 + 54a: 10 a2 std Z+32, r1 ; 0x20 DMA.CH1.CTRLA = DMA_CH_RESET_bm; - 540: 80 a3 std Z+32, r24 ; 0x20 + 54c: 80 a3 std Z+32, r24 ; 0x20 DMA.CH2.CTRLA = 0x00; - 542: 10 aa std Z+48, r1 ; 0x30 + 54e: 10 aa std Z+48, r1 ; 0x30 DMA.CH2.CTRLA = DMA_CH_RESET_bm; - 544: 80 ab std Z+48, r24 ; 0x30 + 550: 80 ab std Z+48, r24 ; 0x30 DMA.CH3.CTRLA = 0x00; - 546: e0 e4 ldi r30, 0x40 ; 64 - 548: f1 e0 ldi r31, 0x01 ; 1 - 54a: 10 82 st Z, r1 + 552: e0 e4 ldi r30, 0x40 ; 64 + 554: f1 e0 ldi r31, 0x01 ; 1 + 556: 10 82 st Z, r1 DMA.CH3.CTRLA = DMA_CH_RESET_bm; - 54c: 80 83 st Z, r24 + 558: 80 83 st Z, r24 b1_state = 0; - 54e: 10 92 b5 20 sts 0x20B5, r1 ; 0x8020b5 - 552: 08 95 ret + 55a: 10 92 b5 20 sts 0x20B5, r1 ; 0x8020b5 + 55e: 08 95 ret -00000554 : +00000560 : } void tiny_dma_set_mode_0(void){ global_mode = 0; - 554: 10 92 00 20 sts 0x2000, r1 ; 0x802000 <__data_start> + 560: 10 92 00 20 sts 0x2000, r1 ; 0x802000 <__data_start> tiny_dma_flush(); - 558: ed df rcall .-38 ; 0x534 + 564: ed df rcall .-38 ; 0x540 DMA.CH2.REPCNT = 0; //Repeat forever! - 55a: e0 e0 ldi r30, 0x00 ; 0 - 55c: f1 e0 ldi r31, 0x01 ; 1 - 55e: 16 aa std Z+54, r1 ; 0x36 + 566: e0 e0 ldi r30, 0x00 ; 0 + 568: f1 e0 ldi r31, 0x01 ; 1 + 56a: 16 aa std Z+54, r1 ; 0x36 DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - 560: 94 e2 ldi r25, 0x24 ; 36 - 562: 90 ab std Z+48, r25 ; 0x30 + 56c: 94 e2 ldi r25, 0x24 ; 36 + 56e: 90 ab std Z+48, r25 ; 0x30 DMA.CH2.CTRLB = 0x00; //No interrupt for DacBuf!! - 564: 11 aa std Z+49, r1 ; 0x31 + 570: 11 aa std Z+49, r1 ; 0x31 DMA.CH2.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - 566: 49 e5 ldi r20, 0x59 ; 89 - 568: 42 ab std Z+50, r20 ; 0x32 + 572: 49 e5 ldi r20, 0x59 ; 89 + 574: 42 ab std Z+50, r20 ; 0x32 DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH1_gc; //Triggered from TCC0 when it hits PER - 56a: 32 e0 ldi r19, 0x02 ; 2 - 56c: 33 ab std Z+51, r19 ; 0x33 + 576: 32 e0 ldi r19, 0x02 ; 2 + 578: 33 ab std Z+51, r19 ; 0x33 DMA.CH2.TRFCNT = auxDacBufLen; - 56e: 60 91 02 20 lds r22, 0x2002 ; 0x802002 - 572: 70 91 03 20 lds r23, 0x2003 ; 0x802003 - 576: 64 ab std Z+52, r22 ; 0x34 - 578: 75 ab std Z+53, r23 ; 0x35 + 57a: 60 91 02 20 lds r22, 0x2002 ; 0x802002 + 57e: 70 91 03 20 lds r23, 0x2003 ; 0x802003 + 582: 64 ab std Z+52, r22 ; 0x34 + 584: 75 ab std Z+53, r23 ; 0x35 DMA.CH2.SRCADDR0 = (( (uint16_t) &dacBuf_CH2[0]) >> 0) & 0xFF; //Source address is dacbuf - 57a: 6a e6 ldi r22, 0x6A ; 106 - 57c: 74 e2 ldi r23, 0x24 ; 36 - 57e: 60 af std Z+56, r22 ; 0x38 + 586: 6a e6 ldi r22, 0x6A ; 106 + 588: 74 e2 ldi r23, 0x24 ; 36 + 58a: 60 af std Z+56, r22 ; 0x38 DMA.CH2.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; - 580: 71 af std Z+57, r23 ; 0x39 + 58c: 71 af std Z+57, r23 ; 0x39 DMA.CH2.SRCADDR2 = 0x00; - 582: 12 ae std Z+58, r1 ; 0x3a + 58e: 12 ae std Z+58, r1 ; 0x3a DMA.CH2.DESTADDR0 = (( (uint16_t) &DACB.CH1DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - 584: 8b e3 ldi r24, 0x3B ; 59 - 586: 84 af std Z+60, r24 ; 0x3c + 590: 8b e3 ldi r24, 0x3B ; 59 + 592: 84 af std Z+60, r24 ; 0x3c DMA.CH2.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; - 588: 83 e0 ldi r24, 0x03 ; 3 - 58a: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + 594: 83 e0 ldi r24, 0x03 ; 3 + 596: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> DMA.CH2.DESTADDR2 = 0x00; - 58e: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + 59a: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> //Must enable last for REPCNT won't work! DMA.CH2.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 592: 20 a9 ldd r18, Z+48 ; 0x30 - 594: 20 68 ori r18, 0x80 ; 128 - 596: 20 ab std Z+48, r18 ; 0x30 + 59e: 20 a9 ldd r18, Z+48 ; 0x30 + 5a0: 20 68 ori r18, 0x80 ; 128 + 5a2: 20 ab std Z+48, r18 ; 0x30 DMA.CH3.REPCNT = 0; //Repeat forever! - 598: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + 5a4: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> DMA.CH3.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - 59c: a0 e4 ldi r26, 0x40 ; 64 - 59e: b1 e0 ldi r27, 0x01 ; 1 - 5a0: 9c 93 st X, r25 + 5a8: a0 e4 ldi r26, 0x40 ; 64 + 5aa: b1 e0 ldi r27, 0x01 ; 1 + 5ac: 9c 93 st X, r25 DMA.CH3.CTRLB = 0x00; //Hi interrupt on block complete - 5a2: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + 5ae: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> DMA.CH3.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - 5a6: 40 93 42 01 sts 0x0142, r20 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + 5b2: 40 93 42 01 sts 0x0142, r20 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH2_gc; //Triggered from TCC0 when it hits PER - 5aa: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + 5b6: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> DMA.CH3.TRFCNT = dacBuf_len; - 5ae: 40 91 04 20 lds r20, 0x2004 ; 0x802004 - 5b2: 50 91 05 20 lds r21, 0x2005 ; 0x802005 - 5b6: 40 93 44 01 sts 0x0144, r20 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - 5ba: 50 93 45 01 sts 0x0145, r21 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + 5ba: 40 91 04 20 lds r20, 0x2004 ; 0x802004 + 5be: 50 91 05 20 lds r21, 0x2005 ; 0x802005 + 5c2: 40 93 44 01 sts 0x0144, r20 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + 5c6: 50 93 45 01 sts 0x0145, r21 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> DMA.CH3.SRCADDR0 = (( (uint16_t) &dacBuf_CH1[0]) >> 0) & 0xFF; //Source address is dacbuf - 5be: 4a e5 ldi r20, 0x5A ; 90 - 5c0: 52 e2 ldi r21, 0x22 ; 34 - 5c2: 40 93 48 01 sts 0x0148, r20 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + 5ca: 4a e5 ldi r20, 0x5A ; 90 + 5cc: 52 e2 ldi r21, 0x22 ; 34 + 5ce: 40 93 48 01 sts 0x0148, r20 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> DMA.CH3.SRCADDR1 = (( (uint16_t) &dacBuf_CH1[0]) >> 8) & 0xFF; - 5c6: 50 93 49 01 sts 0x0149, r21 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + 5d2: 50 93 49 01 sts 0x0149, r21 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> DMA.CH3.SRCADDR2 = 0x00; - 5ca: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + 5d6: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> DMA.CH3.DESTADDR0 = (( (uint16_t) &DACB.CH0DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - 5ce: 29 e3 ldi r18, 0x39 ; 57 - 5d0: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + 5da: 29 e3 ldi r18, 0x39 ; 57 + 5dc: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> DMA.CH3.DESTADDR1 = (( (uint16_t) &DACB.CH0DATAH) >> 8) & 0xFF; - 5d4: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + 5e0: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> DMA.CH3.DESTADDR2 = 0x00; - 5d8: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + 5e4: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> //Must enable last for REPCNT won't work! DMA.CH3.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 5dc: 2c 91 ld r18, X - 5de: 20 68 ori r18, 0x80 ; 128 - 5e0: 2c 93 st X, r18 + 5e8: 2c 91 ld r18, X + 5ea: 20 68 ori r18, 0x80 ; 128 + 5ec: 2c 93 st X, r18 DMA.CH0.CTRLA = 0x00; - 5e2: 10 8a std Z+16, r1 ; 0x10 + 5ee: 10 8a std Z+16, r1 ; 0x10 DMA.CH0.CTRLA = DMA_CH_RESET_bm; - 5e4: 20 e4 ldi r18, 0x40 ; 64 - 5e6: 20 8b std Z+16, r18 ; 0x10 + 5f0: 20 e4 ldi r18, 0x40 ; 64 + 5f2: 20 8b std Z+16, r18 ; 0x10 DMA.CH0.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 5e8: 24 e0 ldi r18, 0x04 ; 4 - 5ea: 20 8b std Z+16, r18 ; 0x10 + 5f4: 24 e0 ldi r18, 0x04 ; 4 + 5f6: 20 8b std Z+16, r18 ; 0x10 DMA.CH0.CTRLB = 0x03; //Hi interrupt! - 5ec: 81 8b std Z+17, r24 ; 0x11 + 5f8: 81 8b std Z+17, r24 ; 0x11 DMA.CH0.ADDRCTRL = DMA_CH_SRCRELOAD_BURST_gc | DMA_CH_SRCDIR_INC_gc | DMA_CH_DESTDIR_INC_gc; //Source reloads after each burst, with byte incrementing. Dest does not reload, but does increment address. - 5ee: 81 e9 ldi r24, 0x91 ; 145 - 5f0: 82 8b std Z+18, r24 ; 0x12 + 5fa: 81 e9 ldi r24, 0x91 ; 145 + 5fc: 82 8b std Z+18, r24 ; 0x12 DMA.CH0.TRIGSRC = DMA_CH_TRIGSRC_ADCA_CH0_gc; //Triggered from ADCA channel 0 - 5f2: 80 e1 ldi r24, 0x10 ; 16 - 5f4: 83 8b std Z+19, r24 ; 0x13 + 5fe: 80 e1 ldi r24, 0x10 ; 16 + 600: 83 8b std Z+19, r24 ; 0x13 DMA.CH0.TRFCNT = HALFPACKET_SIZE; - 5f6: 47 e7 ldi r20, 0x77 ; 119 - 5f8: 51 e0 ldi r21, 0x01 ; 1 - 5fa: 44 8b std Z+20, r20 ; 0x14 - 5fc: 55 8b std Z+21, r21 ; 0x15 + 602: 47 e7 ldi r20, 0x77 ; 119 + 604: 51 e0 ldi r21, 0x01 ; 1 + 606: 44 8b std Z+20, r20 ; 0x14 + 608: 55 8b std Z+21, r21 ; 0x15 DMA.CH0.SRCADDR0 = (( (uint16_t) &ADCA.CH0.RESL) >> 0) & 0xFF; //Source address is ADC - 5fe: 90 8f std Z+24, r25 ; 0x18 + 60a: 90 8f std Z+24, r25 ; 0x18 DMA.CH0.SRCADDR1 = (( (uint16_t) &ADCA.CH0.RESL) >> 8) & 0xFF; - 600: 31 8f std Z+25, r19 ; 0x19 + 60c: 31 8f std Z+25, r19 ; 0x19 DMA.CH0.SRCADDR2 = 0x00; - 602: 12 8e std Z+26, r1 ; 0x1a + 60e: 12 8e std Z+26, r1 ; 0x1a DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - 604: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - 608: 2e ee ldi r18, 0xEE ; 238 - 60a: 32 e0 ldi r19, 0x02 ; 2 - 60c: 42 9f mul r20, r18 - 60e: c0 01 movw r24, r0 - 610: 43 9f mul r20, r19 - 612: 90 0d add r25, r0 - 614: 11 24 eor r1, r1 - 616: 86 59 subi r24, 0x96 ; 150 - 618: 99 4d sbci r25, 0xD9 ; 217 - 61a: 84 8f std Z+28, r24 ; 0x1c + 610: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 + 614: 2e ee ldi r18, 0xEE ; 238 + 616: 32 e0 ldi r19, 0x02 ; 2 + 618: 42 9f mul r20, r18 + 61a: c0 01 movw r24, r0 + 61c: 43 9f mul r20, r19 + 61e: 90 0d add r25, r0 + 620: 11 24 eor r1, r1 + 622: 86 59 subi r24, 0x96 ; 150 + 624: 99 4d sbci r25, 0xD9 ; 217 + 626: 84 8f std Z+28, r24 ; 0x1c DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 8) & 0xFF; - 61c: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - 620: 42 9f mul r20, r18 - 622: c0 01 movw r24, r0 - 624: 43 9f mul r20, r19 - 626: 90 0d add r25, r0 - 628: 11 24 eor r1, r1 - 62a: 86 59 subi r24, 0x96 ; 150 - 62c: 99 4d sbci r25, 0xD9 ; 217 - 62e: 95 8f std Z+29, r25 ; 0x1d + 628: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 + 62c: 42 9f mul r20, r18 + 62e: c0 01 movw r24, r0 + 630: 43 9f mul r20, r19 + 632: 90 0d add r25, r0 + 634: 11 24 eor r1, r1 + 636: 86 59 subi r24, 0x96 ; 150 + 638: 99 4d sbci r25, 0xD9 ; 217 + 63a: 95 8f std Z+29, r25 ; 0x1d DMA.CH0.DESTADDR2 = 0x00; - 630: 16 8e std Z+30, r1 ; 0x1e + 63c: 16 8e std Z+30, r1 ; 0x1e //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 632: 80 89 ldd r24, Z+16 ; 0x10 - 634: 80 68 ori r24, 0x80 ; 128 - 636: 80 8b std Z+16, r24 ; 0x10 - 638: 08 95 ret + 63e: 80 89 ldd r24, Z+16 ; 0x10 + 640: 80 68 ori r24, 0x80 ; 128 + 642: 80 8b std Z+16, r24 ; 0x10 + 644: 08 95 ret -0000063a : +00000646 : } void tiny_dma_loop_mode_0(void){ - 63a: 08 95 ret + 646: 08 95 ret -0000063c : +00000648 : return; } void tiny_dma_set_mode_1(void){ - 63c: cf 93 push r28 - 63e: df 93 push r29 + 648: cf 93 push r28 + 64a: df 93 push r29 global_mode = 1; - 640: 81 e0 ldi r24, 0x01 ; 1 - 642: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> + 64c: 81 e0 ldi r24, 0x01 ; 1 + 64e: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> tiny_dma_flush(); - 646: 76 df rcall .-276 ; 0x534 + 652: 76 df rcall .-276 ; 0x540 //AUX channel (to keep it tx, therefore always rx) DMA.CH2.CTRLA = 0x00; - 648: e0 e0 ldi r30, 0x00 ; 0 - 64a: f1 e0 ldi r31, 0x01 ; 1 - 64c: 10 aa std Z+48, r1 ; 0x30 + 654: e0 e0 ldi r30, 0x00 ; 0 + 656: f1 e0 ldi r31, 0x01 ; 1 + 658: 10 aa std Z+48, r1 ; 0x30 DMA.CH2.CTRLA = DMA_CH_RESET_bm; - 64e: 80 e4 ldi r24, 0x40 ; 64 - 650: 80 ab std Z+48, r24 ; 0x30 + 65a: 80 e4 ldi r24, 0x40 ; 64 + 65c: 80 ab std Z+48, r24 ; 0x30 DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 652: 94 e0 ldi r25, 0x04 ; 4 - 654: 90 ab std Z+48, r25 ; 0x30 + 65e: 94 e0 ldi r25, 0x04 ; 4 + 660: 90 ab std Z+48, r25 ; 0x30 DMA.CH2.CTRLB = 0x00; //No int - 656: 11 aa std Z+49, r1 ; 0x31 + 662: 11 aa std Z+49, r1 ; 0x31 DMA.CH2.ADDRCTRL = DMA_CH_SRCDIR_FIXED_gc | DMA_CH_DESTDIR_FIXED_gc; //Source and address fixed. - 658: 12 aa std Z+50, r1 ; 0x32 + 664: 12 aa std Z+50, r1 ; 0x32 DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_USARTC0_RXC_gc; - 65a: 5b e4 ldi r21, 0x4B ; 75 - 65c: 53 ab std Z+51, r21 ; 0x33 + 666: 5b e4 ldi r21, 0x4B ; 75 + 668: 53 ab std Z+51, r21 ; 0x33 DMA.CH2.TRFCNT = 0; - 65e: 14 aa std Z+52, r1 ; 0x34 - 660: 15 aa std Z+53, r1 ; 0x35 + 66a: 14 aa std Z+52, r1 ; 0x34 + 66c: 15 aa std Z+53, r1 ; 0x35 DMA.CH2.REPCNT = 0; - 662: 16 aa std Z+54, r1 ; 0x36 + 66e: 16 aa std Z+54, r1 ; 0x36 DMA.CH2.SRCADDR0 = (( (uint16_t) &dummy) >> 0) & 0xFF; - 664: 21 e0 ldi r18, 0x01 ; 1 - 666: 30 e2 ldi r19, 0x20 ; 32 - 668: 20 af std Z+56, r18 ; 0x38 + 670: 21 e0 ldi r18, 0x01 ; 1 + 672: 30 e2 ldi r19, 0x20 ; 32 + 674: 20 af std Z+56, r18 ; 0x38 DMA.CH2.SRCADDR1 = (( (uint16_t) &dummy) >> 8) & 0xFF; - 66a: 31 af std Z+57, r19 ; 0x39 + 676: 31 af std Z+57, r19 ; 0x39 DMA.CH2.SRCADDR2 = 0x00; - 66c: 12 ae std Z+58, r1 ; 0x3a + 678: 12 ae std Z+58, r1 ; 0x3a DMA.CH2.DESTADDR0 = (( (uint16_t) &USARTC0.DATA) >> 0) & 0xFF; - 66e: 40 ea ldi r20, 0xA0 ; 160 - 670: 44 af std Z+60, r20 ; 0x3c + 67a: 40 ea ldi r20, 0xA0 ; 160 + 67c: 44 af std Z+60, r20 ; 0x3c DMA.CH2.DESTADDR1 = (( (uint16_t) &USARTC0.DATA) >> 8) & 0xFF; - 672: 38 e0 ldi r19, 0x08 ; 8 - 674: 30 93 3d 01 sts 0x013D, r19 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + 67e: 38 e0 ldi r19, 0x08 ; 8 + 680: 30 93 3d 01 sts 0x013D, r19 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> DMA.CH2.DESTADDR2 = 0x00; - 678: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + 684: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> //Must enable last for REPCNT won't work! DMA.CH2.CTRLA |= DMA_CH_REPEAT_bm | DMA_CH_ENABLE_bm; //Enable! - 67c: 80 a9 ldd r24, Z+48 ; 0x30 - 67e: 80 6a ori r24, 0xA0 ; 160 - 680: 80 ab std Z+48, r24 ; 0x30 + 688: 80 a9 ldd r24, Z+48 ; 0x30 + 68a: 80 6a ori r24, 0xA0 ; 160 + 68c: 80 ab std Z+48, r24 ; 0x30 USARTC0.DATA = 0x55; - 682: 85 e5 ldi r24, 0x55 ; 85 - 684: 80 93 a0 08 sts 0x08A0, r24 ; 0x8008a0 <__TEXT_REGION_LENGTH__+0x7008a0> + 68e: 85 e5 ldi r24, 0x55 ; 85 + 690: 80 93 a0 08 sts 0x08A0, r24 ; 0x8008a0 <__TEXT_REGION_LENGTH__+0x7008a0> DMA.CH3.REPCNT = 0; //Repeat forever! - 688: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + 694: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> DMA.CH3.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - 68c: a0 e4 ldi r26, 0x40 ; 64 - 68e: b1 e0 ldi r27, 0x01 ; 1 - 690: c4 e2 ldi r28, 0x24 ; 36 - 692: cc 93 st X, r28 + 698: a0 e4 ldi r26, 0x40 ; 64 + 69a: b1 e0 ldi r27, 0x01 ; 1 + 69c: c4 e2 ldi r28, 0x24 ; 36 + 69e: cc 93 st X, r28 DMA.CH3.CTRLB = 0x00; //No interrupt for DacBuf!! - 694: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + 6a0: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> DMA.CH3.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - 698: 89 e5 ldi r24, 0x59 ; 89 - 69a: 80 93 42 01 sts 0x0142, r24 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + 6a4: 89 e5 ldi r24, 0x59 ; 89 + 6a6: 80 93 42 01 sts 0x0142, r24 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH1_gc; //Triggered from TCC0 when it hits PER - 69e: 82 e0 ldi r24, 0x02 ; 2 - 6a0: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + 6aa: 82 e0 ldi r24, 0x02 ; 2 + 6ac: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> DMA.CH3.TRFCNT = auxDacBufLen; - 6a4: 60 91 02 20 lds r22, 0x2002 ; 0x802002 - 6a8: 70 91 03 20 lds r23, 0x2003 ; 0x802003 - 6ac: 60 93 44 01 sts 0x0144, r22 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - 6b0: 70 93 45 01 sts 0x0145, r23 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + 6b0: 60 91 02 20 lds r22, 0x2002 ; 0x802002 + 6b4: 70 91 03 20 lds r23, 0x2003 ; 0x802003 + 6b8: 60 93 44 01 sts 0x0144, r22 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + 6bc: 70 93 45 01 sts 0x0145, r23 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> DMA.CH3.SRCADDR0 = (( (uint16_t) &dacBuf_CH2[0]) >> 0) & 0xFF; //Source address is dacbuf - 6b4: 6a e6 ldi r22, 0x6A ; 106 - 6b6: 74 e2 ldi r23, 0x24 ; 36 - 6b8: 60 93 48 01 sts 0x0148, r22 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + 6c0: 6a e6 ldi r22, 0x6A ; 106 + 6c2: 74 e2 ldi r23, 0x24 ; 36 + 6c4: 60 93 48 01 sts 0x0148, r22 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> DMA.CH3.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; - 6bc: 70 93 49 01 sts 0x0149, r23 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + 6c8: 70 93 49 01 sts 0x0149, r23 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> DMA.CH3.SRCADDR2 = 0x00; - 6c0: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + 6cc: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> DMA.CH3.DESTADDR0 = (( (uint16_t) &DACB.CH1DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - 6c4: 2b e3 ldi r18, 0x3B ; 59 - 6c6: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + 6d0: 2b e3 ldi r18, 0x3B ; 59 + 6d2: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> DMA.CH3.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; - 6ca: 63 e0 ldi r22, 0x03 ; 3 - 6cc: 60 93 4d 01 sts 0x014D, r22 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + 6d6: 63 e0 ldi r22, 0x03 ; 3 + 6d8: 60 93 4d 01 sts 0x014D, r22 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> DMA.CH3.DESTADDR2 = 0x00; - 6d0: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + 6dc: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> //Must enable last for REPCNT won't work! DMA.CH3.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 6d4: 2c 91 ld r18, X - 6d6: 20 68 ori r18, 0x80 ; 128 - 6d8: 2c 93 st X, r18 + 6e0: 2c 91 ld r18, X + 6e2: 20 68 ori r18, 0x80 ; 128 + 6e4: 2c 93 st X, r18 DMA.CH0.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 6da: 90 8b std Z+16, r25 ; 0x10 + 6e6: 90 8b std Z+16, r25 ; 0x10 DMA.CH0.CTRLB = 0x03; //Hi interrupt! - 6dc: 61 8b std Z+17, r22 ; 0x11 + 6e8: 61 8b std Z+17, r22 ; 0x11 DMA.CH0.ADDRCTRL = DMA_CH_SRCRELOAD_BURST_gc | DMA_CH_SRCDIR_INC_gc | DMA_CH_DESTDIR_INC_gc; //Source reloads after each burst, with byte incrementing. Dest does not reload, but does increment address. - 6de: a1 e9 ldi r26, 0x91 ; 145 - 6e0: a2 8b std Z+18, r26 ; 0x12 + 6ea: a1 e9 ldi r26, 0x91 ; 145 + 6ec: a2 8b std Z+18, r26 ; 0x12 DMA.CH0.TRIGSRC = DMA_CH_TRIGSRC_ADCA_CH0_gc; //Triggered from ADCA channel 0 - 6e2: 20 e1 ldi r18, 0x10 ; 16 - 6e4: 23 8b std Z+19, r18 ; 0x13 + 6ee: 20 e1 ldi r18, 0x10 ; 16 + 6f0: 23 8b std Z+19, r18 ; 0x13 DMA.CH0.TRFCNT = HALFPACKET_SIZE; - 6e6: 67 e7 ldi r22, 0x77 ; 119 - 6e8: 71 e0 ldi r23, 0x01 ; 1 - 6ea: 64 8b std Z+20, r22 ; 0x14 - 6ec: 75 8b std Z+21, r23 ; 0x15 + 6f2: 67 e7 ldi r22, 0x77 ; 119 + 6f4: 71 e0 ldi r23, 0x01 ; 1 + 6f6: 64 8b std Z+20, r22 ; 0x14 + 6f8: 75 8b std Z+21, r23 ; 0x15 DMA.CH0.SRCADDR0 = (( (uint16_t) &ADCA.CH0.RESL) >> 0) & 0xFF; //Source address is ADC - 6ee: c0 8f std Z+24, r28 ; 0x18 + 6fa: c0 8f std Z+24, r28 ; 0x18 DMA.CH0.SRCADDR1 = (( (uint16_t) &ADCA.CH0.RESL) >> 8) & 0xFF; - 6f0: 81 8f std Z+25, r24 ; 0x19 + 6fc: 81 8f std Z+25, r24 ; 0x19 DMA.CH0.SRCADDR2 = 0x00; - 6f2: 12 8e std Z+26, r1 ; 0x1a + 6fe: 12 8e std Z+26, r1 ; 0x1a DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[0]) >> 0) & 0xFF; //Dest address is isoBuf - 6f4: ca e6 ldi r28, 0x6A ; 106 - 6f6: d6 e2 ldi r29, 0x26 ; 38 - 6f8: c4 8f std Z+28, r28 ; 0x1c + 700: ca e6 ldi r28, 0x6A ; 106 + 702: d6 e2 ldi r29, 0x26 ; 38 + 704: c4 8f std Z+28, r28 ; 0x1c DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[0]) >> 8) & 0xFF; - 6fa: d5 8f std Z+29, r29 ; 0x1d + 706: d5 8f std Z+29, r29 ; 0x1d DMA.CH0.DESTADDR2 = 0x00; - 6fc: 16 8e std Z+30, r1 ; 0x1e + 708: 16 8e std Z+30, r1 ; 0x1e //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 6fe: 20 89 ldd r18, Z+16 ; 0x10 - 700: 20 68 ori r18, 0x80 ; 128 - 702: 20 8b std Z+16, r18 ; 0x10 + 70a: 20 89 ldd r18, Z+16 ; 0x10 + 70c: 20 68 ori r18, 0x80 ; 128 + 70e: 20 8b std Z+16, r18 ; 0x10 DMA.CH1.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 704: 90 a3 std Z+32, r25 ; 0x20 + 710: 90 a3 std Z+32, r25 ; 0x20 DMA.CH1.CTRLB = 0x02; //Hi interrupt - 706: 81 a3 std Z+33, r24 ; 0x21 + 712: 81 a3 std Z+33, r24 ; 0x21 DMA.CH1.ADDRCTRL = DMA_CH_SRCRELOAD_BURST_gc | DMA_CH_SRCDIR_INC_gc | DMA_CH_DESTDIR_INC_gc; //Source reloads after each burst, with byte incrementing. Dest does not reload, but does increment address. - 708: a2 a3 std Z+34, r26 ; 0x22 + 714: a2 a3 std Z+34, r26 ; 0x22 DMA.CH1.TRIGSRC = DMA_CH_TRIGSRC_USARTC0_RXC_gc; - 70a: 53 a3 std Z+35, r21 ; 0x23 + 716: 53 a3 std Z+35, r21 ; 0x23 DMA.CH1.TRFCNT = HALFPACKET_SIZE; - 70c: 64 a3 std Z+36, r22 ; 0x24 - 70e: 75 a3 std Z+37, r23 ; 0x25 + 718: 64 a3 std Z+36, r22 ; 0x24 + 71a: 75 a3 std Z+37, r23 ; 0x25 DMA.CH1.SRCADDR0 = (( (uint16_t) &USARTC0.DATA) >> 0) & 0xFF; - 710: 40 a7 std Z+40, r20 ; 0x28 + 71c: 40 a7 std Z+40, r20 ; 0x28 DMA.CH1.SRCADDR1 = (( (uint16_t) &USARTC0.DATA) >> 8) & 0xFF; - 712: 31 a7 std Z+41, r19 ; 0x29 + 71e: 31 a7 std Z+41, r19 ; 0x29 DMA.CH1.SRCADDR2 = 0x00; - 714: 12 a6 std Z+42, r1 ; 0x2a + 720: 12 a6 std Z+42, r1 ; 0x2a DMA.CH1.DESTADDR0 = (( (uint16_t) &isoBuf[HALFPACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - 716: 81 ee ldi r24, 0xE1 ; 225 - 718: 97 e2 ldi r25, 0x27 ; 39 - 71a: 84 a7 std Z+44, r24 ; 0x2c + 722: 81 ee ldi r24, 0xE1 ; 225 + 724: 97 e2 ldi r25, 0x27 ; 39 + 726: 84 a7 std Z+44, r24 ; 0x2c DMA.CH1.DESTADDR1 = (( (uint16_t) &isoBuf[HALFPACKET_SIZE]) >> 8) & 0xFF; - 71c: 95 a7 std Z+45, r25 ; 0x2d + 728: 95 a7 std Z+45, r25 ; 0x2d DMA.CH1.DESTADDR2 = 0x00; - 71e: 16 a6 std Z+46, r1 ; 0x2e + 72a: 16 a6 std Z+46, r1 ; 0x2e //Must enable last for REPCNT won't work! DMA.CH1.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 720: 80 a1 ldd r24, Z+32 ; 0x20 - 722: 80 68 ori r24, 0x80 ; 128 - 724: 80 a3 std Z+32, r24 ; 0x20 + 72c: 80 a1 ldd r24, Z+32 ; 0x20 + 72e: 80 68 ori r24, 0x80 ; 128 + 730: 80 a3 std Z+32, r24 ; 0x20 } - 726: df 91 pop r29 - 728: cf 91 pop r28 - 72a: 08 95 ret + 732: df 91 pop r29 + 734: cf 91 pop r28 + 736: 08 95 ret -0000072c : +00000738 : void tiny_dma_loop_mode_1(void){ - 72c: 08 95 ret + 738: 08 95 ret -0000072e : +0000073a : return; } void tiny_dma_set_mode_2(void){ - 72e: cf 93 push r28 + 73a: cf 93 push r28 global_mode = 2; - 730: c2 e0 ldi r28, 0x02 ; 2 - 732: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> + 73c: c2 e0 ldi r28, 0x02 ; 2 + 73e: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> tiny_dma_flush(); - 736: fe de rcall .-516 ; 0x534 + 742: fe de rcall .-516 ; 0x540 DMA.CH2.REPCNT = 0; //Repeat forever! - 738: e0 e0 ldi r30, 0x00 ; 0 - 73a: f1 e0 ldi r31, 0x01 ; 1 - 73c: 16 aa std Z+54, r1 ; 0x36 + 744: e0 e0 ldi r30, 0x00 ; 0 + 746: f1 e0 ldi r31, 0x01 ; 1 + 748: 16 aa std Z+54, r1 ; 0x36 DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - 73e: 94 e2 ldi r25, 0x24 ; 36 - 740: 90 ab std Z+48, r25 ; 0x30 + 74a: 94 e2 ldi r25, 0x24 ; 36 + 74c: 90 ab std Z+48, r25 ; 0x30 DMA.CH2.CTRLB = 0x00; //Hi interrupt on block complete - 742: 11 aa std Z+49, r1 ; 0x31 + 74e: 11 aa std Z+49, r1 ; 0x31 DMA.CH2.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - 744: 39 e5 ldi r19, 0x59 ; 89 - 746: 32 ab std Z+50, r19 ; 0x32 + 750: 39 e5 ldi r19, 0x59 ; 89 + 752: 32 ab std Z+50, r19 ; 0x32 DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH2_gc; //Triggered from TCC0 when it hits PER - 748: 83 e0 ldi r24, 0x03 ; 3 - 74a: 83 ab std Z+51, r24 ; 0x33 + 754: 83 e0 ldi r24, 0x03 ; 3 + 756: 83 ab std Z+51, r24 ; 0x33 DMA.CH2.TRFCNT = dacBuf_len; - 74c: 40 91 04 20 lds r20, 0x2004 ; 0x802004 - 750: 50 91 05 20 lds r21, 0x2005 ; 0x802005 - 754: 44 ab std Z+52, r20 ; 0x34 - 756: 55 ab std Z+53, r21 ; 0x35 + 758: 40 91 04 20 lds r20, 0x2004 ; 0x802004 + 75c: 50 91 05 20 lds r21, 0x2005 ; 0x802005 + 760: 44 ab std Z+52, r20 ; 0x34 + 762: 55 ab std Z+53, r21 ; 0x35 DMA.CH2.SRCADDR0 = (( (uint16_t) &dacBuf_CH1[0]) >> 0) & 0xFF; //Source address is dacbuf - 758: 4a e5 ldi r20, 0x5A ; 90 - 75a: 52 e2 ldi r21, 0x22 ; 34 - 75c: 40 af std Z+56, r20 ; 0x38 + 764: 4a e5 ldi r20, 0x5A ; 90 + 766: 52 e2 ldi r21, 0x22 ; 34 + 768: 40 af std Z+56, r20 ; 0x38 DMA.CH2.SRCADDR1 = (( (uint16_t) &dacBuf_CH1[0]) >> 8) & 0xFF; - 75e: 51 af std Z+57, r21 ; 0x39 + 76a: 51 af std Z+57, r21 ; 0x39 DMA.CH2.SRCADDR2 = 0x00; - 760: 12 ae std Z+58, r1 ; 0x3a + 76c: 12 ae std Z+58, r1 ; 0x3a DMA.CH2.DESTADDR0 = (( (uint16_t) &DACB.CH0DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - 762: 29 e3 ldi r18, 0x39 ; 57 - 764: 24 af std Z+60, r18 ; 0x3c + 76e: 29 e3 ldi r18, 0x39 ; 57 + 770: 24 af std Z+60, r18 ; 0x3c DMA.CH2.DESTADDR1 = (( (uint16_t) &DACB.CH0DATAH) >> 8) & 0xFF; - 766: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + 772: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> DMA.CH2.DESTADDR2 = 0x00; - 76a: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + 776: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> //Must enable last for REPCNT won't work! DMA.CH2.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 76e: 20 a9 ldd r18, Z+48 ; 0x30 - 770: 20 68 ori r18, 0x80 ; 128 - 772: 20 ab std Z+48, r18 ; 0x30 + 77a: 20 a9 ldd r18, Z+48 ; 0x30 + 77c: 20 68 ori r18, 0x80 ; 128 + 77e: 20 ab std Z+48, r18 ; 0x30 DMA.CH3.REPCNT = 0; //Repeat forever! - 774: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + 780: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> DMA.CH3.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - 778: a0 e4 ldi r26, 0x40 ; 64 - 77a: b1 e0 ldi r27, 0x01 ; 1 - 77c: 9c 93 st X, r25 + 784: a0 e4 ldi r26, 0x40 ; 64 + 786: b1 e0 ldi r27, 0x01 ; 1 + 788: 9c 93 st X, r25 DMA.CH3.CTRLB = 0x00; //No interrupt for DacBuf!! - 77e: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + 78a: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> DMA.CH3.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - 782: 30 93 42 01 sts 0x0142, r19 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + 78e: 30 93 42 01 sts 0x0142, r19 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH1_gc; //Triggered from TCC0 when it hits PER - 786: c0 93 43 01 sts 0x0143, r28 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + 792: c0 93 43 01 sts 0x0143, r28 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> DMA.CH3.TRFCNT = auxDacBufLen; - 78a: 20 91 02 20 lds r18, 0x2002 ; 0x802002 - 78e: 30 91 03 20 lds r19, 0x2003 ; 0x802003 - 792: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - 796: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + 796: 20 91 02 20 lds r18, 0x2002 ; 0x802002 + 79a: 30 91 03 20 lds r19, 0x2003 ; 0x802003 + 79e: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + 7a2: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> DMA.CH3.SRCADDR0 = (( (uint16_t) &dacBuf_CH2[0]) >> 0) & 0xFF; //Source address is dacbuf - 79a: 2a e6 ldi r18, 0x6A ; 106 - 79c: 34 e2 ldi r19, 0x24 ; 36 - 79e: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + 7a6: 2a e6 ldi r18, 0x6A ; 106 + 7a8: 34 e2 ldi r19, 0x24 ; 36 + 7aa: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> DMA.CH3.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; - 7a2: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + 7ae: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> DMA.CH3.SRCADDR2 = 0x00; - 7a6: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + 7b2: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> DMA.CH3.DESTADDR0 = (( (uint16_t) &DACB.CH1DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - 7aa: 2b e3 ldi r18, 0x3B ; 59 - 7ac: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + 7b6: 2b e3 ldi r18, 0x3B ; 59 + 7b8: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> DMA.CH3.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; - 7b0: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + 7bc: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> DMA.CH3.DESTADDR2 = 0x00; - 7b4: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + 7c0: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> //Must enable last for REPCNT won't work! DMA.CH3.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 7b8: 2c 91 ld r18, X - 7ba: 20 68 ori r18, 0x80 ; 128 - 7bc: 2c 93 st X, r18 + 7c4: 2c 91 ld r18, X + 7c6: 20 68 ori r18, 0x80 ; 128 + 7c8: 2c 93 st X, r18 DMA.CH0.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 7be: 54 e0 ldi r21, 0x04 ; 4 - 7c0: 50 8b std Z+16, r21 ; 0x10 + 7ca: 54 e0 ldi r21, 0x04 ; 4 + 7cc: 50 8b std Z+16, r21 ; 0x10 DMA.CH0.CTRLB = 0x03; //No interrupt! - 7c2: 81 8b std Z+17, r24 ; 0x11 + 7ce: 81 8b std Z+17, r24 ; 0x11 DMA.CH0.ADDRCTRL = DMA_CH_SRCRELOAD_BURST_gc | DMA_CH_SRCDIR_INC_gc | DMA_CH_DESTDIR_INC_gc; //Source reloads after each burst, with byte incrementing. Dest does not reload, but does increment address. - 7c4: 41 e9 ldi r20, 0x91 ; 145 - 7c6: 42 8b std Z+18, r20 ; 0x12 + 7d0: 41 e9 ldi r20, 0x91 ; 145 + 7d2: 42 8b std Z+18, r20 ; 0x12 DMA.CH0.TRIGSRC = DMA_CH_TRIGSRC_ADCA_CH0_gc; //Triggered from ADCA channel 0 - 7c8: 80 e1 ldi r24, 0x10 ; 16 - 7ca: 83 8b std Z+19, r24 ; 0x13 + 7d4: 80 e1 ldi r24, 0x10 ; 16 + 7d6: 83 8b std Z+19, r24 ; 0x13 DMA.CH0.TRFCNT = HALFPACKET_SIZE; - 7cc: 27 e7 ldi r18, 0x77 ; 119 - 7ce: 31 e0 ldi r19, 0x01 ; 1 - 7d0: 24 8b std Z+20, r18 ; 0x14 - 7d2: 35 8b std Z+21, r19 ; 0x15 + 7d8: 27 e7 ldi r18, 0x77 ; 119 + 7da: 31 e0 ldi r19, 0x01 ; 1 + 7dc: 24 8b std Z+20, r18 ; 0x14 + 7de: 35 8b std Z+21, r19 ; 0x15 DMA.CH0.SRCADDR0 = (( (uint16_t) &ADCA.CH0.RESL) >> 0) & 0xFF; //Source address is ADC - 7d4: 90 8f std Z+24, r25 ; 0x18 + 7e0: 90 8f std Z+24, r25 ; 0x18 DMA.CH0.SRCADDR1 = (( (uint16_t) &ADCA.CH0.RESL) >> 8) & 0xFF; - 7d6: c1 8f std Z+25, r28 ; 0x19 + 7e2: c1 8f std Z+25, r28 ; 0x19 DMA.CH0.SRCADDR2 = 0x00; - 7d8: 12 8e std Z+26, r1 ; 0x1a + 7e4: 12 8e std Z+26, r1 ; 0x1a DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[0]) >> 0) & 0xFF; //Dest address is isoBuf - 7da: 8a e6 ldi r24, 0x6A ; 106 - 7dc: 96 e2 ldi r25, 0x26 ; 38 - 7de: 84 8f std Z+28, r24 ; 0x1c + 7e6: 8a e6 ldi r24, 0x6A ; 106 + 7e8: 96 e2 ldi r25, 0x26 ; 38 + 7ea: 84 8f std Z+28, r24 ; 0x1c DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[0]) >> 8) & 0xFF; - 7e0: 95 8f std Z+29, r25 ; 0x1d + 7ec: 95 8f std Z+29, r25 ; 0x1d DMA.CH0.DESTADDR2 = 0x00; - 7e2: 16 8e std Z+30, r1 ; 0x1e + 7ee: 16 8e std Z+30, r1 ; 0x1e //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 7e4: 80 89 ldd r24, Z+16 ; 0x10 - 7e6: 80 68 ori r24, 0x80 ; 128 - 7e8: 80 8b std Z+16, r24 ; 0x10 + 7f0: 80 89 ldd r24, Z+16 ; 0x10 + 7f2: 80 68 ori r24, 0x80 ; 128 + 7f4: 80 8b std Z+16, r24 ; 0x10 DMA.CH1.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 7ea: 50 a3 std Z+32, r21 ; 0x20 + 7f6: 50 a3 std Z+32, r21 ; 0x20 DMA.CH1.CTRLB = 0x02; //No interrupt! - 7ec: c1 a3 std Z+33, r28 ; 0x21 + 7f8: c1 a3 std Z+33, r28 ; 0x21 DMA.CH1.ADDRCTRL = DMA_CH_SRCRELOAD_BURST_gc | DMA_CH_SRCDIR_INC_gc | DMA_CH_DESTDIR_INC_gc; //Source reloads after each burst, with byte incrementing. Dest does not reload, but does increment address. - 7ee: 42 a3 std Z+34, r20 ; 0x22 + 7fa: 42 a3 std Z+34, r20 ; 0x22 DMA.CH1.TRIGSRC = DMA_CH_TRIGSRC_ADCA_CH2_gc; //Triggered from ADCA channel 0 - 7f0: 82 e1 ldi r24, 0x12 ; 18 - 7f2: 83 a3 std Z+35, r24 ; 0x23 + 7fc: 82 e1 ldi r24, 0x12 ; 18 + 7fe: 83 a3 std Z+35, r24 ; 0x23 DMA.CH1.TRFCNT = HALFPACKET_SIZE; - 7f4: 24 a3 std Z+36, r18 ; 0x24 - 7f6: 35 a3 std Z+37, r19 ; 0x25 + 800: 24 a3 std Z+36, r18 ; 0x24 + 802: 35 a3 std Z+37, r19 ; 0x25 DMA.CH1.SRCADDR0 = (( (uint16_t) &ADCA.CH2.RESL) >> 0) & 0xFF; //Source address is ADC - 7f8: 84 e3 ldi r24, 0x34 ; 52 - 7fa: 80 a7 std Z+40, r24 ; 0x28 + 804: 84 e3 ldi r24, 0x34 ; 52 + 806: 80 a7 std Z+40, r24 ; 0x28 DMA.CH1.SRCADDR1 = (( (uint16_t) &ADCA.CH2.RESL) >> 8) & 0xFF; - 7fc: c1 a7 std Z+41, r28 ; 0x29 + 808: c1 a7 std Z+41, r28 ; 0x29 DMA.CH1.SRCADDR2 = 0x00; - 7fe: 12 a6 std Z+42, r1 ; 0x2a + 80a: 12 a6 std Z+42, r1 ; 0x2a DMA.CH1.DESTADDR0 = (( (uint16_t) &isoBuf[HALFPACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - 800: 81 ee ldi r24, 0xE1 ; 225 - 802: 97 e2 ldi r25, 0x27 ; 39 - 804: 84 a7 std Z+44, r24 ; 0x2c + 80c: 81 ee ldi r24, 0xE1 ; 225 + 80e: 97 e2 ldi r25, 0x27 ; 39 + 810: 84 a7 std Z+44, r24 ; 0x2c DMA.CH1.DESTADDR1 = (( (uint16_t) &isoBuf[HALFPACKET_SIZE]) >> 8) & 0xFF; - 806: 95 a7 std Z+45, r25 ; 0x2d + 812: 95 a7 std Z+45, r25 ; 0x2d DMA.CH1.DESTADDR2 = 0x00; - 808: 16 a6 std Z+46, r1 ; 0x2e + 814: 16 a6 std Z+46, r1 ; 0x2e //Must enable last for REPCNT won't work! DMA.CH1.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 80a: 80 a1 ldd r24, Z+32 ; 0x20 - 80c: 80 68 ori r24, 0x80 ; 128 - 80e: 80 a3 std Z+32, r24 ; 0x20 + 816: 80 a1 ldd r24, Z+32 ; 0x20 + 818: 80 68 ori r24, 0x80 ; 128 + 81a: 80 a3 std Z+32, r24 ; 0x20 } - 810: cf 91 pop r28 - 812: 08 95 ret + 81c: cf 91 pop r28 + 81e: 08 95 ret -00000814 : +00000820 : void tiny_dma_loop_mode_2(void){ - 814: 08 95 ret + 820: 08 95 ret -00000816 : +00000822 : return; } void tiny_dma_set_mode_3(void){ - 816: cf 93 push r28 + 822: cf 93 push r28 global_mode = 3; - 818: c3 e0 ldi r28, 0x03 ; 3 - 81a: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> + 824: c3 e0 ldi r28, 0x03 ; 3 + 826: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> tiny_dma_flush(); - 81e: 8a de rcall .-748 ; 0x534 + 82a: 8a de rcall .-748 ; 0x540 //AUX channel (to keep it tx, therefore always rx) DMA.CH1.CTRLA = 0x00; - 820: e0 e0 ldi r30, 0x00 ; 0 - 822: f1 e0 ldi r31, 0x01 ; 1 - 824: 10 a2 std Z+32, r1 ; 0x20 + 82c: e0 e0 ldi r30, 0x00 ; 0 + 82e: f1 e0 ldi r31, 0x01 ; 1 + 830: 10 a2 std Z+32, r1 ; 0x20 DMA.CH1.CTRLA = DMA_CH_RESET_bm; - 826: 50 e4 ldi r21, 0x40 ; 64 - 828: 50 a3 std Z+32, r21 ; 0x20 + 832: 50 e4 ldi r21, 0x40 ; 64 + 834: 50 a3 std Z+32, r21 ; 0x20 DMA.CH1.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 82a: 44 e0 ldi r20, 0x04 ; 4 - 82c: 40 a3 std Z+32, r20 ; 0x20 + 836: 44 e0 ldi r20, 0x04 ; 4 + 838: 40 a3 std Z+32, r20 ; 0x20 DMA.CH1.CTRLB = 0x00; //No int - 82e: 11 a2 std Z+33, r1 ; 0x21 + 83a: 11 a2 std Z+33, r1 ; 0x21 DMA.CH1.ADDRCTRL = DMA_CH_SRCDIR_FIXED_gc | DMA_CH_DESTDIR_FIXED_gc; //Source and address fixed. - 830: 12 a2 std Z+34, r1 ; 0x22 + 83c: 12 a2 std Z+34, r1 ; 0x22 DMA.CH1.TRIGSRC = DMA_CH_TRIGSRC_USARTC0_RXC_gc; - 832: 3b e4 ldi r19, 0x4B ; 75 - 834: 33 a3 std Z+35, r19 ; 0x23 + 83e: 3b e4 ldi r19, 0x4B ; 75 + 840: 33 a3 std Z+35, r19 ; 0x23 DMA.CH1.TRFCNT = 0; - 836: 14 a2 std Z+36, r1 ; 0x24 - 838: 15 a2 std Z+37, r1 ; 0x25 + 842: 14 a2 std Z+36, r1 ; 0x24 + 844: 15 a2 std Z+37, r1 ; 0x25 DMA.CH1.REPCNT = 0; - 83a: 16 a2 std Z+38, r1 ; 0x26 + 846: 16 a2 std Z+38, r1 ; 0x26 DMA.CH1.SRCADDR0 = (( (uint16_t) &dummy) >> 0) & 0xFF; - 83c: 81 e0 ldi r24, 0x01 ; 1 - 83e: 90 e2 ldi r25, 0x20 ; 32 - 840: 80 a7 std Z+40, r24 ; 0x28 + 848: 81 e0 ldi r24, 0x01 ; 1 + 84a: 90 e2 ldi r25, 0x20 ; 32 + 84c: 80 a7 std Z+40, r24 ; 0x28 DMA.CH1.SRCADDR1 = (( (uint16_t) &dummy) >> 8) & 0xFF; - 842: 91 a7 std Z+41, r25 ; 0x29 + 84e: 91 a7 std Z+41, r25 ; 0x29 DMA.CH1.SRCADDR2 = 0x00; - 844: 12 a6 std Z+42, r1 ; 0x2a + 850: 12 a6 std Z+42, r1 ; 0x2a DMA.CH1.DESTADDR0 = (( (uint16_t) &USARTC0.DATA) >> 0) & 0xFF; - 846: 20 ea ldi r18, 0xA0 ; 160 - 848: 24 a7 std Z+44, r18 ; 0x2c + 852: 20 ea ldi r18, 0xA0 ; 160 + 854: 24 a7 std Z+44, r18 ; 0x2c DMA.CH1.DESTADDR1 = (( (uint16_t) &USARTC0.DATA) >> 8) & 0xFF; - 84a: 98 e0 ldi r25, 0x08 ; 8 - 84c: 95 a7 std Z+45, r25 ; 0x2d + 856: 98 e0 ldi r25, 0x08 ; 8 + 858: 95 a7 std Z+45, r25 ; 0x2d DMA.CH1.DESTADDR2 = 0x00; - 84e: 16 a6 std Z+46, r1 ; 0x2e + 85a: 16 a6 std Z+46, r1 ; 0x2e //Must enable last for REPCNT won't work! DMA.CH1.CTRLA |= DMA_CH_REPEAT_bm | DMA_CH_ENABLE_bm; //Enable! - 850: 80 a1 ldd r24, Z+32 ; 0x20 - 852: 80 6a ori r24, 0xA0 ; 160 - 854: 80 a3 std Z+32, r24 ; 0x20 + 85c: 80 a1 ldd r24, Z+32 ; 0x20 + 85e: 80 6a ori r24, 0xA0 ; 160 + 860: 80 a3 std Z+32, r24 ; 0x20 USARTC0.DATA = 0x55; - 856: 85 e5 ldi r24, 0x55 ; 85 - 858: 80 93 a0 08 sts 0x08A0, r24 ; 0x8008a0 <__TEXT_REGION_LENGTH__+0x7008a0> + 862: 85 e5 ldi r24, 0x55 ; 85 + 864: 80 93 a0 08 sts 0x08A0, r24 ; 0x8008a0 <__TEXT_REGION_LENGTH__+0x7008a0> DMA.CH2.REPCNT = 0; //Repeat forever! - 85c: 16 aa std Z+54, r1 ; 0x36 + 868: 16 aa std Z+54, r1 ; 0x36 DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - 85e: 74 e2 ldi r23, 0x24 ; 36 - 860: 70 ab std Z+48, r23 ; 0x30 + 86a: 74 e2 ldi r23, 0x24 ; 36 + 86c: 70 ab std Z+48, r23 ; 0x30 DMA.CH2.CTRLB = 0x00; //No interrupt for DacBuf!! - 862: 11 aa std Z+49, r1 ; 0x31 + 86e: 11 aa std Z+49, r1 ; 0x31 DMA.CH2.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - 864: 69 e5 ldi r22, 0x59 ; 89 - 866: 62 ab std Z+50, r22 ; 0x32 + 870: 69 e5 ldi r22, 0x59 ; 89 + 872: 62 ab std Z+50, r22 ; 0x32 DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH1_gc; //Triggered from TCC0 when it hits PER - 868: 82 e0 ldi r24, 0x02 ; 2 - 86a: 83 ab std Z+51, r24 ; 0x33 + 874: 82 e0 ldi r24, 0x02 ; 2 + 876: 83 ab std Z+51, r24 ; 0x33 DMA.CH2.TRFCNT = auxDacBufLen; - 86c: a0 91 02 20 lds r26, 0x2002 ; 0x802002 - 870: b0 91 03 20 lds r27, 0x2003 ; 0x802003 - 874: a4 ab std Z+52, r26 ; 0x34 - 876: b5 ab std Z+53, r27 ; 0x35 + 878: a0 91 02 20 lds r26, 0x2002 ; 0x802002 + 87c: b0 91 03 20 lds r27, 0x2003 ; 0x802003 + 880: a4 ab std Z+52, r26 ; 0x34 + 882: b5 ab std Z+53, r27 ; 0x35 DMA.CH2.SRCADDR0 = (( (uint16_t) &dacBuf_CH2[0]) >> 0) & 0xFF; //Source address is dacbuf - 878: aa e6 ldi r26, 0x6A ; 106 - 87a: b4 e2 ldi r27, 0x24 ; 36 - 87c: a0 af std Z+56, r26 ; 0x38 + 884: aa e6 ldi r26, 0x6A ; 106 + 886: b4 e2 ldi r27, 0x24 ; 36 + 888: a0 af std Z+56, r26 ; 0x38 DMA.CH2.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; - 87e: b1 af std Z+57, r27 ; 0x39 + 88a: b1 af std Z+57, r27 ; 0x39 DMA.CH2.SRCADDR2 = 0x00; - 880: 12 ae std Z+58, r1 ; 0x3a + 88c: 12 ae std Z+58, r1 ; 0x3a DMA.CH2.DESTADDR0 = (( (uint16_t) &DACB.CH1DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - 882: 8b e3 ldi r24, 0x3B ; 59 - 884: 84 af std Z+60, r24 ; 0x3c + 88e: 8b e3 ldi r24, 0x3B ; 59 + 890: 84 af std Z+60, r24 ; 0x3c DMA.CH2.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; - 886: c0 93 3d 01 sts 0x013D, r28 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + 892: c0 93 3d 01 sts 0x013D, r28 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> DMA.CH2.DESTADDR2 = 0x00; - 88a: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + 896: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> //Must enable last for REPCNT won't work! DMA.CH2.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 88e: 80 a9 ldd r24, Z+48 ; 0x30 - 890: 80 68 ori r24, 0x80 ; 128 - 892: 80 ab std Z+48, r24 ; 0x30 + 89a: 80 a9 ldd r24, Z+48 ; 0x30 + 89c: 80 68 ori r24, 0x80 ; 128 + 89e: 80 ab std Z+48, r24 ; 0x30 DMA.CH3.REPCNT = 0; //Repeat forever! - 894: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + 8a0: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> DMA.CH3.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - 898: a0 e4 ldi r26, 0x40 ; 64 - 89a: b1 e0 ldi r27, 0x01 ; 1 - 89c: 7c 93 st X, r23 + 8a4: a0 e4 ldi r26, 0x40 ; 64 + 8a6: b1 e0 ldi r27, 0x01 ; 1 + 8a8: 7c 93 st X, r23 DMA.CH3.CTRLB = 0x00; //Hi interrupt on block complete - 89e: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + 8aa: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> DMA.CH3.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - 8a2: 60 93 42 01 sts 0x0142, r22 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + 8ae: 60 93 42 01 sts 0x0142, r22 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH2_gc; //Triggered from TCC0 when it hits PER - 8a6: c0 93 43 01 sts 0x0143, r28 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + 8b2: c0 93 43 01 sts 0x0143, r28 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> DMA.CH3.TRFCNT = dacBuf_len; - 8aa: 60 91 04 20 lds r22, 0x2004 ; 0x802004 - 8ae: 70 91 05 20 lds r23, 0x2005 ; 0x802005 - 8b2: 60 93 44 01 sts 0x0144, r22 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - 8b6: 70 93 45 01 sts 0x0145, r23 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + 8b6: 60 91 04 20 lds r22, 0x2004 ; 0x802004 + 8ba: 70 91 05 20 lds r23, 0x2005 ; 0x802005 + 8be: 60 93 44 01 sts 0x0144, r22 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + 8c2: 70 93 45 01 sts 0x0145, r23 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> DMA.CH3.SRCADDR0 = (( (uint16_t) &dacBuf_CH1[0]) >> 0) & 0xFF; //Source address is dacbuf - 8ba: 6a e5 ldi r22, 0x5A ; 90 - 8bc: 72 e2 ldi r23, 0x22 ; 34 - 8be: 60 93 48 01 sts 0x0148, r22 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + 8c6: 6a e5 ldi r22, 0x5A ; 90 + 8c8: 72 e2 ldi r23, 0x22 ; 34 + 8ca: 60 93 48 01 sts 0x0148, r22 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> DMA.CH3.SRCADDR1 = (( (uint16_t) &dacBuf_CH1[0]) >> 8) & 0xFF; - 8c2: 70 93 49 01 sts 0x0149, r23 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + 8ce: 70 93 49 01 sts 0x0149, r23 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> DMA.CH3.SRCADDR2 = 0x00; - 8c6: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + 8d2: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> DMA.CH3.DESTADDR0 = (( (uint16_t) &DACB.CH0DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - 8ca: 89 e3 ldi r24, 0x39 ; 57 - 8cc: 80 93 4c 01 sts 0x014C, r24 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + 8d6: 89 e3 ldi r24, 0x39 ; 57 + 8d8: 80 93 4c 01 sts 0x014C, r24 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> DMA.CH3.DESTADDR1 = (( (uint16_t) &DACB.CH0DATAH) >> 8) & 0xFF; - 8d0: c0 93 4d 01 sts 0x014D, r28 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + 8dc: c0 93 4d 01 sts 0x014D, r28 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> DMA.CH3.DESTADDR2 = 0x00; - 8d4: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + 8e0: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> //Must enable last for REPCNT won't work! DMA.CH3.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 8d8: 8c 91 ld r24, X - 8da: 80 68 ori r24, 0x80 ; 128 - 8dc: 8c 93 st X, r24 + 8e4: 8c 91 ld r24, X + 8e6: 80 68 ori r24, 0x80 ; 128 + 8e8: 8c 93 st X, r24 //Actual data being transferred DMA.CH0.CTRLA = 0x00; - 8de: 10 8a std Z+16, r1 ; 0x10 + 8ea: 10 8a std Z+16, r1 ; 0x10 DMA.CH0.CTRLA = DMA_CH_RESET_bm; - 8e0: 50 8b std Z+16, r21 ; 0x10 + 8ec: 50 8b std Z+16, r21 ; 0x10 DMA.CH0.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 8e2: 40 8b std Z+16, r20 ; 0x10 + 8ee: 40 8b std Z+16, r20 ; 0x10 DMA.CH0.CTRLB = 0x03; //Hi interrupt - 8e4: c1 8b std Z+17, r28 ; 0x11 + 8f0: c1 8b std Z+17, r28 ; 0x11 DMA.CH0.ADDRCTRL = DMA_CH_SRCRELOAD_BURST_gc | DMA_CH_SRCDIR_INC_gc | DMA_CH_DESTDIR_INC_gc; //Source reloads after each burst, with byte incrementing. Dest does not reload, but does increment address. - 8e6: 81 e9 ldi r24, 0x91 ; 145 - 8e8: 82 8b std Z+18, r24 ; 0x12 + 8f2: 81 e9 ldi r24, 0x91 ; 145 + 8f4: 82 8b std Z+18, r24 ; 0x12 DMA.CH0.TRIGSRC = DMA_CH_TRIGSRC_USARTC0_RXC_gc; - 8ea: 33 8b std Z+19, r19 ; 0x13 + 8f6: 33 8b std Z+19, r19 ; 0x13 DMA.CH0.TRFCNT = HALFPACKET_SIZE; - 8ec: 47 e7 ldi r20, 0x77 ; 119 - 8ee: 51 e0 ldi r21, 0x01 ; 1 - 8f0: 44 8b std Z+20, r20 ; 0x14 - 8f2: 55 8b std Z+21, r21 ; 0x15 + 8f8: 47 e7 ldi r20, 0x77 ; 119 + 8fa: 51 e0 ldi r21, 0x01 ; 1 + 8fc: 44 8b std Z+20, r20 ; 0x14 + 8fe: 55 8b std Z+21, r21 ; 0x15 DMA.CH0.SRCADDR0 = (( (uint16_t) &USARTC0.DATA) >> 0) & 0xFF; //Source address is ADC - 8f4: 20 8f std Z+24, r18 ; 0x18 + 900: 20 8f std Z+24, r18 ; 0x18 DMA.CH0.SRCADDR1 = (( (uint16_t) &USARTC0.DATA) >> 8) & 0xFF; - 8f6: 91 8f std Z+25, r25 ; 0x19 + 902: 91 8f std Z+25, r25 ; 0x19 DMA.CH0.SRCADDR2 = 0x00; - 8f8: 12 8e std Z+26, r1 ; 0x1a + 904: 12 8e std Z+26, r1 ; 0x1a DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[0]) >> 0) & 0xFF; //Dest address is isoBuf - 8fa: 8a e6 ldi r24, 0x6A ; 106 - 8fc: 96 e2 ldi r25, 0x26 ; 38 - 8fe: 84 8f std Z+28, r24 ; 0x1c + 906: 8a e6 ldi r24, 0x6A ; 106 + 908: 96 e2 ldi r25, 0x26 ; 38 + 90a: 84 8f std Z+28, r24 ; 0x1c DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[0]) >> 8) & 0xFF; - 900: 95 8f std Z+29, r25 ; 0x1d + 90c: 95 8f std Z+29, r25 ; 0x1d DMA.CH0.DESTADDR2 = 0x00; - 902: 16 8e std Z+30, r1 ; 0x1e + 90e: 16 8e std Z+30, r1 ; 0x1e //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 904: 80 89 ldd r24, Z+16 ; 0x10 - 906: 80 68 ori r24, 0x80 ; 128 - 908: 80 8b std Z+16, r24 ; 0x10 + 910: 80 89 ldd r24, Z+16 ; 0x10 + 912: 80 68 ori r24, 0x80 ; 128 + 914: 80 8b std Z+16, r24 ; 0x10 } - 90a: cf 91 pop r28 - 90c: 08 95 ret + 916: cf 91 pop r28 + 918: 08 95 ret -0000090e : +0000091a : void tiny_dma_loop_mode_3(void){ - 90e: 08 95 ret + 91a: 08 95 ret -00000910 : +0000091c : return; } void tiny_dma_set_mode_4(void){ - 910: cf 93 push r28 + 91c: cf 93 push r28 global_mode = 4; - 912: c4 e0 ldi r28, 0x04 ; 4 - 914: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> + 91e: c4 e0 ldi r28, 0x04 ; 4 + 920: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> tiny_dma_flush(); - 918: 0d de rcall .-998 ; 0x534 + 924: 0d de rcall .-998 ; 0x540 //AUX channel (to keep it tx, therefore always rx) DMA.CH1.CTRLA = 0x00; - 91a: e0 e0 ldi r30, 0x00 ; 0 - 91c: f1 e0 ldi r31, 0x01 ; 1 - 91e: 10 a2 std Z+32, r1 ; 0x20 + 926: e0 e0 ldi r30, 0x00 ; 0 + 928: f1 e0 ldi r31, 0x01 ; 1 + 92a: 10 a2 std Z+32, r1 ; 0x20 DMA.CH1.CTRLA = DMA_CH_RESET_bm; - 920: 20 e4 ldi r18, 0x40 ; 64 - 922: 20 a3 std Z+32, r18 ; 0x20 + 92c: 20 e4 ldi r18, 0x40 ; 64 + 92e: 20 a3 std Z+32, r18 ; 0x20 DMA.CH1.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 924: c0 a3 std Z+32, r28 ; 0x20 + 930: c0 a3 std Z+32, r28 ; 0x20 DMA.CH1.CTRLB = 0x00; //No int - 926: 11 a2 std Z+33, r1 ; 0x21 + 932: 11 a2 std Z+33, r1 ; 0x21 DMA.CH1.ADDRCTRL = DMA_CH_SRCDIR_FIXED_gc | DMA_CH_DESTDIR_FIXED_gc; //Source and address fixed. - 928: 12 a2 std Z+34, r1 ; 0x22 + 934: 12 a2 std Z+34, r1 ; 0x22 DMA.CH1.TRIGSRC = DMA_CH_TRIGSRC_USARTC0_RXC_gc; - 92a: 4b e4 ldi r20, 0x4B ; 75 - 92c: 43 a3 std Z+35, r20 ; 0x23 + 936: 4b e4 ldi r20, 0x4B ; 75 + 938: 43 a3 std Z+35, r20 ; 0x23 DMA.CH1.TRFCNT = 0; - 92e: 14 a2 std Z+36, r1 ; 0x24 - 930: 15 a2 std Z+37, r1 ; 0x25 + 93a: 14 a2 std Z+36, r1 ; 0x24 + 93c: 15 a2 std Z+37, r1 ; 0x25 DMA.CH1.REPCNT = 0; - 932: 16 a2 std Z+38, r1 ; 0x26 + 93e: 16 a2 std Z+38, r1 ; 0x26 DMA.CH1.SRCADDR0 = (( (uint16_t) &dummy) >> 0) & 0xFF; - 934: 81 e0 ldi r24, 0x01 ; 1 - 936: 90 e2 ldi r25, 0x20 ; 32 - 938: 80 a7 std Z+40, r24 ; 0x28 + 940: 81 e0 ldi r24, 0x01 ; 1 + 942: 90 e2 ldi r25, 0x20 ; 32 + 944: 80 a7 std Z+40, r24 ; 0x28 DMA.CH1.SRCADDR1 = (( (uint16_t) &dummy) >> 8) & 0xFF; - 93a: 91 a7 std Z+41, r25 ; 0x29 + 946: 91 a7 std Z+41, r25 ; 0x29 DMA.CH1.SRCADDR2 = 0x00; - 93c: 12 a6 std Z+42, r1 ; 0x2a + 948: 12 a6 std Z+42, r1 ; 0x2a DMA.CH1.DESTADDR0 = (( (uint16_t) &USARTC0.DATA) >> 0) & 0xFF; - 93e: 70 ea ldi r23, 0xA0 ; 160 - 940: 74 a7 std Z+44, r23 ; 0x2c + 94a: 70 ea ldi r23, 0xA0 ; 160 + 94c: 74 a7 std Z+44, r23 ; 0x2c DMA.CH1.DESTADDR1 = (( (uint16_t) &USARTC0.DATA) >> 8) & 0xFF; - 942: 88 e0 ldi r24, 0x08 ; 8 - 944: 85 a7 std Z+45, r24 ; 0x2d + 94e: 88 e0 ldi r24, 0x08 ; 8 + 950: 85 a7 std Z+45, r24 ; 0x2d DMA.CH1.DESTADDR2 = 0x00; - 946: 16 a6 std Z+46, r1 ; 0x2e + 952: 16 a6 std Z+46, r1 ; 0x2e //Must enable last for REPCNT won't work! DMA.CH1.CTRLA |= DMA_CH_REPEAT_bm | DMA_CH_ENABLE_bm; //Enable! - 948: 90 a1 ldd r25, Z+32 ; 0x20 - 94a: 90 6a ori r25, 0xA0 ; 160 - 94c: 90 a3 std Z+32, r25 ; 0x20 + 954: 90 a1 ldd r25, Z+32 ; 0x20 + 956: 90 6a ori r25, 0xA0 ; 160 + 958: 90 a3 std Z+32, r25 ; 0x20 DMA.CH2.REPCNT = 0; //Repeat forever! - 94e: 16 aa std Z+54, r1 ; 0x36 + 95a: 16 aa std Z+54, r1 ; 0x36 DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - 950: 94 e2 ldi r25, 0x24 ; 36 - 952: 90 ab std Z+48, r25 ; 0x30 + 95c: 94 e2 ldi r25, 0x24 ; 36 + 95e: 90 ab std Z+48, r25 ; 0x30 DMA.CH2.CTRLB = 0x00; //No interrupt for DacBuf!! - 954: 11 aa std Z+49, r1 ; 0x31 + 960: 11 aa std Z+49, r1 ; 0x31 DMA.CH2.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - 956: 99 e5 ldi r25, 0x59 ; 89 - 958: 92 ab std Z+50, r25 ; 0x32 + 962: 99 e5 ldi r25, 0x59 ; 89 + 964: 92 ab std Z+50, r25 ; 0x32 DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH1_gc; //Triggered from TCC0 when it hits PER - 95a: 92 e0 ldi r25, 0x02 ; 2 - 95c: 93 ab std Z+51, r25 ; 0x33 + 966: 92 e0 ldi r25, 0x02 ; 2 + 968: 93 ab std Z+51, r25 ; 0x33 DMA.CH2.TRFCNT = auxDacBufLen; - 95e: a0 91 02 20 lds r26, 0x2002 ; 0x802002 - 962: b0 91 03 20 lds r27, 0x2003 ; 0x802003 - 966: a4 ab std Z+52, r26 ; 0x34 - 968: b5 ab std Z+53, r27 ; 0x35 + 96a: a0 91 02 20 lds r26, 0x2002 ; 0x802002 + 96e: b0 91 03 20 lds r27, 0x2003 ; 0x802003 + 972: a4 ab std Z+52, r26 ; 0x34 + 974: b5 ab std Z+53, r27 ; 0x35 DMA.CH2.SRCADDR0 = (( (uint16_t) &dacBuf_CH2[0]) >> 0) & 0xFF; //Source address is dacbuf - 96a: aa e6 ldi r26, 0x6A ; 106 - 96c: b4 e2 ldi r27, 0x24 ; 36 - 96e: a0 af std Z+56, r26 ; 0x38 + 976: aa e6 ldi r26, 0x6A ; 106 + 978: b4 e2 ldi r27, 0x24 ; 36 + 97a: a0 af std Z+56, r26 ; 0x38 DMA.CH2.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; - 970: b1 af std Z+57, r27 ; 0x39 + 97c: b1 af std Z+57, r27 ; 0x39 DMA.CH2.SRCADDR2 = 0x00; - 972: 12 ae std Z+58, r1 ; 0x3a + 97e: 12 ae std Z+58, r1 ; 0x3a DMA.CH2.DESTADDR0 = (( (uint16_t) &DACB.CH1DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - 974: 9b e3 ldi r25, 0x3B ; 59 - 976: 94 af std Z+60, r25 ; 0x3c + 980: 9b e3 ldi r25, 0x3B ; 59 + 982: 94 af std Z+60, r25 ; 0x3c DMA.CH2.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; - 978: 93 e0 ldi r25, 0x03 ; 3 - 97a: 90 93 3d 01 sts 0x013D, r25 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + 984: 93 e0 ldi r25, 0x03 ; 3 + 986: 90 93 3d 01 sts 0x013D, r25 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> DMA.CH2.DESTADDR2 = 0x00; - 97e: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + 98a: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> //Must enable last for REPCNT won't work! DMA.CH2.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 982: 30 a9 ldd r19, Z+48 ; 0x30 - 984: 30 68 ori r19, 0x80 ; 128 - 986: 30 ab std Z+48, r19 ; 0x30 + 98e: 30 a9 ldd r19, Z+48 ; 0x30 + 990: 30 68 ori r19, 0x80 ; 128 + 992: 30 ab std Z+48, r19 ; 0x30 //Actual data being transferred DMA.CH0.CTRLA = 0x00; - 988: 10 8a std Z+16, r1 ; 0x10 + 994: 10 8a std Z+16, r1 ; 0x10 DMA.CH0.CTRLA = DMA_CH_RESET_bm; - 98a: 20 8b std Z+16, r18 ; 0x10 + 996: 20 8b std Z+16, r18 ; 0x10 DMA.CH0.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 98c: c0 8b std Z+16, r28 ; 0x10 + 998: c0 8b std Z+16, r28 ; 0x10 DMA.CH0.CTRLB = 0x03; //No interrupt - 98e: 91 8b std Z+17, r25 ; 0x11 + 99a: 91 8b std Z+17, r25 ; 0x11 DMA.CH0.ADDRCTRL = DMA_CH_SRCRELOAD_BURST_gc | DMA_CH_SRCDIR_INC_gc | DMA_CH_DESTDIR_INC_gc; //Source reloads after each burst, with byte incrementing. Dest does not reload, but does increment address. - 990: 61 e9 ldi r22, 0x91 ; 145 - 992: 62 8b std Z+18, r22 ; 0x12 + 99c: 61 e9 ldi r22, 0x91 ; 145 + 99e: 62 8b std Z+18, r22 ; 0x12 DMA.CH0.TRIGSRC = DMA_CH_TRIGSRC_USARTC0_RXC_gc; - 994: 43 8b std Z+19, r20 ; 0x13 + 9a0: 43 8b std Z+19, r20 ; 0x13 DMA.CH0.TRFCNT = HALFPACKET_SIZE; - 996: 47 e7 ldi r20, 0x77 ; 119 - 998: 51 e0 ldi r21, 0x01 ; 1 - 99a: 44 8b std Z+20, r20 ; 0x14 - 99c: 55 8b std Z+21, r21 ; 0x15 + 9a2: 47 e7 ldi r20, 0x77 ; 119 + 9a4: 51 e0 ldi r21, 0x01 ; 1 + 9a6: 44 8b std Z+20, r20 ; 0x14 + 9a8: 55 8b std Z+21, r21 ; 0x15 DMA.CH0.SRCADDR0 = (( (uint16_t) &USARTC0.DATA) >> 0) & 0xFF; //Source address is ADC - 99e: 70 8f std Z+24, r23 ; 0x18 + 9aa: 70 8f std Z+24, r23 ; 0x18 DMA.CH0.SRCADDR1 = (( (uint16_t) &USARTC0.DATA) >> 8) & 0xFF; - 9a0: 81 8f std Z+25, r24 ; 0x19 + 9ac: 81 8f std Z+25, r24 ; 0x19 DMA.CH0.SRCADDR2 = 0x00; - 9a2: 12 8e std Z+26, r1 ; 0x1a + 9ae: 12 8e std Z+26, r1 ; 0x1a DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[0]) >> 0) & 0xFF; //Dest address is isoBuf - 9a4: aa e6 ldi r26, 0x6A ; 106 - 9a6: b6 e2 ldi r27, 0x26 ; 38 - 9a8: a4 8f std Z+28, r26 ; 0x1c + 9b0: aa e6 ldi r26, 0x6A ; 106 + 9b2: b6 e2 ldi r27, 0x26 ; 38 + 9b4: a4 8f std Z+28, r26 ; 0x1c DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[0]) >> 8) & 0xFF; - 9aa: b5 8f std Z+29, r27 ; 0x1d + 9b6: b5 8f std Z+29, r27 ; 0x1d DMA.CH0.DESTADDR2 = 0x00; - 9ac: 16 8e std Z+30, r1 ; 0x1e + 9b8: 16 8e std Z+30, r1 ; 0x1e //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 9ae: 30 89 ldd r19, Z+16 ; 0x10 - 9b0: 30 68 ori r19, 0x80 ; 128 - 9b2: 30 8b std Z+16, r19 ; 0x10 + 9ba: 30 89 ldd r19, Z+16 ; 0x10 + 9bc: 30 68 ori r19, 0x80 ; 128 + 9be: 30 8b std Z+16, r19 ; 0x10 //Actual data being transferred DMA.CH3.CTRLA = 0x00; - 9b4: e0 e4 ldi r30, 0x40 ; 64 - 9b6: f1 e0 ldi r31, 0x01 ; 1 - 9b8: 10 82 st Z, r1 + 9c0: e0 e4 ldi r30, 0x40 ; 64 + 9c2: f1 e0 ldi r31, 0x01 ; 1 + 9c4: 10 82 st Z, r1 DMA.CH3.CTRLA = DMA_CH_RESET_bm; - 9ba: 20 83 st Z, r18 + 9c6: 20 83 st Z, r18 DMA.CH3.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - 9bc: c0 83 st Z, r28 + 9c8: c0 83 st Z, r28 DMA.CH3.CTRLB = 0x03; //No interrupt - 9be: 90 93 41 01 sts 0x0141, r25 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + 9ca: 90 93 41 01 sts 0x0141, r25 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> DMA.CH3.ADDRCTRL = DMA_CH_SRCRELOAD_BURST_gc | DMA_CH_SRCDIR_INC_gc | DMA_CH_DESTDIR_INC_gc; //Source reloads after each burst, with byte incrementing. Dest does not reload, but does increment address. - 9c2: 60 93 42 01 sts 0x0142, r22 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + 9ce: 60 93 42 01 sts 0x0142, r22 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_SPIC_gc; - 9c6: 9a e4 ldi r25, 0x4A ; 74 - 9c8: 90 93 43 01 sts 0x0143, r25 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + 9d2: 9a e4 ldi r25, 0x4A ; 74 + 9d4: 90 93 43 01 sts 0x0143, r25 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> DMA.CH3.TRFCNT = HALFPACKET_SIZE; - 9cc: 40 93 44 01 sts 0x0144, r20 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - 9d0: 50 93 45 01 sts 0x0145, r21 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + 9d8: 40 93 44 01 sts 0x0144, r20 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + 9dc: 50 93 45 01 sts 0x0145, r21 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> DMA.CH3.SRCADDR0 = (( (uint16_t) &SPIC.DATA) >> 0) & 0xFF; //Source address is ADC - 9d4: 93 ec ldi r25, 0xC3 ; 195 - 9d6: 90 93 48 01 sts 0x0148, r25 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + 9e0: 93 ec ldi r25, 0xC3 ; 195 + 9e2: 90 93 48 01 sts 0x0148, r25 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> DMA.CH3.SRCADDR1 = (( (uint16_t) &SPIC.DATA) >> 8) & 0xFF; - 9da: 80 93 49 01 sts 0x0149, r24 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + 9e6: 80 93 49 01 sts 0x0149, r24 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> DMA.CH3.SRCADDR2 = 0x00; - 9de: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + 9ea: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> DMA.CH3.DESTADDR0 = (( (uint16_t) &isoBuf[HALFPACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - 9e2: 81 ee ldi r24, 0xE1 ; 225 - 9e4: 97 e2 ldi r25, 0x27 ; 39 - 9e6: 80 93 4c 01 sts 0x014C, r24 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + 9ee: 81 ee ldi r24, 0xE1 ; 225 + 9f0: 97 e2 ldi r25, 0x27 ; 39 + 9f2: 80 93 4c 01 sts 0x014C, r24 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> DMA.CH3.DESTADDR1 = (( (uint16_t) &isoBuf[HALFPACKET_SIZE]) >> 8) & 0xFF; - 9ea: 90 93 4d 01 sts 0x014D, r25 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + 9f6: 90 93 4d 01 sts 0x014D, r25 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> DMA.CH3.DESTADDR2 = 0x00; - 9ee: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + 9fa: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> //Must enable last for REPCNT won't work! DMA.CH3.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - 9f2: 80 81 ld r24, Z - 9f4: 80 68 ori r24, 0x80 ; 128 - 9f6: 80 83 st Z, r24 + 9fe: 80 81 ld r24, Z + a00: 80 68 ori r24, 0x80 ; 128 + a02: 80 83 st Z, r24 } - 9f8: cf 91 pop r28 - 9fa: 08 95 ret + a04: cf 91 pop r28 + a06: 08 95 ret -000009fc : +00000a08 : void tiny_dma_loop_mode_4(void){ - 9fc: 08 95 ret + a08: 08 95 ret -000009fe : +00000a0a : return; } void tiny_dma_set_mode_5(void){ global_mode = 5; - 9fe: 85 e0 ldi r24, 0x05 ; 5 - a00: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> + a0a: 85 e0 ldi r24, 0x05 ; 5 + a0c: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> tiny_dma_flush(); - a04: 97 dd rcall .-1234 ; 0x534 + a10: 97 dd rcall .-1234 ; 0x540 DMA.CH2.REPCNT = 0; //Repeat forever! - a06: e0 e0 ldi r30, 0x00 ; 0 - a08: f1 e0 ldi r31, 0x01 ; 1 - a0a: 16 aa std Z+54, r1 ; 0x36 + a12: e0 e0 ldi r30, 0x00 ; 0 + a14: f1 e0 ldi r31, 0x01 ; 1 + a16: 16 aa std Z+54, r1 ; 0x36 DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - a0c: 34 e2 ldi r19, 0x24 ; 36 - a0e: 30 ab std Z+48, r19 ; 0x30 + a18: 34 e2 ldi r19, 0x24 ; 36 + a1a: 30 ab std Z+48, r19 ; 0x30 DMA.CH2.CTRLB = 0x00; //Hi interrupt on block complete - a10: 11 aa std Z+49, r1 ; 0x31 + a1c: 11 aa std Z+49, r1 ; 0x31 DMA.CH2.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - a12: 29 e5 ldi r18, 0x59 ; 89 - a14: 22 ab std Z+50, r18 ; 0x32 + a1e: 29 e5 ldi r18, 0x59 ; 89 + a20: 22 ab std Z+50, r18 ; 0x32 DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH2_gc; //Triggered from TCC0 when it hits PER - a16: 83 e0 ldi r24, 0x03 ; 3 - a18: 83 ab std Z+51, r24 ; 0x33 + a22: 83 e0 ldi r24, 0x03 ; 3 + a24: 83 ab std Z+51, r24 ; 0x33 DMA.CH2.TRFCNT = dacBuf_len; - a1a: 40 91 04 20 lds r20, 0x2004 ; 0x802004 - a1e: 50 91 05 20 lds r21, 0x2005 ; 0x802005 - a22: 44 ab std Z+52, r20 ; 0x34 - a24: 55 ab std Z+53, r21 ; 0x35 + a26: 40 91 04 20 lds r20, 0x2004 ; 0x802004 + a2a: 50 91 05 20 lds r21, 0x2005 ; 0x802005 + a2e: 44 ab std Z+52, r20 ; 0x34 + a30: 55 ab std Z+53, r21 ; 0x35 DMA.CH2.SRCADDR0 = (( (uint16_t) &dacBuf_CH1[0]) >> 0) & 0xFF; //Source address is dacbuf - a26: 4a e5 ldi r20, 0x5A ; 90 - a28: 52 e2 ldi r21, 0x22 ; 34 - a2a: 40 af std Z+56, r20 ; 0x38 + a32: 4a e5 ldi r20, 0x5A ; 90 + a34: 52 e2 ldi r21, 0x22 ; 34 + a36: 40 af std Z+56, r20 ; 0x38 DMA.CH2.SRCADDR1 = (( (uint16_t) &dacBuf_CH1[0]) >> 8) & 0xFF; - a2c: 51 af std Z+57, r21 ; 0x39 + a38: 51 af std Z+57, r21 ; 0x39 DMA.CH2.SRCADDR2 = 0x00; - a2e: 12 ae std Z+58, r1 ; 0x3a + a3a: 12 ae std Z+58, r1 ; 0x3a DMA.CH2.DESTADDR0 = (( (uint16_t) &DACB.CH0DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - a30: 99 e3 ldi r25, 0x39 ; 57 - a32: 94 af std Z+60, r25 ; 0x3c + a3c: 99 e3 ldi r25, 0x39 ; 57 + a3e: 94 af std Z+60, r25 ; 0x3c DMA.CH2.DESTADDR1 = (( (uint16_t) &DACB.CH0DATAH) >> 8) & 0xFF; - a34: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + a40: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> DMA.CH2.DESTADDR2 = 0x00; - a38: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + a44: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> //Must enable last for REPCNT won't work! DMA.CH2.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - a3c: 90 a9 ldd r25, Z+48 ; 0x30 - a3e: 90 68 ori r25, 0x80 ; 128 - a40: 90 ab std Z+48, r25 ; 0x30 + a48: 90 a9 ldd r25, Z+48 ; 0x30 + a4a: 90 68 ori r25, 0x80 ; 128 + a4c: 90 ab std Z+48, r25 ; 0x30 DMA.CH3.REPCNT = 0; //Repeat forever! - a42: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + a4e: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> DMA.CH3.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - a46: e0 e4 ldi r30, 0x40 ; 64 - a48: f1 e0 ldi r31, 0x01 ; 1 - a4a: 30 83 st Z, r19 + a52: e0 e4 ldi r30, 0x40 ; 64 + a54: f1 e0 ldi r31, 0x01 ; 1 + a56: 30 83 st Z, r19 DMA.CH3.CTRLB = 0x00; //No interrupt for DacBuf!! - a4c: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + a58: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> DMA.CH3.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - a50: 20 93 42 01 sts 0x0142, r18 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + a5c: 20 93 42 01 sts 0x0142, r18 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH2_gc; //Triggered from TCC0 when it hits PER - a54: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + a60: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> DMA.CH3.TRFCNT = dacBuf_len; - a58: 20 91 04 20 lds r18, 0x2004 ; 0x802004 - a5c: 30 91 05 20 lds r19, 0x2005 ; 0x802005 - a60: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - a64: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + a64: 20 91 04 20 lds r18, 0x2004 ; 0x802004 + a68: 30 91 05 20 lds r19, 0x2005 ; 0x802005 + a6c: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + a70: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> DMA.CH3.SRCADDR0 = (( (uint16_t) &dacBuf_CH2[0]) >> 0) & 0xFF; //Source address is dacbuf - a68: 2a e6 ldi r18, 0x6A ; 106 - a6a: 34 e2 ldi r19, 0x24 ; 36 - a6c: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + a74: 2a e6 ldi r18, 0x6A ; 106 + a76: 34 e2 ldi r19, 0x24 ; 36 + a78: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> DMA.CH3.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; - a70: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + a7c: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> DMA.CH3.SRCADDR2 = 0x00; - a74: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + a80: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> DMA.CH3.DESTADDR0 = (( (uint16_t) &DACB.CH1DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - a78: 9b e3 ldi r25, 0x3B ; 59 - a7a: 90 93 4c 01 sts 0x014C, r25 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + a84: 9b e3 ldi r25, 0x3B ; 59 + a86: 90 93 4c 01 sts 0x014C, r25 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> DMA.CH3.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; - a7e: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + a8a: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> DMA.CH3.DESTADDR2 = 0x00; - a82: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + a8e: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> //Must enable last for REPCNT won't work! DMA.CH3.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - a86: 80 81 ld r24, Z - a88: 80 68 ori r24, 0x80 ; 128 - a8a: 80 83 st Z, r24 - a8c: 08 95 ret + a92: 80 81 ld r24, Z + a94: 80 68 ori r24, 0x80 ; 128 + a96: 80 83 st Z, r24 + a98: 08 95 ret -00000a8e : +00000a9a : } void tiny_dma_set_mode_6(void){ global_mode = 6; - a8e: 86 e0 ldi r24, 0x06 ; 6 - a90: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> + a9a: 86 e0 ldi r24, 0x06 ; 6 + a9c: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> tiny_dma_flush(); - a94: 4f dd rcall .-1378 ; 0x534 + aa0: 4f dd rcall .-1378 ; 0x540 DMA.CH2.REPCNT = 0; //Repeat forever! - a96: e0 e0 ldi r30, 0x00 ; 0 - a98: f1 e0 ldi r31, 0x01 ; 1 - a9a: 16 aa std Z+54, r1 ; 0x36 + aa2: e0 e0 ldi r30, 0x00 ; 0 + aa4: f1 e0 ldi r31, 0x01 ; 1 + aa6: 16 aa std Z+54, r1 ; 0x36 DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - a9c: 94 e2 ldi r25, 0x24 ; 36 - a9e: 90 ab std Z+48, r25 ; 0x30 + aa8: 94 e2 ldi r25, 0x24 ; 36 + aaa: 90 ab std Z+48, r25 ; 0x30 DMA.CH2.CTRLB = 0x00; //Hi interrupt on block complete - aa0: 11 aa std Z+49, r1 ; 0x31 + aac: 11 aa std Z+49, r1 ; 0x31 DMA.CH2.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - aa2: 39 e5 ldi r19, 0x59 ; 89 - aa4: 32 ab std Z+50, r19 ; 0x32 + aae: 39 e5 ldi r19, 0x59 ; 89 + ab0: 32 ab std Z+50, r19 ; 0x32 DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH2_gc; //Triggered from TCC0 when it hits PER - aa6: 83 e0 ldi r24, 0x03 ; 3 - aa8: 83 ab std Z+51, r24 ; 0x33 + ab2: 83 e0 ldi r24, 0x03 ; 3 + ab4: 83 ab std Z+51, r24 ; 0x33 DMA.CH2.TRFCNT = dacBuf_len; - aaa: 40 91 04 20 lds r20, 0x2004 ; 0x802004 - aae: 50 91 05 20 lds r21, 0x2005 ; 0x802005 - ab2: 44 ab std Z+52, r20 ; 0x34 - ab4: 55 ab std Z+53, r21 ; 0x35 + ab6: 40 91 04 20 lds r20, 0x2004 ; 0x802004 + aba: 50 91 05 20 lds r21, 0x2005 ; 0x802005 + abe: 44 ab std Z+52, r20 ; 0x34 + ac0: 55 ab std Z+53, r21 ; 0x35 DMA.CH2.SRCADDR0 = (( (uint16_t) &dacBuf_CH1[0]) >> 0) & 0xFF; //Source address is dacbuf - ab6: 4a e5 ldi r20, 0x5A ; 90 - ab8: 52 e2 ldi r21, 0x22 ; 34 - aba: 40 af std Z+56, r20 ; 0x38 + ac2: 4a e5 ldi r20, 0x5A ; 90 + ac4: 52 e2 ldi r21, 0x22 ; 34 + ac6: 40 af std Z+56, r20 ; 0x38 DMA.CH2.SRCADDR1 = (( (uint16_t) &dacBuf_CH1[0]) >> 8) & 0xFF; - abc: 51 af std Z+57, r21 ; 0x39 + ac8: 51 af std Z+57, r21 ; 0x39 DMA.CH2.SRCADDR2 = 0x00; - abe: 12 ae std Z+58, r1 ; 0x3a + aca: 12 ae std Z+58, r1 ; 0x3a DMA.CH2.DESTADDR0 = (( (uint16_t) &DACB.CH0DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - ac0: 29 e3 ldi r18, 0x39 ; 57 - ac2: 24 af std Z+60, r18 ; 0x3c + acc: 29 e3 ldi r18, 0x39 ; 57 + ace: 24 af std Z+60, r18 ; 0x3c DMA.CH2.DESTADDR1 = (( (uint16_t) &DACB.CH0DATAH) >> 8) & 0xFF; - ac4: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + ad0: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> DMA.CH2.DESTADDR2 = 0x00; - ac8: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + ad4: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> //Must enable last for REPCNT won't work! DMA.CH2.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - acc: 20 a9 ldd r18, Z+48 ; 0x30 - ace: 20 68 ori r18, 0x80 ; 128 - ad0: 20 ab std Z+48, r18 ; 0x30 + ad8: 20 a9 ldd r18, Z+48 ; 0x30 + ada: 20 68 ori r18, 0x80 ; 128 + adc: 20 ab std Z+48, r18 ; 0x30 DMA.CH3.REPCNT = 0; //Repeat forever! - ad2: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + ade: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> DMA.CH3.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - ad6: a0 e4 ldi r26, 0x40 ; 64 - ad8: b1 e0 ldi r27, 0x01 ; 1 - ada: 9c 93 st X, r25 + ae2: a0 e4 ldi r26, 0x40 ; 64 + ae4: b1 e0 ldi r27, 0x01 ; 1 + ae6: 9c 93 st X, r25 DMA.CH3.CTRLB = 0x00; //No interrupt for DacBuf!! - adc: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + ae8: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> DMA.CH3.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - ae0: 30 93 42 01 sts 0x0142, r19 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + aec: 30 93 42 01 sts 0x0142, r19 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH1_gc; //Triggered from TCC0 when it hits PER - ae4: 32 e0 ldi r19, 0x02 ; 2 - ae6: 30 93 43 01 sts 0x0143, r19 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + af0: 32 e0 ldi r19, 0x02 ; 2 + af2: 30 93 43 01 sts 0x0143, r19 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> DMA.CH3.TRFCNT = auxDacBufLen; - aea: 40 91 02 20 lds r20, 0x2002 ; 0x802002 - aee: 50 91 03 20 lds r21, 0x2003 ; 0x802003 - af2: 40 93 44 01 sts 0x0144, r20 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - af6: 50 93 45 01 sts 0x0145, r21 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + af6: 40 91 02 20 lds r20, 0x2002 ; 0x802002 + afa: 50 91 03 20 lds r21, 0x2003 ; 0x802003 + afe: 40 93 44 01 sts 0x0144, r20 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + b02: 50 93 45 01 sts 0x0145, r21 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> DMA.CH3.SRCADDR0 = (( (uint16_t) &dacBuf_CH2[0]) >> 0) & 0xFF; //Source address is dacbuf - afa: 4a e6 ldi r20, 0x6A ; 106 - afc: 54 e2 ldi r21, 0x24 ; 36 - afe: 40 93 48 01 sts 0x0148, r20 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + b06: 4a e6 ldi r20, 0x6A ; 106 + b08: 54 e2 ldi r21, 0x24 ; 36 + b0a: 40 93 48 01 sts 0x0148, r20 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> DMA.CH3.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; - b02: 50 93 49 01 sts 0x0149, r21 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + b0e: 50 93 49 01 sts 0x0149, r21 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> DMA.CH3.SRCADDR2 = 0x00; - b06: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + b12: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> DMA.CH3.DESTADDR0 = (( (uint16_t) &DACB.CH1DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - b0a: 2b e3 ldi r18, 0x3B ; 59 - b0c: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + b16: 2b e3 ldi r18, 0x3B ; 59 + b18: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> DMA.CH3.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; - b10: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + b1c: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> DMA.CH3.DESTADDR2 = 0x00; - b14: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + b20: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> //Must enable last for REPCNT won't work! DMA.CH3.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - b18: 2c 91 ld r18, X - b1a: 20 68 ori r18, 0x80 ; 128 - b1c: 2c 93 st X, r18 + b24: 2c 91 ld r18, X + b26: 20 68 ori r18, 0x80 ; 128 + b28: 2c 93 st X, r18 DMA.CH0.CTRLA = 0x00; - b1e: 10 8a std Z+16, r1 ; 0x10 + b2a: 10 8a std Z+16, r1 ; 0x10 DMA.CH0.CTRLA = DMA_CH_RESET_bm; - b20: 20 e4 ldi r18, 0x40 ; 64 - b22: 20 8b std Z+16, r18 ; 0x10 + b2c: 20 e4 ldi r18, 0x40 ; 64 + b2e: 20 8b std Z+16, r18 ; 0x10 DMA.CH0.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - b24: 24 e0 ldi r18, 0x04 ; 4 - b26: 20 8b std Z+16, r18 ; 0x10 + b30: 24 e0 ldi r18, 0x04 ; 4 + b32: 20 8b std Z+16, r18 ; 0x10 DMA.CH0.CTRLB = 0x03; //Hi interrupt! - b28: 81 8b std Z+17, r24 ; 0x11 + b34: 81 8b std Z+17, r24 ; 0x11 DMA.CH0.ADDRCTRL = DMA_CH_SRCRELOAD_BURST_gc | DMA_CH_SRCDIR_INC_gc | DMA_CH_DESTDIR_INC_gc; //Source reloads after each burst, with byte incrementing. Dest does not reload, but does increment address. - b2a: 81 e9 ldi r24, 0x91 ; 145 - b2c: 82 8b std Z+18, r24 ; 0x12 + b36: 81 e9 ldi r24, 0x91 ; 145 + b38: 82 8b std Z+18, r24 ; 0x12 DMA.CH0.TRIGSRC = DMA_CH_TRIGSRC_ADCA_CH0_gc; //Triggered from ADCA channel 0 - b2e: 80 e1 ldi r24, 0x10 ; 16 - b30: 83 8b std Z+19, r24 ; 0x13 + b3a: 80 e1 ldi r24, 0x10 ; 16 + b3c: 83 8b std Z+19, r24 ; 0x13 DMA.CH0.TRFCNT = PACKET_SIZE; - b32: 4e ee ldi r20, 0xEE ; 238 - b34: 52 e0 ldi r21, 0x02 ; 2 - b36: 44 8b std Z+20, r20 ; 0x14 - b38: 55 8b std Z+21, r21 ; 0x15 + b3e: 4e ee ldi r20, 0xEE ; 238 + b40: 52 e0 ldi r21, 0x02 ; 2 + b42: 44 8b std Z+20, r20 ; 0x14 + b44: 55 8b std Z+21, r21 ; 0x15 DMA.CH0.SRCADDR0 = (( (uint16_t) &ADCA.CH0.RESL) >> 0) & 0xFF; //Source address is ADC - b3a: 90 8f std Z+24, r25 ; 0x18 + b46: 90 8f std Z+24, r25 ; 0x18 DMA.CH0.SRCADDR1 = (( (uint16_t) &ADCA.CH0.RESL) >> 8) & 0xFF; - b3c: 31 8f std Z+25, r19 ; 0x19 + b48: 31 8f std Z+25, r19 ; 0x19 DMA.CH0.SRCADDR2 = 0x00; - b3e: 12 8e std Z+26, r1 ; 0x1a + b4a: 12 8e std Z+26, r1 ; 0x1a DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[0]) >> 0) & 0xFF; //Dest address is isoBuf - b40: 8a e6 ldi r24, 0x6A ; 106 - b42: 96 e2 ldi r25, 0x26 ; 38 - b44: 84 8f std Z+28, r24 ; 0x1c + b4c: 8a e6 ldi r24, 0x6A ; 106 + b4e: 96 e2 ldi r25, 0x26 ; 38 + b50: 84 8f std Z+28, r24 ; 0x1c DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[0]) >> 8) & 0xFF; - b46: 95 8f std Z+29, r25 ; 0x1d + b52: 95 8f std Z+29, r25 ; 0x1d DMA.CH0.DESTADDR2 = 0x00; - b48: 16 8e std Z+30, r1 ; 0x1e + b54: 16 8e std Z+30, r1 ; 0x1e //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - b4a: 80 89 ldd r24, Z+16 ; 0x10 - b4c: 80 68 ori r24, 0x80 ; 128 - b4e: 80 8b std Z+16, r24 ; 0x10 - b50: 08 95 ret + b56: 80 89 ldd r24, Z+16 ; 0x10 + b58: 80 68 ori r24, 0x80 ; 128 + b5a: 80 8b std Z+16, r24 ; 0x10 + b5c: 08 95 ret -00000b52 : +00000b5e : } void tiny_dma_loop_mode_6(void){ - b52: 08 95 ret + b5e: 08 95 ret -00000b54 : +00000b60 : return; } void tiny_dma_set_mode_7(void){ global_mode = 7; - b54: 87 e0 ldi r24, 0x07 ; 7 - b56: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> + b60: 87 e0 ldi r24, 0x07 ; 7 + b62: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> tiny_dma_flush(); - b5a: ec dc rcall .-1576 ; 0x534 + b66: ec dc rcall .-1576 ; 0x540 DMA.CH2.REPCNT = 0; //Repeat forever! - b5c: e0 e0 ldi r30, 0x00 ; 0 - b5e: f1 e0 ldi r31, 0x01 ; 1 - b60: 16 aa std Z+54, r1 ; 0x36 + b68: e0 e0 ldi r30, 0x00 ; 0 + b6a: f1 e0 ldi r31, 0x01 ; 1 + b6c: 16 aa std Z+54, r1 ; 0x36 DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - b62: 94 e2 ldi r25, 0x24 ; 36 - b64: 90 ab std Z+48, r25 ; 0x30 + b6e: 94 e2 ldi r25, 0x24 ; 36 + b70: 90 ab std Z+48, r25 ; 0x30 DMA.CH2.CTRLB = 0x00; //Hi interrupt on block complete - b66: 11 aa std Z+49, r1 ; 0x31 + b72: 11 aa std Z+49, r1 ; 0x31 DMA.CH2.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - b68: 39 e5 ldi r19, 0x59 ; 89 - b6a: 32 ab std Z+50, r19 ; 0x32 + b74: 39 e5 ldi r19, 0x59 ; 89 + b76: 32 ab std Z+50, r19 ; 0x32 DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH2_gc; //Triggered from TCC0 when it hits PER - b6c: 83 e0 ldi r24, 0x03 ; 3 - b6e: 83 ab std Z+51, r24 ; 0x33 + b78: 83 e0 ldi r24, 0x03 ; 3 + b7a: 83 ab std Z+51, r24 ; 0x33 DMA.CH2.TRFCNT = dacBuf_len; - b70: 40 91 04 20 lds r20, 0x2004 ; 0x802004 - b74: 50 91 05 20 lds r21, 0x2005 ; 0x802005 - b78: 44 ab std Z+52, r20 ; 0x34 - b7a: 55 ab std Z+53, r21 ; 0x35 + b7c: 40 91 04 20 lds r20, 0x2004 ; 0x802004 + b80: 50 91 05 20 lds r21, 0x2005 ; 0x802005 + b84: 44 ab std Z+52, r20 ; 0x34 + b86: 55 ab std Z+53, r21 ; 0x35 DMA.CH2.SRCADDR0 = (( (uint16_t) &dacBuf_CH1[0]) >> 0) & 0xFF; //Source address is dacbuf - b7c: 4a e5 ldi r20, 0x5A ; 90 - b7e: 52 e2 ldi r21, 0x22 ; 34 - b80: 40 af std Z+56, r20 ; 0x38 + b88: 4a e5 ldi r20, 0x5A ; 90 + b8a: 52 e2 ldi r21, 0x22 ; 34 + b8c: 40 af std Z+56, r20 ; 0x38 DMA.CH2.SRCADDR1 = (( (uint16_t) &dacBuf_CH1[0]) >> 8) & 0xFF; - b82: 51 af std Z+57, r21 ; 0x39 + b8e: 51 af std Z+57, r21 ; 0x39 DMA.CH2.SRCADDR2 = 0x00; - b84: 12 ae std Z+58, r1 ; 0x3a + b90: 12 ae std Z+58, r1 ; 0x3a DMA.CH2.DESTADDR0 = (( (uint16_t) &DACB.CH0DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - b86: 29 e3 ldi r18, 0x39 ; 57 - b88: 24 af std Z+60, r18 ; 0x3c + b92: 29 e3 ldi r18, 0x39 ; 57 + b94: 24 af std Z+60, r18 ; 0x3c DMA.CH2.DESTADDR1 = (( (uint16_t) &DACB.CH0DATAH) >> 8) & 0xFF; - b8a: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + b96: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> DMA.CH2.DESTADDR2 = 0x00; - b8e: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + b9a: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> //Must enable last for REPCNT won't work! DMA.CH2.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - b92: 20 a9 ldd r18, Z+48 ; 0x30 - b94: 20 68 ori r18, 0x80 ; 128 - b96: 20 ab std Z+48, r18 ; 0x30 + b9e: 20 a9 ldd r18, Z+48 ; 0x30 + ba0: 20 68 ori r18, 0x80 ; 128 + ba2: 20 ab std Z+48, r18 ; 0x30 DMA.CH3.REPCNT = 0; //Repeat forever! - b98: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + ba4: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> DMA.CH3.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - b9c: a0 e4 ldi r26, 0x40 ; 64 - b9e: b1 e0 ldi r27, 0x01 ; 1 - ba0: 9c 93 st X, r25 + ba8: a0 e4 ldi r26, 0x40 ; 64 + baa: b1 e0 ldi r27, 0x01 ; 1 + bac: 9c 93 st X, r25 DMA.CH3.CTRLB = 0x00; //No interrupt for DacBuf!! - ba2: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + bae: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> DMA.CH3.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - ba6: 30 93 42 01 sts 0x0142, r19 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + bb2: 30 93 42 01 sts 0x0142, r19 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH1_gc; //Triggered from TCC0 when it hits PER - baa: 32 e0 ldi r19, 0x02 ; 2 - bac: 30 93 43 01 sts 0x0143, r19 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + bb6: 32 e0 ldi r19, 0x02 ; 2 + bb8: 30 93 43 01 sts 0x0143, r19 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> DMA.CH3.TRFCNT = auxDacBufLen; - bb0: 40 91 02 20 lds r20, 0x2002 ; 0x802002 - bb4: 50 91 03 20 lds r21, 0x2003 ; 0x802003 - bb8: 40 93 44 01 sts 0x0144, r20 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - bbc: 50 93 45 01 sts 0x0145, r21 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + bbc: 40 91 02 20 lds r20, 0x2002 ; 0x802002 + bc0: 50 91 03 20 lds r21, 0x2003 ; 0x802003 + bc4: 40 93 44 01 sts 0x0144, r20 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + bc8: 50 93 45 01 sts 0x0145, r21 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> DMA.CH3.SRCADDR0 = (( (uint16_t) &dacBuf_CH2[0]) >> 0) & 0xFF; //Source address is dacbuf - bc0: 4a e6 ldi r20, 0x6A ; 106 - bc2: 54 e2 ldi r21, 0x24 ; 36 - bc4: 40 93 48 01 sts 0x0148, r20 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + bcc: 4a e6 ldi r20, 0x6A ; 106 + bce: 54 e2 ldi r21, 0x24 ; 36 + bd0: 40 93 48 01 sts 0x0148, r20 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> DMA.CH3.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; - bc8: 50 93 49 01 sts 0x0149, r21 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + bd4: 50 93 49 01 sts 0x0149, r21 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> DMA.CH3.SRCADDR2 = 0x00; - bcc: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + bd8: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> DMA.CH3.DESTADDR0 = (( (uint16_t) &DACB.CH1DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - bd0: 2b e3 ldi r18, 0x3B ; 59 - bd2: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + bdc: 2b e3 ldi r18, 0x3B ; 59 + bde: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> DMA.CH3.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; - bd6: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + be2: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> DMA.CH3.DESTADDR2 = 0x00; - bda: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + be6: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> //Must enable last for REPCNT won't work! DMA.CH3.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - bde: 2c 91 ld r18, X - be0: 20 68 ori r18, 0x80 ; 128 - be2: 2c 93 st X, r18 + bea: 2c 91 ld r18, X + bec: 20 68 ori r18, 0x80 ; 128 + bee: 2c 93 st X, r18 DMA.CH0.CTRLA = 0x00; - be4: 10 8a std Z+16, r1 ; 0x10 + bf0: 10 8a std Z+16, r1 ; 0x10 DMA.CH0.CTRLA = DMA_CH_RESET_bm; - be6: 20 e4 ldi r18, 0x40 ; 64 - be8: 20 8b std Z+16, r18 ; 0x10 + bf2: 20 e4 ldi r18, 0x40 ; 64 + bf4: 20 8b std Z+16, r18 ; 0x10 DMA.CH0.CTRLA = DMA_CH_BURSTLEN_2BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - bea: 25 e0 ldi r18, 0x05 ; 5 - bec: 20 8b std Z+16, r18 ; 0x10 + bf6: 25 e0 ldi r18, 0x05 ; 5 + bf8: 20 8b std Z+16, r18 ; 0x10 DMA.CH0.CTRLB = 0x03; //No interrupt! - bee: 81 8b std Z+17, r24 ; 0x11 + bfa: 81 8b std Z+17, r24 ; 0x11 DMA.CH0.ADDRCTRL = DMA_CH_SRCRELOAD_BURST_gc | DMA_CH_SRCDIR_INC_gc | DMA_CH_DESTDIR_INC_gc; //Source reloads after each burst, with byte incrementing. Dest does not reload, but does increment address. - bf0: 81 e9 ldi r24, 0x91 ; 145 - bf2: 82 8b std Z+18, r24 ; 0x12 + bfc: 81 e9 ldi r24, 0x91 ; 145 + bfe: 82 8b std Z+18, r24 ; 0x12 DMA.CH0.TRIGSRC = DMA_CH_TRIGSRC_ADCA_CH0_gc; //Triggered from ADCA channel 0 - bf4: 80 e1 ldi r24, 0x10 ; 16 - bf6: 83 8b std Z+19, r24 ; 0x13 + c00: 80 e1 ldi r24, 0x10 ; 16 + c02: 83 8b std Z+19, r24 ; 0x13 DMA.CH0.TRFCNT = PACKET_SIZE; - bf8: 4e ee ldi r20, 0xEE ; 238 - bfa: 52 e0 ldi r21, 0x02 ; 2 - bfc: 44 8b std Z+20, r20 ; 0x14 - bfe: 55 8b std Z+21, r21 ; 0x15 + c04: 4e ee ldi r20, 0xEE ; 238 + c06: 52 e0 ldi r21, 0x02 ; 2 + c08: 44 8b std Z+20, r20 ; 0x14 + c0a: 55 8b std Z+21, r21 ; 0x15 DMA.CH0.SRCADDR0 = (( (uint16_t) &ADCA.CH0.RESL) >> 0) & 0xFF; //Source address is ADC - c00: 90 8f std Z+24, r25 ; 0x18 + c0c: 90 8f std Z+24, r25 ; 0x18 DMA.CH0.SRCADDR1 = (( (uint16_t) &ADCA.CH0.RESL) >> 8) & 0xFF; - c02: 31 8f std Z+25, r19 ; 0x19 + c0e: 31 8f std Z+25, r19 ; 0x19 DMA.CH0.SRCADDR2 = 0x00; - c04: 12 8e std Z+26, r1 ; 0x1a + c10: 12 8e std Z+26, r1 ; 0x1a DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[0]) >> 0) & 0xFF; //Dest address is isoBuf - c06: 8a e6 ldi r24, 0x6A ; 106 - c08: 96 e2 ldi r25, 0x26 ; 38 - c0a: 84 8f std Z+28, r24 ; 0x1c + c12: 8a e6 ldi r24, 0x6A ; 106 + c14: 96 e2 ldi r25, 0x26 ; 38 + c16: 84 8f std Z+28, r24 ; 0x1c DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[0]) >> 8) & 0xFF; - c0c: 95 8f std Z+29, r25 ; 0x1d + c18: 95 8f std Z+29, r25 ; 0x1d DMA.CH0.DESTADDR2 = 0x00; - c0e: 16 8e std Z+30, r1 ; 0x1e + c1a: 16 8e std Z+30, r1 ; 0x1e //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - c10: 80 89 ldd r24, Z+16 ; 0x10 - c12: 80 68 ori r24, 0x80 ; 128 - c14: 80 8b std Z+16, r24 ; 0x10 - c16: 08 95 ret + c1c: 80 89 ldd r24, Z+16 ; 0x10 + c1e: 80 68 ori r24, 0x80 ; 128 + c20: 80 8b std Z+16, r24 ; 0x10 + c22: 08 95 ret -00000c18 : +00000c24 : } void tiny_dma_loop_mode_7(void){ - c18: 08 95 ret + c24: 08 95 ret -00000c1a <__vector_6>: +00000c26 <__vector_6>: } ISR(DMA_CH0_vect){ - c1a: 1f 92 push r1 - c1c: 0f 92 push r0 - c1e: 0f b6 in r0, 0x3f ; 63 - c20: 0f 92 push r0 - c22: 11 24 eor r1, r1 - c24: 2f 93 push r18 - c26: 3f 93 push r19 - c28: 4f 93 push r20 - c2a: 8f 93 push r24 - c2c: 9f 93 push r25 - c2e: af 93 push r26 - c30: bf 93 push r27 - c32: ef 93 push r30 - c34: ff 93 push r31 + c26: 1f 92 push r1 + c28: 0f 92 push r0 + c2a: 0f b6 in r0, 0x3f ; 63 + c2c: 0f 92 push r0 + c2e: 11 24 eor r1, r1 + c30: 2f 93 push r18 + c32: 3f 93 push r19 + c34: 4f 93 push r20 + c36: 8f 93 push r24 + c38: 9f 93 push r25 + c3a: af 93 push r26 + c3c: bf 93 push r27 + c3e: ef 93 push r30 + c40: ff 93 push r31 DMA.INTFLAGS = 0x01; - c36: 81 e0 ldi r24, 0x01 ; 1 - c38: 80 93 03 01 sts 0x0103, r24 ; 0x800103 <__TEXT_REGION_LENGTH__+0x700103> + c42: 81 e0 ldi r24, 0x01 ; 1 + c44: 80 93 03 01 sts 0x0103, r24 ; 0x800103 <__TEXT_REGION_LENGTH__+0x700103> switch(global_mode){ - c3c: e0 91 00 20 lds r30, 0x2000 ; 0x802000 <__data_start> - c40: 8e 2f mov r24, r30 - c42: 90 e0 ldi r25, 0x00 ; 0 - c44: 88 30 cpi r24, 0x08 ; 8 - c46: 91 05 cpc r25, r1 - c48: 08 f0 brcs .+2 ; 0xc4c <__vector_6+0x32> - c4a: 11 c1 rjmp .+546 ; 0xe6e <__vector_6+0x254> - c4c: fc 01 movw r30, r24 - c4e: ea 5f subi r30, 0xFA ; 250 - c50: fe 4f sbci r31, 0xFE ; 254 - c52: 0c 94 32 16 jmp 0x2c64 ; 0x2c64 <__tablejump2__> + c48: e0 91 00 20 lds r30, 0x2000 ; 0x802000 <__data_start> + c4c: 8e 2f mov r24, r30 + c4e: 90 e0 ldi r25, 0x00 ; 0 + c50: 88 30 cpi r24, 0x08 ; 8 + c52: 91 05 cpc r25, r1 + c54: 08 f0 brcs .+2 ; 0xc58 <__vector_6+0x32> + c56: 11 c1 rjmp .+546 ; 0xe7a <__vector_6+0x254> + c58: fc 01 movw r30, r24 + c5a: ea 5f subi r30, 0xFA ; 250 + c5c: fe 4f sbci r31, 0xFE ; 254 + c5e: 0c 94 3d 16 jmp 0x2c7a ; 0x2c7a <__tablejump2__> case 0: DMA.CH0.TRFCNT = HALFPACKET_SIZE; - c56: e0 e0 ldi r30, 0x00 ; 0 - c58: f1 e0 ldi r31, 0x01 ; 1 - c5a: 87 e7 ldi r24, 0x77 ; 119 - c5c: 91 e0 ldi r25, 0x01 ; 1 - c5e: 84 8b std Z+20, r24 ; 0x14 - c60: 95 8b std Z+21, r25 ; 0x15 + c62: e0 e0 ldi r30, 0x00 ; 0 + c64: f1 e0 ldi r31, 0x01 ; 1 + c66: 87 e7 ldi r24, 0x77 ; 119 + c68: 91 e0 ldi r25, 0x01 ; 1 + c6a: 84 8b std Z+20, r24 ; 0x14 + c6c: 95 8b std Z+21, r25 ; 0x15 DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - c62: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - c66: 2e ee ldi r18, 0xEE ; 238 - c68: 32 e0 ldi r19, 0x02 ; 2 - c6a: 42 9f mul r20, r18 - c6c: c0 01 movw r24, r0 - c6e: 43 9f mul r20, r19 - c70: 90 0d add r25, r0 - c72: 11 24 eor r1, r1 - c74: 86 59 subi r24, 0x96 ; 150 - c76: 99 4d sbci r25, 0xD9 ; 217 - c78: 84 8f std Z+28, r24 ; 0x1c + c6e: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 + c72: 2e ee ldi r18, 0xEE ; 238 + c74: 32 e0 ldi r19, 0x02 ; 2 + c76: 42 9f mul r20, r18 + c78: c0 01 movw r24, r0 + c7a: 43 9f mul r20, r19 + c7c: 90 0d add r25, r0 + c7e: 11 24 eor r1, r1 + c80: 86 59 subi r24, 0x96 ; 150 + c82: 99 4d sbci r25, 0xD9 ; 217 + c84: 84 8f std Z+28, r24 ; 0x1c DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 8) & 0xFF; - c7a: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - c7e: 42 9f mul r20, r18 - c80: c0 01 movw r24, r0 - c82: 43 9f mul r20, r19 - c84: 90 0d add r25, r0 - c86: 11 24 eor r1, r1 - c88: 86 59 subi r24, 0x96 ; 150 - c8a: 99 4d sbci r25, 0xD9 ; 217 - c8c: 95 8f std Z+29, r25 ; 0x1d + c86: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 + c8a: 42 9f mul r20, r18 + c8c: c0 01 movw r24, r0 + c8e: 43 9f mul r20, r19 + c90: 90 0d add r25, r0 + c92: 11 24 eor r1, r1 + c94: 86 59 subi r24, 0x96 ; 150 + c96: 99 4d sbci r25, 0xD9 ; 217 + c98: 95 8f std Z+29, r25 ; 0x1d //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - c8e: 80 89 ldd r24, Z+16 ; 0x10 - c90: 80 68 ori r24, 0x80 ; 128 - c92: 80 8b std Z+16, r24 ; 0x10 + c9a: 80 89 ldd r24, Z+16 ; 0x10 + c9c: 80 68 ori r24, 0x80 ; 128 + c9e: 80 8b std Z+16, r24 ; 0x10 b1_state = !b1_state; - c94: 90 91 b5 20 lds r25, 0x20B5 ; 0x8020b5 - c98: 81 e0 ldi r24, 0x01 ; 1 - c9a: 91 11 cpse r25, r1 - c9c: 80 e0 ldi r24, 0x00 ; 0 - c9e: 80 93 b5 20 sts 0x20B5, r24 ; 0x8020b5 + ca0: 90 91 b5 20 lds r25, 0x20B5 ; 0x8020b5 + ca4: 81 e0 ldi r24, 0x01 ; 1 + ca6: 91 11 cpse r25, r1 + ca8: 80 e0 ldi r24, 0x00 ; 0 + caa: 80 93 b5 20 sts 0x20B5, r24 ; 0x8020b5 break; - ca2: e5 c0 rjmp .+458 ; 0xe6e <__vector_6+0x254> + cae: e5 c0 rjmp .+458 ; 0xe7a <__vector_6+0x254> case 1: DMA.CH0.TRFCNT = HALFPACKET_SIZE; - ca4: e0 e0 ldi r30, 0x00 ; 0 - ca6: f1 e0 ldi r31, 0x01 ; 1 - ca8: 87 e7 ldi r24, 0x77 ; 119 - caa: 91 e0 ldi r25, 0x01 ; 1 - cac: 84 8b std Z+20, r24 ; 0x14 - cae: 95 8b std Z+21, r25 ; 0x15 + cb0: e0 e0 ldi r30, 0x00 ; 0 + cb2: f1 e0 ldi r31, 0x01 ; 1 + cb4: 87 e7 ldi r24, 0x77 ; 119 + cb6: 91 e0 ldi r25, 0x01 ; 1 + cb8: 84 8b std Z+20, r24 ; 0x14 + cba: 95 8b std Z+21, r25 ; 0x15 DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - cb0: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - cb4: 2e ee ldi r18, 0xEE ; 238 - cb6: 32 e0 ldi r19, 0x02 ; 2 - cb8: 42 9f mul r20, r18 - cba: c0 01 movw r24, r0 - cbc: 43 9f mul r20, r19 - cbe: 90 0d add r25, r0 - cc0: 11 24 eor r1, r1 - cc2: 86 59 subi r24, 0x96 ; 150 - cc4: 99 4d sbci r25, 0xD9 ; 217 - cc6: 84 8f std Z+28, r24 ; 0x1c + cbc: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 + cc0: 2e ee ldi r18, 0xEE ; 238 + cc2: 32 e0 ldi r19, 0x02 ; 2 + cc4: 42 9f mul r20, r18 + cc6: c0 01 movw r24, r0 + cc8: 43 9f mul r20, r19 + cca: 90 0d add r25, r0 + ccc: 11 24 eor r1, r1 + cce: 86 59 subi r24, 0x96 ; 150 + cd0: 99 4d sbci r25, 0xD9 ; 217 + cd2: 84 8f std Z+28, r24 ; 0x1c DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 8) & 0xFF; - cc8: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - ccc: 42 9f mul r20, r18 - cce: c0 01 movw r24, r0 - cd0: 43 9f mul r20, r19 - cd2: 90 0d add r25, r0 - cd4: 11 24 eor r1, r1 - cd6: 86 59 subi r24, 0x96 ; 150 - cd8: 99 4d sbci r25, 0xD9 ; 217 - cda: 95 8f std Z+29, r25 ; 0x1d + cd4: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 + cd8: 42 9f mul r20, r18 + cda: c0 01 movw r24, r0 + cdc: 43 9f mul r20, r19 + cde: 90 0d add r25, r0 + ce0: 11 24 eor r1, r1 + ce2: 86 59 subi r24, 0x96 ; 150 + ce4: 99 4d sbci r25, 0xD9 ; 217 + ce6: 95 8f std Z+29, r25 ; 0x1d //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - cdc: 80 89 ldd r24, Z+16 ; 0x10 - cde: 80 68 ori r24, 0x80 ; 128 - ce0: 80 8b std Z+16, r24 ; 0x10 + ce8: 80 89 ldd r24, Z+16 ; 0x10 + cea: 80 68 ori r24, 0x80 ; 128 + cec: 80 8b std Z+16, r24 ; 0x10 b1_state = !b1_state; - ce2: 90 91 b5 20 lds r25, 0x20B5 ; 0x8020b5 - ce6: 81 e0 ldi r24, 0x01 ; 1 - ce8: 91 11 cpse r25, r1 - cea: 80 e0 ldi r24, 0x00 ; 0 - cec: 80 93 b5 20 sts 0x20B5, r24 ; 0x8020b5 + cee: 90 91 b5 20 lds r25, 0x20B5 ; 0x8020b5 + cf2: 81 e0 ldi r24, 0x01 ; 1 + cf4: 91 11 cpse r25, r1 + cf6: 80 e0 ldi r24, 0x00 ; 0 + cf8: 80 93 b5 20 sts 0x20B5, r24 ; 0x8020b5 break; - cf0: be c0 rjmp .+380 ; 0xe6e <__vector_6+0x254> + cfc: be c0 rjmp .+380 ; 0xe7a <__vector_6+0x254> case 2: DMA.CH0.TRFCNT = HALFPACKET_SIZE; - cf2: e0 e0 ldi r30, 0x00 ; 0 - cf4: f1 e0 ldi r31, 0x01 ; 1 - cf6: 87 e7 ldi r24, 0x77 ; 119 - cf8: 91 e0 ldi r25, 0x01 ; 1 - cfa: 84 8b std Z+20, r24 ; 0x14 - cfc: 95 8b std Z+21, r25 ; 0x15 + cfe: e0 e0 ldi r30, 0x00 ; 0 + d00: f1 e0 ldi r31, 0x01 ; 1 + d02: 87 e7 ldi r24, 0x77 ; 119 + d04: 91 e0 ldi r25, 0x01 ; 1 + d06: 84 8b std Z+20, r24 ; 0x14 + d08: 95 8b std Z+21, r25 ; 0x15 DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - cfe: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - d02: 2e ee ldi r18, 0xEE ; 238 - d04: 32 e0 ldi r19, 0x02 ; 2 - d06: 42 9f mul r20, r18 - d08: c0 01 movw r24, r0 - d0a: 43 9f mul r20, r19 - d0c: 90 0d add r25, r0 - d0e: 11 24 eor r1, r1 - d10: 86 59 subi r24, 0x96 ; 150 - d12: 99 4d sbci r25, 0xD9 ; 217 - d14: 84 8f std Z+28, r24 ; 0x1c + d0a: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 + d0e: 2e ee ldi r18, 0xEE ; 238 + d10: 32 e0 ldi r19, 0x02 ; 2 + d12: 42 9f mul r20, r18 + d14: c0 01 movw r24, r0 + d16: 43 9f mul r20, r19 + d18: 90 0d add r25, r0 + d1a: 11 24 eor r1, r1 + d1c: 86 59 subi r24, 0x96 ; 150 + d1e: 99 4d sbci r25, 0xD9 ; 217 + d20: 84 8f std Z+28, r24 ; 0x1c DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 8) & 0xFF; - d16: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - d1a: 42 9f mul r20, r18 - d1c: c0 01 movw r24, r0 - d1e: 43 9f mul r20, r19 - d20: 90 0d add r25, r0 - d22: 11 24 eor r1, r1 - d24: 86 59 subi r24, 0x96 ; 150 - d26: 99 4d sbci r25, 0xD9 ; 217 - d28: 95 8f std Z+29, r25 ; 0x1d + d22: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 + d26: 42 9f mul r20, r18 + d28: c0 01 movw r24, r0 + d2a: 43 9f mul r20, r19 + d2c: 90 0d add r25, r0 + d2e: 11 24 eor r1, r1 + d30: 86 59 subi r24, 0x96 ; 150 + d32: 99 4d sbci r25, 0xD9 ; 217 + d34: 95 8f std Z+29, r25 ; 0x1d //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - d2a: 80 89 ldd r24, Z+16 ; 0x10 - d2c: 80 68 ori r24, 0x80 ; 128 - d2e: 80 8b std Z+16, r24 ; 0x10 + d36: 80 89 ldd r24, Z+16 ; 0x10 + d38: 80 68 ori r24, 0x80 ; 128 + d3a: 80 8b std Z+16, r24 ; 0x10 b1_state = !b1_state; - d30: 90 91 b5 20 lds r25, 0x20B5 ; 0x8020b5 - d34: 81 e0 ldi r24, 0x01 ; 1 - d36: 91 11 cpse r25, r1 - d38: 80 e0 ldi r24, 0x00 ; 0 - d3a: 80 93 b5 20 sts 0x20B5, r24 ; 0x8020b5 + d3c: 90 91 b5 20 lds r25, 0x20B5 ; 0x8020b5 + d40: 81 e0 ldi r24, 0x01 ; 1 + d42: 91 11 cpse r25, r1 + d44: 80 e0 ldi r24, 0x00 ; 0 + d46: 80 93 b5 20 sts 0x20B5, r24 ; 0x8020b5 break; - d3e: 97 c0 rjmp .+302 ; 0xe6e <__vector_6+0x254> + d4a: 97 c0 rjmp .+302 ; 0xe7a <__vector_6+0x254> case 3: DMA.CH0.TRFCNT = HALFPACKET_SIZE; - d40: e0 e0 ldi r30, 0x00 ; 0 - d42: f1 e0 ldi r31, 0x01 ; 1 - d44: 87 e7 ldi r24, 0x77 ; 119 - d46: 91 e0 ldi r25, 0x01 ; 1 - d48: 84 8b std Z+20, r24 ; 0x14 - d4a: 95 8b std Z+21, r25 ; 0x15 + d4c: e0 e0 ldi r30, 0x00 ; 0 + d4e: f1 e0 ldi r31, 0x01 ; 1 + d50: 87 e7 ldi r24, 0x77 ; 119 + d52: 91 e0 ldi r25, 0x01 ; 1 + d54: 84 8b std Z+20, r24 ; 0x14 + d56: 95 8b std Z+21, r25 ; 0x15 DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - d4c: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - d50: 2e ee ldi r18, 0xEE ; 238 - d52: 32 e0 ldi r19, 0x02 ; 2 - d54: 42 9f mul r20, r18 - d56: c0 01 movw r24, r0 - d58: 43 9f mul r20, r19 - d5a: 90 0d add r25, r0 - d5c: 11 24 eor r1, r1 - d5e: 86 59 subi r24, 0x96 ; 150 - d60: 99 4d sbci r25, 0xD9 ; 217 - d62: 84 8f std Z+28, r24 ; 0x1c + d58: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 + d5c: 2e ee ldi r18, 0xEE ; 238 + d5e: 32 e0 ldi r19, 0x02 ; 2 + d60: 42 9f mul r20, r18 + d62: c0 01 movw r24, r0 + d64: 43 9f mul r20, r19 + d66: 90 0d add r25, r0 + d68: 11 24 eor r1, r1 + d6a: 86 59 subi r24, 0x96 ; 150 + d6c: 99 4d sbci r25, 0xD9 ; 217 + d6e: 84 8f std Z+28, r24 ; 0x1c DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 8) & 0xFF; - d64: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - d68: 42 9f mul r20, r18 - d6a: c0 01 movw r24, r0 - d6c: 43 9f mul r20, r19 - d6e: 90 0d add r25, r0 - d70: 11 24 eor r1, r1 - d72: 86 59 subi r24, 0x96 ; 150 - d74: 99 4d sbci r25, 0xD9 ; 217 - d76: 95 8f std Z+29, r25 ; 0x1d + d70: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 + d74: 42 9f mul r20, r18 + d76: c0 01 movw r24, r0 + d78: 43 9f mul r20, r19 + d7a: 90 0d add r25, r0 + d7c: 11 24 eor r1, r1 + d7e: 86 59 subi r24, 0x96 ; 150 + d80: 99 4d sbci r25, 0xD9 ; 217 + d82: 95 8f std Z+29, r25 ; 0x1d //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - d78: 80 89 ldd r24, Z+16 ; 0x10 - d7a: 80 68 ori r24, 0x80 ; 128 - d7c: 80 8b std Z+16, r24 ; 0x10 + d84: 80 89 ldd r24, Z+16 ; 0x10 + d86: 80 68 ori r24, 0x80 ; 128 + d88: 80 8b std Z+16, r24 ; 0x10 b1_state = !b1_state; - d7e: 90 91 b5 20 lds r25, 0x20B5 ; 0x8020b5 - d82: 81 e0 ldi r24, 0x01 ; 1 - d84: 91 11 cpse r25, r1 - d86: 80 e0 ldi r24, 0x00 ; 0 - d88: 80 93 b5 20 sts 0x20B5, r24 ; 0x8020b5 + d8a: 90 91 b5 20 lds r25, 0x20B5 ; 0x8020b5 + d8e: 81 e0 ldi r24, 0x01 ; 1 + d90: 91 11 cpse r25, r1 + d92: 80 e0 ldi r24, 0x00 ; 0 + d94: 80 93 b5 20 sts 0x20B5, r24 ; 0x8020b5 break; - d8c: 70 c0 rjmp .+224 ; 0xe6e <__vector_6+0x254> + d98: 70 c0 rjmp .+224 ; 0xe7a <__vector_6+0x254> case 4: DMA.CH0.TRFCNT = HALFPACKET_SIZE; - d8e: e0 e0 ldi r30, 0x00 ; 0 - d90: f1 e0 ldi r31, 0x01 ; 1 - d92: 87 e7 ldi r24, 0x77 ; 119 - d94: 91 e0 ldi r25, 0x01 ; 1 - d96: 84 8b std Z+20, r24 ; 0x14 - d98: 95 8b std Z+21, r25 ; 0x15 + d9a: e0 e0 ldi r30, 0x00 ; 0 + d9c: f1 e0 ldi r31, 0x01 ; 1 + d9e: 87 e7 ldi r24, 0x77 ; 119 + da0: 91 e0 ldi r25, 0x01 ; 1 + da2: 84 8b std Z+20, r24 ; 0x14 + da4: 95 8b std Z+21, r25 ; 0x15 DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - d9a: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - d9e: 2e ee ldi r18, 0xEE ; 238 - da0: 32 e0 ldi r19, 0x02 ; 2 - da2: 42 9f mul r20, r18 - da4: c0 01 movw r24, r0 - da6: 43 9f mul r20, r19 - da8: 90 0d add r25, r0 - daa: 11 24 eor r1, r1 - dac: 86 59 subi r24, 0x96 ; 150 - dae: 99 4d sbci r25, 0xD9 ; 217 - db0: 84 8f std Z+28, r24 ; 0x1c + da6: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 + daa: 2e ee ldi r18, 0xEE ; 238 + dac: 32 e0 ldi r19, 0x02 ; 2 + dae: 42 9f mul r20, r18 + db0: c0 01 movw r24, r0 + db2: 43 9f mul r20, r19 + db4: 90 0d add r25, r0 + db6: 11 24 eor r1, r1 + db8: 86 59 subi r24, 0x96 ; 150 + dba: 99 4d sbci r25, 0xD9 ; 217 + dbc: 84 8f std Z+28, r24 ; 0x1c DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 8) & 0xFF; - db2: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - db6: 42 9f mul r20, r18 - db8: c0 01 movw r24, r0 - dba: 43 9f mul r20, r19 - dbc: 90 0d add r25, r0 - dbe: 11 24 eor r1, r1 - dc0: 86 59 subi r24, 0x96 ; 150 - dc2: 99 4d sbci r25, 0xD9 ; 217 - dc4: 95 8f std Z+29, r25 ; 0x1d + dbe: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 + dc2: 42 9f mul r20, r18 + dc4: c0 01 movw r24, r0 + dc6: 43 9f mul r20, r19 + dc8: 90 0d add r25, r0 + dca: 11 24 eor r1, r1 + dcc: 86 59 subi r24, 0x96 ; 150 + dce: 99 4d sbci r25, 0xD9 ; 217 + dd0: 95 8f std Z+29, r25 ; 0x1d //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - dc6: 80 89 ldd r24, Z+16 ; 0x10 - dc8: 80 68 ori r24, 0x80 ; 128 - dca: 80 8b std Z+16, r24 ; 0x10 + dd2: 80 89 ldd r24, Z+16 ; 0x10 + dd4: 80 68 ori r24, 0x80 ; 128 + dd6: 80 8b std Z+16, r24 ; 0x10 b1_state = !b1_state; - dcc: 90 91 b5 20 lds r25, 0x20B5 ; 0x8020b5 - dd0: 81 e0 ldi r24, 0x01 ; 1 - dd2: 91 11 cpse r25, r1 - dd4: 80 e0 ldi r24, 0x00 ; 0 - dd6: 80 93 b5 20 sts 0x20B5, r24 ; 0x8020b5 + dd8: 90 91 b5 20 lds r25, 0x20B5 ; 0x8020b5 + ddc: 81 e0 ldi r24, 0x01 ; 1 + dde: 91 11 cpse r25, r1 + de0: 80 e0 ldi r24, 0x00 ; 0 + de2: 80 93 b5 20 sts 0x20B5, r24 ; 0x8020b5 break; - dda: 49 c0 rjmp .+146 ; 0xe6e <__vector_6+0x254> + de6: 49 c0 rjmp .+146 ; 0xe7a <__vector_6+0x254> case 6: DMA.CH0.TRFCNT = PACKET_SIZE; - ddc: e0 e0 ldi r30, 0x00 ; 0 - dde: f1 e0 ldi r31, 0x01 ; 1 - de0: 2e ee ldi r18, 0xEE ; 238 - de2: 32 e0 ldi r19, 0x02 ; 2 - de4: 24 8b std Z+20, r18 ; 0x14 - de6: 35 8b std Z+21, r19 ; 0x15 + de8: e0 e0 ldi r30, 0x00 ; 0 + dea: f1 e0 ldi r31, 0x01 ; 1 + dec: 2e ee ldi r18, 0xEE ; 238 + dee: 32 e0 ldi r19, 0x02 ; 2 + df0: 24 8b std Z+20, r18 ; 0x14 + df2: 35 8b std Z+21, r19 ; 0x15 DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - de8: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - dec: 42 9f mul r20, r18 - dee: c0 01 movw r24, r0 - df0: 43 9f mul r20, r19 - df2: 90 0d add r25, r0 - df4: 11 24 eor r1, r1 - df6: 86 59 subi r24, 0x96 ; 150 - df8: 99 4d sbci r25, 0xD9 ; 217 - dfa: 84 8f std Z+28, r24 ; 0x1c + df4: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 + df8: 42 9f mul r20, r18 + dfa: c0 01 movw r24, r0 + dfc: 43 9f mul r20, r19 + dfe: 90 0d add r25, r0 + e00: 11 24 eor r1, r1 + e02: 86 59 subi r24, 0x96 ; 150 + e04: 99 4d sbci r25, 0xD9 ; 217 + e06: 84 8f std Z+28, r24 ; 0x1c DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 8) & 0xFF; - dfc: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - e00: 42 9f mul r20, r18 - e02: c0 01 movw r24, r0 - e04: 43 9f mul r20, r19 - e06: 90 0d add r25, r0 - e08: 11 24 eor r1, r1 - e0a: 86 59 subi r24, 0x96 ; 150 - e0c: 99 4d sbci r25, 0xD9 ; 217 - e0e: 95 8f std Z+29, r25 ; 0x1d + e08: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 + e0c: 42 9f mul r20, r18 + e0e: c0 01 movw r24, r0 + e10: 43 9f mul r20, r19 + e12: 90 0d add r25, r0 + e14: 11 24 eor r1, r1 + e16: 86 59 subi r24, 0x96 ; 150 + e18: 99 4d sbci r25, 0xD9 ; 217 + e1a: 95 8f std Z+29, r25 ; 0x1d //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - e10: 80 89 ldd r24, Z+16 ; 0x10 - e12: 80 68 ori r24, 0x80 ; 128 - e14: 80 8b std Z+16, r24 ; 0x10 + e1c: 80 89 ldd r24, Z+16 ; 0x10 + e1e: 80 68 ori r24, 0x80 ; 128 + e20: 80 8b std Z+16, r24 ; 0x10 b1_state = !b1_state; - e16: 90 91 b5 20 lds r25, 0x20B5 ; 0x8020b5 - e1a: 81 e0 ldi r24, 0x01 ; 1 - e1c: 91 11 cpse r25, r1 - e1e: 80 e0 ldi r24, 0x00 ; 0 - e20: 80 93 b5 20 sts 0x20B5, r24 ; 0x8020b5 + e22: 90 91 b5 20 lds r25, 0x20B5 ; 0x8020b5 + e26: 81 e0 ldi r24, 0x01 ; 1 + e28: 91 11 cpse r25, r1 + e2a: 80 e0 ldi r24, 0x00 ; 0 + e2c: 80 93 b5 20 sts 0x20B5, r24 ; 0x8020b5 break; - e24: 24 c0 rjmp .+72 ; 0xe6e <__vector_6+0x254> + e30: 24 c0 rjmp .+72 ; 0xe7a <__vector_6+0x254> case 7: DMA.CH0.TRFCNT = PACKET_SIZE; - e26: e0 e0 ldi r30, 0x00 ; 0 - e28: f1 e0 ldi r31, 0x01 ; 1 - e2a: 2e ee ldi r18, 0xEE ; 238 - e2c: 32 e0 ldi r19, 0x02 ; 2 - e2e: 24 8b std Z+20, r18 ; 0x14 - e30: 35 8b std Z+21, r19 ; 0x15 + e32: e0 e0 ldi r30, 0x00 ; 0 + e34: f1 e0 ldi r31, 0x01 ; 1 + e36: 2e ee ldi r18, 0xEE ; 238 + e38: 32 e0 ldi r19, 0x02 ; 2 + e3a: 24 8b std Z+20, r18 ; 0x14 + e3c: 35 8b std Z+21, r19 ; 0x15 DMA.CH0.DESTADDR0 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - e32: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - e36: 42 9f mul r20, r18 - e38: c0 01 movw r24, r0 - e3a: 43 9f mul r20, r19 - e3c: 90 0d add r25, r0 - e3e: 11 24 eor r1, r1 - e40: 86 59 subi r24, 0x96 ; 150 - e42: 99 4d sbci r25, 0xD9 ; 217 - e44: 84 8f std Z+28, r24 ; 0x1c + e3e: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 + e42: 42 9f mul r20, r18 + e44: c0 01 movw r24, r0 + e46: 43 9f mul r20, r19 + e48: 90 0d add r25, r0 + e4a: 11 24 eor r1, r1 + e4c: 86 59 subi r24, 0x96 ; 150 + e4e: 99 4d sbci r25, 0xD9 ; 217 + e50: 84 8f std Z+28, r24 ; 0x1c DMA.CH0.DESTADDR1 = (( (uint16_t) &isoBuf[b1_state * PACKET_SIZE]) >> 8) & 0xFF; - e46: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 - e4a: 42 9f mul r20, r18 - e4c: c0 01 movw r24, r0 - e4e: 43 9f mul r20, r19 - e50: 90 0d add r25, r0 - e52: 11 24 eor r1, r1 - e54: 86 59 subi r24, 0x96 ; 150 - e56: 99 4d sbci r25, 0xD9 ; 217 - e58: 95 8f std Z+29, r25 ; 0x1d + e52: 40 91 b5 20 lds r20, 0x20B5 ; 0x8020b5 + e56: 42 9f mul r20, r18 + e58: c0 01 movw r24, r0 + e5a: 43 9f mul r20, r19 + e5c: 90 0d add r25, r0 + e5e: 11 24 eor r1, r1 + e60: 86 59 subi r24, 0x96 ; 150 + e62: 99 4d sbci r25, 0xD9 ; 217 + e64: 95 8f std Z+29, r25 ; 0x1d //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - e5a: 80 89 ldd r24, Z+16 ; 0x10 - e5c: 80 68 ori r24, 0x80 ; 128 - e5e: 80 8b std Z+16, r24 ; 0x10 + e66: 80 89 ldd r24, Z+16 ; 0x10 + e68: 80 68 ori r24, 0x80 ; 128 + e6a: 80 8b std Z+16, r24 ; 0x10 b1_state = !b1_state; - e60: 90 91 b5 20 lds r25, 0x20B5 ; 0x8020b5 - e64: 81 e0 ldi r24, 0x01 ; 1 - e66: 91 11 cpse r25, r1 - e68: 80 e0 ldi r24, 0x00 ; 0 - e6a: 80 93 b5 20 sts 0x20B5, r24 ; 0x8020b5 + e6c: 90 91 b5 20 lds r25, 0x20B5 ; 0x8020b5 + e70: 81 e0 ldi r24, 0x01 ; 1 + e72: 91 11 cpse r25, r1 + e74: 80 e0 ldi r24, 0x00 ; 0 + e76: 80 93 b5 20 sts 0x20B5, r24 ; 0x8020b5 break; default: //////////////////////////////////////// break; } } - e6e: ff 91 pop r31 - e70: ef 91 pop r30 - e72: bf 91 pop r27 - e74: af 91 pop r26 - e76: 9f 91 pop r25 - e78: 8f 91 pop r24 - e7a: 4f 91 pop r20 - e7c: 3f 91 pop r19 - e7e: 2f 91 pop r18 - e80: 0f 90 pop r0 - e82: 0f be out 0x3f, r0 ; 63 - e84: 0f 90 pop r0 - e86: 1f 90 pop r1 - e88: 18 95 reti + e7a: ff 91 pop r31 + e7c: ef 91 pop r30 + e7e: bf 91 pop r27 + e80: af 91 pop r26 + e82: 9f 91 pop r25 + e84: 8f 91 pop r24 + e86: 4f 91 pop r20 + e88: 3f 91 pop r19 + e8a: 2f 91 pop r18 + e8c: 0f 90 pop r0 + e8e: 0f be out 0x3f, r0 ; 63 + e90: 0f 90 pop r0 + e92: 1f 90 pop r1 + e94: 18 95 reti -00000e8a <__vector_7>: +00000e96 <__vector_7>: ISR(DMA_CH1_vect){ - e8a: 1f 92 push r1 - e8c: 0f 92 push r0 - e8e: 0f b6 in r0, 0x3f ; 63 - e90: 0f 92 push r0 - e92: 11 24 eor r1, r1 - e94: 2f 93 push r18 - e96: 3f 93 push r19 - e98: 4f 93 push r20 - e9a: 8f 93 push r24 - e9c: 9f 93 push r25 - e9e: ef 93 push r30 - ea0: ff 93 push r31 + e96: 1f 92 push r1 + e98: 0f 92 push r0 + e9a: 0f b6 in r0, 0x3f ; 63 + e9c: 0f 92 push r0 + e9e: 11 24 eor r1, r1 + ea0: 2f 93 push r18 + ea2: 3f 93 push r19 + ea4: 4f 93 push r20 + ea6: 8f 93 push r24 + ea8: 9f 93 push r25 + eaa: ef 93 push r30 + eac: ff 93 push r31 DMA.INTFLAGS = 0x02; - ea2: 82 e0 ldi r24, 0x02 ; 2 - ea4: 80 93 03 01 sts 0x0103, r24 ; 0x800103 <__TEXT_REGION_LENGTH__+0x700103> + eae: 82 e0 ldi r24, 0x02 ; 2 + eb0: 80 93 03 01 sts 0x0103, r24 ; 0x800103 <__TEXT_REGION_LENGTH__+0x700103> switch(global_mode){ - ea8: 80 91 00 20 lds r24, 0x2000 ; 0x802000 <__data_start> - eac: 81 30 cpi r24, 0x01 ; 1 - eae: 19 f0 breq .+6 ; 0xeb6 <__vector_7+0x2c> - eb0: 82 30 cpi r24, 0x02 ; 2 - eb2: 41 f1 breq .+80 ; 0xf04 <__vector_7+0x7a> - eb4: 4d c0 rjmp .+154 ; 0xf50 <__vector_7+0xc6> + eb4: 80 91 00 20 lds r24, 0x2000 ; 0x802000 <__data_start> + eb8: 81 30 cpi r24, 0x01 ; 1 + eba: 19 f0 breq .+6 ; 0xec2 <__vector_7+0x2c> + ebc: 82 30 cpi r24, 0x02 ; 2 + ebe: 41 f1 breq .+80 ; 0xf10 <__vector_7+0x7a> + ec0: 4d c0 rjmp .+154 ; 0xf5c <__vector_7+0xc6> case 0: //////////////////////////////////////// break; case 1: DMA.CH1.TRFCNT = HALFPACKET_SIZE; - eb6: e0 e0 ldi r30, 0x00 ; 0 - eb8: f1 e0 ldi r31, 0x01 ; 1 - eba: 87 e7 ldi r24, 0x77 ; 119 - ebc: 91 e0 ldi r25, 0x01 ; 1 - ebe: 84 a3 std Z+36, r24 ; 0x24 - ec0: 95 a3 std Z+37, r25 ; 0x25 + ec2: e0 e0 ldi r30, 0x00 ; 0 + ec4: f1 e0 ldi r31, 0x01 ; 1 + ec6: 87 e7 ldi r24, 0x77 ; 119 + ec8: 91 e0 ldi r25, 0x01 ; 1 + eca: 84 a3 std Z+36, r24 ; 0x24 + ecc: 95 a3 std Z+37, r25 ; 0x25 DMA.CH1.DESTADDR0 = (( (uint16_t) &isoBuf[b2_state * PACKET_SIZE + HALFPACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - ec2: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 - ec6: 2e ee ldi r18, 0xEE ; 238 - ec8: 32 e0 ldi r19, 0x02 ; 2 - eca: 42 9f mul r20, r18 - ecc: c0 01 movw r24, r0 - ece: 43 9f mul r20, r19 - ed0: 90 0d add r25, r0 - ed2: 11 24 eor r1, r1 - ed4: 8f 51 subi r24, 0x1F ; 31 - ed6: 98 4d sbci r25, 0xD8 ; 216 - ed8: 84 a7 std Z+44, r24 ; 0x2c + ece: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 + ed2: 2e ee ldi r18, 0xEE ; 238 + ed4: 32 e0 ldi r19, 0x02 ; 2 + ed6: 42 9f mul r20, r18 + ed8: c0 01 movw r24, r0 + eda: 43 9f mul r20, r19 + edc: 90 0d add r25, r0 + ede: 11 24 eor r1, r1 + ee0: 8f 51 subi r24, 0x1F ; 31 + ee2: 98 4d sbci r25, 0xD8 ; 216 + ee4: 84 a7 std Z+44, r24 ; 0x2c DMA.CH1.DESTADDR1 = (( (uint16_t) &isoBuf[b2_state * PACKET_SIZE + HALFPACKET_SIZE]) >> 8) & 0xFF; - eda: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 - ede: 42 9f mul r20, r18 - ee0: c0 01 movw r24, r0 - ee2: 43 9f mul r20, r19 - ee4: 90 0d add r25, r0 - ee6: 11 24 eor r1, r1 - ee8: 8f 51 subi r24, 0x1F ; 31 - eea: 98 4d sbci r25, 0xD8 ; 216 - eec: 95 a7 std Z+45, r25 ; 0x2d + ee6: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 + eea: 42 9f mul r20, r18 + eec: c0 01 movw r24, r0 + eee: 43 9f mul r20, r19 + ef0: 90 0d add r25, r0 + ef2: 11 24 eor r1, r1 + ef4: 8f 51 subi r24, 0x1F ; 31 + ef6: 98 4d sbci r25, 0xD8 ; 216 + ef8: 95 a7 std Z+45, r25 ; 0x2d //Must enable last for REPCNT won't work! DMA.CH1.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - eee: 80 a1 ldd r24, Z+32 ; 0x20 - ef0: 80 68 ori r24, 0x80 ; 128 - ef2: 80 a3 std Z+32, r24 ; 0x20 + efa: 80 a1 ldd r24, Z+32 ; 0x20 + efc: 80 68 ori r24, 0x80 ; 128 + efe: 80 a3 std Z+32, r24 ; 0x20 b2_state = !b2_state; - ef4: 90 91 b4 20 lds r25, 0x20B4 ; 0x8020b4 - ef8: 81 e0 ldi r24, 0x01 ; 1 - efa: 91 11 cpse r25, r1 - efc: 80 e0 ldi r24, 0x00 ; 0 - efe: 80 93 b4 20 sts 0x20B4, r24 ; 0x8020b4 + f00: 90 91 b4 20 lds r25, 0x20B4 ; 0x8020b4 + f04: 81 e0 ldi r24, 0x01 ; 1 + f06: 91 11 cpse r25, r1 + f08: 80 e0 ldi r24, 0x00 ; 0 + f0a: 80 93 b4 20 sts 0x20B4, r24 ; 0x8020b4 break; - f02: 26 c0 rjmp .+76 ; 0xf50 <__vector_7+0xc6> + f0e: 26 c0 rjmp .+76 ; 0xf5c <__vector_7+0xc6> case 2: DMA.CH1.TRFCNT = HALFPACKET_SIZE; - f04: e0 e0 ldi r30, 0x00 ; 0 - f06: f1 e0 ldi r31, 0x01 ; 1 - f08: 87 e7 ldi r24, 0x77 ; 119 - f0a: 91 e0 ldi r25, 0x01 ; 1 - f0c: 84 a3 std Z+36, r24 ; 0x24 - f0e: 95 a3 std Z+37, r25 ; 0x25 + f10: e0 e0 ldi r30, 0x00 ; 0 + f12: f1 e0 ldi r31, 0x01 ; 1 + f14: 87 e7 ldi r24, 0x77 ; 119 + f16: 91 e0 ldi r25, 0x01 ; 1 + f18: 84 a3 std Z+36, r24 ; 0x24 + f1a: 95 a3 std Z+37, r25 ; 0x25 DMA.CH1.DESTADDR0 = (( (uint16_t) &isoBuf[b2_state * PACKET_SIZE + HALFPACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - f10: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 - f14: 2e ee ldi r18, 0xEE ; 238 - f16: 32 e0 ldi r19, 0x02 ; 2 - f18: 42 9f mul r20, r18 - f1a: c0 01 movw r24, r0 - f1c: 43 9f mul r20, r19 - f1e: 90 0d add r25, r0 - f20: 11 24 eor r1, r1 - f22: 8f 51 subi r24, 0x1F ; 31 - f24: 98 4d sbci r25, 0xD8 ; 216 - f26: 84 a7 std Z+44, r24 ; 0x2c + f1c: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 + f20: 2e ee ldi r18, 0xEE ; 238 + f22: 32 e0 ldi r19, 0x02 ; 2 + f24: 42 9f mul r20, r18 + f26: c0 01 movw r24, r0 + f28: 43 9f mul r20, r19 + f2a: 90 0d add r25, r0 + f2c: 11 24 eor r1, r1 + f2e: 8f 51 subi r24, 0x1F ; 31 + f30: 98 4d sbci r25, 0xD8 ; 216 + f32: 84 a7 std Z+44, r24 ; 0x2c DMA.CH1.DESTADDR1 = (( (uint16_t) &isoBuf[b2_state * PACKET_SIZE + HALFPACKET_SIZE]) >> 8) & 0xFF; - f28: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 - f2c: 42 9f mul r20, r18 - f2e: c0 01 movw r24, r0 - f30: 43 9f mul r20, r19 - f32: 90 0d add r25, r0 - f34: 11 24 eor r1, r1 - f36: 8f 51 subi r24, 0x1F ; 31 - f38: 98 4d sbci r25, 0xD8 ; 216 - f3a: 95 a7 std Z+45, r25 ; 0x2d + f34: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 + f38: 42 9f mul r20, r18 + f3a: c0 01 movw r24, r0 + f3c: 43 9f mul r20, r19 + f3e: 90 0d add r25, r0 + f40: 11 24 eor r1, r1 + f42: 8f 51 subi r24, 0x1F ; 31 + f44: 98 4d sbci r25, 0xD8 ; 216 + f46: 95 a7 std Z+45, r25 ; 0x2d //Must enable last for REPCNT won't work! DMA.CH1.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - f3c: 80 a1 ldd r24, Z+32 ; 0x20 - f3e: 80 68 ori r24, 0x80 ; 128 - f40: 80 a3 std Z+32, r24 ; 0x20 + f48: 80 a1 ldd r24, Z+32 ; 0x20 + f4a: 80 68 ori r24, 0x80 ; 128 + f4c: 80 a3 std Z+32, r24 ; 0x20 b2_state = !b2_state; - f42: 90 91 b4 20 lds r25, 0x20B4 ; 0x8020b4 - f46: 81 e0 ldi r24, 0x01 ; 1 - f48: 91 11 cpse r25, r1 - f4a: 80 e0 ldi r24, 0x00 ; 0 - f4c: 80 93 b4 20 sts 0x20B4, r24 ; 0x8020b4 + f4e: 90 91 b4 20 lds r25, 0x20B4 ; 0x8020b4 + f52: 81 e0 ldi r24, 0x01 ; 1 + f54: 91 11 cpse r25, r1 + f56: 80 e0 ldi r24, 0x00 ; 0 + f58: 80 93 b4 20 sts 0x20B4, r24 ; 0x8020b4 break; default: //////////////////////////////////////// break; } } - f50: ff 91 pop r31 - f52: ef 91 pop r30 - f54: 9f 91 pop r25 - f56: 8f 91 pop r24 - f58: 4f 91 pop r20 - f5a: 3f 91 pop r19 - f5c: 2f 91 pop r18 - f5e: 0f 90 pop r0 - f60: 0f be out 0x3f, r0 ; 63 - f62: 0f 90 pop r0 - f64: 1f 90 pop r1 - f66: 18 95 reti + f5c: ff 91 pop r31 + f5e: ef 91 pop r30 + f60: 9f 91 pop r25 + f62: 8f 91 pop r24 + f64: 4f 91 pop r20 + f66: 3f 91 pop r19 + f68: 2f 91 pop r18 + f6a: 0f 90 pop r0 + f6c: 0f be out 0x3f, r0 ; 63 + f6e: 0f 90 pop r0 + f70: 1f 90 pop r1 + f72: 18 95 reti -00000f68 <__vector_9>: +00000f74 <__vector_9>: ISR(DMA_CH3_vect){ - f68: 1f 92 push r1 - f6a: 0f 92 push r0 - f6c: 0f b6 in r0, 0x3f ; 63 - f6e: 0f 92 push r0 - f70: 11 24 eor r1, r1 - f72: 2f 93 push r18 - f74: 3f 93 push r19 - f76: 4f 93 push r20 - f78: 8f 93 push r24 - f7a: 9f 93 push r25 - f7c: ef 93 push r30 - f7e: ff 93 push r31 + f74: 1f 92 push r1 + f76: 0f 92 push r0 + f78: 0f b6 in r0, 0x3f ; 63 + f7a: 0f 92 push r0 + f7c: 11 24 eor r1, r1 + f7e: 2f 93 push r18 + f80: 3f 93 push r19 + f82: 4f 93 push r20 + f84: 8f 93 push r24 + f86: 9f 93 push r25 + f88: ef 93 push r30 + f8a: ff 93 push r31 DMA.INTFLAGS = 0x08; - f80: 88 e0 ldi r24, 0x08 ; 8 - f82: 80 93 03 01 sts 0x0103, r24 ; 0x800103 <__TEXT_REGION_LENGTH__+0x700103> + f8c: 88 e0 ldi r24, 0x08 ; 8 + f8e: 80 93 03 01 sts 0x0103, r24 ; 0x800103 <__TEXT_REGION_LENGTH__+0x700103> DMA.CH3.TRFCNT = HALFPACKET_SIZE; - f86: 87 e7 ldi r24, 0x77 ; 119 - f88: 91 e0 ldi r25, 0x01 ; 1 - f8a: 80 93 44 01 sts 0x0144, r24 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - f8e: 90 93 45 01 sts 0x0145, r25 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + f92: 87 e7 ldi r24, 0x77 ; 119 + f94: 91 e0 ldi r25, 0x01 ; 1 + f96: 80 93 44 01 sts 0x0144, r24 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + f9a: 90 93 45 01 sts 0x0145, r25 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> DMA.CH3.DESTADDR0 = (( (uint16_t) &isoBuf[b2_state*PACKET_SIZE+HALFPACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - f92: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 - f96: 2e ee ldi r18, 0xEE ; 238 - f98: 32 e0 ldi r19, 0x02 ; 2 - f9a: 42 9f mul r20, r18 - f9c: c0 01 movw r24, r0 - f9e: 43 9f mul r20, r19 - fa0: 90 0d add r25, r0 - fa2: 11 24 eor r1, r1 - fa4: 8f 51 subi r24, 0x1F ; 31 - fa6: 98 4d sbci r25, 0xD8 ; 216 - fa8: 80 93 4c 01 sts 0x014C, r24 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + f9e: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 + fa2: 2e ee ldi r18, 0xEE ; 238 + fa4: 32 e0 ldi r19, 0x02 ; 2 + fa6: 42 9f mul r20, r18 + fa8: c0 01 movw r24, r0 + faa: 43 9f mul r20, r19 + fac: 90 0d add r25, r0 + fae: 11 24 eor r1, r1 + fb0: 8f 51 subi r24, 0x1F ; 31 + fb2: 98 4d sbci r25, 0xD8 ; 216 + fb4: 80 93 4c 01 sts 0x014C, r24 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> DMA.CH3.DESTADDR1 = (( (uint16_t) &isoBuf[b2_state*PACKET_SIZE+HALFPACKET_SIZE]) >> 8) & 0xFF; - fac: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 - fb0: 42 9f mul r20, r18 - fb2: c0 01 movw r24, r0 - fb4: 43 9f mul r20, r19 - fb6: 90 0d add r25, r0 - fb8: 11 24 eor r1, r1 - fba: 8f 51 subi r24, 0x1F ; 31 - fbc: 98 4d sbci r25, 0xD8 ; 216 - fbe: 90 93 4d 01 sts 0x014D, r25 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + fb8: 40 91 b4 20 lds r20, 0x20B4 ; 0x8020b4 + fbc: 42 9f mul r20, r18 + fbe: c0 01 movw r24, r0 + fc0: 43 9f mul r20, r19 + fc2: 90 0d add r25, r0 + fc4: 11 24 eor r1, r1 + fc6: 8f 51 subi r24, 0x1F ; 31 + fc8: 98 4d sbci r25, 0xD8 ; 216 + fca: 90 93 4d 01 sts 0x014D, r25 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> //Must enable last for REPCNT won't work! DMA.CH3.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - fc2: e0 e4 ldi r30, 0x40 ; 64 - fc4: f1 e0 ldi r31, 0x01 ; 1 - fc6: 80 81 ld r24, Z - fc8: 80 68 ori r24, 0x80 ; 128 - fca: 80 83 st Z, r24 + fce: e0 e4 ldi r30, 0x40 ; 64 + fd0: f1 e0 ldi r31, 0x01 ; 1 + fd2: 80 81 ld r24, Z + fd4: 80 68 ori r24, 0x80 ; 128 + fd6: 80 83 st Z, r24 b2_state = !b2_state; - fcc: 90 91 b4 20 lds r25, 0x20B4 ; 0x8020b4 - fd0: 81 e0 ldi r24, 0x01 ; 1 - fd2: 91 11 cpse r25, r1 - fd4: 80 e0 ldi r24, 0x00 ; 0 - fd6: 80 93 b4 20 sts 0x20B4, r24 ; 0x8020b4 + fd8: 90 91 b4 20 lds r25, 0x20B4 ; 0x8020b4 + fdc: 81 e0 ldi r24, 0x01 ; 1 + fde: 91 11 cpse r25, r1 + fe0: 80 e0 ldi r24, 0x00 ; 0 + fe2: 80 93 b4 20 sts 0x20B4, r24 ; 0x8020b4 } - fda: ff 91 pop r31 - fdc: ef 91 pop r30 - fde: 9f 91 pop r25 - fe0: 8f 91 pop r24 - fe2: 4f 91 pop r20 - fe4: 3f 91 pop r19 - fe6: 2f 91 pop r18 - fe8: 0f 90 pop r0 - fea: 0f be out 0x3f, r0 ; 63 - fec: 0f 90 pop r0 - fee: 1f 90 pop r1 - ff0: 18 95 reti + fe6: ff 91 pop r31 + fe8: ef 91 pop r30 + fea: 9f 91 pop r25 + fec: 8f 91 pop r24 + fee: 4f 91 pop r20 + ff0: 3f 91 pop r19 + ff2: 2f 91 pop r18 + ff4: 0f 90 pop r0 + ff6: 0f be out 0x3f, r0 ; 63 + ff8: 0f 90 pop r0 + ffa: 1f 90 pop r1 + ffc: 18 95 reti -00000ff2 : +00000ffe : #define PSU_PER 3000 #define jump 6 void tiny_timer_setup(void){ //Turn everything on! PR.PRPC &= 0b11111100; //Enable TCC0, TCC1 - ff2: e0 e7 ldi r30, 0x70 ; 112 - ff4: f0 e0 ldi r31, 0x00 ; 0 - ff6: 83 81 ldd r24, Z+3 ; 0x03 - ff8: 8c 7f andi r24, 0xFC ; 252 - ffa: 83 83 std Z+3, r24 ; 0x03 + ffe: e0 e7 ldi r30, 0x70 ; 112 + 1000: f0 e0 ldi r31, 0x00 ; 0 + 1002: 83 81 ldd r24, Z+3 ; 0x03 + 1004: 8c 7f andi r24, 0xFC ; 252 + 1006: 83 83 std Z+3, r24 ; 0x03 PR.PRPD &= 0b11111100; //Enable TCD0, TCD1 - ffc: 84 81 ldd r24, Z+4 ; 0x04 - ffe: 8c 7f andi r24, 0xFC ; 252 - 1000: 84 83 std Z+4, r24 ; 0x04 + 1008: 84 81 ldd r24, Z+4 ; 0x04 + 100a: 8c 7f andi r24, 0xFC ; 252 + 100c: 84 83 std Z+4, r24 ; 0x04 PR.PRGEN &= 0b11111101; //Enable EVSYS - 1002: 80 81 ld r24, Z - 1004: 8d 7f andi r24, 0xFD ; 253 - 1006: 80 83 st Z, r24 + 100e: 80 81 ld r24, Z + 1010: 8d 7f andi r24, 0xFD ; 253 + 1012: 80 83 st Z, r24 //Set up EVSYS EVSYS.CH2MUX = TCDAC_OVF; - 1008: e0 e8 ldi r30, 0x80 ; 128 - 100a: f1 e0 ldi r31, 0x01 ; 1 - 100c: 80 ec ldi r24, 0xC0 ; 192 - 100e: 82 83 std Z+2, r24 ; 0x02 + 1014: e0 e8 ldi r30, 0x80 ; 128 + 1016: f1 e0 ldi r31, 0x01 ; 1 + 1018: 80 ec ldi r24, 0xC0 ; 192 + 101a: 82 83 std Z+2, r24 ; 0x02 EVSYS.CH2CTRL = 0x00; //No filtering or Quadrature stuff - 1010: 12 86 std Z+10, r1 ; 0x0a + 101c: 12 86 std Z+10, r1 ; 0x0a EVSYS.CH1MUX = TCDAC_AUX_OVF; - 1012: 88 ec ldi r24, 0xC8 ; 200 - 1014: 81 83 std Z+1, r24 ; 0x01 + 101e: 88 ec ldi r24, 0xC8 ; 200 + 1020: 81 83 std Z+1, r24 ; 0x01 EVSYS.CH1CTRL = 0x00; //No filtering or Quadrature stuff - 1016: 11 86 std Z+9, r1 ; 0x09 + 1022: 11 86 std Z+9, r1 ; 0x09 //Waveform (50Hz sin wave) TC_DAC.CTRLA = 0x04; //Some clk setting - not 100% sure since it was SW generated - 1018: e0 e0 ldi r30, 0x00 ; 0 - 101a: f8 e0 ldi r31, 0x08 ; 8 - 101c: 34 e0 ldi r19, 0x04 ; 4 - 101e: 30 83 st Z, r19 + 1024: e0 e0 ldi r30, 0x00 ; 0 + 1026: f8 e0 ldi r31, 0x08 ; 8 + 1028: 34 e0 ldi r19, 0x04 ; 4 + 102a: 30 83 st Z, r19 TC_DAC.CTRLB = TC_WGMODE_SINGLESLOPE_gc; //No enable is set - 1020: 23 e0 ldi r18, 0x03 ; 3 - 1022: 21 83 std Z+1, r18 ; 0x01 + 102c: 23 e0 ldi r18, 0x03 ; 3 + 102e: 21 83 std Z+1, r18 ; 0x01 TC_DAC.CTRLE = TC_BYTEM_NORMAL_gc; - 1024: 14 82 std Z+4, r1 ; 0x04 + 1030: 14 82 std Z+4, r1 ; 0x04 TC_DAC.PER = 469; - 1026: 85 ed ldi r24, 0xD5 ; 213 - 1028: 91 e0 ldi r25, 0x01 ; 1 - 102a: 86 a3 std Z+38, r24 ; 0x26 - 102c: 97 a3 std Z+39, r25 ; 0x27 + 1032: 85 ed ldi r24, 0xD5 ; 213 + 1034: 91 e0 ldi r25, 0x01 ; 1 + 1036: 86 a3 std Z+38, r24 ; 0x26 + 1038: 97 a3 std Z+39, r25 ; 0x27 TC_DAC.INTCTRLA = 0x00; - 102e: 16 82 std Z+6, r1 ; 0x06 + 103a: 16 82 std Z+6, r1 ; 0x06 //Aux channel (blank 50Hz) TC_AUXDAC.CTRLA = 0x04; //Some clk setting - not 100% sure since it was SW generated - 1030: e0 e4 ldi r30, 0x40 ; 64 - 1032: f8 e0 ldi r31, 0x08 ; 8 - 1034: 30 83 st Z, r19 + 103c: e0 e4 ldi r30, 0x40 ; 64 + 103e: f8 e0 ldi r31, 0x08 ; 8 + 1040: 30 83 st Z, r19 TC_AUXDAC.CTRLB = TC_WGMODE_SINGLESLOPE_gc; //No enable is set - 1036: 21 83 std Z+1, r18 ; 0x01 + 1042: 21 83 std Z+1, r18 ; 0x01 TC_AUXDAC.CTRLE = TC_BYTEM_NORMAL_gc; - 1038: 14 82 std Z+4, r1 ; 0x04 + 1044: 14 82 std Z+4, r1 ; 0x04 TC_AUXDAC.PER = 469; - 103a: 86 a3 std Z+38, r24 ; 0x26 - 103c: 97 a3 std Z+39, r25 ; 0x27 + 1046: 86 a3 std Z+38, r24 ; 0x26 + 1048: 97 a3 std Z+39, r25 ; 0x27 TC_AUXDAC.INTCTRLA = 0x00; - 103e: 16 82 std Z+6, r1 ; 0x06 + 104a: 16 82 std Z+6, r1 ; 0x06 //PSU PORTD.DIR |= 0b00010000; - 1040: e0 e6 ldi r30, 0x60 ; 96 - 1042: f6 e0 ldi r31, 0x06 ; 6 - 1044: 80 81 ld r24, Z - 1046: 80 61 ori r24, 0x10 ; 16 - 1048: 80 83 st Z, r24 + 104c: e0 e6 ldi r30, 0x60 ; 96 + 104e: f6 e0 ldi r31, 0x06 ; 6 + 1050: 80 81 ld r24, Z + 1052: 80 61 ori r24, 0x10 ; 16 + 1054: 80 83 st Z, r24 TC_PSU.CTRLB = 0x10 | TC_WGMODE_SINGLESLOPE_gc; //CCAEN is set - 104a: e0 e4 ldi r30, 0x40 ; 64 - 104c: f9 e0 ldi r31, 0x09 ; 9 - 104e: 83 e1 ldi r24, 0x13 ; 19 - 1050: 81 83 std Z+1, r24 ; 0x01 + 1056: e0 e4 ldi r30, 0x40 ; 64 + 1058: f9 e0 ldi r31, 0x09 ; 9 + 105a: 83 e1 ldi r24, 0x13 ; 19 + 105c: 81 83 std Z+1, r24 ; 0x01 TC_PSU.CTRLE = TC_BYTEM_NORMAL_gc; - 1052: 14 82 std Z+4, r1 ; 0x04 + 105e: 14 82 std Z+4, r1 ; 0x04 TC_PSU.INTCTRLA = TC_OVFINTLVL_LO_gc; - 1054: 81 e0 ldi r24, 0x01 ; 1 - 1056: 86 83 std Z+6, r24 ; 0x06 + 1060: 81 e0 ldi r24, 0x01 ; 1 + 1062: 86 83 std Z+6, r24 ; 0x06 TC_PSU.PER = PSU_PER; // Max value of CNT - 1058: 28 eb ldi r18, 0xB8 ; 184 - 105a: 3b e0 ldi r19, 0x0B ; 11 - 105c: 26 a3 std Z+38, r18 ; 0x26 - 105e: 37 a3 std Z+39, r19 ; 0x27 + 1064: 28 eb ldi r18, 0xB8 ; 184 + 1066: 3b e0 ldi r19, 0x0B ; 11 + 1068: 26 a3 std Z+38, r18 ; 0x26 + 106a: 37 a3 std Z+39, r19 ; 0x27 TC_PSU.CCA = 0; //Initial Duty cycle of 0% - 1060: 10 a6 std Z+40, r1 ; 0x28 - 1062: 11 a6 std Z+41, r1 ; 0x29 + 106c: 10 a6 std Z+40, r1 ; 0x28 + 106e: 11 a6 std Z+41, r1 ; 0x29 TC_PSU.CTRLA = TC_CLKSEL_DIV1_gc; - 1064: 80 83 st Z, r24 - 1066: 08 95 ret + 1070: 80 83 st Z, r24 + 1072: 08 95 ret -00001068 <__vector_83>: +00001074 <__vector_83>: TCC1.PER = 1800; // Max value of CNT TCC1.CTRLA = TC_CLKSEL_DIV1_gc; */ } ISR(TC_PSU_OVF){ - 1068: 1f 92 push r1 - 106a: 0f 92 push r0 - 106c: 0f b6 in r0, 0x3f ; 63 - 106e: 0f 92 push r0 - 1070: 11 24 eor r1, r1 - 1072: 2f 93 push r18 - 1074: 3f 93 push r19 - 1076: 4f 93 push r20 - 1078: 5f 93 push r21 - 107a: 8f 93 push r24 - 107c: 9f 93 push r25 - 107e: ef 93 push r30 - 1080: ff 93 push r31 - 1082: cf 93 push r28 - 1084: df 93 push r29 - 1086: 1f 92 push r1 - 1088: cd b7 in r28, 0x3d ; 61 - 108a: de b7 in r29, 0x3e ; 62 + 1074: 1f 92 push r1 + 1076: 0f 92 push r0 + 1078: 0f b6 in r0, 0x3f ; 63 + 107a: 0f 92 push r0 + 107c: 11 24 eor r1, r1 + 107e: 2f 93 push r18 + 1080: 3f 93 push r19 + 1082: 4f 93 push r20 + 1084: 5f 93 push r21 + 1086: 8f 93 push r24 + 1088: 9f 93 push r25 + 108a: ef 93 push r30 + 108c: ff 93 push r31 + 108e: cf 93 push r28 + 1090: df 93 push r29 + 1092: 1f 92 push r1 + 1094: cd b7 in r28, 0x3d ; 61 + 1096: de b7 in r29, 0x3e ; 62 char tempvar; char err; volatile char nothing; + TC_PSU.INTFLAGS = 0xff; + 1098: 8f ef ldi r24, 0xFF ; 255 + 109a: 80 93 4c 09 sts 0x094C, r24 ; 0x80094c <__TEXT_REGION_LENGTH__+0x70094c> if (global_mode == 7){ - 108c: 80 91 00 20 lds r24, 0x2000 ; 0x802000 <__data_start> - 1090: 87 30 cpi r24, 0x07 ; 7 - 1092: 31 f4 brne .+12 ; 0x10a0 <__vector_83+0x38> + 109e: 80 91 00 20 lds r24, 0x2000 ; 0x802000 <__data_start> + 10a2: 87 30 cpi r24, 0x07 ; 7 + 10a4: 31 f4 brne .+12 ; 0x10b2 <__vector_83+0x3e> nothing = ADCA.CH1.RESL; - 1094: e0 e0 ldi r30, 0x00 ; 0 - 1096: f2 e0 ldi r31, 0x02 ; 2 - 1098: 84 a5 ldd r24, Z+44 ; 0x2c - 109a: 89 83 std Y+1, r24 ; 0x01 + 10a6: e0 e0 ldi r30, 0x00 ; 0 + 10a8: f2 e0 ldi r31, 0x02 ; 2 + 10aa: 84 a5 ldd r24, Z+44 ; 0x2c + 10ac: 89 83 std Y+1, r24 ; 0x01 tempvar = ADCA.CH1.RESH; - 109c: 95 a5 ldd r25, Z+45 ; 0x2d - 109e: 02 c0 rjmp .+4 ; 0x10a4 <__vector_83+0x3c> + 10ae: 95 a5 ldd r25, Z+45 ; 0x2d + 10b0: 02 c0 rjmp .+4 ; 0x10b6 <__vector_83+0x42> } else{ tempvar = ADCA.CH1.RESL; - 10a0: 90 91 2c 02 lds r25, 0x022C ; 0x80022c <__TEXT_REGION_LENGTH__+0x70022c> + 10b2: 90 91 2c 02 lds r25, 0x022C ; 0x80022c <__TEXT_REGION_LENGTH__+0x70022c> } //tempvar = (global_mode == 7 ? (char) ADCA.CH1.RESH : (char) ADCA.CH1.RESL); //test_byte = tempvar; err = (char) (PSU_target - tempvar); - 10a4: 80 91 b2 20 lds r24, 0x20B2 ; 0x8020b2 <__data_end> - 10a8: 89 1b sub r24, r25 + 10b6: 80 91 b2 20 lds r24, 0x20B2 ; 0x8020b2 <__data_end> + 10ba: 89 1b sub r24, r25 if ((err > 1) & ((unsigned short) TC_PSU.CCA < PSU_PER - jump) ){ - 10aa: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - 10ae: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> - 10b2: 91 e0 ldi r25, 0x01 ; 1 - 10b4: 82 30 cpi r24, 0x02 ; 2 - 10b6: 0c f4 brge .+2 ; 0x10ba <__vector_83+0x52> - 10b8: 90 e0 ldi r25, 0x00 ; 0 - 10ba: 99 23 and r25, r25 - 10bc: c9 f0 breq .+50 ; 0x10f0 <__vector_83+0x88> - 10be: 91 e0 ldi r25, 0x01 ; 1 - 10c0: 22 3b cpi r18, 0xB2 ; 178 - 10c2: 3b 40 sbci r19, 0x0B ; 11 - 10c4: 08 f0 brcs .+2 ; 0x10c8 <__vector_83+0x60> - 10c6: 90 e0 ldi r25, 0x00 ; 0 - 10c8: 99 23 and r25, r25 - 10ca: 91 f0 breq .+36 ; 0x10f0 <__vector_83+0x88> + 10bc: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + 10c0: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + 10c4: 91 e0 ldi r25, 0x01 ; 1 + 10c6: 82 30 cpi r24, 0x02 ; 2 + 10c8: 0c f4 brge .+2 ; 0x10cc <__vector_83+0x58> + 10ca: 90 e0 ldi r25, 0x00 ; 0 + 10cc: 99 23 and r25, r25 + 10ce: c9 f0 breq .+50 ; 0x1102 <__vector_83+0x8e> + 10d0: 91 e0 ldi r25, 0x01 ; 1 + 10d2: 22 3b cpi r18, 0xB2 ; 178 + 10d4: 3b 40 sbci r19, 0x0B ; 11 + 10d6: 08 f0 brcs .+2 ; 0x10da <__vector_83+0x66> + 10d8: 90 e0 ldi r25, 0x00 ; 0 + 10da: 99 23 and r25, r25 + 10dc: 91 f0 breq .+36 ; 0x1102 <__vector_83+0x8e> TC_PSU.CCABUF = TC_PSU.CCA + ((err > 8) ? jump : 1); - 10cc: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - 10d0: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> - 10d4: 89 30 cpi r24, 0x09 ; 9 - 10d6: 1c f4 brge .+6 ; 0x10de <__vector_83+0x76> - 10d8: 81 e0 ldi r24, 0x01 ; 1 - 10da: 90 e0 ldi r25, 0x00 ; 0 - 10dc: 02 c0 rjmp .+4 ; 0x10e2 <__vector_83+0x7a> - 10de: 86 e0 ldi r24, 0x06 ; 6 - 10e0: 90 e0 ldi r25, 0x00 ; 0 - 10e2: 82 0f add r24, r18 - 10e4: 93 1f adc r25, r19 - 10e6: 80 93 78 09 sts 0x0978, r24 ; 0x800978 <__TEXT_REGION_LENGTH__+0x700978> - 10ea: 90 93 79 09 sts 0x0979, r25 ; 0x800979 <__TEXT_REGION_LENGTH__+0x700979> - 10ee: 23 c0 rjmp .+70 ; 0x1136 <__vector_83+0xce> + 10de: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + 10e2: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + 10e6: 89 30 cpi r24, 0x09 ; 9 + 10e8: 1c f4 brge .+6 ; 0x10f0 <__vector_83+0x7c> + 10ea: 81 e0 ldi r24, 0x01 ; 1 + 10ec: 90 e0 ldi r25, 0x00 ; 0 + 10ee: 02 c0 rjmp .+4 ; 0x10f4 <__vector_83+0x80> + 10f0: 86 e0 ldi r24, 0x06 ; 6 + 10f2: 90 e0 ldi r25, 0x00 ; 0 + 10f4: 82 0f add r24, r18 + 10f6: 93 1f adc r25, r19 + 10f8: 80 93 78 09 sts 0x0978, r24 ; 0x800978 <__TEXT_REGION_LENGTH__+0x700978> + 10fc: 90 93 79 09 sts 0x0979, r25 ; 0x800979 <__TEXT_REGION_LENGTH__+0x700979> + 1100: 23 c0 rjmp .+70 ; 0x1148 <__vector_83+0xd4> } else if ((err < -1) & ((unsigned short) TC_PSU.CCA > jump)){ - 10f0: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - 10f4: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> - 10f8: 91 e0 ldi r25, 0x01 ; 1 - 10fa: 8f 3f cpi r24, 0xFF ; 255 - 10fc: 0c f0 brlt .+2 ; 0x1100 <__vector_83+0x98> - 10fe: 90 e0 ldi r25, 0x00 ; 0 - 1100: 99 23 and r25, r25 - 1102: c9 f0 breq .+50 ; 0x1136 <__vector_83+0xce> - 1104: 91 e0 ldi r25, 0x01 ; 1 - 1106: 27 30 cpi r18, 0x07 ; 7 - 1108: 31 05 cpc r19, r1 - 110a: 08 f4 brcc .+2 ; 0x110e <__vector_83+0xa6> - 110c: 90 e0 ldi r25, 0x00 ; 0 - 110e: 99 23 and r25, r25 - 1110: 91 f0 breq .+36 ; 0x1136 <__vector_83+0xce> + 1102: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + 1106: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + 110a: 91 e0 ldi r25, 0x01 ; 1 + 110c: 8f 3f cpi r24, 0xFF ; 255 + 110e: 0c f0 brlt .+2 ; 0x1112 <__vector_83+0x9e> + 1110: 90 e0 ldi r25, 0x00 ; 0 + 1112: 99 23 and r25, r25 + 1114: c9 f0 breq .+50 ; 0x1148 <__vector_83+0xd4> + 1116: 91 e0 ldi r25, 0x01 ; 1 + 1118: 27 30 cpi r18, 0x07 ; 7 + 111a: 31 05 cpc r19, r1 + 111c: 08 f4 brcc .+2 ; 0x1120 <__vector_83+0xac> + 111e: 90 e0 ldi r25, 0x00 ; 0 + 1120: 99 23 and r25, r25 + 1122: 91 f0 breq .+36 ; 0x1148 <__vector_83+0xd4> TC_PSU.CCABUF = TC_PSU.CCA - ((err < -8) ? jump : 1); - 1112: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - 1116: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> - 111a: 88 3f cpi r24, 0xF8 ; 248 - 111c: 1c f0 brlt .+6 ; 0x1124 <__vector_83+0xbc> - 111e: 81 e0 ldi r24, 0x01 ; 1 - 1120: 90 e0 ldi r25, 0x00 ; 0 - 1122: 02 c0 rjmp .+4 ; 0x1128 <__vector_83+0xc0> - 1124: 86 e0 ldi r24, 0x06 ; 6 - 1126: 90 e0 ldi r25, 0x00 ; 0 - 1128: a9 01 movw r20, r18 - 112a: 48 1b sub r20, r24 - 112c: 59 0b sbc r21, r25 - 112e: 40 93 78 09 sts 0x0978, r20 ; 0x800978 <__TEXT_REGION_LENGTH__+0x700978> - 1132: 50 93 79 09 sts 0x0979, r21 ; 0x800979 <__TEXT_REGION_LENGTH__+0x700979> + 1124: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + 1128: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + 112c: 88 3f cpi r24, 0xF8 ; 248 + 112e: 1c f0 brlt .+6 ; 0x1136 <__vector_83+0xc2> + 1130: 81 e0 ldi r24, 0x01 ; 1 + 1132: 90 e0 ldi r25, 0x00 ; 0 + 1134: 02 c0 rjmp .+4 ; 0x113a <__vector_83+0xc6> + 1136: 86 e0 ldi r24, 0x06 ; 6 + 1138: 90 e0 ldi r25, 0x00 ; 0 + 113a: a9 01 movw r20, r18 + 113c: 48 1b sub r20, r24 + 113e: 59 0b sbc r21, r25 + 1140: 40 93 78 09 sts 0x0978, r20 ; 0x800978 <__TEXT_REGION_LENGTH__+0x700978> + 1144: 50 93 79 09 sts 0x0979, r21 ; 0x800979 <__TEXT_REGION_LENGTH__+0x700979> } - 1136: 0f 90 pop r0 - 1138: df 91 pop r29 - 113a: cf 91 pop r28 - 113c: ff 91 pop r31 - 113e: ef 91 pop r30 - 1140: 9f 91 pop r25 - 1142: 8f 91 pop r24 - 1144: 5f 91 pop r21 - 1146: 4f 91 pop r20 - 1148: 3f 91 pop r19 - 114a: 2f 91 pop r18 - 114c: 0f 90 pop r0 - 114e: 0f be out 0x3f, r0 ; 63 - 1150: 0f 90 pop r0 - 1152: 1f 90 pop r1 - 1154: 18 95 reti + 1148: 0f 90 pop r0 + 114a: df 91 pop r29 + 114c: cf 91 pop r28 + 114e: ff 91 pop r31 + 1150: ef 91 pop r30 + 1152: 9f 91 pop r25 + 1154: 8f 91 pop r24 + 1156: 5f 91 pop r21 + 1158: 4f 91 pop r20 + 115a: 3f 91 pop r19 + 115c: 2f 91 pop r18 + 115e: 0f 90 pop r0 + 1160: 0f be out 0x3f, r0 ; 63 + 1162: 0f 90 pop r0 + 1164: 1f 90 pop r1 + 1166: 18 95 reti -00001156 : +00001168 : #include "tiny_uart.h" #include "globals.h" void tiny_uart_setup(void){ PR.PRPC &= 0b11101111; - 1156: e0 e7 ldi r30, 0x70 ; 112 - 1158: f0 e0 ldi r31, 0x00 ; 0 - 115a: 83 81 ldd r24, Z+3 ; 0x03 - 115c: 8f 7e andi r24, 0xEF ; 239 - 115e: 83 83 std Z+3, r24 ; 0x03 + 1168: e0 e7 ldi r30, 0x70 ; 112 + 116a: f0 e0 ldi r31, 0x00 ; 0 + 116c: 83 81 ldd r24, Z+3 ; 0x03 + 116e: 8f 7e andi r24, 0xEF ; 239 + 1170: 83 83 std Z+3, r24 ; 0x03 //PR.PRPE &= 0b11111110; ??? PORTC.DIR |= 0b01001010; - 1160: e0 e4 ldi r30, 0x40 ; 64 - 1162: f6 e0 ldi r31, 0x06 ; 6 - 1164: 80 81 ld r24, Z - 1166: 8a 64 ori r24, 0x4A ; 74 - 1168: 80 83 st Z, r24 + 1172: e0 e4 ldi r30, 0x40 ; 64 + 1174: f6 e0 ldi r31, 0x06 ; 6 + 1176: 80 81 ld r24, Z + 1178: 8a 64 ori r24, 0x4A ; 74 + 117a: 80 83 st Z, r24 PORTC.OUT = 0xff; - 116a: 8f ef ldi r24, 0xFF ; 255 - 116c: 84 83 std Z+4, r24 ; 0x04 + 117c: 8f ef ldi r24, 0xFF ; 255 + 117e: 84 83 std Z+4, r24 ; 0x04 PORTC.PIN2CTRL = PORT_INVEN_bm | PORT_OPC_PULLUP_gc; - 116e: 88 e5 ldi r24, 0x58 ; 88 - 1170: 82 8b std Z+18, r24 ; 0x12 + 1180: 88 e5 ldi r24, 0x58 ; 88 + 1182: 82 8b std Z+18, r24 ; 0x12 //PORTC.REMAP = 0x10; //Remap USART to [7:4] #ifndef VERO PORTC.REMAP = 0x20; //Swap MOSI and SCK - for small boards only!!! + 1184: 80 e2 ldi r24, 0x20 ; 32 + 1186: 86 87 std Z+14, r24 ; 0x0e #endif USARTC0.CTRLC = USART_CMODE_MSPI_gc | 0b00000100; //LSB received first, UPCHA disabled - 1172: e0 ea ldi r30, 0xA0 ; 160 - 1174: f8 e0 ldi r31, 0x08 ; 8 - 1176: 84 ec ldi r24, 0xC4 ; 196 - 1178: 85 83 std Z+5, r24 ; 0x05 + 1188: e0 ea ldi r30, 0xA0 ; 160 + 118a: f8 e0 ldi r31, 0x08 ; 8 + 118c: 84 ec ldi r24, 0xC4 ; 196 + 118e: 85 83 std Z+5, r24 ; 0x05 USARTC0.BAUDCTRLA = 3; //BSEL = fper/(2fbaud) -1; 24/(2*3) - 1 = 3 - 117a: 83 e0 ldi r24, 0x03 ; 3 - 117c: 86 83 std Z+6, r24 ; 0x06 + 1190: 83 e0 ldi r24, 0x03 ; 3 + 1192: 86 83 std Z+6, r24 ; 0x06 USARTC0.BAUDCTRLB = 0x00;//USART_BSCALE0_bm; - 117e: 17 82 std Z+7, r1 ; 0x07 + 1194: 17 82 std Z+7, r1 ; 0x07 USARTC0.CTRLB = USART_RXEN_bm | USART_TXEN_bm; - 1180: 88 e1 ldi r24, 0x18 ; 24 - 1182: 84 83 std Z+4, r24 ; 0x04 - 1184: 08 95 ret + 1196: 88 e1 ldi r24, 0x18 ; 24 + 1198: 84 83 std Z+4, r24 ; 0x04 + 119a: 08 95 ret -00001186 : +0000119c : } void tiny_spi_setup(void){ //Power Reduction disable PR.PRPC &= 0b11110111; - 1186: e0 e7 ldi r30, 0x70 ; 112 - 1188: f0 e0 ldi r31, 0x00 ; 0 - 118a: 83 81 ldd r24, Z+3 ; 0x03 - 118c: 87 7f andi r24, 0xF7 ; 247 - 118e: 83 83 std Z+3, r24 ; 0x03 + 119c: e0 e7 ldi r30, 0x70 ; 112 + 119e: f0 e0 ldi r31, 0x00 ; 0 + 11a0: 83 81 ldd r24, Z+3 ; 0x03 + 11a2: 87 7f andi r24, 0xF7 ; 247 + 11a4: 83 83 std Z+3, r24 ; 0x03 //SPI enable SPIC.CTRL = SPI_ENABLE_bm; //Slave mode - 1190: e0 ec ldi r30, 0xC0 ; 192 - 1192: f8 e0 ldi r31, 0x08 ; 8 - 1194: 80 e4 ldi r24, 0x40 ; 64 - 1196: 80 83 st Z, r24 + 11a6: e0 ec ldi r30, 0xC0 ; 192 + 11a8: f8 e0 ldi r31, 0x08 ; 8 + 11aa: 80 e4 ldi r24, 0x40 ; 64 + 11ac: 80 83 st Z, r24 SPIC.INTCTRL = SPI_INTLVL_HI_gc; - 1198: 83 e0 ldi r24, 0x03 ; 3 - 119a: 81 83 std Z+1, r24 ; 0x01 + 11ae: 83 e0 ldi r24, 0x03 ; 3 + 11b0: 81 83 std Z+1, r24 ; 0x01 #ifdef VERO PORTC.PIN5CTRL = PORT_INVEN_bm | PORT_OPC_PULLUP_gc; - 119c: 88 e5 ldi r24, 0x58 ; 88 - 119e: 80 93 55 06 sts 0x0655, r24 ; 0x800655 <__TEXT_REGION_LENGTH__+0x700655> - 11a2: 08 95 ret + #else + PORTC.PIN7CTRL = PORT_INVEN_bm | PORT_OPC_PULLUP_gc; //Pin5 if not swapped + 11b2: 88 e5 ldi r24, 0x58 ; 88 + 11b4: 80 93 57 06 sts 0x0657, r24 ; 0x800657 <__TEXT_REGION_LENGTH__+0x700657> + 11b8: 08 95 ret -000011a4 <__vector_24>: +000011ba <__vector_24>: #endif return; } ISR(SPIC_INT_vect){ - 11a4: 1f 92 push r1 - 11a6: 0f 92 push r0 - 11a8: 0f b6 in r0, 0x3f ; 63 - 11aa: 0f 92 push r0 - 11ac: 11 24 eor r1, r1 + 11ba: 1f 92 push r1 + 11bc: 0f 92 push r0 + 11be: 0f b6 in r0, 0x3f ; 63 + 11c0: 0f 92 push r0 + 11c2: 11 24 eor r1, r1 asm("nop"); - 11ae: 00 00 nop + 11c4: 00 00 nop } - 11b0: 0f 90 pop r0 - 11b2: 0f be out 0x3f, r0 ; 63 - 11b4: 0f 90 pop r0 - 11b6: 1f 90 pop r1 - 11b8: 18 95 reti + 11c6: 0f 90 pop r0 + 11c8: 0f be out 0x3f, r0 ; 63 + 11ca: 0f 90 pop r0 + 11cc: 1f 90 pop r1 + 11ce: 18 95 reti -000011ba : +000011d0 : } static inline void cpu_irq_restore(irqflags_t flags) { barrier(); SREG = flags; - 11ba: 0f 93 push r16 - 11bc: 1f 93 push r17 - 11be: cf 93 push r28 - 11c0: df 93 push r29 - 11c2: 00 d0 rcall .+0 ; 0x11c4 - 11c4: 00 d0 rcall .+0 ; 0x11c6 - 11c6: cd b7 in r28, 0x3d ; 61 - 11c8: de b7 in r29, 0x3e ; 62 - 11ca: 8f ef ldi r24, 0xFF ; 255 - 11cc: 80 93 70 00 sts 0x0070, r24 ; 0x800070 <__TEXT_REGION_LENGTH__+0x700070> - 11d0: 80 93 71 00 sts 0x0071, r24 ; 0x800071 <__TEXT_REGION_LENGTH__+0x700071> - 11d4: 80 93 72 00 sts 0x0072, r24 ; 0x800072 <__TEXT_REGION_LENGTH__+0x700072> - 11d8: 80 93 73 00 sts 0x0073, r24 ; 0x800073 <__TEXT_REGION_LENGTH__+0x700073> - 11dc: 80 93 74 00 sts 0x0074, r24 ; 0x800074 <__TEXT_REGION_LENGTH__+0x700074> - 11e0: 80 93 75 00 sts 0x0075, r24 ; 0x800075 <__TEXT_REGION_LENGTH__+0x700075> - 11e4: 80 93 76 00 sts 0x0076, r24 ; 0x800076 <__TEXT_REGION_LENGTH__+0x700076> - 11e8: 64 e0 ldi r22, 0x04 ; 4 - 11ea: 81 e4 ldi r24, 0x41 ; 65 - 11ec: 90 e0 ldi r25, 0x00 ; 0 - 11ee: c2 d5 rcall .+2948 ; 0x1d74 - 11f0: 6c e1 ldi r22, 0x1C ; 28 - 11f2: 70 e0 ldi r23, 0x00 ; 0 - 11f4: 82 e0 ldi r24, 0x02 ; 2 - 11f6: c4 d5 rcall .+2952 ; 0x1d80 - 11f8: 8a 83 std Y+2, r24 ; 0x02 - 11fa: 6d e1 ldi r22, 0x1D ; 29 - 11fc: 70 e0 ldi r23, 0x00 ; 0 - 11fe: 82 e0 ldi r24, 0x02 ; 2 - 1200: bf d5 rcall .+2942 ; 0x1d80 - 1202: 89 83 std Y+1, r24 ; 0x01 - 1204: 89 81 ldd r24, Y+1 ; 0x01 - 1206: 9a 81 ldd r25, Y+2 ; 0x02 - 1208: 01 96 adiw r24, 0x01 ; 1 - 120a: 21 f4 brne .+8 ; 0x1214 - 120c: 80 e4 ldi r24, 0x40 ; 64 - 120e: 93 e2 ldi r25, 0x23 ; 35 - 1210: 89 83 std Y+1, r24 ; 0x01 - 1212: 9a 83 std Y+2, r25 ; 0x02 - 1214: 89 81 ldd r24, Y+1 ; 0x01 - 1216: 9a 81 ldd r25, Y+2 ; 0x02 - 1218: 8b 83 std Y+3, r24 ; 0x03 - 121a: 9c 83 std Y+4, r25 ; 0x04 - 121c: e0 e6 ldi r30, 0x60 ; 96 - 121e: f0 e0 ldi r31, 0x00 ; 0 - 1220: 82 83 std Z+2, r24 ; 0x02 - 1222: 8c 81 ldd r24, Y+4 ; 0x04 - 1224: 83 83 std Z+3, r24 ; 0x03 - 1226: 9f b7 in r25, 0x3f ; 63 - 1228: f8 94 cli - 122a: e0 e5 ldi r30, 0x50 ; 80 - 122c: f0 e0 ldi r31, 0x00 ; 0 - 122e: 80 81 ld r24, Z - 1230: 82 60 ori r24, 0x02 ; 2 - 1232: 80 83 st Z, r24 - 1234: 9f bf out 0x3f, r25 ; 63 - 1236: 81 81 ldd r24, Z+1 ; 0x01 - 1238: 81 ff sbrs r24, 1 - 123a: fd cf rjmp .-6 ; 0x1236 + 11d0: 0f 93 push r16 + 11d2: 1f 93 push r17 + 11d4: cf 93 push r28 + 11d6: df 93 push r29 + 11d8: 00 d0 rcall .+0 ; 0x11da + 11da: 00 d0 rcall .+0 ; 0x11dc + 11dc: cd b7 in r28, 0x3d ; 61 + 11de: de b7 in r29, 0x3e ; 62 + 11e0: 8f ef ldi r24, 0xFF ; 255 + 11e2: 80 93 70 00 sts 0x0070, r24 ; 0x800070 <__TEXT_REGION_LENGTH__+0x700070> + 11e6: 80 93 71 00 sts 0x0071, r24 ; 0x800071 <__TEXT_REGION_LENGTH__+0x700071> + 11ea: 80 93 72 00 sts 0x0072, r24 ; 0x800072 <__TEXT_REGION_LENGTH__+0x700072> + 11ee: 80 93 73 00 sts 0x0073, r24 ; 0x800073 <__TEXT_REGION_LENGTH__+0x700073> + 11f2: 80 93 74 00 sts 0x0074, r24 ; 0x800074 <__TEXT_REGION_LENGTH__+0x700074> + 11f6: 80 93 75 00 sts 0x0075, r24 ; 0x800075 <__TEXT_REGION_LENGTH__+0x700075> + 11fa: 80 93 76 00 sts 0x0076, r24 ; 0x800076 <__TEXT_REGION_LENGTH__+0x700076> + 11fe: 64 e0 ldi r22, 0x04 ; 4 + 1200: 81 e4 ldi r24, 0x41 ; 65 + 1202: 90 e0 ldi r25, 0x00 ; 0 + 1204: c2 d5 rcall .+2948 ; 0x1d8a + 1206: 6c e1 ldi r22, 0x1C ; 28 + 1208: 70 e0 ldi r23, 0x00 ; 0 + 120a: 82 e0 ldi r24, 0x02 ; 2 + 120c: c4 d5 rcall .+2952 ; 0x1d96 + 120e: 8a 83 std Y+2, r24 ; 0x02 + 1210: 6d e1 ldi r22, 0x1D ; 29 + 1212: 70 e0 ldi r23, 0x00 ; 0 + 1214: 82 e0 ldi r24, 0x02 ; 2 + 1216: bf d5 rcall .+2942 ; 0x1d96 + 1218: 89 83 std Y+1, r24 ; 0x01 + 121a: 89 81 ldd r24, Y+1 ; 0x01 + 121c: 9a 81 ldd r25, Y+2 ; 0x02 + 121e: 01 96 adiw r24, 0x01 ; 1 + 1220: 21 f4 brne .+8 ; 0x122a + 1222: 80 e4 ldi r24, 0x40 ; 64 + 1224: 93 e2 ldi r25, 0x23 ; 35 + 1226: 89 83 std Y+1, r24 ; 0x01 + 1228: 9a 83 std Y+2, r25 ; 0x02 + 122a: 89 81 ldd r24, Y+1 ; 0x01 + 122c: 9a 81 ldd r25, Y+2 ; 0x02 + 122e: 8b 83 std Y+3, r24 ; 0x03 + 1230: 9c 83 std Y+4, r25 ; 0x04 + 1232: e0 e6 ldi r30, 0x60 ; 96 + 1234: f0 e0 ldi r31, 0x00 ; 0 + 1236: 82 83 std Z+2, r24 ; 0x02 + 1238: 8c 81 ldd r24, Y+4 ; 0x04 + 123a: 83 83 std Z+3, r24 ; 0x03 123c: 9f b7 in r25, 0x3f ; 63 123e: f8 94 cli - 1240: 00 e5 ldi r16, 0x50 ; 80 - 1242: 10 e0 ldi r17, 0x00 ; 0 - 1244: d8 01 movw r26, r16 - 1246: 16 96 adiw r26, 0x06 ; 6 - 1248: 8c 91 ld r24, X - 124a: 16 97 sbiw r26, 0x06 ; 6 - 124c: 89 7f andi r24, 0xF9 ; 249 - 124e: 16 96 adiw r26, 0x06 ; 6 - 1250: 8c 93 st X, r24 - 1252: 16 97 sbiw r26, 0x06 ; 6 - 1254: e0 e6 ldi r30, 0x60 ; 96 - 1256: f0 e0 ldi r31, 0x00 ; 0 - 1258: 80 e8 ldi r24, 0x80 ; 128 - 125a: 85 83 std Z+5, r24 ; 0x05 - 125c: 8b eb ldi r24, 0xBB ; 187 - 125e: 86 83 std Z+6, r24 ; 0x06 - 1260: 16 96 adiw r26, 0x06 ; 6 - 1262: 8c 91 ld r24, X - 1264: 16 97 sbiw r26, 0x06 ; 6 - 1266: 84 60 ori r24, 0x04 ; 4 - 1268: 16 96 adiw r26, 0x06 ; 6 - 126a: 8c 93 st X, r24 - 126c: 80 81 ld r24, Z - 126e: 81 60 ori r24, 0x01 ; 1 - 1270: 80 83 st Z, r24 - 1272: 9f bf out 0x3f, r25 ; 63 - 1274: 61 e0 ldi r22, 0x01 ; 1 - 1276: 80 e4 ldi r24, 0x40 ; 64 - 1278: 90 e0 ldi r25, 0x00 ; 0 - 127a: 7c d5 rcall .+2808 ; 0x1d74 - 127c: 9f b7 in r25, 0x3f ; 63 - 127e: f8 94 cli - 1280: f8 01 movw r30, r16 + 1240: e0 e5 ldi r30, 0x50 ; 80 + 1242: f0 e0 ldi r31, 0x00 ; 0 + 1244: 80 81 ld r24, Z + 1246: 82 60 ori r24, 0x02 ; 2 + 1248: 80 83 st Z, r24 + 124a: 9f bf out 0x3f, r25 ; 63 + 124c: 81 81 ldd r24, Z+1 ; 0x01 + 124e: 81 ff sbrs r24, 1 + 1250: fd cf rjmp .-6 ; 0x124c + 1252: 9f b7 in r25, 0x3f ; 63 + 1254: f8 94 cli + 1256: 00 e5 ldi r16, 0x50 ; 80 + 1258: 10 e0 ldi r17, 0x00 ; 0 + 125a: d8 01 movw r26, r16 + 125c: 16 96 adiw r26, 0x06 ; 6 + 125e: 8c 91 ld r24, X + 1260: 16 97 sbiw r26, 0x06 ; 6 + 1262: 89 7f andi r24, 0xF9 ; 249 + 1264: 16 96 adiw r26, 0x06 ; 6 + 1266: 8c 93 st X, r24 + 1268: 16 97 sbiw r26, 0x06 ; 6 + 126a: e0 e6 ldi r30, 0x60 ; 96 + 126c: f0 e0 ldi r31, 0x00 ; 0 + 126e: 80 e8 ldi r24, 0x80 ; 128 + 1270: 85 83 std Z+5, r24 ; 0x05 + 1272: 8b eb ldi r24, 0xBB ; 187 + 1274: 86 83 std Z+6, r24 ; 0x06 + 1276: 16 96 adiw r26, 0x06 ; 6 + 1278: 8c 91 ld r24, X + 127a: 16 97 sbiw r26, 0x06 ; 6 + 127c: 84 60 ori r24, 0x04 ; 4 + 127e: 16 96 adiw r26, 0x06 ; 6 + 1280: 8c 93 st X, r24 1282: 80 81 ld r24, Z - 1284: 8e 7f andi r24, 0xFE ; 254 + 1284: 81 60 ori r24, 0x01 ; 1 1286: 80 83 st Z, r24 1288: 9f bf out 0x3f, r25 ; 63 - 128a: 24 96 adiw r28, 0x04 ; 4 - 128c: cd bf out 0x3d, r28 ; 61 - 128e: de bf out 0x3e, r29 ; 62 - 1290: df 91 pop r29 - 1292: cf 91 pop r28 - 1294: 1f 91 pop r17 - 1296: 0f 91 pop r16 - 1298: 08 95 ret + 128a: 61 e0 ldi r22, 0x01 ; 1 + 128c: 80 e4 ldi r24, 0x40 ; 64 + 128e: 90 e0 ldi r25, 0x00 ; 0 + 1290: 7c d5 rcall .+2808 ; 0x1d8a + 1292: 9f b7 in r25, 0x3f ; 63 + 1294: f8 94 cli + 1296: f8 01 movw r30, r16 + 1298: 80 81 ld r24, Z + 129a: 8e 7f andi r24, 0xFE ; 254 + 129c: 80 83 st Z, r24 + 129e: 9f bf out 0x3f, r25 ; 63 + 12a0: 24 96 adiw r28, 0x04 ; 4 + 12a2: cd bf out 0x3d, r28 ; 61 + 12a4: de bf out 0x3e, r29 ; 62 + 12a6: df 91 pop r29 + 12a8: cf 91 pop r28 + 12aa: 1f 91 pop r17 + 12ac: 0f 91 pop r16 + 12ae: 08 95 ret -0000129a : - 129a: 9f b7 in r25, 0x3f ; 63 - 129c: f8 94 cli - 129e: e8 2f mov r30, r24 - 12a0: f0 e0 ldi r31, 0x00 ; 0 - 12a2: e0 59 subi r30, 0x90 ; 144 - 12a4: ff 4f sbci r31, 0xFF ; 255 - 12a6: 60 95 com r22 - 12a8: 80 81 ld r24, Z - 12aa: 68 23 and r22, r24 - 12ac: 60 83 st Z, r22 - 12ae: 9f bf out 0x3f, r25 ; 63 - 12b0: 08 95 ret +000012b0 : + 12b0: 9f b7 in r25, 0x3f ; 63 + 12b2: f8 94 cli + 12b4: e8 2f mov r30, r24 + 12b6: f0 e0 ldi r31, 0x00 ; 0 + 12b8: e0 59 subi r30, 0x90 ; 144 + 12ba: ff 4f sbci r31, 0xFF ; 255 + 12bc: 60 95 com r22 + 12be: 80 81 ld r24, Z + 12c0: 68 23 and r22, r24 + 12c2: 60 83 st Z, r22 + 12c4: 9f bf out 0x3f, r25 ; 63 + 12c6: 08 95 ret -000012b2 : +000012c8 : /* * Enable or disable prescaler depending on if the USB frequency is 6 * MHz or 48 MHz. Only 6 MHz USB frequency requires prescaling. */ if (frequency == 6) { - 12b2: 86 30 cpi r24, 0x06 ; 6 - 12b4: 11 f0 breq .+4 ; 0x12ba + 12c8: 86 30 cpi r24, 0x06 ; 6 + 12ca: 11 f0 breq .+4 ; 0x12d0 prescaler = CLK_USBPSDIV_8_gc; } else { prescaler = 0; - 12b6: 60 e0 ldi r22, 0x00 ; 0 - 12b8: 01 c0 rjmp .+2 ; 0x12bc + 12cc: 60 e0 ldi r22, 0x00 ; 0 + 12ce: 01 c0 rjmp .+2 ; 0x12d2 /* * Enable or disable prescaler depending on if the USB frequency is 6 * MHz or 48 MHz. Only 6 MHz USB frequency requires prescaling. */ if (frequency == 6) { prescaler = CLK_USBPSDIV_8_gc; - 12ba: 68 e1 ldi r22, 0x18 ; 24 + 12d0: 68 e1 ldi r22, 0x18 ; 24 static inline bool osc_is_ready(uint8_t id) { Assert(id != OSC_ID_USBSOF); return OSC.STATUS & id; - 12bc: 80 91 51 00 lds r24, 0x0051 ; 0x800051 <__TEXT_REGION_LENGTH__+0x700051> + 12d2: 80 91 51 00 lds r24, 0x0051 ; 0x800051 <__TEXT_REGION_LENGTH__+0x700051> /* * Switch to the system clock selected by the user. */ switch (CONFIG_USBCLK_SOURCE) { case USBCLK_SRC_RCOSC: if (!osc_is_ready(OSC_ID_RC32MHZ)) { - 12c0: 81 fd sbrc r24, 1 - 12c2: 26 c0 rjmp .+76 ; 0x1310 - -typedef uint8_t irqflags_t; - -static inline irqflags_t cpu_irq_save(void) -{ - irqflags_t flags = SREG; - 12c4: 9f b7 in r25, 0x3f ; 63 - cpu_irq_disable(); - 12c6: f8 94 cli - irqflags_t flags; - - Assert(id != OSC_ID_USBSOF); - - flags = cpu_irq_save(); - OSC.CTRL |= id; - 12c8: e0 e5 ldi r30, 0x50 ; 80 - 12ca: f0 e0 ldi r31, 0x00 ; 0 - 12cc: 80 81 ld r24, Z - 12ce: 82 60 ori r24, 0x02 ; 2 - 12d0: 80 83 st Z, r24 -} - -static inline void cpu_irq_restore(irqflags_t flags) -{ - barrier(); - SREG = flags; - 12d2: 9f bf out 0x3f, r25 ; 63 - -static inline bool osc_is_ready(uint8_t id) -{ - Assert(id != OSC_ID_USBSOF); - - return OSC.STATUS & id; - 12d4: 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)) { - 12d6: 81 ff sbrs r24, 1 - 12d8: fd cf rjmp .-6 ; 0x12d4 + 12d6: 81 fd sbrc r24, 1 + 12d8: 26 c0 rjmp .+76 ; 0x1326 typedef uint8_t irqflags_t; @@ -3456,3458 +3427,3489 @@ static inline irqflags_t cpu_irq_save(void) 12da: 9f b7 in r25, 0x3f ; 63 cpu_irq_disable(); 12dc: f8 94 cli -# if !XMEGA_E - || (ref_id == OSC_ID_USBSOF) -#endif - ); + irqflags_t flags; - OSC.DFLLCTRL &= ~(OSC_RC32MCREF_gm); - 12de: a0 e5 ldi r26, 0x50 ; 80 - 12e0: b0 e0 ldi r27, 0x00 ; 0 - 12e2: 16 96 adiw r26, 0x06 ; 6 - 12e4: 8c 91 ld r24, X - 12e6: 16 97 sbiw r26, 0x06 ; 6 - 12e8: 89 7f andi r24, 0xF9 ; 249 - 12ea: 16 96 adiw r26, 0x06 ; 6 - 12ec: 8c 93 st X, r24 - 12ee: 16 97 sbiw r26, 0x06 ; 6 - else if (ref_id == OSC_ID_USBSOF) { - /* - * Calibrate 32MRC at 48MHz using USB SOF - * 48MHz / 1kHz = 0xBB80 - */ - DFLLRC32M.COMP1 = 0x80; - 12f0: e0 e6 ldi r30, 0x60 ; 96 - 12f2: f0 e0 ldi r31, 0x00 ; 0 - 12f4: 80 e8 ldi r24, 0x80 ; 128 - 12f6: 85 83 std Z+5, r24 ; 0x05 - DFLLRC32M.COMP2 = 0xBB; - 12f8: 8b eb ldi r24, 0xBB ; 187 - 12fa: 86 83 std Z+6, r24 ; 0x06 - OSC.DFLLCTRL |= OSC_RC32MCREF_USBSOF_gc; - 12fc: 16 96 adiw r26, 0x06 ; 6 - 12fe: 8c 91 ld r24, X - 1300: 16 97 sbiw r26, 0x06 ; 6 - 1302: 84 60 ori r24, 0x04 ; 4 - 1304: 16 96 adiw r26, 0x06 ; 6 - 1306: 8c 93 st X, r24 - OSC.DFLLCTRL &= ~(OSC_RC32MCREF_bm); -# endif - } -#endif + Assert(id != OSC_ID_USBSOF); - DFLLRC32M.CTRL |= DFLL_ENABLE_bm; - 1308: 80 81 ld r24, Z - 130a: 81 60 ori r24, 0x01 ; 1 - 130c: 80 83 st Z, r24 + flags = cpu_irq_save(); + OSC.CTRL |= id; + 12de: e0 e5 ldi r30, 0x50 ; 80 + 12e0: f0 e0 ldi r31, 0x00 ; 0 + 12e2: 80 81 ld r24, Z + 12e4: 82 60 ori r24, 0x02 ; 2 + 12e6: 80 83 st Z, r24 } static inline void cpu_irq_restore(irqflags_t flags) { barrier(); SREG = flags; - 130e: 9f bf out 0x3f, r25 ; 63 + 12e8: 9f bf out 0x3f, r25 ; 63 + +static inline bool osc_is_ready(uint8_t id) +{ + Assert(id != OSC_ID_USBSOF); + + return OSC.STATUS & id; + 12ea: 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)) { + 12ec: 81 ff sbrs r24, 1 + 12ee: fd cf rjmp .-6 ; 0x12ea + +typedef uint8_t irqflags_t; + +static inline irqflags_t cpu_irq_save(void) +{ + irqflags_t flags = SREG; + 12f0: 9f b7 in r25, 0x3f ; 63 + cpu_irq_disable(); + 12f2: f8 94 cli +# if !XMEGA_E + || (ref_id == OSC_ID_USBSOF) +#endif + ); + + OSC.DFLLCTRL &= ~(OSC_RC32MCREF_gm); + 12f4: a0 e5 ldi r26, 0x50 ; 80 + 12f6: b0 e0 ldi r27, 0x00 ; 0 + 12f8: 16 96 adiw r26, 0x06 ; 6 + 12fa: 8c 91 ld r24, X + 12fc: 16 97 sbiw r26, 0x06 ; 6 + 12fe: 89 7f andi r24, 0xF9 ; 249 + 1300: 16 96 adiw r26, 0x06 ; 6 + 1302: 8c 93 st X, r24 + 1304: 16 97 sbiw r26, 0x06 ; 6 + else if (ref_id == OSC_ID_USBSOF) { + /* + * Calibrate 32MRC at 48MHz using USB SOF + * 48MHz / 1kHz = 0xBB80 + */ + DFLLRC32M.COMP1 = 0x80; + 1306: e0 e6 ldi r30, 0x60 ; 96 + 1308: f0 e0 ldi r31, 0x00 ; 0 + 130a: 80 e8 ldi r24, 0x80 ; 128 + 130c: 85 83 std Z+5, r24 ; 0x05 + DFLLRC32M.COMP2 = 0xBB; + 130e: 8b eb ldi r24, 0xBB ; 187 + 1310: 86 83 std Z+6, r24 ; 0x06 + OSC.DFLLCTRL |= OSC_RC32MCREF_USBSOF_gc; + 1312: 16 96 adiw r26, 0x06 ; 6 + 1314: 8c 91 ld r24, X + 1316: 16 97 sbiw r26, 0x06 ; 6 + 1318: 84 60 ori r24, 0x04 ; 4 + 131a: 16 96 adiw r26, 0x06 ; 6 + 131c: 8c 93 st X, r24 + OSC.DFLLCTRL &= ~(OSC_RC32MCREF_bm); +# endif + } +#endif + + DFLLRC32M.CTRL |= DFLL_ENABLE_bm; + 131e: 80 81 ld r24, Z + 1320: 81 60 ori r24, 0x01 ; 1 + 1322: 80 83 st Z, r24 +} + +static inline void cpu_irq_restore(irqflags_t flags) +{ + barrier(); + SREG = flags; + 1324: 9f bf out 0x3f, r25 ; 63 } osc_enable_autocalibration(OSC_ID_RC32MHZ, CONFIG_OSC_AUTOCAL_RC32MHZ_REF_OSC); #endif } ccp_write_io((uint8_t *)&CLK.USBCTRL, (prescaler) - 1310: 63 60 ori r22, 0x03 ; 3 - 1312: 84 e4 ldi r24, 0x44 ; 68 - 1314: 90 e0 ldi r25, 0x00 ; 0 - 1316: 2e d5 rcall .+2652 ; 0x1d74 + 1326: 63 60 ori r22, 0x03 ; 3 + 1328: 84 e4 ldi r24, 0x44 ; 68 + 132a: 90 e0 ldi r25, 0x00 ; 0 + 132c: 2e d5 rcall .+2652 ; 0x1d8a default: Assert(false); break; } sysclk_enable_module(SYSCLK_PORT_GEN, SYSCLK_USB); - 1318: 60 e4 ldi r22, 0x40 ; 64 - 131a: 80 e0 ldi r24, 0x00 ; 0 - 131c: be cf rjmp .-132 ; 0x129a - 131e: 08 95 ret + 132e: 60 e4 ldi r22, 0x40 ; 64 + 1330: 80 e0 ldi r24, 0x00 ; 0 + 1332: be cf rjmp .-132 ; 0x12b0 + 1334: 08 95 ret -00001320 : +00001336 : } uint8_t udi_vendor_getsetting(void) { return udi_vendor_alternate_setting; } - 1320: 80 91 b7 20 lds r24, 0x20B7 ; 0x8020b7 - 1324: 08 95 ret + 1336: 80 91 b7 20 lds r24, 0x20B7 ; 0x8020b7 + 133a: 08 95 ret -00001326 : +0000133c : * \name Internal routines */ //@{ bool udi_vendor_enable(void) { udi_vendor_alternate_setting = udc_get_interface_desc()->bAlternateSetting; - 1326: 40 d1 rcall .+640 ; 0x15a8 - 1328: fc 01 movw r30, r24 - 132a: 83 81 ldd r24, Z+3 ; 0x03 - 132c: 80 93 b7 20 sts 0x20B7, r24 ; 0x8020b7 + 133c: 40 d1 rcall .+640 ; 0x15be + 133e: fc 01 movw r30, r24 + 1340: 83 81 ldd r24, Z+3 ; 0x03 + 1342: 80 93 b7 20 sts 0x20B7, r24 ; 0x8020b7 if (0 == udi_vendor_alternate_setting) { - 1330: 81 11 cpse r24, r1 - 1332: 02 c0 rjmp .+4 ; 0x1338 + 1346: 81 11 cpse r24, r1 + 1348: 02 c0 rjmp .+4 ; 0x134e // Call application callback // to notify that interface is enabled if (!UDI_VENDOR_ENABLE_EXT()) { - 1334: 48 c8 rjmp .-3952 ; 0x3c6 - 1336: 08 95 ret + 134a: 3d c8 rjmp .-3974 ; 0x3c6 + 134c: 08 95 ret return false; } } return true; - 1338: 81 e0 ldi r24, 0x01 ; 1 + 134e: 81 e0 ldi r24, 0x01 ; 1 } - 133a: 08 95 ret + 1350: 08 95 ret -0000133c : +00001352 : void udi_vendor_disable(void) { if (1 == udi_vendor_alternate_setting) { - 133c: 80 91 b7 20 lds r24, 0x20B7 ; 0x8020b7 - 1340: 81 30 cpi r24, 0x01 ; 1 - 1342: 09 f4 brne .+2 ; 0x1346 + 1352: 80 91 b7 20 lds r24, 0x20B7 ; 0x8020b7 + 1356: 81 30 cpi r24, 0x01 ; 1 + 1358: 09 f4 brne .+2 ; 0x135c UDI_VENDOR_DISABLE_EXT(); - 1344: 5a c8 rjmp .-3916 ; 0x3fa - 1346: 08 95 ret + 135a: 4f c8 rjmp .-3938 ; 0x3fa + 135c: 08 95 ret -00001348 : +0000135e : } bool udi_vendor_setup(void) { if (Udd_setup_is_in()) { - 1348: 80 91 5a 24 lds r24, 0x245A ; 0x80245a - 134c: 88 23 and r24, r24 - 134e: 4c f4 brge .+18 ; 0x1362 + 135e: 80 91 5a 24 lds r24, 0x245A ; 0x80245a + 1362: 88 23 and r24, r24 + 1364: 4c f4 brge .+18 ; 0x1378 if ((Udd_setup_type() == USB_REQ_TYPE_VENDOR) - 1350: 80 76 andi r24, 0x60 ; 96 - 1352: 80 34 cpi r24, 0x40 ; 64 - 1354: a9 f4 brne .+42 ; 0x1380 + 1366: 80 76 andi r24, 0x60 ; 96 + 1368: 80 34 cpi r24, 0x40 ; 64 + 136a: a9 f4 brne .+42 ; 0x1396 && (udd_g_ctrlreq.req.bRequest == 0)) { - 1356: 80 91 5b 24 lds r24, 0x245B ; 0x80245b - 135a: 81 11 cpse r24, r1 - 135c: 13 c0 rjmp .+38 ; 0x1384 + 136c: 80 91 5b 24 lds r24, 0x245B ; 0x80245b + 1370: 81 11 cpse r24, r1 + 1372: 13 c0 rjmp .+38 ; 0x139a return UDI_VENDOR_SETUP_IN_RECEIVED(); - 135e: 52 c8 rjmp .-3932 ; 0x404 - 1360: 08 95 ret + 1374: 47 c8 rjmp .-3954 ; 0x404 + 1376: 08 95 ret } } if (Udd_setup_is_out()) { if ((Udd_setup_type() == USB_REQ_TYPE_VENDOR) - 1362: 80 76 andi r24, 0x60 ; 96 - 1364: 80 34 cpi r24, 0x40 ; 64 - 1366: 81 f4 brne .+32 ; 0x1388 + 1378: 80 76 andi r24, 0x60 ; 96 + 137a: 80 34 cpi r24, 0x40 ; 64 + 137c: 81 f4 brne .+32 ; 0x139e && (udd_g_ctrlreq.req.bRequest == 0) - 1368: 80 91 5b 24 lds r24, 0x245B ; 0x80245b - 136c: 81 11 cpse r24, r1 - 136e: 0e c0 rjmp .+28 ; 0x138c + 137e: 80 91 5b 24 lds r24, 0x245B ; 0x80245b + 1382: 81 11 cpse r24, r1 + 1384: 0e c0 rjmp .+28 ; 0x13a2 && (0 != udd_g_ctrlreq.req.wLength)) { - 1370: 80 91 60 24 lds r24, 0x2460 ; 0x802460 - 1374: 90 91 61 24 lds r25, 0x2461 ; 0x802461 - 1378: 89 2b or r24, r25 - 137a: 51 f0 breq .+20 ; 0x1390 + 1386: 80 91 60 24 lds r24, 0x2460 ; 0x802460 + 138a: 90 91 61 24 lds r25, 0x2461 ; 0x802461 + 138e: 89 2b or r24, r25 + 1390: 51 f0 breq .+20 ; 0x13a6 return UDI_VENDOR_SETUP_OUT_RECEIVED(); - 137c: 41 c8 rjmp .-3966 ; 0x400 - 137e: 08 95 ret + 1392: 36 c8 rjmp .-3988 ; 0x400 + 1394: 08 95 ret } } return false; // Not supported request - 1380: 80 e0 ldi r24, 0x00 ; 0 - 1382: 08 95 ret - 1384: 80 e0 ldi r24, 0x00 ; 0 - 1386: 08 95 ret - 1388: 80 e0 ldi r24, 0x00 ; 0 - 138a: 08 95 ret - 138c: 80 e0 ldi r24, 0x00 ; 0 - 138e: 08 95 ret - 1390: 80 e0 ldi r24, 0x00 ; 0 + 1396: 80 e0 ldi r24, 0x00 ; 0 + 1398: 08 95 ret + 139a: 80 e0 ldi r24, 0x00 ; 0 + 139c: 08 95 ret + 139e: 80 e0 ldi r24, 0x00 ; 0 + 13a0: 08 95 ret + 13a2: 80 e0 ldi r24, 0x00 ; 0 + 13a4: 08 95 ret + 13a6: 80 e0 ldi r24, 0x00 ; 0 } - 1392: 08 95 ret + 13a8: 08 95 ret -00001394 : +000013aa : * * \return \c 1 if function was successfully done, otherwise \c 0. */ bool udi_vendor_iso_in_run(uint8_t * buf, iram_size_t buf_size, udd_callback_trans_t callback) { - 1394: 0f 93 push r16 - 1396: 1f 93 push r17 - 1398: 9b 01 movw r18, r22 + 13aa: 0f 93 push r16 + 13ac: 1f 93 push r17 + 13ae: 9b 01 movw r18, r22 return udd_ep_run(UDI_VENDOR_EP_ISO_IN, - 139a: 8a 01 movw r16, r20 - 139c: ac 01 movw r20, r24 - 139e: 60 e0 ldi r22, 0x00 ; 0 - 13a0: 81 e8 ldi r24, 0x81 ; 129 - 13a2: 0e 94 2e 13 call 0x265c ; 0x265c + 13b0: 8a 01 movw r16, r20 + 13b2: ac 01 movw r20, r24 + 13b4: 60 e0 ldi r22, 0x00 ; 0 + 13b6: 81 e8 ldi r24, 0x81 ; 129 + 13b8: 0e 94 39 13 call 0x2672 ; 0x2672 false, buf, buf_size, callback); } - 13a6: 1f 91 pop r17 - 13a8: 0f 91 pop r16 - 13aa: 08 95 ret + 13bc: 1f 91 pop r17 + 13be: 0f 91 pop r16 + 13c0: 08 95 ret -000013ac : +000013c2 : bool udi_vendor_iso_in_run2(uint8_t * buf, iram_size_t buf_size, udd_callback_trans_t callback) { - 13ac: 0f 93 push r16 - 13ae: 1f 93 push r17 - 13b0: 9b 01 movw r18, r22 + 13c2: 0f 93 push r16 + 13c4: 1f 93 push r17 + 13c6: 9b 01 movw r18, r22 return udd_ep_run(UDI_VENDOR_EP_ISO_IN + 1, - 13b2: 8a 01 movw r16, r20 - 13b4: ac 01 movw r20, r24 - 13b6: 60 e0 ldi r22, 0x00 ; 0 - 13b8: 82 e8 ldi r24, 0x82 ; 130 - 13ba: 0e 94 2e 13 call 0x265c ; 0x265c + 13c8: 8a 01 movw r16, r20 + 13ca: ac 01 movw r20, r24 + 13cc: 60 e0 ldi r22, 0x00 ; 0 + 13ce: 82 e8 ldi r24, 0x82 ; 130 + 13d0: 0e 94 39 13 call 0x2672 ; 0x2672 false, buf, buf_size, callback); } - 13be: 1f 91 pop r17 - 13c0: 0f 91 pop r16 - 13c2: 08 95 ret + 13d4: 1f 91 pop r17 + 13d6: 0f 91 pop r16 + 13d8: 08 95 ret -000013c4 : +000013da : bool udi_vendor_iso_in_run3(uint8_t * buf, iram_size_t buf_size, udd_callback_trans_t callback) { - 13c4: 0f 93 push r16 - 13c6: 1f 93 push r17 - 13c8: 9b 01 movw r18, r22 + 13da: 0f 93 push r16 + 13dc: 1f 93 push r17 + 13de: 9b 01 movw r18, r22 return udd_ep_run(UDI_VENDOR_EP_ISO_IN + 2, - 13ca: 8a 01 movw r16, r20 - 13cc: ac 01 movw r20, r24 - 13ce: 60 e0 ldi r22, 0x00 ; 0 - 13d0: 83 e8 ldi r24, 0x83 ; 131 - 13d2: 0e 94 2e 13 call 0x265c ; 0x265c + 13e0: 8a 01 movw r16, r20 + 13e2: ac 01 movw r20, r24 + 13e4: 60 e0 ldi r22, 0x00 ; 0 + 13e6: 83 e8 ldi r24, 0x83 ; 131 + 13e8: 0e 94 39 13 call 0x2672 ; 0x2672 false, buf, buf_size, callback); } - 13d6: 1f 91 pop r17 - 13d8: 0f 91 pop r16 - 13da: 08 95 ret + 13ec: 1f 91 pop r17 + 13ee: 0f 91 pop r16 + 13f0: 08 95 ret -000013dc : +000013f2 : /*! \brief Stop the USB Device stack */ void udc_stop(void) { udd_disable(); udc_reset(); - 13dc: e0 91 bc 20 lds r30, 0x20BC ; 0x8020bc - 13e0: f0 91 bd 20 lds r31, 0x20BD ; 0x8020bd - 13e4: 01 90 ld r0, Z+ - 13e6: f0 81 ld r31, Z - 13e8: e0 2d mov r30, r0 - 13ea: 22 81 ldd r18, Z+2 ; 0x02 - 13ec: 33 81 ldd r19, Z+3 ; 0x03 - 13ee: 2e 0f add r18, r30 - 13f0: 3f 1f adc r19, r31 - 13f2: fc 01 movw r30, r24 - 13f4: 40 81 ld r20, Z - 13f6: e4 0f add r30, r20 - 13f8: f1 1d adc r31, r1 - 13fa: e2 17 cp r30, r18 - 13fc: f3 07 cpc r31, r19 - 13fe: b8 f4 brcc .+46 ; 0x142e - 1400: 81 81 ldd r24, Z+1 ; 0x01 - 1402: 84 30 cpi r24, 0x04 ; 4 - 1404: b9 f0 breq .+46 ; 0x1434 - 1406: 86 13 cpse r24, r22 - 1408: 09 c0 rjmp .+18 ; 0x141c - 140a: 05 c0 rjmp .+10 ; 0x1416 - 140c: 81 81 ldd r24, Z+1 ; 0x01 - 140e: 84 30 cpi r24, 0x04 ; 4 - 1410: a1 f0 breq .+40 ; 0x143a - 1412: 86 13 cpse r24, r22 - 1414: 03 c0 rjmp .+6 ; 0x141c - 1416: 8e 2f mov r24, r30 - 1418: 9f 2f mov r25, r31 - 141a: 08 95 ret - 141c: 80 81 ld r24, Z - 141e: e8 0f add r30, r24 - 1420: f1 1d adc r31, r1 - 1422: e2 17 cp r30, r18 - 1424: f3 07 cpc r31, r19 - 1426: 90 f3 brcs .-28 ; 0x140c - 1428: 80 e0 ldi r24, 0x00 ; 0 - 142a: 90 e0 ldi r25, 0x00 ; 0 - 142c: 08 95 ret - 142e: 80 e0 ldi r24, 0x00 ; 0 - 1430: 90 e0 ldi r25, 0x00 ; 0 - 1432: 08 95 ret - 1434: 80 e0 ldi r24, 0x00 ; 0 - 1436: 90 e0 ldi r25, 0x00 ; 0 - 1438: 08 95 ret - 143a: 80 e0 ldi r24, 0x00 ; 0 - 143c: 90 e0 ldi r25, 0x00 ; 0 - 143e: 08 95 ret + 13f2: e0 91 bc 20 lds r30, 0x20BC ; 0x8020bc + 13f6: f0 91 bd 20 lds r31, 0x20BD ; 0x8020bd + 13fa: 01 90 ld r0, Z+ + 13fc: f0 81 ld r31, Z + 13fe: e0 2d mov r30, r0 + 1400: 22 81 ldd r18, Z+2 ; 0x02 + 1402: 33 81 ldd r19, Z+3 ; 0x03 + 1404: 2e 0f add r18, r30 + 1406: 3f 1f adc r19, r31 + 1408: fc 01 movw r30, r24 + 140a: 40 81 ld r20, Z + 140c: e4 0f add r30, r20 + 140e: f1 1d adc r31, r1 + 1410: e2 17 cp r30, r18 + 1412: f3 07 cpc r31, r19 + 1414: b8 f4 brcc .+46 ; 0x1444 + 1416: 81 81 ldd r24, Z+1 ; 0x01 + 1418: 84 30 cpi r24, 0x04 ; 4 + 141a: b9 f0 breq .+46 ; 0x144a + 141c: 86 13 cpse r24, r22 + 141e: 09 c0 rjmp .+18 ; 0x1432 + 1420: 05 c0 rjmp .+10 ; 0x142c + 1422: 81 81 ldd r24, Z+1 ; 0x01 + 1424: 84 30 cpi r24, 0x04 ; 4 + 1426: a1 f0 breq .+40 ; 0x1450 + 1428: 86 13 cpse r24, r22 + 142a: 03 c0 rjmp .+6 ; 0x1432 + 142c: 8e 2f mov r24, r30 + 142e: 9f 2f mov r25, r31 + 1430: 08 95 ret + 1432: 80 81 ld r24, Z + 1434: e8 0f add r30, r24 + 1436: f1 1d adc r31, r1 + 1438: e2 17 cp r30, r18 + 143a: f3 07 cpc r31, r19 + 143c: 90 f3 brcs .-28 ; 0x1422 + 143e: 80 e0 ldi r24, 0x00 ; 0 + 1440: 90 e0 ldi r25, 0x00 ; 0 + 1442: 08 95 ret + 1444: 80 e0 ldi r24, 0x00 ; 0 + 1446: 90 e0 ldi r25, 0x00 ; 0 + 1448: 08 95 ret + 144a: 80 e0 ldi r24, 0x00 ; 0 + 144c: 90 e0 ldi r25, 0x00 ; 0 + 144e: 08 95 ret + 1450: 80 e0 ldi r24, 0x00 ; 0 + 1452: 90 e0 ldi r25, 0x00 ; 0 + 1454: 08 95 ret -00001440 : - 1440: 80 91 5c 24 lds r24, 0x245C ; 0x80245c - 1444: 8f 77 andi r24, 0x7F ; 127 - 1446: 0c 94 5c 12 jmp 0x24b8 ; 0x24b8 - 144a: 08 95 ret +00001456 : + 1456: 80 91 5c 24 lds r24, 0x245C ; 0x80245c + 145a: 8f 77 andi r24, 0x7F ; 127 + 145c: 0c 94 67 12 jmp 0x24ce ; 0x24ce + 1460: 08 95 ret -0000144c : - 144c: 90 91 be 20 lds r25, 0x20BE ; 0x8020be - 1450: 99 23 and r25, r25 - 1452: 81 f1 breq .+96 ; 0x14b4 - 1454: e0 91 bc 20 lds r30, 0x20BC ; 0x8020bc - 1458: f0 91 bd 20 lds r31, 0x20BD ; 0x8020bd - 145c: 01 90 ld r0, Z+ - 145e: f0 81 ld r31, Z - 1460: e0 2d mov r30, r0 - 1462: 94 81 ldd r25, Z+4 ; 0x04 - 1464: 89 17 cp r24, r25 - 1466: 40 f5 brcc .+80 ; 0x14b8 - 1468: e0 93 ba 20 sts 0x20BA, r30 ; 0x8020ba - 146c: f0 93 bb 20 sts 0x20BB, r31 ; 0x8020bb - 1470: 22 81 ldd r18, Z+2 ; 0x02 - 1472: 33 81 ldd r19, Z+3 ; 0x03 - 1474: 2e 0f add r18, r30 - 1476: 3f 1f adc r19, r31 - 1478: e2 17 cp r30, r18 - 147a: f3 07 cpc r31, r19 - 147c: f8 f4 brcc .+62 ; 0x14bc - 147e: 91 81 ldd r25, Z+1 ; 0x01 - 1480: 94 30 cpi r25, 0x04 ; 4 - 1482: 61 f4 brne .+24 ; 0x149c - 1484: 92 81 ldd r25, Z+2 ; 0x02 - 1486: 98 13 cpse r25, r24 - 1488: 09 c0 rjmp .+18 ; 0x149c - 148a: 93 81 ldd r25, Z+3 ; 0x03 - 148c: 96 13 cpse r25, r22 - 148e: 06 c0 rjmp .+12 ; 0x149c - 1490: e0 93 ba 20 sts 0x20BA, r30 ; 0x8020ba - 1494: f0 93 bb 20 sts 0x20BB, r31 ; 0x8020bb - 1498: 81 e0 ldi r24, 0x01 ; 1 - 149a: 08 95 ret - 149c: 90 81 ld r25, Z - 149e: e9 0f add r30, r25 - 14a0: f1 1d adc r31, r1 - 14a2: e2 17 cp r30, r18 - 14a4: f3 07 cpc r31, r19 - 14a6: 58 f3 brcs .-42 ; 0x147e - 14a8: e0 93 ba 20 sts 0x20BA, r30 ; 0x8020ba - 14ac: f0 93 bb 20 sts 0x20BB, r31 ; 0x8020bb - 14b0: 80 e0 ldi r24, 0x00 ; 0 - 14b2: 08 95 ret - 14b4: 80 e0 ldi r24, 0x00 ; 0 - 14b6: 08 95 ret - 14b8: 80 e0 ldi r24, 0x00 ; 0 - 14ba: 08 95 ret - 14bc: 80 e0 ldi r24, 0x00 ; 0 - 14be: 08 95 ret +00001462 : + 1462: 90 91 be 20 lds r25, 0x20BE ; 0x8020be + 1466: 99 23 and r25, r25 + 1468: 81 f1 breq .+96 ; 0x14ca + 146a: e0 91 bc 20 lds r30, 0x20BC ; 0x8020bc + 146e: f0 91 bd 20 lds r31, 0x20BD ; 0x8020bd + 1472: 01 90 ld r0, Z+ + 1474: f0 81 ld r31, Z + 1476: e0 2d mov r30, r0 + 1478: 94 81 ldd r25, Z+4 ; 0x04 + 147a: 89 17 cp r24, r25 + 147c: 40 f5 brcc .+80 ; 0x14ce + 147e: e0 93 ba 20 sts 0x20BA, r30 ; 0x8020ba + 1482: f0 93 bb 20 sts 0x20BB, r31 ; 0x8020bb + 1486: 22 81 ldd r18, Z+2 ; 0x02 + 1488: 33 81 ldd r19, Z+3 ; 0x03 + 148a: 2e 0f add r18, r30 + 148c: 3f 1f adc r19, r31 + 148e: e2 17 cp r30, r18 + 1490: f3 07 cpc r31, r19 + 1492: f8 f4 brcc .+62 ; 0x14d2 + 1494: 91 81 ldd r25, Z+1 ; 0x01 + 1496: 94 30 cpi r25, 0x04 ; 4 + 1498: 61 f4 brne .+24 ; 0x14b2 + 149a: 92 81 ldd r25, Z+2 ; 0x02 + 149c: 98 13 cpse r25, r24 + 149e: 09 c0 rjmp .+18 ; 0x14b2 + 14a0: 93 81 ldd r25, Z+3 ; 0x03 + 14a2: 96 13 cpse r25, r22 + 14a4: 06 c0 rjmp .+12 ; 0x14b2 + 14a6: e0 93 ba 20 sts 0x20BA, r30 ; 0x8020ba + 14aa: f0 93 bb 20 sts 0x20BB, r31 ; 0x8020bb + 14ae: 81 e0 ldi r24, 0x01 ; 1 + 14b0: 08 95 ret + 14b2: 90 81 ld r25, Z + 14b4: e9 0f add r30, r25 + 14b6: f1 1d adc r31, r1 + 14b8: e2 17 cp r30, r18 + 14ba: f3 07 cpc r31, r19 + 14bc: 58 f3 brcs .-42 ; 0x1494 + 14be: e0 93 ba 20 sts 0x20BA, r30 ; 0x8020ba + 14c2: f0 93 bb 20 sts 0x20BB, r31 ; 0x8020bb + 14c6: 80 e0 ldi r24, 0x00 ; 0 + 14c8: 08 95 ret + 14ca: 80 e0 ldi r24, 0x00 ; 0 + 14cc: 08 95 ret + 14ce: 80 e0 ldi r24, 0x00 ; 0 + 14d0: 08 95 ret + 14d2: 80 e0 ldi r24, 0x00 ; 0 + 14d4: 08 95 ret -000014c0 : - 14c0: ef 92 push r14 - 14c2: ff 92 push r15 - 14c4: 1f 93 push r17 - 14c6: cf 93 push r28 - 14c8: df 93 push r29 - 14ca: c8 2f mov r28, r24 - 14cc: 60 e0 ldi r22, 0x00 ; 0 - 14ce: be df rcall .-132 ; 0x144c - 14d0: 18 2f mov r17, r24 - 14d2: 88 23 and r24, r24 - 14d4: 81 f1 breq .+96 ; 0x1536 - 14d6: a0 91 bc 20 lds r26, 0x20BC ; 0x8020bc - 14da: b0 91 bd 20 lds r27, 0x20BD ; 0x8020bd - 14de: ec 2f mov r30, r28 - 14e0: f0 e0 ldi r31, 0x00 ; 0 - 14e2: ee 0f add r30, r30 - 14e4: ff 1f adc r31, r31 - 14e6: 12 96 adiw r26, 0x02 ; 2 - 14e8: 8d 91 ld r24, X+ - 14ea: 9c 91 ld r25, X - 14ec: 13 97 sbiw r26, 0x03 ; 3 - 14ee: e8 0f add r30, r24 - 14f0: f9 1f adc r31, r25 - 14f2: e0 80 ld r14, Z - 14f4: f1 80 ldd r15, Z+1 ; 0x01 - 14f6: d7 01 movw r26, r14 - 14f8: 16 96 adiw r26, 0x06 ; 6 - 14fa: ed 91 ld r30, X+ - 14fc: fc 91 ld r31, X - 14fe: 17 97 sbiw r26, 0x07 ; 7 - 1500: 09 95 icall - 1502: 68 2f mov r22, r24 - 1504: 8c 2f mov r24, r28 - 1506: a2 df rcall .-188 ; 0x144c - 1508: 18 2f mov r17, r24 - 150a: 88 23 and r24, r24 - 150c: a1 f0 breq .+40 ; 0x1536 - 150e: c0 91 ba 20 lds r28, 0x20BA ; 0x8020ba - 1512: d0 91 bb 20 lds r29, 0x20BB ; 0x8020bb - 1516: 65 e0 ldi r22, 0x05 ; 5 - 1518: ce 01 movw r24, r28 - 151a: 60 df rcall .-320 ; 0x13dc - 151c: ec 01 movw r28, r24 - 151e: 89 2b or r24, r25 - 1520: 21 f0 breq .+8 ; 0x152a - 1522: 8a 81 ldd r24, Y+2 ; 0x02 - 1524: 0e 94 31 14 call 0x2862 ; 0x2862 - 1528: f6 cf rjmp .-20 ; 0x1516 - 152a: d7 01 movw r26, r14 - 152c: 12 96 adiw r26, 0x02 ; 2 - 152e: ed 91 ld r30, X+ - 1530: fc 91 ld r31, X - 1532: 13 97 sbiw r26, 0x03 ; 3 - 1534: 09 95 icall - 1536: 81 2f mov r24, r17 - 1538: df 91 pop r29 - 153a: cf 91 pop r28 - 153c: 1f 91 pop r17 - 153e: ff 90 pop r15 - 1540: ef 90 pop r14 - 1542: 08 95 ret +000014d6 : + 14d6: ef 92 push r14 + 14d8: ff 92 push r15 + 14da: 1f 93 push r17 + 14dc: cf 93 push r28 + 14de: df 93 push r29 + 14e0: c8 2f mov r28, r24 + 14e2: 60 e0 ldi r22, 0x00 ; 0 + 14e4: be df rcall .-132 ; 0x1462 + 14e6: 18 2f mov r17, r24 + 14e8: 88 23 and r24, r24 + 14ea: 81 f1 breq .+96 ; 0x154c + 14ec: a0 91 bc 20 lds r26, 0x20BC ; 0x8020bc + 14f0: b0 91 bd 20 lds r27, 0x20BD ; 0x8020bd + 14f4: ec 2f mov r30, r28 + 14f6: f0 e0 ldi r31, 0x00 ; 0 + 14f8: ee 0f add r30, r30 + 14fa: ff 1f adc r31, r31 + 14fc: 12 96 adiw r26, 0x02 ; 2 + 14fe: 8d 91 ld r24, X+ + 1500: 9c 91 ld r25, X + 1502: 13 97 sbiw r26, 0x03 ; 3 + 1504: e8 0f add r30, r24 + 1506: f9 1f adc r31, r25 + 1508: e0 80 ld r14, Z + 150a: f1 80 ldd r15, Z+1 ; 0x01 + 150c: d7 01 movw r26, r14 + 150e: 16 96 adiw r26, 0x06 ; 6 + 1510: ed 91 ld r30, X+ + 1512: fc 91 ld r31, X + 1514: 17 97 sbiw r26, 0x07 ; 7 + 1516: 09 95 icall + 1518: 68 2f mov r22, r24 + 151a: 8c 2f mov r24, r28 + 151c: a2 df rcall .-188 ; 0x1462 + 151e: 18 2f mov r17, r24 + 1520: 88 23 and r24, r24 + 1522: a1 f0 breq .+40 ; 0x154c + 1524: c0 91 ba 20 lds r28, 0x20BA ; 0x8020ba + 1528: d0 91 bb 20 lds r29, 0x20BB ; 0x8020bb + 152c: 65 e0 ldi r22, 0x05 ; 5 + 152e: ce 01 movw r24, r28 + 1530: 60 df rcall .-320 ; 0x13f2 + 1532: ec 01 movw r28, r24 + 1534: 89 2b or r24, r25 + 1536: 21 f0 breq .+8 ; 0x1540 + 1538: 8a 81 ldd r24, Y+2 ; 0x02 + 153a: 0e 94 3c 14 call 0x2878 ; 0x2878 + 153e: f6 cf rjmp .-20 ; 0x152c + 1540: d7 01 movw r26, r14 + 1542: 12 96 adiw r26, 0x02 ; 2 + 1544: ed 91 ld r30, X+ + 1546: fc 91 ld r31, X + 1548: 13 97 sbiw r26, 0x03 ; 3 + 154a: 09 95 icall + 154c: 81 2f mov r24, r17 + 154e: df 91 pop r29 + 1550: cf 91 pop r28 + 1552: 1f 91 pop r17 + 1554: ff 90 pop r15 + 1556: ef 90 pop r14 + 1558: 08 95 ret -00001544 : - 1544: 1f 93 push r17 - 1546: cf 93 push r28 - 1548: df 93 push r29 - 154a: 18 2f mov r17, r24 - 154c: 7f df rcall .-258 ; 0x144c - 154e: 88 23 and r24, r24 - 1550: 39 f1 breq .+78 ; 0x15a0 - 1552: c0 91 ba 20 lds r28, 0x20BA ; 0x8020ba - 1556: d0 91 bb 20 lds r29, 0x20BB ; 0x8020bb - 155a: 65 e0 ldi r22, 0x05 ; 5 - 155c: ce 01 movw r24, r28 - 155e: 3e df rcall .-388 ; 0x13dc - 1560: ec 01 movw r28, r24 - 1562: 89 2b or r24, r25 - 1564: 41 f0 breq .+16 ; 0x1576 - 1566: 4c 81 ldd r20, Y+4 ; 0x04 - 1568: 5d 81 ldd r21, Y+5 ; 0x05 - 156a: 6b 81 ldd r22, Y+3 ; 0x03 - 156c: 8a 81 ldd r24, Y+2 ; 0x02 - 156e: b1 d7 rcall .+3938 ; 0x24d2 - 1570: 81 11 cpse r24, r1 - 1572: f3 cf rjmp .-26 ; 0x155a - 1574: 15 c0 rjmp .+42 ; 0x15a0 - 1576: a0 91 bc 20 lds r26, 0x20BC ; 0x8020bc - 157a: b0 91 bd 20 lds r27, 0x20BD ; 0x8020bd - 157e: e1 2f mov r30, r17 - 1580: f0 e0 ldi r31, 0x00 ; 0 - 1582: ee 0f add r30, r30 - 1584: ff 1f adc r31, r31 - 1586: 12 96 adiw r26, 0x02 ; 2 - 1588: 8d 91 ld r24, X+ - 158a: 9c 91 ld r25, X - 158c: 13 97 sbiw r26, 0x03 ; 3 - 158e: e8 0f add r30, r24 - 1590: f9 1f adc r31, r25 - 1592: 01 90 ld r0, Z+ - 1594: f0 81 ld r31, Z - 1596: e0 2d mov r30, r0 - 1598: 01 90 ld r0, Z+ - 159a: f0 81 ld r31, Z - 159c: e0 2d mov r30, r0 - 159e: 09 95 icall - 15a0: df 91 pop r29 - 15a2: cf 91 pop r28 - 15a4: 1f 91 pop r17 - 15a6: 08 95 ret +0000155a : + 155a: 1f 93 push r17 + 155c: cf 93 push r28 + 155e: df 93 push r29 + 1560: 18 2f mov r17, r24 + 1562: 7f df rcall .-258 ; 0x1462 + 1564: 88 23 and r24, r24 + 1566: 39 f1 breq .+78 ; 0x15b6 + 1568: c0 91 ba 20 lds r28, 0x20BA ; 0x8020ba + 156c: d0 91 bb 20 lds r29, 0x20BB ; 0x8020bb + 1570: 65 e0 ldi r22, 0x05 ; 5 + 1572: ce 01 movw r24, r28 + 1574: 3e df rcall .-388 ; 0x13f2 + 1576: ec 01 movw r28, r24 + 1578: 89 2b or r24, r25 + 157a: 41 f0 breq .+16 ; 0x158c + 157c: 4c 81 ldd r20, Y+4 ; 0x04 + 157e: 5d 81 ldd r21, Y+5 ; 0x05 + 1580: 6b 81 ldd r22, Y+3 ; 0x03 + 1582: 8a 81 ldd r24, Y+2 ; 0x02 + 1584: b1 d7 rcall .+3938 ; 0x24e8 + 1586: 81 11 cpse r24, r1 + 1588: f3 cf rjmp .-26 ; 0x1570 + 158a: 15 c0 rjmp .+42 ; 0x15b6 + 158c: a0 91 bc 20 lds r26, 0x20BC ; 0x8020bc + 1590: b0 91 bd 20 lds r27, 0x20BD ; 0x8020bd + 1594: e1 2f mov r30, r17 + 1596: f0 e0 ldi r31, 0x00 ; 0 + 1598: ee 0f add r30, r30 + 159a: ff 1f adc r31, r31 + 159c: 12 96 adiw r26, 0x02 ; 2 + 159e: 8d 91 ld r24, X+ + 15a0: 9c 91 ld r25, X + 15a2: 13 97 sbiw r26, 0x03 ; 3 + 15a4: e8 0f add r30, r24 + 15a6: f9 1f adc r31, r25 + 15a8: 01 90 ld r0, Z+ + 15aa: f0 81 ld r31, Z + 15ac: e0 2d mov r30, r0 + 15ae: 01 90 ld r0, Z+ + 15b0: f0 81 ld r31, Z + 15b2: e0 2d mov r30, r0 + 15b4: 09 95 icall + 15b6: df 91 pop r29 + 15b8: cf 91 pop r28 + 15ba: 1f 91 pop r17 + 15bc: 08 95 ret -000015a8 : - 15a8: 80 91 ba 20 lds r24, 0x20BA ; 0x8020ba - 15ac: 90 91 bb 20 lds r25, 0x20BB ; 0x8020bb - 15b0: 08 95 ret +000015be : + 15be: 80 91 ba 20 lds r24, 0x20BA ; 0x8020ba + 15c2: 90 91 bb 20 lds r25, 0x20BB ; 0x8020bb + 15c6: 08 95 ret -000015b2 : - 15b2: fd c6 rjmp .+3578 ; 0x23ae - 15b4: 08 95 ret +000015c8 : + 15c8: fd c6 rjmp .+3578 ; 0x23c4 + 15ca: 08 95 ret -000015b6 : - 15b6: cf 93 push r28 - 15b8: 80 91 be 20 lds r24, 0x20BE ; 0x8020be - 15bc: 88 23 and r24, r24 - 15be: c1 f0 breq .+48 ; 0x15f0 - 15c0: e0 91 bc 20 lds r30, 0x20BC ; 0x8020bc - 15c4: f0 91 bd 20 lds r31, 0x20BD ; 0x8020bd - 15c8: 01 90 ld r0, Z+ - 15ca: f0 81 ld r31, Z - 15cc: e0 2d mov r30, r0 - 15ce: 84 81 ldd r24, Z+4 ; 0x04 - 15d0: 88 23 and r24, r24 - 15d2: 71 f0 breq .+28 ; 0x15f0 - 15d4: c0 e0 ldi r28, 0x00 ; 0 - 15d6: 8c 2f mov r24, r28 - 15d8: 73 df rcall .-282 ; 0x14c0 - 15da: cf 5f subi r28, 0xFF ; 255 - 15dc: e0 91 bc 20 lds r30, 0x20BC ; 0x8020bc - 15e0: f0 91 bd 20 lds r31, 0x20BD ; 0x8020bd - 15e4: 01 90 ld r0, Z+ - 15e6: f0 81 ld r31, Z - 15e8: e0 2d mov r30, r0 - 15ea: 84 81 ldd r24, Z+4 ; 0x04 - 15ec: c8 17 cp r28, r24 - 15ee: 98 f3 brcs .-26 ; 0x15d6 - 15f0: 10 92 be 20 sts 0x20BE, r1 ; 0x8020be - 15f4: 10 92 c2 20 sts 0x20C2, r1 ; 0x8020c2 - 15f8: 10 92 c3 20 sts 0x20C3, r1 ; 0x8020c3 - 15fc: cf 91 pop r28 - 15fe: 08 95 ret +000015cc : + 15cc: cf 93 push r28 + 15ce: 80 91 be 20 lds r24, 0x20BE ; 0x8020be + 15d2: 88 23 and r24, r24 + 15d4: c1 f0 breq .+48 ; 0x1606 + 15d6: e0 91 bc 20 lds r30, 0x20BC ; 0x8020bc + 15da: f0 91 bd 20 lds r31, 0x20BD ; 0x8020bd + 15de: 01 90 ld r0, Z+ + 15e0: f0 81 ld r31, Z + 15e2: e0 2d mov r30, r0 + 15e4: 84 81 ldd r24, Z+4 ; 0x04 + 15e6: 88 23 and r24, r24 + 15e8: 71 f0 breq .+28 ; 0x1606 + 15ea: c0 e0 ldi r28, 0x00 ; 0 + 15ec: 8c 2f mov r24, r28 + 15ee: 73 df rcall .-282 ; 0x14d6 + 15f0: cf 5f subi r28, 0xFF ; 255 + 15f2: e0 91 bc 20 lds r30, 0x20BC ; 0x8020bc + 15f6: f0 91 bd 20 lds r31, 0x20BD ; 0x8020bd + 15fa: 01 90 ld r0, Z+ + 15fc: f0 81 ld r31, Z + 15fe: e0 2d mov r30, r0 + 1600: 84 81 ldd r24, Z+4 ; 0x04 + 1602: c8 17 cp r28, r24 + 1604: 98 f3 brcs .-26 ; 0x15ec + 1606: 10 92 be 20 sts 0x20BE, r1 ; 0x8020be + 160a: 10 92 c2 20 sts 0x20C2, r1 ; 0x8020c2 + 160e: 10 92 c3 20 sts 0x20C3, r1 ; 0x8020c3 + 1612: cf 91 pop r28 + 1614: 08 95 ret -00001600 : +00001616 : CPU_TO_LE16(USB_DEV_STATUS_BUS_POWERED); #endif } void udc_sof_notify(void) { - 1600: cf 93 push r28 + 1616: cf 93 push r28 uint8_t iface_num; if (udc_num_configuration) { - 1602: 80 91 be 20 lds r24, 0x20BE ; 0x8020be - 1606: 88 23 and r24, r24 - 1608: 49 f1 breq .+82 ; 0x165c + 1618: 80 91 be 20 lds r24, 0x20BE ; 0x8020be + 161c: 88 23 and r24, r24 + 161e: 49 f1 breq .+82 ; 0x1672 for (iface_num = 0; iface_num < udc_ptr_conf->desc->bNumInterfaces; - 160a: a0 91 bc 20 lds r26, 0x20BC ; 0x8020bc - 160e: b0 91 bd 20 lds r27, 0x20BD ; 0x8020bd - 1612: ed 91 ld r30, X+ - 1614: fc 91 ld r31, X - 1616: 11 97 sbiw r26, 0x01 ; 1 + 1620: a0 91 bc 20 lds r26, 0x20BC ; 0x8020bc + 1624: b0 91 bd 20 lds r27, 0x20BD ; 0x8020bd + 1628: ed 91 ld r30, X+ + 162a: fc 91 ld r31, X + 162c: 11 97 sbiw r26, 0x01 ; 1 void udc_sof_notify(void) { uint8_t iface_num; if (udc_num_configuration) { for (iface_num = 0; - 1618: 84 81 ldd r24, Z+4 ; 0x04 - 161a: 88 23 and r24, r24 - 161c: f9 f0 breq .+62 ; 0x165c - 161e: c0 e0 ldi r28, 0x00 ; 0 + 162e: 84 81 ldd r24, Z+4 ; 0x04 + 1630: 88 23 and r24, r24 + 1632: f9 f0 breq .+62 ; 0x1672 + 1634: c0 e0 ldi r28, 0x00 ; 0 iface_num < udc_ptr_conf->desc->bNumInterfaces; iface_num++) { if (udc_ptr_conf->udi_apis[iface_num]->sof_notify != NULL) { - 1620: ec 2f mov r30, r28 - 1622: f0 e0 ldi r31, 0x00 ; 0 - 1624: ee 0f add r30, r30 - 1626: ff 1f adc r31, r31 - 1628: 12 96 adiw r26, 0x02 ; 2 - 162a: 8d 91 ld r24, X+ - 162c: 9c 91 ld r25, X - 162e: 13 97 sbiw r26, 0x03 ; 3 - 1630: e8 0f add r30, r24 - 1632: f9 1f adc r31, r25 - 1634: 01 90 ld r0, Z+ - 1636: f0 81 ld r31, Z - 1638: e0 2d mov r30, r0 - 163a: 00 84 ldd r0, Z+8 ; 0x08 - 163c: f1 85 ldd r31, Z+9 ; 0x09 - 163e: e0 2d mov r30, r0 - 1640: 30 97 sbiw r30, 0x00 ; 0 - 1642: 09 f0 breq .+2 ; 0x1646 + 1636: ec 2f mov r30, r28 + 1638: f0 e0 ldi r31, 0x00 ; 0 + 163a: ee 0f add r30, r30 + 163c: ff 1f adc r31, r31 + 163e: 12 96 adiw r26, 0x02 ; 2 + 1640: 8d 91 ld r24, X+ + 1642: 9c 91 ld r25, X + 1644: 13 97 sbiw r26, 0x03 ; 3 + 1646: e8 0f add r30, r24 + 1648: f9 1f adc r31, r25 + 164a: 01 90 ld r0, Z+ + 164c: f0 81 ld r31, Z + 164e: e0 2d mov r30, r0 + 1650: 00 84 ldd r0, Z+8 ; 0x08 + 1652: f1 85 ldd r31, Z+9 ; 0x09 + 1654: e0 2d mov r30, r0 + 1656: 30 97 sbiw r30, 0x00 ; 0 + 1658: 09 f0 breq .+2 ; 0x165c udc_ptr_conf->udi_apis[iface_num]->sof_notify(); - 1644: 09 95 icall + 165a: 09 95 icall uint8_t iface_num; if (udc_num_configuration) { for (iface_num = 0; iface_num < udc_ptr_conf->desc->bNumInterfaces; iface_num++) { - 1646: cf 5f subi r28, 0xFF ; 255 + 165c: cf 5f subi r28, 0xFF ; 255 { uint8_t iface_num; if (udc_num_configuration) { for (iface_num = 0; iface_num < udc_ptr_conf->desc->bNumInterfaces; - 1648: a0 91 bc 20 lds r26, 0x20BC ; 0x8020bc - 164c: b0 91 bd 20 lds r27, 0x20BD ; 0x8020bd - 1650: ed 91 ld r30, X+ - 1652: fc 91 ld r31, X - 1654: 11 97 sbiw r26, 0x01 ; 1 + 165e: a0 91 bc 20 lds r26, 0x20BC ; 0x8020bc + 1662: b0 91 bd 20 lds r27, 0x20BD ; 0x8020bd + 1666: ed 91 ld r30, X+ + 1668: fc 91 ld r31, X + 166a: 11 97 sbiw r26, 0x01 ; 1 void udc_sof_notify(void) { uint8_t iface_num; if (udc_num_configuration) { for (iface_num = 0; - 1656: 84 81 ldd r24, Z+4 ; 0x04 - 1658: c8 17 cp r28, r24 - 165a: 10 f3 brcs .-60 ; 0x1620 + 166c: 84 81 ldd r24, Z+4 ; 0x04 + 166e: c8 17 cp r28, r24 + 1670: 10 f3 brcs .-60 ; 0x1636 if (udc_ptr_conf->udi_apis[iface_num]->sof_notify != NULL) { udc_ptr_conf->udi_apis[iface_num]->sof_notify(); } } } } - 165c: cf 91 pop r28 - 165e: 08 95 ret + 1672: cf 91 pop r28 + 1674: 08 95 ret -00001660 : +00001676 : * sent to a specific application callback. * * \return true if the request is supported, else the request is stalled by UDD */ bool udc_process_setup(void) { - 1660: 0f 93 push r16 - 1662: 1f 93 push r17 - 1664: cf 93 push r28 - 1666: df 93 push r29 + 1676: 0f 93 push r16 + 1678: 1f 93 push r17 + 167a: cf 93 push r28 + 167c: df 93 push r29 // By default no data (receive/send) and no callbacks registered udd_g_ctrlreq.payload_size = 0; - 1668: ea e5 ldi r30, 0x5A ; 90 - 166a: f4 e2 ldi r31, 0x24 ; 36 - 166c: 12 86 std Z+10, r1 ; 0x0a - 166e: 13 86 std Z+11, r1 ; 0x0b + 167e: ea e5 ldi r30, 0x5A ; 90 + 1680: f4 e2 ldi r31, 0x24 ; 36 + 1682: 12 86 std Z+10, r1 ; 0x0a + 1684: 13 86 std Z+11, r1 ; 0x0b udd_g_ctrlreq.callback = NULL; - 1670: 14 86 std Z+12, r1 ; 0x0c - 1672: 15 86 std Z+13, r1 ; 0x0d + 1686: 14 86 std Z+12, r1 ; 0x0c + 1688: 15 86 std Z+13, r1 ; 0x0d udd_g_ctrlreq.over_under_run = NULL; - 1674: 16 86 std Z+14, r1 ; 0x0e - 1676: 17 86 std Z+15, r1 ; 0x0f + 168a: 16 86 std Z+14, r1 ; 0x0e + 168c: 17 86 std Z+15, r1 ; 0x0f if (Udd_setup_is_in()) { - 1678: 80 81 ld r24, Z - 167a: 88 23 and r24, r24 - 167c: 3c f4 brge .+14 ; 0x168c + 168e: 80 81 ld r24, Z + 1690: 88 23 and r24, r24 + 1692: 3c f4 brge .+14 ; 0x16a2 if (udd_g_ctrlreq.req.wLength == 0) { - 167e: 20 91 60 24 lds r18, 0x2460 ; 0x802460 - 1682: 30 91 61 24 lds r19, 0x2461 ; 0x802461 - 1686: 23 2b or r18, r19 - 1688: 09 f4 brne .+2 ; 0x168c - 168a: 68 c3 rjmp .+1744 ; 0x1d5c + 1694: 20 91 60 24 lds r18, 0x2460 ; 0x802460 + 1698: 30 91 61 24 lds r19, 0x2461 ; 0x802461 + 169c: 23 2b or r18, r19 + 169e: 09 f4 brne .+2 ; 0x16a2 + 16a0: 68 c3 rjmp .+1744 ; 0x1d72 return false; // Error from USB host } } if (Udd_setup_type() == USB_REQ_TYPE_VENDOR){ - 168c: 80 76 andi r24, 0x60 ; 96 - 168e: 80 34 cpi r24, 0x40 ; 64 - 1690: 09 f0 breq .+2 ; 0x1694 - 1692: 06 c1 rjmp .+524 ; 0x18a0 + 16a2: 80 76 andi r24, 0x60 ; 96 + 16a4: 80 34 cpi r24, 0x40 ; 64 + 16a6: 09 f0 breq .+2 ; 0x16aa + 16a8: 06 c1 rjmp .+524 ; 0x18b6 } return false; } static bool udc_reqvend(void){ switch (udd_g_ctrlreq.req.bRequest){ - 1694: e0 91 5b 24 lds r30, 0x245B ; 0x80245b - 1698: 8e 2f mov r24, r30 - 169a: 90 e0 ldi r25, 0x00 ; 0 - 169c: fc 01 movw r30, r24 - 169e: e0 5a subi r30, 0xA0 ; 160 - 16a0: f1 09 sbc r31, r1 - 16a2: e8 30 cpi r30, 0x08 ; 8 - 16a4: f1 05 cpc r31, r1 - 16a6: 08 f0 brcs .+2 ; 0x16aa - 16a8: f2 c0 rjmp .+484 ; 0x188e - 16aa: e2 5f subi r30, 0xF2 ; 242 - 16ac: fe 4f sbci r31, 0xFE ; 254 - 16ae: 0c 94 32 16 jmp 0x2c64 ; 0x2c64 <__tablejump2__> + 16aa: e0 91 5b 24 lds r30, 0x245B ; 0x80245b + 16ae: 8e 2f mov r24, r30 + 16b0: 90 e0 ldi r25, 0x00 ; 0 + 16b2: fc 01 movw r30, r24 + 16b4: e0 5a subi r30, 0xA0 ; 160 + 16b6: f1 09 sbc r31, r1 + 16b8: e8 30 cpi r30, 0x08 ; 8 + 16ba: f1 05 cpc r31, r1 + 16bc: 08 f0 brcs .+2 ; 0x16c0 + 16be: f2 c0 rjmp .+484 ; 0x18a4 + 16c0: e2 5f subi r30, 0xF2 ; 242 + 16c2: fe 4f sbci r31, 0xFE ; 254 + 16c4: 0c 94 3d 16 jmp 0x2c7a ; 0x2c7a <__tablejump2__> case 0xa0: //Break! (Debug command) asm("nop"); - 16b2: 00 00 nop - 16b4: 57 c3 rjmp .+1710 ; 0x1d64 + 16c8: 00 00 nop + 16ca: 57 c3 rjmp .+1710 ; 0x1d7a return 1; case 0xa1: //Receive waveform for signal gen TC_DAC.CTRLA = 0x00; - 16b6: e0 e0 ldi r30, 0x00 ; 0 - 16b8: f8 e0 ldi r31, 0x08 ; 8 - 16ba: 10 82 st Z, r1 + 16cc: e0 e0 ldi r30, 0x00 ; 0 + 16ce: f8 e0 ldi r31, 0x08 ; 8 + 16d0: 10 82 st Z, r1 TC_DAC.PERBUF = udd_g_ctrlreq.req.wValue; - 16bc: ca e5 ldi r28, 0x5A ; 90 - 16be: d4 e2 ldi r29, 0x24 ; 36 - 16c0: 8a 81 ldd r24, Y+2 ; 0x02 - 16c2: 9b 81 ldd r25, Y+3 ; 0x03 - 16c4: 86 ab std Z+54, r24 ; 0x36 - 16c6: 97 ab std Z+55, r25 ; 0x37 + 16d2: ca e5 ldi r28, 0x5A ; 90 + 16d4: d4 e2 ldi r29, 0x24 ; 36 + 16d6: 8a 81 ldd r24, Y+2 ; 0x02 + 16d8: 9b 81 ldd r25, Y+3 ; 0x03 + 16da: 86 ab std Z+54, r24 ; 0x36 + 16dc: 97 ab std Z+55, r25 ; 0x37 TC_DAC.CTRLA = (unsigned char) udd_g_ctrlreq.req.wIndex & 0x0F; - 16c8: 8c 81 ldd r24, Y+4 ; 0x04 - 16ca: 8f 70 andi r24, 0x0F ; 15 - 16cc: 80 83 st Z, r24 + 16de: 8c 81 ldd r24, Y+4 ; 0x04 + 16e0: 8f 70 andi r24, 0x0F ; 15 + 16e2: 80 83 st Z, r24 udd_set_setup_payload(dacBuf_CH1, udd_g_ctrlreq.req.wLength); - 16ce: 6e 81 ldd r22, Y+6 ; 0x06 - 16d0: 7f 81 ldd r23, Y+7 ; 0x07 - 16d2: 8a e5 ldi r24, 0x5A ; 90 - 16d4: 92 e2 ldi r25, 0x22 ; 34 - 16d6: f6 d6 rcall .+3564 ; 0x24c4 + 16e4: 6e 81 ldd r22, Y+6 ; 0x06 + 16e6: 7f 81 ldd r23, Y+7 ; 0x07 + 16e8: 8a e5 ldi r24, 0x5A ; 90 + 16ea: 92 e2 ldi r25, 0x22 ; 34 + 16ec: f6 d6 rcall .+3564 ; 0x24da if(dacBuf_len != udd_g_ctrlreq.req.wLength){ - 16d8: 8e 81 ldd r24, Y+6 ; 0x06 - 16da: 9f 81 ldd r25, Y+7 ; 0x07 - 16dc: 20 91 04 20 lds r18, 0x2004 ; 0x802004 - 16e0: 30 91 05 20 lds r19, 0x2005 ; 0x802005 - 16e4: 82 17 cp r24, r18 - 16e6: 93 07 cpc r25, r19 - 16e8: 09 f4 brne .+2 ; 0x16ec - 16ea: 3c c3 rjmp .+1656 ; 0x1d64 + 16ee: 8e 81 ldd r24, Y+6 ; 0x06 + 16f0: 9f 81 ldd r25, Y+7 ; 0x07 + 16f2: 20 91 04 20 lds r18, 0x2004 ; 0x802004 + 16f6: 30 91 05 20 lds r19, 0x2005 ; 0x802005 + 16fa: 82 17 cp r24, r18 + 16fc: 93 07 cpc r25, r19 + 16fe: 09 f4 brne .+2 ; 0x1702 + 1700: 3c c3 rjmp .+1656 ; 0x1d7a dacBuf_len = udd_g_ctrlreq.req.wLength; - 16ec: 80 93 04 20 sts 0x2004, r24 ; 0x802004 - 16f0: 90 93 05 20 sts 0x2005, r25 ; 0x802005 + 1702: 80 93 04 20 sts 0x2004, r24 ; 0x802004 + 1706: 90 93 05 20 sts 0x2005, r25 ; 0x802005 switch(global_mode){ - 16f4: e0 91 00 20 lds r30, 0x2000 ; 0x802000 <__data_start> - 16f8: 8e 2f mov r24, r30 - 16fa: 90 e0 ldi r25, 0x00 ; 0 - 16fc: 88 30 cpi r24, 0x08 ; 8 - 16fe: 91 05 cpc r25, r1 - 1700: 08 f0 brcs .+2 ; 0x1704 - 1702: c7 c0 rjmp .+398 ; 0x1892 - 1704: fc 01 movw r30, r24 - 1706: ea 5e subi r30, 0xEA ; 234 - 1708: fe 4f sbci r31, 0xFE ; 254 - 170a: 0c 94 32 16 jmp 0x2c64 ; 0x2c64 <__tablejump2__> + 170a: e0 91 00 20 lds r30, 0x2000 ; 0x802000 <__data_start> + 170e: 8e 2f mov r24, r30 + 1710: 90 e0 ldi r25, 0x00 ; 0 + 1712: 88 30 cpi r24, 0x08 ; 8 + 1714: 91 05 cpc r25, r1 + 1716: 08 f0 brcs .+2 ; 0x171a + 1718: c7 c0 rjmp .+398 ; 0x18a8 + 171a: fc 01 movw r30, r24 + 171c: ea 5e subi r30, 0xEA ; 234 + 171e: fe 4f sbci r31, 0xFE ; 254 + 1720: 0c 94 3d 16 jmp 0x2c7a ; 0x2c7a <__tablejump2__> case 0: tiny_dma_set_mode_0(); - 170e: 0e 94 aa 02 call 0x554 ; 0x554 - 1712: 28 c3 rjmp .+1616 ; 0x1d64 + 1724: 0e 94 b0 02 call 0x560 ; 0x560 + 1728: 28 c3 rjmp .+1616 ; 0x1d7a break; case 1: tiny_dma_set_mode_1(); - 1714: 0e 94 1e 03 call 0x63c ; 0x63c - 1718: 25 c3 rjmp .+1610 ; 0x1d64 + 172a: 0e 94 24 03 call 0x648 ; 0x648 + 172e: 25 c3 rjmp .+1610 ; 0x1d7a break; case 2: tiny_dma_set_mode_2(); - 171a: 09 d8 rcall .-4078 ; 0x72e - 171c: 23 c3 rjmp .+1606 ; 0x1d64 + 1730: 04 d8 rcall .-4088 ; 0x73a + 1732: 23 c3 rjmp .+1606 ; 0x1d7a break; case 3: tiny_dma_set_mode_3(); - 171e: 7b d8 rcall .-3850 ; 0x816 - 1720: 21 c3 rjmp .+1602 ; 0x1d64 + 1734: 76 d8 rcall .-3860 ; 0x822 + 1736: 21 c3 rjmp .+1602 ; 0x1d7a break; case 4: tiny_dma_set_mode_4(); - 1722: f6 d8 rcall .-3604 ; 0x910 - 1724: 1f c3 rjmp .+1598 ; 0x1d64 + 1738: f1 d8 rcall .-3614 ; 0x91c + 173a: 1f c3 rjmp .+1598 ; 0x1d7a break; case 5: tiny_dma_set_mode_5(); - 1726: 6b d9 rcall .-3370 ; 0x9fe - 1728: 1d c3 rjmp .+1594 ; 0x1d64 + 173c: 66 d9 rcall .-3380 ; 0xa0a + 173e: 1d c3 rjmp .+1594 ; 0x1d7a break; case 6: tiny_dma_set_mode_6(); - 172a: b1 d9 rcall .-3230 ; 0xa8e - 172c: 1b c3 rjmp .+1590 ; 0x1d64 + 1740: ac d9 rcall .-3240 ; 0xa9a + 1742: 1b c3 rjmp .+1590 ; 0x1d7a break; case 7: tiny_dma_set_mode_7(); - 172e: 12 da rcall .-3036 ; 0xb54 - 1730: 19 c3 rjmp .+1586 ; 0x1d64 + 1744: 0d da rcall .-3046 ; 0xb60 + 1746: 19 c3 rjmp .+1586 ; 0x1d7a break; } } return 1; case 0xa2: //CH2 waveform TC_AUXDAC.CTRLA = 0x00; - 1732: e0 e4 ldi r30, 0x40 ; 64 - 1734: f8 e0 ldi r31, 0x08 ; 8 - 1736: 10 82 st Z, r1 + 1748: e0 e4 ldi r30, 0x40 ; 64 + 174a: f8 e0 ldi r31, 0x08 ; 8 + 174c: 10 82 st Z, r1 TC_AUXDAC.PERBUF = udd_g_ctrlreq.req.wValue; - 1738: ca e5 ldi r28, 0x5A ; 90 - 173a: d4 e2 ldi r29, 0x24 ; 36 - 173c: 8a 81 ldd r24, Y+2 ; 0x02 - 173e: 9b 81 ldd r25, Y+3 ; 0x03 - 1740: 86 ab std Z+54, r24 ; 0x36 - 1742: 97 ab std Z+55, r25 ; 0x37 + 174e: ca e5 ldi r28, 0x5A ; 90 + 1750: d4 e2 ldi r29, 0x24 ; 36 + 1752: 8a 81 ldd r24, Y+2 ; 0x02 + 1754: 9b 81 ldd r25, Y+3 ; 0x03 + 1756: 86 ab std Z+54, r24 ; 0x36 + 1758: 97 ab std Z+55, r25 ; 0x37 TC_AUXDAC.CTRLA = (unsigned char) udd_g_ctrlreq.req.wIndex & 0x0F; - 1744: 8c 81 ldd r24, Y+4 ; 0x04 - 1746: 8f 70 andi r24, 0x0F ; 15 - 1748: 80 83 st Z, r24 + 175a: 8c 81 ldd r24, Y+4 ; 0x04 + 175c: 8f 70 andi r24, 0x0F ; 15 + 175e: 80 83 st Z, r24 udd_set_setup_payload(dacBuf_CH2, udd_g_ctrlreq.req.wLength); - 174a: 6e 81 ldd r22, Y+6 ; 0x06 - 174c: 7f 81 ldd r23, Y+7 ; 0x07 - 174e: 8a e6 ldi r24, 0x6A ; 106 - 1750: 94 e2 ldi r25, 0x24 ; 36 - 1752: b8 d6 rcall .+3440 ; 0x24c4 + 1760: 6e 81 ldd r22, Y+6 ; 0x06 + 1762: 7f 81 ldd r23, Y+7 ; 0x07 + 1764: 8a e6 ldi r24, 0x6A ; 106 + 1766: 94 e2 ldi r25, 0x24 ; 36 + 1768: b8 d6 rcall .+3440 ; 0x24da if(auxDacBufLen != udd_g_ctrlreq.req.wLength){ - 1754: 8e 81 ldd r24, Y+6 ; 0x06 - 1756: 9f 81 ldd r25, Y+7 ; 0x07 - 1758: 20 91 02 20 lds r18, 0x2002 ; 0x802002 - 175c: 30 91 03 20 lds r19, 0x2003 ; 0x802003 - 1760: 82 17 cp r24, r18 - 1762: 93 07 cpc r25, r19 - 1764: 09 f4 brne .+2 ; 0x1768 - 1766: fe c2 rjmp .+1532 ; 0x1d64 + 176a: 8e 81 ldd r24, Y+6 ; 0x06 + 176c: 9f 81 ldd r25, Y+7 ; 0x07 + 176e: 20 91 02 20 lds r18, 0x2002 ; 0x802002 + 1772: 30 91 03 20 lds r19, 0x2003 ; 0x802003 + 1776: 82 17 cp r24, r18 + 1778: 93 07 cpc r25, r19 + 177a: 09 f4 brne .+2 ; 0x177e + 177c: fe c2 rjmp .+1532 ; 0x1d7a auxDacBufLen = udd_g_ctrlreq.req.wLength; - 1768: 80 93 02 20 sts 0x2002, r24 ; 0x802002 - 176c: 90 93 03 20 sts 0x2003, r25 ; 0x802003 + 177e: 80 93 02 20 sts 0x2002, r24 ; 0x802002 + 1782: 90 93 03 20 sts 0x2003, r25 ; 0x802003 switch(global_mode){ - 1770: e0 91 00 20 lds r30, 0x2000 ; 0x802000 <__data_start> - 1774: 8e 2f mov r24, r30 - 1776: 90 e0 ldi r25, 0x00 ; 0 - 1778: 88 30 cpi r24, 0x08 ; 8 - 177a: 91 05 cpc r25, r1 - 177c: 08 f0 brcs .+2 ; 0x1780 - 177e: 8b c0 rjmp .+278 ; 0x1896 - 1780: fc 01 movw r30, r24 - 1782: e2 5e subi r30, 0xE2 ; 226 - 1784: fe 4f sbci r31, 0xFE ; 254 - 1786: 0c 94 32 16 jmp 0x2c64 ; 0x2c64 <__tablejump2__> + 1786: e0 91 00 20 lds r30, 0x2000 ; 0x802000 <__data_start> + 178a: 8e 2f mov r24, r30 + 178c: 90 e0 ldi r25, 0x00 ; 0 + 178e: 88 30 cpi r24, 0x08 ; 8 + 1790: 91 05 cpc r25, r1 + 1792: 08 f0 brcs .+2 ; 0x1796 + 1794: 8b c0 rjmp .+278 ; 0x18ac + 1796: fc 01 movw r30, r24 + 1798: e2 5e subi r30, 0xE2 ; 226 + 179a: fe 4f sbci r31, 0xFE ; 254 + 179c: 0c 94 3d 16 jmp 0x2c7a ; 0x2c7a <__tablejump2__> case 0: tiny_dma_set_mode_0(); - 178a: 0e 94 aa 02 call 0x554 ; 0x554 - 178e: ea c2 rjmp .+1492 ; 0x1d64 + 17a0: 0e 94 b0 02 call 0x560 ; 0x560 + 17a4: ea c2 rjmp .+1492 ; 0x1d7a break; case 1: tiny_dma_set_mode_1(); - 1790: 0e 94 1e 03 call 0x63c ; 0x63c - 1794: e7 c2 rjmp .+1486 ; 0x1d64 + 17a6: 0e 94 24 03 call 0x648 ; 0x648 + 17aa: e7 c2 rjmp .+1486 ; 0x1d7a break; case 2: tiny_dma_set_mode_2(); - 1796: 0e 94 97 03 call 0x72e ; 0x72e - 179a: e4 c2 rjmp .+1480 ; 0x1d64 + 17ac: 0e 94 9d 03 call 0x73a ; 0x73a + 17b0: e4 c2 rjmp .+1480 ; 0x1d7a break; case 3: tiny_dma_set_mode_3(); - 179c: 3c d8 rcall .-3976 ; 0x816 - 179e: e2 c2 rjmp .+1476 ; 0x1d64 + 17b2: 37 d8 rcall .-3986 ; 0x822 + 17b4: e2 c2 rjmp .+1476 ; 0x1d7a break; case 4: tiny_dma_set_mode_4(); - 17a0: b7 d8 rcall .-3730 ; 0x910 - 17a2: e0 c2 rjmp .+1472 ; 0x1d64 + 17b6: b2 d8 rcall .-3740 ; 0x91c + 17b8: e0 c2 rjmp .+1472 ; 0x1d7a break; case 5: tiny_dma_set_mode_5(); - 17a4: 2c d9 rcall .-3496 ; 0x9fe - 17a6: de c2 rjmp .+1468 ; 0x1d64 + 17ba: 27 d9 rcall .-3506 ; 0xa0a + 17bc: de c2 rjmp .+1468 ; 0x1d7a break; case 6: tiny_dma_set_mode_6(); - 17a8: 72 d9 rcall .-3356 ; 0xa8e - 17aa: dc c2 rjmp .+1464 ; 0x1d64 + 17be: 6d d9 rcall .-3366 ; 0xa9a + 17c0: dc c2 rjmp .+1464 ; 0x1d7a break; case 7: tiny_dma_set_mode_7(); - 17ac: d3 d9 rcall .-3162 ; 0xb54 - 17ae: da c2 rjmp .+1460 ; 0x1d64 + 17c2: ce d9 rcall .-3172 ; 0xb60 + 17c4: da c2 rjmp .+1460 ; 0x1d7a break; } } return 1; case 0xa3: //PSU voltage control TC_PSU.CCA = 0; - 17b0: 10 92 68 09 sts 0x0968, r1 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - 17b4: 10 92 69 09 sts 0x0969, r1 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + 17c6: 10 92 68 09 sts 0x0968, r1 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + 17ca: 10 92 69 09 sts 0x0969, r1 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> PSU_target = udd_g_ctrlreq.req.wValue; - 17b8: 80 91 5c 24 lds r24, 0x245C ; 0x80245c - 17bc: 80 93 b2 20 sts 0x20B2, r24 ; 0x8020b2 <__data_end> - 17c0: d1 c2 rjmp .+1442 ; 0x1d64 + 17ce: 80 91 5c 24 lds r24, 0x245C ; 0x80245c + 17d2: 80 93 b2 20 sts 0x20B2, r24 ; 0x8020b2 <__data_end> + 17d6: d1 c2 rjmp .+1442 ; 0x1d7a return 1; case 0xa4: //Triple mode PORTB.OUT = udd_g_ctrlreq.req.wValue; - 17c2: 80 91 5c 24 lds r24, 0x245C ; 0x80245c - 17c6: 80 93 24 06 sts 0x0624, r24 ; 0x800624 <__TEXT_REGION_LENGTH__+0x700624> - 17ca: cc c2 rjmp .+1432 ; 0x1d64 + 17d8: 80 91 5c 24 lds r24, 0x245C ; 0x80245c + 17dc: 80 93 24 06 sts 0x0624, r24 ; 0x800624 <__TEXT_REGION_LENGTH__+0x700624> + 17e0: cc c2 rjmp .+1432 ; 0x1d7a return 1; case 0xa5: //Control Gain and Scope modes switch(udd_g_ctrlreq.req.wValue){ - 17cc: e0 91 5c 24 lds r30, 0x245C ; 0x80245c - 17d0: f0 91 5d 24 lds r31, 0x245D ; 0x80245d - 17d4: e8 30 cpi r30, 0x08 ; 8 - 17d6: f1 05 cpc r31, r1 - 17d8: 08 f0 brcs .+2 ; 0x17dc - 17da: 5f c0 rjmp .+190 ; 0x189a - 17dc: ea 5d subi r30, 0xDA ; 218 - 17de: fe 4f sbci r31, 0xFE ; 254 - 17e0: 0c 94 32 16 jmp 0x2c64 ; 0x2c64 <__tablejump2__> + 17e2: e0 91 5c 24 lds r30, 0x245C ; 0x80245c + 17e6: f0 91 5d 24 lds r31, 0x245D ; 0x80245d + 17ea: e8 30 cpi r30, 0x08 ; 8 + 17ec: f1 05 cpc r31, r1 + 17ee: 08 f0 brcs .+2 ; 0x17f2 + 17f0: 5f c0 rjmp .+190 ; 0x18b0 + 17f2: ea 5d subi r30, 0xDA ; 218 + 17f4: fe 4f sbci r31, 0xFE ; 254 + 17f6: 0c 94 3d 16 jmp 0x2c7a ; 0x2c7a <__tablejump2__> case 0: //Mode 0 tiny_adc_setup(0, 0); - 17e4: 60 e0 ldi r22, 0x00 ; 0 - 17e6: 80 e0 ldi r24, 0x00 ; 0 - 17e8: 0e 94 30 02 call 0x460 ; 0x460 - tiny_adc_ch0setup(udd_g_ctrlreq.req.wIndex); - 17ec: 80 91 5e 24 lds r24, 0x245E ; 0x80245e - 17f0: 0e 94 04 02 call 0x408 ; 0x408 - tiny_dma_set_mode_0(); - 17f4: 0e 94 aa 02 call 0x554 ; 0x554 - 17f8: b5 c2 rjmp .+1386 ; 0x1d64 - break; - case 1: //Mode 1 - tiny_adc_setup(0, 0); 17fa: 60 e0 ldi r22, 0x00 ; 0 17fc: 80 e0 ldi r24, 0x00 ; 0 - 17fe: 0e 94 30 02 call 0x460 ; 0x460 + 17fe: 0e 94 36 02 call 0x46c ; 0x46c tiny_adc_ch0setup(udd_g_ctrlreq.req.wIndex); 1802: 80 91 5e 24 lds r24, 0x245E ; 0x80245e 1806: 0e 94 04 02 call 0x408 ; 0x408 + tiny_dma_set_mode_0(); + 180a: 0e 94 b0 02 call 0x560 ; 0x560 + 180e: b5 c2 rjmp .+1386 ; 0x1d7a + break; + case 1: //Mode 1 + tiny_adc_setup(0, 0); + 1810: 60 e0 ldi r22, 0x00 ; 0 + 1812: 80 e0 ldi r24, 0x00 ; 0 + 1814: 0e 94 36 02 call 0x46c ; 0x46c + tiny_adc_ch0setup(udd_g_ctrlreq.req.wIndex); + 1818: 80 91 5e 24 lds r24, 0x245E ; 0x80245e + 181c: 0e 94 04 02 call 0x408 ; 0x408 tiny_dma_set_mode_1(); - 180a: 0e 94 1e 03 call 0x63c ; 0x63c - 180e: aa c2 rjmp .+1364 ; 0x1d64 + 1820: 0e 94 24 03 call 0x648 ; 0x648 + 1824: aa c2 rjmp .+1364 ; 0x1d7a break; case 2: //Mode 2 tiny_adc_setup(1, 1); - 1810: 61 e0 ldi r22, 0x01 ; 1 - 1812: 81 e0 ldi r24, 0x01 ; 1 - 1814: 0e 94 30 02 call 0x460 ; 0x460 + 1826: 61 e0 ldi r22, 0x01 ; 1 + 1828: 81 e0 ldi r24, 0x01 ; 1 + 182a: 0e 94 36 02 call 0x46c ; 0x46c tiny_adc_ch0setup(udd_g_ctrlreq.req.wIndex); - 1818: ca e5 ldi r28, 0x5A ; 90 - 181a: d4 e2 ldi r29, 0x24 ; 36 - 181c: 8c 81 ldd r24, Y+4 ; 0x04 - 181e: 0e 94 04 02 call 0x408 ; 0x408 + 182e: ca e5 ldi r28, 0x5A ; 90 + 1830: d4 e2 ldi r29, 0x24 ; 36 + 1832: 8c 81 ldd r24, Y+4 ; 0x04 + 1834: 0e 94 04 02 call 0x408 ; 0x408 tiny_adc_ch1setup(udd_g_ctrlreq.req.wIndex>>8); - 1822: 8d 81 ldd r24, Y+5 ; 0x05 - 1824: 0e 94 13 02 call 0x426 ; 0x426 + 1838: 8d 81 ldd r24, Y+5 ; 0x05 + 183a: 0e 94 19 02 call 0x432 ; 0x432 tiny_dma_set_mode_2(); - 1828: 0e 94 97 03 call 0x72e ; 0x72e - 182c: 9b c2 rjmp .+1334 ; 0x1d64 + 183e: 0e 94 9d 03 call 0x73a ; 0x73a + 1842: 9b c2 rjmp .+1334 ; 0x1d7a break; case 3: //Mode 3 tiny_dma_set_mode_3(); - 182e: 0e 94 0b 04 call 0x816 ; 0x816 - 1832: 98 c2 rjmp .+1328 ; 0x1d64 + 1844: 0e 94 11 04 call 0x822 ; 0x822 + 1848: 98 c2 rjmp .+1328 ; 0x1d7a break; case 4: //Mode 4 tiny_dma_set_mode_4(); - 1834: 6d d8 rcall .-3878 ; 0x910 - 1836: 96 c2 rjmp .+1324 ; 0x1d64 + 184a: 68 d8 rcall .-3888 ; 0x91c + 184c: 96 c2 rjmp .+1324 ; 0x1d7a break; case 5: //Mode 5 tiny_adc_setup(0, 0); - 1838: 60 e0 ldi r22, 0x00 ; 0 - 183a: 80 e0 ldi r24, 0x00 ; 0 - 183c: 0e 94 30 02 call 0x460 ; 0x460 + 184e: 60 e0 ldi r22, 0x00 ; 0 + 1850: 80 e0 ldi r24, 0x00 ; 0 + 1852: 0e 94 36 02 call 0x46c ; 0x46c tiny_adc_ch0setup(udd_g_ctrlreq.req.wIndex); - 1840: 80 91 5e 24 lds r24, 0x245E ; 0x80245e - 1844: 0e 94 04 02 call 0x408 ; 0x408 + 1856: 80 91 5e 24 lds r24, 0x245E ; 0x80245e + 185a: 0e 94 04 02 call 0x408 ; 0x408 tiny_dma_set_mode_5(); - 1848: da d8 rcall .-3660 ; 0x9fe - 184a: 8c c2 rjmp .+1304 ; 0x1d64 + 185e: d5 d8 rcall .-3670 ; 0xa0a + 1860: 8c c2 rjmp .+1304 ; 0x1d7a break; case 6: //Mode 6 tiny_adc_setup(0, 1); - 184c: 61 e0 ldi r22, 0x01 ; 1 - 184e: 80 e0 ldi r24, 0x00 ; 0 - 1850: 0e 94 30 02 call 0x460 ; 0x460 + 1862: 61 e0 ldi r22, 0x01 ; 1 + 1864: 80 e0 ldi r24, 0x00 ; 0 + 1866: 0e 94 36 02 call 0x46c ; 0x46c tiny_adc_ch0setup(udd_g_ctrlreq.req.wIndex); - 1854: 80 91 5e 24 lds r24, 0x245E ; 0x80245e - 1858: 0e 94 04 02 call 0x408 ; 0x408 + 186a: 80 91 5e 24 lds r24, 0x245E ; 0x80245e + 186e: 0e 94 04 02 call 0x408 ; 0x408 tiny_dma_set_mode_6(); - 185c: 18 d9 rcall .-3536 ; 0xa8e - 185e: 82 c2 rjmp .+1284 ; 0x1d64 + 1872: 13 d9 rcall .-3546 ; 0xa9a + 1874: 82 c2 rjmp .+1284 ; 0x1d7a break; case 7: //Mode 7 tiny_adc_setup(0, 2); - 1860: 62 e0 ldi r22, 0x02 ; 2 - 1862: 80 e0 ldi r24, 0x00 ; 0 - 1864: 0e 94 30 02 call 0x460 ; 0x460 + 1876: 62 e0 ldi r22, 0x02 ; 2 + 1878: 80 e0 ldi r24, 0x00 ; 0 + 187a: 0e 94 36 02 call 0x46c ; 0x46c tiny_adc_ch0setup(udd_g_ctrlreq.req.wIndex | 0x80); - 1868: 80 91 5e 24 lds r24, 0x245E ; 0x80245e - 186c: 80 68 ori r24, 0x80 ; 128 - 186e: 0e 94 04 02 call 0x408 ; 0x408 + 187e: 80 91 5e 24 lds r24, 0x245E ; 0x80245e + 1882: 80 68 ori r24, 0x80 ; 128 + 1884: 0e 94 04 02 call 0x408 ; 0x408 tiny_dma_set_mode_7(); - 1872: 70 d9 rcall .-3360 ; 0xb54 - 1874: 77 c2 rjmp .+1262 ; 0x1d64 + 1888: 6b d9 rcall .-3370 ; 0xb60 + 188a: 77 c2 rjmp .+1262 ; 0x1d7a default: return 0; } return 1; case 0xa6: //Digital out??? PORTE.OUT = udd_g_ctrlreq.req.wValue; - 1876: 80 91 5c 24 lds r24, 0x245C ; 0x80245c - 187a: 80 93 84 06 sts 0x0684, r24 ; 0x800684 <__TEXT_REGION_LENGTH__+0x700684> - 187e: 72 c2 rjmp .+1252 ; 0x1d64 + 188c: 80 91 5c 24 lds r24, 0x245C ; 0x80245c + 1890: 80 93 84 06 sts 0x0684, r24 ; 0x800684 <__TEXT_REGION_LENGTH__+0x700684> + 1894: 72 c2 rjmp .+1252 ; 0x1d7a case 0xa7: //Soft Reset //Code here from SprinterSB //http://www.avrfreaks.net/comment/872674 //I don't understand it, but it seems to do the job __asm volatile ("cli" "\n\t" - 1880: e9 e7 ldi r30, 0x79 ; 121 - 1882: f0 e0 ldi r31, 0x00 ; 0 - 1884: 91 e0 ldi r25, 0x01 ; 1 - 1886: 88 ed ldi r24, 0xD8 ; 216 - 1888: f8 94 cli - 188a: 84 bf out 0x34, r24 ; 52 - 188c: 90 83 st Z, r25 + 1896: e9 e7 ldi r30, 0x79 ; 121 + 1898: f0 e0 ldi r31, 0x00 ; 0 + 189a: 91 e0 ldi r25, 0x01 ; 1 + 189c: 88 ed ldi r24, 0xD8 ; 216 + 189e: f8 94 cli + 18a0: 84 bf out 0x34, r24 ; 52 + 18a2: 90 83 st Z, r25 [swrst] "r" ((uint8_t) RST_SWRST_bm), [rst] "e" (&RST.CTRL) : "memory"); __builtin_unreachable(); default: return 0; - 188e: 80 e0 ldi r24, 0x00 ; 0 - 1890: 05 c0 rjmp .+10 ; 0x189c + 18a4: 80 e0 ldi r24, 0x00 ; 0 + 18a6: 05 c0 rjmp .+10 ; 0x18b2 case 7: tiny_dma_set_mode_7(); break; } } return 1; - 1892: 81 e0 ldi r24, 0x01 ; 1 - 1894: 03 c0 rjmp .+6 ; 0x189c + 18a8: 81 e0 ldi r24, 0x01 ; 1 + 18aa: 03 c0 rjmp .+6 ; 0x18b2 case 7: tiny_dma_set_mode_7(); break; } } return 1; - 1896: 81 e0 ldi r24, 0x01 ; 1 - 1898: 01 c0 rjmp .+2 ; 0x189c + 18ac: 81 e0 ldi r24, 0x01 ; 1 + 18ae: 01 c0 rjmp .+2 ; 0x18b2 tiny_adc_setup(0, 2); tiny_adc_ch0setup(udd_g_ctrlreq.req.wIndex | 0x80); tiny_dma_set_mode_7(); break; default: return 0; - 189a: 80 e0 ldi r24, 0x00 ; 0 + 18b0: 80 e0 ldi r24, 0x00 ; 0 return false; // Error from USB host } } if (Udd_setup_type() == USB_REQ_TYPE_VENDOR){ if (udc_reqvend()) { - 189c: 81 11 cpse r24, r1 - 189e: 65 c2 rjmp .+1226 ; 0x1d6a + 18b2: 81 11 cpse r24, r1 + 18b4: 65 c2 rjmp .+1226 ; 0x1d80 return true; } } // If standard request then try to decode it in UDC if (Udd_setup_type() == USB_REQ_TYPE_STANDARD) { - 18a0: 80 91 5a 24 lds r24, 0x245A ; 0x80245a - 18a4: 98 2f mov r25, r24 - 18a6: 90 76 andi r25, 0x60 ; 96 - 18a8: 09 f0 breq .+2 ; 0x18ac - 18aa: e1 c1 rjmp .+962 ; 0x1c6e + 18b6: 80 91 5a 24 lds r24, 0x245A ; 0x80245a + 18ba: 98 2f mov r25, r24 + 18bc: 90 76 andi r25, 0x60 ; 96 + 18be: 09 f0 breq .+2 ; 0x18c2 + 18c0: e1 c1 rjmp .+962 ; 0x1c84 * * \return true if the request is supported */ static bool udc_reqstd(void) { if (Udd_setup_is_in()) { - 18ac: 88 23 and r24, r24 - 18ae: 0c f0 brlt .+2 ; 0x18b2 - 18b0: 05 c1 rjmp .+522 ; 0x1abc + 18c2: 88 23 and r24, r24 + 18c4: 0c f0 brlt .+2 ; 0x18c8 + 18c6: 05 c1 rjmp .+522 ; 0x1ad2 // GET Standard Requests if (udd_g_ctrlreq.req.wLength == 0) { - 18b2: 20 91 60 24 lds r18, 0x2460 ; 0x802460 - 18b6: 30 91 61 24 lds r19, 0x2461 ; 0x802461 - 18ba: 21 15 cp r18, r1 - 18bc: 31 05 cpc r19, r1 - 18be: 09 f4 brne .+2 ; 0x18c2 - 18c0: d6 c1 rjmp .+940 ; 0x1c6e + 18c8: 20 91 60 24 lds r18, 0x2460 ; 0x802460 + 18cc: 30 91 61 24 lds r19, 0x2461 ; 0x802461 + 18d0: 21 15 cp r18, r1 + 18d2: 31 05 cpc r19, r1 + 18d4: 09 f4 brne .+2 ; 0x18d8 + 18d6: d6 c1 rjmp .+940 ; 0x1c84 return false; // Error for USB host } if (USB_REQ_RECIP_DEVICE == Udd_setup_recipient()) { - 18c2: 8f 71 andi r24, 0x1F ; 31 - 18c4: 09 f0 breq .+2 ; 0x18c8 - 18c6: a3 c0 rjmp .+326 ; 0x1a0e + 18d8: 8f 71 andi r24, 0x1F ; 31 + 18da: 09 f0 breq .+2 ; 0x18de + 18dc: a3 c0 rjmp .+326 ; 0x1a24 // Standard Get Device request switch (udd_g_ctrlreq.req.bRequest) { - 18c8: 90 91 5b 24 lds r25, 0x245B ; 0x80245b - 18cc: 96 30 cpi r25, 0x06 ; 6 - 18ce: 79 f0 breq .+30 ; 0x18ee - 18d0: 98 30 cpi r25, 0x08 ; 8 - 18d2: 09 f4 brne .+2 ; 0x18d6 - 18d4: 92 c0 rjmp .+292 ; 0x19fa - 18d6: 91 11 cpse r25, r1 - 18d8: 9a c0 rjmp .+308 ; 0x1a0e + 18de: 90 91 5b 24 lds r25, 0x245B ; 0x80245b + 18e2: 96 30 cpi r25, 0x06 ; 6 + 18e4: 79 f0 breq .+30 ; 0x1904 + 18e6: 98 30 cpi r25, 0x08 ; 8 + 18e8: 09 f4 brne .+2 ; 0x18ec + 18ea: 92 c0 rjmp .+292 ; 0x1a10 + 18ec: 91 11 cpse r25, r1 + 18ee: 9a c0 rjmp .+308 ; 0x1a24 * * \return true if success */ static bool udc_req_std_dev_get_status(void) { if (udd_g_ctrlreq.req.wLength != sizeof(udc_device_status)) { - 18da: 22 30 cpi r18, 0x02 ; 2 - 18dc: 31 05 cpc r19, r1 - 18de: 09 f0 breq .+2 ; 0x18e2 - 18e0: c6 c1 rjmp .+908 ; 0x1c6e + 18f0: 22 30 cpi r18, 0x02 ; 2 + 18f2: 31 05 cpc r19, r1 + 18f4: 09 f0 breq .+2 ; 0x18f8 + 18f6: c6 c1 rjmp .+908 ; 0x1c84 return false; } udd_set_setup_payload( (uint8_t *) & udc_device_status, - 18e2: 62 e0 ldi r22, 0x02 ; 2 - 18e4: 70 e0 ldi r23, 0x00 ; 0 - 18e6: 82 ec ldi r24, 0xC2 ; 194 - 18e8: 90 e2 ldi r25, 0x20 ; 32 - 18ea: ec d5 rcall .+3032 ; 0x24c4 - 18ec: 3d c2 rjmp .+1146 ; 0x1d68 + 18f8: 62 e0 ldi r22, 0x02 ; 2 + 18fa: 70 e0 ldi r23, 0x00 ; 0 + 18fc: 82 ec ldi r24, 0xC2 ; 194 + 18fe: 90 e2 ldi r25, 0x20 ; 32 + 1900: ec d5 rcall .+3032 ; 0x24da + 1902: 3d c2 rjmp .+1146 ; 0x1d7e */ static bool udc_req_std_dev_get_descriptor(void) { uint8_t conf_num; conf_num = udd_g_ctrlreq.req.wValue & 0xff; - 18ee: 80 91 5c 24 lds r24, 0x245C ; 0x80245c - 18f2: 90 91 5d 24 lds r25, 0x245D ; 0x80245d + 1904: 80 91 5c 24 lds r24, 0x245C ; 0x80245c + 1908: 90 91 5d 24 lds r25, 0x245D ; 0x80245d // Check descriptor ID switch ((uint8_t) (udd_g_ctrlreq.req.wValue >> 8)) { - 18f6: 29 2f mov r18, r25 - 18f8: 33 27 eor r19, r19 - 18fa: 22 30 cpi r18, 0x02 ; 2 - 18fc: 31 05 cpc r19, r1 - 18fe: a9 f0 breq .+42 ; 0x192a - 1900: 24 f4 brge .+8 ; 0x190a - 1902: 21 30 cpi r18, 0x01 ; 1 - 1904: 31 05 cpc r19, r1 - 1906: 41 f0 breq .+16 ; 0x1918 - 1908: a9 c1 rjmp .+850 ; 0x1c5c - 190a: 23 30 cpi r18, 0x03 ; 3 - 190c: 31 05 cpc r19, r1 - 190e: d9 f1 breq .+118 ; 0x1986 - 1910: 2f 30 cpi r18, 0x0F ; 15 + 190c: 29 2f mov r18, r25 + 190e: 33 27 eor r19, r19 + 1910: 22 30 cpi r18, 0x02 ; 2 1912: 31 05 cpc r19, r1 - 1914: 51 f1 breq .+84 ; 0x196a - 1916: a2 c1 rjmp .+836 ; 0x1c5c + 1914: a9 f0 breq .+42 ; 0x1940 + 1916: 24 f4 brge .+8 ; 0x1920 + 1918: 21 30 cpi r18, 0x01 ; 1 + 191a: 31 05 cpc r19, r1 + 191c: 41 f0 breq .+16 ; 0x192e + 191e: a9 c1 rjmp .+850 ; 0x1c72 + 1920: 23 30 cpi r18, 0x03 ; 3 + 1922: 31 05 cpc r19, r1 + 1924: d9 f1 breq .+118 ; 0x199c + 1926: 2f 30 cpi r18, 0x0F ; 15 + 1928: 31 05 cpc r19, r1 + 192a: 51 f1 breq .+84 ; 0x1980 + 192c: a2 c1 rjmp .+836 ; 0x1c72 } else #endif { udd_set_setup_payload( (uint8_t *) udc_config.confdev_lsfs, udc_config.confdev_lsfs->bLength); - 1918: 80 91 10 20 lds r24, 0x2010 ; 0x802010 - 191c: 90 91 11 20 lds r25, 0x2011 ; 0x802011 + 192e: 80 91 10 20 lds r24, 0x2010 ; 0x802010 + 1932: 90 91 11 20 lds r25, 0x2011 ; 0x802011 (uint8_t *) udc_config.confdev_hs, udc_config.confdev_hs->bLength); } else #endif { udd_set_setup_payload( - 1920: dc 01 movw r26, r24 - 1922: 6c 91 ld r22, X - 1924: 70 e0 ldi r23, 0x00 ; 0 - 1926: ce d5 rcall .+2972 ; 0x24c4 - 1928: 59 c0 rjmp .+178 ; 0x19dc + 1936: dc 01 movw r26, r24 + 1938: 6c 91 ld r22, X + 193a: 70 e0 ldi r23, 0x00 ; 0 + 193c: ce d5 rcall .+2972 ; 0x24da + 193e: 59 c0 rjmp .+178 ; 0x19f2 le16_to_cpu(udc_config.conf_hs[conf_num].desc->wTotalLength)); } else #endif { // FS descriptor if (conf_num >= udc_config.confdev_lsfs-> - 192a: e0 91 10 20 lds r30, 0x2010 ; 0x802010 - 192e: f0 91 11 20 lds r31, 0x2011 ; 0x802011 - 1932: 21 89 ldd r18, Z+17 ; 0x11 - 1934: 82 17 cp r24, r18 - 1936: 08 f0 brcs .+2 ; 0x193a - 1938: 9a c1 rjmp .+820 ; 0x1c6e + 1940: e0 91 10 20 lds r30, 0x2010 ; 0x802010 + 1944: f0 91 11 20 lds r31, 0x2011 ; 0x802011 + 1948: 21 89 ldd r18, Z+17 ; 0x11 + 194a: 82 17 cp r24, r18 + 194c: 08 f0 brcs .+2 ; 0x1950 + 194e: 9a c1 rjmp .+820 ; 0x1c84 bNumConfigurations) { return false; } udd_set_setup_payload( (uint8_t *)udc_config.conf_lsfs[conf_num].desc, le16_to_cpu(udc_config.conf_lsfs[conf_num].desc->wTotalLength)); - 193a: 99 27 eor r25, r25 - 193c: 88 0f add r24, r24 - 193e: 99 1f adc r25, r25 - 1940: 88 0f add r24, r24 - 1942: 99 1f adc r25, r25 - 1944: e0 91 12 20 lds r30, 0x2012 ; 0x802012 - 1948: f0 91 13 20 lds r31, 0x2013 ; 0x802013 - 194c: e8 0f add r30, r24 - 194e: f9 1f adc r31, r25 - 1950: 80 81 ld r24, Z - 1952: 91 81 ldd r25, Z+1 ; 0x01 + 1950: 99 27 eor r25, r25 + 1952: 88 0f add r24, r24 + 1954: 99 1f adc r25, r25 + 1956: 88 0f add r24, r24 + 1958: 99 1f adc r25, r25 + 195a: e0 91 12 20 lds r30, 0x2012 ; 0x802012 + 195e: f0 91 13 20 lds r31, 0x2013 ; 0x802013 + 1962: e8 0f add r30, r24 + 1964: f9 1f adc r31, r25 + 1966: 80 81 ld r24, Z + 1968: 91 81 ldd r25, Z+1 ; 0x01 // FS descriptor if (conf_num >= udc_config.confdev_lsfs-> bNumConfigurations) { return false; } udd_set_setup_payload( - 1954: fc 01 movw r30, r24 - 1956: 62 81 ldd r22, Z+2 ; 0x02 - 1958: 73 81 ldd r23, Z+3 ; 0x03 - 195a: b4 d5 rcall .+2920 ; 0x24c4 + 196a: fc 01 movw r30, r24 + 196c: 62 81 ldd r22, Z+2 ; 0x02 + 196e: 73 81 ldd r23, Z+3 ; 0x03 + 1970: b4 d5 rcall .+2920 ; 0x24da (uint8_t *)udc_config.conf_lsfs[conf_num].desc, le16_to_cpu(udc_config.conf_lsfs[conf_num].desc->wTotalLength)); } ((usb_conf_desc_t *) udd_g_ctrlreq.payload)->bDescriptorType = - 195c: e0 91 62 24 lds r30, 0x2462 ; 0x802462 - 1960: f0 91 63 24 lds r31, 0x2463 ; 0x802463 - 1964: 82 e0 ldi r24, 0x02 ; 2 - 1966: 81 83 std Z+1, r24 ; 0x01 - 1968: 39 c0 rjmp .+114 ; 0x19dc + 1972: e0 91 62 24 lds r30, 0x2462 ; 0x802462 + 1976: f0 91 63 24 lds r31, 0x2463 ; 0x802463 + 197a: 82 e0 ldi r24, 0x02 ; 2 + 197c: 81 83 std Z+1, r24 ; 0x01 + 197e: 39 c0 rjmp .+114 ; 0x19f2 break; #endif case USB_DT_BOS: // Device BOS descriptor requested if (udc_config.conf_bos == NULL) { - 196a: 80 91 14 20 lds r24, 0x2014 ; 0x802014 - 196e: 90 91 15 20 lds r25, 0x2015 ; 0x802015 - 1972: 00 97 sbiw r24, 0x00 ; 0 - 1974: 09 f4 brne .+2 ; 0x1978 - 1976: 7b c1 rjmp .+758 ; 0x1c6e + 1980: 80 91 14 20 lds r24, 0x2014 ; 0x802014 + 1984: 90 91 15 20 lds r25, 0x2015 ; 0x802015 + 1988: 00 97 sbiw r24, 0x00 ; 0 + 198a: 09 f4 brne .+2 ; 0x198e + 198c: 7b c1 rjmp .+758 ; 0x1c84 return false; } udd_set_setup_payload( (uint8_t *) udc_config.conf_bos, - 1978: dc 01 movw r26, r24 - 197a: 12 96 adiw r26, 0x02 ; 2 - 197c: 6d 91 ld r22, X+ - 197e: 7c 91 ld r23, X - 1980: 13 97 sbiw r26, 0x03 ; 3 - 1982: a0 d5 rcall .+2880 ; 0x24c4 - 1984: 2b c0 rjmp .+86 ; 0x19dc + 198e: dc 01 movw r26, r24 + 1990: 12 96 adiw r26, 0x02 ; 2 + 1992: 6d 91 ld r22, X+ + 1994: 7c 91 ld r23, X + 1996: 13 97 sbiw r26, 0x03 ; 3 + 1998: a0 d5 rcall .+2880 ; 0x24da + 199a: 2b c0 rjmp .+86 ; 0x19f2 uint8_t i; const uint8_t *str; uint8_t str_length = 0; // Link payload pointer to the string corresponding at request switch (udd_g_ctrlreq.req.wValue & 0xff) { - 1986: 99 27 eor r25, r25 - 1988: 81 30 cpi r24, 0x01 ; 1 - 198a: 91 05 cpc r25, r1 - 198c: 71 f0 breq .+28 ; 0x19aa - 198e: 38 f0 brcs .+14 ; 0x199e - 1990: 02 97 sbiw r24, 0x02 ; 2 - 1992: 09 f0 breq .+2 ; 0x1996 - 1994: 6c c1 rjmp .+728 ; 0x1c6e + 199c: 99 27 eor r25, r25 + 199e: 81 30 cpi r24, 0x01 ; 1 + 19a0: 91 05 cpc r25, r1 + 19a2: 71 f0 breq .+28 ; 0x19c0 + 19a4: 38 f0 brcs .+14 ; 0x19b4 + 19a6: 02 97 sbiw r24, 0x02 ; 2 + 19a8: 09 f0 breq .+2 ; 0x19ac + 19aa: 6c c1 rjmp .+728 ; 0x1c84 break; #endif #ifdef USB_DEVICE_PRODUCT_NAME case 2: str_length = USB_DEVICE_PRODUCT_NAME_SIZE; str = udc_string_product_name; - 1996: 8a e8 ldi r24, 0x8A ; 138 - 1998: 90 e2 ldi r25, 0x20 ; 32 + 19ac: 8a e8 ldi r24, 0x8A ; 138 + 19ae: 90 e2 ldi r25, 0x20 ; 32 str = udc_string_manufacturer_name; break; #endif #ifdef USB_DEVICE_PRODUCT_NAME case 2: str_length = USB_DEVICE_PRODUCT_NAME_SIZE; - 199a: 28 e1 ldi r18, 0x18 ; 24 - 199c: 09 c0 rjmp .+18 ; 0x19b0 + 19b0: 28 e1 ldi r18, 0x18 ; 24 + 19b2: 09 c0 rjmp .+18 ; 0x19c6 uint8_t str_length = 0; // Link payload pointer to the string corresponding at request switch (udd_g_ctrlreq.req.wValue & 0xff) { case 0: udd_set_setup_payload((uint8_t *) &udc_string_desc_languageid, - 199e: 64 e0 ldi r22, 0x04 ; 4 - 19a0: 70 e0 ldi r23, 0x00 ; 0 - 19a2: 8e ea ldi r24, 0xAE ; 174 - 19a4: 90 e2 ldi r25, 0x20 ; 32 - 19a6: 8e d5 rcall .+2844 ; 0x24c4 - 19a8: 19 c0 rjmp .+50 ; 0x19dc + 19b4: 64 e0 ldi r22, 0x04 ; 4 + 19b6: 70 e0 ldi r23, 0x00 ; 0 + 19b8: 8e ea ldi r24, 0xAE ; 174 + 19ba: 90 e2 ldi r25, 0x20 ; 32 + 19bc: 8e d5 rcall .+2844 ; 0x24da + 19be: 19 c0 rjmp .+50 ; 0x19f2 break; #ifdef USB_DEVICE_MANUFACTURE_NAME case 1: str_length = USB_DEVICE_MANUFACTURE_NAME_SIZE; str = udc_string_manufacturer_name; - 19aa: 83 ea ldi r24, 0xA3 ; 163 - 19ac: 90 e2 ldi r25, 0x20 ; 32 + 19c0: 83 ea ldi r24, 0xA3 ; 163 + 19c2: 90 e2 ldi r25, 0x20 ; 32 sizeof(udc_string_desc_languageid)); break; #ifdef USB_DEVICE_MANUFACTURE_NAME case 1: str_length = USB_DEVICE_MANUFACTURE_NAME_SIZE; - 19ae: 29 e0 ldi r18, 0x09 ; 9 - 19b0: 38 2f mov r19, r24 - 19b2: aa e5 ldi r26, 0x5A ; 90 - 19b4: b0 e2 ldi r27, 0x20 ; 32 + 19c4: 29 e0 ldi r18, 0x09 ; 9 + 19c6: 38 2f mov r19, r24 + 19c8: aa e5 ldi r26, 0x5A ; 90 + 19ca: b0 e2 ldi r27, 0x20 ; 32 str = udc_string_manufacturer_name; break; #endif #ifdef USB_DEVICE_PRODUCT_NAME case 2: str_length = USB_DEVICE_PRODUCT_NAME_SIZE; - 19b6: e8 2f mov r30, r24 - 19b8: f9 2f mov r31, r25 + 19cc: e8 2f mov r30, r24 + 19ce: f9 2f mov r31, r25 return false; } if (str_length) { for(i = 0; i < str_length; i++) { udc_string_desc.string[i] = cpu_to_le16((le16_t)str[i]); - 19ba: 81 91 ld r24, Z+ - 19bc: 90 e0 ldi r25, 0x00 ; 0 - 19be: 8d 93 st X+, r24 - 19c0: 9d 93 st X+, r25 - 19c2: 8e 2f mov r24, r30 - 19c4: 83 1b sub r24, r19 + 19d0: 81 91 ld r24, Z+ + 19d2: 90 e0 ldi r25, 0x00 ; 0 + 19d4: 8d 93 st X+, r24 + 19d6: 9d 93 st X+, r25 + 19d8: 8e 2f mov r24, r30 + 19da: 83 1b sub r24, r19 #endif return false; } if (str_length) { for(i = 0; i < str_length; i++) { - 19c6: 82 17 cp r24, r18 - 19c8: c0 f3 brcs .-16 ; 0x19ba + 19dc: 82 17 cp r24, r18 + 19de: c0 f3 brcs .-16 ; 0x19d0 udc_string_desc.string[i] = cpu_to_le16((le16_t)str[i]); } udc_string_desc.header.bLength = 2 + (str_length) * 2; - 19ca: 62 2f mov r22, r18 - 19cc: 66 0f add r22, r22 - 19ce: 6e 5f subi r22, 0xFE ; 254 - 19d0: 60 93 58 20 sts 0x2058, r22 ; 0x802058 + 19e0: 62 2f mov r22, r18 + 19e2: 66 0f add r22, r22 + 19e4: 6e 5f subi r22, 0xFE ; 254 + 19e6: 60 93 58 20 sts 0x2058, r22 ; 0x802058 udd_set_setup_payload( - 19d4: 70 e0 ldi r23, 0x00 ; 0 - 19d6: 88 e5 ldi r24, 0x58 ; 88 - 19d8: 90 e2 ldi r25, 0x20 ; 32 - 19da: 74 d5 rcall .+2792 ; 0x24c4 + 19ea: 70 e0 ldi r23, 0x00 ; 0 + 19ec: 88 e5 ldi r24, 0x58 ; 88 + 19ee: 90 e2 ldi r25, 0x20 ; 32 + 19f0: 74 d5 rcall .+2792 ; 0x24da default: // Unknown descriptor requested return false; } // if the descriptor is larger than length requested, then reduce it if (udd_g_ctrlreq.req.wLength < udd_g_ctrlreq.payload_size) { - 19dc: ea e5 ldi r30, 0x5A ; 90 - 19de: f4 e2 ldi r31, 0x24 ; 36 - 19e0: 86 81 ldd r24, Z+6 ; 0x06 - 19e2: 97 81 ldd r25, Z+7 ; 0x07 - 19e4: 22 85 ldd r18, Z+10 ; 0x0a - 19e6: 33 85 ldd r19, Z+11 ; 0x0b - 19e8: 82 17 cp r24, r18 - 19ea: 93 07 cpc r25, r19 - 19ec: 08 f0 brcs .+2 ; 0x19f0 - 19ee: bc c1 rjmp .+888 ; 0x1d68 + 19f2: ea e5 ldi r30, 0x5A ; 90 + 19f4: f4 e2 ldi r31, 0x24 ; 36 + 19f6: 86 81 ldd r24, Z+6 ; 0x06 + 19f8: 97 81 ldd r25, Z+7 ; 0x07 + 19fa: 22 85 ldd r18, Z+10 ; 0x0a + 19fc: 33 85 ldd r19, Z+11 ; 0x0b + 19fe: 82 17 cp r24, r18 + 1a00: 93 07 cpc r25, r19 + 1a02: 08 f0 brcs .+2 ; 0x1a06 + 1a04: bc c1 rjmp .+888 ; 0x1d7e udd_g_ctrlreq.payload_size = udd_g_ctrlreq.req.wLength; - 19f0: 80 93 64 24 sts 0x2464, r24 ; 0x802464 - 19f4: 90 93 65 24 sts 0x2465, r25 ; 0x802465 - 19f8: b7 c1 rjmp .+878 ; 0x1d68 + 1a06: 80 93 64 24 sts 0x2464, r24 ; 0x802464 + 1a0a: 90 93 65 24 sts 0x2465, r25 ; 0x802465 + 1a0e: b7 c1 rjmp .+878 ; 0x1d7e * * \return true if success */ static bool udc_req_std_dev_get_configuration(void) { if (udd_g_ctrlreq.req.wLength != 1) { - 19fa: 21 30 cpi r18, 0x01 ; 1 - 19fc: 31 05 cpc r19, r1 - 19fe: 09 f0 breq .+2 ; 0x1a02 - 1a00: 36 c1 rjmp .+620 ; 0x1c6e + 1a10: 21 30 cpi r18, 0x01 ; 1 + 1a12: 31 05 cpc r19, r1 + 1a14: 09 f0 breq .+2 ; 0x1a18 + 1a16: 36 c1 rjmp .+620 ; 0x1c84 return false; } udd_set_setup_payload(&udc_num_configuration,1); - 1a02: 61 e0 ldi r22, 0x01 ; 1 - 1a04: 70 e0 ldi r23, 0x00 ; 0 - 1a06: 8e eb ldi r24, 0xBE ; 190 - 1a08: 90 e2 ldi r25, 0x20 ; 32 - 1a0a: 5c d5 rcall .+2744 ; 0x24c4 - 1a0c: ad c1 rjmp .+858 ; 0x1d68 + 1a18: 61 e0 ldi r22, 0x01 ; 1 + 1a1a: 70 e0 ldi r23, 0x00 ; 0 + 1a1c: 8e eb ldi r24, 0xBE ; 190 + 1a1e: 90 e2 ldi r25, 0x20 ; 32 + 1a20: 5c d5 rcall .+2744 ; 0x24da + 1a22: ad c1 rjmp .+858 ; 0x1d7e default: break; } } if (USB_REQ_RECIP_INTERFACE == Udd_setup_recipient()) { - 1a0e: 81 30 cpi r24, 0x01 ; 1 - 1a10: e1 f5 brne .+120 ; 0x1a8a + 1a24: 81 30 cpi r24, 0x01 ; 1 + 1a26: e1 f5 brne .+120 ; 0x1aa0 // Standard Get Interface request switch (udd_g_ctrlreq.req.bRequest) { - 1a12: 90 91 5b 24 lds r25, 0x245B ; 0x80245b - 1a16: 9a 30 cpi r25, 0x0A ; 10 - 1a18: c1 f5 brne .+112 ; 0x1a8a + 1a28: 90 91 5b 24 lds r25, 0x245B ; 0x80245b + 1a2c: 9a 30 cpi r25, 0x0A ; 10 + 1a2e: c1 f5 brne .+112 ; 0x1aa0 static bool udc_req_std_iface_get_setting(void) { uint8_t iface_num; udi_api_t UDC_DESC_STORAGE *udi_api; if (udd_g_ctrlreq.req.wLength != 1) { - 1a1a: 21 30 cpi r18, 0x01 ; 1 - 1a1c: 31 05 cpc r19, r1 - 1a1e: 09 f0 breq .+2 ; 0x1a22 - 1a20: 26 c1 rjmp .+588 ; 0x1c6e + 1a30: 21 30 cpi r18, 0x01 ; 1 + 1a32: 31 05 cpc r19, r1 + 1a34: 09 f0 breq .+2 ; 0x1a38 + 1a36: 26 c1 rjmp .+588 ; 0x1c84 return false; // Error in request } if (!udc_num_configuration) { - 1a22: 80 91 be 20 lds r24, 0x20BE ; 0x8020be - 1a26: 88 23 and r24, r24 - 1a28: 09 f4 brne .+2 ; 0x1a2c - 1a2a: 21 c1 rjmp .+578 ; 0x1c6e + 1a38: 80 91 be 20 lds r24, 0x20BE ; 0x8020be + 1a3c: 88 23 and r24, r24 + 1a3e: 09 f4 brne .+2 ; 0x1a42 + 1a40: 21 c1 rjmp .+578 ; 0x1c84 return false; // The device is not is configured state yet } // Check the interface number included in the request iface_num = udd_g_ctrlreq.req.wIndex & 0xFF; - 1a2c: c0 91 5e 24 lds r28, 0x245E ; 0x80245e - 1a30: d0 91 5f 24 lds r29, 0x245F ; 0x80245f + 1a42: c0 91 5e 24 lds r28, 0x245E ; 0x80245e + 1a46: d0 91 5f 24 lds r29, 0x245F ; 0x80245f if (iface_num >= udc_ptr_conf->desc->bNumInterfaces) { - 1a34: 00 91 bc 20 lds r16, 0x20BC ; 0x8020bc - 1a38: 10 91 bd 20 lds r17, 0x20BD ; 0x8020bd - 1a3c: d8 01 movw r26, r16 - 1a3e: ed 91 ld r30, X+ - 1a40: fc 91 ld r31, X - 1a42: 84 81 ldd r24, Z+4 ; 0x04 - 1a44: c8 17 cp r28, r24 - 1a46: 08 f0 brcs .+2 ; 0x1a4a - 1a48: 12 c1 rjmp .+548 ; 0x1c6e + 1a4a: 00 91 bc 20 lds r16, 0x20BC ; 0x8020bc + 1a4e: 10 91 bd 20 lds r17, 0x20BD ; 0x8020bd + 1a52: d8 01 movw r26, r16 + 1a54: ed 91 ld r30, X+ + 1a56: fc 91 ld r31, X + 1a58: 84 81 ldd r24, Z+4 ; 0x04 + 1a5a: c8 17 cp r28, r24 + 1a5c: 08 f0 brcs .+2 ; 0x1a60 + 1a5e: 12 c1 rjmp .+548 ; 0x1c84 return false; } // Select first alternate setting of the interface to update udc_ptr_iface // before call iface->getsetting() if (!udc_update_iface_desc(iface_num, 0)) { - 1a4a: 60 e0 ldi r22, 0x00 ; 0 - 1a4c: 8c 2f mov r24, r28 - 1a4e: fe dc rcall .-1540 ; 0x144c - 1a50: 88 23 and r24, r24 - 1a52: 09 f4 brne .+2 ; 0x1a56 - 1a54: 0c c1 rjmp .+536 ; 0x1c6e + 1a60: 60 e0 ldi r22, 0x00 ; 0 + 1a62: 8c 2f mov r24, r28 + 1a64: fe dc rcall .-1540 ; 0x1462 + 1a66: 88 23 and r24, r24 + 1a68: 09 f4 brne .+2 ; 0x1a6c + 1a6a: 0c c1 rjmp .+536 ; 0x1c84 return false; } // Get alternate setting from UDI udi_api = udc_ptr_conf->udi_apis[iface_num]; - 1a56: ce 01 movw r24, r28 - 1a58: 99 27 eor r25, r25 - 1a5a: 88 0f add r24, r24 - 1a5c: 99 1f adc r25, r25 - 1a5e: d8 01 movw r26, r16 - 1a60: 12 96 adiw r26, 0x02 ; 2 - 1a62: ed 91 ld r30, X+ - 1a64: fc 91 ld r31, X - 1a66: 13 97 sbiw r26, 0x03 ; 3 - 1a68: e8 0f add r30, r24 - 1a6a: f9 1f adc r31, r25 + 1a6c: ce 01 movw r24, r28 + 1a6e: 99 27 eor r25, r25 + 1a70: 88 0f add r24, r24 + 1a72: 99 1f adc r25, r25 + 1a74: d8 01 movw r26, r16 + 1a76: 12 96 adiw r26, 0x02 ; 2 + 1a78: ed 91 ld r30, X+ + 1a7a: fc 91 ld r31, X + 1a7c: 13 97 sbiw r26, 0x03 ; 3 + 1a7e: e8 0f add r30, r24 + 1a80: f9 1f adc r31, r25 udc_iface_setting = udi_api->getsetting(); - 1a6c: 01 90 ld r0, Z+ - 1a6e: f0 81 ld r31, Z - 1a70: e0 2d mov r30, r0 - 1a72: 86 81 ldd r24, Z+6 ; 0x06 - 1a74: 97 81 ldd r25, Z+7 ; 0x07 - 1a76: fc 01 movw r30, r24 - 1a78: 09 95 icall - 1a7a: 80 93 c0 20 sts 0x20C0, r24 ; 0x8020c0 + 1a82: 01 90 ld r0, Z+ + 1a84: f0 81 ld r31, Z + 1a86: e0 2d mov r30, r0 + 1a88: 86 81 ldd r24, Z+6 ; 0x06 + 1a8a: 97 81 ldd r25, Z+7 ; 0x07 + 1a8c: fc 01 movw r30, r24 + 1a8e: 09 95 icall + 1a90: 80 93 c0 20 sts 0x20C0, r24 ; 0x8020c0 // Link value to payload pointer of request udd_set_setup_payload(&udc_iface_setting,1); - 1a7e: 61 e0 ldi r22, 0x01 ; 1 - 1a80: 70 e0 ldi r23, 0x00 ; 0 - 1a82: 80 ec ldi r24, 0xC0 ; 192 - 1a84: 90 e2 ldi r25, 0x20 ; 32 - 1a86: 1e d5 rcall .+2620 ; 0x24c4 - 1a88: 6f c1 rjmp .+734 ; 0x1d68 + 1a94: 61 e0 ldi r22, 0x01 ; 1 + 1a96: 70 e0 ldi r23, 0x00 ; 0 + 1a98: 80 ec ldi r24, 0xC0 ; 192 + 1a9a: 90 e2 ldi r25, 0x20 ; 32 + 1a9c: 1e d5 rcall .+2620 ; 0x24da + 1a9e: 6f c1 rjmp .+734 ; 0x1d7e default: break; } } #if (0!=USB_DEVICE_MAX_EP) if (USB_REQ_RECIP_ENDPOINT == Udd_setup_recipient()) { - 1a8a: 82 30 cpi r24, 0x02 ; 2 - 1a8c: 09 f0 breq .+2 ; 0x1a90 - 1a8e: ef c0 rjmp .+478 ; 0x1c6e + 1aa0: 82 30 cpi r24, 0x02 ; 2 + 1aa2: 09 f0 breq .+2 ; 0x1aa6 + 1aa4: ef c0 rjmp .+478 ; 0x1c84 // Standard Get Endpoint request switch (udd_g_ctrlreq.req.bRequest) { - 1a90: 80 91 5b 24 lds r24, 0x245B ; 0x80245b - 1a94: 81 11 cpse r24, r1 - 1a96: e4 c0 rjmp .+456 ; 0x1c60 + 1aa6: 80 91 5b 24 lds r24, 0x245B ; 0x80245b + 1aaa: 81 11 cpse r24, r1 + 1aac: e4 c0 rjmp .+456 ; 0x1c76 */ static bool udc_req_std_ep_get_status(void) { static le16_t udc_ep_status; if (udd_g_ctrlreq.req.wLength != sizeof(udc_ep_status)) { - 1a98: 22 30 cpi r18, 0x02 ; 2 - 1a9a: 31 05 cpc r19, r1 - 1a9c: 09 f0 breq .+2 ; 0x1aa0 - 1a9e: e7 c0 rjmp .+462 ; 0x1c6e + 1aae: 22 30 cpi r18, 0x02 ; 2 + 1ab0: 31 05 cpc r19, r1 + 1ab2: 09 f0 breq .+2 ; 0x1ab6 + 1ab4: e7 c0 rjmp .+462 ; 0x1c84 return false; } udc_ep_status = udd_ep_is_halted(udd_g_ctrlreq.req. - 1aa0: 80 91 5e 24 lds r24, 0x245E ; 0x80245e - 1aa4: 8b d5 rcall .+2838 ; 0x25bc - 1aa6: 90 e0 ldi r25, 0x00 ; 0 - 1aa8: 80 93 b8 20 sts 0x20B8, r24 ; 0x8020b8 - 1aac: 90 93 b9 20 sts 0x20B9, r25 ; 0x8020b9 + 1ab6: 80 91 5e 24 lds r24, 0x245E ; 0x80245e + 1aba: 8b d5 rcall .+2838 ; 0x25d2 + 1abc: 90 e0 ldi r25, 0x00 ; 0 + 1abe: 80 93 b8 20 sts 0x20B8, r24 ; 0x8020b8 + 1ac2: 90 93 b9 20 sts 0x20B9, r25 ; 0x8020b9 wIndex & 0xFF) ? CPU_TO_LE16(USB_EP_STATUS_HALTED) : 0; udd_set_setup_payload( (uint8_t *) & udc_ep_status, - 1ab0: 62 e0 ldi r22, 0x02 ; 2 - 1ab2: 70 e0 ldi r23, 0x00 ; 0 - 1ab4: 88 eb ldi r24, 0xB8 ; 184 - 1ab6: 90 e2 ldi r25, 0x20 ; 32 - 1ab8: 05 d5 rcall .+2570 ; 0x24c4 - 1aba: 56 c1 rjmp .+684 ; 0x1d68 + 1ac6: 62 e0 ldi r22, 0x02 ; 2 + 1ac8: 70 e0 ldi r23, 0x00 ; 0 + 1aca: 88 eb ldi r24, 0xB8 ; 184 + 1acc: 90 e2 ldi r25, 0x20 ; 32 + 1ace: 05 d5 rcall .+2570 ; 0x24da + 1ad0: 56 c1 rjmp .+684 ; 0x1d7e } } #endif } else { // SET Standard Requests if (USB_REQ_RECIP_DEVICE == Udd_setup_recipient()) { - 1abc: 8f 71 andi r24, 0x1F ; 31 - 1abe: 09 f0 breq .+2 ; 0x1ac2 - 1ac0: 83 c0 rjmp .+262 ; 0x1bc8 + 1ad2: 8f 71 andi r24, 0x1F ; 31 + 1ad4: 09 f0 breq .+2 ; 0x1ad8 + 1ad6: 83 c0 rjmp .+262 ; 0x1bde // Standard Set Device request switch (udd_g_ctrlreq.req.bRequest) { - 1ac2: 90 91 5b 24 lds r25, 0x245B ; 0x80245b - 1ac6: 93 30 cpi r25, 0x03 ; 3 - 1ac8: 09 f4 brne .+2 ; 0x1acc - 1aca: cc c0 rjmp .+408 ; 0x1c64 - 1acc: 18 f4 brcc .+6 ; 0x1ad4 - 1ace: 91 30 cpi r25, 0x01 ; 1 - 1ad0: a1 f0 breq .+40 ; 0x1afa - 1ad2: 7a c0 rjmp .+244 ; 0x1bc8 - 1ad4: 95 30 cpi r25, 0x05 ; 5 - 1ad6: 19 f0 breq .+6 ; 0x1ade - 1ad8: 99 30 cpi r25, 0x09 ; 9 - 1ada: 39 f1 breq .+78 ; 0x1b2a - 1adc: 75 c0 rjmp .+234 ; 0x1bc8 + 1ad8: 90 91 5b 24 lds r25, 0x245B ; 0x80245b + 1adc: 93 30 cpi r25, 0x03 ; 3 + 1ade: 09 f4 brne .+2 ; 0x1ae2 + 1ae0: cc c0 rjmp .+408 ; 0x1c7a + 1ae2: 18 f4 brcc .+6 ; 0x1aea + 1ae4: 91 30 cpi r25, 0x01 ; 1 + 1ae6: a1 f0 breq .+40 ; 0x1b10 + 1ae8: 7a c0 rjmp .+244 ; 0x1bde + 1aea: 95 30 cpi r25, 0x05 ; 5 + 1aec: 19 f0 breq .+6 ; 0x1af4 + 1aee: 99 30 cpi r25, 0x09 ; 9 + 1af0: 39 f1 breq .+78 ; 0x1b40 + 1af2: 75 c0 rjmp .+234 ; 0x1bde * * \return true if success */ static bool udc_req_std_dev_set_address(void) { if (udd_g_ctrlreq.req.wLength) { - 1ade: 80 91 60 24 lds r24, 0x2460 ; 0x802460 - 1ae2: 90 91 61 24 lds r25, 0x2461 ; 0x802461 - 1ae6: 89 2b or r24, r25 - 1ae8: 09 f0 breq .+2 ; 0x1aec - 1aea: c1 c0 rjmp .+386 ; 0x1c6e + 1af4: 80 91 60 24 lds r24, 0x2460 ; 0x802460 + 1af8: 90 91 61 24 lds r25, 0x2461 ; 0x802461 + 1afc: 89 2b or r24, r25 + 1afe: 09 f0 breq .+2 ; 0x1b02 + 1b00: c1 c0 rjmp .+386 ; 0x1c84 return false; } // The address must be changed at the end of setup request after the handshake // then we use a callback to change address udd_g_ctrlreq.callback = udc_valid_address; - 1aec: 80 e2 ldi r24, 0x20 ; 32 - 1aee: 9a e0 ldi r25, 0x0A ; 10 - 1af0: 80 93 66 24 sts 0x2466, r24 ; 0x802466 - 1af4: 90 93 67 24 sts 0x2467, r25 ; 0x802467 - 1af8: 37 c1 rjmp .+622 ; 0x1d68 + 1b02: 8b e2 ldi r24, 0x2B ; 43 + 1b04: 9a e0 ldi r25, 0x0A ; 10 + 1b06: 80 93 66 24 sts 0x2466, r24 ; 0x802466 + 1b0a: 90 93 67 24 sts 0x2467, r25 ; 0x802467 + 1b0e: 37 c1 rjmp .+622 ; 0x1d7e * * \return true if success */ static bool udc_req_std_dev_clear_feature(void) { if (udd_g_ctrlreq.req.wLength) { - 1afa: 80 91 60 24 lds r24, 0x2460 ; 0x802460 - 1afe: 90 91 61 24 lds r25, 0x2461 ; 0x802461 - 1b02: 89 2b or r24, r25 - 1b04: 09 f0 breq .+2 ; 0x1b08 - 1b06: b3 c0 rjmp .+358 ; 0x1c6e + 1b10: 80 91 60 24 lds r24, 0x2460 ; 0x802460 + 1b14: 90 91 61 24 lds r25, 0x2461 ; 0x802461 + 1b18: 89 2b or r24, r25 + 1b1a: 09 f0 breq .+2 ; 0x1b1e + 1b1c: b3 c0 rjmp .+358 ; 0x1c84 return false; } if (udd_g_ctrlreq.req.wValue == USB_DEV_FEATURE_REMOTE_WAKEUP) { - 1b08: 80 91 5c 24 lds r24, 0x245C ; 0x80245c - 1b0c: 90 91 5d 24 lds r25, 0x245D ; 0x80245d - 1b10: 01 97 sbiw r24, 0x01 ; 1 - 1b12: 09 f0 breq .+2 ; 0x1b16 - 1b14: ac c0 rjmp .+344 ; 0x1c6e + 1b1e: 80 91 5c 24 lds r24, 0x245C ; 0x80245c + 1b22: 90 91 5d 24 lds r25, 0x245D ; 0x80245d + 1b26: 01 97 sbiw r24, 0x01 ; 1 + 1b28: 09 f0 breq .+2 ; 0x1b2c + 1b2a: ac c0 rjmp .+344 ; 0x1c84 udc_device_status &= CPU_TO_LE16(~(uint32_t)USB_DEV_STATUS_REMOTEWAKEUP); - 1b16: 80 91 c2 20 lds r24, 0x20C2 ; 0x8020c2 - 1b1a: 90 91 c3 20 lds r25, 0x20C3 ; 0x8020c3 - 1b1e: 8d 7f andi r24, 0xFD ; 253 - 1b20: 80 93 c2 20 sts 0x20C2, r24 ; 0x8020c2 - 1b24: 90 93 c3 20 sts 0x20C3, r25 ; 0x8020c3 - 1b28: 1f c1 rjmp .+574 ; 0x1d68 + 1b2c: 80 91 c2 20 lds r24, 0x20C2 ; 0x8020c2 + 1b30: 90 91 c3 20 lds r25, 0x20C3 ; 0x8020c3 + 1b34: 8d 7f andi r24, 0xFD ; 253 + 1b36: 80 93 c2 20 sts 0x20C2, r24 ; 0x8020c2 + 1b3a: 90 93 c3 20 sts 0x20C3, r25 ; 0x8020c3 + 1b3e: 1f c1 rjmp .+574 ; 0x1d7e static bool udc_req_std_dev_set_configuration(void) { uint8_t iface_num; // Check request length if (udd_g_ctrlreq.req.wLength) { - 1b2a: 80 91 60 24 lds r24, 0x2460 ; 0x802460 - 1b2e: 90 91 61 24 lds r25, 0x2461 ; 0x802461 - 1b32: 89 2b or r24, r25 - 1b34: 09 f0 breq .+2 ; 0x1b38 - 1b36: 9b c0 rjmp .+310 ; 0x1c6e + 1b40: 80 91 60 24 lds r24, 0x2460 ; 0x802460 + 1b44: 90 91 61 24 lds r25, 0x2461 ; 0x802461 + 1b48: 89 2b or r24, r25 + 1b4a: 09 f0 breq .+2 ; 0x1b4e + 1b4c: 9b c0 rjmp .+310 ; 0x1c84 return false; } // Authorize configuration only if the address is valid if (!udd_getaddress()) { - 1b38: c2 d4 rcall .+2436 ; 0x24be - 1b3a: 88 23 and r24, r24 - 1b3c: 09 f4 brne .+2 ; 0x1b40 - 1b3e: 97 c0 rjmp .+302 ; 0x1c6e + 1b4e: c2 d4 rcall .+2436 ; 0x24d4 + 1b50: 88 23 and r24, r24 + 1b52: 09 f4 brne .+2 ; 0x1b56 + 1b54: 97 c0 rjmp .+302 ; 0x1c84 } } else #endif { // FS descriptor if ((udd_g_ctrlreq.req.wValue & 0xFF) > - 1b40: 20 91 5c 24 lds r18, 0x245C ; 0x80245c - 1b44: 30 91 5d 24 lds r19, 0x245D ; 0x80245d - 1b48: 33 27 eor r19, r19 + 1b56: 20 91 5c 24 lds r18, 0x245C ; 0x80245c + 1b5a: 30 91 5d 24 lds r19, 0x245D ; 0x80245d + 1b5e: 33 27 eor r19, r19 udc_config.confdev_lsfs->bNumConfigurations) { - 1b4a: e0 91 10 20 lds r30, 0x2010 ; 0x802010 - 1b4e: f0 91 11 20 lds r31, 0x2011 ; 0x802011 + 1b60: e0 91 10 20 lds r30, 0x2010 ; 0x802010 + 1b64: f0 91 11 20 lds r31, 0x2011 ; 0x802011 } } else #endif { // FS descriptor if ((udd_g_ctrlreq.req.wValue & 0xFF) > - 1b52: 81 89 ldd r24, Z+17 ; 0x11 - 1b54: 90 e0 ldi r25, 0x00 ; 0 - 1b56: 82 17 cp r24, r18 - 1b58: 93 07 cpc r25, r19 - 1b5a: 08 f4 brcc .+2 ; 0x1b5e - 1b5c: 88 c0 rjmp .+272 ; 0x1c6e + 1b68: 81 89 ldd r24, Z+17 ; 0x11 + 1b6a: 90 e0 ldi r25, 0x00 ; 0 + 1b6c: 82 17 cp r24, r18 + 1b6e: 93 07 cpc r25, r19 + 1b70: 08 f4 brcc .+2 ; 0x1b74 + 1b72: 88 c0 rjmp .+272 ; 0x1c84 return false; } } // Reset current configuration udc_reset(); - 1b5e: 2b dd rcall .-1450 ; 0x15b6 + 1b74: 2b dd rcall .-1450 ; 0x15cc // Enable new configuration udc_num_configuration = udd_g_ctrlreq.req.wValue & 0xFF; - 1b60: 80 91 5c 24 lds r24, 0x245C ; 0x80245c - 1b64: 90 91 5d 24 lds r25, 0x245D ; 0x80245d - 1b68: 80 93 be 20 sts 0x20BE, r24 ; 0x8020be + 1b76: 80 91 5c 24 lds r24, 0x245C ; 0x80245c + 1b7a: 90 91 5d 24 lds r25, 0x245D ; 0x80245d + 1b7e: 80 93 be 20 sts 0x20BE, r24 ; 0x8020be if (udc_num_configuration == 0) { - 1b6c: 88 23 and r24, r24 - 1b6e: 09 f4 brne .+2 ; 0x1b72 - 1b70: fb c0 rjmp .+502 ; 0x1d68 + 1b82: 88 23 and r24, r24 + 1b84: 09 f4 brne .+2 ; 0x1b88 + 1b86: fb c0 rjmp .+502 ; 0x1d7e udc_ptr_conf = &udc_config.conf_hs[udc_num_configuration - 1]; } else #endif { // FS descriptor udc_ptr_conf = &udc_config.conf_lsfs[udc_num_configuration - 1]; - 1b72: 99 27 eor r25, r25 - 1b74: 81 50 subi r24, 0x01 ; 1 - 1b76: 90 4c sbci r25, 0xC0 ; 192 - 1b78: 88 0f add r24, r24 - 1b7a: 99 1f adc r25, r25 - 1b7c: 88 0f add r24, r24 - 1b7e: 99 1f adc r25, r25 - 1b80: e0 91 12 20 lds r30, 0x2012 ; 0x802012 - 1b84: f0 91 13 20 lds r31, 0x2013 ; 0x802013 - 1b88: e8 0f add r30, r24 - 1b8a: f9 1f adc r31, r25 - 1b8c: e0 93 bc 20 sts 0x20BC, r30 ; 0x8020bc - 1b90: f0 93 bd 20 sts 0x20BD, r31 ; 0x8020bd + 1b88: 99 27 eor r25, r25 + 1b8a: 81 50 subi r24, 0x01 ; 1 + 1b8c: 90 4c sbci r25, 0xC0 ; 192 + 1b8e: 88 0f add r24, r24 + 1b90: 99 1f adc r25, r25 + 1b92: 88 0f add r24, r24 + 1b94: 99 1f adc r25, r25 + 1b96: e0 91 12 20 lds r30, 0x2012 ; 0x802012 + 1b9a: f0 91 13 20 lds r31, 0x2013 ; 0x802013 + 1b9e: e8 0f add r30, r24 + 1ba0: f9 1f adc r31, r25 + 1ba2: e0 93 bc 20 sts 0x20BC, r30 ; 0x8020bc + 1ba6: f0 93 bd 20 sts 0x20BD, r31 ; 0x8020bd } // Enable all interfaces of the selected configuration for (iface_num = 0; iface_num < udc_ptr_conf->desc->bNumInterfaces; - 1b94: 01 90 ld r0, Z+ - 1b96: f0 81 ld r31, Z - 1b98: e0 2d mov r30, r0 - 1b9a: 84 81 ldd r24, Z+4 ; 0x04 - 1b9c: 88 23 and r24, r24 - 1b9e: 09 f4 brne .+2 ; 0x1ba2 - 1ba0: e3 c0 rjmp .+454 ; 0x1d68 - 1ba2: c0 e0 ldi r28, 0x00 ; 0 + 1baa: 01 90 ld r0, Z+ + 1bac: f0 81 ld r31, Z + 1bae: e0 2d mov r30, r0 + 1bb0: 84 81 ldd r24, Z+4 ; 0x04 + 1bb2: 88 23 and r24, r24 + 1bb4: 09 f4 brne .+2 ; 0x1bb8 + 1bb6: e3 c0 rjmp .+454 ; 0x1d7e + 1bb8: c0 e0 ldi r28, 0x00 ; 0 iface_num++) { if (!udc_iface_enable(iface_num, 0)) { - 1ba4: 60 e0 ldi r22, 0x00 ; 0 - 1ba6: 8c 2f mov r24, r28 - 1ba8: cd dc rcall .-1638 ; 0x1544 - 1baa: 88 23 and r24, r24 - 1bac: 09 f4 brne .+2 ; 0x1bb0 - 1bae: 5f c0 rjmp .+190 ; 0x1c6e + 1bba: 60 e0 ldi r22, 0x00 ; 0 + 1bbc: 8c 2f mov r24, r28 + 1bbe: cd dc rcall .-1638 ; 0x155a + 1bc0: 88 23 and r24, r24 + 1bc2: 09 f4 brne .+2 ; 0x1bc6 + 1bc4: 5f c0 rjmp .+190 ; 0x1c84 // FS descriptor udc_ptr_conf = &udc_config.conf_lsfs[udc_num_configuration - 1]; } // Enable all interfaces of the selected configuration for (iface_num = 0; iface_num < udc_ptr_conf->desc->bNumInterfaces; iface_num++) { - 1bb0: cf 5f subi r28, 0xFF ; 255 + 1bc6: cf 5f subi r28, 0xFF ; 255 { // FS descriptor udc_ptr_conf = &udc_config.conf_lsfs[udc_num_configuration - 1]; } // Enable all interfaces of the selected configuration for (iface_num = 0; iface_num < udc_ptr_conf->desc->bNumInterfaces; - 1bb2: e0 91 bc 20 lds r30, 0x20BC ; 0x8020bc - 1bb6: f0 91 bd 20 lds r31, 0x20BD ; 0x8020bd - 1bba: 01 90 ld r0, Z+ - 1bbc: f0 81 ld r31, Z - 1bbe: e0 2d mov r30, r0 - 1bc0: 84 81 ldd r24, Z+4 ; 0x04 - 1bc2: c8 17 cp r28, r24 - 1bc4: 78 f3 brcs .-34 ; 0x1ba4 - 1bc6: d0 c0 rjmp .+416 ; 0x1d68 + 1bc8: e0 91 bc 20 lds r30, 0x20BC ; 0x8020bc + 1bcc: f0 91 bd 20 lds r31, 0x20BD ; 0x8020bd + 1bd0: 01 90 ld r0, Z+ + 1bd2: f0 81 ld r31, Z + 1bd4: e0 2d mov r30, r0 + 1bd6: 84 81 ldd r24, Z+4 ; 0x04 + 1bd8: c8 17 cp r28, r24 + 1bda: 78 f3 brcs .-34 ; 0x1bba + 1bdc: d0 c0 rjmp .+416 ; 0x1d7e default: break; } } if (USB_REQ_RECIP_INTERFACE == Udd_setup_recipient()) { - 1bc8: 81 30 cpi r24, 0x01 ; 1 - 1bca: e1 f4 brne .+56 ; 0x1c04 + 1bde: 81 30 cpi r24, 0x01 ; 1 + 1be0: e1 f4 brne .+56 ; 0x1c1a // Standard Set Interface request switch (udd_g_ctrlreq.req.bRequest) { - 1bcc: 90 91 5b 24 lds r25, 0x245B ; 0x80245b - 1bd0: 9b 30 cpi r25, 0x0B ; 11 - 1bd2: c1 f4 brne .+48 ; 0x1c04 + 1be2: 90 91 5b 24 lds r25, 0x245B ; 0x80245b + 1be6: 9b 30 cpi r25, 0x0B ; 11 + 1be8: c1 f4 brne .+48 ; 0x1c1a */ static bool udc_req_std_iface_set_setting(void) { uint8_t iface_num, setting_num; if (udd_g_ctrlreq.req.wLength) { - 1bd4: 80 91 60 24 lds r24, 0x2460 ; 0x802460 - 1bd8: 90 91 61 24 lds r25, 0x2461 ; 0x802461 - 1bdc: 89 2b or r24, r25 - 1bde: 09 f0 breq .+2 ; 0x1be2 - 1be0: 46 c0 rjmp .+140 ; 0x1c6e + 1bea: 80 91 60 24 lds r24, 0x2460 ; 0x802460 + 1bee: 90 91 61 24 lds r25, 0x2461 ; 0x802461 + 1bf2: 89 2b or r24, r25 + 1bf4: 09 f0 breq .+2 ; 0x1bf8 + 1bf6: 46 c0 rjmp .+140 ; 0x1c84 return false; // Error in request } if (!udc_num_configuration) { - 1be2: 80 91 be 20 lds r24, 0x20BE ; 0x8020be - 1be6: 88 23 and r24, r24 - 1be8: 09 f4 brne .+2 ; 0x1bec - 1bea: 41 c0 rjmp .+130 ; 0x1c6e + 1bf8: 80 91 be 20 lds r24, 0x20BE ; 0x8020be + 1bfc: 88 23 and r24, r24 + 1bfe: 09 f4 brne .+2 ; 0x1c02 + 1c00: 41 c0 rjmp .+130 ; 0x1c84 return false; // The device is not is configured state yet } iface_num = udd_g_ctrlreq.req.wIndex & 0xFF; - 1bec: ea e5 ldi r30, 0x5A ; 90 - 1bee: f4 e2 ldi r31, 0x24 ; 36 - 1bf0: c4 81 ldd r28, Z+4 ; 0x04 + 1c02: ea e5 ldi r30, 0x5A ; 90 + 1c04: f4 e2 ldi r31, 0x24 ; 36 + 1c06: c4 81 ldd r28, Z+4 ; 0x04 setting_num = udd_g_ctrlreq.req.wValue & 0xFF; - 1bf2: d2 81 ldd r29, Z+2 ; 0x02 + 1c08: d2 81 ldd r29, Z+2 ; 0x02 // Disable current setting if (!udc_iface_disable(iface_num)) { - 1bf4: 8c 2f mov r24, r28 - 1bf6: 64 dc rcall .-1848 ; 0x14c0 - 1bf8: 88 23 and r24, r24 - 1bfa: c9 f1 breq .+114 ; 0x1c6e + 1c0a: 8c 2f mov r24, r28 + 1c0c: 64 dc rcall .-1848 ; 0x14d6 + 1c0e: 88 23 and r24, r24 + 1c10: c9 f1 breq .+114 ; 0x1c84 return false; } // Enable new setting return udc_iface_enable(iface_num, setting_num); - 1bfc: 6d 2f mov r22, r29 - 1bfe: 8c 2f mov r24, r28 - 1c00: a1 dc rcall .-1726 ; 0x1544 - 1c02: 33 c0 rjmp .+102 ; 0x1c6a + 1c12: 6d 2f mov r22, r29 + 1c14: 8c 2f mov r24, r28 + 1c16: a1 dc rcall .-1726 ; 0x155a + 1c18: 33 c0 rjmp .+102 ; 0x1c80 default: break; } } #if (0!=USB_DEVICE_MAX_EP) if (USB_REQ_RECIP_ENDPOINT == Udd_setup_recipient()) { - 1c04: 82 30 cpi r24, 0x02 ; 2 - 1c06: 99 f5 brne .+102 ; 0x1c6e + 1c1a: 82 30 cpi r24, 0x02 ; 2 + 1c1c: 99 f5 brne .+102 ; 0x1c84 // Standard Set Endpoint request switch (udd_g_ctrlreq.req.bRequest) { - 1c08: 80 91 5b 24 lds r24, 0x245B ; 0x80245b - 1c0c: 81 30 cpi r24, 0x01 ; 1 - 1c0e: 19 f0 breq .+6 ; 0x1c16 - 1c10: 83 30 cpi r24, 0x03 ; 3 - 1c12: 89 f0 breq .+34 ; 0x1c36 - 1c14: 29 c0 rjmp .+82 ; 0x1c68 + 1c1e: 80 91 5b 24 lds r24, 0x245B ; 0x80245b + 1c22: 81 30 cpi r24, 0x01 ; 1 + 1c24: 19 f0 breq .+6 ; 0x1c2c + 1c26: 83 30 cpi r24, 0x03 ; 3 + 1c28: 89 f0 breq .+34 ; 0x1c4c + 1c2a: 29 c0 rjmp .+82 ; 0x1c7e * * \return true if success */ static bool udc_req_std_ep_clear_feature(void) { if (udd_g_ctrlreq.req.wLength) { - 1c16: 80 91 60 24 lds r24, 0x2460 ; 0x802460 - 1c1a: 90 91 61 24 lds r25, 0x2461 ; 0x802461 - 1c1e: 89 2b or r24, r25 - 1c20: 31 f5 brne .+76 ; 0x1c6e + 1c2c: 80 91 60 24 lds r24, 0x2460 ; 0x802460 + 1c30: 90 91 61 24 lds r25, 0x2461 ; 0x802461 + 1c34: 89 2b or r24, r25 + 1c36: 31 f5 brne .+76 ; 0x1c84 return false; } if (udd_g_ctrlreq.req.wValue == USB_EP_FEATURE_HALT) { - 1c22: 80 91 5c 24 lds r24, 0x245C ; 0x80245c - 1c26: 90 91 5d 24 lds r25, 0x245D ; 0x80245d - 1c2a: 89 2b or r24, r25 - 1c2c: 01 f5 brne .+64 ; 0x1c6e + 1c38: 80 91 5c 24 lds r24, 0x245C ; 0x80245c + 1c3c: 90 91 5d 24 lds r25, 0x245D ; 0x80245d + 1c40: 89 2b or r24, r25 + 1c42: 01 f5 brne .+64 ; 0x1c84 return udd_ep_clear_halt(udd_g_ctrlreq.req.wIndex & 0xFF); - 1c2e: 80 91 5e 24 lds r24, 0x245E ; 0x80245e - 1c32: df d4 rcall .+2494 ; 0x25f2 - 1c34: 1a c0 rjmp .+52 ; 0x1c6a + 1c44: 80 91 5e 24 lds r24, 0x245E ; 0x80245e + 1c48: df d4 rcall .+2494 ; 0x2608 + 1c4a: 1a c0 rjmp .+52 ; 0x1c80 * \return true if success */ #if (0!=USB_DEVICE_MAX_EP) static bool udc_req_std_ep_set_feature(void) { if (udd_g_ctrlreq.req.wLength) { - 1c36: 80 91 60 24 lds r24, 0x2460 ; 0x802460 - 1c3a: 90 91 61 24 lds r25, 0x2461 ; 0x802461 - 1c3e: 89 2b or r24, r25 - 1c40: b1 f4 brne .+44 ; 0x1c6e + 1c4c: 80 91 60 24 lds r24, 0x2460 ; 0x802460 + 1c50: 90 91 61 24 lds r25, 0x2461 ; 0x802461 + 1c54: 89 2b or r24, r25 + 1c56: b1 f4 brne .+44 ; 0x1c84 return false; } if (udd_g_ctrlreq.req.wValue == USB_EP_FEATURE_HALT) { - 1c42: 80 91 5c 24 lds r24, 0x245C ; 0x80245c - 1c46: 90 91 5d 24 lds r25, 0x245D ; 0x80245d - 1c4a: 89 2b or r24, r25 - 1c4c: 81 f4 brne .+32 ; 0x1c6e + 1c58: 80 91 5c 24 lds r24, 0x245C ; 0x80245c + 1c5c: 90 91 5d 24 lds r25, 0x245D ; 0x80245d + 1c60: 89 2b or r24, r25 + 1c62: 81 f4 brne .+32 ; 0x1c84 udd_ep_abort(udd_g_ctrlreq.req.wIndex & 0xFF); - 1c4e: ca e5 ldi r28, 0x5A ; 90 - 1c50: d4 e2 ldi r29, 0x24 ; 36 - 1c52: 8c 81 ldd r24, Y+4 ; 0x04 - 1c54: bd d5 rcall .+2938 ; 0x27d0 + 1c64: ca e5 ldi r28, 0x5A ; 90 + 1c66: d4 e2 ldi r29, 0x24 ; 36 + 1c68: 8c 81 ldd r24, Y+4 ; 0x04 + 1c6a: bd d5 rcall .+2938 ; 0x27e6 return udd_ep_set_halt(udd_g_ctrlreq.req.wIndex & 0xFF); - 1c56: 8c 81 ldd r24, Y+4 ; 0x04 - 1c58: 20 d6 rcall .+3136 ; 0x289a - 1c5a: 07 c0 rjmp .+14 ; 0x1c6a + 1c6c: 8c 81 ldd r24, Y+4 ; 0x04 + 1c6e: 20 d6 rcall .+3136 ; 0x28b0 + 1c70: 07 c0 rjmp .+14 ; 0x1c80 } break; default: // Unknown descriptor requested return false; - 1c5c: 80 e0 ldi r24, 0x00 ; 0 - 1c5e: 05 c0 rjmp .+10 ; 0x1c6a + 1c72: 80 e0 ldi r24, 0x00 ; 0 + 1c74: 05 c0 rjmp .+10 ; 0x1c80 break; } } #endif } return false; - 1c60: 80 e0 ldi r24, 0x00 ; 0 - 1c62: 03 c0 rjmp .+6 ; 0x1c6a + 1c76: 80 e0 ldi r24, 0x00 ; 0 + 1c78: 03 c0 rjmp .+6 ; 0x1c80 case USB_REQ_SET_ADDRESS: return udc_req_std_dev_set_address(); case USB_REQ_CLEAR_FEATURE: return udc_req_std_dev_clear_feature(); case USB_REQ_SET_FEATURE: return udc_req_std_dev_set_feature(); - 1c64: 80 e0 ldi r24, 0x00 ; 0 - 1c66: 01 c0 rjmp .+2 ; 0x1c6a + 1c7a: 80 e0 ldi r24, 0x00 ; 0 + 1c7c: 01 c0 rjmp .+2 ; 0x1c80 break; } } #endif } return false; - 1c68: 80 e0 ldi r24, 0x00 ; 0 + 1c7e: 80 e0 ldi r24, 0x00 ; 0 } } // If standard request then try to decode it in UDC if (Udd_setup_type() == USB_REQ_TYPE_STANDARD) { if (udc_reqstd()) { - 1c6a: 81 11 cpse r24, r1 - 1c6c: 7e c0 rjmp .+252 ; 0x1d6a + 1c80: 81 11 cpse r24, r1 + 1c82: 7e c0 rjmp .+252 ; 0x1d80 return true; } } // If interface request then try to decode it in UDI if (Udd_setup_recipient() == USB_REQ_RECIP_INTERFACE) { - 1c6e: 80 91 5a 24 lds r24, 0x245A ; 0x80245a - 1c72: 8f 71 andi r24, 0x1F ; 31 - 1c74: 81 30 cpi r24, 0x01 ; 1 - 1c76: 71 f5 brne .+92 ; 0x1cd4 + 1c84: 80 91 5a 24 lds r24, 0x245A ; 0x80245a + 1c88: 8f 71 andi r24, 0x1F ; 31 + 1c8a: 81 30 cpi r24, 0x01 ; 1 + 1c8c: 71 f5 brne .+92 ; 0x1cea static bool udc_req_iface(void) { uint8_t iface_num; udi_api_t UDC_DESC_STORAGE *udi_api; if (0 == udc_num_configuration) { - 1c78: 80 91 be 20 lds r24, 0x20BE ; 0x8020be - 1c7c: 88 23 and r24, r24 - 1c7e: 51 f1 breq .+84 ; 0x1cd4 + 1c8e: 80 91 be 20 lds r24, 0x20BE ; 0x8020be + 1c92: 88 23 and r24, r24 + 1c94: 51 f1 breq .+84 ; 0x1cea return false; // The device is not is configured state yet } // Check interface number iface_num = udd_g_ctrlreq.req.wIndex & 0xFF; - 1c80: 00 91 5e 24 lds r16, 0x245E ; 0x80245e - 1c84: 10 91 5f 24 lds r17, 0x245F ; 0x80245f + 1c96: 00 91 5e 24 lds r16, 0x245E ; 0x80245e + 1c9a: 10 91 5f 24 lds r17, 0x245F ; 0x80245f if (iface_num >= udc_ptr_conf->desc->bNumInterfaces) { - 1c88: c0 91 bc 20 lds r28, 0x20BC ; 0x8020bc - 1c8c: d0 91 bd 20 lds r29, 0x20BD ; 0x8020bd - 1c90: e8 81 ld r30, Y - 1c92: f9 81 ldd r31, Y+1 ; 0x01 - 1c94: 84 81 ldd r24, Z+4 ; 0x04 - 1c96: 08 17 cp r16, r24 - 1c98: e8 f4 brcc .+58 ; 0x1cd4 + 1c9e: c0 91 bc 20 lds r28, 0x20BC ; 0x8020bc + 1ca2: d0 91 bd 20 lds r29, 0x20BD ; 0x8020bd + 1ca6: e8 81 ld r30, Y + 1ca8: f9 81 ldd r31, Y+1 ; 0x01 + 1caa: 84 81 ldd r24, Z+4 ; 0x04 + 1cac: 08 17 cp r16, r24 + 1cae: e8 f4 brcc .+58 ; 0x1cea } //* To update udc_ptr_iface with the selected interface in request // Select first alternate setting of interface to update udc_ptr_iface // before calling udi_api->getsetting() if (!udc_update_iface_desc(iface_num, 0)) { - 1c9a: 60 e0 ldi r22, 0x00 ; 0 - 1c9c: 80 2f mov r24, r16 - 1c9e: d6 db rcall .-2132 ; 0x144c - 1ca0: 88 23 and r24, r24 - 1ca2: c1 f0 breq .+48 ; 0x1cd4 + 1cb0: 60 e0 ldi r22, 0x00 ; 0 + 1cb2: 80 2f mov r24, r16 + 1cb4: d6 db rcall .-2132 ; 0x1462 + 1cb6: 88 23 and r24, r24 + 1cb8: c1 f0 breq .+48 ; 0x1cea return false; } // Select the interface with the current alternate setting udi_api = udc_ptr_conf->udi_apis[iface_num]; - 1ca4: f8 01 movw r30, r16 - 1ca6: ff 27 eor r31, r31 - 1ca8: cf 01 movw r24, r30 - 1caa: 88 0f add r24, r24 - 1cac: 99 1f adc r25, r25 - 1cae: ea 81 ldd r30, Y+2 ; 0x02 - 1cb0: fb 81 ldd r31, Y+3 ; 0x03 - 1cb2: e8 0f add r30, r24 - 1cb4: f9 1f adc r31, r25 - 1cb6: c0 81 ld r28, Z - 1cb8: d1 81 ldd r29, Z+1 ; 0x01 + 1cba: f8 01 movw r30, r16 + 1cbc: ff 27 eor r31, r31 + 1cbe: cf 01 movw r24, r30 + 1cc0: 88 0f add r24, r24 + 1cc2: 99 1f adc r25, r25 + 1cc4: ea 81 ldd r30, Y+2 ; 0x02 + 1cc6: fb 81 ldd r31, Y+3 ; 0x03 + 1cc8: e8 0f add r30, r24 + 1cca: f9 1f adc r31, r25 + 1ccc: c0 81 ld r28, Z + 1cce: d1 81 ldd r29, Z+1 ; 0x01 if (!udc_update_iface_desc(iface_num, udi_api->getsetting())) { - 1cba: ee 81 ldd r30, Y+6 ; 0x06 - 1cbc: ff 81 ldd r31, Y+7 ; 0x07 - 1cbe: 09 95 icall - 1cc0: 68 2f mov r22, r24 - 1cc2: 80 2f mov r24, r16 - 1cc4: c3 db rcall .-2170 ; 0x144c - 1cc6: 88 23 and r24, r24 - 1cc8: 29 f0 breq .+10 ; 0x1cd4 + 1cd0: ee 81 ldd r30, Y+6 ; 0x06 + 1cd2: ff 81 ldd r31, Y+7 ; 0x07 + 1cd4: 09 95 icall + 1cd6: 68 2f mov r22, r24 + 1cd8: 80 2f mov r24, r16 + 1cda: c3 db rcall .-2170 ; 0x1462 + 1cdc: 88 23 and r24, r24 + 1cde: 29 f0 breq .+10 ; 0x1cea return false; } // Send the SETUP request to the UDI corresponding to the interface number return udi_api->setup(); - 1cca: ec 81 ldd r30, Y+4 ; 0x04 - 1ccc: fd 81 ldd r31, Y+5 ; 0x05 - 1cce: 09 95 icall + 1ce0: ec 81 ldd r30, Y+4 ; 0x04 + 1ce2: fd 81 ldd r31, Y+5 ; 0x05 + 1ce4: 09 95 icall } } // If interface request then try to decode it in UDI if (Udd_setup_recipient() == USB_REQ_RECIP_INTERFACE) { if (udc_req_iface()) { - 1cd0: 81 11 cpse r24, r1 - 1cd2: 4b c0 rjmp .+150 ; 0x1d6a + 1ce6: 81 11 cpse r24, r1 + 1ce8: 4b c0 rjmp .+150 ; 0x1d80 return true; } } // If endpoint request then try to decode it in UDI if (Udd_setup_recipient() == USB_REQ_RECIP_ENDPOINT) { - 1cd4: 80 91 5a 24 lds r24, 0x245A ; 0x80245a - 1cd8: 8f 71 andi r24, 0x1F ; 31 - 1cda: 82 30 cpi r24, 0x02 ; 2 - 1cdc: 09 f0 breq .+2 ; 0x1ce0 - 1cde: 40 c0 rjmp .+128 ; 0x1d60 + 1cea: 80 91 5a 24 lds r24, 0x245A ; 0x80245a + 1cee: 8f 71 andi r24, 0x1F ; 31 + 1cf0: 82 30 cpi r24, 0x02 ; 2 + 1cf2: 09 f0 breq .+2 ; 0x1cf6 + 1cf4: 40 c0 rjmp .+128 ; 0x1d76 static bool udc_req_ep(void) { uint8_t iface_num; udi_api_t UDC_DESC_STORAGE *udi_api; if (0 == udc_num_configuration) { - 1ce0: 80 91 be 20 lds r24, 0x20BE ; 0x8020be - 1ce4: 88 23 and r24, r24 - 1ce6: b1 f1 breq .+108 ; 0x1d54 + 1cf6: 80 91 be 20 lds r24, 0x20BE ; 0x8020be + 1cfa: 88 23 and r24, r24 + 1cfc: b1 f1 breq .+108 ; 0x1d6a return false; // The device is not is configured state yet } // Send this request on all enabled interfaces iface_num = udd_g_ctrlreq.req.wIndex & 0xFF; for (iface_num = 0; iface_num < udc_ptr_conf->desc->bNumInterfaces; - 1ce8: a0 91 bc 20 lds r26, 0x20BC ; 0x8020bc - 1cec: b0 91 bd 20 lds r27, 0x20BD ; 0x8020bd - 1cf0: ed 91 ld r30, X+ - 1cf2: fc 91 ld r31, X - 1cf4: 11 97 sbiw r26, 0x01 ; 1 - 1cf6: 84 81 ldd r24, Z+4 ; 0x04 - 1cf8: 88 23 and r24, r24 - 1cfa: 71 f1 breq .+92 ; 0x1d58 - 1cfc: c0 e0 ldi r28, 0x00 ; 0 + 1cfe: a0 91 bc 20 lds r26, 0x20BC ; 0x8020bc + 1d02: b0 91 bd 20 lds r27, 0x20BD ; 0x8020bd + 1d06: ed 91 ld r30, X+ + 1d08: fc 91 ld r31, X + 1d0a: 11 97 sbiw r26, 0x01 ; 1 + 1d0c: 84 81 ldd r24, Z+4 ; 0x04 + 1d0e: 88 23 and r24, r24 + 1d10: 71 f1 breq .+92 ; 0x1d6e + 1d12: c0 e0 ldi r28, 0x00 ; 0 iface_num++) { // Select the interface with the current alternate setting udi_api = udc_ptr_conf->udi_apis[iface_num]; - 1cfe: ec 2f mov r30, r28 - 1d00: f0 e0 ldi r31, 0x00 ; 0 - 1d02: ee 0f add r30, r30 - 1d04: ff 1f adc r31, r31 - 1d06: 12 96 adiw r26, 0x02 ; 2 - 1d08: 8d 91 ld r24, X+ - 1d0a: 9c 91 ld r25, X - 1d0c: 13 97 sbiw r26, 0x03 ; 3 - 1d0e: e8 0f add r30, r24 - 1d10: f9 1f adc r31, r25 - 1d12: 00 81 ld r16, Z - 1d14: 11 81 ldd r17, Z+1 ; 0x01 + 1d14: ec 2f mov r30, r28 + 1d16: f0 e0 ldi r31, 0x00 ; 0 + 1d18: ee 0f add r30, r30 + 1d1a: ff 1f adc r31, r31 + 1d1c: 12 96 adiw r26, 0x02 ; 2 + 1d1e: 8d 91 ld r24, X+ + 1d20: 9c 91 ld r25, X + 1d22: 13 97 sbiw r26, 0x03 ; 3 + 1d24: e8 0f add r30, r24 + 1d26: f9 1f adc r31, r25 + 1d28: 00 81 ld r16, Z + 1d2a: 11 81 ldd r17, Z+1 ; 0x01 if (!udc_update_iface_desc(iface_num, udi_api->getsetting())) { - 1d16: d8 01 movw r26, r16 - 1d18: 16 96 adiw r26, 0x06 ; 6 - 1d1a: ed 91 ld r30, X+ - 1d1c: fc 91 ld r31, X - 1d1e: 17 97 sbiw r26, 0x07 ; 7 - 1d20: 09 95 icall - 1d22: 68 2f mov r22, r24 - 1d24: 8c 2f mov r24, r28 - 1d26: 92 db rcall .-2268 ; 0x144c - 1d28: 88 23 and r24, r24 - 1d2a: f9 f0 breq .+62 ; 0x1d6a + 1d2c: d8 01 movw r26, r16 + 1d2e: 16 96 adiw r26, 0x06 ; 6 + 1d30: ed 91 ld r30, X+ + 1d32: fc 91 ld r31, X + 1d34: 17 97 sbiw r26, 0x07 ; 7 + 1d36: 09 95 icall + 1d38: 68 2f mov r22, r24 + 1d3a: 8c 2f mov r24, r28 + 1d3c: 92 db rcall .-2268 ; 0x1462 + 1d3e: 88 23 and r24, r24 + 1d40: f9 f0 breq .+62 ; 0x1d80 return false; } // Send the SETUP request to the UDI if (udi_api->setup()) { - 1d2c: d8 01 movw r26, r16 - 1d2e: 14 96 adiw r26, 0x04 ; 4 - 1d30: ed 91 ld r30, X+ - 1d32: fc 91 ld r31, X - 1d34: 15 97 sbiw r26, 0x05 ; 5 - 1d36: 09 95 icall - 1d38: 81 11 cpse r24, r1 - 1d3a: 17 c0 rjmp .+46 ; 0x1d6a + 1d42: d8 01 movw r26, r16 + 1d44: 14 96 adiw r26, 0x04 ; 4 + 1d46: ed 91 ld r30, X+ + 1d48: fc 91 ld r31, X + 1d4a: 15 97 sbiw r26, 0x05 ; 5 + 1d4c: 09 95 icall + 1d4e: 81 11 cpse r24, r1 + 1d50: 17 c0 rjmp .+46 ; 0x1d80 return false; // The device is not is configured state yet } // Send this request on all enabled interfaces iface_num = udd_g_ctrlreq.req.wIndex & 0xFF; for (iface_num = 0; iface_num < udc_ptr_conf->desc->bNumInterfaces; iface_num++) { - 1d3c: cf 5f subi r28, 0xFF ; 255 + 1d52: cf 5f subi r28, 0xFF ; 255 if (0 == udc_num_configuration) { return false; // The device is not is configured state yet } // Send this request on all enabled interfaces iface_num = udd_g_ctrlreq.req.wIndex & 0xFF; for (iface_num = 0; iface_num < udc_ptr_conf->desc->bNumInterfaces; - 1d3e: a0 91 bc 20 lds r26, 0x20BC ; 0x8020bc - 1d42: b0 91 bd 20 lds r27, 0x20BD ; 0x8020bd - 1d46: ed 91 ld r30, X+ - 1d48: fc 91 ld r31, X - 1d4a: 11 97 sbiw r26, 0x01 ; 1 - 1d4c: 94 81 ldd r25, Z+4 ; 0x04 - 1d4e: c9 17 cp r28, r25 - 1d50: b0 f2 brcs .-84 ; 0x1cfe - 1d52: 0b c0 rjmp .+22 ; 0x1d6a + 1d54: a0 91 bc 20 lds r26, 0x20BC ; 0x8020bc + 1d58: b0 91 bd 20 lds r27, 0x20BD ; 0x8020bd + 1d5c: ed 91 ld r30, X+ + 1d5e: fc 91 ld r31, X + 1d60: 11 97 sbiw r26, 0x01 ; 1 + 1d62: 94 81 ldd r25, Z+4 ; 0x04 + 1d64: c9 17 cp r28, r25 + 1d66: b0 f2 brcs .-84 ; 0x1d14 + 1d68: 0b c0 rjmp .+22 ; 0x1d80 { uint8_t iface_num; udi_api_t UDC_DESC_STORAGE *udi_api; if (0 == udc_num_configuration) { return false; // The device is not is configured state yet - 1d54: 80 e0 ldi r24, 0x00 ; 0 - 1d56: 09 c0 rjmp .+18 ; 0x1d6a + 1d6a: 80 e0 ldi r24, 0x00 ; 0 + 1d6c: 09 c0 rjmp .+18 ; 0x1d80 // Send the SETUP request to the UDI if (udi_api->setup()) { return true; } } return false; - 1d58: 80 e0 ldi r24, 0x00 ; 0 - 1d5a: 07 c0 rjmp .+14 ; 0x1d6a + 1d6e: 80 e0 ldi r24, 0x00 ; 0 + 1d70: 07 c0 rjmp .+14 ; 0x1d80 udd_g_ctrlreq.callback = NULL; udd_g_ctrlreq.over_under_run = NULL; if (Udd_setup_is_in()) { if (udd_g_ctrlreq.req.wLength == 0) { return false; // Error from USB host - 1d5c: 80 e0 ldi r24, 0x00 ; 0 - 1d5e: 05 c0 rjmp .+10 ; 0x1d6a + 1d72: 80 e0 ldi r24, 0x00 ; 0 + 1d74: 05 c0 rjmp .+10 ; 0x1d80 // Here SETUP request unknown by UDC and UDIs #ifdef USB_DEVICE_SPECIFIC_REQUEST // Try to decode it in specific callback return USB_DEVICE_SPECIFIC_REQUEST(); // Ex: Vendor request,... #else return false; - 1d60: 80 e0 ldi r24, 0x00 ; 0 - 1d62: 03 c0 rjmp .+6 ; 0x1d6a + 1d76: 80 e0 ldi r24, 0x00 ; 0 + 1d78: 03 c0 rjmp .+6 ; 0x1d80 } } if (Udd_setup_type() == USB_REQ_TYPE_VENDOR){ if (udc_reqvend()) { return true; - 1d64: 81 e0 ldi r24, 0x01 ; 1 - 1d66: 01 c0 rjmp .+2 ; 0x1d6a + 1d7a: 81 e0 ldi r24, 0x01 ; 1 + 1d7c: 01 c0 rjmp .+2 ; 0x1d80 } // If standard request then try to decode it in UDC if (Udd_setup_type() == USB_REQ_TYPE_STANDARD) { if (udc_reqstd()) { return true; - 1d68: 81 e0 ldi r24, 0x01 ; 1 + 1d7e: 81 e0 ldi r24, 0x01 ; 1 // Try to decode it in specific callback return USB_DEVICE_SPECIFIC_REQUEST(); // Ex: Vendor request,... #else return false; #endif } - 1d6a: df 91 pop r29 - 1d6c: cf 91 pop r28 - 1d6e: 1f 91 pop r17 - 1d70: 0f 91 pop r16 - 1d72: 08 95 ret + 1d80: df 91 pop r29 + 1d82: cf 91 pop r28 + 1d84: 1f 91 pop r17 + 1d86: 0f 91 pop r16 + 1d88: 08 95 ret -00001d74 : +00001d8a : PUBLIC_FUNCTION(ccp_write_io) #if defined(__GNUC__) out RAMPZ, r1 // Reset bits 23:16 of Z - 1d74: 1b be out 0x3b, r1 ; 59 + 1d8a: 1b be out 0x3b, r1 ; 59 movw r30, r24 // Load addr into Z - 1d76: fc 01 movw r30, r24 + 1d8c: fc 01 movw r30, r24 ldi r18, CCP_IOREG // Load magic CCP value - 1d78: 28 ed ldi r18, 0xD8 ; 216 + 1d8e: 28 ed ldi r18, 0xD8 ; 216 out CCP, r18 // Start CCP handshake - 1d7a: 24 bf out 0x34, r18 ; 52 + 1d90: 24 bf out 0x34, r18 ; 52 st Z, r22 // Write value to I/O register - 1d7c: 60 83 st Z, r22 + 1d92: 60 83 st Z, r22 ret // Return to caller - 1d7e: 08 95 ret + 1d94: 08 95 ret -00001d80 : +00001d96 : #endif #ifndef __DOXYGEN__ PUBLIC_FUNCTION(nvm_read_byte) #if defined(__GNUC__) lds r20, NVM_CMD ; Store NVM command register - 1d80: 40 91 ca 01 lds r20, 0x01CA ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> + 1d96: 40 91 ca 01 lds r20, 0x01CA ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> mov ZL, r22 ; Load byte index into low byte of Z. - 1d84: e6 2f mov r30, r22 + 1d9a: e6 2f mov r30, r22 mov ZH, r23 ; Load high byte into Z. - 1d86: f7 2f mov r31, r23 + 1d9c: f7 2f mov r31, r23 sts NVM_CMD, r24 ; Load prepared command into NVM Command register. - 1d88: 80 93 ca 01 sts 0x01CA, r24 ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> + 1d9e: 80 93 ca 01 sts 0x01CA, r24 ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> lpm r24, Z ; Perform an LPM to read out byte - 1d8c: 84 91 lpm r24, Z + 1da2: 84 91 lpm r24, Z sts NVM_CMD, r20 ; Restore NVM command register - 1d8e: 40 93 ca 01 sts 0x01CA, r20 ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> + 1da4: 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 - 1d92: 08 95 ret + 1da8: 08 95 ret -00001d94 : +00001daa : } else { // endpoint not halted then call directly callback callback(); } return true; } - 1d94: 81 11 cpse r24, r1 - 1d96: 22 c0 rjmp .+68 ; 0x1ddc - 1d98: 90 91 54 22 lds r25, 0x2254 ; 0x802254 - 1d9c: 99 23 and r25, r25 - 1d9e: d9 f0 breq .+54 ; 0x1dd6 - 1da0: 90 91 47 2c lds r25, 0x2C47 ; 0x802c47 - 1da4: 91 11 cpse r25, r1 - 1da6: 01 c0 rjmp .+2 ; 0x1daa - 1da8: ff cf rjmp .-2 ; 0x1da8 - 1daa: 2f b7 in r18, 0x3f ; 63 - 1dac: f8 94 cli - 1dae: e6 e4 ldi r30, 0x46 ; 70 - 1db0: fc e2 ldi r31, 0x2C ; 44 - 1db2: 91 81 ldd r25, Z+1 ; 0x01 - 1db4: 91 50 subi r25, 0x01 ; 1 - 1db6: 91 83 std Z+1, r25 ; 0x01 - 1db8: 2f bf out 0x3f, r18 ; 63 - 1dba: 0d c0 rjmp .+26 ; 0x1dd6 - 1dbc: 90 91 47 2c lds r25, 0x2C47 ; 0x802c47 - 1dc0: 9f 3f cpi r25, 0xFF ; 255 - 1dc2: 09 f4 brne .+2 ; 0x1dc6 - 1dc4: ff cf rjmp .-2 ; 0x1dc4 - 1dc6: 2f b7 in r18, 0x3f ; 63 - 1dc8: f8 94 cli - 1dca: e6 e4 ldi r30, 0x46 ; 70 - 1dcc: fc e2 ldi r31, 0x2C ; 44 - 1dce: 91 81 ldd r25, Z+1 ; 0x01 - 1dd0: 9f 5f subi r25, 0xFF ; 255 - 1dd2: 91 83 std Z+1, r25 ; 0x01 - 1dd4: 2f bf out 0x3f, r18 ; 63 - 1dd6: 80 93 54 22 sts 0x2254, r24 ; 0x802254 - 1dda: 08 95 ret - 1ddc: 90 91 54 22 lds r25, 0x2254 ; 0x802254 - 1de0: 99 23 and r25, r25 - 1de2: 61 f3 breq .-40 ; 0x1dbc - 1de4: f8 cf rjmp .-16 ; 0x1dd6 + 1daa: 81 11 cpse r24, r1 + 1dac: 22 c0 rjmp .+68 ; 0x1df2 + 1dae: 90 91 54 22 lds r25, 0x2254 ; 0x802254 + 1db2: 99 23 and r25, r25 + 1db4: d9 f0 breq .+54 ; 0x1dec + 1db6: 90 91 47 2c lds r25, 0x2C47 ; 0x802c47 + 1dba: 91 11 cpse r25, r1 + 1dbc: 01 c0 rjmp .+2 ; 0x1dc0 + 1dbe: ff cf rjmp .-2 ; 0x1dbe + 1dc0: 2f b7 in r18, 0x3f ; 63 + 1dc2: f8 94 cli + 1dc4: e6 e4 ldi r30, 0x46 ; 70 + 1dc6: fc e2 ldi r31, 0x2C ; 44 + 1dc8: 91 81 ldd r25, Z+1 ; 0x01 + 1dca: 91 50 subi r25, 0x01 ; 1 + 1dcc: 91 83 std Z+1, r25 ; 0x01 + 1dce: 2f bf out 0x3f, r18 ; 63 + 1dd0: 0d c0 rjmp .+26 ; 0x1dec + 1dd2: 90 91 47 2c lds r25, 0x2C47 ; 0x802c47 + 1dd6: 9f 3f cpi r25, 0xFF ; 255 + 1dd8: 09 f4 brne .+2 ; 0x1ddc + 1dda: ff cf rjmp .-2 ; 0x1dda + 1ddc: 2f b7 in r18, 0x3f ; 63 + 1dde: f8 94 cli + 1de0: e6 e4 ldi r30, 0x46 ; 70 + 1de2: fc e2 ldi r31, 0x2C ; 44 + 1de4: 91 81 ldd r25, Z+1 ; 0x01 + 1de6: 9f 5f subi r25, 0xFF ; 255 + 1de8: 91 83 std Z+1, r25 ; 0x01 + 1dea: 2f bf out 0x3f, r18 ; 63 + 1dec: 80 93 54 22 sts 0x2254, r24 ; 0x802254 + 1df0: 08 95 ret + 1df2: 90 91 54 22 lds r25, 0x2254 ; 0x802254 + 1df6: 99 23 and r25, r25 + 1df8: 61 f3 breq .-40 ; 0x1dd2 + 1dfa: f8 cf rjmp .-16 ; 0x1dec -00001de6 : - 1de6: 0f 93 push r16 - 1de8: e8 ec ldi r30, 0xC8 ; 200 - 1dea: f4 e0 ldi r31, 0x04 ; 4 - 1dec: 80 81 ld r24, Z - 1dee: 8f 7d andi r24, 0xDF ; 223 - 1df0: 80 83 st Z, r24 - 1df2: 80 81 ld r24, Z - 1df4: 8f 7d andi r24, 0xDF ; 223 - 1df6: 80 83 st Z, r24 - 1df8: e8 e1 ldi r30, 0x18 ; 24 - 1dfa: f2 e2 ldi r31, 0x22 ; 34 - 1dfc: 02 e0 ldi r16, 0x02 ; 2 - 1dfe: 05 93 las Z, r16 - 1e00: 10 92 1a 22 sts 0x221A, r1 ; 0x80221a - 1e04: 10 92 1b 22 sts 0x221B, r1 ; 0x80221b - 1e08: 00 e2 ldi r16, 0x20 ; 32 - 1e0a: 06 93 lac Z, r16 - 1e0c: 00 e4 ldi r16, 0x40 ; 64 - 1e0e: 06 93 lac Z, r16 - 1e10: e0 e1 ldi r30, 0x10 ; 16 - 1e12: f2 e2 ldi r31, 0x22 ; 34 - 1e14: 00 e2 ldi r16, 0x20 ; 32 - 1e16: 06 93 lac Z, r16 - 1e18: 00 e4 ldi r16, 0x40 ; 64 - 1e1a: 06 93 lac Z, r16 - 1e1c: ea e5 ldi r30, 0x5A ; 90 - 1e1e: f4 e2 ldi r31, 0x24 ; 36 - 1e20: 14 86 std Z+12, r1 ; 0x0c - 1e22: 15 86 std Z+13, r1 ; 0x0d - 1e24: 16 86 std Z+14, r1 ; 0x0e - 1e26: 17 86 std Z+15, r1 ; 0x0f - 1e28: 12 86 std Z+10, r1 ; 0x0a - 1e2a: 13 86 std Z+11, r1 ; 0x0b - 1e2c: 10 92 ff 21 sts 0x21FF, r1 ; 0x8021ff - 1e30: 0f 91 pop r16 - 1e32: 08 95 ret +00001dfc : + 1dfc: 0f 93 push r16 + 1dfe: e8 ec ldi r30, 0xC8 ; 200 + 1e00: f4 e0 ldi r31, 0x04 ; 4 + 1e02: 80 81 ld r24, Z + 1e04: 8f 7d andi r24, 0xDF ; 223 + 1e06: 80 83 st Z, r24 + 1e08: 80 81 ld r24, Z + 1e0a: 8f 7d andi r24, 0xDF ; 223 + 1e0c: 80 83 st Z, r24 + 1e0e: e8 e1 ldi r30, 0x18 ; 24 + 1e10: f2 e2 ldi r31, 0x22 ; 34 + 1e12: 02 e0 ldi r16, 0x02 ; 2 + 1e14: 05 93 las Z, r16 + 1e16: 10 92 1a 22 sts 0x221A, r1 ; 0x80221a + 1e1a: 10 92 1b 22 sts 0x221B, r1 ; 0x80221b + 1e1e: 00 e2 ldi r16, 0x20 ; 32 + 1e20: 06 93 lac Z, r16 + 1e22: 00 e4 ldi r16, 0x40 ; 64 + 1e24: 06 93 lac Z, r16 + 1e26: e0 e1 ldi r30, 0x10 ; 16 + 1e28: f2 e2 ldi r31, 0x22 ; 34 + 1e2a: 00 e2 ldi r16, 0x20 ; 32 + 1e2c: 06 93 lac Z, r16 + 1e2e: 00 e4 ldi r16, 0x40 ; 64 + 1e30: 06 93 lac Z, r16 + 1e32: ea e5 ldi r30, 0x5A ; 90 + 1e34: f4 e2 ldi r31, 0x24 ; 36 + 1e36: 14 86 std Z+12, r1 ; 0x0c + 1e38: 15 86 std Z+13, r1 ; 0x0d + 1e3a: 16 86 std Z+14, r1 ; 0x0e + 1e3c: 17 86 std Z+15, r1 ; 0x0f + 1e3e: 12 86 std Z+10, r1 ; 0x0a + 1e40: 13 86 std Z+11, r1 ; 0x0b + 1e42: 10 92 ff 21 sts 0x21FF, r1 ; 0x8021ff + 1e46: 0f 91 pop r16 + 1e48: 08 95 ret -00001e34 : - 1e34: 0f 93 push r16 - 1e36: 85 e0 ldi r24, 0x05 ; 5 - 1e38: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff - 1e3c: e9 e1 ldi r30, 0x19 ; 25 - 1e3e: f2 e2 ldi r31, 0x22 ; 34 - 1e40: 04 e0 ldi r16, 0x04 ; 4 - 1e42: 05 93 las Z, r16 - 1e44: e1 e1 ldi r30, 0x11 ; 17 - 1e46: f2 e2 ldi r31, 0x22 ; 34 - 1e48: 04 e0 ldi r16, 0x04 ; 4 - 1e4a: 05 93 las Z, r16 - 1e4c: 0f 91 pop r16 - 1e4e: 08 95 ret +00001e4a : + 1e4a: 0f 93 push r16 + 1e4c: 85 e0 ldi r24, 0x05 ; 5 + 1e4e: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff + 1e52: e9 e1 ldi r30, 0x19 ; 25 + 1e54: f2 e2 ldi r31, 0x22 ; 34 + 1e56: 04 e0 ldi r16, 0x04 ; 4 + 1e58: 05 93 las Z, r16 + 1e5a: e1 e1 ldi r30, 0x11 ; 17 + 1e5c: f2 e2 ldi r31, 0x22 ; 34 + 1e5e: 04 e0 ldi r16, 0x04 ; 4 + 1e60: 05 93 las Z, r16 + 1e62: 0f 91 pop r16 + 1e64: 08 95 ret -00001e50 : - 1e50: 0f 93 push r16 - 1e52: 83 e0 ldi r24, 0x03 ; 3 - 1e54: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff - 1e58: 10 92 1a 22 sts 0x221A, r1 ; 0x80221a - 1e5c: 10 92 1b 22 sts 0x221B, r1 ; 0x80221b - 1e60: e8 e1 ldi r30, 0x18 ; 24 - 1e62: f2 e2 ldi r31, 0x22 ; 34 - 1e64: 02 e0 ldi r16, 0x02 ; 2 - 1e66: 06 93 lac Z, r16 - 1e68: 0f 91 pop r16 - 1e6a: 08 95 ret +00001e66 : + 1e66: 0f 93 push r16 + 1e68: 83 e0 ldi r24, 0x03 ; 3 + 1e6a: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff + 1e6e: 10 92 1a 22 sts 0x221A, r1 ; 0x80221a + 1e72: 10 92 1b 22 sts 0x221B, r1 ; 0x80221b + 1e76: e8 e1 ldi r30, 0x18 ; 24 + 1e78: f2 e2 ldi r31, 0x22 ; 34 + 1e7a: 02 e0 ldi r16, 0x02 ; 2 + 1e7c: 06 93 lac Z, r16 + 1e7e: 0f 91 pop r16 + 1e80: 08 95 ret -00001e6c : - 1e6c: e0 91 66 24 lds r30, 0x2466 ; 0x802466 - 1e70: f0 91 67 24 lds r31, 0x2467 ; 0x802467 - 1e74: 30 97 sbiw r30, 0x00 ; 0 - 1e76: 09 f0 breq .+2 ; 0x1e7a - 1e78: 09 95 icall - 1e7a: 08 95 ret +00001e82 : + 1e82: e0 91 66 24 lds r30, 0x2466 ; 0x802466 + 1e86: f0 91 67 24 lds r31, 0x2467 ; 0x802467 + 1e8a: 30 97 sbiw r30, 0x00 ; 0 + 1e8c: 09 f0 breq .+2 ; 0x1e90 + 1e8e: 09 95 icall + 1e90: 08 95 ret -00001e7c : - 1e7c: 0f 93 push r16 - 1e7e: cf 93 push r28 - 1e80: df 93 push r29 - 1e82: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff - 1e86: 83 30 cpi r24, 0x03 ; 3 - 1e88: 19 f4 brne .+6 ; 0x1e90 - 1e8a: f0 df rcall .-32 ; 0x1e6c - 1e8c: ac df rcall .-168 ; 0x1de6 - 1e8e: 5e c0 rjmp .+188 ; 0x1f4c - 1e90: 80 91 fb 21 lds r24, 0x21FB ; 0x8021fb - 1e94: 90 91 fc 21 lds r25, 0x21FC ; 0x8021fc - 1e98: c0 91 64 24 lds r28, 0x2464 ; 0x802464 - 1e9c: d0 91 65 24 lds r29, 0x2465 ; 0x802465 - 1ea0: c8 1b sub r28, r24 - 1ea2: d9 0b sbc r29, r25 - 1ea4: 71 f5 brne .+92 ; 0x1f02 - 1ea6: 20 91 fd 21 lds r18, 0x21FD ; 0x8021fd - 1eaa: 30 91 fe 21 lds r19, 0x21FE ; 0x8021fe - 1eae: 82 0f add r24, r18 - 1eb0: 93 1f adc r25, r19 - 1eb2: 80 93 fd 21 sts 0x21FD, r24 ; 0x8021fd - 1eb6: 90 93 fe 21 sts 0x21FE, r25 ; 0x8021fe - 1eba: 20 91 60 24 lds r18, 0x2460 ; 0x802460 - 1ebe: 30 91 61 24 lds r19, 0x2461 ; 0x802461 - 1ec2: 82 17 cp r24, r18 - 1ec4: 93 07 cpc r25, r19 - 1ec6: 21 f0 breq .+8 ; 0x1ed0 - 1ec8: 80 91 c4 20 lds r24, 0x20C4 ; 0x8020c4 - 1ecc: 88 23 and r24, r24 - 1ece: 41 f0 breq .+16 ; 0x1ee0 - 1ed0: 84 e0 ldi r24, 0x04 ; 4 - 1ed2: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff - 1ed6: e0 e1 ldi r30, 0x10 ; 16 - 1ed8: f2 e2 ldi r31, 0x22 ; 34 - 1eda: 02 e0 ldi r16, 0x02 ; 2 - 1edc: 06 93 lac Z, r16 - 1ede: 36 c0 rjmp .+108 ; 0x1f4c - 1ee0: e0 91 68 24 lds r30, 0x2468 ; 0x802468 - 1ee4: f0 91 69 24 lds r31, 0x2469 ; 0x802469 - 1ee8: 30 97 sbiw r30, 0x00 ; 0 - 1eea: 99 f0 breq .+38 ; 0x1f12 - 1eec: 09 95 icall - 1eee: 88 23 and r24, r24 - 1ef0: 81 f0 breq .+32 ; 0x1f12 - 1ef2: 10 92 fb 21 sts 0x21FB, r1 ; 0x8021fb - 1ef6: 10 92 fc 21 sts 0x21FC, r1 ; 0x8021fc - 1efa: c0 91 64 24 lds r28, 0x2464 ; 0x802464 - 1efe: d0 91 65 24 lds r29, 0x2465 ; 0x802465 - 1f02: c0 34 cpi r28, 0x40 ; 64 - 1f04: d1 05 cpc r29, r1 - 1f06: 28 f0 brcs .+10 ; 0x1f12 - 1f08: 10 92 c4 20 sts 0x20C4, r1 ; 0x8020c4 - 1f0c: c0 e4 ldi r28, 0x40 ; 64 - 1f0e: d0 e0 ldi r29, 0x00 ; 0 - 1f10: 03 c0 rjmp .+6 ; 0x1f18 - 1f12: 81 e0 ldi r24, 0x01 ; 1 - 1f14: 80 93 c4 20 sts 0x20C4, r24 ; 0x8020c4 - 1f18: e0 e0 ldi r30, 0x00 ; 0 - 1f1a: f2 e2 ldi r31, 0x22 ; 34 - 1f1c: c2 8f std Z+26, r28 ; 0x1a - 1f1e: d3 8f std Z+27, r29 ; 0x1b - 1f20: 80 91 fb 21 lds r24, 0x21FB ; 0x8021fb - 1f24: 90 91 fc 21 lds r25, 0x21FC ; 0x8021fc - 1f28: 20 91 62 24 lds r18, 0x2462 ; 0x802462 - 1f2c: 30 91 63 24 lds r19, 0x2463 ; 0x802463 - 1f30: 28 0f add r18, r24 - 1f32: 39 1f adc r19, r25 - 1f34: 24 8f std Z+28, r18 ; 0x1c - 1f36: 35 8f std Z+29, r19 ; 0x1d - 1f38: c8 0f add r28, r24 - 1f3a: d9 1f adc r29, r25 - 1f3c: c0 93 fb 21 sts 0x21FB, r28 ; 0x8021fb - 1f40: d0 93 fc 21 sts 0x21FC, r29 ; 0x8021fc - 1f44: e8 e1 ldi r30, 0x18 ; 24 - 1f46: f2 e2 ldi r31, 0x22 ; 34 - 1f48: 02 e0 ldi r16, 0x02 ; 2 - 1f4a: 06 93 lac Z, r16 - 1f4c: df 91 pop r29 - 1f4e: cf 91 pop r28 - 1f50: 0f 91 pop r16 - 1f52: 08 95 ret +00001e92 : + 1e92: 0f 93 push r16 + 1e94: cf 93 push r28 + 1e96: df 93 push r29 + 1e98: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff + 1e9c: 83 30 cpi r24, 0x03 ; 3 + 1e9e: 19 f4 brne .+6 ; 0x1ea6 + 1ea0: f0 df rcall .-32 ; 0x1e82 + 1ea2: ac df rcall .-168 ; 0x1dfc + 1ea4: 5e c0 rjmp .+188 ; 0x1f62 + 1ea6: 80 91 fb 21 lds r24, 0x21FB ; 0x8021fb + 1eaa: 90 91 fc 21 lds r25, 0x21FC ; 0x8021fc + 1eae: c0 91 64 24 lds r28, 0x2464 ; 0x802464 + 1eb2: d0 91 65 24 lds r29, 0x2465 ; 0x802465 + 1eb6: c8 1b sub r28, r24 + 1eb8: d9 0b sbc r29, r25 + 1eba: 71 f5 brne .+92 ; 0x1f18 + 1ebc: 20 91 fd 21 lds r18, 0x21FD ; 0x8021fd + 1ec0: 30 91 fe 21 lds r19, 0x21FE ; 0x8021fe + 1ec4: 82 0f add r24, r18 + 1ec6: 93 1f adc r25, r19 + 1ec8: 80 93 fd 21 sts 0x21FD, r24 ; 0x8021fd + 1ecc: 90 93 fe 21 sts 0x21FE, r25 ; 0x8021fe + 1ed0: 20 91 60 24 lds r18, 0x2460 ; 0x802460 + 1ed4: 30 91 61 24 lds r19, 0x2461 ; 0x802461 + 1ed8: 82 17 cp r24, r18 + 1eda: 93 07 cpc r25, r19 + 1edc: 21 f0 breq .+8 ; 0x1ee6 + 1ede: 80 91 c4 20 lds r24, 0x20C4 ; 0x8020c4 + 1ee2: 88 23 and r24, r24 + 1ee4: 41 f0 breq .+16 ; 0x1ef6 + 1ee6: 84 e0 ldi r24, 0x04 ; 4 + 1ee8: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff + 1eec: e0 e1 ldi r30, 0x10 ; 16 + 1eee: f2 e2 ldi r31, 0x22 ; 34 + 1ef0: 02 e0 ldi r16, 0x02 ; 2 + 1ef2: 06 93 lac Z, r16 + 1ef4: 36 c0 rjmp .+108 ; 0x1f62 + 1ef6: e0 91 68 24 lds r30, 0x2468 ; 0x802468 + 1efa: f0 91 69 24 lds r31, 0x2469 ; 0x802469 + 1efe: 30 97 sbiw r30, 0x00 ; 0 + 1f00: 99 f0 breq .+38 ; 0x1f28 + 1f02: 09 95 icall + 1f04: 88 23 and r24, r24 + 1f06: 81 f0 breq .+32 ; 0x1f28 + 1f08: 10 92 fb 21 sts 0x21FB, r1 ; 0x8021fb + 1f0c: 10 92 fc 21 sts 0x21FC, r1 ; 0x8021fc + 1f10: c0 91 64 24 lds r28, 0x2464 ; 0x802464 + 1f14: d0 91 65 24 lds r29, 0x2465 ; 0x802465 + 1f18: c0 34 cpi r28, 0x40 ; 64 + 1f1a: d1 05 cpc r29, r1 + 1f1c: 28 f0 brcs .+10 ; 0x1f28 + 1f1e: 10 92 c4 20 sts 0x20C4, r1 ; 0x8020c4 + 1f22: c0 e4 ldi r28, 0x40 ; 64 + 1f24: d0 e0 ldi r29, 0x00 ; 0 + 1f26: 03 c0 rjmp .+6 ; 0x1f2e + 1f28: 81 e0 ldi r24, 0x01 ; 1 + 1f2a: 80 93 c4 20 sts 0x20C4, r24 ; 0x8020c4 + 1f2e: e0 e0 ldi r30, 0x00 ; 0 + 1f30: f2 e2 ldi r31, 0x22 ; 34 + 1f32: c2 8f std Z+26, r28 ; 0x1a + 1f34: d3 8f std Z+27, r29 ; 0x1b + 1f36: 80 91 fb 21 lds r24, 0x21FB ; 0x8021fb + 1f3a: 90 91 fc 21 lds r25, 0x21FC ; 0x8021fc + 1f3e: 20 91 62 24 lds r18, 0x2462 ; 0x802462 + 1f42: 30 91 63 24 lds r19, 0x2463 ; 0x802463 + 1f46: 28 0f add r18, r24 + 1f48: 39 1f adc r19, r25 + 1f4a: 24 8f std Z+28, r18 ; 0x1c + 1f4c: 35 8f std Z+29, r19 ; 0x1d + 1f4e: c8 0f add r28, r24 + 1f50: d9 1f adc r29, r25 + 1f52: c0 93 fb 21 sts 0x21FB, r28 ; 0x8021fb + 1f56: d0 93 fc 21 sts 0x21FC, r29 ; 0x8021fc + 1f5a: e8 e1 ldi r30, 0x18 ; 24 + 1f5c: f2 e2 ldi r31, 0x22 ; 34 + 1f5e: 02 e0 ldi r16, 0x02 ; 2 + 1f60: 06 93 lac Z, r16 + 1f62: df 91 pop r29 + 1f64: cf 91 pop r28 + 1f66: 0f 91 pop r16 + 1f68: 08 95 ret -00001f54 : - 1f54: fc 01 movw r30, r24 - 1f56: 81 81 ldd r24, Z+1 ; 0x01 - 1f58: e8 2f mov r30, r24 - 1f5a: e7 70 andi r30, 0x07 ; 7 - 1f5c: 8e 2f mov r24, r30 - 1f5e: 90 e0 ldi r25, 0x00 ; 0 - 1f60: fc 01 movw r30, r24 - 1f62: 31 97 sbiw r30, 0x01 ; 1 - 1f64: e7 30 cpi r30, 0x07 ; 7 - 1f66: f1 05 cpc r31, r1 - 1f68: c0 f4 brcc .+48 ; 0x1f9a - 1f6a: e2 5d subi r30, 0xD2 ; 210 - 1f6c: fe 4f sbci r31, 0xFE ; 254 - 1f6e: 7a c6 rjmp .+3316 ; 0x2c64 <__tablejump2__> - 1f70: 80 e1 ldi r24, 0x10 ; 16 - 1f72: 90 e0 ldi r25, 0x00 ; 0 - 1f74: 08 95 ret - 1f76: 80 e2 ldi r24, 0x20 ; 32 - 1f78: 90 e0 ldi r25, 0x00 ; 0 - 1f7a: 08 95 ret - 1f7c: 80 e4 ldi r24, 0x40 ; 64 - 1f7e: 90 e0 ldi r25, 0x00 ; 0 - 1f80: 08 95 ret - 1f82: 80 e8 ldi r24, 0x80 ; 128 - 1f84: 90 e0 ldi r25, 0x00 ; 0 - 1f86: 08 95 ret - 1f88: 80 e0 ldi r24, 0x00 ; 0 - 1f8a: 91 e0 ldi r25, 0x01 ; 1 - 1f8c: 08 95 ret - 1f8e: 80 e0 ldi r24, 0x00 ; 0 - 1f90: 92 e0 ldi r25, 0x02 ; 2 - 1f92: 08 95 ret - 1f94: 8f ef ldi r24, 0xFF ; 255 - 1f96: 93 e0 ldi r25, 0x03 ; 3 - 1f98: 08 95 ret - 1f9a: 88 e0 ldi r24, 0x08 ; 8 - 1f9c: 90 e0 ldi r25, 0x00 ; 0 - 1f9e: 08 95 ret +00001f6a : + 1f6a: fc 01 movw r30, r24 + 1f6c: 81 81 ldd r24, Z+1 ; 0x01 + 1f6e: e8 2f mov r30, r24 + 1f70: e7 70 andi r30, 0x07 ; 7 + 1f72: 8e 2f mov r24, r30 + 1f74: 90 e0 ldi r25, 0x00 ; 0 + 1f76: fc 01 movw r30, r24 + 1f78: 31 97 sbiw r30, 0x01 ; 1 + 1f7a: e7 30 cpi r30, 0x07 ; 7 + 1f7c: f1 05 cpc r31, r1 + 1f7e: c0 f4 brcc .+48 ; 0x1fb0 + 1f80: e2 5d subi r30, 0xD2 ; 210 + 1f82: fe 4f sbci r31, 0xFE ; 254 + 1f84: 7a c6 rjmp .+3316 ; 0x2c7a <__tablejump2__> + 1f86: 80 e1 ldi r24, 0x10 ; 16 + 1f88: 90 e0 ldi r25, 0x00 ; 0 + 1f8a: 08 95 ret + 1f8c: 80 e2 ldi r24, 0x20 ; 32 + 1f8e: 90 e0 ldi r25, 0x00 ; 0 + 1f90: 08 95 ret + 1f92: 80 e4 ldi r24, 0x40 ; 64 + 1f94: 90 e0 ldi r25, 0x00 ; 0 + 1f96: 08 95 ret + 1f98: 80 e8 ldi r24, 0x80 ; 128 + 1f9a: 90 e0 ldi r25, 0x00 ; 0 + 1f9c: 08 95 ret + 1f9e: 80 e0 ldi r24, 0x00 ; 0 + 1fa0: 91 e0 ldi r25, 0x01 ; 1 + 1fa2: 08 95 ret + 1fa4: 80 e0 ldi r24, 0x00 ; 0 + 1fa6: 92 e0 ldi r25, 0x02 ; 2 + 1fa8: 08 95 ret + 1faa: 8f ef ldi r24, 0xFF ; 255 + 1fac: 93 e0 ldi r25, 0x03 ; 3 + 1fae: 08 95 ret + 1fb0: 88 e0 ldi r24, 0x08 ; 8 + 1fb2: 90 e0 ldi r25, 0x00 ; 0 + 1fb4: 08 95 ret -00001fa0 : - 1fa0: 28 2f mov r18, r24 - 1fa2: 2f 70 andi r18, 0x0F ; 15 - 1fa4: 30 e0 ldi r19, 0x00 ; 0 - 1fa6: 22 0f add r18, r18 - 1fa8: 33 1f adc r19, r19 - 1faa: 08 2e mov r0, r24 - 1fac: 00 0c add r0, r0 - 1fae: 99 0b sbc r25, r25 - 1fb0: 88 27 eor r24, r24 - 1fb2: 99 0f add r25, r25 - 1fb4: 88 1f adc r24, r24 - 1fb6: 99 27 eor r25, r25 - 1fb8: 82 0f add r24, r18 - 1fba: 93 1f adc r25, r19 - 1fbc: 02 97 sbiw r24, 0x02 ; 2 - 1fbe: 9c 01 movw r18, r24 - 1fc0: 22 0f add r18, r18 - 1fc2: 33 1f adc r19, r19 - 1fc4: 22 0f add r18, r18 - 1fc6: 33 1f adc r19, r19 - 1fc8: 22 0f add r18, r18 - 1fca: 33 1f adc r19, r19 - 1fcc: 82 0f add r24, r18 - 1fce: 93 1f adc r25, r19 - 1fd0: 8b 57 subi r24, 0x7B ; 123 - 1fd2: 9e 4d sbci r25, 0xDE ; 222 - 1fd4: 08 95 ret +00001fb6 : + 1fb6: 28 2f mov r18, r24 + 1fb8: 2f 70 andi r18, 0x0F ; 15 + 1fba: 30 e0 ldi r19, 0x00 ; 0 + 1fbc: 22 0f add r18, r18 + 1fbe: 33 1f adc r19, r19 + 1fc0: 08 2e mov r0, r24 + 1fc2: 00 0c add r0, r0 + 1fc4: 99 0b sbc r25, r25 + 1fc6: 88 27 eor r24, r24 + 1fc8: 99 0f add r25, r25 + 1fca: 88 1f adc r24, r24 + 1fcc: 99 27 eor r25, r25 + 1fce: 82 0f add r24, r18 + 1fd0: 93 1f adc r25, r19 + 1fd2: 02 97 sbiw r24, 0x02 ; 2 + 1fd4: 9c 01 movw r18, r24 + 1fd6: 22 0f add r18, r18 + 1fd8: 33 1f adc r19, r19 + 1fda: 22 0f add r18, r18 + 1fdc: 33 1f adc r19, r19 + 1fde: 22 0f add r18, r18 + 1fe0: 33 1f adc r19, r19 + 1fe2: 82 0f add r24, r18 + 1fe4: 93 1f adc r25, r19 + 1fe6: 8b 57 subi r24, 0x7B ; 123 + 1fe8: 9e 4d sbci r25, 0xDE ; 222 + 1fea: 08 95 ret -00001fd6 : - 1fd6: 0f 93 push r16 - 1fd8: cf 93 push r28 - 1fda: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 1fde: 80 ff sbrs r24, 0 - 1fe0: 62 c0 rjmp .+196 ; 0x20a6 - 1fe2: 81 e0 ldi r24, 0x01 ; 1 - 1fe4: 80 93 cc 04 sts 0x04CC, r24 ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 1fe8: e0 e1 ldi r30, 0x10 ; 16 - 1fea: f2 e2 ldi r31, 0x22 ; 34 - 1fec: 00 e8 ldi r16, 0x80 ; 128 - 1fee: 06 93 lac Z, r16 - 1ff0: e8 e1 ldi r30, 0x18 ; 24 - 1ff2: f2 e2 ldi r31, 0x22 ; 34 - 1ff4: 00 e8 ldi r16, 0x80 ; 128 - 1ff6: 06 93 lac Z, r16 - 1ff8: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> - 1ffc: e0 e1 ldi r30, 0x10 ; 16 - 1ffe: f2 e2 ldi r31, 0x22 ; 34 - 2000: 00 e1 ldi r16, 0x10 ; 16 - 2002: 06 93 lac Z, r16 - 2004: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff - 2008: 88 23 and r24, r24 - 200a: 29 f0 breq .+10 ; 0x2016 - 200c: 83 50 subi r24, 0x03 ; 3 - 200e: 82 30 cpi r24, 0x02 ; 2 - 2010: 08 f4 brcc .+2 ; 0x2014 - 2012: 2c df rcall .-424 ; 0x1e6c - 2014: e8 de rcall .-560 ; 0x1de6 - 2016: 80 91 12 22 lds r24, 0x2212 ; 0x802212 - 201a: 90 91 13 22 lds r25, 0x2213 ; 0x802213 - 201e: 08 97 sbiw r24, 0x08 ; 8 - 2020: 09 f0 breq .+2 ; 0x2024 - 2022: 43 c0 rjmp .+134 ; 0x20aa - 2024: 88 e0 ldi r24, 0x08 ; 8 - 2026: eb eb ldi r30, 0xBB ; 187 - 2028: f1 e2 ldi r31, 0x21 ; 33 - 202a: aa e5 ldi r26, 0x5A ; 90 - 202c: b4 e2 ldi r27, 0x24 ; 36 - 202e: 01 90 ld r0, Z+ - 2030: 0d 92 st X+, r0 - 2032: 8a 95 dec r24 - 2034: e1 f7 brne .-8 ; 0x202e - 2036: e8 ec ldi r30, 0xC8 ; 200 - 2038: f4 e0 ldi r31, 0x04 ; 4 - 203a: 80 81 ld r24, Z - 203c: 80 62 ori r24, 0x20 ; 32 - 203e: 80 83 st Z, r24 - 2040: 80 81 ld r24, Z - 2042: 80 62 ori r24, 0x20 ; 32 - 2044: 80 83 st Z, r24 - 2046: 0c db rcall .-2536 ; 0x1660 - 2048: c8 2f mov r28, r24 - 204a: 81 11 cpse r24, r1 - 204c: 03 c0 rjmp .+6 ; 0x2054 - 204e: f2 de rcall .-540 ; 0x1e34 - 2050: c1 e0 ldi r28, 0x01 ; 1 - 2052: 2c c0 rjmp .+88 ; 0x20ac - 2054: 80 91 5a 24 lds r24, 0x245A ; 0x80245a - 2058: 88 23 and r24, r24 - 205a: 6c f4 brge .+26 ; 0x2076 - 205c: 10 92 fd 21 sts 0x21FD, r1 ; 0x8021fd - 2060: 10 92 fe 21 sts 0x21FE, r1 ; 0x8021fe - 2064: 10 92 fb 21 sts 0x21FB, r1 ; 0x8021fb - 2068: 10 92 fc 21 sts 0x21FC, r1 ; 0x8021fc - 206c: 82 e0 ldi r24, 0x02 ; 2 - 206e: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff - 2072: 04 df rcall .-504 ; 0x1e7c - 2074: 1b c0 rjmp .+54 ; 0x20ac - 2076: 80 91 60 24 lds r24, 0x2460 ; 0x802460 - 207a: 90 91 61 24 lds r25, 0x2461 ; 0x802461 - 207e: 89 2b or r24, r25 - 2080: 11 f4 brne .+4 ; 0x2086 - 2082: e6 de rcall .-564 ; 0x1e50 - 2084: 13 c0 rjmp .+38 ; 0x20ac - 2086: 10 92 fd 21 sts 0x21FD, r1 ; 0x8021fd - 208a: 10 92 fe 21 sts 0x21FE, r1 ; 0x8021fe - 208e: 10 92 fb 21 sts 0x21FB, r1 ; 0x8021fb - 2092: 10 92 fc 21 sts 0x21FC, r1 ; 0x8021fc - 2096: 81 e0 ldi r24, 0x01 ; 1 - 2098: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff - 209c: e0 e1 ldi r30, 0x10 ; 16 - 209e: f2 e2 ldi r31, 0x22 ; 34 - 20a0: 02 e0 ldi r16, 0x02 ; 2 - 20a2: 06 93 lac Z, r16 - 20a4: 03 c0 rjmp .+6 ; 0x20ac - 20a6: c0 e0 ldi r28, 0x00 ; 0 - 20a8: 01 c0 rjmp .+2 ; 0x20ac - 20aa: c1 e0 ldi r28, 0x01 ; 1 - 20ac: 8c 2f mov r24, r28 - 20ae: cf 91 pop r28 - 20b0: 0f 91 pop r16 - 20b2: 08 95 ret +00001fec : + 1fec: 0f 93 push r16 + 1fee: cf 93 push r28 + 1ff0: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 1ff4: 80 ff sbrs r24, 0 + 1ff6: 62 c0 rjmp .+196 ; 0x20bc + 1ff8: 81 e0 ldi r24, 0x01 ; 1 + 1ffa: 80 93 cc 04 sts 0x04CC, r24 ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 1ffe: e0 e1 ldi r30, 0x10 ; 16 + 2000: f2 e2 ldi r31, 0x22 ; 34 + 2002: 00 e8 ldi r16, 0x80 ; 128 + 2004: 06 93 lac Z, r16 + 2006: e8 e1 ldi r30, 0x18 ; 24 + 2008: f2 e2 ldi r31, 0x22 ; 34 + 200a: 00 e8 ldi r16, 0x80 ; 128 + 200c: 06 93 lac Z, r16 + 200e: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 2012: e0 e1 ldi r30, 0x10 ; 16 + 2014: f2 e2 ldi r31, 0x22 ; 34 + 2016: 00 e1 ldi r16, 0x10 ; 16 + 2018: 06 93 lac Z, r16 + 201a: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff + 201e: 88 23 and r24, r24 + 2020: 29 f0 breq .+10 ; 0x202c + 2022: 83 50 subi r24, 0x03 ; 3 + 2024: 82 30 cpi r24, 0x02 ; 2 + 2026: 08 f4 brcc .+2 ; 0x202a + 2028: 2c df rcall .-424 ; 0x1e82 + 202a: e8 de rcall .-560 ; 0x1dfc + 202c: 80 91 12 22 lds r24, 0x2212 ; 0x802212 + 2030: 90 91 13 22 lds r25, 0x2213 ; 0x802213 + 2034: 08 97 sbiw r24, 0x08 ; 8 + 2036: 09 f0 breq .+2 ; 0x203a + 2038: 43 c0 rjmp .+134 ; 0x20c0 + 203a: 88 e0 ldi r24, 0x08 ; 8 + 203c: eb eb ldi r30, 0xBB ; 187 + 203e: f1 e2 ldi r31, 0x21 ; 33 + 2040: aa e5 ldi r26, 0x5A ; 90 + 2042: b4 e2 ldi r27, 0x24 ; 36 + 2044: 01 90 ld r0, Z+ + 2046: 0d 92 st X+, r0 + 2048: 8a 95 dec r24 + 204a: e1 f7 brne .-8 ; 0x2044 + 204c: e8 ec ldi r30, 0xC8 ; 200 + 204e: f4 e0 ldi r31, 0x04 ; 4 + 2050: 80 81 ld r24, Z + 2052: 80 62 ori r24, 0x20 ; 32 + 2054: 80 83 st Z, r24 + 2056: 80 81 ld r24, Z + 2058: 80 62 ori r24, 0x20 ; 32 + 205a: 80 83 st Z, r24 + 205c: 0c db rcall .-2536 ; 0x1676 + 205e: c8 2f mov r28, r24 + 2060: 81 11 cpse r24, r1 + 2062: 03 c0 rjmp .+6 ; 0x206a + 2064: f2 de rcall .-540 ; 0x1e4a + 2066: c1 e0 ldi r28, 0x01 ; 1 + 2068: 2c c0 rjmp .+88 ; 0x20c2 + 206a: 80 91 5a 24 lds r24, 0x245A ; 0x80245a + 206e: 88 23 and r24, r24 + 2070: 6c f4 brge .+26 ; 0x208c + 2072: 10 92 fd 21 sts 0x21FD, r1 ; 0x8021fd + 2076: 10 92 fe 21 sts 0x21FE, r1 ; 0x8021fe + 207a: 10 92 fb 21 sts 0x21FB, r1 ; 0x8021fb + 207e: 10 92 fc 21 sts 0x21FC, r1 ; 0x8021fc + 2082: 82 e0 ldi r24, 0x02 ; 2 + 2084: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff + 2088: 04 df rcall .-504 ; 0x1e92 + 208a: 1b c0 rjmp .+54 ; 0x20c2 + 208c: 80 91 60 24 lds r24, 0x2460 ; 0x802460 + 2090: 90 91 61 24 lds r25, 0x2461 ; 0x802461 + 2094: 89 2b or r24, r25 + 2096: 11 f4 brne .+4 ; 0x209c + 2098: e6 de rcall .-564 ; 0x1e66 + 209a: 13 c0 rjmp .+38 ; 0x20c2 + 209c: 10 92 fd 21 sts 0x21FD, r1 ; 0x8021fd + 20a0: 10 92 fe 21 sts 0x21FE, r1 ; 0x8021fe + 20a4: 10 92 fb 21 sts 0x21FB, r1 ; 0x8021fb + 20a8: 10 92 fc 21 sts 0x21FC, r1 ; 0x8021fc + 20ac: 81 e0 ldi r24, 0x01 ; 1 + 20ae: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff + 20b2: e0 e1 ldi r30, 0x10 ; 16 + 20b4: f2 e2 ldi r31, 0x22 ; 34 + 20b6: 02 e0 ldi r16, 0x02 ; 2 + 20b8: 06 93 lac Z, r16 + 20ba: 03 c0 rjmp .+6 ; 0x20c2 + 20bc: c0 e0 ldi r28, 0x00 ; 0 + 20be: 01 c0 rjmp .+2 ; 0x20c2 + 20c0: c1 e0 ldi r28, 0x01 ; 1 + 20c2: 8c 2f mov r24, r28 + 20c4: cf 91 pop r28 + 20c6: 0f 91 pop r16 + 20c8: 08 95 ret -000020b4 : - 20b4: 8f 92 push r8 - 20b6: 9f 92 push r9 - 20b8: af 92 push r10 - 20ba: bf 92 push r11 - 20bc: df 92 push r13 - 20be: ef 92 push r14 - 20c0: ff 92 push r15 - 20c2: 0f 93 push r16 - 20c4: 1f 93 push r17 - 20c6: cf 93 push r28 - 20c8: df 93 push r29 - 20ca: d8 2e mov r13, r24 - 20cc: 69 df rcall .-302 ; 0x1fa0 - 20ce: 8c 01 movw r16, r24 - 20d0: bd 2c mov r11, r13 - 20d2: bb 1c adc r11, r11 - 20d4: bb 24 eor r11, r11 - 20d6: bb 1c adc r11, r11 - 20d8: cd 2d mov r28, r13 - 20da: cf 70 andi r28, 0x0F ; 15 - 20dc: d0 e0 ldi r29, 0x00 ; 0 - 20de: cc 0f add r28, r28 - 20e0: dd 1f adc r29, r29 - 20e2: cb 0d add r28, r11 - 20e4: d1 1d adc r29, r1 - 20e6: ce 01 movw r24, r28 - 20e8: 88 0f add r24, r24 - 20ea: 99 1f adc r25, r25 - 20ec: 88 0f add r24, r24 - 20ee: 99 1f adc r25, r25 - 20f0: 88 0f add r24, r24 - 20f2: 99 1f adc r25, r25 - 20f4: 9c 01 movw r18, r24 - 20f6: 20 5f subi r18, 0xF0 ; 240 - 20f8: 3d 4d sbci r19, 0xDD ; 221 - 20fa: 79 01 movw r14, r18 - 20fc: c9 01 movw r24, r18 - 20fe: 2a df rcall .-428 ; 0x1f54 - 2100: 4c 01 movw r8, r24 - 2102: bb 20 and r11, r11 - 2104: 09 f4 brne .+2 ; 0x2108 - 2106: 70 c0 rjmp .+224 ; 0x21e8 - 2108: fe 01 movw r30, r28 - 210a: ee 0f add r30, r30 - 210c: ff 1f adc r31, r31 - 210e: ee 0f add r30, r30 - 2110: ff 1f adc r31, r31 - 2112: ee 0f add r30, r30 - 2114: ff 1f adc r31, r31 - 2116: e0 50 subi r30, 0x00 ; 0 - 2118: fe 4d sbci r31, 0xDE ; 222 - 211a: 26 89 ldd r18, Z+22 ; 0x16 - 211c: 37 89 ldd r19, Z+23 ; 0x17 - 211e: d8 01 movw r26, r16 - 2120: 15 96 adiw r26, 0x05 ; 5 - 2122: 8d 91 ld r24, X+ - 2124: 9c 91 ld r25, X - 2126: 16 97 sbiw r26, 0x06 ; 6 - 2128: 82 0f add r24, r18 - 212a: 93 1f adc r25, r19 - 212c: 15 96 adiw r26, 0x05 ; 5 - 212e: 8d 93 st X+, r24 - 2130: 9c 93 st X, r25 - 2132: 16 97 sbiw r26, 0x06 ; 6 - 2134: 13 96 adiw r26, 0x03 ; 3 - 2136: 2d 91 ld r18, X+ - 2138: 3c 91 ld r19, X - 213a: 14 97 sbiw r26, 0x04 ; 4 - 213c: 82 17 cp r24, r18 - 213e: 93 07 cpc r25, r19 - 2140: 09 f4 brne .+2 ; 0x2144 - 2142: 3c c0 rjmp .+120 ; 0x21bc - 2144: 28 1b sub r18, r24 - 2146: 39 0b sbc r19, r25 - 2148: 21 15 cp r18, r1 - 214a: b4 e0 ldi r27, 0x04 ; 4 - 214c: 3b 07 cpc r19, r27 - 214e: 38 f0 brcs .+14 ; 0x215e - 2150: 2f ef ldi r18, 0xFF ; 255 - 2152: 33 e0 ldi r19, 0x03 ; 3 - 2154: c9 01 movw r24, r18 - 2156: b4 01 movw r22, r8 - 2158: 71 d5 rcall .+2786 ; 0x2c3c <__udivmodhi4> +000020ca : + 20ca: 8f 92 push r8 + 20cc: 9f 92 push r9 + 20ce: af 92 push r10 + 20d0: bf 92 push r11 + 20d2: df 92 push r13 + 20d4: ef 92 push r14 + 20d6: ff 92 push r15 + 20d8: 0f 93 push r16 + 20da: 1f 93 push r17 + 20dc: cf 93 push r28 + 20de: df 93 push r29 + 20e0: d8 2e mov r13, r24 + 20e2: 69 df rcall .-302 ; 0x1fb6 + 20e4: 8c 01 movw r16, r24 + 20e6: bd 2c mov r11, r13 + 20e8: bb 1c adc r11, r11 + 20ea: bb 24 eor r11, r11 + 20ec: bb 1c adc r11, r11 + 20ee: cd 2d mov r28, r13 + 20f0: cf 70 andi r28, 0x0F ; 15 + 20f2: d0 e0 ldi r29, 0x00 ; 0 + 20f4: cc 0f add r28, r28 + 20f6: dd 1f adc r29, r29 + 20f8: cb 0d add r28, r11 + 20fa: d1 1d adc r29, r1 + 20fc: ce 01 movw r24, r28 + 20fe: 88 0f add r24, r24 + 2100: 99 1f adc r25, r25 + 2102: 88 0f add r24, r24 + 2104: 99 1f adc r25, r25 + 2106: 88 0f add r24, r24 + 2108: 99 1f adc r25, r25 + 210a: 9c 01 movw r18, r24 + 210c: 20 5f subi r18, 0xF0 ; 240 + 210e: 3d 4d sbci r19, 0xDD ; 221 + 2110: 79 01 movw r14, r18 + 2112: c9 01 movw r24, r18 + 2114: 2a df rcall .-428 ; 0x1f6a + 2116: 4c 01 movw r8, r24 + 2118: bb 20 and r11, r11 + 211a: 09 f4 brne .+2 ; 0x211e + 211c: 70 c0 rjmp .+224 ; 0x21fe + 211e: fe 01 movw r30, r28 + 2120: ee 0f add r30, r30 + 2122: ff 1f adc r31, r31 + 2124: ee 0f add r30, r30 + 2126: ff 1f adc r31, r31 + 2128: ee 0f add r30, r30 + 212a: ff 1f adc r31, r31 + 212c: e0 50 subi r30, 0x00 ; 0 + 212e: fe 4d sbci r31, 0xDE ; 222 + 2130: 26 89 ldd r18, Z+22 ; 0x16 + 2132: 37 89 ldd r19, Z+23 ; 0x17 + 2134: d8 01 movw r26, r16 + 2136: 15 96 adiw r26, 0x05 ; 5 + 2138: 8d 91 ld r24, X+ + 213a: 9c 91 ld r25, X + 213c: 16 97 sbiw r26, 0x06 ; 6 + 213e: 82 0f add r24, r18 + 2140: 93 1f adc r25, r19 + 2142: 15 96 adiw r26, 0x05 ; 5 + 2144: 8d 93 st X+, r24 + 2146: 9c 93 st X, r25 + 2148: 16 97 sbiw r26, 0x06 ; 6 + 214a: 13 96 adiw r26, 0x03 ; 3 + 214c: 2d 91 ld r18, X+ + 214e: 3c 91 ld r19, X + 2150: 14 97 sbiw r26, 0x04 ; 4 + 2152: 82 17 cp r24, r18 + 2154: 93 07 cpc r25, r19 + 2156: 09 f4 brne .+2 ; 0x215a + 2158: 3c c0 rjmp .+120 ; 0x21d2 215a: 28 1b sub r18, r24 215c: 39 0b sbc r19, r25 - 215e: f8 01 movw r30, r16 - 2160: 80 81 ld r24, Z - 2162: 81 ff sbrs r24, 1 - 2164: 09 c0 rjmp .+18 ; 0x2178 - 2166: c9 01 movw r24, r18 - 2168: b4 01 movw r22, r8 - 216a: 68 d5 rcall .+2768 ; 0x2c3c <__udivmodhi4> - 216c: 41 e0 ldi r20, 0x01 ; 1 - 216e: 89 2b or r24, r25 - 2170: 09 f0 breq .+2 ; 0x2174 - 2172: 40 e0 ldi r20, 0x00 ; 0 - 2174: 84 2f mov r24, r20 - 2176: 01 c0 rjmp .+2 ; 0x217a - 2178: 80 e0 ldi r24, 0x00 ; 0 - 217a: d8 01 movw r26, r16 - 217c: 9c 91 ld r25, X - 217e: 80 fb bst r24, 0 - 2180: 91 f9 bld r25, 1 - 2182: 9c 93 st X, r25 - 2184: cc 0f add r28, r28 - 2186: dd 1f adc r29, r29 - 2188: cc 0f add r28, r28 - 218a: dd 1f adc r29, r29 - 218c: cc 0f add r28, r28 - 218e: dd 1f adc r29, r29 - 2190: c0 50 subi r28, 0x00 ; 0 - 2192: de 4d sbci r29, 0xDE ; 222 - 2194: 1e 8a std Y+22, r1 ; 0x16 - 2196: 1f 8a std Y+23, r1 ; 0x17 - 2198: 2a 8b std Y+18, r18 ; 0x12 - 219a: 3b 8b std Y+19, r19 ; 0x13 - 219c: 11 96 adiw r26, 0x01 ; 1 - 219e: 2d 91 ld r18, X+ - 21a0: 3c 91 ld r19, X - 21a2: 12 97 sbiw r26, 0x02 ; 2 - 21a4: 15 96 adiw r26, 0x05 ; 5 - 21a6: 8d 91 ld r24, X+ - 21a8: 9c 91 ld r25, X - 21aa: 16 97 sbiw r26, 0x06 ; 6 - 21ac: 82 0f add r24, r18 - 21ae: 93 1f adc r25, r19 - 21b0: 8c 8b std Y+20, r24 ; 0x14 - 21b2: 9d 8b std Y+21, r25 ; 0x15 - 21b4: f7 01 movw r30, r14 - 21b6: 02 e0 ldi r16, 0x02 ; 2 - 21b8: 06 93 lac Z, r16 - 21ba: ca c0 rjmp .+404 ; 0x2350 - 21bc: d8 01 movw r26, r16 - 21be: 8c 91 ld r24, X - 21c0: 81 ff sbrs r24, 1 - 21c2: b3 c0 rjmp .+358 ; 0x232a - 21c4: 8d 7f andi r24, 0xFD ; 253 - 21c6: 8c 93 st X, r24 - 21c8: cc 0f add r28, r28 - 21ca: dd 1f adc r29, r29 - 21cc: cc 0f add r28, r28 - 21ce: dd 1f adc r29, r29 - 21d0: cc 0f add r28, r28 - 21d2: dd 1f adc r29, r29 - 21d4: c0 50 subi r28, 0x00 ; 0 - 21d6: de 4d sbci r29, 0xDE ; 222 - 21d8: 1e 8a std Y+22, r1 ; 0x16 - 21da: 1f 8a std Y+23, r1 ; 0x17 - 21dc: 1a 8a std Y+18, r1 ; 0x12 - 21de: 1b 8a std Y+19, r1 ; 0x13 - 21e0: f7 01 movw r30, r14 - 21e2: 02 e0 ldi r16, 0x02 ; 2 - 21e4: 06 93 lac Z, r16 - 21e6: b4 c0 rjmp .+360 ; 0x2350 - 21e8: fe 01 movw r30, r28 - 21ea: ee 0f add r30, r30 - 21ec: ff 1f adc r31, r31 - 21ee: ee 0f add r30, r30 - 21f0: ff 1f adc r31, r31 - 21f2: ee 0f add r30, r30 - 21f4: ff 1f adc r31, r31 - 21f6: e0 50 subi r30, 0x00 ; 0 - 21f8: fe 4d sbci r31, 0xDE ; 222 - 21fa: a2 88 ldd r10, Z+18 ; 0x12 - 21fc: b3 88 ldd r11, Z+19 ; 0x13 - 21fe: d8 01 movw r26, r16 - 2200: 8c 91 ld r24, X - 2202: 82 ff sbrs r24, 2 - 2204: 19 c0 rjmp .+50 ; 0x2238 - 2206: 11 96 adiw r26, 0x01 ; 1 - 2208: ed 91 ld r30, X+ - 220a: fc 91 ld r31, X - 220c: 12 97 sbiw r26, 0x02 ; 2 - 220e: 15 96 adiw r26, 0x05 ; 5 - 2210: 2d 91 ld r18, X+ - 2212: 3c 91 ld r19, X - 2214: 16 97 sbiw r26, 0x06 ; 6 - 2216: 13 96 adiw r26, 0x03 ; 3 - 2218: 8d 91 ld r24, X+ - 221a: 9c 91 ld r25, X - 221c: 14 97 sbiw r26, 0x04 ; 4 - 221e: b4 01 movw r22, r8 - 2220: 0d d5 rcall .+2586 ; 0x2c3c <__udivmodhi4> - 2222: b0 e4 ldi r27, 0x40 ; 64 - 2224: db 9e mul r13, r27 - 2226: b0 01 movw r22, r0 - 2228: 11 24 eor r1, r1 - 222a: 6b 57 subi r22, 0x7B ; 123 - 222c: 7f 4d sbci r23, 0xDF ; 223 - 222e: ac 01 movw r20, r24 - 2230: cf 01 movw r24, r30 - 2232: 82 0f add r24, r18 - 2234: 93 1f adc r25, r19 - 2236: 1c d5 rcall .+2616 ; 0x2c70 - 2238: f8 01 movw r30, r16 - 223a: 25 81 ldd r18, Z+5 ; 0x05 - 223c: 36 81 ldd r19, Z+6 ; 0x06 - 223e: 2a 0d add r18, r10 - 2240: 3b 1d adc r19, r11 - 2242: 25 83 std Z+5, r18 ; 0x05 - 2244: 36 83 std Z+6, r19 ; 0x06 - 2246: 83 81 ldd r24, Z+3 ; 0x03 - 2248: 94 81 ldd r25, Z+4 ; 0x04 - 224a: 82 17 cp r24, r18 - 224c: 93 07 cpc r25, r19 - 224e: 68 f4 brcc .+26 ; 0x226a - 2250: 85 83 std Z+5, r24 ; 0x05 - 2252: 96 83 std Z+6, r25 ; 0x06 - 2254: cc 0f add r28, r28 - 2256: dd 1f adc r29, r29 - 2258: cc 0f add r28, r28 - 225a: dd 1f adc r29, r29 - 225c: cc 0f add r28, r28 - 225e: dd 1f adc r29, r29 - 2260: c0 50 subi r28, 0x00 ; 0 - 2262: de 4d sbci r29, 0xDE ; 222 - 2264: 8e 89 ldd r24, Y+22 ; 0x16 - 2266: 9f 89 ldd r25, Y+23 ; 0x17 - 2268: 60 c0 rjmp .+192 ; 0x232a - 226a: fe 01 movw r30, r28 - 226c: ee 0f add r30, r30 - 226e: ff 1f adc r31, r31 - 2270: ee 0f add r30, r30 - 2272: ff 1f adc r31, r31 - 2274: ee 0f add r30, r30 - 2276: ff 1f adc r31, r31 - 2278: e0 50 subi r30, 0x00 ; 0 - 227a: fe 4d sbci r31, 0xDE ; 222 - 227c: 46 89 ldd r20, Z+22 ; 0x16 - 227e: 57 89 ldd r21, Z+23 ; 0x17 - 2280: 4a 15 cp r20, r10 - 2282: 5b 05 cpc r21, r11 - 2284: 09 f0 breq .+2 ; 0x2288 - 2286: 51 c0 rjmp .+162 ; 0x232a - 2288: 28 17 cp r18, r24 - 228a: 39 07 cpc r19, r25 - 228c: 09 f4 brne .+2 ; 0x2290 - 228e: 4d c0 rjmp .+154 ; 0x232a - 2290: ac 01 movw r20, r24 - 2292: 42 1b sub r20, r18 - 2294: 53 0b sbc r21, r19 - 2296: 9a 01 movw r18, r20 - 2298: 21 15 cp r18, r1 - 229a: 54 e0 ldi r21, 0x04 ; 4 - 229c: 35 07 cpc r19, r21 - 229e: 50 f0 brcs .+20 ; 0x22b4 - 22a0: 2f ef ldi r18, 0xFF ; 255 - 22a2: 33 e0 ldi r19, 0x03 ; 3 - 22a4: c9 01 movw r24, r18 - 22a6: b4 01 movw r22, r8 - 22a8: c9 d4 rcall .+2450 ; 0x2c3c <__udivmodhi4> - 22aa: d9 01 movw r26, r18 - 22ac: a8 1b sub r26, r24 - 22ae: b9 0b sbc r27, r25 - 22b0: cd 01 movw r24, r26 - 22b2: 07 c0 rjmp .+14 ; 0x22c2 - 22b4: c9 01 movw r24, r18 - 22b6: b4 01 movw r22, r8 - 22b8: c1 d4 rcall .+2434 ; 0x2c3c <__udivmodhi4> - 22ba: f9 01 movw r30, r18 - 22bc: e8 1b sub r30, r24 - 22be: f9 0b sbc r31, r25 - 22c0: cf 01 movw r24, r30 - 22c2: fe 01 movw r30, r28 - 22c4: ee 0f add r30, r30 - 22c6: ff 1f adc r31, r31 - 22c8: ee 0f add r30, r30 - 22ca: ff 1f adc r31, r31 - 22cc: ee 0f add r30, r30 - 22ce: ff 1f adc r31, r31 - 22d0: e0 50 subi r30, 0x00 ; 0 - 22d2: fe 4d sbci r31, 0xDE ; 222 - 22d4: 12 8a std Z+18, r1 ; 0x12 - 22d6: 13 8a std Z+19, r1 ; 0x13 - 22d8: 88 15 cp r24, r8 - 22da: 99 05 cpc r25, r9 - 22dc: 78 f4 brcc .+30 ; 0x22fc - 22de: d8 01 movw r26, r16 - 22e0: 8c 91 ld r24, X - 22e2: 84 60 ori r24, 0x04 ; 4 - 22e4: 8c 93 st X, r24 - 22e6: b0 e4 ldi r27, 0x40 ; 64 - 22e8: db 9e mul r13, r27 - 22ea: c0 01 movw r24, r0 - 22ec: 11 24 eor r1, r1 - 22ee: 8b 57 subi r24, 0x7B ; 123 - 22f0: 9f 4d sbci r25, 0xDF ; 223 - 22f2: 84 8b std Z+20, r24 ; 0x14 - 22f4: 95 8b std Z+21, r25 ; 0x15 - 22f6: 86 8a std Z+22, r8 ; 0x16 - 22f8: 97 8a std Z+23, r9 ; 0x17 - 22fa: 13 c0 rjmp .+38 ; 0x2322 - 22fc: f8 01 movw r30, r16 - 22fe: 41 81 ldd r20, Z+1 ; 0x01 - 2300: 52 81 ldd r21, Z+2 ; 0x02 - 2302: 25 81 ldd r18, Z+5 ; 0x05 - 2304: 36 81 ldd r19, Z+6 ; 0x06 - 2306: 24 0f add r18, r20 - 2308: 35 1f adc r19, r21 - 230a: cc 0f add r28, r28 - 230c: dd 1f adc r29, r29 - 230e: cc 0f add r28, r28 - 2310: dd 1f adc r29, r29 - 2312: cc 0f add r28, r28 - 2314: dd 1f adc r29, r29 - 2316: c0 50 subi r28, 0x00 ; 0 - 2318: de 4d sbci r29, 0xDE ; 222 - 231a: 2c 8b std Y+20, r18 ; 0x14 - 231c: 3d 8b std Y+21, r19 ; 0x15 - 231e: 8e 8b std Y+22, r24 ; 0x16 - 2320: 9f 8b std Y+23, r25 ; 0x17 - 2322: f7 01 movw r30, r14 - 2324: 02 e0 ldi r16, 0x02 ; 2 - 2326: 06 93 lac Z, r16 - 2328: 13 c0 rjmp .+38 ; 0x2350 - 232a: d8 01 movw r26, r16 - 232c: 8c 91 ld r24, X - 232e: 80 ff sbrs r24, 0 - 2330: 0f c0 rjmp .+30 ; 0x2350 - 2332: 8e 7f andi r24, 0xFE ; 254 - 2334: 8c 93 st X, r24 - 2336: 17 96 adiw r26, 0x07 ; 7 - 2338: ed 91 ld r30, X+ - 233a: fc 91 ld r31, X - 233c: 18 97 sbiw r26, 0x08 ; 8 - 233e: 30 97 sbiw r30, 0x00 ; 0 - 2340: 39 f0 breq .+14 ; 0x2350 - 2342: 15 96 adiw r26, 0x05 ; 5 - 2344: 6d 91 ld r22, X+ - 2346: 7c 91 ld r23, X - 2348: 16 97 sbiw r26, 0x06 ; 6 - 234a: 4d 2d mov r20, r13 - 234c: 80 e0 ldi r24, 0x00 ; 0 - 234e: 09 95 icall - 2350: df 91 pop r29 - 2352: cf 91 pop r28 - 2354: 1f 91 pop r17 - 2356: 0f 91 pop r16 - 2358: ff 90 pop r15 - 235a: ef 90 pop r14 - 235c: df 90 pop r13 - 235e: bf 90 pop r11 - 2360: af 90 pop r10 - 2362: 9f 90 pop r9 - 2364: 8f 90 pop r8 - 2366: 08 95 ret + 215e: 21 15 cp r18, r1 + 2160: b4 e0 ldi r27, 0x04 ; 4 + 2162: 3b 07 cpc r19, r27 + 2164: 38 f0 brcs .+14 ; 0x2174 + 2166: 2f ef ldi r18, 0xFF ; 255 + 2168: 33 e0 ldi r19, 0x03 ; 3 + 216a: c9 01 movw r24, r18 + 216c: b4 01 movw r22, r8 + 216e: 71 d5 rcall .+2786 ; 0x2c52 <__udivmodhi4> + 2170: 28 1b sub r18, r24 + 2172: 39 0b sbc r19, r25 + 2174: f8 01 movw r30, r16 + 2176: 80 81 ld r24, Z + 2178: 81 ff sbrs r24, 1 + 217a: 09 c0 rjmp .+18 ; 0x218e + 217c: c9 01 movw r24, r18 + 217e: b4 01 movw r22, r8 + 2180: 68 d5 rcall .+2768 ; 0x2c52 <__udivmodhi4> + 2182: 41 e0 ldi r20, 0x01 ; 1 + 2184: 89 2b or r24, r25 + 2186: 09 f0 breq .+2 ; 0x218a + 2188: 40 e0 ldi r20, 0x00 ; 0 + 218a: 84 2f mov r24, r20 + 218c: 01 c0 rjmp .+2 ; 0x2190 + 218e: 80 e0 ldi r24, 0x00 ; 0 + 2190: d8 01 movw r26, r16 + 2192: 9c 91 ld r25, X + 2194: 80 fb bst r24, 0 + 2196: 91 f9 bld r25, 1 + 2198: 9c 93 st X, r25 + 219a: cc 0f add r28, r28 + 219c: dd 1f adc r29, r29 + 219e: cc 0f add r28, r28 + 21a0: dd 1f adc r29, r29 + 21a2: cc 0f add r28, r28 + 21a4: dd 1f adc r29, r29 + 21a6: c0 50 subi r28, 0x00 ; 0 + 21a8: de 4d sbci r29, 0xDE ; 222 + 21aa: 1e 8a std Y+22, r1 ; 0x16 + 21ac: 1f 8a std Y+23, r1 ; 0x17 + 21ae: 2a 8b std Y+18, r18 ; 0x12 + 21b0: 3b 8b std Y+19, r19 ; 0x13 + 21b2: 11 96 adiw r26, 0x01 ; 1 + 21b4: 2d 91 ld r18, X+ + 21b6: 3c 91 ld r19, X + 21b8: 12 97 sbiw r26, 0x02 ; 2 + 21ba: 15 96 adiw r26, 0x05 ; 5 + 21bc: 8d 91 ld r24, X+ + 21be: 9c 91 ld r25, X + 21c0: 16 97 sbiw r26, 0x06 ; 6 + 21c2: 82 0f add r24, r18 + 21c4: 93 1f adc r25, r19 + 21c6: 8c 8b std Y+20, r24 ; 0x14 + 21c8: 9d 8b std Y+21, r25 ; 0x15 + 21ca: f7 01 movw r30, r14 + 21cc: 02 e0 ldi r16, 0x02 ; 2 + 21ce: 06 93 lac Z, r16 + 21d0: ca c0 rjmp .+404 ; 0x2366 + 21d2: d8 01 movw r26, r16 + 21d4: 8c 91 ld r24, X + 21d6: 81 ff sbrs r24, 1 + 21d8: b3 c0 rjmp .+358 ; 0x2340 + 21da: 8d 7f andi r24, 0xFD ; 253 + 21dc: 8c 93 st X, r24 + 21de: cc 0f add r28, r28 + 21e0: dd 1f adc r29, r29 + 21e2: cc 0f add r28, r28 + 21e4: dd 1f adc r29, r29 + 21e6: cc 0f add r28, r28 + 21e8: dd 1f adc r29, r29 + 21ea: c0 50 subi r28, 0x00 ; 0 + 21ec: de 4d sbci r29, 0xDE ; 222 + 21ee: 1e 8a std Y+22, r1 ; 0x16 + 21f0: 1f 8a std Y+23, r1 ; 0x17 + 21f2: 1a 8a std Y+18, r1 ; 0x12 + 21f4: 1b 8a std Y+19, r1 ; 0x13 + 21f6: f7 01 movw r30, r14 + 21f8: 02 e0 ldi r16, 0x02 ; 2 + 21fa: 06 93 lac Z, r16 + 21fc: b4 c0 rjmp .+360 ; 0x2366 + 21fe: fe 01 movw r30, r28 + 2200: ee 0f add r30, r30 + 2202: ff 1f adc r31, r31 + 2204: ee 0f add r30, r30 + 2206: ff 1f adc r31, r31 + 2208: ee 0f add r30, r30 + 220a: ff 1f adc r31, r31 + 220c: e0 50 subi r30, 0x00 ; 0 + 220e: fe 4d sbci r31, 0xDE ; 222 + 2210: a2 88 ldd r10, Z+18 ; 0x12 + 2212: b3 88 ldd r11, Z+19 ; 0x13 + 2214: d8 01 movw r26, r16 + 2216: 8c 91 ld r24, X + 2218: 82 ff sbrs r24, 2 + 221a: 19 c0 rjmp .+50 ; 0x224e + 221c: 11 96 adiw r26, 0x01 ; 1 + 221e: ed 91 ld r30, X+ + 2220: fc 91 ld r31, X + 2222: 12 97 sbiw r26, 0x02 ; 2 + 2224: 15 96 adiw r26, 0x05 ; 5 + 2226: 2d 91 ld r18, X+ + 2228: 3c 91 ld r19, X + 222a: 16 97 sbiw r26, 0x06 ; 6 + 222c: 13 96 adiw r26, 0x03 ; 3 + 222e: 8d 91 ld r24, X+ + 2230: 9c 91 ld r25, X + 2232: 14 97 sbiw r26, 0x04 ; 4 + 2234: b4 01 movw r22, r8 + 2236: 0d d5 rcall .+2586 ; 0x2c52 <__udivmodhi4> + 2238: b0 e4 ldi r27, 0x40 ; 64 + 223a: db 9e mul r13, r27 + 223c: b0 01 movw r22, r0 + 223e: 11 24 eor r1, r1 + 2240: 6b 57 subi r22, 0x7B ; 123 + 2242: 7f 4d sbci r23, 0xDF ; 223 + 2244: ac 01 movw r20, r24 + 2246: cf 01 movw r24, r30 + 2248: 82 0f add r24, r18 + 224a: 93 1f adc r25, r19 + 224c: 1c d5 rcall .+2616 ; 0x2c86 + 224e: f8 01 movw r30, r16 + 2250: 25 81 ldd r18, Z+5 ; 0x05 + 2252: 36 81 ldd r19, Z+6 ; 0x06 + 2254: 2a 0d add r18, r10 + 2256: 3b 1d adc r19, r11 + 2258: 25 83 std Z+5, r18 ; 0x05 + 225a: 36 83 std Z+6, r19 ; 0x06 + 225c: 83 81 ldd r24, Z+3 ; 0x03 + 225e: 94 81 ldd r25, Z+4 ; 0x04 + 2260: 82 17 cp r24, r18 + 2262: 93 07 cpc r25, r19 + 2264: 68 f4 brcc .+26 ; 0x2280 + 2266: 85 83 std Z+5, r24 ; 0x05 + 2268: 96 83 std Z+6, r25 ; 0x06 + 226a: cc 0f add r28, r28 + 226c: dd 1f adc r29, r29 + 226e: cc 0f add r28, r28 + 2270: dd 1f adc r29, r29 + 2272: cc 0f add r28, r28 + 2274: dd 1f adc r29, r29 + 2276: c0 50 subi r28, 0x00 ; 0 + 2278: de 4d sbci r29, 0xDE ; 222 + 227a: 8e 89 ldd r24, Y+22 ; 0x16 + 227c: 9f 89 ldd r25, Y+23 ; 0x17 + 227e: 60 c0 rjmp .+192 ; 0x2340 + 2280: fe 01 movw r30, r28 + 2282: ee 0f add r30, r30 + 2284: ff 1f adc r31, r31 + 2286: ee 0f add r30, r30 + 2288: ff 1f adc r31, r31 + 228a: ee 0f add r30, r30 + 228c: ff 1f adc r31, r31 + 228e: e0 50 subi r30, 0x00 ; 0 + 2290: fe 4d sbci r31, 0xDE ; 222 + 2292: 46 89 ldd r20, Z+22 ; 0x16 + 2294: 57 89 ldd r21, Z+23 ; 0x17 + 2296: 4a 15 cp r20, r10 + 2298: 5b 05 cpc r21, r11 + 229a: 09 f0 breq .+2 ; 0x229e + 229c: 51 c0 rjmp .+162 ; 0x2340 + 229e: 28 17 cp r18, r24 + 22a0: 39 07 cpc r19, r25 + 22a2: 09 f4 brne .+2 ; 0x22a6 + 22a4: 4d c0 rjmp .+154 ; 0x2340 + 22a6: ac 01 movw r20, r24 + 22a8: 42 1b sub r20, r18 + 22aa: 53 0b sbc r21, r19 + 22ac: 9a 01 movw r18, r20 + 22ae: 21 15 cp r18, r1 + 22b0: 54 e0 ldi r21, 0x04 ; 4 + 22b2: 35 07 cpc r19, r21 + 22b4: 50 f0 brcs .+20 ; 0x22ca + 22b6: 2f ef ldi r18, 0xFF ; 255 + 22b8: 33 e0 ldi r19, 0x03 ; 3 + 22ba: c9 01 movw r24, r18 + 22bc: b4 01 movw r22, r8 + 22be: c9 d4 rcall .+2450 ; 0x2c52 <__udivmodhi4> + 22c0: d9 01 movw r26, r18 + 22c2: a8 1b sub r26, r24 + 22c4: b9 0b sbc r27, r25 + 22c6: cd 01 movw r24, r26 + 22c8: 07 c0 rjmp .+14 ; 0x22d8 + 22ca: c9 01 movw r24, r18 + 22cc: b4 01 movw r22, r8 + 22ce: c1 d4 rcall .+2434 ; 0x2c52 <__udivmodhi4> + 22d0: f9 01 movw r30, r18 + 22d2: e8 1b sub r30, r24 + 22d4: f9 0b sbc r31, r25 + 22d6: cf 01 movw r24, r30 + 22d8: fe 01 movw r30, r28 + 22da: ee 0f add r30, r30 + 22dc: ff 1f adc r31, r31 + 22de: ee 0f add r30, r30 + 22e0: ff 1f adc r31, r31 + 22e2: ee 0f add r30, r30 + 22e4: ff 1f adc r31, r31 + 22e6: e0 50 subi r30, 0x00 ; 0 + 22e8: fe 4d sbci r31, 0xDE ; 222 + 22ea: 12 8a std Z+18, r1 ; 0x12 + 22ec: 13 8a std Z+19, r1 ; 0x13 + 22ee: 88 15 cp r24, r8 + 22f0: 99 05 cpc r25, r9 + 22f2: 78 f4 brcc .+30 ; 0x2312 + 22f4: d8 01 movw r26, r16 + 22f6: 8c 91 ld r24, X + 22f8: 84 60 ori r24, 0x04 ; 4 + 22fa: 8c 93 st X, r24 + 22fc: b0 e4 ldi r27, 0x40 ; 64 + 22fe: db 9e mul r13, r27 + 2300: c0 01 movw r24, r0 + 2302: 11 24 eor r1, r1 + 2304: 8b 57 subi r24, 0x7B ; 123 + 2306: 9f 4d sbci r25, 0xDF ; 223 + 2308: 84 8b std Z+20, r24 ; 0x14 + 230a: 95 8b std Z+21, r25 ; 0x15 + 230c: 86 8a std Z+22, r8 ; 0x16 + 230e: 97 8a std Z+23, r9 ; 0x17 + 2310: 13 c0 rjmp .+38 ; 0x2338 + 2312: f8 01 movw r30, r16 + 2314: 41 81 ldd r20, Z+1 ; 0x01 + 2316: 52 81 ldd r21, Z+2 ; 0x02 + 2318: 25 81 ldd r18, Z+5 ; 0x05 + 231a: 36 81 ldd r19, Z+6 ; 0x06 + 231c: 24 0f add r18, r20 + 231e: 35 1f adc r19, r21 + 2320: cc 0f add r28, r28 + 2322: dd 1f adc r29, r29 + 2324: cc 0f add r28, r28 + 2326: dd 1f adc r29, r29 + 2328: cc 0f add r28, r28 + 232a: dd 1f adc r29, r29 + 232c: c0 50 subi r28, 0x00 ; 0 + 232e: de 4d sbci r29, 0xDE ; 222 + 2330: 2c 8b std Y+20, r18 ; 0x14 + 2332: 3d 8b std Y+21, r19 ; 0x15 + 2334: 8e 8b std Y+22, r24 ; 0x16 + 2336: 9f 8b std Y+23, r25 ; 0x17 + 2338: f7 01 movw r30, r14 + 233a: 02 e0 ldi r16, 0x02 ; 2 + 233c: 06 93 lac Z, r16 + 233e: 13 c0 rjmp .+38 ; 0x2366 + 2340: d8 01 movw r26, r16 + 2342: 8c 91 ld r24, X + 2344: 80 ff sbrs r24, 0 + 2346: 0f c0 rjmp .+30 ; 0x2366 + 2348: 8e 7f andi r24, 0xFE ; 254 + 234a: 8c 93 st X, r24 + 234c: 17 96 adiw r26, 0x07 ; 7 + 234e: ed 91 ld r30, X+ + 2350: fc 91 ld r31, X + 2352: 18 97 sbiw r26, 0x08 ; 8 + 2354: 30 97 sbiw r30, 0x00 ; 0 + 2356: 39 f0 breq .+14 ; 0x2366 + 2358: 15 96 adiw r26, 0x05 ; 5 + 235a: 6d 91 ld r22, X+ + 235c: 7c 91 ld r23, X + 235e: 16 97 sbiw r26, 0x06 ; 6 + 2360: 4d 2d mov r20, r13 + 2362: 80 e0 ldi r24, 0x00 ; 0 + 2364: 09 95 icall + 2366: df 91 pop r29 + 2368: cf 91 pop r28 + 236a: 1f 91 pop r17 + 236c: 0f 91 pop r16 + 236e: ff 90 pop r15 + 2370: ef 90 pop r14 + 2372: df 90 pop r13 + 2374: bf 90 pop r11 + 2376: af 90 pop r10 + 2378: 9f 90 pop r9 + 237a: 8f 90 pop r8 + 237c: 08 95 ret -00002368 : - 2368: cf 93 push r28 - 236a: cf b7 in r28, 0x3f ; 63 - 236c: f8 94 cli - 236e: 81 e0 ldi r24, 0x01 ; 1 - 2370: 11 dd rcall .-1502 ; 0x1d94 - 2372: ea ec ldi r30, 0xCA ; 202 - 2374: f4 e0 ldi r31, 0x04 ; 4 - 2376: 80 e4 ldi r24, 0x40 ; 64 - 2378: 80 83 st Z, r24 - 237a: 80 e2 ldi r24, 0x20 ; 32 - 237c: 80 83 st Z, r24 - 237e: e1 ec ldi r30, 0xC1 ; 193 - 2380: f4 e0 ldi r31, 0x04 ; 4 - 2382: 80 81 ld r24, Z - 2384: 81 60 ori r24, 0x01 ; 1 - 2386: 80 83 st Z, r24 - 2388: a9 ec ldi r26, 0xC9 ; 201 - 238a: b4 e0 ldi r27, 0x04 ; 4 - 238c: 8c 91 ld r24, X - 238e: 82 60 ori r24, 0x02 ; 2 - 2390: 8c 93 st X, r24 - 2392: e8 ec ldi r30, 0xC8 ; 200 - 2394: f4 e0 ldi r31, 0x04 ; 4 - 2396: 80 81 ld r24, Z - 2398: 80 64 ori r24, 0x40 ; 64 - 239a: 80 83 st Z, r24 - 239c: 8c 91 ld r24, X - 239e: 81 60 ori r24, 0x01 ; 1 - 23a0: 8c 93 st X, r24 - 23a2: 80 81 ld r24, Z - 23a4: 80 68 ori r24, 0x80 ; 128 - 23a6: 80 83 st Z, r24 - 23a8: cf bf out 0x3f, r28 ; 63 - 23aa: cf 91 pop r28 - 23ac: 08 95 ret +0000237e : + 237e: cf 93 push r28 + 2380: cf b7 in r28, 0x3f ; 63 + 2382: f8 94 cli + 2384: 81 e0 ldi r24, 0x01 ; 1 + 2386: 11 dd rcall .-1502 ; 0x1daa + 2388: ea ec ldi r30, 0xCA ; 202 + 238a: f4 e0 ldi r31, 0x04 ; 4 + 238c: 80 e4 ldi r24, 0x40 ; 64 + 238e: 80 83 st Z, r24 + 2390: 80 e2 ldi r24, 0x20 ; 32 + 2392: 80 83 st Z, r24 + 2394: e1 ec ldi r30, 0xC1 ; 193 + 2396: f4 e0 ldi r31, 0x04 ; 4 + 2398: 80 81 ld r24, Z + 239a: 81 60 ori r24, 0x01 ; 1 + 239c: 80 83 st Z, r24 + 239e: a9 ec ldi r26, 0xC9 ; 201 + 23a0: b4 e0 ldi r27, 0x04 ; 4 + 23a2: 8c 91 ld r24, X + 23a4: 82 60 ori r24, 0x02 ; 2 + 23a6: 8c 93 st X, r24 + 23a8: e8 ec ldi r30, 0xC8 ; 200 + 23aa: f4 e0 ldi r31, 0x04 ; 4 + 23ac: 80 81 ld r24, Z + 23ae: 80 64 ori r24, 0x40 ; 64 + 23b0: 80 83 st Z, r24 + 23b2: 8c 91 ld r24, X + 23b4: 81 60 ori r24, 0x01 ; 1 + 23b6: 8c 93 st X, r24 + 23b8: 80 81 ld r24, Z + 23ba: 80 68 ori r24, 0x80 ; 128 + 23bc: 80 83 st Z, r24 + 23be: cf bf out 0x3f, r28 ; 63 + 23c0: cf 91 pop r28 + 23c2: 08 95 ret -000023ae : - 23ae: cf 93 push r28 - 23b0: df 93 push r29 - 23b2: c0 e6 ldi r28, 0x60 ; 96 - 23b4: d0 e0 ldi r29, 0x00 ; 0 - 23b6: 18 82 st Y, r1 - 23b8: 80 e3 ldi r24, 0x30 ; 48 - 23ba: 0e 94 59 09 call 0x12b2 ; 0x12b2 - 23be: e0 ec ldi r30, 0xC0 ; 192 - 23c0: f4 e0 ldi r31, 0x04 ; 4 - 23c2: 80 81 ld r24, Z - 23c4: 80 64 ori r24, 0x40 ; 64 - 23c6: 80 83 st Z, r24 - 23c8: 81 e0 ldi r24, 0x01 ; 1 - 23ca: 88 83 st Y, r24 - 23cc: cf b7 in r28, 0x3f ; 63 - 23ce: f8 94 cli - 23d0: 80 e0 ldi r24, 0x00 ; 0 - 23d2: 90 e0 ldi r25, 0x00 ; 0 - 23d4: fc 01 movw r30, r24 - 23d6: ee 0f add r30, r30 - 23d8: ff 1f adc r31, r31 - 23da: ee 0f add r30, r30 - 23dc: ff 1f adc r31, r31 - 23de: ee 0f add r30, r30 - 23e0: ff 1f adc r31, r31 - 23e2: e0 50 subi r30, 0x00 ; 0 - 23e4: fe 4d sbci r31, 0xDE ; 222 - 23e6: 11 8a std Z+17, r1 ; 0x11 - 23e8: 01 96 adiw r24, 0x01 ; 1 - 23ea: 88 30 cpi r24, 0x08 ; 8 - 23ec: 91 05 cpc r25, r1 - 23ee: 91 f7 brne .-28 ; 0x23d4 - 23f0: e5 e8 ldi r30, 0x85 ; 133 - 23f2: f1 e2 ldi r31, 0x21 ; 33 - 23f4: 80 81 ld r24, Z - 23f6: 8e 7f andi r24, 0xFE ; 254 - 23f8: 80 83 st Z, r24 - 23fa: ee e8 ldi r30, 0x8E ; 142 - 23fc: f1 e2 ldi r31, 0x21 ; 33 - 23fe: 80 81 ld r24, Z - 2400: 8e 7f andi r24, 0xFE ; 254 - 2402: 80 83 st Z, r24 - 2404: e7 e9 ldi r30, 0x97 ; 151 - 2406: f1 e2 ldi r31, 0x21 ; 33 - 2408: 80 81 ld r24, Z - 240a: 8e 7f andi r24, 0xFE ; 254 - 240c: 80 83 st Z, r24 - 240e: e0 ea ldi r30, 0xA0 ; 160 - 2410: f1 e2 ldi r31, 0x21 ; 33 - 2412: 80 81 ld r24, Z - 2414: 8e 7f andi r24, 0xFE ; 254 - 2416: 80 83 st Z, r24 - 2418: e9 ea ldi r30, 0xA9 ; 169 - 241a: f1 e2 ldi r31, 0x21 ; 33 - 241c: 80 81 ld r24, Z - 241e: 8e 7f andi r24, 0xFE ; 254 - 2420: 80 83 st Z, r24 - 2422: e2 eb ldi r30, 0xB2 ; 178 - 2424: f1 e2 ldi r31, 0x21 ; 33 - 2426: 80 81 ld r24, Z - 2428: 8e 7f andi r24, 0xFE ; 254 - 242a: 80 83 st Z, r24 - 242c: 6a e1 ldi r22, 0x1A ; 26 - 242e: 70 e0 ldi r23, 0x00 ; 0 - 2430: 82 e0 ldi r24, 0x02 ; 2 - 2432: a6 dc rcall .-1716 ; 0x1d80 - 2434: 8f 3f cpi r24, 0xFF ; 255 - 2436: 19 f0 breq .+6 ; 0x243e - 2438: 80 93 fa 04 sts 0x04FA, r24 ; 0x8004fa <__TEXT_REGION_LENGTH__+0x7004fa> - 243c: 03 c0 rjmp .+6 ; 0x2444 - 243e: 8f e1 ldi r24, 0x1F ; 31 - 2440: 80 93 fa 04 sts 0x04FA, r24 ; 0x8004fa <__TEXT_REGION_LENGTH__+0x7004fa> - 2444: 6b e1 ldi r22, 0x1B ; 27 - 2446: 70 e0 ldi r23, 0x00 ; 0 - 2448: 82 e0 ldi r24, 0x02 ; 2 - 244a: 9a dc rcall .-1740 ; 0x1d80 - 244c: 8f 3f cpi r24, 0xFF ; 255 - 244e: 19 f0 breq .+6 ; 0x2456 - 2450: 80 93 fb 04 sts 0x04FB, r24 ; 0x8004fb <__TEXT_REGION_LENGTH__+0x7004fb> - 2454: 03 c0 rjmp .+6 ; 0x245c - 2456: 8f e1 ldi r24, 0x1F ; 31 - 2458: 80 93 fb 04 sts 0x04FB, r24 ; 0x8004fb <__TEXT_REGION_LENGTH__+0x7004fb> - 245c: e0 ec ldi r30, 0xC0 ; 192 - 245e: f4 e0 ldi r31, 0x04 ; 4 - 2460: 80 81 ld r24, Z - 2462: 83 60 ori r24, 0x03 ; 3 - 2464: 80 83 st Z, r24 - 2466: 80 81 ld r24, Z - 2468: 80 68 ori r24, 0x80 ; 128 - 246a: 80 83 st Z, r24 - 246c: 80 81 ld r24, Z - 246e: 80 61 ori r24, 0x10 ; 16 - 2470: 80 83 st Z, r24 - 2472: 80 e1 ldi r24, 0x10 ; 16 - 2474: 92 e2 ldi r25, 0x22 ; 34 - 2476: 86 83 std Z+6, r24 ; 0x06 - 2478: 97 83 std Z+7, r25 ; 0x07 - 247a: 80 81 ld r24, Z - 247c: 80 62 ori r24, 0x20 ; 32 - 247e: 80 83 st Z, r24 - 2480: 8f ef ldi r24, 0xFF ; 255 - 2482: 80 93 c5 04 sts 0x04C5, r24 ; 0x8004c5 <__TEXT_REGION_LENGTH__+0x7004c5> - 2486: e8 ec ldi r30, 0xC8 ; 200 - 2488: f4 e0 ldi r31, 0x04 ; 4 - 248a: 80 81 ld r24, Z - 248c: 82 60 ori r24, 0x02 ; 2 - 248e: 80 83 st Z, r24 - 2490: 10 92 54 22 sts 0x2254, r1 ; 0x802254 - 2494: 80 91 4b 2c lds r24, 0x2C4B ; 0x802c4b - 2498: 8f 3f cpi r24, 0xFF ; 255 - 249a: 09 f4 brne .+2 ; 0x249e - 249c: ff cf rjmp .-2 ; 0x249c - 249e: 9f b7 in r25, 0x3f ; 63 - 24a0: f8 94 cli - 24a2: e6 e4 ldi r30, 0x46 ; 70 - 24a4: fc e2 ldi r31, 0x2C ; 44 - 24a6: 85 81 ldd r24, Z+5 ; 0x05 - 24a8: 8f 5f subi r24, 0xFF ; 255 - 24aa: 85 83 std Z+5, r24 ; 0x05 - 24ac: 9f bf out 0x3f, r25 ; 63 - 24ae: 5c df rcall .-328 ; 0x2368 - 24b0: cf bf out 0x3f, r28 ; 63 - 24b2: df 91 pop r29 - 24b4: cf 91 pop r28 - 24b6: 08 95 ret +000023c4 : + 23c4: cf 93 push r28 + 23c6: df 93 push r29 + 23c8: c0 e6 ldi r28, 0x60 ; 96 + 23ca: d0 e0 ldi r29, 0x00 ; 0 + 23cc: 18 82 st Y, r1 + 23ce: 80 e3 ldi r24, 0x30 ; 48 + 23d0: 0e 94 64 09 call 0x12c8 ; 0x12c8 + 23d4: e0 ec ldi r30, 0xC0 ; 192 + 23d6: f4 e0 ldi r31, 0x04 ; 4 + 23d8: 80 81 ld r24, Z + 23da: 80 64 ori r24, 0x40 ; 64 + 23dc: 80 83 st Z, r24 + 23de: 81 e0 ldi r24, 0x01 ; 1 + 23e0: 88 83 st Y, r24 + 23e2: cf b7 in r28, 0x3f ; 63 + 23e4: f8 94 cli + 23e6: 80 e0 ldi r24, 0x00 ; 0 + 23e8: 90 e0 ldi r25, 0x00 ; 0 + 23ea: fc 01 movw r30, r24 + 23ec: ee 0f add r30, r30 + 23ee: ff 1f adc r31, r31 + 23f0: ee 0f add r30, r30 + 23f2: ff 1f adc r31, r31 + 23f4: ee 0f add r30, r30 + 23f6: ff 1f adc r31, r31 + 23f8: e0 50 subi r30, 0x00 ; 0 + 23fa: fe 4d sbci r31, 0xDE ; 222 + 23fc: 11 8a std Z+17, r1 ; 0x11 + 23fe: 01 96 adiw r24, 0x01 ; 1 + 2400: 88 30 cpi r24, 0x08 ; 8 + 2402: 91 05 cpc r25, r1 + 2404: 91 f7 brne .-28 ; 0x23ea + 2406: e5 e8 ldi r30, 0x85 ; 133 + 2408: f1 e2 ldi r31, 0x21 ; 33 + 240a: 80 81 ld r24, Z + 240c: 8e 7f andi r24, 0xFE ; 254 + 240e: 80 83 st Z, r24 + 2410: ee e8 ldi r30, 0x8E ; 142 + 2412: f1 e2 ldi r31, 0x21 ; 33 + 2414: 80 81 ld r24, Z + 2416: 8e 7f andi r24, 0xFE ; 254 + 2418: 80 83 st Z, r24 + 241a: e7 e9 ldi r30, 0x97 ; 151 + 241c: f1 e2 ldi r31, 0x21 ; 33 + 241e: 80 81 ld r24, Z + 2420: 8e 7f andi r24, 0xFE ; 254 + 2422: 80 83 st Z, r24 + 2424: e0 ea ldi r30, 0xA0 ; 160 + 2426: f1 e2 ldi r31, 0x21 ; 33 + 2428: 80 81 ld r24, Z + 242a: 8e 7f andi r24, 0xFE ; 254 + 242c: 80 83 st Z, r24 + 242e: e9 ea ldi r30, 0xA9 ; 169 + 2430: f1 e2 ldi r31, 0x21 ; 33 + 2432: 80 81 ld r24, Z + 2434: 8e 7f andi r24, 0xFE ; 254 + 2436: 80 83 st Z, r24 + 2438: e2 eb ldi r30, 0xB2 ; 178 + 243a: f1 e2 ldi r31, 0x21 ; 33 + 243c: 80 81 ld r24, Z + 243e: 8e 7f andi r24, 0xFE ; 254 + 2440: 80 83 st Z, r24 + 2442: 6a e1 ldi r22, 0x1A ; 26 + 2444: 70 e0 ldi r23, 0x00 ; 0 + 2446: 82 e0 ldi r24, 0x02 ; 2 + 2448: a6 dc rcall .-1716 ; 0x1d96 + 244a: 8f 3f cpi r24, 0xFF ; 255 + 244c: 19 f0 breq .+6 ; 0x2454 + 244e: 80 93 fa 04 sts 0x04FA, r24 ; 0x8004fa <__TEXT_REGION_LENGTH__+0x7004fa> + 2452: 03 c0 rjmp .+6 ; 0x245a + 2454: 8f e1 ldi r24, 0x1F ; 31 + 2456: 80 93 fa 04 sts 0x04FA, r24 ; 0x8004fa <__TEXT_REGION_LENGTH__+0x7004fa> + 245a: 6b e1 ldi r22, 0x1B ; 27 + 245c: 70 e0 ldi r23, 0x00 ; 0 + 245e: 82 e0 ldi r24, 0x02 ; 2 + 2460: 9a dc rcall .-1740 ; 0x1d96 + 2462: 8f 3f cpi r24, 0xFF ; 255 + 2464: 19 f0 breq .+6 ; 0x246c + 2466: 80 93 fb 04 sts 0x04FB, r24 ; 0x8004fb <__TEXT_REGION_LENGTH__+0x7004fb> + 246a: 03 c0 rjmp .+6 ; 0x2472 + 246c: 8f e1 ldi r24, 0x1F ; 31 + 246e: 80 93 fb 04 sts 0x04FB, r24 ; 0x8004fb <__TEXT_REGION_LENGTH__+0x7004fb> + 2472: e0 ec ldi r30, 0xC0 ; 192 + 2474: f4 e0 ldi r31, 0x04 ; 4 + 2476: 80 81 ld r24, Z + 2478: 83 60 ori r24, 0x03 ; 3 + 247a: 80 83 st Z, r24 + 247c: 80 81 ld r24, Z + 247e: 80 68 ori r24, 0x80 ; 128 + 2480: 80 83 st Z, r24 + 2482: 80 81 ld r24, Z + 2484: 80 61 ori r24, 0x10 ; 16 + 2486: 80 83 st Z, r24 + 2488: 80 e1 ldi r24, 0x10 ; 16 + 248a: 92 e2 ldi r25, 0x22 ; 34 + 248c: 86 83 std Z+6, r24 ; 0x06 + 248e: 97 83 std Z+7, r25 ; 0x07 + 2490: 80 81 ld r24, Z + 2492: 80 62 ori r24, 0x20 ; 32 + 2494: 80 83 st Z, r24 + 2496: 8f ef ldi r24, 0xFF ; 255 + 2498: 80 93 c5 04 sts 0x04C5, r24 ; 0x8004c5 <__TEXT_REGION_LENGTH__+0x7004c5> + 249c: e8 ec ldi r30, 0xC8 ; 200 + 249e: f4 e0 ldi r31, 0x04 ; 4 + 24a0: 80 81 ld r24, Z + 24a2: 82 60 ori r24, 0x02 ; 2 + 24a4: 80 83 st Z, r24 + 24a6: 10 92 54 22 sts 0x2254, r1 ; 0x802254 + 24aa: 80 91 4b 2c lds r24, 0x2C4B ; 0x802c4b + 24ae: 8f 3f cpi r24, 0xFF ; 255 + 24b0: 09 f4 brne .+2 ; 0x24b4 + 24b2: ff cf rjmp .-2 ; 0x24b2 + 24b4: 9f b7 in r25, 0x3f ; 63 + 24b6: f8 94 cli + 24b8: e6 e4 ldi r30, 0x46 ; 70 + 24ba: fc e2 ldi r31, 0x2C ; 44 + 24bc: 85 81 ldd r24, Z+5 ; 0x05 + 24be: 8f 5f subi r24, 0xFF ; 255 + 24c0: 85 83 std Z+5, r24 ; 0x05 + 24c2: 9f bf out 0x3f, r25 ; 63 + 24c4: 5c df rcall .-328 ; 0x237e + 24c6: cf bf out 0x3f, r28 ; 63 + 24c8: df 91 pop r29 + 24ca: cf 91 pop r28 + 24cc: 08 95 ret -000024b8 : - 24b8: 80 93 c3 04 sts 0x04C3, r24 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> - 24bc: 08 95 ret +000024ce : + 24ce: 80 93 c3 04 sts 0x04C3, r24 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> + 24d2: 08 95 ret -000024be : - 24be: 80 91 c3 04 lds r24, 0x04C3 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> - 24c2: 08 95 ret +000024d4 : + 24d4: 80 91 c3 04 lds r24, 0x04C3 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> + 24d8: 08 95 ret -000024c4 : - 24c4: ea e5 ldi r30, 0x5A ; 90 - 24c6: f4 e2 ldi r31, 0x24 ; 36 - 24c8: 80 87 std Z+8, r24 ; 0x08 - 24ca: 91 87 std Z+9, r25 ; 0x09 - 24cc: 62 87 std Z+10, r22 ; 0x0a - 24ce: 73 87 std Z+11, r23 ; 0x0b - 24d0: 08 95 ret +000024da : + 24da: ea e5 ldi r30, 0x5A ; 90 + 24dc: f4 e2 ldi r31, 0x24 ; 36 + 24de: 80 87 std Z+8, r24 ; 0x08 + 24e0: 91 87 std Z+9, r25 ; 0x09 + 24e2: 62 87 std Z+10, r22 ; 0x0a + 24e4: 73 87 std Z+11, r23 ; 0x0b + 24e6: 08 95 ret -000024d2 : - 24d2: 28 2f mov r18, r24 - 24d4: 2f 70 andi r18, 0x0F ; 15 - 24d6: 30 e0 ldi r19, 0x00 ; 0 - 24d8: 22 0f add r18, r18 - 24da: 33 1f adc r19, r19 - 24dc: 08 2e mov r0, r24 - 24de: 00 0c add r0, r0 - 24e0: 99 0b sbc r25, r25 - 24e2: 88 27 eor r24, r24 - 24e4: 99 0f add r25, r25 - 24e6: 88 1f adc r24, r24 - 24e8: 99 27 eor r25, r25 - 24ea: 82 0f add r24, r18 - 24ec: 93 1f adc r25, r19 - 24ee: fc 01 movw r30, r24 - 24f0: ee 0f add r30, r30 - 24f2: ff 1f adc r31, r31 - 24f4: ee 0f add r30, r30 - 24f6: ff 1f adc r31, r31 - 24f8: ee 0f add r30, r30 - 24fa: ff 1f adc r31, r31 - 24fc: e0 50 subi r30, 0x00 ; 0 - 24fe: fe 4d sbci r31, 0xDE ; 222 - 2500: 21 89 ldd r18, Z+17 ; 0x11 - 2502: 20 7c andi r18, 0xC0 ; 192 - 2504: 09 f0 breq .+2 ; 0x2508 - 2506: 58 c0 rjmp .+176 ; 0x25b8 - 2508: 63 70 andi r22, 0x03 ; 3 - 250a: 61 30 cpi r22, 0x01 ; 1 - 250c: 11 f0 breq .+4 ; 0x2512 - 250e: 18 f4 brcc .+6 ; 0x2516 - 2510: 04 c0 rjmp .+8 ; 0x251a - 2512: 20 ec ldi r18, 0xC0 ; 192 - 2514: 03 c0 rjmp .+6 ; 0x251c - 2516: 20 e8 ldi r18, 0x80 ; 128 - 2518: 01 c0 rjmp .+2 ; 0x251c - 251a: 20 e4 ldi r18, 0x40 ; 64 - 251c: 40 38 cpi r20, 0x80 ; 128 - 251e: 51 05 cpc r21, r1 - 2520: e9 f0 breq .+58 ; 0x255c - 2522: 50 f4 brcc .+20 ; 0x2538 - 2524: 40 32 cpi r20, 0x20 ; 32 - 2526: 51 05 cpc r21, r1 - 2528: a9 f0 breq .+42 ; 0x2554 - 252a: 40 34 cpi r20, 0x40 ; 64 - 252c: 51 05 cpc r21, r1 - 252e: a1 f0 breq .+40 ; 0x2558 - 2530: 40 31 cpi r20, 0x10 ; 16 - 2532: 51 05 cpc r21, r1 - 2534: d9 f4 brne .+54 ; 0x256c - 2536: 0c c0 rjmp .+24 ; 0x2550 - 2538: 41 15 cp r20, r1 - 253a: 32 e0 ldi r19, 0x02 ; 2 - 253c: 53 07 cpc r21, r19 - 253e: 91 f0 breq .+36 ; 0x2564 - 2540: 4f 3f cpi r20, 0xFF ; 255 - 2542: 33 e0 ldi r19, 0x03 ; 3 - 2544: 53 07 cpc r21, r19 - 2546: 81 f0 breq .+32 ; 0x2568 - 2548: 41 15 cp r20, r1 - 254a: 51 40 sbci r21, 0x01 ; 1 - 254c: 79 f4 brne .+30 ; 0x256c - 254e: 08 c0 rjmp .+16 ; 0x2560 - 2550: 41 e0 ldi r20, 0x01 ; 1 - 2552: 0d c0 rjmp .+26 ; 0x256e - 2554: 42 e0 ldi r20, 0x02 ; 2 - 2556: 0b c0 rjmp .+22 ; 0x256e - 2558: 43 e0 ldi r20, 0x03 ; 3 - 255a: 09 c0 rjmp .+18 ; 0x256e - 255c: 44 e0 ldi r20, 0x04 ; 4 - 255e: 07 c0 rjmp .+14 ; 0x256e - 2560: 45 e0 ldi r20, 0x05 ; 5 - 2562: 05 c0 rjmp .+10 ; 0x256e - 2564: 46 e0 ldi r20, 0x06 ; 6 - 2566: 03 c0 rjmp .+6 ; 0x256e - 2568: 47 e0 ldi r20, 0x07 ; 7 - 256a: 01 c0 rjmp .+2 ; 0x256e - 256c: 40 e0 ldi r20, 0x00 ; 0 - 256e: fc 01 movw r30, r24 - 2570: ee 0f add r30, r30 - 2572: ff 1f adc r31, r31 - 2574: ee 0f add r30, r30 - 2576: ff 1f adc r31, r31 - 2578: ee 0f add r30, r30 - 257a: ff 1f adc r31, r31 - 257c: e0 50 subi r30, 0x00 ; 0 - 257e: fe 4d sbci r31, 0xDE ; 222 - 2580: 11 8a std Z+17, r1 ; 0x11 - 2582: dc 01 movw r26, r24 - 2584: aa 0f add r26, r26 - 2586: bb 1f adc r27, r27 - 2588: aa 0f add r26, r26 - 258a: bb 1f adc r27, r27 - 258c: aa 0f add r26, r26 - 258e: bb 1f adc r27, r27 - 2590: a0 5f subi r26, 0xF0 ; 240 - 2592: bd 4d sbci r27, 0xDD ; 221 - 2594: 36 e0 ldi r19, 0x06 ; 6 - 2596: 3c 93 st X, r19 - 2598: 24 2b or r18, r20 - 259a: 21 8b std Z+17, r18 ; 0x11 - 259c: 88 0f add r24, r24 - 259e: 99 1f adc r25, r25 - 25a0: 88 0f add r24, r24 - 25a2: 99 1f adc r25, r25 - 25a4: 88 0f add r24, r24 - 25a6: 99 1f adc r25, r25 - 25a8: fc 01 movw r30, r24 - 25aa: e0 50 subi r30, 0x00 ; 0 - 25ac: fe 4d sbci r31, 0xDE ; 222 - 25ae: 81 89 ldd r24, Z+17 ; 0x11 - 25b0: 80 62 ori r24, 0x20 ; 32 - 25b2: 81 8b std Z+17, r24 ; 0x11 - 25b4: 81 e0 ldi r24, 0x01 ; 1 - 25b6: 08 95 ret - 25b8: 80 e0 ldi r24, 0x00 ; 0 - 25ba: 08 95 ret +000024e8 : + 24e8: 28 2f mov r18, r24 + 24ea: 2f 70 andi r18, 0x0F ; 15 + 24ec: 30 e0 ldi r19, 0x00 ; 0 + 24ee: 22 0f add r18, r18 + 24f0: 33 1f adc r19, r19 + 24f2: 08 2e mov r0, r24 + 24f4: 00 0c add r0, r0 + 24f6: 99 0b sbc r25, r25 + 24f8: 88 27 eor r24, r24 + 24fa: 99 0f add r25, r25 + 24fc: 88 1f adc r24, r24 + 24fe: 99 27 eor r25, r25 + 2500: 82 0f add r24, r18 + 2502: 93 1f adc r25, r19 + 2504: fc 01 movw r30, r24 + 2506: ee 0f add r30, r30 + 2508: ff 1f adc r31, r31 + 250a: ee 0f add r30, r30 + 250c: ff 1f adc r31, r31 + 250e: ee 0f add r30, r30 + 2510: ff 1f adc r31, r31 + 2512: e0 50 subi r30, 0x00 ; 0 + 2514: fe 4d sbci r31, 0xDE ; 222 + 2516: 21 89 ldd r18, Z+17 ; 0x11 + 2518: 20 7c andi r18, 0xC0 ; 192 + 251a: 09 f0 breq .+2 ; 0x251e + 251c: 58 c0 rjmp .+176 ; 0x25ce + 251e: 63 70 andi r22, 0x03 ; 3 + 2520: 61 30 cpi r22, 0x01 ; 1 + 2522: 11 f0 breq .+4 ; 0x2528 + 2524: 18 f4 brcc .+6 ; 0x252c + 2526: 04 c0 rjmp .+8 ; 0x2530 + 2528: 20 ec ldi r18, 0xC0 ; 192 + 252a: 03 c0 rjmp .+6 ; 0x2532 + 252c: 20 e8 ldi r18, 0x80 ; 128 + 252e: 01 c0 rjmp .+2 ; 0x2532 + 2530: 20 e4 ldi r18, 0x40 ; 64 + 2532: 40 38 cpi r20, 0x80 ; 128 + 2534: 51 05 cpc r21, r1 + 2536: e9 f0 breq .+58 ; 0x2572 + 2538: 50 f4 brcc .+20 ; 0x254e + 253a: 40 32 cpi r20, 0x20 ; 32 + 253c: 51 05 cpc r21, r1 + 253e: a9 f0 breq .+42 ; 0x256a + 2540: 40 34 cpi r20, 0x40 ; 64 + 2542: 51 05 cpc r21, r1 + 2544: a1 f0 breq .+40 ; 0x256e + 2546: 40 31 cpi r20, 0x10 ; 16 + 2548: 51 05 cpc r21, r1 + 254a: d9 f4 brne .+54 ; 0x2582 + 254c: 0c c0 rjmp .+24 ; 0x2566 + 254e: 41 15 cp r20, r1 + 2550: 32 e0 ldi r19, 0x02 ; 2 + 2552: 53 07 cpc r21, r19 + 2554: 91 f0 breq .+36 ; 0x257a + 2556: 4f 3f cpi r20, 0xFF ; 255 + 2558: 33 e0 ldi r19, 0x03 ; 3 + 255a: 53 07 cpc r21, r19 + 255c: 81 f0 breq .+32 ; 0x257e + 255e: 41 15 cp r20, r1 + 2560: 51 40 sbci r21, 0x01 ; 1 + 2562: 79 f4 brne .+30 ; 0x2582 + 2564: 08 c0 rjmp .+16 ; 0x2576 + 2566: 41 e0 ldi r20, 0x01 ; 1 + 2568: 0d c0 rjmp .+26 ; 0x2584 + 256a: 42 e0 ldi r20, 0x02 ; 2 + 256c: 0b c0 rjmp .+22 ; 0x2584 + 256e: 43 e0 ldi r20, 0x03 ; 3 + 2570: 09 c0 rjmp .+18 ; 0x2584 + 2572: 44 e0 ldi r20, 0x04 ; 4 + 2574: 07 c0 rjmp .+14 ; 0x2584 + 2576: 45 e0 ldi r20, 0x05 ; 5 + 2578: 05 c0 rjmp .+10 ; 0x2584 + 257a: 46 e0 ldi r20, 0x06 ; 6 + 257c: 03 c0 rjmp .+6 ; 0x2584 + 257e: 47 e0 ldi r20, 0x07 ; 7 + 2580: 01 c0 rjmp .+2 ; 0x2584 + 2582: 40 e0 ldi r20, 0x00 ; 0 + 2584: fc 01 movw r30, r24 + 2586: ee 0f add r30, r30 + 2588: ff 1f adc r31, r31 + 258a: ee 0f add r30, r30 + 258c: ff 1f adc r31, r31 + 258e: ee 0f add r30, r30 + 2590: ff 1f adc r31, r31 + 2592: e0 50 subi r30, 0x00 ; 0 + 2594: fe 4d sbci r31, 0xDE ; 222 + 2596: 11 8a std Z+17, r1 ; 0x11 + 2598: dc 01 movw r26, r24 + 259a: aa 0f add r26, r26 + 259c: bb 1f adc r27, r27 + 259e: aa 0f add r26, r26 + 25a0: bb 1f adc r27, r27 + 25a2: aa 0f add r26, r26 + 25a4: bb 1f adc r27, r27 + 25a6: a0 5f subi r26, 0xF0 ; 240 + 25a8: bd 4d sbci r27, 0xDD ; 221 + 25aa: 36 e0 ldi r19, 0x06 ; 6 + 25ac: 3c 93 st X, r19 + 25ae: 24 2b or r18, r20 + 25b0: 21 8b std Z+17, r18 ; 0x11 + 25b2: 88 0f add r24, r24 + 25b4: 99 1f adc r25, r25 + 25b6: 88 0f add r24, r24 + 25b8: 99 1f adc r25, r25 + 25ba: 88 0f add r24, r24 + 25bc: 99 1f adc r25, r25 + 25be: fc 01 movw r30, r24 + 25c0: e0 50 subi r30, 0x00 ; 0 + 25c2: fe 4d sbci r31, 0xDE ; 222 + 25c4: 81 89 ldd r24, Z+17 ; 0x11 + 25c6: 80 62 ori r24, 0x20 ; 32 + 25c8: 81 8b std Z+17, r24 ; 0x11 + 25ca: 81 e0 ldi r24, 0x01 ; 1 + 25cc: 08 95 ret + 25ce: 80 e0 ldi r24, 0x00 ; 0 + 25d0: 08 95 ret -000025bc : - 25bc: e8 2f mov r30, r24 - 25be: ef 70 andi r30, 0x0F ; 15 - 25c0: f0 e0 ldi r31, 0x00 ; 0 - 25c2: ee 0f add r30, r30 - 25c4: ff 1f adc r31, r31 - 25c6: 08 2e mov r0, r24 - 25c8: 00 0c add r0, r0 - 25ca: 99 0b sbc r25, r25 - 25cc: 88 27 eor r24, r24 - 25ce: 99 0f add r25, r25 - 25d0: 88 1f adc r24, r24 - 25d2: 99 27 eor r25, r25 - 25d4: e8 0f add r30, r24 - 25d6: f9 1f adc r31, r25 +000025d2 : + 25d2: e8 2f mov r30, r24 + 25d4: ef 70 andi r30, 0x0F ; 15 + 25d6: f0 e0 ldi r31, 0x00 ; 0 25d8: ee 0f add r30, r30 25da: ff 1f adc r31, r31 - 25dc: ee 0f add r30, r30 - 25de: ff 1f adc r31, r31 - 25e0: ee 0f add r30, r30 - 25e2: ff 1f adc r31, r31 - 25e4: e0 50 subi r30, 0x00 ; 0 - 25e6: fe 4d sbci r31, 0xDE ; 222 - 25e8: 81 89 ldd r24, Z+17 ; 0x11 - 25ea: 82 fb bst r24, 2 - 25ec: 88 27 eor r24, r24 - 25ee: 80 f9 bld r24, 0 - 25f0: 08 95 ret + 25dc: 08 2e mov r0, r24 + 25de: 00 0c add r0, r0 + 25e0: 99 0b sbc r25, r25 + 25e2: 88 27 eor r24, r24 + 25e4: 99 0f add r25, r25 + 25e6: 88 1f adc r24, r24 + 25e8: 99 27 eor r25, r25 + 25ea: e8 0f add r30, r24 + 25ec: f9 1f adc r31, r25 + 25ee: ee 0f add r30, r30 + 25f0: ff 1f adc r31, r31 + 25f2: ee 0f add r30, r30 + 25f4: ff 1f adc r31, r31 + 25f6: ee 0f add r30, r30 + 25f8: ff 1f adc r31, r31 + 25fa: e0 50 subi r30, 0x00 ; 0 + 25fc: fe 4d sbci r31, 0xDE ; 222 + 25fe: 81 89 ldd r24, Z+17 ; 0x11 + 2600: 82 fb bst r24, 2 + 2602: 88 27 eor r24, r24 + 2604: 80 f9 bld r24, 0 + 2606: 08 95 ret -000025f2 : - 25f2: 28 2f mov r18, r24 - 25f4: 2f 70 andi r18, 0x0F ; 15 - 25f6: 30 e0 ldi r19, 0x00 ; 0 - 25f8: a9 01 movw r20, r18 - 25fa: 44 0f add r20, r20 - 25fc: 55 1f adc r21, r21 - 25fe: 28 2f mov r18, r24 - 2600: 08 2e mov r0, r24 - 2602: 00 0c add r0, r0 - 2604: 33 0b sbc r19, r19 - 2606: 22 27 eor r18, r18 - 2608: 33 0f add r19, r19 - 260a: 22 1f adc r18, r18 - 260c: 33 27 eor r19, r19 - 260e: 24 0f add r18, r20 - 2610: 35 1f adc r19, r21 - 2612: f9 01 movw r30, r18 - 2614: ee 0f add r30, r30 - 2616: ff 1f adc r31, r31 - 2618: ee 0f add r30, r30 - 261a: ff 1f adc r31, r31 - 261c: ee 0f add r30, r30 - 261e: ff 1f adc r31, r31 - 2620: e0 50 subi r30, 0x00 ; 0 - 2622: fe 4d sbci r31, 0xDE ; 222 - 2624: 91 89 ldd r25, Z+17 ; 0x11 - 2626: 92 ff sbrs r25, 2 - 2628: 17 c0 rjmp .+46 ; 0x2658 - 262a: 22 0f add r18, r18 - 262c: 33 1f adc r19, r19 - 262e: 22 0f add r18, r18 - 2630: 33 1f adc r19, r19 - 2632: 22 0f add r18, r18 - 2634: 33 1f adc r19, r19 - 2636: f9 01 movw r30, r18 - 2638: e0 50 subi r30, 0x00 ; 0 - 263a: fe 4d sbci r31, 0xDE ; 222 - 263c: 91 89 ldd r25, Z+17 ; 0x11 - 263e: 9b 7f andi r25, 0xFB ; 251 - 2640: 91 8b std Z+17, r25 ; 0x11 - 2642: ae dc rcall .-1700 ; 0x1fa0 - 2644: fc 01 movw r30, r24 - 2646: 80 81 ld r24, Z - 2648: 80 ff sbrs r24, 0 - 264a: 06 c0 rjmp .+12 ; 0x2658 - 264c: 8e 7f andi r24, 0xFE ; 254 - 264e: 80 83 st Z, r24 - 2650: 07 80 ldd r0, Z+7 ; 0x07 - 2652: f0 85 ldd r31, Z+8 ; 0x08 - 2654: e0 2d mov r30, r0 - 2656: 09 95 icall - 2658: 81 e0 ldi r24, 0x01 ; 1 - 265a: 08 95 ret +00002608 : + 2608: 28 2f mov r18, r24 + 260a: 2f 70 andi r18, 0x0F ; 15 + 260c: 30 e0 ldi r19, 0x00 ; 0 + 260e: a9 01 movw r20, r18 + 2610: 44 0f add r20, r20 + 2612: 55 1f adc r21, r21 + 2614: 28 2f mov r18, r24 + 2616: 08 2e mov r0, r24 + 2618: 00 0c add r0, r0 + 261a: 33 0b sbc r19, r19 + 261c: 22 27 eor r18, r18 + 261e: 33 0f add r19, r19 + 2620: 22 1f adc r18, r18 + 2622: 33 27 eor r19, r19 + 2624: 24 0f add r18, r20 + 2626: 35 1f adc r19, r21 + 2628: f9 01 movw r30, r18 + 262a: ee 0f add r30, r30 + 262c: ff 1f adc r31, r31 + 262e: ee 0f add r30, r30 + 2630: ff 1f adc r31, r31 + 2632: ee 0f add r30, r30 + 2634: ff 1f adc r31, r31 + 2636: e0 50 subi r30, 0x00 ; 0 + 2638: fe 4d sbci r31, 0xDE ; 222 + 263a: 91 89 ldd r25, Z+17 ; 0x11 + 263c: 92 ff sbrs r25, 2 + 263e: 17 c0 rjmp .+46 ; 0x266e + 2640: 22 0f add r18, r18 + 2642: 33 1f adc r19, r19 + 2644: 22 0f add r18, r18 + 2646: 33 1f adc r19, r19 + 2648: 22 0f add r18, r18 + 264a: 33 1f adc r19, r19 + 264c: f9 01 movw r30, r18 + 264e: e0 50 subi r30, 0x00 ; 0 + 2650: fe 4d sbci r31, 0xDE ; 222 + 2652: 91 89 ldd r25, Z+17 ; 0x11 + 2654: 9b 7f andi r25, 0xFB ; 251 + 2656: 91 8b std Z+17, r25 ; 0x11 + 2658: ae dc rcall .-1700 ; 0x1fb6 + 265a: fc 01 movw r30, r24 + 265c: 80 81 ld r24, Z + 265e: 80 ff sbrs r24, 0 + 2660: 06 c0 rjmp .+12 ; 0x266e + 2662: 8e 7f andi r24, 0xFE ; 254 + 2664: 80 83 st Z, r24 + 2666: 07 80 ldd r0, Z+7 ; 0x07 + 2668: f0 85 ldd r31, Z+8 ; 0x08 + 266a: e0 2d mov r30, r0 + 266c: 09 95 icall + 266e: 81 e0 ldi r24, 0x01 ; 1 + 2670: 08 95 ret -0000265c : - 265c: 7f 92 push r7 - 265e: 8f 92 push r8 - 2660: 9f 92 push r9 - 2662: af 92 push r10 - 2664: bf 92 push r11 - 2666: cf 92 push r12 - 2668: df 92 push r13 - 266a: ef 92 push r14 - 266c: ff 92 push r15 - 266e: 0f 93 push r16 - 2670: 1f 93 push r17 - 2672: cf 93 push r28 - 2674: df 93 push r29 - 2676: 98 2e mov r9, r24 - 2678: 86 2e mov r8, r22 - 267a: 6a 01 movw r12, r20 - 267c: 79 01 movw r14, r18 - 267e: 90 dc rcall .-1760 ; 0x1fa0 - 2680: 5c 01 movw r10, r24 - 2682: 79 2c mov r7, r9 - 2684: 77 1c adc r7, r7 - 2686: 77 24 eor r7, r7 - 2688: 77 1c adc r7, r7 - 268a: c9 2d mov r28, r9 - 268c: cf 70 andi r28, 0x0F ; 15 - 268e: d0 e0 ldi r29, 0x00 ; 0 - 2690: cc 0f add r28, r28 - 2692: dd 1f adc r29, r29 - 2694: c7 0d add r28, r7 - 2696: d1 1d adc r29, r1 - 2698: fe 01 movw r30, r28 - 269a: ee 0f add r30, r30 - 269c: ff 1f adc r31, r31 - 269e: ee 0f add r30, r30 - 26a0: ff 1f adc r31, r31 - 26a2: ee 0f add r30, r30 - 26a4: ff 1f adc r31, r31 - 26a6: e0 50 subi r30, 0x00 ; 0 - 26a8: fe 4d sbci r31, 0xDE ; 222 - 26aa: 81 89 ldd r24, Z+17 ; 0x11 - 26ac: 80 7c andi r24, 0xC0 ; 192 - 26ae: 09 f4 brne .+2 ; 0x26b2 - 26b0: 7d c0 rjmp .+250 ; 0x27ac - 26b2: fe 01 movw r30, r28 +00002672 : + 2672: 7f 92 push r7 + 2674: 8f 92 push r8 + 2676: 9f 92 push r9 + 2678: af 92 push r10 + 267a: bf 92 push r11 + 267c: cf 92 push r12 + 267e: df 92 push r13 + 2680: ef 92 push r14 + 2682: ff 92 push r15 + 2684: 0f 93 push r16 + 2686: 1f 93 push r17 + 2688: cf 93 push r28 + 268a: df 93 push r29 + 268c: 98 2e mov r9, r24 + 268e: 86 2e mov r8, r22 + 2690: 6a 01 movw r12, r20 + 2692: 79 01 movw r14, r18 + 2694: 90 dc rcall .-1760 ; 0x1fb6 + 2696: 5c 01 movw r10, r24 + 2698: 79 2c mov r7, r9 + 269a: 77 1c adc r7, r7 + 269c: 77 24 eor r7, r7 + 269e: 77 1c adc r7, r7 + 26a0: c9 2d mov r28, r9 + 26a2: cf 70 andi r28, 0x0F ; 15 + 26a4: d0 e0 ldi r29, 0x00 ; 0 + 26a6: cc 0f add r28, r28 + 26a8: dd 1f adc r29, r29 + 26aa: c7 0d add r28, r7 + 26ac: d1 1d adc r29, r1 + 26ae: fe 01 movw r30, r28 + 26b0: ee 0f add r30, r30 + 26b2: ff 1f adc r31, r31 26b4: ee 0f add r30, r30 26b6: ff 1f adc r31, r31 26b8: ee 0f add r30, r30 26ba: ff 1f adc r31, r31 - 26bc: ee 0f add r30, r30 - 26be: ff 1f adc r31, r31 - 26c0: e0 50 subi r30, 0x00 ; 0 - 26c2: fe 4d sbci r31, 0xDE ; 222 - 26c4: 81 89 ldd r24, Z+17 ; 0x11 - 26c6: 80 7c andi r24, 0xC0 ; 192 - 26c8: 80 3c cpi r24, 0xC0 ; 192 - 26ca: 61 f0 breq .+24 ; 0x26e4 - 26cc: fe 01 movw r30, r28 + 26bc: e0 50 subi r30, 0x00 ; 0 + 26be: fe 4d sbci r31, 0xDE ; 222 + 26c0: 81 89 ldd r24, Z+17 ; 0x11 + 26c2: 80 7c andi r24, 0xC0 ; 192 + 26c4: 09 f4 brne .+2 ; 0x26c8 + 26c6: 7d c0 rjmp .+250 ; 0x27c2 + 26c8: fe 01 movw r30, r28 + 26ca: ee 0f add r30, r30 + 26cc: ff 1f adc r31, r31 26ce: ee 0f add r30, r30 26d0: ff 1f adc r31, r31 26d2: ee 0f add r30, r30 26d4: ff 1f adc r31, r31 - 26d6: ee 0f add r30, r30 - 26d8: ff 1f adc r31, r31 - 26da: e0 50 subi r30, 0x00 ; 0 - 26dc: fe 4d sbci r31, 0xDE ; 222 - 26de: 81 89 ldd r24, Z+17 ; 0x11 - 26e0: 82 fd sbrc r24, 2 - 26e2: 66 c0 rjmp .+204 ; 0x27b0 - 26e4: 8f b7 in r24, 0x3f ; 63 - 26e6: f8 94 cli - 26e8: f5 01 movw r30, r10 - 26ea: 90 81 ld r25, Z - 26ec: 90 ff sbrs r25, 0 - 26ee: 03 c0 rjmp .+6 ; 0x26f6 - 26f0: 8f bf out 0x3f, r24 ; 63 - 26f2: 71 2c mov r7, r1 - 26f4: 5e c0 rjmp .+188 ; 0x27b2 - 26f6: f5 01 movw r30, r10 - 26f8: 90 81 ld r25, Z - 26fa: 91 60 ori r25, 0x01 ; 1 - 26fc: 90 83 st Z, r25 - 26fe: 8f bf out 0x3f, r24 ; 63 - 2700: c1 82 std Z+1, r12 ; 0x01 - 2702: d2 82 std Z+2, r13 ; 0x02 - 2704: e3 82 std Z+3, r14 ; 0x03 - 2706: f4 82 std Z+4, r15 ; 0x04 - 2708: 15 82 std Z+5, r1 ; 0x05 - 270a: 16 82 std Z+6, r1 ; 0x06 - 270c: 07 83 std Z+7, r16 ; 0x07 - 270e: 10 87 std Z+8, r17 ; 0x08 - 2710: 81 10 cpse r8, r1 - 2712: 06 c0 rjmp .+12 ; 0x2720 - 2714: 91 e0 ldi r25, 0x01 ; 1 - 2716: e1 14 cp r14, r1 - 2718: f1 04 cpc r15, r1 - 271a: 19 f0 breq .+6 ; 0x2722 - 271c: 90 e0 ldi r25, 0x00 ; 0 - 271e: 01 c0 rjmp .+2 ; 0x2722 - 2720: 91 e0 ldi r25, 0x01 ; 1 - 2722: f5 01 movw r30, r10 - 2724: 80 81 ld r24, Z - 2726: 90 fb bst r25, 0 - 2728: 81 f9 bld r24, 1 - 272a: 8b 7f andi r24, 0xFB ; 251 - 272c: 80 83 st Z, r24 - 272e: 77 20 and r7, r7 - 2730: 59 f0 breq .+22 ; 0x2748 - 2732: cc 0f add r28, r28 - 2734: dd 1f adc r29, r29 - 2736: cc 0f add r28, r28 - 2738: dd 1f adc r29, r29 - 273a: cc 0f add r28, r28 - 273c: dd 1f adc r29, r29 - 273e: c0 50 subi r28, 0x00 ; 0 - 2740: de 4d sbci r29, 0xDE ; 222 - 2742: 1e 8a std Y+22, r1 ; 0x16 - 2744: 1f 8a std Y+23, r1 ; 0x17 - 2746: 2d c0 rjmp .+90 ; 0x27a2 - 2748: fe 01 movw r30, r28 - 274a: ee 0f add r30, r30 - 274c: ff 1f adc r31, r31 - 274e: ee 0f add r30, r30 - 2750: ff 1f adc r31, r31 - 2752: ee 0f add r30, r30 - 2754: ff 1f adc r31, r31 - 2756: e0 50 subi r30, 0x00 ; 0 - 2758: fe 4d sbci r31, 0xDE ; 222 - 275a: 81 89 ldd r24, Z+17 ; 0x11 - 275c: 80 7c andi r24, 0xC0 ; 192 - 275e: 80 3c cpi r24, 0xC0 ; 192 - 2760: a1 f4 brne .+40 ; 0x278a - 2762: ce 01 movw r24, r28 - 2764: 88 0f add r24, r24 - 2766: 99 1f adc r25, r25 - 2768: 88 0f add r24, r24 - 276a: 99 1f adc r25, r25 - 276c: 88 0f add r24, r24 - 276e: 99 1f adc r25, r25 - 2770: 80 5f subi r24, 0xF0 ; 240 - 2772: 9d 4d sbci r25, 0xDD ; 221 - 2774: ef db rcall .-2082 ; 0x1f54 - 2776: bc 01 movw r22, r24 - 2778: c7 01 movw r24, r14 - 277a: 60 d2 rcall .+1216 ; 0x2c3c <__udivmodhi4> - 277c: 89 2b or r24, r25 - 277e: 29 f0 breq .+10 ; 0x278a - 2780: f5 01 movw r30, r10 - 2782: 80 81 ld r24, Z - 2784: 8e 7f andi r24, 0xFE ; 254 - 2786: 80 83 st Z, r24 - 2788: 14 c0 rjmp .+40 ; 0x27b2 - 278a: cc 0f add r28, r28 - 278c: dd 1f adc r29, r29 - 278e: cc 0f add r28, r28 - 2790: dd 1f adc r29, r29 - 2792: cc 0f add r28, r28 - 2794: dd 1f adc r29, r29 - 2796: c0 50 subi r28, 0x00 ; 0 - 2798: de 4d sbci r29, 0xDE ; 222 - 279a: 1a 8a std Y+18, r1 ; 0x12 - 279c: 1b 8a std Y+19, r1 ; 0x13 - 279e: 1e 8a std Y+22, r1 ; 0x16 - 27a0: 1f 8a std Y+23, r1 ; 0x17 - 27a2: 89 2d mov r24, r9 - 27a4: 87 dc rcall .-1778 ; 0x20b4 - 27a6: 77 24 eor r7, r7 - 27a8: 73 94 inc r7 - 27aa: 03 c0 rjmp .+6 ; 0x27b2 - 27ac: 71 2c mov r7, r1 - 27ae: 01 c0 rjmp .+2 ; 0x27b2 - 27b0: 71 2c mov r7, r1 - 27b2: 87 2d mov r24, r7 - 27b4: df 91 pop r29 - 27b6: cf 91 pop r28 - 27b8: 1f 91 pop r17 - 27ba: 0f 91 pop r16 - 27bc: ff 90 pop r15 - 27be: ef 90 pop r14 - 27c0: df 90 pop r13 - 27c2: cf 90 pop r12 - 27c4: bf 90 pop r11 - 27c6: af 90 pop r10 - 27c8: 9f 90 pop r9 - 27ca: 8f 90 pop r8 - 27cc: 7f 90 pop r7 - 27ce: 08 95 ret + 26d6: e0 50 subi r30, 0x00 ; 0 + 26d8: fe 4d sbci r31, 0xDE ; 222 + 26da: 81 89 ldd r24, Z+17 ; 0x11 + 26dc: 80 7c andi r24, 0xC0 ; 192 + 26de: 80 3c cpi r24, 0xC0 ; 192 + 26e0: 61 f0 breq .+24 ; 0x26fa + 26e2: fe 01 movw r30, r28 + 26e4: ee 0f add r30, r30 + 26e6: ff 1f adc r31, r31 + 26e8: ee 0f add r30, r30 + 26ea: ff 1f adc r31, r31 + 26ec: ee 0f add r30, r30 + 26ee: ff 1f adc r31, r31 + 26f0: e0 50 subi r30, 0x00 ; 0 + 26f2: fe 4d sbci r31, 0xDE ; 222 + 26f4: 81 89 ldd r24, Z+17 ; 0x11 + 26f6: 82 fd sbrc r24, 2 + 26f8: 66 c0 rjmp .+204 ; 0x27c6 + 26fa: 8f b7 in r24, 0x3f ; 63 + 26fc: f8 94 cli + 26fe: f5 01 movw r30, r10 + 2700: 90 81 ld r25, Z + 2702: 90 ff sbrs r25, 0 + 2704: 03 c0 rjmp .+6 ; 0x270c + 2706: 8f bf out 0x3f, r24 ; 63 + 2708: 71 2c mov r7, r1 + 270a: 5e c0 rjmp .+188 ; 0x27c8 + 270c: f5 01 movw r30, r10 + 270e: 90 81 ld r25, Z + 2710: 91 60 ori r25, 0x01 ; 1 + 2712: 90 83 st Z, r25 + 2714: 8f bf out 0x3f, r24 ; 63 + 2716: c1 82 std Z+1, r12 ; 0x01 + 2718: d2 82 std Z+2, r13 ; 0x02 + 271a: e3 82 std Z+3, r14 ; 0x03 + 271c: f4 82 std Z+4, r15 ; 0x04 + 271e: 15 82 std Z+5, r1 ; 0x05 + 2720: 16 82 std Z+6, r1 ; 0x06 + 2722: 07 83 std Z+7, r16 ; 0x07 + 2724: 10 87 std Z+8, r17 ; 0x08 + 2726: 81 10 cpse r8, r1 + 2728: 06 c0 rjmp .+12 ; 0x2736 + 272a: 91 e0 ldi r25, 0x01 ; 1 + 272c: e1 14 cp r14, r1 + 272e: f1 04 cpc r15, r1 + 2730: 19 f0 breq .+6 ; 0x2738 + 2732: 90 e0 ldi r25, 0x00 ; 0 + 2734: 01 c0 rjmp .+2 ; 0x2738 + 2736: 91 e0 ldi r25, 0x01 ; 1 + 2738: f5 01 movw r30, r10 + 273a: 80 81 ld r24, Z + 273c: 90 fb bst r25, 0 + 273e: 81 f9 bld r24, 1 + 2740: 8b 7f andi r24, 0xFB ; 251 + 2742: 80 83 st Z, r24 + 2744: 77 20 and r7, r7 + 2746: 59 f0 breq .+22 ; 0x275e + 2748: cc 0f add r28, r28 + 274a: dd 1f adc r29, r29 + 274c: cc 0f add r28, r28 + 274e: dd 1f adc r29, r29 + 2750: cc 0f add r28, r28 + 2752: dd 1f adc r29, r29 + 2754: c0 50 subi r28, 0x00 ; 0 + 2756: de 4d sbci r29, 0xDE ; 222 + 2758: 1e 8a std Y+22, r1 ; 0x16 + 275a: 1f 8a std Y+23, r1 ; 0x17 + 275c: 2d c0 rjmp .+90 ; 0x27b8 + 275e: fe 01 movw r30, r28 + 2760: ee 0f add r30, r30 + 2762: ff 1f adc r31, r31 + 2764: ee 0f add r30, r30 + 2766: ff 1f adc r31, r31 + 2768: ee 0f add r30, r30 + 276a: ff 1f adc r31, r31 + 276c: e0 50 subi r30, 0x00 ; 0 + 276e: fe 4d sbci r31, 0xDE ; 222 + 2770: 81 89 ldd r24, Z+17 ; 0x11 + 2772: 80 7c andi r24, 0xC0 ; 192 + 2774: 80 3c cpi r24, 0xC0 ; 192 + 2776: a1 f4 brne .+40 ; 0x27a0 + 2778: ce 01 movw r24, r28 + 277a: 88 0f add r24, r24 + 277c: 99 1f adc r25, r25 + 277e: 88 0f add r24, r24 + 2780: 99 1f adc r25, r25 + 2782: 88 0f add r24, r24 + 2784: 99 1f adc r25, r25 + 2786: 80 5f subi r24, 0xF0 ; 240 + 2788: 9d 4d sbci r25, 0xDD ; 221 + 278a: ef db rcall .-2082 ; 0x1f6a + 278c: bc 01 movw r22, r24 + 278e: c7 01 movw r24, r14 + 2790: 60 d2 rcall .+1216 ; 0x2c52 <__udivmodhi4> + 2792: 89 2b or r24, r25 + 2794: 29 f0 breq .+10 ; 0x27a0 + 2796: f5 01 movw r30, r10 + 2798: 80 81 ld r24, Z + 279a: 8e 7f andi r24, 0xFE ; 254 + 279c: 80 83 st Z, r24 + 279e: 14 c0 rjmp .+40 ; 0x27c8 + 27a0: cc 0f add r28, r28 + 27a2: dd 1f adc r29, r29 + 27a4: cc 0f add r28, r28 + 27a6: dd 1f adc r29, r29 + 27a8: cc 0f add r28, r28 + 27aa: dd 1f adc r29, r29 + 27ac: c0 50 subi r28, 0x00 ; 0 + 27ae: de 4d sbci r29, 0xDE ; 222 + 27b0: 1a 8a std Y+18, r1 ; 0x12 + 27b2: 1b 8a std Y+19, r1 ; 0x13 + 27b4: 1e 8a std Y+22, r1 ; 0x16 + 27b6: 1f 8a std Y+23, r1 ; 0x17 + 27b8: 89 2d mov r24, r9 + 27ba: 87 dc rcall .-1778 ; 0x20ca + 27bc: 77 24 eor r7, r7 + 27be: 73 94 inc r7 + 27c0: 03 c0 rjmp .+6 ; 0x27c8 + 27c2: 71 2c mov r7, r1 + 27c4: 01 c0 rjmp .+2 ; 0x27c8 + 27c6: 71 2c mov r7, r1 + 27c8: 87 2d mov r24, r7 + 27ca: df 91 pop r29 + 27cc: cf 91 pop r28 + 27ce: 1f 91 pop r17 + 27d0: 0f 91 pop r16 + 27d2: ff 90 pop r15 + 27d4: ef 90 pop r14 + 27d6: df 90 pop r13 + 27d8: cf 90 pop r12 + 27da: bf 90 pop r11 + 27dc: af 90 pop r10 + 27de: 9f 90 pop r9 + 27e0: 8f 90 pop r8 + 27e2: 7f 90 pop r7 + 27e4: 08 95 ret -000027d0 : - 27d0: ff 92 push r15 - 27d2: 0f 93 push r16 - 27d4: 1f 93 push r17 - 27d6: cf 93 push r28 - 27d8: df 93 push r29 - 27da: 18 2f mov r17, r24 - 27dc: f8 2e mov r15, r24 - 27de: ff 1c adc r15, r15 - 27e0: ff 24 eor r15, r15 - 27e2: ff 1c adc r15, r15 - 27e4: c8 2f mov r28, r24 - 27e6: cf 70 andi r28, 0x0F ; 15 - 27e8: d0 e0 ldi r29, 0x00 ; 0 - 27ea: cc 0f add r28, r28 - 27ec: dd 1f adc r29, r29 - 27ee: cf 0d add r28, r15 - 27f0: d1 1d adc r29, r1 - 27f2: d6 db rcall .-2132 ; 0x1fa0 - 27f4: dc 01 movw r26, r24 - 27f6: fe 01 movw r30, r28 - 27f8: ee 0f add r30, r30 - 27fa: ff 1f adc r31, r31 - 27fc: ee 0f add r30, r30 - 27fe: ff 1f adc r31, r31 - 2800: ee 0f add r30, r30 - 2802: ff 1f adc r31, r31 - 2804: e0 5f subi r30, 0xF0 ; 240 - 2806: fd 4d sbci r31, 0xDD ; 221 - 2808: 02 e0 ldi r16, 0x02 ; 2 - 280a: 05 93 las Z, r16 - 280c: 8c 91 ld r24, X - 280e: 80 ff sbrs r24, 0 - 2810: 22 c0 rjmp .+68 ; 0x2856 - 2812: 8e 7f andi r24, 0xFE ; 254 - 2814: 8c 93 st X, r24 - 2816: 17 96 adiw r26, 0x07 ; 7 - 2818: ed 91 ld r30, X+ - 281a: fc 91 ld r31, X - 281c: 18 97 sbiw r26, 0x08 ; 8 - 281e: 30 97 sbiw r30, 0x00 ; 0 - 2820: d1 f0 breq .+52 ; 0x2856 - 2822: ff 20 and r15, r15 - 2824: 59 f0 breq .+22 ; 0x283c - 2826: cc 0f add r28, r28 - 2828: dd 1f adc r29, r29 - 282a: cc 0f add r28, r28 - 282c: dd 1f adc r29, r29 - 282e: cc 0f add r28, r28 - 2830: dd 1f adc r29, r29 - 2832: c0 50 subi r28, 0x00 ; 0 - 2834: de 4d sbci r29, 0xDE ; 222 - 2836: 6e 89 ldd r22, Y+22 ; 0x16 - 2838: 7f 89 ldd r23, Y+23 ; 0x17 - 283a: 0a c0 rjmp .+20 ; 0x2850 +000027e6 : + 27e6: ff 92 push r15 + 27e8: 0f 93 push r16 + 27ea: 1f 93 push r17 + 27ec: cf 93 push r28 + 27ee: df 93 push r29 + 27f0: 18 2f mov r17, r24 + 27f2: f8 2e mov r15, r24 + 27f4: ff 1c adc r15, r15 + 27f6: ff 24 eor r15, r15 + 27f8: ff 1c adc r15, r15 + 27fa: c8 2f mov r28, r24 + 27fc: cf 70 andi r28, 0x0F ; 15 + 27fe: d0 e0 ldi r29, 0x00 ; 0 + 2800: cc 0f add r28, r28 + 2802: dd 1f adc r29, r29 + 2804: cf 0d add r28, r15 + 2806: d1 1d adc r29, r1 + 2808: d6 db rcall .-2132 ; 0x1fb6 + 280a: dc 01 movw r26, r24 + 280c: fe 01 movw r30, r28 + 280e: ee 0f add r30, r30 + 2810: ff 1f adc r31, r31 + 2812: ee 0f add r30, r30 + 2814: ff 1f adc r31, r31 + 2816: ee 0f add r30, r30 + 2818: ff 1f adc r31, r31 + 281a: e0 5f subi r30, 0xF0 ; 240 + 281c: fd 4d sbci r31, 0xDD ; 221 + 281e: 02 e0 ldi r16, 0x02 ; 2 + 2820: 05 93 las Z, r16 + 2822: 8c 91 ld r24, X + 2824: 80 ff sbrs r24, 0 + 2826: 22 c0 rjmp .+68 ; 0x286c + 2828: 8e 7f andi r24, 0xFE ; 254 + 282a: 8c 93 st X, r24 + 282c: 17 96 adiw r26, 0x07 ; 7 + 282e: ed 91 ld r30, X+ + 2830: fc 91 ld r31, X + 2832: 18 97 sbiw r26, 0x08 ; 8 + 2834: 30 97 sbiw r30, 0x00 ; 0 + 2836: d1 f0 breq .+52 ; 0x286c + 2838: ff 20 and r15, r15 + 283a: 59 f0 breq .+22 ; 0x2852 283c: cc 0f add r28, r28 283e: dd 1f adc r29, r29 2840: cc 0f add r28, r28 @@ -6916,812 +6918,823 @@ static bool udc_req_ep(void) 2846: dd 1f adc r29, r29 2848: c0 50 subi r28, 0x00 ; 0 284a: de 4d sbci r29, 0xDE ; 222 - 284c: 6a 89 ldd r22, Y+18 ; 0x12 - 284e: 7b 89 ldd r23, Y+19 ; 0x13 - 2850: 41 2f mov r20, r17 - 2852: 81 e0 ldi r24, 0x01 ; 1 - 2854: 09 95 icall - 2856: df 91 pop r29 - 2858: cf 91 pop r28 - 285a: 1f 91 pop r17 - 285c: 0f 91 pop r16 - 285e: ff 90 pop r15 - 2860: 08 95 ret + 284c: 6e 89 ldd r22, Y+22 ; 0x16 + 284e: 7f 89 ldd r23, Y+23 ; 0x17 + 2850: 0a c0 rjmp .+20 ; 0x2866 + 2852: cc 0f add r28, r28 + 2854: dd 1f adc r29, r29 + 2856: cc 0f add r28, r28 + 2858: dd 1f adc r29, r29 + 285a: cc 0f add r28, r28 + 285c: dd 1f adc r29, r29 + 285e: c0 50 subi r28, 0x00 ; 0 + 2860: de 4d sbci r29, 0xDE ; 222 + 2862: 6a 89 ldd r22, Y+18 ; 0x12 + 2864: 7b 89 ldd r23, Y+19 ; 0x13 + 2866: 41 2f mov r20, r17 + 2868: 81 e0 ldi r24, 0x01 ; 1 + 286a: 09 95 icall + 286c: df 91 pop r29 + 286e: cf 91 pop r28 + 2870: 1f 91 pop r17 + 2872: 0f 91 pop r16 + 2874: ff 90 pop r15 + 2876: 08 95 ret -00002862 : - 2862: cf 93 push r28 - 2864: c8 2f mov r28, r24 - 2866: b4 df rcall .-152 ; 0x27d0 - 2868: ec 2f mov r30, r28 - 286a: ef 70 andi r30, 0x0F ; 15 - 286c: f0 e0 ldi r31, 0x00 ; 0 - 286e: ee 0f add r30, r30 - 2870: ff 1f adc r31, r31 - 2872: 8c 2f mov r24, r28 - 2874: cc 0f add r28, r28 - 2876: 99 0b sbc r25, r25 - 2878: 88 27 eor r24, r24 - 287a: 99 0f add r25, r25 - 287c: 88 1f adc r24, r24 - 287e: 99 27 eor r25, r25 - 2880: e8 0f add r30, r24 - 2882: f9 1f adc r31, r25 +00002878 : + 2878: cf 93 push r28 + 287a: c8 2f mov r28, r24 + 287c: b4 df rcall .-152 ; 0x27e6 + 287e: ec 2f mov r30, r28 + 2880: ef 70 andi r30, 0x0F ; 15 + 2882: f0 e0 ldi r31, 0x00 ; 0 2884: ee 0f add r30, r30 2886: ff 1f adc r31, r31 - 2888: ee 0f add r30, r30 - 288a: ff 1f adc r31, r31 - 288c: ee 0f add r30, r30 - 288e: ff 1f adc r31, r31 - 2890: e0 50 subi r30, 0x00 ; 0 - 2892: fe 4d sbci r31, 0xDE ; 222 - 2894: 11 8a std Z+17, r1 ; 0x11 - 2896: cf 91 pop r28 - 2898: 08 95 ret - -0000289a : - 289a: 0f 93 push r16 - 289c: e8 2f mov r30, r24 - 289e: ef 70 andi r30, 0x0F ; 15 - 28a0: f0 e0 ldi r31, 0x00 ; 0 + 2888: 8c 2f mov r24, r28 + 288a: cc 0f add r28, r28 + 288c: 99 0b sbc r25, r25 + 288e: 88 27 eor r24, r24 + 2890: 99 0f add r25, r25 + 2892: 88 1f adc r24, r24 + 2894: 99 27 eor r25, r25 + 2896: e8 0f add r30, r24 + 2898: f9 1f adc r31, r25 + 289a: ee 0f add r30, r30 + 289c: ff 1f adc r31, r31 + 289e: ee 0f add r30, r30 + 28a0: ff 1f adc r31, r31 28a2: ee 0f add r30, r30 28a4: ff 1f adc r31, r31 - 28a6: 28 2f mov r18, r24 - 28a8: 08 2e mov r0, r24 - 28aa: 00 0c add r0, r0 - 28ac: 33 0b sbc r19, r19 - 28ae: 22 27 eor r18, r18 - 28b0: 33 0f add r19, r19 - 28b2: 22 1f adc r18, r18 - 28b4: 33 27 eor r19, r19 - 28b6: e2 0f add r30, r18 - 28b8: f3 1f adc r31, r19 - 28ba: df 01 movw r26, r30 - 28bc: aa 0f add r26, r26 - 28be: bb 1f adc r27, r27 - 28c0: aa 0f add r26, r26 - 28c2: bb 1f adc r27, r27 - 28c4: aa 0f add r26, r26 - 28c6: bb 1f adc r27, r27 - 28c8: a0 50 subi r26, 0x00 ; 0 - 28ca: be 4d sbci r27, 0xDE ; 222 - 28cc: 51 96 adiw r26, 0x11 ; 17 - 28ce: 9c 91 ld r25, X - 28d0: 51 97 sbiw r26, 0x11 ; 17 - 28d2: 94 60 ori r25, 0x04 ; 4 - 28d4: 51 96 adiw r26, 0x11 ; 17 - 28d6: 9c 93 st X, r25 - 28d8: ee 0f add r30, r30 - 28da: ff 1f adc r31, r31 - 28dc: ee 0f add r30, r30 - 28de: ff 1f adc r31, r31 - 28e0: ee 0f add r30, r30 - 28e2: ff 1f adc r31, r31 - 28e4: e0 5f subi r30, 0xF0 ; 240 - 28e6: fd 4d sbci r31, 0xDD ; 221 - 28e8: 01 e0 ldi r16, 0x01 ; 1 - 28ea: 06 93 lac Z, r16 - 28ec: 71 df rcall .-286 ; 0x27d0 - 28ee: 81 e0 ldi r24, 0x01 ; 1 - 28f0: 0f 91 pop r16 - 28f2: 08 95 ret + 28a6: e0 50 subi r30, 0x00 ; 0 + 28a8: fe 4d sbci r31, 0xDE ; 222 + 28aa: 11 8a std Z+17, r1 ; 0x11 + 28ac: cf 91 pop r28 + 28ae: 08 95 ret -000028f4 <__vector_125>: +000028b0 : + 28b0: 0f 93 push r16 + 28b2: e8 2f mov r30, r24 + 28b4: ef 70 andi r30, 0x0F ; 15 + 28b6: f0 e0 ldi r31, 0x00 ; 0 + 28b8: ee 0f add r30, r30 + 28ba: ff 1f adc r31, r31 + 28bc: 28 2f mov r18, r24 + 28be: 08 2e mov r0, r24 + 28c0: 00 0c add r0, r0 + 28c2: 33 0b sbc r19, r19 + 28c4: 22 27 eor r18, r18 + 28c6: 33 0f add r19, r19 + 28c8: 22 1f adc r18, r18 + 28ca: 33 27 eor r19, r19 + 28cc: e2 0f add r30, r18 + 28ce: f3 1f adc r31, r19 + 28d0: df 01 movw r26, r30 + 28d2: aa 0f add r26, r26 + 28d4: bb 1f adc r27, r27 + 28d6: aa 0f add r26, r26 + 28d8: bb 1f adc r27, r27 + 28da: aa 0f add r26, r26 + 28dc: bb 1f adc r27, r27 + 28de: a0 50 subi r26, 0x00 ; 0 + 28e0: be 4d sbci r27, 0xDE ; 222 + 28e2: 51 96 adiw r26, 0x11 ; 17 + 28e4: 9c 91 ld r25, X + 28e6: 51 97 sbiw r26, 0x11 ; 17 + 28e8: 94 60 ori r25, 0x04 ; 4 + 28ea: 51 96 adiw r26, 0x11 ; 17 + 28ec: 9c 93 st X, r25 + 28ee: ee 0f add r30, r30 + 28f0: ff 1f adc r31, r31 + 28f2: ee 0f add r30, r30 + 28f4: ff 1f adc r31, r31 + 28f6: ee 0f add r30, r30 + 28f8: ff 1f adc r31, r31 + 28fa: e0 5f subi r30, 0xF0 ; 240 + 28fc: fd 4d sbci r31, 0xDD ; 221 + 28fe: 01 e0 ldi r16, 0x01 ; 1 + 2900: 06 93 lac Z, r16 + 2902: 71 df rcall .-286 ; 0x27e6 + 2904: 81 e0 ldi r24, 0x01 ; 1 + 2906: 0f 91 pop r16 + 2908: 08 95 ret + +0000290a <__vector_125>: * USB bus event interrupt includes : * - USB line events SOF, reset, suspend, resume, wakeup * - endpoint control errors underflow, overflow, stall */ ISR(USB_BUSEVENT_vect) { - 28f4: 1f 92 push r1 - 28f6: 0f 92 push r0 - 28f8: 0f b6 in r0, 0x3f ; 63 - 28fa: 0f 92 push r0 - 28fc: 11 24 eor r1, r1 - 28fe: 0f 93 push r16 - 2900: 2f 93 push r18 - 2902: 3f 93 push r19 - 2904: 4f 93 push r20 - 2906: 5f 93 push r21 - 2908: 6f 93 push r22 - 290a: 7f 93 push r23 - 290c: 8f 93 push r24 - 290e: 9f 93 push r25 - 2910: af 93 push r26 - 2912: bf 93 push r27 - 2914: ef 93 push r30 - 2916: ff 93 push r31 + 290a: 1f 92 push r1 + 290c: 0f 92 push r0 + 290e: 0f b6 in r0, 0x3f ; 63 + 2910: 0f 92 push r0 + 2912: 11 24 eor r1, r1 + 2914: 0f 93 push r16 + 2916: 2f 93 push r18 + 2918: 3f 93 push r19 + 291a: 4f 93 push r20 + 291c: 5f 93 push r21 + 291e: 6f 93 push r22 + 2920: 7f 93 push r23 + 2922: 8f 93 push r24 + 2924: 9f 93 push r25 + 2926: af 93 push r26 + 2928: bf 93 push r27 + 292a: ef 93 push r30 + 292c: ff 93 push r31 if (udd_is_start_of_frame_event()) { - 2918: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 291c: 88 23 and r24, r24 - 291e: 44 f4 brge .+16 ; 0x2930 <__vector_125+0x3c> + 292e: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 2932: 88 23 and r24, r24 + 2934: 44 f4 brge .+16 ; 0x2946 <__vector_125+0x3c> udd_ack_start_of_frame_event(); - 2920: 80 e8 ldi r24, 0x80 ; 128 - 2922: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 2936: 80 e8 ldi r24, 0x80 ; 128 + 2938: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> udc_sof_notify(); - 2926: 0e 94 00 0b call 0x1600 ; 0x1600 + 293c: 0e 94 0b 0b call 0x1616 ; 0x1616 #ifdef UDC_SOF_EVENT UDC_SOF_EVENT(); - 292a: 0e 94 c2 01 call 0x384 ; 0x384 + 2940: 0e 94 c2 01 call 0x384 ; 0x384 #endif goto udd_interrupt_bus_event_end; - 292e: 8a c0 rjmp .+276 ; 0x2a44 <__vector_125+0x150> + 2944: 8a c0 rjmp .+276 ; 0x2a5a <__vector_125+0x150> } static bool udd_ctrl_interrupt_error(void) { // Underflow only managed for control endpoint if (udd_is_underflow_event()) { - 2930: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 2934: 82 ff sbrs r24, 2 - 2936: 20 c0 rjmp .+64 ; 0x2978 <__vector_125+0x84> + 2946: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 294a: 82 ff sbrs r24, 2 + 294c: 20 c0 rjmp .+64 ; 0x298e <__vector_125+0x84> udd_ack_underflow_event(); - 2938: 84 e0 ldi r24, 0x04 ; 4 - 293a: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 294e: 84 e0 ldi r24, 0x04 ; 4 + 2950: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> if (udd_control_in_underflow()) { - 293e: 80 91 18 22 lds r24, 0x2218 ; 0x802218 - 2942: 86 ff sbrs r24, 6 - 2944: 7f c0 rjmp .+254 ; 0x2a44 <__vector_125+0x150> + 2954: 80 91 18 22 lds r24, 0x2218 ; 0x802218 + 2958: 86 ff sbrs r24, 6 + 295a: 7f c0 rjmp .+254 ; 0x2a5a <__vector_125+0x150> udd_control_out_clear_NACK0(); } static void udd_ctrl_underflow(void) { if (udd_is_tc_event() || udd_ctrl_interrupt_tc_setup()) { - 2946: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 294a: 81 fd sbrc r24, 1 - 294c: 7b c0 rjmp .+246 ; 0x2a44 <__vector_125+0x150> - 294e: 43 db rcall .-2426 ; 0x1fd6 - 2950: 81 11 cpse r24, r1 - 2952: 78 c0 rjmp .+240 ; 0x2a44 <__vector_125+0x150> + 295c: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 2960: 81 fd sbrc r24, 1 + 2962: 7b c0 rjmp .+246 ; 0x2a5a <__vector_125+0x150> + 2964: 43 db rcall .-2426 ; 0x1fec + 2966: 81 11 cpse r24, r1 + 2968: 78 c0 rjmp .+240 ; 0x2a5a <__vector_125+0x150> return; // underflow ignored if a transfer complete has been no processed } if (UDD_EPCTRL_DATA_OUT == udd_ep_control_state) { - 2954: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff - 2958: 81 30 cpi r24, 0x01 ; 1 - 295a: 11 f4 brne .+4 ; 0x2960 <__vector_125+0x6c> + 296a: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff + 296e: 81 30 cpi r24, 0x01 ; 1 + 2970: 11 f4 brne .+4 ; 0x2976 <__vector_125+0x6c> // Host want to stop OUT transaction // then stop to wait OUT data phase and wait IN ZLP handshake udd_ctrl_send_zlp_in(); - 295c: 79 da rcall .-2830 ; 0x1e50 - 295e: 72 c0 rjmp .+228 ; 0x2a44 <__vector_125+0x150> + 2972: 79 da rcall .-2830 ; 0x1e66 + 2974: 72 c0 rjmp .+228 ; 0x2a5a <__vector_125+0x150> } else if (UDD_EPCTRL_HANDSHAKE_WAIT_OUT_ZLP == udd_ep_control_state) { - 2960: 84 30 cpi r24, 0x04 ; 4 - 2962: 09 f0 breq .+2 ; 0x2966 <__vector_125+0x72> - 2964: 6f c0 rjmp .+222 ; 0x2a44 <__vector_125+0x150> + 2976: 84 30 cpi r24, 0x04 ; 4 + 2978: 09 f0 breq .+2 ; 0x297c <__vector_125+0x72> + 297a: 6f c0 rjmp .+222 ; 0x2a5a <__vector_125+0x150> // A OUT handshake is waiting by device, // but host want extra IN data then stall extra IN data and following status stage udd_control_in_enable_stall(); - 2966: e9 e1 ldi r30, 0x19 ; 25 - 2968: f2 e2 ldi r31, 0x22 ; 34 - 296a: 04 e0 ldi r16, 0x04 ; 4 - 296c: 05 93 las Z, r16 + 297c: e9 e1 ldi r30, 0x19 ; 25 + 297e: f2 e2 ldi r31, 0x22 ; 34 + 2980: 04 e0 ldi r16, 0x04 ; 4 + 2982: 05 93 las Z, r16 udd_control_out_enable_stall(); - 296e: e1 e1 ldi r30, 0x11 ; 17 - 2970: f2 e2 ldi r31, 0x22 ; 34 - 2972: 04 e0 ldi r16, 0x04 ; 4 - 2974: 05 93 las Z, r16 - 2976: 66 c0 rjmp .+204 ; 0x2a44 <__vector_125+0x150> + 2984: e1 e1 ldi r30, 0x11 ; 17 + 2986: f2 e2 ldi r31, 0x22 ; 34 + 2988: 04 e0 ldi r16, 0x04 ; 4 + 298a: 05 93 las Z, r16 + 298c: 66 c0 rjmp .+204 ; 0x2a5a <__vector_125+0x150> udd_ctrl_underflow(); } return true; } // Overflow only managed for control endpoint if (udd_is_overflow_event()) { - 2978: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 297c: 81 ff sbrs r24, 1 - 297e: 5d c0 rjmp .+186 ; 0x2a3a <__vector_125+0x146> + 298e: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 2992: 81 ff sbrs r24, 1 + 2994: 5d c0 rjmp .+186 ; 0x2a50 <__vector_125+0x146> udd_ack_overflow_event(); - 2980: 82 e0 ldi r24, 0x02 ; 2 - 2982: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 2996: 82 e0 ldi r24, 0x02 ; 2 + 2998: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> if (udd_control_out_overflow()) { - 2986: 80 91 10 22 lds r24, 0x2210 ; 0x802210 - 298a: 86 ff sbrs r24, 6 - 298c: 5b c0 rjmp .+182 ; 0x2a44 <__vector_125+0x150> + 299c: 80 91 10 22 lds r24, 0x2210 ; 0x802210 + 29a0: 86 ff sbrs r24, 6 + 29a2: 5b c0 rjmp .+182 ; 0x2a5a <__vector_125+0x150> } } static void udd_ctrl_overflow(void) { if (udd_is_tc_event() || udd_ctrl_interrupt_tc_setup()) { - 298e: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 2992: 81 fd sbrc r24, 1 - 2994: 57 c0 rjmp .+174 ; 0x2a44 <__vector_125+0x150> - 2996: 1f db rcall .-2498 ; 0x1fd6 - 2998: 81 11 cpse r24, r1 - 299a: 54 c0 rjmp .+168 ; 0x2a44 <__vector_125+0x150> + 29a4: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 29a8: 81 fd sbrc r24, 1 + 29aa: 57 c0 rjmp .+174 ; 0x2a5a <__vector_125+0x150> + 29ac: 1f db rcall .-2498 ; 0x1fec + 29ae: 81 11 cpse r24, r1 + 29b0: 54 c0 rjmp .+168 ; 0x2a5a <__vector_125+0x150> return; // overflow ignored if a transfer complete has been no processed } if (UDD_EPCTRL_DATA_IN == udd_ep_control_state) { - 299c: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff - 29a0: 82 30 cpi r24, 0x02 ; 2 - 29a2: 41 f4 brne .+16 ; 0x29b4 <__vector_125+0xc0> + 29b2: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff + 29b6: 82 30 cpi r24, 0x02 ; 2 + 29b8: 41 f4 brne .+16 ; 0x29ca <__vector_125+0xc0> udd_control_in_clear_NACK0(); } static void udd_ctrl_send_zlp_out(void) { udd_ep_control_state = UDD_EPCTRL_HANDSHAKE_WAIT_OUT_ZLP; - 29a4: 84 e0 ldi r24, 0x04 ; 4 - 29a6: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff + 29ba: 84 e0 ldi r24, 0x04 ; 4 + 29bc: 80 93 ff 21 sts 0x21FF, r24 ; 0x8021ff // Valid reception of OUT packet on control endpoint udd_control_out_clear_NACK0(); - 29aa: e0 e1 ldi r30, 0x10 ; 16 - 29ac: f2 e2 ldi r31, 0x22 ; 34 - 29ae: 02 e0 ldi r16, 0x02 ; 2 - 29b0: 06 93 lac Z, r16 - 29b2: 48 c0 rjmp .+144 ; 0x2a44 <__vector_125+0x150> + 29c0: e0 e1 ldi r30, 0x10 ; 16 + 29c2: f2 e2 ldi r31, 0x22 ; 34 + 29c4: 02 e0 ldi r16, 0x02 ; 2 + 29c6: 06 93 lac Z, r16 + 29c8: 48 c0 rjmp .+144 ; 0x2a5a <__vector_125+0x150> } if (UDD_EPCTRL_DATA_IN == udd_ep_control_state) { // Host want to stop IN transaction // then stop to wait IN data phase and wait OUT ZLP handshake udd_ctrl_send_zlp_out(); } else if (UDD_EPCTRL_HANDSHAKE_WAIT_IN_ZLP == udd_ep_control_state) { - 29b4: 83 30 cpi r24, 0x03 ; 3 - 29b6: 09 f0 breq .+2 ; 0x29ba <__vector_125+0xc6> - 29b8: 45 c0 rjmp .+138 ; 0x2a44 <__vector_125+0x150> + 29ca: 83 30 cpi r24, 0x03 ; 3 + 29cc: 09 f0 breq .+2 ; 0x29d0 <__vector_125+0xc6> + 29ce: 45 c0 rjmp .+138 ; 0x2a5a <__vector_125+0x150> // A IN handshake is waiting by device, // but host want extra OUT data then stall extra OUT data and following status stage udd_control_in_enable_stall(); - 29ba: e9 e1 ldi r30, 0x19 ; 25 - 29bc: f2 e2 ldi r31, 0x22 ; 34 - 29be: 04 e0 ldi r16, 0x04 ; 4 - 29c0: 05 93 las Z, r16 + 29d0: e9 e1 ldi r30, 0x19 ; 25 + 29d2: f2 e2 ldi r31, 0x22 ; 34 + 29d4: 04 e0 ldi r16, 0x04 ; 4 + 29d6: 05 93 las Z, r16 udd_control_out_enable_stall(); - 29c2: e1 e1 ldi r30, 0x11 ; 17 - 29c4: f2 e2 ldi r31, 0x22 ; 34 - 29c6: 04 e0 ldi r16, 0x04 ; 4 - 29c8: 05 93 las Z, r16 - 29ca: 3c c0 rjmp .+120 ; 0x2a44 <__vector_125+0x150> + 29d8: e1 e1 ldi r30, 0x11 ; 17 + 29da: f2 e2 ldi r31, 0x22 ; 34 + 29dc: 04 e0 ldi r16, 0x04 ; 4 + 29de: 05 93 las Z, r16 + 29e0: 3c c0 rjmp .+120 ; 0x2a5a <__vector_125+0x150> if (udd_ctrl_interrupt_error()) { goto udd_interrupt_bus_event_end; } if (udd_is_reset_event()) { udd_ack_reset_event(); - 29cc: 80 e1 ldi r24, 0x10 ; 16 - 29ce: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 29e2: 80 e1 ldi r24, 0x10 ; 16 + 29e4: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> #if (0!=USB_DEVICE_MAX_EP) // Abort all endpoint jobs on going uint8_t i; for (i = 1; i < USB_DEVICE_MAX_EP; i++) { udd_ep_abort(i); - 29d2: 81 e0 ldi r24, 0x01 ; 1 - 29d4: fd de rcall .-518 ; 0x27d0 + 29e8: 81 e0 ldi r24, 0x01 ; 1 + 29ea: fd de rcall .-518 ; 0x27e6 udd_ep_abort(i | USB_EP_DIR_IN); - 29d6: 81 e8 ldi r24, 0x81 ; 129 - 29d8: fb de rcall .-522 ; 0x27d0 + 29ec: 81 e8 ldi r24, 0x81 ; 129 + 29ee: fb de rcall .-522 ; 0x27e6 udd_ack_reset_event(); #if (0!=USB_DEVICE_MAX_EP) // Abort all endpoint jobs on going uint8_t i; for (i = 1; i < USB_DEVICE_MAX_EP; i++) { udd_ep_abort(i); - 29da: 82 e0 ldi r24, 0x02 ; 2 - 29dc: f9 de rcall .-526 ; 0x27d0 + 29f0: 82 e0 ldi r24, 0x02 ; 2 + 29f2: f9 de rcall .-526 ; 0x27e6 udd_ep_abort(i | USB_EP_DIR_IN); - 29de: 82 e8 ldi r24, 0x82 ; 130 - 29e0: f7 de rcall .-530 ; 0x27d0 + 29f4: 82 e8 ldi r24, 0x82 ; 130 + 29f6: f7 de rcall .-530 ; 0x27e6 } #endif udc_reset(); - 29e2: 0e 94 db 0a call 0x15b6 ; 0x15b6 + 29f8: 0e 94 e6 0a call 0x15cc ; 0x15cc // Reset USB address to 0 udd_set_device_address(0); - 29e6: 10 92 c3 04 sts 0x04C3, r1 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> + 29fc: 10 92 c3 04 sts 0x04C3, r1 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> #endif } // Enable endpoint ep_ctrl = udd_ep_get_ctrl(ep); udd_endpoint_disable(ep_ctrl); - 29ea: e0 e0 ldi r30, 0x00 ; 0 - 29ec: f2 e2 ldi r31, 0x22 ; 34 - 29ee: 11 8a std Z+17, r1 ; 0x11 + 2a00: e0 e0 ldi r30, 0x00 ; 0 + 2a02: f2 e2 ldi r31, 0x22 ; 34 + 2a04: 11 8a std Z+17, r1 ; 0x11 udd_endpoint_clear_status(ep_ctrl); - 29f0: 96 e0 ldi r25, 0x06 ; 6 - 29f2: 90 8b std Z+16, r25 ; 0x10 + 2a06: 96 e0 ldi r25, 0x06 ; 6 + 2a08: 90 8b std Z+16, r25 ; 0x10 udd_endpoint_set_control(ep_ctrl, (uint8_t) type | (uint8_t) size); - 29f4: 83 e4 ldi r24, 0x43 ; 67 - 29f6: 81 8b std Z+17, r24 ; 0x11 + 2a0a: 83 e4 ldi r24, 0x43 ; 67 + 2a0c: 81 8b std Z+17, r24 ; 0x11 #endif } // Enable endpoint ep_ctrl = udd_ep_get_ctrl(ep); udd_endpoint_disable(ep_ctrl); - 29f8: 11 8e std Z+25, r1 ; 0x19 + 2a0e: 11 8e std Z+25, r1 ; 0x19 udd_endpoint_clear_status(ep_ctrl); - 29fa: 90 8f std Z+24, r25 ; 0x18 + 2a10: 90 8f std Z+24, r25 ; 0x18 udd_endpoint_set_control(ep_ctrl, (uint8_t) type | (uint8_t) size); - 29fc: 81 8f std Z+25, r24 ; 0x19 + 2a12: 81 8f std Z+25, r24 ; 0x19 udd_set_device_address(0); // Alloc and configure control endpoint udd_ep_init(0, USB_EP_TYPE_CONTROL, USB_DEVICE_EP_CTRL_SIZE); udd_ep_init(0 | USB_EP_DIR_IN, USB_EP_TYPE_CONTROL, USB_DEVICE_EP_CTRL_SIZE); udd_control_out_set_buf(&udd_ctrl_buffer); - 29fe: 8b eb ldi r24, 0xBB ; 187 - 2a00: 91 e2 ldi r25, 0x21 ; 33 - 2a02: 84 8b std Z+20, r24 ; 0x14 - 2a04: 95 8b std Z+21, r25 ; 0x15 + 2a14: 8b eb ldi r24, 0xBB ; 187 + 2a16: 91 e2 ldi r25, 0x21 ; 33 + 2a18: 84 8b std Z+20, r24 ; 0x14 + 2a1a: 95 8b std Z+21, r25 ; 0x15 // Reset endpoint control management udd_ctrl_init(); - 2a06: ef d9 rcall .-3106 ; 0x1de6 + 2a1c: ef d9 rcall .-3106 ; 0x1dfc goto udd_interrupt_bus_event_end; - 2a08: 1d c0 rjmp .+58 ; 0x2a44 <__vector_125+0x150> + 2a1e: 1d c0 rjmp .+58 ; 0x2a5a <__vector_125+0x150> } if (udd_is_suspend_event()) { - 2a0a: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 2a0e: 86 ff sbrs r24, 6 - 2a10: 08 c0 rjmp .+16 ; 0x2a22 <__vector_125+0x12e> + 2a20: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 2a24: 86 ff sbrs r24, 6 + 2a26: 08 c0 rjmp .+16 ; 0x2a38 <__vector_125+0x12e> udd_ack_suspend_event(); - 2a12: 80 e4 ldi r24, 0x40 ; 64 - 2a14: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 2a28: 80 e4 ldi r24, 0x40 ; 64 + 2a2a: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> udd_sleep_mode(false); // Enter in SUSPEND mode - 2a18: 80 e0 ldi r24, 0x00 ; 0 - 2a1a: bc d9 rcall .-3208 ; 0x1d94 + 2a2e: 80 e0 ldi r24, 0x00 ; 0 + 2a30: bc d9 rcall .-3208 ; 0x1daa #ifdef UDC_SUSPEND_EVENT UDC_SUSPEND_EVENT(); - 2a1c: 0e 94 c0 01 call 0x380 ; 0x380 + 2a32: 0e 94 c0 01 call 0x380 ; 0x380 #endif goto udd_interrupt_bus_event_end; - 2a20: 11 c0 rjmp .+34 ; 0x2a44 <__vector_125+0x150> + 2a36: 11 c0 rjmp .+34 ; 0x2a5a <__vector_125+0x150> } if (udd_is_resume_event()) { - 2a22: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 2a26: 85 ff sbrs r24, 5 - 2a28: 0d c0 rjmp .+26 ; 0x2a44 <__vector_125+0x150> + 2a38: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 2a3c: 85 ff sbrs r24, 5 + 2a3e: 0d c0 rjmp .+26 ; 0x2a5a <__vector_125+0x150> udd_ack_resume_event(); - 2a2a: 80 e2 ldi r24, 0x20 ; 32 - 2a2c: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 2a40: 80 e2 ldi r24, 0x20 ; 32 + 2a42: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> udd_sleep_mode(true); // Enter in power reduction mode - 2a30: 81 e0 ldi r24, 0x01 ; 1 - 2a32: b0 d9 rcall .-3232 ; 0x1d94 + 2a46: 81 e0 ldi r24, 0x01 ; 1 + 2a48: b0 d9 rcall .-3232 ; 0x1daa #ifdef UDC_RESUME_EVENT UDC_RESUME_EVENT(); - 2a34: 0e 94 c1 01 call 0x382 ; 0x382 + 2a4a: 0e 94 c1 01 call 0x382 ; 0x382 #endif goto udd_interrupt_bus_event_end; - 2a38: 05 c0 rjmp .+10 ; 0x2a44 <__vector_125+0x150> + 2a4e: 05 c0 rjmp .+10 ; 0x2a5a <__vector_125+0x150> } if (udd_ctrl_interrupt_error()) { goto udd_interrupt_bus_event_end; } if (udd_is_reset_event()) { - 2a3a: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 2a3e: 84 fd sbrc r24, 4 - 2a40: c5 cf rjmp .-118 ; 0x29cc <__vector_125+0xd8> - 2a42: e3 cf rjmp .-58 ; 0x2a0a <__vector_125+0x116> + 2a50: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 2a54: 84 fd sbrc r24, 4 + 2a56: c5 cf rjmp .-118 ; 0x29e2 <__vector_125+0xd8> + 2a58: e3 cf rjmp .-58 ; 0x2a20 <__vector_125+0x116> goto udd_interrupt_bus_event_end; } udd_interrupt_bus_event_end: return; } - 2a44: ff 91 pop r31 - 2a46: ef 91 pop r30 - 2a48: bf 91 pop r27 - 2a4a: af 91 pop r26 - 2a4c: 9f 91 pop r25 - 2a4e: 8f 91 pop r24 - 2a50: 7f 91 pop r23 - 2a52: 6f 91 pop r22 - 2a54: 5f 91 pop r21 - 2a56: 4f 91 pop r20 - 2a58: 3f 91 pop r19 - 2a5a: 2f 91 pop r18 - 2a5c: 0f 91 pop r16 - 2a5e: 0f 90 pop r0 - 2a60: 0f be out 0x3f, r0 ; 63 - 2a62: 0f 90 pop r0 - 2a64: 1f 90 pop r1 - 2a66: 18 95 reti + 2a5a: ff 91 pop r31 + 2a5c: ef 91 pop r30 + 2a5e: bf 91 pop r27 + 2a60: af 91 pop r26 + 2a62: 9f 91 pop r25 + 2a64: 8f 91 pop r24 + 2a66: 7f 91 pop r23 + 2a68: 6f 91 pop r22 + 2a6a: 5f 91 pop r21 + 2a6c: 4f 91 pop r20 + 2a6e: 3f 91 pop r19 + 2a70: 2f 91 pop r18 + 2a72: 0f 91 pop r16 + 2a74: 0f 90 pop r0 + 2a76: 0f be out 0x3f, r0 ; 63 + 2a78: 0f 90 pop r0 + 2a7a: 1f 90 pop r1 + 2a7c: 18 95 reti -00002a68 <__vector_126>: +00002a7e <__vector_126>: * \brief Function called by USB transfer complete interrupt * * USB transfer complete interrupt includes events about endpoint transfer on all endpoints. */ ISR(USB_TRNCOMPL_vect) { - 2a68: 1f 92 push r1 - 2a6a: 0f 92 push r0 - 2a6c: 0f b6 in r0, 0x3f ; 63 - 2a6e: 0f 92 push r0 - 2a70: 11 24 eor r1, r1 - 2a72: 0f 93 push r16 - 2a74: 1f 93 push r17 - 2a76: 2f 93 push r18 - 2a78: 3f 93 push r19 - 2a7a: 4f 93 push r20 - 2a7c: 5f 93 push r21 - 2a7e: 6f 93 push r22 - 2a80: 7f 93 push r23 - 2a82: 8f 93 push r24 - 2a84: 9f 93 push r25 - 2a86: af 93 push r26 - 2a88: bf 93 push r27 - 2a8a: cf 93 push r28 - 2a8c: df 93 push r29 - 2a8e: ef 93 push r30 - 2a90: ff 93 push r31 + 2a7e: 1f 92 push r1 + 2a80: 0f 92 push r0 + 2a82: 0f b6 in r0, 0x3f ; 63 + 2a84: 0f 92 push r0 + 2a86: 11 24 eor r1, r1 + 2a88: 0f 93 push r16 + 2a8a: 1f 93 push r17 + 2a8c: 2f 93 push r18 + 2a8e: 3f 93 push r19 + 2a90: 4f 93 push r20 + 2a92: 5f 93 push r21 + 2a94: 6f 93 push r22 + 2a96: 7f 93 push r23 + 2a98: 8f 93 push r24 + 2a9a: 9f 93 push r25 + 2a9c: af 93 push r26 + 2a9e: bf 93 push r27 + 2aa0: cf 93 push r28 + 2aa2: df 93 push r29 + 2aa4: ef 93 push r30 + 2aa6: ff 93 push r31 int8_t rp; UDD_EP_t *ep_ctrl; udd_ep_id_t ep; #endif if (!udd_is_tc_event()) { - 2a92: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 2a96: 81 fd sbrc r24, 1 - 2a98: 03 c0 rjmp .+6 ; 0x2aa0 <__vector_126+0x38> + 2aa8: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 2aac: 81 fd sbrc r24, 1 + 2aae: 03 c0 rjmp .+6 ; 0x2ab6 <__vector_126+0x38> // If no other transfer complete // then check reception of SETUP packet on control endpoint if (udd_ctrl_interrupt_tc_setup()) { - 2a9a: 9d da rcall .-2758 ; 0x1fd6 - 2a9c: 81 11 cpse r24, r1 - 2a9e: b9 c0 rjmp .+370 ; 0x2c12 <__vector_126+0x1aa> + 2ab0: 9d da rcall .-2758 ; 0x1fec + 2ab2: 81 11 cpse r24, r1 + 2ab4: b9 c0 rjmp .+370 ; 0x2c28 <__vector_126+0x1aa> goto udd_interrupt_tc_end; } Assert(false); } // Check IN/OUT transfer complete on all endpoints udd_ack_tc_event(); - 2aa0: 82 e0 ldi r24, 0x02 ; 2 - 2aa2: 80 93 cc 04 sts 0x04CC, r24 ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 2ab6: 82 e0 ldi r24, 0x02 ; 2 + 2ab8: 80 93 cc 04 sts 0x04CC, r24 ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> #if (0!=USB_DEVICE_MAX_EP) //** Decode TC FIFO // Compute ep addr rp = udd_get_fifo_rp(); - 2aa6: 80 91 c5 04 lds r24, 0x04C5 ; 0x8004c5 <__TEXT_REGION_LENGTH__+0x7004c5> + 2abc: 80 91 c5 04 lds r24, 0x04C5 ; 0x8004c5 <__TEXT_REGION_LENGTH__+0x7004c5> i_fifo = 2 * (1 + ~rp); - 2aaa: 81 95 neg r24 - 2aac: 88 0f add r24, r24 + 2ac0: 81 95 neg r24 + 2ac2: 88 0f add r24, r24 ad = ((uint16_t) udd_sram.ep_ctrl) - i_fifo; - 2aae: e0 e1 ldi r30, 0x10 ; 16 - 2ab0: f2 e2 ldi r31, 0x22 ; 34 - 2ab2: e8 1b sub r30, r24 - 2ab4: f1 09 sbc r31, r1 + 2ac4: e0 e1 ldi r30, 0x10 ; 16 + 2ac6: f2 e2 ldi r31, 0x22 ; 34 + 2ac8: e8 1b sub r30, r24 + 2aca: f1 09 sbc r31, r1 p_ad = (uint16_t *) ad; // Compute ep ep_index = (((uint16_t) * p_ad - ((uint16_t) udd_sram.ep_ctrl)) >> 3); - 2ab6: 20 81 ld r18, Z - 2ab8: 31 81 ldd r19, Z+1 ; 0x01 - 2aba: 20 51 subi r18, 0x10 ; 16 - 2abc: 32 42 sbci r19, 0x22 ; 34 - 2abe: 36 95 lsr r19 - 2ac0: 27 95 ror r18 - 2ac2: 36 95 lsr r19 - 2ac4: 27 95 ror r18 - 2ac6: 36 95 lsr r19 - 2ac8: 27 95 ror r18 + 2acc: 20 81 ld r18, Z + 2ace: 31 81 ldd r19, Z+1 ; 0x01 + 2ad0: 20 51 subi r18, 0x10 ; 16 + 2ad2: 32 42 sbci r19, 0x22 ; 34 + 2ad4: 36 95 lsr r19 + 2ad6: 27 95 ror r18 + 2ad8: 36 95 lsr r19 + 2ada: 27 95 ror r18 + 2adc: 36 95 lsr r19 + 2ade: 27 95 ror r18 ep = (ep_index / 2) + ((ep_index & 1) ? USB_EP_DIR_IN : 0); - 2aca: 82 2f mov r24, r18 - 2acc: 86 95 lsr r24 - 2ace: 20 fd sbrc r18, 0 - 2ad0: 02 c0 rjmp .+4 ; 0x2ad6 <__vector_126+0x6e> - 2ad2: 90 e0 ldi r25, 0x00 ; 0 - 2ad4: 01 c0 rjmp .+2 ; 0x2ad8 <__vector_126+0x70> - 2ad6: 90 e8 ldi r25, 0x80 ; 128 - 2ad8: 89 0f add r24, r25 + 2ae0: 82 2f mov r24, r18 + 2ae2: 86 95 lsr r24 + 2ae4: 20 fd sbrc r18, 0 + 2ae6: 02 c0 rjmp .+4 ; 0x2aec <__vector_126+0x6e> + 2ae8: 90 e0 ldi r25, 0x00 ; 0 + 2aea: 01 c0 rjmp .+2 ; 0x2aee <__vector_126+0x70> + 2aec: 90 e8 ldi r25, 0x80 ; 128 + 2aee: 89 0f add r24, r25 udd_endpoint_set_control(ep_ctrl, (uint8_t) type | (uint8_t) size); } static UDD_EP_t *udd_ep_get_ctrl(udd_ep_id_t ep) { return &udd_sram.ep_ctrl[(2 * (ep & USB_EP_ADDR_MASK) + - 2ada: e8 2f mov r30, r24 - 2adc: ef 70 andi r30, 0x0F ; 15 - 2ade: f0 e0 ldi r31, 0x00 ; 0 - 2ae0: ee 0f add r30, r30 - 2ae2: ff 1f adc r31, r31 + 2af0: e8 2f mov r30, r24 + 2af2: ef 70 andi r30, 0x0F ; 15 + 2af4: f0 e0 ldi r31, 0x00 ; 0 + 2af6: ee 0f add r30, r30 + 2af8: ff 1f adc r31, r31 ((ep & USB_EP_DIR_IN) ? 1 : 0))]; - 2ae4: 28 2f mov r18, r24 - 2ae6: 08 2e mov r0, r24 - 2ae8: 00 0c add r0, r0 - 2aea: 33 0b sbc r19, r19 - 2aec: 22 27 eor r18, r18 - 2aee: 33 0f add r19, r19 - 2af0: 22 1f adc r18, r18 - 2af2: 33 27 eor r19, r19 + 2afa: 28 2f mov r18, r24 + 2afc: 08 2e mov r0, r24 + 2afe: 00 0c add r0, r0 + 2b00: 33 0b sbc r19, r19 + 2b02: 22 27 eor r18, r18 + 2b04: 33 0f add r19, r19 + 2b06: 22 1f adc r18, r18 + 2b08: 33 27 eor r19, r19 udd_endpoint_set_control(ep_ctrl, (uint8_t) type | (uint8_t) size); } static UDD_EP_t *udd_ep_get_ctrl(udd_ep_id_t ep) { return &udd_sram.ep_ctrl[(2 * (ep & USB_EP_ADDR_MASK) + - 2af4: e2 0f add r30, r18 - 2af6: f3 1f adc r31, r19 + 2b0a: e2 0f add r30, r18 + 2b0c: f3 1f adc r31, r19 ep = (ep_index / 2) + ((ep_index & 1) ? USB_EP_DIR_IN : 0); Assert(USB_DEVICE_MAX_EP >= (ep & USB_EP_ADDR_MASK)); // Ack IT TC of endpoint ep_ctrl = udd_ep_get_ctrl(ep); if (!udd_endpoint_transfer_complete(ep_ctrl)) { - 2af8: df 01 movw r26, r30 - 2afa: aa 0f add r26, r26 - 2afc: bb 1f adc r27, r27 - 2afe: aa 0f add r26, r26 - 2b00: bb 1f adc r27, r27 - 2b02: aa 0f add r26, r26 - 2b04: bb 1f adc r27, r27 - 2b06: a0 5f subi r26, 0xF0 ; 240 - 2b08: bd 4d sbci r27, 0xDD ; 221 - 2b0a: 9c 91 ld r25, X - 2b0c: 95 ff sbrs r25, 5 - 2b0e: 81 c0 rjmp .+258 ; 0x2c12 <__vector_126+0x1aa> + 2b0e: df 01 movw r26, r30 + 2b10: aa 0f add r26, r26 + 2b12: bb 1f adc r27, r27 + 2b14: aa 0f add r26, r26 + 2b16: bb 1f adc r27, r27 + 2b18: aa 0f add r26, r26 + 2b1a: bb 1f adc r27, r27 + 2b1c: a0 5f subi r26, 0xF0 ; 240 + 2b1e: bd 4d sbci r27, 0xDD ; 221 + 2b20: 9c 91 ld r25, X + 2b22: 95 ff sbrs r25, 5 + 2b24: 81 c0 rjmp .+258 ; 0x2c28 <__vector_126+0x1aa> return; // Error, TC is generated by Multipacket transfer } udd_endpoint_ack_transfer_complete(ep_ctrl); - 2b10: fd 01 movw r30, r26 - 2b12: 00 e2 ldi r16, 0x20 ; 32 - 2b14: 06 93 lac Z, r16 + 2b26: fd 01 movw r30, r26 + 2b28: 00 e2 ldi r16, 0x20 ; 32 + 2b2a: 06 93 lac Z, r16 // Check status on control endpoint if (ep == 0) { - 2b16: 81 11 cpse r24, r1 - 2b18: 77 c0 rjmp .+238 ; 0x2c08 <__vector_126+0x1a0> + 2b2c: 81 11 cpse r24, r1 + 2b2e: 77 c0 rjmp .+238 ; 0x2c1e <__vector_126+0x1a0> static void udd_ctrl_out_received(void) { uint16_t nb_data; if (UDD_EPCTRL_HANDSHAKE_WAIT_OUT_ZLP == udd_ep_control_state) { - 2b1a: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff - 2b1e: 84 30 cpi r24, 0x04 ; 4 - 2b20: 19 f4 brne .+6 ; 0x2b28 <__vector_126+0xc0> + 2b30: 80 91 ff 21 lds r24, 0x21FF ; 0x8021ff + 2b34: 84 30 cpi r24, 0x04 ; 4 + 2b36: 19 f4 brne .+6 ; 0x2b3e <__vector_126+0xc0> // Valid end of setup request udd_ctrl_endofrequest(); - 2b22: a4 d9 rcall .-3256 ; 0x1e6c + 2b38: a4 d9 rcall .-3256 ; 0x1e82 // Reinitializes control endpoint management udd_ctrl_init(); - 2b24: 60 d9 rcall .-3392 ; 0x1de6 - 2b26: 75 c0 rjmp .+234 ; 0x2c12 <__vector_126+0x1aa> + 2b3a: 60 d9 rcall .-3392 ; 0x1dfc + 2b3c: 75 c0 rjmp .+234 ; 0x2c28 <__vector_126+0x1aa> return; } Assert(udd_ep_control_state == UDD_EPCTRL_DATA_OUT); // Read data received during OUT phase nb_data = udd_control_out_get_bytecnt(); - 2b28: 00 91 12 22 lds r16, 0x2212 ; 0x802212 - 2b2c: 10 91 13 22 lds r17, 0x2213 ; 0x802213 + 2b3e: 00 91 12 22 lds r16, 0x2212 ; 0x802212 + 2b42: 10 91 13 22 lds r17, 0x2213 ; 0x802213 if (udd_g_ctrlreq.payload_size < (udd_ctrl_payload_nb_trans + nb_data)) { - 2b30: 80 91 64 24 lds r24, 0x2464 ; 0x802464 - 2b34: 90 91 65 24 lds r25, 0x2465 ; 0x802465 - 2b38: c0 91 fb 21 lds r28, 0x21FB ; 0x8021fb - 2b3c: d0 91 fc 21 lds r29, 0x21FC ; 0x8021fc - 2b40: 9e 01 movw r18, r28 - 2b42: 20 0f add r18, r16 - 2b44: 31 1f adc r19, r17 - 2b46: 82 17 cp r24, r18 - 2b48: 93 07 cpc r25, r19 - 2b4a: 18 f4 brcc .+6 ; 0x2b52 <__vector_126+0xea> + 2b46: 80 91 64 24 lds r24, 0x2464 ; 0x802464 + 2b4a: 90 91 65 24 lds r25, 0x2465 ; 0x802465 + 2b4e: c0 91 fb 21 lds r28, 0x21FB ; 0x8021fb + 2b52: d0 91 fc 21 lds r29, 0x21FC ; 0x8021fc + 2b56: 9e 01 movw r18, r28 + 2b58: 20 0f add r18, r16 + 2b5a: 31 1f adc r19, r17 + 2b5c: 82 17 cp r24, r18 + 2b5e: 93 07 cpc r25, r19 + 2b60: 18 f4 brcc .+6 ; 0x2b68 <__vector_126+0xea> // Payload buffer too small, ignore data remaining nb_data = udd_g_ctrlreq.payload_size - udd_ctrl_payload_nb_trans; - 2b4c: 8c 01 movw r16, r24 - 2b4e: 0c 1b sub r16, r28 - 2b50: 1d 0b sbc r17, r29 + 2b62: 8c 01 movw r16, r24 + 2b64: 0c 1b sub r16, r28 + 2b66: 1d 0b sbc r17, r29 } memcpy((uint8_t *) (udd_g_ctrlreq.payload + udd_ctrl_payload_nb_trans), - 2b52: 80 91 62 24 lds r24, 0x2462 ; 0x802462 - 2b56: 90 91 63 24 lds r25, 0x2463 ; 0x802463 - 2b5a: a8 01 movw r20, r16 - 2b5c: 6b eb ldi r22, 0xBB ; 187 - 2b5e: 71 e2 ldi r23, 0x21 ; 33 - 2b60: 8c 0f add r24, r28 - 2b62: 9d 1f adc r25, r29 - 2b64: 85 d0 rcall .+266 ; 0x2c70 + 2b68: 80 91 62 24 lds r24, 0x2462 ; 0x802462 + 2b6c: 90 91 63 24 lds r25, 0x2463 ; 0x802463 + 2b70: a8 01 movw r20, r16 + 2b72: 6b eb ldi r22, 0xBB ; 187 + 2b74: 71 e2 ldi r23, 0x21 ; 33 + 2b76: 8c 0f add r24, r28 + 2b78: 9d 1f adc r25, r29 + 2b7a: 85 d0 rcall .+266 ; 0x2c86 udd_ctrl_buffer, nb_data); udd_ctrl_payload_nb_trans += nb_data; - 2b66: c0 0f add r28, r16 - 2b68: d1 1f adc r29, r17 - 2b6a: c0 93 fb 21 sts 0x21FB, r28 ; 0x8021fb - 2b6e: d0 93 fc 21 sts 0x21FC, r29 ; 0x8021fc + 2b7c: c0 0f add r28, r16 + 2b7e: d1 1f adc r29, r17 + 2b80: c0 93 fb 21 sts 0x21FB, r28 ; 0x8021fb + 2b84: d0 93 fc 21 sts 0x21FC, r29 ; 0x8021fc if ((USB_DEVICE_EP_CTRL_SIZE != nb_data) || (udd_g_ctrlreq.req.wLength - 2b72: 00 34 cpi r16, 0x40 ; 64 - 2b74: 11 05 cpc r17, r1 - 2b76: 69 f4 brne .+26 ; 0x2b92 <__vector_126+0x12a> + 2b88: 00 34 cpi r16, 0x40 ; 64 + 2b8a: 11 05 cpc r17, r1 + 2b8c: 69 f4 brne .+26 ; 0x2ba8 <__vector_126+0x12a> <= (udd_ctrl_prev_payload_nb_trans + udd_ctrl_payload_nb_trans))) { - 2b78: 80 91 fd 21 lds r24, 0x21FD ; 0x8021fd - 2b7c: 90 91 fe 21 lds r25, 0x21FE ; 0x8021fe - 2b80: 8c 0f add r24, r28 - 2b82: 9d 1f adc r25, r29 + 2b8e: 80 91 fd 21 lds r24, 0x21FD ; 0x8021fd + 2b92: 90 91 fe 21 lds r25, 0x21FE ; 0x8021fe + 2b96: 8c 0f add r24, r28 + 2b98: 9d 1f adc r25, r29 memcpy((uint8_t *) (udd_g_ctrlreq.payload + udd_ctrl_payload_nb_trans), udd_ctrl_buffer, nb_data); udd_ctrl_payload_nb_trans += nb_data; if ((USB_DEVICE_EP_CTRL_SIZE != nb_data) || (udd_g_ctrlreq.req.wLength - 2b84: 20 91 60 24 lds r18, 0x2460 ; 0x802460 - 2b88: 30 91 61 24 lds r19, 0x2461 ; 0x802461 - 2b8c: 82 17 cp r24, r18 - 2b8e: 93 07 cpc r25, r19 - 2b90: 80 f0 brcs .+32 ; 0x2bb2 <__vector_126+0x14a> + 2b9a: 20 91 60 24 lds r18, 0x2460 ; 0x802460 + 2b9e: 30 91 61 24 lds r19, 0x2461 ; 0x802461 + 2ba2: 82 17 cp r24, r18 + 2ba4: 93 07 cpc r25, r19 + 2ba6: 80 f0 brcs .+32 ; 0x2bc8 <__vector_126+0x14a> // End of reception because it is a short packet // or all data are transfered // Before send ZLP, call intermediate callback // in case of data receive generate a stall udd_g_ctrlreq.payload_size = udd_ctrl_payload_nb_trans; - 2b92: ea e5 ldi r30, 0x5A ; 90 - 2b94: f4 e2 ldi r31, 0x24 ; 36 - 2b96: c2 87 std Z+10, r28 ; 0x0a - 2b98: d3 87 std Z+11, r29 ; 0x0b + 2ba8: ea e5 ldi r30, 0x5A ; 90 + 2baa: f4 e2 ldi r31, 0x24 ; 36 + 2bac: c2 87 std Z+10, r28 ; 0x0a + 2bae: d3 87 std Z+11, r29 ; 0x0b if (NULL != udd_g_ctrlreq.over_under_run) { - 2b9a: 06 84 ldd r0, Z+14 ; 0x0e - 2b9c: f7 85 ldd r31, Z+15 ; 0x0f - 2b9e: e0 2d mov r30, r0 - 2ba0: 30 97 sbiw r30, 0x00 ; 0 - 2ba2: 29 f0 breq .+10 ; 0x2bae <__vector_126+0x146> + 2bb0: 06 84 ldd r0, Z+14 ; 0x0e + 2bb2: f7 85 ldd r31, Z+15 ; 0x0f + 2bb4: e0 2d mov r30, r0 + 2bb6: 30 97 sbiw r30, 0x00 ; 0 + 2bb8: 29 f0 breq .+10 ; 0x2bc4 <__vector_126+0x146> if (!udd_g_ctrlreq.over_under_run()) { - 2ba4: 09 95 icall - 2ba6: 81 11 cpse r24, r1 - 2ba8: 02 c0 rjmp .+4 ; 0x2bae <__vector_126+0x146> + 2bba: 09 95 icall + 2bbc: 81 11 cpse r24, r1 + 2bbe: 02 c0 rjmp .+4 ; 0x2bc4 <__vector_126+0x146> // Stall ZLP udd_ctrl_stall_data(); - 2baa: 44 d9 rcall .-3448 ; 0x1e34 - 2bac: 32 c0 rjmp .+100 ; 0x2c12 <__vector_126+0x1aa> + 2bc0: 44 d9 rcall .-3448 ; 0x1e4a + 2bc2: 32 c0 rjmp .+100 ; 0x2c28 <__vector_126+0x1aa> return; } } // Send IN ZLP to ACK setup request udd_ctrl_send_zlp_in(); - 2bae: 50 d9 rcall .-3424 ; 0x1e50 - 2bb0: 30 c0 rjmp .+96 ; 0x2c12 <__vector_126+0x1aa> + 2bc4: 50 d9 rcall .-3424 ; 0x1e66 + 2bc6: 30 c0 rjmp .+96 ; 0x2c28 <__vector_126+0x1aa> return; } if (udd_g_ctrlreq.payload_size == udd_ctrl_payload_nb_trans) { - 2bb2: 80 91 64 24 lds r24, 0x2464 ; 0x802464 - 2bb6: 90 91 65 24 lds r25, 0x2465 ; 0x802465 - 2bba: c8 17 cp r28, r24 - 2bbc: d9 07 cpc r29, r25 - 2bbe: f9 f4 brne .+62 ; 0x2bfe <__vector_126+0x196> + 2bc8: 80 91 64 24 lds r24, 0x2464 ; 0x802464 + 2bcc: 90 91 65 24 lds r25, 0x2465 ; 0x802465 + 2bd0: c8 17 cp r28, r24 + 2bd2: d9 07 cpc r29, r25 + 2bd4: f9 f4 brne .+62 ; 0x2c14 <__vector_126+0x196> // Overrun then request a new payload buffer if (!udd_g_ctrlreq.over_under_run) { - 2bc0: e0 91 68 24 lds r30, 0x2468 ; 0x802468 - 2bc4: f0 91 69 24 lds r31, 0x2469 ; 0x802469 - 2bc8: 30 97 sbiw r30, 0x00 ; 0 - 2bca: 11 f4 brne .+4 ; 0x2bd0 <__vector_126+0x168> + 2bd6: e0 91 68 24 lds r30, 0x2468 ; 0x802468 + 2bda: f0 91 69 24 lds r31, 0x2469 ; 0x802469 + 2bde: 30 97 sbiw r30, 0x00 ; 0 + 2be0: 11 f4 brne .+4 ; 0x2be6 <__vector_126+0x168> // No callback available to request a new payload buffer udd_ctrl_stall_data(); - 2bcc: 33 d9 rcall .-3482 ; 0x1e34 - 2bce: 21 c0 rjmp .+66 ; 0x2c12 <__vector_126+0x1aa> + 2be2: 33 d9 rcall .-3482 ; 0x1e4a + 2be4: 21 c0 rjmp .+66 ; 0x2c28 <__vector_126+0x1aa> return; } if (!udd_g_ctrlreq.over_under_run()) { - 2bd0: 09 95 icall - 2bd2: 81 11 cpse r24, r1 - 2bd4: 02 c0 rjmp .+4 ; 0x2bda <__vector_126+0x172> + 2be6: 09 95 icall + 2be8: 81 11 cpse r24, r1 + 2bea: 02 c0 rjmp .+4 ; 0x2bf0 <__vector_126+0x172> // No new payload buffer delivered udd_ctrl_stall_data(); - 2bd6: 2e d9 rcall .-3492 ; 0x1e34 - 2bd8: 1c c0 rjmp .+56 ; 0x2c12 <__vector_126+0x1aa> + 2bec: 2e d9 rcall .-3492 ; 0x1e4a + 2bee: 1c c0 rjmp .+56 ; 0x2c28 <__vector_126+0x1aa> return; } // New payload buffer available // Update number of total data received udd_ctrl_prev_payload_nb_trans += udd_ctrl_payload_nb_trans; - 2bda: 20 91 fd 21 lds r18, 0x21FD ; 0x8021fd - 2bde: 30 91 fe 21 lds r19, 0x21FE ; 0x8021fe - 2be2: 80 91 fb 21 lds r24, 0x21FB ; 0x8021fb - 2be6: 90 91 fc 21 lds r25, 0x21FC ; 0x8021fc - 2bea: 82 0f add r24, r18 - 2bec: 93 1f adc r25, r19 - 2bee: 80 93 fd 21 sts 0x21FD, r24 ; 0x8021fd - 2bf2: 90 93 fe 21 sts 0x21FE, r25 ; 0x8021fe + 2bf0: 20 91 fd 21 lds r18, 0x21FD ; 0x8021fd + 2bf4: 30 91 fe 21 lds r19, 0x21FE ; 0x8021fe + 2bf8: 80 91 fb 21 lds r24, 0x21FB ; 0x8021fb + 2bfc: 90 91 fc 21 lds r25, 0x21FC ; 0x8021fc + 2c00: 82 0f add r24, r18 + 2c02: 93 1f adc r25, r19 + 2c04: 80 93 fd 21 sts 0x21FD, r24 ; 0x8021fd + 2c08: 90 93 fe 21 sts 0x21FE, r25 ; 0x8021fe // Reinit reception on payload buffer udd_ctrl_payload_nb_trans = 0; - 2bf6: 10 92 fb 21 sts 0x21FB, r1 ; 0x8021fb - 2bfa: 10 92 fc 21 sts 0x21FC, r1 ; 0x8021fc + 2c0c: 10 92 fb 21 sts 0x21FB, r1 ; 0x8021fb + 2c10: 10 92 fc 21 sts 0x21FC, r1 ; 0x8021fc } // Free buffer of OUT control endpoint to authorize next reception udd_control_out_clear_NACK0(); - 2bfe: e0 e1 ldi r30, 0x10 ; 16 - 2c00: f2 e2 ldi r31, 0x22 ; 34 - 2c02: 02 e0 ldi r16, 0x02 ; 2 - 2c04: 06 93 lac Z, r16 - 2c06: 05 c0 rjmp .+10 ; 0x2c12 <__vector_126+0x1aa> + 2c14: e0 e1 ldi r30, 0x10 ; 16 + 2c16: f2 e2 ldi r31, 0x22 ; 34 + 2c18: 02 e0 ldi r16, 0x02 ; 2 + 2c1a: 06 93 lac Z, r16 + 2c1c: 05 c0 rjmp .+10 ; 0x2c28 <__vector_126+0x1aa> // Check status on control endpoint if (ep == 0) { udd_ctrl_out_received(); goto udd_interrupt_tc_end; // Interrupt acked by control endpoint managed } if (ep == (0 | USB_EP_DIR_IN)) { - 2c08: 80 38 cpi r24, 0x80 ; 128 - 2c0a: 11 f4 brne .+4 ; 0x2c10 <__vector_126+0x1a8> + 2c1e: 80 38 cpi r24, 0x80 ; 128 + 2c20: 11 f4 brne .+4 ; 0x2c26 <__vector_126+0x1a8> udd_ctrl_in_sent(); - 2c0c: 37 d9 rcall .-3474 ; 0x1e7c + 2c22: 37 d9 rcall .-3474 ; 0x1e92 goto udd_interrupt_tc_end; // Interrupt acked by control endpoint managed - 2c0e: 01 c0 rjmp .+2 ; 0x2c12 <__vector_126+0x1aa> + 2c24: 01 c0 rjmp .+2 ; 0x2c28 <__vector_126+0x1aa> } Assert(udd_ep_is_valid(ep)); // Manage end of transfer on endpoint bulk/interrupt/isochronous udd_ep_trans_complet(ep); - 2c10: 51 da rcall .-2910 ; 0x20b4 + 2c26: 51 da rcall .-2910 ; 0x20ca } #endif udd_interrupt_tc_end: return; } - 2c12: ff 91 pop r31 - 2c14: ef 91 pop r30 - 2c16: df 91 pop r29 - 2c18: cf 91 pop r28 - 2c1a: bf 91 pop r27 - 2c1c: af 91 pop r26 - 2c1e: 9f 91 pop r25 - 2c20: 8f 91 pop r24 - 2c22: 7f 91 pop r23 - 2c24: 6f 91 pop r22 - 2c26: 5f 91 pop r21 - 2c28: 4f 91 pop r20 - 2c2a: 3f 91 pop r19 - 2c2c: 2f 91 pop r18 - 2c2e: 1f 91 pop r17 - 2c30: 0f 91 pop r16 - 2c32: 0f 90 pop r0 - 2c34: 0f be out 0x3f, r0 ; 63 - 2c36: 0f 90 pop r0 - 2c38: 1f 90 pop r1 - 2c3a: 18 95 reti + 2c28: ff 91 pop r31 + 2c2a: ef 91 pop r30 + 2c2c: df 91 pop r29 + 2c2e: cf 91 pop r28 + 2c30: bf 91 pop r27 + 2c32: af 91 pop r26 + 2c34: 9f 91 pop r25 + 2c36: 8f 91 pop r24 + 2c38: 7f 91 pop r23 + 2c3a: 6f 91 pop r22 + 2c3c: 5f 91 pop r21 + 2c3e: 4f 91 pop r20 + 2c40: 3f 91 pop r19 + 2c42: 2f 91 pop r18 + 2c44: 1f 91 pop r17 + 2c46: 0f 91 pop r16 + 2c48: 0f 90 pop r0 + 2c4a: 0f be out 0x3f, r0 ; 63 + 2c4c: 0f 90 pop r0 + 2c4e: 1f 90 pop r1 + 2c50: 18 95 reti -00002c3c <__udivmodhi4>: - 2c3c: aa 1b sub r26, r26 - 2c3e: bb 1b sub r27, r27 - 2c40: 51 e1 ldi r21, 0x11 ; 17 - 2c42: 07 c0 rjmp .+14 ; 0x2c52 <__udivmodhi4_ep> +00002c52 <__udivmodhi4>: + 2c52: aa 1b sub r26, r26 + 2c54: bb 1b sub r27, r27 + 2c56: 51 e1 ldi r21, 0x11 ; 17 + 2c58: 07 c0 rjmp .+14 ; 0x2c68 <__udivmodhi4_ep> -00002c44 <__udivmodhi4_loop>: - 2c44: aa 1f adc r26, r26 - 2c46: bb 1f adc r27, r27 - 2c48: a6 17 cp r26, r22 - 2c4a: b7 07 cpc r27, r23 - 2c4c: 10 f0 brcs .+4 ; 0x2c52 <__udivmodhi4_ep> - 2c4e: a6 1b sub r26, r22 - 2c50: b7 0b sbc r27, r23 +00002c5a <__udivmodhi4_loop>: + 2c5a: aa 1f adc r26, r26 + 2c5c: bb 1f adc r27, r27 + 2c5e: a6 17 cp r26, r22 + 2c60: b7 07 cpc r27, r23 + 2c62: 10 f0 brcs .+4 ; 0x2c68 <__udivmodhi4_ep> + 2c64: a6 1b sub r26, r22 + 2c66: b7 0b sbc r27, r23 -00002c52 <__udivmodhi4_ep>: - 2c52: 88 1f adc r24, r24 - 2c54: 99 1f adc r25, r25 - 2c56: 5a 95 dec r21 - 2c58: a9 f7 brne .-22 ; 0x2c44 <__udivmodhi4_loop> - 2c5a: 80 95 com r24 - 2c5c: 90 95 com r25 - 2c5e: bc 01 movw r22, r24 - 2c60: cd 01 movw r24, r26 - 2c62: 08 95 ret +00002c68 <__udivmodhi4_ep>: + 2c68: 88 1f adc r24, r24 + 2c6a: 99 1f adc r25, r25 + 2c6c: 5a 95 dec r21 + 2c6e: a9 f7 brne .-22 ; 0x2c5a <__udivmodhi4_loop> + 2c70: 80 95 com r24 + 2c72: 90 95 com r25 + 2c74: bc 01 movw r22, r24 + 2c76: cd 01 movw r24, r26 + 2c78: 08 95 ret -00002c64 <__tablejump2__>: - 2c64: ee 0f add r30, r30 - 2c66: ff 1f adc r31, r31 - 2c68: 05 90 lpm r0, Z+ - 2c6a: f4 91 lpm r31, Z - 2c6c: e0 2d mov r30, r0 - 2c6e: 09 94 ijmp +00002c7a <__tablejump2__>: + 2c7a: ee 0f add r30, r30 + 2c7c: ff 1f adc r31, r31 + 2c7e: 05 90 lpm r0, Z+ + 2c80: f4 91 lpm r31, Z + 2c82: e0 2d mov r30, r0 + 2c84: 09 94 ijmp -00002c70 : - 2c70: fb 01 movw r30, r22 - 2c72: dc 01 movw r26, r24 - 2c74: 02 c0 rjmp .+4 ; 0x2c7a - 2c76: 01 90 ld r0, Z+ - 2c78: 0d 92 st X+, r0 - 2c7a: 41 50 subi r20, 0x01 ; 1 - 2c7c: 50 40 sbci r21, 0x00 ; 0 - 2c7e: d8 f7 brcc .-10 ; 0x2c76 - 2c80: 08 95 ret +00002c86 : + 2c86: fb 01 movw r30, r22 + 2c88: dc 01 movw r26, r24 + 2c8a: 02 c0 rjmp .+4 ; 0x2c90 + 2c8c: 01 90 ld r0, Z+ + 2c8e: 0d 92 st X+, r0 + 2c90: 41 50 subi r20, 0x01 ; 1 + 2c92: 50 40 sbci r21, 0x00 ; 0 + 2c94: d8 f7 brcc .-10 ; 0x2c8c + 2c96: 08 95 ret -00002c82 <_exit>: - 2c82: f8 94 cli +00002c98 <_exit>: + 2c98: f8 94 cli -00002c84 <__stop_program>: - 2c84: ff cf rjmp .-2 ; 0x2c84 <__stop_program> +00002c9a <__stop_program>: + 2c9a: ff cf rjmp .-2 ; 0x2c9a <__stop_program> diff --git a/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.map b/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.map index 79000bec..ee7f6ee3 100644 --- a/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.map +++ b/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.map @@ -364,7 +364,7 @@ Discarded input sections .debug_macro 0x00000000 0x16 src/main.o .debug_macro 0x00000000 0x1c src/main.o .debug_macro 0x00000000 0x7b src/main.o - .debug_macro 0x00000000 0x58 src/main.o + .debug_macro 0x00000000 0x52 src/main.o .group 0x00000000 0x8 src/tiny_adc.o .group 0x00000000 0x8 src/tiny_adc.o .group 0x00000000 0x8 src/tiny_adc.o @@ -474,7 +474,7 @@ Discarded input sections .debug_macro 0x00000000 0x16 src/tiny_adc.o .debug_macro 0x00000000 0x1c src/tiny_adc.o .debug_macro 0x00000000 0x7b src/tiny_adc.o - .debug_macro 0x00000000 0x58 src/tiny_adc.o + .debug_macro 0x00000000 0x52 src/tiny_adc.o .group 0x00000000 0x8 src/tiny_dac.o .group 0x00000000 0x8 src/tiny_dac.o .group 0x00000000 0x8 src/tiny_dac.o @@ -690,7 +690,7 @@ Discarded input sections .debug_macro 0x00000000 0x16 src/tiny_dma.o .debug_macro 0x00000000 0x1c src/tiny_dma.o .debug_macro 0x00000000 0x7b src/tiny_dma.o - .debug_macro 0x00000000 0x58 src/tiny_dma.o + .debug_macro 0x00000000 0x52 src/tiny_dma.o .group 0x00000000 0x8 src/tiny_timer.o .group 0x00000000 0x8 src/tiny_timer.o .group 0x00000000 0x8 src/tiny_timer.o @@ -799,7 +799,7 @@ Discarded input sections .debug_macro 0x00000000 0x58 src/tiny_timer.o .debug_macro 0x00000000 0x10 src/tiny_timer.o .debug_macro 0x00000000 0xf2 src/tiny_timer.o - .debug_macro 0x00000000 0x58 src/tiny_timer.o + .debug_macro 0x00000000 0x52 src/tiny_timer.o .group 0x00000000 0x8 src/tiny_uart.o .group 0x00000000 0x8 src/tiny_uart.o .group 0x00000000 0x8 src/tiny_uart.o @@ -908,7 +908,7 @@ Discarded input sections .debug_macro 0x00000000 0x58 src/tiny_uart.o .debug_macro 0x00000000 0x10 src/tiny_uart.o .debug_macro 0x00000000 0xf2 src/tiny_uart.o - .debug_macro 0x00000000 0x58 src/tiny_uart.o + .debug_macro 0x00000000 0x52 src/tiny_uart.o .group 0x00000000 0x8 src/ASF/common/services/usb/class/vendor/device/example/atxmega256a3bu_xmega_a3bu_xplained/ui.o .group 0x00000000 0x8 src/ASF/common/services/usb/class/vendor/device/example/atxmega256a3bu_xmega_a3bu_xplained/ui.o .group 0x00000000 0x8 src/ASF/common/services/usb/class/vendor/device/example/atxmega256a3bu_xmega_a3bu_xplained/ui.o @@ -1443,7 +1443,7 @@ Discarded input sections .debug_macro 0x00000000 0x16 src/ASF/common/services/usb/udc/udc.o .debug_macro 0x00000000 0x1c src/ASF/common/services/usb/udc/udc.o .debug_macro 0x00000000 0x7b src/ASF/common/services/usb/udc/udc.o - .debug_macro 0x00000000 0x58 src/ASF/common/services/usb/udc/udc.o + .debug_macro 0x00000000 0x52 src/ASF/common/services/usb/udc/udc.o .debug_macro 0x00000000 0x58 src/ASF/common/services/usb/udc/udc.o .debug_macro 0x00000000 0x10 src/ASF/common/services/usb/udc/udc.o .debug_macro 0x00000000 0xf2 src/ASF/common/services/usb/udc/udc.o @@ -1926,7 +1926,7 @@ END GROUP .rela.plt *(.rela.plt) -.text 0x00000000 0x2c86 +.text 0x00000000 0x2c9c *(.vectors) .vectors 0x00000000 0x1fc C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/XMEGAA_DFP/1.0.39/gcc/dev/atxmega32a4u/avrxmega2/crtatxmega32a4u.o 0x00000000 __vector_default @@ -2154,234 +2154,234 @@ END GROUP 0x00000404 0x4 src/main.o 0x00000404 main_setup_in_received .text.tiny_adc_ch0setup - 0x00000408 0x1e src/tiny_adc.o + 0x00000408 0x2a src/tiny_adc.o 0x00000408 tiny_adc_ch0setup .text.tiny_adc_ch1setup - 0x00000426 0x14 src/tiny_adc.o - 0x00000426 tiny_adc_ch1setup + 0x00000432 0x14 src/tiny_adc.o + 0x00000432 tiny_adc_ch1setup .text.tiny_adc_pid_setup - 0x0000043a 0x14 src/tiny_adc.o - 0x0000043a tiny_adc_pid_setup + 0x00000446 0x14 src/tiny_adc.o + 0x00000446 tiny_adc_pid_setup .text.ReadCalibrationByte - 0x0000044e 0x12 src/tiny_adc.o - 0x0000044e ReadCalibrationByte + 0x0000045a 0x12 src/tiny_adc.o + 0x0000045a ReadCalibrationByte .text.tiny_adc_setup - 0x00000460 0x7a src/tiny_adc.o - 0x00000460 tiny_adc_setup + 0x0000046c 0x7a src/tiny_adc.o + 0x0000046c tiny_adc_setup .text.tiny_dac_setup - 0x000004da 0x48 src/tiny_dac.o - 0x000004da tiny_dac_setup + 0x000004e6 0x48 src/tiny_dac.o + 0x000004e6 tiny_dac_setup .text.tiny_dma_setup - 0x00000522 0x12 src/tiny_dma.o - 0x00000522 tiny_dma_setup + 0x0000052e 0x12 src/tiny_dma.o + 0x0000052e tiny_dma_setup .text.tiny_dma_flush - 0x00000534 0x20 src/tiny_dma.o - 0x00000534 tiny_dma_flush + 0x00000540 0x20 src/tiny_dma.o + 0x00000540 tiny_dma_flush .text.tiny_dma_set_mode_0 - 0x00000554 0xe6 src/tiny_dma.o - 0x00000554 tiny_dma_set_mode_0 + 0x00000560 0xe6 src/tiny_dma.o + 0x00000560 tiny_dma_set_mode_0 .text.tiny_dma_loop_mode_0 - 0x0000063a 0x2 src/tiny_dma.o - 0x0000063a tiny_dma_loop_mode_0 + 0x00000646 0x2 src/tiny_dma.o + 0x00000646 tiny_dma_loop_mode_0 .text.tiny_dma_set_mode_1 - 0x0000063c 0xf0 src/tiny_dma.o - 0x0000063c tiny_dma_set_mode_1 + 0x00000648 0xf0 src/tiny_dma.o + 0x00000648 tiny_dma_set_mode_1 .text.tiny_dma_loop_mode_1 - 0x0000072c 0x2 src/tiny_dma.o - 0x0000072c tiny_dma_loop_mode_1 + 0x00000738 0x2 src/tiny_dma.o + 0x00000738 tiny_dma_loop_mode_1 .text.tiny_dma_set_mode_2 - 0x0000072e 0xe6 src/tiny_dma.o - 0x0000072e tiny_dma_set_mode_2 + 0x0000073a 0xe6 src/tiny_dma.o + 0x0000073a tiny_dma_set_mode_2 .text.tiny_dma_loop_mode_2 - 0x00000814 0x2 src/tiny_dma.o - 0x00000814 tiny_dma_loop_mode_2 + 0x00000820 0x2 src/tiny_dma.o + 0x00000820 tiny_dma_loop_mode_2 .text.tiny_dma_set_mode_3 - 0x00000816 0xf8 src/tiny_dma.o - 0x00000816 tiny_dma_set_mode_3 + 0x00000822 0xf8 src/tiny_dma.o + 0x00000822 tiny_dma_set_mode_3 .text.tiny_dma_loop_mode_3 - 0x0000090e 0x2 src/tiny_dma.o - 0x0000090e tiny_dma_loop_mode_3 + 0x0000091a 0x2 src/tiny_dma.o + 0x0000091a tiny_dma_loop_mode_3 .text.tiny_dma_set_mode_4 - 0x00000910 0xec src/tiny_dma.o - 0x00000910 tiny_dma_set_mode_4 + 0x0000091c 0xec src/tiny_dma.o + 0x0000091c tiny_dma_set_mode_4 .text.tiny_dma_loop_mode_4 - 0x000009fc 0x2 src/tiny_dma.o - 0x000009fc tiny_dma_loop_mode_4 + 0x00000a08 0x2 src/tiny_dma.o + 0x00000a08 tiny_dma_loop_mode_4 .text.tiny_dma_set_mode_5 - 0x000009fe 0x90 src/tiny_dma.o - 0x000009fe tiny_dma_set_mode_5 + 0x00000a0a 0x90 src/tiny_dma.o + 0x00000a0a tiny_dma_set_mode_5 .text.tiny_dma_set_mode_6 - 0x00000a8e 0xc4 src/tiny_dma.o - 0x00000a8e tiny_dma_set_mode_6 + 0x00000a9a 0xc4 src/tiny_dma.o + 0x00000a9a tiny_dma_set_mode_6 .text.tiny_dma_loop_mode_6 - 0x00000b52 0x2 src/tiny_dma.o - 0x00000b52 tiny_dma_loop_mode_6 + 0x00000b5e 0x2 src/tiny_dma.o + 0x00000b5e tiny_dma_loop_mode_6 .text.tiny_dma_set_mode_7 - 0x00000b54 0xc4 src/tiny_dma.o - 0x00000b54 tiny_dma_set_mode_7 + 0x00000b60 0xc4 src/tiny_dma.o + 0x00000b60 tiny_dma_set_mode_7 .text.tiny_dma_loop_mode_7 - 0x00000c18 0x2 src/tiny_dma.o - 0x00000c18 tiny_dma_loop_mode_7 + 0x00000c24 0x2 src/tiny_dma.o + 0x00000c24 tiny_dma_loop_mode_7 .text.__vector_6 - 0x00000c1a 0x270 src/tiny_dma.o - 0x00000c1a __vector_6 + 0x00000c26 0x270 src/tiny_dma.o + 0x00000c26 __vector_6 .text.__vector_7 - 0x00000e8a 0xde src/tiny_dma.o - 0x00000e8a __vector_7 + 0x00000e96 0xde src/tiny_dma.o + 0x00000e96 __vector_7 .text.__vector_9 - 0x00000f68 0x8a src/tiny_dma.o - 0x00000f68 __vector_9 + 0x00000f74 0x8a src/tiny_dma.o + 0x00000f74 __vector_9 .text.tiny_timer_setup - 0x00000ff2 0x76 src/tiny_timer.o - 0x00000ff2 tiny_timer_setup + 0x00000ffe 0x76 src/tiny_timer.o + 0x00000ffe tiny_timer_setup .text.__vector_83 - 0x00001068 0xee src/tiny_timer.o - 0x00001068 __vector_83 + 0x00001074 0xf4 src/tiny_timer.o + 0x00001074 __vector_83 .text.tiny_uart_setup - 0x00001156 0x30 src/tiny_uart.o - 0x00001156 tiny_uart_setup + 0x00001168 0x34 src/tiny_uart.o + 0x00001168 tiny_uart_setup .text.tiny_spi_setup - 0x00001186 0x1e src/tiny_uart.o - 0x00001186 tiny_spi_setup + 0x0000119c 0x1e src/tiny_uart.o + 0x0000119c tiny_spi_setup .text.__vector_24 - 0x000011a4 0x16 src/tiny_uart.o - 0x000011a4 __vector_24 + 0x000011ba 0x16 src/tiny_uart.o + 0x000011ba __vector_24 .text.sysclk_init - 0x000011ba 0xe0 src/ASF/common/services/clock/xmega/sysclk.o - 0x000011ba sysclk_init + 0x000011d0 0xe0 src/ASF/common/services/clock/xmega/sysclk.o + 0x000011d0 sysclk_init .text.sysclk_enable_module - 0x0000129a 0x18 src/ASF/common/services/clock/xmega/sysclk.o - 0x0000129a sysclk_enable_module + 0x000012b0 0x18 src/ASF/common/services/clock/xmega/sysclk.o + 0x000012b0 sysclk_enable_module .text.sysclk_enable_usb - 0x000012b2 0x6e src/ASF/common/services/clock/xmega/sysclk.o - 0x000012b2 sysclk_enable_usb + 0x000012c8 0x6e src/ASF/common/services/clock/xmega/sysclk.o + 0x000012c8 sysclk_enable_usb .text.udi_vendor_getsetting - 0x00001320 0x6 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x00001320 udi_vendor_getsetting + 0x00001336 0x6 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x00001336 udi_vendor_getsetting .text.udi_vendor_enable - 0x00001326 0x16 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x00001326 udi_vendor_enable + 0x0000133c 0x16 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x0000133c udi_vendor_enable .text.udi_vendor_disable - 0x0000133c 0xc src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x0000133c udi_vendor_disable + 0x00001352 0xc src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x00001352 udi_vendor_disable .text.udi_vendor_setup - 0x00001348 0x4c src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x00001348 udi_vendor_setup + 0x0000135e 0x4c src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x0000135e udi_vendor_setup .text.udi_vendor_iso_in_run - 0x00001394 0x18 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x00001394 udi_vendor_iso_in_run + 0x000013aa 0x18 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x000013aa udi_vendor_iso_in_run .text.udi_vendor_iso_in_run2 - 0x000013ac 0x18 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x000013ac udi_vendor_iso_in_run2 + 0x000013c2 0x18 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x000013c2 udi_vendor_iso_in_run2 .text.udi_vendor_iso_in_run3 - 0x000013c4 0x18 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x000013c4 udi_vendor_iso_in_run3 + 0x000013da 0x18 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x000013da udi_vendor_iso_in_run3 .text.udc_next_desc_in_iface - 0x000013dc 0x64 src/ASF/common/services/usb/udc/udc.o + 0x000013f2 0x64 src/ASF/common/services/usb/udc/udc.o .text.udc_valid_address - 0x00001440 0xc src/ASF/common/services/usb/udc/udc.o + 0x00001456 0xc src/ASF/common/services/usb/udc/udc.o .text.udc_update_iface_desc - 0x0000144c 0x74 src/ASF/common/services/usb/udc/udc.o + 0x00001462 0x74 src/ASF/common/services/usb/udc/udc.o .text.udc_iface_disable - 0x000014c0 0x84 src/ASF/common/services/usb/udc/udc.o + 0x000014d6 0x84 src/ASF/common/services/usb/udc/udc.o .text.udc_iface_enable - 0x00001544 0x64 src/ASF/common/services/usb/udc/udc.o + 0x0000155a 0x64 src/ASF/common/services/usb/udc/udc.o .text.udc_get_interface_desc - 0x000015a8 0xa src/ASF/common/services/usb/udc/udc.o - 0x000015a8 udc_get_interface_desc + 0x000015be 0xa src/ASF/common/services/usb/udc/udc.o + 0x000015be udc_get_interface_desc .text.udc_start - 0x000015b2 0x4 src/ASF/common/services/usb/udc/udc.o - 0x000015b2 udc_start + 0x000015c8 0x4 src/ASF/common/services/usb/udc/udc.o + 0x000015c8 udc_start .text.udc_reset - 0x000015b6 0x4a src/ASF/common/services/usb/udc/udc.o - 0x000015b6 udc_reset + 0x000015cc 0x4a src/ASF/common/services/usb/udc/udc.o + 0x000015cc udc_reset .text.udc_sof_notify - 0x00001600 0x60 src/ASF/common/services/usb/udc/udc.o - 0x00001600 udc_sof_notify + 0x00001616 0x60 src/ASF/common/services/usb/udc/udc.o + 0x00001616 udc_sof_notify .text.udc_process_setup - 0x00001660 0x714 src/ASF/common/services/usb/udc/udc.o - 0x00001660 udc_process_setup + 0x00001676 0x714 src/ASF/common/services/usb/udc/udc.o + 0x00001676 udc_process_setup .text.ccp_write_io - 0x00001d74 0xc src/ASF/xmega/drivers/cpu/ccp.o - 0x00001d74 ccp_write_io + 0x00001d8a 0xc src/ASF/xmega/drivers/cpu/ccp.o + 0x00001d8a ccp_write_io .text.nvm_read_byte - 0x00001d80 0x14 src/ASF/xmega/drivers/nvm/nvm_asm.o - 0x00001d80 nvm_read_byte + 0x00001d96 0x14 src/ASF/xmega/drivers/nvm/nvm_asm.o + 0x00001d96 nvm_read_byte .text.udd_sleep_mode - 0x00001d94 0x52 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001daa 0x52 src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_init - 0x00001de6 0x4e src/ASF/xmega/drivers/usb/usb_device.o + 0x00001dfc 0x4e src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_stall_data - 0x00001e34 0x1c src/ASF/xmega/drivers/usb/usb_device.o + 0x00001e4a 0x1c src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_send_zlp_in - 0x00001e50 0x1c src/ASF/xmega/drivers/usb/usb_device.o + 0x00001e66 0x1c src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_endofrequest - 0x00001e6c 0x10 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001e82 0x10 src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_in_sent - 0x00001e7c 0xd8 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001e92 0xd8 src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ep_get_size - 0x00001f54 0x4c src/ASF/xmega/drivers/usb/usb_device.o + 0x00001f6a 0x4c src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ep_get_job - 0x00001fa0 0x36 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001fb6 0x36 src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_interrupt_tc_setup - 0x00001fd6 0xde src/ASF/xmega/drivers/usb/usb_device.o + 0x00001fec 0xde src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ep_trans_complet - 0x000020b4 0x2b4 src/ASF/xmega/drivers/usb/usb_device.o + 0x000020ca 0x2b4 src/ASF/xmega/drivers/usb/usb_device.o .text.udd_attach - 0x00002368 0x46 src/ASF/xmega/drivers/usb/usb_device.o - 0x00002368 udd_attach + 0x0000237e 0x46 src/ASF/xmega/drivers/usb/usb_device.o + 0x0000237e udd_attach .text.udd_enable - 0x000023ae 0x10a src/ASF/xmega/drivers/usb/usb_device.o - 0x000023ae udd_enable + 0x000023c4 0x10a src/ASF/xmega/drivers/usb/usb_device.o + 0x000023c4 udd_enable .text.udd_set_address - 0x000024b8 0x6 src/ASF/xmega/drivers/usb/usb_device.o - 0x000024b8 udd_set_address + 0x000024ce 0x6 src/ASF/xmega/drivers/usb/usb_device.o + 0x000024ce udd_set_address .text.udd_getaddress - 0x000024be 0x6 src/ASF/xmega/drivers/usb/usb_device.o - 0x000024be udd_getaddress + 0x000024d4 0x6 src/ASF/xmega/drivers/usb/usb_device.o + 0x000024d4 udd_getaddress .text.udd_set_setup_payload - 0x000024c4 0xe src/ASF/xmega/drivers/usb/usb_device.o - 0x000024c4 udd_set_setup_payload + 0x000024da 0xe src/ASF/xmega/drivers/usb/usb_device.o + 0x000024da udd_set_setup_payload .text.udd_ep_alloc - 0x000024d2 0xea src/ASF/xmega/drivers/usb/usb_device.o - 0x000024d2 udd_ep_alloc + 0x000024e8 0xea src/ASF/xmega/drivers/usb/usb_device.o + 0x000024e8 udd_ep_alloc .text.udd_ep_is_halted - 0x000025bc 0x36 src/ASF/xmega/drivers/usb/usb_device.o - 0x000025bc udd_ep_is_halted + 0x000025d2 0x36 src/ASF/xmega/drivers/usb/usb_device.o + 0x000025d2 udd_ep_is_halted .text.udd_ep_clear_halt - 0x000025f2 0x6a src/ASF/xmega/drivers/usb/usb_device.o - 0x000025f2 udd_ep_clear_halt + 0x00002608 0x6a src/ASF/xmega/drivers/usb/usb_device.o + 0x00002608 udd_ep_clear_halt .text.udd_ep_run - 0x0000265c 0x174 src/ASF/xmega/drivers/usb/usb_device.o - 0x0000265c udd_ep_run + 0x00002672 0x174 src/ASF/xmega/drivers/usb/usb_device.o + 0x00002672 udd_ep_run .text.udd_ep_abort - 0x000027d0 0x92 src/ASF/xmega/drivers/usb/usb_device.o - 0x000027d0 udd_ep_abort + 0x000027e6 0x92 src/ASF/xmega/drivers/usb/usb_device.o + 0x000027e6 udd_ep_abort .text.udd_ep_free - 0x00002862 0x38 src/ASF/xmega/drivers/usb/usb_device.o - 0x00002862 udd_ep_free + 0x00002878 0x38 src/ASF/xmega/drivers/usb/usb_device.o + 0x00002878 udd_ep_free .text.udd_ep_set_halt - 0x0000289a 0x5a src/ASF/xmega/drivers/usb/usb_device.o - 0x0000289a udd_ep_set_halt + 0x000028b0 0x5a src/ASF/xmega/drivers/usb/usb_device.o + 0x000028b0 udd_ep_set_halt .text.__vector_125 - 0x000028f4 0x174 src/ASF/xmega/drivers/usb/usb_device.o - 0x000028f4 __vector_125 + 0x0000290a 0x174 src/ASF/xmega/drivers/usb/usb_device.o + 0x0000290a __vector_125 .text.__vector_126 - 0x00002a68 0x1d4 src/ASF/xmega/drivers/usb/usb_device.o - 0x00002a68 __vector_126 + 0x00002a7e 0x1d4 src/ASF/xmega/drivers/usb/usb_device.o + 0x00002a7e __vector_126 .text.libgcc.div - 0x00002c3c 0x28 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_udivmodhi4.o) - 0x00002c3c __udivmodhi4 - .text.libgcc 0x00002c64 0xc c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_tablejump2.o) - 0x00002c64 __tablejump2__ + 0x00002c52 0x28 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_udivmodhi4.o) + 0x00002c52 __udivmodhi4 + .text.libgcc 0x00002c7a 0xc c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_tablejump2.o) + 0x00002c7a __tablejump2__ .text.avr-libc - 0x00002c70 0x12 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/../../../../avr/lib/avrxmega2\libc.a(memcpy.o) - 0x00002c70 memcpy - 0x00002c82 . = ALIGN (0x2) + 0x00002c86 0x12 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/../../../../avr/lib/avrxmega2\libc.a(memcpy.o) + 0x00002c86 memcpy + 0x00002c98 . = ALIGN (0x2) *(.fini9) - .fini9 0x00002c82 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_exit.o) - 0x00002c82 _exit - 0x00002c82 exit + .fini9 0x00002c98 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_exit.o) + 0x00002c98 _exit + 0x00002c98 exit *(.fini9) *(.fini8) *(.fini8) @@ -2400,11 +2400,11 @@ END GROUP *(.fini1) *(.fini1) *(.fini0) - .fini0 0x00002c82 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_exit.o) + .fini0 0x00002c98 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_exit.o) *(.fini0) - 0x00002c86 _etext = . + 0x00002c9c _etext = . -.data 0x00802000 0xb2 load address 0x00002c86 +.data 0x00802000 0xb2 load address 0x00002c9c 0x00802000 PROVIDE (__data_start, .) *(.data) *(.data*) @@ -2512,8 +2512,8 @@ END GROUP COMMON 0x00802c46 0x6 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o 0x00802c46 sleepmgr_locks 0x00802c4c PROVIDE (__bss_end, .) - 0x00002c86 __data_load_start = LOADADDR (.data) - 0x00002d38 __data_load_end = (__data_load_start + SIZEOF (.data)) + 0x00002c9c __data_load_start = LOADADDR (.data) + 0x00002d4e __data_load_end = (__data_load_start + SIZEOF (.data)) .noinit 0x00802c4c 0x0 [!provide] PROVIDE (__noinit_start, .) @@ -2673,24 +2673,24 @@ END GROUP .debug_abbrev 0x0000156a 0x12 src/ASF/xmega/drivers/nvm/nvm_asm.o .debug_abbrev 0x0000157c 0x5d4 src/ASF/xmega/drivers/usb/usb_device.o -.debug_line 0x00000000 0x8af8 +.debug_line 0x00000000 0x8b18 *(.debug_line .debug_line.* .debug_line_end) .debug_line 0x00000000 0x7b8 src/tiny_dig.o .debug_line 0x000007b8 0x78d src/ASF/common/boards/user_board/init.o .debug_line 0x00000f45 0x9b4 src/main.o - .debug_line 0x000018f9 0x942 src/tiny_adc.o - .debug_line 0x0000223b 0x806 src/tiny_dac.o - .debug_line 0x00002a41 0x13f5 src/tiny_dma.o - .debug_line 0x00003e36 0x8bb src/tiny_timer.o - .debug_line 0x000046f1 0x839 src/tiny_uart.o - .debug_line 0x00004f2a 0x738 src/ASF/common/services/clock/xmega/sysclk.o - .debug_line 0x00005662 0x455 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o - .debug_line 0x00005ab7 0x625 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - .debug_line 0x000060dc 0x4f1 src/ASF/common/services/usb/class/vendor/device/udi_vendor_desc.o - .debug_line 0x000065cd 0xea8 src/ASF/common/services/usb/udc/udc.o - .debug_line 0x00007475 0x6e src/ASF/xmega/drivers/cpu/ccp.o - .debug_line 0x000074e3 0x11f src/ASF/xmega/drivers/nvm/nvm_asm.o - .debug_line 0x00007602 0x14f6 src/ASF/xmega/drivers/usb/usb_device.o + .debug_line 0x000018f9 0x956 src/tiny_adc.o + .debug_line 0x0000224f 0x806 src/tiny_dac.o + .debug_line 0x00002a55 0x13f5 src/tiny_dma.o + .debug_line 0x00003e4a 0x8c1 src/tiny_timer.o + .debug_line 0x0000470b 0x83f src/tiny_uart.o + .debug_line 0x00004f4a 0x738 src/ASF/common/services/clock/xmega/sysclk.o + .debug_line 0x00005682 0x455 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o + .debug_line 0x00005ad7 0x625 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + .debug_line 0x000060fc 0x4f1 src/ASF/common/services/usb/class/vendor/device/udi_vendor_desc.o + .debug_line 0x000065ed 0xea8 src/ASF/common/services/usb/udc/udc.o + .debug_line 0x00007495 0x6e src/ASF/xmega/drivers/cpu/ccp.o + .debug_line 0x00007503 0x11f src/ASF/xmega/drivers/nvm/nvm_asm.o + .debug_line 0x00007622 0x14f6 src/ASF/xmega/drivers/usb/usb_device.o .debug_frame 0x00000000 0xab4 *(.debug_frame) @@ -2707,49 +2707,49 @@ END GROUP .debug_frame 0x000005c8 0x114 src/ASF/common/services/usb/udc/udc.o .debug_frame 0x000006dc 0x3d8 src/ASF/xmega/drivers/usb/usb_device.o -.debug_str 0x00000000 0x2f65a +.debug_str 0x00000000 0x2f654 *(.debug_str) - .debug_str 0x00000000 0x27641 src/tiny_dig.o - 0x27cb4 (size before relaxing) - .debug_str 0x00027641 0x36 src/ASF/common/boards/user_board/init.o + .debug_str 0x00000000 0x2763b src/tiny_dig.o + 0x27cae (size before relaxing) + .debug_str 0x0002763b 0x36 src/ASF/common/boards/user_board/init.o 0x27adb (size before relaxing) - .debug_str 0x00027677 0x9c6 src/main.o - 0x28621 (size before relaxing) - .debug_str 0x0002803d 0xd0f src/tiny_adc.o - 0x28e8b (size before relaxing) - .debug_str 0x00028d4c 0x1a6 src/tiny_dac.o + .debug_str 0x00027671 0x9c6 src/main.o + 0x2861b (size before relaxing) + .debug_str 0x00028037 0xd0f src/tiny_adc.o + 0x28e85 (size before relaxing) + .debug_str 0x00028d46 0x1a6 src/tiny_dac.o 0x282d8 (size before relaxing) - .debug_str 0x00028ef2 0xcdd src/tiny_dma.o - 0x291b4 (size before relaxing) - .debug_str 0x00029bcf 0x1166 src/tiny_timer.o - 0x29582 (size before relaxing) - .debug_str 0x0002ad35 0x19d src/tiny_uart.o - 0x283bb (size before relaxing) - .debug_str 0x0002aed2 0x41c src/ASF/common/services/clock/xmega/sysclk.o + .debug_str 0x00028eec 0xcdd src/tiny_dma.o + 0x291ae (size before relaxing) + .debug_str 0x00029bc9 0x1166 src/tiny_timer.o + 0x2957c (size before relaxing) + .debug_str 0x0002ad2f 0x19d src/tiny_uart.o + 0x283b5 (size before relaxing) + .debug_str 0x0002aecc 0x41c src/ASF/common/services/clock/xmega/sysclk.o 0x2598f (size before relaxing) - .debug_str 0x0002b2ee 0x96 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o + .debug_str 0x0002b2e8 0x96 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o 0x24246 (size before relaxing) - .debug_str 0x0002b384 0x19f src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + .debug_str 0x0002b37e 0x19f src/ASF/common/services/usb/class/vendor/device/udi_vendor.o 0x26737 (size before relaxing) - .debug_str 0x0002b523 0x3f6 src/ASF/common/services/usb/class/vendor/device/udi_vendor_desc.o + .debug_str 0x0002b51d 0x3f6 src/ASF/common/services/usb/class/vendor/device/udi_vendor_desc.o 0x2673a (size before relaxing) - .debug_str 0x0002b919 0x7e5 src/ASF/common/services/usb/udc/udc.o - 0x29209 (size before relaxing) - .debug_str 0x0002c0fe 0x355c src/ASF/xmega/drivers/usb/usb_device.o + .debug_str 0x0002b913 0x7e5 src/ASF/common/services/usb/udc/udc.o + 0x29203 (size before relaxing) + .debug_str 0x0002c0f8 0x355c src/ASF/xmega/drivers/usb/usb_device.o 0x2b819 (size before relaxing) -.debug_loc 0x00000000 0x235f +.debug_loc 0x00000000 0x2378 *(.debug_loc) .debug_loc 0x00000000 0x138 src/main.o - .debug_loc 0x00000138 0x15d src/tiny_adc.o - .debug_loc 0x00000295 0x2f src/tiny_dac.o - .debug_loc 0x000002c4 0x24d src/tiny_dma.o - .debug_loc 0x00000511 0x11c src/tiny_timer.o - .debug_loc 0x0000062d 0x2f src/tiny_uart.o - .debug_loc 0x0000065c 0x320 src/ASF/common/services/clock/xmega/sysclk.o - .debug_loc 0x0000097c 0x344 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - .debug_loc 0x00000cc0 0x4d3 src/ASF/common/services/usb/udc/udc.o - .debug_loc 0x00001193 0x11cc src/ASF/xmega/drivers/usb/usb_device.o + .debug_loc 0x00000138 0x176 src/tiny_adc.o + .debug_loc 0x000002ae 0x2f src/tiny_dac.o + .debug_loc 0x000002dd 0x24d src/tiny_dma.o + .debug_loc 0x0000052a 0x11c src/tiny_timer.o + .debug_loc 0x00000646 0x2f src/tiny_uart.o + .debug_loc 0x00000675 0x320 src/ASF/common/services/clock/xmega/sysclk.o + .debug_loc 0x00000995 0x344 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + .debug_loc 0x00000cd9 0x4d3 src/ASF/common/services/usb/udc/udc.o + .debug_loc 0x000011ac 0x11cc src/ASF/xmega/drivers/usb/usb_device.o .debug_macinfo *(.debug_macinfo) @@ -2785,7 +2785,7 @@ END GROUP .debug_ranges 0x00000290 0x20 src/ASF/xmega/drivers/nvm/nvm_asm.o .debug_ranges 0x000002b0 0x140 src/ASF/xmega/drivers/usb/usb_device.o -.debug_macro 0x00000000 0xb8df +.debug_macro 0x00000000 0xb8d9 *(.debug_macro) .debug_macro 0x00000000 0x311 src/tiny_dig.o .debug_macro 0x00000311 0xa5a src/tiny_dig.o @@ -2837,28 +2837,28 @@ END GROUP .debug_macro 0x00008a72 0x16 src/tiny_dig.o .debug_macro 0x00008a88 0x1c src/tiny_dig.o .debug_macro 0x00008aa4 0x7b src/tiny_dig.o - .debug_macro 0x00008b1f 0x58 src/tiny_dig.o - .debug_macro 0x00008b77 0x2fe src/ASF/common/boards/user_board/init.o - .debug_macro 0x00008e75 0x368 src/main.o - .debug_macro 0x000091dd 0x58 src/main.o - .debug_macro 0x00009235 0x10 src/main.o - .debug_macro 0x00009245 0x97 src/main.o - .debug_macro 0x000092dc 0xf2 src/main.o - .debug_macro 0x000093ce 0xaa src/main.o - .debug_macro 0x00009478 0xef src/main.o - .debug_macro 0x00009567 0x34e src/tiny_adc.o - .debug_macro 0x000098b5 0x16 src/tiny_adc.o - .debug_macro 0x000098cb 0x33c src/tiny_dac.o - .debug_macro 0x00009c07 0x346 src/tiny_dma.o - .debug_macro 0x00009f4d 0x343 src/tiny_timer.o - .debug_macro 0x0000a290 0x337 src/tiny_uart.o - .debug_macro 0x0000a5c7 0x1e6 src/ASF/common/services/clock/xmega/sysclk.o - .debug_macro 0x0000a7ad 0x1a3 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o - .debug_macro 0x0000a950 0x22c src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - .debug_macro 0x0000ab7c 0x94 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - .debug_macro 0x0000ac10 0x20c src/ASF/common/services/usb/class/vendor/device/udi_vendor_desc.o - .debug_macro 0x0000ae1c 0x362 src/ASF/common/services/usb/udc/udc.o - .debug_macro 0x0000b17e 0x2f7 src/ASF/xmega/drivers/usb/usb_device.o - .debug_macro 0x0000b475 0x46a src/ASF/xmega/drivers/usb/usb_device.o + .debug_macro 0x00008b1f 0x52 src/tiny_dig.o + .debug_macro 0x00008b71 0x2fe src/ASF/common/boards/user_board/init.o + .debug_macro 0x00008e6f 0x368 src/main.o + .debug_macro 0x000091d7 0x58 src/main.o + .debug_macro 0x0000922f 0x10 src/main.o + .debug_macro 0x0000923f 0x97 src/main.o + .debug_macro 0x000092d6 0xf2 src/main.o + .debug_macro 0x000093c8 0xaa src/main.o + .debug_macro 0x00009472 0xef src/main.o + .debug_macro 0x00009561 0x34e src/tiny_adc.o + .debug_macro 0x000098af 0x16 src/tiny_adc.o + .debug_macro 0x000098c5 0x33c src/tiny_dac.o + .debug_macro 0x00009c01 0x346 src/tiny_dma.o + .debug_macro 0x00009f47 0x343 src/tiny_timer.o + .debug_macro 0x0000a28a 0x337 src/tiny_uart.o + .debug_macro 0x0000a5c1 0x1e6 src/ASF/common/services/clock/xmega/sysclk.o + .debug_macro 0x0000a7a7 0x1a3 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o + .debug_macro 0x0000a94a 0x22c src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + .debug_macro 0x0000ab76 0x94 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + .debug_macro 0x0000ac0a 0x20c src/ASF/common/services/usb/class/vendor/device/udi_vendor_desc.o + .debug_macro 0x0000ae16 0x362 src/ASF/common/services/usb/udc/udc.o + .debug_macro 0x0000b178 0x2f7 src/ASF/xmega/drivers/usb/usb_device.o + .debug_macro 0x0000b46f 0x46a src/ASF/xmega/drivers/usb/usb_device.o OUTPUT(USB_BULK_TEST.elf elf32-avr) LOAD linker stubs diff --git a/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.srec b/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.srec index b8f1c2ed..ed4fe475 100644 --- a/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.srec +++ b/AVR Code/USB_BULK_TEST/Debug/USB_BULK_TEST.srec @@ -1,11 +1,11 @@ S01500005553425F42554C4B5F544553542E73726563F9 S113000034C100004EC100004CC100004AC10000D0 -S113001048C1000046C1000000C6000036C7000009 -S113002040C10000A1C700003CC100003AC100006B +S113001048C1000046C1000006C600003CC70000FD +S113002040C10000A7C700003CC100003AC1000065 S113003038C1000036C1000034C1000032C10000E4 S113004030C100002EC100002CC100002AC10000F4 S113005028C1000026C1000024C1000022C1000004 -S11300600C94D2081EC100001CC100001AC100007B +S11300600C94DD081EC100001CC100001AC1000070 S113007018C1000016C1000014C1000012C1000024 S113008010C100000EC100000CC100000AC1000034 S113009008C1000006C1000004C1000002C1000044 @@ -19,7 +19,7 @@ S1130100D0C00000CEC00000CCC00000CAC00000B7 S1130110C8C00000C6C00000C4C00000C2C00000C7 S1130120C0C00000BEC00000BCC00000BAC00000D7 S1130130B8C00000B6C00000B4C00000B2C00000E7 -S1130140B0C00000AEC00000ACC000008DC700000D +S1130140B0C00000AEC00000ACC0000093C7000007 S1130150A8C00000A6C00000A4C00000A2C0000007 S1130160A0C000009EC000009CC000009AC0000017 S113017098C0000096C0000094C0000092C0000027 @@ -30,698 +30,699 @@ S11301B078C0000076C0000074C0000072C0000067 S11301C070C000006EC000006CC000006AC0000077 S11301D068C0000066C0000064C0000062C0000087 S11301E060C000005EC000005CC000005AC0000097 -S11301F058C000000C947A140C943415CE01D0012C -S1130200D201D401D601DB01D801DA012B06520652 -S11302107906A006C7063707EE061307590B5B0BD2 -S1130220990BD80BE10BE60B3B0C400C870B8A0BAC -S11302308D0B8F0B910B930B950B970BC50BC80B69 -S1130240CB0BCE0BD00BD20BD40BD60BF20BFD0B7E -S1130250080C170C1A0C1C0C260C300CB80FBB0F16 -S1130260BE0FC10FC40FC70FCA0F11241FBECFEF9B -S1130270CDBFDFE2DEBF10E2A0E0B0E2E6E8FCE2E0 +S11301F058C000000C9485140C943F15CE01D00116 +S1130200D201D401D601DB01D801DA013106580646 +S11302107F06A606CD063D07F4061907640B660B98 +S1130220A40BE30BEC0BF10B460C4B0C920B950B54 +S1130230980B9A0B9C0B9E0BA00BA20BD00BD30B11 +S1130240D60BD90BDB0BDD0BDF0BE10BFD0B080C25 +S1130250130C220C250C270C310C3B0CC30FC60FBE +S1130260C90FCC0FCF0FD20FD50F11241FBECFEF64 +S1130270CDBFDFE2DEBF10E2A0E0B0E2ECE9FCE2D9 S113028002C005900D92A23BB107D9F72CE2A2EB74 S1130290B0E201C01D92AC34B207E1F741D00C9436 -S11302A04116AECEE0E8F6E08FE0808385E08483FB +S11302A04C16AECEE0E8F6E08FE0808385E08483F0 S11302B0089508954091B3202EEE32E0429FC0018C S11302C0439F900D11244AE551E06AEF70E086598E -S11302D0994D0C94CA0908954091B3202EEE32E052 +S11302D0994D0C94D50908954091B3202EEE32E047 S11302E0429FC001439F900D11244CE651E06AEFF8 -S11302F070E08C59984D0C94D60908954091B32020 +S11302F070E08C59984D0C94E10908954091B32015 S11303002EEE32E0429FC001439F900D11244EE730 -S113031051E06AEF70E0825A974D0C94E209089517 -S113032087E08093A200789448D7C3DF0E94D90A5B -S1130330D4D0F7D060E080E093D07FD08CE073D04D -S113034058D609D720D7AEDF509156224091572274 +S113031051E06AEF70E0825A974D0C94ED0908950C +S113032087E08093A200789453D7C3DF0E94E40A45 +S1130330DAD0FDD060E080E099D085D08CE079D02F +S11303405ED612D72BD7AEDF50915622409157225A S11303503091582220915922852F942FA32FB22F08 S11303600196A11DB11D50E040E030E020E0813055 S113037061EE960765EFA60765E0B60788F3ECCF54 S113038008950895E09100208E2F90E08830910523 -S113039090F4FC01E250FF4F0C9432164ED10BC086 -S11303A0C5D109C037D207C0B2D205C027D303C014 -S11303B0D0D301C031D49091B52081E0911180E077 +S113039090F4FC01E250FF4F0C943D1654D10BC075 +S11303A0CBD109C03DD207C0B8D205C02DD303C0FC +S11303B0D6D301C037D49091B52081E0911180E06B S11303C08093B320089581E08093B6204AE551E0FC -S11303D06EEE72E08AE696E2DDD74CE651E06EEE10 -S11303E072E084E697E2E2D74EE751E06EEE72E007 -S11303F08EE598E2E7D781E008951092B62008953B +S11303D06EEE72E08AE696E2E8D74CE651E06EEE05 +S11303E072E084E697E2EDD74EE751E06EEE72E0FC +S11303F08EE598E2F2D781E008951092B620089530 S113040081E0089581E00895E0E0F2E010A2982FE1 -S11304109C71936890A3881F8827881F880F81A3E5 -S113042012A216A20895E0E0F2E010AA836880AB5D -S113043080E181AB12AA16AA0895E0E0F2E010A6CA -S113044083E880A78FE281A712A616A60895AAECD6 -S1130450B1E092E09C93E82FF0E084911C9208951F -S1130460CF93DF93E0E7F0E091819D7F9183109239 -S11304700002623031F1E0E0F2E09CE1918390E42B -S11304809283811102C080E401C080EC8093030256 -S1130490613011F083E001C082E0C0E0D2E08C83DF -S11304A080E2D5DF8C8781E2D2DF8D87188E198EAA -S11304B081E08883C2DF0EC080EC8093030283E076 -S11304C0ECCFE0E0F2E09EE1918390E4928381112D -S11304D0F3CFD9CFDF91CF910895CF93DF93E0E7A6 -S11304E0F0E082818B7F8283C0E2D3E08DE0888359 -S11304F080E4898389E08A8383E3A9DF888782E3B0 -S1130500A6DF898787E3A3DF8A8786E3A0DF8B875B -S1130510E0E2F6E08081836080831482DF91CF91F2 -S11305200895E0E7F0E080818E7F808380E8809307 -S113053000010895E0E0F1E0108A80E4808B10A2CD -S113054080A310AA80ABE0E4F1E0108280831092D3 -S1130550B520089510920020EDDFE0E0F1E016AA46 -S113056094E290AB11AA49E542AB32E033AB60911F -S113057002207091032064AB75AB6AE674E260AF4D -S113058071AF12AE8BE384AF83E080933D01109290 -S11305903E0120A9206820AB10924601A0E4B1E0FE -S11305A09C931092410140934201809343014091F6 -S11305B004205091052040934401509345014AE59D -S11305C052E2409348015093490110924A0129E3B1 -S11305D020934C0180934D0110924E012C91206880 -S11305E02C93108A20E4208B24E0208B818B81E9DA -S11305F0828B80E1838B47E751E0448B558B908F4E -S1130600318F128E4091B5202EEE32E0429FC00110 -S1130610439F900D11248659994D848F4091B520A4 -S1130620429FC001439F900D11248659994D958F87 -S1130630168E80898068808B08950895CF93DF9308 -S113064081E08093002076DFE0E0F1E010AA80E40E -S113065080AB94E090AB11AA12AA5BE453AB14AA4A -S113066015AA16AA21E030E220AF31AF12AE40EA5B -S113067044AF38E030933D0110923E0180A9806A76 -S113068080AB85E58093A00810924601A0E4B1E018 -S1130690C4E2CC931092410189E58093420182E047 -S11306A08093430160910220709103206093440180 -S11306B0709345016AE674E26093480170934901BE -S11306C010924A012BE320934C0163E060934D01A7 -S11306D010924E012C9120682C93908B618BA1E990 -S11306E0A28B20E1238B67E771E0648B758BC08F4D -S11306F0818F128ECAE6D6E2C48FD58F168E2089DA -S11307002068208B90A381A3A2A353A364A375A301 -S113071040A731A712A681EE97E284A795A716A653 -S113072080A1806880A3DF91CF9108950895CF932D -S1130730C2E0C0930020FEDEE0E0F1E016AA94E2FD -S113074090AB11AA39E532AB83E083AB409104202E -S11307505091052044AB55AB4AE552E240AF51AF4E -S113076012AE29E324AF80933D0110923E0120A9EB -S1130770206820AB10924601A0E4B1E09C93109253 -S1130780410130934201C0934301209102203091F2 -S1130790032020934401309345012AE634E2209358 -S11307A048013093490110924A012BE320934C01F4 -S11307B080934D0110924E012C9120682C9354E0AB -S11307C0508B818B41E9428B80E1838B27E731E0B9 -S11307D0248B358B908FC18F128E8AE696E2848F9C -S11307E0958F168E80898068808B50A3C1A342A305 -S11307F082E183A324A335A384E380A7C1A712A61F -S113080081EE97E284A795A716A680A1806880A3AD -S1130810CF9108950895CF93C3E0C09300208ADE5A -S1130820E0E0F1E010A250E450A344E040A311A2A0 -S113083012A23BE433A314A215A216A281E090E213 -S113084080A791A712A620EA24A798E095A716A648 -S113085080A1806A80A385E58093A00816AA74E22B -S113086070AB11AA69E562AB82E083ABA091022070 -S1130870B0910320A4ABB5ABAAE6B4E2A0AFB1AF8C -S113088012AE8BE384AFC0933D0110923E0180A968 -S1130890806880AB10924601A0E4B1E07C93109292 -S11308A0410160934201C09343016091042070911F -S11308B0052060934401709345016AE572E26093F8 -S11308C048017093490110924A0189E380934C01D5 -S11308D0C0934D0110924E018C9180688C93108AC4 -S11308E0508B408BC18B81E9828B338B47E751E07E -S11308F0448B558B208F918F128E8AE696E2848FDB -S1130900958F168E80898068808BCF910895089585 -S1130910CF93C4E0C09300200DDEE0E0F1E010A22C -S113092020E420A3C0A311A212A24BE443A314A267 -S113093015A216A281E090E280A791A712A670EA00 -S113094074A788E085A716A690A1906A90A316AA1A -S113095094E290AB11AA99E592AB92E093ABA0918B -S11309600220B0910320A4ABB5ABAAE6B4E2A0AFD9 -S1130970B1AF12AE9BE394AF93E090933D0110921C -S11309803E0130A9306830AB108A208BC08B918B2C -S113099061E9628B438B47E751E0448B558B708F41 -S11309A0818F128EAAE6B6E2A48FB58F168E308997 -S11309B03068308BE0E4F1E010822083C0839093B0 -S11309C04101609342019AE49093430140934401AE -S11309D05093450193EC9093480180934901109200 -S11309E04A0181EE97E280934C0190934D0110925D -S11309F04E01808180688083CF910895089585E0B9 -S1130A008093002097DDE0E0F1E016AA34E230ABF9 -S1130A1011AA29E522AB83E083AB409104205091D5 -S1130A20052044AB55AB4AE552E240AF51AF12AE9C -S1130A3099E394AF80933D0110923E0190A9906890 -S1130A4090AB10924601E0E4F1E030831092410152 -S1130A50209342018093430120910420309105208A -S1130A6020934401309345012AE634E2209348015F -S1130A703093490110924A019BE390934C01809377 -S1130A804D0110924E01808180688083089586E034 -S1130A90809300204FDDE0E0F1E016AA94E290ABF1 -S1130AA011AA39E532AB83E083AB40910420509125 -S1130AB0052044AB55AB4AE552E240AF51AF12AE0C -S1130AC029E324AF80933D0110923E0120A92068C0 -S1130AD020AB10924601A0E4B1E09C931092410136 -S1130AE03093420132E0309343014091022050910F -S1130AF0032040934401509345014AE654E2409355 -S1130B0048015093490110924A012BE320934C0170 -S1130B1080934D0110924E012C9120682C93108AE1 -S1130B2020E4208B24E0208B818B81E9828B80E17F -S1130B30838B4EEE52E0448B558B908F318F128E07 -S1130B408AE696E2848F958F168E80898068808BE2 -S1130B500895089587E080930020ECDCE0E0F1E064 -S1130B6016AA94E290AB11AA39E532AB83E083ABC9 -S1130B70409104205091052044AB55AB4AE552E224 -S1130B8040AF51AF12AE29E324AF80933D011092E0 -S1130B903E0120A9206820AB10924601A0E4B1E0F8 -S1130BA09C93109241013093420132E0309343010F -S1130BB040910220509103204093440150934501F9 -S1130BC04AE654E2409348015093490110924A0185 -S1130BD02BE320934C0180934D0110924E012C91F4 -S1130BE020682C93108A20E4208B25E0208B818BB5 -S1130BF081E9828B80E1838B4EEE52E0448B558BEE -S1130C00908F318F128E8AE696E2848F958F168E9E -S1130C1080898068808B089508951F920F920FB683 -S1130C200F9211242F933F934F938F939F93AF93DE -S1130C30BF93EF93FF9381E080930301E091002041 -S1130C408E2F90E08830910508F011C1FC01EA5F15 -S1130C50FE4F0C943216E0E0F1E087E791E0848BDC -S1130C60958B4091B5202EEE32E0429FC001439F08 -S1130C70900D11248659994D848F4091B520429F3F -S1130C80C001439F900D11248659994D958F8089F9 -S1130C908068808B9091B52081E0911180E08093F1 -S1130CA0B520E5C0E0E0F1E087E791E0848B958B27 -S1130CB04091B5202EEE32E0429FC001439F900D3B -S1130CC011248659994D848F4091B520429FC001CB -S1130CD0439F900D11248659994D958F8089806882 -S1130CE0808B9091B52081E0911180E08093B520B4 -S1130CF0BEC0E0E0F1E087E791E0848B958B409102 -S1130D00B5202EEE32E0429FC001439F900D112486 -S1130D108659994D848F4091B520429FC001439FCD -S1130D20900D11248659994D958F80898068808B08 -S1130D309091B52081E0911180E08093B52097C017 -S1130D40E0E0F1E087E791E0848B958B4091B5205A -S1130D502EEE32E0429FC001439F900D112486592C -S1130D60994D848F4091B520429FC001439F900DBF -S1130D7011248659994D958F80898068808B909134 -S1130D80B52081E0911180E08093B52070C0E0E04F -S1130D90F1E087E791E0848B958B4091B5202EEEAE -S1130DA032E0429FC001439F900D11248659994D12 -S1130DB0848F4091B520429FC001439F900D112420 -S1130DC08659994D958F80898068808B9091B52044 -S1130DD081E0911180E08093B52049C0E0E0F1E02A -S1130DE02EEE32E0248B358B4091B520429FC0011A -S1130DF0439F900D11248659994D848F4091B520BD -S1130E00429FC001439F900D11248659994D958F9F -S1130E1080898068808B9091B52081E0911180E079 -S1130E208093B52024C0E0E0F1E02EEE32E0248B84 -S1130E30358B4091B520429FC001439F900D1124F2 -S1130E408659994D848F4091B520429FC001439F9C -S1130E50900D11248659994D958F80898068808BD7 -S1130E609091B52081E0911180E08093B520FF91AD -S1130E70EF91BF91AF919F918F914F913F912F919E -S1130E800F900FBE0F901F9018951F920F920FB6E0 -S1130E900F9211242F933F934F938F939F93EF932C -S1130EA0FF9382E08093030180910020813019F048 -S1130EB0823041F14DC0E0E0F1E087E791E084A3A6 -S1130EC095A34091B4202EEE32E0429FC001439F8F -S1130ED0900D11248F51984D84A74091B420429FC6 -S1130EE0C001439F900D11248F51984D95A780A167 -S1130EF0806880A39091B42081E0911180E0809378 -S1130F00B42026C0E0E0F1E087E791E084A395A354 -S1130F104091B4202EEE32E0429FC001439F900DD9 -S1130F2011248F51984D84A74091B420429FC00151 -S1130F30439F900D11248F51984D95A780A18068EF -S1130F4080A39091B42081E0911180E08093B4203B -S1130F50FF91EF919F918F914F913F912F910F901E -S1130F600FBE0F901F9018951F920F920FB60F92FD -S1130F7011242F933F934F938F939F93EF93FF935A -S1130F8088E08093030187E791E080934401909384 -S1130F9045014091B4202EEE32E0429FC001439FB0 -S1130FA0900D11248F51984D80934C014091B420A1 -S1130FB0429FC001439F900D11248F51984D9093EF -S1130FC04D01E0E4F1E08081806880839091B42059 -S1130FD081E0911180E08093B420FF91EF919F9183 -S1130FE08F914F913F912F910F900FBE0F901F90B3 -S1130FF01895E0E7F0E083818C7F838384818C7F84 -S1131000848380818D7F8083E0E8F1E080EC8283BB -S1131010128688EC81831186E0E0F8E034E03083C6 -S113102023E02183148285ED91E086A397A31682A1 -S1131030E0E4F8E030832183148286A397A3168228 -S1131040E0E6F6E0808180618083E0E4F9E083E11A -S11310508183148281E0868328EB3BE026A337A3B7 -S113106010A611A6808308951F920F920FB60F92B7 -S113107011242F933F934F935F938F939F93EF93F9 -S1131080FF93CF93DF931F92CDB7DEB780910020FB -S1131090873031F4E0E0F2E084A5898395A502C0AD -S11310A090912C028091B220891B20916809309183 -S11310B0690991E082300CF490E09923C9F091E041 -S11310C0223B3B4008F090E0992391F0209168097D -S11310D03091690989301CF481E090E002C086E017 -S11310E090E0820F931F809378099093790923C02D -S11310F0209168093091690991E08F3F0CF090E0EC -S11311009923C9F091E02730310508F490E0992340 -S113111091F02091680930916909883F1CF081E0C1 -S113112090E002C086E090E0A901481B590B40936F -S11311307809509379090F90DF91CF91FF91EF9146 -S11311409F918F915F914F913F912F910F900FBE7F -S11311500F901F901895E0E7F0E083818F7E8383E2 -S1131160E0E4F6E080818A6480838FEF848388E5FD -S1131170828BE0EAF8E084EC858383E0868317823F -S113118088E184830895E0E7F0E08381877F8383A7 -S1131190E0ECF8E080E4808383E0818388E5809359 -S11311A0550608951F920F920FB60F921124000056 -S11311B00F900FBE0F901F9018950F931F93CF930E -S11311C0DF9300D000D0CDB7DEB78FEF80937000EF -S11311D080937100809372008093730080937400F5 -S11311E0809375008093760064E081E490E0C2D53A -S11311F06CE170E082E0C4D58A836DE170E082E046 -S1131200BFD5898389819A81019621F480E493E290 -S113121089839A8389819A818B839C83E0E6F0E0B9 -S113122082838C8183839FB7F894E0E5F0E080812A -S1131230826080839FBF818181FFFDCF9FB7F89437 -S113124000E510E0D80116968C911697897F1696C2 -S11312508C931697E0E6F0E080E885838BEB868339 -S113126016968C911697846016968C938081816073 -S113127080839FBF61E080E490E07CD59FB7F894C1 -S1131280F80180818E7F80839FBF2496CDBFDEBF0F -S1131290DF91CF911F910F9108959FB7F894E82F94 -S11312A0F0E0E059FF4F60958081682360839FBF21 -S11312B00895863011F060E001C068E1809151002A -S11312C081FD26C09FB7F894E0E5F0E0808182605C -S11312D080839FBF818181FFFDCF9FB7F894A0E5F4 -S11312E0B0E016968C911697897F16968C93169774 -S11312F0E0E6F0E080E885838BEB868316968C919C -S11313001697846016968C938081816080839FBF3A -S1131310636084E490E02ED560E480E0BECF08955D -S11313208091B720089540D1FC0183818093B72038 -S1131330811102C048C8089581E008958091B720C2 -S1131340813009F45AC8089580915A2488234CF4B2 -S113135080768034A9F480915B24811113C052C833 -S113136008958076803481F480915B2481110EC0CD -S11313708091602490916124892B51F041C8089593 -S113138080E0089580E0089580E0089580E0089565 -S113139080E008950F931F939B018A01AC0160E0E4 -S11313A081E80E942E131F910F9108950F931F93AC -S11313B09B018A01AC0160E082E80E942E131F9118 -S11313C00F9108950F931F939B018A01AC0160E074 -S11313D083E80E942E131F910F910895E091BC2081 -S11313E0F091BD200190F081E02D228133812E0FF8 -S11313F03F1FFC014081E40FF11DE217F307B8F42D -S113140081818430B9F0861309C005C0818184309C -S1131410A1F0861303C08E2F9F2F08958081E80FBB -S1131420F11DE217F30790F380E090E0089580E067 -S113143090E0089580E090E0089580E090E00895C1 -S113144080915C248F770C945C1208959091BE2057 -S1131450992381F1E091BC20F091BD200190F081AD -S1131460E02D9481891740F5E093BA20F093BB20D6 -S1131470228133812E0F3F1FE217F307F8F4918185 -S1131480943061F49281981309C09381961306C035 -S1131490E093BA20F093BB2081E008959081E90F96 -S11314A0F11DE217F30758F3E093BA20F093BB2041 -S11314B080E0089580E0089580E0089580E0089534 -S11314C0EF92FF921F93CF93DF93C82F60E0BEDFAC -S11314D0182F882381F1A091BC20B091BD20EC2F5E -S11314E0F0E0EE0FFF1F12968D919C911397E80F79 -S11314F0F91FE080F180D7011696ED91FC911797C2 -S11315000995682F8C2FA2DF182F8823A1F0C09192 -S1131510BA20D091BB2065E0CE0160DFEC01892BBD -S113152021F08A810E943114F6CFD7011296ED91F1 -S1131530FC9113970995812FDF91CF911F91FF9013 -S1131540EF9008951F93CF93DF93182F7FDF8823A5 -S113155039F1C091BA20D091BB2065E0CE013EDFC5 -S1131560EC01892B41F04C815D816B818A81B1D77B -S11315708111F3CF15C0A091BC20B091BD20E12F03 -S1131580F0E0EE0FFF1F12968D919C911397E80FD8 -S1131590F91F0190F081E02D0190F081E02D099573 -S11315A0DF91CF911F9108958091BA209091BB2033 -S11315B00895FDC60895CF938091BE208823C1F07D -S11315C0E091BC20F091BD200190F081E02D848158 -S11315D0882371F0C0E08C2F73DFCF5FE091BC20D3 -S11315E0F091BD200190F081E02D8481C81798F31B -S11315F01092BE201092C2201092C320CF91089561 -S1131600CF938091BE20882349F1A091BC20B09152 -S1131610BD20ED91FC91119784818823F9F0C0E0FD -S1131620EC2FF0E0EE0FFF1F12968D919C91139713 -S1131630E80FF91F0190F081E02D0084F185E02D81 -S1131640309709F00995CF5FA091BC20B091BD20DF -S1131650ED91FC9111978481C81710F3CF910895EF -S11316600F931F93CF93DF93EAE5F4E21286138678 -S11316701486158616861786808188233CF420916B -S1131680602430916124232B09F468C3807680346C -S113169009F006C1E0915B248E2F90E0FC01E05A32 -S11316A0F109E830F10508F0F2C0E25FFE4F0C9456 -S11316B03216000057C3E0E0F8E01082CAE5D4E235 -S11316C08A819B8186AB97AB8C818F7080836E817E -S11316D07F818AE592E2F6D68E819F812091042053 -S11316E0309105208217930709F43CC380930420AA -S11316F090930520E09100208E2F90E08830910592 -S113170008F0C7C0FC01EA5EFE4F0C9432160E943A -S1131710AA0228C30E941E0325C309D823C37BD869 -S113172021C3F6D81FC36BD91DC3B1D91BC312DAA9 -S113173019C3E0E4F8E01082CAE5D4E28A819B810F -S113174086AB97AB8C818F7080836E817F818AE6B4 -S113175094E2B8D68E819F8120910220309103209B -S11317608217930709F4FEC280930220909303200A -S1131770E09100208E2F90E08830910508F08BC016 -S1131780FC01E25EFE4F0C9432160E94AA02EAC2E9 -S11317900E941E03E7C20E949703E4C23CD8E2C23F -S11317A0B7D8E0C22CD9DEC272D9DCC2D3D9DAC22E -S11317B0109268091092690980915C248093B22088 -S11317C0D1C280915C2480932406CCC2E0915C2435 -S11317D0F0915D24E830F10508F05FC0EA5DFE4F4A -S11317E00C94321660E080E00E94300280915E2406 -S11317F00E9404020E94AA02B5C260E080E00E9436 -S1131800300280915E240E9404020E941E03AAC238 -S113181061E081E00E943002CAE5D4E28C810E943A -S113182004028D810E9413020E9497039BC20E94AE -S11318300B0498C26DD896C260E080E00E9430022A -S113184080915E240E940402DAD88CC261E080E0B8 -S11318500E94300280915E240E94040218D982C240 -S113186062E080E00E94300280915E2480680E94E1 -S1131870040270D977C280915C248093840672C27A -S1131880E9E7F0E091E088EDF89484BF908380E08C -S113189005C081E003C081E001C080E0811165C220 -S11318A080915A24982F907609F0E1C188230CF096 -S11318B005C120916024309161242115310509F47A -S11318C0D6C18F7109F0A3C090915B24963079F052 -S11318D0983009F492C091119AC02230310509F070 -S11318E0C6C162E070E082EC90E2ECD53DC280912A -S11318F05C2490915D24292F332722303105A9F0EF -S113190024F42130310541F0A9C123303105D9F146 -S11319102F30310551F1A2C18091102090911120F6 -S1131920DC016C9170E0CED559C0E0911020F091AB -S113193011202189821708F09AC19927880F991FCD -S1131940880F991FE0911220F0911320E80FF91FDE -S113195080819181FC0162817381B4D5E09162241C -S1131960F091632482E0818339C0809114209091A6 -S11319701520009709F47BC1DC0112966D917C91CE -S11319801397A0D52BC099278130910571F038F0B9 -S1131990029709F06CC18AE890E228E109C064E08A -S11319A070E08EEA90E28ED519C083EA90E229E0D5 -S11319B0382FAAE5B0E2E82FF92F819190E08D93BA -S11319C09D938E2F831B8217C0F3622F660F6E5F69 -S11319D06093582070E088E590E274D5EAE5F4E27B -S11319E086819781228533858217930708F0BCC1CD -S11319F08093642490936524B7C12130310509F0A4 -S1131A0036C161E070E08EEB90E25CD5ADC181300F -S1131A10E1F590915B249A30C1F52130310509F04C -S1131A2026C18091BE20882309F421C1C0915E247F -S1131A30D0915F240091BC201091BD20D801ED917C -S1131A40FC918481C81708F012C160E08C2FFEDC81 -S1131A50882309F40CC1CE019927880F991FD80156 -S1131A601296ED91FC911397E80FF91F0190F08104 -S1131A70E02D86819781FC0109958093C02061E067 -S1131A8070E080EC90E21ED56FC1823009F0EFC0A7 -S1131A9080915B248111E4C02230310509F0E7C054 -S1131AA080915E248BD590E08093B8209093B920E8 -S1131AB062E070E088EB90E205D556C18F7109F0C1 -S1131AC083C090915B24933009F4CCC018F4913016 -S1131AD0A1F07AC0953019F0993039F175C0809130 -S1131AE0602490916124892B09F0C1C080E29AE0BE -S1131AF0809366249093672437C1809160249091E9 -S1131B006124892B09F0B3C080915C2490915D24F9 -S1131B10019709F0ACC08091C2209091C3208D7FC1 -S1131B208093C2209093C3201FC180916024909120 -S1131B306124892B09F09BC0C2D4882309F497C07F -S1131B4020915C2430915D243327E0911020F091A2 -S1131B501120818990E08217930708F488C02BDD57 -S1131B6080915C2490915D248093BE20882309F4A5 -S1131B70FBC099278150904C880F991F880F991F9B -S1131B80E0911220F0911320E80FF91FE093BC209C -S1131B90F093BD200190F081E02D8481882309F425 -S1131BA0E3C0C0E060E08C2FCDDC882309F45FC083 -S1131BB0CF5FE091BC20F091BD200190F081E02D39 -S1131BC08481C81778F3D0C08130E1F490915B240C -S1131BD09B30C1F48091602490916124892B09F099 -S1131BE046C08091BE20882309F441C0EAE5F4E2AE -S1131BF0C481D2818C2F64DC8823C9F16D2F8C2F92 -S1131C00A1DC33C0823099F580915B24813019F0D6 -S1131C10833089F029C08091602490916124892BBC -S1131C2031F580915C2490915D24892B01F580919C -S1131C305E24DFD41AC08091602490916124892BA2 -S1131C40B1F480915C2490915D24892B81F4CAE5E0 -S1131C50D4E28C81BDD58C8120D607C080E005C03C -S1131C6080E003C080E001C080E081117EC08091EB -S1131C705A248F71813071F58091BE20882351F1EF -S1131C8000915E2410915F24C091BC20D091BD20AE -S1131C90E881F98184810817E8F460E0802FD6DBBD -S1131CA08823C1F0F801FF27CF01880F991FEA812B -S1131CB0FB81E80FF91FC081D181EE81FF81099575 -S1131CC0682F802FC3DB882329F0EC81FD810995DF -S1131CD081114BC080915A248F71823009F040C029 -S1131CE08091BE208823B1F1A091BC20B091BD2089 -S1131CF0ED91FC9111978481882371F1C0E0EC2F60 -S1131D00F0E0EE0FFF1F12968D919C911397E80F50 -S1131D10F91F00811181D8011696ED91FC91179756 -S1131D200995682F8C2F92DB8823F9F0D80114963B -S1131D30ED91FC9115970995811117C0CF5FA09182 -S1131D40BC20B091BD20ED91FC9111979481C917ED -S1131D50B0F20BC080E009C080E007C080E005C09D -S1131D6080E003C081E001C081E0DF91CF911F9149 -S1131D700F9108951BBEFC0128ED24BF60830895D4 -S1131D804091CA01E62FF72F8093CA0184914093B2 -S1131D90CA010895811122C0909154229923D9F047 -S1131DA09091472C911101C0FFCF2FB7F894E6E42E -S1131DB0FCE29181915091832FBF0DC09091472CEB -S1131DC09F3F09F4FFCF2FB7F894E6E4FCE291813A -S1131DD09F5F91832FBF8093542208959091542242 -S1131DE0992361F3F8CF0F93E8ECF4E080818F7DC1 -S1131DF0808380818F7D8083E8E1F2E202E00593B5 -S1131E0010921A2210921B2200E2069300E4069319 -S1131E10E0E1F2E200E2069300E40693EAE5F4E28C -S1131E201486158616861786128613861092FF214D -S1131E300F9108950F9385E08093FF21E9E1F2E289 -S1131E4004E00593E1E1F2E204E005930F910895C3 -S1131E500F9383E08093FF2110921A2210921B2289 -S1131E60E8E1F2E202E006930F910895E09166241E -S1131E70F0916724309709F0099508950F93CF9353 -S1131E80DF938091FF21833019F4F0DFACDF5EC073 -S1131E908091FB219091FC21C0916424D091652410 -S1131EA0C81BD90B71F52091FD213091FE21820FC1 -S1131EB0931F8093FD219093FE2120916024309103 -S1131EC061248217930721F08091C420882341F074 -S1131ED084E08093FF21E0E1F2E202E0069336C061 -S1131EE0E0916824F0916924309799F0099588234A -S1131EF081F01092FB211092FC21C0916424D091B6 -S1131F006524C034D10528F01092C420C0E4D0E088 -S1131F1003C081E08093C420E0E0F2E2C28FD38F5B -S1131F208091FB219091FC212091622430916324C3 -S1131F30280F391F248F358FC80FD91FC093FB2159 -S1131F40D093FC21E8E1F2E202E00693DF91CF9125 -S1131F500F910895FC018181E82FE7708E2F90E0A6 -S1131F60FC013197E730F105C0F4E25DFE4F7AC61B -S1131F7080E190E0089580E290E0089580E490E0AC -S1131F80089580E890E0089580E091E0089580E06D -S1131F9092E008958FEF93E0089588E090E008952B -S1131FA0282F2F7030E0220F331F082E000C990BBE -S1131FB08827990F881F9927820F931F02979C01E6 -S1131FC0220F331F220F331F220F331F820F931F41 -S1131FD08B579E4D08950F93CF938091CC0480FF2F -S1131FE062C081E08093CC04E0E1F2E200E8069371 -S1131FF0E8E1F2E200E806938093CA04E0E1F2E249 -S113200000E106938091FF21882329F083508230D8 -S113201008F42CDFE8DE80911222909113220897B5 -S113202009F043C088E0EBEBF1E2AAE5B4E20190E9 -S11320300D928A95E1F7E8ECF4E080818062808378 -S11320408081806280830CDBC82F811103C0F2DEA3 -S1132050C1E02CC080915A2488236CF41092FD2195 -S11320601092FE211092FB211092FC2182E08093B9 -S1132070FF2104DF1BC08091602490916124892B8F -S113208011F4E6DE13C01092FD211092FE2110928D -S1132090FB211092FC2181E08093FF21E0E1F2E238 -S11320A002E0069303C0C0E001C0C1E08C2FCF91D1 -S11320B00F9108958F929F92AF92BF92DF92EF9209 -S11320C0FF920F931F93CF93DF93D82E69DF8C0178 -S11320D0BD2CBB1CBB24BB1CCD2DCF70D0E0CC0FC2 -S11320E0DD1FCB0DD11DCE01880F991F880F991FBD -S11320F0880F991F9C01205F3D4D7901C9012ADF9A -S11321004C01BB2009F470C0FE01EE0FFF1FEE0F5F -S1132110FF1FEE0FFF1FE050FE4D26893789D801BF -S113212015968D919C911697820F931F15968D93FA -S11321309C93169713962D913C91149782179307AD -S113214009F43CC0281B390B2115B4E03B0738F0D7 -S11321502FEF33E0C901B40171D5281B390BF80105 -S1132160808181FF09C0C901B40168D541E0892B90 -S113217009F040E0842F01C080E0D8019C9180FBED -S113218091F99C93CC0FDD1FCC0FDD1FCC0FDD1F0D -S1132190C050DE4D1E8A1F8A2A8B3B8B11962D91CF -S11321A03C91129715968D919C911697820F931FCF -S11321B08C8B9D8BF70102E00693CAC0D8018C91E9 -S11321C081FFB3C08D7F8C93CC0FDD1FCC0FDD1F3F -S11321D0CC0FDD1FC050DE4D1E8A1F8A1A8A1B8A4F -S11321E0F70102E00693B4C0FE01EE0FFF1FEE0FED -S11321F0FF1FEE0FFF1FE050FE4DA288B388D801E9 -S11322008C9182FF19C01196ED91FC91129715964D -S11322102D913C91169713968D919C911497B4012E -S11322200DD5B0E4DB9EB00111246B577F4DAC019A -S1132230CF01820F931F1CD5F801258136812A0D09 -S11322403B1D25833683838194818217930768F429 -S113225085839683CC0FDD1FCC0FDD1FCC0FDD1FD4 -S1132260C050DE4D8E899F8960C0FE01EE0FFF1FB6 -S1132270EE0FFF1FEE0FFF1FE050FE4D46895789FA -S11322804A155B0509F051C02817390709F44DC0F8 -S1132290AC01421B530B9A01211554E0350750F051 -S11322A02FEF33E0C901B401C9D4D901A81BB90B7C -S11322B0CD0107C0C901B401C1D4F901E81BF90B70 -S11322C0CF01FE01EE0FFF1FEE0FFF1FEE0FFF1FEA -S11322D0E050FE4D128A138A8815990578F4D801C6 -S11322E08C9184608C93B0E4DB9EC00111248B57E5 -S11322F09F4D848B958B868A978A13C0F801418100 -S1132300528125813681240F351FCC0FDD1FCC0F60 -S1132310DD1FCC0FDD1FC050DE4D2C8B3D8B8E8B13 -S11323209F8BF70102E0069313C0D8018C9180FFC4 -S11323300FC08E7F8C931796ED91FC911897309770 -S113234039F015966D917C9116974D2D80E0099585 -S1132350DF91CF911F910F91FF90EF90DF90BF908D -S1132360AF909F908F900895CF93CFB7F89481E06A -S113237011DDEAECF4E080E4808380E28083E1EC28 -S1132380F4E0808181608083A9ECB4E08C91826068 -S11323908C93E8ECF4E08081806480838C9181608C -S11323A08C93808180688083CFBFCF910895CF9331 -S11323B0DF93C0E6D0E0188280E30E945909E0EC84 -S11323C0F4E080818064808381E08883CFB7F894CF -S11323D080E090E0FC01EE0FFF1FEE0FFF1FEE0FF9 -S11323E0FF1FE050FE4D118A01968830910591F748 -S11323F0E5E8F1E280818E7F8083EEE8F1E280817E -S11324008E7F8083E7E9F1E280818E7F8083E0EA3A -S1132410F1E280818E7F8083E9EAF1E280818E7F20 -S11324208083E2EBF1E280818E7F80836AE170E059 -S113243082E0A6DC8F3F19F08093FA0403C08FE199 -S11324408093FA046BE170E082E09ADC8F3F19F02C -S11324508093FB0403C08FE18093FB04E0ECF4E081 -S113246080818360808380818068808380818061B3 -S1132470808380E192E28683978380818062808377 -S11324808FEF8093C504E8ECF4E080818260808360 -S11324901092542280914B2C8F3F09F4FFCF9FB7A9 -S11324A0F894E6E4FCE285818F5F85839FBF5CDF5F -S11324B0CFBFDF91CF9108958093C3040895809195 -S11324C0C3040895EAE5F4E28087918762877387FD -S11324D00895282F2F7030E0220F331F082E000C90 -S11324E0990B8827990F881F9927820F931FFC0146 -S11324F0EE0FFF1FEE0FFF1FEE0FFF1FE050FE4D0C -S11325002189207C09F058C06370613011F018F4FF -S113251004C020EC03C020E801C020E44038510589 -S1132520E9F050F440325105A9F040345105A1F0CE -S113253040315105D9F40CC0411532E0530791F0F4 -S11325404F3F33E0530781F04115514079F408C0FF -S113255041E00DC042E00BC043E009C044E007C0C5 -S113256045E005C046E003C047E001C040E0FC018F -S1132570EE0FFF1FEE0FFF1FEE0FFF1FE050FE4D8B -S1132580118ADC01AA0FBB1FAA0FBB1FAA0FBB1F16 -S1132590A05FBD4D36E03C93242B218B880F991FFF -S11325A0880F991F880F991FFC01E050FE4D818907 -S11325B08062818B81E0089580E00895E82FEF70B8 -S11325C0F0E0EE0FFF1F082E000C990B8827990FDF -S11325D0881F9927E80FF91FEE0FFF1FEE0FFF1F4B -S11325E0EE0FFF1FE050FE4D818982FB882780F9A2 -S11325F00895282F2F7030E0A901440F551F282F6C -S1132600082E000C330B2227330F221F3327240FED -S1132610351FF901EE0FFF1FEE0FFF1FEE0FFF1F17 -S1132620E050FE4D918992FF17C0220F331F220FF5 -S1132630331F220F331FF901E050FE4D91899B7F18 -S1132640918BAEDCFC01808180FF06C08E7F80838D -S11326500780F085E02D099581E008957F928F929F -S11326609F92AF92BF92CF92DF92EF92FF920F931D -S11326701F93CF93DF93982E862E6A01790190DC05 -S11326805C01792C771C7724771CC92DCF70D0E09E -S1132690CC0FDD1FC70DD11DFE01EE0FFF1FEE0F86 -S11326A0FF1FEE0FFF1FE050FE4D8189807C09F46F -S11326B07DC0FE01EE0FFF1FEE0FFF1FEE0FFF1F89 -S11326C0E050FE4D8189807C803C61F0FE01EE0F7C -S11326D0FF1FEE0FFF1FEE0FFF1FE050FE4D81891D -S11326E082FD66C08FB7F894F501908190FF03C016 -S11326F08FBF712C5EC0F5019081916090838FBF74 -S1132700C182D282E382F482158216820783108703 -S1132710811006C091E0E114F10419F090E001C0C9 -S113272091E0F501808190FB81F98B7F8083772094 -S113273059F0CC0FDD1FCC0FDD1FCC0FDD1FC050B7 -S1132740DE4D1E8A1F8A2DC0FE01EE0FFF1FEE0F05 -S1132750FF1FEE0FFF1FE050FE4D8189807C803CFF -S1132760A1F4CE01880F991F880F991F880F991F14 -S1132770805F9D4DEFDBBC01C70160D2892B29F03E -S1132780F50180818E7F808314C0CC0FDD1FCC0FB8 -S1132790DD1FCC0FDD1FC050DE4D1A8A1B8A1E8A36 -S11327A01F8A892D87DC7724739403C0712C01C0A0 -S11327B0712C872DDF91CF911F910F91FF90EF9096 -S11327C0DF90CF90BF90AF909F908F907F900895AF -S11327D0FF920F931F93CF93DF93182FF82EFF1CB4 -S11327E0FF24FF1CC82FCF70D0E0CC0FDD1FCF0D0E -S11327F0D11DD6DBDC01FE01EE0FFF1FEE0FFF1F24 -S1132800EE0FFF1FE05FFD4D02E005938C9180FF0A -S113281022C08E7F8C931796ED91FC911897309778 -S1132820D1F0FF2059F0CC0FDD1FCC0FDD1FCC0FF2 -S1132830DD1FC050DE4D6E897F890AC0CC0FDD1FBD -S1132840CC0FDD1FCC0FDD1FC050DE4D6A897B89A4 -S1132850412F81E00995DF91CF911F910F91FF9056 -S11328600895CF93C82FB4DFEC2FEF70F0E0EE0F94 -S1132870FF1F8C2FCC0F990B8827990F881F99273E -S1132880E80FF91FEE0FFF1FEE0FFF1FEE0FFF1FE4 -S1132890E050FE4D118ACF9108950F93E82FEF7009 -S11328A0F0E0EE0FFF1F282F082E000C330B222719 -S11328B0330F221F3327E20FF31FDF01AA0FBB1FC1 -S11328C0AA0FBB1FAA0FBB1FA050BE4D51969C91CF -S11328D05197946051969C93EE0FFF1FEE0FFF1FCC -S11328E0EE0FFF1FE05FFD4D01E0069371DF81E015 -S11328F00F9108951F920F920FB60F9211240F9308 -S11329002F933F934F935F936F937F938F939F93F3 -S1132910AF93BF93EF93FF938091CB04882344F448 -S113292080E88093CA040E94000B0E94C2018AC0FE -S11329308091CB0482FF20C084E08093CA048091FC -S1132940182286FF7FC08091CC0481FD7BC043DBCD -S1132950811178C08091FF21813011F479DA72C03D -S1132960843009F06FC0E9E1F2E204E00593E1E1AB -S1132970F2E204E0059366C08091CB0481FF5DC060 -S113298082E08093CA048091102286FF5BC080910C -S1132990CC0481FD57C01FDB811154C08091FF21FD -S11329A0823041F484E08093FF21E0E1F2E202E02E -S11329B0069348C0833009F045C0E9E1F2E204E03F -S11329C00593E1E1F2E204E005933CC080E18093E9 -S11329D0CA0481E0FDDE81E8FBDE82E0F9DE82E804 -S11329E0F7DE0E94DB0A1092C304E0E0F2E2118AEF -S11329F096E0908B83E4818B118E908F818F8BEB8B -S1132A0091E2848B958BEFD91DC08091CB0486FF16 -S1132A1008C080E48093CA0480E0BCD90E94C0014D -S1132A2011C08091CB0485FF0DC080E28093CA045D -S1132A3081E0B0D90E94C10105C08091CB0484FD1E -S1132A40C5CFE3CFFF91EF91BF91AF919F918F914C -S1132A507F916F915F914F913F912F910F910F90C3 -S1132A600FBE0F901F9018951F920F920FB60F92E2 -S1132A7011240F931F932F933F934F935F936F935F -S1132A807F938F939F93AF93BF93CF93DF93EF93F2 -S1132A90FF938091CC0481FD03C09DDA8111B9C0FC -S1132AA082E08093CC048091C5048195880FE0E195 -S1132AB0F2E2E81BF109208131812051324236953E -S1132AC027953695279536952795822F869520FD4F -S1132AD002C090E001C090E8890FE82FEF70F0E0A9 -S1132AE0EE0FFF1F282F082E000C330B2227330F65 -S1132AF0221F3327E20FF31FDF01AA0FBB1FAA0F08 -S1132B00BB1FAA0FBB1FA05FBD4D9C9195FF81C049 -S1132B10FD0100E20693811177C08091FF2184308A -S1132B2019F4A4D960D975C000911222109113220E -S1132B308091642490916524C091FB21D091FC2163 -S1132B409E01200F311F8217930718F48C010C1B70 -S1132B501D0B8091622490916324A8016BEB71E2B8 -S1132B608C0F9D1F85D0C00FD11FC093FB21D09324 -S1132B70FC210034110569F48091FD219091FE211E -S1132B808C0F9D1F2091602430916124821793073C -S1132B9080F0EAE5F4E2C287D3870684F785E02D66 -S1132BA0309729F00995811102C044D932C050D917 -S1132BB030C08091642490916524C817D907F9F432 -S1132BC0E0916824F0916924309711F433D921C03D -S1132BD00995811102C02ED91CC02091FD2130918C -S1132BE0FE218091FB219091FC21820F931F809301 -S1132BF0FD219093FE211092FB211092FC21E0E133 -S1132C00F2E202E0069305C0803811F437D901C01E -S1132C1051DAFF91EF91DF91CF91BF91AF919F91E5 -S1132C208F917F916F915F914F913F912F911F9160 -S1132C300F910F900FBE0F901F901895AA1BBB1BEE -S1132C4051E107C0AA1FBB1FA617B70710F0A61BA8 -S1132C50B70B881F991F5A95A9F780959095BC01C9 -S1132C60CD010895EE0FFF1F0590F491E02D099416 -S1132C70FB01DC0102C001900D9241505040D8F795 -S1092C800895F894FFCF53 -S1132C86FF558000800093099E09A409900900005D -S1132C964420162000001C201A20062009022700C2 -S1132CA601010080FA0904000003FFFFFF00070585 -S1132CB68101000101070582010001010705830165 -S1132CC6000101001201000200000040EB0300A015 -S1132CD600020102000100000003000000000000E1 -S1132CE600000000000000000000000000000000DA -S1132CF600000000000000000000000000000000CA -S1132D0600000000000000000000555342476F62B7 -S1132D16696E6461722044756D6D792044657669C7 -S1132D266365005461706972546563680000040346 -S1052D3609048A +S11304109C71936890A388231CF490E182E002C04D +S113042090E080E0892BE0E0F2E081A312A216A222 +S11304300895E0E0F2E010AA836880AB80E181AB2C +S113044012AA16AA0895E0E0F2E010A683E880A7B5 +S11304508FE281A712A616A60895AAECB1E092E055 +S11304609C93E82FF0E084911C920895CF93DF933E +S1130470E0E7F0E091819D7F918310920002623069 +S113048031F1E0E0F2E09CE1918390E49283811108 +S113049002C080E401C080EC80930302613011F05B +S11304A083E001C082E0C0E0D2E08C8380E2D5DF4B +S11304B08C8781E2D2DF8D87188E198E81E0888344 +S11304C0C2DF0EC080EC8093030283E0ECCFE0E057 +S11304D0F2E09EE1918390E492838111F3CFD9CF2E +S11304E0DF91CF910895CF93DF93E0E7F0E082812D +S11304F08B7F8283C0E2D3E08DE0888380E48983AC +S113050089E08A8383E3A9DF888782E3A6DF89877A +S113051087E3A3DF8A8786E3A0DF8B87E0E2F6E048 +S11305208081836080831482DF91CF910895E0E716 +S1130530F0E080818E7F808380E8809300010895BD +S1130540E0E0F1E0108A80E4808B10A280A310AA7E +S113055080ABE0E4F1E0108280831092B52008952E +S113056010920020EDDFE0E0F1E016AA94E290ABF7 +S113057011AA49E542AB32E033AB6091022070919D +S1130580032064AB75AB6AE674E260AF71AF12AE80 +S11305908BE384AF83E080933D0110923E0120A958 +S11305A0206820AB10924601A0E4B1E09C93109225 +S11305B041014093420180934301409104205091B2 +S11305C0052040934401509345014AE552E240938B +S11305D048015093490110924A0129E320934C01A8 +S11305E080934D0110924E012C9120682C93108A17 +S11305F020E4208B24E0208B818B81E9828B80E1B5 +S1130600838B47E751E0448B558B908F318F128E4B +S11306104091B5202EEE32E0429FC001439F900DE1 +S113062011248659994D848F4091B520429FC00171 +S1130630439F900D11248659994D958F168E80896C +S11306408068808B08950895CF93DF9381E0809331 +S1130650002076DFE0E0F1E010AA80E480AB94E0D3 +S113066090AB11AA12AA5BE453AB14AA15AA16AA5A +S113067021E030E220AF31AF12AE40EA44AF38E0BF +S113068030933D0110923E0180A9806A80AB85E5DC +S11306908093A00810924601A0E4B1E0C4E2CC9398 +S11306A01092410189E58093420182E080934301E5 +S11306B0609102207091032060934401709345017E +S11306C06AE674E2609348017093490110924A010A +S11306D02BE320934C0163E060934D0110924E0193 +S11306E02C9120682C93908B618BA1E9A28B20E143 +S11306F0238B67E771E0648B758BC08F818F128EBB +S1130700CAE6D6E2C48FD58F168E20892068208B46 +S113071090A381A3A2A353A364A375A340A731A765 +S113072012A681EE97E284A795A716A680A18068F9 +S113073080A3DF91CF9108950895CF93C2E0C09331 +S11307400020FEDEE0E0F1E016AA94E290AB11AAEC +S113075039E532AB83E083AB40910420509105200E +S113076044AB55AB4AE552E240AF51AF12AE29E378 +S113077024AF80933D0110923E0120A9206820AB54 +S113078010924601A0E4B1E09C9310924101309391 +S11307904201C09343012091022030910320209311 +S11307A04401309345012AE634E220934801309312 +S11307B0490110924A012BE320934C0180934D018F +S11307C010924E012C9120682C9354E0508B818B15 +S11307D041E9428B80E1838B27E731E0248B358B21 +S11307E0908FC18F128E8AE696E2848F958F168E33 +S11307F080898068808B50A3C1A342A382E183A334 +S113080024A335A384E380A7C1A712A681EE97E2AF +S113081084A795A716A680A1806880A3CF91089588 +S11308200895CF93C3E0C09300208ADEE0E0F1E0B6 +S113083010A250E450A344E040A311A212A23BE44E +S113084033A314A215A216A281E090E280A791A777 +S113085012A620EA24A798E095A716A680A1806A8C +S113086080A385E58093A00816AA74E270AB11AA50 +S113087069E562AB82E083ABA0910220B0910320D2 +S1130880A4ABB5ABAAE6B4E2A0AFB1AF12AE8BE3B2 +S113089084AFC0933D0110923E0180A9806880AB73 +S11308A010924601A0E4B1E07C9310924101609360 +S11308B04201C0934301609104207091052060932C +S11308C04401709345016AE572E2609348017093B4 +S11308D0490110924A0189E380934C01C0934D0170 +S11308E010924E018C9180688C93108A508B408BAF +S11308F0C18B81E9828B338B47E751E0448B558B65 +S1130900208F918F128E8AE696E2848F958F168EB1 +S113091080898068808BCF9108950895CF93C4E037 +S1130920C09300200DDEE0E0F1E010A220E420A35B +S1130930C0A311A212A24BE443A314A215A216A2AF +S113094081E090E280A791A712A670EA74A788E0DC +S113095085A716A690A1906A90A316AA94E290ABDC +S113096011AA99E592AB92E093ABA0910220B091C9 +S11309700320A4ABB5ABAAE6B4E2A0AFB1AF12AE0C +S11309809BE394AF93E090933D0110923E0130A914 +S1130990306830AB108A208BC08B918B61E9628BFD +S11309A0438B47E751E0448B558B708F818F128EB8 +S11309B0AAE6B6E2A48FB58F168E30893068308BE4 +S11309C0E0E4F1E010822083C083909341016093BE +S11309D042019AE4909343014093440150934501AA +S11309E093EC909348018093490110924A0181EE5F +S11309F097E280934C0190934D0110924E018081B7 +S1130A0080688083CF910895089585E080930020C5 +S1130A1097DDE0E0F1E016AA34E230AB11AA29E553 +S1130A2022AB83E083AB409104205091052044AB7A +S1130A3055AB4AE552E240AF51AF12AE99E394AFE1 +S1130A4080933D0110923E0190A9906890AB109262 +S1130A504601E0E4F1E03083109241012093420129 +S1130A608093430120910420309105202093440178 +S1130A70309345012AE634E220934801309349013A +S1130A8010924A019BE390934C0180934D01109284 +S1130A904E01808180688083089586E080930020E1 +S1130AA04FDDE0E0F1E016AA94E290AB11AA39E53B +S1130AB032AB83E083AB409104205091052044ABDA +S1130AC055AB4AE552E240AF51AF12AE29E324AF31 +S1130AD080933D0110923E0120A9206820AB109222 +S1130AE04601A0E4B1E09C9310924101309342018D +S1130AF032E030934301409102205091032040930F +S1130B004401509345014AE654E24093480150930E +S1130B10490110924A012BE320934C0180934D012B +S1130B2010924E012C9120682C93108A20E4208B83 +S1130B3024E0208B818B81E9828B80E1838B4EEED4 +S1130B4052E0448B558B908F318F128E8AE696E259 +S1130B50848F958F168E80898068808B0895089580 +S1130B6087E080930020ECDCE0E0F1E016AA94E258 +S1130B7090AB11AA39E532AB83E083AB40910420FA +S1130B805091052044AB55AB4AE552E240AF51AF1A +S1130B9012AE29E324AF80933D0110923E0120A9B7 +S1130BA0206820AB10924601A0E4B1E09C9310921F +S1130BB041013093420132E03093430140910220DD +S1130BC05091032040934401509345014AE654E276 +S1130BD0409348015093490110924A012BE320931A +S1130BE04C0180934D0110924E012C9120682C935E +S1130BF0108A20E4208B25E0208B818B81E9828B75 +S1130C0080E1838B4EEE52E0448B558B908F318F75 +S1130C10128E8AE696E2848F958F168E808980687C +S1130C20808B089508951F920F920FB60F9211248E +S1130C302F933F934F938F939F93AF93BF93EF93D0 +S1130C40FF9381E080930301E09100208E2F90E0D8 +S1130C508830910508F011C1FC01EA5FFE4F0C9445 +S1130C603D16E0E0F1E087E791E0848B958B4091BD +S1130C70B5202EEE32E0429FC001439F900D112417 +S1130C808659994D848F4091B520429FC001439F5E +S1130C90900D11248659994D958F80898068808B99 +S1130CA09091B52081E0911180E08093B520E5C05A +S1130CB0E0E0F1E087E791E0848B958B4091B520EB +S1130CC02EEE32E0429FC001439F900D11248659BD +S1130CD0994D848F4091B520429FC001439F900D50 +S1130CE011248659994D958F80898068808B9091C5 +S1130CF0B52081E0911180E08093B520BEC0E0E092 +S1130D00F1E087E791E0848B958B4091B5202EEE3E +S1130D1032E0429FC001439F900D11248659994DA2 +S1130D20848F4091B520429FC001439F900D1124B0 +S1130D308659994D958F80898068808B9091B520D4 +S1130D4081E0911180E08093B52097C0E0E0F1E06C +S1130D5087E791E0848B958B4091B5202EEE32E0AD +S1130D60429FC001439F900D11248659994D848F51 +S1130D704091B520429FC001439F900D1124865994 +S1130D80994D958F80898068808B9091B52081E002 +S1130D90911180E08093B52070C0E0E0F1E087E736 +S1130DA091E0848B958B4091B5202EEE32E0429FEA +S1130DB0C001439F900D11248659994D848F409111 +S1130DC0B520429FC001439F900D11248659994D2F +S1130DD0958F80898068808B9091B52081E09111F6 +S1130DE080E08093B52049C0E0E0F1E02EEE32E0EF +S1130DF0248B358B4091B520429FC001439F900DB9 +S1130E0011248659994D848F4091B520429FC00189 +S1130E10439F900D11248659994D958F8089806840 +S1130E20808B9091B52081E0911180E08093B52072 +S1130E3024C0E0E0F1E02EEE32E0248B358B4091CB +S1130E40B520429FC001439F900D11248659994DAE +S1130E50848F4091B520429FC001439F900D11247F +S1130E608659994D958F80898068808B9091B520A3 +S1130E7081E0911180E08093B520FF91EF91BF91C3 +S1130E80AF919F918F914F913F912F910F900FBEF2 +S1130E900F901F9018951F920F920FB60F92112466 +S1130EA02F933F934F938F939F93EF93FF9382E0FE +S1130EB08093030180910020813019F0823041F148 +S1130EC04DC0E0E0F1E087E791E084A395A3409171 +S1130ED0B4202EEE32E0429FC001439F900D1124B6 +S1130EE08F51984D84A74091B420429FC001439FE5 +S1130EF0900D11248F51984D95A780A1806880A3EF +S1130F009091B42081E0911180E08093B42026C0B8 +S1130F10E0E0F1E087E791E084A395A34091B42059 +S1130F202EEE32E0429FC001439F900D11248F5159 +S1130F30984D84A74091B420429FC001439F900DD7 +S1130F4011248F51984D95A780A1806880A390911A +S1130F50B42081E0911180E08093B420FF91EF915F +S1130F609F918F914F913F912F910F900FBE0F90B2 +S1130F701F9018951F920F920FB60F9211242F9362 +S1130F803F934F938F939F93EF93FF9388E08093C6 +S1130F90030187E791E080934401909345014091D8 +S1130FA0B4202EEE32E0429FC001439F900D1124E5 +S1130FB08F51984D80934C014091B420429FC001C1 +S1130FC0439F900D11248F51984D90934D01E0E46F +S1130FD0F1E08081806880839091B42081E0911158 +S1130FE080E08093B420FF91EF919F918F914F9176 +S1130FF03F912F910F900FBE0F901F901895E0E72F +S1131000F0E083818C7F838384818C7F84838081DF +S11310108D7F8083E0E8F1E080EC8283128688ECA7 +S113102081831186E0E0F8E034E0308323E021831B +S1131030148285ED91E086A397A31682E0E4F8E09C +S113104030832183148286A397A31682E0E6F6E018 +S1131050808180618083E0E4F9E083E1818314820C +S113106081E0868328EB3BE026A337A310A611A6D4 +S1131070808308951F920F920FB60F9211242F931D +S11310803F934F935F938F939F93EF93FF93CF93EC +S1131090DF931F92CDB7DEB78FEF80934C09809119 +S11310A00020873031F4E0E0F2E084A5898395A53F +S11310B002C090912C028091B220891B2091680972 +S11310C03091690991E082300CF490E09923C9F0E1 +S11310D091E0223B3B4008F090E0992391F020916D +S11310E068093091690989301CF481E090E002C0FC +S11310F086E090E0820F931F80937809909379099A +S113110023C0209168093091690991E08F3F0CF068 +S113111090E09923C9F091E02730310508F490E07C +S1131120992391F02091680930916909883F1CF056 +S113113081E090E002C086E090E0A901481B590BD1 +S113114040937809509379090F90DF91CF91FF91E3 +S1131150EF919F918F915F914F913F912F910F90BC +S11311600FBE0F901F901895E0E7F0E083818F7E0B +S11311708383E0E4F6E080818A6480838FEF848354 +S113118088E5828B80E28687E0EAF8E084EC858358 +S113119083E08683178288E184830895E0E7F0E0A2 +S11311A08381877F8383E0ECF8E080E4808383E0BD +S11311B0818388E58093570608951F920F920FB696 +S11311C00F92112400000F900FBE0F901F901895DE +S11311D00F931F93CF93DF9300D000D0CDB7DEB72A +S11311E08FEF8093700080937100809372008093DE +S11311F0730080937400809375008093760064E09C +S113120081E490E0C2D56CE170E082E0C4D58A83C9 +S11312106DE170E082E0BFD5898389819A8101966E +S113122021F480E493E289839A8389819A818B8370 +S11312309C83E0E6F0E082838C8183839FB7F894FB +S1131240E0E5F0E08081826080839FBF818181FF3F +S1131250FDCF9FB7F89400E510E0D80116968C9165 +S11312601697897F16968C931697E0E6F0E080E84F +S113127085838BEB868316968C91169784601696DD +S11312808C938081816080839FBF61E080E490E0E3 +S11312907CD59FB7F894F80180818E7F80839FBFAF +S11312A02496CDBFDEBFDF91CF911F910F9108959A +S11312B09FB7F894E82FF0E0E059FF4F60958081E4 +S11312C0682360839FBF0895863011F060E001C0F9 +S11312D068E18091510081FD26C09FB7F894E0E554 +S11312E0F0E08081826080839FBF818181FFFDCF98 +S11312F09FB7F894A0E5B0E016968C911697897F75 +S113130016968C931697E0E6F0E080E885838BEBE5 +S1131310868316968C911697846016968C9380819A +S1131320816080839FBF636084E490E02ED560E495 +S113133080E0BECF08958091B720089540D1FC018C +S113134083818093B720811102C03DC8089581E054 +S113135008958091B720813009F44FC80895809191 +S11313605A2488234CF480768034A9F480915B2439 +S1131370811113C047C808958076803481F4809128 +S11313805B2481110EC08091602490916124892B8B +S113139051F036C8089580E0089580E0089580E013 +S11313A0089580E0089580E008950F931F939B01B2 +S11313B08A01AC0160E081E80E9439131F910F910A +S11313C008950F931F939B018A01AC0160E082E8AA +S11313D00E9439131F910F9108950F931F939B013E +S11313E08A01AC0160E083E80E9439131F910F91D8 +S11313F00895E091BC20F091BD200190F081E02D92 +S1131400228133812E0F3F1FFC014081E40FF11D27 +S1131410E217F307B8F481818430B9F0861309C068 +S113142005C081818430A1F0861303C08E2F9F2FC5 +S113143008958081E80FF11DE217F30790F380E02F +S113144090E0089580E090E0089580E090E00895B1 +S113145080E090E0089580915C248F770C9467126B +S113146008959091BE20992381F1E091BC20F091E0 +S1131470BD200190F081E02D9481891740F5E0931F +S1131480BA20F093BB20228133812E0F3F1FE21735 +S1131490F307F8F49181943061F49281981309C0B0 +S11314A09381961306C0E093BA20F093BB2081E0A9 +S11314B008959081E90FF11DE217F30758F3E093C3 +S11314C0BA20F093BB2080E0089580E0089580E086 +S11314D0089580E00895EF92FF921F93CF93DF93D6 +S11314E0C82F60E0BEDF182F882381F1A091BC20B3 +S11314F0B091BD20EC2FF0E0EE0FFF1F12968D91FE +S11315009C911397E80FF91FE080F180D70116969C +S1131510ED91FC9117970995682F8C2FA2DF182F56 +S11315208823A1F0C091BA20D091BB2065E0CE0100 +S113153060DFEC01892B21F08A810E943C14F6CFF4 +S1131540D7011296ED91FC9113970995812FDF91A4 +S1131550CF911F91FF90EF9008951F93CF93DF9346 +S1131560182F7FDF882339F1C091BA20D091BB2096 +S113157065E0CE013EDFEC01892B41F04C815D81B9 +S11315806B818A81B1D78111F3CF15C0A091BC20A2 +S1131590B091BD20E12FF0E0EE0FFF1F12968D9168 +S11315A09C911397E80FF91F0190F081E02D0190B1 +S11315B0F081E02D0995DF91CF911F9108958091DD +S11315C0BA209091BB200895FDC60895CF938091D1 +S11315D0BE208823C1F0E091BC20F091BD20019091 +S11315E0F081E02D8481882371F0C0E08C2F73DFBB +S11315F0CF5FE091BC20F091BD200190F081E02DFF +S11316008481C81798F31092BE201092C2201092C1 +S1131610C320CF910895CF938091BE20882349F1B0 +S1131620A091BC20B091BD20ED91FC9111978481D3 +S11316308823F9F0C0E0EC2FF0E0EE0FFF1F1296C4 +S11316408D919C911397E80FF91F0190F081E02D83 +S11316500084F185E02D309709F00995CF5FA091C2 +S1131660BC20B091BD20ED91FC9111978481C817E5 +S113167010F3CF9108950F931F93CF93DF93EAE56F +S1131680F4E21286138614861586168617868081E0 +S113169088233CF42091602430916124232B09F4A5 +S11316A068C38076803409F006C1E0915B248E2FF4 +S11316B090E0FC01E05AF109E830F10508F0F2C0CD +S11316C0E25FFE4F0C943D16000057C3E0E0F8E0E3 +S11316D01082CAE5D4E28A819B8186AB97AB8C8168 +S11316E08F7080836E817F818AE592E2F6D68E8147 +S11316F09F8120910420309105208217930709F4DB +S11317003CC38093042090930520E09100208E2F09 +S113171090E08830910508F0C7C0FC01EA5EFE4FF6 +S11317200C943D160E94B00228C30E94240325C3D2 +S113173004D823C376D821C3F1D81FC366D91DC3E7 +S1131740ACD91BC30DDA19C3E0E4F8E01082CAE592 +S1131750D4E28A819B8186AB97AB8C818F70808326 +S11317606E817F818AE694E2B8D68E819F81209132 +S11317700220309103208217930709F4FEC280935C +S1131780022090930320E09100208E2F90E0883077 +S1131790910508F08BC0FC01E25EFE4F0C943D16EF +S11317A00E94B002EAC20E942403E7C20E949D0381 +S11317B0E4C237D8E2C2B2D8E0C227D9DEC26DD9BA +S11317C0DCC2CED9DAC210926809109269098091FC +S11317D05C248093B220D1C280915C24809324063F +S11317E0CCC2E0915C24F0915D24E830F10508F06E +S11317F05FC0EA5DFE4F0C943D1660E080E00E94FD +S1131800360280915E240E9404020E94B002B5C296 +S113181060E080E00E94360280915E240E9404020F +S11318200E942403AAC261E081E00E943602CAE554 +S1131830D4E28C810E9404028D810E9419020E94CC +S11318409D039BC20E94110498C268D896C260E0AE +S113185080E00E94360280915E240E940402D5D862 +S11318608CC261E080E00E94360280915E240E9476 +S1131870040213D982C262E080E00E9436028091A1 +S11318805E2480680E9404026BD977C280915C2434 +S11318908093840672C2E9E7F0E091E088EDF89461 +S11318A084BF908380E005C081E003C081E001C073 +S11318B080E0811165C280915A24982F907609F0B6 +S11318C0E1C188230CF005C120916024309161248A +S11318D02115310509F4D6C18F7109F0A3C0909187 +S11318E05B24963079F0983009F492C091119AC033 +S11318F02230310509F0C6C162E070E082EC90E26A +S1131900ECD53DC280915C2490915D24292F33272E +S113191022303105A9F024F42130310541F0A9C168 +S113192023303105D9F12F30310551F1A2C1809115 +S1131930102090911120DC016C9170E0CED559C03B +S1131940E0911020F09111202189821708F09AC1AA +S11319509927880F991F880F991FE0911220F09101 +S11319601320E80FF91F80819181FC01628173814A +S1131970B4D5E0916224F091632482E0818339C07C +S11319808091142090911520009709F47BC1DC010B +S113199012966D917C911397A0D52BC09927813015 +S11319A0910571F038F0029709F06CC18AE890E271 +S11319B028E109C064E070E08EEA90E28ED519C097 +S11319C083EA90E229E0382FAAE5B0E2E82FF92F64 +S11319D0819190E08D939D938E2F831B8217C0F38A +S11319E0622F660F6E5F6093582070E088E590E286 +S11319F074D5EAE5F4E286819781228533858217DE +S1131A00930708F0BCC18093642490936524B7C104 +S1131A102130310509F036C161E070E08EEB90E2CF +S1131A205CD5ADC18130E1F590915B249A30C1F56C +S1131A302130310509F026C18091BE20882309F4A4 +S1131A4021C1C0915E24D0915F240091BC201091EB +S1131A50BD20D801ED91FC918481C81708F012C112 +S1131A6060E08C2FFEDC882309F40CC1CE01992799 +S1131A70880F991FD8011296ED91FC911397E80FE6 +S1131A80F91F0190F081E02D86819781FC01099571 +S1131A908093C02061E070E080EC90E21ED56FC1BD +S1131AA0823009F0EFC080915B248111E4C02230C0 +S1131AB0310509F0E7C080915E248BD590E08093D6 +S1131AC0B8209093B92062E070E088EB90E205D5ED +S1131AD056C18F7109F083C090915B24933009F44F +S1131AE0CCC018F49130A1F07AC0953019F0993037 +S1131AF039F175C08091602490916124892B09F09B +S1131B00C1C08BE29AE0809366249093672437C126 +S1131B108091602490916124892B09F0B3C0809155 +S1131B205C2490915D24019709F0ACC08091C2209F +S1131B309091C3208D7F8093C2209093C3201FC1B6 +S1131B408091602490916124892B09F09BC0C2D4B8 +S1131B50882309F497C020915C2430915D243327B5 +S1131B60E0911020F0911120818990E08217930771 +S1131B7008F488C02BDD80915C2490915D248093CF +S1131B80BE20882309F4FBC099278150904C880F0C +S1131B90991F880F991FE0911220F0911320E80FEC +S1131BA0F91FE093BC20F093BD200190F081E02D5B +S1131BB08481882309F4E3C0C0E060E08C2FCDDC8D +S1131BC0882309F45FC0CF5FE091BC20F091BD2071 +S1131BD00190F081E02D8481C81778F3D0C0813062 +S1131BE0E1F490915B249B30C1F480916024909146 +S1131BF06124892B09F046C08091BE20882309F412 +S1131C0041C0EAE5F4E2C481D2818C2F64DC8823EC +S1131C10C9F16D2F8C2FA1DC33C0823099F58091EE +S1131C205B24813019F0833089F029C080916024CD +S1131C3090916124892B31F580915C2490915D24ED +S1131C40892B01F580915E24DFD41AC08091602431 +S1131C5090916124892BB1F480915C2490915D244E +S1131C60892B81F4CAE5D4E28C81BDD58C8120D640 +S1131C7007C080E005C080E003C080E001C080E0D0 +S1131C8081117EC080915A248F71813071F58091C9 +S1131C90BE20882351F100915E2410915F24C091ED +S1131CA0BC20D091BD20E881F98184810817E8F433 +S1131CB060E0802FD6DB8823C1F0F801FF27CF0135 +S1131CC0880F991FEA81FB81E80FF91FC081D18138 +S1131CD0EE81FF810995682F802FC3DB882329F0CB +S1131CE0EC81FD81099581114BC080915A248F713B +S1131CF0823009F040C08091BE208823B1F1A091C8 +S1131D00BC20B091BD20ED91FC9111978481882372 +S1131D1071F1C0E0EC2FF0E0EE0FFF1F12968D91F1 +S1131D209C911397E80FF91F00811181D801169631 +S1131D30ED91FC9117970995682F8C2F92DB8823DE +S1131D40F9F0D8011496ED91FC911597099581113C +S1131D5017C0CF5FA091BC20B091BD20ED91FC9144 +S1131D6011979481C917B0F20BC080E009C080E0DC +S1131D7007C080E005C080E003C081E001C081E0CD +S1131D80DF91CF911F910F9108951BBEFC0128EDA7 +S1131D9024BF608308954091CA01E62FF72F8093F2 +S1131DA0CA0184914093CA010895811122C090917F +S1131DB054229923D9F09091472C911101C0FFCF5F +S1131DC02FB7F894E6E4FCE29181915091832FBF00 +S1131DD00DC09091472C9F3F09F4FFCF2FB7F89483 +S1131DE0E6E4FCE291819F5F91832FBF80935422AC +S1131DF0089590915422992361F3F8CF0F93E8EC5E +S1131E00F4E080818F7D808380818F7D8083E8E111 +S1131E10F2E202E0059310921A2210921B2200E2D1 +S1131E20069300E40693E0E1F2E200E2069300E4A4 +S1131E300693EAE5F4E2148615861686178612865A +S1131E4013861092FF210F9108950F9385E08093DC +S1131E50FF21E9E1F2E204E00593E1E1F2E204E0CA +S1131E6005930F9108950F9383E08093FF211092BF +S1131E701A2210921B22E8E1F2E202E006930F918B +S1131E800895E0916624F0916724309709F009954C +S1131E9008950F93CF93DF938091FF21833019F43A +S1131EA0F0DFACDF5EC08091FB219091FC21C091FA +S1131EB06424D0916524C81BD90B71F52091FD21B0 +S1131EC03091FE21820F931F8093FD219093FE2178 +S1131ED020916024309161248217930721F080912E +S1131EE0C420882341F084E08093FF21E0E1F2E202 +S1131EF002E0069336C0E0916824F091692430979B +S1131F0099F00995882381F01092FB211092FC210D +S1131F10C0916424D0916524C034D10528F0109276 +S1131F20C420C0E4D0E003C081E08093C420E0E09A +S1131F30F2E2C28FD38F8091FB219091FC212091FA +S1131F40622430916324280F391F248F358FC80FE2 +S1131F50D91FC093FB21D093FC21E8E1F2E202E017 +S1131F600693DF91CF910F910895FC018181E82FB1 +S1131F70E7708E2F90E0FC013197E730F105C0F453 +S1131F80E25DFE4F7AC680E190E0089580E290E041 +S1131F90089580E490E0089580E890E0089580E05A +S1131FA091E0089580E092E008958FEF93E0089522 +S1131FB088E090E00895282F2F7030E0220F331F1F +S1131FC0082E000C990B8827990F881F9927820FD8 +S1131FD0931F02979C01220F331F220F331F220FDE +S1131FE0331F820F931F8B579E4D08950F93CF93EA +S1131FF08091CC0480FF62C081E08093CC04E0E156 +S1132000F2E200E80693E8E1F2E200E80693809346 +S1132010CA04E0E1F2E200E106938091FF21882303 +S113202029F08350823008F42CDFE8DE80911222FC +S113203090911322089709F043C088E0EBEBF1E29A +S1132040AAE5B4E201900D928A95E1F7E8ECF4E098 +S11320508081806280838081806280830CDBC82FD2 +S1132060811103C0F2DEC1E02CC080915A24882380 +S11320706CF41092FD211092FE211092FB2110921B +S1132080FC2182E08093FF2104DF1BC08091602447 +S113209090916124892B11F4E6DE13C01092FD2186 +S11320A01092FE211092FB211092FC2181E080937A +S11320B0FF21E0E1F2E202E0069303C0C0E001C0C8 +S11320C0C1E08C2FCF910F9108958F929F92AF9280 +S11320D0BF92DF92EF92FF920F931F93CF93DF9300 +S11320E0D82E69DF8C01BD2CBB1CBB24BB1CCD2DA1 +S11320F0CF70D0E0CC0FDD1FCB0DD11DCE01880FEA +S1132100991F880F991F880F991F9C01205F3D4DCF +S11321107901C9012ADF4C01BB2009F470C0FE011A +S1132120EE0FFF1FEE0FFF1FEE0FFF1FE050FE4DDF +S113213026893789D80115968D919C911697820F1F +S1132140931F15968D939C93169713962D913C91FE +S113215014978217930709F43CC0281B390B2115E7 +S1132160B4E03B0738F02FEF33E0C901B40171D577 +S1132170281B390BF801808181FF09C0C901B40112 +S113218068D541E0892B09F040E0842F01C080E04C +S1132190D8019C9180FB91F99C93CC0FDD1FCC0F4F +S11321A0DD1FCC0FDD1FC050DE4D1E8A1F8A2A8B17 +S11321B03B8B11962D913C91129715968D919C9184 +S11321C01697820F931F8C8B9D8BF70102E0069369 +S11321D0CAC0D8018C9181FFB3C08D7F8C93CC0F82 +S11321E0DD1FCC0FDD1FCC0FDD1FC050DE4D1E8A5E +S11321F01F8A1A8A1B8AF70102E00693B4C0FE0103 +S1132200EE0FFF1FEE0FFF1FEE0FFF1FE050FE4DFE +S1132210A288B388D8018C9182FF19C01196ED91E0 +S1132220FC91129715962D913C91169713968D91CA +S11322309C911497B4010DD5B0E4DB9EB001112438 +S11322406B577F4DAC01CF01820F931F1CD5F80152 +S1132250258136812A0D3B1D258336838381948114 +S11322608217930768F485839683CC0FDD1FCC0F08 +S1132270DD1FCC0FDD1FC050DE4D8E899F8960C0ED +S1132280FE01EE0FFF1FEE0FFF1FEE0FFF1FE050CA +S1132290FE4D468957894A155B0509F051C0281738 +S11322A0390709F44DC0AC01421B530B9A012115A7 +S11322B054E0350750F02FEF33E0C901B401C9D41D +S11322C0D901A81BB90BCD0107C0C901B401C1D400 +S11322D0F901E81BF90BCF01FE01EE0FFF1FEE0F12 +S11322E0FF1FEE0FFF1FE050FE4D128A138A881560 +S11322F0990578F4D8018C9184608C93B0E4DB9ECA +S1132300C00111248B579F4D848B958B868A978AA5 +S113231013C0F8014181528125813681240F351F74 +S1132320CC0FDD1FCC0FDD1FCC0FDD1FC050DE4DE9 +S11323302C8B3D8B8E8B9F8BF70102E0069313C091 +S1132340D8018C9180FF0FC08E7F8C931796ED91EE +S1132350FC911897309739F015966D917C911697EA +S11323604D2D80E00995DF91CF911F910F91FF9042 +S1132370EF90DF90BF90AF909F908F900895CF9390 +S1132380CFB7F89481E011DDEAECF4E080E48083D7 +S113239080E28083E1ECF4E0808181608083A9ECB9 +S11323A0B4E08C9182608C93E8ECF4E080818064EA +S11323B080838C9181608C93808180688083CFBF7F +S11323C0CF910895CF93DF93C0E6D0E0188280E3E5 +S11323D00E946409E0ECF4E080818064808381E001 +S11323E08883CFB7F89480E090E0FC01EE0FFF1FE4 +S11323F0EE0FFF1FEE0FFF1FE050FE4D118A0196F6 +S11324008830910591F7E5E8F1E280818E7F808341 +S1132410EEE8F1E280818E7F8083E7E9F1E280815A +S11324208E7F8083E0EAF1E280818E7F8083E9EA17 +S1132430F1E280818E7F8083E2EBF1E280818E7F06 +S113244080836AE170E082E0A6DC8F3F19F080931C +S1132450FA0403C08FE18093FA046BE170E082E038 +S11324609ADC8F3F19F08093FB0403C08FE18093C3 +S1132470FB04E0ECF4E080818360808380818068E9 +S1132480808380818061808380E192E28683978368 +S11324908081806280838FEF8093C504E8ECF4E050 +S11324A08081826080831092542280914B2C8F3FD4 +S11324B009F4FFCF9FB7F894E6E4FCE285818F5FCF +S11324C085839FBF5CDFCFBFDF91CF910895809359 +S11324D0C30408958091C3040895EAE5F4E2808773 +S11324E09187628773870895282F2F7030E0220F19 +S11324F0331F082E000C990B8827990F881F9927E2 +S1132500820F931FFC01EE0FFF1FEE0FFF1FEE0F54 +S1132510FF1FE050FE4D2189207C09F058C06370F4 +S1132520613011F018F404C020EC03C020E801C0AD +S113253020E440385105E9F050F440325105A9F047 +S113254040345105A1F040315105D9F40CC0411576 +S113255032E0530791F04F3F33E0530781F04115C8 +S1132560514079F408C041E00DC042E00BC043E0A3 +S113257009C044E007C045E005C046E003C047E0A9 +S113258001C040E0FC01EE0FFF1FEE0FFF1FEE0F36 +S1132590FF1FE050FE4D118ADC01AA0FBB1FAA0FDA +S11325A0BB1FAA0FBB1FA05FBD4D36E03C93242B7D +S11325B0218B880F991F880F991F880F991FFC0181 +S11325C0E050FE4D81898062818B81E0089580E036 +S11325D00895E82FEF70F0E0EE0FFF1F082E000CB7 +S11325E0990B8827990F881F9927E80FF91FEE0F79 +S11325F0FF1FEE0FFF1FEE0FFF1FE050FE4D8189FE +S113260082FB882780F90895282F2F7030E0A901D4 +S1132610440F551F282F082E000C330B2227330F8D +S1132620221F3327240F351FF901EE0FFF1FEE0F72 +S1132630FF1FEE0FFF1FE050FE4D918992FF17C060 +S1132640220F331F220F331F220F331FF901E050D3 +S1132650FE4D91899B7F918BAEDCFC01808180FFD4 +S113266006C08E7F80830780F085E02D099581E088 +S113267008957F928F929F92AF92BF92CF92DF92F2 +S1132680EF92FF920F931F93CF93DF93982E862E92 +S11326906A01790190DC5C01792C771C7724771C22 +S11326A0C92DCF70D0E0CC0FDD1FC70DD11DFE01A9 +S11326B0EE0FFF1FEE0FFF1FEE0FFF1FE050FE4D4A +S11326C08189807C09F47DC0FE01EE0FFF1FEE0FAF +S11326D0FF1FEE0FFF1FE050FE4D8189807C803C80 +S11326E061F0FE01EE0FFF1FEE0FFF1FEE0FFF1F45 +S11326F0E050FE4D818982FD66C08FB7F894F501E4 +S1132700908190FF03C08FBF712C5EC0F501908152 +S1132710916090838FBFC182D282E382F48215825A +S1132720168207831087811006C091E0E114F1043A +S113273019F090E001C091E0F501808190FB81F9EE +S11327408B7F8083772059F0CC0FDD1FCC0FDD1FEA +S1132750CC0FDD1FC050DE4D1E8A1F8A2DC0FE0126 +S1132760EE0FFF1FEE0FFF1FEE0FFF1FE050FE4D99 +S11327708189807C803CA1F4CE01880F991F880F49 +S1132780991F880F991F805F9D4DEFDBBC01C70126 +S113279060D2892B29F0F50180818E7F808314C05B +S11327A0CC0FDD1FCC0FDD1FCC0FDD1FC050DE4D65 +S11327B01A8A1B8A1E8A1F8A892D87DC77247394C0 +S11327C003C0712C01C0712C872DDF91CF911F9113 +S11327D00F91FF90EF90DF90CF90BF90AF909F90BC +S11327E08F907F900895FF920F931F93CF93DF9361 +S11327F0182FF82EFF1CFF24FF1CC82FCF70D0E029 +S1132800CC0FDD1FCF0DD11DD6DBDC01FE01EE0F99 +S1132810FF1FEE0FFF1FEE0FFF1FE05FFD4D02E0F5 +S113282005938C9180FF22C08E7F8C931796ED9137 +S1132830FC9118973097D1F0FF2059F0CC0FDD1F91 +S1132840CC0FDD1FCC0FDD1FC050DE4D6E897F899C +S11328500AC0CC0FDD1FCC0FDD1FCC0FDD1FC05015 +S1132860DE4D6A897B89412F81E00995DF91CF9103 +S11328701F910F91FF900895CF93C82FB4DFEC2FD1 +S1132880EF70F0E0EE0FFF1F8C2FCC0F990B882711 +S1132890990F881F9927E80FF91FEE0FFF1FEE0FFE +S11328A0FF1FEE0FFF1FE050FE4D118ACF910895D8 +S11328B00F93E82FEF70F0E0EE0FFF1F282F082E84 +S11328C0000C330B2227330F221F3327E20FF31F91 +S11328D0DF01AA0FBB1FAA0FBB1FAA0FBB1FA0506B +S11328E0BE4D51969C915197946051969C93EE0FD6 +S11328F0FF1FEE0FFF1FEE0FFF1FE05FFD4D01E016 +S1132900069371DF81E00F9108951F920F920FB625 +S11329100F9211240F932F933F934F935F936F93D1 +S11329207F938F939F93AF93BF93EF93FF93809184 +S1132930CB04882344F480E88093CA040E940B0BE0 +S11329400E94C2018AC08091CB0482FF20C084E02F +S11329508093CA048091182286FF7FC08091CC04A2 +S113296081FD7BC043DB811178C08091FF218130E0 +S113297011F479DA72C0843009F06FC0E9E1F2E24F +S113298004E00593E1E1F2E204E0059366C080917E +S1132990CB0481FF5DC082E08093CA048091102241 +S11329A086FF5BC08091CC0481FD57C01FDB811181 +S11329B054C08091FF21823041F484E08093FF2150 +S11329C0E0E1F2E202E0069348C0833009F045C03A +S11329D0E9E1F2E204E00593E1E1F2E204E00593C7 +S11329E03CC080E18093CA0481E0FDDE81E8FBDE27 +S11329F082E0F9DE82E8F7DE0E94E60A1092C30460 +S1132A00E0E0F2E2118A96E0908B83E4818B118EF0 +S1132A10908F818F8BEB91E2848B958BEFD91DC0C6 +S1132A208091CB0486FF08C080E48093CA0480E0D0 +S1132A30BCD90E94C00111C08091CB0485FF0DC098 +S1132A4080E28093CA0481E0B0D90E94C10105C02C +S1132A508091CB0484FDC5CFE3CFFF91EF91BF916B +S1132A60AF919F918F917F916F915F914F913F9122 +S1132A702F910F910F900FBE0F901F9018951F92DA +S1132A800F920FB60F9211240F931F932F933F931E +S1132A904F935F936F937F938F939F93AF93BF9362 +S1132AA0CF93DF93EF93FF938091CC0481FD03C018 +S1132AB09DDA8111B9C082E08093CC048091C50471 +S1132AC08195880FE0E1F2E2E81BF1092081318170 +S1132AD02051324236952795369527953695279578 +S1132AE0822F869520FD02C090E001C090E8890FF6 +S1132AF0E82FEF70F0E0EE0FFF1F282F082E000CD8 +S1132B00330B2227330F221F3327E20FF31FDF017A +S1132B10AA0FBB1FAA0FBB1FAA0FBB1FA05FBD4DEF +S1132B209C9195FF81C0FD0100E20693811177C05D +S1132B308091FF21843019F4A4D960D975C0009123 +S1132B401222109113228091642490916524C091E3 +S1132B50FB21D091FC219E01200F311F8217930786 +S1132B6018F48C010C1B1D0B80916224909163243A +S1132B70A8016BEB71E28C0F9D1F85D0C00FD11F94 +S1132B80C093FB21D093FC210034110569F480919A +S1132B90FD219091FE218C0F9D1F20916024309186 +S1132BA061248217930780F0EAE5F4E2C287D387B1 +S1132BB00684F785E02D309729F00995811102C02C +S1132BC044D932C050D930C0809164249091652496 +S1132BD0C817D907F9F4E0916824F0916924309773 +S1132BE011F433D921C00995811102C02ED91CC01A +S1132BF02091FD213091FE218091FB219091FC21B7 +S1132C00820F931F8093FD219093FE211092FB214C +S1132C101092FC21E0E1F2E202E0069305C0803864 +S1132C2011F437D901C051DAFF91EF91DF91CF91BF +S1132C30BF91AF919F918F917F916F915F914F91D0 +S1132C403F912F911F910F910F900FBE0F901F90E6 +S1132C501895AA1BBB1B51E107C0AA1FBB1FA617CF +S1132C60B70710F0A61BB70B881F991F5A95A9F731 +S1132C7080959095BC01CD010895EE0FFF1F05903E +S1132C80F491E02D0994FB01DC0102C001900D9246 +S10F2C9041505040D8F70895F894FFCF4D +S1132C9CFF55800080009E09A909AF099B0900001B +S1132CAC4420162000001C201A20062009022700AC +S1132CBC01010080FA0904000003FFFFFF0007056F +S1132CCC810100010107058201000101070583014F +S1132CDC000101001201000200000040EB0300A0FF +S1132CEC00020102000100000003000000000000CB +S1132CFC00000000000000000000000000000000C4 +S1132D0C00000000000000000000000000000000B3 +S1132D1C00000000000000000000555342476F62A1 +S1132D2C696E6461722044756D6D792044657669B1 +S1132D3C6365005461706972546563680000040330 +S1052D4C090474 S9030000FC diff --git a/AVR Code/USB_BULK_TEST/Debug/src/ASF/common/services/usb/udc/udc.o b/AVR Code/USB_BULK_TEST/Debug/src/ASF/common/services/usb/udc/udc.o index 398700f7bf136d139ce9931edfbb3a6b59788d76..468ae8352c19934d861d7adf82bb60fa4a5e54f7 100644 GIT binary patch delta 16008 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 delta 15979 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 PR8O9T9{poRsQveUl%@8z diff --git a/AVR Code/USB_BULK_TEST/Debug/src/main.o b/AVR Code/USB_BULK_TEST/Debug/src/main.o index 9a68f2af93c2b85a0351396d08297357eb4433b5..225398e2ee9f38a7c0c52f61ba0d124ab35717be 100644 GIT binary patch delta 14886 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 delta 14792 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 bHL5Cg7|FA34eQ$aSgNml$fVh|0lNGjLBZ9^ delta 23639 zcmaJ}4SbH(`#<-6Kf~g|$jjq>W|$1a$jf4wd0Pw%i5cd7m@G*%3!z$CtZ!sLEeS=n zv@{u(R6?~v{E95^WwN47t^VKhJlC`5`R_N*r>FD1uXA1JT<7Jw&UMax&&kVvA71i% zp;^j@F*bEkDb<-jrCO`~Do+_igZa~Wl;lGtkCuFd3?x#!4o&jZUn?<)74`~RO)oGa5qvz#l``&qA4PqLI=v7Tfp zy>dOtQhEh@lBM)Y_9RQ`741nWmeNbxlPsm@(332sm%1leN-ud&vXox>o@6;K!24NS zf+tx@TSQq(;Sg)n@FYuV6Y(TVX;bkeOKFqwBui=2@gz%W6Y?ZWX;bnfOKFpGCmM{U zv~78krII}lM3y3xSF)70IZv{bwmna>oF?e~tWD9AETv6SlCIiP+BQAOQrbp6$x_-@ zJ;_qqWR@JWC-L27)biKbrm$=T8;yZ_Q3GF($p4t_ zvaT8_hZG_=`=^9o>G&L{Gip|9^cGVi&?8Cok#A2)@q|Y1`f3%jao<_YPC0R zBVT7(C?0B!U=}gViZ!NU^Dqj(JHS-8443e16b`cj9C?FHRm*gd?i+0=hv1QD9Bl=J zeC%VYnL;`-&Qy;J?&@o*6@vfySgDr;zlFqTtDd8{xv35dDY>Viz85?hSijRkgY5`2k_WtpMX&#ObU( zmJjEcq~Yjr>lLFDrjH=;E2Qac2eL#Ane4ny_UnDV=jFq*v#!1B@7h!nkk_0lx>KaFb$)=KD>jB5NJQy_mD zvtiZN3wIE#W&3Dco&RI%&!5KnG0F?;%}LX>T})7PoccjmI#~*|z+5jpU$7R?T{5(W zOwaMBG1rmPo4K*}TpDu`sMoyk8-kZG-z8YLPs4W!v}XRX7yeXm8|Gho;bVgJD17gQ ze-u2P`4ul*BzOYz8(#R9#wpZv8iA>8P;e!|Pmpf+!hV96kRBkIP_+`Q1CMrIxT9dL z5G~GGzs9`C*7taL6G>g+JKvCJM*VmQ6FuJ2Ktilg)LL-0hF^y+DL9z+9{--IHj2@p_I&yrBhAyos`6$SL(Fj`3RoIA>WONY1{`s!{%umqAyXT zi8bIe-8yW{M!|Gzf#aLbrYfc#=>eP7$54L?ehhIl$ow`I&Y-3_$eFL?%BmnRPY5v&*a2(Me0mzgkx%msdh<8+I&Oh3H|^@EH*YFd=@)$1M#!0efI2d zQ^kt&-HVU}mK;M&0zD-jHq{O(c@swyI7HPrRr`e07R3ovus(ukTT6{z$ezt%+4!rW zLc|N#pJS@7f`_1RHW$g;ob#bVdKP|j*v}IPn!}#$8DgpwDQP~0$0)%kkvxa}KY@cf z`yKYV?B{8O&840ph~rbBMJuU8C#MH;_a&to3a-A~RQ`fnB8RLF+elOO64I)0E zM8l=U}5%%kkZLS*WvACU7X%NC%{d=5?g5>s7~4dpdN%;(UiB6U6)PN0xa zrW%4KNmh3n;g}?Lz8#X2IBq_A`ovgw^DHt&a61$vv8fC=9-~|M5b2Lm<_Y9HM&d@4 z^2uIQ&r~5|mQxVCfVCa@$53O1RMgi{69qqx)CHW~nSQ2PAf&icN-Y-L9NCmMwxDQ% zHNu`<$y9!#Mk7Q$&VV2sS01Mt{Sdd19qNtzg=Alb(uG_(pCk1N>h=dVGjmLzY^r5a zZB$o7Ju7$%3ZLMZ%|*!*w98xu1P7$#GlVZ<$-fx0$l157MOLh-{(WF#)8C#WA~Isk*T}Nt%S>6dG3%{Fg8*M)VTSRRd(}r>iJj!YP}G#;F|Z83;`!@khj` za>!?3htB@QO-+0Qflo2?ZP?9pMJ8-1=zNn)sDj{W`Qa9n(84L zfX@ncG#lYM+mGZGBtC~7E6ACH z0!{n@_LU^ALD)(X+ahiyi4n+LX+_$*Rbdyzkw1!JUGfZqSCQ{^L^HGhMm=~(=A25} zw=Q`Wn^&<{w@|c-1NRbZ*d+`#5%dfMQ4wQmvp9NYN}(K`DQNzYL<5}TPh`uFENiARsAYpRig2ct+czXQKC z`u#;bUo4iAClQ)P`R@^*Mut&Xl}6>4p&*S@atczJg1Tp3Vv~kdw~p_TfUh z6>HyCndUDHqY?cg8SX>Ui)2`W&3tNE$UWs#VOaQ(p^gep>p+titm@&~i`H*^{u@!mGB?8xSWvxD2-W3X=5Gz1W<=c7P&H zYzv>4$hieUFVUcCA?qa)HzM~Xx>`GT*U)M%y}QDI6&ZLxy~-3J{lvH{L9kzAQ_UCL z3<+ReU*Q5+^DOwjY_&ISPon$F+%!kB&PH}uoizuUDnRfutb5st4VlbYm?)&G4H)qV zj{TO07s1=E8ft;yr3hNbm~x0|s#8L`;ov2v;Ky)!9s6?yH`j4T&cgEb+-EA$FOTPG zNKePROO%Qiya@U0xrYtAV5m$XeYDH}6|1RX_#=D+`x1rt4Lq7wLcs>BUdTIbP4za9 z7P_AF-wc%_xYbTW?GgMSSLFf0XW_`C**Ul`T@=zVFl-R~I^r_fMhz?{mvJ09ne^hh zKO5?ynyxk+dGu+58^QlSw6F6>{SUeP7(pGCl1%Pr#{@rtqW{pW`afbSA8yN9QAU6p zIs2EfikW?|GSvhriN@)TY=0q)SIO`v2ENLtmPp`J%9dWHx*&XiWEtwJ;H3|k>UY79 z(uLd>oD@J`$b+SBv4Fm-ir^)jry7F4<1SZMa5|@?vEVP$lxiV(5100RwG=vKSwY4j zjLV`*m5`dn0cwV9X7*>eZ>|;Y%9pEuQc!S^Hhb*lar#=Xwnp)uCI&IbO2qStA~MP0et?{#UA2*1rF zMYX2u6;fY>Zf19z#F#2eNR5z4l97lkGV_>_yP0}UgYkwnGcfS7p?cJD)%FA3M<2mK zvrIKm@B*a2LBWC8_6C>IT=;HbZ9k&h7An;UXgo{Bhh@QyVMuu+if0GRD5&b6p z{Oi2s`cxQt;P{*LH9s*v_)|#NZW!tx!NVDv`qX#T)d}HmS&^ny8PB|Bji;esd5da) z3Hx@2wEH@l>J4FhjRC<9!N(A{on!eaea+WG`W2bmDcB78x?~*ZtP0(T)^;dLbxAS& zcW}-IVB8K4)-~kq;0AMThN;qoZwrr1YX$E^(GFJAuMYQfAx%Nh+pK0eqTXi72KsF0vGanXMz*k=ltui$6tLQXeOX!x!bWH04Ii4<%>^t&9_2RqVl zGXmAa^Ff@c+6X>^&F@-=?PnVDZbC>eAvv4Fb`rVF?57#6-jtFjVZ6s7Ji~qNo<^>^ z^wqDQ;K>MikBjLcEPRi{7KTin#UP(qU~TT}slu237jLfw*XE_bYQZz%yOR>XBY3CY z+~ZAkPD<)v-A=CXFHp3T4g8DH_gUq0JRLmT*rmqoUzCay{3q>Yn&9O~e&4wSa+x{m zP$EZ42ER;?FL*laIqYh34SIPY)kaJXb?JeHEHUOFM`u5wm_&O3=U^P~1oc?{3;z#T zQVHWeAo~rZe!%TwD(^==6o#hBJcA2<1&2Q1N-RLoE@p?ZY8QJGh=N_LAszM)XUZx8!@9X@#+g|`r& zXGMk#W2|>r7^ZS(`9|>aUP_%3{4I}wX9btwG{qd>(A@k2Ty0$D4q9LEiwN6Gji)1S zFWqGh7Vc$>t&vZnVxy({_D4$%6&UEMGywVeWN(a9`PPWA8&C07gOpU~HaSo5+@~1>3!XjIR7(U;I&Y{I zf-^AvV=De8@;>H>|Bl87=)L>Vu)|uqn(B?L1Dwl?^sd8&^cM~uuvR3p5%w7+3Vt$Ff{;4DsnmSIy^-)4m3R#4pRxLnar85u z+**d3>NjCHQQ1%>f-fWbb8@|hw9h%SQSdoLQ=W^&LtLU0=*hnca;bFoS;oAAFQDKM zJNpidFDM#-urH`!gFhJqv~e-7#=Y~A+mxy)I2DDnGEA=-XD+bXR7pImp0$^Fx1O}Z*p_k zDENDxcHa=3ff$Oh>kGf8mcJv1nf)4#stWgC?TCIx>DTOK21A!_LQ1%%RByqnF|L69 znvJ9aRG>L?L>okpTMxEg*28-A52INrsm&o@F8CgVAGhiS?qFcDUP$wGlq#pn)xR}QbBn8 zxYgWfg8~*A7jaW(+u=B2ZE>`vpPLopQrSo~)uV#P;?xOp%|WToTEPE1&eJ#O_8p(j zVVr&nM3R0A!Mg7_s&OdNPov;>l1pJNqE3>ShpdzA9v9h3T4-a0og&L^#GPVUHgfo6 zZ_knG-pQrFJX|=%^}TfkH+&&=Uc%RNf)610zYLV~#`Bs{NaK-45(D(Y|8iIRis#aQ zq$J_0Qa+ts_5Q)LRyDyxCYh?X-~$-*Jx!qxvc9L5mr?LNFZ#Yi!Vi2ZM&=Jzy|8|~ zFuEY@u?(uN3a&|a{=48WI2X4CZ<}T)Bh=OGOcd*yj>G>nyZr|ubhaMTPt(z-3^&zl z!ncn*5Vo+l(n{b#XQP_IxgS z!J#NP!)6!Y<{7@V*jbO45K?ju2|sc;eHn&r7m^>2{>a(e3E#8Ken!Muiaw9&XXz5p)x`fa|&fZtgaY=S{wfa2bHECp;sXh?WZDbVEnI2~cF9|6PSI9*#X#a^$ z^CS{}BEy#Xri#DcRZTeZf8vzRK%H|m$YkD&y(cBV^`}o3JQ2|>W{i-;EU*pz*3VK> z#E_*}@D$$I-x3^vymRzU2|Qmn@8)Xi7<|rCV;|Q0fRLU;=y{G)=f~;3g|rbn&NDy` zV3dDANC9wMU|kJs^HrLVMk0=+z!qE=^}4&N-^%T$iQu2Rz;(JDRY`dBPEyM-MM}IHE6FGfnFv_FlC5+eh7|E0?0L;CG1|QwZabEF;PG6!K@50SXG`b^;>H4K)^$1hFEchtGE^|7*Mfzn< z`&8s#=7<&2(2Sn07AK&XB%?0sT;WWn)G<}0l)Q!MS19u~)?MLL*GI_}@*PLxpP7Xr z{AXTf)u_cwg)mn|#~BV)72J$gT1#*T9yJ|;*P`HOR@oWGFEoSmoZdlFvKWEC&;>l% z%v6hnbeva*PYLeLx6rEuN3S&13xXFQ^B1c}NC5+Z-9j4A`@?*}SjMxU;2P093kr^b z?^X6+sW^?<7v!!hnELzgERjrSK);X!_fAUGX`SJ{DH@GGLxo{6Btmy)=C ze6J_?IKqqQ1@56^$rI9j(e&tocVkBp{povfT;tSqLc%pJ#=|^vj%WC;x80YJLlTXw z_!=9l4F6x**zc8SO2Y6weM+w2=7|24HuMJH3mq3y!WN}|5WI&yIVboVtRpKILmn$^ zxucz_?7dwr_MXCTI0Qf7$GZ^0KGSjgS6(|@#+d6=Fd-l431((VP_`t zASnD2O!ow@a1s6}$oI#q`*7aEe^UCnzmuHJj1xH*0CgLSBaK6TZda zyekoW@KL3X3jT{>-7&$(QS=*4-KV;#8uW2Bbsq7*v-k$;0*dvGUH)$QwQ<-KnW)mU(2_}^rI z&+&-SO-R2EGgNQE%`uL}e5aFolk5FzPgBj1k}t6NCfC4g@cV-ePeRZiyb_Op(p3Ky zhQ)Nag@V`9Xb5y8sD)vV)HxQ$Kx- z(mz>t2L890^+Uuhj(GILl@@bz(otBXx|soP(0OB~nCFQViYw~^&YEaB57WR%dU z#?h(X6uysP+-6rc!Eu`my%46Kb|FSTUB<%Oe3Rib10USxTi%yZ%tFU$uIQKgyIKtT zO{q-5iSYl6U3`Rh0q+T^Eh7HnHzS*PA}JQqp#w_Y65JYjl;Ew{@xM5zpCbHk?d7=3 z#znfSUxGwU+QeNpSxA?WrAhUw11o-%<+FX zOkpS?Gd~Oq`j^?e7^AZfu!CncJDzcS%M_PHk0p23dvw^&U>xbq~sKQOjbV) zV@z8QV=*#x#u&@AwdY%HehM9F+UjGFWosVt3mx^M!J-;(d!7<}iz=)V+;4`VUJzUf znHJSKh#bon5VC+B+btzaUsWn!@OF#7TkwGa^xc93;A^w>2-)h-z+FgZM;J;CaVb!R ztERHx*BBdB7rX^Y6tgcgOm)AIf{8hhVc6I{MnybF7Z~+S&&`-I*W240WmXB*h;RJbW?y<${V52Gr`CUX+<>2v~o~j&!$ylYcAnYJ98%7=K#+ZTo*U1+9I`ks%BfwE7GIYSo20)s753Dg*R!9qg{3V2!A^l z=iEOG)lEnr@eZ`N;I90_Gg5GkDzqoT>yTt;O|v)>i9)K1Y&#W=;xd0)NS`g|t-9ci zjd`ms_#C~&D}vXegf)f4a9iIiq}BZ5?x5gYMm$FZzxRl#z7;$OW2$q=T4Ggo+f4h1 zR6lgMt4Hs{sA1c}cSqZ5*hbhb9_hc5l5qIew8c6OGg7EN!o~dTf0e2un6IO1a*+07 z9l7`pq@*Sr_#Q!i%!XkMGslex9vX!G2`<|_!JUxh$5r_d&G(d$Mxnru)eJ&NEmrz4 z2G(LVPhep!&gp7oYGQZf)Uw5zwxy_B+t$wBkrtgh(xq1iMAxPPjN_vHQb?sps%?u5 zd!8HOzd|ZzdzE5b5>LNnD7#?XG}OI<+c8LPDENDn)Ta3^Lg>9VeId2uURr)fo{iQC z!^gD@^{U_+IL%`F9L60vLgJ?;b!Damm-fn0mI@kONCh^`tNi?qE7U|JNbm)*DJaBlP{;H`4`I#g%$& z>^kiAnLUV*`nE{>Jof*pFl@o{`nH*luJqAWg_IlYQQ~pM3lH>kWdZV89QYnB zw~|O4;Mv12IO3A)(_}q@@hH_brE_e8r1-6P=Y5Y;>1YHu;s|y|bR*7&KQ`+u040sM zJbyw^W0v(mRAVachxo>}!}i2krrIwRJ%_L+WLS$hoz=(kCR|P>$mf$|+zK|x{YmSv zej*zb`~gZeb9?wVrI)_O{y!!q6Ib$!5W)QFu_?Is(W@&rZA(r<-x@ww^UJ3uO0hBPoyuGZ4oE>1D4DHr0!=M)o1JCD;37 zNN!2?k;rOErTQaR6T@M&BC$CFbv6qFTiF&k>IE_86yaO5P4%PTS8%EoM{qoRTeFEa zElkx(7Rv%mZ%z4Mk=B~yv4@LdoRkb5&&X78N92*q9>BM&VFGOMx zhv*s(25|@4OFzg_a;~3qg@$S^co|m!!zCxZ_I-38g2y7T4Y$^|$Z5k?=F&$nhH-Mm z;DRQ7!7Yu3=OoQXo%^_i6IhX-kSZhkJ}PknN%z@Cg#62i2$vEECzvs~Q}7a_8h5?9 zyin)v;-v3J2`l8cKS6ETg=t7`%LuC_o$5YexcsV82L=D$im%ZGx5AaS+#U}jJ(xQB z4&>`98Jt_l54QCPeDIo~VukePAbunyc+py=63STp+i^NqV|qI}`~Pr_=1a*9WVd6l z3UOR#`%t2@P&97uT;+-F`Sdk1+H(cPpny+dP3ShbSvWftIM7g>1t)%~sj1coexGsR zdcg;&TbAHq2F8qsa|hETWf5gkHe7*d(pyYq~+Qf%f0^7@f_* z@=mNZ5ZgN0UUAfH#@8nF=T4tE%1|{0^Ss=dLlBL1ohdUGhdNW{5ftgCWoR5~i?u)8 zh;u3Iova8S{drPV15W1Ny^e+WJPC2#I5vlo z*^Q&iYrAf&=otLFvm;La=>1o^P*h0_j?rCj?5AI0A z4*xLrIuqT(xB^cjJIof)V0J%K@pjUw(ii;FEnKh>iEClD^?}9oXc&2()Sl){ZeK?NxBFjFM>ay+_*PH$Ah;_Zm z@*47bQ?DsF-kYxKBI3hs=Zp;)*oS3{kkE%QR4DgPcb5($pC$HhIYIuSz^^Fo!x}z> zZ(qt>M{r+0y@!atT%t#K-e@d*e&O7xIcw^ zV0wSs0{c(ZJUhkrDC$q|YVc&{ZhkQLG`H3v!}zTJ2~Xx{4sL(W*&0A2J+s)O z#1HTt$X$Qr!=B~R$M8s3LG(aYpMY#~(H;s1(js#?B(I2OtKc(;@)-d z8Q_;9dH*0dGTHS9YT9-ucK3X%@0Y|-S9sbD@mSfad*$y5$={6olG{dF9`M-6$>(|Z zDzY!cI|p&RbAoQs@4CbK>Q5=vUYG`d%oDKSa~x^6ECsrv?t*ni zy#?!v`U%z*jnY{9F-|ZuHA%28nl4z&CJ3%YoT70J*I!RAuae?=&;rj&fo6J1Fi#9B zORye^w*)sQ{y=a`;yr@f5PvGTEpdV14#Xz~cP9QxaCf%v{8(OV)SLKEDHuR(__~xE zMqE|!Na8wzM-w*`Jf7HJ@MPjvf~OG&3!Y2dN$`B)Zp6O2;V1YIhQ=dp`Y$5~j!!(C*)noD@qR3Gi${C&p};N9 ztDZZG>%P0ibsSyR4E#q)>zbvET(0%WUg9y{d`NVQKjcj=C$2}#-TEkRKIFT_^@QB1 z^<`e-dQU3jgWqUTUOT5Ua=F&mdWnzq=0luY{1I<*Iq}!M#K(E_A=@pkSJ0hWf8R?y z)|(H;7*T$LH@RHvpLmJKdGjIKEk4nkTu%I$m-r-aK4iJYCwr62iJ$ipkN4(7v0HqK zH@Ten4KMMj-h2puSo%KAn_N!Z#%K4kneNSpbhr2nZ*nLa#-sE!P zExg1Ny!j9^R+OLZO)e+i*-LzmHy={n;@YX)Y1#Di5>NEzLxEd-o;SH%>m$9y^`%@{ zGw^>zl%MZSE+;hbCBD>~4_OrF1%K{%+X`OXgvZ)y2R0#tJ5kP=`tko7 z>lj5R6IrpgdVbnLdXwwA$a-yfliQ$}+~_dDW=rv=_cWDSLSA>$Wjd|qPY+OU{&Z>- zWvLgK>)r4H{&blRp5ErqEkmgGu)Ytt1-p~GY#RwupB{UqwzI-x42^V!z4>!jxSQB5 zM5yMm6@FAwmfY|tDQ>I_2Qk{w(X%_b;pZfHcVx-vR+jS`O*hKR9pB@ z9N6lmoFw#?-}>H2IG z;D0)JbftPIpg!IH<&(Gk>y&?l1T8;M%Dm)V|Ih~M@$jEmfw-DrsqOc=#0TF+d>;}k z65l@GQq?S%c+_3QS0cY6@edbpE_l$_%DY3aij-dlze${n@_j%1q@}h}RExVquZqNf zXwHv=$>UD$xhP-X%4ExVWYG1wV==G#7|L*U>vWYB!UdiGzf*;;vckW~p(}JpXI>SS z)wh)YtVIQrvthBN_}G;OMdF>8SgM(byQ8y;#G4|kBJq)_mb$*i)w(-6 zt4O>LiYfj-lhdz`P4N%aoXWeSvx>xj;7*{8$DQspmUHXcl->dKSjO_Fjliou8j4KL zQKZLLFqrq&x2Xw~(eiQpm6I}m{9TG~5OH_BR+0FMij^PY@F?$&*D4YR{HIo+{A7yvl-AwxT1DcyNUTWwRf@Zp zu{&O?NPH{uD-yrIq0Q+@^~Aa3wTi?)f#0+W*5NdYj}+zI@mfXVC5v7E#syiO=}zl# z59@oM99kWB0OwVoXC1~OoBI5Z!=Bs7ru3DCmUl;RUh-utp#zNR6^QR?VN+Ga4BQc1 zMdJLMe2V{%ReloaS%>Zjt|IX>%XsP)gVMusr_s2~`mW0c;121$>hp|7I}}&cos)cV zah~<-(QwCfUh-w5@jAk1R5TiGJl#oQ6?Zb~-AJ!U{HzvdbGr4^yNG9^up)6=SC3gO zy^Ht`gv_i!`9>7y8y;ut%kLuIod5Vv1>!Gvvz0{-EAApb5d{^A*X-_D$E)rlei;6< zDq2VscbnC-cM&gT)Tk%eo$j=d>i4iY--zm|NaL^EOnUa-!gTjP0_&>sP8Gh~)8p^m z(QHL4s}B4UDj3~c6nDo}Y_YsPWeamA;wb(nf+cr3Ci61VmB zES6X9BA$j~ivQ1Gj;8p2ifQFD?;?JaBh#Mc?sTWYtl!V0&PFnq8w}52wm|xv3I=l) z<$H_aX8o^x*lq^;~Iw)rmNe#_mkqkx)H;l!(e&}v$d%k>`d=p0ZT1#=Ki0=jj+~>ri!`@B&0Y09Ty~&c z_XgiA=r5Ke=?e8P*u_}J*CNzXA#Nt&(R}>#$p5F{XkY|{O!y!q&02rL&UUA;fx#ymH?z#7#d+vRn&(6mUKjB{+t#+pC zv`>~NezHID6K%(p{XJ*u?GLw};xol}TDLCUyLam`WvWm2sa?8t?%uVtcb6%zcbhu3 zdjytsFlK7gQQpCD(_V*DN5e}ChJQz+spf{zj>ZseC(=l)@$c!XpQe=7NU71N>}V{v zX4lizU&1C5+Er9|QSV{6cBV`x#C4|no=EA; zHpd{Rv$4=teMM9Ebi4Xx`;~eo_#6VgjUC!vRC*h3wmu_t6{+k}9WymGL+}ZBcQGbe zQ>?m56V{hV?P4^w&MDK>USVxOZWkk1D~EGe!_B(#HCakL+$VUB@+(OoZk`@m}!uF?QHiU)IzhF}}mUni?*+ zGb((Hb=HxzCq-C6NPM04WTNDC!!4kUr4j_U`6oSAf_iL-ECy|G!|;F!MhhV2mhm~Y7t-Yo2Cp0yPCm>=*2$X zKx!}6nSxUDDHX20Ilbz_w>L*62~oZ2xgEQgW*I4e|d8Dq~YuVKlO;oC* z-~%@`MIo_*ota@_SXjA{%ray#Pw&L_mJ72>uh!lUFC>eYZRFR8{sm5UTO!Q z0rdH1Bn)8X#>g9BOtSTQOII@-?M6Lpr>Pjhf52~`F~l~tv#vG?tKI8d)Pi-S4&+?v zgX)2XTm93sbX6uLPuro>Afu<&8Bv2Mk%#<2oW$w9bj7(+6SM;1G}suTKa0j&gN?RY zYb+UT^s-%HOOr%m&nTs)32uo(N^4%Q4KX%p2C|0m=~Gk>VdVIzwywM-6ub-1p;R;F zK1WMfX+1SHS#UkX4W&oN>AG4dtkiQ#eIR%MGKVrKy#KeRoTTA)2n=A0Gf)=51>l8< zVa6oA+84)$v3IGc9%d}GZmiN&u&8(sal<*-wXw}4$B;jqgA$6W;YKg_bOxUvMDB^R zu1*QgeOXh5f+mnk(^SNlRVD3f_;{K+f5z)tX8cmg4-~ zEZF9%sV@beL@q_OuTg5&u#VQ%1u1Drmp>15$vK+(MfmCP9LXAU5M+`&STK_FB^a3_ zIlcNbK#dR&ZAOtP5QnOfG<+2NN0GQ7VH7*=glrP)0@@!a;tfzaisFx88%=>s1dL{M zw4h)#cb%24y81`tyr=0(6Q`U;SP<*%M_iCGq<-z`x*8-U|IWh2AY-uB5iVoctRo`F z&}}V|H-@9N2!6peMns#W6Hln4nGL59GQWa<2xr_>hSqQirzMCnO9ms&B=IPufEIl4}(A_5cO{3c5Z;QJ;!G!b!cQhYjc-ZV~g+ejEk@uk-_HB4e| zD6+?~-EAlv#|U}+4PAXBB_}6v#}NECqC?ryDCCAxcRET<(jJa)vFa%JlGq%%t^*~Y zK6pu2V+Aukc#AV8AX-;*g!T8QN-Y$;{AFEzAov&Ln+ju5#Tr^AT*mV$8iC^(cCI6G zJXg-YB{)8w%l#LWjc50K;5~ukH5N$|I8F9(A%86awFm_hXz_ZuhOu@Ce8Z?xLs%I7 znMikamf+@#ObS?EyTNT!~cFGVph4b@Y7B9|*jrcAgw>ZBRkYwoOd013UIZwhwJL% zb19^grENh$BzLECRNvBSZ@s`*S8jsm!gHE2$@_H<&17K>t)r_b!Dr7XHAisnHBBuP zJO??`j7_%34>eURtdUKXx+%B=V&0}ZzC*&>%tj}|Hl2QGgOKS)ur>0crc${>n@M@e z{;cW708Pt9Rg^I!pjl&GZEavLnz>9#`Ze)K+$?P_o`bTght`NPUy|ufr&0q~L1kB)M`w^)#XucI$GdSbFg!4=z z*!Dg5T(d<@R6p_V1>k`e9TNRoLmy&*niRPd*MKVjc zZCo>-dO(|H3|X4#rK?hrYY9#LE;z9hlV-sUYjGk9UPEu0t(pIF8SQEdevRjw27>Q1 zk!vFOeePi{f~Txfs-58FoZKB7DV&&PcyPs5%wpOc?yjo|Qhq&7Q&R*x!*e!0(;9EJfU0&YdBzaxFBrTNU1%(Os}# z6GnHzy^%AQ3wS0I;WT0Ohr>K>7j?NG{3xtB`IJTgdFi%_(HRRM>0Y0^OizH7|j&YS%%neU?PU9Q;P-1S;@HaEYbK+p#3J zX7tly>2({f#Zsg_Dq|U$H!>Ri+|1tK26!)`TsA@$v1Il8x~grnml#MgOG=Qnh#Kmk zVi7f*hvQ;4;(?&WoIwvmb(JXM&3G`{AefuVVrnbl-mqU-1Cg_s+76(^Ea@Djt3RdW z8eHDz&A|a~N&}kPoBj$JCM&IklS){H@LOUu4H(HI_cy|7%RstUa06yT-wW=}MVTx3 zYi1EA1-If7I4d|CsY^Ig+Zkx8gf$tZWZBZ`S+^E;J4OfTs)OKl@cqCzZT*r5p`F6= zfzwjDW+(zl-0xh~RHc+eu&Jkl*IRfxZE06{1Q|=|MStWir5E?Wx{N-_gtti^AcVv{ zf;R@lq zFv&&4FK3LY&0dGKvN!e+S!T&dRIo(*7|tuWVB0aq9}s~DGjw%C@OKDX!A*2ie_h=d zR-f%k{Vn(qa#pZ|>2Qf>2b~caPtEQ~i|0y-hxH?F&>@KbsD_#Q5t}=PQj@s>VJrF6 z2XQ3syPN51PaC^+8BB2Y3-;nZby)CfdioNXe10Hu`BK7s3M zE~Jr68NA!twFXmb55esbw3=OBjg-}Nz+6=E$=aM}{?j5b27zlhp^hVR4foI>hA}5M zyP8MbhMNiAfWkH0bw)PSRX1TdzsIO3xCN|hYaAQ0mQv?98RDcQbAYZ^306pAvGp5I zU4132N60lR?tx<>qt!V0CNex8M`9x7(ij`Mx3k-_0y&AavJ^#$?DOYv`k3vUM&>8RLhn&r!+x*W6&{Mz)j+}5LX{dW z_yD8l7{SR1O)}QmZnx*9kg)s*XzDw`F3>*ZF1L(JH(yw<(wv_K59buSB={8kKIP0? z!VFVuZ#Q5F;>n_Exm04^!ef=MlrXzDOS0g)o=zE#LF?)MCRkuTO-9OkD*A!R?HLiD zh7yx?mJ8sKuzJE{1B0D2H?KCY+MC-LtEu*an`6la4%kT~Z(y`u&cp6FDd~+ume__d z>4+BA^{`X&as`M>fQ_L^9irPMOPKcQlivE24#4s%;! zS??-!MQ}M1H&e+yY}?Ew<%{yow0amKQ`!BUNKR!2Sewf`$XD0N1#A4;~cek)X&72ko!R;t;Ez^!E7MC4X3IbP(N z%=Wlul5Wt_NY=rf#MYI2`Zh1SSsUs1Zv_8^2vh0@#HZ0a-B4gYd7#3q^AXQ(Ej!!m z{P31iZh`~h`2|}wFz5@KQU?pZFouK#@?Px&5%^%NuHpsfaHCu+_&jg&)(alS6TxSK zkC`c`;96sq+9{Y@#FvbC*E#S%3hPh!lcjY*q)9d)!6fO(_|n*GT{K%)^Stf$zKQ6s zSQ3k*uQ)b8p}>4PiHfi6W3Y{CPcsR*E8=(IyNwr?PsiZHZM?ylg>Bnd?OT*=;~Gdp zZUlRuVh-ir)!tZALruLVxD^+0SHZt?_vtD47sT%1B>rguw{l_a zT%^=g!4AmX!S%CyByaeHH5#rvX~YKz+sVK%=(46RNJ&qgY_14CiNu{8gSe*+CIu~0G^3vHr2DDvd`oen`V`^Pqo0m$htxTDI z7uhG&r$f5n_1N|`S4n3k z0wuzloukwp!3l8shDHZ)2;ed%b+>vl~Bc>f@n=@vz`bBO$g%??AtH^vO>INmbN z7lDz`GU(FV&p6wKm4}E7_L%RhOj3;E3|8HP>I{YiM=aRQrwF9%W~as=pHJ5Ni#SWW z+Z*qQDwDNfv99(B>oz>TW#Z6}9lR|pFD&_%YMLYMTe^4^v^~7l96W{Z(zq3yCy{5} z@x~rwjJ6Qzdzd|4q{aW0q5>XRvY%t>JSx~36?@oKS2$);^>uh=GI}2UQ&W#cpbvsF zxe?iTf^O?;Z{`tFC~Q5+E8{-GYJ>bt`lyJPuPcN#8UFuej6TKP@dsgDM8<#3P0irz zFJWy)rOEQ*6lmJhu6{B6_R^%c5VDt^+<+wW=`Pau(!d=kFrU6f>0au-%K&gdYFQBU z9Rt-$Z2OKLe*l*(qp4pi!_2^5cC~FB`4&&G2j5$a5xi}ju0jQS@<<#m*n$|U;2KHD z;`TI+=hh@Cxq>{hnBi5LWINpVk<3QOK04(QuX42B_7-;|o-FMpr0?SbX^Dz`?9U^3 z?x%Pp!uHeLTx9O2$Wj#Tr~7s=O{wc=ue=R`2iSZ(A`dY0KlKY!SSi^uQKOmdv9P+)`5y|tz`Mu%^|2eb6cyRDeiH_L&%Ri(fW-E&D=z~?AaWxw#ssG!=X>^q*Q?)i%$D*} z`$s9!;eU|P?+`K$vX4JA!GEQ%y@7>1)Orf;zfV)$1iuaK5L@J4eu(pQKd%WQrDO#{ z4$-~Ck#varOJjEFD=8W3qp7b2=b?ZVd893+lsiW0sz^%4a~HZQIF`Znmf%Ww<}mAe z+Dcc}es<$}O;)P0;EssPsYyG^a~RIO5ObJDtU<G>f4kJz45+Sx zAHX4(x^BSVB%81#mo5$D4cuxGIPb+7EciFNdZXZ*D5R(vPL9zt`(Qgp|Fz|@?z#vh zF}Eufyb>YDIC0{UY6@>cmMMJF$~1R?-K6_NG}TYA8!A}LBarhCB;Ui=BozqzfgXrO z&JT2J6;q!Q5#Pnj_B(>N!0AW!|0xr^YGL(*&yTD>5}_v9iX|pVL)wqj)(To4`_LNR zd3@@Gq&$|LL6%7(QJhDQ%!c!EHVEd$eFxcXeUNthtka(Qo;~pGN@aaGB zIKe4fo0(^&$Q?oQ32GaU!V`4BW|Wz7p|GALvkCzwxqA0!z0SYP=Q;|$)mKwp z1iyyjpV+~->*{Kxux7*YtTDsA7U%s2VSTwsQ=0_ersx-f8zbc`O=ybpvvk&{@c5a8 z;r3^ae=4s1%;Y_lmtl*C+l_da7bPDGw#?&=s^CT8yipa*?;Hy0xc?%ckS_TJ(R{K6 zRch*_2*mebbQK(f)Iy_|_nt<)U=UW`FoxI>_V%vuuBDdXWlC4|1>4|wjvJ;6Uo-R& zRt$p9(dj=U&Lk1YG|7FGm}EPg&eMqZYxBLnh<~w8sUHQ`g8z9+%|*<4T09)d=jj9< z+0N55)8T%BLGo{IJ&}QSqbAsNHB<2QQJR`3_#mPw%6O1ul3~cYz>TOD@9};Tfp{Lw ziv+)NMpIV>UxjNCdvlzfeQBh4b1RO4M_H9St z#hR%ad6A|@d-G0A1R60A9TGf@!~TQdqsTC8_#p2hySfwFCBBZiiKI(xpp5BD*eJUh z_mOqU@M_+TXQpMsn%z{Xm4cr(#lM%BYQ2M?%j|MK7F?#fo5;LOcLt*5GTX>Rm07k2 zF2y8G;a|*=DB%VhI@;bwhmJ~x3%-vS7F*YGwJ#9XpGYpI(s3v(rj1Py@qg@bF4F(c z@bdl-@2h=->}p>6m@!xIStbNS1eY+K7%4anj#s!=`qG8(23>yUN49%Ma*G1wL_Hi(BuCP1*@LYdJN)oy1&I|TKxhYi+m#g$dEPSpqUyfoZ z@)=_{dMJ{wGFFG6@@h@5{H{@;l*z$a5eP%-H43ak^)V0+a&D|uiPduhc(a!kV4C?vN1jEVb1ZYASMj^K~sbA!HU%*9wNtf7d!!2mssIeD|O_ExeM zE7e-?XzO}5@}VlXnxChmpgINEw<1ES+{s>GB`GoN_0+s z@lD=Axc8T&O>Cf;foO9K@L=zDW6%(IN=tzw)hVZyuE27lAEp_?epEo#jfc z7QBY%`6R)Qv80qnbVHg+;*eKLpICU|Rw@FWIZD3^w!-!sQ=s20x~eOz+RV$I8{~yl zvp9=3@=#WDB5Ibx%R#}f!}T`j*dfm4=e6e}?l!%<0Qt9#UVi1yx?+l7Q*rYMO)=-G z!QYMJTPML5CTU!rHT<5zx_VP^DE#kmPW9tCW}dKiAcic4hU7c+@4ntVbV*5FM!yq+ zk3uWsUVM5uQ%+%ZdsV5sf``Dbtj7HzWi)gbQp@O{T7CE#4YvyO%%{=Y!GcGjg2L9{ zxyYaUWImklGBT!iW`GryrrB1(4?bWjE4UWI?s9UCqQiNUSEGEw1*JL*{vCF-=<%NMW_ zvAT338~I-k!pbRi5^?3cVf=*sfH8oH$SJ!=d-3tE-hJpLYuAt#pi!^mz1TuM@T`G7hv z^8=Vw39G^Q7oQS^!kfiR&H^6Lz`=-qK+PW`mrw2i%tm4?_Vyb$($sr`*D^XR75oT} z4~^jFh1^v43k$rNJS_N0TfF;_L9#AV9#zywscttyDh3k+~tbF?=7Tgp@84h$W-zE}U|T(#v%9;_kc-)CnM$w4IPezC!7FYxb}ood+jV9LPbE|tW=)hUz+iw zVZjav_=g{JH$}xiwD2^XpR(d;epxU{-1c@)ex)PWiP>hf;2nsgC_j$Kf6Be&F{f;< zl#GH?HFa%)k4b7F)FgYcq?(pBK%x0`1eMjCL4U&gU&GCBAOlFeczkC+O|2EYnD5Kh z3tq{r@-x8$-_TT=U@MaTwyi_vGtQB%Jo8SJwex>oN<|9( z042{jPzTTRC9klSCc9YN^e4Y2_qVjwVv-{*ZnjhJaGRInX%WnP1#8J^7B{U3Io>b5E;xiQ&in-XJMykgaD5b5sQl#Hx|$`dMWhP^SHac6 z;%4>Xb!U>WzD1A&+na$n2TN0H6y0)6N*-Vvg>Av~>2+a^;r2y4Ys?8p32QKcs50vx zgU3sjNw(VeI2lD?<!)B&$znm;@e26YguT198{0~Xx8mT zMEK>J_P>a56@m3Eo7~$q(N(f2O`oIGCc%#wveE=+!D?kI&ERL{giJ$(mA&TsVe_di zO0AY5+?G7+Q{)7~>a*-8eRb)6*dG|gwz;zV4aB**kM=OrdO$3_cFk)J92pS=ym1WXWbD(%rT%%?zudN~k zpIFGaEO-}PFkA4RDNJDnU!n=mm%$}Qg6F4@;;a|5H{qW8-?aK??2Adip5f0;sWCMT zf6AQyd5Zq;cbeh`Rm1PJmLJRtZph>7^TSLJ&Q*Wm51gw0H@m`lSPR@=*4k35j_M4Hw!*gy$qFQxWG9MEat0nau<)Tp4}#On&Q!|YqyCL zJUk|J^6J>R6Xv%yW@@uh*w%2-dcvWd;cg3c($zerlvYQnT0@nJ7TgAb?F@fy9}-Bc zYZvLNw`SKGf#PQ(Ll?EYbRrz^)sukl31fz+aAPIVqH+Ise{7WhO|ybu=W^^oedXjTzg%W ziDVtTI@7@MnBJM@4o0&1wHFsV8ymD$nB2wiw)*(!YQJ<-W6I(mJ)YL%1T~Xv|Y_JZeJzIq}64700PdYAkHCzJvxajJNNCsZgRH0y} z=DNBg_`|n!RU$Z^qyJcNn>CtxF8CCDyBRCB$;j@;zC3`|oi<*BD~W5?FkP)Q>;n|! zrc|upmYm!Tg4bbIclLL#rmKU(YK}CPw*AsYSEq%wYKKyJf=8pYyV1bbhLd_zSmQZT z#e(<2*^2}7_k3OTwb~s<0y;;e04uT~|K~&Z?`aJi+4-IEX#zgM>jGl^ZA{v2|>tt9K=QtZbsID8ZSS70CY1DA!bi zuwFxAAbWBaX_RQG$R}~FJ5*N}MB#PLRAm@T$kfyg;qQm@V3t?_Ka)Jb^ue?^bg-`8 zl96a0p_HHCw;7KH3Eqhuv&3qY45r~B@Ek(of~7;)@dijCu`Z$gfudd?#Y3q60@k5a zNQci*F0^XM8p=H-&RJLgh+elTy3%A&@(>inGMR`BGW=`SoTe*3kyz&7=OClM<^iW+ zY_=9chjG|iB4Ze5YdJiED~t#?Nf*Qib6MT0qpL~M=OUy9)6);aaX1xbz-u^Lsf#f4 z%NKFO={RSQW0FWXgpm0)JVVR@XCxgj(en-_o036DFv(hEQ$d@9;t-bl8?GZ52HMa+ zG>L{!5jBF6dq^8Wy+Oz)v8uYd3K4|~a2!d=dAN;ahbAF%B-Ljlb)<2cyTsB_RFAo) zsR0rs$021D+x-Rwql^gKnGw3$E0VMCaDxzBj_^=+bPm!&S@(YAo5T&}p)48#x6#Zp zYH`&DN)&wdny!Wm?t;kCbfF;(BXfoI^kbzK3XY}e9|*pSOxC0=LkUZ0|G;SszutrI z7&_!FgpT3LvE0CSW4M^_qF@ZW=MC3)IA5a?^A6qQ2d>+1BwSuW);mV9ZL2T$EMXn) zuhc!kW8fCXHmV>f%<%Wv#5wIKv8>lCO?4BzBSceg3GQ^A`@Z0GdH@+?IRS6|p{Wv47>8n$b)Rd{Q9@fHY~yI$O!$oB z0L;g%am;<9pJ^&e6kL&SD%3%_sSpLX@f=};`|k-+@DJ2fuHZW@xOfHcLgaYPV=8i3 zg5j!UyfMyo2{+r&YWA2J#Hc=AaEmRPnkslS=7n>FhdJnKjj);^C7e^x4P~a}3#Jp7 zL~;}!6O0C~5lsC45Z0epm3k~VY^<*S7Q7a-CeV^rh&RbDq)nhJHD^!!tJ@74&8%Rs z;9Qhb%mHzm$c7&xaw1*(IZ`Kb>8JjwDN7A|nW76yRTn$~zLU5w#NX7Er?9Fcc9P-m zdbOvnrU=WAIoK@0FPLP`7rY#0lNbmNVAf>Lk!`%Ley!9(B3W88vL0mk6B7J*Feq;2n|FVeot) z_&Y3}%5-%Stkc--HxV$+2)0K2s;NY7;bumBCwq_*{`jM?Qjj!*gM1Kql(<6Y5kMq!T4?GY!40`$^xF2yAHf>I z5}xphpl|(*_y{_DUF?aV!|#FPOfJJ?+?I1ieNZ_4QSf9$&SZdVHHf=5cTBSvt&u|( zBeBygN{UN0HC`nBF?kk;yeVQS;YO2Ze!Yb<^NahyY@8;lj$kJQ&ZRl4F?lZiWFnI0vJ1(`GnpGu%xd0zIz(5o zqW*w!ZKL3?PiqQ-EsfD>o-tM%iuidnz#VDxSWh{M=CM}5`CTK}Cx(lDOg+0fWw(`@ zAULo!(a^e__`X*$ z@v-k25k9T*HRWC3-uBCRy6PjizGVDpQbCg5Th(`9<(i#4qJs?qv{qF05(DC(E{< zWAD<~ZpVlqU9}aQ0Jjf})7CvaG<_v3Z#XRD@DGMBiR%O2WR!_yDw}#Cc$0+(*CzG~ zvyrrnGv$wrWt_~z(3W#d(&1{7X9ys1o$9BnXi<-6Pd*adh<61W1Un+$EU^%2%jpb_ zP(PZaHzK21>1W7{rtCfnqZ!f&mw?(oa1uIxv0<@JZx)DAmxr(Tj+y`s2lVQ#5bw9@*Q!*SylxUmbxQZ*dEyMk{ zqVOz2S4RbZhoDv5EtC4_>XESC`ckQVU?X~>fNK<_UMRi5d)@UHF-!_}hPJL^U<1}s z>oPkVEt2%Uy81})YlxxP`X4u4eIcwDNHYr_M)^91ud#58W1D9X9Y?+03=P63oP(s@nIc zzloz11g}k;k0zLIeoaH%Cf1z8wDyds&%{NOb&)ILiLiR3>1MiLV{UIPTHD*-5~ZnD zf?HtTX3pSQ#BS!@Pb^Q$qeRlj;2oLZpuL)!B6uhY%o0|VZKe^yuqDvILWCr6(SC@m z1j^1M-(-G+`k!zL+9C229@!h?`6rA8iy7(u+s1Cl?I>O43-&@N*tfS43l_~nHovSB z?$DXr+Lfn4+hVM=eacj0gRqjODfNlq_mH@SCEU0`CI64LlCr;Mh(IAt=y%% zb0hF;XRq=b0&vbmZ_N#s#sN{FsLbF(*B%!Blof_tOD)anXt2M4b`d`xlBi|*sN`**MxO^#J+u;2kG-@&3I;QSeztB#=0I3nNnXXq4#Xk>oI@_o7V&I@ZF zZ&Q8~{02(Qf^*UIb5^qhzMr!zw-Nd|o93mj$#g@WNqV5nBnhx3F-mxGPfvEY+p~ki zyjSqw2%%WZK~xe4qX)9gFLxA~W!CZ3)}*7o%#Wj$auFO1=bdcT5nelKN^MNvY54mD z^HS~uQCKxxS22|ZxlyhYe4a6Tli;B|K5P?w3MFQR+#+@{;@#r=#!n(CgC|*9cZ8Z` z8);uO5 z_k{HbZppmM)Pu1gnb#llu{D|Xq~T&Rml6>AC7pCCvcF^-|3&ea9PD%O+0A)+gXfCQ zo$W^a$z-pG;JcW$n}c%!iPYjer|srqIK=C^Peow_>VL&1Rw3vsRx|LjrY?x22hToN z1fNCpSFGk9QcbOg^>kIEi@mW+!*o?w@Dvn&#o2R1n>|!cKoF9>~hYcJ=8JRx4 z{CR&M>K;s-t_gPHeR+}KFPS0zA=sG_{ITF>2>+U$IE|>US^aYC`I^Jf4Y?+njnc1; z4Yo5(WOsVnE$hhH-y?V{wtmCG>WY$Y7}z(^&mW4Ub^}d45qv37SLK5Jn44O<+G{ev ziw42WuJ+Q1%Lv`eW`|$^!Xe;OmPxK7H-$wH zqcnvJz80qM@B4|1mc;?nfoU+KFP57t(8FGRG&~M+I>sa5 zAmj2jzCH{Q$>-M@mjypU;z3%Rf-F-x4fzMz*ds=SZ$+UR{0`AS;;{7)=j0ij(s(Jd zi*cu)x4oSfj(h?X?9Nt(3H}CwRJB#(P)!xqo0~K>Tkt9@P2=`7lSkcnVHF~SET(+L zCfN(yVUkD$9Ofv!;5Co=oN7+kAw-d-)j;B5uBnzNI!xbr0q1n8M<6Jj=AJ}yI#ptj zlg{x>VIouA$6ojw_~`%md$0pxGg^NGOhSqzFY zXnhjAzGGkNVmgWKd1u}qh{EJ8yfhQM8>!#1C%lUNj&l~nEApR2QWc)xGaMdA()S$V zUwH(0vzNVrr6~BGWoDs_64xkRpo|nrJzg`86`aYNg~@`~Am9fMZxCXBV8Cv~E`1@A zw>>rWjo{PB`hoQ_wWk&@17o zN7zO@l8(^c4;VLZ_qN-+0tH7{VF0wFT)Z_Aew1I^5p$I4>ydSoN9FU*JYMWN^TJuVmAA8meOg~JhOk}omOB)gID6RUp%Wk1pJT;ZC{uP%tmrtH7iW0DBuW^;%l z;dp}aBypOqdimKc=)lX<{(}7xc7n>Q5q*N;q7=`~uTRnRBwe&7GtDy5%SP-;Ruj$) zuz7!bH6J}w>P^8rQE-w4$3Z*AHebQVBt?ii#o+EalL1=vdLj1|E%kw04j0^3hUix! z`Mp@F*Zl1@FF;t1;jYu|*XQuj(TbcLF1+zf48ldD8J?T0Lp<{?71lYl`I)RjhUcxq zI*8DpX~$(Gn3A9Pgm+matC9UPe-$zSQKxyuxwtj22i~@~-GE1rNrJC4JVpo}=A_iS zg8L%(G<|6&pVSkCHHr7>p9-Fj`e*1YjSzN*W8#A7Gn}J$kZO_;6rN$k*aXj94oyF% z!;t~@h9eQ1OG$qem?Rw@XSueTb>o$=D9pjEvpjX>aY?^1z+T3}y|10%o4qvENpL6R zo@I|`RoB&EVMU_+EbrK@Tq>J|wQI4awhJzy>Q2Fp5cdmBXo|vLIC@*q^c)ET@Hu+O zF65o#I@!eo<&uGRBi?6HxI%C>So1isofhZ{!s=B;sU3p9g-;%b!pSS5*etoBB}cs;1!PD5sXy<*}x^3u__#{>w4`6_F;Hie!^K z!9^0=UhZrAMX%>bzZ)E(+p6x@~uf_(~+ix(-7-DaK{b6Pqf*&%W2^0JTdoCI7je78QWx25C zG*D`_V7(#!yu@s5F8nUD{6mTgWoUDiIrbdJCeLAZ z;|3%4Dr4jr6ko0Aghv4t?lWEZMHD6?zJLnrQCh%uUUHLb5^OJecQwzHf(zh$jar=% zeT~iSL#j#mI74E~%Z4mZ5DA$Egfb)`NQ z+#P{8=u{neDB3M7??05NSQV&MLnF61Dr1>9w-3$AuX{r|@|y%2Yc6^=yV zEpEVlcpiUWw2~26#3dciOM!S{y~MmC8qos@CRvS)A`VhD#*89S=*oFy-zrkoy0G46 zUiF9N--c^8`_~{(#8b?By7Jrf%ATlyhfa5#&RuEcVnp8I=q^F#9VRr7>+6cAfQp(w z9i%CyNfr3JQGCl1T#bnymuCgPH-~1V;BoN0ODF5kv(J0NO2K5Z7(8O{viCor;4Y0g zfif~}c>|f1ie8u2{6U1^KzI~WYd8XmY1aY77c&4@kxQm)2s=KSX}X!CzjHyUaKV3a zkylQ^VmRJoRNuv42fZd$npRo`|M`JZ^#ofHbdU3E*4jo`X0077RT0ga%pYmqqxIMD z{2u4wJ$g-LQvs)V>K5g*2)xgQ*cMCgvrG*n-DfA9k#XO+L}vUSWUfb=NivcD2UlKf zBwH2xi^j55!667Lq1IVMmhe{c6aEg9tEZyJi@EzQ6%1UYmaR2k0=Ek5)ecR4F8BeQ z9&p%ZAkZY85&M8uh9l*Hc@E(9FI3LzOIpgDa3ao0ew~_XgKSmb32|j;vpavoQPd2p~Y5Z~>Qisc56zbK{ z)FQzjFXEG=;1?)oiAI;WF{cYFk&miJ1S=QJc+A@}C&WEwhleBQF`M}fCFa)?wE2sR zayy@@J{D&>gxJ40$eGCdizD)jBYzYm67P@rqaeYzVJ)Lp07A-GTQ;Ih@-7m~7$$2p zVp1%6*_^xUf*Zl@3CFq@!k(~A7cTeC|96?pCoJCrg-t|E21x-mIW8{WrQhPg+V^NKILv$fp;PBZ+3fH=)djFUZbf95eH%E-}DGivIUs4EivQ>C&6-)+dBEeoy=pMUu4@un#HhZg3+@dY!+5!W>}PKIq3!d`F)QV>ZA zf2NrEf{Eix`f!#ggutPkMU&CSBvu5PBm?uxX-Iu!n_t-|E~f{T!Sy8_bpRtuj12Hs zy*0H?a5P`xHVKZyte0%HE@EDCmX0CKB#%+_l52_yLor*wj6{p2fz_YuvY)W(AV8IqL2nZ z2aCJwJg&t#l)4)hwrNDMA10J?+YyQmJMZ;;LH~n!hlrK@V!y<=@qOmwQL$YQ6#A8kX(c zQwwTv4qh<2BuV-2p;_5VGk91ze7g~1WheP!Y<{&yzSZK-J;u2vRdNwjld=m)t;rto zr|vbWG6hbxXmSAB)S~Pi#MYu_cVyJE+~l)DVr{C#BdfN>-|EC1wsIOKp+248bpW?a zXR+fj-$^UQgLu4S+^cY#$q1t=f6Eo^#CANe)rpNy!$mT!b9ka^DtcAmP={6ea}p~j zzLxL5Kjf~)2eZl{JB`3PmX+K{^Xjn5AQZEpb_v$HBqQKamkn&dEc0tK;_Fh=74_@! zs|;Qy;fk-vPEJ6aNvb2W9#x*hx4tFVYVh%~vY8G@s!#P~WK&|>(OFlaV(WM5N{thI z03NT?ieC}%I+b@}*6XZo8A{2tC2%$?XK*rq#ZVcKx52pqjr;{+4J_`q(*gg^c_Dui zQCVU&k{fVN*2AG8*O0%)msV-B74y0T!Qb;~XuIIH2yMvuzJ;WQG${fZ4K3TPN4X`p z((IE_ig24{p=~)6h55pYOV-p9!SN`yaY(wrxe?26f>$Hfb_&srEGuo***?Qv#hh;C zLvUNc{m`^A%RE4!N!np)V~fAeSHBaD85X;u*yM)5)`Zby3^(4jV(J2fG@(QHMrjj^ zx9ehNXSKzMAxz8o_*2o)t8SWVCb&6*nsQ7VzTk_RuZu*=_im%QEHMi@bx5Vjd+tZM4?HB!=o$7 zG5)(SlFP_5NqabVBl!dKOwt=!CRq-r?j)Zh+$0^5YLcPQyhvUk$RzENWRjsMHOX@R z^D0X_z7xjRH|pZ|wwBrsgPL2^S4ikV-@1s59+pvUcagR6%jR@i%ga%P5K}y`C4UJm`5w}n@Enc@&qeZn% zi8~d9@)H`B5~Kt{+)4?esPKP3XYltto_Tk6c6N7mc6N5pms88i?_O5^%Np9LR4=bB z@m;s<>bgZ+@MPEd4SLG)>O*~p`VDX1v}McY?++d3+j3ab=1p2QYvO1+v_NP{b(K0?QdjK-KkTTfo`UCi>S}=C7RZdX_*koX>1w*L z!r?mIvP4r@Io%R(Ypd&Om*!Mha-^<~3f>3b8I~os`eC|Sp*yQz^w(9Y;L*sPVe!xg z>?)jLsjg|saF1g*%L+90vEh_HhmbhSYHcF!#aX)8raaeFfz+Jnps9ZacSGlgRZ@HjUJ;6;Qb>$;?686lp#9Q~)&{e#!JP{Oc@eiojT~{f>D)F_Z zwhK;NtgBxImuau7LxLl&YAQqU4@i&ae2yX~-qJ-2hSzM%U~Ae?U9~Ib9L`BBnr*42 zZA9v9OCPNaT;^E(tv6q4YKsVrNAMg9ltAO5A@R2J;C;>x_TtI z>@rO~6WjuU-_mH?p(WF3S+JAXCl2ElwK#{;(p#wn!5)irwM1|YL?v_9L(A%Fo3Msp z2V2|5aYiSEb>%yyvIMt4K{7W*R*bH$2`h}oxh*&mUhC*}lMuI#+b}ahR~;nOY;L7g zkl^9STW2|;Z9&R+mPw8^zWUqXG>n1tO>mk_2QQKqafO<)ybTti-*f$rAn|){FBjyP zrIv7C&r%hHucv)WAay<0sXa2x(qHi0K)bX-;0DV9YXioh!4fs*3gF8Dq^J zzz8NavDjqR)IjD&YLAEO51iJ&81)0030U+4Z7}V=rW_JEx<~7(rQk@UQOcUwSy#P; z<&S%8p?wUOP1Lp$ft%>G7^SO)BG3(yX3ZB!-el>b|F-~lHdz{LIk5f6{`Mo_N4i^2 zME%HSFX!pXO9DDEN`eufzK%%Ov}kaXd$)=E?7x z+9kMqLtUi_-hzyuINye-|1TnPKTQ6qp4`YC*VloViyb4)oNjR zKvT(ruOl&qx_(4K3awHwOINq0W-h#b;kZ^I{1*y*fi$y}i)SXW!*?^MJ{e(~E&jGx z>K-h+ctnU&!{2WIl+9dq3ko;$ukVn4~zlAI^T(h zrQkCNPo@3lxG~BJ>sF3Z(*>8nqEyQg>&area+8jaqyAR*_z{k5W$emAz&6gnfuwC5 zdIWN|S>mqJzXsmmM8shjo^evn)*)g7f7P0HWKM1 z*5MJlIwLh(QLvL^c>vd46c`BaUEDnV5oeYZ*6(8MT|=XC8@}$pFY`Yx%5$y7}rfLeVi2A#!&>O+KslE`&yV+-D>@k_ckZUqm!m)>??-06& z)@_E&J#_NJC^E@!@ZL*%oWi2LEFD1FUM}pUi1W`(=0V@ zXB@ivPvpI)>PnNPYlZb`Y+D5xl-7>Hb3ePiiAa;&K+1lekS~^?^a0C6?H9~BK>g*h z!z3$^e}D~thwDL>Cc^I^ODz#@md0R_SsH^>vs40k2kC1=;F(U6gRpcm2O=SzGb=Yy zS3@Kq-^CuYW&v)SBnh@d)L}=!A+{QXDTgdwtl>;*HHowPk!jXUhwEX=&4D+G_1l`d z3KfA92tUkIe>O4>(_nkqbeGf|hs$pa>XFF$jcq#L(^R)NnI5zw?EEAgM=WD(zcS7J zS!$Yp%7aHR&+Q|$R%f^#W!Hbh+a$RNIm)Ju5JzJ3VJa3Z0eW0TUG)`Q5*em2qwG-z z$lA4-ZA(oFxc!gqcO&qB6ljjf|8WVrBZb7a{E?Rc2Vp%%;lpqoqi{N= z9OHUDABw+@SsGg#RnpZ@A~+T98J0e_7rl8F3Tr|arS1ssi?|Hx8H)88mM-=-G-4A8 zuQf~av=H1dLQ`!77l+$%CcZW5yvsQ6Aoe&Xkc^b$)YSr6$GJQ$U_C(_mwlnBd(t!j z0Vb=60l-zl>sdsRrFBK(32JzR^b^#bS)4&b1Qx>kcM60dh=i=Thy4XC~X{BQTSi7xK6clLWUeQZl)#LvSRMUb3@-t`T6w?T~bmt9qCx>~mqwLi$N|d<*#|X%E*w=o~LN z@Gg>6Cz|&$!2=P(YV9fF{$R($knsmC_#s?QF|^b~>?w|OE|#5Q^zHvpQ@)aXUq$XI zu9`dZ!QsMc&VUgmcpr1n&jfoRD2uvmNYCPE)*?TP-F*x9Kj~v@sj@1gqnWGz+f7%s z1P?&WpS0P0uExj0GLZKt=Q-uBrX~q12`;C3$_zyEX&z6FxN&Yu&B8WH{Ui8eWS!0tW+p*rMf$;N``lpAkGNtDHXLK&XJ&=A`076n7u9) zRu4vt)q=~@lIsLdLmm~{*3z-|3oFV?S4RXtg6Bo{{ylszvfDZcBe7Slt}COwa|&L( zyq6MeUaQLq&O`D=?$zH>c#-S4nhC>jscE)WsVKq25s=I9(T&+ag0NB%mCGKFU`{R< z?K<))pv{8oCC+{T{4UYgHX-JcrH_3wckuuo`{q)0zOU5Bf^WaiYqsFJxOa)JWvS2D zEUZUxyG>5qO!pE+h7`#X~P@hUJ$noi#7yUbc*}Kjq!Z-`%M?i2?-$A4zz1z?ttSO_gps~Pt`n}8df6l8U=2l$P^e3 z@9UOH)?>V%9~FVpNWIPgvw%+l{|alsV@R*w)}eIvM8L#5UW zUc~79v*1fMrV@hFcst!ISaA!d3$DxUe@yUQF83dT5022)S-~T2DwSJV;osYq`quZU z=$TZMf%hF6yaey;wV2nM&R&f#R1E}gM%*3C3F}ba!F~|dBZU1;b9TZq5^D-`;6kbC ziQK;#Hg}L zJWQ%^7T2WaZ^YcAd0Qgm9zACS-2P#>c*;A-N1o2^CfrjhLa_Z4U5ymH31Rv__+bmi8mf;~Fa&zIh&#pHh^!{s)Ni@keWZtK@XQ0R|b%fsoiZn;~14f?y z4EMXMIXlmsp{oOeCu98sdi4Uh6p*Y#WB~{K04W93P#(7nXoubieaOjl!={JS_XL>_ zS(gLXM=VW&_ah#@1F+sKxgvwa9#cEGLm*6W5sQU$9gWF@y=_n7ATf%CL zu*d9YE>a$I7Jno6G3UMug^xL+^9U#;(}t)*_OlL&g&ad`WRlpkc&+@~%h}z608Kp< zJeHf|nc!3KenRiLSc2Zen~>=}OMlW-1HqFK_k^8I$I2({tUvOe&={8x_^+jlqpp=t zF(UW4ov!{AJgBu&If5;WhgSrj!X7rWZRQ4YtL5y<#%!RH;GwWR+0SVIePfy5 z)^>JXpHaJw;6qQ9>Lj=%JfG8q#}M|Mqq&RN=NwIYEPKv4*_H{!d6DY}+kfmJ5kdb^ z?jE8@tN}%uvfG^Ns8IkEE=Kl)FB+K4`8Bs%F z1%0PfQ^8A_7y1dV4)0gA>Q;<;MQd%wqF1zCDALSQGV)kw)fqH@7x5Cy>Kp#n<=ie$ zgj07}wBfH^Se9aV*lsd;ZCuYehM~on8w;+qEZ6X{cV{&3FPs_W_&y`}$WBcS7hE0= z&G6uJXOL#p(!NBLM&)aV$+Wk|6YK75PLwXh#|Xa;-rgv~H~tX-KH`8RO3`52*w5ziAa z$1u8BA9H{1k(%D{b}=T|is-Gyc*2-wpO>bTRq$}6xfp${zj0MM3CjY{V#Z+WGX~Gu z!kUVNVjOHR3X5?VKfzYq7|euxN^zD3BB{9HUwIgPuU8{y2S1lks-NKhI^tn*qcPps zs|3e>9DXG@(6vZo$@Z9${i+By+@Y!4g6rX438M=i27O&=sbgw zxl>QUHxN>aYGxy*l(EFBhcUiNjXT`lW5XKUcc+DQ>H|&vCHM*g-{WAj5&a(9|AJ-j z(QtjBSy`$9yGcS2WRg!1MPj?p^L@RKb8HD5=g)!{W0TbwV=dw<{X=2-!mBiGcoTl5 z*?uX)S+d3PS-wFNXZvkRDTm;LSX7z=S%$RIbg&~X%ul6e#&BKD5&S+p%NQQkqf8)H z39B{&$>QlAR>r7hy}-wW-=t1<`+5tZ|F3d{AxEX!;5R+jt<8hBnYe)Xt(Wj|X$6EN7E`Y_%APELop1KD27)6u*r0@|^7!6qILQE8$v!UR`_$UkXKFBt}&*{B2iw zEFKkBCB9H(3a*N@3dUgD2Hu_CYwlF}1%GEKFE|Xo?wt8O#JaPWDoAlRR`WeJsG{K$ z>Ovm$3`V-oBs ztb7!a#goX(gQOEWc^FGlHo)AoT|6;Axr68d9HXRjL(XtF}T z-thLOd3IsP}M)XuLf8X<@)5h{zUDMCm#}~-+!iK1Enc2ws~vUqFhB{dswGVlsMhXPjHXY%=Wys&=Zo5d8tX+F#q1TTbN4Lbi} zX5a^ewYjvWjtX9f)EYc*to*J0wy+X$uLe(*o7{md{GFpc!RLnn!9O9^i;J-b$zF7! ztrK-MLTU~r@rPc)caY^pz5U~Kl_;#Xu-4@AZ9r5_+N3O!YSNsmI4+Gjp?P+dMJ8EV z9tvu5eOI{iX-sO0qf;%m`4Ta;sNo>8YfE#4FxJ_(=FCnEiRsM+F+KiD0xc1$oW-2th(Z%7*y!&%u{lipfmf*X5txOPHd!eqr z6l}p1JD2<}cG!(tj*Gng{UJ3K=kcZ{_`@JgI{k!Ih9vpTqbUz75z*3L+bDGzHkxfW6#9A(_@{ zT(%n`{x=*AxzPO)+K{V113OGI4DOALct>SEMH~opcK0NZ@n3MU@k(V1?l+JRb%Hk{ zqY?M&MP5%Tw|6%4K%lqLMSngP3%rfd_I=D)7f4kMZ!U>~pYTq$LhvuJH8y-~{|;h? zEUYCHm>~;}M?_;zWf+ng^LV~V`&R7W>}%d>O?e6)iK51w)?#@1(8zq7^I>Tw!cAgF zoJsCry$_G30k~(1l!r?b!zZXbFQR{mjQ$8Wx7d$3MsV9O*^4uyC z{10NAunz~4O%jD8CUL>-CbaGr1Ua}gtue*HQU~NXShoX3CTRe#rkveAgp*VrOeb#J z$vHd4H`vaCU;K-$O^uq&5VD){BydA;GqzQTZpQp`6;ske5nPMhW}Mta6jH#Z=IW|? zXQ#R@{AsF=;E&;G&h~W>+MIo#MWRW%BC|OoMah|r_ab)>UcMYL?dQu~v6P3%E2(ij zq+@n*YTk@gUpk-x&lcQtwU~xQNX=9Po2&^8)v>~Q53wdo<4LkoSgVlIf==41imvtv zYXokaQu`O_>b$UgU~6e?({3ZPC9fV!>*{J)S7-kf$MM1^cpGEuc)_9YdY^h7%$1f2 zt0BVQ=k6Ge)b~06lE|h2BcO{Pi50#k*?~wu*7+d8kJjikLRT?C&VEKBm#orvy_rJ` z>*XXgZDsW4w=gtTE?T&n5nePLx`Wg8B988S>#2hU8h5B1wJ3JhZ+vRUMc zCTnV^;D?BAOUEvO1WNJeuRU$KNOt75r4c5>){d4Lg{XEk<8S;1E;86TkXlG;$5u($ z!5Z$v9Fz1%k;$9__du>$JdJfy!~+o$NPX?FD3Gx^nKLTZ)2V1WQUmGZLGWx(4W|*< zp1Ds|zOO74fk@utzY^T`yizL#Uq(uMx>W6jy=r}YXt9xwS(cWKQD%E z9gM~H(Yzh^>gDYI!ak-ef`4S55-#{2iaO97C*j?ZqdS9@9XYyfNbAUnwdeW#K;+ir z8CkXr&b2&`6f-~Axk;(Yf-fMj6B|}QB#G@nLw-aeHQl3?>Mb}5$(@*ZRpizkAuIaJz zT|0#LRbj<2n>Zr)44({s7yN=}*lEGfYokS1qp?lrPJbf2&zJBnAUGVcUFnJ!kkysJ zsvqVAF~P6v%H7i2InQ>;4`K$nmFIrxK2BD(3re{QE{pJP^v%_X>1OaJ=P;b@W;E7c zM4(uAJ`Ie7Z+Gq`f5wzFX>c8}-Rbo8xgm3eH3uo(8MXVt+JmZAz~1Ba_6qI6wOzeL zS0DCu_PhKqr3MN1Ln5pBTD+qNH^31Tu#NQ!H^3ed_#EEB+!NVcvXjE9h>&20$aJ29 zuY`3B>w`I(OT27V33c|e5ZS?0*${3$nFnv;0k=?UxH9T1!EKP-lk0w$j|>}ywbM}Q z7r~v8)zetQ9Ujq($KOfh^x|NDKv6HIbSL>@8Lgb1mEarIB*FI)_W^g_MmmFwupZTA zDl0hTG+)~VUq;>sT(toBhA{b^$qV{4sX5$)pU??*aWIz=oLh{!jNp763E}^iu3?lk-s=JZYpM#C>#0#wEY#NDlvdr(5O*ww(+n>ql9~}Bb5%A?H8!K2tco?Os zBQA`Ct%>X~DqRY2{j%MD?M=7xwSD_}Lx44UUPYxH|zYKfE$FCoS->iaq z`?Yx~L=B(;()kj8RH|c;IDm1*7wH2ynRX~LOZo5~$T8AF@C`CRD|!}5Nq4nqMoY4zYfn6rsQ z$Y4g$Sx6ns@SV{^S6_*H#K3LH>*uYoArv2q*dZKLES8zfe~@c3{h>vWOolyz0WY&Y zQ&?%-kPCEKa4vR4&|p6xKZ0HSRa;lh#94Nr)5lE1o;2Vp3oD14s-NJ+Oz6S|uN=%Q zSnyh`WHW1P=9n{u#gBA8<}{9>{!k9+G=hiHX1kF*lpP;H)=-)|o(t|HE4ry6LyX`8 zXv2&p`pfG0YM4>e8pz^r@GFcOau(O|d?=kS*!Y&dPb70JU5kJ6j! z@rN-Hcv%`phZ`ICjZ4%Bj_(R%Y)di3QY4MwQPA)oO$`>->hAmuLh!|<{0u^{8;V9y z|2OC~k|*sdI%vAotjD5}oY8iqnj{(7CShVVlB24F;885iMf51z_9&7~QVLn4n3;^M zp{uXOtRM44T_re+kE+Rn138)>1b2dMG#GH}fFb9hVvD zA_ezA_!!#mK0`sAu%=zr)O^96v69t%B1kjIMdX>nr>FBM7lEg|LS_rD1JALvzyU;# zHS=~}_v_0hnTC|Hoa_x~Q5@MHa73}x7IUKb#Jde%c zAj2$0;n_H2aA_A$J~HrlGk0~-3k?6nXvGUz@+WNlE%tmu!8^E3VqM>czRAPE6#N$U zPpRn#1bxag=j+dzc1le%(ip)bkwhu0J0Cz3g%yL$PpR@8iaw>koZ)N^NzKc}s2Oe4 zwDqMOE(vb{qwt%P_Zq^ZIVLy6L{mWxtdHhix&oK+#zwxKrHtq9srwNVJ8{2C8JapP zI25_#DclYL6KIS{m@CU7R#;Pn}YTEv*|E3H~1q!V17j zviQ|_wkdp?TO(X*2E!$Wp|6N9J8!n!FU)i*Nwv<6QC)C31jiWH_}z+QqOr|3f${gv z6kC4xE@_BC(L_%7Gq_KpzdgaCN%WDk9p4?CtN2-3ps2iqj7i37`(_^K%Y-#=f>Nsm zci=lxvfx=rn9OPSz@EvRwgtJ9X_@&5n8MQEh?qiGE00Z6cruKy`7Yu`T~#VnHr~f5 zFr}8mZz{bafl}+FW(;Dca+ERL>idP&li}ou-~~vX%B*oY0zc>cr^7yteL4^{jVV|P zPu4eP@Iw-7tZrOQFB$cEWKN?s{zg7)Y=ihFQcr3ImsW3cj0AYaQmQNbVyQBpmmyD) zYJ^3x?5q+}DPYZH;PH@}y2y?-;%&Ql@fa$sp`+g|$@_?&ZcMVS;8NF=>g6b$&OwB7 zN%;=>dOKwM^0Oqt`{0;ijIlpqC|xKltM=~1vP|J+RQNlPK7*s;ms}*)kN9)UajD6J z`%L=iag3VD<@pI2EIEcU8GJMBPk30qnOt6Pe!?IPUuJ2lzTgxD$5BaVB*$@cbo6@{ z$kPsLZv*)`WW{k1cTgC|u1X+u7ANwUOuc>os!4`nl|& z5ZNTQNyXpUY|-*}Hj9GiJWAa{@H`sjXGEK&93;`Oo2QEudm8jBlx$`y0X8K;dbI5 z47{F40~E|RJc7padLJmPm#dWOD!38-?oFODote^`Jf*YOyFBH;PVe%Ru?R^p`slBQ zU_%05H2sm0z==P^y#!XSE95XT0;# z82WCY$n0*d-X=HSa{+>PMJ_Z>)L~e4Y&CkJ$yUR_?5)OUJR6>ErAM7Y^fr>oxNVXe zh}cfTcdG41FFJkw9V{_nGf7w2c9J<6qfBxhdrWeMf2cvy9AUdC@&U5UQayO>CgD$i zB>LlJIJDd7$z0iO54jHzL88A%#nwIK)`qs1+}{ymlIut|$rTisWHSF|f@B2}O)?*O zCfN?hJ`(;-h)H%M%Ot1Zm1cI;8{^Zc^h>0($iv!gKgo4Om}DAKP4Y9e10)I|CfSZ; zXQ{v>B@lR!q!AKLQk8$-K%(GCC#j7%lXOLvNru4d5XnVEo1`z&O~Nnz50eZ;gh?(U z)g-N<{YJ6^AtsrRWRv`c0+TdB;1Lpj9&eI0$TP`6IF6ER;olpOJV2I7%EIe^B;O+1 zBnOdhlCf|*MzRJGCOL>ylRSWyVKn3iYjOQ8XbMBwH}bB%dOYq|%k)7WMUebTj$K?f3fM{{i%9AtV3* delta 15396 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 delta 16267 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 diff --git a/AVR Code/USB_BULK_TEST/Debug/src/tiny_uart.o b/AVR Code/USB_BULK_TEST/Debug/src/tiny_uart.o index 39397554c31f6a4d2d03835f3eedb297ffdc820b..a62a3a62aa3441574f2e4c20cf9d78ceeee332a1 100644 GIT binary patch delta 14914 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 delta 14915 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 Ba`*rM diff --git a/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.elf b/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.elf index 072d93d0e8df848b70bcfc0220023c63cd6c9a0f..9e1057ca6c7da769de24907ee9d8394aace420c0 100644 GIT binary patch delta 5608 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 g2a_0+i5EuD@4((+SWp=7Oh(JsH0A2k`O>7 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 diff --git a/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.hex b/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.hex index 4d43108c..c114372b 100644 --- a/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.hex +++ b/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.hex @@ -1,623 +1,633 @@ -:100000001DC1000037C1000035C1000033C1000030 -:1000100031C100002FC10000E8C5000035C6000056 -:1000200029C1000078C6000025C1000023C10000DE -:1000300021C100001FC100001DC100001BC1000044 -:1000400019C1000017C1000015C1000013C1000054 -:1000500011C100000FC100000DC100000BC1000064 -:100060005CC7000007C1000005C1000003C100001B -:1000700001C10000FFC00000FDC00000FBC0000087 -:10008000F9C00000F7C00000F5C00000F3C0000098 -:10009000F1C00000EFC00000EDC00000EBC00000A8 -:1000A000E9C00000E7C00000E5C00000E3C00000B8 -:1000B000E1C00000DFC00000DDC00000DBC00000C8 -:1000C000D9C00000D7C00000D5C00000D3C00000D8 -:1000D000D1C00000CFC00000CDC00000CBC00000E8 -:1000E000C9C00000C7C00000C5C00000C3C00000F8 -:1000F000C1C00000BFC00000BDC00000BBC0000008 -:10010000B9C00000B7C00000B5C00000B3C0000017 -:10011000B1C00000AFC00000ADC00000ABC0000027 -:10012000A9C00000A7C00000A5C00000A3C0000037 -:10013000A1C000009FC000009DC000009BC0000047 -:1001400099C0000097C0000095C000005DC6000087 -:1001500091C000008FC000008DC000008BC0000067 -:1001600089C0000087C0000085C0000083C0000077 -:1001700081C000007FC000007DC000007BC0000087 -:1001800079C0000077C0000075C0000073C0000097 -:1001900071C000006FC000006DC000006BC00000A7 -:1001A00069C0000067C0000065C0000063C00000B7 -:1001B00061C000005FC000005DC000005BC00000C7 -:1001C00059C0000057C0000055C0000053C00000D7 -:1001D00051C000004FC000004DC000004BC00000E7 -:1001E00049C0000047C0000045C0000043C00000F7 -:1001F00041C000000C9463110C94191295019701F1 -:1002000099019B019D01A2019F01A101CB09CD098B -:10021000F409270A300A350A860A8B0A490A530A62 -:10022000610A630A650A6F0A790A840A410A4B0A5D -:10023000550A630A650A670A710A7B0A11241FBE00 -:10024000CFEFCDBFDFE2DEBF10E2A0E0B0E2E0E240 -:10025000F6E202C005900D92A03CB107D9F72CE25E -:10026000A0ECB0E201C01D92AC35B207E1F73BD083 -:100270000C940E13C5CEE0E8F6E08FE0808385E0B5 -:100280008483089508954091C1202EEE32E0429F6C -:10029000C001439F900D112443E451E06AEF70E0E8 -:1002A0008658994D0FC74091C1202EEE32E0429FF3 -:1002B000C001439F900D112443E551E06AEF70E0C7 -:1002C0008C58984D0BC74091C1202EEE32E0429FD2 -:1002D000C001439F900D112443E651E06AEF70E0A6 -:1002E0008259974D07C787E08093A20078943CD647 -:1002F000C9DFDBD7B2D0D5D060E080E07FD06BD053 -:100300008CE05FD046D5E0D5F9D5B5DFFFCF0895B5 -:100310000895E09100208E2F90E08830910590F4B0 -:10032000FC01E250FF4F0C94FF1247D10BC0BED12D -:1003300009C030D207C0ABD205C020D303C0B0D3B0 -:1003400001C025D49091C32081E0911180E0809379 -:10035000C120089581E08093C42043E451E06EEE13 -:1003600072E08AE796E2AED643E551E06EEE72E0C7 -:1003700084E797E2B3D643E651E06EEE72E08EE694 -:1003800098E2B8D681E008951092C420089581E0E3 -:10039000089581E0089510922002982F9C7193682F -:1003A0009093200287FF03C090E182E002C090E0BA -:1003B00080E0892B80932102109222021092260263 -:1003C0000895E0E0F2E010AA836880AB80E181ABA1 -:1003D00012AA16AA0895E0E0F2E010A683E880A72A -:1003E0008FE281A712A616A60895AAECB1E092E0CA -:1003F0009C93E82FF0E084911C92089590917100F5 -:100400009D7F9093710010920002623011F09CE188 -:1004100001C09EE19093010290E490930202811149 -:1004200002C080E401C080EC80930302613011F0CF -:1004300083E001C082E08093040280E2D6DF8093F3 -:100440000C0281E2D2DF80930D021092180210920A -:10045000190281E080930002BECFCF93DF93E0E7E3 -:10046000F0E082818B7F8283C0E2D3E08DE08883DD -:1004700080E4898389E08A8383E3B7DF888782E326 -:10048000B4DF898787E3B1DF8A8786E3AEDF8B87B6 -:10049000E0E2F6E08081836080831482DF91CF9177 -:1004A0000895E0E7F0E080818E7F808380E880938C -:1004B00000010895E0E0F1E0108A80E4808B10A252 -:1004C00080A310AA80ABE0E4F1E010828083109258 -:1004D000C320089510920020EDDFE0E0F1E016AABD -:1004E00094E290AB11AA49E542AB32E033AB6091A4 -:1004F00002207091032064AB75AB6AE774E260AFD1 -:1005000071AF12AE8BE384AF83E080933D01109214 -:100510003E0120A9206820AB10924601A0E4B1E082 -:100520009C9310924101409342018093430140917A -:1005300004205091052040934401509345014AE620 -:1005400052E2409348015093490110924A0129E335 -:1005500020934C0180934D0110924E012C91206804 -:100560002C93108A20E4208B24E0208B818B81E95E -:10057000828B80E1838B47E751E0448B558B908FD2 -:10058000318F128E4091C3202EEE32E0429FC00187 -:10059000439F900D11248658994D848F4091C3201C -:1005A000429FC001439F900D11248658994D958F0D -:1005B000168E80898068808B08950895CF93DF938D -:1005C00081E08093002076DFE0E0F1E010AA80E493 -:1005D00080AB94E090AB11AA12AA5BE453AB14AACF -:1005E00015AA16AA21E030E220AF31AF12AE40EAE0 -:1005F00044AF38E030933D0110923E0180A9806AFB -:1006000080AB85E58093A00810924601A0E4B1E09C -:10061000C4E2CC931092410189E58093420182E0CB -:100620008093430160910220709103206093440104 -:10063000709345016AE774E2609348017093490141 -:1006400010924A012BE320934C0163E060934D012B -:1006500010924E012C9120682C93908B618BA1E914 -:10066000A28B20E1238B67E771E0648B758BC08FD1 -:10067000818F128ECAE7D6E2C48FD58F168E20895D -:100680002068208B90A381A3A2A353A364A375A386 -:1006900040A731A712A681EF97E284A795A716A6D7 -:1006A00080A1806880A3DF91CF9108950895CF93B2 -:1006B000C2E0C0930020FEDEE0E0F1E016AA94E282 -:1006C00090AB11AA39E532AB83E083AB40910420B3 -:1006D0005091052044AB55AB4AE652E240AF51AFD2 -:1006E00012AE29E324AF80933D0110923E0120A970 -:1006F000206820AB10924601A0E4B1E09C931092D8 -:10070000410130934201C093430120910220309176 -:10071000032020934401309345012AE734E22093DB -:1007200048013093490110924A012BE320934C0178 -:1007300080934D0110924E012C9120682C9354E02F -:10074000508B818B41E9428B80E1838B27E731E03D -:10075000248B358B908FC18F128E8AE796E2848F1F -:10076000958F168E80898068808B50A3C1A342A389 -:1007700082E183A324A335A384E380A7C1A712A6A3 -:1007800081EF97E284A795A716A680A1806880A331 -:10079000CF9108950895CF93C3E0C09300208ADEDF -:1007A000E0E0F1E010A250E450A344E040A311A225 -:1007B00012A23BE433A314A215A216A281E090E298 -:1007C00080A791A712A620EA24A798E095A716A6CD -:1007D00080A1806A80A385E58093A00816AA74E2B0 -:1007E00070AB11AA69E562AB82E083ABA0910220F5 -:1007F000B0910320A4ABB5ABAAE7B4E2A0AFB1AF10 -:1008000012AE8BE384AFC0933D0110923E0180A9EC -:10081000806880AB10924601A0E4B1E07C93109216 -:10082000410160934201C0934301609104207091A3 -:10083000052060934401709345016AE672E260937B -:1008400048017093490110924A0189E380934C0159 -:10085000C0934D0110924E018C9180688C93108A48 -:10086000508B408BC18B81E9828B338B47E751E002 -:10087000448B558B208F918F128E8AE796E2848F5E -:10088000958F168E80898068808BCF91089508950A -:10089000CF93C4E0C09300200DDEE0E0F1E010A2B1 -:1008A00020E420A3C0A311A212A24BE443A314A2EC -:1008B00015A216A281E090E280A791A712A670EA85 -:1008C00074A788E085A716A690A1906A90A316AA9F -:1008D00094E290AB11AA99E592AB92E093ABA09110 -:1008E0000220B0910320A4ABB5ABAAE7B4E2A0AF5D -:1008F000B1AF12AE9BE394AF93E090933D011092A1 -:100900003E0130A9306830AB108A208BC08B918BB0 -:1009100061E9628B438B47E751E0448B558B708FC5 -:10092000818F128EAAE7B6E2A48FB58F168E30891A -:100930003068308BE0E4F1E010822083C083909334 -:100940004101609342019AE4909343014093440132 -:100950005093450193EC9093480180934901109284 -:100960004A0181EF97E280934C0190934D011092E0 -:100970004E01808180688083CF910895089585E03D -:100980008093002097DDE0E0F1E016AA34E230AB7E -:1009900011AA29E522AB83E083AB4091042050915A -:1009A000052044AB55AB4AE652E240AF51AF12AE20 -:1009B00099E394AF80933D0110923E0190A9906815 -:1009C00090AB10924601E0E4F1E0308310924101D7 -:1009D000209342018093430120910420309105200F -:1009E00020934401309345012AE734E220934801E3 -:1009F0003093490110924A019BE390934C018093FC -:100A00004D0110924E01808180688083089586E0B8 -:100A1000809300204FDDE0E0F1E016AA34E230AB35 -:100A200011AA29E522AB83E083AB409104205091C9 -:100A3000052044AB55AB4AE652E240AF51AF12AE8F -:100A400099E394AF80933D0110923E0190A9906884 -:100A500090AB10924601E0E4F1E030831092410146 -:100A60002093420192E09093430120910220309123 -:100A7000032020934401309345012AE734E2209378 -:100A800048013093490110924A019BE390934C0135 -:100A900080934D0110924E0180818068808308957B -:100AA000E0E0F1E0108A80E4808B84E0808B118AA2 -:100AB00081E9828B80E1838B2EEE32E0248B358BB3 -:100AC00084E2808F82E0818F128E4091C320429F0A -:100AD000C001439F900D11248658994D848F4091F9 -:100AE000C320429FC001439F900D11248658994D09 -:100AF000958F168E80898068808B089587E080931B -:100B00000020D8DCE0E0F1E016AA34E230AB11AA14 -:100B100029E522AB83E083AB40910420509105206E -:100B200044AB55AB4AE652E240AF51AF12AE99E347 -:100B300094AF80933D0110923E0190A9906890ABD4 -:100B400010924601E0E4F1E03083109241012093DD -:100B5000420192E0909343012091022030910320C2 -:100B600020934401309345012AE734E22093480161 -:100B70003093490110924A019BE390934C0180937A -:100B80004D0110924E018081806880830895E0E0DD -:100B9000F1E0108A80E4808B85E0808B118A81E906 -:100BA000828B80E1838B2EEE32E0248B358B84E2C6 -:100BB000808F82E0818F128E4091C320429FC001BE -:100BC000439F900D11248658994D848F4091C320E6 -:100BD000429FC001439F900D11248658994D958FD7 -:100BE000168E80898068808B08951F920F920FB6B1 -:100BF0000F9211242F933F934F938F939F9381E0F4 -:100C00008093030180910020823051F028F48823E2 -:100C100039F0813029F02EC0833011F0843051F545 -:100C200087E791E080931401909315014091C320D0 -:100C30002EEE32E0429FC001439F900D1124865852 -:100C4000994D80931C014091C320429FC001439F56 -:100C5000900D11248658994D90931D01809110019B -:100C60008068809310019091C32081E0911180E011 -:100C70008093C3209F918F914F913F912F910F901F -:100C80000FBE0F901F9018951F920F920FB60F92E4 -:100C900011242F933F934F938F939F9382E08093E0 -:100CA000030180910020813011F0823051F587E7F7 -:100CB00091E080932401909325014091C2202EEE73 -:100CC00032E0429FC001439F900D11248F50984DF8 -:100CD00080932C014091C220429FC001439F900D00 -:100CE00011248F50984D90932D01809120018068A0 -:100CF000809320019091C22081E0911180E0809347 -:100D0000C2209F918F914F913F912F910F900FBED5 -:100D10000F901F9018951F920F920FB60F921124EB -:100D20002F933F934F938F939F9387E791E0809307 -:100D30004401909345014091C2202EEE32E0429F43 -:100D4000C001439F900D11248F50984D80934C010A -:100D50004091C220429FC001439F900D11248F50AB -:100D6000984D90934D01809140018068809340019F -:100D70009091C22081E0911180E08093C2209F91E8 -:100D80008F914F913F912F910F900FBE0F901F9019 -:100D90001895E0E7F0E083818C7F838384818C7FEA -:100DA000848380818D7F8083E0E8F1E080EC828322 -:100DB000128688EC81831186E0E0F8E034E030832D -:100DC00023E02183148285ED91E086A397A3168208 -:100DD000E0E4F8E030832183148286A397A316828F -:100DE000E0E6F6E0808180618083E0E4F9E083E181 -:100DF0008183148281E0868328EB3BE026A337A31E -:100E000010A611A6808308951F920F920FB60F921D -:100E100011242F933F934F935F938F939F93CF937F -:100E2000DF931F92CDB7DEB780910020873031F479 -:100E300080912C02898390912D0202C090912C0206 -:100E40008091C020891B2091680930916909823006 -:100E50008CF0223B3B4070F4209168093091690985 -:100E600089301CF481E090E002C086E090E0820FBF -:100E7000931F18C020916809309169098F3FB4F41D -:100E80002730310598F02091680930916909883F31 -:100E90001CF081E090E002C086E090E0A901481BD0 -:100EA000590BCA0180937809909379090F90DF91CB -:100EB000CF919F918F915F914F913F912F910F9083 -:100EC0000FBE0F901F901895E0E7F0E083818F7EB2 -:100ED0008383E0E4F6E080818A6480838FEF8483FB -:100EE00088E5828B80E28687E0EAF8E084EC8583FF -:100EF00083E08683178288E184830895E0E7F0E049 -:100F00008381877F8383E0ECF8E080E4808383E063 -:100F1000818388E58093570608951F920F920FB63C -:100F20000F92112400000F900FBE0F901F90189584 -:100F30009FB7F894A0E5B0E016968C911697897F3C -:100F400016968C931697E0E6F0E080E885838BEBAD -:100F5000868316968C911697846016968C93808162 -:100F6000816080839FBF0895CF93DF9300D000D02E -:100F7000CDB7DEB78FEF80937000809371008093C0 -:100F80007200809373008093740080937500809347 -:100F9000760064E081E490E00DD56CE170E082E0E1 -:100FA0000FD58C836DE170E082E00AD58B838B8155 -:100FB0009C81019621F480E493E28B839C838B8156 -:100FC0009C8189839A83809362008A8180936300E5 -:100FD0009FB7F894809150008260809350009FBF2B -:100FE0008091510081FFFCCFA3DF61E080E490E0BD -:100FF000E1D49FB7F894809150008E7F8093500089 -:101000009FBF2496CDBFDEBFDF91CF9108959FB7DC -:10101000F894E82FF0E0E059FF4F60958081682355 -:1010200060839FBF0895CF93863011F0C0E001C068 -:10103000C8E18091510081FD0DC09FB7F894809167 -:1010400050008260809350009FBF8091510081FFCB -:10105000FCCF6EDF6C2F636084E490E0ABD460E47F -:1010600080E0CF91D4CF8091C52008958091C52094 -:10107000813009F489C9089513D1FC0183818093DB -:10108000C520811101C066C981E0089590916A244C -:10109000892F807697FF07C0803491F480916B246C -:1010A00081110EC076C9803459F480916B2481116E -:1010B00007C08091702490917124892B09F067C931 -:1010C00080E008950F931F939B018A01AC0160E0BB -:1010D00081E80E948E101F910F9108950F931F9326 -:1010E0009B018A01AC0160E082E80E948E101F9192 -:1010F0000F9108950F931F939B018A01AC0160E04B -:1011000083E80E948E101F910F91089580916C24A6 -:101110008F7786C79091CC20911102C080E008950E -:10112000E091CA20F091CB200190F081E02D9481D4 -:101130008917A0F7E093C820F093C920228133815A -:101140002E0F3F1FE217F30798F49181943061F45A -:101150009281891309C09381691306C0E093C82066 -:10116000F093C92081E008959081E90FF11DEACF45 -:10117000E093C820F093C920D1CFE091CA20F0912C -:10118000CB200190F081E02D228133812E0F3F1F73 -:10119000FC014081E40FF11DE217F30748F481815F -:1011A000843031F0853039F08081E80FF11DF4CFC3 -:1011B00080E090E00895CF0108951F93CF93DF93CF -:1011C000182FA8DF882339F1C091C820D091C920F9 -:1011D000CE01D3DFEC01892B41F04C815D816B8125 -:1011E0008A812BD78111F4CF16C0E091CA20F091EB -:1011F000CB2092818381E92FF82FE10FF11DE10FC0 -:10120000F11D0190F081E02D0190F081E02DDF9142 -:10121000CF911F91099480E0DF91CF911F910895A4 -:10122000EF92FF921F93CF93DF93C82F60E072DF9E -:10123000811102C010E02DC0E091CA20F091CB20B6 -:1012400092818381E92FF82FEC0FF11DEC0FF11D36 -:10125000E080F180D7011696ED91FC9117970995E2 -:10126000682F8C2F57DF182F882321F3C091C820B7 -:10127000D091C920CE0181DFEC01892B21F08A8138 -:101280000E944A11F7CFD7011296ED91FC91139766 -:101290000995812FDF91CF911F91FF90EF900895D5 -:1012A0008091C8209091C920089542C6CF93809123 -:1012B000CC20811108C01092CC201092D020109226 -:1012C000D120CF910895C0E0E091CA20F091CB20C9 -:1012D0000190F081E02D8481C81768F78C2FA0DF82 -:1012E000CF5FF2CFCF938091CC208823F1F0C0E084 -:1012F000E091CA20F091CB20A081B18114968C910D -:10130000C81798F492818381E92FF82FEC0FF11D13 -:10131000EC0FF11D0190F081E02D0084F185E02DAE -:10132000309709F00995CF5FE3CFCF910895EF9201 -:10133000FF920F931F93CF93DF931F92CDB7DEB72A -:1013400010927424109275241092762410927724AF -:10135000109278241092792480916A2487FF07C024 -:101360002091702430917124232B09F41AC3982FF3 -:101370009076903409F0D6C0E0916B248E2F90E0E7 -:10138000FC01E05AF109E830F10508F099C2EA5F82 -:10139000FE4F0C94FF12000002C3109200088091CF -:1013A0006C2490916D248093360890933708809137 -:1013B0006E248F7080930008609170247091712466 -:1013C0008AE692E233D62091042030910520809164 -:1013D0007024909171242817390709F4E0C2809392 -:1013E00004209093052026C01092400880916C2420 -:1013F00090916D24809376089093770880916E2465 -:101400008F708093400860917024709171248AE7F6 -:1014100094E20CD620910220309103208091702418 -:10142000909171242817390709F4B9C280930220DA -:1014300090930320E09100208E2F90E0883091055A -:1014400008F0ADC2FC01E25FFE4F0C94FF12109257 -:1014500068091092690980916C248093C0209FC212 -:1014600080916C24809324069AC2E0916C24F091C0 -:101470006D24E830F10508F023C2EA5EFE4F0C94BB -:10148000FF1260E080E00E94FE0180916E240E94C5 -:10149000CB0120D884C260E080E00E94FE018091F0 -:1014A0006E240E94CB018AD87AC261E081E00E945A -:1014B000FE0180916E240E94CB0180916F240E94D6 -:1014C000E101F5D86CC267D96AC2E2D968C260E0AE -:1014D00080E00E94FE0180916E240E94CB014FDAD1 -:1014E0005EC261E080E00E94FE0180916E240E9455 -:1014F000CB018DDA54C262E080E00E94FE0180914F -:101500006E2480680E94CB01F9DA49C280916C2474 -:101510008093840644C2E9E7F0E091E088EDF89416 -:1015200084BF90839111CCC187FFFDC020917024AE -:10153000309171242115310509F4C2C18F7109F070 -:101540009FC080916B24863071F0883009F48EC082 -:101550008111B6C12230310509F0B2C162E070E0FC -:1015600080ED90E28BC080916C2490916D24292FA6 -:10157000332722303105A1F064F42130310509F020 -:101580009FC18091102090911120DC016C9170E03E -:101590005BC02330310589F12F30310509F190C14D -:1015A000E0911020F09111202189821708F088C164 -:1015B0009927880F991F880F991FE0911220F091A9 -:1015C0001320E80FF91F80819181FC0162817381F2 -:1015D0002DD5E0917224F091732482E0818335C08F -:1015E0008091142090911520009709F469C1DC01C5 -:1015F00012966D917C91139727C0992781309105A0 -:1016000069F038F0029709F05BC168E18AE890E27E -:1016100008C064E070E08EEA90E216C069E083EAF8 -:1016200090E2282FAAE5B0E2FC01819190E08D9331 -:101630009D938E2F821B8617C0F3660F6E5F60939B -:10164000582070E088E590E2F1D480917024909168 -:10165000712420917424309175248217930708F027 -:101660009EC1809374249093752499C121303105D3 -:1016700009F026C161E070E08CEC90E2D7D48FC114 -:101680008130C9F580916B248A3009F019C121306D -:10169000310509F015C18091CC20882309F410C1CF -:1016A000E0906E24F0906F240091CA201091CB201E -:1016B000D801ED91FC918481E81608F001C160E049 -:1016C0008E2D28DD882309F4FBC0FF24EE0CFF1CBF -:1016D000F801828193818E0D9F1DDC01ED91FC91BB -:1016E0000680F781E02D09958093CE2061E070E0BF -:1016F0008EEC90E2C3CF823009F0E2C080916B247F -:101700008111DEC02230310509F0DAC080916E24EB -:10171000E5D490E08093C6209093C72062E070E00B -:1017200086EC90E2ABCF8F7109F07DC080916B2485 -:10173000833009F4C5C018F48130A1F0C1C08530F0 -:1017400019F0893039F1BCC08091702490917124D6 -:10175000892B09F0B5C086E898E0809376249093B1 -:1017600077241DC18091702490917124892B09F0F8 -:10177000A7C080916C2490916D24019709F0A0C0BE -:101780008091D0209091D1208D7F8093D020909314 -:10179000D12005C18091702490917124892B09F08A -:1017A0008FC041D4882309F48BC020916C243091E0 -:1017B0006D243327E0911020F0911120818990E071 -:1017C0008217930708F47CC071DD80916C2490919E -:1017D0006D248093CC20882309F4E1C0992781509F -:1017E000904C880F991F880F991F209112203091DB -:1017F0001320820F931F8093CA209093CB2010E078 -:10180000E091CA20F091CB200190F081E02D8481FD -:10181000181708F0C4C060E0812FCFDC882309F4DA -:101820004FC01F5FEDCF8130F1F480916B248B307E -:1018300009F046C08091702490917124892B09F0A1 -:101840003FC08091CC20882309F43AC010916E24C7 -:1018500060916C24812F6983E3DC6981882381F1A5 -:10186000812FABDC2BC0823059F580916B24813005 -:1018700019F0833089F024C08091702490917124F4 -:10188000892BF1F480916C2490916D24892BC1F403 -:1018900080916E242AD412C080917024909171247A -:1018A000892B71F480916C2490916D24892B41F4E3 -:1018B00080916E24BFD480916E24F5D481116FC0C5 -:1018C00080916A248F718130B9F58091CC20882372 -:1018D00099F1E0906E24F0906F240091CA2010914D -:1018E000CB20D801ED91FC918481E81628F560E0C9 -:1018F0008E2D10DC882301F1F701FF27EE0FFF1F6B -:10190000D80112968D919C911397E80FF91F0081D1 -:101910001181D8011696ED91FC9117970995682FC2 -:101920008E2DF8DB882341F0D8011496ED91FC91BF -:1019300015970995811133C080916A248F71823087 -:1019400081F58091CC20882361F1F12CE091CA20AF -:10195000F091CB20A081B18114968C91F81608F5F6 -:1019600092818381E92FF82FEF0DF11DEF0DF11D0D -:1019700000811181D8011696ED91FC911797099578 -:10198000682F8F2DC7DB882361F0D8011496ED9165 -:10199000FC9115970995811102C0F394D7CF81E08E -:1019A00001C080E00F90DF91CF911F910F91FF90C8 -:1019B000EF9008951BBEFC0128ED24BF60830895BD -:1019C0004091CA01E62FF72F8093CA01849140937A -:1019D000CA010895E82FF0E0EA5AF34D80818F3F65 -:1019E00009F4FFCF9FB7F89480818F5F80839FBFFA -:1019F0000895E82FF0E0EA5AF34D8081811101C08B -:101A0000FFCF9FB7F8948081815080839FBF089556 -:101A1000CF93C82F80916422C11105C0882339F06B -:101A200081E0E7DF04C0811102C081E0D3DFC09311 -:101A30006422CF910895282F2F70082E000C990B47 -:101A4000392F331F3327331F832F90E0820F911DCF -:101A5000820F911D23E0880F991F2A95E1F7805E80 -:101A60009D4D08950F93E8ECF4E080818F7D808395 -:101A700080818F7D8083E8E2F2E202E0059310929C -:101A80002A2210922B2200E2069300E40693E0E261 -:101A9000F2E200E2069300E40693EAE6F4E214863A -:101AA0001586168617861286138610920D220F91C0 -:101AB00008950F9385E080930D22E9E2F2E204E0BD -:101AC0000593E1E2F2E204E005930F9108950F938C -:101AD00083E080930D2210922A2210922B22E8E2BA -:101AE000F2E202E006930F910895E0917624F091DE -:101AF0007724309709F009940895282F2F70082E25 -:101B0000000C990B392F331F3327331F832F90E09D -:101B1000820F911D820F911D029749E0489F90010D -:101B2000499F300D1124C9018D569E4D08958F9205 -:101B30009F92AF92BF92DF92EF92FF920F931F930B -:101B4000CF93DF93D82ED9DFEC018D2D74DF7C018C -:101B5000DC011196EC91E770E150E73040F4F0E0E1 -:101B6000EE0FFF1FEE54FF4D0081118102C008E00F -:101B700010E0ED81FE812B813C814881D701D7FEA9 -:101B800048C016968D919C9117978E0F9F1F8D833D -:101B90009E838217930761F1281B390B2115B4E04E -:101BA0003B0738F02FEF33E0C901B80114D5281BEB -:101BB000390B41FF0AC0C901B8010DD5AC0191E054 -:101BC000452B09F090E0892F01C080E0988180FBCF -:101BD00091F99883F7011682178222833383298132 -:101BE0003A818D819E81820F931F848395830EC0DD -:101BF00041FF71C04D7F4883D70116961D921C92FC -:101C0000179712961D921C921397F70102E0069304 -:101C10007BC01296AD90BC90139742FF10C0898094 -:101C20009A80C901B801D7D4B0E4DB9EB001112479 -:101C30006D567F4DAC01C4018E0F9F1FE6D48D8180 -:101C40009E818A0D9B1D8D839E832B813C8128174D -:101C5000390710F42D833E83F70186819781A816FA -:101C6000B906C9F58D819E8182179307A1F1281BC2 -:101C7000390B2115F4E03F0710F02FEF33E0C901D5 -:101C8000B801A9D4281B390BD70112961D921C92BA -:101C900013972017310778F4888184608883B0E433 -:101CA000DB9EC00111248D569F4DF70184839583DF -:101CB00006831783AACF49815A818D819E81840F23 -:101CC000951FD70114968D939C93159716962D9377 -:101CD0003C9317979ACF888180FF16C08E7F8883A8 -:101CE000EF81F885309781F06D817E814D2D80E008 -:101CF000DF91CF911F910F91FF90EF90DF90BF90F8 -:101D0000AF909F908F900994DF91CF911F910F9189 -:101D1000FF90EF90DF90BF90AF909F908F900895CD -:101D20000F93CF93DF9380910D22833029F4DDDE72 -:101D3000DF91CF910F9196CE2091092230910A2206 -:101D4000C0917424D0917524C21BD30B61F580918E -:101D50000B2290910C22820F931F80930B22909361 -:101D60000C2220917024309171242817390721F01A -:101D70008091D220882331F084E080930D22E0E22C -:101D8000F2E236C0E0917824F0917924309799F00E -:101D90000995882381F01092092210920A22C0919D -:101DA0007424D0917524C034D10528F01092D2202B -:101DB000C0E4D0E003C081E08093D220C0932A2207 -:101DC000D0932B228091092290910A222091722493 -:101DD00030917324280F391F20932C2230932D2209 -:101DE000C80FD91FC0930922D0930A22E8E2F2E279 -:101DF00002E00693DF91CF910F9108950F93CF9357 -:101E0000DF931F92CDB7DEB78091CC0480FF65C011 -:101E100021E02093CC0480E292E2FC0100E80693EA -:101E2000E8E2F2E200E806932093CA04FC0100E134 -:101E3000069380910D22882329F08350823008F484 -:101E400054DE10DE8091222290912322089709F01F -:101E500046C088E0E9ECF1E2AAE6B4E201900D9216 -:101E60008A95E1F78091C80480628093C8048091CC -:101E7000C80480628093C8045ADA811102C019DE56 -:101E80002EC090916A2497FF0EC010920B221092E0 -:101E90000C221092092210920A2292E090930D22B5 -:101EA00089833EDF08C02091702430917124232B58 -:101EB00021F489830CDE898113C010920B221092C9 -:101EC0000C221092092210920A2291E090930D2286 -:101ED000E0E2F2E202E0069303C080E001C081E0AC -:101EE0000F90DF91CF910F910895CF93CFB7F894D2 -:101EF00081E08EDDEAECF4E080E4808380E28083A0 -:101F0000E1ECF4E0808181608083A9ECB4E08C9105 -:101F100082608C93E8ECF4E08081806480838C9113 -:101F200081608C93808180688083CFBFCF9108953A -:101F3000CF931092600080E376D88091C0048064D3 -:101F40008093C00481E080936000CFB7F89480E074 -:101F500090E0FC0123E0EE0FFF1F2A95E1F7E05F20 -:101F6000FD4D118A01968830910599F78091932152 -:101F70008E7F8093932180919C218E7F80939C21E2 -:101F80008091A5218E7F8093A5218091AE218E7FA7 -:101F90008093AE218091B7218E7F8093B72180916D -:101FA000C0218E7F8093C0216AE170E082E008DD6D -:101FB0008F3F09F48FE18093FA046BE170E082E0D7 -:101FC000FFDC8F3F09F48FE18093FB048091C00414 -:101FD00083608093C0048091C00480688093C004B3 -:101FE0008091C00480618093C00480E292E280937B -:101FF000C6049093C7048091C00480628093C0049B -:102000008FEF8093C5048091C80482608093C804D8 -:102010001092642285E0DEDC68DFCFBFCF910895A7 -:102020008093C30408958091C3040895EAE6F4E21E -:10203000808791876287738708950F931F93CF934B -:10204000DF931F92CDB7DEB78A016983F4DCFC0110 -:102050008181807C698181113AC06370613019F09F -:1020600020F080E803C080EC01C080E40038110556 -:10207000E9F058F400321105A9F000341105A1F07F -:1020800000311105C9F491E018C0011592E019075B -:1020900079F00F3F93E0190769F00115114061F4E1 -:1020A00095E00BC092E009C093E007C094E005C042 -:1020B00096E003C097E001C090E0118226E0208303 -:1020C000982B918381818062818381E001C080E0CF -:1020D0000F90DF91CF911F910F910895ACDCFC011F -:1020E000818182FB882780F90895CF93C82FA3DCD4 -:1020F000FC01818182FF0FC091819B7F91838C2F96 -:10210000FCDCFC01908190FF06C09E7F90830780DD -:10211000F085E02D099581E0CF9108958F929F92EF -:10212000AF92BF92DF92EF92FF920F931F93CF93E4 -:10213000DF931F92CDB7DEB7D82E5A01790169839C -:10214000DCDC4C018D2D77DC9C01DC0111968C913F -:102150001197807C6981882309F45EC011968C9167 -:102160001197807C803C21F011968C9182FD54C0A7 -:102170009FB7F894F401808180FF02C09FBF4CC0DC -:10218000816080839FBFF401A182B282E382F482E6 -:10219000158216820783108791E0611104C0E11453 -:1021A000F10409F090E0D4018C9190FB81F98B7FD0 -:1021B0008C93D7FE04C0F9011682178229C0D90179 -:1021C00011968C911197807C803CC9F41196EC910A -:1021D000E770E150E73040F4F0E0EE0FFF1FEE54FF -:1021E000FF4D6081718102C068E070E0C701F3D1EA -:1021F000892B29F0F40180818E7F80830DC0D90165 -:1022000012961D921C92139716961D921C92179768 -:102210008D2D8DDC81E001C080E00F90DF91CF91AA -:102220001F910F91FF90EF90DF90BF90AF909F9024 -:102230008F900895EF92FF920F93CF93C82FFBDBFF -:102240007C018C2F5ADCDC01F70102E005939C91A4 -:1022500090FF1BC09E7F9C931796ED91FC91189761 -:10226000309799F0D701C7FF05C016966D917C9104 -:10227000179704C012966D917C9113974C2F81E0B3 -:10228000CF910F91FF90EF900994CF910F91FF9014 -:10229000EF900895CF93C82FCDDF8C2FCCDBFC01BE -:1022A0001182CF9108950F93CF93C82FC4DBFC0107 -:1022B00091819460918301E006938C2FBBDF81E0D4 -:1022C000CF910F9108951F920F920FB60F92112484 -:1022D0000F932F933F934F935F936F937F938F93BE -:1022E0009F93AF93BF93EF93FF938091CB0487FFAE -:1022F00008C080E88093CA040E9472090E94890184 -:1023000086C08091CB0482FF18C084E08093CA0409 -:102310008091282286FF7BC08091CC0481FD77C00C -:102320006DDD811174C080910D22813011F4CFDBFD -:102330006EC0843009F06BC021C08091CB0481FF56 -:1023400026C082E08093CA048091202286FF5FC06D -:102350008091CC0481FD5BC051DD811158C080911A -:102360000D22823041F484E080930D22E0E2F2E21B -:1023700002E006934CC0833009F049C0E9E2F2E282 -:1023800004E00593E1E2F2E204E0059340C08091AD -:10239000CB0484FF25C080E18093CA0481E04ADF3A -:1023A00081E848DF82E046DF82E844DF0E94560988 -:1023B0001092C3041092212296E09093202283E48D -:1023C00080932122109229229093282280932922FF -:1023D00089EC91E2809324229093252243DB17C05D -:1023E0008091CB0486FF08C080E48093CA0480E01B -:1023F0000FDB0E9487010BC08091CB0485FF07C0D3 -:1024000080E28093CA0481E003DB0E948801FF918F -:10241000EF91BF91AF919F918F917F916F915F915C -:102420004F913F912F910F910F900FBE0F901F90E2 -:1024300018951F920F920FB60F9211240F931F93AE -:102440002F933F934F935F936F937F938F939F93BC -:10245000AF93BF93CF93DF93EF93FF938091CC041F -:1024600081FF1AC082E08093CC048091C5048195DD -:10247000880FE0E2F2E2E81BF1092081318120526D -:10248000324283E0369527958A95E1F7822F86952B -:1024900020FD06C0C0E005C0B1DC882319F386C06A -:1024A000C0E8C80F8C2FC7DAFC01208125FF7EC051 -:1024B00000E20693C11174C080910D22843019F49A -:1024C00014DBD0DA73C00091222210912322809174 -:1024D000742490917524C0910922D0910A229E0102 -:1024E000200F311F8217930718F48C010C1B1D0B52 -:1024F0008091722490917324A80169EC71E28C0F91 -:102500009D1F83D0C00FD11FC0930922D0930A22F0 -:102510000034110569F480910B2290910C228C0FEC -:102520009D1F20917024309171248217930788F0A9 -:10253000C0937424D0937524E0917824F091792489 -:10254000309729F00995811102C0B3DA2FC0BFDAA4 -:102550002DC080917424909175248C179D07D9F417 -:10256000E0917824F0917924309779F309958823C4 -:1025700061F320910B2230910C22809109229091DD -:102580000A22820F931F80930B2290930C221092A9 -:10259000092210920A22E0E2F2E202E0069306C06B -:1025A000C03811F4BDDB02C08C2FC1DAFF91EF916E -:1025B000DF91CF91BF91AF919F918F917F916F915B -:1025C0005F914F913F912F911F910F910F900FBEEF -:1025D0000F901F901895AA1BBB1B51E107C0AA1FA3 -:1025E000BB1FA617B70710F0A61BB70B881F991FB4 -:1025F0005A95A9F780959095BC01CD010895EE0FED -:10260000FF1F0590F491E02D0994FB01DC0102C04D -:1026100001900D9241505040D8F70895F894FFCFA3 -:10262000FF55800080003C0836084608330800004B -:102630004420162000001C201A2006200902270032 -:1026400001010080FA0904000003FFFFFF000705F5 -:1026500081010001010705820100010107058301D5 -:10266000000101001201000200000040EB0300A085 -:102670000002010200010000000300000000000051 -:10268000000000000000000000000000000000004A -:10269000000000000000000000000000000000003A -:1026A00000000000000000000000555342476F6228 -:1026B000696E6461722044756D6D79204465766938 -:1026C00063650054617069725465636800000403B7 -:1026D0000904100020004000800000010002FF03F8 +:1000000025C100003FC100003DC100003BC1000010 +:1000100039C1000037C10000D7C5000033C6000059 +:1000200078C60000B7C600002DC100002BC100003B +:1000300029C1000027C1000025C1000023C1000024 +:1000400021C100001FC100001DC100001BC1000034 +:1000500019C1000017C1000015C1000013C1000044 +:10006000A5C700000FC100000DC100000BC10000BA +:1000700009C1000007C1000005C1000003C1000064 +:1000800001C10000FFC00000FDC00000FBC0000077 +:10009000F9C00000F7C00000F5C00000F3C0000088 +:1000A000F1C00000EFC00000EDC00000EBC0000098 +:1000B000E9C00000E7C00000E5C00000E3C00000A8 +:1000C000E1C00000DFC00000DDC00000DBC00000B8 +:1000D000D9C00000D7C00000D5C00000D3C00000C8 +:1000E000D1C00000CFC00000CDC00000CBC00000D8 +:1000F000C9C00000C7C00000C5C00000C3C00000E8 +:10010000C1C00000BFC00000BDC00000BBC00000F7 +:10011000B9C00000B7C00000B5C00000B3C0000007 +:10012000B1C00000AFC00000ADC00000ABC0000017 +:10013000A9C00000A7C00000A5C00000A3C0000027 +:10014000A1C000009FC000009DC00000A6C6000026 +:1001500099C0000097C0000095C0000093C0000047 +:1001600091C000008FC000008DC000008BC0000057 +:1001700089C0000087C0000085C0000083C0000067 +:1001800081C000007FC000007DC000007BC0000077 +:1001900079C0000077C0000075C0000073C0000087 +:1001A00071C000006FC000006DC000006BC0000097 +:1001B00069C0000067C0000065C0000063C00000A7 +:1001C00061C000005FC000005DC000005BC00000B7 +:1001D00059C0000057C0000055C0000053C00000C7 +:1001E00051C000004FC000004DC000004BC00000D7 +:1001F00049C000000C94AD110C946312AC01AE0127 +:10020000B001B201B401B901B601B801010601069D +:1002100001060106010634060C060C06140A160A2D +:100220003D0A700A790A7E0AD00AD50A920A9D0A06 +:10023000AB0AAD0AAF0AB90AC30ACE0A8A0A950AFE +:100240009F0AAD0AAF0AB10ABB0AC50A11241FBE34 +:10025000CFEFCDBFDFE2DEBF10E2A0E0B0E2E4EB23 +:10026000F6E202C005900D92A03CB107D9F72CE24E +:10027000A0ECB0E201C01D92AC35B207E1F73BD073 +:100280000C945813BDCEE0E8F6E08FE0808385E063 +:100290008483089508954091C1202EEE32E0429F5C +:1002A000C001439F900D11244BE451E06AEF70E0D0 +:1002B0008658994D50C74091C1202EEE32E0429FA2 +:1002C000C001439F900D11244BE551E06AEF70E0AF +:1002D0008C58984D4CC74091C1202EEE32E0429F81 +:1002E000C001439F900D11244BE651E06AEF70E08E +:1002F0008259974D48C787E08093A20078947DD6B5 +:10030000C9DF0E949E09C0D0E3D060E080E08DD0BC +:1003100079D08CE06DD07FD523D63AD6B4DF0000FB +:1003200000000000000000000000000000000000CD +:1003300000000000000000000000F1CF08950895C3 +:10034000E09100208E2F90E08830910590F4FC0120 +:10035000E250FF4F0C94491347D10BC0BED109C0E6 +:1003600030D207C0ABD205C020D303C0C9D301C06F +:100370002AD49091C32081E0911180E08093C12024 +:10038000089581E08093C4204BE451E06EEE72E06A +:100390008AE796E2E0D64BE551E06EEE72E084E744 +:1003A00097E2E5D64BE651E06EEE72E08EE698E21B +:1003B000EAD681E008951092C420089581E008955E +:1003C00081E0089510922002982F9C719368909379 +:1003D000200287FF03C090E182E002C090E080E04D +:1003E000892B8093210210922202109226020895F6 +:1003F000E0E0F2E010AA836880AB80E181AB12AA52 +:1004000016AA0895E0E0F2E010A683E880A78FE244 +:1004100081A712A616A60895AAECB1E092E09C93DB +:10042000E82FF0E084911C920895909171009D7FD7 +:100430009093710010920002623011F09CE101C0B3 +:100440009EE19093010290E490930202811102C018 +:1004500080E401C080EC80930302613011F083E0FE +:1004600001C082E08093040280E2D6DF80930C0218 +:1004700081E2D2DF80930D021092180210921902CD +:1004800081E080930002BECFCF93DF93E0E7F0E0FE +:1004900082818B7F8283C0E2D3E08DE0888380E419 +:1004A000898389E08A8383E3B7DF888782E3B4DFC7 +:1004B000898787E3B1DF8A8786E3AEDF8B87E0E257 +:1004C000F6E08081836080831482DF91CF9108956C +:1004D000E0E7F0E080818E7F808380E880930001F8 +:1004E0000895E0E0F1E0108A80E4808B10A280A300 +:1004F00010AA80ABE0E4F1E0108280831092C32068 +:10050000089510920020EDDFE0E0F1E016AA94E2F9 +:1005100090AB11AA49E542AB32E033AB60910220C7 +:100520007091032064AB75AB6AE774E260AF71AFA2 +:1005300012AE8BE384AF83E080933D0110923E01C5 +:1005400020A9206820AB10924601A0E4B1E09C9362 +:100550001092410140934201809343014091042055 +:100560005091052040934401509345014AE652E2E0 +:10057000409348015093490110924A0129E3209386 +:100580004C0180934D0110924E012C9120682C93C8 +:10059000108A20E4208B24E0208B818B81E9828BE0 +:1005A00080E1838B47E751E0448B558B908F318FEF +:1005B000128E4091C3202EEE32E0429FC001439F35 +:1005C000900D11248658994D848F4091C320429FED +:1005D000C001439F900D11248658994D958F168E1A +:1005E00080898068808B08950895CF93DF9381E0A0 +:1005F0008093002076DFE0E0F1E010AA80E480AB99 +:1006000094E090AB11AA12AA5BE453AB14AA15AA0A +:1006100016AA21E030E220AF31AF12AE40EA44AF7B +:1006200038E030933D0110923E0180A9806A80AB92 +:1006300085E58093A00810924601A0E4B1E0C4E2F1 +:10064000CC931092410189E58093420182E080932E +:1006500043016091022070910320609344017093E4 +:1006600045016AE774E26093480170934901109272 +:100670004A012BE320934C0163E060934D011092FB +:100680004E012C9120682C93908B618BA1E9A28B59 +:1006900020E1238B67E771E0648B758BC08F818FBE +:1006A000128ECAE7D6E2C48FD58F168E20892068B5 +:1006B000208B90A381A3A2A353A364A375A340A7F7 +:1006C00031A712A681EF97E284A795A716A680A16D +:1006D000806880A3DF91CF9108950895CF93C2E001 +:1006E000C0930020FEDEE0E0F1E016AA94E290ABB9 +:1006F00011AA39E532AB83E083AB409104205091DD +:10070000052044AB55AB4AE652E240AF51AF12AEC2 +:1007100029E324AF80933D0110923E0120A9206877 +:1007200020AB10924601A0E4B1E09C9310924101ED +:1007300030934201C0934301209102203091032065 +:1007400020934401309345012AE734E22093480185 +:100750003093490110924A012BE320934C0180937E +:100760004D0110924E012C9120682C9354E0508B37 +:10077000818B41E9428B80E1838B27E731E0248B39 +:10078000358B908FC18F128E8AE796E2848F958F7A +:10079000168E80898068808B50A3C1A342A382E11A +:1007A00083A324A335A384E380A7C1A712A681EF66 +:1007B00097E284A795A716A680A1806880A3CF9111 +:1007C00008950895CF93C3E0C09300208ADEE0E04F +:1007D000F1E010A250E450A344E040A311A212A201 +:1007E0003BE433A314A215A216A281E090E280A7F5 +:1007F00091A712A620EA24A798E095A716A680A1A3 +:10080000806A80A385E58093A00816AA74E270AB85 +:1008100011AA69E562ABC3ABA0910420B091052099 +:10082000A4ABB5ABAAE6B2E2A0AFB1AF12AE89E31A +:1008300084AFC0933D0110923E0180A9806880ABD7 +:1008400010924601A0E4B1E07C93109241016093C4 +:10085000420182E080934301609102207091032065 +:1008600060934401709345016AE774E26093480124 +:100870007093490110924A018BE380934C01C0931D +:100880004D0110924E018C9180688C93108A508B90 +:10089000408BC18B81E9828B338B47E751E0448BDE +:1008A000558B208F918F128E8AE796E2848F958FD9 +:1008B000168E80898068808BCF9108950895CF939C +:1008C000C4E0C09300200DDEE0E0F1E010A280E47F +:1008D00080A3C0A311A212A24BE443A314A215A2A9 +:1008E00016A281E090E280A791A712A660EA64A711 +:1008F00088E085A716A690A1906A90A395E59093AD +:10090000A00810924601A0E4B1E094E29C931092FA +:10091000410199E59093420192E090934301209127 +:1009200002203091032020934401309345012AE7AF +:1009300034E2209348013093490110924A019BE32D +:1009400090934C0193E090934D0110924E012C91A5 +:1009500020682C93C08B918B31E9328B438B47E716 +:1009600051E0448B558B608F818F128E6AE776E25F +:10097000648F758F168E20892068208BC0AB91AB59 +:1009800032AB9AE493AB44AB55AB93EC90AF81AFF1 +:1009900012AE81EF97E284AF90933D0110923E0139 +:1009A00080A9806880ABCF910895089585E08093F9 +:1009B000002097DDE0E0F1E016AA34E230AB11AAA6 +:1009C00029E522AB83E083AB4091042050910520C0 +:1009D00044AB55AB4AE652E240AF51AF12AE99E399 +:1009E00094AF80933D0110923E0190A9906890AB26 +:1009F00010924601E0E4F1E030831092410120932F +:100A000042018093430120910420309105202093DE +:100A10004401309345012AE734E2209348013093A2 +:100A2000490110924A019BE390934C0180934D0140 +:100A300010924E01808180688083089586E08093C3 +:100A400000204FDDE0E0F1E016AA94E290AB11AA9D +:100A500039E532AB83E083AB40910420509105200F +:100A600044AB55AB4AE652E240AF51AF12AE29E378 +:100A700024AF80933D0110923E0120A9206820AB55 +:100A800010924601A0E4B1E09C9310924101309392 +:100A9000420132E030934301409102205091032003 +:100AA00040934401509345014AE754E24093480182 +:100AB0005093490110924A012BE320934C018093FB +:100AC0004D0110924E012C9120682C93108A20E445 +:100AD000208B24E0208B818B81E9828B80E1838BCA +:100AE0004EEE52E0448B558B908F318F128E8AE7F9 +:100AF00096E2848F958F168E80898068808B08950A +:100B0000089587E080930020ECDCE0E0F1E016AA95 +:100B100094E290AB11AA39E532AB83E083AB40910C +:100B200004205091052044AB55AB4AE652E240AF59 +:100B300051AF12AE29E324AF80933D0110923E01E4 +:100B400020A9206820AB10924601A0E4B1E09C935C +:100B5000109241013093420132E0309343014091C1 +:100B600002205091032040934401509345014AE7ED +:100B700054E2409348015093490110924A012BE3FB +:100B800020934C0180934D0110924E012C912068CE +:100B90002C93108A20E4208B25E0208B818B81E927 +:100BA000828B80E1838B4EEE52E0448B558B908F8D +:100BB000318F128E8AE796E2848F958F168E808908 +:100BC0008068808B089508951F920F920FB60F9240 +:100BD00011242F933F934F938F939F93AF93BF9382 +:100BE000EF93FF9381E080930301E09100208E2F2B +:100BF00090E088309105C0F5FC01EA5FFE4F0C944F +:100C0000491387E791E08093140190931501409177 +:100C1000C3202EEE32E008C02EEE32E02093140105 +:100C2000309315014091C320429FC001439F900D16 +:100C300011248658994D80931C014091C320429FF6 +:100C4000C001439F900D11248658994D90931D012A +:100C5000809110018068809310019091C32081E001 +:100C6000911180E08093C320FF91EF91BF91AF91EC +:100C70009F918F914F913F912F910F900FBE0F90A9 +:100C80001F9018951F920F920FB60F9211242F9359 +:100C90003F934F938F939F9382E0809303018091C2 +:100CA0000020813011F0823051F587E791E0809388 +:100CB0002401909325014091C2202EEE32E0429F04 +:100CC000C001439F900D11248F50984D80932C01AB +:100CD0004091C220429FC001439F900D11248F502C +:100CE000984D90932D018091200180688093200180 +:100CF0009091C22081E0911180E08093C2209F9169 +:100D00008F914F913F912F910F900FBE0F901F9099 +:100D100018951F920F920FB60F9211242F933F93A5 +:100D20004F938F939F9384E08093030187E791E033 +:100D300080933401909335014091C2202EEE32E031 +:100D4000429FC001439F900D11248F50984D809376 +:100D50003C014091C220429FC001439F900D11244D +:100D60008F50984D90933D01809130018068809321 +:100D700030019091C22081E0911180E08093C220E7 +:100D80009F918F914F913F912F910F900FBE0F9098 +:100D90001F9018951F920F920FB60F9211242F9348 +:100DA0003F934F938F939F9388E08093030187E74E +:100DB00091E080934401909345014091C2202EEE32 +:100DC00032E0429FC001439F900D11248F50984DF7 +:100DD00080934C014091C220429FC001439F900DDF +:100DE00011248F50984D90934D018091400180685F +:100DF000809340019091C22081E0911180E0809326 +:100E0000C2209F918F914F913F912F910F900FBED4 +:100E10000F901F901895E0E7F0E083818C7F83832B +:100E200084818C7F848380818D7F8083E0E8F1E002 +:100E300080EC8283128688EC81831186A0E0B8E082 +:100E400034E03C9323E011962C93119714961C9256 +:100E5000149785ED91E096968D939C9397971696AF +:100E60001C921697E0E4F8E030832183148286A375 +:100E700097A31682E0E6F6E0808180618083E0E45B +:100E8000F9E083E18183148282E08683A6A3B7A37D +:100E900010A611A681E0808308951F920F920FB6CD +:100EA0000F9211242F933F934F935F938F939F93B0 +:100EB000CF93DF931F92CDB7DEB78FEF80934C09AE +:100EC00080910020873031F480912C0289839091A9 +:100ED0002D0202C090912C028091C020891B20918C +:100EE00068093091690982308CF02A3F374070F4EC +:100EF000209168093091690989301CF481E090E003 +:100F000002C086E090E0820F931F18C0209168090C +:100F1000309169098F3FB4F42730310598F0209162 +:100F2000680930916909883F1CF081E090E002C0B7 +:100F300086E090E0A901481B590BCA01809378090B +:100F4000909379090F90DF91CF919F918F915F914D +:100F50004F913F912F910F900FBE0F901F901895BA +:100F6000E0E7F0E083818F7E8383E0E4F6E0808138 +:100F70008A6A80838FEF848388E5828BE0EAF8E0D9 +:100F800084EC858383E08683178288E184830895D7 +:100F9000E0E7F0E08381877F8383E0ECF8E080E4A2 +:100FA0008083118288E58093550608951F920F92E1 +:100FB0000FB60F92112400000F900FBE0F901F90DC +:100FC00018959FB7F894A0E5B0E016968C91169707 +:100FD000897F16968C931697E0E6F0E080E885838B +:100FE0008BEB868316968C911697846016968C935D +:100FF0008081816080839FBF0895CF93DF9300D06D +:1010000000D0CDB7DEB78FEF809370008093710072 +:1010100080937200809373008093740080937500B6 +:101020008093760064E081E490E00ED56CE170E09E +:1010300082E010D58C836DE170E082E00BD58B836C +:101040008B819C81019621F480E493E28B839C83C5 +:101050008B819C8189839A83809362008A818093AB +:1010600063009FB7F8948091500082608093500095 +:101070009FBF8091510081FFFCCFA3DF61E080E43E +:1010800090E0E2D49FB7F894809150008E7F8093D7 +:1010900050009FBF2496CDBFDEBFDF91CF91089552 +:1010A0009FB7F894E82FF0E0E059FF4F60958081FA +:1010B000682360839FBF0895CF93863011F0C0E00E +:1010C00001C0C8E18091510081FD0DC09FB7F89427 +:1010D000809150008260809350009FBF80915100AA +:1010E00081FFFCCF6EDF6C2F636084E490E0ACD4B2 +:1010F00060E480E0CF91D4CF8091C52008958091A5 +:10110000C520813009F457C9089513D1FC018381AA +:101110008093C520811101C034C981E00895909168 +:101120006A24892F807697FF07C0803491F48091DC +:101130006B2481110EC044C9803459F480916B2412 +:10114000811107C08091702490917124892B09F03E +:1011500035C980E008950F931F939B018A01AC016C +:1011600060E081E80E94D8101F910F9108950F93BD +:101170001F939B018A01AC0160E082E80E94D810B5 +:101180001F910F9108950F931F939B018A01AC014A +:1011900060E083E80E94D8101F910F91089580911C +:1011A0006C248F7787C79091CC20911102C080E08A +:1011B0000895E091CA20F091CB200190F081E02DBC +:1011C00094818917A0F7E093C820F093C920228169 +:1011D00033812E0F3F1FE217F30798F4918194306B +:1011E00061F49281891309C09381691306C0E09369 +:1011F000C820F093C92081E008959081E90FF11D86 +:10120000EACFE093C820F093C920D1CFE091CA2063 +:10121000F091CB200190F081E02D228133812E0FBF +:101220003F1FFC014081E40FF11DE217F30748F472 +:101230008181843031F0853039F08081E80FF11DF3 +:10124000F4CF80E090E00895CF0108951F93CF93ED +:10125000DF93182FA8DF882339F1C091C820D091DF +:10126000C920CE01D3DFEC01892B41F04C815D8197 +:101270006B818A812CD78111F4CF16C0E091CA20EE +:10128000F091CB2092818381E92FF82FE10FF11D9E +:10129000E10FF11D0190F081E02D0190F081E02D32 +:1012A000DF91CF911F91099480E0DF91CF911F9141 +:1012B0000895EF92FF921F93CF93DF93C82F60E0C2 +:1012C00072DF811102C010E02DC0E091CA20F091C0 +:1012D000CB2092818381E92FF82FEC0FF11DEC0FC9 +:1012E000F11DE080F180D7011696ED91FC911797E2 +:1012F0000995682F8C2F57DF182F882321F3C09171 +:10130000C820D091C920CE0181DFEC01892B21F0CA +:101310008A810E949411F7CFD7011296ED91FC912A +:1013200013970995812FDF91CF911F91FF90EF9037 +:1013300008958091C8209091C920089543C6CF9305 +:101340008091CC20811108C01092CC201092D02026 +:101350001092D120CF910895C0E0E091CA20F09181 +:10136000CB200190F081E02D8481C81768F78C2F85 +:10137000A0DFCF5FF2CFCF938091CC208823F1F014 +:10138000C0E0E091CA20F091CB20A081B1811496F9 +:101390008C91C81798F492818381E92FF82FEC0F74 +:1013A000F11DEC0FF11D0190F081E02D0084F1851D +:1013B000E02D309709F00995CF5FE3CFCF910895E5 +:1013C000EF92FF920F931F93CF93DF931F92CDB7AE +:1013D000DEB7109274241092752410927624109225 +:1013E0007724109278241092792480916A2487FFC0 +:1013F00007C02091702430917124232B09F41BC362 +:10140000982F9076903409F0D7C0E0916B248E2FFE +:1014100090E0FC01E05AF109E830F10508F09AC2C9 +:10142000E25FFE4F0C944913000003C310920008C2 +:1014300080916C2490916D248093360890933708A6 +:1014400080916E248F708093000860917024709159 +:1014500071248AE692E234D620910420309105204E +:1014600080917024909171242817390709F4E1C202 +:10147000809304209093052026C01092400880910C +:101480006C2490916D2480937608909377088091D6 +:101490006E248F7080934008609170247091712445 +:1014A0008AE794E20DD620910220309103208091AA +:1014B0007024909171242817390709F4BAC28093D7 +:1014C000022090930320E09100208E2F90E088303E +:1014D000910508F0AEC2FC01EA5EFE4F0C94491380 +:1014E000109268091092690980916C248093C02041 +:1014F000A0C280916C24809324069BC2E0916C244E +:10150000F0916D24E830F10508F024C2E25EFE4F50 +:101510000C94491360E080E00E94150280916E24D3 +:101520000E94E2010E94810284C260E080E00E9489 +:10153000150280916E240E94E20157D87AC261E0C0 +:1015400081E00E94150280916E240E94E201809148 +:101550006F240E94F801C2D86CC234D96AC2AFD9D4 +:1015600068C260E080E00E94150280916E240E94B3 +:10157000E2011CDA5EC261E080E00E941502809107 +:101580006E240E94E2015ADA54C262E080E00E94B6 +:10159000150280916E2480680E94E201B2DA49C28D +:1015A00080916C248093840644C2E9E7F0E091E0E6 +:1015B00088EDF89484BF90839111CCC187FFFDC062 +:1015C00020917024309171242115310509F4C2C194 +:1015D0008F7109F09FC080916B24863071F0883044 +:1015E00009F48EC08111B6C12230310509F0B2C1B3 +:1015F00062E070E080ED90E28BC080916C2490916D +:101600006D24292F332722303105A1F064F42130D5 +:10161000310509F09FC18091102090911120DC01CB +:101620006C9170E05BC02330310589F12F303105BA +:1016300009F190C1E0911020F091112021898217C9 +:1016400008F088C19927880F991F880F991FE0918A +:101650001220F0911320E80FF91F80819181FC0185 +:10166000628173812DD5E0917224F091732482E020 +:10167000818335C08091142090911520009709F442 +:1016800069C1DC0112966D917C91139727C099274F +:101690008130910569F038F0029709F05BC168E18B +:1016A0008AE890E208C064E070E08EEA90E216C03A +:1016B00069E083EA90E2282FAAE5B0E2FC0181917B +:1016C00090E08D939D938E2F821B8617C0F3660F3B +:1016D0006E5F6093582070E088E590E2F1D48091CD +:1016E0007024909171242091742430917524821774 +:1016F000930708F09EC1809374249093752499C138 +:101700002130310509F026C161E070E08CEC90E2F7 +:10171000D7D48FC18130C9F580916B248A3009F00C +:1017200019C12130310509F015C18091CC208823E1 +:1017300009F410C1E0906E24F0906F240091CA204B +:101740001091CB20D801ED91FC918481E81608F02E +:1017500001C160E08E2D27DD882309F4FBC0FF2442 +:10176000EE0CFF1CF801828193818E0D9F1DDC0120 +:10177000ED91FC910680F781E02D09958093CE20B4 +:1017800061E070E08EEC90E2C3CF823009F0E2C0FD +:1017900080916B248111DEC02230310509F0DAC05E +:1017A00080916E24E5D490E08093C6209093C7206A +:1017B00062E070E086EC90E2ABCF8F7109F07DC003 +:1017C00080916B24833009F4C5C018F48130A1F0F6 +:1017D000C1C0853019F0893039F1BCC080917024C6 +:1017E00090917124892B09F0B5C08FEC98E080931B +:1017F0007624909377241DC1809170249091712458 +:10180000892B09F0A7C080916C2490916D240197D9 +:1018100009F0A0C08091D0209091D1208D7F80933D +:10182000D0209093D12005C1809170249091712493 +:10183000892B09F08FC041D4882309F48BC02091F3 +:101840006C2430916D243327E0911020F091112009 +:10185000818990E08217930708F47CC070DD809145 +:101860006C2490916D248093CC20882309F4E1C0EE +:1018700099278150904C880F991F880F991F2091AC +:10188000122030911320820F931F8093CA209093CF +:10189000CB2010E0E091CA20F091CB200190F081A4 +:1018A000E02D8481181708F0C4C060E0812FCEDCE1 +:1018B000882309F44FC01F5FEDCF8130F1F4809190 +:1018C0006B248B3009F046C0809170249091712474 +:1018D000892B09F03FC08091CC20882309F43AC0BD +:1018E00010916E2460916C24812F6983E2DC698100 +:1018F000882381F1812FAADC2BC0823059F5809199 +:101900006B24813019F0833089F024C080917024D9 +:1019100090917124892BF1F480916C2490916D2425 +:10192000892BC1F480916E242AD412C08091702436 +:1019300090917124892B71F480916C2490916D2485 +:10194000892B41F480916E24BFD480916E24F5D40C +:1019500081116FC080916A248F718130B9F58091B7 +:10196000CC20882399F1E0906E24F0906F240091B0 +:10197000CA201091CB20D801ED91FC918481E8160A +:1019800028F560E08E2D0FDC882301F1F701FF2799 +:10199000EE0FFF1FD80112968D919C911397E80FBF +:1019A000F91F00811181D8011696ED91FC911797CE +:1019B0000995682F8E2DF7DB882341F0D801149606 +:1019C000ED91FC9115970995811133C080916A249E +:1019D0008F71823081F58091CC20882361F1F12CC8 +:1019E000E091CA20F091CB20A081B18114968C9116 +:1019F000F81608F592818381E92FF82FEF0DF11D7C +:101A0000EF0DF11D00811181D8011696ED91FC9129 +:101A100017970995682F8F2DC6DB882361F0D801B1 +:101A20001496ED91FC9115970995811102C0F394DC +:101A3000D7CF81E001C080E00F90DF91CF911F915F +:101A40000F91FF90EF9008951BBEFC0128ED24BF7D +:101A5000608308954091CA01E62FF72F8093CA0151 +:101A600084914093CA010895E82FF0E0EA5AF34DBB +:101A700080818F3F09F4FFCF9FB7F89480818F5FFB +:101A800080839FBF0895E82FF0E0EA5AF34D8081EC +:101A9000811101C0FFCF9FB7F8948081815080836E +:101AA0009FBF0895CF93C82F80916422C11105C0B4 +:101AB000882339F081E0E7DF04C0811102C081E0B2 +:101AC000D3DFC0936422CF910895282F2F70082E62 +:101AD000000C990B392F331F3327331F832F90E0CE +:101AE000820F911D820F911D23E0880F991F2A9567 +:101AF000E1F7805E9D4D08950F93E8ECF4E080815E +:101B00008F7D808380818F7D8083E8E2F2E202E036 +:101B1000059310922A2210922B2200E2069300E4F1 +:101B20000693E0E2F2E200E2069300E40693EAE6BE +:101B3000F4E214861586168617861286138610928E +:101B40000D220F9108950F9385E080930D22E9E215 +:101B5000F2E204E00593E1E2F2E204E005930F9182 +:101B600008950F9383E080930D2210922A22109201 +:101B70002B22E8E2F2E202E006930F910895E09151 +:101B80007624F0917724309709F009940895282F4E +:101B90002F70082E000C990B392F331F3327331F5A +:101BA000832F90E0820F911D820F911D029749E0D3 +:101BB000489F9001499F300D1124C9018D569E4DBB +:101BC00008958F929F92AF92BF92DF92EF92FF9211 +:101BD0000F931F93CF93DF93D82ED9DFEC018D2D78 +:101BE00074DF7C01DC011196EC91E770E150E73085 +:101BF00040F4F0E0EE0FFF1FEE54FF4D0081118125 +:101C000002C008E010E0ED81FE812B813C8148811B +:101C1000D701D7FE48C016968D919C9117978E0FCD +:101C20009F1F8D839E838217930761F1281B390BB9 +:101C30002115B4E03B0738F02FEF33E0C901B801BC +:101C400014D5281B390B41FF0AC0C901B8010DD5B5 +:101C5000AC0191E0452B09F090E0892F01C080E0B4 +:101C6000988180FB91F99883F7011682178222836D +:101C7000338329813A818D819E81820F931F8483D2 +:101C800095830EC041FF71C04D7F4883D7011696E2 +:101C90001D921C92179712961D921C921397F70192 +:101CA00002E006937BC01296AD90BC90139742FF62 +:101CB00010C089809A80C901B801D7D4B0E4DB9EF6 +:101CC000B00111246D567F4DAC01C4018E0F9F1FD2 +:101CD000E6D48D819E818A0D9B1D8D839E832B81F1 +:101CE0003C812817390710F42D833E83F701868144 +:101CF0009781A816B906C9F58D819E818217930731 +:101D0000A1F1281B390B2115F4E03F0710F02FEF4C +:101D100033E0C901B801A9D4281B390BD7011296A9 +:101D20001D921C9213972017310778F488818460E4 +:101D30008883B0E4DB9EC00111248D569F4DF701CE +:101D40008483958306831783AACF49815A818D8125 +:101D50009E81840F951FD70114968D939C931597A0 +:101D600016962D933C9317979ACF888180FF16C0C3 +:101D70008E7F8883EF81F885309781F06D817E8139 +:101D80004D2D80E0DF91CF911F910F91FF90EF904B +:101D9000DF90BF90AF909F908F900994DF91CF918B +:101DA0001F910F91FF90EF90DF90BF90AF909F90A9 +:101DB0008F9008950F93CF93DF9380910D228330FE +:101DC00029F4DDDEDF91CF910F9196CE209109228B +:101DD00030910A22C0917424D0917524C21BD30B78 +:101DE00061F580910B2290910C22820F931F8093BA +:101DF0000B2290930C22209170243091712428178B +:101E0000390721F08091D220882331F084E080933B +:101E10000D22E0E2F2E236C0E0917824F0917924DC +:101E2000309799F00995882381F010920922109239 +:101E30000A22C0917424D0917524C034D10528F0B1 +:101E40001092D220C0E4D0E003C081E08093D22081 +:101E5000C0932A22D0932B228091092290910A22AA +:101E60002091722430917324280F391F20932C2243 +:101E700030932D22C80FD91FC0930922D0930A2274 +:101E8000E8E2F2E202E00693DF91CF910F9108952C +:101E90000F93CF93DF931F92CDB7DEB78091CC0421 +:101EA00080FF65C021E02093CC0480E292E2FC0137 +:101EB00000E80693E8E2F2E200E806932093CA0401 +:101EC000FC0100E1069380910D22882329F08350C4 +:101ED000823008F454DE10DE809122229091232279 +:101EE000089709F046C088E0E9ECF1E2AAE6B4E21E +:101EF00001900D928A95E1F78091C80480628093E9 +:101F0000C8048091C80480628093C80459DA8111A2 +:101F100002C019DE2EC090916A2497FF0EC0109265 +:101F20000B2210920C221092092210920A2292E0A7 +:101F300090930D2289833EDF08C020917024309158 +:101F40007124232B21F489830CDE898113C0109224 +:101F50000B2210920C221092092210920A2291E078 +:101F600090930D22E0E2F2E202E0069303C080E0EB +:101F700001C081E00F90DF91CF910F910895CF9331 +:101F8000CFB7F89481E08EDDEAECF4E080E4808362 +:101F900080E28083E1ECF4E0808181608083A9ECC1 +:101FA000B4E08C9182608C93E8ECF4E080818064F2 +:101FB00080838C9181608C93808180688083CFBF87 +:101FC000CF910895CF931092600080E375D88091EF +:101FD000C00480648093C00481E080936000CFB728 +:101FE000F89480E090E0FC0123E0EE0FFF1F2A95BB +:101FF000E1F7E05FFD4D118A01968830910599F770 +:10200000809193218E7F8093932180919C218E7F5C +:1020100080939C218091A5218E7F8093A521809122 +:10202000AE218E7F8093AE218091B7218E7F8093E9 +:10203000B7218091C0218E7F8093C0216AE170E03A +:1020400082E008DD8F3F09F48FE18093FA046BE1B1 +:1020500070E082E0FFDC8F3F09F48FE18093FB04A6 +:102060008091C00483608093C0048091C004806824 +:102070008093C0048091C00480618093C00480E29A +:1020800092E28093C6049093C7048091C00480625A +:102090008093C0048FEF8093C5048091C804826050 +:1020A0008093C8041092642285E0DEDC68DFCFBF35 +:1020B000CF9108958093C30408958091C304089537 +:1020C000EAE6F4E2808791876287738708950F9329 +:1020D0001F93CF93DF931F92CDB7DEB78A01698339 +:1020E000F4DCFC018181807C698181113AC06370DC +:1020F000613019F020F080E803C080EC01C080E47A +:1021000000381105E9F058F400321105A9F0003447 +:102110001105A1F000311105C9F491E018C00115B5 +:1021200092E0190779F00F3F93E0190769F0011564 +:10213000114061F495E00BC092E009C093E007C044 +:1021400094E005C096E003C097E001C090E01182E2 +:1021500026E02083982B918381818062818381E0B6 +:1021600001C080E00F90DF91CF911F910F910895F2 +:10217000ACDCFC01818182FB882780F90895CF9334 +:10218000C82FA3DCFC01818182FF0FC091819B7F5E +:1021900091838C2FFCDCFC01908190FF06C09E7F18 +:1021A00090830780F085E02D099581E0CF91089517 +:1021B0008F929F92AF92BF92DF92EF92FF920F9316 +:1021C0001F93CF93DF931F92CDB7DEB7D82E5A015E +:1021D00079016983DCDC4C018D2D77DC9C01DC010D +:1021E00011968C911197807C6981882309F45EC0D7 +:1021F00011968C911197807C803C21F011968C91E6 +:1022000082FD54C09FB7F894F401808180FF02C022 +:102210009FBF4CC0816080839FBFF401A182B282C6 +:10222000E382F482158216820783108791E06111A0 +:1022300004C0E114F10409F090E0D4018C9190FB0A +:1022400081F98B7F8C93D7FE04C0F9011682178227 +:1022500029C0D90111968C911197807C803CC9F4DA +:102260001196EC91E770E150E73040F4F0E0EE0FAA +:10227000FF1FEE54FF4D6081718102C068E070E085 +:10228000C701F3D1892B29F0F40180818E7F8083EF +:102290000DC0D90112961D921C92139716961D928D +:1022A0001C9217978D2D8DDC81E001C080E00F908E +:1022B000DF91CF911F910F91FF90EF90DF90BF9032 +:1022C000AF909F908F900895EF92FF920F93CF93CE +:1022D000C82FFBDB7C018C2F5ADCDC01F70102E00C +:1022E00005939C9190FF1BC09E7F9C931796ED9148 +:1022F000FC911897309799F0D701C7FF05C0169643 +:102300006D917C91179704C012966D917C911397F3 +:102310004C2F81E0CF910F91FF90EF900994CF91D6 +:102320000F91FF90EF900895CF93C82FCDDF8C2FA2 +:10233000CCDBFC011182CF9108950F93CF93C82F6E +:10234000C4DBFC0191819460918301E006938C2FA2 +:10235000BBDF81E0CF910F9108951F920F920FB6CE +:102360000F9211240F932F933F934F935F936F938B +:102370007F938F939F93AF93BF93EF93FF9380913E +:10238000CB0487FF08C080E88093CA040E94BB0981 +:102390000E94A00186C08091CB0482FF18C084E017 +:1023A0008093CA048091282286FF7BC08091CC0450 +:1023B00081FD77C06DDD811174C080910D22813067 +:1023C00011F4CFDB6EC0843009F06BC021C0809166 +:1023D000CB0481FF26C082E08093CA048091202232 +:1023E00086FF5FC08091CC0481FD5BC051DD81110F +:1023F00058C080910D22823041F484E080930D22F8 +:10240000E0E2F2E202E006934CC0833009F049C0FA +:10241000E9E2F2E204E00593E1E2F2E204E005938E +:1024200040C08091CB0484FF25C080E18093CA0422 +:1024300081E04ADF81E848DF82E046DF82E844DF6E +:102440000E949F091092C3041092212296E090935B +:10245000202283E480932122109229229093282223 +:102460008093292289EC91E2809324229093252263 +:1024700043DB17C08091CB0486FF08C080E48093C3 +:10248000CA0480E00FDB0E949E010BC08091CB0448 +:1024900085FF07C080E28093CA0481E003DB0E94CD +:1024A0009F01FF91EF91BF91AF919F918F917F918C +:1024B0006F915F914F913F912F910F910F900FBEB0 +:1024C0000F901F9018951F920F920FB60F92112424 +:1024D0000F931F932F933F934F935F936F937F932C +:1024E0008F939F93AF93BF93CF93DF93EF93FF931C +:1024F0008091CC0481FF1AC082E08093CC0480914B +:10250000C5048195880FE0E2F2E2E81BF109208121 +:1025100031812052324283E0369527958A95E1F742 +:10252000822F869520FD06C0C0E005C0B1DC88235F +:1025300019F386C0C0E8C80F8C2FC7DAFC012081D0 +:1025400025FF7EC000E20693C11174C080910D2268 +:10255000843019F414DBD0DA73C000912222109178 +:1025600023228091742490917524C0910922D091E6 +:102570000A229E01200F311F8217930718F48C0145 +:102580000C1B1D0B8091722490917324A80169EC9F +:1025900071E28C0F9D1F83D0C00FD11FC093092201 +:1025A000D0930A220034110569F480910B22909196 +:1025B0000C228C0F9D1F2091702430917124821762 +:1025C000930788F0C0937424D0937524E091782405 +:1025D000F0917924309729F00995811102C0B3DA7E +:1025E0002FC0BFDA2DC080917424909175248C1770 +:1025F0009D07D9F4E0917824F0917924309779F30C +:102600000995882361F320910B2230910C2280914F +:10261000092290910A22820F931F80930B2290939C +:102620000C221092092210920A22E0E2F2E202E069 +:10263000069306C0C03811F4BDDB02C08C2FC1DA8E +:10264000FF91EF91DF91CF91BF91AF919F918F91CA +:102650007F916F915F914F913F912F911F910F91BA +:102660000F900FBE0F901F901895AA1BBB1B51E136 +:1026700007C0AA1FBB1FA617B70710F0A61BB70BF2 +:10268000881F991F5A95A9F780959095BC01CD0197 +:102690000895EE0FFF1F0590F491E02D0994FB01C2 +:1026A000DC0102C001900D9241505040D8F70895CE +:0426B000F894FFCFCC +:1026B400FF558000800085087F088F087C08000093 +:1026C4004420162000001C201A200620090227009E +:1026D40001010080FA0904000003FFFFFF00070561 +:1026E4008101000101070582010001010705830141 +:1026F400000101001201000200000040EB0300A0F1 +:1027040000020102000100000003000000000000BC +:1027140000000000000000000000000000000000B5 +:1027240000000000000000000000000000000000A5 +:1027340000000000000000000000555342476F6293 +:10274400696E6461722044756D6D792044657669A3 +:102754006365005461706972546563680000040322 +:102764000904100020004000800000010002FF0363 :00000001FF diff --git a/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.lss b/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.lss index 491a4fb0..867b60f1 100644 --- a/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.lss +++ b/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.lss @@ -3,4517 +3,4563 @@ USB_BULK_TEST.elf: file format elf32-avr Sections: Idx Name Size VMA LMA File off Algn - 0 .text 00002620 00000000 00000000 00000094 2**1 + 0 .text 000026b4 00000000 00000000 00000094 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE - 1 .data 000000c0 00802000 00002620 000026b4 2**2 + 1 .data 000000c0 00802000 000026b4 00002748 2**2 CONTENTS, ALLOC, LOAD, DATA - 2 .bss 00000b9c 008020c0 008020c0 00002774 2**2 + 2 .bss 00000b9c 008020c0 008020c0 00002808 2**2 ALLOC - 3 .comment 00000030 00000000 00000000 00002774 2**0 + 3 .comment 00000030 00000000 00000000 00002808 2**0 CONTENTS, READONLY - 4 .note.gnu.avr.deviceinfo 00000040 00000000 00000000 000027a4 2**2 + 4 .note.gnu.avr.deviceinfo 00000040 00000000 00000000 00002838 2**2 CONTENTS, READONLY - 5 .debug_aranges 00000048 00000000 00000000 000027e8 2**3 + 5 .debug_aranges 00000048 00000000 00000000 00002878 2**3 CONTENTS, READONLY, DEBUGGING - 6 .debug_info 00000126 00000000 00000000 00002830 2**0 + 6 .debug_info 00000126 00000000 00000000 000028c0 2**0 CONTENTS, READONLY, DEBUGGING - 7 .debug_abbrev 00000026 00000000 00000000 00002956 2**0 + 7 .debug_abbrev 00000026 00000000 00000000 000029e6 2**0 CONTENTS, READONLY, DEBUGGING - 8 .debug_line 0000018d 00000000 00000000 0000297c 2**0 + 8 .debug_line 0000018d 00000000 00000000 00002a0c 2**0 CONTENTS, READONLY, DEBUGGING - 9 .debug_ranges 00000020 00000000 00000000 00002b10 2**3 + 9 .debug_ranges 00000020 00000000 00000000 00002ba0 2**3 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: 00000000 <__vectors>: - 0: 1d c1 rjmp .+570 ; 0x23c <__ctors_end> + 0: 25 c1 rjmp .+586 ; 0x24c <__ctors_end> 2: 00 00 nop - 4: 37 c1 rjmp .+622 ; 0x274 <__bad_interrupt> + 4: 3f c1 rjmp .+638 ; 0x284 <__bad_interrupt> 6: 00 00 nop - 8: 35 c1 rjmp .+618 ; 0x274 <__bad_interrupt> + 8: 3d c1 rjmp .+634 ; 0x284 <__bad_interrupt> a: 00 00 nop - c: 33 c1 rjmp .+614 ; 0x274 <__bad_interrupt> + c: 3b c1 rjmp .+630 ; 0x284 <__bad_interrupt> e: 00 00 nop - 10: 31 c1 rjmp .+610 ; 0x274 <__bad_interrupt> + 10: 39 c1 rjmp .+626 ; 0x284 <__bad_interrupt> 12: 00 00 nop - 14: 2f c1 rjmp .+606 ; 0x274 <__bad_interrupt> + 14: 37 c1 rjmp .+622 ; 0x284 <__bad_interrupt> 16: 00 00 nop - 18: e8 c5 rjmp .+3024 ; 0xbea <__vector_6> + 18: d7 c5 rjmp .+2990 ; 0xbc8 <__vector_6> 1a: 00 00 nop - 1c: 35 c6 rjmp .+3178 ; 0xc88 <__vector_7> + 1c: 33 c6 rjmp .+3174 ; 0xc84 <__vector_7> 1e: 00 00 nop - 20: 29 c1 rjmp .+594 ; 0x274 <__bad_interrupt> + 20: 78 c6 rjmp .+3312 ; 0xd12 <__vector_8> 22: 00 00 nop - 24: 78 c6 rjmp .+3312 ; 0xd16 <__vector_9> + 24: b7 c6 rjmp .+3438 ; 0xd94 <__vector_9> 26: 00 00 nop - 28: 25 c1 rjmp .+586 ; 0x274 <__bad_interrupt> + 28: 2d c1 rjmp .+602 ; 0x284 <__bad_interrupt> 2a: 00 00 nop - 2c: 23 c1 rjmp .+582 ; 0x274 <__bad_interrupt> + 2c: 2b c1 rjmp .+598 ; 0x284 <__bad_interrupt> 2e: 00 00 nop - 30: 21 c1 rjmp .+578 ; 0x274 <__bad_interrupt> + 30: 29 c1 rjmp .+594 ; 0x284 <__bad_interrupt> 32: 00 00 nop - 34: 1f c1 rjmp .+574 ; 0x274 <__bad_interrupt> + 34: 27 c1 rjmp .+590 ; 0x284 <__bad_interrupt> 36: 00 00 nop - 38: 1d c1 rjmp .+570 ; 0x274 <__bad_interrupt> + 38: 25 c1 rjmp .+586 ; 0x284 <__bad_interrupt> 3a: 00 00 nop - 3c: 1b c1 rjmp .+566 ; 0x274 <__bad_interrupt> + 3c: 23 c1 rjmp .+582 ; 0x284 <__bad_interrupt> 3e: 00 00 nop - 40: 19 c1 rjmp .+562 ; 0x274 <__bad_interrupt> + 40: 21 c1 rjmp .+578 ; 0x284 <__bad_interrupt> 42: 00 00 nop - 44: 17 c1 rjmp .+558 ; 0x274 <__bad_interrupt> + 44: 1f c1 rjmp .+574 ; 0x284 <__bad_interrupt> 46: 00 00 nop - 48: 15 c1 rjmp .+554 ; 0x274 <__bad_interrupt> + 48: 1d c1 rjmp .+570 ; 0x284 <__bad_interrupt> 4a: 00 00 nop - 4c: 13 c1 rjmp .+550 ; 0x274 <__bad_interrupt> + 4c: 1b c1 rjmp .+566 ; 0x284 <__bad_interrupt> 4e: 00 00 nop - 50: 11 c1 rjmp .+546 ; 0x274 <__bad_interrupt> + 50: 19 c1 rjmp .+562 ; 0x284 <__bad_interrupt> 52: 00 00 nop - 54: 0f c1 rjmp .+542 ; 0x274 <__bad_interrupt> + 54: 17 c1 rjmp .+558 ; 0x284 <__bad_interrupt> 56: 00 00 nop - 58: 0d c1 rjmp .+538 ; 0x274 <__bad_interrupt> + 58: 15 c1 rjmp .+554 ; 0x284 <__bad_interrupt> 5a: 00 00 nop - 5c: 0b c1 rjmp .+534 ; 0x274 <__bad_interrupt> + 5c: 13 c1 rjmp .+550 ; 0x284 <__bad_interrupt> 5e: 00 00 nop - 60: 5c c7 rjmp .+3768 ; 0xf1a <__vector_24> + 60: a5 c7 rjmp .+3914 ; 0xfac <__vector_24> 62: 00 00 nop - 64: 07 c1 rjmp .+526 ; 0x274 <__bad_interrupt> + 64: 0f c1 rjmp .+542 ; 0x284 <__bad_interrupt> 66: 00 00 nop - 68: 05 c1 rjmp .+522 ; 0x274 <__bad_interrupt> + 68: 0d c1 rjmp .+538 ; 0x284 <__bad_interrupt> 6a: 00 00 nop - 6c: 03 c1 rjmp .+518 ; 0x274 <__bad_interrupt> + 6c: 0b c1 rjmp .+534 ; 0x284 <__bad_interrupt> 6e: 00 00 nop - 70: 01 c1 rjmp .+514 ; 0x274 <__bad_interrupt> + 70: 09 c1 rjmp .+530 ; 0x284 <__bad_interrupt> 72: 00 00 nop - 74: ff c0 rjmp .+510 ; 0x274 <__bad_interrupt> + 74: 07 c1 rjmp .+526 ; 0x284 <__bad_interrupt> 76: 00 00 nop - 78: fd c0 rjmp .+506 ; 0x274 <__bad_interrupt> + 78: 05 c1 rjmp .+522 ; 0x284 <__bad_interrupt> 7a: 00 00 nop - 7c: fb c0 rjmp .+502 ; 0x274 <__bad_interrupt> + 7c: 03 c1 rjmp .+518 ; 0x284 <__bad_interrupt> 7e: 00 00 nop - 80: f9 c0 rjmp .+498 ; 0x274 <__bad_interrupt> + 80: 01 c1 rjmp .+514 ; 0x284 <__bad_interrupt> 82: 00 00 nop - 84: f7 c0 rjmp .+494 ; 0x274 <__bad_interrupt> + 84: ff c0 rjmp .+510 ; 0x284 <__bad_interrupt> 86: 00 00 nop - 88: f5 c0 rjmp .+490 ; 0x274 <__bad_interrupt> + 88: fd c0 rjmp .+506 ; 0x284 <__bad_interrupt> 8a: 00 00 nop - 8c: f3 c0 rjmp .+486 ; 0x274 <__bad_interrupt> + 8c: fb c0 rjmp .+502 ; 0x284 <__bad_interrupt> 8e: 00 00 nop - 90: f1 c0 rjmp .+482 ; 0x274 <__bad_interrupt> + 90: f9 c0 rjmp .+498 ; 0x284 <__bad_interrupt> 92: 00 00 nop - 94: ef c0 rjmp .+478 ; 0x274 <__bad_interrupt> + 94: f7 c0 rjmp .+494 ; 0x284 <__bad_interrupt> 96: 00 00 nop - 98: ed c0 rjmp .+474 ; 0x274 <__bad_interrupt> + 98: f5 c0 rjmp .+490 ; 0x284 <__bad_interrupt> 9a: 00 00 nop - 9c: eb c0 rjmp .+470 ; 0x274 <__bad_interrupt> + 9c: f3 c0 rjmp .+486 ; 0x284 <__bad_interrupt> 9e: 00 00 nop - a0: e9 c0 rjmp .+466 ; 0x274 <__bad_interrupt> + a0: f1 c0 rjmp .+482 ; 0x284 <__bad_interrupt> a2: 00 00 nop - a4: e7 c0 rjmp .+462 ; 0x274 <__bad_interrupt> + a4: ef c0 rjmp .+478 ; 0x284 <__bad_interrupt> a6: 00 00 nop - a8: e5 c0 rjmp .+458 ; 0x274 <__bad_interrupt> + a8: ed c0 rjmp .+474 ; 0x284 <__bad_interrupt> aa: 00 00 nop - ac: e3 c0 rjmp .+454 ; 0x274 <__bad_interrupt> + ac: eb c0 rjmp .+470 ; 0x284 <__bad_interrupt> ae: 00 00 nop - b0: e1 c0 rjmp .+450 ; 0x274 <__bad_interrupt> + b0: e9 c0 rjmp .+466 ; 0x284 <__bad_interrupt> b2: 00 00 nop - b4: df c0 rjmp .+446 ; 0x274 <__bad_interrupt> + b4: e7 c0 rjmp .+462 ; 0x284 <__bad_interrupt> b6: 00 00 nop - b8: dd c0 rjmp .+442 ; 0x274 <__bad_interrupt> + b8: e5 c0 rjmp .+458 ; 0x284 <__bad_interrupt> ba: 00 00 nop - bc: db c0 rjmp .+438 ; 0x274 <__bad_interrupt> + bc: e3 c0 rjmp .+454 ; 0x284 <__bad_interrupt> be: 00 00 nop - c0: d9 c0 rjmp .+434 ; 0x274 <__bad_interrupt> + c0: e1 c0 rjmp .+450 ; 0x284 <__bad_interrupt> c2: 00 00 nop - c4: d7 c0 rjmp .+430 ; 0x274 <__bad_interrupt> + c4: df c0 rjmp .+446 ; 0x284 <__bad_interrupt> c6: 00 00 nop - c8: d5 c0 rjmp .+426 ; 0x274 <__bad_interrupt> + c8: dd c0 rjmp .+442 ; 0x284 <__bad_interrupt> ca: 00 00 nop - cc: d3 c0 rjmp .+422 ; 0x274 <__bad_interrupt> + cc: db c0 rjmp .+438 ; 0x284 <__bad_interrupt> ce: 00 00 nop - d0: d1 c0 rjmp .+418 ; 0x274 <__bad_interrupt> + d0: d9 c0 rjmp .+434 ; 0x284 <__bad_interrupt> d2: 00 00 nop - d4: cf c0 rjmp .+414 ; 0x274 <__bad_interrupt> + d4: d7 c0 rjmp .+430 ; 0x284 <__bad_interrupt> d6: 00 00 nop - d8: cd c0 rjmp .+410 ; 0x274 <__bad_interrupt> + d8: d5 c0 rjmp .+426 ; 0x284 <__bad_interrupt> da: 00 00 nop - dc: cb c0 rjmp .+406 ; 0x274 <__bad_interrupt> + dc: d3 c0 rjmp .+422 ; 0x284 <__bad_interrupt> de: 00 00 nop - e0: c9 c0 rjmp .+402 ; 0x274 <__bad_interrupt> + e0: d1 c0 rjmp .+418 ; 0x284 <__bad_interrupt> e2: 00 00 nop - e4: c7 c0 rjmp .+398 ; 0x274 <__bad_interrupt> + e4: cf c0 rjmp .+414 ; 0x284 <__bad_interrupt> e6: 00 00 nop - e8: c5 c0 rjmp .+394 ; 0x274 <__bad_interrupt> + e8: cd c0 rjmp .+410 ; 0x284 <__bad_interrupt> ea: 00 00 nop - ec: c3 c0 rjmp .+390 ; 0x274 <__bad_interrupt> + ec: cb c0 rjmp .+406 ; 0x284 <__bad_interrupt> ee: 00 00 nop - f0: c1 c0 rjmp .+386 ; 0x274 <__bad_interrupt> + f0: c9 c0 rjmp .+402 ; 0x284 <__bad_interrupt> f2: 00 00 nop - f4: bf c0 rjmp .+382 ; 0x274 <__bad_interrupt> + f4: c7 c0 rjmp .+398 ; 0x284 <__bad_interrupt> f6: 00 00 nop - f8: bd c0 rjmp .+378 ; 0x274 <__bad_interrupt> + f8: c5 c0 rjmp .+394 ; 0x284 <__bad_interrupt> fa: 00 00 nop - fc: bb c0 rjmp .+374 ; 0x274 <__bad_interrupt> + fc: c3 c0 rjmp .+390 ; 0x284 <__bad_interrupt> fe: 00 00 nop - 100: b9 c0 rjmp .+370 ; 0x274 <__bad_interrupt> + 100: c1 c0 rjmp .+386 ; 0x284 <__bad_interrupt> 102: 00 00 nop - 104: b7 c0 rjmp .+366 ; 0x274 <__bad_interrupt> + 104: bf c0 rjmp .+382 ; 0x284 <__bad_interrupt> 106: 00 00 nop - 108: b5 c0 rjmp .+362 ; 0x274 <__bad_interrupt> + 108: bd c0 rjmp .+378 ; 0x284 <__bad_interrupt> 10a: 00 00 nop - 10c: b3 c0 rjmp .+358 ; 0x274 <__bad_interrupt> + 10c: bb c0 rjmp .+374 ; 0x284 <__bad_interrupt> 10e: 00 00 nop - 110: b1 c0 rjmp .+354 ; 0x274 <__bad_interrupt> + 110: b9 c0 rjmp .+370 ; 0x284 <__bad_interrupt> 112: 00 00 nop - 114: af c0 rjmp .+350 ; 0x274 <__bad_interrupt> + 114: b7 c0 rjmp .+366 ; 0x284 <__bad_interrupt> 116: 00 00 nop - 118: ad c0 rjmp .+346 ; 0x274 <__bad_interrupt> + 118: b5 c0 rjmp .+362 ; 0x284 <__bad_interrupt> 11a: 00 00 nop - 11c: ab c0 rjmp .+342 ; 0x274 <__bad_interrupt> + 11c: b3 c0 rjmp .+358 ; 0x284 <__bad_interrupt> 11e: 00 00 nop - 120: a9 c0 rjmp .+338 ; 0x274 <__bad_interrupt> + 120: b1 c0 rjmp .+354 ; 0x284 <__bad_interrupt> 122: 00 00 nop - 124: a7 c0 rjmp .+334 ; 0x274 <__bad_interrupt> + 124: af c0 rjmp .+350 ; 0x284 <__bad_interrupt> 126: 00 00 nop - 128: a5 c0 rjmp .+330 ; 0x274 <__bad_interrupt> + 128: ad c0 rjmp .+346 ; 0x284 <__bad_interrupt> 12a: 00 00 nop - 12c: a3 c0 rjmp .+326 ; 0x274 <__bad_interrupt> + 12c: ab c0 rjmp .+342 ; 0x284 <__bad_interrupt> 12e: 00 00 nop - 130: a1 c0 rjmp .+322 ; 0x274 <__bad_interrupt> + 130: a9 c0 rjmp .+338 ; 0x284 <__bad_interrupt> 132: 00 00 nop - 134: 9f c0 rjmp .+318 ; 0x274 <__bad_interrupt> + 134: a7 c0 rjmp .+334 ; 0x284 <__bad_interrupt> 136: 00 00 nop - 138: 9d c0 rjmp .+314 ; 0x274 <__bad_interrupt> + 138: a5 c0 rjmp .+330 ; 0x284 <__bad_interrupt> 13a: 00 00 nop - 13c: 9b c0 rjmp .+310 ; 0x274 <__bad_interrupt> + 13c: a3 c0 rjmp .+326 ; 0x284 <__bad_interrupt> 13e: 00 00 nop - 140: 99 c0 rjmp .+306 ; 0x274 <__bad_interrupt> + 140: a1 c0 rjmp .+322 ; 0x284 <__bad_interrupt> 142: 00 00 nop - 144: 97 c0 rjmp .+302 ; 0x274 <__bad_interrupt> + 144: 9f c0 rjmp .+318 ; 0x284 <__bad_interrupt> 146: 00 00 nop - 148: 95 c0 rjmp .+298 ; 0x274 <__bad_interrupt> + 148: 9d c0 rjmp .+314 ; 0x284 <__bad_interrupt> 14a: 00 00 nop - 14c: 5d c6 rjmp .+3258 ; 0xe08 <__vector_83> + 14c: a6 c6 rjmp .+3404 ; 0xe9a <__vector_83> 14e: 00 00 nop - 150: 91 c0 rjmp .+290 ; 0x274 <__bad_interrupt> + 150: 99 c0 rjmp .+306 ; 0x284 <__bad_interrupt> 152: 00 00 nop - 154: 8f c0 rjmp .+286 ; 0x274 <__bad_interrupt> + 154: 97 c0 rjmp .+302 ; 0x284 <__bad_interrupt> 156: 00 00 nop - 158: 8d c0 rjmp .+282 ; 0x274 <__bad_interrupt> + 158: 95 c0 rjmp .+298 ; 0x284 <__bad_interrupt> 15a: 00 00 nop - 15c: 8b c0 rjmp .+278 ; 0x274 <__bad_interrupt> + 15c: 93 c0 rjmp .+294 ; 0x284 <__bad_interrupt> 15e: 00 00 nop - 160: 89 c0 rjmp .+274 ; 0x274 <__bad_interrupt> + 160: 91 c0 rjmp .+290 ; 0x284 <__bad_interrupt> 162: 00 00 nop - 164: 87 c0 rjmp .+270 ; 0x274 <__bad_interrupt> + 164: 8f c0 rjmp .+286 ; 0x284 <__bad_interrupt> 166: 00 00 nop - 168: 85 c0 rjmp .+266 ; 0x274 <__bad_interrupt> + 168: 8d c0 rjmp .+282 ; 0x284 <__bad_interrupt> 16a: 00 00 nop - 16c: 83 c0 rjmp .+262 ; 0x274 <__bad_interrupt> + 16c: 8b c0 rjmp .+278 ; 0x284 <__bad_interrupt> 16e: 00 00 nop - 170: 81 c0 rjmp .+258 ; 0x274 <__bad_interrupt> + 170: 89 c0 rjmp .+274 ; 0x284 <__bad_interrupt> 172: 00 00 nop - 174: 7f c0 rjmp .+254 ; 0x274 <__bad_interrupt> + 174: 87 c0 rjmp .+270 ; 0x284 <__bad_interrupt> 176: 00 00 nop - 178: 7d c0 rjmp .+250 ; 0x274 <__bad_interrupt> + 178: 85 c0 rjmp .+266 ; 0x284 <__bad_interrupt> 17a: 00 00 nop - 17c: 7b c0 rjmp .+246 ; 0x274 <__bad_interrupt> + 17c: 83 c0 rjmp .+262 ; 0x284 <__bad_interrupt> 17e: 00 00 nop - 180: 79 c0 rjmp .+242 ; 0x274 <__bad_interrupt> + 180: 81 c0 rjmp .+258 ; 0x284 <__bad_interrupt> 182: 00 00 nop - 184: 77 c0 rjmp .+238 ; 0x274 <__bad_interrupt> + 184: 7f c0 rjmp .+254 ; 0x284 <__bad_interrupt> 186: 00 00 nop - 188: 75 c0 rjmp .+234 ; 0x274 <__bad_interrupt> + 188: 7d c0 rjmp .+250 ; 0x284 <__bad_interrupt> 18a: 00 00 nop - 18c: 73 c0 rjmp .+230 ; 0x274 <__bad_interrupt> + 18c: 7b c0 rjmp .+246 ; 0x284 <__bad_interrupt> 18e: 00 00 nop - 190: 71 c0 rjmp .+226 ; 0x274 <__bad_interrupt> + 190: 79 c0 rjmp .+242 ; 0x284 <__bad_interrupt> 192: 00 00 nop - 194: 6f c0 rjmp .+222 ; 0x274 <__bad_interrupt> + 194: 77 c0 rjmp .+238 ; 0x284 <__bad_interrupt> 196: 00 00 nop - 198: 6d c0 rjmp .+218 ; 0x274 <__bad_interrupt> + 198: 75 c0 rjmp .+234 ; 0x284 <__bad_interrupt> 19a: 00 00 nop - 19c: 6b c0 rjmp .+214 ; 0x274 <__bad_interrupt> + 19c: 73 c0 rjmp .+230 ; 0x284 <__bad_interrupt> 19e: 00 00 nop - 1a0: 69 c0 rjmp .+210 ; 0x274 <__bad_interrupt> + 1a0: 71 c0 rjmp .+226 ; 0x284 <__bad_interrupt> 1a2: 00 00 nop - 1a4: 67 c0 rjmp .+206 ; 0x274 <__bad_interrupt> + 1a4: 6f c0 rjmp .+222 ; 0x284 <__bad_interrupt> 1a6: 00 00 nop - 1a8: 65 c0 rjmp .+202 ; 0x274 <__bad_interrupt> + 1a8: 6d c0 rjmp .+218 ; 0x284 <__bad_interrupt> 1aa: 00 00 nop - 1ac: 63 c0 rjmp .+198 ; 0x274 <__bad_interrupt> + 1ac: 6b c0 rjmp .+214 ; 0x284 <__bad_interrupt> 1ae: 00 00 nop - 1b0: 61 c0 rjmp .+194 ; 0x274 <__bad_interrupt> + 1b0: 69 c0 rjmp .+210 ; 0x284 <__bad_interrupt> 1b2: 00 00 nop - 1b4: 5f c0 rjmp .+190 ; 0x274 <__bad_interrupt> + 1b4: 67 c0 rjmp .+206 ; 0x284 <__bad_interrupt> 1b6: 00 00 nop - 1b8: 5d c0 rjmp .+186 ; 0x274 <__bad_interrupt> + 1b8: 65 c0 rjmp .+202 ; 0x284 <__bad_interrupt> 1ba: 00 00 nop - 1bc: 5b c0 rjmp .+182 ; 0x274 <__bad_interrupt> + 1bc: 63 c0 rjmp .+198 ; 0x284 <__bad_interrupt> 1be: 00 00 nop - 1c0: 59 c0 rjmp .+178 ; 0x274 <__bad_interrupt> + 1c0: 61 c0 rjmp .+194 ; 0x284 <__bad_interrupt> 1c2: 00 00 nop - 1c4: 57 c0 rjmp .+174 ; 0x274 <__bad_interrupt> + 1c4: 5f c0 rjmp .+190 ; 0x284 <__bad_interrupt> 1c6: 00 00 nop - 1c8: 55 c0 rjmp .+170 ; 0x274 <__bad_interrupt> + 1c8: 5d c0 rjmp .+186 ; 0x284 <__bad_interrupt> 1ca: 00 00 nop - 1cc: 53 c0 rjmp .+166 ; 0x274 <__bad_interrupt> + 1cc: 5b c0 rjmp .+182 ; 0x284 <__bad_interrupt> 1ce: 00 00 nop - 1d0: 51 c0 rjmp .+162 ; 0x274 <__bad_interrupt> + 1d0: 59 c0 rjmp .+178 ; 0x284 <__bad_interrupt> 1d2: 00 00 nop - 1d4: 4f c0 rjmp .+158 ; 0x274 <__bad_interrupt> + 1d4: 57 c0 rjmp .+174 ; 0x284 <__bad_interrupt> 1d6: 00 00 nop - 1d8: 4d c0 rjmp .+154 ; 0x274 <__bad_interrupt> + 1d8: 55 c0 rjmp .+170 ; 0x284 <__bad_interrupt> 1da: 00 00 nop - 1dc: 4b c0 rjmp .+150 ; 0x274 <__bad_interrupt> + 1dc: 53 c0 rjmp .+166 ; 0x284 <__bad_interrupt> 1de: 00 00 nop - 1e0: 49 c0 rjmp .+146 ; 0x274 <__bad_interrupt> + 1e0: 51 c0 rjmp .+162 ; 0x284 <__bad_interrupt> 1e2: 00 00 nop - 1e4: 47 c0 rjmp .+142 ; 0x274 <__bad_interrupt> + 1e4: 4f c0 rjmp .+158 ; 0x284 <__bad_interrupt> 1e6: 00 00 nop - 1e8: 45 c0 rjmp .+138 ; 0x274 <__bad_interrupt> + 1e8: 4d c0 rjmp .+154 ; 0x284 <__bad_interrupt> 1ea: 00 00 nop - 1ec: 43 c0 rjmp .+134 ; 0x274 <__bad_interrupt> + 1ec: 4b c0 rjmp .+150 ; 0x284 <__bad_interrupt> 1ee: 00 00 nop - 1f0: 41 c0 rjmp .+130 ; 0x274 <__bad_interrupt> + 1f0: 49 c0 rjmp .+146 ; 0x284 <__bad_interrupt> 1f2: 00 00 nop - 1f4: 0c 94 63 11 jmp 0x22c6 ; 0x22c6 <__vector_125> - 1f8: 0c 94 19 12 jmp 0x2432 ; 0x2432 <__vector_126> - 1fc: 95 01 movw r18, r10 - 1fe: 97 01 movw r18, r14 - 200: 99 01 movw r18, r18 - 202: 9b 01 movw r18, r22 - 204: 9d 01 movw r18, r26 - 206: a2 01 movw r20, r4 - 208: 9f 01 movw r18, r30 - 20a: a1 01 movw r20, r2 - 20c: cb 09 sbc r28, r11 - 20e: cd 09 sbc r28, r13 - 210: f4 09 sbc r31, r4 - 212: 27 0a sbc r2, r23 - 214: 30 0a sbc r3, r16 - 216: 35 0a sbc r3, r21 - 218: 86 0a sbc r8, r22 - 21a: 8b 0a sbc r8, r27 - 21c: 49 0a sbc r4, r25 - 21e: 53 0a sbc r5, r19 - 220: 61 0a sbc r6, r17 - 222: 63 0a sbc r6, r19 - 224: 65 0a sbc r6, r21 - 226: 6f 0a sbc r6, r31 - 228: 79 0a sbc r7, r25 - 22a: 84 0a sbc r8, r20 - 22c: 41 0a sbc r4, r17 - 22e: 4b 0a sbc r4, r27 - 230: 55 0a sbc r5, r21 - 232: 63 0a sbc r6, r19 - 234: 65 0a sbc r6, r21 - 236: 67 0a sbc r6, r23 - 238: 71 0a sbc r7, r17 - 23a: 7b 0a sbc r7, r27 + 1f4: 0c 94 ad 11 jmp 0x235a ; 0x235a <__vector_125> + 1f8: 0c 94 63 12 jmp 0x24c6 ; 0x24c6 <__vector_126> + 1fc: ac 01 movw r20, r24 + 1fe: ae 01 movw r20, r28 + 200: b0 01 movw r22, r0 + 202: b2 01 movw r22, r4 + 204: b4 01 movw r22, r8 + 206: b9 01 movw r22, r18 + 208: b6 01 movw r22, r12 + 20a: b8 01 movw r22, r16 + 20c: 01 06 cpc r0, r17 + 20e: 01 06 cpc r0, r17 + 210: 01 06 cpc r0, r17 + 212: 01 06 cpc r0, r17 + 214: 01 06 cpc r0, r17 + 216: 34 06 cpc r3, r20 + 218: 0c 06 cpc r0, r28 + 21a: 0c 06 cpc r0, r28 + 21c: 14 0a sbc r1, r20 + 21e: 16 0a sbc r1, r22 + 220: 3d 0a sbc r3, r29 + 222: 70 0a sbc r7, r16 + 224: 79 0a sbc r7, r25 + 226: 7e 0a sbc r7, r30 + 228: d0 0a sbc r13, r16 + 22a: d5 0a sbc r13, r21 + 22c: 92 0a sbc r9, r18 + 22e: 9d 0a sbc r9, r29 + 230: ab 0a sbc r10, r27 + 232: ad 0a sbc r10, r29 + 234: af 0a sbc r10, r31 + 236: b9 0a sbc r11, r25 + 238: c3 0a sbc r12, r19 + 23a: ce 0a sbc r12, r30 + 23c: 8a 0a sbc r8, r26 + 23e: 95 0a sbc r9, r21 + 240: 9f 0a sbc r9, r31 + 242: ad 0a sbc r10, r29 + 244: af 0a sbc r10, r31 + 246: b1 0a sbc r11, r17 + 248: bb 0a sbc r11, r27 + 24a: c5 0a sbc r12, r21 -0000023c <__ctors_end>: - 23c: 11 24 eor r1, r1 - 23e: 1f be out 0x3f, r1 ; 63 - 240: cf ef ldi r28, 0xFF ; 255 - 242: cd bf out 0x3d, r28 ; 61 - 244: df e2 ldi r29, 0x2F ; 47 - 246: de bf out 0x3e, r29 ; 62 +0000024c <__ctors_end>: + 24c: 11 24 eor r1, r1 + 24e: 1f be out 0x3f, r1 ; 63 + 250: cf ef ldi r28, 0xFF ; 255 + 252: cd bf out 0x3d, r28 ; 61 + 254: df e2 ldi r29, 0x2F ; 47 + 256: de bf out 0x3e, r29 ; 62 -00000248 <__do_copy_data>: - 248: 10 e2 ldi r17, 0x20 ; 32 - 24a: a0 e0 ldi r26, 0x00 ; 0 - 24c: b0 e2 ldi r27, 0x20 ; 32 - 24e: e0 e2 ldi r30, 0x20 ; 32 - 250: f6 e2 ldi r31, 0x26 ; 38 - 252: 02 c0 rjmp .+4 ; 0x258 <__do_copy_data+0x10> - 254: 05 90 lpm r0, Z+ - 256: 0d 92 st X+, r0 - 258: a0 3c cpi r26, 0xC0 ; 192 - 25a: b1 07 cpc r27, r17 - 25c: d9 f7 brne .-10 ; 0x254 <__do_copy_data+0xc> +00000258 <__do_copy_data>: + 258: 10 e2 ldi r17, 0x20 ; 32 + 25a: a0 e0 ldi r26, 0x00 ; 0 + 25c: b0 e2 ldi r27, 0x20 ; 32 + 25e: e4 eb ldi r30, 0xB4 ; 180 + 260: f6 e2 ldi r31, 0x26 ; 38 + 262: 02 c0 rjmp .+4 ; 0x268 <__do_copy_data+0x10> + 264: 05 90 lpm r0, Z+ + 266: 0d 92 st X+, r0 + 268: a0 3c cpi r26, 0xC0 ; 192 + 26a: b1 07 cpc r27, r17 + 26c: d9 f7 brne .-10 ; 0x264 <__do_copy_data+0xc> -0000025e <__do_clear_bss>: - 25e: 2c e2 ldi r18, 0x2C ; 44 - 260: a0 ec ldi r26, 0xC0 ; 192 - 262: b0 e2 ldi r27, 0x20 ; 32 - 264: 01 c0 rjmp .+2 ; 0x268 <.do_clear_bss_start> +0000026e <__do_clear_bss>: + 26e: 2c e2 ldi r18, 0x2C ; 44 + 270: a0 ec ldi r26, 0xC0 ; 192 + 272: b0 e2 ldi r27, 0x20 ; 32 + 274: 01 c0 rjmp .+2 ; 0x278 <.do_clear_bss_start> -00000266 <.do_clear_bss_loop>: - 266: 1d 92 st X+, r1 +00000276 <.do_clear_bss_loop>: + 276: 1d 92 st X+, r1 -00000268 <.do_clear_bss_start>: - 268: ac 35 cpi r26, 0x5C ; 92 - 26a: b2 07 cpc r27, r18 - 26c: e1 f7 brne .-8 ; 0x266 <.do_clear_bss_loop> - 26e: 3b d0 rcall .+118 ; 0x2e6
- 270: 0c 94 0e 13 jmp 0x261c ; 0x261c <_exit> +00000278 <.do_clear_bss_start>: + 278: ac 35 cpi r26, 0x5C ; 92 + 27a: b2 07 cpc r27, r18 + 27c: e1 f7 brne .-8 ; 0x276 <.do_clear_bss_loop> + 27e: 3b d0 rcall .+118 ; 0x2f6
+ 280: 0c 94 58 13 jmp 0x26b0 ; 0x26b0 <_exit> -00000274 <__bad_interrupt>: - 274: c5 ce rjmp .-630 ; 0x0 <__vectors> +00000284 <__bad_interrupt>: + 284: bd ce rjmp .-646 ; 0x0 <__vectors> -00000276 : - 276: e0 e8 ldi r30, 0x80 ; 128 - 278: f6 e0 ldi r31, 0x06 ; 6 - 27a: 8f e0 ldi r24, 0x0F ; 15 - 27c: 80 83 st Z, r24 - 27e: 85 e0 ldi r24, 0x05 ; 5 - 280: 84 83 std Z+4, r24 ; 0x04 - 282: 08 95 ret +00000286 : + 286: e0 e8 ldi r30, 0x80 ; 128 + 288: f6 e0 ldi r31, 0x06 ; 6 + 28a: 8f e0 ldi r24, 0x0F ; 15 + 28c: 80 83 st Z, r24 + 28e: 85 e0 ldi r24, 0x05 ; 5 + 290: 84 83 std Z+4, r24 ; 0x04 + 292: 08 95 ret -00000284 : - 284: 08 95 ret +00000294 : + 294: 08 95 ret -00000286 : - 286: 40 91 c1 20 lds r20, 0x20C1 ; 0x8020c1 - 28a: 2e ee ldi r18, 0xEE ; 238 - 28c: 32 e0 ldi r19, 0x02 ; 2 - 28e: 42 9f mul r20, r18 - 290: c0 01 movw r24, r0 - 292: 43 9f mul r20, r19 - 294: 90 0d add r25, r0 - 296: 11 24 eor r1, r1 - 298: 43 e4 ldi r20, 0x43 ; 67 - 29a: 51 e0 ldi r21, 0x01 ; 1 - 29c: 6a ef ldi r22, 0xFA ; 250 - 29e: 70 e0 ldi r23, 0x00 ; 0 - 2a0: 86 58 subi r24, 0x86 ; 134 - 2a2: 99 4d sbci r25, 0xD9 ; 217 - 2a4: 0f c7 rjmp .+3614 ; 0x10c4 +00000296 : + 296: 40 91 c1 20 lds r20, 0x20C1 ; 0x8020c1 + 29a: 2e ee ldi r18, 0xEE ; 238 + 29c: 32 e0 ldi r19, 0x02 ; 2 + 29e: 42 9f mul r20, r18 + 2a0: c0 01 movw r24, r0 + 2a2: 43 9f mul r20, r19 + 2a4: 90 0d add r25, r0 + 2a6: 11 24 eor r1, r1 + 2a8: 4b e4 ldi r20, 0x4B ; 75 + 2aa: 51 e0 ldi r21, 0x01 ; 1 + 2ac: 6a ef ldi r22, 0xFA ; 250 + 2ae: 70 e0 ldi r23, 0x00 ; 0 + 2b0: 86 58 subi r24, 0x86 ; 134 + 2b2: 99 4d sbci r25, 0xD9 ; 217 + 2b4: 50 c7 rjmp .+3744 ; 0x1156 -000002a6 : - 2a6: 40 91 c1 20 lds r20, 0x20C1 ; 0x8020c1 - 2aa: 2e ee ldi r18, 0xEE ; 238 - 2ac: 32 e0 ldi r19, 0x02 ; 2 - 2ae: 42 9f mul r20, r18 - 2b0: c0 01 movw r24, r0 - 2b2: 43 9f mul r20, r19 - 2b4: 90 0d add r25, r0 - 2b6: 11 24 eor r1, r1 - 2b8: 43 e5 ldi r20, 0x53 ; 83 - 2ba: 51 e0 ldi r21, 0x01 ; 1 - 2bc: 6a ef ldi r22, 0xFA ; 250 - 2be: 70 e0 ldi r23, 0x00 ; 0 - 2c0: 8c 58 subi r24, 0x8C ; 140 - 2c2: 98 4d sbci r25, 0xD8 ; 216 - 2c4: 0b c7 rjmp .+3606 ; 0x10dc +000002b6 : + 2b6: 40 91 c1 20 lds r20, 0x20C1 ; 0x8020c1 + 2ba: 2e ee ldi r18, 0xEE ; 238 + 2bc: 32 e0 ldi r19, 0x02 ; 2 + 2be: 42 9f mul r20, r18 + 2c0: c0 01 movw r24, r0 + 2c2: 43 9f mul r20, r19 + 2c4: 90 0d add r25, r0 + 2c6: 11 24 eor r1, r1 + 2c8: 4b e5 ldi r20, 0x5B ; 91 + 2ca: 51 e0 ldi r21, 0x01 ; 1 + 2cc: 6a ef ldi r22, 0xFA ; 250 + 2ce: 70 e0 ldi r23, 0x00 ; 0 + 2d0: 8c 58 subi r24, 0x8C ; 140 + 2d2: 98 4d sbci r25, 0xD8 ; 216 + 2d4: 4c c7 rjmp .+3736 ; 0x116e -000002c6 : - 2c6: 40 91 c1 20 lds r20, 0x20C1 ; 0x8020c1 - 2ca: 2e ee ldi r18, 0xEE ; 238 - 2cc: 32 e0 ldi r19, 0x02 ; 2 - 2ce: 42 9f mul r20, r18 - 2d0: c0 01 movw r24, r0 - 2d2: 43 9f mul r20, r19 - 2d4: 90 0d add r25, r0 - 2d6: 11 24 eor r1, r1 - 2d8: 43 e6 ldi r20, 0x63 ; 99 - 2da: 51 e0 ldi r21, 0x01 ; 1 - 2dc: 6a ef ldi r22, 0xFA ; 250 - 2de: 70 e0 ldi r23, 0x00 ; 0 - 2e0: 82 59 subi r24, 0x92 ; 146 - 2e2: 97 4d sbci r25, 0xD7 ; 215 - 2e4: 07 c7 rjmp .+3598 ; 0x10f4 +000002d6 : + 2d6: 40 91 c1 20 lds r20, 0x20C1 ; 0x8020c1 + 2da: 2e ee ldi r18, 0xEE ; 238 + 2dc: 32 e0 ldi r19, 0x02 ; 2 + 2de: 42 9f mul r20, r18 + 2e0: c0 01 movw r24, r0 + 2e2: 43 9f mul r20, r19 + 2e4: 90 0d add r25, r0 + 2e6: 11 24 eor r1, r1 + 2e8: 4b e6 ldi r20, 0x6B ; 107 + 2ea: 51 e0 ldi r21, 0x01 ; 1 + 2ec: 6a ef ldi r22, 0xFA ; 250 + 2ee: 70 e0 ldi r23, 0x00 ; 0 + 2f0: 82 59 subi r24, 0x92 ; 146 + 2f2: 97 4d sbci r25, 0xD7 ; 215 + 2f4: 48 c7 rjmp .+3728 ; 0x1186 -000002e6
: - 2e6: 87 e0 ldi r24, 0x07 ; 7 - 2e8: 80 93 a2 00 sts 0x00A2, r24 ; 0x8000a2 <__TEXT_REGION_LENGTH__+0x7000a2> - 2ec: 78 94 sei - 2ee: 3c d6 rcall .+3192 ; 0xf68 - 2f0: c9 df rcall .-110 ; 0x284 - 2f2: db d7 rcall .+4022 ; 0x12aa - 2f4: b2 d0 rcall .+356 ; 0x45a - 2f6: d5 d0 rcall .+426 ; 0x4a2 - 2f8: 60 e0 ldi r22, 0x00 ; 0 - 2fa: 80 e0 ldi r24, 0x00 ; 0 - 2fc: 7f d0 rcall .+254 ; 0x3fc - 2fe: 6b d0 rcall .+214 ; 0x3d6 - 300: 8c e0 ldi r24, 0x0C ; 12 - 302: 5f d0 rcall .+190 ; 0x3c2 - 304: 46 d5 rcall .+2700 ; 0xd92 - 306: e0 d5 rcall .+3008 ; 0xec8 - 308: f9 d5 rcall .+3058 ; 0xefc - 30a: b5 df rcall .-150 ; 0x276 - 30c: ff cf rjmp .-2 ; 0x30c +000002f6
: + 2f6: 87 e0 ldi r24, 0x07 ; 7 + 2f8: 80 93 a2 00 sts 0x00A2, r24 ; 0x8000a2 <__TEXT_REGION_LENGTH__+0x7000a2> + 2fc: 78 94 sei + 2fe: 7d d6 rcall .+3322 ; 0xffa + 300: c9 df rcall .-110 ; 0x294 + 302: 0e 94 9e 09 call 0x133c ; 0x133c + 306: c0 d0 rcall .+384 ; 0x488 + 308: e3 d0 rcall .+454 ; 0x4d0 + 30a: 60 e0 ldi r22, 0x00 ; 0 + 30c: 80 e0 ldi r24, 0x00 ; 0 + 30e: 8d d0 rcall .+282 ; 0x42a + 310: 79 d0 rcall .+242 ; 0x404 + 312: 8c e0 ldi r24, 0x0C ; 12 + 314: 6d d0 rcall .+218 ; 0x3f0 + 316: 7f d5 rcall .+2814 ; 0xe16 + 318: 23 d6 rcall .+3142 ; 0xf60 + 31a: 3a d6 rcall .+3188 ; 0xf90 + 31c: b4 df rcall .-152 ; 0x286 + ... + 33a: f1 cf rjmp .-30 ; 0x31e -0000030e : - 30e: 08 95 ret +0000033c : + 33c: 08 95 ret -00000310 : - 310: 08 95 ret +0000033e : + 33e: 08 95 ret -00000312 : - 312: e0 91 00 20 lds r30, 0x2000 ; 0x802000 <__data_start> - 316: 8e 2f mov r24, r30 - 318: 90 e0 ldi r25, 0x00 ; 0 - 31a: 88 30 cpi r24, 0x08 ; 8 - 31c: 91 05 cpc r25, r1 - 31e: 90 f4 brcc .+36 ; 0x344 - 320: fc 01 movw r30, r24 - 322: e2 50 subi r30, 0x02 ; 2 - 324: ff 4f sbci r31, 0xFF ; 255 - 326: 0c 94 ff 12 jmp 0x25fe ; 0x25fe <__tablejump2__> - 32a: 47 d1 rcall .+654 ; 0x5ba - 32c: 0b c0 rjmp .+22 ; 0x344 - 32e: be d1 rcall .+892 ; 0x6ac - 330: 09 c0 rjmp .+18 ; 0x344 - 332: 30 d2 rcall .+1120 ; 0x794 - 334: 07 c0 rjmp .+14 ; 0x344 - 336: ab d2 rcall .+1366 ; 0x88e - 338: 05 c0 rjmp .+10 ; 0x344 - 33a: 20 d3 rcall .+1600 ; 0x97c - 33c: 03 c0 rjmp .+6 ; 0x344 - 33e: b0 d3 rcall .+1888 ; 0xaa0 - 340: 01 c0 rjmp .+2 ; 0x344 - 342: 25 d4 rcall .+2122 ; 0xb8e - 344: 90 91 c3 20 lds r25, 0x20C3 ; 0x8020c3 - 348: 81 e0 ldi r24, 0x01 ; 1 - 34a: 91 11 cpse r25, r1 - 34c: 80 e0 ldi r24, 0x00 ; 0 - 34e: 80 93 c1 20 sts 0x20C1, r24 ; 0x8020c1 - 352: 08 95 ret +00000340 : + 340: e0 91 00 20 lds r30, 0x2000 ; 0x802000 <__data_start> + 344: 8e 2f mov r24, r30 + 346: 90 e0 ldi r25, 0x00 ; 0 + 348: 88 30 cpi r24, 0x08 ; 8 + 34a: 91 05 cpc r25, r1 + 34c: 90 f4 brcc .+36 ; 0x372 + 34e: fc 01 movw r30, r24 + 350: e2 50 subi r30, 0x02 ; 2 + 352: ff 4f sbci r31, 0xFF ; 255 + 354: 0c 94 49 13 jmp 0x2692 ; 0x2692 <__tablejump2__> + 358: 47 d1 rcall .+654 ; 0x5e8 + 35a: 0b c0 rjmp .+22 ; 0x372 + 35c: be d1 rcall .+892 ; 0x6da + 35e: 09 c0 rjmp .+18 ; 0x372 + 360: 30 d2 rcall .+1120 ; 0x7c2 + 362: 07 c0 rjmp .+14 ; 0x372 + 364: ab d2 rcall .+1366 ; 0x8bc + 366: 05 c0 rjmp .+10 ; 0x372 + 368: 20 d3 rcall .+1600 ; 0x9aa + 36a: 03 c0 rjmp .+6 ; 0x372 + 36c: c9 d3 rcall .+1938 ; 0xb00 + 36e: 01 c0 rjmp .+2 ; 0x372 + 370: 2a d4 rcall .+2132 ; 0xbc6 + 372: 90 91 c3 20 lds r25, 0x20C3 ; 0x8020c3 + 376: 81 e0 ldi r24, 0x01 ; 1 + 378: 91 11 cpse r25, r1 + 37a: 80 e0 ldi r24, 0x00 ; 0 + 37c: 80 93 c1 20 sts 0x20C1, r24 ; 0x8020c1 + 380: 08 95 ret -00000354 : - 354: 81 e0 ldi r24, 0x01 ; 1 - 356: 80 93 c4 20 sts 0x20C4, r24 ; 0x8020c4 - 35a: 43 e4 ldi r20, 0x43 ; 67 - 35c: 51 e0 ldi r21, 0x01 ; 1 - 35e: 6e ee ldi r22, 0xEE ; 238 - 360: 72 e0 ldi r23, 0x02 ; 2 - 362: 8a e7 ldi r24, 0x7A ; 122 - 364: 96 e2 ldi r25, 0x26 ; 38 - 366: ae d6 rcall .+3420 ; 0x10c4 - 368: 43 e5 ldi r20, 0x53 ; 83 - 36a: 51 e0 ldi r21, 0x01 ; 1 - 36c: 6e ee ldi r22, 0xEE ; 238 - 36e: 72 e0 ldi r23, 0x02 ; 2 - 370: 84 e7 ldi r24, 0x74 ; 116 - 372: 97 e2 ldi r25, 0x27 ; 39 - 374: b3 d6 rcall .+3430 ; 0x10dc - 376: 43 e6 ldi r20, 0x63 ; 99 - 378: 51 e0 ldi r21, 0x01 ; 1 - 37a: 6e ee ldi r22, 0xEE ; 238 - 37c: 72 e0 ldi r23, 0x02 ; 2 - 37e: 8e e6 ldi r24, 0x6E ; 110 - 380: 98 e2 ldi r25, 0x28 ; 40 - 382: b8 d6 rcall .+3440 ; 0x10f4 - 384: 81 e0 ldi r24, 0x01 ; 1 - 386: 08 95 ret +00000382 : + 382: 81 e0 ldi r24, 0x01 ; 1 + 384: 80 93 c4 20 sts 0x20C4, r24 ; 0x8020c4 + 388: 4b e4 ldi r20, 0x4B ; 75 + 38a: 51 e0 ldi r21, 0x01 ; 1 + 38c: 6e ee ldi r22, 0xEE ; 238 + 38e: 72 e0 ldi r23, 0x02 ; 2 + 390: 8a e7 ldi r24, 0x7A ; 122 + 392: 96 e2 ldi r25, 0x26 ; 38 + 394: e0 d6 rcall .+3520 ; 0x1156 + 396: 4b e5 ldi r20, 0x5B ; 91 + 398: 51 e0 ldi r21, 0x01 ; 1 + 39a: 6e ee ldi r22, 0xEE ; 238 + 39c: 72 e0 ldi r23, 0x02 ; 2 + 39e: 84 e7 ldi r24, 0x74 ; 116 + 3a0: 97 e2 ldi r25, 0x27 ; 39 + 3a2: e5 d6 rcall .+3530 ; 0x116e + 3a4: 4b e6 ldi r20, 0x6B ; 107 + 3a6: 51 e0 ldi r21, 0x01 ; 1 + 3a8: 6e ee ldi r22, 0xEE ; 238 + 3aa: 72 e0 ldi r23, 0x02 ; 2 + 3ac: 8e e6 ldi r24, 0x6E ; 110 + 3ae: 98 e2 ldi r25, 0x28 ; 40 + 3b0: ea d6 rcall .+3540 ; 0x1186 + 3b2: 81 e0 ldi r24, 0x01 ; 1 + 3b4: 08 95 ret -00000388 : - 388: 10 92 c4 20 sts 0x20C4, r1 ; 0x8020c4 - 38c: 08 95 ret +000003b6 : + 3b6: 10 92 c4 20 sts 0x20C4, r1 ; 0x8020c4 + 3ba: 08 95 ret -0000038e : - 38e: 81 e0 ldi r24, 0x01 ; 1 - 390: 08 95 ret +000003bc : + 3bc: 81 e0 ldi r24, 0x01 ; 1 + 3be: 08 95 ret -00000392 : - 392: 81 e0 ldi r24, 0x01 ; 1 - 394: 08 95 ret +000003c0 : + 3c0: 81 e0 ldi r24, 0x01 ; 1 + 3c2: 08 95 ret -00000396 : - 396: 10 92 20 02 sts 0x0220, r1 ; 0x800220 <__TEXT_REGION_LENGTH__+0x700220> - 39a: 98 2f mov r25, r24 - 39c: 9c 71 andi r25, 0x1C ; 28 - 39e: 93 68 ori r25, 0x83 ; 131 - 3a0: 90 93 20 02 sts 0x0220, r25 ; 0x800220 <__TEXT_REGION_LENGTH__+0x700220> - 3a4: 87 ff sbrs r24, 7 - 3a6: 03 c0 rjmp .+6 ; 0x3ae - 3a8: 90 e1 ldi r25, 0x10 ; 16 - 3aa: 82 e0 ldi r24, 0x02 ; 2 - 3ac: 02 c0 rjmp .+4 ; 0x3b2 - 3ae: 90 e0 ldi r25, 0x00 ; 0 - 3b0: 80 e0 ldi r24, 0x00 ; 0 - 3b2: 89 2b or r24, r25 - 3b4: 80 93 21 02 sts 0x0221, r24 ; 0x800221 <__TEXT_REGION_LENGTH__+0x700221> - 3b8: 10 92 22 02 sts 0x0222, r1 ; 0x800222 <__TEXT_REGION_LENGTH__+0x700222> - 3bc: 10 92 26 02 sts 0x0226, r1 ; 0x800226 <__TEXT_REGION_LENGTH__+0x700226> - 3c0: 08 95 ret +000003c4 : + 3c4: 10 92 20 02 sts 0x0220, r1 ; 0x800220 <__TEXT_REGION_LENGTH__+0x700220> + 3c8: 98 2f mov r25, r24 + 3ca: 9c 71 andi r25, 0x1C ; 28 + 3cc: 93 68 ori r25, 0x83 ; 131 + 3ce: 90 93 20 02 sts 0x0220, r25 ; 0x800220 <__TEXT_REGION_LENGTH__+0x700220> + 3d2: 87 ff sbrs r24, 7 + 3d4: 03 c0 rjmp .+6 ; 0x3dc + 3d6: 90 e1 ldi r25, 0x10 ; 16 + 3d8: 82 e0 ldi r24, 0x02 ; 2 + 3da: 02 c0 rjmp .+4 ; 0x3e0 + 3dc: 90 e0 ldi r25, 0x00 ; 0 + 3de: 80 e0 ldi r24, 0x00 ; 0 + 3e0: 89 2b or r24, r25 + 3e2: 80 93 21 02 sts 0x0221, r24 ; 0x800221 <__TEXT_REGION_LENGTH__+0x700221> + 3e6: 10 92 22 02 sts 0x0222, r1 ; 0x800222 <__TEXT_REGION_LENGTH__+0x700222> + 3ea: 10 92 26 02 sts 0x0226, r1 ; 0x800226 <__TEXT_REGION_LENGTH__+0x700226> + 3ee: 08 95 ret -000003c2 : - 3c2: e0 e0 ldi r30, 0x00 ; 0 - 3c4: f2 e0 ldi r31, 0x02 ; 2 - 3c6: 10 aa std Z+48, r1 ; 0x30 - 3c8: 83 68 ori r24, 0x83 ; 131 - 3ca: 80 ab std Z+48, r24 ; 0x30 - 3cc: 80 e1 ldi r24, 0x10 ; 16 - 3ce: 81 ab std Z+49, r24 ; 0x31 - 3d0: 12 aa std Z+50, r1 ; 0x32 - 3d2: 16 aa std Z+54, r1 ; 0x36 - 3d4: 08 95 ret +000003f0 : + 3f0: e0 e0 ldi r30, 0x00 ; 0 + 3f2: f2 e0 ldi r31, 0x02 ; 2 + 3f4: 10 aa std Z+48, r1 ; 0x30 + 3f6: 83 68 ori r24, 0x83 ; 131 + 3f8: 80 ab std Z+48, r24 ; 0x30 + 3fa: 80 e1 ldi r24, 0x10 ; 16 + 3fc: 81 ab std Z+49, r24 ; 0x31 + 3fe: 12 aa std Z+50, r1 ; 0x32 + 400: 16 aa std Z+54, r1 ; 0x36 + 402: 08 95 ret -000003d6 : - 3d6: e0 e0 ldi r30, 0x00 ; 0 - 3d8: f2 e0 ldi r31, 0x02 ; 2 - 3da: 10 a6 std Z+40, r1 ; 0x28 - 3dc: 83 e8 ldi r24, 0x83 ; 131 - 3de: 80 a7 std Z+40, r24 ; 0x28 - 3e0: 8f e2 ldi r24, 0x2F ; 47 - 3e2: 81 a7 std Z+41, r24 ; 0x29 - 3e4: 12 a6 std Z+42, r1 ; 0x2a - 3e6: 16 a6 std Z+46, r1 ; 0x2e - 3e8: 08 95 ret +00000404 : + 404: e0 e0 ldi r30, 0x00 ; 0 + 406: f2 e0 ldi r31, 0x02 ; 2 + 408: 10 a6 std Z+40, r1 ; 0x28 + 40a: 83 e8 ldi r24, 0x83 ; 131 + 40c: 80 a7 std Z+40, r24 ; 0x28 + 40e: 8f e2 ldi r24, 0x2F ; 47 + 410: 81 a7 std Z+41, r24 ; 0x29 + 412: 12 a6 std Z+42, r1 ; 0x2a + 414: 16 a6 std Z+46, r1 ; 0x2e + 416: 08 95 ret -000003ea : - 3ea: aa ec ldi r26, 0xCA ; 202 - 3ec: b1 e0 ldi r27, 0x01 ; 1 - 3ee: 92 e0 ldi r25, 0x02 ; 2 - 3f0: 9c 93 st X, r25 - 3f2: e8 2f mov r30, r24 - 3f4: f0 e0 ldi r31, 0x00 ; 0 - 3f6: 84 91 lpm r24, Z - 3f8: 1c 92 st X, r1 - 3fa: 08 95 ret +00000418 : + 418: aa ec ldi r26, 0xCA ; 202 + 41a: b1 e0 ldi r27, 0x01 ; 1 + 41c: 92 e0 ldi r25, 0x02 ; 2 + 41e: 9c 93 st X, r25 + 420: e8 2f mov r30, r24 + 422: f0 e0 ldi r31, 0x00 ; 0 + 424: 84 91 lpm r24, Z + 426: 1c 92 st X, r1 + 428: 08 95 ret -000003fc : - 3fc: 90 91 71 00 lds r25, 0x0071 ; 0x800071 <__TEXT_REGION_LENGTH__+0x700071> - 400: 9d 7f andi r25, 0xFD ; 253 - 402: 90 93 71 00 sts 0x0071, r25 ; 0x800071 <__TEXT_REGION_LENGTH__+0x700071> - 406: 10 92 00 02 sts 0x0200, r1 ; 0x800200 <__TEXT_REGION_LENGTH__+0x700200> - 40a: 62 30 cpi r22, 0x02 ; 2 - 40c: 11 f0 breq .+4 ; 0x412 <__FUSE_REGION_LENGTH__+0x12> - 40e: 9c e1 ldi r25, 0x1C ; 28 - 410: 01 c0 rjmp .+2 ; 0x414 <__FUSE_REGION_LENGTH__+0x14> - 412: 9e e1 ldi r25, 0x1E ; 30 - 414: 90 93 01 02 sts 0x0201, r25 ; 0x800201 <__TEXT_REGION_LENGTH__+0x700201> - 418: 90 e4 ldi r25, 0x40 ; 64 - 41a: 90 93 02 02 sts 0x0202, r25 ; 0x800202 <__TEXT_REGION_LENGTH__+0x700202> - 41e: 81 11 cpse r24, r1 - 420: 02 c0 rjmp .+4 ; 0x426 <__FUSE_REGION_LENGTH__+0x26> - 422: 80 e4 ldi r24, 0x40 ; 64 - 424: 01 c0 rjmp .+2 ; 0x428 <__FUSE_REGION_LENGTH__+0x28> - 426: 80 ec ldi r24, 0xC0 ; 192 - 428: 80 93 03 02 sts 0x0203, r24 ; 0x800203 <__TEXT_REGION_LENGTH__+0x700203> - 42c: 61 30 cpi r22, 0x01 ; 1 - 42e: 11 f0 breq .+4 ; 0x434 <__FUSE_REGION_LENGTH__+0x34> - 430: 83 e0 ldi r24, 0x03 ; 3 - 432: 01 c0 rjmp .+2 ; 0x436 <__FUSE_REGION_LENGTH__+0x36> - 434: 82 e0 ldi r24, 0x02 ; 2 - 436: 80 93 04 02 sts 0x0204, r24 ; 0x800204 <__TEXT_REGION_LENGTH__+0x700204> - 43a: 80 e2 ldi r24, 0x20 ; 32 - 43c: d6 df rcall .-84 ; 0x3ea - 43e: 80 93 0c 02 sts 0x020C, r24 ; 0x80020c <__TEXT_REGION_LENGTH__+0x70020c> - 442: 81 e2 ldi r24, 0x21 ; 33 - 444: d2 df rcall .-92 ; 0x3ea - 446: 80 93 0d 02 sts 0x020D, r24 ; 0x80020d <__TEXT_REGION_LENGTH__+0x70020d> - 44a: 10 92 18 02 sts 0x0218, r1 ; 0x800218 <__TEXT_REGION_LENGTH__+0x700218> - 44e: 10 92 19 02 sts 0x0219, r1 ; 0x800219 <__TEXT_REGION_LENGTH__+0x700219> - 452: 81 e0 ldi r24, 0x01 ; 1 - 454: 80 93 00 02 sts 0x0200, r24 ; 0x800200 <__TEXT_REGION_LENGTH__+0x700200> - 458: be cf rjmp .-132 ; 0x3d6 +0000042a : + 42a: 90 91 71 00 lds r25, 0x0071 ; 0x800071 <__TEXT_REGION_LENGTH__+0x700071> + 42e: 9d 7f andi r25, 0xFD ; 253 + 430: 90 93 71 00 sts 0x0071, r25 ; 0x800071 <__TEXT_REGION_LENGTH__+0x700071> + 434: 10 92 00 02 sts 0x0200, r1 ; 0x800200 <__TEXT_REGION_LENGTH__+0x700200> + 438: 62 30 cpi r22, 0x02 ; 2 + 43a: 11 f0 breq .+4 ; 0x440 + 43c: 9c e1 ldi r25, 0x1C ; 28 + 43e: 01 c0 rjmp .+2 ; 0x442 + 440: 9e e1 ldi r25, 0x1E ; 30 + 442: 90 93 01 02 sts 0x0201, r25 ; 0x800201 <__TEXT_REGION_LENGTH__+0x700201> + 446: 90 e4 ldi r25, 0x40 ; 64 + 448: 90 93 02 02 sts 0x0202, r25 ; 0x800202 <__TEXT_REGION_LENGTH__+0x700202> + 44c: 81 11 cpse r24, r1 + 44e: 02 c0 rjmp .+4 ; 0x454 + 450: 80 e4 ldi r24, 0x40 ; 64 + 452: 01 c0 rjmp .+2 ; 0x456 + 454: 80 ec ldi r24, 0xC0 ; 192 + 456: 80 93 03 02 sts 0x0203, r24 ; 0x800203 <__TEXT_REGION_LENGTH__+0x700203> + 45a: 61 30 cpi r22, 0x01 ; 1 + 45c: 11 f0 breq .+4 ; 0x462 + 45e: 83 e0 ldi r24, 0x03 ; 3 + 460: 01 c0 rjmp .+2 ; 0x464 + 462: 82 e0 ldi r24, 0x02 ; 2 + 464: 80 93 04 02 sts 0x0204, r24 ; 0x800204 <__TEXT_REGION_LENGTH__+0x700204> + 468: 80 e2 ldi r24, 0x20 ; 32 + 46a: d6 df rcall .-84 ; 0x418 + 46c: 80 93 0c 02 sts 0x020C, r24 ; 0x80020c <__TEXT_REGION_LENGTH__+0x70020c> + 470: 81 e2 ldi r24, 0x21 ; 33 + 472: d2 df rcall .-92 ; 0x418 + 474: 80 93 0d 02 sts 0x020D, r24 ; 0x80020d <__TEXT_REGION_LENGTH__+0x70020d> + 478: 10 92 18 02 sts 0x0218, r1 ; 0x800218 <__TEXT_REGION_LENGTH__+0x700218> + 47c: 10 92 19 02 sts 0x0219, r1 ; 0x800219 <__TEXT_REGION_LENGTH__+0x700219> + 480: 81 e0 ldi r24, 0x01 ; 1 + 482: 80 93 00 02 sts 0x0200, r24 ; 0x800200 <__TEXT_REGION_LENGTH__+0x700200> + 486: be cf rjmp .-132 ; 0x404 -0000045a : - 45a: cf 93 push r28 - 45c: df 93 push r29 - 45e: e0 e7 ldi r30, 0x70 ; 112 - 460: f0 e0 ldi r31, 0x00 ; 0 - 462: 82 81 ldd r24, Z+2 ; 0x02 - 464: 8b 7f andi r24, 0xFB ; 251 - 466: 82 83 std Z+2, r24 ; 0x02 - 468: c0 e2 ldi r28, 0x20 ; 32 - 46a: d3 e0 ldi r29, 0x03 ; 3 - 46c: 8d e0 ldi r24, 0x0D ; 13 - 46e: 88 83 st Y, r24 - 470: 80 e4 ldi r24, 0x40 ; 64 - 472: 89 83 std Y+1, r24 ; 0x01 - 474: 89 e0 ldi r24, 0x09 ; 9 - 476: 8a 83 std Y+2, r24 ; 0x02 - 478: 83 e3 ldi r24, 0x33 ; 51 - 47a: b7 df rcall .-146 ; 0x3ea - 47c: 88 87 std Y+8, r24 ; 0x08 - 47e: 82 e3 ldi r24, 0x32 ; 50 - 480: b4 df rcall .-152 ; 0x3ea - 482: 89 87 std Y+9, r24 ; 0x09 - 484: 87 e3 ldi r24, 0x37 ; 55 - 486: b1 df rcall .-158 ; 0x3ea - 488: 8a 87 std Y+10, r24 ; 0x0a - 48a: 86 e3 ldi r24, 0x36 ; 54 - 48c: ae df rcall .-164 ; 0x3ea - 48e: 8b 87 std Y+11, r24 ; 0x0b - 490: e0 e2 ldi r30, 0x20 ; 32 - 492: f6 e0 ldi r31, 0x06 ; 6 - 494: 80 81 ld r24, Z - 496: 83 60 ori r24, 0x03 ; 3 - 498: 80 83 st Z, r24 - 49a: 14 82 std Z+4, r1 ; 0x04 - 49c: df 91 pop r29 - 49e: cf 91 pop r28 - 4a0: 08 95 ret +00000488 : + 488: cf 93 push r28 + 48a: df 93 push r29 + 48c: e0 e7 ldi r30, 0x70 ; 112 + 48e: f0 e0 ldi r31, 0x00 ; 0 + 490: 82 81 ldd r24, Z+2 ; 0x02 + 492: 8b 7f andi r24, 0xFB ; 251 + 494: 82 83 std Z+2, r24 ; 0x02 + 496: c0 e2 ldi r28, 0x20 ; 32 + 498: d3 e0 ldi r29, 0x03 ; 3 + 49a: 8d e0 ldi r24, 0x0D ; 13 + 49c: 88 83 st Y, r24 + 49e: 80 e4 ldi r24, 0x40 ; 64 + 4a0: 89 83 std Y+1, r24 ; 0x01 + 4a2: 89 e0 ldi r24, 0x09 ; 9 + 4a4: 8a 83 std Y+2, r24 ; 0x02 + 4a6: 83 e3 ldi r24, 0x33 ; 51 + 4a8: b7 df rcall .-146 ; 0x418 + 4aa: 88 87 std Y+8, r24 ; 0x08 + 4ac: 82 e3 ldi r24, 0x32 ; 50 + 4ae: b4 df rcall .-152 ; 0x418 + 4b0: 89 87 std Y+9, r24 ; 0x09 + 4b2: 87 e3 ldi r24, 0x37 ; 55 + 4b4: b1 df rcall .-158 ; 0x418 + 4b6: 8a 87 std Y+10, r24 ; 0x0a + 4b8: 86 e3 ldi r24, 0x36 ; 54 + 4ba: ae df rcall .-164 ; 0x418 + 4bc: 8b 87 std Y+11, r24 ; 0x0b + 4be: e0 e2 ldi r30, 0x20 ; 32 + 4c0: f6 e0 ldi r31, 0x06 ; 6 + 4c2: 80 81 ld r24, Z + 4c4: 83 60 ori r24, 0x03 ; 3 + 4c6: 80 83 st Z, r24 + 4c8: 14 82 std Z+4, r1 ; 0x04 + 4ca: df 91 pop r29 + 4cc: cf 91 pop r28 + 4ce: 08 95 ret -000004a2 : - 4a2: e0 e7 ldi r30, 0x70 ; 112 - 4a4: f0 e0 ldi r31, 0x00 ; 0 - 4a6: 80 81 ld r24, Z - 4a8: 8e 7f andi r24, 0xFE ; 254 - 4aa: 80 83 st Z, r24 - 4ac: 80 e8 ldi r24, 0x80 ; 128 - 4ae: 80 93 00 01 sts 0x0100, r24 ; 0x800100 <__TEXT_REGION_LENGTH__+0x700100> - 4b2: 08 95 ret +000004d0 : + 4d0: e0 e7 ldi r30, 0x70 ; 112 + 4d2: f0 e0 ldi r31, 0x00 ; 0 + 4d4: 80 81 ld r24, Z + 4d6: 8e 7f andi r24, 0xFE ; 254 + 4d8: 80 83 st Z, r24 + 4da: 80 e8 ldi r24, 0x80 ; 128 + 4dc: 80 93 00 01 sts 0x0100, r24 ; 0x800100 <__TEXT_REGION_LENGTH__+0x700100> + 4e0: 08 95 ret -000004b4 : - 4b4: e0 e0 ldi r30, 0x00 ; 0 - 4b6: f1 e0 ldi r31, 0x01 ; 1 - 4b8: 10 8a std Z+16, r1 ; 0x10 - 4ba: 80 e4 ldi r24, 0x40 ; 64 - 4bc: 80 8b std Z+16, r24 ; 0x10 - 4be: 10 a2 std Z+32, r1 ; 0x20 - 4c0: 80 a3 std Z+32, r24 ; 0x20 - 4c2: 10 aa std Z+48, r1 ; 0x30 - 4c4: 80 ab std Z+48, r24 ; 0x30 - 4c6: e0 e4 ldi r30, 0x40 ; 64 - 4c8: f1 e0 ldi r31, 0x01 ; 1 - 4ca: 10 82 st Z, r1 - 4cc: 80 83 st Z, r24 - 4ce: 10 92 c3 20 sts 0x20C3, r1 ; 0x8020c3 - 4d2: 08 95 ret +000004e2 : + 4e2: e0 e0 ldi r30, 0x00 ; 0 + 4e4: f1 e0 ldi r31, 0x01 ; 1 + 4e6: 10 8a std Z+16, r1 ; 0x10 + 4e8: 80 e4 ldi r24, 0x40 ; 64 + 4ea: 80 8b std Z+16, r24 ; 0x10 + 4ec: 10 a2 std Z+32, r1 ; 0x20 + 4ee: 80 a3 std Z+32, r24 ; 0x20 + 4f0: 10 aa std Z+48, r1 ; 0x30 + 4f2: 80 ab std Z+48, r24 ; 0x30 + 4f4: e0 e4 ldi r30, 0x40 ; 64 + 4f6: f1 e0 ldi r31, 0x01 ; 1 + 4f8: 10 82 st Z, r1 + 4fa: 80 83 st Z, r24 + 4fc: 10 92 c3 20 sts 0x20C3, r1 ; 0x8020c3 + 500: 08 95 ret -000004d4 : - 4d4: 10 92 00 20 sts 0x2000, r1 ; 0x802000 <__data_start> - 4d8: ed df rcall .-38 ; 0x4b4 - 4da: e0 e0 ldi r30, 0x00 ; 0 - 4dc: f1 e0 ldi r31, 0x01 ; 1 - 4de: 16 aa std Z+54, r1 ; 0x36 - 4e0: 94 e2 ldi r25, 0x24 ; 36 - 4e2: 90 ab std Z+48, r25 ; 0x30 - 4e4: 11 aa std Z+49, r1 ; 0x31 - 4e6: 49 e5 ldi r20, 0x59 ; 89 - 4e8: 42 ab std Z+50, r20 ; 0x32 - 4ea: 32 e0 ldi r19, 0x02 ; 2 - 4ec: 33 ab std Z+51, r19 ; 0x33 - 4ee: 60 91 02 20 lds r22, 0x2002 ; 0x802002 - 4f2: 70 91 03 20 lds r23, 0x2003 ; 0x802003 - 4f6: 64 ab std Z+52, r22 ; 0x34 - 4f8: 75 ab std Z+53, r23 ; 0x35 - 4fa: 6a e7 ldi r22, 0x7A ; 122 - 4fc: 74 e2 ldi r23, 0x24 ; 36 - 4fe: 60 af std Z+56, r22 ; 0x38 - 500: 71 af std Z+57, r23 ; 0x39 - 502: 12 ae std Z+58, r1 ; 0x3a - 504: 8b e3 ldi r24, 0x3B ; 59 - 506: 84 af std Z+60, r24 ; 0x3c - 508: 83 e0 ldi r24, 0x03 ; 3 - 50a: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> - 50e: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> - 512: 20 a9 ldd r18, Z+48 ; 0x30 - 514: 20 68 ori r18, 0x80 ; 128 - 516: 20 ab std Z+48, r18 ; 0x30 - 518: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> - 51c: a0 e4 ldi r26, 0x40 ; 64 - 51e: b1 e0 ldi r27, 0x01 ; 1 - 520: 9c 93 st X, r25 - 522: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> - 526: 40 93 42 01 sts 0x0142, r20 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> - 52a: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> - 52e: 40 91 04 20 lds r20, 0x2004 ; 0x802004 - 532: 50 91 05 20 lds r21, 0x2005 ; 0x802005 - 536: 40 93 44 01 sts 0x0144, r20 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - 53a: 50 93 45 01 sts 0x0145, r21 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> - 53e: 4a e6 ldi r20, 0x6A ; 106 - 540: 52 e2 ldi r21, 0x22 ; 34 - 542: 40 93 48 01 sts 0x0148, r20 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> - 546: 50 93 49 01 sts 0x0149, r21 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> - 54a: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> - 54e: 29 e3 ldi r18, 0x39 ; 57 - 550: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> - 554: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> - 558: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> - 55c: 2c 91 ld r18, X - 55e: 20 68 ori r18, 0x80 ; 128 - 560: 2c 93 st X, r18 - 562: 10 8a std Z+16, r1 ; 0x10 - 564: 20 e4 ldi r18, 0x40 ; 64 - 566: 20 8b std Z+16, r18 ; 0x10 - 568: 24 e0 ldi r18, 0x04 ; 4 - 56a: 20 8b std Z+16, r18 ; 0x10 - 56c: 81 8b std Z+17, r24 ; 0x11 - 56e: 81 e9 ldi r24, 0x91 ; 145 - 570: 82 8b std Z+18, r24 ; 0x12 - 572: 80 e1 ldi r24, 0x10 ; 16 - 574: 83 8b std Z+19, r24 ; 0x13 - 576: 47 e7 ldi r20, 0x77 ; 119 - 578: 51 e0 ldi r21, 0x01 ; 1 - 57a: 44 8b std Z+20, r20 ; 0x14 - 57c: 55 8b std Z+21, r21 ; 0x15 - 57e: 90 8f std Z+24, r25 ; 0x18 - 580: 31 8f std Z+25, r19 ; 0x19 - 582: 12 8e std Z+26, r1 ; 0x1a - 584: 40 91 c3 20 lds r20, 0x20C3 ; 0x8020c3 - 588: 2e ee ldi r18, 0xEE ; 238 - 58a: 32 e0 ldi r19, 0x02 ; 2 - 58c: 42 9f mul r20, r18 - 58e: c0 01 movw r24, r0 - 590: 43 9f mul r20, r19 - 592: 90 0d add r25, r0 - 594: 11 24 eor r1, r1 - 596: 86 58 subi r24, 0x86 ; 134 - 598: 99 4d sbci r25, 0xD9 ; 217 - 59a: 84 8f std Z+28, r24 ; 0x1c - 59c: 40 91 c3 20 lds r20, 0x20C3 ; 0x8020c3 - 5a0: 42 9f mul r20, r18 - 5a2: c0 01 movw r24, r0 - 5a4: 43 9f mul r20, r19 - 5a6: 90 0d add r25, r0 - 5a8: 11 24 eor r1, r1 - 5aa: 86 58 subi r24, 0x86 ; 134 - 5ac: 99 4d sbci r25, 0xD9 ; 217 - 5ae: 95 8f std Z+29, r25 ; 0x1d - 5b0: 16 8e std Z+30, r1 ; 0x1e - 5b2: 80 89 ldd r24, Z+16 ; 0x10 - 5b4: 80 68 ori r24, 0x80 ; 128 - 5b6: 80 8b std Z+16, r24 ; 0x10 - 5b8: 08 95 ret +00000502 : + 502: 10 92 00 20 sts 0x2000, r1 ; 0x802000 <__data_start> + 506: ed df rcall .-38 ; 0x4e2 + 508: e0 e0 ldi r30, 0x00 ; 0 + 50a: f1 e0 ldi r31, 0x01 ; 1 + 50c: 16 aa std Z+54, r1 ; 0x36 + 50e: 94 e2 ldi r25, 0x24 ; 36 + 510: 90 ab std Z+48, r25 ; 0x30 + 512: 11 aa std Z+49, r1 ; 0x31 + 514: 49 e5 ldi r20, 0x59 ; 89 + 516: 42 ab std Z+50, r20 ; 0x32 + 518: 32 e0 ldi r19, 0x02 ; 2 + 51a: 33 ab std Z+51, r19 ; 0x33 + 51c: 60 91 02 20 lds r22, 0x2002 ; 0x802002 + 520: 70 91 03 20 lds r23, 0x2003 ; 0x802003 + 524: 64 ab std Z+52, r22 ; 0x34 + 526: 75 ab std Z+53, r23 ; 0x35 + 528: 6a e7 ldi r22, 0x7A ; 122 + 52a: 74 e2 ldi r23, 0x24 ; 36 + 52c: 60 af std Z+56, r22 ; 0x38 + 52e: 71 af std Z+57, r23 ; 0x39 + 530: 12 ae std Z+58, r1 ; 0x3a + 532: 8b e3 ldi r24, 0x3B ; 59 + 534: 84 af std Z+60, r24 ; 0x3c + 536: 83 e0 ldi r24, 0x03 ; 3 + 538: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + 53c: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + 540: 20 a9 ldd r18, Z+48 ; 0x30 + 542: 20 68 ori r18, 0x80 ; 128 + 544: 20 ab std Z+48, r18 ; 0x30 + 546: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + 54a: a0 e4 ldi r26, 0x40 ; 64 + 54c: b1 e0 ldi r27, 0x01 ; 1 + 54e: 9c 93 st X, r25 + 550: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + 554: 40 93 42 01 sts 0x0142, r20 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + 558: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + 55c: 40 91 04 20 lds r20, 0x2004 ; 0x802004 + 560: 50 91 05 20 lds r21, 0x2005 ; 0x802005 + 564: 40 93 44 01 sts 0x0144, r20 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + 568: 50 93 45 01 sts 0x0145, r21 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + 56c: 4a e6 ldi r20, 0x6A ; 106 + 56e: 52 e2 ldi r21, 0x22 ; 34 + 570: 40 93 48 01 sts 0x0148, r20 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + 574: 50 93 49 01 sts 0x0149, r21 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + 578: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + 57c: 29 e3 ldi r18, 0x39 ; 57 + 57e: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + 582: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + 586: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + 58a: 2c 91 ld r18, X + 58c: 20 68 ori r18, 0x80 ; 128 + 58e: 2c 93 st X, r18 + 590: 10 8a std Z+16, r1 ; 0x10 + 592: 20 e4 ldi r18, 0x40 ; 64 + 594: 20 8b std Z+16, r18 ; 0x10 + 596: 24 e0 ldi r18, 0x04 ; 4 + 598: 20 8b std Z+16, r18 ; 0x10 + 59a: 81 8b std Z+17, r24 ; 0x11 + 59c: 81 e9 ldi r24, 0x91 ; 145 + 59e: 82 8b std Z+18, r24 ; 0x12 + 5a0: 80 e1 ldi r24, 0x10 ; 16 + 5a2: 83 8b std Z+19, r24 ; 0x13 + 5a4: 47 e7 ldi r20, 0x77 ; 119 + 5a6: 51 e0 ldi r21, 0x01 ; 1 + 5a8: 44 8b std Z+20, r20 ; 0x14 + 5aa: 55 8b std Z+21, r21 ; 0x15 + 5ac: 90 8f std Z+24, r25 ; 0x18 + 5ae: 31 8f std Z+25, r19 ; 0x19 + 5b0: 12 8e std Z+26, r1 ; 0x1a + 5b2: 40 91 c3 20 lds r20, 0x20C3 ; 0x8020c3 + 5b6: 2e ee ldi r18, 0xEE ; 238 + 5b8: 32 e0 ldi r19, 0x02 ; 2 + 5ba: 42 9f mul r20, r18 + 5bc: c0 01 movw r24, r0 + 5be: 43 9f mul r20, r19 + 5c0: 90 0d add r25, r0 + 5c2: 11 24 eor r1, r1 + 5c4: 86 58 subi r24, 0x86 ; 134 + 5c6: 99 4d sbci r25, 0xD9 ; 217 + 5c8: 84 8f std Z+28, r24 ; 0x1c + 5ca: 40 91 c3 20 lds r20, 0x20C3 ; 0x8020c3 + 5ce: 42 9f mul r20, r18 + 5d0: c0 01 movw r24, r0 + 5d2: 43 9f mul r20, r19 + 5d4: 90 0d add r25, r0 + 5d6: 11 24 eor r1, r1 + 5d8: 86 58 subi r24, 0x86 ; 134 + 5da: 99 4d sbci r25, 0xD9 ; 217 + 5dc: 95 8f std Z+29, r25 ; 0x1d + 5de: 16 8e std Z+30, r1 ; 0x1e + 5e0: 80 89 ldd r24, Z+16 ; 0x10 + 5e2: 80 68 ori r24, 0x80 ; 128 + 5e4: 80 8b std Z+16, r24 ; 0x10 + 5e6: 08 95 ret -000005ba : - 5ba: 08 95 ret +000005e8 : + 5e8: 08 95 ret -000005bc : - 5bc: cf 93 push r28 - 5be: df 93 push r29 - 5c0: 81 e0 ldi r24, 0x01 ; 1 - 5c2: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> - 5c6: 76 df rcall .-276 ; 0x4b4 - 5c8: e0 e0 ldi r30, 0x00 ; 0 - 5ca: f1 e0 ldi r31, 0x01 ; 1 - 5cc: 10 aa std Z+48, r1 ; 0x30 - 5ce: 80 e4 ldi r24, 0x40 ; 64 - 5d0: 80 ab std Z+48, r24 ; 0x30 - 5d2: 94 e0 ldi r25, 0x04 ; 4 - 5d4: 90 ab std Z+48, r25 ; 0x30 - 5d6: 11 aa std Z+49, r1 ; 0x31 - 5d8: 12 aa std Z+50, r1 ; 0x32 - 5da: 5b e4 ldi r21, 0x4B ; 75 - 5dc: 53 ab std Z+51, r21 ; 0x33 - 5de: 14 aa std Z+52, r1 ; 0x34 - 5e0: 15 aa std Z+53, r1 ; 0x35 - 5e2: 16 aa std Z+54, r1 ; 0x36 - 5e4: 21 e0 ldi r18, 0x01 ; 1 - 5e6: 30 e2 ldi r19, 0x20 ; 32 - 5e8: 20 af std Z+56, r18 ; 0x38 - 5ea: 31 af std Z+57, r19 ; 0x39 - 5ec: 12 ae std Z+58, r1 ; 0x3a - 5ee: 40 ea ldi r20, 0xA0 ; 160 - 5f0: 44 af std Z+60, r20 ; 0x3c - 5f2: 38 e0 ldi r19, 0x08 ; 8 - 5f4: 30 93 3d 01 sts 0x013D, r19 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> - 5f8: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> - 5fc: 80 a9 ldd r24, Z+48 ; 0x30 - 5fe: 80 6a ori r24, 0xA0 ; 160 - 600: 80 ab std Z+48, r24 ; 0x30 - 602: 85 e5 ldi r24, 0x55 ; 85 - 604: 80 93 a0 08 sts 0x08A0, r24 ; 0x8008a0 <__TEXT_REGION_LENGTH__+0x7008a0> - 608: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> - 60c: a0 e4 ldi r26, 0x40 ; 64 - 60e: b1 e0 ldi r27, 0x01 ; 1 - 610: c4 e2 ldi r28, 0x24 ; 36 - 612: cc 93 st X, r28 - 614: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> - 618: 89 e5 ldi r24, 0x59 ; 89 - 61a: 80 93 42 01 sts 0x0142, r24 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> - 61e: 82 e0 ldi r24, 0x02 ; 2 - 620: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> - 624: 60 91 02 20 lds r22, 0x2002 ; 0x802002 - 628: 70 91 03 20 lds r23, 0x2003 ; 0x802003 - 62c: 60 93 44 01 sts 0x0144, r22 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - 630: 70 93 45 01 sts 0x0145, r23 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> - 634: 6a e7 ldi r22, 0x7A ; 122 - 636: 74 e2 ldi r23, 0x24 ; 36 - 638: 60 93 48 01 sts 0x0148, r22 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> - 63c: 70 93 49 01 sts 0x0149, r23 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> - 640: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> - 644: 2b e3 ldi r18, 0x3B ; 59 - 646: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> - 64a: 63 e0 ldi r22, 0x03 ; 3 - 64c: 60 93 4d 01 sts 0x014D, r22 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> - 650: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> - 654: 2c 91 ld r18, X - 656: 20 68 ori r18, 0x80 ; 128 - 658: 2c 93 st X, r18 - 65a: 90 8b std Z+16, r25 ; 0x10 - 65c: 61 8b std Z+17, r22 ; 0x11 - 65e: a1 e9 ldi r26, 0x91 ; 145 - 660: a2 8b std Z+18, r26 ; 0x12 - 662: 20 e1 ldi r18, 0x10 ; 16 - 664: 23 8b std Z+19, r18 ; 0x13 - 666: 67 e7 ldi r22, 0x77 ; 119 - 668: 71 e0 ldi r23, 0x01 ; 1 - 66a: 64 8b std Z+20, r22 ; 0x14 - 66c: 75 8b std Z+21, r23 ; 0x15 - 66e: c0 8f std Z+24, r28 ; 0x18 - 670: 81 8f std Z+25, r24 ; 0x19 - 672: 12 8e std Z+26, r1 ; 0x1a - 674: ca e7 ldi r28, 0x7A ; 122 - 676: d6 e2 ldi r29, 0x26 ; 38 - 678: c4 8f std Z+28, r28 ; 0x1c - 67a: d5 8f std Z+29, r29 ; 0x1d - 67c: 16 8e std Z+30, r1 ; 0x1e - 67e: 20 89 ldd r18, Z+16 ; 0x10 - 680: 20 68 ori r18, 0x80 ; 128 - 682: 20 8b std Z+16, r18 ; 0x10 - 684: 90 a3 std Z+32, r25 ; 0x20 - 686: 81 a3 std Z+33, r24 ; 0x21 - 688: a2 a3 std Z+34, r26 ; 0x22 - 68a: 53 a3 std Z+35, r21 ; 0x23 - 68c: 64 a3 std Z+36, r22 ; 0x24 - 68e: 75 a3 std Z+37, r23 ; 0x25 - 690: 40 a7 std Z+40, r20 ; 0x28 - 692: 31 a7 std Z+41, r19 ; 0x29 - 694: 12 a6 std Z+42, r1 ; 0x2a - 696: 81 ef ldi r24, 0xF1 ; 241 - 698: 97 e2 ldi r25, 0x27 ; 39 - 69a: 84 a7 std Z+44, r24 ; 0x2c - 69c: 95 a7 std Z+45, r25 ; 0x2d - 69e: 16 a6 std Z+46, r1 ; 0x2e - 6a0: 80 a1 ldd r24, Z+32 ; 0x20 - 6a2: 80 68 ori r24, 0x80 ; 128 - 6a4: 80 a3 std Z+32, r24 ; 0x20 - 6a6: df 91 pop r29 - 6a8: cf 91 pop r28 - 6aa: 08 95 ret +000005ea : + 5ea: cf 93 push r28 + 5ec: df 93 push r29 + 5ee: 81 e0 ldi r24, 0x01 ; 1 + 5f0: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> + 5f4: 76 df rcall .-276 ; 0x4e2 + 5f6: e0 e0 ldi r30, 0x00 ; 0 + 5f8: f1 e0 ldi r31, 0x01 ; 1 + 5fa: 10 aa std Z+48, r1 ; 0x30 + 5fc: 80 e4 ldi r24, 0x40 ; 64 + 5fe: 80 ab std Z+48, r24 ; 0x30 + 600: 94 e0 ldi r25, 0x04 ; 4 + 602: 90 ab std Z+48, r25 ; 0x30 + 604: 11 aa std Z+49, r1 ; 0x31 + 606: 12 aa std Z+50, r1 ; 0x32 + 608: 5b e4 ldi r21, 0x4B ; 75 + 60a: 53 ab std Z+51, r21 ; 0x33 + 60c: 14 aa std Z+52, r1 ; 0x34 + 60e: 15 aa std Z+53, r1 ; 0x35 + 610: 16 aa std Z+54, r1 ; 0x36 + 612: 21 e0 ldi r18, 0x01 ; 1 + 614: 30 e2 ldi r19, 0x20 ; 32 + 616: 20 af std Z+56, r18 ; 0x38 + 618: 31 af std Z+57, r19 ; 0x39 + 61a: 12 ae std Z+58, r1 ; 0x3a + 61c: 40 ea ldi r20, 0xA0 ; 160 + 61e: 44 af std Z+60, r20 ; 0x3c + 620: 38 e0 ldi r19, 0x08 ; 8 + 622: 30 93 3d 01 sts 0x013D, r19 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + 626: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + 62a: 80 a9 ldd r24, Z+48 ; 0x30 + 62c: 80 6a ori r24, 0xA0 ; 160 + 62e: 80 ab std Z+48, r24 ; 0x30 + 630: 85 e5 ldi r24, 0x55 ; 85 + 632: 80 93 a0 08 sts 0x08A0, r24 ; 0x8008a0 <__TEXT_REGION_LENGTH__+0x7008a0> + 636: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + 63a: a0 e4 ldi r26, 0x40 ; 64 + 63c: b1 e0 ldi r27, 0x01 ; 1 + 63e: c4 e2 ldi r28, 0x24 ; 36 + 640: cc 93 st X, r28 + 642: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + 646: 89 e5 ldi r24, 0x59 ; 89 + 648: 80 93 42 01 sts 0x0142, r24 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + 64c: 82 e0 ldi r24, 0x02 ; 2 + 64e: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + 652: 60 91 02 20 lds r22, 0x2002 ; 0x802002 + 656: 70 91 03 20 lds r23, 0x2003 ; 0x802003 + 65a: 60 93 44 01 sts 0x0144, r22 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + 65e: 70 93 45 01 sts 0x0145, r23 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + 662: 6a e7 ldi r22, 0x7A ; 122 + 664: 74 e2 ldi r23, 0x24 ; 36 + 666: 60 93 48 01 sts 0x0148, r22 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + 66a: 70 93 49 01 sts 0x0149, r23 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + 66e: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + 672: 2b e3 ldi r18, 0x3B ; 59 + 674: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + 678: 63 e0 ldi r22, 0x03 ; 3 + 67a: 60 93 4d 01 sts 0x014D, r22 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + 67e: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + 682: 2c 91 ld r18, X + 684: 20 68 ori r18, 0x80 ; 128 + 686: 2c 93 st X, r18 + 688: 90 8b std Z+16, r25 ; 0x10 + 68a: 61 8b std Z+17, r22 ; 0x11 + 68c: a1 e9 ldi r26, 0x91 ; 145 + 68e: a2 8b std Z+18, r26 ; 0x12 + 690: 20 e1 ldi r18, 0x10 ; 16 + 692: 23 8b std Z+19, r18 ; 0x13 + 694: 67 e7 ldi r22, 0x77 ; 119 + 696: 71 e0 ldi r23, 0x01 ; 1 + 698: 64 8b std Z+20, r22 ; 0x14 + 69a: 75 8b std Z+21, r23 ; 0x15 + 69c: c0 8f std Z+24, r28 ; 0x18 + 69e: 81 8f std Z+25, r24 ; 0x19 + 6a0: 12 8e std Z+26, r1 ; 0x1a + 6a2: ca e7 ldi r28, 0x7A ; 122 + 6a4: d6 e2 ldi r29, 0x26 ; 38 + 6a6: c4 8f std Z+28, r28 ; 0x1c + 6a8: d5 8f std Z+29, r29 ; 0x1d + 6aa: 16 8e std Z+30, r1 ; 0x1e + 6ac: 20 89 ldd r18, Z+16 ; 0x10 + 6ae: 20 68 ori r18, 0x80 ; 128 + 6b0: 20 8b std Z+16, r18 ; 0x10 + 6b2: 90 a3 std Z+32, r25 ; 0x20 + 6b4: 81 a3 std Z+33, r24 ; 0x21 + 6b6: a2 a3 std Z+34, r26 ; 0x22 + 6b8: 53 a3 std Z+35, r21 ; 0x23 + 6ba: 64 a3 std Z+36, r22 ; 0x24 + 6bc: 75 a3 std Z+37, r23 ; 0x25 + 6be: 40 a7 std Z+40, r20 ; 0x28 + 6c0: 31 a7 std Z+41, r19 ; 0x29 + 6c2: 12 a6 std Z+42, r1 ; 0x2a + 6c4: 81 ef ldi r24, 0xF1 ; 241 + 6c6: 97 e2 ldi r25, 0x27 ; 39 + 6c8: 84 a7 std Z+44, r24 ; 0x2c + 6ca: 95 a7 std Z+45, r25 ; 0x2d + 6cc: 16 a6 std Z+46, r1 ; 0x2e + 6ce: 80 a1 ldd r24, Z+32 ; 0x20 + 6d0: 80 68 ori r24, 0x80 ; 128 + 6d2: 80 a3 std Z+32, r24 ; 0x20 + 6d4: df 91 pop r29 + 6d6: cf 91 pop r28 + 6d8: 08 95 ret -000006ac : - 6ac: 08 95 ret +000006da : + 6da: 08 95 ret -000006ae : - 6ae: cf 93 push r28 - 6b0: c2 e0 ldi r28, 0x02 ; 2 - 6b2: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> - 6b6: fe de rcall .-516 ; 0x4b4 - 6b8: e0 e0 ldi r30, 0x00 ; 0 - 6ba: f1 e0 ldi r31, 0x01 ; 1 - 6bc: 16 aa std Z+54, r1 ; 0x36 - 6be: 94 e2 ldi r25, 0x24 ; 36 - 6c0: 90 ab std Z+48, r25 ; 0x30 - 6c2: 11 aa std Z+49, r1 ; 0x31 - 6c4: 39 e5 ldi r19, 0x59 ; 89 - 6c6: 32 ab std Z+50, r19 ; 0x32 - 6c8: 83 e0 ldi r24, 0x03 ; 3 - 6ca: 83 ab std Z+51, r24 ; 0x33 - 6cc: 40 91 04 20 lds r20, 0x2004 ; 0x802004 - 6d0: 50 91 05 20 lds r21, 0x2005 ; 0x802005 - 6d4: 44 ab std Z+52, r20 ; 0x34 - 6d6: 55 ab std Z+53, r21 ; 0x35 - 6d8: 4a e6 ldi r20, 0x6A ; 106 - 6da: 52 e2 ldi r21, 0x22 ; 34 - 6dc: 40 af std Z+56, r20 ; 0x38 - 6de: 51 af std Z+57, r21 ; 0x39 - 6e0: 12 ae std Z+58, r1 ; 0x3a - 6e2: 29 e3 ldi r18, 0x39 ; 57 - 6e4: 24 af std Z+60, r18 ; 0x3c - 6e6: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> - 6ea: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> - 6ee: 20 a9 ldd r18, Z+48 ; 0x30 - 6f0: 20 68 ori r18, 0x80 ; 128 - 6f2: 20 ab std Z+48, r18 ; 0x30 - 6f4: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> - 6f8: a0 e4 ldi r26, 0x40 ; 64 - 6fa: b1 e0 ldi r27, 0x01 ; 1 - 6fc: 9c 93 st X, r25 - 6fe: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> - 702: 30 93 42 01 sts 0x0142, r19 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> - 706: c0 93 43 01 sts 0x0143, r28 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> - 70a: 20 91 02 20 lds r18, 0x2002 ; 0x802002 - 70e: 30 91 03 20 lds r19, 0x2003 ; 0x802003 - 712: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - 716: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> - 71a: 2a e7 ldi r18, 0x7A ; 122 - 71c: 34 e2 ldi r19, 0x24 ; 36 - 71e: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> - 722: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> - 726: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> - 72a: 2b e3 ldi r18, 0x3B ; 59 - 72c: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> - 730: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> - 734: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> - 738: 2c 91 ld r18, X - 73a: 20 68 ori r18, 0x80 ; 128 - 73c: 2c 93 st X, r18 - 73e: 54 e0 ldi r21, 0x04 ; 4 - 740: 50 8b std Z+16, r21 ; 0x10 - 742: 81 8b std Z+17, r24 ; 0x11 - 744: 41 e9 ldi r20, 0x91 ; 145 - 746: 42 8b std Z+18, r20 ; 0x12 - 748: 80 e1 ldi r24, 0x10 ; 16 - 74a: 83 8b std Z+19, r24 ; 0x13 - 74c: 27 e7 ldi r18, 0x77 ; 119 - 74e: 31 e0 ldi r19, 0x01 ; 1 - 750: 24 8b std Z+20, r18 ; 0x14 - 752: 35 8b std Z+21, r19 ; 0x15 - 754: 90 8f std Z+24, r25 ; 0x18 - 756: c1 8f std Z+25, r28 ; 0x19 - 758: 12 8e std Z+26, r1 ; 0x1a - 75a: 8a e7 ldi r24, 0x7A ; 122 - 75c: 96 e2 ldi r25, 0x26 ; 38 - 75e: 84 8f std Z+28, r24 ; 0x1c - 760: 95 8f std Z+29, r25 ; 0x1d - 762: 16 8e std Z+30, r1 ; 0x1e - 764: 80 89 ldd r24, Z+16 ; 0x10 - 766: 80 68 ori r24, 0x80 ; 128 - 768: 80 8b std Z+16, r24 ; 0x10 - 76a: 50 a3 std Z+32, r21 ; 0x20 - 76c: c1 a3 std Z+33, r28 ; 0x21 - 76e: 42 a3 std Z+34, r20 ; 0x22 - 770: 82 e1 ldi r24, 0x12 ; 18 - 772: 83 a3 std Z+35, r24 ; 0x23 - 774: 24 a3 std Z+36, r18 ; 0x24 - 776: 35 a3 std Z+37, r19 ; 0x25 - 778: 84 e3 ldi r24, 0x34 ; 52 - 77a: 80 a7 std Z+40, r24 ; 0x28 - 77c: c1 a7 std Z+41, r28 ; 0x29 - 77e: 12 a6 std Z+42, r1 ; 0x2a - 780: 81 ef ldi r24, 0xF1 ; 241 - 782: 97 e2 ldi r25, 0x27 ; 39 - 784: 84 a7 std Z+44, r24 ; 0x2c - 786: 95 a7 std Z+45, r25 ; 0x2d - 788: 16 a6 std Z+46, r1 ; 0x2e - 78a: 80 a1 ldd r24, Z+32 ; 0x20 - 78c: 80 68 ori r24, 0x80 ; 128 - 78e: 80 a3 std Z+32, r24 ; 0x20 - 790: cf 91 pop r28 - 792: 08 95 ret +000006dc : + 6dc: cf 93 push r28 + 6de: c2 e0 ldi r28, 0x02 ; 2 + 6e0: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> + 6e4: fe de rcall .-516 ; 0x4e2 + 6e6: e0 e0 ldi r30, 0x00 ; 0 + 6e8: f1 e0 ldi r31, 0x01 ; 1 + 6ea: 16 aa std Z+54, r1 ; 0x36 + 6ec: 94 e2 ldi r25, 0x24 ; 36 + 6ee: 90 ab std Z+48, r25 ; 0x30 + 6f0: 11 aa std Z+49, r1 ; 0x31 + 6f2: 39 e5 ldi r19, 0x59 ; 89 + 6f4: 32 ab std Z+50, r19 ; 0x32 + 6f6: 83 e0 ldi r24, 0x03 ; 3 + 6f8: 83 ab std Z+51, r24 ; 0x33 + 6fa: 40 91 04 20 lds r20, 0x2004 ; 0x802004 + 6fe: 50 91 05 20 lds r21, 0x2005 ; 0x802005 + 702: 44 ab std Z+52, r20 ; 0x34 + 704: 55 ab std Z+53, r21 ; 0x35 + 706: 4a e6 ldi r20, 0x6A ; 106 + 708: 52 e2 ldi r21, 0x22 ; 34 + 70a: 40 af std Z+56, r20 ; 0x38 + 70c: 51 af std Z+57, r21 ; 0x39 + 70e: 12 ae std Z+58, r1 ; 0x3a + 710: 29 e3 ldi r18, 0x39 ; 57 + 712: 24 af std Z+60, r18 ; 0x3c + 714: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + 718: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + 71c: 20 a9 ldd r18, Z+48 ; 0x30 + 71e: 20 68 ori r18, 0x80 ; 128 + 720: 20 ab std Z+48, r18 ; 0x30 + 722: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + 726: a0 e4 ldi r26, 0x40 ; 64 + 728: b1 e0 ldi r27, 0x01 ; 1 + 72a: 9c 93 st X, r25 + 72c: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + 730: 30 93 42 01 sts 0x0142, r19 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + 734: c0 93 43 01 sts 0x0143, r28 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + 738: 20 91 02 20 lds r18, 0x2002 ; 0x802002 + 73c: 30 91 03 20 lds r19, 0x2003 ; 0x802003 + 740: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + 744: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + 748: 2a e7 ldi r18, 0x7A ; 122 + 74a: 34 e2 ldi r19, 0x24 ; 36 + 74c: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + 750: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + 754: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + 758: 2b e3 ldi r18, 0x3B ; 59 + 75a: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + 75e: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + 762: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + 766: 2c 91 ld r18, X + 768: 20 68 ori r18, 0x80 ; 128 + 76a: 2c 93 st X, r18 + 76c: 54 e0 ldi r21, 0x04 ; 4 + 76e: 50 8b std Z+16, r21 ; 0x10 + 770: 81 8b std Z+17, r24 ; 0x11 + 772: 41 e9 ldi r20, 0x91 ; 145 + 774: 42 8b std Z+18, r20 ; 0x12 + 776: 80 e1 ldi r24, 0x10 ; 16 + 778: 83 8b std Z+19, r24 ; 0x13 + 77a: 27 e7 ldi r18, 0x77 ; 119 + 77c: 31 e0 ldi r19, 0x01 ; 1 + 77e: 24 8b std Z+20, r18 ; 0x14 + 780: 35 8b std Z+21, r19 ; 0x15 + 782: 90 8f std Z+24, r25 ; 0x18 + 784: c1 8f std Z+25, r28 ; 0x19 + 786: 12 8e std Z+26, r1 ; 0x1a + 788: 8a e7 ldi r24, 0x7A ; 122 + 78a: 96 e2 ldi r25, 0x26 ; 38 + 78c: 84 8f std Z+28, r24 ; 0x1c + 78e: 95 8f std Z+29, r25 ; 0x1d + 790: 16 8e std Z+30, r1 ; 0x1e + 792: 80 89 ldd r24, Z+16 ; 0x10 + 794: 80 68 ori r24, 0x80 ; 128 + 796: 80 8b std Z+16, r24 ; 0x10 + 798: 50 a3 std Z+32, r21 ; 0x20 + 79a: c1 a3 std Z+33, r28 ; 0x21 + 79c: 42 a3 std Z+34, r20 ; 0x22 + 79e: 82 e1 ldi r24, 0x12 ; 18 + 7a0: 83 a3 std Z+35, r24 ; 0x23 + 7a2: 24 a3 std Z+36, r18 ; 0x24 + 7a4: 35 a3 std Z+37, r19 ; 0x25 + 7a6: 84 e3 ldi r24, 0x34 ; 52 + 7a8: 80 a7 std Z+40, r24 ; 0x28 + 7aa: c1 a7 std Z+41, r28 ; 0x29 + 7ac: 12 a6 std Z+42, r1 ; 0x2a + 7ae: 81 ef ldi r24, 0xF1 ; 241 + 7b0: 97 e2 ldi r25, 0x27 ; 39 + 7b2: 84 a7 std Z+44, r24 ; 0x2c + 7b4: 95 a7 std Z+45, r25 ; 0x2d + 7b6: 16 a6 std Z+46, r1 ; 0x2e + 7b8: 80 a1 ldd r24, Z+32 ; 0x20 + 7ba: 80 68 ori r24, 0x80 ; 128 + 7bc: 80 a3 std Z+32, r24 ; 0x20 + 7be: cf 91 pop r28 + 7c0: 08 95 ret -00000794 : - 794: 08 95 ret +000007c2 : + 7c2: 08 95 ret -00000796 : - 796: cf 93 push r28 - 798: c3 e0 ldi r28, 0x03 ; 3 - 79a: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> - 79e: 8a de rcall .-748 ; 0x4b4 - 7a0: e0 e0 ldi r30, 0x00 ; 0 - 7a2: f1 e0 ldi r31, 0x01 ; 1 - 7a4: 10 a2 std Z+32, r1 ; 0x20 - 7a6: 50 e4 ldi r21, 0x40 ; 64 - 7a8: 50 a3 std Z+32, r21 ; 0x20 - 7aa: 44 e0 ldi r20, 0x04 ; 4 - 7ac: 40 a3 std Z+32, r20 ; 0x20 - 7ae: 11 a2 std Z+33, r1 ; 0x21 - 7b0: 12 a2 std Z+34, r1 ; 0x22 - 7b2: 3b e4 ldi r19, 0x4B ; 75 - 7b4: 33 a3 std Z+35, r19 ; 0x23 - 7b6: 14 a2 std Z+36, r1 ; 0x24 - 7b8: 15 a2 std Z+37, r1 ; 0x25 - 7ba: 16 a2 std Z+38, r1 ; 0x26 - 7bc: 81 e0 ldi r24, 0x01 ; 1 - 7be: 90 e2 ldi r25, 0x20 ; 32 - 7c0: 80 a7 std Z+40, r24 ; 0x28 - 7c2: 91 a7 std Z+41, r25 ; 0x29 - 7c4: 12 a6 std Z+42, r1 ; 0x2a - 7c6: 20 ea ldi r18, 0xA0 ; 160 - 7c8: 24 a7 std Z+44, r18 ; 0x2c - 7ca: 98 e0 ldi r25, 0x08 ; 8 - 7cc: 95 a7 std Z+45, r25 ; 0x2d - 7ce: 16 a6 std Z+46, r1 ; 0x2e - 7d0: 80 a1 ldd r24, Z+32 ; 0x20 - 7d2: 80 6a ori r24, 0xA0 ; 160 - 7d4: 80 a3 std Z+32, r24 ; 0x20 - 7d6: 85 e5 ldi r24, 0x55 ; 85 - 7d8: 80 93 a0 08 sts 0x08A0, r24 ; 0x8008a0 <__TEXT_REGION_LENGTH__+0x7008a0> - 7dc: 16 aa std Z+54, r1 ; 0x36 - 7de: 74 e2 ldi r23, 0x24 ; 36 - 7e0: 70 ab std Z+48, r23 ; 0x30 - 7e2: 11 aa std Z+49, r1 ; 0x31 - 7e4: 69 e5 ldi r22, 0x59 ; 89 - 7e6: 62 ab std Z+50, r22 ; 0x32 - 7e8: 82 e0 ldi r24, 0x02 ; 2 - 7ea: 83 ab std Z+51, r24 ; 0x33 - 7ec: a0 91 02 20 lds r26, 0x2002 ; 0x802002 - 7f0: b0 91 03 20 lds r27, 0x2003 ; 0x802003 - 7f4: a4 ab std Z+52, r26 ; 0x34 - 7f6: b5 ab std Z+53, r27 ; 0x35 - 7f8: aa e7 ldi r26, 0x7A ; 122 - 7fa: b4 e2 ldi r27, 0x24 ; 36 - 7fc: a0 af std Z+56, r26 ; 0x38 - 7fe: b1 af std Z+57, r27 ; 0x39 - 800: 12 ae std Z+58, r1 ; 0x3a - 802: 8b e3 ldi r24, 0x3B ; 59 - 804: 84 af std Z+60, r24 ; 0x3c - 806: c0 93 3d 01 sts 0x013D, r28 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> - 80a: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> - 80e: 80 a9 ldd r24, Z+48 ; 0x30 - 810: 80 68 ori r24, 0x80 ; 128 - 812: 80 ab std Z+48, r24 ; 0x30 - 814: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> - 818: a0 e4 ldi r26, 0x40 ; 64 - 81a: b1 e0 ldi r27, 0x01 ; 1 - 81c: 7c 93 st X, r23 - 81e: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> - 822: 60 93 42 01 sts 0x0142, r22 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> - 826: c0 93 43 01 sts 0x0143, r28 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> - 82a: 60 91 04 20 lds r22, 0x2004 ; 0x802004 - 82e: 70 91 05 20 lds r23, 0x2005 ; 0x802005 - 832: 60 93 44 01 sts 0x0144, r22 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - 836: 70 93 45 01 sts 0x0145, r23 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> - 83a: 6a e6 ldi r22, 0x6A ; 106 - 83c: 72 e2 ldi r23, 0x22 ; 34 - 83e: 60 93 48 01 sts 0x0148, r22 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> - 842: 70 93 49 01 sts 0x0149, r23 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> - 846: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> - 84a: 89 e3 ldi r24, 0x39 ; 57 - 84c: 80 93 4c 01 sts 0x014C, r24 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> - 850: c0 93 4d 01 sts 0x014D, r28 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> - 854: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> - 858: 8c 91 ld r24, X - 85a: 80 68 ori r24, 0x80 ; 128 - 85c: 8c 93 st X, r24 - 85e: 10 8a std Z+16, r1 ; 0x10 - 860: 50 8b std Z+16, r21 ; 0x10 - 862: 40 8b std Z+16, r20 ; 0x10 - 864: c1 8b std Z+17, r28 ; 0x11 - 866: 81 e9 ldi r24, 0x91 ; 145 - 868: 82 8b std Z+18, r24 ; 0x12 - 86a: 33 8b std Z+19, r19 ; 0x13 - 86c: 47 e7 ldi r20, 0x77 ; 119 - 86e: 51 e0 ldi r21, 0x01 ; 1 - 870: 44 8b std Z+20, r20 ; 0x14 - 872: 55 8b std Z+21, r21 ; 0x15 - 874: 20 8f std Z+24, r18 ; 0x18 - 876: 91 8f std Z+25, r25 ; 0x19 - 878: 12 8e std Z+26, r1 ; 0x1a - 87a: 8a e7 ldi r24, 0x7A ; 122 - 87c: 96 e2 ldi r25, 0x26 ; 38 - 87e: 84 8f std Z+28, r24 ; 0x1c - 880: 95 8f std Z+29, r25 ; 0x1d - 882: 16 8e std Z+30, r1 ; 0x1e - 884: 80 89 ldd r24, Z+16 ; 0x10 - 886: 80 68 ori r24, 0x80 ; 128 - 888: 80 8b std Z+16, r24 ; 0x10 - 88a: cf 91 pop r28 - 88c: 08 95 ret +000007c4 : + 7c4: cf 93 push r28 + 7c6: c3 e0 ldi r28, 0x03 ; 3 + 7c8: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> + 7cc: 8a de rcall .-748 ; 0x4e2 + 7ce: e0 e0 ldi r30, 0x00 ; 0 + 7d0: f1 e0 ldi r31, 0x01 ; 1 + 7d2: 10 a2 std Z+32, r1 ; 0x20 + 7d4: 50 e4 ldi r21, 0x40 ; 64 + 7d6: 50 a3 std Z+32, r21 ; 0x20 + 7d8: 44 e0 ldi r20, 0x04 ; 4 + 7da: 40 a3 std Z+32, r20 ; 0x20 + 7dc: 11 a2 std Z+33, r1 ; 0x21 + 7de: 12 a2 std Z+34, r1 ; 0x22 + 7e0: 3b e4 ldi r19, 0x4B ; 75 + 7e2: 33 a3 std Z+35, r19 ; 0x23 + 7e4: 14 a2 std Z+36, r1 ; 0x24 + 7e6: 15 a2 std Z+37, r1 ; 0x25 + 7e8: 16 a2 std Z+38, r1 ; 0x26 + 7ea: 81 e0 ldi r24, 0x01 ; 1 + 7ec: 90 e2 ldi r25, 0x20 ; 32 + 7ee: 80 a7 std Z+40, r24 ; 0x28 + 7f0: 91 a7 std Z+41, r25 ; 0x29 + 7f2: 12 a6 std Z+42, r1 ; 0x2a + 7f4: 20 ea ldi r18, 0xA0 ; 160 + 7f6: 24 a7 std Z+44, r18 ; 0x2c + 7f8: 98 e0 ldi r25, 0x08 ; 8 + 7fa: 95 a7 std Z+45, r25 ; 0x2d + 7fc: 16 a6 std Z+46, r1 ; 0x2e + 7fe: 80 a1 ldd r24, Z+32 ; 0x20 + 800: 80 6a ori r24, 0xA0 ; 160 + 802: 80 a3 std Z+32, r24 ; 0x20 + 804: 85 e5 ldi r24, 0x55 ; 85 + 806: 80 93 a0 08 sts 0x08A0, r24 ; 0x8008a0 <__TEXT_REGION_LENGTH__+0x7008a0> + 80a: 16 aa std Z+54, r1 ; 0x36 + 80c: 74 e2 ldi r23, 0x24 ; 36 + 80e: 70 ab std Z+48, r23 ; 0x30 + 810: 11 aa std Z+49, r1 ; 0x31 + 812: 69 e5 ldi r22, 0x59 ; 89 + 814: 62 ab std Z+50, r22 ; 0x32 + 816: c3 ab std Z+51, r28 ; 0x33 + 818: a0 91 04 20 lds r26, 0x2004 ; 0x802004 + 81c: b0 91 05 20 lds r27, 0x2005 ; 0x802005 + 820: a4 ab std Z+52, r26 ; 0x34 + 822: b5 ab std Z+53, r27 ; 0x35 + 824: aa e6 ldi r26, 0x6A ; 106 + 826: b2 e2 ldi r27, 0x22 ; 34 + 828: a0 af std Z+56, r26 ; 0x38 + 82a: b1 af std Z+57, r27 ; 0x39 + 82c: 12 ae std Z+58, r1 ; 0x3a + 82e: 89 e3 ldi r24, 0x39 ; 57 + 830: 84 af std Z+60, r24 ; 0x3c + 832: c0 93 3d 01 sts 0x013D, r28 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + 836: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + 83a: 80 a9 ldd r24, Z+48 ; 0x30 + 83c: 80 68 ori r24, 0x80 ; 128 + 83e: 80 ab std Z+48, r24 ; 0x30 + 840: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + 844: a0 e4 ldi r26, 0x40 ; 64 + 846: b1 e0 ldi r27, 0x01 ; 1 + 848: 7c 93 st X, r23 + 84a: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + 84e: 60 93 42 01 sts 0x0142, r22 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + 852: 82 e0 ldi r24, 0x02 ; 2 + 854: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + 858: 60 91 02 20 lds r22, 0x2002 ; 0x802002 + 85c: 70 91 03 20 lds r23, 0x2003 ; 0x802003 + 860: 60 93 44 01 sts 0x0144, r22 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + 864: 70 93 45 01 sts 0x0145, r23 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + 868: 6a e7 ldi r22, 0x7A ; 122 + 86a: 74 e2 ldi r23, 0x24 ; 36 + 86c: 60 93 48 01 sts 0x0148, r22 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + 870: 70 93 49 01 sts 0x0149, r23 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + 874: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + 878: 8b e3 ldi r24, 0x3B ; 59 + 87a: 80 93 4c 01 sts 0x014C, r24 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + 87e: c0 93 4d 01 sts 0x014D, r28 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + 882: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + 886: 8c 91 ld r24, X + 888: 80 68 ori r24, 0x80 ; 128 + 88a: 8c 93 st X, r24 + 88c: 10 8a std Z+16, r1 ; 0x10 + 88e: 50 8b std Z+16, r21 ; 0x10 + 890: 40 8b std Z+16, r20 ; 0x10 + 892: c1 8b std Z+17, r28 ; 0x11 + 894: 81 e9 ldi r24, 0x91 ; 145 + 896: 82 8b std Z+18, r24 ; 0x12 + 898: 33 8b std Z+19, r19 ; 0x13 + 89a: 47 e7 ldi r20, 0x77 ; 119 + 89c: 51 e0 ldi r21, 0x01 ; 1 + 89e: 44 8b std Z+20, r20 ; 0x14 + 8a0: 55 8b std Z+21, r21 ; 0x15 + 8a2: 20 8f std Z+24, r18 ; 0x18 + 8a4: 91 8f std Z+25, r25 ; 0x19 + 8a6: 12 8e std Z+26, r1 ; 0x1a + 8a8: 8a e7 ldi r24, 0x7A ; 122 + 8aa: 96 e2 ldi r25, 0x26 ; 38 + 8ac: 84 8f std Z+28, r24 ; 0x1c + 8ae: 95 8f std Z+29, r25 ; 0x1d + 8b0: 16 8e std Z+30, r1 ; 0x1e + 8b2: 80 89 ldd r24, Z+16 ; 0x10 + 8b4: 80 68 ori r24, 0x80 ; 128 + 8b6: 80 8b std Z+16, r24 ; 0x10 + 8b8: cf 91 pop r28 + 8ba: 08 95 ret -0000088e : - 88e: 08 95 ret +000008bc : + 8bc: 08 95 ret -00000890 : - 890: cf 93 push r28 - 892: c4 e0 ldi r28, 0x04 ; 4 - 894: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> - 898: 0d de rcall .-998 ; 0x4b4 - 89a: e0 e0 ldi r30, 0x00 ; 0 - 89c: f1 e0 ldi r31, 0x01 ; 1 - 89e: 10 a2 std Z+32, r1 ; 0x20 - 8a0: 20 e4 ldi r18, 0x40 ; 64 - 8a2: 20 a3 std Z+32, r18 ; 0x20 - 8a4: c0 a3 std Z+32, r28 ; 0x20 - 8a6: 11 a2 std Z+33, r1 ; 0x21 - 8a8: 12 a2 std Z+34, r1 ; 0x22 - 8aa: 4b e4 ldi r20, 0x4B ; 75 - 8ac: 43 a3 std Z+35, r20 ; 0x23 - 8ae: 14 a2 std Z+36, r1 ; 0x24 - 8b0: 15 a2 std Z+37, r1 ; 0x25 - 8b2: 16 a2 std Z+38, r1 ; 0x26 - 8b4: 81 e0 ldi r24, 0x01 ; 1 - 8b6: 90 e2 ldi r25, 0x20 ; 32 - 8b8: 80 a7 std Z+40, r24 ; 0x28 - 8ba: 91 a7 std Z+41, r25 ; 0x29 - 8bc: 12 a6 std Z+42, r1 ; 0x2a - 8be: 70 ea ldi r23, 0xA0 ; 160 - 8c0: 74 a7 std Z+44, r23 ; 0x2c - 8c2: 88 e0 ldi r24, 0x08 ; 8 - 8c4: 85 a7 std Z+45, r24 ; 0x2d - 8c6: 16 a6 std Z+46, r1 ; 0x2e - 8c8: 90 a1 ldd r25, Z+32 ; 0x20 - 8ca: 90 6a ori r25, 0xA0 ; 160 - 8cc: 90 a3 std Z+32, r25 ; 0x20 - 8ce: 16 aa std Z+54, r1 ; 0x36 - 8d0: 94 e2 ldi r25, 0x24 ; 36 - 8d2: 90 ab std Z+48, r25 ; 0x30 - 8d4: 11 aa std Z+49, r1 ; 0x31 - 8d6: 99 e5 ldi r25, 0x59 ; 89 - 8d8: 92 ab std Z+50, r25 ; 0x32 - 8da: 92 e0 ldi r25, 0x02 ; 2 - 8dc: 93 ab std Z+51, r25 ; 0x33 - 8de: a0 91 02 20 lds r26, 0x2002 ; 0x802002 - 8e2: b0 91 03 20 lds r27, 0x2003 ; 0x802003 - 8e6: a4 ab std Z+52, r26 ; 0x34 - 8e8: b5 ab std Z+53, r27 ; 0x35 - 8ea: aa e7 ldi r26, 0x7A ; 122 - 8ec: b4 e2 ldi r27, 0x24 ; 36 - 8ee: a0 af std Z+56, r26 ; 0x38 - 8f0: b1 af std Z+57, r27 ; 0x39 - 8f2: 12 ae std Z+58, r1 ; 0x3a - 8f4: 9b e3 ldi r25, 0x3B ; 59 - 8f6: 94 af std Z+60, r25 ; 0x3c - 8f8: 93 e0 ldi r25, 0x03 ; 3 - 8fa: 90 93 3d 01 sts 0x013D, r25 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> - 8fe: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> - 902: 30 a9 ldd r19, Z+48 ; 0x30 - 904: 30 68 ori r19, 0x80 ; 128 - 906: 30 ab std Z+48, r19 ; 0x30 - 908: 10 8a std Z+16, r1 ; 0x10 - 90a: 20 8b std Z+16, r18 ; 0x10 - 90c: c0 8b std Z+16, r28 ; 0x10 - 90e: 91 8b std Z+17, r25 ; 0x11 - 910: 61 e9 ldi r22, 0x91 ; 145 - 912: 62 8b std Z+18, r22 ; 0x12 - 914: 43 8b std Z+19, r20 ; 0x13 - 916: 47 e7 ldi r20, 0x77 ; 119 - 918: 51 e0 ldi r21, 0x01 ; 1 - 91a: 44 8b std Z+20, r20 ; 0x14 - 91c: 55 8b std Z+21, r21 ; 0x15 - 91e: 70 8f std Z+24, r23 ; 0x18 - 920: 81 8f std Z+25, r24 ; 0x19 - 922: 12 8e std Z+26, r1 ; 0x1a - 924: aa e7 ldi r26, 0x7A ; 122 - 926: b6 e2 ldi r27, 0x26 ; 38 - 928: a4 8f std Z+28, r26 ; 0x1c - 92a: b5 8f std Z+29, r27 ; 0x1d - 92c: 16 8e std Z+30, r1 ; 0x1e - 92e: 30 89 ldd r19, Z+16 ; 0x10 - 930: 30 68 ori r19, 0x80 ; 128 - 932: 30 8b std Z+16, r19 ; 0x10 - 934: e0 e4 ldi r30, 0x40 ; 64 - 936: f1 e0 ldi r31, 0x01 ; 1 - 938: 10 82 st Z, r1 - 93a: 20 83 st Z, r18 - 93c: c0 83 st Z, r28 - 93e: 90 93 41 01 sts 0x0141, r25 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> - 942: 60 93 42 01 sts 0x0142, r22 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> - 946: 9a e4 ldi r25, 0x4A ; 74 - 948: 90 93 43 01 sts 0x0143, r25 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> - 94c: 40 93 44 01 sts 0x0144, r20 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - 950: 50 93 45 01 sts 0x0145, r21 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> - 954: 93 ec ldi r25, 0xC3 ; 195 - 956: 90 93 48 01 sts 0x0148, r25 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> - 95a: 80 93 49 01 sts 0x0149, r24 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> - 95e: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> - 962: 81 ef ldi r24, 0xF1 ; 241 - 964: 97 e2 ldi r25, 0x27 ; 39 - 966: 80 93 4c 01 sts 0x014C, r24 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> - 96a: 90 93 4d 01 sts 0x014D, r25 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> - 96e: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> - 972: 80 81 ld r24, Z - 974: 80 68 ori r24, 0x80 ; 128 - 976: 80 83 st Z, r24 - 978: cf 91 pop r28 - 97a: 08 95 ret +000008be : + 8be: cf 93 push r28 + 8c0: c4 e0 ldi r28, 0x04 ; 4 + 8c2: c0 93 00 20 sts 0x2000, r28 ; 0x802000 <__data_start> + 8c6: 0d de rcall .-998 ; 0x4e2 + 8c8: e0 e0 ldi r30, 0x00 ; 0 + 8ca: f1 e0 ldi r31, 0x01 ; 1 + 8cc: 10 a2 std Z+32, r1 ; 0x20 + 8ce: 80 e4 ldi r24, 0x40 ; 64 + 8d0: 80 a3 std Z+32, r24 ; 0x20 + 8d2: c0 a3 std Z+32, r28 ; 0x20 + 8d4: 11 a2 std Z+33, r1 ; 0x21 + 8d6: 12 a2 std Z+34, r1 ; 0x22 + 8d8: 4b e4 ldi r20, 0x4B ; 75 + 8da: 43 a3 std Z+35, r20 ; 0x23 + 8dc: 14 a2 std Z+36, r1 ; 0x24 + 8de: 15 a2 std Z+37, r1 ; 0x25 + 8e0: 16 a2 std Z+38, r1 ; 0x26 + 8e2: 81 e0 ldi r24, 0x01 ; 1 + 8e4: 90 e2 ldi r25, 0x20 ; 32 + 8e6: 80 a7 std Z+40, r24 ; 0x28 + 8e8: 91 a7 std Z+41, r25 ; 0x29 + 8ea: 12 a6 std Z+42, r1 ; 0x2a + 8ec: 60 ea ldi r22, 0xA0 ; 160 + 8ee: 64 a7 std Z+44, r22 ; 0x2c + 8f0: 88 e0 ldi r24, 0x08 ; 8 + 8f2: 85 a7 std Z+45, r24 ; 0x2d + 8f4: 16 a6 std Z+46, r1 ; 0x2e + 8f6: 90 a1 ldd r25, Z+32 ; 0x20 + 8f8: 90 6a ori r25, 0xA0 ; 160 + 8fa: 90 a3 std Z+32, r25 ; 0x20 + 8fc: 95 e5 ldi r25, 0x55 ; 85 + 8fe: 90 93 a0 08 sts 0x08A0, r25 ; 0x8008a0 <__TEXT_REGION_LENGTH__+0x7008a0> + 902: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + 906: a0 e4 ldi r26, 0x40 ; 64 + 908: b1 e0 ldi r27, 0x01 ; 1 + 90a: 94 e2 ldi r25, 0x24 ; 36 + 90c: 9c 93 st X, r25 + 90e: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + 912: 99 e5 ldi r25, 0x59 ; 89 + 914: 90 93 42 01 sts 0x0142, r25 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + 918: 92 e0 ldi r25, 0x02 ; 2 + 91a: 90 93 43 01 sts 0x0143, r25 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + 91e: 20 91 02 20 lds r18, 0x2002 ; 0x802002 + 922: 30 91 03 20 lds r19, 0x2003 ; 0x802003 + 926: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + 92a: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + 92e: 2a e7 ldi r18, 0x7A ; 122 + 930: 34 e2 ldi r19, 0x24 ; 36 + 932: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + 936: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + 93a: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + 93e: 9b e3 ldi r25, 0x3B ; 59 + 940: 90 93 4c 01 sts 0x014C, r25 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + 944: 93 e0 ldi r25, 0x03 ; 3 + 946: 90 93 4d 01 sts 0x014D, r25 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + 94a: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + 94e: 2c 91 ld r18, X + 950: 20 68 ori r18, 0x80 ; 128 + 952: 2c 93 st X, r18 + 954: c0 8b std Z+16, r28 ; 0x10 + 956: 91 8b std Z+17, r25 ; 0x11 + 958: 31 e9 ldi r19, 0x91 ; 145 + 95a: 32 8b std Z+18, r19 ; 0x12 + 95c: 43 8b std Z+19, r20 ; 0x13 + 95e: 47 e7 ldi r20, 0x77 ; 119 + 960: 51 e0 ldi r21, 0x01 ; 1 + 962: 44 8b std Z+20, r20 ; 0x14 + 964: 55 8b std Z+21, r21 ; 0x15 + 966: 60 8f std Z+24, r22 ; 0x18 + 968: 81 8f std Z+25, r24 ; 0x19 + 96a: 12 8e std Z+26, r1 ; 0x1a + 96c: 6a e7 ldi r22, 0x7A ; 122 + 96e: 76 e2 ldi r23, 0x26 ; 38 + 970: 64 8f std Z+28, r22 ; 0x1c + 972: 75 8f std Z+29, r23 ; 0x1d + 974: 16 8e std Z+30, r1 ; 0x1e + 976: 20 89 ldd r18, Z+16 ; 0x10 + 978: 20 68 ori r18, 0x80 ; 128 + 97a: 20 8b std Z+16, r18 ; 0x10 + 97c: c0 ab std Z+48, r28 ; 0x30 + 97e: 91 ab std Z+49, r25 ; 0x31 + 980: 32 ab std Z+50, r19 ; 0x32 + 982: 9a e4 ldi r25, 0x4A ; 74 + 984: 93 ab std Z+51, r25 ; 0x33 + 986: 44 ab std Z+52, r20 ; 0x34 + 988: 55 ab std Z+53, r21 ; 0x35 + 98a: 93 ec ldi r25, 0xC3 ; 195 + 98c: 90 af std Z+56, r25 ; 0x38 + 98e: 81 af std Z+57, r24 ; 0x39 + 990: 12 ae std Z+58, r1 ; 0x3a + 992: 81 ef ldi r24, 0xF1 ; 241 + 994: 97 e2 ldi r25, 0x27 ; 39 + 996: 84 af std Z+60, r24 ; 0x3c + 998: 90 93 3d 01 sts 0x013D, r25 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + 99c: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + 9a0: 80 a9 ldd r24, Z+48 ; 0x30 + 9a2: 80 68 ori r24, 0x80 ; 128 + 9a4: 80 ab std Z+48, r24 ; 0x30 + 9a6: cf 91 pop r28 + 9a8: 08 95 ret -0000097c : - 97c: 08 95 ret +000009aa : + 9aa: 08 95 ret -0000097e : - 97e: 85 e0 ldi r24, 0x05 ; 5 - 980: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> - 984: 97 dd rcall .-1234 ; 0x4b4 - 986: e0 e0 ldi r30, 0x00 ; 0 - 988: f1 e0 ldi r31, 0x01 ; 1 - 98a: 16 aa std Z+54, r1 ; 0x36 - 98c: 34 e2 ldi r19, 0x24 ; 36 - 98e: 30 ab std Z+48, r19 ; 0x30 - 990: 11 aa std Z+49, r1 ; 0x31 - 992: 29 e5 ldi r18, 0x59 ; 89 - 994: 22 ab std Z+50, r18 ; 0x32 - 996: 83 e0 ldi r24, 0x03 ; 3 - 998: 83 ab std Z+51, r24 ; 0x33 - 99a: 40 91 04 20 lds r20, 0x2004 ; 0x802004 - 99e: 50 91 05 20 lds r21, 0x2005 ; 0x802005 - 9a2: 44 ab std Z+52, r20 ; 0x34 - 9a4: 55 ab std Z+53, r21 ; 0x35 - 9a6: 4a e6 ldi r20, 0x6A ; 106 - 9a8: 52 e2 ldi r21, 0x22 ; 34 - 9aa: 40 af std Z+56, r20 ; 0x38 - 9ac: 51 af std Z+57, r21 ; 0x39 - 9ae: 12 ae std Z+58, r1 ; 0x3a - 9b0: 99 e3 ldi r25, 0x39 ; 57 - 9b2: 94 af std Z+60, r25 ; 0x3c - 9b4: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> - 9b8: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> - 9bc: 90 a9 ldd r25, Z+48 ; 0x30 - 9be: 90 68 ori r25, 0x80 ; 128 - 9c0: 90 ab std Z+48, r25 ; 0x30 - 9c2: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> - 9c6: e0 e4 ldi r30, 0x40 ; 64 - 9c8: f1 e0 ldi r31, 0x01 ; 1 - 9ca: 30 83 st Z, r19 - 9cc: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> - 9d0: 20 93 42 01 sts 0x0142, r18 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> - 9d4: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> - 9d8: 20 91 04 20 lds r18, 0x2004 ; 0x802004 - 9dc: 30 91 05 20 lds r19, 0x2005 ; 0x802005 - 9e0: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - 9e4: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> - 9e8: 2a e7 ldi r18, 0x7A ; 122 - 9ea: 34 e2 ldi r19, 0x24 ; 36 - 9ec: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> - 9f0: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> - 9f4: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> - 9f8: 9b e3 ldi r25, 0x3B ; 59 - 9fa: 90 93 4c 01 sts 0x014C, r25 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> - 9fe: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> - a02: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> - a06: 80 81 ld r24, Z - a08: 80 68 ori r24, 0x80 ; 128 - a0a: 80 83 st Z, r24 - a0c: 08 95 ret +000009ac : + 9ac: 85 e0 ldi r24, 0x05 ; 5 + 9ae: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> + 9b2: 97 dd rcall .-1234 ; 0x4e2 + 9b4: e0 e0 ldi r30, 0x00 ; 0 + 9b6: f1 e0 ldi r31, 0x01 ; 1 + 9b8: 16 aa std Z+54, r1 ; 0x36 + 9ba: 34 e2 ldi r19, 0x24 ; 36 + 9bc: 30 ab std Z+48, r19 ; 0x30 + 9be: 11 aa std Z+49, r1 ; 0x31 + 9c0: 29 e5 ldi r18, 0x59 ; 89 + 9c2: 22 ab std Z+50, r18 ; 0x32 + 9c4: 83 e0 ldi r24, 0x03 ; 3 + 9c6: 83 ab std Z+51, r24 ; 0x33 + 9c8: 40 91 04 20 lds r20, 0x2004 ; 0x802004 + 9cc: 50 91 05 20 lds r21, 0x2005 ; 0x802005 + 9d0: 44 ab std Z+52, r20 ; 0x34 + 9d2: 55 ab std Z+53, r21 ; 0x35 + 9d4: 4a e6 ldi r20, 0x6A ; 106 + 9d6: 52 e2 ldi r21, 0x22 ; 34 + 9d8: 40 af std Z+56, r20 ; 0x38 + 9da: 51 af std Z+57, r21 ; 0x39 + 9dc: 12 ae std Z+58, r1 ; 0x3a + 9de: 99 e3 ldi r25, 0x39 ; 57 + 9e0: 94 af std Z+60, r25 ; 0x3c + 9e2: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + 9e6: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + 9ea: 90 a9 ldd r25, Z+48 ; 0x30 + 9ec: 90 68 ori r25, 0x80 ; 128 + 9ee: 90 ab std Z+48, r25 ; 0x30 + 9f0: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + 9f4: e0 e4 ldi r30, 0x40 ; 64 + 9f6: f1 e0 ldi r31, 0x01 ; 1 + 9f8: 30 83 st Z, r19 + 9fa: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + 9fe: 20 93 42 01 sts 0x0142, r18 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + a02: 80 93 43 01 sts 0x0143, r24 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + a06: 20 91 04 20 lds r18, 0x2004 ; 0x802004 + a0a: 30 91 05 20 lds r19, 0x2005 ; 0x802005 + a0e: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + a12: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + a16: 2a e7 ldi r18, 0x7A ; 122 + a18: 34 e2 ldi r19, 0x24 ; 36 + a1a: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + a1e: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + a22: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + a26: 9b e3 ldi r25, 0x3B ; 59 + a28: 90 93 4c 01 sts 0x014C, r25 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + a2c: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + a30: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + a34: 80 81 ld r24, Z + a36: 80 68 ori r24, 0x80 ; 128 + a38: 80 83 st Z, r24 + a3a: 08 95 ret -00000a0e : - a0e: 86 e0 ldi r24, 0x06 ; 6 - a10: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> - a14: 4f dd rcall .-1378 ; 0x4b4 - a16: e0 e0 ldi r30, 0x00 ; 0 - a18: f1 e0 ldi r31, 0x01 ; 1 - a1a: 16 aa std Z+54, r1 ; 0x36 - a1c: 34 e2 ldi r19, 0x24 ; 36 - a1e: 30 ab std Z+48, r19 ; 0x30 - a20: 11 aa std Z+49, r1 ; 0x31 - a22: 29 e5 ldi r18, 0x59 ; 89 - a24: 22 ab std Z+50, r18 ; 0x32 - a26: 83 e0 ldi r24, 0x03 ; 3 - a28: 83 ab std Z+51, r24 ; 0x33 - a2a: 40 91 04 20 lds r20, 0x2004 ; 0x802004 - a2e: 50 91 05 20 lds r21, 0x2005 ; 0x802005 - a32: 44 ab std Z+52, r20 ; 0x34 - a34: 55 ab std Z+53, r21 ; 0x35 - a36: 4a e6 ldi r20, 0x6A ; 106 - a38: 52 e2 ldi r21, 0x22 ; 34 - a3a: 40 af std Z+56, r20 ; 0x38 - a3c: 51 af std Z+57, r21 ; 0x39 - a3e: 12 ae std Z+58, r1 ; 0x3a - a40: 99 e3 ldi r25, 0x39 ; 57 - a42: 94 af std Z+60, r25 ; 0x3c - a44: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> - a48: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> - a4c: 90 a9 ldd r25, Z+48 ; 0x30 - a4e: 90 68 ori r25, 0x80 ; 128 - a50: 90 ab std Z+48, r25 ; 0x30 - a52: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> - a56: e0 e4 ldi r30, 0x40 ; 64 - a58: f1 e0 ldi r31, 0x01 ; 1 - a5a: 30 83 st Z, r19 - a5c: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> - a60: 20 93 42 01 sts 0x0142, r18 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> - a64: 92 e0 ldi r25, 0x02 ; 2 - a66: 90 93 43 01 sts 0x0143, r25 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> - a6a: 20 91 02 20 lds r18, 0x2002 ; 0x802002 - a6e: 30 91 03 20 lds r19, 0x2003 ; 0x802003 - a72: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - a76: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> - a7a: 2a e7 ldi r18, 0x7A ; 122 - a7c: 34 e2 ldi r19, 0x24 ; 36 - a7e: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> - a82: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> - a86: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> - a8a: 9b e3 ldi r25, 0x3B ; 59 - a8c: 90 93 4c 01 sts 0x014C, r25 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> - a90: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> - a94: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> - a98: 80 81 ld r24, Z - a9a: 80 68 ori r24, 0x80 ; 128 - a9c: 80 83 st Z, r24 - a9e: 08 95 ret +00000a3c : + a3c: 86 e0 ldi r24, 0x06 ; 6 + a3e: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> + a42: 4f dd rcall .-1378 ; 0x4e2 + a44: e0 e0 ldi r30, 0x00 ; 0 + a46: f1 e0 ldi r31, 0x01 ; 1 + a48: 16 aa std Z+54, r1 ; 0x36 + a4a: 94 e2 ldi r25, 0x24 ; 36 + a4c: 90 ab std Z+48, r25 ; 0x30 + a4e: 11 aa std Z+49, r1 ; 0x31 + a50: 39 e5 ldi r19, 0x59 ; 89 + a52: 32 ab std Z+50, r19 ; 0x32 + a54: 83 e0 ldi r24, 0x03 ; 3 + a56: 83 ab std Z+51, r24 ; 0x33 + a58: 40 91 04 20 lds r20, 0x2004 ; 0x802004 + a5c: 50 91 05 20 lds r21, 0x2005 ; 0x802005 + a60: 44 ab std Z+52, r20 ; 0x34 + a62: 55 ab std Z+53, r21 ; 0x35 + a64: 4a e6 ldi r20, 0x6A ; 106 + a66: 52 e2 ldi r21, 0x22 ; 34 + a68: 40 af std Z+56, r20 ; 0x38 + a6a: 51 af std Z+57, r21 ; 0x39 + a6c: 12 ae std Z+58, r1 ; 0x3a + a6e: 29 e3 ldi r18, 0x39 ; 57 + a70: 24 af std Z+60, r18 ; 0x3c + a72: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + a76: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + a7a: 20 a9 ldd r18, Z+48 ; 0x30 + a7c: 20 68 ori r18, 0x80 ; 128 + a7e: 20 ab std Z+48, r18 ; 0x30 + a80: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + a84: a0 e4 ldi r26, 0x40 ; 64 + a86: b1 e0 ldi r27, 0x01 ; 1 + a88: 9c 93 st X, r25 + a8a: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + a8e: 30 93 42 01 sts 0x0142, r19 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + a92: 32 e0 ldi r19, 0x02 ; 2 + a94: 30 93 43 01 sts 0x0143, r19 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + a98: 40 91 02 20 lds r20, 0x2002 ; 0x802002 + a9c: 50 91 03 20 lds r21, 0x2003 ; 0x802003 + aa0: 40 93 44 01 sts 0x0144, r20 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + aa4: 50 93 45 01 sts 0x0145, r21 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + aa8: 4a e7 ldi r20, 0x7A ; 122 + aaa: 54 e2 ldi r21, 0x24 ; 36 + aac: 40 93 48 01 sts 0x0148, r20 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + ab0: 50 93 49 01 sts 0x0149, r21 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + ab4: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + ab8: 2b e3 ldi r18, 0x3B ; 59 + aba: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + abe: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + ac2: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + ac6: 2c 91 ld r18, X + ac8: 20 68 ori r18, 0x80 ; 128 + aca: 2c 93 st X, r18 + acc: 10 8a std Z+16, r1 ; 0x10 + ace: 20 e4 ldi r18, 0x40 ; 64 + ad0: 20 8b std Z+16, r18 ; 0x10 + ad2: 24 e0 ldi r18, 0x04 ; 4 + ad4: 20 8b std Z+16, r18 ; 0x10 + ad6: 81 8b std Z+17, r24 ; 0x11 + ad8: 81 e9 ldi r24, 0x91 ; 145 + ada: 82 8b std Z+18, r24 ; 0x12 + adc: 80 e1 ldi r24, 0x10 ; 16 + ade: 83 8b std Z+19, r24 ; 0x13 + ae0: 4e ee ldi r20, 0xEE ; 238 + ae2: 52 e0 ldi r21, 0x02 ; 2 + ae4: 44 8b std Z+20, r20 ; 0x14 + ae6: 55 8b std Z+21, r21 ; 0x15 + ae8: 90 8f std Z+24, r25 ; 0x18 + aea: 31 8f std Z+25, r19 ; 0x19 + aec: 12 8e std Z+26, r1 ; 0x1a + aee: 8a e7 ldi r24, 0x7A ; 122 + af0: 96 e2 ldi r25, 0x26 ; 38 + af2: 84 8f std Z+28, r24 ; 0x1c + af4: 95 8f std Z+29, r25 ; 0x1d + af6: 16 8e std Z+30, r1 ; 0x1e + af8: 80 89 ldd r24, Z+16 ; 0x10 + afa: 80 68 ori r24, 0x80 ; 128 + afc: 80 8b std Z+16, r24 ; 0x10 + afe: 08 95 ret -00000aa0 : - aa0: e0 e0 ldi r30, 0x00 ; 0 - aa2: f1 e0 ldi r31, 0x01 ; 1 - aa4: 10 8a std Z+16, r1 ; 0x10 - aa6: 80 e4 ldi r24, 0x40 ; 64 - aa8: 80 8b std Z+16, r24 ; 0x10 - aaa: 84 e0 ldi r24, 0x04 ; 4 - aac: 80 8b std Z+16, r24 ; 0x10 - aae: 11 8a std Z+17, r1 ; 0x11 - ab0: 81 e9 ldi r24, 0x91 ; 145 - ab2: 82 8b std Z+18, r24 ; 0x12 - ab4: 80 e1 ldi r24, 0x10 ; 16 - ab6: 83 8b std Z+19, r24 ; 0x13 - ab8: 2e ee ldi r18, 0xEE ; 238 - aba: 32 e0 ldi r19, 0x02 ; 2 - abc: 24 8b std Z+20, r18 ; 0x14 - abe: 35 8b std Z+21, r19 ; 0x15 - ac0: 84 e2 ldi r24, 0x24 ; 36 - ac2: 80 8f std Z+24, r24 ; 0x18 - ac4: 82 e0 ldi r24, 0x02 ; 2 - ac6: 81 8f std Z+25, r24 ; 0x19 - ac8: 12 8e std Z+26, r1 ; 0x1a - aca: 40 91 c3 20 lds r20, 0x20C3 ; 0x8020c3 - ace: 42 9f mul r20, r18 - ad0: c0 01 movw r24, r0 - ad2: 43 9f mul r20, r19 - ad4: 90 0d add r25, r0 - ad6: 11 24 eor r1, r1 - ad8: 86 58 subi r24, 0x86 ; 134 - ada: 99 4d sbci r25, 0xD9 ; 217 - adc: 84 8f std Z+28, r24 ; 0x1c - ade: 40 91 c3 20 lds r20, 0x20C3 ; 0x8020c3 - ae2: 42 9f mul r20, r18 - ae4: c0 01 movw r24, r0 - ae6: 43 9f mul r20, r19 - ae8: 90 0d add r25, r0 - aea: 11 24 eor r1, r1 - aec: 86 58 subi r24, 0x86 ; 134 - aee: 99 4d sbci r25, 0xD9 ; 217 - af0: 95 8f std Z+29, r25 ; 0x1d - af2: 16 8e std Z+30, r1 ; 0x1e - af4: 80 89 ldd r24, Z+16 ; 0x10 - af6: 80 68 ori r24, 0x80 ; 128 - af8: 80 8b std Z+16, r24 ; 0x10 - afa: 08 95 ret +00000b00 : + b00: 08 95 ret -00000afc : - afc: 87 e0 ldi r24, 0x07 ; 7 - afe: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> - b02: d8 dc rcall .-1616 ; 0x4b4 - b04: e0 e0 ldi r30, 0x00 ; 0 - b06: f1 e0 ldi r31, 0x01 ; 1 - b08: 16 aa std Z+54, r1 ; 0x36 - b0a: 34 e2 ldi r19, 0x24 ; 36 - b0c: 30 ab std Z+48, r19 ; 0x30 - b0e: 11 aa std Z+49, r1 ; 0x31 - b10: 29 e5 ldi r18, 0x59 ; 89 - b12: 22 ab std Z+50, r18 ; 0x32 - b14: 83 e0 ldi r24, 0x03 ; 3 - b16: 83 ab std Z+51, r24 ; 0x33 - b18: 40 91 04 20 lds r20, 0x2004 ; 0x802004 - b1c: 50 91 05 20 lds r21, 0x2005 ; 0x802005 - b20: 44 ab std Z+52, r20 ; 0x34 - b22: 55 ab std Z+53, r21 ; 0x35 - b24: 4a e6 ldi r20, 0x6A ; 106 - b26: 52 e2 ldi r21, 0x22 ; 34 - b28: 40 af std Z+56, r20 ; 0x38 - b2a: 51 af std Z+57, r21 ; 0x39 - b2c: 12 ae std Z+58, r1 ; 0x3a - b2e: 99 e3 ldi r25, 0x39 ; 57 - b30: 94 af std Z+60, r25 ; 0x3c - b32: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> - b36: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> - b3a: 90 a9 ldd r25, Z+48 ; 0x30 - b3c: 90 68 ori r25, 0x80 ; 128 - b3e: 90 ab std Z+48, r25 ; 0x30 - b40: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> - b44: e0 e4 ldi r30, 0x40 ; 64 - b46: f1 e0 ldi r31, 0x01 ; 1 - b48: 30 83 st Z, r19 - b4a: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> - b4e: 20 93 42 01 sts 0x0142, r18 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> - b52: 92 e0 ldi r25, 0x02 ; 2 - b54: 90 93 43 01 sts 0x0143, r25 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> - b58: 20 91 02 20 lds r18, 0x2002 ; 0x802002 - b5c: 30 91 03 20 lds r19, 0x2003 ; 0x802003 - b60: 20 93 44 01 sts 0x0144, r18 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - b64: 30 93 45 01 sts 0x0145, r19 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> - b68: 2a e7 ldi r18, 0x7A ; 122 - b6a: 34 e2 ldi r19, 0x24 ; 36 - b6c: 20 93 48 01 sts 0x0148, r18 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> - b70: 30 93 49 01 sts 0x0149, r19 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> - b74: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> - b78: 9b e3 ldi r25, 0x3B ; 59 - b7a: 90 93 4c 01 sts 0x014C, r25 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> - b7e: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> - b82: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> - b86: 80 81 ld r24, Z - b88: 80 68 ori r24, 0x80 ; 128 - b8a: 80 83 st Z, r24 - b8c: 08 95 ret - -00000b8e : - b8e: e0 e0 ldi r30, 0x00 ; 0 - b90: f1 e0 ldi r31, 0x01 ; 1 +00000b02 : + b02: 87 e0 ldi r24, 0x07 ; 7 + b04: 80 93 00 20 sts 0x2000, r24 ; 0x802000 <__data_start> + b08: ec dc rcall .-1576 ; 0x4e2 + b0a: e0 e0 ldi r30, 0x00 ; 0 + b0c: f1 e0 ldi r31, 0x01 ; 1 + b0e: 16 aa std Z+54, r1 ; 0x36 + b10: 94 e2 ldi r25, 0x24 ; 36 + b12: 90 ab std Z+48, r25 ; 0x30 + b14: 11 aa std Z+49, r1 ; 0x31 + b16: 39 e5 ldi r19, 0x59 ; 89 + b18: 32 ab std Z+50, r19 ; 0x32 + b1a: 83 e0 ldi r24, 0x03 ; 3 + b1c: 83 ab std Z+51, r24 ; 0x33 + b1e: 40 91 04 20 lds r20, 0x2004 ; 0x802004 + b22: 50 91 05 20 lds r21, 0x2005 ; 0x802005 + b26: 44 ab std Z+52, r20 ; 0x34 + b28: 55 ab std Z+53, r21 ; 0x35 + b2a: 4a e6 ldi r20, 0x6A ; 106 + b2c: 52 e2 ldi r21, 0x22 ; 34 + b2e: 40 af std Z+56, r20 ; 0x38 + b30: 51 af std Z+57, r21 ; 0x39 + b32: 12 ae std Z+58, r1 ; 0x3a + b34: 29 e3 ldi r18, 0x39 ; 57 + b36: 24 af std Z+60, r18 ; 0x3c + b38: 80 93 3d 01 sts 0x013D, r24 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + b3c: 10 92 3e 01 sts 0x013E, r1 ; 0x80013e <__TEXT_REGION_LENGTH__+0x70013e> + b40: 20 a9 ldd r18, Z+48 ; 0x30 + b42: 20 68 ori r18, 0x80 ; 128 + b44: 20 ab std Z+48, r18 ; 0x30 + b46: 10 92 46 01 sts 0x0146, r1 ; 0x800146 <__TEXT_REGION_LENGTH__+0x700146> + b4a: a0 e4 ldi r26, 0x40 ; 64 + b4c: b1 e0 ldi r27, 0x01 ; 1 + b4e: 9c 93 st X, r25 + b50: 10 92 41 01 sts 0x0141, r1 ; 0x800141 <__TEXT_REGION_LENGTH__+0x700141> + b54: 30 93 42 01 sts 0x0142, r19 ; 0x800142 <__TEXT_REGION_LENGTH__+0x700142> + b58: 32 e0 ldi r19, 0x02 ; 2 + b5a: 30 93 43 01 sts 0x0143, r19 ; 0x800143 <__TEXT_REGION_LENGTH__+0x700143> + b5e: 40 91 02 20 lds r20, 0x2002 ; 0x802002 + b62: 50 91 03 20 lds r21, 0x2003 ; 0x802003 + b66: 40 93 44 01 sts 0x0144, r20 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + b6a: 50 93 45 01 sts 0x0145, r21 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + b6e: 4a e7 ldi r20, 0x7A ; 122 + b70: 54 e2 ldi r21, 0x24 ; 36 + b72: 40 93 48 01 sts 0x0148, r20 ; 0x800148 <__TEXT_REGION_LENGTH__+0x700148> + b76: 50 93 49 01 sts 0x0149, r21 ; 0x800149 <__TEXT_REGION_LENGTH__+0x700149> + b7a: 10 92 4a 01 sts 0x014A, r1 ; 0x80014a <__TEXT_REGION_LENGTH__+0x70014a> + b7e: 2b e3 ldi r18, 0x3B ; 59 + b80: 20 93 4c 01 sts 0x014C, r18 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + b84: 80 93 4d 01 sts 0x014D, r24 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + b88: 10 92 4e 01 sts 0x014E, r1 ; 0x80014e <__TEXT_REGION_LENGTH__+0x70014e> + b8c: 2c 91 ld r18, X + b8e: 20 68 ori r18, 0x80 ; 128 + b90: 2c 93 st X, r18 b92: 10 8a std Z+16, r1 ; 0x10 - b94: 80 e4 ldi r24, 0x40 ; 64 - b96: 80 8b std Z+16, r24 ; 0x10 - b98: 85 e0 ldi r24, 0x05 ; 5 - b9a: 80 8b std Z+16, r24 ; 0x10 - b9c: 11 8a std Z+17, r1 ; 0x11 + b94: 20 e4 ldi r18, 0x40 ; 64 + b96: 20 8b std Z+16, r18 ; 0x10 + b98: 25 e0 ldi r18, 0x05 ; 5 + b9a: 20 8b std Z+16, r18 ; 0x10 + b9c: 81 8b std Z+17, r24 ; 0x11 b9e: 81 e9 ldi r24, 0x91 ; 145 ba0: 82 8b std Z+18, r24 ; 0x12 ba2: 80 e1 ldi r24, 0x10 ; 16 ba4: 83 8b std Z+19, r24 ; 0x13 - ba6: 2e ee ldi r18, 0xEE ; 238 - ba8: 32 e0 ldi r19, 0x02 ; 2 - baa: 24 8b std Z+20, r18 ; 0x14 - bac: 35 8b std Z+21, r19 ; 0x15 - bae: 84 e2 ldi r24, 0x24 ; 36 - bb0: 80 8f std Z+24, r24 ; 0x18 - bb2: 82 e0 ldi r24, 0x02 ; 2 - bb4: 81 8f std Z+25, r24 ; 0x19 - bb6: 12 8e std Z+26, r1 ; 0x1a - bb8: 40 91 c3 20 lds r20, 0x20C3 ; 0x8020c3 - bbc: 42 9f mul r20, r18 - bbe: c0 01 movw r24, r0 - bc0: 43 9f mul r20, r19 - bc2: 90 0d add r25, r0 - bc4: 11 24 eor r1, r1 - bc6: 86 58 subi r24, 0x86 ; 134 - bc8: 99 4d sbci r25, 0xD9 ; 217 - bca: 84 8f std Z+28, r24 ; 0x1c - bcc: 40 91 c3 20 lds r20, 0x20C3 ; 0x8020c3 - bd0: 42 9f mul r20, r18 - bd2: c0 01 movw r24, r0 - bd4: 43 9f mul r20, r19 - bd6: 90 0d add r25, r0 - bd8: 11 24 eor r1, r1 - bda: 86 58 subi r24, 0x86 ; 134 - bdc: 99 4d sbci r25, 0xD9 ; 217 - bde: 95 8f std Z+29, r25 ; 0x1d - be0: 16 8e std Z+30, r1 ; 0x1e - be2: 80 89 ldd r24, Z+16 ; 0x10 - be4: 80 68 ori r24, 0x80 ; 128 - be6: 80 8b std Z+16, r24 ; 0x10 - be8: 08 95 ret + ba6: 4e ee ldi r20, 0xEE ; 238 + ba8: 52 e0 ldi r21, 0x02 ; 2 + baa: 44 8b std Z+20, r20 ; 0x14 + bac: 55 8b std Z+21, r21 ; 0x15 + bae: 90 8f std Z+24, r25 ; 0x18 + bb0: 31 8f std Z+25, r19 ; 0x19 + bb2: 12 8e std Z+26, r1 ; 0x1a + bb4: 8a e7 ldi r24, 0x7A ; 122 + bb6: 96 e2 ldi r25, 0x26 ; 38 + bb8: 84 8f std Z+28, r24 ; 0x1c + bba: 95 8f std Z+29, r25 ; 0x1d + bbc: 16 8e std Z+30, r1 ; 0x1e + bbe: 80 89 ldd r24, Z+16 ; 0x10 + bc0: 80 68 ori r24, 0x80 ; 128 + bc2: 80 8b std Z+16, r24 ; 0x10 + bc4: 08 95 ret -00000bea <__vector_6>: - bea: 1f 92 push r1 - bec: 0f 92 push r0 - bee: 0f b6 in r0, 0x3f ; 63 - bf0: 0f 92 push r0 - bf2: 11 24 eor r1, r1 - bf4: 2f 93 push r18 - bf6: 3f 93 push r19 - bf8: 4f 93 push r20 - bfa: 8f 93 push r24 - bfc: 9f 93 push r25 - bfe: 81 e0 ldi r24, 0x01 ; 1 - c00: 80 93 03 01 sts 0x0103, r24 ; 0x800103 <__TEXT_REGION_LENGTH__+0x700103> - c04: 80 91 00 20 lds r24, 0x2000 ; 0x802000 <__data_start> - c08: 82 30 cpi r24, 0x02 ; 2 - c0a: 51 f0 breq .+20 ; 0xc20 <__vector_6+0x36> - c0c: 28 f4 brcc .+10 ; 0xc18 <__vector_6+0x2e> - c0e: 88 23 and r24, r24 - c10: 39 f0 breq .+14 ; 0xc20 <__vector_6+0x36> - c12: 81 30 cpi r24, 0x01 ; 1 - c14: 29 f0 breq .+10 ; 0xc20 <__vector_6+0x36> - c16: 2e c0 rjmp .+92 ; 0xc74 <__vector_6+0x8a> - c18: 83 30 cpi r24, 0x03 ; 3 - c1a: 11 f0 breq .+4 ; 0xc20 <__vector_6+0x36> - c1c: 84 30 cpi r24, 0x04 ; 4 - c1e: 51 f5 brne .+84 ; 0xc74 <__vector_6+0x8a> - c20: 87 e7 ldi r24, 0x77 ; 119 - c22: 91 e0 ldi r25, 0x01 ; 1 - c24: 80 93 14 01 sts 0x0114, r24 ; 0x800114 <__TEXT_REGION_LENGTH__+0x700114> - c28: 90 93 15 01 sts 0x0115, r25 ; 0x800115 <__TEXT_REGION_LENGTH__+0x700115> - c2c: 40 91 c3 20 lds r20, 0x20C3 ; 0x8020c3 - c30: 2e ee ldi r18, 0xEE ; 238 - c32: 32 e0 ldi r19, 0x02 ; 2 - c34: 42 9f mul r20, r18 - c36: c0 01 movw r24, r0 - c38: 43 9f mul r20, r19 - c3a: 90 0d add r25, r0 - c3c: 11 24 eor r1, r1 - c3e: 86 58 subi r24, 0x86 ; 134 - c40: 99 4d sbci r25, 0xD9 ; 217 - c42: 80 93 1c 01 sts 0x011C, r24 ; 0x80011c <__TEXT_REGION_LENGTH__+0x70011c> - c46: 40 91 c3 20 lds r20, 0x20C3 ; 0x8020c3 - c4a: 42 9f mul r20, r18 - c4c: c0 01 movw r24, r0 - c4e: 43 9f mul r20, r19 - c50: 90 0d add r25, r0 - c52: 11 24 eor r1, r1 - c54: 86 58 subi r24, 0x86 ; 134 - c56: 99 4d sbci r25, 0xD9 ; 217 - c58: 90 93 1d 01 sts 0x011D, r25 ; 0x80011d <__TEXT_REGION_LENGTH__+0x70011d> - c5c: 80 91 10 01 lds r24, 0x0110 ; 0x800110 <__TEXT_REGION_LENGTH__+0x700110> - c60: 80 68 ori r24, 0x80 ; 128 - c62: 80 93 10 01 sts 0x0110, r24 ; 0x800110 <__TEXT_REGION_LENGTH__+0x700110> - c66: 90 91 c3 20 lds r25, 0x20C3 ; 0x8020c3 - c6a: 81 e0 ldi r24, 0x01 ; 1 - c6c: 91 11 cpse r25, r1 - c6e: 80 e0 ldi r24, 0x00 ; 0 - c70: 80 93 c3 20 sts 0x20C3, r24 ; 0x8020c3 - c74: 9f 91 pop r25 - c76: 8f 91 pop r24 - c78: 4f 91 pop r20 - c7a: 3f 91 pop r19 - c7c: 2f 91 pop r18 +00000bc6 : + bc6: 08 95 ret + +00000bc8 <__vector_6>: + bc8: 1f 92 push r1 + bca: 0f 92 push r0 + bcc: 0f b6 in r0, 0x3f ; 63 + bce: 0f 92 push r0 + bd0: 11 24 eor r1, r1 + bd2: 2f 93 push r18 + bd4: 3f 93 push r19 + bd6: 4f 93 push r20 + bd8: 8f 93 push r24 + bda: 9f 93 push r25 + bdc: af 93 push r26 + bde: bf 93 push r27 + be0: ef 93 push r30 + be2: ff 93 push r31 + be4: 81 e0 ldi r24, 0x01 ; 1 + be6: 80 93 03 01 sts 0x0103, r24 ; 0x800103 <__TEXT_REGION_LENGTH__+0x700103> + bea: e0 91 00 20 lds r30, 0x2000 ; 0x802000 <__data_start> + bee: 8e 2f mov r24, r30 + bf0: 90 e0 ldi r25, 0x00 ; 0 + bf2: 88 30 cpi r24, 0x08 ; 8 + bf4: 91 05 cpc r25, r1 + bf6: c0 f5 brcc .+112 ; 0xc68 <__vector_6+0xa0> + bf8: fc 01 movw r30, r24 + bfa: ea 5f subi r30, 0xFA ; 250 + bfc: fe 4f sbci r31, 0xFE ; 254 + bfe: 0c 94 49 13 jmp 0x2692 ; 0x2692 <__tablejump2__> + c02: 87 e7 ldi r24, 0x77 ; 119 + c04: 91 e0 ldi r25, 0x01 ; 1 + c06: 80 93 14 01 sts 0x0114, r24 ; 0x800114 <__TEXT_REGION_LENGTH__+0x700114> + c0a: 90 93 15 01 sts 0x0115, r25 ; 0x800115 <__TEXT_REGION_LENGTH__+0x700115> + c0e: 40 91 c3 20 lds r20, 0x20C3 ; 0x8020c3 + c12: 2e ee ldi r18, 0xEE ; 238 + c14: 32 e0 ldi r19, 0x02 ; 2 + c16: 08 c0 rjmp .+16 ; 0xc28 <__vector_6+0x60> + c18: 2e ee ldi r18, 0xEE ; 238 + c1a: 32 e0 ldi r19, 0x02 ; 2 + c1c: 20 93 14 01 sts 0x0114, r18 ; 0x800114 <__TEXT_REGION_LENGTH__+0x700114> + c20: 30 93 15 01 sts 0x0115, r19 ; 0x800115 <__TEXT_REGION_LENGTH__+0x700115> + c24: 40 91 c3 20 lds r20, 0x20C3 ; 0x8020c3 + c28: 42 9f mul r20, r18 + c2a: c0 01 movw r24, r0 + c2c: 43 9f mul r20, r19 + c2e: 90 0d add r25, r0 + c30: 11 24 eor r1, r1 + c32: 86 58 subi r24, 0x86 ; 134 + c34: 99 4d sbci r25, 0xD9 ; 217 + c36: 80 93 1c 01 sts 0x011C, r24 ; 0x80011c <__TEXT_REGION_LENGTH__+0x70011c> + c3a: 40 91 c3 20 lds r20, 0x20C3 ; 0x8020c3 + c3e: 42 9f mul r20, r18 + c40: c0 01 movw r24, r0 + c42: 43 9f mul r20, r19 + c44: 90 0d add r25, r0 + c46: 11 24 eor r1, r1 + c48: 86 58 subi r24, 0x86 ; 134 + c4a: 99 4d sbci r25, 0xD9 ; 217 + c4c: 90 93 1d 01 sts 0x011D, r25 ; 0x80011d <__TEXT_REGION_LENGTH__+0x70011d> + c50: 80 91 10 01 lds r24, 0x0110 ; 0x800110 <__TEXT_REGION_LENGTH__+0x700110> + c54: 80 68 ori r24, 0x80 ; 128 + c56: 80 93 10 01 sts 0x0110, r24 ; 0x800110 <__TEXT_REGION_LENGTH__+0x700110> + c5a: 90 91 c3 20 lds r25, 0x20C3 ; 0x8020c3 + c5e: 81 e0 ldi r24, 0x01 ; 1 + c60: 91 11 cpse r25, r1 + c62: 80 e0 ldi r24, 0x00 ; 0 + c64: 80 93 c3 20 sts 0x20C3, r24 ; 0x8020c3 + c68: ff 91 pop r31 + c6a: ef 91 pop r30 + c6c: bf 91 pop r27 + c6e: af 91 pop r26 + c70: 9f 91 pop r25 + c72: 8f 91 pop r24 + c74: 4f 91 pop r20 + c76: 3f 91 pop r19 + c78: 2f 91 pop r18 + c7a: 0f 90 pop r0 + c7c: 0f be out 0x3f, r0 ; 63 c7e: 0f 90 pop r0 - c80: 0f be out 0x3f, r0 ; 63 - c82: 0f 90 pop r0 - c84: 1f 90 pop r1 - c86: 18 95 reti + c80: 1f 90 pop r1 + c82: 18 95 reti -00000c88 <__vector_7>: - c88: 1f 92 push r1 +00000c84 <__vector_7>: + c84: 1f 92 push r1 + c86: 0f 92 push r0 + c88: 0f b6 in r0, 0x3f ; 63 c8a: 0f 92 push r0 - c8c: 0f b6 in r0, 0x3f ; 63 - c8e: 0f 92 push r0 - c90: 11 24 eor r1, r1 - c92: 2f 93 push r18 - c94: 3f 93 push r19 - c96: 4f 93 push r20 - c98: 8f 93 push r24 - c9a: 9f 93 push r25 - c9c: 82 e0 ldi r24, 0x02 ; 2 - c9e: 80 93 03 01 sts 0x0103, r24 ; 0x800103 <__TEXT_REGION_LENGTH__+0x700103> - ca2: 80 91 00 20 lds r24, 0x2000 ; 0x802000 <__data_start> - ca6: 81 30 cpi r24, 0x01 ; 1 - ca8: 11 f0 breq .+4 ; 0xcae <__vector_7+0x26> - caa: 82 30 cpi r24, 0x02 ; 2 - cac: 51 f5 brne .+84 ; 0xd02 <__vector_7+0x7a> - cae: 87 e7 ldi r24, 0x77 ; 119 - cb0: 91 e0 ldi r25, 0x01 ; 1 - cb2: 80 93 24 01 sts 0x0124, r24 ; 0x800124 <__TEXT_REGION_LENGTH__+0x700124> - cb6: 90 93 25 01 sts 0x0125, r25 ; 0x800125 <__TEXT_REGION_LENGTH__+0x700125> - cba: 40 91 c2 20 lds r20, 0x20C2 ; 0x8020c2 - cbe: 2e ee ldi r18, 0xEE ; 238 - cc0: 32 e0 ldi r19, 0x02 ; 2 - cc2: 42 9f mul r20, r18 - cc4: c0 01 movw r24, r0 - cc6: 43 9f mul r20, r19 - cc8: 90 0d add r25, r0 - cca: 11 24 eor r1, r1 - ccc: 8f 50 subi r24, 0x0F ; 15 - cce: 98 4d sbci r25, 0xD8 ; 216 - cd0: 80 93 2c 01 sts 0x012C, r24 ; 0x80012c <__TEXT_REGION_LENGTH__+0x70012c> - cd4: 40 91 c2 20 lds r20, 0x20C2 ; 0x8020c2 - cd8: 42 9f mul r20, r18 - cda: c0 01 movw r24, r0 - cdc: 43 9f mul r20, r19 - cde: 90 0d add r25, r0 - ce0: 11 24 eor r1, r1 - ce2: 8f 50 subi r24, 0x0F ; 15 - ce4: 98 4d sbci r25, 0xD8 ; 216 - ce6: 90 93 2d 01 sts 0x012D, r25 ; 0x80012d <__TEXT_REGION_LENGTH__+0x70012d> - cea: 80 91 20 01 lds r24, 0x0120 ; 0x800120 <__TEXT_REGION_LENGTH__+0x700120> - cee: 80 68 ori r24, 0x80 ; 128 - cf0: 80 93 20 01 sts 0x0120, r24 ; 0x800120 <__TEXT_REGION_LENGTH__+0x700120> - cf4: 90 91 c2 20 lds r25, 0x20C2 ; 0x8020c2 - cf8: 81 e0 ldi r24, 0x01 ; 1 - cfa: 91 11 cpse r25, r1 - cfc: 80 e0 ldi r24, 0x00 ; 0 - cfe: 80 93 c2 20 sts 0x20C2, r24 ; 0x8020c2 - d02: 9f 91 pop r25 - d04: 8f 91 pop r24 - d06: 4f 91 pop r20 - d08: 3f 91 pop r19 - d0a: 2f 91 pop r18 + c8c: 11 24 eor r1, r1 + c8e: 2f 93 push r18 + c90: 3f 93 push r19 + c92: 4f 93 push r20 + c94: 8f 93 push r24 + c96: 9f 93 push r25 + c98: 82 e0 ldi r24, 0x02 ; 2 + c9a: 80 93 03 01 sts 0x0103, r24 ; 0x800103 <__TEXT_REGION_LENGTH__+0x700103> + c9e: 80 91 00 20 lds r24, 0x2000 ; 0x802000 <__data_start> + ca2: 81 30 cpi r24, 0x01 ; 1 + ca4: 11 f0 breq .+4 ; 0xcaa <__vector_7+0x26> + ca6: 82 30 cpi r24, 0x02 ; 2 + ca8: 51 f5 brne .+84 ; 0xcfe <__vector_7+0x7a> + caa: 87 e7 ldi r24, 0x77 ; 119 + cac: 91 e0 ldi r25, 0x01 ; 1 + cae: 80 93 24 01 sts 0x0124, r24 ; 0x800124 <__TEXT_REGION_LENGTH__+0x700124> + cb2: 90 93 25 01 sts 0x0125, r25 ; 0x800125 <__TEXT_REGION_LENGTH__+0x700125> + cb6: 40 91 c2 20 lds r20, 0x20C2 ; 0x8020c2 + cba: 2e ee ldi r18, 0xEE ; 238 + cbc: 32 e0 ldi r19, 0x02 ; 2 + cbe: 42 9f mul r20, r18 + cc0: c0 01 movw r24, r0 + cc2: 43 9f mul r20, r19 + cc4: 90 0d add r25, r0 + cc6: 11 24 eor r1, r1 + cc8: 8f 50 subi r24, 0x0F ; 15 + cca: 98 4d sbci r25, 0xD8 ; 216 + ccc: 80 93 2c 01 sts 0x012C, r24 ; 0x80012c <__TEXT_REGION_LENGTH__+0x70012c> + cd0: 40 91 c2 20 lds r20, 0x20C2 ; 0x8020c2 + cd4: 42 9f mul r20, r18 + cd6: c0 01 movw r24, r0 + cd8: 43 9f mul r20, r19 + cda: 90 0d add r25, r0 + cdc: 11 24 eor r1, r1 + cde: 8f 50 subi r24, 0x0F ; 15 + ce0: 98 4d sbci r25, 0xD8 ; 216 + ce2: 90 93 2d 01 sts 0x012D, r25 ; 0x80012d <__TEXT_REGION_LENGTH__+0x70012d> + ce6: 80 91 20 01 lds r24, 0x0120 ; 0x800120 <__TEXT_REGION_LENGTH__+0x700120> + cea: 80 68 ori r24, 0x80 ; 128 + cec: 80 93 20 01 sts 0x0120, r24 ; 0x800120 <__TEXT_REGION_LENGTH__+0x700120> + cf0: 90 91 c2 20 lds r25, 0x20C2 ; 0x8020c2 + cf4: 81 e0 ldi r24, 0x01 ; 1 + cf6: 91 11 cpse r25, r1 + cf8: 80 e0 ldi r24, 0x00 ; 0 + cfa: 80 93 c2 20 sts 0x20C2, r24 ; 0x8020c2 + cfe: 9f 91 pop r25 + d00: 8f 91 pop r24 + d02: 4f 91 pop r20 + d04: 3f 91 pop r19 + d06: 2f 91 pop r18 + d08: 0f 90 pop r0 + d0a: 0f be out 0x3f, r0 ; 63 d0c: 0f 90 pop r0 - d0e: 0f be out 0x3f, r0 ; 63 - d10: 0f 90 pop r0 - d12: 1f 90 pop r1 - d14: 18 95 reti + d0e: 1f 90 pop r1 + d10: 18 95 reti -00000d16 <__vector_9>: - d16: 1f 92 push r1 +00000d12 <__vector_8>: + d12: 1f 92 push r1 + d14: 0f 92 push r0 + d16: 0f b6 in r0, 0x3f ; 63 d18: 0f 92 push r0 - d1a: 0f b6 in r0, 0x3f ; 63 - d1c: 0f 92 push r0 - d1e: 11 24 eor r1, r1 - d20: 2f 93 push r18 - d22: 3f 93 push r19 - d24: 4f 93 push r20 - d26: 8f 93 push r24 - d28: 9f 93 push r25 - d2a: 87 e7 ldi r24, 0x77 ; 119 - d2c: 91 e0 ldi r25, 0x01 ; 1 - d2e: 80 93 44 01 sts 0x0144, r24 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> - d32: 90 93 45 01 sts 0x0145, r25 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> - d36: 40 91 c2 20 lds r20, 0x20C2 ; 0x8020c2 - d3a: 2e ee ldi r18, 0xEE ; 238 - d3c: 32 e0 ldi r19, 0x02 ; 2 - d3e: 42 9f mul r20, r18 - d40: c0 01 movw r24, r0 - d42: 43 9f mul r20, r19 - d44: 90 0d add r25, r0 - d46: 11 24 eor r1, r1 - d48: 8f 50 subi r24, 0x0F ; 15 - d4a: 98 4d sbci r25, 0xD8 ; 216 - d4c: 80 93 4c 01 sts 0x014C, r24 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> - d50: 40 91 c2 20 lds r20, 0x20C2 ; 0x8020c2 - d54: 42 9f mul r20, r18 - d56: c0 01 movw r24, r0 - d58: 43 9f mul r20, r19 - d5a: 90 0d add r25, r0 - d5c: 11 24 eor r1, r1 - d5e: 8f 50 subi r24, 0x0F ; 15 - d60: 98 4d sbci r25, 0xD8 ; 216 - d62: 90 93 4d 01 sts 0x014D, r25 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> - d66: 80 91 40 01 lds r24, 0x0140 ; 0x800140 <__TEXT_REGION_LENGTH__+0x700140> - d6a: 80 68 ori r24, 0x80 ; 128 - d6c: 80 93 40 01 sts 0x0140, r24 ; 0x800140 <__TEXT_REGION_LENGTH__+0x700140> - d70: 90 91 c2 20 lds r25, 0x20C2 ; 0x8020c2 - d74: 81 e0 ldi r24, 0x01 ; 1 - d76: 91 11 cpse r25, r1 - d78: 80 e0 ldi r24, 0x00 ; 0 - d7a: 80 93 c2 20 sts 0x20C2, r24 ; 0x8020c2 - d7e: 9f 91 pop r25 - d80: 8f 91 pop r24 - d82: 4f 91 pop r20 - d84: 3f 91 pop r19 - d86: 2f 91 pop r18 - d88: 0f 90 pop r0 - d8a: 0f be out 0x3f, r0 ; 63 - d8c: 0f 90 pop r0 - d8e: 1f 90 pop r1 - d90: 18 95 reti + d1a: 11 24 eor r1, r1 + d1c: 2f 93 push r18 + d1e: 3f 93 push r19 + d20: 4f 93 push r20 + d22: 8f 93 push r24 + d24: 9f 93 push r25 + d26: 84 e0 ldi r24, 0x04 ; 4 + d28: 80 93 03 01 sts 0x0103, r24 ; 0x800103 <__TEXT_REGION_LENGTH__+0x700103> + d2c: 87 e7 ldi r24, 0x77 ; 119 + d2e: 91 e0 ldi r25, 0x01 ; 1 + d30: 80 93 34 01 sts 0x0134, r24 ; 0x800134 <__TEXT_REGION_LENGTH__+0x700134> + d34: 90 93 35 01 sts 0x0135, r25 ; 0x800135 <__TEXT_REGION_LENGTH__+0x700135> + d38: 40 91 c2 20 lds r20, 0x20C2 ; 0x8020c2 + d3c: 2e ee ldi r18, 0xEE ; 238 + d3e: 32 e0 ldi r19, 0x02 ; 2 + d40: 42 9f mul r20, r18 + d42: c0 01 movw r24, r0 + d44: 43 9f mul r20, r19 + d46: 90 0d add r25, r0 + d48: 11 24 eor r1, r1 + d4a: 8f 50 subi r24, 0x0F ; 15 + d4c: 98 4d sbci r25, 0xD8 ; 216 + d4e: 80 93 3c 01 sts 0x013C, r24 ; 0x80013c <__TEXT_REGION_LENGTH__+0x70013c> + d52: 40 91 c2 20 lds r20, 0x20C2 ; 0x8020c2 + d56: 42 9f mul r20, r18 + d58: c0 01 movw r24, r0 + d5a: 43 9f mul r20, r19 + d5c: 90 0d add r25, r0 + d5e: 11 24 eor r1, r1 + d60: 8f 50 subi r24, 0x0F ; 15 + d62: 98 4d sbci r25, 0xD8 ; 216 + d64: 90 93 3d 01 sts 0x013D, r25 ; 0x80013d <__TEXT_REGION_LENGTH__+0x70013d> + d68: 80 91 30 01 lds r24, 0x0130 ; 0x800130 <__TEXT_REGION_LENGTH__+0x700130> + d6c: 80 68 ori r24, 0x80 ; 128 + d6e: 80 93 30 01 sts 0x0130, r24 ; 0x800130 <__TEXT_REGION_LENGTH__+0x700130> + d72: 90 91 c2 20 lds r25, 0x20C2 ; 0x8020c2 + d76: 81 e0 ldi r24, 0x01 ; 1 + d78: 91 11 cpse r25, r1 + d7a: 80 e0 ldi r24, 0x00 ; 0 + d7c: 80 93 c2 20 sts 0x20C2, r24 ; 0x8020c2 + d80: 9f 91 pop r25 + d82: 8f 91 pop r24 + d84: 4f 91 pop r20 + d86: 3f 91 pop r19 + d88: 2f 91 pop r18 + d8a: 0f 90 pop r0 + d8c: 0f be out 0x3f, r0 ; 63 + d8e: 0f 90 pop r0 + d90: 1f 90 pop r1 + d92: 18 95 reti -00000d92 : - d92: e0 e7 ldi r30, 0x70 ; 112 - d94: f0 e0 ldi r31, 0x00 ; 0 - d96: 83 81 ldd r24, Z+3 ; 0x03 - d98: 8c 7f andi r24, 0xFC ; 252 - d9a: 83 83 std Z+3, r24 ; 0x03 - d9c: 84 81 ldd r24, Z+4 ; 0x04 - d9e: 8c 7f andi r24, 0xFC ; 252 - da0: 84 83 std Z+4, r24 ; 0x04 - da2: 80 81 ld r24, Z - da4: 8d 7f andi r24, 0xFD ; 253 - da6: 80 83 st Z, r24 - da8: e0 e8 ldi r30, 0x80 ; 128 - daa: f1 e0 ldi r31, 0x01 ; 1 - dac: 80 ec ldi r24, 0xC0 ; 192 - dae: 82 83 std Z+2, r24 ; 0x02 - db0: 12 86 std Z+10, r1 ; 0x0a - db2: 88 ec ldi r24, 0xC8 ; 200 - db4: 81 83 std Z+1, r24 ; 0x01 - db6: 11 86 std Z+9, r1 ; 0x09 - db8: e0 e0 ldi r30, 0x00 ; 0 - dba: f8 e0 ldi r31, 0x08 ; 8 - dbc: 34 e0 ldi r19, 0x04 ; 4 - dbe: 30 83 st Z, r19 - dc0: 23 e0 ldi r18, 0x03 ; 3 - dc2: 21 83 std Z+1, r18 ; 0x01 - dc4: 14 82 std Z+4, r1 ; 0x04 - dc6: 85 ed ldi r24, 0xD5 ; 213 - dc8: 91 e0 ldi r25, 0x01 ; 1 - dca: 86 a3 std Z+38, r24 ; 0x26 - dcc: 97 a3 std Z+39, r25 ; 0x27 - dce: 16 82 std Z+6, r1 ; 0x06 - dd0: e0 e4 ldi r30, 0x40 ; 64 - dd2: f8 e0 ldi r31, 0x08 ; 8 - dd4: 30 83 st Z, r19 - dd6: 21 83 std Z+1, r18 ; 0x01 - dd8: 14 82 std Z+4, r1 ; 0x04 - dda: 86 a3 std Z+38, r24 ; 0x26 - ddc: 97 a3 std Z+39, r25 ; 0x27 - dde: 16 82 std Z+6, r1 ; 0x06 - de0: e0 e6 ldi r30, 0x60 ; 96 - de2: f6 e0 ldi r31, 0x06 ; 6 - de4: 80 81 ld r24, Z - de6: 80 61 ori r24, 0x10 ; 16 - de8: 80 83 st Z, r24 - dea: e0 e4 ldi r30, 0x40 ; 64 - dec: f9 e0 ldi r31, 0x09 ; 9 - dee: 83 e1 ldi r24, 0x13 ; 19 - df0: 81 83 std Z+1, r24 ; 0x01 - df2: 14 82 std Z+4, r1 ; 0x04 - df4: 81 e0 ldi r24, 0x01 ; 1 - df6: 86 83 std Z+6, r24 ; 0x06 - df8: 28 eb ldi r18, 0xB8 ; 184 - dfa: 3b e0 ldi r19, 0x0B ; 11 - dfc: 26 a3 std Z+38, r18 ; 0x26 - dfe: 37 a3 std Z+39, r19 ; 0x27 - e00: 10 a6 std Z+40, r1 ; 0x28 - e02: 11 a6 std Z+41, r1 ; 0x29 - e04: 80 83 st Z, r24 - e06: 08 95 ret +00000d94 <__vector_9>: + d94: 1f 92 push r1 + d96: 0f 92 push r0 + d98: 0f b6 in r0, 0x3f ; 63 + d9a: 0f 92 push r0 + d9c: 11 24 eor r1, r1 + d9e: 2f 93 push r18 + da0: 3f 93 push r19 + da2: 4f 93 push r20 + da4: 8f 93 push r24 + da6: 9f 93 push r25 + da8: 88 e0 ldi r24, 0x08 ; 8 + daa: 80 93 03 01 sts 0x0103, r24 ; 0x800103 <__TEXT_REGION_LENGTH__+0x700103> + dae: 87 e7 ldi r24, 0x77 ; 119 + db0: 91 e0 ldi r25, 0x01 ; 1 + db2: 80 93 44 01 sts 0x0144, r24 ; 0x800144 <__TEXT_REGION_LENGTH__+0x700144> + db6: 90 93 45 01 sts 0x0145, r25 ; 0x800145 <__TEXT_REGION_LENGTH__+0x700145> + dba: 40 91 c2 20 lds r20, 0x20C2 ; 0x8020c2 + dbe: 2e ee ldi r18, 0xEE ; 238 + dc0: 32 e0 ldi r19, 0x02 ; 2 + dc2: 42 9f mul r20, r18 + dc4: c0 01 movw r24, r0 + dc6: 43 9f mul r20, r19 + dc8: 90 0d add r25, r0 + dca: 11 24 eor r1, r1 + dcc: 8f 50 subi r24, 0x0F ; 15 + dce: 98 4d sbci r25, 0xD8 ; 216 + dd0: 80 93 4c 01 sts 0x014C, r24 ; 0x80014c <__TEXT_REGION_LENGTH__+0x70014c> + dd4: 40 91 c2 20 lds r20, 0x20C2 ; 0x8020c2 + dd8: 42 9f mul r20, r18 + dda: c0 01 movw r24, r0 + ddc: 43 9f mul r20, r19 + dde: 90 0d add r25, r0 + de0: 11 24 eor r1, r1 + de2: 8f 50 subi r24, 0x0F ; 15 + de4: 98 4d sbci r25, 0xD8 ; 216 + de6: 90 93 4d 01 sts 0x014D, r25 ; 0x80014d <__TEXT_REGION_LENGTH__+0x70014d> + dea: 80 91 40 01 lds r24, 0x0140 ; 0x800140 <__TEXT_REGION_LENGTH__+0x700140> + dee: 80 68 ori r24, 0x80 ; 128 + df0: 80 93 40 01 sts 0x0140, r24 ; 0x800140 <__TEXT_REGION_LENGTH__+0x700140> + df4: 90 91 c2 20 lds r25, 0x20C2 ; 0x8020c2 + df8: 81 e0 ldi r24, 0x01 ; 1 + dfa: 91 11 cpse r25, r1 + dfc: 80 e0 ldi r24, 0x00 ; 0 + dfe: 80 93 c2 20 sts 0x20C2, r24 ; 0x8020c2 + e02: 9f 91 pop r25 + e04: 8f 91 pop r24 + e06: 4f 91 pop r20 + e08: 3f 91 pop r19 + e0a: 2f 91 pop r18 + e0c: 0f 90 pop r0 + e0e: 0f be out 0x3f, r0 ; 63 + e10: 0f 90 pop r0 + e12: 1f 90 pop r1 + e14: 18 95 reti -00000e08 <__vector_83>: - e08: 1f 92 push r1 - e0a: 0f 92 push r0 - e0c: 0f b6 in r0, 0x3f ; 63 - e0e: 0f 92 push r0 - e10: 11 24 eor r1, r1 - e12: 2f 93 push r18 - e14: 3f 93 push r19 - e16: 4f 93 push r20 - e18: 5f 93 push r21 - e1a: 8f 93 push r24 - e1c: 9f 93 push r25 - e1e: cf 93 push r28 - e20: df 93 push r29 - e22: 1f 92 push r1 - e24: cd b7 in r28, 0x3d ; 61 - e26: de b7 in r29, 0x3e ; 62 - e28: 80 91 00 20 lds r24, 0x2000 ; 0x802000 <__data_start> - e2c: 87 30 cpi r24, 0x07 ; 7 - e2e: 31 f4 brne .+12 ; 0xe3c <__vector_83+0x34> - e30: 80 91 2c 02 lds r24, 0x022C ; 0x80022c <__TEXT_REGION_LENGTH__+0x70022c> - e34: 89 83 std Y+1, r24 ; 0x01 - e36: 90 91 2d 02 lds r25, 0x022D ; 0x80022d <__TEXT_REGION_LENGTH__+0x70022d> - e3a: 02 c0 rjmp .+4 ; 0xe40 <__vector_83+0x38> - e3c: 90 91 2c 02 lds r25, 0x022C ; 0x80022c <__TEXT_REGION_LENGTH__+0x70022c> - e40: 80 91 c0 20 lds r24, 0x20C0 ; 0x8020c0 <__data_end> - e44: 89 1b sub r24, r25 - e46: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - e4a: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> - e4e: 82 30 cpi r24, 0x02 ; 2 - e50: 8c f0 brlt .+34 ; 0xe74 <__vector_83+0x6c> - e52: 22 3b cpi r18, 0xB2 ; 178 - e54: 3b 40 sbci r19, 0x0B ; 11 - e56: 70 f4 brcc .+28 ; 0xe74 <__vector_83+0x6c> - e58: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - e5c: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> - e60: 89 30 cpi r24, 0x09 ; 9 - e62: 1c f4 brge .+6 ; 0xe6a <__vector_83+0x62> - e64: 81 e0 ldi r24, 0x01 ; 1 - e66: 90 e0 ldi r25, 0x00 ; 0 - e68: 02 c0 rjmp .+4 ; 0xe6e <__vector_83+0x66> - e6a: 86 e0 ldi r24, 0x06 ; 6 - e6c: 90 e0 ldi r25, 0x00 ; 0 - e6e: 82 0f add r24, r18 - e70: 93 1f adc r25, r19 - e72: 18 c0 rjmp .+48 ; 0xea4 <__vector_83+0x9c> - e74: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - e78: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> - e7c: 8f 3f cpi r24, 0xFF ; 255 - e7e: b4 f4 brge .+44 ; 0xeac <__vector_83+0xa4> - e80: 27 30 cpi r18, 0x07 ; 7 - e82: 31 05 cpc r19, r1 - e84: 98 f0 brcs .+38 ; 0xeac <__vector_83+0xa4> - e86: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - e8a: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> - e8e: 88 3f cpi r24, 0xF8 ; 248 - e90: 1c f0 brlt .+6 ; 0xe98 <__vector_83+0x90> - e92: 81 e0 ldi r24, 0x01 ; 1 - e94: 90 e0 ldi r25, 0x00 ; 0 - e96: 02 c0 rjmp .+4 ; 0xe9c <__vector_83+0x94> - e98: 86 e0 ldi r24, 0x06 ; 6 - e9a: 90 e0 ldi r25, 0x00 ; 0 - e9c: a9 01 movw r20, r18 - e9e: 48 1b sub r20, r24 - ea0: 59 0b sbc r21, r25 - ea2: ca 01 movw r24, r20 - ea4: 80 93 78 09 sts 0x0978, r24 ; 0x800978 <__TEXT_REGION_LENGTH__+0x700978> - ea8: 90 93 79 09 sts 0x0979, r25 ; 0x800979 <__TEXT_REGION_LENGTH__+0x700979> - eac: 0f 90 pop r0 - eae: df 91 pop r29 - eb0: cf 91 pop r28 - eb2: 9f 91 pop r25 - eb4: 8f 91 pop r24 - eb6: 5f 91 pop r21 - eb8: 4f 91 pop r20 - eba: 3f 91 pop r19 - ebc: 2f 91 pop r18 - ebe: 0f 90 pop r0 - ec0: 0f be out 0x3f, r0 ; 63 - ec2: 0f 90 pop r0 - ec4: 1f 90 pop r1 - ec6: 18 95 reti +00000e16 : + e16: e0 e7 ldi r30, 0x70 ; 112 + e18: f0 e0 ldi r31, 0x00 ; 0 + e1a: 83 81 ldd r24, Z+3 ; 0x03 + e1c: 8c 7f andi r24, 0xFC ; 252 + e1e: 83 83 std Z+3, r24 ; 0x03 + e20: 84 81 ldd r24, Z+4 ; 0x04 + e22: 8c 7f andi r24, 0xFC ; 252 + e24: 84 83 std Z+4, r24 ; 0x04 + e26: 80 81 ld r24, Z + e28: 8d 7f andi r24, 0xFD ; 253 + e2a: 80 83 st Z, r24 + e2c: e0 e8 ldi r30, 0x80 ; 128 + e2e: f1 e0 ldi r31, 0x01 ; 1 + e30: 80 ec ldi r24, 0xC0 ; 192 + e32: 82 83 std Z+2, r24 ; 0x02 + e34: 12 86 std Z+10, r1 ; 0x0a + e36: 88 ec ldi r24, 0xC8 ; 200 + e38: 81 83 std Z+1, r24 ; 0x01 + e3a: 11 86 std Z+9, r1 ; 0x09 + e3c: a0 e0 ldi r26, 0x00 ; 0 + e3e: b8 e0 ldi r27, 0x08 ; 8 + e40: 34 e0 ldi r19, 0x04 ; 4 + e42: 3c 93 st X, r19 + e44: 23 e0 ldi r18, 0x03 ; 3 + e46: 11 96 adiw r26, 0x01 ; 1 + e48: 2c 93 st X, r18 + e4a: 11 97 sbiw r26, 0x01 ; 1 + e4c: 14 96 adiw r26, 0x04 ; 4 + e4e: 1c 92 st X, r1 + e50: 14 97 sbiw r26, 0x04 ; 4 + e52: 85 ed ldi r24, 0xD5 ; 213 + e54: 91 e0 ldi r25, 0x01 ; 1 + e56: 96 96 adiw r26, 0x26 ; 38 + e58: 8d 93 st X+, r24 + e5a: 9c 93 st X, r25 + e5c: 97 97 sbiw r26, 0x27 ; 39 + e5e: 16 96 adiw r26, 0x06 ; 6 + e60: 1c 92 st X, r1 + e62: 16 97 sbiw r26, 0x06 ; 6 + e64: e0 e4 ldi r30, 0x40 ; 64 + e66: f8 e0 ldi r31, 0x08 ; 8 + e68: 30 83 st Z, r19 + e6a: 21 83 std Z+1, r18 ; 0x01 + e6c: 14 82 std Z+4, r1 ; 0x04 + e6e: 86 a3 std Z+38, r24 ; 0x26 + e70: 97 a3 std Z+39, r25 ; 0x27 + e72: 16 82 std Z+6, r1 ; 0x06 + e74: e0 e6 ldi r30, 0x60 ; 96 + e76: f6 e0 ldi r31, 0x06 ; 6 + e78: 80 81 ld r24, Z + e7a: 80 61 ori r24, 0x10 ; 16 + e7c: 80 83 st Z, r24 + e7e: e0 e4 ldi r30, 0x40 ; 64 + e80: f9 e0 ldi r31, 0x09 ; 9 + e82: 83 e1 ldi r24, 0x13 ; 19 + e84: 81 83 std Z+1, r24 ; 0x01 + e86: 14 82 std Z+4, r1 ; 0x04 + e88: 82 e0 ldi r24, 0x02 ; 2 + e8a: 86 83 std Z+6, r24 ; 0x06 + e8c: a6 a3 std Z+38, r26 ; 0x26 + e8e: b7 a3 std Z+39, r27 ; 0x27 + e90: 10 a6 std Z+40, r1 ; 0x28 + e92: 11 a6 std Z+41, r1 ; 0x29 + e94: 81 e0 ldi r24, 0x01 ; 1 + e96: 80 83 st Z, r24 + e98: 08 95 ret -00000ec8 : - ec8: e0 e7 ldi r30, 0x70 ; 112 - eca: f0 e0 ldi r31, 0x00 ; 0 - ecc: 83 81 ldd r24, Z+3 ; 0x03 - ece: 8f 7e andi r24, 0xEF ; 239 - ed0: 83 83 std Z+3, r24 ; 0x03 - ed2: e0 e4 ldi r30, 0x40 ; 64 - ed4: f6 e0 ldi r31, 0x06 ; 6 - ed6: 80 81 ld r24, Z - ed8: 8a 64 ori r24, 0x4A ; 74 - eda: 80 83 st Z, r24 - edc: 8f ef ldi r24, 0xFF ; 255 - ede: 84 83 std Z+4, r24 ; 0x04 - ee0: 88 e5 ldi r24, 0x58 ; 88 - ee2: 82 8b std Z+18, r24 ; 0x12 - ee4: 80 e2 ldi r24, 0x20 ; 32 - ee6: 86 87 std Z+14, r24 ; 0x0e - ee8: e0 ea ldi r30, 0xA0 ; 160 - eea: f8 e0 ldi r31, 0x08 ; 8 - eec: 84 ec ldi r24, 0xC4 ; 196 - eee: 85 83 std Z+5, r24 ; 0x05 - ef0: 83 e0 ldi r24, 0x03 ; 3 - ef2: 86 83 std Z+6, r24 ; 0x06 - ef4: 17 82 std Z+7, r1 ; 0x07 - ef6: 88 e1 ldi r24, 0x18 ; 24 - ef8: 84 83 std Z+4, r24 ; 0x04 - efa: 08 95 ret +00000e9a <__vector_83>: + e9a: 1f 92 push r1 + e9c: 0f 92 push r0 + e9e: 0f b6 in r0, 0x3f ; 63 + ea0: 0f 92 push r0 + ea2: 11 24 eor r1, r1 + ea4: 2f 93 push r18 + ea6: 3f 93 push r19 + ea8: 4f 93 push r20 + eaa: 5f 93 push r21 + eac: 8f 93 push r24 + eae: 9f 93 push r25 + eb0: cf 93 push r28 + eb2: df 93 push r29 + eb4: 1f 92 push r1 + eb6: cd b7 in r28, 0x3d ; 61 + eb8: de b7 in r29, 0x3e ; 62 + eba: 8f ef ldi r24, 0xFF ; 255 + ebc: 80 93 4c 09 sts 0x094C, r24 ; 0x80094c <__TEXT_REGION_LENGTH__+0x70094c> + ec0: 80 91 00 20 lds r24, 0x2000 ; 0x802000 <__data_start> + ec4: 87 30 cpi r24, 0x07 ; 7 + ec6: 31 f4 brne .+12 ; 0xed4 <__vector_83+0x3a> + ec8: 80 91 2c 02 lds r24, 0x022C ; 0x80022c <__TEXT_REGION_LENGTH__+0x70022c> + ecc: 89 83 std Y+1, r24 ; 0x01 + ece: 90 91 2d 02 lds r25, 0x022D ; 0x80022d <__TEXT_REGION_LENGTH__+0x70022d> + ed2: 02 c0 rjmp .+4 ; 0xed8 <__vector_83+0x3e> + ed4: 90 91 2c 02 lds r25, 0x022C ; 0x80022c <__TEXT_REGION_LENGTH__+0x70022c> + ed8: 80 91 c0 20 lds r24, 0x20C0 ; 0x8020c0 <__data_end> + edc: 89 1b sub r24, r25 + ede: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + ee2: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + ee6: 82 30 cpi r24, 0x02 ; 2 + ee8: 8c f0 brlt .+34 ; 0xf0c <__vector_83+0x72> + eea: 2a 3f cpi r18, 0xFA ; 250 + eec: 37 40 sbci r19, 0x07 ; 7 + eee: 70 f4 brcc .+28 ; 0xf0c <__vector_83+0x72> + ef0: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + ef4: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + ef8: 89 30 cpi r24, 0x09 ; 9 + efa: 1c f4 brge .+6 ; 0xf02 <__vector_83+0x68> + efc: 81 e0 ldi r24, 0x01 ; 1 + efe: 90 e0 ldi r25, 0x00 ; 0 + f00: 02 c0 rjmp .+4 ; 0xf06 <__vector_83+0x6c> + f02: 86 e0 ldi r24, 0x06 ; 6 + f04: 90 e0 ldi r25, 0x00 ; 0 + f06: 82 0f add r24, r18 + f08: 93 1f adc r25, r19 + f0a: 18 c0 rjmp .+48 ; 0xf3c <__vector_83+0xa2> + f0c: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + f10: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + f14: 8f 3f cpi r24, 0xFF ; 255 + f16: b4 f4 brge .+44 ; 0xf44 <__vector_83+0xaa> + f18: 27 30 cpi r18, 0x07 ; 7 + f1a: 31 05 cpc r19, r1 + f1c: 98 f0 brcs .+38 ; 0xf44 <__vector_83+0xaa> + f1e: 20 91 68 09 lds r18, 0x0968 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + f22: 30 91 69 09 lds r19, 0x0969 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + f26: 88 3f cpi r24, 0xF8 ; 248 + f28: 1c f0 brlt .+6 ; 0xf30 <__vector_83+0x96> + f2a: 81 e0 ldi r24, 0x01 ; 1 + f2c: 90 e0 ldi r25, 0x00 ; 0 + f2e: 02 c0 rjmp .+4 ; 0xf34 <__vector_83+0x9a> + f30: 86 e0 ldi r24, 0x06 ; 6 + f32: 90 e0 ldi r25, 0x00 ; 0 + f34: a9 01 movw r20, r18 + f36: 48 1b sub r20, r24 + f38: 59 0b sbc r21, r25 + f3a: ca 01 movw r24, r20 + f3c: 80 93 78 09 sts 0x0978, r24 ; 0x800978 <__TEXT_REGION_LENGTH__+0x700978> + f40: 90 93 79 09 sts 0x0979, r25 ; 0x800979 <__TEXT_REGION_LENGTH__+0x700979> + f44: 0f 90 pop r0 + f46: df 91 pop r29 + f48: cf 91 pop r28 + f4a: 9f 91 pop r25 + f4c: 8f 91 pop r24 + f4e: 5f 91 pop r21 + f50: 4f 91 pop r20 + f52: 3f 91 pop r19 + f54: 2f 91 pop r18 + f56: 0f 90 pop r0 + f58: 0f be out 0x3f, r0 ; 63 + f5a: 0f 90 pop r0 + f5c: 1f 90 pop r1 + f5e: 18 95 reti -00000efc : - efc: e0 e7 ldi r30, 0x70 ; 112 - efe: f0 e0 ldi r31, 0x00 ; 0 - f00: 83 81 ldd r24, Z+3 ; 0x03 - f02: 87 7f andi r24, 0xF7 ; 247 - f04: 83 83 std Z+3, r24 ; 0x03 - f06: e0 ec ldi r30, 0xC0 ; 192 - f08: f8 e0 ldi r31, 0x08 ; 8 - f0a: 80 e4 ldi r24, 0x40 ; 64 - f0c: 80 83 st Z, r24 - f0e: 83 e0 ldi r24, 0x03 ; 3 - f10: 81 83 std Z+1, r24 ; 0x01 - f12: 88 e5 ldi r24, 0x58 ; 88 - f14: 80 93 57 06 sts 0x0657, r24 ; 0x800657 <__TEXT_REGION_LENGTH__+0x700657> - f18: 08 95 ret - -00000f1a <__vector_24>: - f1a: 1f 92 push r1 - f1c: 0f 92 push r0 - f1e: 0f b6 in r0, 0x3f ; 63 - f20: 0f 92 push r0 - f22: 11 24 eor r1, r1 - f24: 00 00 nop - f26: 0f 90 pop r0 - f28: 0f be out 0x3f, r0 ; 63 - f2a: 0f 90 pop r0 - f2c: 1f 90 pop r1 - f2e: 18 95 reti - -00000f30 : - f30: 9f b7 in r25, 0x3f ; 63 - f32: f8 94 cli - f34: a0 e5 ldi r26, 0x50 ; 80 - f36: b0 e0 ldi r27, 0x00 ; 0 - f38: 16 96 adiw r26, 0x06 ; 6 - f3a: 8c 91 ld r24, X - f3c: 16 97 sbiw r26, 0x06 ; 6 - f3e: 89 7f andi r24, 0xF9 ; 249 - f40: 16 96 adiw r26, 0x06 ; 6 - f42: 8c 93 st X, r24 - f44: 16 97 sbiw r26, 0x06 ; 6 - f46: e0 e6 ldi r30, 0x60 ; 96 - f48: f0 e0 ldi r31, 0x00 ; 0 - f4a: 80 e8 ldi r24, 0x80 ; 128 - f4c: 85 83 std Z+5, r24 ; 0x05 - f4e: 8b eb ldi r24, 0xBB ; 187 - f50: 86 83 std Z+6, r24 ; 0x06 - f52: 16 96 adiw r26, 0x06 ; 6 - f54: 8c 91 ld r24, X - f56: 16 97 sbiw r26, 0x06 ; 6 - f58: 84 60 ori r24, 0x04 ; 4 - f5a: 16 96 adiw r26, 0x06 ; 6 - f5c: 8c 93 st X, r24 - f5e: 80 81 ld r24, Z - f60: 81 60 ori r24, 0x01 ; 1 - f62: 80 83 st Z, r24 - f64: 9f bf out 0x3f, r25 ; 63 - f66: 08 95 ret - -00000f68 : - f68: cf 93 push r28 - f6a: df 93 push r29 - f6c: 00 d0 rcall .+0 ; 0xf6e - f6e: 00 d0 rcall .+0 ; 0xf70 - f70: cd b7 in r28, 0x3d ; 61 - f72: de b7 in r29, 0x3e ; 62 +00000f60 : + f60: e0 e7 ldi r30, 0x70 ; 112 + f62: f0 e0 ldi r31, 0x00 ; 0 + f64: 83 81 ldd r24, Z+3 ; 0x03 + f66: 8f 7e andi r24, 0xEF ; 239 + f68: 83 83 std Z+3, r24 ; 0x03 + f6a: e0 e4 ldi r30, 0x40 ; 64 + f6c: f6 e0 ldi r31, 0x06 ; 6 + f6e: 80 81 ld r24, Z + f70: 8a 6a ori r24, 0xAA ; 170 + f72: 80 83 st Z, r24 f74: 8f ef ldi r24, 0xFF ; 255 - f76: 80 93 70 00 sts 0x0070, r24 ; 0x800070 <__TEXT_REGION_LENGTH__+0x700070> - f7a: 80 93 71 00 sts 0x0071, r24 ; 0x800071 <__TEXT_REGION_LENGTH__+0x700071> - f7e: 80 93 72 00 sts 0x0072, r24 ; 0x800072 <__TEXT_REGION_LENGTH__+0x700072> - f82: 80 93 73 00 sts 0x0073, r24 ; 0x800073 <__TEXT_REGION_LENGTH__+0x700073> - f86: 80 93 74 00 sts 0x0074, r24 ; 0x800074 <__TEXT_REGION_LENGTH__+0x700074> - f8a: 80 93 75 00 sts 0x0075, r24 ; 0x800075 <__TEXT_REGION_LENGTH__+0x700075> - f8e: 80 93 76 00 sts 0x0076, r24 ; 0x800076 <__TEXT_REGION_LENGTH__+0x700076> - f92: 64 e0 ldi r22, 0x04 ; 4 - f94: 81 e4 ldi r24, 0x41 ; 65 - f96: 90 e0 ldi r25, 0x00 ; 0 - f98: 0d d5 rcall .+2586 ; 0x19b4 - f9a: 6c e1 ldi r22, 0x1C ; 28 - f9c: 70 e0 ldi r23, 0x00 ; 0 - f9e: 82 e0 ldi r24, 0x02 ; 2 - fa0: 0f d5 rcall .+2590 ; 0x19c0 - fa2: 8c 83 std Y+4, r24 ; 0x04 - fa4: 6d e1 ldi r22, 0x1D ; 29 - fa6: 70 e0 ldi r23, 0x00 ; 0 - fa8: 82 e0 ldi r24, 0x02 ; 2 - faa: 0a d5 rcall .+2580 ; 0x19c0 - fac: 8b 83 std Y+3, r24 ; 0x03 - fae: 8b 81 ldd r24, Y+3 ; 0x03 - fb0: 9c 81 ldd r25, Y+4 ; 0x04 - fb2: 01 96 adiw r24, 0x01 ; 1 - fb4: 21 f4 brne .+8 ; 0xfbe - fb6: 80 e4 ldi r24, 0x40 ; 64 - fb8: 93 e2 ldi r25, 0x23 ; 35 - fba: 8b 83 std Y+3, r24 ; 0x03 - fbc: 9c 83 std Y+4, r25 ; 0x04 - fbe: 8b 81 ldd r24, Y+3 ; 0x03 - fc0: 9c 81 ldd r25, Y+4 ; 0x04 - fc2: 89 83 std Y+1, r24 ; 0x01 - fc4: 9a 83 std Y+2, r25 ; 0x02 - fc6: 80 93 62 00 sts 0x0062, r24 ; 0x800062 <__TEXT_REGION_LENGTH__+0x700062> - fca: 8a 81 ldd r24, Y+2 ; 0x02 - fcc: 80 93 63 00 sts 0x0063, r24 ; 0x800063 <__TEXT_REGION_LENGTH__+0x700063> - fd0: 9f b7 in r25, 0x3f ; 63 - fd2: f8 94 cli - fd4: 80 91 50 00 lds r24, 0x0050 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> - fd8: 82 60 ori r24, 0x02 ; 2 - fda: 80 93 50 00 sts 0x0050, r24 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> - fde: 9f bf out 0x3f, r25 ; 63 - fe0: 80 91 51 00 lds r24, 0x0051 ; 0x800051 <__TEXT_REGION_LENGTH__+0x700051> - fe4: 81 ff sbrs r24, 1 - fe6: fc cf rjmp .-8 ; 0xfe0 - fe8: a3 df rcall .-186 ; 0xf30 - fea: 61 e0 ldi r22, 0x01 ; 1 - fec: 80 e4 ldi r24, 0x40 ; 64 - fee: 90 e0 ldi r25, 0x00 ; 0 - ff0: e1 d4 rcall .+2498 ; 0x19b4 - ff2: 9f b7 in r25, 0x3f ; 63 - ff4: f8 94 cli - ff6: 80 91 50 00 lds r24, 0x0050 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> - ffa: 8e 7f andi r24, 0xFE ; 254 - ffc: 80 93 50 00 sts 0x0050, r24 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> - 1000: 9f bf out 0x3f, r25 ; 63 - 1002: 24 96 adiw r28, 0x04 ; 4 - 1004: cd bf out 0x3d, r28 ; 61 - 1006: de bf out 0x3e, r29 ; 62 - 1008: df 91 pop r29 - 100a: cf 91 pop r28 - 100c: 08 95 ret + f76: 84 83 std Z+4, r24 ; 0x04 + f78: 88 e5 ldi r24, 0x58 ; 88 + f7a: 82 8b std Z+18, r24 ; 0x12 + f7c: e0 ea ldi r30, 0xA0 ; 160 + f7e: f8 e0 ldi r31, 0x08 ; 8 + f80: 84 ec ldi r24, 0xC4 ; 196 + f82: 85 83 std Z+5, r24 ; 0x05 + f84: 83 e0 ldi r24, 0x03 ; 3 + f86: 86 83 std Z+6, r24 ; 0x06 + f88: 17 82 std Z+7, r1 ; 0x07 + f8a: 88 e1 ldi r24, 0x18 ; 24 + f8c: 84 83 std Z+4, r24 ; 0x04 + f8e: 08 95 ret -0000100e : - 100e: 9f b7 in r25, 0x3f ; 63 - 1010: f8 94 cli - 1012: e8 2f mov r30, r24 - 1014: f0 e0 ldi r31, 0x00 ; 0 - 1016: e0 59 subi r30, 0x90 ; 144 - 1018: ff 4f sbci r31, 0xFF ; 255 - 101a: 60 95 com r22 - 101c: 80 81 ld r24, Z - 101e: 68 23 and r22, r24 - 1020: 60 83 st Z, r22 - 1022: 9f bf out 0x3f, r25 ; 63 - 1024: 08 95 ret +00000f90 : + f90: e0 e7 ldi r30, 0x70 ; 112 + f92: f0 e0 ldi r31, 0x00 ; 0 + f94: 83 81 ldd r24, Z+3 ; 0x03 + f96: 87 7f andi r24, 0xF7 ; 247 + f98: 83 83 std Z+3, r24 ; 0x03 + f9a: e0 ec ldi r30, 0xC0 ; 192 + f9c: f8 e0 ldi r31, 0x08 ; 8 + f9e: 80 e4 ldi r24, 0x40 ; 64 + fa0: 80 83 st Z, r24 + fa2: 11 82 std Z+1, r1 ; 0x01 + fa4: 88 e5 ldi r24, 0x58 ; 88 + fa6: 80 93 55 06 sts 0x0655, r24 ; 0x800655 <__TEXT_REGION_LENGTH__+0x700655> + faa: 08 95 ret -00001026 : - 1026: cf 93 push r28 - 1028: 86 30 cpi r24, 0x06 ; 6 - 102a: 11 f0 breq .+4 ; 0x1030 - 102c: c0 e0 ldi r28, 0x00 ; 0 - 102e: 01 c0 rjmp .+2 ; 0x1032 - 1030: c8 e1 ldi r28, 0x18 ; 24 - 1032: 80 91 51 00 lds r24, 0x0051 ; 0x800051 <__TEXT_REGION_LENGTH__+0x700051> - 1036: 81 fd sbrc r24, 1 - 1038: 0d c0 rjmp .+26 ; 0x1054 - 103a: 9f b7 in r25, 0x3f ; 63 - 103c: f8 94 cli - 103e: 80 91 50 00 lds r24, 0x0050 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> - 1042: 82 60 ori r24, 0x02 ; 2 - 1044: 80 93 50 00 sts 0x0050, r24 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> - 1048: 9f bf out 0x3f, r25 ; 63 - 104a: 80 91 51 00 lds r24, 0x0051 ; 0x800051 <__TEXT_REGION_LENGTH__+0x700051> - 104e: 81 ff sbrs r24, 1 - 1050: fc cf rjmp .-8 ; 0x104a - 1052: 6e df rcall .-292 ; 0xf30 - 1054: 6c 2f mov r22, r28 - 1056: 63 60 ori r22, 0x03 ; 3 - 1058: 84 e4 ldi r24, 0x44 ; 68 - 105a: 90 e0 ldi r25, 0x00 ; 0 - 105c: ab d4 rcall .+2390 ; 0x19b4 - 105e: 60 e4 ldi r22, 0x40 ; 64 - 1060: 80 e0 ldi r24, 0x00 ; 0 - 1062: cf 91 pop r28 - 1064: d4 cf rjmp .-88 ; 0x100e +00000fac <__vector_24>: + fac: 1f 92 push r1 + fae: 0f 92 push r0 + fb0: 0f b6 in r0, 0x3f ; 63 + fb2: 0f 92 push r0 + fb4: 11 24 eor r1, r1 + fb6: 00 00 nop + fb8: 0f 90 pop r0 + fba: 0f be out 0x3f, r0 ; 63 + fbc: 0f 90 pop r0 + fbe: 1f 90 pop r1 + fc0: 18 95 reti -00001066 : - 1066: 80 91 c5 20 lds r24, 0x20C5 ; 0x8020c5 - 106a: 08 95 ret +00000fc2 : + fc2: 9f b7 in r25, 0x3f ; 63 + fc4: f8 94 cli + fc6: a0 e5 ldi r26, 0x50 ; 80 + fc8: b0 e0 ldi r27, 0x00 ; 0 + fca: 16 96 adiw r26, 0x06 ; 6 + fcc: 8c 91 ld r24, X + fce: 16 97 sbiw r26, 0x06 ; 6 + fd0: 89 7f andi r24, 0xF9 ; 249 + fd2: 16 96 adiw r26, 0x06 ; 6 + fd4: 8c 93 st X, r24 + fd6: 16 97 sbiw r26, 0x06 ; 6 + fd8: e0 e6 ldi r30, 0x60 ; 96 + fda: f0 e0 ldi r31, 0x00 ; 0 + fdc: 80 e8 ldi r24, 0x80 ; 128 + fde: 85 83 std Z+5, r24 ; 0x05 + fe0: 8b eb ldi r24, 0xBB ; 187 + fe2: 86 83 std Z+6, r24 ; 0x06 + fe4: 16 96 adiw r26, 0x06 ; 6 + fe6: 8c 91 ld r24, X + fe8: 16 97 sbiw r26, 0x06 ; 6 + fea: 84 60 ori r24, 0x04 ; 4 + fec: 16 96 adiw r26, 0x06 ; 6 + fee: 8c 93 st X, r24 + ff0: 80 81 ld r24, Z + ff2: 81 60 ori r24, 0x01 ; 1 + ff4: 80 83 st Z, r24 + ff6: 9f bf out 0x3f, r25 ; 63 + ff8: 08 95 ret -0000106c : - 106c: 80 91 c5 20 lds r24, 0x20C5 ; 0x8020c5 - 1070: 81 30 cpi r24, 0x01 ; 1 - 1072: 09 f4 brne .+2 ; 0x1076 - 1074: 89 c9 rjmp .-3310 ; 0x388 - 1076: 08 95 ret +00000ffa : + ffa: cf 93 push r28 + ffc: df 93 push r29 + ffe: 00 d0 rcall .+0 ; 0x1000 + 1000: 00 d0 rcall .+0 ; 0x1002 + 1002: cd b7 in r28, 0x3d ; 61 + 1004: de b7 in r29, 0x3e ; 62 + 1006: 8f ef ldi r24, 0xFF ; 255 + 1008: 80 93 70 00 sts 0x0070, r24 ; 0x800070 <__TEXT_REGION_LENGTH__+0x700070> + 100c: 80 93 71 00 sts 0x0071, r24 ; 0x800071 <__TEXT_REGION_LENGTH__+0x700071> + 1010: 80 93 72 00 sts 0x0072, r24 ; 0x800072 <__TEXT_REGION_LENGTH__+0x700072> + 1014: 80 93 73 00 sts 0x0073, r24 ; 0x800073 <__TEXT_REGION_LENGTH__+0x700073> + 1018: 80 93 74 00 sts 0x0074, r24 ; 0x800074 <__TEXT_REGION_LENGTH__+0x700074> + 101c: 80 93 75 00 sts 0x0075, r24 ; 0x800075 <__TEXT_REGION_LENGTH__+0x700075> + 1020: 80 93 76 00 sts 0x0076, r24 ; 0x800076 <__TEXT_REGION_LENGTH__+0x700076> + 1024: 64 e0 ldi r22, 0x04 ; 4 + 1026: 81 e4 ldi r24, 0x41 ; 65 + 1028: 90 e0 ldi r25, 0x00 ; 0 + 102a: 0e d5 rcall .+2588 ; 0x1a48 + 102c: 6c e1 ldi r22, 0x1C ; 28 + 102e: 70 e0 ldi r23, 0x00 ; 0 + 1030: 82 e0 ldi r24, 0x02 ; 2 + 1032: 10 d5 rcall .+2592 ; 0x1a54 + 1034: 8c 83 std Y+4, r24 ; 0x04 + 1036: 6d e1 ldi r22, 0x1D ; 29 + 1038: 70 e0 ldi r23, 0x00 ; 0 + 103a: 82 e0 ldi r24, 0x02 ; 2 + 103c: 0b d5 rcall .+2582 ; 0x1a54 + 103e: 8b 83 std Y+3, r24 ; 0x03 + 1040: 8b 81 ldd r24, Y+3 ; 0x03 + 1042: 9c 81 ldd r25, Y+4 ; 0x04 + 1044: 01 96 adiw r24, 0x01 ; 1 + 1046: 21 f4 brne .+8 ; 0x1050 + 1048: 80 e4 ldi r24, 0x40 ; 64 + 104a: 93 e2 ldi r25, 0x23 ; 35 + 104c: 8b 83 std Y+3, r24 ; 0x03 + 104e: 9c 83 std Y+4, r25 ; 0x04 + 1050: 8b 81 ldd r24, Y+3 ; 0x03 + 1052: 9c 81 ldd r25, Y+4 ; 0x04 + 1054: 89 83 std Y+1, r24 ; 0x01 + 1056: 9a 83 std Y+2, r25 ; 0x02 + 1058: 80 93 62 00 sts 0x0062, r24 ; 0x800062 <__TEXT_REGION_LENGTH__+0x700062> + 105c: 8a 81 ldd r24, Y+2 ; 0x02 + 105e: 80 93 63 00 sts 0x0063, r24 ; 0x800063 <__TEXT_REGION_LENGTH__+0x700063> + 1062: 9f b7 in r25, 0x3f ; 63 + 1064: f8 94 cli + 1066: 80 91 50 00 lds r24, 0x0050 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> + 106a: 82 60 ori r24, 0x02 ; 2 + 106c: 80 93 50 00 sts 0x0050, r24 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> + 1070: 9f bf out 0x3f, r25 ; 63 + 1072: 80 91 51 00 lds r24, 0x0051 ; 0x800051 <__TEXT_REGION_LENGTH__+0x700051> + 1076: 81 ff sbrs r24, 1 + 1078: fc cf rjmp .-8 ; 0x1072 + 107a: a3 df rcall .-186 ; 0xfc2 + 107c: 61 e0 ldi r22, 0x01 ; 1 + 107e: 80 e4 ldi r24, 0x40 ; 64 + 1080: 90 e0 ldi r25, 0x00 ; 0 + 1082: e2 d4 rcall .+2500 ; 0x1a48 + 1084: 9f b7 in r25, 0x3f ; 63 + 1086: f8 94 cli + 1088: 80 91 50 00 lds r24, 0x0050 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> + 108c: 8e 7f andi r24, 0xFE ; 254 + 108e: 80 93 50 00 sts 0x0050, r24 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> + 1092: 9f bf out 0x3f, r25 ; 63 + 1094: 24 96 adiw r28, 0x04 ; 4 + 1096: cd bf out 0x3d, r28 ; 61 + 1098: de bf out 0x3e, r29 ; 62 + 109a: df 91 pop r29 + 109c: cf 91 pop r28 + 109e: 08 95 ret -00001078 : - 1078: 13 d1 rcall .+550 ; 0x12a0 - 107a: fc 01 movw r30, r24 - 107c: 83 81 ldd r24, Z+3 ; 0x03 - 107e: 80 93 c5 20 sts 0x20C5, r24 ; 0x8020c5 - 1082: 81 11 cpse r24, r1 - 1084: 01 c0 rjmp .+2 ; 0x1088 - 1086: 66 c9 rjmp .-3380 ; 0x354 - 1088: 81 e0 ldi r24, 0x01 ; 1 - 108a: 08 95 ret +000010a0 : + 10a0: 9f b7 in r25, 0x3f ; 63 + 10a2: f8 94 cli + 10a4: e8 2f mov r30, r24 + 10a6: f0 e0 ldi r31, 0x00 ; 0 + 10a8: e0 59 subi r30, 0x90 ; 144 + 10aa: ff 4f sbci r31, 0xFF ; 255 + 10ac: 60 95 com r22 + 10ae: 80 81 ld r24, Z + 10b0: 68 23 and r22, r24 + 10b2: 60 83 st Z, r22 + 10b4: 9f bf out 0x3f, r25 ; 63 + 10b6: 08 95 ret -0000108c : - 108c: 90 91 6a 24 lds r25, 0x246A ; 0x80246a - 1090: 89 2f mov r24, r25 - 1092: 80 76 andi r24, 0x60 ; 96 - 1094: 97 ff sbrs r25, 7 - 1096: 07 c0 rjmp .+14 ; 0x10a6 - 1098: 80 34 cpi r24, 0x40 ; 64 - 109a: 91 f4 brne .+36 ; 0x10c0 - 109c: 80 91 6b 24 lds r24, 0x246B ; 0x80246b - 10a0: 81 11 cpse r24, r1 - 10a2: 0e c0 rjmp .+28 ; 0x10c0 - 10a4: 76 c9 rjmp .-3348 ; 0x392 - 10a6: 80 34 cpi r24, 0x40 ; 64 - 10a8: 59 f4 brne .+22 ; 0x10c0 - 10aa: 80 91 6b 24 lds r24, 0x246B ; 0x80246b - 10ae: 81 11 cpse r24, r1 - 10b0: 07 c0 rjmp .+14 ; 0x10c0 - 10b2: 80 91 70 24 lds r24, 0x2470 ; 0x802470 - 10b6: 90 91 71 24 lds r25, 0x2471 ; 0x802471 - 10ba: 89 2b or r24, r25 - 10bc: 09 f0 breq .+2 ; 0x10c0 - 10be: 67 c9 rjmp .-3378 ; 0x38e - 10c0: 80 e0 ldi r24, 0x00 ; 0 - 10c2: 08 95 ret +000010b8 : + 10b8: cf 93 push r28 + 10ba: 86 30 cpi r24, 0x06 ; 6 + 10bc: 11 f0 breq .+4 ; 0x10c2 + 10be: c0 e0 ldi r28, 0x00 ; 0 + 10c0: 01 c0 rjmp .+2 ; 0x10c4 + 10c2: c8 e1 ldi r28, 0x18 ; 24 + 10c4: 80 91 51 00 lds r24, 0x0051 ; 0x800051 <__TEXT_REGION_LENGTH__+0x700051> + 10c8: 81 fd sbrc r24, 1 + 10ca: 0d c0 rjmp .+26 ; 0x10e6 + 10cc: 9f b7 in r25, 0x3f ; 63 + 10ce: f8 94 cli + 10d0: 80 91 50 00 lds r24, 0x0050 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> + 10d4: 82 60 ori r24, 0x02 ; 2 + 10d6: 80 93 50 00 sts 0x0050, r24 ; 0x800050 <__TEXT_REGION_LENGTH__+0x700050> + 10da: 9f bf out 0x3f, r25 ; 63 + 10dc: 80 91 51 00 lds r24, 0x0051 ; 0x800051 <__TEXT_REGION_LENGTH__+0x700051> + 10e0: 81 ff sbrs r24, 1 + 10e2: fc cf rjmp .-8 ; 0x10dc + 10e4: 6e df rcall .-292 ; 0xfc2 + 10e6: 6c 2f mov r22, r28 + 10e8: 63 60 ori r22, 0x03 ; 3 + 10ea: 84 e4 ldi r24, 0x44 ; 68 + 10ec: 90 e0 ldi r25, 0x00 ; 0 + 10ee: ac d4 rcall .+2392 ; 0x1a48 + 10f0: 60 e4 ldi r22, 0x40 ; 64 + 10f2: 80 e0 ldi r24, 0x00 ; 0 + 10f4: cf 91 pop r28 + 10f6: d4 cf rjmp .-88 ; 0x10a0 -000010c4 : - 10c4: 0f 93 push r16 - 10c6: 1f 93 push r17 - 10c8: 9b 01 movw r18, r22 - 10ca: 8a 01 movw r16, r20 - 10cc: ac 01 movw r20, r24 - 10ce: 60 e0 ldi r22, 0x00 ; 0 - 10d0: 81 e8 ldi r24, 0x81 ; 129 - 10d2: 0e 94 8e 10 call 0x211c ; 0x211c - 10d6: 1f 91 pop r17 - 10d8: 0f 91 pop r16 - 10da: 08 95 ret +000010f8 : + 10f8: 80 91 c5 20 lds r24, 0x20C5 ; 0x8020c5 + 10fc: 08 95 ret -000010dc : - 10dc: 0f 93 push r16 - 10de: 1f 93 push r17 - 10e0: 9b 01 movw r18, r22 - 10e2: 8a 01 movw r16, r20 - 10e4: ac 01 movw r20, r24 - 10e6: 60 e0 ldi r22, 0x00 ; 0 - 10e8: 82 e8 ldi r24, 0x82 ; 130 - 10ea: 0e 94 8e 10 call 0x211c ; 0x211c - 10ee: 1f 91 pop r17 - 10f0: 0f 91 pop r16 - 10f2: 08 95 ret +000010fe : + 10fe: 80 91 c5 20 lds r24, 0x20C5 ; 0x8020c5 + 1102: 81 30 cpi r24, 0x01 ; 1 + 1104: 09 f4 brne .+2 ; 0x1108 + 1106: 57 c9 rjmp .-3410 ; 0x3b6 + 1108: 08 95 ret -000010f4 : - 10f4: 0f 93 push r16 - 10f6: 1f 93 push r17 - 10f8: 9b 01 movw r18, r22 - 10fa: 8a 01 movw r16, r20 - 10fc: ac 01 movw r20, r24 - 10fe: 60 e0 ldi r22, 0x00 ; 0 - 1100: 83 e8 ldi r24, 0x83 ; 131 - 1102: 0e 94 8e 10 call 0x211c ; 0x211c - 1106: 1f 91 pop r17 - 1108: 0f 91 pop r16 - 110a: 08 95 ret +0000110a : + 110a: 13 d1 rcall .+550 ; 0x1332 + 110c: fc 01 movw r30, r24 + 110e: 83 81 ldd r24, Z+3 ; 0x03 + 1110: 80 93 c5 20 sts 0x20C5, r24 ; 0x8020c5 + 1114: 81 11 cpse r24, r1 + 1116: 01 c0 rjmp .+2 ; 0x111a + 1118: 34 c9 rjmp .-3480 ; 0x382 + 111a: 81 e0 ldi r24, 0x01 ; 1 + 111c: 08 95 ret -0000110c : - 110c: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 1110: 8f 77 andi r24, 0x7F ; 127 - 1112: 86 c7 rjmp .+3852 ; 0x2020 +0000111e : + 111e: 90 91 6a 24 lds r25, 0x246A ; 0x80246a + 1122: 89 2f mov r24, r25 + 1124: 80 76 andi r24, 0x60 ; 96 + 1126: 97 ff sbrs r25, 7 + 1128: 07 c0 rjmp .+14 ; 0x1138 + 112a: 80 34 cpi r24, 0x40 ; 64 + 112c: 91 f4 brne .+36 ; 0x1152 + 112e: 80 91 6b 24 lds r24, 0x246B ; 0x80246b + 1132: 81 11 cpse r24, r1 + 1134: 0e c0 rjmp .+28 ; 0x1152 + 1136: 44 c9 rjmp .-3448 ; 0x3c0 + 1138: 80 34 cpi r24, 0x40 ; 64 + 113a: 59 f4 brne .+22 ; 0x1152 + 113c: 80 91 6b 24 lds r24, 0x246B ; 0x80246b + 1140: 81 11 cpse r24, r1 + 1142: 07 c0 rjmp .+14 ; 0x1152 + 1144: 80 91 70 24 lds r24, 0x2470 ; 0x802470 + 1148: 90 91 71 24 lds r25, 0x2471 ; 0x802471 + 114c: 89 2b or r24, r25 + 114e: 09 f0 breq .+2 ; 0x1152 + 1150: 35 c9 rjmp .-3478 ; 0x3bc + 1152: 80 e0 ldi r24, 0x00 ; 0 + 1154: 08 95 ret -00001114 : - 1114: 90 91 cc 20 lds r25, 0x20CC ; 0x8020cc - 1118: 91 11 cpse r25, r1 - 111a: 02 c0 rjmp .+4 ; 0x1120 - 111c: 80 e0 ldi r24, 0x00 ; 0 - 111e: 08 95 ret - 1120: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca - 1124: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb - 1128: 01 90 ld r0, Z+ - 112a: f0 81 ld r31, Z - 112c: e0 2d mov r30, r0 - 112e: 94 81 ldd r25, Z+4 ; 0x04 - 1130: 89 17 cp r24, r25 - 1132: a0 f7 brcc .-24 ; 0x111c - 1134: e0 93 c8 20 sts 0x20C8, r30 ; 0x8020c8 - 1138: f0 93 c9 20 sts 0x20C9, r31 ; 0x8020c9 - 113c: 22 81 ldd r18, Z+2 ; 0x02 - 113e: 33 81 ldd r19, Z+3 ; 0x03 - 1140: 2e 0f add r18, r30 - 1142: 3f 1f adc r19, r31 - 1144: e2 17 cp r30, r18 - 1146: f3 07 cpc r31, r19 - 1148: 98 f4 brcc .+38 ; 0x1170 - 114a: 91 81 ldd r25, Z+1 ; 0x01 - 114c: 94 30 cpi r25, 0x04 ; 4 - 114e: 61 f4 brne .+24 ; 0x1168 - 1150: 92 81 ldd r25, Z+2 ; 0x02 - 1152: 89 13 cpse r24, r25 - 1154: 09 c0 rjmp .+18 ; 0x1168 - 1156: 93 81 ldd r25, Z+3 ; 0x03 - 1158: 69 13 cpse r22, r25 - 115a: 06 c0 rjmp .+12 ; 0x1168 - 115c: e0 93 c8 20 sts 0x20C8, r30 ; 0x8020c8 - 1160: f0 93 c9 20 sts 0x20C9, r31 ; 0x8020c9 - 1164: 81 e0 ldi r24, 0x01 ; 1 - 1166: 08 95 ret - 1168: 90 81 ld r25, Z - 116a: e9 0f add r30, r25 - 116c: f1 1d adc r31, r1 - 116e: ea cf rjmp .-44 ; 0x1144 - 1170: e0 93 c8 20 sts 0x20C8, r30 ; 0x8020c8 - 1174: f0 93 c9 20 sts 0x20C9, r31 ; 0x8020c9 - 1178: d1 cf rjmp .-94 ; 0x111c +00001156 : + 1156: 0f 93 push r16 + 1158: 1f 93 push r17 + 115a: 9b 01 movw r18, r22 + 115c: 8a 01 movw r16, r20 + 115e: ac 01 movw r20, r24 + 1160: 60 e0 ldi r22, 0x00 ; 0 + 1162: 81 e8 ldi r24, 0x81 ; 129 + 1164: 0e 94 d8 10 call 0x21b0 ; 0x21b0 + 1168: 1f 91 pop r17 + 116a: 0f 91 pop r16 + 116c: 08 95 ret -0000117a : - 117a: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca - 117e: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb - 1182: 01 90 ld r0, Z+ - 1184: f0 81 ld r31, Z - 1186: e0 2d mov r30, r0 - 1188: 22 81 ldd r18, Z+2 ; 0x02 - 118a: 33 81 ldd r19, Z+3 ; 0x03 - 118c: 2e 0f add r18, r30 - 118e: 3f 1f adc r19, r31 - 1190: fc 01 movw r30, r24 - 1192: 40 81 ld r20, Z - 1194: e4 0f add r30, r20 - 1196: f1 1d adc r31, r1 - 1198: e2 17 cp r30, r18 - 119a: f3 07 cpc r31, r19 - 119c: 48 f4 brcc .+18 ; 0x11b0 - 119e: 81 81 ldd r24, Z+1 ; 0x01 - 11a0: 84 30 cpi r24, 0x04 ; 4 - 11a2: 31 f0 breq .+12 ; 0x11b0 - 11a4: 85 30 cpi r24, 0x05 ; 5 - 11a6: 39 f0 breq .+14 ; 0x11b6 - 11a8: 80 81 ld r24, Z - 11aa: e8 0f add r30, r24 - 11ac: f1 1d adc r31, r1 - 11ae: f4 cf rjmp .-24 ; 0x1198 - 11b0: 80 e0 ldi r24, 0x00 ; 0 - 11b2: 90 e0 ldi r25, 0x00 ; 0 - 11b4: 08 95 ret - 11b6: cf 01 movw r24, r30 - 11b8: 08 95 ret +0000116e : + 116e: 0f 93 push r16 + 1170: 1f 93 push r17 + 1172: 9b 01 movw r18, r22 + 1174: 8a 01 movw r16, r20 + 1176: ac 01 movw r20, r24 + 1178: 60 e0 ldi r22, 0x00 ; 0 + 117a: 82 e8 ldi r24, 0x82 ; 130 + 117c: 0e 94 d8 10 call 0x21b0 ; 0x21b0 + 1180: 1f 91 pop r17 + 1182: 0f 91 pop r16 + 1184: 08 95 ret -000011ba : - 11ba: 1f 93 push r17 - 11bc: cf 93 push r28 - 11be: df 93 push r29 - 11c0: 18 2f mov r17, r24 - 11c2: a8 df rcall .-176 ; 0x1114 - 11c4: 88 23 and r24, r24 - 11c6: 39 f1 breq .+78 ; 0x1216 - 11c8: c0 91 c8 20 lds r28, 0x20C8 ; 0x8020c8 - 11cc: d0 91 c9 20 lds r29, 0x20C9 ; 0x8020c9 - 11d0: ce 01 movw r24, r28 - 11d2: d3 df rcall .-90 ; 0x117a - 11d4: ec 01 movw r28, r24 - 11d6: 89 2b or r24, r25 - 11d8: 41 f0 breq .+16 ; 0x11ea - 11da: 4c 81 ldd r20, Y+4 ; 0x04 - 11dc: 5d 81 ldd r21, Y+5 ; 0x05 - 11de: 6b 81 ldd r22, Y+3 ; 0x03 - 11e0: 8a 81 ldd r24, Y+2 ; 0x02 - 11e2: 2b d7 rcall .+3670 ; 0x203a - 11e4: 81 11 cpse r24, r1 - 11e6: f4 cf rjmp .-24 ; 0x11d0 - 11e8: 16 c0 rjmp .+44 ; 0x1216 - 11ea: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca - 11ee: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb - 11f2: 92 81 ldd r25, Z+2 ; 0x02 - 11f4: 83 81 ldd r24, Z+3 ; 0x03 - 11f6: e9 2f mov r30, r25 - 11f8: f8 2f mov r31, r24 - 11fa: e1 0f add r30, r17 - 11fc: f1 1d adc r31, r1 - 11fe: e1 0f add r30, r17 - 1200: f1 1d adc r31, r1 - 1202: 01 90 ld r0, Z+ - 1204: f0 81 ld r31, Z - 1206: e0 2d mov r30, r0 - 1208: 01 90 ld r0, Z+ - 120a: f0 81 ld r31, Z - 120c: e0 2d mov r30, r0 - 120e: df 91 pop r29 - 1210: cf 91 pop r28 - 1212: 1f 91 pop r17 - 1214: 09 94 ijmp - 1216: 80 e0 ldi r24, 0x00 ; 0 - 1218: df 91 pop r29 - 121a: cf 91 pop r28 - 121c: 1f 91 pop r17 - 121e: 08 95 ret +00001186 : + 1186: 0f 93 push r16 + 1188: 1f 93 push r17 + 118a: 9b 01 movw r18, r22 + 118c: 8a 01 movw r16, r20 + 118e: ac 01 movw r20, r24 + 1190: 60 e0 ldi r22, 0x00 ; 0 + 1192: 83 e8 ldi r24, 0x83 ; 131 + 1194: 0e 94 d8 10 call 0x21b0 ; 0x21b0 + 1198: 1f 91 pop r17 + 119a: 0f 91 pop r16 + 119c: 08 95 ret -00001220 : - 1220: ef 92 push r14 - 1222: ff 92 push r15 - 1224: 1f 93 push r17 - 1226: cf 93 push r28 - 1228: df 93 push r29 - 122a: c8 2f mov r28, r24 - 122c: 60 e0 ldi r22, 0x00 ; 0 - 122e: 72 df rcall .-284 ; 0x1114 - 1230: 81 11 cpse r24, r1 - 1232: 02 c0 rjmp .+4 ; 0x1238 - 1234: 10 e0 ldi r17, 0x00 ; 0 - 1236: 2d c0 rjmp .+90 ; 0x1292 - 1238: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca - 123c: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb - 1240: 92 81 ldd r25, Z+2 ; 0x02 - 1242: 83 81 ldd r24, Z+3 ; 0x03 - 1244: e9 2f mov r30, r25 - 1246: f8 2f mov r31, r24 - 1248: ec 0f add r30, r28 - 124a: f1 1d adc r31, r1 - 124c: ec 0f add r30, r28 - 124e: f1 1d adc r31, r1 - 1250: e0 80 ld r14, Z - 1252: f1 80 ldd r15, Z+1 ; 0x01 - 1254: d7 01 movw r26, r14 - 1256: 16 96 adiw r26, 0x06 ; 6 - 1258: ed 91 ld r30, X+ - 125a: fc 91 ld r31, X - 125c: 17 97 sbiw r26, 0x07 ; 7 - 125e: 09 95 icall - 1260: 68 2f mov r22, r24 - 1262: 8c 2f mov r24, r28 - 1264: 57 df rcall .-338 ; 0x1114 - 1266: 18 2f mov r17, r24 - 1268: 88 23 and r24, r24 - 126a: 21 f3 breq .-56 ; 0x1234 - 126c: c0 91 c8 20 lds r28, 0x20C8 ; 0x8020c8 - 1270: d0 91 c9 20 lds r29, 0x20C9 ; 0x8020c9 - 1274: ce 01 movw r24, r28 - 1276: 81 df rcall .-254 ; 0x117a - 1278: ec 01 movw r28, r24 - 127a: 89 2b or r24, r25 - 127c: 21 f0 breq .+8 ; 0x1286 - 127e: 8a 81 ldd r24, Y+2 ; 0x02 - 1280: 0e 94 4a 11 call 0x2294 ; 0x2294 - 1284: f7 cf rjmp .-18 ; 0x1274 - 1286: d7 01 movw r26, r14 - 1288: 12 96 adiw r26, 0x02 ; 2 - 128a: ed 91 ld r30, X+ - 128c: fc 91 ld r31, X - 128e: 13 97 sbiw r26, 0x03 ; 3 - 1290: 09 95 icall - 1292: 81 2f mov r24, r17 - 1294: df 91 pop r29 - 1296: cf 91 pop r28 - 1298: 1f 91 pop r17 - 129a: ff 90 pop r15 - 129c: ef 90 pop r14 - 129e: 08 95 ret +0000119e : + 119e: 80 91 6c 24 lds r24, 0x246C ; 0x80246c + 11a2: 8f 77 andi r24, 0x7F ; 127 + 11a4: 87 c7 rjmp .+3854 ; 0x20b4 -000012a0 : - 12a0: 80 91 c8 20 lds r24, 0x20C8 ; 0x8020c8 - 12a4: 90 91 c9 20 lds r25, 0x20C9 ; 0x8020c9 - 12a8: 08 95 ret +000011a6 : + 11a6: 90 91 cc 20 lds r25, 0x20CC ; 0x8020cc + 11aa: 91 11 cpse r25, r1 + 11ac: 02 c0 rjmp .+4 ; 0x11b2 + 11ae: 80 e0 ldi r24, 0x00 ; 0 + 11b0: 08 95 ret + 11b2: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca + 11b6: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb + 11ba: 01 90 ld r0, Z+ + 11bc: f0 81 ld r31, Z + 11be: e0 2d mov r30, r0 + 11c0: 94 81 ldd r25, Z+4 ; 0x04 + 11c2: 89 17 cp r24, r25 + 11c4: a0 f7 brcc .-24 ; 0x11ae + 11c6: e0 93 c8 20 sts 0x20C8, r30 ; 0x8020c8 + 11ca: f0 93 c9 20 sts 0x20C9, r31 ; 0x8020c9 + 11ce: 22 81 ldd r18, Z+2 ; 0x02 + 11d0: 33 81 ldd r19, Z+3 ; 0x03 + 11d2: 2e 0f add r18, r30 + 11d4: 3f 1f adc r19, r31 + 11d6: e2 17 cp r30, r18 + 11d8: f3 07 cpc r31, r19 + 11da: 98 f4 brcc .+38 ; 0x1202 + 11dc: 91 81 ldd r25, Z+1 ; 0x01 + 11de: 94 30 cpi r25, 0x04 ; 4 + 11e0: 61 f4 brne .+24 ; 0x11fa + 11e2: 92 81 ldd r25, Z+2 ; 0x02 + 11e4: 89 13 cpse r24, r25 + 11e6: 09 c0 rjmp .+18 ; 0x11fa + 11e8: 93 81 ldd r25, Z+3 ; 0x03 + 11ea: 69 13 cpse r22, r25 + 11ec: 06 c0 rjmp .+12 ; 0x11fa + 11ee: e0 93 c8 20 sts 0x20C8, r30 ; 0x8020c8 + 11f2: f0 93 c9 20 sts 0x20C9, r31 ; 0x8020c9 + 11f6: 81 e0 ldi r24, 0x01 ; 1 + 11f8: 08 95 ret + 11fa: 90 81 ld r25, Z + 11fc: e9 0f add r30, r25 + 11fe: f1 1d adc r31, r1 + 1200: ea cf rjmp .-44 ; 0x11d6 + 1202: e0 93 c8 20 sts 0x20C8, r30 ; 0x8020c8 + 1206: f0 93 c9 20 sts 0x20C9, r31 ; 0x8020c9 + 120a: d1 cf rjmp .-94 ; 0x11ae -000012aa : - 12aa: 42 c6 rjmp .+3204 ; 0x1f30 +0000120c : + 120c: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca + 1210: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb + 1214: 01 90 ld r0, Z+ + 1216: f0 81 ld r31, Z + 1218: e0 2d mov r30, r0 + 121a: 22 81 ldd r18, Z+2 ; 0x02 + 121c: 33 81 ldd r19, Z+3 ; 0x03 + 121e: 2e 0f add r18, r30 + 1220: 3f 1f adc r19, r31 + 1222: fc 01 movw r30, r24 + 1224: 40 81 ld r20, Z + 1226: e4 0f add r30, r20 + 1228: f1 1d adc r31, r1 + 122a: e2 17 cp r30, r18 + 122c: f3 07 cpc r31, r19 + 122e: 48 f4 brcc .+18 ; 0x1242 + 1230: 81 81 ldd r24, Z+1 ; 0x01 + 1232: 84 30 cpi r24, 0x04 ; 4 + 1234: 31 f0 breq .+12 ; 0x1242 + 1236: 85 30 cpi r24, 0x05 ; 5 + 1238: 39 f0 breq .+14 ; 0x1248 + 123a: 80 81 ld r24, Z + 123c: e8 0f add r30, r24 + 123e: f1 1d adc r31, r1 + 1240: f4 cf rjmp .-24 ; 0x122a + 1242: 80 e0 ldi r24, 0x00 ; 0 + 1244: 90 e0 ldi r25, 0x00 ; 0 + 1246: 08 95 ret + 1248: cf 01 movw r24, r30 + 124a: 08 95 ret -000012ac : - 12ac: cf 93 push r28 - 12ae: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc - 12b2: 81 11 cpse r24, r1 - 12b4: 08 c0 rjmp .+16 ; 0x12c6 - 12b6: 10 92 cc 20 sts 0x20CC, r1 ; 0x8020cc - 12ba: 10 92 d0 20 sts 0x20D0, r1 ; 0x8020d0 - 12be: 10 92 d1 20 sts 0x20D1, r1 ; 0x8020d1 - 12c2: cf 91 pop r28 - 12c4: 08 95 ret - 12c6: c0 e0 ldi r28, 0x00 ; 0 - 12c8: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca - 12cc: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb - 12d0: 01 90 ld r0, Z+ - 12d2: f0 81 ld r31, Z - 12d4: e0 2d mov r30, r0 - 12d6: 84 81 ldd r24, Z+4 ; 0x04 - 12d8: c8 17 cp r28, r24 - 12da: 68 f7 brcc .-38 ; 0x12b6 - 12dc: 8c 2f mov r24, r28 - 12de: a0 df rcall .-192 ; 0x1220 - 12e0: cf 5f subi r28, 0xFF ; 255 - 12e2: f2 cf rjmp .-28 ; 0x12c8 +0000124c : + 124c: 1f 93 push r17 + 124e: cf 93 push r28 + 1250: df 93 push r29 + 1252: 18 2f mov r17, r24 + 1254: a8 df rcall .-176 ; 0x11a6 + 1256: 88 23 and r24, r24 + 1258: 39 f1 breq .+78 ; 0x12a8 + 125a: c0 91 c8 20 lds r28, 0x20C8 ; 0x8020c8 + 125e: d0 91 c9 20 lds r29, 0x20C9 ; 0x8020c9 + 1262: ce 01 movw r24, r28 + 1264: d3 df rcall .-90 ; 0x120c + 1266: ec 01 movw r28, r24 + 1268: 89 2b or r24, r25 + 126a: 41 f0 breq .+16 ; 0x127c + 126c: 4c 81 ldd r20, Y+4 ; 0x04 + 126e: 5d 81 ldd r21, Y+5 ; 0x05 + 1270: 6b 81 ldd r22, Y+3 ; 0x03 + 1272: 8a 81 ldd r24, Y+2 ; 0x02 + 1274: 2c d7 rcall .+3672 ; 0x20ce + 1276: 81 11 cpse r24, r1 + 1278: f4 cf rjmp .-24 ; 0x1262 + 127a: 16 c0 rjmp .+44 ; 0x12a8 + 127c: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca + 1280: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb + 1284: 92 81 ldd r25, Z+2 ; 0x02 + 1286: 83 81 ldd r24, Z+3 ; 0x03 + 1288: e9 2f mov r30, r25 + 128a: f8 2f mov r31, r24 + 128c: e1 0f add r30, r17 + 128e: f1 1d adc r31, r1 + 1290: e1 0f add r30, r17 + 1292: f1 1d adc r31, r1 + 1294: 01 90 ld r0, Z+ + 1296: f0 81 ld r31, Z + 1298: e0 2d mov r30, r0 + 129a: 01 90 ld r0, Z+ + 129c: f0 81 ld r31, Z + 129e: e0 2d mov r30, r0 + 12a0: df 91 pop r29 + 12a2: cf 91 pop r28 + 12a4: 1f 91 pop r17 + 12a6: 09 94 ijmp + 12a8: 80 e0 ldi r24, 0x00 ; 0 + 12aa: df 91 pop r29 + 12ac: cf 91 pop r28 + 12ae: 1f 91 pop r17 + 12b0: 08 95 ret -000012e4 : - 12e4: cf 93 push r28 - 12e6: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc - 12ea: 88 23 and r24, r24 - 12ec: f1 f0 breq .+60 ; 0x132a - 12ee: c0 e0 ldi r28, 0x00 ; 0 - 12f0: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca - 12f4: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb - 12f8: a0 81 ld r26, Z - 12fa: b1 81 ldd r27, Z+1 ; 0x01 - 12fc: 14 96 adiw r26, 0x04 ; 4 - 12fe: 8c 91 ld r24, X - 1300: c8 17 cp r28, r24 - 1302: 98 f4 brcc .+38 ; 0x132a - 1304: 92 81 ldd r25, Z+2 ; 0x02 - 1306: 83 81 ldd r24, Z+3 ; 0x03 - 1308: e9 2f mov r30, r25 - 130a: f8 2f mov r31, r24 - 130c: ec 0f add r30, r28 - 130e: f1 1d adc r31, r1 - 1310: ec 0f add r30, r28 - 1312: f1 1d adc r31, r1 - 1314: 01 90 ld r0, Z+ - 1316: f0 81 ld r31, Z - 1318: e0 2d mov r30, r0 - 131a: 00 84 ldd r0, Z+8 ; 0x08 - 131c: f1 85 ldd r31, Z+9 ; 0x09 - 131e: e0 2d mov r30, r0 - 1320: 30 97 sbiw r30, 0x00 ; 0 - 1322: 09 f0 breq .+2 ; 0x1326 - 1324: 09 95 icall - 1326: cf 5f subi r28, 0xFF ; 255 - 1328: e3 cf rjmp .-58 ; 0x12f0 - 132a: cf 91 pop r28 - 132c: 08 95 ret +000012b2 : + 12b2: ef 92 push r14 + 12b4: ff 92 push r15 + 12b6: 1f 93 push r17 + 12b8: cf 93 push r28 + 12ba: df 93 push r29 + 12bc: c8 2f mov r28, r24 + 12be: 60 e0 ldi r22, 0x00 ; 0 + 12c0: 72 df rcall .-284 ; 0x11a6 + 12c2: 81 11 cpse r24, r1 + 12c4: 02 c0 rjmp .+4 ; 0x12ca + 12c6: 10 e0 ldi r17, 0x00 ; 0 + 12c8: 2d c0 rjmp .+90 ; 0x1324 + 12ca: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca + 12ce: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb + 12d2: 92 81 ldd r25, Z+2 ; 0x02 + 12d4: 83 81 ldd r24, Z+3 ; 0x03 + 12d6: e9 2f mov r30, r25 + 12d8: f8 2f mov r31, r24 + 12da: ec 0f add r30, r28 + 12dc: f1 1d adc r31, r1 + 12de: ec 0f add r30, r28 + 12e0: f1 1d adc r31, r1 + 12e2: e0 80 ld r14, Z + 12e4: f1 80 ldd r15, Z+1 ; 0x01 + 12e6: d7 01 movw r26, r14 + 12e8: 16 96 adiw r26, 0x06 ; 6 + 12ea: ed 91 ld r30, X+ + 12ec: fc 91 ld r31, X + 12ee: 17 97 sbiw r26, 0x07 ; 7 + 12f0: 09 95 icall + 12f2: 68 2f mov r22, r24 + 12f4: 8c 2f mov r24, r28 + 12f6: 57 df rcall .-338 ; 0x11a6 + 12f8: 18 2f mov r17, r24 + 12fa: 88 23 and r24, r24 + 12fc: 21 f3 breq .-56 ; 0x12c6 + 12fe: c0 91 c8 20 lds r28, 0x20C8 ; 0x8020c8 + 1302: d0 91 c9 20 lds r29, 0x20C9 ; 0x8020c9 + 1306: ce 01 movw r24, r28 + 1308: 81 df rcall .-254 ; 0x120c + 130a: ec 01 movw r28, r24 + 130c: 89 2b or r24, r25 + 130e: 21 f0 breq .+8 ; 0x1318 + 1310: 8a 81 ldd r24, Y+2 ; 0x02 + 1312: 0e 94 94 11 call 0x2328 ; 0x2328 + 1316: f7 cf rjmp .-18 ; 0x1306 + 1318: d7 01 movw r26, r14 + 131a: 12 96 adiw r26, 0x02 ; 2 + 131c: ed 91 ld r30, X+ + 131e: fc 91 ld r31, X + 1320: 13 97 sbiw r26, 0x03 ; 3 + 1322: 09 95 icall + 1324: 81 2f mov r24, r17 + 1326: df 91 pop r29 + 1328: cf 91 pop r28 + 132a: 1f 91 pop r17 + 132c: ff 90 pop r15 + 132e: ef 90 pop r14 + 1330: 08 95 ret -0000132e : - 132e: ef 92 push r14 - 1330: ff 92 push r15 - 1332: 0f 93 push r16 - 1334: 1f 93 push r17 - 1336: cf 93 push r28 - 1338: df 93 push r29 - 133a: 1f 92 push r1 - 133c: cd b7 in r28, 0x3d ; 61 - 133e: de b7 in r29, 0x3e ; 62 - 1340: 10 92 74 24 sts 0x2474, r1 ; 0x802474 - 1344: 10 92 75 24 sts 0x2475, r1 ; 0x802475 - 1348: 10 92 76 24 sts 0x2476, r1 ; 0x802476 - 134c: 10 92 77 24 sts 0x2477, r1 ; 0x802477 - 1350: 10 92 78 24 sts 0x2478, r1 ; 0x802478 - 1354: 10 92 79 24 sts 0x2479, r1 ; 0x802479 - 1358: 80 91 6a 24 lds r24, 0x246A ; 0x80246a - 135c: 87 ff sbrs r24, 7 - 135e: 07 c0 rjmp .+14 ; 0x136e - 1360: 20 91 70 24 lds r18, 0x2470 ; 0x802470 - 1364: 30 91 71 24 lds r19, 0x2471 ; 0x802471 - 1368: 23 2b or r18, r19 - 136a: 09 f4 brne .+2 ; 0x136e - 136c: 1a c3 rjmp .+1588 ; 0x19a2 - 136e: 98 2f mov r25, r24 - 1370: 90 76 andi r25, 0x60 ; 96 - 1372: 90 34 cpi r25, 0x40 ; 64 - 1374: 09 f0 breq .+2 ; 0x1378 - 1376: d6 c0 rjmp .+428 ; 0x1524 - 1378: e0 91 6b 24 lds r30, 0x246B ; 0x80246b - 137c: 8e 2f mov r24, r30 - 137e: 90 e0 ldi r25, 0x00 ; 0 - 1380: fc 01 movw r30, r24 - 1382: e0 5a subi r30, 0xA0 ; 160 - 1384: f1 09 sbc r31, r1 - 1386: e8 30 cpi r30, 0x08 ; 8 - 1388: f1 05 cpc r31, r1 - 138a: 08 f0 brcs .+2 ; 0x138e - 138c: 99 c2 rjmp .+1330 ; 0x18c0 - 138e: ea 5f subi r30, 0xFA ; 250 - 1390: fe 4f sbci r31, 0xFE ; 254 - 1392: 0c 94 ff 12 jmp 0x25fe ; 0x25fe <__tablejump2__> - 1396: 00 00 nop - 1398: 02 c3 rjmp .+1540 ; 0x199e - 139a: 10 92 00 08 sts 0x0800, r1 ; 0x800800 <__TEXT_REGION_LENGTH__+0x700800> - 139e: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 13a2: 90 91 6d 24 lds r25, 0x246D ; 0x80246d - 13a6: 80 93 36 08 sts 0x0836, r24 ; 0x800836 <__TEXT_REGION_LENGTH__+0x700836> - 13aa: 90 93 37 08 sts 0x0837, r25 ; 0x800837 <__TEXT_REGION_LENGTH__+0x700837> - 13ae: 80 91 6e 24 lds r24, 0x246E ; 0x80246e - 13b2: 8f 70 andi r24, 0x0F ; 15 - 13b4: 80 93 00 08 sts 0x0800, r24 ; 0x800800 <__TEXT_REGION_LENGTH__+0x700800> - 13b8: 60 91 70 24 lds r22, 0x2470 ; 0x802470 - 13bc: 70 91 71 24 lds r23, 0x2471 ; 0x802471 - 13c0: 8a e6 ldi r24, 0x6A ; 106 - 13c2: 92 e2 ldi r25, 0x22 ; 34 - 13c4: 33 d6 rcall .+3174 ; 0x202c - 13c6: 20 91 04 20 lds r18, 0x2004 ; 0x802004 - 13ca: 30 91 05 20 lds r19, 0x2005 ; 0x802005 - 13ce: 80 91 70 24 lds r24, 0x2470 ; 0x802470 - 13d2: 90 91 71 24 lds r25, 0x2471 ; 0x802471 - 13d6: 28 17 cp r18, r24 - 13d8: 39 07 cpc r19, r25 - 13da: 09 f4 brne .+2 ; 0x13de - 13dc: e0 c2 rjmp .+1472 ; 0x199e - 13de: 80 93 04 20 sts 0x2004, r24 ; 0x802004 - 13e2: 90 93 05 20 sts 0x2005, r25 ; 0x802005 - 13e6: 26 c0 rjmp .+76 ; 0x1434 - 13e8: 10 92 40 08 sts 0x0840, r1 ; 0x800840 <__TEXT_REGION_LENGTH__+0x700840> - 13ec: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 13f0: 90 91 6d 24 lds r25, 0x246D ; 0x80246d - 13f4: 80 93 76 08 sts 0x0876, r24 ; 0x800876 <__TEXT_REGION_LENGTH__+0x700876> - 13f8: 90 93 77 08 sts 0x0877, r25 ; 0x800877 <__TEXT_REGION_LENGTH__+0x700877> - 13fc: 80 91 6e 24 lds r24, 0x246E ; 0x80246e - 1400: 8f 70 andi r24, 0x0F ; 15 - 1402: 80 93 40 08 sts 0x0840, r24 ; 0x800840 <__TEXT_REGION_LENGTH__+0x700840> - 1406: 60 91 70 24 lds r22, 0x2470 ; 0x802470 - 140a: 70 91 71 24 lds r23, 0x2471 ; 0x802471 - 140e: 8a e7 ldi r24, 0x7A ; 122 - 1410: 94 e2 ldi r25, 0x24 ; 36 - 1412: 0c d6 rcall .+3096 ; 0x202c - 1414: 20 91 02 20 lds r18, 0x2002 ; 0x802002 - 1418: 30 91 03 20 lds r19, 0x2003 ; 0x802003 - 141c: 80 91 70 24 lds r24, 0x2470 ; 0x802470 - 1420: 90 91 71 24 lds r25, 0x2471 ; 0x802471 - 1424: 28 17 cp r18, r24 - 1426: 39 07 cpc r19, r25 - 1428: 09 f4 brne .+2 ; 0x142c - 142a: b9 c2 rjmp .+1394 ; 0x199e - 142c: 80 93 02 20 sts 0x2002, r24 ; 0x802002 - 1430: 90 93 03 20 sts 0x2003, r25 ; 0x802003 - 1434: e0 91 00 20 lds r30, 0x2000 ; 0x802000 <__data_start> - 1438: 8e 2f mov r24, r30 - 143a: 90 e0 ldi r25, 0x00 ; 0 - 143c: 88 30 cpi r24, 0x08 ; 8 - 143e: 91 05 cpc r25, r1 - 1440: 08 f0 brcs .+2 ; 0x1444 - 1442: ad c2 rjmp .+1370 ; 0x199e - 1444: fc 01 movw r30, r24 - 1446: e2 5f subi r30, 0xF2 ; 242 - 1448: fe 4f sbci r31, 0xFE ; 254 - 144a: 0c 94 ff 12 jmp 0x25fe ; 0x25fe <__tablejump2__> - 144e: 10 92 68 09 sts 0x0968, r1 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> - 1452: 10 92 69 09 sts 0x0969, r1 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> - 1456: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 145a: 80 93 c0 20 sts 0x20C0, r24 ; 0x8020c0 <__data_end> - 145e: 9f c2 rjmp .+1342 ; 0x199e - 1460: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 1464: 80 93 24 06 sts 0x0624, r24 ; 0x800624 <__TEXT_REGION_LENGTH__+0x700624> - 1468: 9a c2 rjmp .+1332 ; 0x199e - 146a: e0 91 6c 24 lds r30, 0x246C ; 0x80246c - 146e: f0 91 6d 24 lds r31, 0x246D ; 0x80246d - 1472: e8 30 cpi r30, 0x08 ; 8 - 1474: f1 05 cpc r31, r1 - 1476: 08 f0 brcs .+2 ; 0x147a - 1478: 23 c2 rjmp .+1094 ; 0x18c0 - 147a: ea 5e subi r30, 0xEA ; 234 - 147c: fe 4f sbci r31, 0xFE ; 254 - 147e: 0c 94 ff 12 jmp 0x25fe ; 0x25fe <__tablejump2__> - 1482: 60 e0 ldi r22, 0x00 ; 0 - 1484: 80 e0 ldi r24, 0x00 ; 0 - 1486: 0e 94 fe 01 call 0x3fc ; 0x3fc - 148a: 80 91 6e 24 lds r24, 0x246E ; 0x80246e - 148e: 0e 94 cb 01 call 0x396 ; 0x396 - 1492: 20 d8 rcall .-4032 ; 0x4d4 - 1494: 84 c2 rjmp .+1288 ; 0x199e - 1496: 60 e0 ldi r22, 0x00 ; 0 - 1498: 80 e0 ldi r24, 0x00 ; 0 - 149a: 0e 94 fe 01 call 0x3fc ; 0x3fc - 149e: 80 91 6e 24 lds r24, 0x246E ; 0x80246e - 14a2: 0e 94 cb 01 call 0x396 ; 0x396 - 14a6: 8a d8 rcall .-3820 ; 0x5bc - 14a8: 7a c2 rjmp .+1268 ; 0x199e - 14aa: 61 e0 ldi r22, 0x01 ; 1 - 14ac: 81 e0 ldi r24, 0x01 ; 1 - 14ae: 0e 94 fe 01 call 0x3fc ; 0x3fc - 14b2: 80 91 6e 24 lds r24, 0x246E ; 0x80246e - 14b6: 0e 94 cb 01 call 0x396 ; 0x396 - 14ba: 80 91 6f 24 lds r24, 0x246F ; 0x80246f - 14be: 0e 94 e1 01 call 0x3c2 ; 0x3c2 - 14c2: f5 d8 rcall .-3606 ; 0x6ae - 14c4: 6c c2 rjmp .+1240 ; 0x199e - 14c6: 67 d9 rcall .-3378 ; 0x796 - 14c8: 6a c2 rjmp .+1236 ; 0x199e - 14ca: e2 d9 rcall .-3132 ; 0x890 - 14cc: 68 c2 rjmp .+1232 ; 0x199e - 14ce: 60 e0 ldi r22, 0x00 ; 0 - 14d0: 80 e0 ldi r24, 0x00 ; 0 - 14d2: 0e 94 fe 01 call 0x3fc ; 0x3fc - 14d6: 80 91 6e 24 lds r24, 0x246E ; 0x80246e - 14da: 0e 94 cb 01 call 0x396 ; 0x396 - 14de: 4f da rcall .-2914 ; 0x97e - 14e0: 5e c2 rjmp .+1212 ; 0x199e - 14e2: 61 e0 ldi r22, 0x01 ; 1 - 14e4: 80 e0 ldi r24, 0x00 ; 0 - 14e6: 0e 94 fe 01 call 0x3fc ; 0x3fc - 14ea: 80 91 6e 24 lds r24, 0x246E ; 0x80246e - 14ee: 0e 94 cb 01 call 0x396 ; 0x396 - 14f2: 8d da rcall .-2790 ; 0xa0e - 14f4: 54 c2 rjmp .+1192 ; 0x199e - 14f6: 62 e0 ldi r22, 0x02 ; 2 - 14f8: 80 e0 ldi r24, 0x00 ; 0 - 14fa: 0e 94 fe 01 call 0x3fc ; 0x3fc - 14fe: 80 91 6e 24 lds r24, 0x246E ; 0x80246e - 1502: 80 68 ori r24, 0x80 ; 128 - 1504: 0e 94 cb 01 call 0x396 ; 0x396 - 1508: f9 da rcall .-2574 ; 0xafc - 150a: 49 c2 rjmp .+1170 ; 0x199e - 150c: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 1510: 80 93 84 06 sts 0x0684, r24 ; 0x800684 <__TEXT_REGION_LENGTH__+0x700684> - 1514: 44 c2 rjmp .+1160 ; 0x199e - 1516: e9 e7 ldi r30, 0x79 ; 121 - 1518: f0 e0 ldi r31, 0x00 ; 0 - 151a: 91 e0 ldi r25, 0x01 ; 1 - 151c: 88 ed ldi r24, 0xD8 ; 216 - 151e: f8 94 cli - 1520: 84 bf out 0x34, r24 ; 52 - 1522: 90 83 st Z, r25 - 1524: 91 11 cpse r25, r1 - 1526: cc c1 rjmp .+920 ; 0x18c0 - 1528: 87 ff sbrs r24, 7 - 152a: fd c0 rjmp .+506 ; 0x1726 - 152c: 20 91 70 24 lds r18, 0x2470 ; 0x802470 - 1530: 30 91 71 24 lds r19, 0x2471 ; 0x802471 - 1534: 21 15 cp r18, r1 - 1536: 31 05 cpc r19, r1 - 1538: 09 f4 brne .+2 ; 0x153c - 153a: c2 c1 rjmp .+900 ; 0x18c0 - 153c: 8f 71 andi r24, 0x1F ; 31 - 153e: 09 f0 breq .+2 ; 0x1542 - 1540: 9f c0 rjmp .+318 ; 0x1680 - 1542: 80 91 6b 24 lds r24, 0x246B ; 0x80246b - 1546: 86 30 cpi r24, 0x06 ; 6 - 1548: 71 f0 breq .+28 ; 0x1566 - 154a: 88 30 cpi r24, 0x08 ; 8 - 154c: 09 f4 brne .+2 ; 0x1550 - 154e: 8e c0 rjmp .+284 ; 0x166c - 1550: 81 11 cpse r24, r1 - 1552: b6 c1 rjmp .+876 ; 0x18c0 - 1554: 22 30 cpi r18, 0x02 ; 2 - 1556: 31 05 cpc r19, r1 - 1558: 09 f0 breq .+2 ; 0x155c - 155a: b2 c1 rjmp .+868 ; 0x18c0 - 155c: 62 e0 ldi r22, 0x02 ; 2 - 155e: 70 e0 ldi r23, 0x00 ; 0 - 1560: 80 ed ldi r24, 0xD0 ; 208 - 1562: 90 e2 ldi r25, 0x20 ; 32 - 1564: 8b c0 rjmp .+278 ; 0x167c - 1566: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 156a: 90 91 6d 24 lds r25, 0x246D ; 0x80246d - 156e: 29 2f mov r18, r25 - 1570: 33 27 eor r19, r19 - 1572: 22 30 cpi r18, 0x02 ; 2 - 1574: 31 05 cpc r19, r1 - 1576: a1 f0 breq .+40 ; 0x15a0 - 1578: 64 f4 brge .+24 ; 0x1592 - 157a: 21 30 cpi r18, 0x01 ; 1 - 157c: 31 05 cpc r19, r1 - 157e: 09 f0 breq .+2 ; 0x1582 - 1580: 9f c1 rjmp .+830 ; 0x18c0 - 1582: 80 91 10 20 lds r24, 0x2010 ; 0x802010 - 1586: 90 91 11 20 lds r25, 0x2011 ; 0x802011 - 158a: dc 01 movw r26, r24 - 158c: 6c 91 ld r22, X - 158e: 70 e0 ldi r23, 0x00 ; 0 - 1590: 5b c0 rjmp .+182 ; 0x1648 - 1592: 23 30 cpi r18, 0x03 ; 3 - 1594: 31 05 cpc r19, r1 - 1596: 89 f1 breq .+98 ; 0x15fa - 1598: 2f 30 cpi r18, 0x0F ; 15 - 159a: 31 05 cpc r19, r1 - 159c: 09 f1 breq .+66 ; 0x15e0 - 159e: 90 c1 rjmp .+800 ; 0x18c0 - 15a0: e0 91 10 20 lds r30, 0x2010 ; 0x802010 - 15a4: f0 91 11 20 lds r31, 0x2011 ; 0x802011 - 15a8: 21 89 ldd r18, Z+17 ; 0x11 - 15aa: 82 17 cp r24, r18 - 15ac: 08 f0 brcs .+2 ; 0x15b0 - 15ae: 88 c1 rjmp .+784 ; 0x18c0 - 15b0: 99 27 eor r25, r25 - 15b2: 88 0f add r24, r24 - 15b4: 99 1f adc r25, r25 - 15b6: 88 0f add r24, r24 - 15b8: 99 1f adc r25, r25 - 15ba: e0 91 12 20 lds r30, 0x2012 ; 0x802012 - 15be: f0 91 13 20 lds r31, 0x2013 ; 0x802013 - 15c2: e8 0f add r30, r24 - 15c4: f9 1f adc r31, r25 - 15c6: 80 81 ld r24, Z - 15c8: 91 81 ldd r25, Z+1 ; 0x01 - 15ca: fc 01 movw r30, r24 - 15cc: 62 81 ldd r22, Z+2 ; 0x02 - 15ce: 73 81 ldd r23, Z+3 ; 0x03 - 15d0: 2d d5 rcall .+2650 ; 0x202c - 15d2: e0 91 72 24 lds r30, 0x2472 ; 0x802472 - 15d6: f0 91 73 24 lds r31, 0x2473 ; 0x802473 - 15da: 82 e0 ldi r24, 0x02 ; 2 - 15dc: 81 83 std Z+1, r24 ; 0x01 - 15de: 35 c0 rjmp .+106 ; 0x164a - 15e0: 80 91 14 20 lds r24, 0x2014 ; 0x802014 - 15e4: 90 91 15 20 lds r25, 0x2015 ; 0x802015 - 15e8: 00 97 sbiw r24, 0x00 ; 0 - 15ea: 09 f4 brne .+2 ; 0x15ee - 15ec: 69 c1 rjmp .+722 ; 0x18c0 - 15ee: dc 01 movw r26, r24 - 15f0: 12 96 adiw r26, 0x02 ; 2 - 15f2: 6d 91 ld r22, X+ - 15f4: 7c 91 ld r23, X - 15f6: 13 97 sbiw r26, 0x03 ; 3 - 15f8: 27 c0 rjmp .+78 ; 0x1648 - 15fa: 99 27 eor r25, r25 - 15fc: 81 30 cpi r24, 0x01 ; 1 - 15fe: 91 05 cpc r25, r1 - 1600: 69 f0 breq .+26 ; 0x161c - 1602: 38 f0 brcs .+14 ; 0x1612 - 1604: 02 97 sbiw r24, 0x02 ; 2 - 1606: 09 f0 breq .+2 ; 0x160a - 1608: 5b c1 rjmp .+694 ; 0x18c0 - 160a: 68 e1 ldi r22, 0x18 ; 24 - 160c: 8a e8 ldi r24, 0x8A ; 138 - 160e: 90 e2 ldi r25, 0x20 ; 32 - 1610: 08 c0 rjmp .+16 ; 0x1622 - 1612: 64 e0 ldi r22, 0x04 ; 4 - 1614: 70 e0 ldi r23, 0x00 ; 0 - 1616: 8e ea ldi r24, 0xAE ; 174 - 1618: 90 e2 ldi r25, 0x20 ; 32 - 161a: 16 c0 rjmp .+44 ; 0x1648 - 161c: 69 e0 ldi r22, 0x09 ; 9 - 161e: 83 ea ldi r24, 0xA3 ; 163 - 1620: 90 e2 ldi r25, 0x20 ; 32 - 1622: 28 2f mov r18, r24 - 1624: aa e5 ldi r26, 0x5A ; 90 - 1626: b0 e2 ldi r27, 0x20 ; 32 - 1628: fc 01 movw r30, r24 - 162a: 81 91 ld r24, Z+ - 162c: 90 e0 ldi r25, 0x00 ; 0 - 162e: 8d 93 st X+, r24 - 1630: 9d 93 st X+, r25 - 1632: 8e 2f mov r24, r30 - 1634: 82 1b sub r24, r18 - 1636: 86 17 cp r24, r22 - 1638: c0 f3 brcs .-16 ; 0x162a - 163a: 66 0f add r22, r22 - 163c: 6e 5f subi r22, 0xFE ; 254 - 163e: 60 93 58 20 sts 0x2058, r22 ; 0x802058 - 1642: 70 e0 ldi r23, 0x00 ; 0 - 1644: 88 e5 ldi r24, 0x58 ; 88 - 1646: 90 e2 ldi r25, 0x20 ; 32 - 1648: f1 d4 rcall .+2530 ; 0x202c - 164a: 80 91 70 24 lds r24, 0x2470 ; 0x802470 - 164e: 90 91 71 24 lds r25, 0x2471 ; 0x802471 - 1652: 20 91 74 24 lds r18, 0x2474 ; 0x802474 - 1656: 30 91 75 24 lds r19, 0x2475 ; 0x802475 - 165a: 82 17 cp r24, r18 - 165c: 93 07 cpc r25, r19 - 165e: 08 f0 brcs .+2 ; 0x1662 - 1660: 9e c1 rjmp .+828 ; 0x199e - 1662: 80 93 74 24 sts 0x2474, r24 ; 0x802474 - 1666: 90 93 75 24 sts 0x2475, r25 ; 0x802475 - 166a: 99 c1 rjmp .+818 ; 0x199e - 166c: 21 30 cpi r18, 0x01 ; 1 - 166e: 31 05 cpc r19, r1 - 1670: 09 f0 breq .+2 ; 0x1674 - 1672: 26 c1 rjmp .+588 ; 0x18c0 - 1674: 61 e0 ldi r22, 0x01 ; 1 - 1676: 70 e0 ldi r23, 0x00 ; 0 - 1678: 8c ec ldi r24, 0xCC ; 204 - 167a: 90 e2 ldi r25, 0x20 ; 32 - 167c: d7 d4 rcall .+2478 ; 0x202c - 167e: 8f c1 rjmp .+798 ; 0x199e - 1680: 81 30 cpi r24, 0x01 ; 1 - 1682: c9 f5 brne .+114 ; 0x16f6 - 1684: 80 91 6b 24 lds r24, 0x246B ; 0x80246b - 1688: 8a 30 cpi r24, 0x0A ; 10 - 168a: 09 f0 breq .+2 ; 0x168e - 168c: 19 c1 rjmp .+562 ; 0x18c0 - 168e: 21 30 cpi r18, 0x01 ; 1 - 1690: 31 05 cpc r19, r1 - 1692: 09 f0 breq .+2 ; 0x1696 - 1694: 15 c1 rjmp .+554 ; 0x18c0 - 1696: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc - 169a: 88 23 and r24, r24 - 169c: 09 f4 brne .+2 ; 0x16a0 - 169e: 10 c1 rjmp .+544 ; 0x18c0 - 16a0: e0 90 6e 24 lds r14, 0x246E ; 0x80246e - 16a4: f0 90 6f 24 lds r15, 0x246F ; 0x80246f - 16a8: 00 91 ca 20 lds r16, 0x20CA ; 0x8020ca - 16ac: 10 91 cb 20 lds r17, 0x20CB ; 0x8020cb - 16b0: d8 01 movw r26, r16 - 16b2: ed 91 ld r30, X+ - 16b4: fc 91 ld r31, X - 16b6: 84 81 ldd r24, Z+4 ; 0x04 - 16b8: e8 16 cp r14, r24 - 16ba: 08 f0 brcs .+2 ; 0x16be - 16bc: 01 c1 rjmp .+514 ; 0x18c0 - 16be: 60 e0 ldi r22, 0x00 ; 0 - 16c0: 8e 2d mov r24, r14 - 16c2: 28 dd rcall .-1456 ; 0x1114 - 16c4: 88 23 and r24, r24 - 16c6: 09 f4 brne .+2 ; 0x16ca - 16c8: fb c0 rjmp .+502 ; 0x18c0 - 16ca: ff 24 eor r15, r15 - 16cc: ee 0c add r14, r14 - 16ce: ff 1c adc r15, r15 - 16d0: f8 01 movw r30, r16 - 16d2: 82 81 ldd r24, Z+2 ; 0x02 - 16d4: 93 81 ldd r25, Z+3 ; 0x03 - 16d6: 8e 0d add r24, r14 - 16d8: 9f 1d adc r25, r15 - 16da: dc 01 movw r26, r24 - 16dc: ed 91 ld r30, X+ - 16de: fc 91 ld r31, X - 16e0: 06 80 ldd r0, Z+6 ; 0x06 - 16e2: f7 81 ldd r31, Z+7 ; 0x07 - 16e4: e0 2d mov r30, r0 - 16e6: 09 95 icall - 16e8: 80 93 ce 20 sts 0x20CE, r24 ; 0x8020ce - 16ec: 61 e0 ldi r22, 0x01 ; 1 - 16ee: 70 e0 ldi r23, 0x00 ; 0 - 16f0: 8e ec ldi r24, 0xCE ; 206 - 16f2: 90 e2 ldi r25, 0x20 ; 32 - 16f4: c3 cf rjmp .-122 ; 0x167c - 16f6: 82 30 cpi r24, 0x02 ; 2 - 16f8: 09 f0 breq .+2 ; 0x16fc - 16fa: e2 c0 rjmp .+452 ; 0x18c0 - 16fc: 80 91 6b 24 lds r24, 0x246B ; 0x80246b - 1700: 81 11 cpse r24, r1 - 1702: de c0 rjmp .+444 ; 0x18c0 - 1704: 22 30 cpi r18, 0x02 ; 2 - 1706: 31 05 cpc r19, r1 - 1708: 09 f0 breq .+2 ; 0x170c - 170a: da c0 rjmp .+436 ; 0x18c0 - 170c: 80 91 6e 24 lds r24, 0x246E ; 0x80246e - 1710: e5 d4 rcall .+2506 ; 0x20dc - 1712: 90 e0 ldi r25, 0x00 ; 0 - 1714: 80 93 c6 20 sts 0x20C6, r24 ; 0x8020c6 - 1718: 90 93 c7 20 sts 0x20C7, r25 ; 0x8020c7 - 171c: 62 e0 ldi r22, 0x02 ; 2 - 171e: 70 e0 ldi r23, 0x00 ; 0 - 1720: 86 ec ldi r24, 0xC6 ; 198 - 1722: 90 e2 ldi r25, 0x20 ; 32 - 1724: ab cf rjmp .-170 ; 0x167c - 1726: 8f 71 andi r24, 0x1F ; 31 - 1728: 09 f0 breq .+2 ; 0x172c - 172a: 7d c0 rjmp .+250 ; 0x1826 - 172c: 80 91 6b 24 lds r24, 0x246B ; 0x80246b - 1730: 83 30 cpi r24, 0x03 ; 3 - 1732: 09 f4 brne .+2 ; 0x1736 - 1734: c5 c0 rjmp .+394 ; 0x18c0 - 1736: 18 f4 brcc .+6 ; 0x173e - 1738: 81 30 cpi r24, 0x01 ; 1 - 173a: a1 f0 breq .+40 ; 0x1764 - 173c: c1 c0 rjmp .+386 ; 0x18c0 - 173e: 85 30 cpi r24, 0x05 ; 5 - 1740: 19 f0 breq .+6 ; 0x1748 - 1742: 89 30 cpi r24, 0x09 ; 9 - 1744: 39 f1 breq .+78 ; 0x1794 - 1746: bc c0 rjmp .+376 ; 0x18c0 - 1748: 80 91 70 24 lds r24, 0x2470 ; 0x802470 - 174c: 90 91 71 24 lds r25, 0x2471 ; 0x802471 - 1750: 89 2b or r24, r25 - 1752: 09 f0 breq .+2 ; 0x1756 - 1754: b5 c0 rjmp .+362 ; 0x18c0 - 1756: 86 e8 ldi r24, 0x86 ; 134 - 1758: 98 e0 ldi r25, 0x08 ; 8 - 175a: 80 93 76 24 sts 0x2476, r24 ; 0x802476 - 175e: 90 93 77 24 sts 0x2477, r25 ; 0x802477 - 1762: 1d c1 rjmp .+570 ; 0x199e - 1764: 80 91 70 24 lds r24, 0x2470 ; 0x802470 - 1768: 90 91 71 24 lds r25, 0x2471 ; 0x802471 - 176c: 89 2b or r24, r25 - 176e: 09 f0 breq .+2 ; 0x1772 - 1770: a7 c0 rjmp .+334 ; 0x18c0 - 1772: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 1776: 90 91 6d 24 lds r25, 0x246D ; 0x80246d - 177a: 01 97 sbiw r24, 0x01 ; 1 - 177c: 09 f0 breq .+2 ; 0x1780 - 177e: a0 c0 rjmp .+320 ; 0x18c0 - 1780: 80 91 d0 20 lds r24, 0x20D0 ; 0x8020d0 - 1784: 90 91 d1 20 lds r25, 0x20D1 ; 0x8020d1 - 1788: 8d 7f andi r24, 0xFD ; 253 - 178a: 80 93 d0 20 sts 0x20D0, r24 ; 0x8020d0 - 178e: 90 93 d1 20 sts 0x20D1, r25 ; 0x8020d1 - 1792: 05 c1 rjmp .+522 ; 0x199e - 1794: 80 91 70 24 lds r24, 0x2470 ; 0x802470 - 1798: 90 91 71 24 lds r25, 0x2471 ; 0x802471 - 179c: 89 2b or r24, r25 - 179e: 09 f0 breq .+2 ; 0x17a2 - 17a0: 8f c0 rjmp .+286 ; 0x18c0 - 17a2: 41 d4 rcall .+2178 ; 0x2026 - 17a4: 88 23 and r24, r24 - 17a6: 09 f4 brne .+2 ; 0x17aa - 17a8: 8b c0 rjmp .+278 ; 0x18c0 - 17aa: 20 91 6c 24 lds r18, 0x246C ; 0x80246c - 17ae: 30 91 6d 24 lds r19, 0x246D ; 0x80246d - 17b2: 33 27 eor r19, r19 - 17b4: e0 91 10 20 lds r30, 0x2010 ; 0x802010 - 17b8: f0 91 11 20 lds r31, 0x2011 ; 0x802011 - 17bc: 81 89 ldd r24, Z+17 ; 0x11 - 17be: 90 e0 ldi r25, 0x00 ; 0 - 17c0: 82 17 cp r24, r18 - 17c2: 93 07 cpc r25, r19 - 17c4: 08 f4 brcc .+2 ; 0x17c8 - 17c6: 7c c0 rjmp .+248 ; 0x18c0 - 17c8: 71 dd rcall .-1310 ; 0x12ac - 17ca: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 17ce: 90 91 6d 24 lds r25, 0x246D ; 0x80246d - 17d2: 80 93 cc 20 sts 0x20CC, r24 ; 0x8020cc - 17d6: 88 23 and r24, r24 - 17d8: 09 f4 brne .+2 ; 0x17dc - 17da: e1 c0 rjmp .+450 ; 0x199e - 17dc: 99 27 eor r25, r25 - 17de: 81 50 subi r24, 0x01 ; 1 - 17e0: 90 4c sbci r25, 0xC0 ; 192 - 17e2: 88 0f add r24, r24 - 17e4: 99 1f adc r25, r25 - 17e6: 88 0f add r24, r24 - 17e8: 99 1f adc r25, r25 - 17ea: 20 91 12 20 lds r18, 0x2012 ; 0x802012 - 17ee: 30 91 13 20 lds r19, 0x2013 ; 0x802013 - 17f2: 82 0f add r24, r18 - 17f4: 93 1f adc r25, r19 - 17f6: 80 93 ca 20 sts 0x20CA, r24 ; 0x8020ca - 17fa: 90 93 cb 20 sts 0x20CB, r25 ; 0x8020cb - 17fe: 10 e0 ldi r17, 0x00 ; 0 - 1800: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca - 1804: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb - 1808: 01 90 ld r0, Z+ - 180a: f0 81 ld r31, Z - 180c: e0 2d mov r30, r0 - 180e: 84 81 ldd r24, Z+4 ; 0x04 - 1810: 18 17 cp r17, r24 - 1812: 08 f0 brcs .+2 ; 0x1816 - 1814: c4 c0 rjmp .+392 ; 0x199e - 1816: 60 e0 ldi r22, 0x00 ; 0 - 1818: 81 2f mov r24, r17 - 181a: cf dc rcall .-1634 ; 0x11ba - 181c: 88 23 and r24, r24 - 181e: 09 f4 brne .+2 ; 0x1822 - 1820: 4f c0 rjmp .+158 ; 0x18c0 - 1822: 1f 5f subi r17, 0xFF ; 255 - 1824: ed cf rjmp .-38 ; 0x1800 - 1826: 81 30 cpi r24, 0x01 ; 1 - 1828: f1 f4 brne .+60 ; 0x1866 - 182a: 80 91 6b 24 lds r24, 0x246B ; 0x80246b - 182e: 8b 30 cpi r24, 0x0B ; 11 - 1830: 09 f0 breq .+2 ; 0x1834 - 1832: 46 c0 rjmp .+140 ; 0x18c0 - 1834: 80 91 70 24 lds r24, 0x2470 ; 0x802470 - 1838: 90 91 71 24 lds r25, 0x2471 ; 0x802471 - 183c: 89 2b or r24, r25 - 183e: 09 f0 breq .+2 ; 0x1842 - 1840: 3f c0 rjmp .+126 ; 0x18c0 - 1842: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc - 1846: 88 23 and r24, r24 - 1848: 09 f4 brne .+2 ; 0x184c - 184a: 3a c0 rjmp .+116 ; 0x18c0 - 184c: 10 91 6e 24 lds r17, 0x246E ; 0x80246e - 1850: 60 91 6c 24 lds r22, 0x246C ; 0x80246c - 1854: 81 2f mov r24, r17 - 1856: 69 83 std Y+1, r22 ; 0x01 - 1858: e3 dc rcall .-1594 ; 0x1220 - 185a: 69 81 ldd r22, Y+1 ; 0x01 - 185c: 88 23 and r24, r24 - 185e: 81 f1 breq .+96 ; 0x18c0 - 1860: 81 2f mov r24, r17 - 1862: ab dc rcall .-1706 ; 0x11ba - 1864: 2b c0 rjmp .+86 ; 0x18bc - 1866: 82 30 cpi r24, 0x02 ; 2 - 1868: 59 f5 brne .+86 ; 0x18c0 - 186a: 80 91 6b 24 lds r24, 0x246B ; 0x80246b - 186e: 81 30 cpi r24, 0x01 ; 1 - 1870: 19 f0 breq .+6 ; 0x1878 - 1872: 83 30 cpi r24, 0x03 ; 3 - 1874: 89 f0 breq .+34 ; 0x1898 - 1876: 24 c0 rjmp .+72 ; 0x18c0 - 1878: 80 91 70 24 lds r24, 0x2470 ; 0x802470 - 187c: 90 91 71 24 lds r25, 0x2471 ; 0x802471 - 1880: 89 2b or r24, r25 - 1882: f1 f4 brne .+60 ; 0x18c0 - 1884: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 1888: 90 91 6d 24 lds r25, 0x246D ; 0x80246d - 188c: 89 2b or r24, r25 - 188e: c1 f4 brne .+48 ; 0x18c0 - 1890: 80 91 6e 24 lds r24, 0x246E ; 0x80246e - 1894: 2a d4 rcall .+2132 ; 0x20ea - 1896: 12 c0 rjmp .+36 ; 0x18bc - 1898: 80 91 70 24 lds r24, 0x2470 ; 0x802470 - 189c: 90 91 71 24 lds r25, 0x2471 ; 0x802471 - 18a0: 89 2b or r24, r25 - 18a2: 71 f4 brne .+28 ; 0x18c0 - 18a4: 80 91 6c 24 lds r24, 0x246C ; 0x80246c - 18a8: 90 91 6d 24 lds r25, 0x246D ; 0x80246d - 18ac: 89 2b or r24, r25 - 18ae: 41 f4 brne .+16 ; 0x18c0 - 18b0: 80 91 6e 24 lds r24, 0x246E ; 0x80246e - 18b4: bf d4 rcall .+2430 ; 0x2234 - 18b6: 80 91 6e 24 lds r24, 0x246E ; 0x80246e - 18ba: f5 d4 rcall .+2538 ; 0x22a6 - 18bc: 81 11 cpse r24, r1 - 18be: 6f c0 rjmp .+222 ; 0x199e - 18c0: 80 91 6a 24 lds r24, 0x246A ; 0x80246a - 18c4: 8f 71 andi r24, 0x1F ; 31 - 18c6: 81 30 cpi r24, 0x01 ; 1 - 18c8: b9 f5 brne .+110 ; 0x1938 - 18ca: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc - 18ce: 88 23 and r24, r24 - 18d0: 99 f1 breq .+102 ; 0x1938 - 18d2: e0 90 6e 24 lds r14, 0x246E ; 0x80246e - 18d6: f0 90 6f 24 lds r15, 0x246F ; 0x80246f - 18da: 00 91 ca 20 lds r16, 0x20CA ; 0x8020ca - 18de: 10 91 cb 20 lds r17, 0x20CB ; 0x8020cb - 18e2: d8 01 movw r26, r16 - 18e4: ed 91 ld r30, X+ - 18e6: fc 91 ld r31, X - 18e8: 84 81 ldd r24, Z+4 ; 0x04 - 18ea: e8 16 cp r14, r24 - 18ec: 28 f5 brcc .+74 ; 0x1938 - 18ee: 60 e0 ldi r22, 0x00 ; 0 - 18f0: 8e 2d mov r24, r14 - 18f2: 10 dc rcall .-2016 ; 0x1114 - 18f4: 88 23 and r24, r24 - 18f6: 01 f1 breq .+64 ; 0x1938 - 18f8: f7 01 movw r30, r14 - 18fa: ff 27 eor r31, r31 - 18fc: ee 0f add r30, r30 - 18fe: ff 1f adc r31, r31 - 1900: d8 01 movw r26, r16 - 1902: 12 96 adiw r26, 0x02 ; 2 - 1904: 8d 91 ld r24, X+ - 1906: 9c 91 ld r25, X - 1908: 13 97 sbiw r26, 0x03 ; 3 - 190a: e8 0f add r30, r24 - 190c: f9 1f adc r31, r25 - 190e: 00 81 ld r16, Z - 1910: 11 81 ldd r17, Z+1 ; 0x01 - 1912: d8 01 movw r26, r16 - 1914: 16 96 adiw r26, 0x06 ; 6 - 1916: ed 91 ld r30, X+ - 1918: fc 91 ld r31, X - 191a: 17 97 sbiw r26, 0x07 ; 7 - 191c: 09 95 icall - 191e: 68 2f mov r22, r24 - 1920: 8e 2d mov r24, r14 - 1922: f8 db rcall .-2064 ; 0x1114 - 1924: 88 23 and r24, r24 - 1926: 41 f0 breq .+16 ; 0x1938 - 1928: d8 01 movw r26, r16 - 192a: 14 96 adiw r26, 0x04 ; 4 - 192c: ed 91 ld r30, X+ - 192e: fc 91 ld r31, X - 1930: 15 97 sbiw r26, 0x05 ; 5 - 1932: 09 95 icall - 1934: 81 11 cpse r24, r1 - 1936: 33 c0 rjmp .+102 ; 0x199e - 1938: 80 91 6a 24 lds r24, 0x246A ; 0x80246a - 193c: 8f 71 andi r24, 0x1F ; 31 - 193e: 82 30 cpi r24, 0x02 ; 2 - 1940: 81 f5 brne .+96 ; 0x19a2 - 1942: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc - 1946: 88 23 and r24, r24 - 1948: 61 f1 breq .+88 ; 0x19a2 - 194a: f1 2c mov r15, r1 - 194c: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca - 1950: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb - 1954: a0 81 ld r26, Z - 1956: b1 81 ldd r27, Z+1 ; 0x01 - 1958: 14 96 adiw r26, 0x04 ; 4 - 195a: 8c 91 ld r24, X - 195c: f8 16 cp r15, r24 - 195e: 08 f5 brcc .+66 ; 0x19a2 - 1960: 92 81 ldd r25, Z+2 ; 0x02 - 1962: 83 81 ldd r24, Z+3 ; 0x03 - 1964: e9 2f mov r30, r25 - 1966: f8 2f mov r31, r24 - 1968: ef 0d add r30, r15 - 196a: f1 1d adc r31, r1 - 196c: ef 0d add r30, r15 - 196e: f1 1d adc r31, r1 - 1970: 00 81 ld r16, Z - 1972: 11 81 ldd r17, Z+1 ; 0x01 - 1974: d8 01 movw r26, r16 - 1976: 16 96 adiw r26, 0x06 ; 6 +00001332 : + 1332: 80 91 c8 20 lds r24, 0x20C8 ; 0x8020c8 + 1336: 90 91 c9 20 lds r25, 0x20C9 ; 0x8020c9 + 133a: 08 95 ret + +0000133c : + 133c: 43 c6 rjmp .+3206 ; 0x1fc4 + +0000133e : + 133e: cf 93 push r28 + 1340: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc + 1344: 81 11 cpse r24, r1 + 1346: 08 c0 rjmp .+16 ; 0x1358 + 1348: 10 92 cc 20 sts 0x20CC, r1 ; 0x8020cc + 134c: 10 92 d0 20 sts 0x20D0, r1 ; 0x8020d0 + 1350: 10 92 d1 20 sts 0x20D1, r1 ; 0x8020d1 + 1354: cf 91 pop r28 + 1356: 08 95 ret + 1358: c0 e0 ldi r28, 0x00 ; 0 + 135a: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca + 135e: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb + 1362: 01 90 ld r0, Z+ + 1364: f0 81 ld r31, Z + 1366: e0 2d mov r30, r0 + 1368: 84 81 ldd r24, Z+4 ; 0x04 + 136a: c8 17 cp r28, r24 + 136c: 68 f7 brcc .-38 ; 0x1348 + 136e: 8c 2f mov r24, r28 + 1370: a0 df rcall .-192 ; 0x12b2 + 1372: cf 5f subi r28, 0xFF ; 255 + 1374: f2 cf rjmp .-28 ; 0x135a + +00001376 : + 1376: cf 93 push r28 + 1378: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc + 137c: 88 23 and r24, r24 + 137e: f1 f0 breq .+60 ; 0x13bc + 1380: c0 e0 ldi r28, 0x00 ; 0 + 1382: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca + 1386: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb + 138a: a0 81 ld r26, Z + 138c: b1 81 ldd r27, Z+1 ; 0x01 + 138e: 14 96 adiw r26, 0x04 ; 4 + 1390: 8c 91 ld r24, X + 1392: c8 17 cp r28, r24 + 1394: 98 f4 brcc .+38 ; 0x13bc + 1396: 92 81 ldd r25, Z+2 ; 0x02 + 1398: 83 81 ldd r24, Z+3 ; 0x03 + 139a: e9 2f mov r30, r25 + 139c: f8 2f mov r31, r24 + 139e: ec 0f add r30, r28 + 13a0: f1 1d adc r31, r1 + 13a2: ec 0f add r30, r28 + 13a4: f1 1d adc r31, r1 + 13a6: 01 90 ld r0, Z+ + 13a8: f0 81 ld r31, Z + 13aa: e0 2d mov r30, r0 + 13ac: 00 84 ldd r0, Z+8 ; 0x08 + 13ae: f1 85 ldd r31, Z+9 ; 0x09 + 13b0: e0 2d mov r30, r0 + 13b2: 30 97 sbiw r30, 0x00 ; 0 + 13b4: 09 f0 breq .+2 ; 0x13b8 + 13b6: 09 95 icall + 13b8: cf 5f subi r28, 0xFF ; 255 + 13ba: e3 cf rjmp .-58 ; 0x1382 + 13bc: cf 91 pop r28 + 13be: 08 95 ret + +000013c0 : + 13c0: ef 92 push r14 + 13c2: ff 92 push r15 + 13c4: 0f 93 push r16 + 13c6: 1f 93 push r17 + 13c8: cf 93 push r28 + 13ca: df 93 push r29 + 13cc: 1f 92 push r1 + 13ce: cd b7 in r28, 0x3d ; 61 + 13d0: de b7 in r29, 0x3e ; 62 + 13d2: 10 92 74 24 sts 0x2474, r1 ; 0x802474 + 13d6: 10 92 75 24 sts 0x2475, r1 ; 0x802475 + 13da: 10 92 76 24 sts 0x2476, r1 ; 0x802476 + 13de: 10 92 77 24 sts 0x2477, r1 ; 0x802477 + 13e2: 10 92 78 24 sts 0x2478, r1 ; 0x802478 + 13e6: 10 92 79 24 sts 0x2479, r1 ; 0x802479 + 13ea: 80 91 6a 24 lds r24, 0x246A ; 0x80246a + 13ee: 87 ff sbrs r24, 7 + 13f0: 07 c0 rjmp .+14 ; 0x1400 + 13f2: 20 91 70 24 lds r18, 0x2470 ; 0x802470 + 13f6: 30 91 71 24 lds r19, 0x2471 ; 0x802471 + 13fa: 23 2b or r18, r19 + 13fc: 09 f4 brne .+2 ; 0x1400 + 13fe: 1b c3 rjmp .+1590 ; 0x1a36 + 1400: 98 2f mov r25, r24 + 1402: 90 76 andi r25, 0x60 ; 96 + 1404: 90 34 cpi r25, 0x40 ; 64 + 1406: 09 f0 breq .+2 ; 0x140a + 1408: d7 c0 rjmp .+430 ; 0x15b8 + 140a: e0 91 6b 24 lds r30, 0x246B ; 0x80246b + 140e: 8e 2f mov r24, r30 + 1410: 90 e0 ldi r25, 0x00 ; 0 + 1412: fc 01 movw r30, r24 + 1414: e0 5a subi r30, 0xA0 ; 160 + 1416: f1 09 sbc r31, r1 + 1418: e8 30 cpi r30, 0x08 ; 8 + 141a: f1 05 cpc r31, r1 + 141c: 08 f0 brcs .+2 ; 0x1420 + 141e: 9a c2 rjmp .+1332 ; 0x1954 + 1420: e2 5f subi r30, 0xF2 ; 242 + 1422: fe 4f sbci r31, 0xFE ; 254 + 1424: 0c 94 49 13 jmp 0x2692 ; 0x2692 <__tablejump2__> + 1428: 00 00 nop + 142a: 03 c3 rjmp .+1542 ; 0x1a32 + 142c: 10 92 00 08 sts 0x0800, r1 ; 0x800800 <__TEXT_REGION_LENGTH__+0x700800> + 1430: 80 91 6c 24 lds r24, 0x246C ; 0x80246c + 1434: 90 91 6d 24 lds r25, 0x246D ; 0x80246d + 1438: 80 93 36 08 sts 0x0836, r24 ; 0x800836 <__TEXT_REGION_LENGTH__+0x700836> + 143c: 90 93 37 08 sts 0x0837, r25 ; 0x800837 <__TEXT_REGION_LENGTH__+0x700837> + 1440: 80 91 6e 24 lds r24, 0x246E ; 0x80246e + 1444: 8f 70 andi r24, 0x0F ; 15 + 1446: 80 93 00 08 sts 0x0800, r24 ; 0x800800 <__TEXT_REGION_LENGTH__+0x700800> + 144a: 60 91 70 24 lds r22, 0x2470 ; 0x802470 + 144e: 70 91 71 24 lds r23, 0x2471 ; 0x802471 + 1452: 8a e6 ldi r24, 0x6A ; 106 + 1454: 92 e2 ldi r25, 0x22 ; 34 + 1456: 34 d6 rcall .+3176 ; 0x20c0 + 1458: 20 91 04 20 lds r18, 0x2004 ; 0x802004 + 145c: 30 91 05 20 lds r19, 0x2005 ; 0x802005 + 1460: 80 91 70 24 lds r24, 0x2470 ; 0x802470 + 1464: 90 91 71 24 lds r25, 0x2471 ; 0x802471 + 1468: 28 17 cp r18, r24 + 146a: 39 07 cpc r19, r25 + 146c: 09 f4 brne .+2 ; 0x1470 + 146e: e1 c2 rjmp .+1474 ; 0x1a32 + 1470: 80 93 04 20 sts 0x2004, r24 ; 0x802004 + 1474: 90 93 05 20 sts 0x2005, r25 ; 0x802005 + 1478: 26 c0 rjmp .+76 ; 0x14c6 + 147a: 10 92 40 08 sts 0x0840, r1 ; 0x800840 <__TEXT_REGION_LENGTH__+0x700840> + 147e: 80 91 6c 24 lds r24, 0x246C ; 0x80246c + 1482: 90 91 6d 24 lds r25, 0x246D ; 0x80246d + 1486: 80 93 76 08 sts 0x0876, r24 ; 0x800876 <__TEXT_REGION_LENGTH__+0x700876> + 148a: 90 93 77 08 sts 0x0877, r25 ; 0x800877 <__TEXT_REGION_LENGTH__+0x700877> + 148e: 80 91 6e 24 lds r24, 0x246E ; 0x80246e + 1492: 8f 70 andi r24, 0x0F ; 15 + 1494: 80 93 40 08 sts 0x0840, r24 ; 0x800840 <__TEXT_REGION_LENGTH__+0x700840> + 1498: 60 91 70 24 lds r22, 0x2470 ; 0x802470 + 149c: 70 91 71 24 lds r23, 0x2471 ; 0x802471 + 14a0: 8a e7 ldi r24, 0x7A ; 122 + 14a2: 94 e2 ldi r25, 0x24 ; 36 + 14a4: 0d d6 rcall .+3098 ; 0x20c0 + 14a6: 20 91 02 20 lds r18, 0x2002 ; 0x802002 + 14aa: 30 91 03 20 lds r19, 0x2003 ; 0x802003 + 14ae: 80 91 70 24 lds r24, 0x2470 ; 0x802470 + 14b2: 90 91 71 24 lds r25, 0x2471 ; 0x802471 + 14b6: 28 17 cp r18, r24 + 14b8: 39 07 cpc r19, r25 + 14ba: 09 f4 brne .+2 ; 0x14be + 14bc: ba c2 rjmp .+1396 ; 0x1a32 + 14be: 80 93 02 20 sts 0x2002, r24 ; 0x802002 + 14c2: 90 93 03 20 sts 0x2003, r25 ; 0x802003 + 14c6: e0 91 00 20 lds r30, 0x2000 ; 0x802000 <__data_start> + 14ca: 8e 2f mov r24, r30 + 14cc: 90 e0 ldi r25, 0x00 ; 0 + 14ce: 88 30 cpi r24, 0x08 ; 8 + 14d0: 91 05 cpc r25, r1 + 14d2: 08 f0 brcs .+2 ; 0x14d6 + 14d4: ae c2 rjmp .+1372 ; 0x1a32 + 14d6: fc 01 movw r30, r24 + 14d8: ea 5e subi r30, 0xEA ; 234 + 14da: fe 4f sbci r31, 0xFE ; 254 + 14dc: 0c 94 49 13 jmp 0x2692 ; 0x2692 <__tablejump2__> + 14e0: 10 92 68 09 sts 0x0968, r1 ; 0x800968 <__TEXT_REGION_LENGTH__+0x700968> + 14e4: 10 92 69 09 sts 0x0969, r1 ; 0x800969 <__TEXT_REGION_LENGTH__+0x700969> + 14e8: 80 91 6c 24 lds r24, 0x246C ; 0x80246c + 14ec: 80 93 c0 20 sts 0x20C0, r24 ; 0x8020c0 <__data_end> + 14f0: a0 c2 rjmp .+1344 ; 0x1a32 + 14f2: 80 91 6c 24 lds r24, 0x246C ; 0x80246c + 14f6: 80 93 24 06 sts 0x0624, r24 ; 0x800624 <__TEXT_REGION_LENGTH__+0x700624> + 14fa: 9b c2 rjmp .+1334 ; 0x1a32 + 14fc: e0 91 6c 24 lds r30, 0x246C ; 0x80246c + 1500: f0 91 6d 24 lds r31, 0x246D ; 0x80246d + 1504: e8 30 cpi r30, 0x08 ; 8 + 1506: f1 05 cpc r31, r1 + 1508: 08 f0 brcs .+2 ; 0x150c + 150a: 24 c2 rjmp .+1096 ; 0x1954 + 150c: e2 5e subi r30, 0xE2 ; 226 + 150e: fe 4f sbci r31, 0xFE ; 254 + 1510: 0c 94 49 13 jmp 0x2692 ; 0x2692 <__tablejump2__> + 1514: 60 e0 ldi r22, 0x00 ; 0 + 1516: 80 e0 ldi r24, 0x00 ; 0 + 1518: 0e 94 15 02 call 0x42a ; 0x42a + 151c: 80 91 6e 24 lds r24, 0x246E ; 0x80246e + 1520: 0e 94 e2 01 call 0x3c4 ; 0x3c4 + 1524: 0e 94 81 02 call 0x502 ; 0x502 + 1528: 84 c2 rjmp .+1288 ; 0x1a32 + 152a: 60 e0 ldi r22, 0x00 ; 0 + 152c: 80 e0 ldi r24, 0x00 ; 0 + 152e: 0e 94 15 02 call 0x42a ; 0x42a + 1532: 80 91 6e 24 lds r24, 0x246E ; 0x80246e + 1536: 0e 94 e2 01 call 0x3c4 ; 0x3c4 + 153a: 57 d8 rcall .-3922 ; 0x5ea + 153c: 7a c2 rjmp .+1268 ; 0x1a32 + 153e: 61 e0 ldi r22, 0x01 ; 1 + 1540: 81 e0 ldi r24, 0x01 ; 1 + 1542: 0e 94 15 02 call 0x42a ; 0x42a + 1546: 80 91 6e 24 lds r24, 0x246E ; 0x80246e + 154a: 0e 94 e2 01 call 0x3c4 ; 0x3c4 + 154e: 80 91 6f 24 lds r24, 0x246F ; 0x80246f + 1552: 0e 94 f8 01 call 0x3f0 ; 0x3f0 + 1556: c2 d8 rcall .-3708 ; 0x6dc + 1558: 6c c2 rjmp .+1240 ; 0x1a32 + 155a: 34 d9 rcall .-3480 ; 0x7c4 + 155c: 6a c2 rjmp .+1236 ; 0x1a32 + 155e: af d9 rcall .-3234 ; 0x8be + 1560: 68 c2 rjmp .+1232 ; 0x1a32 + 1562: 60 e0 ldi r22, 0x00 ; 0 + 1564: 80 e0 ldi r24, 0x00 ; 0 + 1566: 0e 94 15 02 call 0x42a ; 0x42a + 156a: 80 91 6e 24 lds r24, 0x246E ; 0x80246e + 156e: 0e 94 e2 01 call 0x3c4 ; 0x3c4 + 1572: 1c da rcall .-3016 ; 0x9ac + 1574: 5e c2 rjmp .+1212 ; 0x1a32 + 1576: 61 e0 ldi r22, 0x01 ; 1 + 1578: 80 e0 ldi r24, 0x00 ; 0 + 157a: 0e 94 15 02 call 0x42a ; 0x42a + 157e: 80 91 6e 24 lds r24, 0x246E ; 0x80246e + 1582: 0e 94 e2 01 call 0x3c4 ; 0x3c4 + 1586: 5a da rcall .-2892 ; 0xa3c + 1588: 54 c2 rjmp .+1192 ; 0x1a32 + 158a: 62 e0 ldi r22, 0x02 ; 2 + 158c: 80 e0 ldi r24, 0x00 ; 0 + 158e: 0e 94 15 02 call 0x42a ; 0x42a + 1592: 80 91 6e 24 lds r24, 0x246E ; 0x80246e + 1596: 80 68 ori r24, 0x80 ; 128 + 1598: 0e 94 e2 01 call 0x3c4 ; 0x3c4 + 159c: b2 da rcall .-2716 ; 0xb02 + 159e: 49 c2 rjmp .+1170 ; 0x1a32 + 15a0: 80 91 6c 24 lds r24, 0x246C ; 0x80246c + 15a4: 80 93 84 06 sts 0x0684, r24 ; 0x800684 <__TEXT_REGION_LENGTH__+0x700684> + 15a8: 44 c2 rjmp .+1160 ; 0x1a32 + 15aa: e9 e7 ldi r30, 0x79 ; 121 + 15ac: f0 e0 ldi r31, 0x00 ; 0 + 15ae: 91 e0 ldi r25, 0x01 ; 1 + 15b0: 88 ed ldi r24, 0xD8 ; 216 + 15b2: f8 94 cli + 15b4: 84 bf out 0x34, r24 ; 52 + 15b6: 90 83 st Z, r25 + 15b8: 91 11 cpse r25, r1 + 15ba: cc c1 rjmp .+920 ; 0x1954 + 15bc: 87 ff sbrs r24, 7 + 15be: fd c0 rjmp .+506 ; 0x17ba + 15c0: 20 91 70 24 lds r18, 0x2470 ; 0x802470 + 15c4: 30 91 71 24 lds r19, 0x2471 ; 0x802471 + 15c8: 21 15 cp r18, r1 + 15ca: 31 05 cpc r19, r1 + 15cc: 09 f4 brne .+2 ; 0x15d0 + 15ce: c2 c1 rjmp .+900 ; 0x1954 + 15d0: 8f 71 andi r24, 0x1F ; 31 + 15d2: 09 f0 breq .+2 ; 0x15d6 + 15d4: 9f c0 rjmp .+318 ; 0x1714 + 15d6: 80 91 6b 24 lds r24, 0x246B ; 0x80246b + 15da: 86 30 cpi r24, 0x06 ; 6 + 15dc: 71 f0 breq .+28 ; 0x15fa + 15de: 88 30 cpi r24, 0x08 ; 8 + 15e0: 09 f4 brne .+2 ; 0x15e4 + 15e2: 8e c0 rjmp .+284 ; 0x1700 + 15e4: 81 11 cpse r24, r1 + 15e6: b6 c1 rjmp .+876 ; 0x1954 + 15e8: 22 30 cpi r18, 0x02 ; 2 + 15ea: 31 05 cpc r19, r1 + 15ec: 09 f0 breq .+2 ; 0x15f0 + 15ee: b2 c1 rjmp .+868 ; 0x1954 + 15f0: 62 e0 ldi r22, 0x02 ; 2 + 15f2: 70 e0 ldi r23, 0x00 ; 0 + 15f4: 80 ed ldi r24, 0xD0 ; 208 + 15f6: 90 e2 ldi r25, 0x20 ; 32 + 15f8: 8b c0 rjmp .+278 ; 0x1710 + 15fa: 80 91 6c 24 lds r24, 0x246C ; 0x80246c + 15fe: 90 91 6d 24 lds r25, 0x246D ; 0x80246d + 1602: 29 2f mov r18, r25 + 1604: 33 27 eor r19, r19 + 1606: 22 30 cpi r18, 0x02 ; 2 + 1608: 31 05 cpc r19, r1 + 160a: a1 f0 breq .+40 ; 0x1634 + 160c: 64 f4 brge .+24 ; 0x1626 + 160e: 21 30 cpi r18, 0x01 ; 1 + 1610: 31 05 cpc r19, r1 + 1612: 09 f0 breq .+2 ; 0x1616 + 1614: 9f c1 rjmp .+830 ; 0x1954 + 1616: 80 91 10 20 lds r24, 0x2010 ; 0x802010 + 161a: 90 91 11 20 lds r25, 0x2011 ; 0x802011 + 161e: dc 01 movw r26, r24 + 1620: 6c 91 ld r22, X + 1622: 70 e0 ldi r23, 0x00 ; 0 + 1624: 5b c0 rjmp .+182 ; 0x16dc + 1626: 23 30 cpi r18, 0x03 ; 3 + 1628: 31 05 cpc r19, r1 + 162a: 89 f1 breq .+98 ; 0x168e + 162c: 2f 30 cpi r18, 0x0F ; 15 + 162e: 31 05 cpc r19, r1 + 1630: 09 f1 breq .+66 ; 0x1674 + 1632: 90 c1 rjmp .+800 ; 0x1954 + 1634: e0 91 10 20 lds r30, 0x2010 ; 0x802010 + 1638: f0 91 11 20 lds r31, 0x2011 ; 0x802011 + 163c: 21 89 ldd r18, Z+17 ; 0x11 + 163e: 82 17 cp r24, r18 + 1640: 08 f0 brcs .+2 ; 0x1644 + 1642: 88 c1 rjmp .+784 ; 0x1954 + 1644: 99 27 eor r25, r25 + 1646: 88 0f add r24, r24 + 1648: 99 1f adc r25, r25 + 164a: 88 0f add r24, r24 + 164c: 99 1f adc r25, r25 + 164e: e0 91 12 20 lds r30, 0x2012 ; 0x802012 + 1652: f0 91 13 20 lds r31, 0x2013 ; 0x802013 + 1656: e8 0f add r30, r24 + 1658: f9 1f adc r31, r25 + 165a: 80 81 ld r24, Z + 165c: 91 81 ldd r25, Z+1 ; 0x01 + 165e: fc 01 movw r30, r24 + 1660: 62 81 ldd r22, Z+2 ; 0x02 + 1662: 73 81 ldd r23, Z+3 ; 0x03 + 1664: 2d d5 rcall .+2650 ; 0x20c0 + 1666: e0 91 72 24 lds r30, 0x2472 ; 0x802472 + 166a: f0 91 73 24 lds r31, 0x2473 ; 0x802473 + 166e: 82 e0 ldi r24, 0x02 ; 2 + 1670: 81 83 std Z+1, r24 ; 0x01 + 1672: 35 c0 rjmp .+106 ; 0x16de + 1674: 80 91 14 20 lds r24, 0x2014 ; 0x802014 + 1678: 90 91 15 20 lds r25, 0x2015 ; 0x802015 + 167c: 00 97 sbiw r24, 0x00 ; 0 + 167e: 09 f4 brne .+2 ; 0x1682 + 1680: 69 c1 rjmp .+722 ; 0x1954 + 1682: dc 01 movw r26, r24 + 1684: 12 96 adiw r26, 0x02 ; 2 + 1686: 6d 91 ld r22, X+ + 1688: 7c 91 ld r23, X + 168a: 13 97 sbiw r26, 0x03 ; 3 + 168c: 27 c0 rjmp .+78 ; 0x16dc + 168e: 99 27 eor r25, r25 + 1690: 81 30 cpi r24, 0x01 ; 1 + 1692: 91 05 cpc r25, r1 + 1694: 69 f0 breq .+26 ; 0x16b0 + 1696: 38 f0 brcs .+14 ; 0x16a6 + 1698: 02 97 sbiw r24, 0x02 ; 2 + 169a: 09 f0 breq .+2 ; 0x169e + 169c: 5b c1 rjmp .+694 ; 0x1954 + 169e: 68 e1 ldi r22, 0x18 ; 24 + 16a0: 8a e8 ldi r24, 0x8A ; 138 + 16a2: 90 e2 ldi r25, 0x20 ; 32 + 16a4: 08 c0 rjmp .+16 ; 0x16b6 + 16a6: 64 e0 ldi r22, 0x04 ; 4 + 16a8: 70 e0 ldi r23, 0x00 ; 0 + 16aa: 8e ea ldi r24, 0xAE ; 174 + 16ac: 90 e2 ldi r25, 0x20 ; 32 + 16ae: 16 c0 rjmp .+44 ; 0x16dc + 16b0: 69 e0 ldi r22, 0x09 ; 9 + 16b2: 83 ea ldi r24, 0xA3 ; 163 + 16b4: 90 e2 ldi r25, 0x20 ; 32 + 16b6: 28 2f mov r18, r24 + 16b8: aa e5 ldi r26, 0x5A ; 90 + 16ba: b0 e2 ldi r27, 0x20 ; 32 + 16bc: fc 01 movw r30, r24 + 16be: 81 91 ld r24, Z+ + 16c0: 90 e0 ldi r25, 0x00 ; 0 + 16c2: 8d 93 st X+, r24 + 16c4: 9d 93 st X+, r25 + 16c6: 8e 2f mov r24, r30 + 16c8: 82 1b sub r24, r18 + 16ca: 86 17 cp r24, r22 + 16cc: c0 f3 brcs .-16 ; 0x16be + 16ce: 66 0f add r22, r22 + 16d0: 6e 5f subi r22, 0xFE ; 254 + 16d2: 60 93 58 20 sts 0x2058, r22 ; 0x802058 + 16d6: 70 e0 ldi r23, 0x00 ; 0 + 16d8: 88 e5 ldi r24, 0x58 ; 88 + 16da: 90 e2 ldi r25, 0x20 ; 32 + 16dc: f1 d4 rcall .+2530 ; 0x20c0 + 16de: 80 91 70 24 lds r24, 0x2470 ; 0x802470 + 16e2: 90 91 71 24 lds r25, 0x2471 ; 0x802471 + 16e6: 20 91 74 24 lds r18, 0x2474 ; 0x802474 + 16ea: 30 91 75 24 lds r19, 0x2475 ; 0x802475 + 16ee: 82 17 cp r24, r18 + 16f0: 93 07 cpc r25, r19 + 16f2: 08 f0 brcs .+2 ; 0x16f6 + 16f4: 9e c1 rjmp .+828 ; 0x1a32 + 16f6: 80 93 74 24 sts 0x2474, r24 ; 0x802474 + 16fa: 90 93 75 24 sts 0x2475, r25 ; 0x802475 + 16fe: 99 c1 rjmp .+818 ; 0x1a32 + 1700: 21 30 cpi r18, 0x01 ; 1 + 1702: 31 05 cpc r19, r1 + 1704: 09 f0 breq .+2 ; 0x1708 + 1706: 26 c1 rjmp .+588 ; 0x1954 + 1708: 61 e0 ldi r22, 0x01 ; 1 + 170a: 70 e0 ldi r23, 0x00 ; 0 + 170c: 8c ec ldi r24, 0xCC ; 204 + 170e: 90 e2 ldi r25, 0x20 ; 32 + 1710: d7 d4 rcall .+2478 ; 0x20c0 + 1712: 8f c1 rjmp .+798 ; 0x1a32 + 1714: 81 30 cpi r24, 0x01 ; 1 + 1716: c9 f5 brne .+114 ; 0x178a + 1718: 80 91 6b 24 lds r24, 0x246B ; 0x80246b + 171c: 8a 30 cpi r24, 0x0A ; 10 + 171e: 09 f0 breq .+2 ; 0x1722 + 1720: 19 c1 rjmp .+562 ; 0x1954 + 1722: 21 30 cpi r18, 0x01 ; 1 + 1724: 31 05 cpc r19, r1 + 1726: 09 f0 breq .+2 ; 0x172a + 1728: 15 c1 rjmp .+554 ; 0x1954 + 172a: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc + 172e: 88 23 and r24, r24 + 1730: 09 f4 brne .+2 ; 0x1734 + 1732: 10 c1 rjmp .+544 ; 0x1954 + 1734: e0 90 6e 24 lds r14, 0x246E ; 0x80246e + 1738: f0 90 6f 24 lds r15, 0x246F ; 0x80246f + 173c: 00 91 ca 20 lds r16, 0x20CA ; 0x8020ca + 1740: 10 91 cb 20 lds r17, 0x20CB ; 0x8020cb + 1744: d8 01 movw r26, r16 + 1746: ed 91 ld r30, X+ + 1748: fc 91 ld r31, X + 174a: 84 81 ldd r24, Z+4 ; 0x04 + 174c: e8 16 cp r14, r24 + 174e: 08 f0 brcs .+2 ; 0x1752 + 1750: 01 c1 rjmp .+514 ; 0x1954 + 1752: 60 e0 ldi r22, 0x00 ; 0 + 1754: 8e 2d mov r24, r14 + 1756: 27 dd rcall .-1458 ; 0x11a6 + 1758: 88 23 and r24, r24 + 175a: 09 f4 brne .+2 ; 0x175e + 175c: fb c0 rjmp .+502 ; 0x1954 + 175e: ff 24 eor r15, r15 + 1760: ee 0c add r14, r14 + 1762: ff 1c adc r15, r15 + 1764: f8 01 movw r30, r16 + 1766: 82 81 ldd r24, Z+2 ; 0x02 + 1768: 93 81 ldd r25, Z+3 ; 0x03 + 176a: 8e 0d add r24, r14 + 176c: 9f 1d adc r25, r15 + 176e: dc 01 movw r26, r24 + 1770: ed 91 ld r30, X+ + 1772: fc 91 ld r31, X + 1774: 06 80 ldd r0, Z+6 ; 0x06 + 1776: f7 81 ldd r31, Z+7 ; 0x07 + 1778: e0 2d mov r30, r0 + 177a: 09 95 icall + 177c: 80 93 ce 20 sts 0x20CE, r24 ; 0x8020ce + 1780: 61 e0 ldi r22, 0x01 ; 1 + 1782: 70 e0 ldi r23, 0x00 ; 0 + 1784: 8e ec ldi r24, 0xCE ; 206 + 1786: 90 e2 ldi r25, 0x20 ; 32 + 1788: c3 cf rjmp .-122 ; 0x1710 + 178a: 82 30 cpi r24, 0x02 ; 2 + 178c: 09 f0 breq .+2 ; 0x1790 + 178e: e2 c0 rjmp .+452 ; 0x1954 + 1790: 80 91 6b 24 lds r24, 0x246B ; 0x80246b + 1794: 81 11 cpse r24, r1 + 1796: de c0 rjmp .+444 ; 0x1954 + 1798: 22 30 cpi r18, 0x02 ; 2 + 179a: 31 05 cpc r19, r1 + 179c: 09 f0 breq .+2 ; 0x17a0 + 179e: da c0 rjmp .+436 ; 0x1954 + 17a0: 80 91 6e 24 lds r24, 0x246E ; 0x80246e + 17a4: e5 d4 rcall .+2506 ; 0x2170 + 17a6: 90 e0 ldi r25, 0x00 ; 0 + 17a8: 80 93 c6 20 sts 0x20C6, r24 ; 0x8020c6 + 17ac: 90 93 c7 20 sts 0x20C7, r25 ; 0x8020c7 + 17b0: 62 e0 ldi r22, 0x02 ; 2 + 17b2: 70 e0 ldi r23, 0x00 ; 0 + 17b4: 86 ec ldi r24, 0xC6 ; 198 + 17b6: 90 e2 ldi r25, 0x20 ; 32 + 17b8: ab cf rjmp .-170 ; 0x1710 + 17ba: 8f 71 andi r24, 0x1F ; 31 + 17bc: 09 f0 breq .+2 ; 0x17c0 + 17be: 7d c0 rjmp .+250 ; 0x18ba + 17c0: 80 91 6b 24 lds r24, 0x246B ; 0x80246b + 17c4: 83 30 cpi r24, 0x03 ; 3 + 17c6: 09 f4 brne .+2 ; 0x17ca + 17c8: c5 c0 rjmp .+394 ; 0x1954 + 17ca: 18 f4 brcc .+6 ; 0x17d2 + 17cc: 81 30 cpi r24, 0x01 ; 1 + 17ce: a1 f0 breq .+40 ; 0x17f8 + 17d0: c1 c0 rjmp .+386 ; 0x1954 + 17d2: 85 30 cpi r24, 0x05 ; 5 + 17d4: 19 f0 breq .+6 ; 0x17dc + 17d6: 89 30 cpi r24, 0x09 ; 9 + 17d8: 39 f1 breq .+78 ; 0x1828 + 17da: bc c0 rjmp .+376 ; 0x1954 + 17dc: 80 91 70 24 lds r24, 0x2470 ; 0x802470 + 17e0: 90 91 71 24 lds r25, 0x2471 ; 0x802471 + 17e4: 89 2b or r24, r25 + 17e6: 09 f0 breq .+2 ; 0x17ea + 17e8: b5 c0 rjmp .+362 ; 0x1954 + 17ea: 8f ec ldi r24, 0xCF ; 207 + 17ec: 98 e0 ldi r25, 0x08 ; 8 + 17ee: 80 93 76 24 sts 0x2476, r24 ; 0x802476 + 17f2: 90 93 77 24 sts 0x2477, r25 ; 0x802477 + 17f6: 1d c1 rjmp .+570 ; 0x1a32 + 17f8: 80 91 70 24 lds r24, 0x2470 ; 0x802470 + 17fc: 90 91 71 24 lds r25, 0x2471 ; 0x802471 + 1800: 89 2b or r24, r25 + 1802: 09 f0 breq .+2 ; 0x1806 + 1804: a7 c0 rjmp .+334 ; 0x1954 + 1806: 80 91 6c 24 lds r24, 0x246C ; 0x80246c + 180a: 90 91 6d 24 lds r25, 0x246D ; 0x80246d + 180e: 01 97 sbiw r24, 0x01 ; 1 + 1810: 09 f0 breq .+2 ; 0x1814 + 1812: a0 c0 rjmp .+320 ; 0x1954 + 1814: 80 91 d0 20 lds r24, 0x20D0 ; 0x8020d0 + 1818: 90 91 d1 20 lds r25, 0x20D1 ; 0x8020d1 + 181c: 8d 7f andi r24, 0xFD ; 253 + 181e: 80 93 d0 20 sts 0x20D0, r24 ; 0x8020d0 + 1822: 90 93 d1 20 sts 0x20D1, r25 ; 0x8020d1 + 1826: 05 c1 rjmp .+522 ; 0x1a32 + 1828: 80 91 70 24 lds r24, 0x2470 ; 0x802470 + 182c: 90 91 71 24 lds r25, 0x2471 ; 0x802471 + 1830: 89 2b or r24, r25 + 1832: 09 f0 breq .+2 ; 0x1836 + 1834: 8f c0 rjmp .+286 ; 0x1954 + 1836: 41 d4 rcall .+2178 ; 0x20ba + 1838: 88 23 and r24, r24 + 183a: 09 f4 brne .+2 ; 0x183e + 183c: 8b c0 rjmp .+278 ; 0x1954 + 183e: 20 91 6c 24 lds r18, 0x246C ; 0x80246c + 1842: 30 91 6d 24 lds r19, 0x246D ; 0x80246d + 1846: 33 27 eor r19, r19 + 1848: e0 91 10 20 lds r30, 0x2010 ; 0x802010 + 184c: f0 91 11 20 lds r31, 0x2011 ; 0x802011 + 1850: 81 89 ldd r24, Z+17 ; 0x11 + 1852: 90 e0 ldi r25, 0x00 ; 0 + 1854: 82 17 cp r24, r18 + 1856: 93 07 cpc r25, r19 + 1858: 08 f4 brcc .+2 ; 0x185c + 185a: 7c c0 rjmp .+248 ; 0x1954 + 185c: 70 dd rcall .-1312 ; 0x133e + 185e: 80 91 6c 24 lds r24, 0x246C ; 0x80246c + 1862: 90 91 6d 24 lds r25, 0x246D ; 0x80246d + 1866: 80 93 cc 20 sts 0x20CC, r24 ; 0x8020cc + 186a: 88 23 and r24, r24 + 186c: 09 f4 brne .+2 ; 0x1870 + 186e: e1 c0 rjmp .+450 ; 0x1a32 + 1870: 99 27 eor r25, r25 + 1872: 81 50 subi r24, 0x01 ; 1 + 1874: 90 4c sbci r25, 0xC0 ; 192 + 1876: 88 0f add r24, r24 + 1878: 99 1f adc r25, r25 + 187a: 88 0f add r24, r24 + 187c: 99 1f adc r25, r25 + 187e: 20 91 12 20 lds r18, 0x2012 ; 0x802012 + 1882: 30 91 13 20 lds r19, 0x2013 ; 0x802013 + 1886: 82 0f add r24, r18 + 1888: 93 1f adc r25, r19 + 188a: 80 93 ca 20 sts 0x20CA, r24 ; 0x8020ca + 188e: 90 93 cb 20 sts 0x20CB, r25 ; 0x8020cb + 1892: 10 e0 ldi r17, 0x00 ; 0 + 1894: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca + 1898: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb + 189c: 01 90 ld r0, Z+ + 189e: f0 81 ld r31, Z + 18a0: e0 2d mov r30, r0 + 18a2: 84 81 ldd r24, Z+4 ; 0x04 + 18a4: 18 17 cp r17, r24 + 18a6: 08 f0 brcs .+2 ; 0x18aa + 18a8: c4 c0 rjmp .+392 ; 0x1a32 + 18aa: 60 e0 ldi r22, 0x00 ; 0 + 18ac: 81 2f mov r24, r17 + 18ae: ce dc rcall .-1636 ; 0x124c + 18b0: 88 23 and r24, r24 + 18b2: 09 f4 brne .+2 ; 0x18b6 + 18b4: 4f c0 rjmp .+158 ; 0x1954 + 18b6: 1f 5f subi r17, 0xFF ; 255 + 18b8: ed cf rjmp .-38 ; 0x1894 + 18ba: 81 30 cpi r24, 0x01 ; 1 + 18bc: f1 f4 brne .+60 ; 0x18fa + 18be: 80 91 6b 24 lds r24, 0x246B ; 0x80246b + 18c2: 8b 30 cpi r24, 0x0B ; 11 + 18c4: 09 f0 breq .+2 ; 0x18c8 + 18c6: 46 c0 rjmp .+140 ; 0x1954 + 18c8: 80 91 70 24 lds r24, 0x2470 ; 0x802470 + 18cc: 90 91 71 24 lds r25, 0x2471 ; 0x802471 + 18d0: 89 2b or r24, r25 + 18d2: 09 f0 breq .+2 ; 0x18d6 + 18d4: 3f c0 rjmp .+126 ; 0x1954 + 18d6: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc + 18da: 88 23 and r24, r24 + 18dc: 09 f4 brne .+2 ; 0x18e0 + 18de: 3a c0 rjmp .+116 ; 0x1954 + 18e0: 10 91 6e 24 lds r17, 0x246E ; 0x80246e + 18e4: 60 91 6c 24 lds r22, 0x246C ; 0x80246c + 18e8: 81 2f mov r24, r17 + 18ea: 69 83 std Y+1, r22 ; 0x01 + 18ec: e2 dc rcall .-1596 ; 0x12b2 + 18ee: 69 81 ldd r22, Y+1 ; 0x01 + 18f0: 88 23 and r24, r24 + 18f2: 81 f1 breq .+96 ; 0x1954 + 18f4: 81 2f mov r24, r17 + 18f6: aa dc rcall .-1708 ; 0x124c + 18f8: 2b c0 rjmp .+86 ; 0x1950 + 18fa: 82 30 cpi r24, 0x02 ; 2 + 18fc: 59 f5 brne .+86 ; 0x1954 + 18fe: 80 91 6b 24 lds r24, 0x246B ; 0x80246b + 1902: 81 30 cpi r24, 0x01 ; 1 + 1904: 19 f0 breq .+6 ; 0x190c + 1906: 83 30 cpi r24, 0x03 ; 3 + 1908: 89 f0 breq .+34 ; 0x192c + 190a: 24 c0 rjmp .+72 ; 0x1954 + 190c: 80 91 70 24 lds r24, 0x2470 ; 0x802470 + 1910: 90 91 71 24 lds r25, 0x2471 ; 0x802471 + 1914: 89 2b or r24, r25 + 1916: f1 f4 brne .+60 ; 0x1954 + 1918: 80 91 6c 24 lds r24, 0x246C ; 0x80246c + 191c: 90 91 6d 24 lds r25, 0x246D ; 0x80246d + 1920: 89 2b or r24, r25 + 1922: c1 f4 brne .+48 ; 0x1954 + 1924: 80 91 6e 24 lds r24, 0x246E ; 0x80246e + 1928: 2a d4 rcall .+2132 ; 0x217e + 192a: 12 c0 rjmp .+36 ; 0x1950 + 192c: 80 91 70 24 lds r24, 0x2470 ; 0x802470 + 1930: 90 91 71 24 lds r25, 0x2471 ; 0x802471 + 1934: 89 2b or r24, r25 + 1936: 71 f4 brne .+28 ; 0x1954 + 1938: 80 91 6c 24 lds r24, 0x246C ; 0x80246c + 193c: 90 91 6d 24 lds r25, 0x246D ; 0x80246d + 1940: 89 2b or r24, r25 + 1942: 41 f4 brne .+16 ; 0x1954 + 1944: 80 91 6e 24 lds r24, 0x246E ; 0x80246e + 1948: bf d4 rcall .+2430 ; 0x22c8 + 194a: 80 91 6e 24 lds r24, 0x246E ; 0x80246e + 194e: f5 d4 rcall .+2538 ; 0x233a + 1950: 81 11 cpse r24, r1 + 1952: 6f c0 rjmp .+222 ; 0x1a32 + 1954: 80 91 6a 24 lds r24, 0x246A ; 0x80246a + 1958: 8f 71 andi r24, 0x1F ; 31 + 195a: 81 30 cpi r24, 0x01 ; 1 + 195c: b9 f5 brne .+110 ; 0x19cc + 195e: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc + 1962: 88 23 and r24, r24 + 1964: 99 f1 breq .+102 ; 0x19cc + 1966: e0 90 6e 24 lds r14, 0x246E ; 0x80246e + 196a: f0 90 6f 24 lds r15, 0x246F ; 0x80246f + 196e: 00 91 ca 20 lds r16, 0x20CA ; 0x8020ca + 1972: 10 91 cb 20 lds r17, 0x20CB ; 0x8020cb + 1976: d8 01 movw r26, r16 1978: ed 91 ld r30, X+ 197a: fc 91 ld r31, X - 197c: 17 97 sbiw r26, 0x07 ; 7 - 197e: 09 95 icall - 1980: 68 2f mov r22, r24 - 1982: 8f 2d mov r24, r15 - 1984: c7 db rcall .-2162 ; 0x1114 - 1986: 88 23 and r24, r24 - 1988: 61 f0 breq .+24 ; 0x19a2 - 198a: d8 01 movw r26, r16 - 198c: 14 96 adiw r26, 0x04 ; 4 - 198e: ed 91 ld r30, X+ - 1990: fc 91 ld r31, X - 1992: 15 97 sbiw r26, 0x05 ; 5 - 1994: 09 95 icall - 1996: 81 11 cpse r24, r1 - 1998: 02 c0 rjmp .+4 ; 0x199e - 199a: f3 94 inc r15 - 199c: d7 cf rjmp .-82 ; 0x194c - 199e: 81 e0 ldi r24, 0x01 ; 1 - 19a0: 01 c0 rjmp .+2 ; 0x19a4 - 19a2: 80 e0 ldi r24, 0x00 ; 0 - 19a4: 0f 90 pop r0 - 19a6: df 91 pop r29 - 19a8: cf 91 pop r28 - 19aa: 1f 91 pop r17 - 19ac: 0f 91 pop r16 - 19ae: ff 90 pop r15 - 19b0: ef 90 pop r14 - 19b2: 08 95 ret + 197c: 84 81 ldd r24, Z+4 ; 0x04 + 197e: e8 16 cp r14, r24 + 1980: 28 f5 brcc .+74 ; 0x19cc + 1982: 60 e0 ldi r22, 0x00 ; 0 + 1984: 8e 2d mov r24, r14 + 1986: 0f dc rcall .-2018 ; 0x11a6 + 1988: 88 23 and r24, r24 + 198a: 01 f1 breq .+64 ; 0x19cc + 198c: f7 01 movw r30, r14 + 198e: ff 27 eor r31, r31 + 1990: ee 0f add r30, r30 + 1992: ff 1f adc r31, r31 + 1994: d8 01 movw r26, r16 + 1996: 12 96 adiw r26, 0x02 ; 2 + 1998: 8d 91 ld r24, X+ + 199a: 9c 91 ld r25, X + 199c: 13 97 sbiw r26, 0x03 ; 3 + 199e: e8 0f add r30, r24 + 19a0: f9 1f adc r31, r25 + 19a2: 00 81 ld r16, Z + 19a4: 11 81 ldd r17, Z+1 ; 0x01 + 19a6: d8 01 movw r26, r16 + 19a8: 16 96 adiw r26, 0x06 ; 6 + 19aa: ed 91 ld r30, X+ + 19ac: fc 91 ld r31, X + 19ae: 17 97 sbiw r26, 0x07 ; 7 + 19b0: 09 95 icall + 19b2: 68 2f mov r22, r24 + 19b4: 8e 2d mov r24, r14 + 19b6: f7 db rcall .-2066 ; 0x11a6 + 19b8: 88 23 and r24, r24 + 19ba: 41 f0 breq .+16 ; 0x19cc + 19bc: d8 01 movw r26, r16 + 19be: 14 96 adiw r26, 0x04 ; 4 + 19c0: ed 91 ld r30, X+ + 19c2: fc 91 ld r31, X + 19c4: 15 97 sbiw r26, 0x05 ; 5 + 19c6: 09 95 icall + 19c8: 81 11 cpse r24, r1 + 19ca: 33 c0 rjmp .+102 ; 0x1a32 + 19cc: 80 91 6a 24 lds r24, 0x246A ; 0x80246a + 19d0: 8f 71 andi r24, 0x1F ; 31 + 19d2: 82 30 cpi r24, 0x02 ; 2 + 19d4: 81 f5 brne .+96 ; 0x1a36 + 19d6: 80 91 cc 20 lds r24, 0x20CC ; 0x8020cc + 19da: 88 23 and r24, r24 + 19dc: 61 f1 breq .+88 ; 0x1a36 + 19de: f1 2c mov r15, r1 + 19e0: e0 91 ca 20 lds r30, 0x20CA ; 0x8020ca + 19e4: f0 91 cb 20 lds r31, 0x20CB ; 0x8020cb + 19e8: a0 81 ld r26, Z + 19ea: b1 81 ldd r27, Z+1 ; 0x01 + 19ec: 14 96 adiw r26, 0x04 ; 4 + 19ee: 8c 91 ld r24, X + 19f0: f8 16 cp r15, r24 + 19f2: 08 f5 brcc .+66 ; 0x1a36 + 19f4: 92 81 ldd r25, Z+2 ; 0x02 + 19f6: 83 81 ldd r24, Z+3 ; 0x03 + 19f8: e9 2f mov r30, r25 + 19fa: f8 2f mov r31, r24 + 19fc: ef 0d add r30, r15 + 19fe: f1 1d adc r31, r1 + 1a00: ef 0d add r30, r15 + 1a02: f1 1d adc r31, r1 + 1a04: 00 81 ld r16, Z + 1a06: 11 81 ldd r17, Z+1 ; 0x01 + 1a08: d8 01 movw r26, r16 + 1a0a: 16 96 adiw r26, 0x06 ; 6 + 1a0c: ed 91 ld r30, X+ + 1a0e: fc 91 ld r31, X + 1a10: 17 97 sbiw r26, 0x07 ; 7 + 1a12: 09 95 icall + 1a14: 68 2f mov r22, r24 + 1a16: 8f 2d mov r24, r15 + 1a18: c6 db rcall .-2164 ; 0x11a6 + 1a1a: 88 23 and r24, r24 + 1a1c: 61 f0 breq .+24 ; 0x1a36 + 1a1e: d8 01 movw r26, r16 + 1a20: 14 96 adiw r26, 0x04 ; 4 + 1a22: ed 91 ld r30, X+ + 1a24: fc 91 ld r31, X + 1a26: 15 97 sbiw r26, 0x05 ; 5 + 1a28: 09 95 icall + 1a2a: 81 11 cpse r24, r1 + 1a2c: 02 c0 rjmp .+4 ; 0x1a32 + 1a2e: f3 94 inc r15 + 1a30: d7 cf rjmp .-82 ; 0x19e0 + 1a32: 81 e0 ldi r24, 0x01 ; 1 + 1a34: 01 c0 rjmp .+2 ; 0x1a38 + 1a36: 80 e0 ldi r24, 0x00 ; 0 + 1a38: 0f 90 pop r0 + 1a3a: df 91 pop r29 + 1a3c: cf 91 pop r28 + 1a3e: 1f 91 pop r17 + 1a40: 0f 91 pop r16 + 1a42: ff 90 pop r15 + 1a44: ef 90 pop r14 + 1a46: 08 95 ret -000019b4 : +00001a48 : PUBLIC_FUNCTION(ccp_write_io) #if defined(__GNUC__) out RAMPZ, r1 // Reset bits 23:16 of Z - 19b4: 1b be out 0x3b, r1 ; 59 + 1a48: 1b be out 0x3b, r1 ; 59 movw r30, r24 // Load addr into Z - 19b6: fc 01 movw r30, r24 + 1a4a: fc 01 movw r30, r24 ldi r18, CCP_IOREG // Load magic CCP value - 19b8: 28 ed ldi r18, 0xD8 ; 216 + 1a4c: 28 ed ldi r18, 0xD8 ; 216 out CCP, r18 // Start CCP handshake - 19ba: 24 bf out 0x34, r18 ; 52 + 1a4e: 24 bf out 0x34, r18 ; 52 st Z, r22 // Write value to I/O register - 19bc: 60 83 st Z, r22 + 1a50: 60 83 st Z, r22 ret // Return to caller - 19be: 08 95 ret + 1a52: 08 95 ret -000019c0 : +00001a54 : #endif #ifndef __DOXYGEN__ PUBLIC_FUNCTION(nvm_read_byte) #if defined(__GNUC__) lds r20, NVM_CMD ; Store NVM command register - 19c0: 40 91 ca 01 lds r20, 0x01CA ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> + 1a54: 40 91 ca 01 lds r20, 0x01CA ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> mov ZL, r22 ; Load byte index into low byte of Z. - 19c4: e6 2f mov r30, r22 + 1a58: e6 2f mov r30, r22 mov ZH, r23 ; Load high byte into Z. - 19c6: f7 2f mov r31, r23 + 1a5a: f7 2f mov r31, r23 sts NVM_CMD, r24 ; Load prepared command into NVM Command register. - 19c8: 80 93 ca 01 sts 0x01CA, r24 ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> + 1a5c: 80 93 ca 01 sts 0x01CA, r24 ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> lpm r24, Z ; Perform an LPM to read out byte - 19cc: 84 91 lpm r24, Z + 1a60: 84 91 lpm r24, Z sts NVM_CMD, r20 ; Restore NVM command register - 19ce: 40 93 ca 01 sts 0x01CA, r20 ; 0x8001ca <__TEXT_REGION_LENGTH__+0x7001ca> + 1a62: 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 - 19d2: 08 95 ret + 1a66: 08 95 ret -000019d4 : - 19d4: e8 2f mov r30, r24 - 19d6: f0 e0 ldi r31, 0x00 ; 0 - 19d8: ea 5a subi r30, 0xAA ; 170 - 19da: f3 4d sbci r31, 0xD3 ; 211 - 19dc: 80 81 ld r24, Z - 19de: 8f 3f cpi r24, 0xFF ; 255 - 19e0: 09 f4 brne .+2 ; 0x19e4 - 19e2: ff cf rjmp .-2 ; 0x19e2 - 19e4: 9f b7 in r25, 0x3f ; 63 - 19e6: f8 94 cli - 19e8: 80 81 ld r24, Z - 19ea: 8f 5f subi r24, 0xFF ; 255 - 19ec: 80 83 st Z, r24 - 19ee: 9f bf out 0x3f, r25 ; 63 - 19f0: 08 95 ret - -000019f2 : - 19f2: e8 2f mov r30, r24 - 19f4: f0 e0 ldi r31, 0x00 ; 0 - 19f6: ea 5a subi r30, 0xAA ; 170 - 19f8: f3 4d sbci r31, 0xD3 ; 211 - 19fa: 80 81 ld r24, Z - 19fc: 81 11 cpse r24, r1 - 19fe: 01 c0 rjmp .+2 ; 0x1a02 - 1a00: ff cf rjmp .-2 ; 0x1a00 - 1a02: 9f b7 in r25, 0x3f ; 63 - 1a04: f8 94 cli - 1a06: 80 81 ld r24, Z - 1a08: 81 50 subi r24, 0x01 ; 1 - 1a0a: 80 83 st Z, r24 - 1a0c: 9f bf out 0x3f, r25 ; 63 - 1a0e: 08 95 ret - -00001a10 : - 1a10: cf 93 push r28 - 1a12: c8 2f mov r28, r24 - 1a14: 80 91 64 22 lds r24, 0x2264 ; 0x802264 - 1a18: c1 11 cpse r28, r1 - 1a1a: 05 c0 rjmp .+10 ; 0x1a26 - 1a1c: 88 23 and r24, r24 - 1a1e: 39 f0 breq .+14 ; 0x1a2e - 1a20: 81 e0 ldi r24, 0x01 ; 1 - 1a22: e7 df rcall .-50 ; 0x19f2 - 1a24: 04 c0 rjmp .+8 ; 0x1a2e - 1a26: 81 11 cpse r24, r1 - 1a28: 02 c0 rjmp .+4 ; 0x1a2e - 1a2a: 81 e0 ldi r24, 0x01 ; 1 - 1a2c: d3 df rcall .-90 ; 0x19d4 - 1a2e: c0 93 64 22 sts 0x2264, r28 ; 0x802264 - 1a32: cf 91 pop r28 - 1a34: 08 95 ret - -00001a36 : - 1a36: 28 2f mov r18, r24 - 1a38: 2f 70 andi r18, 0x0F ; 15 - 1a3a: 08 2e mov r0, r24 - 1a3c: 00 0c add r0, r0 - 1a3e: 99 0b sbc r25, r25 - 1a40: 39 2f mov r19, r25 - 1a42: 33 1f adc r19, r19 - 1a44: 33 27 eor r19, r19 - 1a46: 33 1f adc r19, r19 - 1a48: 83 2f mov r24, r19 - 1a4a: 90 e0 ldi r25, 0x00 ; 0 - 1a4c: 82 0f add r24, r18 - 1a4e: 91 1d adc r25, r1 - 1a50: 82 0f add r24, r18 - 1a52: 91 1d adc r25, r1 - 1a54: 23 e0 ldi r18, 0x03 ; 3 - 1a56: 88 0f add r24, r24 - 1a58: 99 1f adc r25, r25 - 1a5a: 2a 95 dec r18 - 1a5c: e1 f7 brne .-8 ; 0x1a56 - 1a5e: 80 5e subi r24, 0xE0 ; 224 - 1a60: 9d 4d sbci r25, 0xDD ; 221 - 1a62: 08 95 ret - -00001a64 : - 1a64: 0f 93 push r16 - 1a66: e8 ec ldi r30, 0xC8 ; 200 - 1a68: f4 e0 ldi r31, 0x04 ; 4 - 1a6a: 80 81 ld r24, Z - 1a6c: 8f 7d andi r24, 0xDF ; 223 - 1a6e: 80 83 st Z, r24 +00001a68 : + 1a68: e8 2f mov r30, r24 + 1a6a: f0 e0 ldi r31, 0x00 ; 0 + 1a6c: ea 5a subi r30, 0xAA ; 170 + 1a6e: f3 4d sbci r31, 0xD3 ; 211 1a70: 80 81 ld r24, Z - 1a72: 8f 7d andi r24, 0xDF ; 223 - 1a74: 80 83 st Z, r24 - 1a76: e8 e2 ldi r30, 0x28 ; 40 - 1a78: f2 e2 ldi r31, 0x22 ; 34 - 1a7a: 02 e0 ldi r16, 0x02 ; 2 - 1a7c: 05 93 las Z, r16 - 1a7e: 10 92 2a 22 sts 0x222A, r1 ; 0x80222a - 1a82: 10 92 2b 22 sts 0x222B, r1 ; 0x80222b - 1a86: 00 e2 ldi r16, 0x20 ; 32 - 1a88: 06 93 lac Z, r16 - 1a8a: 00 e4 ldi r16, 0x40 ; 64 - 1a8c: 06 93 lac Z, r16 - 1a8e: e0 e2 ldi r30, 0x20 ; 32 - 1a90: f2 e2 ldi r31, 0x22 ; 34 - 1a92: 00 e2 ldi r16, 0x20 ; 32 - 1a94: 06 93 lac Z, r16 - 1a96: 00 e4 ldi r16, 0x40 ; 64 - 1a98: 06 93 lac Z, r16 - 1a9a: ea e6 ldi r30, 0x6A ; 106 - 1a9c: f4 e2 ldi r31, 0x24 ; 36 - 1a9e: 14 86 std Z+12, r1 ; 0x0c - 1aa0: 15 86 std Z+13, r1 ; 0x0d - 1aa2: 16 86 std Z+14, r1 ; 0x0e - 1aa4: 17 86 std Z+15, r1 ; 0x0f - 1aa6: 12 86 std Z+10, r1 ; 0x0a - 1aa8: 13 86 std Z+11, r1 ; 0x0b - 1aaa: 10 92 0d 22 sts 0x220D, r1 ; 0x80220d - 1aae: 0f 91 pop r16 - 1ab0: 08 95 ret + 1a72: 8f 3f cpi r24, 0xFF ; 255 + 1a74: 09 f4 brne .+2 ; 0x1a78 + 1a76: ff cf rjmp .-2 ; 0x1a76 + 1a78: 9f b7 in r25, 0x3f ; 63 + 1a7a: f8 94 cli + 1a7c: 80 81 ld r24, Z + 1a7e: 8f 5f subi r24, 0xFF ; 255 + 1a80: 80 83 st Z, r24 + 1a82: 9f bf out 0x3f, r25 ; 63 + 1a84: 08 95 ret -00001ab2 : - 1ab2: 0f 93 push r16 - 1ab4: 85 e0 ldi r24, 0x05 ; 5 - 1ab6: 80 93 0d 22 sts 0x220D, r24 ; 0x80220d - 1aba: e9 e2 ldi r30, 0x29 ; 41 - 1abc: f2 e2 ldi r31, 0x22 ; 34 - 1abe: 04 e0 ldi r16, 0x04 ; 4 - 1ac0: 05 93 las Z, r16 - 1ac2: e1 e2 ldi r30, 0x21 ; 33 - 1ac4: f2 e2 ldi r31, 0x22 ; 34 - 1ac6: 04 e0 ldi r16, 0x04 ; 4 - 1ac8: 05 93 las Z, r16 - 1aca: 0f 91 pop r16 - 1acc: 08 95 ret +00001a86 : + 1a86: e8 2f mov r30, r24 + 1a88: f0 e0 ldi r31, 0x00 ; 0 + 1a8a: ea 5a subi r30, 0xAA ; 170 + 1a8c: f3 4d sbci r31, 0xD3 ; 211 + 1a8e: 80 81 ld r24, Z + 1a90: 81 11 cpse r24, r1 + 1a92: 01 c0 rjmp .+2 ; 0x1a96 + 1a94: ff cf rjmp .-2 ; 0x1a94 + 1a96: 9f b7 in r25, 0x3f ; 63 + 1a98: f8 94 cli + 1a9a: 80 81 ld r24, Z + 1a9c: 81 50 subi r24, 0x01 ; 1 + 1a9e: 80 83 st Z, r24 + 1aa0: 9f bf out 0x3f, r25 ; 63 + 1aa2: 08 95 ret -00001ace : - 1ace: 0f 93 push r16 - 1ad0: 83 e0 ldi r24, 0x03 ; 3 - 1ad2: 80 93 0d 22 sts 0x220D, r24 ; 0x80220d - 1ad6: 10 92 2a 22 sts 0x222A, r1 ; 0x80222a - 1ada: 10 92 2b 22 sts 0x222B, r1 ; 0x80222b - 1ade: e8 e2 ldi r30, 0x28 ; 40 - 1ae0: f2 e2 ldi r31, 0x22 ; 34 - 1ae2: 02 e0 ldi r16, 0x02 ; 2 - 1ae4: 06 93 lac Z, r16 - 1ae6: 0f 91 pop r16 - 1ae8: 08 95 ret +00001aa4 : + 1aa4: cf 93 push r28 + 1aa6: c8 2f mov r28, r24 + 1aa8: 80 91 64 22 lds r24, 0x2264 ; 0x802264 + 1aac: c1 11 cpse r28, r1 + 1aae: 05 c0 rjmp .+10 ; 0x1aba + 1ab0: 88 23 and r24, r24 + 1ab2: 39 f0 breq .+14 ; 0x1ac2 + 1ab4: 81 e0 ldi r24, 0x01 ; 1 + 1ab6: e7 df rcall .-50 ; 0x1a86 + 1ab8: 04 c0 rjmp .+8 ; 0x1ac2 + 1aba: 81 11 cpse r24, r1 + 1abc: 02 c0 rjmp .+4 ; 0x1ac2 + 1abe: 81 e0 ldi r24, 0x01 ; 1 + 1ac0: d3 df rcall .-90 ; 0x1a68 + 1ac2: c0 93 64 22 sts 0x2264, r28 ; 0x802264 + 1ac6: cf 91 pop r28 + 1ac8: 08 95 ret -00001aea : - 1aea: e0 91 76 24 lds r30, 0x2476 ; 0x802476 - 1aee: f0 91 77 24 lds r31, 0x2477 ; 0x802477 - 1af2: 30 97 sbiw r30, 0x00 ; 0 - 1af4: 09 f0 breq .+2 ; 0x1af8 - 1af6: 09 94 ijmp - 1af8: 08 95 ret +00001aca : + 1aca: 28 2f mov r18, r24 + 1acc: 2f 70 andi r18, 0x0F ; 15 + 1ace: 08 2e mov r0, r24 + 1ad0: 00 0c add r0, r0 + 1ad2: 99 0b sbc r25, r25 + 1ad4: 39 2f mov r19, r25 + 1ad6: 33 1f adc r19, r19 + 1ad8: 33 27 eor r19, r19 + 1ada: 33 1f adc r19, r19 + 1adc: 83 2f mov r24, r19 + 1ade: 90 e0 ldi r25, 0x00 ; 0 + 1ae0: 82 0f add r24, r18 + 1ae2: 91 1d adc r25, r1 + 1ae4: 82 0f add r24, r18 + 1ae6: 91 1d adc r25, r1 + 1ae8: 23 e0 ldi r18, 0x03 ; 3 + 1aea: 88 0f add r24, r24 + 1aec: 99 1f adc r25, r25 + 1aee: 2a 95 dec r18 + 1af0: e1 f7 brne .-8 ; 0x1aea + 1af2: 80 5e subi r24, 0xE0 ; 224 + 1af4: 9d 4d sbci r25, 0xDD ; 221 + 1af6: 08 95 ret -00001afa : - 1afa: 28 2f mov r18, r24 - 1afc: 2f 70 andi r18, 0x0F ; 15 - 1afe: 08 2e mov r0, r24 - 1b00: 00 0c add r0, r0 - 1b02: 99 0b sbc r25, r25 - 1b04: 39 2f mov r19, r25 - 1b06: 33 1f adc r19, r19 - 1b08: 33 27 eor r19, r19 - 1b0a: 33 1f adc r19, r19 - 1b0c: 83 2f mov r24, r19 - 1b0e: 90 e0 ldi r25, 0x00 ; 0 - 1b10: 82 0f add r24, r18 - 1b12: 91 1d adc r25, r1 - 1b14: 82 0f add r24, r18 - 1b16: 91 1d adc r25, r1 - 1b18: 02 97 sbiw r24, 0x02 ; 2 - 1b1a: 49 e0 ldi r20, 0x09 ; 9 - 1b1c: 48 9f mul r20, r24 - 1b1e: 90 01 movw r18, r0 - 1b20: 49 9f mul r20, r25 - 1b22: 30 0d add r19, r0 - 1b24: 11 24 eor r1, r1 - 1b26: c9 01 movw r24, r18 - 1b28: 8d 56 subi r24, 0x6D ; 109 - 1b2a: 9e 4d sbci r25, 0xDE ; 222 - 1b2c: 08 95 ret +00001af8 : + 1af8: 0f 93 push r16 + 1afa: e8 ec ldi r30, 0xC8 ; 200 + 1afc: f4 e0 ldi r31, 0x04 ; 4 + 1afe: 80 81 ld r24, Z + 1b00: 8f 7d andi r24, 0xDF ; 223 + 1b02: 80 83 st Z, r24 + 1b04: 80 81 ld r24, Z + 1b06: 8f 7d andi r24, 0xDF ; 223 + 1b08: 80 83 st Z, r24 + 1b0a: e8 e2 ldi r30, 0x28 ; 40 + 1b0c: f2 e2 ldi r31, 0x22 ; 34 + 1b0e: 02 e0 ldi r16, 0x02 ; 2 + 1b10: 05 93 las Z, r16 + 1b12: 10 92 2a 22 sts 0x222A, r1 ; 0x80222a + 1b16: 10 92 2b 22 sts 0x222B, r1 ; 0x80222b + 1b1a: 00 e2 ldi r16, 0x20 ; 32 + 1b1c: 06 93 lac Z, r16 + 1b1e: 00 e4 ldi r16, 0x40 ; 64 + 1b20: 06 93 lac Z, r16 + 1b22: e0 e2 ldi r30, 0x20 ; 32 + 1b24: f2 e2 ldi r31, 0x22 ; 34 + 1b26: 00 e2 ldi r16, 0x20 ; 32 + 1b28: 06 93 lac Z, r16 + 1b2a: 00 e4 ldi r16, 0x40 ; 64 + 1b2c: 06 93 lac Z, r16 + 1b2e: ea e6 ldi r30, 0x6A ; 106 + 1b30: f4 e2 ldi r31, 0x24 ; 36 + 1b32: 14 86 std Z+12, r1 ; 0x0c + 1b34: 15 86 std Z+13, r1 ; 0x0d + 1b36: 16 86 std Z+14, r1 ; 0x0e + 1b38: 17 86 std Z+15, r1 ; 0x0f + 1b3a: 12 86 std Z+10, r1 ; 0x0a + 1b3c: 13 86 std Z+11, r1 ; 0x0b + 1b3e: 10 92 0d 22 sts 0x220D, r1 ; 0x80220d + 1b42: 0f 91 pop r16 + 1b44: 08 95 ret -00001b2e : - 1b2e: 8f 92 push r8 - 1b30: 9f 92 push r9 - 1b32: af 92 push r10 - 1b34: bf 92 push r11 - 1b36: df 92 push r13 - 1b38: ef 92 push r14 - 1b3a: ff 92 push r15 - 1b3c: 0f 93 push r16 - 1b3e: 1f 93 push r17 - 1b40: cf 93 push r28 - 1b42: df 93 push r29 - 1b44: d8 2e mov r13, r24 - 1b46: d9 df rcall .-78 ; 0x1afa - 1b48: ec 01 movw r28, r24 - 1b4a: 8d 2d mov r24, r13 - 1b4c: 74 df rcall .-280 ; 0x1a36 - 1b4e: 7c 01 movw r14, r24 - 1b50: dc 01 movw r26, r24 - 1b52: 11 96 adiw r26, 0x01 ; 1 - 1b54: ec 91 ld r30, X - 1b56: e7 70 andi r30, 0x07 ; 7 - 1b58: e1 50 subi r30, 0x01 ; 1 - 1b5a: e7 30 cpi r30, 0x07 ; 7 - 1b5c: 40 f4 brcc .+16 ; 0x1b6e - 1b5e: f0 e0 ldi r31, 0x00 ; 0 - 1b60: ee 0f add r30, r30 - 1b62: ff 1f adc r31, r31 - 1b64: ee 54 subi r30, 0x4E ; 78 - 1b66: ff 4d sbci r31, 0xDF ; 223 - 1b68: 00 81 ld r16, Z - 1b6a: 11 81 ldd r17, Z+1 ; 0x01 - 1b6c: 02 c0 rjmp .+4 ; 0x1b72 - 1b6e: 08 e0 ldi r16, 0x08 ; 8 - 1b70: 10 e0 ldi r17, 0x00 ; 0 - 1b72: ed 81 ldd r30, Y+5 ; 0x05 - 1b74: fe 81 ldd r31, Y+6 ; 0x06 - 1b76: 2b 81 ldd r18, Y+3 ; 0x03 - 1b78: 3c 81 ldd r19, Y+4 ; 0x04 - 1b7a: 48 81 ld r20, Y - 1b7c: d7 01 movw r26, r14 - 1b7e: d7 fe sbrs r13, 7 - 1b80: 48 c0 rjmp .+144 ; 0x1c12 - 1b82: 16 96 adiw r26, 0x06 ; 6 - 1b84: 8d 91 ld r24, X+ - 1b86: 9c 91 ld r25, X - 1b88: 17 97 sbiw r26, 0x07 ; 7 - 1b8a: 8e 0f add r24, r30 - 1b8c: 9f 1f adc r25, r31 - 1b8e: 8d 83 std Y+5, r24 ; 0x05 - 1b90: 9e 83 std Y+6, r25 ; 0x06 - 1b92: 82 17 cp r24, r18 - 1b94: 93 07 cpc r25, r19 - 1b96: 61 f1 breq .+88 ; 0x1bf0 - 1b98: 28 1b sub r18, r24 - 1b9a: 39 0b sbc r19, r25 - 1b9c: 21 15 cp r18, r1 - 1b9e: b4 e0 ldi r27, 0x04 ; 4 - 1ba0: 3b 07 cpc r19, r27 - 1ba2: 38 f0 brcs .+14 ; 0x1bb2 - 1ba4: 2f ef ldi r18, 0xFF ; 255 - 1ba6: 33 e0 ldi r19, 0x03 ; 3 - 1ba8: c9 01 movw r24, r18 - 1baa: b8 01 movw r22, r16 - 1bac: 14 d5 rcall .+2600 ; 0x25d6 <__udivmodhi4> - 1bae: 28 1b sub r18, r24 - 1bb0: 39 0b sbc r19, r25 - 1bb2: 41 ff sbrs r20, 1 - 1bb4: 0a c0 rjmp .+20 ; 0x1bca - 1bb6: c9 01 movw r24, r18 - 1bb8: b8 01 movw r22, r16 - 1bba: 0d d5 rcall .+2586 ; 0x25d6 <__udivmodhi4> - 1bbc: ac 01 movw r20, r24 - 1bbe: 91 e0 ldi r25, 0x01 ; 1 - 1bc0: 45 2b or r20, r21 - 1bc2: 09 f0 breq .+2 ; 0x1bc6 - 1bc4: 90 e0 ldi r25, 0x00 ; 0 - 1bc6: 89 2f mov r24, r25 - 1bc8: 01 c0 rjmp .+2 ; 0x1bcc - 1bca: 80 e0 ldi r24, 0x00 ; 0 - 1bcc: 98 81 ld r25, Y - 1bce: 80 fb bst r24, 0 - 1bd0: 91 f9 bld r25, 1 - 1bd2: 98 83 st Y, r25 - 1bd4: f7 01 movw r30, r14 - 1bd6: 16 82 std Z+6, r1 ; 0x06 - 1bd8: 17 82 std Z+7, r1 ; 0x07 - 1bda: 22 83 std Z+2, r18 ; 0x02 - 1bdc: 33 83 std Z+3, r19 ; 0x03 - 1bde: 29 81 ldd r18, Y+1 ; 0x01 - 1be0: 3a 81 ldd r19, Y+2 ; 0x02 - 1be2: 8d 81 ldd r24, Y+5 ; 0x05 - 1be4: 9e 81 ldd r25, Y+6 ; 0x06 - 1be6: 82 0f add r24, r18 - 1be8: 93 1f adc r25, r19 - 1bea: 84 83 std Z+4, r24 ; 0x04 - 1bec: 95 83 std Z+5, r25 ; 0x05 - 1bee: 0e c0 rjmp .+28 ; 0x1c0c - 1bf0: 41 ff sbrs r20, 1 - 1bf2: 71 c0 rjmp .+226 ; 0x1cd6 - 1bf4: 4d 7f andi r20, 0xFD ; 253 - 1bf6: 48 83 st Y, r20 - 1bf8: d7 01 movw r26, r14 - 1bfa: 16 96 adiw r26, 0x06 ; 6 - 1bfc: 1d 92 st X+, r1 - 1bfe: 1c 92 st X, r1 - 1c00: 17 97 sbiw r26, 0x07 ; 7 - 1c02: 12 96 adiw r26, 0x02 ; 2 - 1c04: 1d 92 st X+, r1 - 1c06: 1c 92 st X, r1 - 1c08: 13 97 sbiw r26, 0x03 ; 3 - 1c0a: f7 01 movw r30, r14 - 1c0c: 02 e0 ldi r16, 0x02 ; 2 - 1c0e: 06 93 lac Z, r16 - 1c10: 7b c0 rjmp .+246 ; 0x1d08 - 1c12: 12 96 adiw r26, 0x02 ; 2 - 1c14: ad 90 ld r10, X+ - 1c16: bc 90 ld r11, X - 1c18: 13 97 sbiw r26, 0x03 ; 3 - 1c1a: 42 ff sbrs r20, 2 - 1c1c: 10 c0 rjmp .+32 ; 0x1c3e - 1c1e: 89 80 ldd r8, Y+1 ; 0x01 - 1c20: 9a 80 ldd r9, Y+2 ; 0x02 - 1c22: c9 01 movw r24, r18 - 1c24: b8 01 movw r22, r16 - 1c26: d7 d4 rcall .+2478 ; 0x25d6 <__udivmodhi4> - 1c28: b0 e4 ldi r27, 0x40 ; 64 - 1c2a: db 9e mul r13, r27 - 1c2c: b0 01 movw r22, r0 - 1c2e: 11 24 eor r1, r1 - 1c30: 6d 56 subi r22, 0x6D ; 109 - 1c32: 7f 4d sbci r23, 0xDF ; 223 - 1c34: ac 01 movw r20, r24 - 1c36: c4 01 movw r24, r8 - 1c38: 8e 0f add r24, r30 - 1c3a: 9f 1f adc r25, r31 - 1c3c: e6 d4 rcall .+2508 ; 0x260a - 1c3e: 8d 81 ldd r24, Y+5 ; 0x05 - 1c40: 9e 81 ldd r25, Y+6 ; 0x06 - 1c42: 8a 0d add r24, r10 - 1c44: 9b 1d adc r25, r11 - 1c46: 8d 83 std Y+5, r24 ; 0x05 - 1c48: 9e 83 std Y+6, r25 ; 0x06 - 1c4a: 2b 81 ldd r18, Y+3 ; 0x03 - 1c4c: 3c 81 ldd r19, Y+4 ; 0x04 - 1c4e: 28 17 cp r18, r24 - 1c50: 39 07 cpc r19, r25 - 1c52: 10 f4 brcc .+4 ; 0x1c58 - 1c54: 2d 83 std Y+5, r18 ; 0x05 - 1c56: 3e 83 std Y+6, r19 ; 0x06 - 1c58: f7 01 movw r30, r14 - 1c5a: 86 81 ldd r24, Z+6 ; 0x06 - 1c5c: 97 81 ldd r25, Z+7 ; 0x07 - 1c5e: a8 16 cp r10, r24 - 1c60: b9 06 cpc r11, r25 - 1c62: c9 f5 brne .+114 ; 0x1cd6 - 1c64: 8d 81 ldd r24, Y+5 ; 0x05 - 1c66: 9e 81 ldd r25, Y+6 ; 0x06 - 1c68: 82 17 cp r24, r18 - 1c6a: 93 07 cpc r25, r19 - 1c6c: a1 f1 breq .+104 ; 0x1cd6 - 1c6e: 28 1b sub r18, r24 - 1c70: 39 0b sbc r19, r25 - 1c72: 21 15 cp r18, r1 - 1c74: f4 e0 ldi r31, 0x04 ; 4 - 1c76: 3f 07 cpc r19, r31 - 1c78: 10 f0 brcs .+4 ; 0x1c7e - 1c7a: 2f ef ldi r18, 0xFF ; 255 - 1c7c: 33 e0 ldi r19, 0x03 ; 3 - 1c7e: c9 01 movw r24, r18 - 1c80: b8 01 movw r22, r16 - 1c82: a9 d4 rcall .+2386 ; 0x25d6 <__udivmodhi4> - 1c84: 28 1b sub r18, r24 - 1c86: 39 0b sbc r19, r25 - 1c88: d7 01 movw r26, r14 - 1c8a: 12 96 adiw r26, 0x02 ; 2 - 1c8c: 1d 92 st X+, r1 - 1c8e: 1c 92 st X, r1 - 1c90: 13 97 sbiw r26, 0x03 ; 3 - 1c92: 20 17 cp r18, r16 - 1c94: 31 07 cpc r19, r17 - 1c96: 78 f4 brcc .+30 ; 0x1cb6 - 1c98: 88 81 ld r24, Y - 1c9a: 84 60 ori r24, 0x04 ; 4 - 1c9c: 88 83 st Y, r24 - 1c9e: b0 e4 ldi r27, 0x40 ; 64 - 1ca0: db 9e mul r13, r27 - 1ca2: c0 01 movw r24, r0 - 1ca4: 11 24 eor r1, r1 - 1ca6: 8d 56 subi r24, 0x6D ; 109 - 1ca8: 9f 4d sbci r25, 0xDF ; 223 - 1caa: f7 01 movw r30, r14 - 1cac: 84 83 std Z+4, r24 ; 0x04 - 1cae: 95 83 std Z+5, r25 ; 0x05 - 1cb0: 06 83 std Z+6, r16 ; 0x06 - 1cb2: 17 83 std Z+7, r17 ; 0x07 - 1cb4: aa cf rjmp .-172 ; 0x1c0a - 1cb6: 49 81 ldd r20, Y+1 ; 0x01 - 1cb8: 5a 81 ldd r21, Y+2 ; 0x02 - 1cba: 8d 81 ldd r24, Y+5 ; 0x05 - 1cbc: 9e 81 ldd r25, Y+6 ; 0x06 - 1cbe: 84 0f add r24, r20 - 1cc0: 95 1f adc r25, r21 - 1cc2: d7 01 movw r26, r14 - 1cc4: 14 96 adiw r26, 0x04 ; 4 - 1cc6: 8d 93 st X+, r24 - 1cc8: 9c 93 st X, r25 - 1cca: 15 97 sbiw r26, 0x05 ; 5 - 1ccc: 16 96 adiw r26, 0x06 ; 6 - 1cce: 2d 93 st X+, r18 - 1cd0: 3c 93 st X, r19 - 1cd2: 17 97 sbiw r26, 0x07 ; 7 - 1cd4: 9a cf rjmp .-204 ; 0x1c0a - 1cd6: 88 81 ld r24, Y - 1cd8: 80 ff sbrs r24, 0 - 1cda: 16 c0 rjmp .+44 ; 0x1d08 - 1cdc: 8e 7f andi r24, 0xFE ; 254 - 1cde: 88 83 st Y, r24 - 1ce0: ef 81 ldd r30, Y+7 ; 0x07 - 1ce2: f8 85 ldd r31, Y+8 ; 0x08 - 1ce4: 30 97 sbiw r30, 0x00 ; 0 - 1ce6: 81 f0 breq .+32 ; 0x1d08 - 1ce8: 6d 81 ldd r22, Y+5 ; 0x05 - 1cea: 7e 81 ldd r23, Y+6 ; 0x06 - 1cec: 4d 2d mov r20, r13 - 1cee: 80 e0 ldi r24, 0x00 ; 0 - 1cf0: df 91 pop r29 - 1cf2: cf 91 pop r28 - 1cf4: 1f 91 pop r17 - 1cf6: 0f 91 pop r16 - 1cf8: ff 90 pop r15 - 1cfa: ef 90 pop r14 - 1cfc: df 90 pop r13 - 1cfe: bf 90 pop r11 - 1d00: af 90 pop r10 - 1d02: 9f 90 pop r9 - 1d04: 8f 90 pop r8 - 1d06: 09 94 ijmp - 1d08: df 91 pop r29 - 1d0a: cf 91 pop r28 - 1d0c: 1f 91 pop r17 - 1d0e: 0f 91 pop r16 - 1d10: ff 90 pop r15 - 1d12: ef 90 pop r14 - 1d14: df 90 pop r13 - 1d16: bf 90 pop r11 - 1d18: af 90 pop r10 - 1d1a: 9f 90 pop r9 - 1d1c: 8f 90 pop r8 - 1d1e: 08 95 ret +00001b46 : + 1b46: 0f 93 push r16 + 1b48: 85 e0 ldi r24, 0x05 ; 5 + 1b4a: 80 93 0d 22 sts 0x220D, r24 ; 0x80220d + 1b4e: e9 e2 ldi r30, 0x29 ; 41 + 1b50: f2 e2 ldi r31, 0x22 ; 34 + 1b52: 04 e0 ldi r16, 0x04 ; 4 + 1b54: 05 93 las Z, r16 + 1b56: e1 e2 ldi r30, 0x21 ; 33 + 1b58: f2 e2 ldi r31, 0x22 ; 34 + 1b5a: 04 e0 ldi r16, 0x04 ; 4 + 1b5c: 05 93 las Z, r16 + 1b5e: 0f 91 pop r16 + 1b60: 08 95 ret -00001d20 : - 1d20: 0f 93 push r16 - 1d22: cf 93 push r28 - 1d24: df 93 push r29 - 1d26: 80 91 0d 22 lds r24, 0x220D ; 0x80220d - 1d2a: 83 30 cpi r24, 0x03 ; 3 - 1d2c: 29 f4 brne .+10 ; 0x1d38 - 1d2e: dd de rcall .-582 ; 0x1aea - 1d30: df 91 pop r29 - 1d32: cf 91 pop r28 - 1d34: 0f 91 pop r16 - 1d36: 96 ce rjmp .-724 ; 0x1a64 - 1d38: 20 91 09 22 lds r18, 0x2209 ; 0x802209 - 1d3c: 30 91 0a 22 lds r19, 0x220A ; 0x80220a - 1d40: c0 91 74 24 lds r28, 0x2474 ; 0x802474 - 1d44: d0 91 75 24 lds r29, 0x2475 ; 0x802475 - 1d48: c2 1b sub r28, r18 - 1d4a: d3 0b sbc r29, r19 - 1d4c: 61 f5 brne .+88 ; 0x1da6 - 1d4e: 80 91 0b 22 lds r24, 0x220B ; 0x80220b - 1d52: 90 91 0c 22 lds r25, 0x220C ; 0x80220c - 1d56: 82 0f add r24, r18 - 1d58: 93 1f adc r25, r19 - 1d5a: 80 93 0b 22 sts 0x220B, r24 ; 0x80220b - 1d5e: 90 93 0c 22 sts 0x220C, r25 ; 0x80220c - 1d62: 20 91 70 24 lds r18, 0x2470 ; 0x802470 - 1d66: 30 91 71 24 lds r19, 0x2471 ; 0x802471 - 1d6a: 28 17 cp r18, r24 - 1d6c: 39 07 cpc r19, r25 - 1d6e: 21 f0 breq .+8 ; 0x1d78 - 1d70: 80 91 d2 20 lds r24, 0x20D2 ; 0x8020d2 - 1d74: 88 23 and r24, r24 - 1d76: 31 f0 breq .+12 ; 0x1d84 - 1d78: 84 e0 ldi r24, 0x04 ; 4 - 1d7a: 80 93 0d 22 sts 0x220D, r24 ; 0x80220d - 1d7e: e0 e2 ldi r30, 0x20 ; 32 - 1d80: f2 e2 ldi r31, 0x22 ; 34 - 1d82: 36 c0 rjmp .+108 ; 0x1df0 - 1d84: e0 91 78 24 lds r30, 0x2478 ; 0x802478 - 1d88: f0 91 79 24 lds r31, 0x2479 ; 0x802479 - 1d8c: 30 97 sbiw r30, 0x00 ; 0 - 1d8e: 99 f0 breq .+38 ; 0x1db6 - 1d90: 09 95 icall - 1d92: 88 23 and r24, r24 - 1d94: 81 f0 breq .+32 ; 0x1db6 - 1d96: 10 92 09 22 sts 0x2209, r1 ; 0x802209 - 1d9a: 10 92 0a 22 sts 0x220A, r1 ; 0x80220a - 1d9e: c0 91 74 24 lds r28, 0x2474 ; 0x802474 - 1da2: d0 91 75 24 lds r29, 0x2475 ; 0x802475 - 1da6: c0 34 cpi r28, 0x40 ; 64 - 1da8: d1 05 cpc r29, r1 - 1daa: 28 f0 brcs .+10 ; 0x1db6 - 1dac: 10 92 d2 20 sts 0x20D2, r1 ; 0x8020d2 - 1db0: c0 e4 ldi r28, 0x40 ; 64 - 1db2: d0 e0 ldi r29, 0x00 ; 0 - 1db4: 03 c0 rjmp .+6 ; 0x1dbc - 1db6: 81 e0 ldi r24, 0x01 ; 1 - 1db8: 80 93 d2 20 sts 0x20D2, r24 ; 0x8020d2 - 1dbc: c0 93 2a 22 sts 0x222A, r28 ; 0x80222a - 1dc0: d0 93 2b 22 sts 0x222B, r29 ; 0x80222b - 1dc4: 80 91 09 22 lds r24, 0x2209 ; 0x802209 - 1dc8: 90 91 0a 22 lds r25, 0x220A ; 0x80220a - 1dcc: 20 91 72 24 lds r18, 0x2472 ; 0x802472 - 1dd0: 30 91 73 24 lds r19, 0x2473 ; 0x802473 - 1dd4: 28 0f add r18, r24 - 1dd6: 39 1f adc r19, r25 - 1dd8: 20 93 2c 22 sts 0x222C, r18 ; 0x80222c - 1ddc: 30 93 2d 22 sts 0x222D, r19 ; 0x80222d - 1de0: c8 0f add r28, r24 - 1de2: d9 1f adc r29, r25 - 1de4: c0 93 09 22 sts 0x2209, r28 ; 0x802209 - 1de8: d0 93 0a 22 sts 0x220A, r29 ; 0x80220a - 1dec: e8 e2 ldi r30, 0x28 ; 40 - 1dee: f2 e2 ldi r31, 0x22 ; 34 - 1df0: 02 e0 ldi r16, 0x02 ; 2 - 1df2: 06 93 lac Z, r16 - 1df4: df 91 pop r29 - 1df6: cf 91 pop r28 - 1df8: 0f 91 pop r16 - 1dfa: 08 95 ret +00001b62 : + 1b62: 0f 93 push r16 + 1b64: 83 e0 ldi r24, 0x03 ; 3 + 1b66: 80 93 0d 22 sts 0x220D, r24 ; 0x80220d + 1b6a: 10 92 2a 22 sts 0x222A, r1 ; 0x80222a + 1b6e: 10 92 2b 22 sts 0x222B, r1 ; 0x80222b + 1b72: e8 e2 ldi r30, 0x28 ; 40 + 1b74: f2 e2 ldi r31, 0x22 ; 34 + 1b76: 02 e0 ldi r16, 0x02 ; 2 + 1b78: 06 93 lac Z, r16 + 1b7a: 0f 91 pop r16 + 1b7c: 08 95 ret -00001dfc : - 1dfc: 0f 93 push r16 - 1dfe: cf 93 push r28 - 1e00: df 93 push r29 - 1e02: 1f 92 push r1 - 1e04: cd b7 in r28, 0x3d ; 61 - 1e06: de b7 in r29, 0x3e ; 62 - 1e08: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 1e0c: 80 ff sbrs r24, 0 - 1e0e: 65 c0 rjmp .+202 ; 0x1eda - 1e10: 21 e0 ldi r18, 0x01 ; 1 - 1e12: 20 93 cc 04 sts 0x04CC, r18 ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 1e16: 80 e2 ldi r24, 0x20 ; 32 - 1e18: 92 e2 ldi r25, 0x22 ; 34 - 1e1a: fc 01 movw r30, r24 - 1e1c: 00 e8 ldi r16, 0x80 ; 128 - 1e1e: 06 93 lac Z, r16 - 1e20: e8 e2 ldi r30, 0x28 ; 40 - 1e22: f2 e2 ldi r31, 0x22 ; 34 - 1e24: 00 e8 ldi r16, 0x80 ; 128 - 1e26: 06 93 lac Z, r16 - 1e28: 20 93 ca 04 sts 0x04CA, r18 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> - 1e2c: fc 01 movw r30, r24 - 1e2e: 00 e1 ldi r16, 0x10 ; 16 - 1e30: 06 93 lac Z, r16 - 1e32: 80 91 0d 22 lds r24, 0x220D ; 0x80220d - 1e36: 88 23 and r24, r24 - 1e38: 29 f0 breq .+10 ; 0x1e44 - 1e3a: 83 50 subi r24, 0x03 ; 3 - 1e3c: 82 30 cpi r24, 0x02 ; 2 - 1e3e: 08 f4 brcc .+2 ; 0x1e42 - 1e40: 54 de rcall .-856 ; 0x1aea - 1e42: 10 de rcall .-992 ; 0x1a64 - 1e44: 80 91 22 22 lds r24, 0x2222 ; 0x802222 - 1e48: 90 91 23 22 lds r25, 0x2223 ; 0x802223 - 1e4c: 08 97 sbiw r24, 0x08 ; 8 - 1e4e: 09 f0 breq .+2 ; 0x1e52 - 1e50: 46 c0 rjmp .+140 ; 0x1ede - 1e52: 88 e0 ldi r24, 0x08 ; 8 - 1e54: e9 ec ldi r30, 0xC9 ; 201 - 1e56: f1 e2 ldi r31, 0x21 ; 33 - 1e58: aa e6 ldi r26, 0x6A ; 106 - 1e5a: b4 e2 ldi r27, 0x24 ; 36 - 1e5c: 01 90 ld r0, Z+ - 1e5e: 0d 92 st X+, r0 - 1e60: 8a 95 dec r24 - 1e62: e1 f7 brne .-8 ; 0x1e5c - 1e64: 80 91 c8 04 lds r24, 0x04C8 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> - 1e68: 80 62 ori r24, 0x20 ; 32 - 1e6a: 80 93 c8 04 sts 0x04C8, r24 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> - 1e6e: 80 91 c8 04 lds r24, 0x04C8 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> - 1e72: 80 62 ori r24, 0x20 ; 32 - 1e74: 80 93 c8 04 sts 0x04C8, r24 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> - 1e78: 5a da rcall .-2892 ; 0x132e - 1e7a: 81 11 cpse r24, r1 - 1e7c: 02 c0 rjmp .+4 ; 0x1e82 - 1e7e: 19 de rcall .-974 ; 0x1ab2 - 1e80: 2e c0 rjmp .+92 ; 0x1ede - 1e82: 90 91 6a 24 lds r25, 0x246A ; 0x80246a - 1e86: 97 ff sbrs r25, 7 - 1e88: 0e c0 rjmp .+28 ; 0x1ea6 - 1e8a: 10 92 0b 22 sts 0x220B, r1 ; 0x80220b - 1e8e: 10 92 0c 22 sts 0x220C, r1 ; 0x80220c - 1e92: 10 92 09 22 sts 0x2209, r1 ; 0x802209 - 1e96: 10 92 0a 22 sts 0x220A, r1 ; 0x80220a - 1e9a: 92 e0 ldi r25, 0x02 ; 2 - 1e9c: 90 93 0d 22 sts 0x220D, r25 ; 0x80220d - 1ea0: 89 83 std Y+1, r24 ; 0x01 - 1ea2: 3e df rcall .-388 ; 0x1d20 - 1ea4: 08 c0 rjmp .+16 ; 0x1eb6 - 1ea6: 20 91 70 24 lds r18, 0x2470 ; 0x802470 - 1eaa: 30 91 71 24 lds r19, 0x2471 ; 0x802471 - 1eae: 23 2b or r18, r19 - 1eb0: 21 f4 brne .+8 ; 0x1eba - 1eb2: 89 83 std Y+1, r24 ; 0x01 - 1eb4: 0c de rcall .-1000 ; 0x1ace - 1eb6: 89 81 ldd r24, Y+1 ; 0x01 - 1eb8: 13 c0 rjmp .+38 ; 0x1ee0 - 1eba: 10 92 0b 22 sts 0x220B, r1 ; 0x80220b - 1ebe: 10 92 0c 22 sts 0x220C, r1 ; 0x80220c - 1ec2: 10 92 09 22 sts 0x2209, r1 ; 0x802209 - 1ec6: 10 92 0a 22 sts 0x220A, r1 ; 0x80220a - 1eca: 91 e0 ldi r25, 0x01 ; 1 - 1ecc: 90 93 0d 22 sts 0x220D, r25 ; 0x80220d - 1ed0: e0 e2 ldi r30, 0x20 ; 32 - 1ed2: f2 e2 ldi r31, 0x22 ; 34 - 1ed4: 02 e0 ldi r16, 0x02 ; 2 - 1ed6: 06 93 lac Z, r16 - 1ed8: 03 c0 rjmp .+6 ; 0x1ee0 - 1eda: 80 e0 ldi r24, 0x00 ; 0 - 1edc: 01 c0 rjmp .+2 ; 0x1ee0 - 1ede: 81 e0 ldi r24, 0x01 ; 1 - 1ee0: 0f 90 pop r0 - 1ee2: df 91 pop r29 - 1ee4: cf 91 pop r28 - 1ee6: 0f 91 pop r16 - 1ee8: 08 95 ret +00001b7e : + 1b7e: e0 91 76 24 lds r30, 0x2476 ; 0x802476 + 1b82: f0 91 77 24 lds r31, 0x2477 ; 0x802477 + 1b86: 30 97 sbiw r30, 0x00 ; 0 + 1b88: 09 f0 breq .+2 ; 0x1b8c + 1b8a: 09 94 ijmp + 1b8c: 08 95 ret -00001eea : - 1eea: cf 93 push r28 - 1eec: cf b7 in r28, 0x3f ; 63 - 1eee: f8 94 cli - 1ef0: 81 e0 ldi r24, 0x01 ; 1 - 1ef2: 8e dd rcall .-1252 ; 0x1a10 - 1ef4: ea ec ldi r30, 0xCA ; 202 - 1ef6: f4 e0 ldi r31, 0x04 ; 4 - 1ef8: 80 e4 ldi r24, 0x40 ; 64 - 1efa: 80 83 st Z, r24 - 1efc: 80 e2 ldi r24, 0x20 ; 32 - 1efe: 80 83 st Z, r24 - 1f00: e1 ec ldi r30, 0xC1 ; 193 - 1f02: f4 e0 ldi r31, 0x04 ; 4 - 1f04: 80 81 ld r24, Z - 1f06: 81 60 ori r24, 0x01 ; 1 - 1f08: 80 83 st Z, r24 - 1f0a: a9 ec ldi r26, 0xC9 ; 201 - 1f0c: b4 e0 ldi r27, 0x04 ; 4 - 1f0e: 8c 91 ld r24, X - 1f10: 82 60 ori r24, 0x02 ; 2 - 1f12: 8c 93 st X, r24 - 1f14: e8 ec ldi r30, 0xC8 ; 200 - 1f16: f4 e0 ldi r31, 0x04 ; 4 - 1f18: 80 81 ld r24, Z - 1f1a: 80 64 ori r24, 0x40 ; 64 - 1f1c: 80 83 st Z, r24 - 1f1e: 8c 91 ld r24, X - 1f20: 81 60 ori r24, 0x01 ; 1 - 1f22: 8c 93 st X, r24 - 1f24: 80 81 ld r24, Z - 1f26: 80 68 ori r24, 0x80 ; 128 - 1f28: 80 83 st Z, r24 - 1f2a: cf bf out 0x3f, r28 ; 63 - 1f2c: cf 91 pop r28 - 1f2e: 08 95 ret +00001b8e : + 1b8e: 28 2f mov r18, r24 + 1b90: 2f 70 andi r18, 0x0F ; 15 + 1b92: 08 2e mov r0, r24 + 1b94: 00 0c add r0, r0 + 1b96: 99 0b sbc r25, r25 + 1b98: 39 2f mov r19, r25 + 1b9a: 33 1f adc r19, r19 + 1b9c: 33 27 eor r19, r19 + 1b9e: 33 1f adc r19, r19 + 1ba0: 83 2f mov r24, r19 + 1ba2: 90 e0 ldi r25, 0x00 ; 0 + 1ba4: 82 0f add r24, r18 + 1ba6: 91 1d adc r25, r1 + 1ba8: 82 0f add r24, r18 + 1baa: 91 1d adc r25, r1 + 1bac: 02 97 sbiw r24, 0x02 ; 2 + 1bae: 49 e0 ldi r20, 0x09 ; 9 + 1bb0: 48 9f mul r20, r24 + 1bb2: 90 01 movw r18, r0 + 1bb4: 49 9f mul r20, r25 + 1bb6: 30 0d add r19, r0 + 1bb8: 11 24 eor r1, r1 + 1bba: c9 01 movw r24, r18 + 1bbc: 8d 56 subi r24, 0x6D ; 109 + 1bbe: 9e 4d sbci r25, 0xDE ; 222 + 1bc0: 08 95 ret -00001f30 : - 1f30: cf 93 push r28 - 1f32: 10 92 60 00 sts 0x0060, r1 ; 0x800060 <__TEXT_REGION_LENGTH__+0x700060> - 1f36: 80 e3 ldi r24, 0x30 ; 48 - 1f38: 76 d8 rcall .-3860 ; 0x1026 - 1f3a: 80 91 c0 04 lds r24, 0x04C0 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> - 1f3e: 80 64 ori r24, 0x40 ; 64 - 1f40: 80 93 c0 04 sts 0x04C0, r24 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> - 1f44: 81 e0 ldi r24, 0x01 ; 1 - 1f46: 80 93 60 00 sts 0x0060, r24 ; 0x800060 <__TEXT_REGION_LENGTH__+0x700060> - 1f4a: cf b7 in r28, 0x3f ; 63 - 1f4c: f8 94 cli - 1f4e: 80 e0 ldi r24, 0x00 ; 0 - 1f50: 90 e0 ldi r25, 0x00 ; 0 - 1f52: fc 01 movw r30, r24 - 1f54: 23 e0 ldi r18, 0x03 ; 3 - 1f56: ee 0f add r30, r30 - 1f58: ff 1f adc r31, r31 - 1f5a: 2a 95 dec r18 - 1f5c: e1 f7 brne .-8 ; 0x1f56 - 1f5e: e0 5f subi r30, 0xF0 ; 240 - 1f60: fd 4d sbci r31, 0xDD ; 221 - 1f62: 11 8a std Z+17, r1 ; 0x11 - 1f64: 01 96 adiw r24, 0x01 ; 1 - 1f66: 88 30 cpi r24, 0x08 ; 8 - 1f68: 91 05 cpc r25, r1 - 1f6a: 99 f7 brne .-26 ; 0x1f52 - 1f6c: 80 91 93 21 lds r24, 0x2193 ; 0x802193 - 1f70: 8e 7f andi r24, 0xFE ; 254 - 1f72: 80 93 93 21 sts 0x2193, r24 ; 0x802193 - 1f76: 80 91 9c 21 lds r24, 0x219C ; 0x80219c - 1f7a: 8e 7f andi r24, 0xFE ; 254 - 1f7c: 80 93 9c 21 sts 0x219C, r24 ; 0x80219c - 1f80: 80 91 a5 21 lds r24, 0x21A5 ; 0x8021a5 - 1f84: 8e 7f andi r24, 0xFE ; 254 - 1f86: 80 93 a5 21 sts 0x21A5, r24 ; 0x8021a5 - 1f8a: 80 91 ae 21 lds r24, 0x21AE ; 0x8021ae - 1f8e: 8e 7f andi r24, 0xFE ; 254 - 1f90: 80 93 ae 21 sts 0x21AE, r24 ; 0x8021ae - 1f94: 80 91 b7 21 lds r24, 0x21B7 ; 0x8021b7 - 1f98: 8e 7f andi r24, 0xFE ; 254 - 1f9a: 80 93 b7 21 sts 0x21B7, r24 ; 0x8021b7 - 1f9e: 80 91 c0 21 lds r24, 0x21C0 ; 0x8021c0 - 1fa2: 8e 7f andi r24, 0xFE ; 254 - 1fa4: 80 93 c0 21 sts 0x21C0, r24 ; 0x8021c0 - 1fa8: 6a e1 ldi r22, 0x1A ; 26 - 1faa: 70 e0 ldi r23, 0x00 ; 0 - 1fac: 82 e0 ldi r24, 0x02 ; 2 - 1fae: 08 dd rcall .-1520 ; 0x19c0 - 1fb0: 8f 3f cpi r24, 0xFF ; 255 - 1fb2: 09 f4 brne .+2 ; 0x1fb6 - 1fb4: 8f e1 ldi r24, 0x1F ; 31 - 1fb6: 80 93 fa 04 sts 0x04FA, r24 ; 0x8004fa <__TEXT_REGION_LENGTH__+0x7004fa> - 1fba: 6b e1 ldi r22, 0x1B ; 27 - 1fbc: 70 e0 ldi r23, 0x00 ; 0 - 1fbe: 82 e0 ldi r24, 0x02 ; 2 - 1fc0: ff dc rcall .-1538 ; 0x19c0 - 1fc2: 8f 3f cpi r24, 0xFF ; 255 - 1fc4: 09 f4 brne .+2 ; 0x1fc8 - 1fc6: 8f e1 ldi r24, 0x1F ; 31 - 1fc8: 80 93 fb 04 sts 0x04FB, r24 ; 0x8004fb <__TEXT_REGION_LENGTH__+0x7004fb> - 1fcc: 80 91 c0 04 lds r24, 0x04C0 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> - 1fd0: 83 60 ori r24, 0x03 ; 3 - 1fd2: 80 93 c0 04 sts 0x04C0, r24 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> - 1fd6: 80 91 c0 04 lds r24, 0x04C0 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> - 1fda: 80 68 ori r24, 0x80 ; 128 - 1fdc: 80 93 c0 04 sts 0x04C0, r24 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> - 1fe0: 80 91 c0 04 lds r24, 0x04C0 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> - 1fe4: 80 61 ori r24, 0x10 ; 16 - 1fe6: 80 93 c0 04 sts 0x04C0, r24 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> - 1fea: 80 e2 ldi r24, 0x20 ; 32 - 1fec: 92 e2 ldi r25, 0x22 ; 34 - 1fee: 80 93 c6 04 sts 0x04C6, r24 ; 0x8004c6 <__TEXT_REGION_LENGTH__+0x7004c6> - 1ff2: 90 93 c7 04 sts 0x04C7, r25 ; 0x8004c7 <__TEXT_REGION_LENGTH__+0x7004c7> - 1ff6: 80 91 c0 04 lds r24, 0x04C0 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> - 1ffa: 80 62 ori r24, 0x20 ; 32 - 1ffc: 80 93 c0 04 sts 0x04C0, r24 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> - 2000: 8f ef ldi r24, 0xFF ; 255 - 2002: 80 93 c5 04 sts 0x04C5, r24 ; 0x8004c5 <__TEXT_REGION_LENGTH__+0x7004c5> - 2006: 80 91 c8 04 lds r24, 0x04C8 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> - 200a: 82 60 ori r24, 0x02 ; 2 - 200c: 80 93 c8 04 sts 0x04C8, r24 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> - 2010: 10 92 64 22 sts 0x2264, r1 ; 0x802264 - 2014: 85 e0 ldi r24, 0x05 ; 5 - 2016: de dc rcall .-1604 ; 0x19d4 - 2018: 68 df rcall .-304 ; 0x1eea - 201a: cf bf out 0x3f, r28 ; 63 - 201c: cf 91 pop r28 - 201e: 08 95 ret +00001bc2 : + 1bc2: 8f 92 push r8 + 1bc4: 9f 92 push r9 + 1bc6: af 92 push r10 + 1bc8: bf 92 push r11 + 1bca: df 92 push r13 + 1bcc: ef 92 push r14 + 1bce: ff 92 push r15 + 1bd0: 0f 93 push r16 + 1bd2: 1f 93 push r17 + 1bd4: cf 93 push r28 + 1bd6: df 93 push r29 + 1bd8: d8 2e mov r13, r24 + 1bda: d9 df rcall .-78 ; 0x1b8e + 1bdc: ec 01 movw r28, r24 + 1bde: 8d 2d mov r24, r13 + 1be0: 74 df rcall .-280 ; 0x1aca + 1be2: 7c 01 movw r14, r24 + 1be4: dc 01 movw r26, r24 + 1be6: 11 96 adiw r26, 0x01 ; 1 + 1be8: ec 91 ld r30, X + 1bea: e7 70 andi r30, 0x07 ; 7 + 1bec: e1 50 subi r30, 0x01 ; 1 + 1bee: e7 30 cpi r30, 0x07 ; 7 + 1bf0: 40 f4 brcc .+16 ; 0x1c02 + 1bf2: f0 e0 ldi r31, 0x00 ; 0 + 1bf4: ee 0f add r30, r30 + 1bf6: ff 1f adc r31, r31 + 1bf8: ee 54 subi r30, 0x4E ; 78 + 1bfa: ff 4d sbci r31, 0xDF ; 223 + 1bfc: 00 81 ld r16, Z + 1bfe: 11 81 ldd r17, Z+1 ; 0x01 + 1c00: 02 c0 rjmp .+4 ; 0x1c06 + 1c02: 08 e0 ldi r16, 0x08 ; 8 + 1c04: 10 e0 ldi r17, 0x00 ; 0 + 1c06: ed 81 ldd r30, Y+5 ; 0x05 + 1c08: fe 81 ldd r31, Y+6 ; 0x06 + 1c0a: 2b 81 ldd r18, Y+3 ; 0x03 + 1c0c: 3c 81 ldd r19, Y+4 ; 0x04 + 1c0e: 48 81 ld r20, Y + 1c10: d7 01 movw r26, r14 + 1c12: d7 fe sbrs r13, 7 + 1c14: 48 c0 rjmp .+144 ; 0x1ca6 + 1c16: 16 96 adiw r26, 0x06 ; 6 + 1c18: 8d 91 ld r24, X+ + 1c1a: 9c 91 ld r25, X + 1c1c: 17 97 sbiw r26, 0x07 ; 7 + 1c1e: 8e 0f add r24, r30 + 1c20: 9f 1f adc r25, r31 + 1c22: 8d 83 std Y+5, r24 ; 0x05 + 1c24: 9e 83 std Y+6, r25 ; 0x06 + 1c26: 82 17 cp r24, r18 + 1c28: 93 07 cpc r25, r19 + 1c2a: 61 f1 breq .+88 ; 0x1c84 + 1c2c: 28 1b sub r18, r24 + 1c2e: 39 0b sbc r19, r25 + 1c30: 21 15 cp r18, r1 + 1c32: b4 e0 ldi r27, 0x04 ; 4 + 1c34: 3b 07 cpc r19, r27 + 1c36: 38 f0 brcs .+14 ; 0x1c46 + 1c38: 2f ef ldi r18, 0xFF ; 255 + 1c3a: 33 e0 ldi r19, 0x03 ; 3 + 1c3c: c9 01 movw r24, r18 + 1c3e: b8 01 movw r22, r16 + 1c40: 14 d5 rcall .+2600 ; 0x266a <__udivmodhi4> + 1c42: 28 1b sub r18, r24 + 1c44: 39 0b sbc r19, r25 + 1c46: 41 ff sbrs r20, 1 + 1c48: 0a c0 rjmp .+20 ; 0x1c5e + 1c4a: c9 01 movw r24, r18 + 1c4c: b8 01 movw r22, r16 + 1c4e: 0d d5 rcall .+2586 ; 0x266a <__udivmodhi4> + 1c50: ac 01 movw r20, r24 + 1c52: 91 e0 ldi r25, 0x01 ; 1 + 1c54: 45 2b or r20, r21 + 1c56: 09 f0 breq .+2 ; 0x1c5a + 1c58: 90 e0 ldi r25, 0x00 ; 0 + 1c5a: 89 2f mov r24, r25 + 1c5c: 01 c0 rjmp .+2 ; 0x1c60 + 1c5e: 80 e0 ldi r24, 0x00 ; 0 + 1c60: 98 81 ld r25, Y + 1c62: 80 fb bst r24, 0 + 1c64: 91 f9 bld r25, 1 + 1c66: 98 83 st Y, r25 + 1c68: f7 01 movw r30, r14 + 1c6a: 16 82 std Z+6, r1 ; 0x06 + 1c6c: 17 82 std Z+7, r1 ; 0x07 + 1c6e: 22 83 std Z+2, r18 ; 0x02 + 1c70: 33 83 std Z+3, r19 ; 0x03 + 1c72: 29 81 ldd r18, Y+1 ; 0x01 + 1c74: 3a 81 ldd r19, Y+2 ; 0x02 + 1c76: 8d 81 ldd r24, Y+5 ; 0x05 + 1c78: 9e 81 ldd r25, Y+6 ; 0x06 + 1c7a: 82 0f add r24, r18 + 1c7c: 93 1f adc r25, r19 + 1c7e: 84 83 std Z+4, r24 ; 0x04 + 1c80: 95 83 std Z+5, r25 ; 0x05 + 1c82: 0e c0 rjmp .+28 ; 0x1ca0 + 1c84: 41 ff sbrs r20, 1 + 1c86: 71 c0 rjmp .+226 ; 0x1d6a + 1c88: 4d 7f andi r20, 0xFD ; 253 + 1c8a: 48 83 st Y, r20 + 1c8c: d7 01 movw r26, r14 + 1c8e: 16 96 adiw r26, 0x06 ; 6 + 1c90: 1d 92 st X+, r1 + 1c92: 1c 92 st X, r1 + 1c94: 17 97 sbiw r26, 0x07 ; 7 + 1c96: 12 96 adiw r26, 0x02 ; 2 + 1c98: 1d 92 st X+, r1 + 1c9a: 1c 92 st X, r1 + 1c9c: 13 97 sbiw r26, 0x03 ; 3 + 1c9e: f7 01 movw r30, r14 + 1ca0: 02 e0 ldi r16, 0x02 ; 2 + 1ca2: 06 93 lac Z, r16 + 1ca4: 7b c0 rjmp .+246 ; 0x1d9c + 1ca6: 12 96 adiw r26, 0x02 ; 2 + 1ca8: ad 90 ld r10, X+ + 1caa: bc 90 ld r11, X + 1cac: 13 97 sbiw r26, 0x03 ; 3 + 1cae: 42 ff sbrs r20, 2 + 1cb0: 10 c0 rjmp .+32 ; 0x1cd2 + 1cb2: 89 80 ldd r8, Y+1 ; 0x01 + 1cb4: 9a 80 ldd r9, Y+2 ; 0x02 + 1cb6: c9 01 movw r24, r18 + 1cb8: b8 01 movw r22, r16 + 1cba: d7 d4 rcall .+2478 ; 0x266a <__udivmodhi4> + 1cbc: b0 e4 ldi r27, 0x40 ; 64 + 1cbe: db 9e mul r13, r27 + 1cc0: b0 01 movw r22, r0 + 1cc2: 11 24 eor r1, r1 + 1cc4: 6d 56 subi r22, 0x6D ; 109 + 1cc6: 7f 4d sbci r23, 0xDF ; 223 + 1cc8: ac 01 movw r20, r24 + 1cca: c4 01 movw r24, r8 + 1ccc: 8e 0f add r24, r30 + 1cce: 9f 1f adc r25, r31 + 1cd0: e6 d4 rcall .+2508 ; 0x269e + 1cd2: 8d 81 ldd r24, Y+5 ; 0x05 + 1cd4: 9e 81 ldd r25, Y+6 ; 0x06 + 1cd6: 8a 0d add r24, r10 + 1cd8: 9b 1d adc r25, r11 + 1cda: 8d 83 std Y+5, r24 ; 0x05 + 1cdc: 9e 83 std Y+6, r25 ; 0x06 + 1cde: 2b 81 ldd r18, Y+3 ; 0x03 + 1ce0: 3c 81 ldd r19, Y+4 ; 0x04 + 1ce2: 28 17 cp r18, r24 + 1ce4: 39 07 cpc r19, r25 + 1ce6: 10 f4 brcc .+4 ; 0x1cec + 1ce8: 2d 83 std Y+5, r18 ; 0x05 + 1cea: 3e 83 std Y+6, r19 ; 0x06 + 1cec: f7 01 movw r30, r14 + 1cee: 86 81 ldd r24, Z+6 ; 0x06 + 1cf0: 97 81 ldd r25, Z+7 ; 0x07 + 1cf2: a8 16 cp r10, r24 + 1cf4: b9 06 cpc r11, r25 + 1cf6: c9 f5 brne .+114 ; 0x1d6a + 1cf8: 8d 81 ldd r24, Y+5 ; 0x05 + 1cfa: 9e 81 ldd r25, Y+6 ; 0x06 + 1cfc: 82 17 cp r24, r18 + 1cfe: 93 07 cpc r25, r19 + 1d00: a1 f1 breq .+104 ; 0x1d6a + 1d02: 28 1b sub r18, r24 + 1d04: 39 0b sbc r19, r25 + 1d06: 21 15 cp r18, r1 + 1d08: f4 e0 ldi r31, 0x04 ; 4 + 1d0a: 3f 07 cpc r19, r31 + 1d0c: 10 f0 brcs .+4 ; 0x1d12 + 1d0e: 2f ef ldi r18, 0xFF ; 255 + 1d10: 33 e0 ldi r19, 0x03 ; 3 + 1d12: c9 01 movw r24, r18 + 1d14: b8 01 movw r22, r16 + 1d16: a9 d4 rcall .+2386 ; 0x266a <__udivmodhi4> + 1d18: 28 1b sub r18, r24 + 1d1a: 39 0b sbc r19, r25 + 1d1c: d7 01 movw r26, r14 + 1d1e: 12 96 adiw r26, 0x02 ; 2 + 1d20: 1d 92 st X+, r1 + 1d22: 1c 92 st X, r1 + 1d24: 13 97 sbiw r26, 0x03 ; 3 + 1d26: 20 17 cp r18, r16 + 1d28: 31 07 cpc r19, r17 + 1d2a: 78 f4 brcc .+30 ; 0x1d4a + 1d2c: 88 81 ld r24, Y + 1d2e: 84 60 ori r24, 0x04 ; 4 + 1d30: 88 83 st Y, r24 + 1d32: b0 e4 ldi r27, 0x40 ; 64 + 1d34: db 9e mul r13, r27 + 1d36: c0 01 movw r24, r0 + 1d38: 11 24 eor r1, r1 + 1d3a: 8d 56 subi r24, 0x6D ; 109 + 1d3c: 9f 4d sbci r25, 0xDF ; 223 + 1d3e: f7 01 movw r30, r14 + 1d40: 84 83 std Z+4, r24 ; 0x04 + 1d42: 95 83 std Z+5, r25 ; 0x05 + 1d44: 06 83 std Z+6, r16 ; 0x06 + 1d46: 17 83 std Z+7, r17 ; 0x07 + 1d48: aa cf rjmp .-172 ; 0x1c9e + 1d4a: 49 81 ldd r20, Y+1 ; 0x01 + 1d4c: 5a 81 ldd r21, Y+2 ; 0x02 + 1d4e: 8d 81 ldd r24, Y+5 ; 0x05 + 1d50: 9e 81 ldd r25, Y+6 ; 0x06 + 1d52: 84 0f add r24, r20 + 1d54: 95 1f adc r25, r21 + 1d56: d7 01 movw r26, r14 + 1d58: 14 96 adiw r26, 0x04 ; 4 + 1d5a: 8d 93 st X+, r24 + 1d5c: 9c 93 st X, r25 + 1d5e: 15 97 sbiw r26, 0x05 ; 5 + 1d60: 16 96 adiw r26, 0x06 ; 6 + 1d62: 2d 93 st X+, r18 + 1d64: 3c 93 st X, r19 + 1d66: 17 97 sbiw r26, 0x07 ; 7 + 1d68: 9a cf rjmp .-204 ; 0x1c9e + 1d6a: 88 81 ld r24, Y + 1d6c: 80 ff sbrs r24, 0 + 1d6e: 16 c0 rjmp .+44 ; 0x1d9c + 1d70: 8e 7f andi r24, 0xFE ; 254 + 1d72: 88 83 st Y, r24 + 1d74: ef 81 ldd r30, Y+7 ; 0x07 + 1d76: f8 85 ldd r31, Y+8 ; 0x08 + 1d78: 30 97 sbiw r30, 0x00 ; 0 + 1d7a: 81 f0 breq .+32 ; 0x1d9c + 1d7c: 6d 81 ldd r22, Y+5 ; 0x05 + 1d7e: 7e 81 ldd r23, Y+6 ; 0x06 + 1d80: 4d 2d mov r20, r13 + 1d82: 80 e0 ldi r24, 0x00 ; 0 + 1d84: df 91 pop r29 + 1d86: cf 91 pop r28 + 1d88: 1f 91 pop r17 + 1d8a: 0f 91 pop r16 + 1d8c: ff 90 pop r15 + 1d8e: ef 90 pop r14 + 1d90: df 90 pop r13 + 1d92: bf 90 pop r11 + 1d94: af 90 pop r10 + 1d96: 9f 90 pop r9 + 1d98: 8f 90 pop r8 + 1d9a: 09 94 ijmp + 1d9c: df 91 pop r29 + 1d9e: cf 91 pop r28 + 1da0: 1f 91 pop r17 + 1da2: 0f 91 pop r16 + 1da4: ff 90 pop r15 + 1da6: ef 90 pop r14 + 1da8: df 90 pop r13 + 1daa: bf 90 pop r11 + 1dac: af 90 pop r10 + 1dae: 9f 90 pop r9 + 1db0: 8f 90 pop r8 + 1db2: 08 95 ret -00002020 : - 2020: 80 93 c3 04 sts 0x04C3, r24 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> - 2024: 08 95 ret +00001db4 : + 1db4: 0f 93 push r16 + 1db6: cf 93 push r28 + 1db8: df 93 push r29 + 1dba: 80 91 0d 22 lds r24, 0x220D ; 0x80220d + 1dbe: 83 30 cpi r24, 0x03 ; 3 + 1dc0: 29 f4 brne .+10 ; 0x1dcc + 1dc2: dd de rcall .-582 ; 0x1b7e + 1dc4: df 91 pop r29 + 1dc6: cf 91 pop r28 + 1dc8: 0f 91 pop r16 + 1dca: 96 ce rjmp .-724 ; 0x1af8 + 1dcc: 20 91 09 22 lds r18, 0x2209 ; 0x802209 + 1dd0: 30 91 0a 22 lds r19, 0x220A ; 0x80220a + 1dd4: c0 91 74 24 lds r28, 0x2474 ; 0x802474 + 1dd8: d0 91 75 24 lds r29, 0x2475 ; 0x802475 + 1ddc: c2 1b sub r28, r18 + 1dde: d3 0b sbc r29, r19 + 1de0: 61 f5 brne .+88 ; 0x1e3a + 1de2: 80 91 0b 22 lds r24, 0x220B ; 0x80220b + 1de6: 90 91 0c 22 lds r25, 0x220C ; 0x80220c + 1dea: 82 0f add r24, r18 + 1dec: 93 1f adc r25, r19 + 1dee: 80 93 0b 22 sts 0x220B, r24 ; 0x80220b + 1df2: 90 93 0c 22 sts 0x220C, r25 ; 0x80220c + 1df6: 20 91 70 24 lds r18, 0x2470 ; 0x802470 + 1dfa: 30 91 71 24 lds r19, 0x2471 ; 0x802471 + 1dfe: 28 17 cp r18, r24 + 1e00: 39 07 cpc r19, r25 + 1e02: 21 f0 breq .+8 ; 0x1e0c + 1e04: 80 91 d2 20 lds r24, 0x20D2 ; 0x8020d2 + 1e08: 88 23 and r24, r24 + 1e0a: 31 f0 breq .+12 ; 0x1e18 + 1e0c: 84 e0 ldi r24, 0x04 ; 4 + 1e0e: 80 93 0d 22 sts 0x220D, r24 ; 0x80220d + 1e12: e0 e2 ldi r30, 0x20 ; 32 + 1e14: f2 e2 ldi r31, 0x22 ; 34 + 1e16: 36 c0 rjmp .+108 ; 0x1e84 + 1e18: e0 91 78 24 lds r30, 0x2478 ; 0x802478 + 1e1c: f0 91 79 24 lds r31, 0x2479 ; 0x802479 + 1e20: 30 97 sbiw r30, 0x00 ; 0 + 1e22: 99 f0 breq .+38 ; 0x1e4a + 1e24: 09 95 icall + 1e26: 88 23 and r24, r24 + 1e28: 81 f0 breq .+32 ; 0x1e4a + 1e2a: 10 92 09 22 sts 0x2209, r1 ; 0x802209 + 1e2e: 10 92 0a 22 sts 0x220A, r1 ; 0x80220a + 1e32: c0 91 74 24 lds r28, 0x2474 ; 0x802474 + 1e36: d0 91 75 24 lds r29, 0x2475 ; 0x802475 + 1e3a: c0 34 cpi r28, 0x40 ; 64 + 1e3c: d1 05 cpc r29, r1 + 1e3e: 28 f0 brcs .+10 ; 0x1e4a + 1e40: 10 92 d2 20 sts 0x20D2, r1 ; 0x8020d2 + 1e44: c0 e4 ldi r28, 0x40 ; 64 + 1e46: d0 e0 ldi r29, 0x00 ; 0 + 1e48: 03 c0 rjmp .+6 ; 0x1e50 + 1e4a: 81 e0 ldi r24, 0x01 ; 1 + 1e4c: 80 93 d2 20 sts 0x20D2, r24 ; 0x8020d2 + 1e50: c0 93 2a 22 sts 0x222A, r28 ; 0x80222a + 1e54: d0 93 2b 22 sts 0x222B, r29 ; 0x80222b + 1e58: 80 91 09 22 lds r24, 0x2209 ; 0x802209 + 1e5c: 90 91 0a 22 lds r25, 0x220A ; 0x80220a + 1e60: 20 91 72 24 lds r18, 0x2472 ; 0x802472 + 1e64: 30 91 73 24 lds r19, 0x2473 ; 0x802473 + 1e68: 28 0f add r18, r24 + 1e6a: 39 1f adc r19, r25 + 1e6c: 20 93 2c 22 sts 0x222C, r18 ; 0x80222c + 1e70: 30 93 2d 22 sts 0x222D, r19 ; 0x80222d + 1e74: c8 0f add r28, r24 + 1e76: d9 1f adc r29, r25 + 1e78: c0 93 09 22 sts 0x2209, r28 ; 0x802209 + 1e7c: d0 93 0a 22 sts 0x220A, r29 ; 0x80220a + 1e80: e8 e2 ldi r30, 0x28 ; 40 + 1e82: f2 e2 ldi r31, 0x22 ; 34 + 1e84: 02 e0 ldi r16, 0x02 ; 2 + 1e86: 06 93 lac Z, r16 + 1e88: df 91 pop r29 + 1e8a: cf 91 pop r28 + 1e8c: 0f 91 pop r16 + 1e8e: 08 95 ret -00002026 : - 2026: 80 91 c3 04 lds r24, 0x04C3 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> - 202a: 08 95 ret +00001e90 : + 1e90: 0f 93 push r16 + 1e92: cf 93 push r28 + 1e94: df 93 push r29 + 1e96: 1f 92 push r1 + 1e98: cd b7 in r28, 0x3d ; 61 + 1e9a: de b7 in r29, 0x3e ; 62 + 1e9c: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 1ea0: 80 ff sbrs r24, 0 + 1ea2: 65 c0 rjmp .+202 ; 0x1f6e + 1ea4: 21 e0 ldi r18, 0x01 ; 1 + 1ea6: 20 93 cc 04 sts 0x04CC, r18 ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 1eaa: 80 e2 ldi r24, 0x20 ; 32 + 1eac: 92 e2 ldi r25, 0x22 ; 34 + 1eae: fc 01 movw r30, r24 + 1eb0: 00 e8 ldi r16, 0x80 ; 128 + 1eb2: 06 93 lac Z, r16 + 1eb4: e8 e2 ldi r30, 0x28 ; 40 + 1eb6: f2 e2 ldi r31, 0x22 ; 34 + 1eb8: 00 e8 ldi r16, 0x80 ; 128 + 1eba: 06 93 lac Z, r16 + 1ebc: 20 93 ca 04 sts 0x04CA, r18 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 1ec0: fc 01 movw r30, r24 + 1ec2: 00 e1 ldi r16, 0x10 ; 16 + 1ec4: 06 93 lac Z, r16 + 1ec6: 80 91 0d 22 lds r24, 0x220D ; 0x80220d + 1eca: 88 23 and r24, r24 + 1ecc: 29 f0 breq .+10 ; 0x1ed8 + 1ece: 83 50 subi r24, 0x03 ; 3 + 1ed0: 82 30 cpi r24, 0x02 ; 2 + 1ed2: 08 f4 brcc .+2 ; 0x1ed6 + 1ed4: 54 de rcall .-856 ; 0x1b7e + 1ed6: 10 de rcall .-992 ; 0x1af8 + 1ed8: 80 91 22 22 lds r24, 0x2222 ; 0x802222 + 1edc: 90 91 23 22 lds r25, 0x2223 ; 0x802223 + 1ee0: 08 97 sbiw r24, 0x08 ; 8 + 1ee2: 09 f0 breq .+2 ; 0x1ee6 + 1ee4: 46 c0 rjmp .+140 ; 0x1f72 + 1ee6: 88 e0 ldi r24, 0x08 ; 8 + 1ee8: e9 ec ldi r30, 0xC9 ; 201 + 1eea: f1 e2 ldi r31, 0x21 ; 33 + 1eec: aa e6 ldi r26, 0x6A ; 106 + 1eee: b4 e2 ldi r27, 0x24 ; 36 + 1ef0: 01 90 ld r0, Z+ + 1ef2: 0d 92 st X+, r0 + 1ef4: 8a 95 dec r24 + 1ef6: e1 f7 brne .-8 ; 0x1ef0 + 1ef8: 80 91 c8 04 lds r24, 0x04C8 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> + 1efc: 80 62 ori r24, 0x20 ; 32 + 1efe: 80 93 c8 04 sts 0x04C8, r24 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> + 1f02: 80 91 c8 04 lds r24, 0x04C8 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> + 1f06: 80 62 ori r24, 0x20 ; 32 + 1f08: 80 93 c8 04 sts 0x04C8, r24 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> + 1f0c: 59 da rcall .-2894 ; 0x13c0 + 1f0e: 81 11 cpse r24, r1 + 1f10: 02 c0 rjmp .+4 ; 0x1f16 + 1f12: 19 de rcall .-974 ; 0x1b46 + 1f14: 2e c0 rjmp .+92 ; 0x1f72 + 1f16: 90 91 6a 24 lds r25, 0x246A ; 0x80246a + 1f1a: 97 ff sbrs r25, 7 + 1f1c: 0e c0 rjmp .+28 ; 0x1f3a + 1f1e: 10 92 0b 22 sts 0x220B, r1 ; 0x80220b + 1f22: 10 92 0c 22 sts 0x220C, r1 ; 0x80220c + 1f26: 10 92 09 22 sts 0x2209, r1 ; 0x802209 + 1f2a: 10 92 0a 22 sts 0x220A, r1 ; 0x80220a + 1f2e: 92 e0 ldi r25, 0x02 ; 2 + 1f30: 90 93 0d 22 sts 0x220D, r25 ; 0x80220d + 1f34: 89 83 std Y+1, r24 ; 0x01 + 1f36: 3e df rcall .-388 ; 0x1db4 + 1f38: 08 c0 rjmp .+16 ; 0x1f4a + 1f3a: 20 91 70 24 lds r18, 0x2470 ; 0x802470 + 1f3e: 30 91 71 24 lds r19, 0x2471 ; 0x802471 + 1f42: 23 2b or r18, r19 + 1f44: 21 f4 brne .+8 ; 0x1f4e + 1f46: 89 83 std Y+1, r24 ; 0x01 + 1f48: 0c de rcall .-1000 ; 0x1b62 + 1f4a: 89 81 ldd r24, Y+1 ; 0x01 + 1f4c: 13 c0 rjmp .+38 ; 0x1f74 + 1f4e: 10 92 0b 22 sts 0x220B, r1 ; 0x80220b + 1f52: 10 92 0c 22 sts 0x220C, r1 ; 0x80220c + 1f56: 10 92 09 22 sts 0x2209, r1 ; 0x802209 + 1f5a: 10 92 0a 22 sts 0x220A, r1 ; 0x80220a + 1f5e: 91 e0 ldi r25, 0x01 ; 1 + 1f60: 90 93 0d 22 sts 0x220D, r25 ; 0x80220d + 1f64: e0 e2 ldi r30, 0x20 ; 32 + 1f66: f2 e2 ldi r31, 0x22 ; 34 + 1f68: 02 e0 ldi r16, 0x02 ; 2 + 1f6a: 06 93 lac Z, r16 + 1f6c: 03 c0 rjmp .+6 ; 0x1f74 + 1f6e: 80 e0 ldi r24, 0x00 ; 0 + 1f70: 01 c0 rjmp .+2 ; 0x1f74 + 1f72: 81 e0 ldi r24, 0x01 ; 1 + 1f74: 0f 90 pop r0 + 1f76: df 91 pop r29 + 1f78: cf 91 pop r28 + 1f7a: 0f 91 pop r16 + 1f7c: 08 95 ret -0000202c : - 202c: ea e6 ldi r30, 0x6A ; 106 - 202e: f4 e2 ldi r31, 0x24 ; 36 - 2030: 80 87 std Z+8, r24 ; 0x08 - 2032: 91 87 std Z+9, r25 ; 0x09 - 2034: 62 87 std Z+10, r22 ; 0x0a - 2036: 73 87 std Z+11, r23 ; 0x0b - 2038: 08 95 ret +00001f7e : + 1f7e: cf 93 push r28 + 1f80: cf b7 in r28, 0x3f ; 63 + 1f82: f8 94 cli + 1f84: 81 e0 ldi r24, 0x01 ; 1 + 1f86: 8e dd rcall .-1252 ; 0x1aa4 + 1f88: ea ec ldi r30, 0xCA ; 202 + 1f8a: f4 e0 ldi r31, 0x04 ; 4 + 1f8c: 80 e4 ldi r24, 0x40 ; 64 + 1f8e: 80 83 st Z, r24 + 1f90: 80 e2 ldi r24, 0x20 ; 32 + 1f92: 80 83 st Z, r24 + 1f94: e1 ec ldi r30, 0xC1 ; 193 + 1f96: f4 e0 ldi r31, 0x04 ; 4 + 1f98: 80 81 ld r24, Z + 1f9a: 81 60 ori r24, 0x01 ; 1 + 1f9c: 80 83 st Z, r24 + 1f9e: a9 ec ldi r26, 0xC9 ; 201 + 1fa0: b4 e0 ldi r27, 0x04 ; 4 + 1fa2: 8c 91 ld r24, X + 1fa4: 82 60 ori r24, 0x02 ; 2 + 1fa6: 8c 93 st X, r24 + 1fa8: e8 ec ldi r30, 0xC8 ; 200 + 1faa: f4 e0 ldi r31, 0x04 ; 4 + 1fac: 80 81 ld r24, Z + 1fae: 80 64 ori r24, 0x40 ; 64 + 1fb0: 80 83 st Z, r24 + 1fb2: 8c 91 ld r24, X + 1fb4: 81 60 ori r24, 0x01 ; 1 + 1fb6: 8c 93 st X, r24 + 1fb8: 80 81 ld r24, Z + 1fba: 80 68 ori r24, 0x80 ; 128 + 1fbc: 80 83 st Z, r24 + 1fbe: cf bf out 0x3f, r28 ; 63 + 1fc0: cf 91 pop r28 + 1fc2: 08 95 ret -0000203a : - 203a: 0f 93 push r16 - 203c: 1f 93 push r17 - 203e: cf 93 push r28 - 2040: df 93 push r29 - 2042: 1f 92 push r1 - 2044: cd b7 in r28, 0x3d ; 61 - 2046: de b7 in r29, 0x3e ; 62 - 2048: 8a 01 movw r16, r20 - 204a: 69 83 std Y+1, r22 ; 0x01 - 204c: f4 dc rcall .-1560 ; 0x1a36 - 204e: fc 01 movw r30, r24 - 2050: 81 81 ldd r24, Z+1 ; 0x01 - 2052: 80 7c andi r24, 0xC0 ; 192 - 2054: 69 81 ldd r22, Y+1 ; 0x01 - 2056: 81 11 cpse r24, r1 - 2058: 3a c0 rjmp .+116 ; 0x20ce - 205a: 63 70 andi r22, 0x03 ; 3 - 205c: 61 30 cpi r22, 0x01 ; 1 - 205e: 19 f0 breq .+6 ; 0x2066 - 2060: 20 f0 brcs .+8 ; 0x206a - 2062: 80 e8 ldi r24, 0x80 ; 128 - 2064: 03 c0 rjmp .+6 ; 0x206c - 2066: 80 ec ldi r24, 0xC0 ; 192 - 2068: 01 c0 rjmp .+2 ; 0x206c - 206a: 80 e4 ldi r24, 0x40 ; 64 - 206c: 00 38 cpi r16, 0x80 ; 128 - 206e: 11 05 cpc r17, r1 - 2070: e9 f0 breq .+58 ; 0x20ac - 2072: 58 f4 brcc .+22 ; 0x208a - 2074: 00 32 cpi r16, 0x20 ; 32 - 2076: 11 05 cpc r17, r1 - 2078: a9 f0 breq .+42 ; 0x20a4 - 207a: 00 34 cpi r16, 0x40 ; 64 - 207c: 11 05 cpc r17, r1 - 207e: a1 f0 breq .+40 ; 0x20a8 - 2080: 00 31 cpi r16, 0x10 ; 16 - 2082: 11 05 cpc r17, r1 - 2084: c9 f4 brne .+50 ; 0x20b8 - 2086: 91 e0 ldi r25, 0x01 ; 1 - 2088: 18 c0 rjmp .+48 ; 0x20ba - 208a: 01 15 cp r16, r1 - 208c: 92 e0 ldi r25, 0x02 ; 2 - 208e: 19 07 cpc r17, r25 - 2090: 79 f0 breq .+30 ; 0x20b0 - 2092: 0f 3f cpi r16, 0xFF ; 255 - 2094: 93 e0 ldi r25, 0x03 ; 3 - 2096: 19 07 cpc r17, r25 - 2098: 69 f0 breq .+26 ; 0x20b4 - 209a: 01 15 cp r16, r1 - 209c: 11 40 sbci r17, 0x01 ; 1 - 209e: 61 f4 brne .+24 ; 0x20b8 - 20a0: 95 e0 ldi r25, 0x05 ; 5 - 20a2: 0b c0 rjmp .+22 ; 0x20ba - 20a4: 92 e0 ldi r25, 0x02 ; 2 - 20a6: 09 c0 rjmp .+18 ; 0x20ba - 20a8: 93 e0 ldi r25, 0x03 ; 3 - 20aa: 07 c0 rjmp .+14 ; 0x20ba - 20ac: 94 e0 ldi r25, 0x04 ; 4 - 20ae: 05 c0 rjmp .+10 ; 0x20ba - 20b0: 96 e0 ldi r25, 0x06 ; 6 - 20b2: 03 c0 rjmp .+6 ; 0x20ba - 20b4: 97 e0 ldi r25, 0x07 ; 7 - 20b6: 01 c0 rjmp .+2 ; 0x20ba - 20b8: 90 e0 ldi r25, 0x00 ; 0 - 20ba: 11 82 std Z+1, r1 ; 0x01 - 20bc: 26 e0 ldi r18, 0x06 ; 6 - 20be: 20 83 st Z, r18 - 20c0: 98 2b or r25, r24 - 20c2: 91 83 std Z+1, r25 ; 0x01 - 20c4: 81 81 ldd r24, Z+1 ; 0x01 - 20c6: 80 62 ori r24, 0x20 ; 32 - 20c8: 81 83 std Z+1, r24 ; 0x01 - 20ca: 81 e0 ldi r24, 0x01 ; 1 - 20cc: 01 c0 rjmp .+2 ; 0x20d0 - 20ce: 80 e0 ldi r24, 0x00 ; 0 - 20d0: 0f 90 pop r0 - 20d2: df 91 pop r29 - 20d4: cf 91 pop r28 - 20d6: 1f 91 pop r17 - 20d8: 0f 91 pop r16 - 20da: 08 95 ret +00001fc4 : + 1fc4: cf 93 push r28 + 1fc6: 10 92 60 00 sts 0x0060, r1 ; 0x800060 <__TEXT_REGION_LENGTH__+0x700060> + 1fca: 80 e3 ldi r24, 0x30 ; 48 + 1fcc: 75 d8 rcall .-3862 ; 0x10b8 + 1fce: 80 91 c0 04 lds r24, 0x04C0 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> + 1fd2: 80 64 ori r24, 0x40 ; 64 + 1fd4: 80 93 c0 04 sts 0x04C0, r24 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> + 1fd8: 81 e0 ldi r24, 0x01 ; 1 + 1fda: 80 93 60 00 sts 0x0060, r24 ; 0x800060 <__TEXT_REGION_LENGTH__+0x700060> + 1fde: cf b7 in r28, 0x3f ; 63 + 1fe0: f8 94 cli + 1fe2: 80 e0 ldi r24, 0x00 ; 0 + 1fe4: 90 e0 ldi r25, 0x00 ; 0 + 1fe6: fc 01 movw r30, r24 + 1fe8: 23 e0 ldi r18, 0x03 ; 3 + 1fea: ee 0f add r30, r30 + 1fec: ff 1f adc r31, r31 + 1fee: 2a 95 dec r18 + 1ff0: e1 f7 brne .-8 ; 0x1fea + 1ff2: e0 5f subi r30, 0xF0 ; 240 + 1ff4: fd 4d sbci r31, 0xDD ; 221 + 1ff6: 11 8a std Z+17, r1 ; 0x11 + 1ff8: 01 96 adiw r24, 0x01 ; 1 + 1ffa: 88 30 cpi r24, 0x08 ; 8 + 1ffc: 91 05 cpc r25, r1 + 1ffe: 99 f7 brne .-26 ; 0x1fe6 + 2000: 80 91 93 21 lds r24, 0x2193 ; 0x802193 + 2004: 8e 7f andi r24, 0xFE ; 254 + 2006: 80 93 93 21 sts 0x2193, r24 ; 0x802193 + 200a: 80 91 9c 21 lds r24, 0x219C ; 0x80219c + 200e: 8e 7f andi r24, 0xFE ; 254 + 2010: 80 93 9c 21 sts 0x219C, r24 ; 0x80219c + 2014: 80 91 a5 21 lds r24, 0x21A5 ; 0x8021a5 + 2018: 8e 7f andi r24, 0xFE ; 254 + 201a: 80 93 a5 21 sts 0x21A5, r24 ; 0x8021a5 + 201e: 80 91 ae 21 lds r24, 0x21AE ; 0x8021ae + 2022: 8e 7f andi r24, 0xFE ; 254 + 2024: 80 93 ae 21 sts 0x21AE, r24 ; 0x8021ae + 2028: 80 91 b7 21 lds r24, 0x21B7 ; 0x8021b7 + 202c: 8e 7f andi r24, 0xFE ; 254 + 202e: 80 93 b7 21 sts 0x21B7, r24 ; 0x8021b7 + 2032: 80 91 c0 21 lds r24, 0x21C0 ; 0x8021c0 + 2036: 8e 7f andi r24, 0xFE ; 254 + 2038: 80 93 c0 21 sts 0x21C0, r24 ; 0x8021c0 + 203c: 6a e1 ldi r22, 0x1A ; 26 + 203e: 70 e0 ldi r23, 0x00 ; 0 + 2040: 82 e0 ldi r24, 0x02 ; 2 + 2042: 08 dd rcall .-1520 ; 0x1a54 + 2044: 8f 3f cpi r24, 0xFF ; 255 + 2046: 09 f4 brne .+2 ; 0x204a + 2048: 8f e1 ldi r24, 0x1F ; 31 + 204a: 80 93 fa 04 sts 0x04FA, r24 ; 0x8004fa <__TEXT_REGION_LENGTH__+0x7004fa> + 204e: 6b e1 ldi r22, 0x1B ; 27 + 2050: 70 e0 ldi r23, 0x00 ; 0 + 2052: 82 e0 ldi r24, 0x02 ; 2 + 2054: ff dc rcall .-1538 ; 0x1a54 + 2056: 8f 3f cpi r24, 0xFF ; 255 + 2058: 09 f4 brne .+2 ; 0x205c + 205a: 8f e1 ldi r24, 0x1F ; 31 + 205c: 80 93 fb 04 sts 0x04FB, r24 ; 0x8004fb <__TEXT_REGION_LENGTH__+0x7004fb> + 2060: 80 91 c0 04 lds r24, 0x04C0 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> + 2064: 83 60 ori r24, 0x03 ; 3 + 2066: 80 93 c0 04 sts 0x04C0, r24 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> + 206a: 80 91 c0 04 lds r24, 0x04C0 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> + 206e: 80 68 ori r24, 0x80 ; 128 + 2070: 80 93 c0 04 sts 0x04C0, r24 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> + 2074: 80 91 c0 04 lds r24, 0x04C0 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> + 2078: 80 61 ori r24, 0x10 ; 16 + 207a: 80 93 c0 04 sts 0x04C0, r24 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> + 207e: 80 e2 ldi r24, 0x20 ; 32 + 2080: 92 e2 ldi r25, 0x22 ; 34 + 2082: 80 93 c6 04 sts 0x04C6, r24 ; 0x8004c6 <__TEXT_REGION_LENGTH__+0x7004c6> + 2086: 90 93 c7 04 sts 0x04C7, r25 ; 0x8004c7 <__TEXT_REGION_LENGTH__+0x7004c7> + 208a: 80 91 c0 04 lds r24, 0x04C0 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> + 208e: 80 62 ori r24, 0x20 ; 32 + 2090: 80 93 c0 04 sts 0x04C0, r24 ; 0x8004c0 <__TEXT_REGION_LENGTH__+0x7004c0> + 2094: 8f ef ldi r24, 0xFF ; 255 + 2096: 80 93 c5 04 sts 0x04C5, r24 ; 0x8004c5 <__TEXT_REGION_LENGTH__+0x7004c5> + 209a: 80 91 c8 04 lds r24, 0x04C8 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> + 209e: 82 60 ori r24, 0x02 ; 2 + 20a0: 80 93 c8 04 sts 0x04C8, r24 ; 0x8004c8 <__TEXT_REGION_LENGTH__+0x7004c8> + 20a4: 10 92 64 22 sts 0x2264, r1 ; 0x802264 + 20a8: 85 e0 ldi r24, 0x05 ; 5 + 20aa: de dc rcall .-1604 ; 0x1a68 + 20ac: 68 df rcall .-304 ; 0x1f7e + 20ae: cf bf out 0x3f, r28 ; 63 + 20b0: cf 91 pop r28 + 20b2: 08 95 ret -000020dc : - 20dc: ac dc rcall .-1704 ; 0x1a36 - 20de: fc 01 movw r30, r24 - 20e0: 81 81 ldd r24, Z+1 ; 0x01 - 20e2: 82 fb bst r24, 2 - 20e4: 88 27 eor r24, r24 - 20e6: 80 f9 bld r24, 0 - 20e8: 08 95 ret +000020b4 : + 20b4: 80 93 c3 04 sts 0x04C3, r24 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> + 20b8: 08 95 ret -000020ea : - 20ea: cf 93 push r28 - 20ec: c8 2f mov r28, r24 - 20ee: a3 dc rcall .-1722 ; 0x1a36 - 20f0: fc 01 movw r30, r24 - 20f2: 81 81 ldd r24, Z+1 ; 0x01 - 20f4: 82 ff sbrs r24, 2 - 20f6: 0f c0 rjmp .+30 ; 0x2116 - 20f8: 91 81 ldd r25, Z+1 ; 0x01 - 20fa: 9b 7f andi r25, 0xFB ; 251 - 20fc: 91 83 std Z+1, r25 ; 0x01 - 20fe: 8c 2f mov r24, r28 - 2100: fc dc rcall .-1544 ; 0x1afa - 2102: fc 01 movw r30, r24 - 2104: 90 81 ld r25, Z - 2106: 90 ff sbrs r25, 0 - 2108: 06 c0 rjmp .+12 ; 0x2116 - 210a: 9e 7f andi r25, 0xFE ; 254 - 210c: 90 83 st Z, r25 - 210e: 07 80 ldd r0, Z+7 ; 0x07 - 2110: f0 85 ldd r31, Z+8 ; 0x08 - 2112: e0 2d mov r30, r0 - 2114: 09 95 icall - 2116: 81 e0 ldi r24, 0x01 ; 1 - 2118: cf 91 pop r28 - 211a: 08 95 ret +000020ba : + 20ba: 80 91 c3 04 lds r24, 0x04C3 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> + 20be: 08 95 ret -0000211c : - 211c: 8f 92 push r8 - 211e: 9f 92 push r9 - 2120: af 92 push r10 - 2122: bf 92 push r11 - 2124: df 92 push r13 - 2126: ef 92 push r14 - 2128: ff 92 push r15 - 212a: 0f 93 push r16 - 212c: 1f 93 push r17 - 212e: cf 93 push r28 - 2130: df 93 push r29 - 2132: 1f 92 push r1 - 2134: cd b7 in r28, 0x3d ; 61 - 2136: de b7 in r29, 0x3e ; 62 - 2138: d8 2e mov r13, r24 - 213a: 5a 01 movw r10, r20 - 213c: 79 01 movw r14, r18 - 213e: 69 83 std Y+1, r22 ; 0x01 - 2140: dc dc rcall .-1608 ; 0x1afa - 2142: 4c 01 movw r8, r24 - 2144: 8d 2d mov r24, r13 - 2146: 77 dc rcall .-1810 ; 0x1a36 - 2148: 9c 01 movw r18, r24 - 214a: dc 01 movw r26, r24 - 214c: 11 96 adiw r26, 0x01 ; 1 - 214e: 8c 91 ld r24, X - 2150: 11 97 sbiw r26, 0x01 ; 1 - 2152: 80 7c andi r24, 0xC0 ; 192 - 2154: 69 81 ldd r22, Y+1 ; 0x01 - 2156: 88 23 and r24, r24 - 2158: 09 f4 brne .+2 ; 0x215c - 215a: 5e c0 rjmp .+188 ; 0x2218 - 215c: 11 96 adiw r26, 0x01 ; 1 - 215e: 8c 91 ld r24, X - 2160: 11 97 sbiw r26, 0x01 ; 1 - 2162: 80 7c andi r24, 0xC0 ; 192 - 2164: 80 3c cpi r24, 0xC0 ; 192 - 2166: 21 f0 breq .+8 ; 0x2170 - 2168: 11 96 adiw r26, 0x01 ; 1 - 216a: 8c 91 ld r24, X - 216c: 82 fd sbrc r24, 2 - 216e: 54 c0 rjmp .+168 ; 0x2218 - 2170: 9f b7 in r25, 0x3f ; 63 - 2172: f8 94 cli - 2174: f4 01 movw r30, r8 - 2176: 80 81 ld r24, Z - 2178: 80 ff sbrs r24, 0 - 217a: 02 c0 rjmp .+4 ; 0x2180 - 217c: 9f bf out 0x3f, r25 ; 63 - 217e: 4c c0 rjmp .+152 ; 0x2218 - 2180: 81 60 ori r24, 0x01 ; 1 - 2182: 80 83 st Z, r24 - 2184: 9f bf out 0x3f, r25 ; 63 - 2186: f4 01 movw r30, r8 - 2188: a1 82 std Z+1, r10 ; 0x01 - 218a: b2 82 std Z+2, r11 ; 0x02 - 218c: e3 82 std Z+3, r14 ; 0x03 - 218e: f4 82 std Z+4, r15 ; 0x04 - 2190: 15 82 std Z+5, r1 ; 0x05 - 2192: 16 82 std Z+6, r1 ; 0x06 - 2194: 07 83 std Z+7, r16 ; 0x07 - 2196: 10 87 std Z+8, r17 ; 0x08 - 2198: 91 e0 ldi r25, 0x01 ; 1 - 219a: 61 11 cpse r22, r1 - 219c: 04 c0 rjmp .+8 ; 0x21a6 - 219e: e1 14 cp r14, r1 - 21a0: f1 04 cpc r15, r1 - 21a2: 09 f0 breq .+2 ; 0x21a6 - 21a4: 90 e0 ldi r25, 0x00 ; 0 - 21a6: d4 01 movw r26, r8 - 21a8: 8c 91 ld r24, X - 21aa: 90 fb bst r25, 0 - 21ac: 81 f9 bld r24, 1 - 21ae: 8b 7f andi r24, 0xFB ; 251 - 21b0: 8c 93 st X, r24 - 21b2: d7 fe sbrs r13, 7 - 21b4: 04 c0 rjmp .+8 ; 0x21be - 21b6: f9 01 movw r30, r18 - 21b8: 16 82 std Z+6, r1 ; 0x06 - 21ba: 17 82 std Z+7, r1 ; 0x07 - 21bc: 29 c0 rjmp .+82 ; 0x2210 - 21be: d9 01 movw r26, r18 - 21c0: 11 96 adiw r26, 0x01 ; 1 - 21c2: 8c 91 ld r24, X - 21c4: 11 97 sbiw r26, 0x01 ; 1 - 21c6: 80 7c andi r24, 0xC0 ; 192 - 21c8: 80 3c cpi r24, 0xC0 ; 192 - 21ca: c9 f4 brne .+50 ; 0x21fe - 21cc: 11 96 adiw r26, 0x01 ; 1 - 21ce: ec 91 ld r30, X - 21d0: e7 70 andi r30, 0x07 ; 7 - 21d2: e1 50 subi r30, 0x01 ; 1 - 21d4: e7 30 cpi r30, 0x07 ; 7 - 21d6: 40 f4 brcc .+16 ; 0x21e8 - 21d8: f0 e0 ldi r31, 0x00 ; 0 - 21da: ee 0f add r30, r30 - 21dc: ff 1f adc r31, r31 - 21de: ee 54 subi r30, 0x4E ; 78 - 21e0: ff 4d sbci r31, 0xDF ; 223 - 21e2: 60 81 ld r22, Z - 21e4: 71 81 ldd r23, Z+1 ; 0x01 - 21e6: 02 c0 rjmp .+4 ; 0x21ec - 21e8: 68 e0 ldi r22, 0x08 ; 8 - 21ea: 70 e0 ldi r23, 0x00 ; 0 - 21ec: c7 01 movw r24, r14 - 21ee: f3 d1 rcall .+998 ; 0x25d6 <__udivmodhi4> - 21f0: 89 2b or r24, r25 - 21f2: 29 f0 breq .+10 ; 0x21fe - 21f4: f4 01 movw r30, r8 - 21f6: 80 81 ld r24, Z - 21f8: 8e 7f andi r24, 0xFE ; 254 - 21fa: 80 83 st Z, r24 - 21fc: 0d c0 rjmp .+26 ; 0x2218 - 21fe: d9 01 movw r26, r18 - 2200: 12 96 adiw r26, 0x02 ; 2 - 2202: 1d 92 st X+, r1 - 2204: 1c 92 st X, r1 - 2206: 13 97 sbiw r26, 0x03 ; 3 - 2208: 16 96 adiw r26, 0x06 ; 6 - 220a: 1d 92 st X+, r1 - 220c: 1c 92 st X, r1 - 220e: 17 97 sbiw r26, 0x07 ; 7 - 2210: 8d 2d mov r24, r13 - 2212: 8d dc rcall .-1766 ; 0x1b2e - 2214: 81 e0 ldi r24, 0x01 ; 1 - 2216: 01 c0 rjmp .+2 ; 0x221a - 2218: 80 e0 ldi r24, 0x00 ; 0 - 221a: 0f 90 pop r0 - 221c: df 91 pop r29 - 221e: cf 91 pop r28 - 2220: 1f 91 pop r17 - 2222: 0f 91 pop r16 - 2224: ff 90 pop r15 - 2226: ef 90 pop r14 - 2228: df 90 pop r13 - 222a: bf 90 pop r11 - 222c: af 90 pop r10 - 222e: 9f 90 pop r9 - 2230: 8f 90 pop r8 - 2232: 08 95 ret +000020c0 : + 20c0: ea e6 ldi r30, 0x6A ; 106 + 20c2: f4 e2 ldi r31, 0x24 ; 36 + 20c4: 80 87 std Z+8, r24 ; 0x08 + 20c6: 91 87 std Z+9, r25 ; 0x09 + 20c8: 62 87 std Z+10, r22 ; 0x0a + 20ca: 73 87 std Z+11, r23 ; 0x0b + 20cc: 08 95 ret -00002234 : - 2234: ef 92 push r14 - 2236: ff 92 push r15 - 2238: 0f 93 push r16 - 223a: cf 93 push r28 - 223c: c8 2f mov r28, r24 - 223e: fb db rcall .-2058 ; 0x1a36 - 2240: 7c 01 movw r14, r24 - 2242: 8c 2f mov r24, r28 - 2244: 5a dc rcall .-1868 ; 0x1afa - 2246: dc 01 movw r26, r24 - 2248: f7 01 movw r30, r14 - 224a: 02 e0 ldi r16, 0x02 ; 2 - 224c: 05 93 las Z, r16 - 224e: 9c 91 ld r25, X - 2250: 90 ff sbrs r25, 0 - 2252: 1b c0 rjmp .+54 ; 0x228a - 2254: 9e 7f andi r25, 0xFE ; 254 - 2256: 9c 93 st X, r25 - 2258: 17 96 adiw r26, 0x07 ; 7 - 225a: ed 91 ld r30, X+ - 225c: fc 91 ld r31, X - 225e: 18 97 sbiw r26, 0x08 ; 8 - 2260: 30 97 sbiw r30, 0x00 ; 0 - 2262: 99 f0 breq .+38 ; 0x228a - 2264: d7 01 movw r26, r14 - 2266: c7 ff sbrs r28, 7 - 2268: 05 c0 rjmp .+10 ; 0x2274 - 226a: 16 96 adiw r26, 0x06 ; 6 - 226c: 6d 91 ld r22, X+ - 226e: 7c 91 ld r23, X - 2270: 17 97 sbiw r26, 0x07 ; 7 - 2272: 04 c0 rjmp .+8 ; 0x227c - 2274: 12 96 adiw r26, 0x02 ; 2 - 2276: 6d 91 ld r22, X+ - 2278: 7c 91 ld r23, X - 227a: 13 97 sbiw r26, 0x03 ; 3 - 227c: 4c 2f mov r20, r28 - 227e: 81 e0 ldi r24, 0x01 ; 1 - 2280: cf 91 pop r28 - 2282: 0f 91 pop r16 - 2284: ff 90 pop r15 - 2286: ef 90 pop r14 - 2288: 09 94 ijmp - 228a: cf 91 pop r28 - 228c: 0f 91 pop r16 - 228e: ff 90 pop r15 - 2290: ef 90 pop r14 - 2292: 08 95 ret +000020ce : + 20ce: 0f 93 push r16 + 20d0: 1f 93 push r17 + 20d2: cf 93 push r28 + 20d4: df 93 push r29 + 20d6: 1f 92 push r1 + 20d8: cd b7 in r28, 0x3d ; 61 + 20da: de b7 in r29, 0x3e ; 62 + 20dc: 8a 01 movw r16, r20 + 20de: 69 83 std Y+1, r22 ; 0x01 + 20e0: f4 dc rcall .-1560 ; 0x1aca + 20e2: fc 01 movw r30, r24 + 20e4: 81 81 ldd r24, Z+1 ; 0x01 + 20e6: 80 7c andi r24, 0xC0 ; 192 + 20e8: 69 81 ldd r22, Y+1 ; 0x01 + 20ea: 81 11 cpse r24, r1 + 20ec: 3a c0 rjmp .+116 ; 0x2162 + 20ee: 63 70 andi r22, 0x03 ; 3 + 20f0: 61 30 cpi r22, 0x01 ; 1 + 20f2: 19 f0 breq .+6 ; 0x20fa + 20f4: 20 f0 brcs .+8 ; 0x20fe + 20f6: 80 e8 ldi r24, 0x80 ; 128 + 20f8: 03 c0 rjmp .+6 ; 0x2100 + 20fa: 80 ec ldi r24, 0xC0 ; 192 + 20fc: 01 c0 rjmp .+2 ; 0x2100 + 20fe: 80 e4 ldi r24, 0x40 ; 64 + 2100: 00 38 cpi r16, 0x80 ; 128 + 2102: 11 05 cpc r17, r1 + 2104: e9 f0 breq .+58 ; 0x2140 + 2106: 58 f4 brcc .+22 ; 0x211e + 2108: 00 32 cpi r16, 0x20 ; 32 + 210a: 11 05 cpc r17, r1 + 210c: a9 f0 breq .+42 ; 0x2138 + 210e: 00 34 cpi r16, 0x40 ; 64 + 2110: 11 05 cpc r17, r1 + 2112: a1 f0 breq .+40 ; 0x213c + 2114: 00 31 cpi r16, 0x10 ; 16 + 2116: 11 05 cpc r17, r1 + 2118: c9 f4 brne .+50 ; 0x214c + 211a: 91 e0 ldi r25, 0x01 ; 1 + 211c: 18 c0 rjmp .+48 ; 0x214e + 211e: 01 15 cp r16, r1 + 2120: 92 e0 ldi r25, 0x02 ; 2 + 2122: 19 07 cpc r17, r25 + 2124: 79 f0 breq .+30 ; 0x2144 + 2126: 0f 3f cpi r16, 0xFF ; 255 + 2128: 93 e0 ldi r25, 0x03 ; 3 + 212a: 19 07 cpc r17, r25 + 212c: 69 f0 breq .+26 ; 0x2148 + 212e: 01 15 cp r16, r1 + 2130: 11 40 sbci r17, 0x01 ; 1 + 2132: 61 f4 brne .+24 ; 0x214c + 2134: 95 e0 ldi r25, 0x05 ; 5 + 2136: 0b c0 rjmp .+22 ; 0x214e + 2138: 92 e0 ldi r25, 0x02 ; 2 + 213a: 09 c0 rjmp .+18 ; 0x214e + 213c: 93 e0 ldi r25, 0x03 ; 3 + 213e: 07 c0 rjmp .+14 ; 0x214e + 2140: 94 e0 ldi r25, 0x04 ; 4 + 2142: 05 c0 rjmp .+10 ; 0x214e + 2144: 96 e0 ldi r25, 0x06 ; 6 + 2146: 03 c0 rjmp .+6 ; 0x214e + 2148: 97 e0 ldi r25, 0x07 ; 7 + 214a: 01 c0 rjmp .+2 ; 0x214e + 214c: 90 e0 ldi r25, 0x00 ; 0 + 214e: 11 82 std Z+1, r1 ; 0x01 + 2150: 26 e0 ldi r18, 0x06 ; 6 + 2152: 20 83 st Z, r18 + 2154: 98 2b or r25, r24 + 2156: 91 83 std Z+1, r25 ; 0x01 + 2158: 81 81 ldd r24, Z+1 ; 0x01 + 215a: 80 62 ori r24, 0x20 ; 32 + 215c: 81 83 std Z+1, r24 ; 0x01 + 215e: 81 e0 ldi r24, 0x01 ; 1 + 2160: 01 c0 rjmp .+2 ; 0x2164 + 2162: 80 e0 ldi r24, 0x00 ; 0 + 2164: 0f 90 pop r0 + 2166: df 91 pop r29 + 2168: cf 91 pop r28 + 216a: 1f 91 pop r17 + 216c: 0f 91 pop r16 + 216e: 08 95 ret -00002294 : - 2294: cf 93 push r28 - 2296: c8 2f mov r28, r24 - 2298: cd df rcall .-102 ; 0x2234 - 229a: 8c 2f mov r24, r28 - 229c: cc db rcall .-2152 ; 0x1a36 - 229e: fc 01 movw r30, r24 - 22a0: 11 82 std Z+1, r1 ; 0x01 - 22a2: cf 91 pop r28 - 22a4: 08 95 ret +00002170 : + 2170: ac dc rcall .-1704 ; 0x1aca + 2172: fc 01 movw r30, r24 + 2174: 81 81 ldd r24, Z+1 ; 0x01 + 2176: 82 fb bst r24, 2 + 2178: 88 27 eor r24, r24 + 217a: 80 f9 bld r24, 0 + 217c: 08 95 ret -000022a6 : - 22a6: 0f 93 push r16 - 22a8: cf 93 push r28 - 22aa: c8 2f mov r28, r24 - 22ac: c4 db rcall .-2168 ; 0x1a36 - 22ae: fc 01 movw r30, r24 - 22b0: 91 81 ldd r25, Z+1 ; 0x01 - 22b2: 94 60 ori r25, 0x04 ; 4 - 22b4: 91 83 std Z+1, r25 ; 0x01 - 22b6: 01 e0 ldi r16, 0x01 ; 1 - 22b8: 06 93 lac Z, r16 - 22ba: 8c 2f mov r24, r28 - 22bc: bb df rcall .-138 ; 0x2234 - 22be: 81 e0 ldi r24, 0x01 ; 1 - 22c0: cf 91 pop r28 - 22c2: 0f 91 pop r16 - 22c4: 08 95 ret +0000217e : + 217e: cf 93 push r28 + 2180: c8 2f mov r28, r24 + 2182: a3 dc rcall .-1722 ; 0x1aca + 2184: fc 01 movw r30, r24 + 2186: 81 81 ldd r24, Z+1 ; 0x01 + 2188: 82 ff sbrs r24, 2 + 218a: 0f c0 rjmp .+30 ; 0x21aa + 218c: 91 81 ldd r25, Z+1 ; 0x01 + 218e: 9b 7f andi r25, 0xFB ; 251 + 2190: 91 83 std Z+1, r25 ; 0x01 + 2192: 8c 2f mov r24, r28 + 2194: fc dc rcall .-1544 ; 0x1b8e + 2196: fc 01 movw r30, r24 + 2198: 90 81 ld r25, Z + 219a: 90 ff sbrs r25, 0 + 219c: 06 c0 rjmp .+12 ; 0x21aa + 219e: 9e 7f andi r25, 0xFE ; 254 + 21a0: 90 83 st Z, r25 + 21a2: 07 80 ldd r0, Z+7 ; 0x07 + 21a4: f0 85 ldd r31, Z+8 ; 0x08 + 21a6: e0 2d mov r30, r0 + 21a8: 09 95 icall + 21aa: 81 e0 ldi r24, 0x01 ; 1 + 21ac: cf 91 pop r28 + 21ae: 08 95 ret -000022c6 <__vector_125>: - 22c6: 1f 92 push r1 - 22c8: 0f 92 push r0 - 22ca: 0f b6 in r0, 0x3f ; 63 - 22cc: 0f 92 push r0 - 22ce: 11 24 eor r1, r1 - 22d0: 0f 93 push r16 - 22d2: 2f 93 push r18 - 22d4: 3f 93 push r19 - 22d6: 4f 93 push r20 - 22d8: 5f 93 push r21 - 22da: 6f 93 push r22 - 22dc: 7f 93 push r23 - 22de: 8f 93 push r24 - 22e0: 9f 93 push r25 - 22e2: af 93 push r26 - 22e4: bf 93 push r27 - 22e6: ef 93 push r30 - 22e8: ff 93 push r31 - 22ea: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 22ee: 87 ff sbrs r24, 7 - 22f0: 08 c0 rjmp .+16 ; 0x2302 <__vector_125+0x3c> - 22f2: 80 e8 ldi r24, 0x80 ; 128 - 22f4: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> - 22f8: 0e 94 72 09 call 0x12e4 ; 0x12e4 - 22fc: 0e 94 89 01 call 0x312 ; 0x312 - 2300: 86 c0 rjmp .+268 ; 0x240e <__vector_125+0x148> - 2302: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 2306: 82 ff sbrs r24, 2 - 2308: 18 c0 rjmp .+48 ; 0x233a <__vector_125+0x74> - 230a: 84 e0 ldi r24, 0x04 ; 4 - 230c: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> - 2310: 80 91 28 22 lds r24, 0x2228 ; 0x802228 - 2314: 86 ff sbrs r24, 6 - 2316: 7b c0 rjmp .+246 ; 0x240e <__vector_125+0x148> - 2318: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 231c: 81 fd sbrc r24, 1 - 231e: 77 c0 rjmp .+238 ; 0x240e <__vector_125+0x148> - 2320: 6d dd rcall .-1318 ; 0x1dfc - 2322: 81 11 cpse r24, r1 - 2324: 74 c0 rjmp .+232 ; 0x240e <__vector_125+0x148> - 2326: 80 91 0d 22 lds r24, 0x220D ; 0x80220d - 232a: 81 30 cpi r24, 0x01 ; 1 - 232c: 11 f4 brne .+4 ; 0x2332 <__vector_125+0x6c> - 232e: cf db rcall .-2146 ; 0x1ace - 2330: 6e c0 rjmp .+220 ; 0x240e <__vector_125+0x148> - 2332: 84 30 cpi r24, 0x04 ; 4 - 2334: 09 f0 breq .+2 ; 0x2338 <__vector_125+0x72> - 2336: 6b c0 rjmp .+214 ; 0x240e <__vector_125+0x148> - 2338: 21 c0 rjmp .+66 ; 0x237c <__vector_125+0xb6> - 233a: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 233e: 81 ff sbrs r24, 1 - 2340: 26 c0 rjmp .+76 ; 0x238e <__vector_125+0xc8> - 2342: 82 e0 ldi r24, 0x02 ; 2 - 2344: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> - 2348: 80 91 20 22 lds r24, 0x2220 ; 0x802220 - 234c: 86 ff sbrs r24, 6 - 234e: 5f c0 rjmp .+190 ; 0x240e <__vector_125+0x148> - 2350: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 2354: 81 fd sbrc r24, 1 - 2356: 5b c0 rjmp .+182 ; 0x240e <__vector_125+0x148> - 2358: 51 dd rcall .-1374 ; 0x1dfc - 235a: 81 11 cpse r24, r1 - 235c: 58 c0 rjmp .+176 ; 0x240e <__vector_125+0x148> - 235e: 80 91 0d 22 lds r24, 0x220D ; 0x80220d - 2362: 82 30 cpi r24, 0x02 ; 2 - 2364: 41 f4 brne .+16 ; 0x2376 <__vector_125+0xb0> - 2366: 84 e0 ldi r24, 0x04 ; 4 - 2368: 80 93 0d 22 sts 0x220D, r24 ; 0x80220d - 236c: e0 e2 ldi r30, 0x20 ; 32 - 236e: f2 e2 ldi r31, 0x22 ; 34 - 2370: 02 e0 ldi r16, 0x02 ; 2 - 2372: 06 93 lac Z, r16 - 2374: 4c c0 rjmp .+152 ; 0x240e <__vector_125+0x148> - 2376: 83 30 cpi r24, 0x03 ; 3 - 2378: 09 f0 breq .+2 ; 0x237c <__vector_125+0xb6> - 237a: 49 c0 rjmp .+146 ; 0x240e <__vector_125+0x148> - 237c: e9 e2 ldi r30, 0x29 ; 41 - 237e: f2 e2 ldi r31, 0x22 ; 34 - 2380: 04 e0 ldi r16, 0x04 ; 4 - 2382: 05 93 las Z, r16 - 2384: e1 e2 ldi r30, 0x21 ; 33 - 2386: f2 e2 ldi r31, 0x22 ; 34 - 2388: 04 e0 ldi r16, 0x04 ; 4 - 238a: 05 93 las Z, r16 - 238c: 40 c0 rjmp .+128 ; 0x240e <__vector_125+0x148> - 238e: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 2392: 84 ff sbrs r24, 4 - 2394: 25 c0 rjmp .+74 ; 0x23e0 <__vector_125+0x11a> - 2396: 80 e1 ldi r24, 0x10 ; 16 - 2398: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> - 239c: 81 e0 ldi r24, 0x01 ; 1 - 239e: 4a df rcall .-364 ; 0x2234 - 23a0: 81 e8 ldi r24, 0x81 ; 129 - 23a2: 48 df rcall .-368 ; 0x2234 - 23a4: 82 e0 ldi r24, 0x02 ; 2 - 23a6: 46 df rcall .-372 ; 0x2234 - 23a8: 82 e8 ldi r24, 0x82 ; 130 - 23aa: 44 df rcall .-376 ; 0x2234 - 23ac: 0e 94 56 09 call 0x12ac ; 0x12ac - 23b0: 10 92 c3 04 sts 0x04C3, r1 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> - 23b4: 10 92 21 22 sts 0x2221, r1 ; 0x802221 - 23b8: 96 e0 ldi r25, 0x06 ; 6 - 23ba: 90 93 20 22 sts 0x2220, r25 ; 0x802220 - 23be: 83 e4 ldi r24, 0x43 ; 67 - 23c0: 80 93 21 22 sts 0x2221, r24 ; 0x802221 - 23c4: 10 92 29 22 sts 0x2229, r1 ; 0x802229 - 23c8: 90 93 28 22 sts 0x2228, r25 ; 0x802228 - 23cc: 80 93 29 22 sts 0x2229, r24 ; 0x802229 - 23d0: 89 ec ldi r24, 0xC9 ; 201 - 23d2: 91 e2 ldi r25, 0x21 ; 33 - 23d4: 80 93 24 22 sts 0x2224, r24 ; 0x802224 - 23d8: 90 93 25 22 sts 0x2225, r25 ; 0x802225 - 23dc: 43 db rcall .-2426 ; 0x1a64 - 23de: 17 c0 rjmp .+46 ; 0x240e <__vector_125+0x148> - 23e0: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 23e4: 86 ff sbrs r24, 6 - 23e6: 08 c0 rjmp .+16 ; 0x23f8 <__vector_125+0x132> - 23e8: 80 e4 ldi r24, 0x40 ; 64 - 23ea: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> - 23ee: 80 e0 ldi r24, 0x00 ; 0 - 23f0: 0f db rcall .-2530 ; 0x1a10 - 23f2: 0e 94 87 01 call 0x30e ; 0x30e - 23f6: 0b c0 rjmp .+22 ; 0x240e <__vector_125+0x148> - 23f8: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> - 23fc: 85 ff sbrs r24, 5 - 23fe: 07 c0 rjmp .+14 ; 0x240e <__vector_125+0x148> - 2400: 80 e2 ldi r24, 0x20 ; 32 - 2402: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> - 2406: 81 e0 ldi r24, 0x01 ; 1 - 2408: 03 db rcall .-2554 ; 0x1a10 - 240a: 0e 94 88 01 call 0x310 ; 0x310 - 240e: ff 91 pop r31 - 2410: ef 91 pop r30 - 2412: bf 91 pop r27 - 2414: af 91 pop r26 - 2416: 9f 91 pop r25 - 2418: 8f 91 pop r24 - 241a: 7f 91 pop r23 - 241c: 6f 91 pop r22 - 241e: 5f 91 pop r21 - 2420: 4f 91 pop r20 - 2422: 3f 91 pop r19 - 2424: 2f 91 pop r18 - 2426: 0f 91 pop r16 - 2428: 0f 90 pop r0 - 242a: 0f be out 0x3f, r0 ; 63 - 242c: 0f 90 pop r0 - 242e: 1f 90 pop r1 - 2430: 18 95 reti +000021b0 : + 21b0: 8f 92 push r8 + 21b2: 9f 92 push r9 + 21b4: af 92 push r10 + 21b6: bf 92 push r11 + 21b8: df 92 push r13 + 21ba: ef 92 push r14 + 21bc: ff 92 push r15 + 21be: 0f 93 push r16 + 21c0: 1f 93 push r17 + 21c2: cf 93 push r28 + 21c4: df 93 push r29 + 21c6: 1f 92 push r1 + 21c8: cd b7 in r28, 0x3d ; 61 + 21ca: de b7 in r29, 0x3e ; 62 + 21cc: d8 2e mov r13, r24 + 21ce: 5a 01 movw r10, r20 + 21d0: 79 01 movw r14, r18 + 21d2: 69 83 std Y+1, r22 ; 0x01 + 21d4: dc dc rcall .-1608 ; 0x1b8e + 21d6: 4c 01 movw r8, r24 + 21d8: 8d 2d mov r24, r13 + 21da: 77 dc rcall .-1810 ; 0x1aca + 21dc: 9c 01 movw r18, r24 + 21de: dc 01 movw r26, r24 + 21e0: 11 96 adiw r26, 0x01 ; 1 + 21e2: 8c 91 ld r24, X + 21e4: 11 97 sbiw r26, 0x01 ; 1 + 21e6: 80 7c andi r24, 0xC0 ; 192 + 21e8: 69 81 ldd r22, Y+1 ; 0x01 + 21ea: 88 23 and r24, r24 + 21ec: 09 f4 brne .+2 ; 0x21f0 + 21ee: 5e c0 rjmp .+188 ; 0x22ac + 21f0: 11 96 adiw r26, 0x01 ; 1 + 21f2: 8c 91 ld r24, X + 21f4: 11 97 sbiw r26, 0x01 ; 1 + 21f6: 80 7c andi r24, 0xC0 ; 192 + 21f8: 80 3c cpi r24, 0xC0 ; 192 + 21fa: 21 f0 breq .+8 ; 0x2204 + 21fc: 11 96 adiw r26, 0x01 ; 1 + 21fe: 8c 91 ld r24, X + 2200: 82 fd sbrc r24, 2 + 2202: 54 c0 rjmp .+168 ; 0x22ac + 2204: 9f b7 in r25, 0x3f ; 63 + 2206: f8 94 cli + 2208: f4 01 movw r30, r8 + 220a: 80 81 ld r24, Z + 220c: 80 ff sbrs r24, 0 + 220e: 02 c0 rjmp .+4 ; 0x2214 + 2210: 9f bf out 0x3f, r25 ; 63 + 2212: 4c c0 rjmp .+152 ; 0x22ac + 2214: 81 60 ori r24, 0x01 ; 1 + 2216: 80 83 st Z, r24 + 2218: 9f bf out 0x3f, r25 ; 63 + 221a: f4 01 movw r30, r8 + 221c: a1 82 std Z+1, r10 ; 0x01 + 221e: b2 82 std Z+2, r11 ; 0x02 + 2220: e3 82 std Z+3, r14 ; 0x03 + 2222: f4 82 std Z+4, r15 ; 0x04 + 2224: 15 82 std Z+5, r1 ; 0x05 + 2226: 16 82 std Z+6, r1 ; 0x06 + 2228: 07 83 std Z+7, r16 ; 0x07 + 222a: 10 87 std Z+8, r17 ; 0x08 + 222c: 91 e0 ldi r25, 0x01 ; 1 + 222e: 61 11 cpse r22, r1 + 2230: 04 c0 rjmp .+8 ; 0x223a + 2232: e1 14 cp r14, r1 + 2234: f1 04 cpc r15, r1 + 2236: 09 f0 breq .+2 ; 0x223a + 2238: 90 e0 ldi r25, 0x00 ; 0 + 223a: d4 01 movw r26, r8 + 223c: 8c 91 ld r24, X + 223e: 90 fb bst r25, 0 + 2240: 81 f9 bld r24, 1 + 2242: 8b 7f andi r24, 0xFB ; 251 + 2244: 8c 93 st X, r24 + 2246: d7 fe sbrs r13, 7 + 2248: 04 c0 rjmp .+8 ; 0x2252 + 224a: f9 01 movw r30, r18 + 224c: 16 82 std Z+6, r1 ; 0x06 + 224e: 17 82 std Z+7, r1 ; 0x07 + 2250: 29 c0 rjmp .+82 ; 0x22a4 + 2252: d9 01 movw r26, r18 + 2254: 11 96 adiw r26, 0x01 ; 1 + 2256: 8c 91 ld r24, X + 2258: 11 97 sbiw r26, 0x01 ; 1 + 225a: 80 7c andi r24, 0xC0 ; 192 + 225c: 80 3c cpi r24, 0xC0 ; 192 + 225e: c9 f4 brne .+50 ; 0x2292 + 2260: 11 96 adiw r26, 0x01 ; 1 + 2262: ec 91 ld r30, X + 2264: e7 70 andi r30, 0x07 ; 7 + 2266: e1 50 subi r30, 0x01 ; 1 + 2268: e7 30 cpi r30, 0x07 ; 7 + 226a: 40 f4 brcc .+16 ; 0x227c + 226c: f0 e0 ldi r31, 0x00 ; 0 + 226e: ee 0f add r30, r30 + 2270: ff 1f adc r31, r31 + 2272: ee 54 subi r30, 0x4E ; 78 + 2274: ff 4d sbci r31, 0xDF ; 223 + 2276: 60 81 ld r22, Z + 2278: 71 81 ldd r23, Z+1 ; 0x01 + 227a: 02 c0 rjmp .+4 ; 0x2280 + 227c: 68 e0 ldi r22, 0x08 ; 8 + 227e: 70 e0 ldi r23, 0x00 ; 0 + 2280: c7 01 movw r24, r14 + 2282: f3 d1 rcall .+998 ; 0x266a <__udivmodhi4> + 2284: 89 2b or r24, r25 + 2286: 29 f0 breq .+10 ; 0x2292 + 2288: f4 01 movw r30, r8 + 228a: 80 81 ld r24, Z + 228c: 8e 7f andi r24, 0xFE ; 254 + 228e: 80 83 st Z, r24 + 2290: 0d c0 rjmp .+26 ; 0x22ac + 2292: d9 01 movw r26, r18 + 2294: 12 96 adiw r26, 0x02 ; 2 + 2296: 1d 92 st X+, r1 + 2298: 1c 92 st X, r1 + 229a: 13 97 sbiw r26, 0x03 ; 3 + 229c: 16 96 adiw r26, 0x06 ; 6 + 229e: 1d 92 st X+, r1 + 22a0: 1c 92 st X, r1 + 22a2: 17 97 sbiw r26, 0x07 ; 7 + 22a4: 8d 2d mov r24, r13 + 22a6: 8d dc rcall .-1766 ; 0x1bc2 + 22a8: 81 e0 ldi r24, 0x01 ; 1 + 22aa: 01 c0 rjmp .+2 ; 0x22ae + 22ac: 80 e0 ldi r24, 0x00 ; 0 + 22ae: 0f 90 pop r0 + 22b0: df 91 pop r29 + 22b2: cf 91 pop r28 + 22b4: 1f 91 pop r17 + 22b6: 0f 91 pop r16 + 22b8: ff 90 pop r15 + 22ba: ef 90 pop r14 + 22bc: df 90 pop r13 + 22be: bf 90 pop r11 + 22c0: af 90 pop r10 + 22c2: 9f 90 pop r9 + 22c4: 8f 90 pop r8 + 22c6: 08 95 ret -00002432 <__vector_126>: - 2432: 1f 92 push r1 - 2434: 0f 92 push r0 - 2436: 0f b6 in r0, 0x3f ; 63 - 2438: 0f 92 push r0 - 243a: 11 24 eor r1, r1 - 243c: 0f 93 push r16 - 243e: 1f 93 push r17 - 2440: 2f 93 push r18 - 2442: 3f 93 push r19 - 2444: 4f 93 push r20 - 2446: 5f 93 push r21 - 2448: 6f 93 push r22 - 244a: 7f 93 push r23 - 244c: 8f 93 push r24 - 244e: 9f 93 push r25 - 2450: af 93 push r26 - 2452: bf 93 push r27 - 2454: cf 93 push r28 - 2456: df 93 push r29 - 2458: ef 93 push r30 - 245a: ff 93 push r31 - 245c: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 2460: 81 ff sbrs r24, 1 - 2462: 1a c0 rjmp .+52 ; 0x2498 <__vector_126+0x66> - 2464: 82 e0 ldi r24, 0x02 ; 2 - 2466: 80 93 cc 04 sts 0x04CC, r24 ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> - 246a: 80 91 c5 04 lds r24, 0x04C5 ; 0x8004c5 <__TEXT_REGION_LENGTH__+0x7004c5> - 246e: 81 95 neg r24 - 2470: 88 0f add r24, r24 - 2472: e0 e2 ldi r30, 0x20 ; 32 - 2474: f2 e2 ldi r31, 0x22 ; 34 - 2476: e8 1b sub r30, r24 - 2478: f1 09 sbc r31, r1 - 247a: 20 81 ld r18, Z - 247c: 31 81 ldd r19, Z+1 ; 0x01 - 247e: 20 52 subi r18, 0x20 ; 32 - 2480: 32 42 sbci r19, 0x22 ; 34 - 2482: 83 e0 ldi r24, 0x03 ; 3 - 2484: 36 95 lsr r19 - 2486: 27 95 ror r18 - 2488: 8a 95 dec r24 - 248a: e1 f7 brne .-8 ; 0x2484 <__vector_126+0x52> - 248c: 82 2f mov r24, r18 - 248e: 86 95 lsr r24 - 2490: 20 fd sbrc r18, 0 - 2492: 06 c0 rjmp .+12 ; 0x24a0 <__vector_126+0x6e> - 2494: c0 e0 ldi r28, 0x00 ; 0 - 2496: 05 c0 rjmp .+10 ; 0x24a2 <__vector_126+0x70> - 2498: b1 dc rcall .-1694 ; 0x1dfc - 249a: 88 23 and r24, r24 - 249c: 19 f3 breq .-58 ; 0x2464 <__vector_126+0x32> - 249e: 86 c0 rjmp .+268 ; 0x25ac <__vector_126+0x17a> - 24a0: c0 e8 ldi r28, 0x80 ; 128 - 24a2: c8 0f add r28, r24 - 24a4: 8c 2f mov r24, r28 - 24a6: c7 da rcall .-2674 ; 0x1a36 - 24a8: fc 01 movw r30, r24 - 24aa: 20 81 ld r18, Z - 24ac: 25 ff sbrs r18, 5 - 24ae: 7e c0 rjmp .+252 ; 0x25ac <__vector_126+0x17a> - 24b0: 00 e2 ldi r16, 0x20 ; 32 - 24b2: 06 93 lac Z, r16 - 24b4: c1 11 cpse r28, r1 - 24b6: 74 c0 rjmp .+232 ; 0x25a0 <__vector_126+0x16e> - 24b8: 80 91 0d 22 lds r24, 0x220D ; 0x80220d - 24bc: 84 30 cpi r24, 0x04 ; 4 - 24be: 19 f4 brne .+6 ; 0x24c6 <__vector_126+0x94> - 24c0: 14 db rcall .-2520 ; 0x1aea - 24c2: d0 da rcall .-2656 ; 0x1a64 - 24c4: 73 c0 rjmp .+230 ; 0x25ac <__vector_126+0x17a> - 24c6: 00 91 22 22 lds r16, 0x2222 ; 0x802222 - 24ca: 10 91 23 22 lds r17, 0x2223 ; 0x802223 - 24ce: 80 91 74 24 lds r24, 0x2474 ; 0x802474 - 24d2: 90 91 75 24 lds r25, 0x2475 ; 0x802475 - 24d6: c0 91 09 22 lds r28, 0x2209 ; 0x802209 - 24da: d0 91 0a 22 lds r29, 0x220A ; 0x80220a - 24de: 9e 01 movw r18, r28 - 24e0: 20 0f add r18, r16 - 24e2: 31 1f adc r19, r17 - 24e4: 82 17 cp r24, r18 - 24e6: 93 07 cpc r25, r19 - 24e8: 18 f4 brcc .+6 ; 0x24f0 <__vector_126+0xbe> - 24ea: 8c 01 movw r16, r24 - 24ec: 0c 1b sub r16, r28 - 24ee: 1d 0b sbc r17, r29 - 24f0: 80 91 72 24 lds r24, 0x2472 ; 0x802472 - 24f4: 90 91 73 24 lds r25, 0x2473 ; 0x802473 - 24f8: a8 01 movw r20, r16 - 24fa: 69 ec ldi r22, 0xC9 ; 201 - 24fc: 71 e2 ldi r23, 0x21 ; 33 - 24fe: 8c 0f add r24, r28 - 2500: 9d 1f adc r25, r29 - 2502: 83 d0 rcall .+262 ; 0x260a - 2504: c0 0f add r28, r16 - 2506: d1 1f adc r29, r17 - 2508: c0 93 09 22 sts 0x2209, r28 ; 0x802209 - 250c: d0 93 0a 22 sts 0x220A, r29 ; 0x80220a - 2510: 00 34 cpi r16, 0x40 ; 64 - 2512: 11 05 cpc r17, r1 - 2514: 69 f4 brne .+26 ; 0x2530 <__vector_126+0xfe> - 2516: 80 91 0b 22 lds r24, 0x220B ; 0x80220b - 251a: 90 91 0c 22 lds r25, 0x220C ; 0x80220c - 251e: 8c 0f add r24, r28 - 2520: 9d 1f adc r25, r29 - 2522: 20 91 70 24 lds r18, 0x2470 ; 0x802470 - 2526: 30 91 71 24 lds r19, 0x2471 ; 0x802471 - 252a: 82 17 cp r24, r18 - 252c: 93 07 cpc r25, r19 - 252e: 88 f0 brcs .+34 ; 0x2552 <__vector_126+0x120> - 2530: c0 93 74 24 sts 0x2474, r28 ; 0x802474 - 2534: d0 93 75 24 sts 0x2475, r29 ; 0x802475 - 2538: e0 91 78 24 lds r30, 0x2478 ; 0x802478 - 253c: f0 91 79 24 lds r31, 0x2479 ; 0x802479 - 2540: 30 97 sbiw r30, 0x00 ; 0 - 2542: 29 f0 breq .+10 ; 0x254e <__vector_126+0x11c> - 2544: 09 95 icall - 2546: 81 11 cpse r24, r1 - 2548: 02 c0 rjmp .+4 ; 0x254e <__vector_126+0x11c> - 254a: b3 da rcall .-2714 ; 0x1ab2 - 254c: 2f c0 rjmp .+94 ; 0x25ac <__vector_126+0x17a> - 254e: bf da rcall .-2690 ; 0x1ace - 2550: 2d c0 rjmp .+90 ; 0x25ac <__vector_126+0x17a> - 2552: 80 91 74 24 lds r24, 0x2474 ; 0x802474 - 2556: 90 91 75 24 lds r25, 0x2475 ; 0x802475 - 255a: 8c 17 cp r24, r28 - 255c: 9d 07 cpc r25, r29 - 255e: d9 f4 brne .+54 ; 0x2596 <__vector_126+0x164> - 2560: e0 91 78 24 lds r30, 0x2478 ; 0x802478 - 2564: f0 91 79 24 lds r31, 0x2479 ; 0x802479 - 2568: 30 97 sbiw r30, 0x00 ; 0 - 256a: 79 f3 breq .-34 ; 0x254a <__vector_126+0x118> - 256c: 09 95 icall - 256e: 88 23 and r24, r24 - 2570: 61 f3 breq .-40 ; 0x254a <__vector_126+0x118> - 2572: 20 91 0b 22 lds r18, 0x220B ; 0x80220b - 2576: 30 91 0c 22 lds r19, 0x220C ; 0x80220c - 257a: 80 91 09 22 lds r24, 0x2209 ; 0x802209 - 257e: 90 91 0a 22 lds r25, 0x220A ; 0x80220a - 2582: 82 0f add r24, r18 - 2584: 93 1f adc r25, r19 - 2586: 80 93 0b 22 sts 0x220B, r24 ; 0x80220b - 258a: 90 93 0c 22 sts 0x220C, r25 ; 0x80220c - 258e: 10 92 09 22 sts 0x2209, r1 ; 0x802209 - 2592: 10 92 0a 22 sts 0x220A, r1 ; 0x80220a - 2596: e0 e2 ldi r30, 0x20 ; 32 - 2598: f2 e2 ldi r31, 0x22 ; 34 - 259a: 02 e0 ldi r16, 0x02 ; 2 - 259c: 06 93 lac Z, r16 - 259e: 06 c0 rjmp .+12 ; 0x25ac <__vector_126+0x17a> - 25a0: c0 38 cpi r28, 0x80 ; 128 - 25a2: 11 f4 brne .+4 ; 0x25a8 <__vector_126+0x176> - 25a4: bd db rcall .-2182 ; 0x1d20 - 25a6: 02 c0 rjmp .+4 ; 0x25ac <__vector_126+0x17a> - 25a8: 8c 2f mov r24, r28 - 25aa: c1 da rcall .-2686 ; 0x1b2e - 25ac: ff 91 pop r31 - 25ae: ef 91 pop r30 - 25b0: df 91 pop r29 - 25b2: cf 91 pop r28 - 25b4: bf 91 pop r27 - 25b6: af 91 pop r26 - 25b8: 9f 91 pop r25 - 25ba: 8f 91 pop r24 - 25bc: 7f 91 pop r23 - 25be: 6f 91 pop r22 - 25c0: 5f 91 pop r21 - 25c2: 4f 91 pop r20 - 25c4: 3f 91 pop r19 - 25c6: 2f 91 pop r18 - 25c8: 1f 91 pop r17 - 25ca: 0f 91 pop r16 - 25cc: 0f 90 pop r0 - 25ce: 0f be out 0x3f, r0 ; 63 - 25d0: 0f 90 pop r0 - 25d2: 1f 90 pop r1 - 25d4: 18 95 reti +000022c8 : + 22c8: ef 92 push r14 + 22ca: ff 92 push r15 + 22cc: 0f 93 push r16 + 22ce: cf 93 push r28 + 22d0: c8 2f mov r28, r24 + 22d2: fb db rcall .-2058 ; 0x1aca + 22d4: 7c 01 movw r14, r24 + 22d6: 8c 2f mov r24, r28 + 22d8: 5a dc rcall .-1868 ; 0x1b8e + 22da: dc 01 movw r26, r24 + 22dc: f7 01 movw r30, r14 + 22de: 02 e0 ldi r16, 0x02 ; 2 + 22e0: 05 93 las Z, r16 + 22e2: 9c 91 ld r25, X + 22e4: 90 ff sbrs r25, 0 + 22e6: 1b c0 rjmp .+54 ; 0x231e + 22e8: 9e 7f andi r25, 0xFE ; 254 + 22ea: 9c 93 st X, r25 + 22ec: 17 96 adiw r26, 0x07 ; 7 + 22ee: ed 91 ld r30, X+ + 22f0: fc 91 ld r31, X + 22f2: 18 97 sbiw r26, 0x08 ; 8 + 22f4: 30 97 sbiw r30, 0x00 ; 0 + 22f6: 99 f0 breq .+38 ; 0x231e + 22f8: d7 01 movw r26, r14 + 22fa: c7 ff sbrs r28, 7 + 22fc: 05 c0 rjmp .+10 ; 0x2308 + 22fe: 16 96 adiw r26, 0x06 ; 6 + 2300: 6d 91 ld r22, X+ + 2302: 7c 91 ld r23, X + 2304: 17 97 sbiw r26, 0x07 ; 7 + 2306: 04 c0 rjmp .+8 ; 0x2310 + 2308: 12 96 adiw r26, 0x02 ; 2 + 230a: 6d 91 ld r22, X+ + 230c: 7c 91 ld r23, X + 230e: 13 97 sbiw r26, 0x03 ; 3 + 2310: 4c 2f mov r20, r28 + 2312: 81 e0 ldi r24, 0x01 ; 1 + 2314: cf 91 pop r28 + 2316: 0f 91 pop r16 + 2318: ff 90 pop r15 + 231a: ef 90 pop r14 + 231c: 09 94 ijmp + 231e: cf 91 pop r28 + 2320: 0f 91 pop r16 + 2322: ff 90 pop r15 + 2324: ef 90 pop r14 + 2326: 08 95 ret -000025d6 <__udivmodhi4>: - 25d6: aa 1b sub r26, r26 - 25d8: bb 1b sub r27, r27 - 25da: 51 e1 ldi r21, 0x11 ; 17 - 25dc: 07 c0 rjmp .+14 ; 0x25ec <__udivmodhi4_ep> +00002328 : + 2328: cf 93 push r28 + 232a: c8 2f mov r28, r24 + 232c: cd df rcall .-102 ; 0x22c8 + 232e: 8c 2f mov r24, r28 + 2330: cc db rcall .-2152 ; 0x1aca + 2332: fc 01 movw r30, r24 + 2334: 11 82 std Z+1, r1 ; 0x01 + 2336: cf 91 pop r28 + 2338: 08 95 ret -000025de <__udivmodhi4_loop>: - 25de: aa 1f adc r26, r26 - 25e0: bb 1f adc r27, r27 - 25e2: a6 17 cp r26, r22 - 25e4: b7 07 cpc r27, r23 - 25e6: 10 f0 brcs .+4 ; 0x25ec <__udivmodhi4_ep> - 25e8: a6 1b sub r26, r22 - 25ea: b7 0b sbc r27, r23 +0000233a : + 233a: 0f 93 push r16 + 233c: cf 93 push r28 + 233e: c8 2f mov r28, r24 + 2340: c4 db rcall .-2168 ; 0x1aca + 2342: fc 01 movw r30, r24 + 2344: 91 81 ldd r25, Z+1 ; 0x01 + 2346: 94 60 ori r25, 0x04 ; 4 + 2348: 91 83 std Z+1, r25 ; 0x01 + 234a: 01 e0 ldi r16, 0x01 ; 1 + 234c: 06 93 lac Z, r16 + 234e: 8c 2f mov r24, r28 + 2350: bb df rcall .-138 ; 0x22c8 + 2352: 81 e0 ldi r24, 0x01 ; 1 + 2354: cf 91 pop r28 + 2356: 0f 91 pop r16 + 2358: 08 95 ret -000025ec <__udivmodhi4_ep>: - 25ec: 88 1f adc r24, r24 - 25ee: 99 1f adc r25, r25 - 25f0: 5a 95 dec r21 - 25f2: a9 f7 brne .-22 ; 0x25de <__udivmodhi4_loop> - 25f4: 80 95 com r24 - 25f6: 90 95 com r25 - 25f8: bc 01 movw r22, r24 - 25fa: cd 01 movw r24, r26 - 25fc: 08 95 ret +0000235a <__vector_125>: + 235a: 1f 92 push r1 + 235c: 0f 92 push r0 + 235e: 0f b6 in r0, 0x3f ; 63 + 2360: 0f 92 push r0 + 2362: 11 24 eor r1, r1 + 2364: 0f 93 push r16 + 2366: 2f 93 push r18 + 2368: 3f 93 push r19 + 236a: 4f 93 push r20 + 236c: 5f 93 push r21 + 236e: 6f 93 push r22 + 2370: 7f 93 push r23 + 2372: 8f 93 push r24 + 2374: 9f 93 push r25 + 2376: af 93 push r26 + 2378: bf 93 push r27 + 237a: ef 93 push r30 + 237c: ff 93 push r31 + 237e: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 2382: 87 ff sbrs r24, 7 + 2384: 08 c0 rjmp .+16 ; 0x2396 <__vector_125+0x3c> + 2386: 80 e8 ldi r24, 0x80 ; 128 + 2388: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 238c: 0e 94 bb 09 call 0x1376 ; 0x1376 + 2390: 0e 94 a0 01 call 0x340 ; 0x340 + 2394: 86 c0 rjmp .+268 ; 0x24a2 <__vector_125+0x148> + 2396: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 239a: 82 ff sbrs r24, 2 + 239c: 18 c0 rjmp .+48 ; 0x23ce <__vector_125+0x74> + 239e: 84 e0 ldi r24, 0x04 ; 4 + 23a0: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 23a4: 80 91 28 22 lds r24, 0x2228 ; 0x802228 + 23a8: 86 ff sbrs r24, 6 + 23aa: 7b c0 rjmp .+246 ; 0x24a2 <__vector_125+0x148> + 23ac: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 23b0: 81 fd sbrc r24, 1 + 23b2: 77 c0 rjmp .+238 ; 0x24a2 <__vector_125+0x148> + 23b4: 6d dd rcall .-1318 ; 0x1e90 + 23b6: 81 11 cpse r24, r1 + 23b8: 74 c0 rjmp .+232 ; 0x24a2 <__vector_125+0x148> + 23ba: 80 91 0d 22 lds r24, 0x220D ; 0x80220d + 23be: 81 30 cpi r24, 0x01 ; 1 + 23c0: 11 f4 brne .+4 ; 0x23c6 <__vector_125+0x6c> + 23c2: cf db rcall .-2146 ; 0x1b62 + 23c4: 6e c0 rjmp .+220 ; 0x24a2 <__vector_125+0x148> + 23c6: 84 30 cpi r24, 0x04 ; 4 + 23c8: 09 f0 breq .+2 ; 0x23cc <__vector_125+0x72> + 23ca: 6b c0 rjmp .+214 ; 0x24a2 <__vector_125+0x148> + 23cc: 21 c0 rjmp .+66 ; 0x2410 <__vector_125+0xb6> + 23ce: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 23d2: 81 ff sbrs r24, 1 + 23d4: 26 c0 rjmp .+76 ; 0x2422 <__vector_125+0xc8> + 23d6: 82 e0 ldi r24, 0x02 ; 2 + 23d8: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 23dc: 80 91 20 22 lds r24, 0x2220 ; 0x802220 + 23e0: 86 ff sbrs r24, 6 + 23e2: 5f c0 rjmp .+190 ; 0x24a2 <__vector_125+0x148> + 23e4: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 23e8: 81 fd sbrc r24, 1 + 23ea: 5b c0 rjmp .+182 ; 0x24a2 <__vector_125+0x148> + 23ec: 51 dd rcall .-1374 ; 0x1e90 + 23ee: 81 11 cpse r24, r1 + 23f0: 58 c0 rjmp .+176 ; 0x24a2 <__vector_125+0x148> + 23f2: 80 91 0d 22 lds r24, 0x220D ; 0x80220d + 23f6: 82 30 cpi r24, 0x02 ; 2 + 23f8: 41 f4 brne .+16 ; 0x240a <__vector_125+0xb0> + 23fa: 84 e0 ldi r24, 0x04 ; 4 + 23fc: 80 93 0d 22 sts 0x220D, r24 ; 0x80220d + 2400: e0 e2 ldi r30, 0x20 ; 32 + 2402: f2 e2 ldi r31, 0x22 ; 34 + 2404: 02 e0 ldi r16, 0x02 ; 2 + 2406: 06 93 lac Z, r16 + 2408: 4c c0 rjmp .+152 ; 0x24a2 <__vector_125+0x148> + 240a: 83 30 cpi r24, 0x03 ; 3 + 240c: 09 f0 breq .+2 ; 0x2410 <__vector_125+0xb6> + 240e: 49 c0 rjmp .+146 ; 0x24a2 <__vector_125+0x148> + 2410: e9 e2 ldi r30, 0x29 ; 41 + 2412: f2 e2 ldi r31, 0x22 ; 34 + 2414: 04 e0 ldi r16, 0x04 ; 4 + 2416: 05 93 las Z, r16 + 2418: e1 e2 ldi r30, 0x21 ; 33 + 241a: f2 e2 ldi r31, 0x22 ; 34 + 241c: 04 e0 ldi r16, 0x04 ; 4 + 241e: 05 93 las Z, r16 + 2420: 40 c0 rjmp .+128 ; 0x24a2 <__vector_125+0x148> + 2422: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 2426: 84 ff sbrs r24, 4 + 2428: 25 c0 rjmp .+74 ; 0x2474 <__vector_125+0x11a> + 242a: 80 e1 ldi r24, 0x10 ; 16 + 242c: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 2430: 81 e0 ldi r24, 0x01 ; 1 + 2432: 4a df rcall .-364 ; 0x22c8 + 2434: 81 e8 ldi r24, 0x81 ; 129 + 2436: 48 df rcall .-368 ; 0x22c8 + 2438: 82 e0 ldi r24, 0x02 ; 2 + 243a: 46 df rcall .-372 ; 0x22c8 + 243c: 82 e8 ldi r24, 0x82 ; 130 + 243e: 44 df rcall .-376 ; 0x22c8 + 2440: 0e 94 9f 09 call 0x133e ; 0x133e + 2444: 10 92 c3 04 sts 0x04C3, r1 ; 0x8004c3 <__TEXT_REGION_LENGTH__+0x7004c3> + 2448: 10 92 21 22 sts 0x2221, r1 ; 0x802221 + 244c: 96 e0 ldi r25, 0x06 ; 6 + 244e: 90 93 20 22 sts 0x2220, r25 ; 0x802220 + 2452: 83 e4 ldi r24, 0x43 ; 67 + 2454: 80 93 21 22 sts 0x2221, r24 ; 0x802221 + 2458: 10 92 29 22 sts 0x2229, r1 ; 0x802229 + 245c: 90 93 28 22 sts 0x2228, r25 ; 0x802228 + 2460: 80 93 29 22 sts 0x2229, r24 ; 0x802229 + 2464: 89 ec ldi r24, 0xC9 ; 201 + 2466: 91 e2 ldi r25, 0x21 ; 33 + 2468: 80 93 24 22 sts 0x2224, r24 ; 0x802224 + 246c: 90 93 25 22 sts 0x2225, r25 ; 0x802225 + 2470: 43 db rcall .-2426 ; 0x1af8 + 2472: 17 c0 rjmp .+46 ; 0x24a2 <__vector_125+0x148> + 2474: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 2478: 86 ff sbrs r24, 6 + 247a: 08 c0 rjmp .+16 ; 0x248c <__vector_125+0x132> + 247c: 80 e4 ldi r24, 0x40 ; 64 + 247e: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 2482: 80 e0 ldi r24, 0x00 ; 0 + 2484: 0f db rcall .-2530 ; 0x1aa4 + 2486: 0e 94 9e 01 call 0x33c ; 0x33c + 248a: 0b c0 rjmp .+22 ; 0x24a2 <__vector_125+0x148> + 248c: 80 91 cb 04 lds r24, 0x04CB ; 0x8004cb <__TEXT_REGION_LENGTH__+0x7004cb> + 2490: 85 ff sbrs r24, 5 + 2492: 07 c0 rjmp .+14 ; 0x24a2 <__vector_125+0x148> + 2494: 80 e2 ldi r24, 0x20 ; 32 + 2496: 80 93 ca 04 sts 0x04CA, r24 ; 0x8004ca <__TEXT_REGION_LENGTH__+0x7004ca> + 249a: 81 e0 ldi r24, 0x01 ; 1 + 249c: 03 db rcall .-2554 ; 0x1aa4 + 249e: 0e 94 9f 01 call 0x33e ; 0x33e + 24a2: ff 91 pop r31 + 24a4: ef 91 pop r30 + 24a6: bf 91 pop r27 + 24a8: af 91 pop r26 + 24aa: 9f 91 pop r25 + 24ac: 8f 91 pop r24 + 24ae: 7f 91 pop r23 + 24b0: 6f 91 pop r22 + 24b2: 5f 91 pop r21 + 24b4: 4f 91 pop r20 + 24b6: 3f 91 pop r19 + 24b8: 2f 91 pop r18 + 24ba: 0f 91 pop r16 + 24bc: 0f 90 pop r0 + 24be: 0f be out 0x3f, r0 ; 63 + 24c0: 0f 90 pop r0 + 24c2: 1f 90 pop r1 + 24c4: 18 95 reti -000025fe <__tablejump2__>: - 25fe: ee 0f add r30, r30 - 2600: ff 1f adc r31, r31 - 2602: 05 90 lpm r0, Z+ - 2604: f4 91 lpm r31, Z - 2606: e0 2d mov r30, r0 - 2608: 09 94 ijmp +000024c6 <__vector_126>: + 24c6: 1f 92 push r1 + 24c8: 0f 92 push r0 + 24ca: 0f b6 in r0, 0x3f ; 63 + 24cc: 0f 92 push r0 + 24ce: 11 24 eor r1, r1 + 24d0: 0f 93 push r16 + 24d2: 1f 93 push r17 + 24d4: 2f 93 push r18 + 24d6: 3f 93 push r19 + 24d8: 4f 93 push r20 + 24da: 5f 93 push r21 + 24dc: 6f 93 push r22 + 24de: 7f 93 push r23 + 24e0: 8f 93 push r24 + 24e2: 9f 93 push r25 + 24e4: af 93 push r26 + 24e6: bf 93 push r27 + 24e8: cf 93 push r28 + 24ea: df 93 push r29 + 24ec: ef 93 push r30 + 24ee: ff 93 push r31 + 24f0: 80 91 cc 04 lds r24, 0x04CC ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 24f4: 81 ff sbrs r24, 1 + 24f6: 1a c0 rjmp .+52 ; 0x252c <__vector_126+0x66> + 24f8: 82 e0 ldi r24, 0x02 ; 2 + 24fa: 80 93 cc 04 sts 0x04CC, r24 ; 0x8004cc <__TEXT_REGION_LENGTH__+0x7004cc> + 24fe: 80 91 c5 04 lds r24, 0x04C5 ; 0x8004c5 <__TEXT_REGION_LENGTH__+0x7004c5> + 2502: 81 95 neg r24 + 2504: 88 0f add r24, r24 + 2506: e0 e2 ldi r30, 0x20 ; 32 + 2508: f2 e2 ldi r31, 0x22 ; 34 + 250a: e8 1b sub r30, r24 + 250c: f1 09 sbc r31, r1 + 250e: 20 81 ld r18, Z + 2510: 31 81 ldd r19, Z+1 ; 0x01 + 2512: 20 52 subi r18, 0x20 ; 32 + 2514: 32 42 sbci r19, 0x22 ; 34 + 2516: 83 e0 ldi r24, 0x03 ; 3 + 2518: 36 95 lsr r19 + 251a: 27 95 ror r18 + 251c: 8a 95 dec r24 + 251e: e1 f7 brne .-8 ; 0x2518 <__vector_126+0x52> + 2520: 82 2f mov r24, r18 + 2522: 86 95 lsr r24 + 2524: 20 fd sbrc r18, 0 + 2526: 06 c0 rjmp .+12 ; 0x2534 <__vector_126+0x6e> + 2528: c0 e0 ldi r28, 0x00 ; 0 + 252a: 05 c0 rjmp .+10 ; 0x2536 <__vector_126+0x70> + 252c: b1 dc rcall .-1694 ; 0x1e90 + 252e: 88 23 and r24, r24 + 2530: 19 f3 breq .-58 ; 0x24f8 <__vector_126+0x32> + 2532: 86 c0 rjmp .+268 ; 0x2640 <__vector_126+0x17a> + 2534: c0 e8 ldi r28, 0x80 ; 128 + 2536: c8 0f add r28, r24 + 2538: 8c 2f mov r24, r28 + 253a: c7 da rcall .-2674 ; 0x1aca + 253c: fc 01 movw r30, r24 + 253e: 20 81 ld r18, Z + 2540: 25 ff sbrs r18, 5 + 2542: 7e c0 rjmp .+252 ; 0x2640 <__vector_126+0x17a> + 2544: 00 e2 ldi r16, 0x20 ; 32 + 2546: 06 93 lac Z, r16 + 2548: c1 11 cpse r28, r1 + 254a: 74 c0 rjmp .+232 ; 0x2634 <__vector_126+0x16e> + 254c: 80 91 0d 22 lds r24, 0x220D ; 0x80220d + 2550: 84 30 cpi r24, 0x04 ; 4 + 2552: 19 f4 brne .+6 ; 0x255a <__vector_126+0x94> + 2554: 14 db rcall .-2520 ; 0x1b7e + 2556: d0 da rcall .-2656 ; 0x1af8 + 2558: 73 c0 rjmp .+230 ; 0x2640 <__vector_126+0x17a> + 255a: 00 91 22 22 lds r16, 0x2222 ; 0x802222 + 255e: 10 91 23 22 lds r17, 0x2223 ; 0x802223 + 2562: 80 91 74 24 lds r24, 0x2474 ; 0x802474 + 2566: 90 91 75 24 lds r25, 0x2475 ; 0x802475 + 256a: c0 91 09 22 lds r28, 0x2209 ; 0x802209 + 256e: d0 91 0a 22 lds r29, 0x220A ; 0x80220a + 2572: 9e 01 movw r18, r28 + 2574: 20 0f add r18, r16 + 2576: 31 1f adc r19, r17 + 2578: 82 17 cp r24, r18 + 257a: 93 07 cpc r25, r19 + 257c: 18 f4 brcc .+6 ; 0x2584 <__vector_126+0xbe> + 257e: 8c 01 movw r16, r24 + 2580: 0c 1b sub r16, r28 + 2582: 1d 0b sbc r17, r29 + 2584: 80 91 72 24 lds r24, 0x2472 ; 0x802472 + 2588: 90 91 73 24 lds r25, 0x2473 ; 0x802473 + 258c: a8 01 movw r20, r16 + 258e: 69 ec ldi r22, 0xC9 ; 201 + 2590: 71 e2 ldi r23, 0x21 ; 33 + 2592: 8c 0f add r24, r28 + 2594: 9d 1f adc r25, r29 + 2596: 83 d0 rcall .+262 ; 0x269e + 2598: c0 0f add r28, r16 + 259a: d1 1f adc r29, r17 + 259c: c0 93 09 22 sts 0x2209, r28 ; 0x802209 + 25a0: d0 93 0a 22 sts 0x220A, r29 ; 0x80220a + 25a4: 00 34 cpi r16, 0x40 ; 64 + 25a6: 11 05 cpc r17, r1 + 25a8: 69 f4 brne .+26 ; 0x25c4 <__vector_126+0xfe> + 25aa: 80 91 0b 22 lds r24, 0x220B ; 0x80220b + 25ae: 90 91 0c 22 lds r25, 0x220C ; 0x80220c + 25b2: 8c 0f add r24, r28 + 25b4: 9d 1f adc r25, r29 + 25b6: 20 91 70 24 lds r18, 0x2470 ; 0x802470 + 25ba: 30 91 71 24 lds r19, 0x2471 ; 0x802471 + 25be: 82 17 cp r24, r18 + 25c0: 93 07 cpc r25, r19 + 25c2: 88 f0 brcs .+34 ; 0x25e6 <__vector_126+0x120> + 25c4: c0 93 74 24 sts 0x2474, r28 ; 0x802474 + 25c8: d0 93 75 24 sts 0x2475, r29 ; 0x802475 + 25cc: e0 91 78 24 lds r30, 0x2478 ; 0x802478 + 25d0: f0 91 79 24 lds r31, 0x2479 ; 0x802479 + 25d4: 30 97 sbiw r30, 0x00 ; 0 + 25d6: 29 f0 breq .+10 ; 0x25e2 <__vector_126+0x11c> + 25d8: 09 95 icall + 25da: 81 11 cpse r24, r1 + 25dc: 02 c0 rjmp .+4 ; 0x25e2 <__vector_126+0x11c> + 25de: b3 da rcall .-2714 ; 0x1b46 + 25e0: 2f c0 rjmp .+94 ; 0x2640 <__vector_126+0x17a> + 25e2: bf da rcall .-2690 ; 0x1b62 + 25e4: 2d c0 rjmp .+90 ; 0x2640 <__vector_126+0x17a> + 25e6: 80 91 74 24 lds r24, 0x2474 ; 0x802474 + 25ea: 90 91 75 24 lds r25, 0x2475 ; 0x802475 + 25ee: 8c 17 cp r24, r28 + 25f0: 9d 07 cpc r25, r29 + 25f2: d9 f4 brne .+54 ; 0x262a <__vector_126+0x164> + 25f4: e0 91 78 24 lds r30, 0x2478 ; 0x802478 + 25f8: f0 91 79 24 lds r31, 0x2479 ; 0x802479 + 25fc: 30 97 sbiw r30, 0x00 ; 0 + 25fe: 79 f3 breq .-34 ; 0x25de <__vector_126+0x118> + 2600: 09 95 icall + 2602: 88 23 and r24, r24 + 2604: 61 f3 breq .-40 ; 0x25de <__vector_126+0x118> + 2606: 20 91 0b 22 lds r18, 0x220B ; 0x80220b + 260a: 30 91 0c 22 lds r19, 0x220C ; 0x80220c + 260e: 80 91 09 22 lds r24, 0x2209 ; 0x802209 + 2612: 90 91 0a 22 lds r25, 0x220A ; 0x80220a + 2616: 82 0f add r24, r18 + 2618: 93 1f adc r25, r19 + 261a: 80 93 0b 22 sts 0x220B, r24 ; 0x80220b + 261e: 90 93 0c 22 sts 0x220C, r25 ; 0x80220c + 2622: 10 92 09 22 sts 0x2209, r1 ; 0x802209 + 2626: 10 92 0a 22 sts 0x220A, r1 ; 0x80220a + 262a: e0 e2 ldi r30, 0x20 ; 32 + 262c: f2 e2 ldi r31, 0x22 ; 34 + 262e: 02 e0 ldi r16, 0x02 ; 2 + 2630: 06 93 lac Z, r16 + 2632: 06 c0 rjmp .+12 ; 0x2640 <__vector_126+0x17a> + 2634: c0 38 cpi r28, 0x80 ; 128 + 2636: 11 f4 brne .+4 ; 0x263c <__vector_126+0x176> + 2638: bd db rcall .-2182 ; 0x1db4 + 263a: 02 c0 rjmp .+4 ; 0x2640 <__vector_126+0x17a> + 263c: 8c 2f mov r24, r28 + 263e: c1 da rcall .-2686 ; 0x1bc2 + 2640: ff 91 pop r31 + 2642: ef 91 pop r30 + 2644: df 91 pop r29 + 2646: cf 91 pop r28 + 2648: bf 91 pop r27 + 264a: af 91 pop r26 + 264c: 9f 91 pop r25 + 264e: 8f 91 pop r24 + 2650: 7f 91 pop r23 + 2652: 6f 91 pop r22 + 2654: 5f 91 pop r21 + 2656: 4f 91 pop r20 + 2658: 3f 91 pop r19 + 265a: 2f 91 pop r18 + 265c: 1f 91 pop r17 + 265e: 0f 91 pop r16 + 2660: 0f 90 pop r0 + 2662: 0f be out 0x3f, r0 ; 63 + 2664: 0f 90 pop r0 + 2666: 1f 90 pop r1 + 2668: 18 95 reti -0000260a : - 260a: fb 01 movw r30, r22 - 260c: dc 01 movw r26, r24 - 260e: 02 c0 rjmp .+4 ; 0x2614 - 2610: 01 90 ld r0, Z+ - 2612: 0d 92 st X+, r0 - 2614: 41 50 subi r20, 0x01 ; 1 - 2616: 50 40 sbci r21, 0x00 ; 0 - 2618: d8 f7 brcc .-10 ; 0x2610 - 261a: 08 95 ret +0000266a <__udivmodhi4>: + 266a: aa 1b sub r26, r26 + 266c: bb 1b sub r27, r27 + 266e: 51 e1 ldi r21, 0x11 ; 17 + 2670: 07 c0 rjmp .+14 ; 0x2680 <__udivmodhi4_ep> -0000261c <_exit>: - 261c: f8 94 cli +00002672 <__udivmodhi4_loop>: + 2672: aa 1f adc r26, r26 + 2674: bb 1f adc r27, r27 + 2676: a6 17 cp r26, r22 + 2678: b7 07 cpc r27, r23 + 267a: 10 f0 brcs .+4 ; 0x2680 <__udivmodhi4_ep> + 267c: a6 1b sub r26, r22 + 267e: b7 0b sbc r27, r23 -0000261e <__stop_program>: - 261e: ff cf rjmp .-2 ; 0x261e <__stop_program> +00002680 <__udivmodhi4_ep>: + 2680: 88 1f adc r24, r24 + 2682: 99 1f adc r25, r25 + 2684: 5a 95 dec r21 + 2686: a9 f7 brne .-22 ; 0x2672 <__udivmodhi4_loop> + 2688: 80 95 com r24 + 268a: 90 95 com r25 + 268c: bc 01 movw r22, r24 + 268e: cd 01 movw r24, r26 + 2690: 08 95 ret + +00002692 <__tablejump2__>: + 2692: ee 0f add r30, r30 + 2694: ff 1f adc r31, r31 + 2696: 05 90 lpm r0, Z+ + 2698: f4 91 lpm r31, Z + 269a: e0 2d mov r30, r0 + 269c: 09 94 ijmp + +0000269e : + 269e: fb 01 movw r30, r22 + 26a0: dc 01 movw r26, r24 + 26a2: 02 c0 rjmp .+4 ; 0x26a8 + 26a4: 01 90 ld r0, Z+ + 26a6: 0d 92 st X+, r0 + 26a8: 41 50 subi r20, 0x01 ; 1 + 26aa: 50 40 sbci r21, 0x00 ; 0 + 26ac: d8 f7 brcc .-10 ; 0x26a4 + 26ae: 08 95 ret + +000026b0 <_exit>: + 26b0: f8 94 cli + +000026b2 <__stop_program>: + 26b2: ff cf rjmp .-2 ; 0x26b2 <__stop_program> diff --git a/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.map b/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.map index dc9eb51f..85eaef69 100644 --- a/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.map +++ b/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.map @@ -399,7 +399,7 @@ END GROUP .rela.plt *(.rela.plt) -.text 0x00000000 0x2620 +.text 0x00000000 0x26b4 *(.vectors) .vectors 0x00000000 0x1fc C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/XMEGAA_DFP/1.0.39/gcc/dev/atxmega32a4u/avrxmega2/crtatxmega32a4u.o 0x00000000 __vector_default @@ -408,46 +408,48 @@ END GROUP *(.progmem.gcc*) .progmem.gcc_sw_table.main_sof_action 0x000001fc 0x10 src/main.o + .progmem.gcc_sw_table.__vector_6 + 0x0000020c 0x10 src/tiny_dma.o .progmem.gcc_sw_table.udc_process_setup - 0x0000020c 0x30 src/ASF/common/services/usb/udc/udc.o - 0x0000023c . = ALIGN (0x2) - 0x0000023c __trampolines_start = . + 0x0000021c 0x30 src/ASF/common/services/usb/udc/udc.o + 0x0000024c . = ALIGN (0x2) + 0x0000024c __trampolines_start = . *(.trampolines) - .trampolines 0x0000023c 0x0 linker stubs + .trampolines 0x0000024c 0x0 linker stubs *(.trampolines*) - 0x0000023c __trampolines_end = . + 0x0000024c __trampolines_end = . *libprintf_flt.a:*(.progmem.data) *libc.a:*(.progmem.data) *(.progmem*) - 0x0000023c . = ALIGN (0x2) + 0x0000024c . = ALIGN (0x2) *(.jumptables) *(.jumptables*) *(.lowtext) *(.lowtext*) - 0x0000023c __ctors_start = . + 0x0000024c __ctors_start = . *(.ctors) - 0x0000023c __ctors_end = . - 0x0000023c __dtors_start = . + 0x0000024c __ctors_end = . + 0x0000024c __dtors_start = . *(.dtors) - 0x0000023c __dtors_end = . + 0x0000024c __dtors_end = . SORT(*)(.ctors) SORT(*)(.dtors) *(.init0) - .init0 0x0000023c 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/XMEGAA_DFP/1.0.39/gcc/dev/atxmega32a4u/avrxmega2/crtatxmega32a4u.o - 0x0000023c __init + .init0 0x0000024c 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/XMEGAA_DFP/1.0.39/gcc/dev/atxmega32a4u/avrxmega2/crtatxmega32a4u.o + 0x0000024c __init *(.init0) *(.init1) *(.init1) *(.init2) - .init2 0x0000023c 0xc C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/XMEGAA_DFP/1.0.39/gcc/dev/atxmega32a4u/avrxmega2/crtatxmega32a4u.o + .init2 0x0000024c 0xc C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/XMEGAA_DFP/1.0.39/gcc/dev/atxmega32a4u/avrxmega2/crtatxmega32a4u.o *(.init2) *(.init3) *(.init3) *(.init4) - .init4 0x00000248 0x16 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_copy_data.o) - 0x00000248 __do_copy_data - .init4 0x0000025e 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_clear_bss.o) - 0x0000025e __do_clear_bss + .init4 0x00000258 0x16 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_copy_data.o) + 0x00000258 __do_copy_data + .init4 0x0000026e 0x10 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_clear_bss.o) + 0x0000026e __do_clear_bss *(.init4) *(.init5) *(.init5) @@ -458,406 +460,408 @@ END GROUP *(.init8) *(.init8) *(.init9) - .init9 0x0000026e 0x6 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/XMEGAA_DFP/1.0.39/gcc/dev/atxmega32a4u/avrxmega2/crtatxmega32a4u.o + .init9 0x0000027e 0x6 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/XMEGAA_DFP/1.0.39/gcc/dev/atxmega32a4u/avrxmega2/crtatxmega32a4u.o *(.init9) *(.text) - .text 0x00000274 0x2 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/XMEGAA_DFP/1.0.39/gcc/dev/atxmega32a4u/avrxmega2/crtatxmega32a4u.o - 0x00000274 __vector_38 - 0x00000274 __vector_104 - 0x00000274 __vector_22 - 0x00000274 __vector_63 - 0x00000274 __vector_28 - 0x00000274 __vector_67 - 0x00000274 __vector_1 - 0x00000274 __vector_119 - 0x00000274 __vector_32 - 0x00000274 __vector_75 - 0x00000274 __vector_71 - 0x00000274 __vector_91 - 0x00000274 __vector_34 - 0x00000274 __vector_62 - 0x00000274 __vector_77 - 0x00000274 __vector_102 - 0x00000274 __vector_12 - 0x00000274 __vector_55 - 0x00000274 __vector_69 - 0x00000274 __vector_81 - 0x00000274 __vector_90 - 0x00000274 __vector_46 - 0x00000274 __bad_interrupt - 0x00000274 __vector_122 - 0x00000274 __vector_72 - 0x00000274 __vector_114 - 0x00000274 __vector_110 - 0x00000274 __vector_31 - 0x00000274 __vector_92 - 0x00000274 __vector_35 - 0x00000274 __vector_78 - 0x00000274 __vector_74 - 0x00000274 __vector_117 - 0x00000274 __vector_39 - 0x00000274 __vector_107 - 0x00000274 __vector_3 - 0x00000274 __vector_105 - 0x00000274 __vector_98 - 0x00000274 __vector_23 - 0x00000274 __vector_68 - 0x00000274 __vector_30 - 0x00000274 __vector_73 - 0x00000274 __vector_45 - 0x00000274 __vector_25 - 0x00000274 __vector_93 - 0x00000274 __vector_61 - 0x00000274 __vector_11 - 0x00000274 __vector_54 - 0x00000274 __vector_99 - 0x00000274 __vector_13 - 0x00000274 __vector_17 - 0x00000274 __vector_19 - 0x00000274 __vector_56 - 0x00000274 __vector_49 - 0x00000274 __vector_123 - 0x00000274 __vector_41 - 0x00000274 __vector_86 - 0x00000274 __vector_100 - 0x00000274 __vector_101 - 0x00000274 __vector_64 - 0x00000274 __vector_88 - 0x00000274 __vector_109 - 0x00000274 __vector_43 - 0x00000274 __vector_27 - 0x00000274 __vector_5 - 0x00000274 __vector_113 - 0x00000274 __vector_33 - 0x00000274 __vector_76 - 0x00000274 __vector_115 - 0x00000274 __vector_47 - 0x00000274 __vector_52 - 0x00000274 __vector_37 - 0x00000274 __vector_95 - 0x00000274 __vector_103 - 0x00000274 __vector_96 - 0x00000274 __vector_89 - 0x00000274 __vector_108 - 0x00000274 __vector_4 - 0x00000274 __vector_44 - 0x00000274 __vector_82 - 0x00000274 __vector_106 - 0x00000274 __vector_118 - 0x00000274 __vector_51 - 0x00000274 __vector_2 - 0x00000274 __vector_21 - 0x00000274 __vector_15 - 0x00000274 __vector_66 - 0x00000274 __vector_36 - 0x00000274 __vector_79 - 0x00000274 __vector_58 - 0x00000274 __vector_70 - 0x00000274 __vector_29 - 0x00000274 __vector_60 - 0x00000274 __vector_121 - 0x00000274 __vector_40 - 0x00000274 __vector_85 - 0x00000274 __vector_94 - 0x00000274 __vector_8 - 0x00000274 __vector_26 - 0x00000274 __vector_48 - 0x00000274 __vector_124 - 0x00000274 __vector_116 - 0x00000274 __vector_112 - 0x00000274 __vector_111 - 0x00000274 __vector_80 - 0x00000274 __vector_14 - 0x00000274 __vector_84 - 0x00000274 __vector_57 - 0x00000274 __vector_53 - 0x00000274 __vector_10 - 0x00000274 __vector_50 - 0x00000274 __vector_16 - 0x00000274 __vector_59 - 0x00000274 __vector_18 - 0x00000274 __vector_97 - 0x00000274 __vector_20 - 0x00000274 __vector_42 - 0x00000274 __vector_87 - 0x00000274 __vector_65 - 0x00000274 __vector_120 - 0x00000276 . = ALIGN (0x2) + .text 0x00000284 0x2 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/XMEGAA_DFP/1.0.39/gcc/dev/atxmega32a4u/avrxmega2/crtatxmega32a4u.o + 0x00000284 __vector_38 + 0x00000284 __vector_104 + 0x00000284 __vector_22 + 0x00000284 __vector_63 + 0x00000284 __vector_28 + 0x00000284 __vector_67 + 0x00000284 __vector_1 + 0x00000284 __vector_119 + 0x00000284 __vector_32 + 0x00000284 __vector_75 + 0x00000284 __vector_71 + 0x00000284 __vector_91 + 0x00000284 __vector_34 + 0x00000284 __vector_62 + 0x00000284 __vector_77 + 0x00000284 __vector_102 + 0x00000284 __vector_12 + 0x00000284 __vector_55 + 0x00000284 __vector_69 + 0x00000284 __vector_81 + 0x00000284 __vector_90 + 0x00000284 __vector_46 + 0x00000284 __bad_interrupt + 0x00000284 __vector_122 + 0x00000284 __vector_72 + 0x00000284 __vector_114 + 0x00000284 __vector_110 + 0x00000284 __vector_31 + 0x00000284 __vector_92 + 0x00000284 __vector_35 + 0x00000284 __vector_78 + 0x00000284 __vector_74 + 0x00000284 __vector_117 + 0x00000284 __vector_39 + 0x00000284 __vector_107 + 0x00000284 __vector_3 + 0x00000284 __vector_105 + 0x00000284 __vector_98 + 0x00000284 __vector_23 + 0x00000284 __vector_68 + 0x00000284 __vector_30 + 0x00000284 __vector_73 + 0x00000284 __vector_45 + 0x00000284 __vector_25 + 0x00000284 __vector_93 + 0x00000284 __vector_61 + 0x00000284 __vector_11 + 0x00000284 __vector_54 + 0x00000284 __vector_99 + 0x00000284 __vector_13 + 0x00000284 __vector_17 + 0x00000284 __vector_19 + 0x00000284 __vector_56 + 0x00000284 __vector_49 + 0x00000284 __vector_123 + 0x00000284 __vector_41 + 0x00000284 __vector_86 + 0x00000284 __vector_100 + 0x00000284 __vector_101 + 0x00000284 __vector_64 + 0x00000284 __vector_88 + 0x00000284 __vector_109 + 0x00000284 __vector_43 + 0x00000284 __vector_27 + 0x00000284 __vector_5 + 0x00000284 __vector_113 + 0x00000284 __vector_33 + 0x00000284 __vector_76 + 0x00000284 __vector_115 + 0x00000284 __vector_47 + 0x00000284 __vector_52 + 0x00000284 __vector_37 + 0x00000284 __vector_95 + 0x00000284 __vector_103 + 0x00000284 __vector_96 + 0x00000284 __vector_89 + 0x00000284 __vector_108 + 0x00000284 __vector_4 + 0x00000284 __vector_44 + 0x00000284 __vector_82 + 0x00000284 __vector_106 + 0x00000284 __vector_118 + 0x00000284 __vector_51 + 0x00000284 __vector_2 + 0x00000284 __vector_21 + 0x00000284 __vector_15 + 0x00000284 __vector_66 + 0x00000284 __vector_36 + 0x00000284 __vector_79 + 0x00000284 __vector_58 + 0x00000284 __vector_70 + 0x00000284 __vector_29 + 0x00000284 __vector_60 + 0x00000284 __vector_121 + 0x00000284 __vector_40 + 0x00000284 __vector_85 + 0x00000284 __vector_94 + 0x00000284 __vector_26 + 0x00000284 __vector_48 + 0x00000284 __vector_124 + 0x00000284 __vector_116 + 0x00000284 __vector_112 + 0x00000284 __vector_111 + 0x00000284 __vector_80 + 0x00000284 __vector_14 + 0x00000284 __vector_84 + 0x00000284 __vector_57 + 0x00000284 __vector_53 + 0x00000284 __vector_10 + 0x00000284 __vector_50 + 0x00000284 __vector_16 + 0x00000284 __vector_59 + 0x00000284 __vector_18 + 0x00000284 __vector_97 + 0x00000284 __vector_20 + 0x00000284 __vector_42 + 0x00000284 __vector_87 + 0x00000284 __vector_65 + 0x00000284 __vector_120 + 0x00000286 . = ALIGN (0x2) *(.text.*) .text.tiny_dig_setup - 0x00000276 0xe src/tiny_dig.o - 0x00000276 tiny_dig_setup + 0x00000286 0xe src/tiny_dig.o + 0x00000286 tiny_dig_setup .text.board_init - 0x00000284 0x2 src/ASF/common/boards/user_board/init.o - 0x00000284 board_init + 0x00000294 0x2 src/ASF/common/boards/user_board/init.o + 0x00000294 board_init .text.iso_callback - 0x00000286 0x20 src/main.o - 0x00000286 iso_callback + 0x00000296 0x20 src/main.o + 0x00000296 iso_callback .text.iso_callback2 - 0x000002a6 0x20 src/main.o - 0x000002a6 iso_callback2 + 0x000002b6 0x20 src/main.o + 0x000002b6 iso_callback2 .text.iso_callback3 - 0x000002c6 0x20 src/main.o - 0x000002c6 iso_callback3 + 0x000002d6 0x20 src/main.o + 0x000002d6 iso_callback3 .text.startup.main - 0x000002e6 0x28 src/main.o - 0x000002e6 main + 0x000002f6 0x46 src/main.o + 0x000002f6 main .text.main_suspend_action - 0x0000030e 0x2 src/main.o - 0x0000030e main_suspend_action + 0x0000033c 0x2 src/main.o + 0x0000033c main_suspend_action .text.main_resume_action - 0x00000310 0x2 src/main.o - 0x00000310 main_resume_action + 0x0000033e 0x2 src/main.o + 0x0000033e main_resume_action .text.main_sof_action - 0x00000312 0x42 src/main.o - 0x00000312 main_sof_action + 0x00000340 0x42 src/main.o + 0x00000340 main_sof_action .text.main_vendor_enable - 0x00000354 0x34 src/main.o - 0x00000354 main_vendor_enable + 0x00000382 0x34 src/main.o + 0x00000382 main_vendor_enable .text.main_vendor_disable - 0x00000388 0x6 src/main.o - 0x00000388 main_vendor_disable + 0x000003b6 0x6 src/main.o + 0x000003b6 main_vendor_disable .text.main_setup_out_received - 0x0000038e 0x4 src/main.o - 0x0000038e main_setup_out_received + 0x000003bc 0x4 src/main.o + 0x000003bc main_setup_out_received .text.main_setup_in_received - 0x00000392 0x4 src/main.o - 0x00000392 main_setup_in_received + 0x000003c0 0x4 src/main.o + 0x000003c0 main_setup_in_received .text.tiny_adc_ch0setup - 0x00000396 0x2c src/tiny_adc.o - 0x00000396 tiny_adc_ch0setup + 0x000003c4 0x2c src/tiny_adc.o + 0x000003c4 tiny_adc_ch0setup .text.tiny_adc_ch1setup - 0x000003c2 0x14 src/tiny_adc.o - 0x000003c2 tiny_adc_ch1setup + 0x000003f0 0x14 src/tiny_adc.o + 0x000003f0 tiny_adc_ch1setup .text.tiny_adc_pid_setup - 0x000003d6 0x14 src/tiny_adc.o - 0x000003d6 tiny_adc_pid_setup + 0x00000404 0x14 src/tiny_adc.o + 0x00000404 tiny_adc_pid_setup .text.ReadCalibrationByte - 0x000003ea 0x12 src/tiny_adc.o - 0x000003ea ReadCalibrationByte + 0x00000418 0x12 src/tiny_adc.o + 0x00000418 ReadCalibrationByte .text.tiny_adc_setup - 0x000003fc 0x5e src/tiny_adc.o - 0x000003fc tiny_adc_setup + 0x0000042a 0x5e src/tiny_adc.o + 0x0000042a tiny_adc_setup .text.tiny_dac_setup - 0x0000045a 0x48 src/tiny_dac.o - 0x0000045a tiny_dac_setup + 0x00000488 0x48 src/tiny_dac.o + 0x00000488 tiny_dac_setup .text.tiny_dma_setup - 0x000004a2 0x12 src/tiny_dma.o - 0x000004a2 tiny_dma_setup + 0x000004d0 0x12 src/tiny_dma.o + 0x000004d0 tiny_dma_setup .text.tiny_dma_flush - 0x000004b4 0x20 src/tiny_dma.o - 0x000004b4 tiny_dma_flush + 0x000004e2 0x20 src/tiny_dma.o + 0x000004e2 tiny_dma_flush .text.tiny_dma_set_mode_0 - 0x000004d4 0xe6 src/tiny_dma.o - 0x000004d4 tiny_dma_set_mode_0 + 0x00000502 0xe6 src/tiny_dma.o + 0x00000502 tiny_dma_set_mode_0 .text.tiny_dma_loop_mode_0 - 0x000005ba 0x2 src/tiny_dma.o - 0x000005ba tiny_dma_loop_mode_0 + 0x000005e8 0x2 src/tiny_dma.o + 0x000005e8 tiny_dma_loop_mode_0 .text.tiny_dma_set_mode_1 - 0x000005bc 0xf0 src/tiny_dma.o - 0x000005bc tiny_dma_set_mode_1 + 0x000005ea 0xf0 src/tiny_dma.o + 0x000005ea tiny_dma_set_mode_1 .text.tiny_dma_loop_mode_1 - 0x000006ac 0x2 src/tiny_dma.o - 0x000006ac tiny_dma_loop_mode_1 + 0x000006da 0x2 src/tiny_dma.o + 0x000006da tiny_dma_loop_mode_1 .text.tiny_dma_set_mode_2 - 0x000006ae 0xe6 src/tiny_dma.o - 0x000006ae tiny_dma_set_mode_2 + 0x000006dc 0xe6 src/tiny_dma.o + 0x000006dc tiny_dma_set_mode_2 .text.tiny_dma_loop_mode_2 - 0x00000794 0x2 src/tiny_dma.o - 0x00000794 tiny_dma_loop_mode_2 + 0x000007c2 0x2 src/tiny_dma.o + 0x000007c2 tiny_dma_loop_mode_2 .text.tiny_dma_set_mode_3 - 0x00000796 0xf8 src/tiny_dma.o - 0x00000796 tiny_dma_set_mode_3 + 0x000007c4 0xf8 src/tiny_dma.o + 0x000007c4 tiny_dma_set_mode_3 .text.tiny_dma_loop_mode_3 - 0x0000088e 0x2 src/tiny_dma.o - 0x0000088e tiny_dma_loop_mode_3 + 0x000008bc 0x2 src/tiny_dma.o + 0x000008bc tiny_dma_loop_mode_3 .text.tiny_dma_set_mode_4 - 0x00000890 0xec src/tiny_dma.o - 0x00000890 tiny_dma_set_mode_4 + 0x000008be 0xec src/tiny_dma.o + 0x000008be tiny_dma_set_mode_4 .text.tiny_dma_loop_mode_4 - 0x0000097c 0x2 src/tiny_dma.o - 0x0000097c tiny_dma_loop_mode_4 + 0x000009aa 0x2 src/tiny_dma.o + 0x000009aa tiny_dma_loop_mode_4 .text.tiny_dma_set_mode_5 - 0x0000097e 0x90 src/tiny_dma.o - 0x0000097e tiny_dma_set_mode_5 + 0x000009ac 0x90 src/tiny_dma.o + 0x000009ac tiny_dma_set_mode_5 .text.tiny_dma_set_mode_6 - 0x00000a0e 0x92 src/tiny_dma.o - 0x00000a0e tiny_dma_set_mode_6 + 0x00000a3c 0xc4 src/tiny_dma.o + 0x00000a3c tiny_dma_set_mode_6 .text.tiny_dma_loop_mode_6 - 0x00000aa0 0x5c src/tiny_dma.o - 0x00000aa0 tiny_dma_loop_mode_6 + 0x00000b00 0x2 src/tiny_dma.o + 0x00000b00 tiny_dma_loop_mode_6 .text.tiny_dma_set_mode_7 - 0x00000afc 0x92 src/tiny_dma.o - 0x00000afc tiny_dma_set_mode_7 + 0x00000b02 0xc4 src/tiny_dma.o + 0x00000b02 tiny_dma_set_mode_7 .text.tiny_dma_loop_mode_7 - 0x00000b8e 0x5c src/tiny_dma.o - 0x00000b8e tiny_dma_loop_mode_7 + 0x00000bc6 0x2 src/tiny_dma.o + 0x00000bc6 tiny_dma_loop_mode_7 .text.__vector_6 - 0x00000bea 0x9e src/tiny_dma.o - 0x00000bea __vector_6 + 0x00000bc8 0xbc src/tiny_dma.o + 0x00000bc8 __vector_6 .text.__vector_7 - 0x00000c88 0x8e src/tiny_dma.o - 0x00000c88 __vector_7 + 0x00000c84 0x8e src/tiny_dma.o + 0x00000c84 __vector_7 + .text.__vector_8 + 0x00000d12 0x82 src/tiny_dma.o + 0x00000d12 __vector_8 .text.__vector_9 - 0x00000d16 0x7c src/tiny_dma.o - 0x00000d16 __vector_9 + 0x00000d94 0x82 src/tiny_dma.o + 0x00000d94 __vector_9 .text.tiny_timer_setup - 0x00000d92 0x76 src/tiny_timer.o - 0x00000d92 tiny_timer_setup + 0x00000e16 0x84 src/tiny_timer.o + 0x00000e16 tiny_timer_setup .text.__vector_83 - 0x00000e08 0xc0 src/tiny_timer.o - 0x00000e08 __vector_83 + 0x00000e9a 0xc6 src/tiny_timer.o + 0x00000e9a __vector_83 .text.tiny_uart_setup - 0x00000ec8 0x34 src/tiny_uart.o - 0x00000ec8 tiny_uart_setup + 0x00000f60 0x30 src/tiny_uart.o + 0x00000f60 tiny_uart_setup .text.tiny_spi_setup - 0x00000efc 0x1e src/tiny_uart.o - 0x00000efc tiny_spi_setup + 0x00000f90 0x1c src/tiny_uart.o + 0x00000f90 tiny_spi_setup .text.__vector_24 - 0x00000f1a 0x16 src/tiny_uart.o - 0x00000f1a __vector_24 + 0x00000fac 0x16 src/tiny_uart.o + 0x00000fac __vector_24 .text.osc_enable_autocalibration.constprop.4 - 0x00000f30 0x38 src/ASF/common/services/clock/xmega/sysclk.o + 0x00000fc2 0x38 src/ASF/common/services/clock/xmega/sysclk.o .text.sysclk_init - 0x00000f68 0xa6 src/ASF/common/services/clock/xmega/sysclk.o - 0x00000f68 sysclk_init + 0x00000ffa 0xa6 src/ASF/common/services/clock/xmega/sysclk.o + 0x00000ffa sysclk_init .text.sysclk_enable_module - 0x0000100e 0x18 src/ASF/common/services/clock/xmega/sysclk.o - 0x0000100e sysclk_enable_module + 0x000010a0 0x18 src/ASF/common/services/clock/xmega/sysclk.o + 0x000010a0 sysclk_enable_module .text.sysclk_enable_usb - 0x00001026 0x40 src/ASF/common/services/clock/xmega/sysclk.o - 0x00001026 sysclk_enable_usb + 0x000010b8 0x40 src/ASF/common/services/clock/xmega/sysclk.o + 0x000010b8 sysclk_enable_usb .text.udi_vendor_getsetting - 0x00001066 0x6 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x00001066 udi_vendor_getsetting + 0x000010f8 0x6 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x000010f8 udi_vendor_getsetting .text.udi_vendor_disable - 0x0000106c 0xc src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x0000106c udi_vendor_disable + 0x000010fe 0xc src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x000010fe udi_vendor_disable .text.udi_vendor_enable - 0x00001078 0x14 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x00001078 udi_vendor_enable + 0x0000110a 0x14 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x0000110a udi_vendor_enable .text.udi_vendor_setup - 0x0000108c 0x38 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x0000108c udi_vendor_setup + 0x0000111e 0x38 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x0000111e udi_vendor_setup .text.udi_vendor_iso_in_run - 0x000010c4 0x18 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x000010c4 udi_vendor_iso_in_run + 0x00001156 0x18 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x00001156 udi_vendor_iso_in_run .text.udi_vendor_iso_in_run2 - 0x000010dc 0x18 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x000010dc udi_vendor_iso_in_run2 + 0x0000116e 0x18 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x0000116e udi_vendor_iso_in_run2 .text.udi_vendor_iso_in_run3 - 0x000010f4 0x18 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o - 0x000010f4 udi_vendor_iso_in_run3 + 0x00001186 0x18 src/ASF/common/services/usb/class/vendor/device/udi_vendor.o + 0x00001186 udi_vendor_iso_in_run3 .text.udc_valid_address - 0x0000110c 0x8 src/ASF/common/services/usb/udc/udc.o + 0x0000119e 0x8 src/ASF/common/services/usb/udc/udc.o .text.udc_update_iface_desc - 0x00001114 0x66 src/ASF/common/services/usb/udc/udc.o + 0x000011a6 0x66 src/ASF/common/services/usb/udc/udc.o .text.udc_next_desc_in_iface.constprop.3 - 0x0000117a 0x40 src/ASF/common/services/usb/udc/udc.o + 0x0000120c 0x40 src/ASF/common/services/usb/udc/udc.o .text.udc_iface_enable - 0x000011ba 0x66 src/ASF/common/services/usb/udc/udc.o + 0x0000124c 0x66 src/ASF/common/services/usb/udc/udc.o .text.udc_iface_disable - 0x00001220 0x80 src/ASF/common/services/usb/udc/udc.o + 0x000012b2 0x80 src/ASF/common/services/usb/udc/udc.o .text.udc_get_interface_desc - 0x000012a0 0xa src/ASF/common/services/usb/udc/udc.o - 0x000012a0 udc_get_interface_desc + 0x00001332 0xa src/ASF/common/services/usb/udc/udc.o + 0x00001332 udc_get_interface_desc .text.udc_start - 0x000012aa 0x2 src/ASF/common/services/usb/udc/udc.o - 0x000012aa udc_start + 0x0000133c 0x2 src/ASF/common/services/usb/udc/udc.o + 0x0000133c udc_start .text.udc_reset - 0x000012ac 0x38 src/ASF/common/services/usb/udc/udc.o - 0x000012ac udc_reset + 0x0000133e 0x38 src/ASF/common/services/usb/udc/udc.o + 0x0000133e udc_reset .text.udc_sof_notify - 0x000012e4 0x4a src/ASF/common/services/usb/udc/udc.o - 0x000012e4 udc_sof_notify + 0x00001376 0x4a src/ASF/common/services/usb/udc/udc.o + 0x00001376 udc_sof_notify .text.udc_process_setup - 0x0000132e 0x686 src/ASF/common/services/usb/udc/udc.o - 0x0000132e udc_process_setup + 0x000013c0 0x688 src/ASF/common/services/usb/udc/udc.o + 0x000013c0 udc_process_setup .text.ccp_write_io - 0x000019b4 0xc src/ASF/xmega/drivers/cpu/ccp.o - 0x000019b4 ccp_write_io + 0x00001a48 0xc src/ASF/xmega/drivers/cpu/ccp.o + 0x00001a48 ccp_write_io .text.nvm_read_byte - 0x000019c0 0x14 src/ASF/xmega/drivers/nvm/nvm_asm.o - 0x000019c0 nvm_read_byte + 0x00001a54 0x14 src/ASF/xmega/drivers/nvm/nvm_asm.o + 0x00001a54 nvm_read_byte .text.sleepmgr_lock_mode - 0x000019d4 0x1e src/ASF/xmega/drivers/usb/usb_device.o + 0x00001a68 0x1e src/ASF/xmega/drivers/usb/usb_device.o .text.sleepmgr_unlock_mode - 0x000019f2 0x1e src/ASF/xmega/drivers/usb/usb_device.o + 0x00001a86 0x1e src/ASF/xmega/drivers/usb/usb_device.o .text.udd_sleep_mode - 0x00001a10 0x26 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001aa4 0x26 src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ep_get_ctrl - 0x00001a36 0x2e src/ASF/xmega/drivers/usb/usb_device.o + 0x00001aca 0x2e src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_init - 0x00001a64 0x4e src/ASF/xmega/drivers/usb/usb_device.o + 0x00001af8 0x4e src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_stall_data - 0x00001ab2 0x1c src/ASF/xmega/drivers/usb/usb_device.o + 0x00001b46 0x1c src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_send_zlp_in - 0x00001ace 0x1c src/ASF/xmega/drivers/usb/usb_device.o + 0x00001b62 0x1c src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_endofrequest - 0x00001aea 0x10 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001b7e 0x10 src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ep_get_job - 0x00001afa 0x34 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001b8e 0x34 src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ep_trans_complet - 0x00001b2e 0x1f2 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001bc2 0x1f2 src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_in_sent - 0x00001d20 0xdc src/ASF/xmega/drivers/usb/usb_device.o + 0x00001db4 0xdc src/ASF/xmega/drivers/usb/usb_device.o .text.udd_ctrl_interrupt_tc_setup - 0x00001dfc 0xee src/ASF/xmega/drivers/usb/usb_device.o + 0x00001e90 0xee src/ASF/xmega/drivers/usb/usb_device.o .text.udd_attach - 0x00001eea 0x46 src/ASF/xmega/drivers/usb/usb_device.o - 0x00001eea udd_attach + 0x00001f7e 0x46 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001f7e udd_attach .text.udd_enable - 0x00001f30 0xf0 src/ASF/xmega/drivers/usb/usb_device.o - 0x00001f30 udd_enable + 0x00001fc4 0xf0 src/ASF/xmega/drivers/usb/usb_device.o + 0x00001fc4 udd_enable .text.udd_set_address - 0x00002020 0x6 src/ASF/xmega/drivers/usb/usb_device.o - 0x00002020 udd_set_address + 0x000020b4 0x6 src/ASF/xmega/drivers/usb/usb_device.o + 0x000020b4 udd_set_address .text.udd_getaddress - 0x00002026 0x6 src/ASF/xmega/drivers/usb/usb_device.o - 0x00002026 udd_getaddress + 0x000020ba 0x6 src/ASF/xmega/drivers/usb/usb_device.o + 0x000020ba udd_getaddress .text.udd_set_setup_payload - 0x0000202c 0xe src/ASF/xmega/drivers/usb/usb_device.o - 0x0000202c udd_set_setup_payload + 0x000020c0 0xe src/ASF/xmega/drivers/usb/usb_device.o + 0x000020c0 udd_set_setup_payload .text.udd_ep_alloc - 0x0000203a 0xa2 src/ASF/xmega/drivers/usb/usb_device.o - 0x0000203a udd_ep_alloc + 0x000020ce 0xa2 src/ASF/xmega/drivers/usb/usb_device.o + 0x000020ce udd_ep_alloc .text.udd_ep_is_halted - 0x000020dc 0xe src/ASF/xmega/drivers/usb/usb_device.o - 0x000020dc udd_ep_is_halted + 0x00002170 0xe src/ASF/xmega/drivers/usb/usb_device.o + 0x00002170 udd_ep_is_halted .text.udd_ep_clear_halt - 0x000020ea 0x32 src/ASF/xmega/drivers/usb/usb_device.o - 0x000020ea udd_ep_clear_halt + 0x0000217e 0x32 src/ASF/xmega/drivers/usb/usb_device.o + 0x0000217e udd_ep_clear_halt .text.udd_ep_run - 0x0000211c 0x118 src/ASF/xmega/drivers/usb/usb_device.o - 0x0000211c udd_ep_run + 0x000021b0 0x118 src/ASF/xmega/drivers/usb/usb_device.o + 0x000021b0 udd_ep_run .text.udd_ep_abort - 0x00002234 0x60 src/ASF/xmega/drivers/usb/usb_device.o - 0x00002234 udd_ep_abort + 0x000022c8 0x60 src/ASF/xmega/drivers/usb/usb_device.o + 0x000022c8 udd_ep_abort .text.udd_ep_free - 0x00002294 0x12 src/ASF/xmega/drivers/usb/usb_device.o - 0x00002294 udd_ep_free + 0x00002328 0x12 src/ASF/xmega/drivers/usb/usb_device.o + 0x00002328 udd_ep_free .text.udd_ep_set_halt - 0x000022a6 0x20 src/ASF/xmega/drivers/usb/usb_device.o - 0x000022a6 udd_ep_set_halt + 0x0000233a 0x20 src/ASF/xmega/drivers/usb/usb_device.o + 0x0000233a udd_ep_set_halt .text.__vector_125 - 0x000022c6 0x16c src/ASF/xmega/drivers/usb/usb_device.o - 0x000022c6 __vector_125 + 0x0000235a 0x16c src/ASF/xmega/drivers/usb/usb_device.o + 0x0000235a __vector_125 .text.__vector_126 - 0x00002432 0x1a4 src/ASF/xmega/drivers/usb/usb_device.o - 0x00002432 __vector_126 + 0x000024c6 0x1a4 src/ASF/xmega/drivers/usb/usb_device.o + 0x000024c6 __vector_126 .text.libgcc.div - 0x000025d6 0x28 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_udivmodhi4.o) - 0x000025d6 __udivmodhi4 - .text.libgcc 0x000025fe 0xc c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_tablejump2.o) - 0x000025fe __tablejump2__ + 0x0000266a 0x28 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_udivmodhi4.o) + 0x0000266a __udivmodhi4 + .text.libgcc 0x00002692 0xc c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_tablejump2.o) + 0x00002692 __tablejump2__ .text.avr-libc - 0x0000260a 0x12 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/../../../../avr/lib/avrxmega2\libc.a(memcpy.o) - 0x0000260a memcpy - 0x0000261c . = ALIGN (0x2) + 0x0000269e 0x12 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/../../../../avr/lib/avrxmega2\libc.a(memcpy.o) + 0x0000269e memcpy + 0x000026b0 . = ALIGN (0x2) *(.fini9) - .fini9 0x0000261c 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_exit.o) - 0x0000261c _exit - 0x0000261c exit + .fini9 0x000026b0 0x0 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_exit.o) + 0x000026b0 _exit + 0x000026b0 exit *(.fini9) *(.fini8) *(.fini8) @@ -876,11 +880,11 @@ END GROUP *(.fini1) *(.fini1) *(.fini0) - .fini0 0x0000261c 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_exit.o) + .fini0 0x000026b0 0x4 c:/program files (x86)/atmel/studio/7.0/toolchain/avr8/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.9.2/avrxmega2\libgcc.a(_exit.o) *(.fini0) - 0x00002620 _etext = . + 0x000026b4 _etext = . -.data 0x00802000 0xc0 load address 0x00002620 +.data 0x00802000 0xc0 load address 0x000026b4 0x00802000 PROVIDE (__data_start, .) *(.data) *(.data*) @@ -991,8 +995,8 @@ END GROUP COMMON 0x00802c56 0x6 src/ASF/common/services/sleepmgr/xmega/sleepmgr.o 0x00802c56 sleepmgr_locks 0x00802c5c PROVIDE (__bss_end, .) - 0x00002620 __data_load_start = LOADADDR (.data) - 0x000026e0 __data_load_end = (__data_load_start + SIZEOF (.data)) + 0x000026b4 __data_load_start = LOADADDR (.data) + 0x00002774 __data_load_end = (__data_load_start + SIZEOF (.data)) .noinit 0x00802c5c 0x0 [!provide] PROVIDE (__noinit_start, .) diff --git a/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.srec b/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.srec index c9fab140..46b1a221 100644 --- a/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.srec +++ b/AVR Code/USB_BULK_TEST/Release/USB_BULK_TEST.srec @@ -1,624 +1,634 @@ S01500005553425F42554C4B5F544553542E73726563F9 -S11300001DC1000037C1000035C1000033C100002C -S113001031C100002FC10000E8C5000035C6000052 -S113002029C1000078C6000025C1000023C10000DA -S113003021C100001FC100001DC100001BC1000040 -S113004019C1000017C1000015C1000013C1000050 -S113005011C100000FC100000DC100000BC1000060 -S11300605CC7000007C1000005C1000003C1000017 -S113007001C10000FFC00000FDC00000FBC0000083 -S1130080F9C00000F7C00000F5C00000F3C0000094 -S1130090F1C00000EFC00000EDC00000EBC00000A4 -S11300A0E9C00000E7C00000E5C00000E3C00000B4 -S11300B0E1C00000DFC00000DDC00000DBC00000C4 -S11300C0D9C00000D7C00000D5C00000D3C00000D4 -S11300D0D1C00000CFC00000CDC00000CBC00000E4 -S11300E0C9C00000C7C00000C5C00000C3C00000F4 -S11300F0C1C00000BFC00000BDC00000BBC0000004 -S1130100B9C00000B7C00000B5C00000B3C0000013 -S1130110B1C00000AFC00000ADC00000ABC0000023 -S1130120A9C00000A7C00000A5C00000A3C0000033 -S1130130A1C000009FC000009DC000009BC0000043 -S113014099C0000097C0000095C000005DC6000083 -S113015091C000008FC000008DC000008BC0000063 -S113016089C0000087C0000085C0000083C0000073 -S113017081C000007FC000007DC000007BC0000083 -S113018079C0000077C0000075C0000073C0000093 -S113019071C000006FC000006DC000006BC00000A3 -S11301A069C0000067C0000065C0000063C00000B3 -S11301B061C000005FC000005DC000005BC00000C3 -S11301C059C0000057C0000055C0000053C00000D3 -S11301D051C000004FC000004DC000004BC00000E3 -S11301E049C0000047C0000045C0000043C00000F3 -S11301F041C000000C9463110C94191295019701ED -S113020099019B019D01A2019F01A101CB09CD0987 -S1130210F409270A300A350A860A8B0A490A530A5E -S1130220610A630A650A6F0A790A840A410A4B0A59 -S1130230550A630A650A670A710A7B0A11241FBEFC -S1130240CFEFCDBFDFE2DEBF10E2A0E0B0E2E0E23C -S1130250F6E202C005900D92A03CB107D9F72CE25A -S1130260A0ECB0E201C01D92AC35B207E1F73BD07F -S11302700C940E13C5CEE0E8F6E08FE0808385E0B1 -S11302808483089508954091C1202EEE32E0429F68 -S1130290C001439F900D112443E451E06AEF70E0E4 -S11302A08658994D0FC74091C1202EEE32E0429FEF -S11302B0C001439F900D112443E551E06AEF70E0C3 -S11302C08C58984D0BC74091C1202EEE32E0429FCE -S11302D0C001439F900D112443E651E06AEF70E0A2 -S11302E08259974D07C787E08093A20078943CD643 -S11302F0C9DFDBD7B2D0D5D060E080E07FD06BD04F -S11303008CE05FD046D5E0D5F9D5B5DFFFCF0895B1 -S11303100895E09100208E2F90E08830910590F4AC -S1130320FC01E250FF4F0C94FF1247D10BC0BED129 -S113033009C030D207C0ABD205C020D303C0B0D3AC -S113034001C025D49091C32081E0911180E0809375 -S1130350C120089581E08093C42043E451E06EEE0F -S113036072E08AE796E2AED643E551E06EEE72E0C3 -S113037084E797E2B3D643E651E06EEE72E08EE690 -S113038098E2B8D681E008951092C420089581E0DF -S1130390089581E0089510922002982F9C7193682B -S11303A09093200287FF03C090E182E002C090E0B6 -S11303B080E0892B8093210210922202109226025F -S11303C00895E0E0F2E010AA836880AB80E181AB9D -S11303D012AA16AA0895E0E0F2E010A683E880A726 -S11303E08FE281A712A616A60895AAECB1E092E0C6 -S11303F09C93E82FF0E084911C92089590917100F1 -S11304009D7F9093710010920002623011F09CE184 -S113041001C09EE19093010290E490930202811145 -S113042002C080E401C080EC80930302613011F0CB -S113043083E001C082E08093040280E2D6DF8093EF -S11304400C0281E2D2DF80930D0210921802109206 -S1130450190281E080930002BECFCF93DF93E0E7DF -S1130460F0E082818B7F8283C0E2D3E08DE08883D9 -S113047080E4898389E08A8383E3B7DF888782E322 -S1130480B4DF898787E3B1DF8A8786E3AEDF8B87B2 -S1130490E0E2F6E08081836080831482DF91CF9173 -S11304A00895E0E7F0E080818E7F808380E8809388 -S11304B000010895E0E0F1E0108A80E4808B10A24E -S11304C080A310AA80ABE0E4F1E010828083109254 -S11304D0C320089510920020EDDFE0E0F1E016AAB9 -S11304E094E290AB11AA49E542AB32E033AB6091A0 -S11304F002207091032064AB75AB6AE774E260AFCD -S113050071AF12AE8BE384AF83E080933D01109210 -S11305103E0120A9206820AB10924601A0E4B1E07E -S11305209C93109241014093420180934301409176 -S113053004205091052040934401509345014AE61C -S113054052E2409348015093490110924A0129E331 -S113055020934C0180934D0110924E012C91206800 -S11305602C93108A20E4208B24E0208B818B81E95A -S1130570828B80E1838B47E751E0448B558B908FCE -S1130580318F128E4091C3202EEE32E0429FC00183 -S1130590439F900D11248658994D848F4091C32018 -S11305A0429FC001439F900D11248658994D958F09 -S11305B0168E80898068808B08950895CF93DF9389 -S11305C081E08093002076DFE0E0F1E010AA80E48F -S11305D080AB94E090AB11AA12AA5BE453AB14AACB -S11305E015AA16AA21E030E220AF31AF12AE40EADC -S11305F044AF38E030933D0110923E0180A9806AF7 -S113060080AB85E58093A00810924601A0E4B1E098 -S1130610C4E2CC931092410189E58093420182E0C7 -S11306208093430160910220709103206093440100 -S1130630709345016AE774E260934801709349013D -S113064010924A012BE320934C0163E060934D0127 -S113065010924E012C9120682C93908B618BA1E910 -S1130660A28B20E1238B67E771E0648B758BC08FCD -S1130670818F128ECAE7D6E2C48FD58F168E208959 -S11306802068208B90A381A3A2A353A364A375A382 -S113069040A731A712A681EF97E284A795A716A6D3 -S11306A080A1806880A3DF91CF9108950895CF93AE -S11306B0C2E0C0930020FEDEE0E0F1E016AA94E27E -S11306C090AB11AA39E532AB83E083AB40910420AF -S11306D05091052044AB55AB4AE652E240AF51AFCE -S11306E012AE29E324AF80933D0110923E0120A96C -S11306F0206820AB10924601A0E4B1E09C931092D4 -S1130700410130934201C093430120910220309172 -S1130710032020934401309345012AE734E22093D7 -S113072048013093490110924A012BE320934C0174 -S113073080934D0110924E012C9120682C9354E02B -S1130740508B818B41E9428B80E1838B27E731E039 -S1130750248B358B908FC18F128E8AE796E2848F1B -S1130760958F168E80898068808B50A3C1A342A385 -S113077082E183A324A335A384E380A7C1A712A69F -S113078081EF97E284A795A716A680A1806880A32D -S1130790CF9108950895CF93C3E0C09300208ADEDB -S11307A0E0E0F1E010A250E450A344E040A311A221 -S11307B012A23BE433A314A215A216A281E090E294 -S11307C080A791A712A620EA24A798E095A716A6C9 -S11307D080A1806A80A385E58093A00816AA74E2AC -S11307E070AB11AA69E562AB82E083ABA0910220F1 -S11307F0B0910320A4ABB5ABAAE7B4E2A0AFB1AF0C -S113080012AE8BE384AFC0933D0110923E0180A9E8 -S1130810806880AB10924601A0E4B1E07C93109212 -S1130820410160934201C09343016091042070919F -S1130830052060934401709345016AE672E2609377 -S113084048017093490110924A0189E380934C0155 -S1130850C0934D0110924E018C9180688C93108A44 -S1130860508B408BC18B81E9828B338B47E751E0FE -S1130870448B558B208F918F128E8AE796E2848F5A -S1130880958F168E80898068808BCF910895089506 -S1130890CF93C4E0C09300200DDEE0E0F1E010A2AD -S11308A020E420A3C0A311A212A24BE443A314A2E8 -S11308B015A216A281E090E280A791A712A670EA81 -S11308C074A788E085A716A690A1906A90A316AA9B -S11308D094E290AB11AA99E592AB92E093ABA0910C -S11308E00220B0910320A4ABB5ABAAE7B4E2A0AF59 -S11308F0B1AF12AE9BE394AF93E090933D0110929D -S11309003E0130A9306830AB108A208BC08B918BAC -S113091061E9628B438B47E751E0448B558B708FC1 -S1130920818F128EAAE7B6E2A48FB58F168E308916 -S11309303068308BE0E4F1E010822083C083909330 -S11309404101609342019AE490934301409344012E -S11309505093450193EC9093480180934901109280 -S11309604A0181EF97E280934C0190934D011092DC -S11309704E01808180688083CF910895089585E039 -S11309808093002097DDE0E0F1E016AA34E230AB7A -S113099011AA29E522AB83E083AB40910420509156 -S11309A0052044AB55AB4AE652E240AF51AF12AE1C -S11309B099E394AF80933D0110923E0190A9906811 -S11309C090AB10924601E0E4F1E0308310924101D3 -S11309D0209342018093430120910420309105200B -S11309E020934401309345012AE734E220934801DF -S11309F03093490110924A019BE390934C018093F8 -S1130A004D0110924E01808180688083089586E0B4 -S1130A10809300204FDDE0E0F1E016AA34E230AB31 -S1130A2011AA29E522AB83E083AB409104205091C5 -S1130A30052044AB55AB4AE652E240AF51AF12AE8B -S1130A4099E394AF80933D0110923E0190A9906880 -S1130A5090AB10924601E0E4F1E030831092410142 -S1130A602093420192E0909343012091022030911F -S1130A70032020934401309345012AE734E2209374 -S1130A8048013093490110924A019BE390934C0131 -S1130A9080934D0110924E01808180688083089577 -S1130AA0E0E0F1E0108A80E4808B84E0808B118A9E -S1130AB081E9828B80E1838B2EEE32E0248B358BAF -S1130AC084E2808F82E0818F128E4091C320429F06 -S1130AD0C001439F900D11248658994D848F4091F5 -S1130AE0C320429FC001439F900D11248658994D05 -S1130AF0958F168E80898068808B089587E0809317 -S1130B000020D8DCE0E0F1E016AA34E230AB11AA10 -S1130B1029E522AB83E083AB40910420509105206A -S1130B2044AB55AB4AE652E240AF51AF12AE99E343 -S1130B3094AF80933D0110923E0190A9906890ABD0 -S1130B4010924601E0E4F1E03083109241012093D9 -S1130B50420192E0909343012091022030910320BE -S1130B6020934401309345012AE734E2209348015D -S1130B703093490110924A019BE390934C01809376 -S1130B804D0110924E018081806880830895E0E0D9 -S1130B90F1E0108A80E4808B85E0808B118A81E902 -S1130BA0828B80E1838B2EEE32E0248B358B84E2C2 -S1130BB0808F82E0818F128E4091C320429FC001BA -S1130BC0439F900D11248658994D848F4091C320E2 -S1130BD0429FC001439F900D11248658994D958FD3 -S1130BE0168E80898068808B08951F920F920FB6AD -S1130BF00F9211242F933F934F938F939F9381E0F0 -S1130C008093030180910020823051F028F48823DE -S1130C1039F0813029F02EC0833011F0843051F541 -S1130C2087E791E080931401909315014091C320CC -S1130C302EEE32E0429FC001439F900D112486584E -S1130C40994D80931C014091C320429FC001439F52 -S1130C50900D11248658994D90931D018091100197 -S1130C608068809310019091C32081E0911180E00D -S1130C708093C3209F918F914F913F912F910F901B -S1130C800FBE0F901F9018951F920F920FB60F92E0 -S1130C9011242F933F934F938F939F9382E08093DC -S1130CA0030180910020813011F0823051F587E7F3 -S1130CB091E080932401909325014091C2202EEE6F -S1130CC032E0429FC001439F900D11248F50984DF4 -S1130CD080932C014091C220429FC001439F900DFC -S1130CE011248F50984D90932D018091200180689C -S1130CF0809320019091C22081E0911180E0809343 -S1130D00C2209F918F914F913F912F910F900FBED1 -S1130D100F901F9018951F920F920FB60F921124E7 -S1130D202F933F934F938F939F9387E791E0809303 -S1130D304401909345014091C2202EEE32E0429F3F -S1130D40C001439F900D11248F50984D80934C0106 -S1130D504091C220429FC001439F900D11248F50A7 -S1130D60984D90934D01809140018068809340019B -S1130D709091C22081E0911180E08093C2209F91E4 -S1130D808F914F913F912F910F900FBE0F901F9015 -S1130D901895E0E7F0E083818C7F838384818C7FE6 -S1130DA0848380818D7F8083E0E8F1E080EC82831E -S1130DB0128688EC81831186E0E0F8E034E0308329 -S1130DC023E02183148285ED91E086A397A3168204 -S1130DD0E0E4F8E030832183148286A397A316828B -S1130DE0E0E6F6E0808180618083E0E4F9E083E17D -S1130DF08183148281E0868328EB3BE026A337A31A -S1130E0010A611A6808308951F920F920FB60F9219 -S1130E1011242F933F934F935F938F939F93CF937B -S1130E20DF931F92CDB7DEB780910020873031F475 -S1130E3080912C02898390912D0202C090912C0202 -S1130E408091C020891B2091680930916909823002 -S1130E508CF0223B3B4070F4209168093091690981 -S1130E6089301CF481E090E002C086E090E0820FBB -S1130E70931F18C020916809309169098F3FB4F419 -S1130E802730310598F02091680930916909883F2D -S1130E901CF081E090E002C086E090E0A901481BCC -S1130EA0590BCA0180937809909379090F90DF91C7 -S1130EB0CF919F918F915F914F913F912F910F907F -S1130EC00FBE0F901F901895E0E7F0E083818F7EAE -S1130ED08383E0E4F6E080818A6480838FEF8483F7 -S1130EE088E5828B80E28687E0EAF8E084EC8583FB -S1130EF083E08683178288E184830895E0E7F0E045 -S1130F008381877F8383E0ECF8E080E4808383E05F -S1130F10818388E58093570608951F920F920FB638 -S1130F200F92112400000F900FBE0F901F90189580 -S1130F309FB7F894A0E5B0E016968C911697897F38 -S1130F4016968C931697E0E6F0E080E885838BEBA9 -S1130F50868316968C911697846016968C9380815E -S1130F60816080839FBF0895CF93DF9300D000D02A -S1130F70CDB7DEB78FEF80937000809371008093BC -S1130F807200809373008093740080937500809343 -S1130F90760064E081E490E00DD56CE170E082E0DD -S1130FA00FD58C836DE170E082E00AD58B838B8151 -S1130FB09C81019621F480E493E28B839C838B8152 -S1130FC09C8189839A83809362008A8180936300E1 -S1130FD09FB7F894809150008260809350009FBF27 -S1130FE08091510081FFFCCFA3DF61E080E490E0B9 -S1130FF0E1D49FB7F894809150008E7F8093500085 -S11310009FBF2496CDBFDEBFDF91CF9108959FB7D8 -S1131010F894E82FF0E0E059FF4F60958081682351 -S113102060839FBF0895CF93863011F0C0E001C064 -S1131030C8E18091510081FD0DC09FB7F894809163 -S113104050008260809350009FBF8091510081FFC7 -S1131050FCCF6EDF6C2F636084E490E0ABD460E47B -S113106080E0CF91D4CF8091C52008958091C52090 -S1131070813009F489C9089513D1FC0183818093D7 -S1131080C520811101C066C981E0089590916A2448 -S1131090892F807697FF07C0803491F480916B2468 -S11310A081110EC076C9803459F480916B2481116A -S11310B007C08091702490917124892B09F067C92D -S11310C080E008950F931F939B018A01AC0160E0B7 -S11310D081E80E948E101F910F9108950F931F9322 -S11310E09B018A01AC0160E082E80E948E101F918E -S11310F00F9108950F931F939B018A01AC0160E047 -S113110083E80E948E101F910F91089580916C24A2 -S11311108F7786C79091CC20911102C080E008950A -S1131120E091CA20F091CB200190F081E02D9481D0 -S11311308917A0F7E093C820F093C9202281338156 -S11311402E0F3F1FE217F30798F49181943061F456 -S11311509281891309C09381691306C0E093C82062 -S1131160F093C92081E008959081E90FF11DEACF41 -S1131170E093C820F093C920D1CFE091CA20F09128 -S1131180CB200190F081E02D228133812E0F3F1F6F -S1131190FC014081E40FF11DE217F30748F481815B -S11311A0843031F0853039F08081E80FF11DF4CFBF -S11311B080E090E00895CF0108951F93CF93DF93CB -S11311C0182FA8DF882339F1C091C820D091C920F5 -S11311D0CE01D3DFEC01892B41F04C815D816B8121 -S11311E08A812BD78111F4CF16C0E091CA20F091E7 -S11311F0CB2092818381E92FF82FE10FF11DE10FBC -S1131200F11D0190F081E02D0190F081E02DDF913E -S1131210CF911F91099480E0DF91CF911F910895A0 -S1131220EF92FF921F93CF93DF93C82F60E072DF9A -S1131230811102C010E02DC0E091CA20F091CB20B2 -S113124092818381E92FF82FEC0FF11DEC0FF11D32 -S1131250E080F180D7011696ED91FC9117970995DE -S1131260682F8C2F57DF182F882321F3C091C820B3 -S1131270D091C920CE0181DFEC01892B21F08A8134 -S11312800E944A11F7CFD7011296ED91FC91139762 -S11312900995812FDF91CF911F91FF90EF900895D1 -S11312A08091C8209091C920089542C6CF9380911F -S11312B0CC20811108C01092CC201092D020109222 -S11312C0D120CF910895C0E0E091CA20F091CB20C5 -S11312D00190F081E02D8481C81768F78C2FA0DF7E -S11312E0CF5FF2CFCF938091CC208823F1F0C0E080 -S11312F0E091CA20F091CB20A081B18114968C9109 -S1131300C81798F492818381E92FF82FEC0FF11D0F -S1131310EC0FF11D0190F081E02D0084F185E02DAA -S1131320309709F00995CF5FE3CFCF910895EF92FD -S1131330FF920F931F93CF93DF931F92CDB7DEB726 -S113134010927424109275241092762410927724AB -S1131350109278241092792480916A2487FF07C020 -S11313602091702430917124232B09F41AC3982FEF -S11313709076903409F0D6C0E0916B248E2F90E0E3 -S1131380FC01E05AF109E830F10508F099C2EA5F7E -S1131390FE4F0C94FF12000002C3109200088091CB -S11313A06C2490916D248093360890933708809133 -S11313B06E248F7080930008609170247091712462 -S11313C08AE692E233D62091042030910520809160 -S11313D07024909171242817390709F4E0C280938E -S11313E004209093052026C01092400880916C241C -S11313F090916D24809376089093770880916E2461 -S11314008F708093400860917024709171248AE7F2 -S113141094E20CD620910220309103208091702414 -S1131420909171242817390709F4B9C280930220D6 -S113143090930320E09100208E2F90E08830910556 -S113144008F0ADC2FC01E25FFE4F0C94FF12109253 -S113145068091092690980916C248093C0209FC20E -S113146080916C24809324069AC2E0916C24F091BC -S11314706D24E830F10508F023C2EA5EFE4F0C94B7 -S1131480FF1260E080E00E94FE0180916E240E94C1 -S1131490CB0120D884C260E080E00E94FE018091EC -S11314A06E240E94CB018AD87AC261E081E00E9456 -S11314B0FE0180916E240E94CB0180916F240E94D2 -S11314C0E101F5D86CC267D96AC2E2D968C260E0AA -S11314D080E00E94FE0180916E240E94CB014FDACD -S11314E05EC261E080E00E94FE0180916E240E9451 -S11314F0CB018DDA54C262E080E00E94FE0180914B -S11315006E2480680E94CB01F9DA49C280916C2470 -S11315108093840644C2E9E7F0E091E088EDF89412 -S113152084BF90839111CCC187FFFDC020917024AA -S1131530309171242115310509F4C2C18F7109F06C -S11315409FC080916B24863071F0883009F48EC07E -S11315508111B6C12230310509F0B2C162E070E0F8 -S113156080ED90E28BC080916C2490916D24292FA2 -S1131570332722303105A1F064F42130310509F01C -S11315809FC18091102090911120DC016C9170E03A -S11315905BC02330310589F12F30310509F190C149 -S11315A0E0911020F09111202189821708F088C160 -S11315B09927880F991F880F991FE0911220F091A5 -S11315C01320E80FF91F80819181FC0162817381EE -S11315D02DD5E0917224F091732482E0818335C08B -S11315E08091142090911520009709F469C1DC01C1 -S11315F012966D917C91139727C09927813091059C -S113160069F038F0029709F05BC168E18AE890E27A -S113161008C064E070E08EEA90E216C069E083EAF4 -S113162090E2282FAAE5B0E2FC01819190E08D932D -S11316309D938E2F821B8617C0F3660F6E5F609397 -S1131640582070E088E590E2F1D480917024909164 -S1131650712420917424309175248217930708F023 -S11316609EC1809374249093752499C121303105CF -S113167009F026C161E070E08CEC90E2D7D48FC110 -S11316808130C9F580916B248A3009F019C1213069 -S1131690310509F015C18091CC20882309F410C1CB -S11316A0E0906E24F0906F240091CA201091CB201A -S11316B0D801ED91FC918481E81608F001C160E045 -S11316C08E2D28DD882309F4FBC0FF24EE0CFF1CBB -S11316D0F801828193818E0D9F1DDC01ED91FC91B7 -S11316E00680F781E02D09958093CE2061E070E0BB -S11316F08EEC90E2C3CF823009F0E2C080916B247B -S11317008111DEC02230310509F0DAC080916E24E7 -S1131710E5D490E08093C6209093C72062E070E007 -S113172086EC90E2ABCF8F7109F07DC080916B2481 -S1131730833009F4C5C018F48130A1F0C1C08530EC -S113174019F0893039F1BCC08091702490917124D2 -S1131750892B09F0B5C086E898E0809376249093AD -S113176077241DC18091702490917124892B09F0F4 -S1131770A7C080916C2490916D24019709F0A0C0BA -S11317808091D0209091D1208D7F8093D020909310 -S1131790D12005C18091702490917124892B09F086 -S11317A08FC041D4882309F48BC020916C243091DC -S11317B06D243327E0911020F0911120818990E06D -S11317C08217930708F47CC071DD80916C2490919A -S11317D06D248093CC20882309F4E1C0992781509B -S11317E0904C880F991F880F991F209112203091D7 -S11317F01320820F931F8093CA209093CB2010E074 -S1131800E091CA20F091CB200190F081E02D8481F9 -S1131810181708F0C4C060E0812FCFDC882309F4D6 -S11318204FC01F5FEDCF8130F1F480916B248B307A -S113183009F046C08091702490917124892B09F09D -S11318403FC08091CC20882309F43AC010916E24C3 -S113185060916C24812F6983E3DC6981882381F1A1 -S1131860812FABDC2BC0823059F580916B24813001 -S113187019F0833089F024C08091702490917124F0 -S1131880892BF1F480916C2490916D24892BC1F4FF -S113189080916E242AD412C0809170249091712476 -S11318A0892B71F480916C2490916D24892B41F4DF -S11318B080916E24BFD480916E24F5D481116FC0C1 -S11318C080916A248F718130B9F58091CC2088236E -S11318D099F1E0906E24F0906F240091CA20109149 -S11318E0CB20D801ED91FC918481E81628F560E0C5 -S11318F08E2D10DC882301F1F701FF27EE0FFF1F67 -S1131900D80112968D919C911397E80FF91F0081CD -S11319101181D8011696ED91FC9117970995682FBE -S11319208E2DF8DB882341F0D8011496ED91FC91BB -S113193015970995811133C080916A248F71823083 -S113194081F58091CC20882361F1F12CE091CA20AB -S1131950F091CB20A081B18114968C91F81608F5F2 -S113196092818381E92FF82FEF0DF11DEF0DF11D09 -S113197000811181D8011696ED91FC911797099574 -S1131980682F8F2DC7DB882361F0D8011496ED9161 -S1131990FC9115970995811102C0F394D7CF81E08A -S11319A001C080E00F90DF91CF911F910F91FF90C4 -S11319B0EF9008951BBEFC0128ED24BF60830895B9 -S11319C04091CA01E62FF72F8093CA018491409376 -S11319D0CA010895E82FF0E0EA5AF34D80818F3F61 -S11319E009F4FFCF9FB7F89480818F5F80839FBFF6 -S11319F00895E82FF0E0EA5AF34D8081811101C087 -S1131A00FFCF9FB7F8948081815080839FBF089552 -S1131A10CF93C82F80916422C11105C0882339F067 -S1131A2081E0E7DF04C0811102C081E0D3DFC0930D -S1131A306422CF910895282F2F70082E000C990B43 -S1131A40392F331F3327331F832F90E0820F911DCB -S1131A50820F911D23E0880F991F2A95E1F7805E7C -S1131A609D4D08950F93E8ECF4E080818F7D808391 -S1131A7080818F7D8083E8E2F2E202E00593109298 -S1131A802A2210922B2200E2069300E40693E0E25D -S1131A90F2E200E2069300E40693EAE6F4E2148636 -S1131AA01586168617861286138610920D220F91BC -S1131AB008950F9385E080930D22E9E2F2E204E0B9 -S1131AC00593E1E2F2E204E005930F9108950F9388 -S1131AD083E080930D2210922A2210922B22E8E2B6 -S1131AE0F2E202E006930F910895E0917624F091DA -S1131AF07724309709F009940895282F2F70082E21 -S1131B00000C990B392F331F3327331F832F90E099 -S1131B10820F911D820F911D029749E0489F900109 -S1131B20499F300D1124C9018D569E4D08958F9201 -S1131B309F92AF92BF92DF92EF92FF920F931F9307 -S1131B40CF93DF93D82ED9DFEC018D2D74DF7C0188 -S1131B50DC011196EC91E770E150E73040F4F0E0DD -S1131B60EE0FFF1FEE54FF4D0081118102C008E00B -S1131B7010E0ED81FE812B813C814881D701D7FEA5 -S1131B8048C016968D919C9117978E0F9F1F8D8339 -S1131B909E838217930761F1281B390B2115B4E04A -S1131BA03B0738F02FEF33E0C901B80114D5281BE7 -S1131BB0390B41FF0AC0C901B8010DD5AC0191E050 -S1131BC0452B09F090E0892F01C080E0988180FBCB -S1131BD091F99883F701168217822283338329812E -S1131BE03A818D819E81820F931F848395830EC0D9 -S1131BF041FF71C04D7F4883D70116961D921C92F8 -S1131C00179712961D921C921397F70102E0069300 -S1131C107BC01296AD90BC90139742FF10C0898090 -S1131C209A80C901B801D7D4B0E4DB9EB001112475 -S1131C306D567F4DAC01C4018E0F9F1FE6D48D817C -S1131C409E818A0D9B1D8D839E832B813C81281749 -S1131C50390710F42D833E83F70186819781A816F6 -S1131C60B906C9F58D819E8182179307A1F1281BBE -S1131C70390B2115F4E03F0710F02FEF33E0C901D1 -S1131C80B801A9D4281B390BD70112961D921C92B6 -S1131C9013972017310778F4888184608883B0E42F -S1131CA0DB9EC00111248D569F4DF70184839583DB -S1131CB006831783AACF49815A818D819E81840F1F -S1131CC0951FD70114968D939C93159716962D9373 -S1131CD03C9317979ACF888180FF16C08E7F8883A4 -S1131CE0EF81F885309781F06D817E814D2D80E004 -S1131CF0DF91CF911F910F91FF90EF90DF90BF90F4 -S1131D00AF909F908F900994DF91CF911F910F9185 -S1131D10FF90EF90DF90BF90AF909F908F900895C9 -S1131D200F93CF93DF9380910D22833029F4DDDE6E -S1131D30DF91CF910F9196CE2091092230910A2202 -S1131D40C0917424D0917524C21BD30B61F580918A -S1131D500B2290910C22820F931F80930B2290935D -S1131D600C2220917024309171242817390721F016 -S1131D708091D220882331F084E080930D22E0E228 -S1131D80F2E236C0E0917824F0917924309799F00A -S1131D900995882381F01092092210920A22C09199 -S1131DA07424D0917524C034D10528F01092D22027 -S1131DB0C0E4D0E003C081E08093D220C0932A2203 -S1131DC0D0932B228091092290910A22209172248F -S1131DD030917324280F391F20932C2230932D2205 -S1131DE0C80FD91FC0930922D0930A22E8E2F2E275 -S1131DF002E00693DF91CF910F9108950F93CF9353 -S1131E00DF931F92CDB7DEB78091CC0480FF65C00D -S1131E1021E02093CC0480E292E2FC0100E80693E6 -S1131E20E8E2F2E200E806932093CA04FC0100E130 -S1131E30069380910D22882329F08350823008F480 -S1131E4054DE10DE8091222290912322089709F01B -S1131E5046C088E0E9ECF1E2AAE6B4E201900D9212 -S1131E608A95E1F78091C80480628093C8048091C8 -S1131E70C80480628093C8045ADA811102C019DE52 -S1131E802EC090916A2497FF0EC010920B221092DC -S1131E900C221092092210920A2292E090930D22B1 -S1131EA089833EDF08C02091702430917124232B54 -S1131EB021F489830CDE898113C010920B221092C5 -S1131EC00C221092092210920A2291E090930D2282 -S1131ED0E0E2F2E202E0069303C080E001C081E0A8 -S1131EE00F90DF91CF910F910895CF93CFB7F894CE -S1131EF081E08EDDEAECF4E080E4808380E280839C -S1131F00E1ECF4E0808181608083A9ECB4E08C9101 -S1131F1082608C93E8ECF4E08081806480838C910F -S1131F2081608C93808180688083CFBFCF91089536 -S1131F30CF931092600080E376D88091C0048064CF -S1131F408093C00481E080936000CFB7F89480E070 -S1131F5090E0FC0123E0EE0FFF1F2A95E1F7E05F1C -S1131F60FD4D118A01968830910599F7809193214E -S1131F708E7F8093932180919C218E7F80939C21DE -S1131F808091A5218E7F8093A5218091AE218E7FA3 -S1131F908093AE218091B7218E7F8093B721809169 -S1131FA0C0218E7F8093C0216AE170E082E008DD69 -S1131FB08F3F09F48FE18093FA046BE170E082E0D3 -S1131FC0FFDC8F3F09F48FE18093FB048091C00410 -S1131FD083608093C0048091C00480688093C004AF -S1131FE08091C00480618093C00480E292E2809377 -S1131FF0C6049093C7048091C00480628093C00497 -S11320008FEF8093C5048091C80482608093C804D4 -S11320101092642285E0DEDC68DFCFBFCF910895A3 -S11320208093C30408958091C3040895EAE6F4E21A -S1132030808791876287738708950F931F93CF9347 -S1132040DF931F92CDB7DEB78A016983F4DCFC010C -S11320508181807C698181113AC06370613019F09B -S113206020F080E803C080EC01C080E40038110552 -S1132070E9F058F400321105A9F000341105A1F07B -S113208000311105C9F491E018C0011592E0190757 -S113209079F00F3F93E0190769F00115114061F4DD -S11320A095E00BC092E009C093E007C094E005C03E -S11320B096E003C097E001C090E0118226E02083FF -S11320C0982B918381818062818381E001C080E0CB -S11320D00F90DF91CF911F910F910895ACDCFC011B -S11320E0818182FB882780F90895CF93C82FA3DCD0 -S11320F0FC01818182FF0FC091819B7F91838C2F92 -S1132100FCDCFC01908190FF06C09E7F90830780D9 -S1132110F085E02D099581E0CF9108958F929F92EB -S1132120AF92BF92DF92EF92FF920F931F93CF93E0 -S1132130DF931F92CDB7DEB7D82E5A017901698398 -S1132140DCDC4C018D2D77DC9C01DC0111968C913B -S11321501197807C6981882309F45EC011968C9163 -S11321601197807C803C21F011968C9182FD54C0A3 -S11321709FB7F894F401808180FF02C09FBF4CC0D8 -S1132180816080839FBFF401A182B282E382F482E2 -S1132190158216820783108791E0611104C0E1144F -S11321A0F10409F090E0D4018C9190FB81F98B7FCC -S11321B08C93D7FE04C0F9011682178229C0D90175 -S11321C011968C911197807C803CC9F41196EC9106 -S11321D0E770E150E73040F4F0E0EE0FFF1FEE54FB -S11321E0FF4D6081718102C068E070E0C701F3D1E6 -S11321F0892B29F0F40180818E7F80830DC0D90161 -S113220012961D921C92139716961D921C92179764 -S11322108D2D8DDC81E001C080E00F90DF91CF91A6 -S11322201F910F91FF90EF90DF90BF90AF909F9020 -S11322308F900895EF92FF920F93CF93C82FFBDBFB -S11322407C018C2F5ADCDC01F70102E005939C91A0 -S113225090FF1BC09E7F9C931796ED91FC9118975D -S1132260309799F0D701C7FF05C016966D917C9100 -S1132270179704C012966D917C9113974C2F81E0AF -S1132280CF910F91FF90EF900994CF910F91FF9010 -S1132290EF900895CF93C82FCDDF8C2FCCDBFC01BA -S11322A01182CF9108950F93CF93C82FC4DBFC0103 -S11322B091819460918301E006938C2FBBDF81E0D0 -S11322C0CF910F9108951F920F920FB60F92112480 -S11322D00F932F933F934F935F936F937F938F93BA -S11322E09F93AF93BF93EF93FF938091CB0487FFAA -S11322F008C080E88093CA040E9472090E94890180 -S113230086C08091CB0482FF18C084E08093CA0405 -S11323108091282286FF7BC08091CC0481FD77C008 -S11323206DDD811174C080910D22813011F4CFDBF9 -S11323306EC0843009F06BC021C08091CB0481FF52 -S113234026C082E08093CA048091202286FF5FC069 -S11323508091CC0481FD5BC051DD811158C0809116 -S11323600D22823041F484E080930D22E0E2F2E217 -S113237002E006934CC0833009F049C0E9E2F2E27E -S113238004E00593E1E2F2E204E0059340C08091A9 -S1132390CB0484FF25C080E18093CA0481E04ADF36 -S11323A081E848DF82E046DF82E844DF0E94560984 -S11323B01092C3041092212296E09093202283E489 -S11323C080932122109229229093282280932922FB -S11323D089EC91E2809324229093252243DB17C059 -S11323E08091CB0486FF08C080E48093CA0480E017 -S11323F00FDB0E9487010BC08091CB0485FF07C0CF -S113240080E28093CA0481E003DB0E948801FF918B -S1132410EF91BF91AF919F918F917F916F915F9158 -S11324204F913F912F910F910F900FBE0F901F90DE -S113243018951F920F920FB60F9211240F931F93AA -S11324402F933F934F935F936F937F938F939F93B8 -S1132450AF93BF93CF93DF93EF93FF938091CC041B -S113246081FF1AC082E08093CC048091C5048195D9 -S1132470880FE0E2F2E2E81BF10920813181205269 -S1132480324283E0369527958A95E1F7822F869527 -S113249020FD06C0C0E005C0B1DC882319F386C066 -S11324A0C0E8C80F8C2FC7DAFC01208125FF7EC04D -S11324B000E20693C11174C080910D22843019F496 -S11324C014DBD0DA73C00091222210912322809170 -S11324D0742490917524C0910922D0910A229E01FE -S11324E0200F311F8217930718F48C010C1B1D0B4E -S11324F08091722490917324A80169EC71E28C0F8D -S11325009D1F83D0C00FD11FC0930922D0930A22EC -S11325100034110569F480910B2290910C228C0FE8 -S11325209D1F20917024309171248217930788F0A5 -S1132530C0937424D0937524E0917824F091792485 -S1132540309729F00995811102C0B3DA2FC0BFDAA0 -S11325502DC080917424909175248C179D07D9F413 -S1132560E0917824F0917924309779F309958823C0 -S113257061F320910B2230910C22809109229091D9 -S11325800A22820F931F80930B2290930C221092A5 -S1132590092210920A22E0E2F2E202E0069306C067 -S11325A0C03811F4BDDB02C08C2FC1DAFF91EF916A -S11325B0DF91CF91BF91AF919F918F917F916F9157 -S11325C05F914F913F912F911F910F910F900FBEEB -S11325D00F901F901895AA1BBB1B51E107C0AA1F9F -S11325E0BB1FA617B70710F0A61BB70B881F991FB0 -S11325F05A95A9F780959095BC01CD010895EE0FE9 -S1132600FF1F0590F491E02D0994FB01DC0102C049 -S113261001900D9241505040D8F70895F894FFCF9F -S1132620FF55800080003C08360846083308000047 -S11326304420162000001C201A200620090227002E -S113264001010080FA0904000003FFFFFF000705F1 -S113265081010001010705820100010107058301D1 -S1132660000101001201000200000040EB0300A081 -S1132670000201020001000000030000000000004D -S11326800000000000000000000000000000000046 -S11326900000000000000000000000000000000036 -S11326A000000000000000000000555342476F6224 -S11326B0696E6461722044756D6D79204465766934 -S11326C063650054617069725465636800000403B3 -S11326D00904100020004000800000010002FF03F4 +S113000025C100003FC100003DC100003BC100000C +S113001039C1000037C10000D7C5000033C6000055 +S113002078C60000B7C600002DC100002BC1000037 +S113003029C1000027C1000025C1000023C1000020 +S113004021C100001FC100001DC100001BC1000030 +S113005019C1000017C1000015C1000013C1000040 +S1130060A5C700000FC100000DC100000BC10000B6 +S113007009C1000007C1000005C1000003C1000060 +S113008001C10000FFC00000FDC00000FBC0000073 +S1130090F9C00000F7C00000F5C00000F3C0000084 +S11300A0F1C00000EFC00000EDC00000EBC0000094 +S11300B0E9C00000E7C00000E5C00000E3C00000A4 +S11300C0E1C00000DFC00000DDC00000DBC00000B4 +S11300D0D9C00000D7C00000D5C00000D3C00000C4 +S11300E0D1C00000CFC00000CDC00000CBC00000D4 +S11300F0C9C00000C7C00000C5C00000C3C00000E4 +S1130100C1C00000BFC00000BDC00000BBC00000F3 +S1130110B9C00000B7C00000B5C00000B3C0000003 +S1130120B1C00000AFC00000ADC00000ABC0000013 +S1130130A9C00000A7C00000A5C00000A3C0000023 +S1130140A1C000009FC000009DC00000A6C6000022 +S113015099C0000097C0000095C0000093C0000043 +S113016091C000008FC000008DC000008BC0000053 +S113017089C0000087C0000085C0000083C0000063 +S113018081C000007FC000007DC000007BC0000073 +S113019079C0000077C0000075C0000073C0000083 +S11301A071C000006FC000006DC000006BC0000093 +S11301B069C0000067C0000065C0000063C00000A3 +S11301C061C000005FC000005DC000005BC00000B3 +S11301D059C0000057C0000055C0000053C00000C3 +S11301E051C000004FC000004DC000004BC00000D3 +S11301F049C000000C94AD110C946312AC01AE0123 +S1130200B001B201B401B901B601B8010106010699 +S113021001060106010634060C060C06140A160A29 +S11302203D0A700A790A7E0AD00AD50A920A9D0A02 +S1130230AB0AAD0AAF0AB90AC30ACE0A8A0A950AFA +S11302409F0AAD0AAF0AB10ABB0AC50A11241FBE30 +S1130250CFEFCDBFDFE2DEBF10E2A0E0B0E2E4EB1F +S1130260F6E202C005900D92A03CB107D9F72CE24A +S1130270A0ECB0E201C01D92AC35B207E1F73BD06F +S11302800C945813BDCEE0E8F6E08FE0808385E05F +S11302908483089508954091C1202EEE32E0429F58 +S11302A0C001439F900D11244BE451E06AEF70E0CC +S11302B08658994D50C74091C1202EEE32E0429F9E +S11302C0C001439F900D11244BE551E06AEF70E0AB +S11302D08C58984D4CC74091C1202EEE32E0429F7D +S11302E0C001439F900D11244BE651E06AEF70E08A +S11302F08259974D48C787E08093A20078947DD6B1 +S1130300C9DF0E949E09C0D0E3D060E080E08DD0B8 +S113031079D08CE06DD07FD523D63AD6B4DF0000F7 +S113032000000000000000000000000000000000C9 +S113033000000000000000000000F1CF08950895BF +S1130340E09100208E2F90E08830910590F4FC011C +S1130350E250FF4F0C94491347D10BC0BED109C0E2 +S113036030D207C0ABD205C020D303C0C9D301C06B +S11303702AD49091C32081E0911180E08093C12020 +S1130380089581E08093C4204BE451E06EEE72E066 +S11303908AE796E2E0D64BE551E06EEE72E084E740 +S11303A097E2E5D64BE651E06EEE72E08EE698E217 +S11303B0EAD681E008951092C420089581E008955A +S11303C081E0089510922002982F9C719368909375 +S11303D0200287FF03C090E182E002C090E080E049 +S11303E0892B8093210210922202109226020895F2 +S11303F0E0E0F2E010AA836880AB80E181AB12AA4E +S113040016AA0895E0E0F2E010A683E880A78FE240 +S113041081A712A616A60895AAECB1E092E09C93D7 +S1130420E82FF0E084911C920895909171009D7FD3 +S11304309093710010920002623011F09CE101C0AF +S11304409EE19093010290E490930202811102C014 +S113045080E401C080EC80930302613011F083E0FA +S113046001C082E08093040280E2D6DF80930C0214 +S113047081E2D2DF80930D021092180210921902C9 +S113048081E080930002BECFCF93DF93E0E7F0E0FA +S113049082818B7F8283C0E2D3E08DE0888380E415 +S11304A0898389E08A8383E3B7DF888782E3B4DFC3 +S11304B0898787E3B1DF8A8786E3AEDF8B87E0E253 +S11304C0F6E08081836080831482DF91CF91089568 +S11304D0E0E7F0E080818E7F808380E880930001F4 +S11304E00895E0E0F1E0108A80E4808B10A280A3FC +S11304F010AA80ABE0E4F1E0108280831092C32064 +S1130500089510920020EDDFE0E0F1E016AA94E2F5 +S113051090AB11AA49E542AB32E033AB60910220C3 +S11305207091032064AB75AB6AE774E260AF71AF9E +S113053012AE8BE384AF83E080933D0110923E01C1 +S113054020A9206820AB10924601A0E4B1E09C935E +S11305501092410140934201809343014091042051 +S11305605091052040934401509345014AE652E2DC +S1130570409348015093490110924A0129E3209382 +S11305804C0180934D0110924E012C9120682C93C4 +S1130590108A20E4208B24E0208B818B81E9828BDC +S11305A080E1838B47E751E0448B558B908F318FEB +S11305B0128E4091C3202EEE32E0429FC001439F31 +S11305C0900D11248658994D848F4091C320429FE9 +S11305D0C001439F900D11248658994D958F168E16 +S11305E080898068808B08950895CF93DF9381E09C +S11305F08093002076DFE0E0F1E010AA80E480AB95 +S113060094E090AB11AA12AA5BE453AB14AA15AA06 +S113061016AA21E030E220AF31AF12AE40EA44AF77 +S113062038E030933D0110923E0180A9806A80AB8E +S113063085E58093A00810924601A0E4B1E0C4E2ED +S1130640CC931092410189E58093420182E080932A +S113065043016091022070910320609344017093E0 +S113066045016AE774E2609348017093490110926E +S11306704A012BE320934C0163E060934D011092F7 +S11306804E012C9120682C93908B618BA1E9A28B55 +S113069020E1238B67E771E0648B758BC08F818FBA +S11306A0128ECAE7D6E2C48FD58F168E20892068B1 +S11306B0208B90A381A3A2A353A364A375A340A7F3 +S11306C031A712A681EF97E284A795A716A680A169 +S11306D0806880A3DF91CF9108950895CF93C2E0FD +S11306E0C0930020FEDEE0E0F1E016AA94E290ABB5 +S11306F011AA39E532AB83E083AB409104205091D9 +S1130700052044AB55AB4AE652E240AF51AF12AEBE +S113071029E324AF80933D0110923E0120A9206873 +S113072020AB10924601A0E4B1E09C9310924101E9 +S113073030934201C0934301209102203091032061 +S113074020934401309345012AE734E22093480181 +S11307503093490110924A012BE320934C0180937A +S11307604D0110924E012C9120682C9354E0508B33 +S1130770818B41E9428B80E1838B27E731E0248B35 +S1130780358B908FC18F128E8AE796E2848F958F76 +S1130790168E80898068808B50A3C1A342A382E116 +S11307A083A324A335A384E380A7C1A712A681EF62 +S11307B097E284A795A716A680A1806880A3CF910D +S11307C008950895CF93C3E0C09300208ADEE0E04B +S11307D0F1E010A250E450A344E040A311A212A2FD +S11307E03BE433A314A215A216A281E090E280A7F1 +S11307F091A712A620EA24A798E095A716A680A19F +S1130800806A80A385E58093A00816AA74E270AB81 +S113081011AA69E562ABC3ABA0910420B091052095 +S1130820A4ABB5ABAAE6B2E2A0AFB1AF12AE89E316 +S113083084AFC0933D0110923E0180A9806880ABD3 +S113084010924601A0E4B1E07C93109241016093C0 +S1130850420182E080934301609102207091032061 +S113086060934401709345016AE774E26093480120 +S11308707093490110924A018BE380934C01C09319 +S11308804D0110924E018C9180688C93108A508B8C +S1130890408BC18B81E9828B338B47E751E0448BDA +S11308A0558B208F918F128E8AE796E2848F958FD5 +S11308B0168E80898068808BCF9108950895CF9398 +S11308C0C4E0C09300200DDEE0E0F1E010A280E47B +S11308D080A3C0A311A212A24BE443A314A215A2A5 +S11308E016A281E090E280A791A712A660EA64A70D +S11308F088E085A716A690A1906A90A395E59093A9 +S1130900A00810924601A0E4B1E094E29C931092F6 +S1130910410199E59093420192E090934301209123 +S113092002203091032020934401309345012AE7AB +S113093034E2209348013093490110924A019BE329 +S113094090934C0193E090934D0110924E012C91A1 +S113095020682C93C08B918B31E9328B438B47E712 +S113096051E0448B558B608F818F128E6AE776E25B +S1130970648F758F168E20892068208BC0AB91AB55 +S113098032AB9AE493AB44AB55AB93EC90AF81AFED +S113099012AE81EF97E284AF90933D0110923E0135 +S11309A080A9806880ABCF910895089585E08093F5 +S11309B0002097DDE0E0F1E016AA34E230AB11AAA2 +S11309C029E522AB83E083AB4091042050910520BC +S11309D044AB55AB4AE652E240AF51AF12AE99E395 +S11309E094AF80933D0110923E0190A9906890AB22 +S11309F010924601E0E4F1E030831092410120932B +S1130A0042018093430120910420309105202093DA +S1130A104401309345012AE734E22093480130939E +S1130A20490110924A019BE390934C0180934D013C +S1130A3010924E01808180688083089586E08093BF +S1130A4000204FDDE0E0F1E016AA94E290AB11AA99 +S1130A5039E532AB83E083AB40910420509105200B +S1130A6044AB55AB4AE652E240AF51AF12AE29E374 +S1130A7024AF80933D0110923E0120A9206820AB51 +S1130A8010924601A0E4B1E09C931092410130938E +S1130A90420132E0309343014091022050910320FF +S1130AA040934401509345014AE754E2409348017E +S1130AB05093490110924A012BE320934C018093F7 +S1130AC04D0110924E012C9120682C93108A20E441 +S1130AD0208B24E0208B818B81E9828B80E1838BC6 +S1130AE04EEE52E0448B558B908F318F128E8AE7F5 +S1130AF096E2848F958F168E80898068808B089506 +S1130B00089587E080930020ECDCE0E0F1E016AA91 +S1130B1094E290AB11AA39E532AB83E083AB409108 +S1130B2004205091052044AB55AB4AE652E240AF55 +S1130B3051AF12AE29E324AF80933D0110923E01E0 +S1130B4020A9206820AB10924601A0E4B1E09C9358 +S1130B50109241013093420132E0309343014091BD +S1130B6002205091032040934401509345014AE7E9 +S1130B7054E2409348015093490110924A012BE3F7 +S1130B8020934C0180934D0110924E012C912068CA +S1130B902C93108A20E4208B25E0208B818B81E923 +S1130BA0828B80E1838B4EEE52E0448B558B908F89 +S1130BB0318F128E8AE796E2848F958F168E808904 +S1130BC08068808B089508951F920F920FB60F923C +S1130BD011242F933F934F938F939F93AF93BF937E +S1130BE0EF93FF9381E080930301E09100208E2F27 +S1130BF090E088309105C0F5FC01EA5FFE4F0C944B +S1130C00491387E791E08093140190931501409173 +S1130C10C3202EEE32E008C02EEE32E02093140101 +S1130C20309315014091C320429FC001439F900D12 +S1130C3011248658994D80931C014091C320429FF2 +S1130C40C001439F900D11248658994D90931D0126 +S1130C50809110018068809310019091C32081E0FD +S1130C60911180E08093C320FF91EF91BF91AF91E8 +S1130C709F918F914F913F912F910F900FBE0F90A5 +S1130C801F9018951F920F920FB60F9211242F9355 +S1130C903F934F938F939F9382E0809303018091BE +S1130CA00020813011F0823051F587E791E0809384 +S1130CB02401909325014091C2202EEE32E0429F00 +S1130CC0C001439F900D11248F50984D80932C01A7 +S1130CD04091C220429FC001439F900D11248F5028 +S1130CE0984D90932D01809120018068809320017C +S1130CF09091C22081E0911180E08093C2209F9165 +S1130D008F914F913F912F910F900FBE0F901F9095 +S1130D1018951F920F920FB60F9211242F933F93A1 +S1130D204F938F939F9384E08093030187E791E02F +S1130D3080933401909335014091C2202EEE32E02D +S1130D40429FC001439F900D11248F50984D809372 +S1130D503C014091C220429FC001439F900D112449 +S1130D608F50984D90933D0180913001806880931D +S1130D7030019091C22081E0911180E08093C220E3 +S1130D809F918F914F913F912F910F900FBE0F9094 +S1130D901F9018951F920F920FB60F9211242F9344 +S1130DA03F934F938F939F9388E08093030187E74A +S1130DB091E080934401909345014091C2202EEE2E +S1130DC032E0429FC001439F900D11248F50984DF3 +S1130DD080934C014091C220429FC001439F900DDB +S1130DE011248F50984D90934D018091400180685B +S1130DF0809340019091C22081E0911180E0809322 +S1130E00C2209F918F914F913F912F910F900FBED0 +S1130E100F901F901895E0E7F0E083818C7F838327 +S1130E2084818C7F848380818D7F8083E0E8F1E0FE +S1130E3080EC8283128688EC81831186A0E0B8E07E +S1130E4034E03C9323E011962C93119714961C9252 +S1130E50149785ED91E096968D939C9397971696AB +S1130E601C921697E0E4F8E030832183148286A371 +S1130E7097A31682E0E6F6E0808180618083E0E457 +S1130E80F9E083E18183148282E08683A6A3B7A379 +S1130E9010A611A681E0808308951F920F920FB6C9 +S1130EA00F9211242F933F934F935F938F939F93AC +S1130EB0CF93DF931F92CDB7DEB78FEF80934C09AA +S1130EC080910020873031F480912C0289839091A5 +S1130ED02D0202C090912C028091C020891B209188 +S1130EE068093091690982308CF02A3F374070F4E8 +S1130EF0209168093091690989301CF481E090E0FF +S1130F0002C086E090E0820F931F18C02091680908 +S1130F10309169098F3FB4F42730310598F020915E +S1130F20680930916909883F1CF081E090E002C0B3 +S1130F3086E090E0A901481B590BCA018093780907 +S1130F40909379090F90DF91CF919F918F915F9149 +S1130F504F913F912F910F900FBE0F901F901895B6 +S1130F60E0E7F0E083818F7E8383E0E4F6E0808134 +S1130F708A6A80838FEF848388E5828BE0EAF8E0D5 +S1130F8084EC858383E08683178288E184830895D3 +S1130F90E0E7F0E08381877F8383E0ECF8E080E49E +S1130FA08083118288E58093550608951F920F92DD +S1130FB00FB60F92112400000F900FBE0F901F90D8 +S1130FC018959FB7F894A0E5B0E016968C91169703 +S1130FD0897F16968C931697E0E6F0E080E8858387 +S1130FE08BEB868316968C911697846016968C9359 +S1130FF08081816080839FBF0895CF93DF9300D069 +S113100000D0CDB7DEB78FEF80937000809371006E +S113101080937200809373008093740080937500B2 +S11310208093760064E081E490E00ED56CE170E09A +S113103082E010D58C836DE170E082E00BD58B8368 +S11310408B819C81019621F480E493E28B839C83C1 +S11310508B819C8189839A83809362008A818093A7 +S113106063009FB7F8948091500082608093500091 +S11310709FBF8091510081FFFCCFA3DF61E080E43A +S113108090E0E2D49FB7F894809150008E7F8093D3 +S113109050009FBF2496CDBFDEBFDF91CF9108954E +S11310A09FB7F894E82FF0E0E059FF4F60958081F6 +S11310B0682360839FBF0895CF93863011F0C0E00A +S11310C001C0C8E18091510081FD0DC09FB7F89423 +S11310D0809150008260809350009FBF80915100A6 +S11310E081FFFCCF6EDF6C2F636084E490E0ACD4AE +S11310F060E480E0CF91D4CF8091C52008958091A1 +S1131100C520813009F457C9089513D1FC018381A6 +S11311108093C520811101C034C981E00895909164 +S11311206A24892F807697FF07C0803491F48091D8 +S11311306B2481110EC044C9803459F480916B240E +S1131140811107C08091702490917124892B09F03A +S113115035C980E008950F931F939B018A01AC0168 +S113116060E081E80E94D8101F910F9108950F93B9 +S11311701F939B018A01AC0160E082E80E94D810B1 +S11311801F910F9108950F931F939B018A01AC0146 +S113119060E083E80E94D8101F910F910895809118 +S11311A06C248F7787C79091CC20911102C080E086 +S11311B00895E091CA20F091CB200190F081E02DB8 +S11311C094818917A0F7E093C820F093C920228165 +S11311D033812E0F3F1FE217F30798F49181943067 +S11311E061F49281891309C09381691306C0E09365 +S11311F0C820F093C92081E008959081E90FF11D82 +S1131200EACFE093C820F093C920D1CFE091CA205F +S1131210F091CB200190F081E02D228133812E0FBB +S11312203F1FFC014081E40FF11DE217F30748F46E +S11312308181843031F0853039F08081E80FF11DEF +S1131240F4CF80E090E00895CF0108951F93CF93E9 +S1131250DF93182FA8DF882339F1C091C820D091DB +S1131260C920CE01D3DFEC01892B41F04C815D8193 +S11312706B818A812CD78111F4CF16C0E091CA20EA +S1131280F091CB2092818381E92FF82FE10FF11D9A +S1131290E10FF11D0190F081E02D0190F081E02D2E +S11312A0DF91CF911F91099480E0DF91CF911F913D +S11312B00895EF92FF921F93CF93DF93C82F60E0BE +S11312C072DF811102C010E02DC0E091CA20F091BC +S11312D0CB2092818381E92FF82FEC0FF11DEC0FC5 +S11312E0F11DE080F180D7011696ED91FC911797DE +S11312F00995682F8C2F57DF182F882321F3C0916D +S1131300C820D091C920CE0181DFEC01892B21F0C6 +S11313108A810E949411F7CFD7011296ED91FC9126 +S113132013970995812FDF91CF911F91FF90EF9033 +S113133008958091C8209091C920089543C6CF9301 +S11313408091CC20811108C01092CC201092D02022 +S11313501092D120CF910895C0E0E091CA20F0917D +S1131360CB200190F081E02D8481C81768F78C2F81 +S1131370A0DFCF5FF2CFCF938091CC208823F1F010 +S1131380C0E0E091CA20F091CB20A081B1811496F5 +S11313908C91C81798F492818381E92FF82FEC0F70 +S11313A0F11DEC0FF11D0190F081E02D0084F18519 +S11313B0E02D309709F00995CF5FE3CFCF910895E1 +S11313C0EF92FF920F931F93CF93DF931F92CDB7AA +S11313D0DEB7109274241092752410927624109221 +S11313E07724109278241092792480916A2487FFBC +S11313F007C02091702430917124232B09F41BC35E +S1131400982F9076903409F0D7C0E0916B248E2FFA +S113141090E0FC01E05AF109E830F10508F09AC2C5 +S1131420E25FFE4F0C944913000003C310920008BE +S113143080916C2490916D248093360890933708A2 +S113144080916E248F708093000860917024709155 +S113145071248AE692E234D620910420309105204A +S113146080917024909171242817390709F4E1C2FE +S1131470809304209093052026C010924008809108 +S11314806C2490916D2480937608909377088091D2 +S11314906E248F7080934008609170247091712441 +S11314A08AE794E20DD620910220309103208091A6 +S11314B07024909171242817390709F4BAC28093D3 +S11314C0022090930320E09100208E2F90E088303A +S11314D0910508F0AEC2FC01EA5EFE4F0C9449137C +S11314E0109268091092690980916C248093C0203D +S11314F0A0C280916C24809324069BC2E0916C244A +S1131500F0916D24E830F10508F024C2E25EFE4F4C +S11315100C94491360E080E00E94150280916E24CF +S11315200E94E2010E94810284C260E080E00E9485 +S1131530150280916E240E94E20157D87AC261E0BC +S113154081E00E94150280916E240E94E201809144 +S11315506F240E94F801C2D86CC234D96AC2AFD9D0 +S113156068C260E080E00E94150280916E240E94AF +S1131570E2011CDA5EC261E080E00E941502809103 +S11315806E240E94E2015ADA54C262E080E00E94B2 +S1131590150280916E2480680E94E201B2DA49C289 +S11315A080916C248093840644C2E9E7F0E091E0E2 +S11315B088EDF89484BF90839111CCC187FFFDC05E +S11315C020917024309171242115310509F4C2C190 +S11315D08F7109F09FC080916B24863071F0883040 +S11315E009F48EC08111B6C12230310509F0B2C1AF +S11315F062E070E080ED90E28BC080916C24909169 +S11316006D24292F332722303105A1F064F42130D1 +S1131610310509F09FC18091102090911120DC01C7 +S11316206C9170E05BC02330310589F12F303105B6 +S113163009F190C1E0911020F091112021898217C5 +S113164008F088C19927880F991F880F991FE09186 +S11316501220F0911320E80FF91F80819181FC0181 +S1131660628173812DD5E0917224F091732482E01C +S1131670818335C08091142090911520009709F43E +S113168069C1DC0112966D917C91139727C099274B +S11316908130910569F038F0029709F05BC168E187 +S11316A08AE890E208C064E070E08EEA90E216C036 +S11316B069E083EA90E2282FAAE5B0E2FC01819177 +S11316C090E08D939D938E2F821B8617C0F3660F37 +S11316D06E5F6093582070E088E590E2F1D48091C9 +S11316E07024909171242091742430917524821770 +S11316F0930708F09EC1809374249093752499C134 +S11317002130310509F026C161E070E08CEC90E2F3 +S1131710D7D48FC18130C9F580916B248A3009F008 +S113172019C12130310509F015C18091CC208823DD +S113173009F410C1E0906E24F0906F240091CA2047 +S11317401091CB20D801ED91FC918481E81608F02A +S113175001C160E08E2D27DD882309F4FBC0FF243E +S1131760EE0CFF1CF801828193818E0D9F1DDC011C +S1131770ED91FC910680F781E02D09958093CE20B0 +S113178061E070E08EEC90E2C3CF823009F0E2C0F9 +S113179080916B248111DEC02230310509F0DAC05A +S11317A080916E24E5D490E08093C6209093C72066 +S11317B062E070E086EC90E2ABCF8F7109F07DC0FF +S11317C080916B24833009F4C5C018F48130A1F0F2 +S11317D0C1C0853019F0893039F1BCC080917024C2 +S11317E090917124892B09F0B5C08FEC98E0809317 +S11317F07624909377241DC1809170249091712454 +S1131800892B09F0A7C080916C2490916D240197D5 +S113181009F0A0C08091D0209091D1208D7F809339 +S1131820D0209093D12005C180917024909171248F +S1131830892B09F08FC041D4882309F48BC02091EF +S11318406C2430916D243327E0911020F091112005 +S1131850818990E08217930708F47CC070DD809141 +S11318606C2490916D248093CC20882309F4E1C0EA +S113187099278150904C880F991F880F991F2091A8 +S1131880122030911320820F931F8093CA209093CB +S1131890CB2010E0E091CA20F091CB200190F081A0 +S11318A0E02D8481181708F0C4C060E0812FCEDCDD +S11318B0882309F44FC01F5FEDCF8130F1F480918C +S11318C06B248B3009F046C0809170249091712470 +S11318D0892B09F03FC08091CC20882309F43AC0B9 +S11318E010916E2460916C24812F6983E2DC6981FC +S11318F0882381F1812FAADC2BC0823059F5809195 +S11319006B24813019F0833089F024C080917024D5 +S113191090917124892BF1F480916C2490916D2421 +S1131920892BC1F480916E242AD412C08091702432 +S113193090917124892B71F480916C2490916D2481 +S1131940892B41F480916E24BFD480916E24F5D408 +S113195081116FC080916A248F718130B9F58091B3 +S1131960CC20882399F1E0906E24F0906F240091AC +S1131970CA201091CB20D801ED91FC918481E81606 +S113198028F560E08E2D0FDC882301F1F701FF2795 +S1131990EE0FFF1FD80112968D919C911397E80FBB +S11319A0F91F00811181D8011696ED91FC911797CA +S11319B00995682F8E2DF7DB882341F0D801149602 +S11319C0ED91FC9115970995811133C080916A249A +S11319D08F71823081F58091CC20882361F1F12CC4 +S11319E0E091CA20F091CB20A081B18114968C9112 +S11319F0F81608F592818381E92FF82FEF0DF11D78 +S1131A00EF0DF11D00811181D8011696ED91FC9125 +S1131A1017970995682F8F2DC6DB882361F0D801AD +S1131A201496ED91FC9115970995811102C0F394D8 +S1131A30D7CF81E001C080E00F90DF91CF911F915B +S1131A400F91FF90EF9008951BBEFC0128ED24BF79 +S1131A50608308954091CA01E62FF72F8093CA014D +S1131A6084914093CA010895E82FF0E0EA5AF34DB7 +S1131A7080818F3F09F4FFCF9FB7F89480818F5FF7 +S1131A8080839FBF0895E82FF0E0EA5AF34D8081E8 +S1131A90811101C0FFCF9FB7F8948081815080836A +S1131AA09FBF0895CF93C82F80916422C11105C0B0 +S1131AB0882339F081E0E7DF04C0811102C081E0AE +S1131AC0D3DFC0936422CF910895282F2F70082E5E +S1131AD0000C990B392F331F3327331F832F90E0CA +S1131AE0820F911D820F911D23E0880F991F2A9563 +S1131AF0E1F7805E9D4D08950F93E8ECF4E080815A +S1131B008F7D808380818F7D8083E8E2F2E202E032 +S1131B10059310922A2210922B2200E2069300E4ED +S1131B200693E0E2F2E200E2069300E40693EAE6BA +S1131B30F4E214861586168617861286138610928A +S1131B400D220F9108950F9385E080930D22E9E211 +S1131B50F2E204E00593E1E2F2E204E005930F917E +S1131B6008950F9383E080930D2210922A221092FD +S1131B702B22E8E2F2E202E006930F910895E0914D +S1131B807624F0917724309709F009940895282F4A +S1131B902F70082E000C990B392F331F3327331F56 +S1131BA0832F90E0820F911D820F911D029749E0CF +S1131BB0489F9001499F300D1124C9018D569E4DB7 +S1131BC008958F929F92AF92BF92DF92EF92FF920D +S1131BD00F931F93CF93DF93D82ED9DFEC018D2D74 +S1131BE074DF7C01DC011196EC91E770E150E73081 +S1131BF040F4F0E0EE0FFF1FEE54FF4D0081118121 +S1131C0002C008E010E0ED81FE812B813C81488117 +S1131C10D701D7FE48C016968D919C9117978E0FC9 +S1131C209F1F8D839E838217930761F1281B390BB5 +S1131C302115B4E03B0738F02FEF33E0C901B801B8 +S1131C4014D5281B390B41FF0AC0C901B8010DD5B1 +S1131C50AC0191E0452B09F090E0892F01C080E0B0 +S1131C60988180FB91F99883F70116821782228369 +S1131C70338329813A818D819E81820F931F8483CE +S1131C8095830EC041FF71C04D7F4883D7011696DE +S1131C901D921C92179712961D921C921397F7018E +S1131CA002E006937BC01296AD90BC90139742FF5E +S1131CB010C089809A80C901B801D7D4B0E4DB9EF2 +S1131CC0B00111246D567F4DAC01C4018E0F9F1FCE +S1131CD0E6D48D819E818A0D9B1D8D839E832B81ED +S1131CE03C812817390710F42D833E83F701868140 +S1131CF09781A816B906C9F58D819E81821793072D +S1131D00A1F1281B390B2115F4E03F0710F02FEF48 +S1131D1033E0C901B801A9D4281B390BD7011296A5 +S1131D201D921C9213972017310778F488818460E0 +S1131D308883B0E4DB9EC00111248D569F4DF701CA +S1131D408483958306831783AACF49815A818D8121 +S1131D509E81840F951FD70114968D939C9315979C +S1131D6016962D933C9317979ACF888180FF16C0BF +S1131D708E7F8883EF81F885309781F06D817E8135 +S1131D804D2D80E0DF91CF911F910F91FF90EF9047 +S1131D90DF90BF90AF909F908F900994DF91CF9187 +S1131DA01F910F91FF90EF90DF90BF90AF909F90A5 +S1131DB08F9008950F93CF93DF9380910D228330FA +S1131DC029F4DDDEDF91CF910F9196CE2091092287 +S1131DD030910A22C0917424D0917524C21BD30B74 +S1131DE061F580910B2290910C22820F931F8093B6 +S1131DF00B2290930C222091702430917124281787 +S1131E00390721F08091D220882331F084E0809337 +S1131E100D22E0E2F2E236C0E0917824F0917924D8 +S1131E20309799F00995882381F010920922109235 +S1131E300A22C0917424D0917524C034D10528F0AD +S1131E401092D220C0E4D0E003C081E08093D2207D +S1131E50C0932A22D0932B228091092290910A22A6 +S1131E602091722430917324280F391F20932C223F +S1131E7030932D22C80FD91FC0930922D0930A2270 +S1131E80E8E2F2E202E00693DF91CF910F91089528 +S1131E900F93CF93DF931F92CDB7DEB78091CC041D +S1131EA080FF65C021E02093CC0480E292E2FC0133 +S1131EB000E80693E8E2F2E200E806932093CA04FD +S1131EC0FC0100E1069380910D22882329F08350C0 +S1131ED0823008F454DE10DE809122229091232275 +S1131EE0089709F046C088E0E9ECF1E2AAE6B4E21A +S1131EF001900D928A95E1F78091C80480628093E5 +S1131F00C8048091C80480628093C80459DA81119E +S1131F1002C019DE2EC090916A2497FF0EC0109261 +S1131F200B2210920C221092092210920A2292E0A3 +S1131F3090930D2289833EDF08C020917024309154 +S1131F407124232B21F489830CDE898113C0109220 +S1131F500B2210920C221092092210920A2291E074 +S1131F6090930D22E0E2F2E202E0069303C080E0E7 +S1131F7001C081E00F90DF91CF910F910895CF932D +S1131F80CFB7F89481E08EDDEAECF4E080E480835E +S1131F9080E28083E1ECF4E0808181608083A9ECBD +S1131FA0B4E08C9182608C93E8ECF4E080818064EE +S1131FB080838C9181608C93808180688083CFBF83 +S1131FC0CF910895CF931092600080E375D88091EB +S1131FD0C00480648093C00481E080936000CFB724 +S1131FE0F89480E090E0FC0123E0EE0FFF1F2A95B7 +S1131FF0E1F7E05FFD4D118A01968830910599F76C +S1132000809193218E7F8093932180919C218E7F58 +S113201080939C218091A5218E7F8093A52180911E +S1132020AE218E7F8093AE218091B7218E7F8093E5 +S1132030B7218091C0218E7F8093C0216AE170E036 +S113204082E008DD8F3F09F48FE18093FA046BE1AD +S113205070E082E0FFDC8F3F09F48FE18093FB04A2 +S11320608091C00483608093C0048091C004806820 +S11320708093C0048091C00480618093C00480E296 +S113208092E28093C6049093C7048091C004806256 +S11320908093C0048FEF8093C5048091C80482604C +S11320A08093C8041092642285E0DEDC68DFCFBF31 +S11320B0CF9108958093C30408958091C304089533 +S11320C0EAE6F4E2808791876287738708950F9325 +S11320D01F93CF93DF931F92CDB7DEB78A01698335 +S11320E0F4DCFC018181807C698181113AC06370D8 +S11320F0613019F020F080E803C080EC01C080E476 +S113210000381105E9F058F400321105A9F0003443 +S11321101105A1F000311105C9F491E018C00115B1 +S113212092E0190779F00F3F93E0190769F0011560 +S1132130114061F495E00BC092E009C093E007C040 +S113214094E005C096E003C097E001C090E01182DE +S113215026E02083982B918381818062818381E0B2 +S113216001C080E00F90DF91CF911F910F910895EE +S1132170ACDCFC01818182FB882780F90895CF9330 +S1132180C82FA3DCFC01818182FF0FC091819B7F5A +S113219091838C2FFCDCFC01908190FF06C09E7F14 +S11321A090830780F085E02D099581E0CF91089513 +S11321B08F929F92AF92BF92DF92EF92FF920F9312 +S11321C01F93CF93DF931F92CDB7DEB7D82E5A015A +S11321D079016983DCDC4C018D2D77DC9C01DC0109 +S11321E011968C911197807C6981882309F45EC0D3 +S11321F011968C911197807C803C21F011968C91E2 +S113220082FD54C09FB7F894F401808180FF02C01E +S11322109FBF4CC0816080839FBFF401A182B282C2 +S1132220E382F482158216820783108791E061119C +S113223004C0E114F10409F090E0D4018C9190FB06 +S113224081F98B7F8C93D7FE04C0F9011682178223 +S113225029C0D90111968C911197807C803CC9F4D6 +S11322601196EC91E770E150E73040F4F0E0EE0FA6 +S1132270FF1FEE54FF4D6081718102C068E070E081 +S1132280C701F3D1892B29F0F40180818E7F8083EB +S11322900DC0D90112961D921C92139716961D9289 +S11322A01C9217978D2D8DDC81E001C080E00F908A +S11322B0DF91CF911F910F91FF90EF90DF90BF902E +S11322C0AF909F908F900895EF92FF920F93CF93CA +S11322D0C82FFBDB7C018C2F5ADCDC01F70102E008 +S11322E005939C9190FF1BC09E7F9C931796ED9144 +S11322F0FC911897309799F0D701C7FF05C016963F +S11323006D917C91179704C012966D917C911397EF +S11323104C2F81E0CF910F91FF90EF900994CF91D2 +S11323200F91FF90EF900895CF93C82FCDDF8C2F9E +S1132330CCDBFC011182CF9108950F93CF93C82F6A +S1132340C4DBFC0191819460918301E006938C2F9E +S1132350BBDF81E0CF910F9108951F920F920FB6CA +S11323600F9211240F932F933F934F935F936F9387 +S11323707F938F939F93AF93BF93EF93FF9380913A +S1132380CB0487FF08C080E88093CA040E94BB097D +S11323900E94A00186C08091CB0482FF18C084E013 +S11323A08093CA048091282286FF7BC08091CC044C +S11323B081FD77C06DDD811174C080910D22813063 +S11323C011F4CFDB6EC0843009F06BC021C0809162 +S11323D0CB0481FF26C082E08093CA04809120222E +S11323E086FF5FC08091CC0481FD5BC051DD81110B +S11323F058C080910D22823041F484E080930D22F4 +S1132400E0E2F2E202E006934CC0833009F049C0F6 +S1132410E9E2F2E204E00593E1E2F2E204E005938A +S113242040C08091CB0484FF25C080E18093CA041E +S113243081E04ADF81E848DF82E046DF82E844DF6A +S11324400E949F091092C3041092212296E0909357 +S1132450202283E48093212210922922909328221F +S11324608093292289EC91E280932422909325225F +S113247043DB17C08091CB0486FF08C080E48093BF +S1132480CA0480E00FDB0E949E010BC08091CB0444 +S113249085FF07C080E28093CA0481E003DB0E94C9 +S11324A09F01FF91EF91BF91AF919F918F917F9188 +S11324B06F915F914F913F912F910F910F900FBEAC +S11324C00F901F9018951F920F920FB60F92112420 +S11324D00F931F932F933F934F935F936F937F9328 +S11324E08F939F93AF93BF93CF93DF93EF93FF9318 +S11324F08091CC0481FF1AC082E08093CC04809147 +S1132500C5048195880FE0E2F2E2E81BF10920811D +S113251031812052324283E0369527958A95E1F73E +S1132520822F869520FD06C0C0E005C0B1DC88235B +S113253019F386C0C0E8C80F8C2FC7DAFC012081CC +S113254025FF7EC000E20693C11174C080910D2264 +S1132550843019F414DBD0DA73C000912222109174 +S113256023228091742490917524C0910922D091E2 +S11325700A229E01200F311F8217930718F48C0141 +S11325800C1B1D0B8091722490917324A80169EC9B +S113259071E28C0F9D1F83D0C00FD11FC0930922FD +S11325A0D0930A220034110569F480910B22909192 +S11325B00C228C0F9D1F209170243091712482175E +S11325C0930788F0C0937424D0937524E091782401 +S11325D0F0917924309729F00995811102C0B3DA7A +S11325E02FC0BFDA2DC080917424909175248C176C +S11325F09D07D9F4E0917824F0917924309779F308 +S11326000995882361F320910B2230910C2280914B +S1132610092290910A22820F931F80930B22909398 +S11326200C221092092210920A22E0E2F2E202E065 +S1132630069306C0C03811F4BDDB02C08C2FC1DA8A +S1132640FF91EF91DF91CF91BF91AF919F918F91C6 +S11326507F916F915F914F913F912F911F910F91B6 +S11326600F900FBE0F901F901895AA1BBB1B51E132 +S113267007C0AA1FBB1FA617B70710F0A61BB70BEE +S1132680881F991F5A95A9F780959095BC01CD0193 +S11326900895EE0FFF1F0590F491E02D0994FB01BE +S11326A0DC0102C001900D9241505040D8F70895CA +S10726B0F894FFCFC8 +S11326B4FF558000800085087F088F087C0800008F +S11326C44420162000001C201A200620090227009A +S11326D401010080FA0904000003FFFFFF0007055D +S11326E4810100010107058201000101070583013D +S11326F4000101001201000200000040EB0300A0ED +S113270400020102000100000003000000000000B8 +S113271400000000000000000000000000000000B1 +S113272400000000000000000000000000000000A1 +S113273400000000000000000000555342476F628F +S1132744696E6461722044756D6D7920446576699F +S1132754636500546170697254656368000004031E +S11327640904100020004000800000010002FF035F S9030000FC diff --git a/AVR Code/USB_BULK_TEST/Release/src/main.o b/AVR Code/USB_BULK_TEST/Release/src/main.o index 3d5f343760b1ce722ccee756d78ada6a9570a8ca..05545476c13c6ab9706f3d94fd4cd030b163f851 100644 GIT binary patch delta 276 zcmbQByGD0{0^^j4iaRE^2*_-_IiHy^W^*M=KRaX8W=nP(0|ot=Shy!I67*yA znfy^un=xjxtdKI}l*x`l>WtqePZScL+#n>t_yfpNXZ$sJCy+Fl{18ZbP39CM*_))$&EmA%H)+m(qZyNAUSKYqKNop0TBVlc|evrxc`76Q77l8R2;rtI^KBJgA&;y!4 W^3LQyF?9(ab_RxgW(GK5gt7o^M@(=4 delta 333 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 literal 7964 zcmdT|d2AHd8GpkX+aQS73s@F)U`m{DlrFnIIFcqTwgD$`$c7`W64dqj0E2u5uUm*{ zGxnMU7{t!*;x-2g;EgbNtC&@z5<41*$i31VP#xVokL2(Iie)>aY*`=urtP3;UN7!bc`{wD;YUUv)t8yF4iO8iO58GA~S&&q9b(iz(zogDu_KOT3+ z)=9p2jikhDB_E#k1AXy2$sb=Y`EEgh5N4X}I;+$L#xRBl@ycOI6< zWwl(F)jqZFdcUe%4yzllzM$8s+f*&$jku1ISNF{dz2-zpsy(62E-qL6nr|RN@@&~) zq~xe_NNH2l!okA9i}6q6eaPFa7u^_FlE-wa*){U=_?G0{k$EE}BeL$%`PiuW5TrFyKm6B9qHm3;yBl>Iy+hsIyzXxpbvNsc zS(R&QP(5{hNR=-?qVBxeb8DYV7QJ)M-=^ zF?Y?MIG?CV^j{7q$`jRzfiY$He2!X0rN7In)H&oI_b2LfU!r)(HT1-IWn%8oyrGgI zilGcg;YYqvKK!Q6d$wCir1!OCBy^=4^RR28DcO$>okV@-fbS(gN}klu=_f}&;AbFZ zPDPuNIRX2PX=vmfde9^s8dGorQhW}MM3uH9I01gur=B;azcMrXawM9gL!$Nzw%T!q z5-FqdXUA*rtGxS0X!xLh0MnwK(spYJF%@r3#F8;RK1t2*j2#<|>l&}xbJo-5N#eAs zDK)AFuQ#c+nOwV#sikhc7x@TN>p28lHGS{M;Z#_Qual@lZ;xwqOYqwv{tpeaqwv`= z_6fbwcyE+G%yl?j?}4mSTryI1#e*GNI3T6AUva$)V@0u|pB2T5%U8tL#-EQz;wOxEi9=G*yMB*!i`_Z+h;*xus8krg z10Lzl8&{*~(_GB(JmXz>|65Cmml>Mu?rZUf;nyi);^R(9Lxes(TC5m7KM{>YpO3DM zu80Fs;-KtE~W7l2-C z;TMBWf5VaR_PrGuU7CLaipS&z<2b*r=3vB!h8$Z*=Q}!k}*ld#l?O|MH1u;=XO?~*3v)hZ z=u6m-IgkHTz+Wj#a(=tP&u6JDeHpuyrC-3VbN*e!US@YVf7IX?v3r~cYt&mvg#h*g zT@3ph+SR!)(9#ifH?u%si$72w2&9RIG_iU8MuVuW^&4xbqdTytb*DkU+PbHUGr~=v zr!~~uo$(sj(catB#+tl=o=`Bbdre^`u?kaW`n3o%hLyPt zEy9dpRW3t|Fk@J48fIiGO_`aFMVK*MmCJAy_VjzL&7rP6ft4n?iZxa6jmfCjFyq$9 zTV#xhabxH4YaowihF^JfljJ>`wjooZY1Ebg^B+sgmtiU3^mjq$(d7+j0uoL3?ZA9` z2+#>E;Pi)}MGkbPXDr1J;P=3poc|?5{D0lpugwDe9f_ zyijofaobHI8E|8py=~f(4x;Y!=lf|%uqnUZlJJf z2Q6%V2wM0#Xrb@R|KW7LRMIribpKI4dGvt|pnS+b-4z=^lYgRVPlXNL3BqQ(#fIiq z*zC2?#vRE0S6H5{KsdU}|f1a9j`1iotAds^FrHck2iCzmGkM)ugfnJ;jta`?7D#ZsHS?dV)7@U zn(E2Q$)AL3swb-^e-f&xo~)i)y)viT>|$p-F%!~iCdm93)ogd8S!iejL9RynAmO2^JAfvc5xsKv~2(HRCW2xWaerWo zdk{lU?;q-O2~fm6W%KtF_&Wx@0O9Yr%^ySZ!e1$jg};=|pD&*=dPfNm{(fomw-^5E zVMO`O2MT|>&EIkO%az|>ZT?c0{K_o;=x+r0m$`>LIApo&D(6!=O l0U|D~7BOpszfW+6@rlJ`AjPHg32~Oc)wnF?SRNGq{sT%-OC|sS diff --git a/AVR Code/USB_BULK_TEST/Release/src/tiny_timer.o b/AVR Code/USB_BULK_TEST/Release/src/tiny_timer.o index c9d664dbf84fa0d154f7d44fd38b8755896fa57b..6f1d433f15b166a9f29457c53e8e8f80240820fa 100644 GIT binary patch delta 327 zcmeyu-N7?KfiYmBqNT=y2Rj~^Jg}Lp{6KJ;&Sb&qBGY6hiA-;OJMqD^X}y!@OrAbn z3@9QtePWRcU(Qf(oGPy6qwTom6!&krvNcX^Q_HRnWY&S zTPA;GQD)r%6g)P0A*1kQ9aaIxfXTM3>Wp=hQ-S20$-O{w!{n{3>Z})-7#Qk6ssPbf BNq7JN delta 299 zcmeC+`NBOxfzf87qNT)x2R|N|JTPchexTSa($xBP;)Axu(-(_1O>9yTXnfGttnu3V zf!bp8#RAI&mrdNFGVz`kvy!#-W^Tq_M!_-$1_mJp7KUgb4FU%yuVh+YuLNYV2!I6` z)PNKd4+DbZyJ!!g0klT zX^;y*dY1s{8VFko%;|tiOaRh-Kn&76W%EmBX-3Af$*io(tgC>62PW&XDl^(l4rEnl Z%$i&YByUV!2qfoBJ_#iEO#a9!4ggF3JW>Dv diff --git a/AVR Code/USB_BULK_TEST/Release/src/tiny_uart.o b/AVR Code/USB_BULK_TEST/Release/src/tiny_uart.o index 8fea8eb8f97005aa960eb7cfcb8935c285ad284d..47e414167fabe6b28861cbf34f099cb17449914e 100644 GIT binary patch delta 128 zcmbQh*}*wMf$_pbMHTL>hUWhFEzKQIo4O~4sIdz+bv$jD96GT%dg6l@f(8r>3_=Vn z43R(@1Y|bfWZcZiXfU~#S(!BjBrtg^vod4DMnQP*M z2ZAOH3=BdHEDVuA8U*AvUu4|O$Y?UTm06iJ10*ncEweIX+vJPP>Wp(H{{)gLlNDLi Q881xs1d<;n7qW;0065_%R{#J2 diff --git a/AVR Code/USB_BULK_TEST/src/globals.h b/AVR Code/USB_BULK_TEST/src/globals.h index 0293a28b..50242ba7 100644 --- a/AVR Code/USB_BULK_TEST/src/globals.h +++ b/AVR Code/USB_BULK_TEST/src/globals.h @@ -9,7 +9,7 @@ #ifndef GLOBALS_H_ #define GLOBALS_H_ -#define VERO +//#define VERO #define TC_SPISLAVE TCD0 #define TC_PSU TCD1 diff --git a/AVR Code/USB_BULK_TEST/src/main.c b/AVR Code/USB_BULK_TEST/src/main.c index f9ac83bd..e0b56d88 100644 --- a/AVR Code/USB_BULK_TEST/src/main.c +++ b/AVR Code/USB_BULK_TEST/src/main.c @@ -60,7 +60,20 @@ int main(void){ if(debug_counter > 100000000){ debug_counter = 0; } - + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); + asm("nop"); //test_byte = ADCA.CH1.RESH; //DO NOTHING! } diff --git a/AVR Code/USB_BULK_TEST/src/tiny_dma.c b/AVR Code/USB_BULK_TEST/src/tiny_dma.c index 95bd66d2..b3457a52 100644 --- a/AVR Code/USB_BULK_TEST/src/tiny_dma.c +++ b/AVR Code/USB_BULK_TEST/src/tiny_dma.c @@ -302,35 +302,35 @@ void tiny_dma_set_mode_3(void){ DMA.CH2.REPCNT = 0; //Repeat forever! DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - DMA.CH2.CTRLB = 0x00; //No interrupt for DacBuf!! + DMA.CH2.CTRLB = 0x00; //Hi interrupt on block complete DMA.CH2.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH1_gc; //Triggered from TCC0 when it hits PER - DMA.CH2.TRFCNT = auxDacBufLen; + DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH2_gc; //Triggered from TCC0 when it hits PER + DMA.CH2.TRFCNT = dacBuf_len; - DMA.CH2.SRCADDR0 = (( (uint16_t) &dacBuf_CH2[0]) >> 0) & 0xFF; //Source address is dacbuf - DMA.CH2.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; + DMA.CH2.SRCADDR0 = (( (uint16_t) &dacBuf_CH1[0]) >> 0) & 0xFF; //Source address is dacbuf + DMA.CH2.SRCADDR1 = (( (uint16_t) &dacBuf_CH1[0]) >> 8) & 0xFF; DMA.CH2.SRCADDR2 = 0x00; - - DMA.CH2.DESTADDR0 = (( (uint16_t) &DACB.CH1DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - DMA.CH2.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; + + DMA.CH2.DESTADDR0 = (( (uint16_t) &DACB.CH0DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register + DMA.CH2.DESTADDR1 = (( (uint16_t) &DACB.CH0DATAH) >> 8) & 0xFF; DMA.CH2.DESTADDR2 = 0x00; - + //Must enable last for REPCNT won't work! DMA.CH2.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - + DMA.CH3.REPCNT = 0; //Repeat forever! DMA.CH3.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - DMA.CH3.CTRLB = 0x00; //Hi interrupt on block complete + DMA.CH3.CTRLB = 0x00; //No interrupt for DacBuf!! DMA.CH3.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH2_gc; //Triggered from TCC0 when it hits PER - DMA.CH3.TRFCNT = dacBuf_len; + DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH1_gc; //Triggered from TCC0 when it hits PER + DMA.CH3.TRFCNT = auxDacBufLen; - DMA.CH3.SRCADDR0 = (( (uint16_t) &dacBuf_CH1[0]) >> 0) & 0xFF; //Source address is dacbuf - DMA.CH3.SRCADDR1 = (( (uint16_t) &dacBuf_CH1[0]) >> 8) & 0xFF; + DMA.CH3.SRCADDR0 = (( (uint16_t) &dacBuf_CH2[0]) >> 0) & 0xFF; //Source address is dacbuf + DMA.CH3.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; DMA.CH3.SRCADDR2 = 0x00; - DMA.CH3.DESTADDR0 = (( (uint16_t) &DACB.CH0DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - DMA.CH3.DESTADDR1 = (( (uint16_t) &DACB.CH0DATAH) >> 8) & 0xFF; + DMA.CH3.DESTADDR0 = (( (uint16_t) &DACB.CH1DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register + DMA.CH3.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; DMA.CH3.DESTADDR2 = 0x00; //Must enable last for REPCNT won't work! @@ -391,29 +391,28 @@ void tiny_dma_set_mode_4(void){ //Must enable last for REPCNT won't work! DMA.CH1.CTRLA |= DMA_CH_REPEAT_bm | DMA_CH_ENABLE_bm; //Enable! - - DMA.CH2.REPCNT = 0; //Repeat forever! - DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; - DMA.CH2.CTRLB = 0x00; //No interrupt for DacBuf!! - DMA.CH2.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. - DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH1_gc; //Triggered from TCC0 when it hits PER - DMA.CH2.TRFCNT = auxDacBufLen; - - DMA.CH2.SRCADDR0 = (( (uint16_t) &dacBuf_CH2[0]) >> 0) & 0xFF; //Source address is dacbuf - DMA.CH2.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; - DMA.CH2.SRCADDR2 = 0x00; - DMA.CH2.DESTADDR0 = (( (uint16_t) &DACB.CH1DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register - DMA.CH2.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; - DMA.CH2.DESTADDR2 = 0x00; + USARTC0.DATA = 0x55; + + DMA.CH3.REPCNT = 0; //Repeat forever! + DMA.CH3.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm | DMA_CH_REPEAT_bm; + DMA.CH3.CTRLB = 0x00; //No interrupt for DacBuf!! + DMA.CH3.ADDRCTRL = DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc | DMA_CH_SRCRELOAD_BLOCK_gc | DMA_CH_SRCDIR_INC_gc; //Dest reloads after each burst, with byte incrementing. Src reloads at end of block, also incrementing address. + DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_EVSYS_CH1_gc; //Triggered from TCC0 when it hits PER + DMA.CH3.TRFCNT = auxDacBufLen; + + DMA.CH3.SRCADDR0 = (( (uint16_t) &dacBuf_CH2[0]) >> 0) & 0xFF; //Source address is dacbuf + DMA.CH3.SRCADDR1 = (( (uint16_t) &dacBuf_CH2[0]) >> 8) & 0xFF; + DMA.CH3.SRCADDR2 = 0x00; + + DMA.CH3.DESTADDR0 = (( (uint16_t) &DACB.CH1DATAH) >> 0) & 0xFF; //Dest address is high byte of DAC register + DMA.CH3.DESTADDR1 = (( (uint16_t) &DACB.CH1DATAH) >> 8) & 0xFF; + DMA.CH3.DESTADDR2 = 0x00; //Must enable last for REPCNT won't work! - DMA.CH2.CTRLA |= DMA_CH_ENABLE_bm; //Enable! + DMA.CH3.CTRLA |= DMA_CH_ENABLE_bm; //Enable! //Actual data being transferred - DMA.CH0.CTRLA = 0x00; - DMA.CH0.CTRLA = DMA_CH_RESET_bm; - DMA.CH0.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! DMA.CH0.CTRLB = 0x03; //No interrupt DMA.CH0.ADDRCTRL = DMA_CH_SRCRELOAD_BURST_gc | DMA_CH_SRCDIR_INC_gc | DMA_CH_DESTDIR_INC_gc; //Source reloads after each burst, with byte incrementing. Dest does not reload, but does increment address. @@ -431,31 +430,28 @@ void tiny_dma_set_mode_4(void){ //Must enable last for REPCNT won't work! DMA.CH0.CTRLA |= DMA_CH_ENABLE_bm; //Enable! - //Actual data being transferred - DMA.CH3.CTRLA = 0x00; - DMA.CH3.CTRLA = DMA_CH_RESET_bm; + DMA.CH2.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! + DMA.CH2.CTRLB = 0x03; //Hi interrupt on block complete + DMA.CH2.ADDRCTRL = DMA_CH_SRCRELOAD_BURST_gc | DMA_CH_SRCDIR_INC_gc | DMA_CH_DESTDIR_INC_gc; //Source reloads after each burst, with byte incrementing. Dest does not reload, but does increment address. + DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_SPIC_gc; + DMA.CH2.TRFCNT = HALFPACKET_SIZE; - DMA.CH3.CTRLA = DMA_CH_BURSTLEN_1BYTE_gc | DMA_CH_SINGLE_bm; //Do not repeat! - DMA.CH3.CTRLB = 0x03; //No interrupt - DMA.CH3.ADDRCTRL = DMA_CH_SRCRELOAD_BURST_gc | DMA_CH_SRCDIR_INC_gc | DMA_CH_DESTDIR_INC_gc; //Source reloads after each burst, with byte incrementing. Dest does not reload, but does increment address. - DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_SPIC_gc; - DMA.CH3.TRFCNT = HALFPACKET_SIZE; + DMA.CH2.SRCADDR0 = (( (uint16_t) &SPIC.DATA) >> 0) & 0xFF; //Source address is ADC + DMA.CH2.SRCADDR1 = (( (uint16_t) &SPIC.DATA) >> 8) & 0xFF; + DMA.CH2.SRCADDR2 = 0x00; - DMA.CH3.SRCADDR0 = (( (uint16_t) &SPIC.DATA) >> 0) & 0xFF; //Source address is ADC - DMA.CH3.SRCADDR1 = (( (uint16_t) &SPIC.DATA) >> 8) & 0xFF; - DMA.CH3.SRCADDR2 = 0x00; - - DMA.CH3.DESTADDR0 = (( (uint16_t) &isoBuf[HALFPACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf - DMA.CH3.DESTADDR1 = (( (uint16_t) &isoBuf[HALFPACKET_SIZE]) >> 8) & 0xFF; - DMA.CH3.DESTADDR2 = 0x00; + DMA.CH2.DESTADDR0 = (( (uint16_t) &isoBuf[HALFPACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf + DMA.CH2.DESTADDR1 = (( (uint16_t) &isoBuf[HALFPACKET_SIZE]) >> 8) & 0xFF; + DMA.CH2.DESTADDR2 = 0x00; //Must enable last for REPCNT won't work! - DMA.CH3.CTRLA |= DMA_CH_ENABLE_bm; //Enable! + DMA.CH2.CTRLA |= DMA_CH_ENABLE_bm; //Enable! } void tiny_dma_loop_mode_4(void){ - return; -} +return; +} + void tiny_dma_set_mode_5(void){ global_mode = 5; @@ -737,6 +733,15 @@ ISR(DMA_CH1_vect){ break; } } +ISR(DMA_CH2_vect){ + DMA.INTFLAGS = 0x04; + DMA.CH2.TRFCNT = HALFPACKET_SIZE; + DMA.CH2.DESTADDR0 = (( (uint16_t) &isoBuf[b2_state * PACKET_SIZE + HALFPACKET_SIZE]) >> 0) & 0xFF; //Dest address is isoBuf + DMA.CH2.DESTADDR1 = (( (uint16_t) &isoBuf[b2_state * PACKET_SIZE + HALFPACKET_SIZE]) >> 8) & 0xFF; + //Must enable last for REPCNT won't work! + DMA.CH2.CTRLA |= DMA_CH_ENABLE_bm; //Enable! + b2_state = !b2_state; +} ISR(DMA_CH3_vect){ DMA.INTFLAGS = 0x08; diff --git a/AVR Code/USB_BULK_TEST/src/tiny_timer.c b/AVR Code/USB_BULK_TEST/src/tiny_timer.c index c2a5cddc..95c8a9df 100644 --- a/AVR Code/USB_BULK_TEST/src/tiny_timer.c +++ b/AVR Code/USB_BULK_TEST/src/tiny_timer.c @@ -8,7 +8,7 @@ #include "tiny_timer.h" #include "globals.h" -#define PSU_PER 3000 +#define PSU_PER 2048 #define jump 6 void tiny_timer_setup(void){ @@ -41,7 +41,7 @@ void tiny_timer_setup(void){ PORTD.DIR |= 0b00010000; TC_PSU.CTRLB = 0x10 | TC_WGMODE_SINGLESLOPE_gc; //CCAEN is set TC_PSU.CTRLE = TC_BYTEM_NORMAL_gc; - TC_PSU.INTCTRLA = TC_OVFINTLVL_LO_gc; + TC_PSU.INTCTRLA = TC_OVFINTLVL_MED_gc; TC_PSU.PER = PSU_PER; // Max value of CNT TC_PSU.CCA = 0; //Initial Duty cycle of 0% TC_PSU.CTRLA = TC_CLKSEL_DIV1_gc; @@ -59,6 +59,7 @@ ISR(TC_PSU_OVF){ char tempvar; char err; volatile char nothing; + TC_PSU.INTFLAGS = 0xff; if (global_mode == 7){ nothing = ADCA.CH1.RESL; tempvar = ADCA.CH1.RESH; diff --git a/AVR Code/USB_BULK_TEST/src/tiny_uart.c b/AVR Code/USB_BULK_TEST/src/tiny_uart.c index 97cc5bd2..9d6a1ed7 100644 --- a/AVR Code/USB_BULK_TEST/src/tiny_uart.c +++ b/AVR Code/USB_BULK_TEST/src/tiny_uart.c @@ -13,13 +13,13 @@ void tiny_uart_setup(void){ PR.PRPC &= 0b11101111; //PR.PRPE &= 0b11111110; ??? - PORTC.DIR |= 0b01001010; + PORTC.DIR |= 0b10101010; PORTC.OUT = 0xff; PORTC.PIN2CTRL = PORT_INVEN_bm | PORT_OPC_PULLUP_gc; //PORTC.REMAP = 0x10; //Remap USART to [7:4] - #ifndef VERO - PORTC.REMAP = 0x20; //Swap MOSI and SCK - for small boards only!!! - #endif + //#ifndef VERO +// PORTC.REMAP = 0x20; //Swap MOSI and SCK - for small boards only!!! + //#endif USARTC0.CTRLC = USART_CMODE_MSPI_gc | 0b00000100; //LSB received first, UPCHA disabled USARTC0.BAUDCTRLA = 3; //BSEL = fper/(2fbaud) -1; 24/(2*3) - 1 = 3 @@ -34,12 +34,12 @@ void tiny_spi_setup(void){ //SPI enable SPIC.CTRL = SPI_ENABLE_bm; //Slave mode - SPIC.INTCTRL = SPI_INTLVL_HI_gc; - #ifdef VERO + SPIC.INTCTRL = SPI_INTLVL_OFF_gc; + //#ifdef VERO PORTC.PIN5CTRL = PORT_INVEN_bm | PORT_OPC_PULLUP_gc; - #else - PORTC.PIN7CTRL = PORT_INVEN_bm | PORT_OPC_PULLUP_gc; //Pin5 if not swapped - #endif + //#else + // PORTC.PIN7CTRL = PORT_INVEN_bm | PORT_OPC_PULLUP_gc; //Pin5 if not swapped + //#endif return; } diff --git a/Desktop Interface/Labrador.pro.user b/Desktop Interface/Labrador.pro.user index 4777d137..201002de 100644 --- a/Desktop Interface/Labrador.pro.user +++ b/Desktop Interface/Labrador.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/Desktop Interface/Thumbs.db b/Desktop Interface/Thumbs.db index 8207303d7b9eb4fa44461100394ebb12b5fb9943..db2b68b4c626759bd51727808df014a28b7930df 100644 GIT binary patch delta 496 zcmZpWXi(T7z{JYRz`($^nV0D`<0O_GK7s6mrvjrcF){;18`vjTvG{Q?0h#}SU@{}C zhW-(d1P~Z8m@=3##50&Pq%v4Am;j+En6zX_0@8*+c?+P3`D8^FNdYYeCa?h@LqK5i zMHUq{0iYqZ%##CIy(S-FtuYk@a)p3c7>GrHSQLoGfLI)eC4g8Gh^2s78i-|pSQd!? zZ4B&YT*Sd50a5^RS1QzT!WW+0u$%l~!)6JNe5U%}dR-a|m_T?>`nOyE873!vEdRT+ z{$-Bno2!rQw_X1;TfBS!+tdFUyb~7i8UN!v`kz6?Ir2Zl#!2;m)wZo)mi;XMhr0Nm ziM;9mj(PrP_%iF(zL^m7VCLdAyPo=niv&8zr2i4_{^!xQ`9DLl%72DmzPa%}7hM@d W0wK8m|4m?cfWhQQ*6hg!ECK*xRkM@; delta 80 zcmZorXpq<-z_hu9t%q@9LdqnT9KM9RS