SHT.elf: file format elf32-msp430 SYMBOL TABLE: 0000ffe4 l d __interrupt_vector_3 00000000 __interrupt_vector_3 0000ffe6 l d __interrupt_vector_4 00000000 __interrupt_vector_4 0000ffea l d __interrupt_vector_6 00000000 __interrupt_vector_6 0000ffee l d __interrupt_vector_8 00000000 __interrupt_vector_8 0000fff0 l d __interrupt_vector_9 00000000 __interrupt_vector_9 0000fffe l d __reset_vector 00000000 __reset_vector 00008000 l d .rodata 00000000 .rodata 00008356 l d .rodata2 00000000 .rodata2 000083c4 l d .text 00000000 .text 00000200 l d .data 00000000 .data 000002ca l d .bss 00000000 .bss 000002f2 l d .noinit 00000000 .noinit 000002f2 l d .heap 00000000 .heap 00000000 l d .MSP430.attributes 00000000 .MSP430.attributes 00000000 l d .comment 00000000 .comment 00000000 l d .debug_aranges 00000000 .debug_aranges 00000000 l d .debug_info 00000000 .debug_info 00000000 l d .debug_abbrev 00000000 .debug_abbrev 00000000 l d .debug_line 00000000 .debug_line 00000000 l d .debug_frame 00000000 .debug_frame 00000000 l d .debug_str 00000000 .debug_str 00000000 l d .debug_loc 00000000 .debug_loc 00000000 l d .debug_ranges 00000000 .debug_ranges 00000000 l df *ABS* 00000000 main.c 000083f0 l F .text 00000036 RX_MODE.part.0 0000872c l .text 00000000 lcdloop 00000000 l df *ABS* 00000000 c:/msp430-gcc/bin/../lib/gcc/msp430-elf/9.2.0/../../../../msp430-elf/lib/430/crt0.o 0000fffe l __reset_vector 00000000 __msp430_resetvec_hook 00000000 l df *ABS* 00000000 lib_a-impure.o 00000204 l O .data 00000078 impure_data 00000000 l df *ABS* 00000000 lib_a-nano-svfprintf.o 00000000 l df *ABS* 00000000 lib_a-nano-vfprintf_i.o 00000000 l df *ABS* 00000000 sbrk.c 0000027c l O .data 00000002 heap.1412 00000000 l df *ABS* 00000000 crt_bss.o 00000000 l df *ABS* 00000000 crt_movedata.o 00000000 l df *ABS* 00000000 crt_main.o 00000000 l df *ABS* 00000000 spi_hardware.c 00000000 l df *ABS* 00000000 SWI2C.c 000097ea l F .text 00000074 SWI2C_readFromDeviceB.part.0 000097ea l F .text 00000074 SWI2C_readFromRegisterB.part.0 00009b98 l F .text 00000058 SWI2C_writeToDeviceB.part.0 00009b98 l F .text 00000058 SWI2C_writeToRegisterB.part.0 00000000 l df *ABS* 00000000 SHT31D.c 00000000 l df *ABS* 00000000 _gt_sf.o 00000000 l df *ABS* 00000000 _sf_to_df.o 00000000 l df *ABS* 00000000 _addsub_df.o 0000a3ea l F .text 00000586 _fpadd_parts 00000000 l df *ABS* 00000000 _mul_df.o 00000000 l df *ABS* 00000000 _div_df.o 00000000 l df *ABS* 00000000 _si_to_df.o 00000000 l df *ABS* 00000000 _df_to_si.o 00000000 l df *ABS* 00000000 _make_df.o 00000000 l df *ABS* 00000000 _df_to_sf.o 00000000 l df *ABS* 00000000 _usi_to_df.o 00000000 l df *ABS* 00000000 lib2divHI.o 00000000 l df *ABS* 00000000 lib2divSI.o 00000000 l df *ABS* 00000000 slli.o 00000000 l df *ABS* 00000000 srli.o 00000000 l df *ABS* 00000000 _clzsi2.o 00000000 l df *ABS* 00000000 _unpack_sf.o 00000000 l df *ABS* 00000000 _fpcmp_parts_sf.o 00000000 l df *ABS* 00000000 _make_sf.o 00000000 l df *ABS* 00000000 _pack_df.o 00000000 l df *ABS* 00000000 _unpack_df.o 00000000 l df *ABS* 00000000 _pack_sf.o 00000000 l df *ABS* 00000000 lib2_mul_none.o 00000000 l df *ABS* 00000000 mpy.o 00000000 l df *ABS* 00000000 lib_a-atoi.o 00000000 l df *ABS* 00000000 lib_a-memcpy.o 00000000 l df *ABS* 00000000 lib_a-memset.o 00000000 l df *ABS* 00000000 lib_a-snprintf.o 00000000 l df *ABS* 00000000 lib_a-strchr.o 00000000 l df *ABS* 00000000 lib_a-strstr.o 00000000 l df *ABS* 00000000 lib_a-strtol.o 00000000 l df *ABS* 00000000 lib_a-memchr.o 00000000 l df *ABS* 00000000 lib_a-memmove.o 00000000 l df *ABS* 00000000 lib_a-nano-freer.o 00000000 l df *ABS* 00000000 lib_a-nano-mallocr.o 00000000 l df *ABS* 00000000 lib_a-nano-reallocr.o 00000000 l df *ABS* 00000000 lib_a-sbrkr.o 00000000 l df *ABS* 00000000 lib_a-nano-msizer.o 00000000 l df *ABS* 00000000 write.c 00000000 l df *ABS* 00000000 cio.o 00000000 l df *ABS* 00000000 lib_a-abort.o 00000000 l df *ABS* 00000000 lib_a-signal.o 00000000 l df *ABS* 00000000 lib_a-signalr.o 00000000 l df *ABS* 00000000 srai.o 00000000 l df *ABS* 00000000 ciosyscalls.o 00000000 l df *ABS* 00000000 exit.c 00000000 l df *ABS* 00000000 lib_a-errno.o 0000cb7c g F .text 00000014 _malloc_usable_size_r 0000bda0 g F .text 0000004e __mspabi_mpyl 0000004b g *ABS* 00000000 ADC10AE1 00000001 g *ABS* 00000000 IE2 00000061 g *ABS* 00000000 UCA0CTL1 00009c26 g F .text 00000006 SWI2C_writeBytesToDevice 00000022 g *ABS* 00000000 P1DIR 00000067 g *ABS* 00000000 UCA0TXBUF 00000064 g *ABS* 00000000 UCA0MCTL 000093c6 g F .text 00000062 CCXX_SPI_RDREG 0000989a g F .text 000001a0 SWI2C_read2Byte 000096a0 g F .text 0000001c SWI2C_stopBit 0000ccba g F .text 00000024 _kill_r 00000053 g *ABS* 00000000 BCSCTL3 00009f20 g F .text 00000006 SWI2C_getDeviceID 00000025 g *ABS* 00000000 P1IE 000086a6 g F .text 00000032 sample_adc_chan 0000870e g F .text 0000001e init_UART_SPI 0000c8e6 g F .text 0000004e memmove 0000aa4a g F .text 0000055a .hidden __mspabi_mpyd 00000028 g *ABS* 00000000 P2IN 0000be6a g F .text 0000006e snprintf 000002d0 g O .bss 00000002 windRot3Accum 0000b4cc g F .text 00000040 .hidden udivmodhi4 0000cd04 g F .text 00000006 __errno 0000027e g .data 00000000 __CIOBUF__ 0000cc3e g .text 00000000 C$$IO$$ 000001b4 g *ABS* 00000000 ADC10MEM 0000b5da g .text 00000000 .hidden __mspabi_sllll 000002f0 g O .bss 00000002 errno 0000b3cc g F .text 00000034 .hidden __make_dp 0000b802 g F .text 0000003a .hidden __make_fp 000002cc g O .bss 00000002 windRot120 0000b5b6 g .text 00000000 .hidden __mspabi_func_epilog_6 00009508 g F .text 00000008 SWI2C_sclLo 00008694 g F .text 00000012 sample_adc 0000ccee w F .text 00000006 getpid 00000024 g *ABS* 00000000 P1IES 000002d6 g O .bss 00000002 windRotAccum 0000be3c g F .text 0000001e memcpy 0000b5a6 g F .text 0000000e .hidden __mspabi_remul 000010fb g *ABS* 00000000 CALBC1_12MHZ 0000c1f8 g F .text 00000290 _svfprintf_r 000002ce g O .bss 00000002 windRot3 000002e4 g O .bss 00000001 SWI2C_sda_pin 00008606 g F .text 0000007c sys_init 0000012e g *ABS* 00000000 TAIV 00009680 g F .text 00000020 SWI2C_writeAck 0000a9e0 g F .text 0000006a .hidden __mspabi_subd 0000002a g *ABS* 00000000 P2DIR 00000120 g *ABS* 00000000 WDTCTL 0000cc50 g F .text 00000064 _raise_r 00009e14 g F .text 0000004a SWI2C_writeToRegisterB 00008560 g F .text 00000078 tinit 000083c4 g F .text 00000004 __crt0_start 0000ccde g F .text 00000006 _getpid_r 00009d04 g F .text 00000068 SWI2C_read2bFromRegister 000002f6 g .heap 00000000 __HeapLimit 000002f6 g .heap 00000000 __heap_end__ 000083c8 g F .text 0000000e __crt0_init_bss 0000cb5a g F .text 00000022 _sbrk_r 000084f4 g F .text 00000034 P2_VEC 00000028 g *ABS* 00000000 __bsssize 00009392 g F .text 00000034 CCXX_SPI_STROBE 0000b400 g F .text 0000006a .hidden __mspabi_cvtdf 000094d8 g F .text 0000000e SWI2C_SWI2C 0000002f g *ABS* 00000000 P2REN 0000bada g F .text 00000168 .hidden __unpack_d 0000b5c0 g .text 00000000 .hidden __mspabi_func_epilog_1 00009fa8 g F .text 0000003e crc8 0000b5c8 g .text 00000000 .hidden __mspabi_slli 0000cc3e g .text 00000000 _libgloss_cio_hook 0000965e g F .text 00000022 SWI2C_checkAckBit 0000b5bc g .text 00000000 .hidden __mspabi_func_epilog_3 0000cb02 g F .text 0000005e _realloc_r 000002ea g O .bss 00000002 SHTHumid 0000006e g *ABS* 00000000 UCB0RXBUF 00009428 g F .text 0000004a CCXX_SPI_WRREG 0000b5fe g .text 00000000 .hidden __mspabi_srli 00009fe6 g F .text 0000025c SHT31D_ReadTH 0000cc42 g F .text 0000000e abort 0000cb90 g F .text 00000032 _sbrk 000001b2 g *ABS* 00000000 ADC10CTL1 00008732 g F .text 0000015c CCXX_WRITE_SPI_RF_SETTINGS 00000063 g *ABS* 00000000 UCA0BR1 0000c0fc g F .text 00000010 strtol 00000172 g *ABS* 00000000 TACCR0 0000b678 g F .text 00000100 .hidden __unpack_f 00009472 g F .text 00000066 CCXX_SPI_BURST_WRREG 000002d9 g O .bss 00000001 RSSI_DBM 00000019 g *ABS* 00000000 P3OUT 000097a4 g F .text 00000040 SWI2C_readFromDevice 0000b468 g F .text 00000068 .hidden __mspabi_fltuld 0000001b g *ABS* 00000000 P3SEL 00009b54 g F .text 0000003e SWI2C_writeToDevice 0000cbc2 g F .text 0000007e write 00009db4 g F .text 0000005a SWI2C_writeToRegister 0000a338 g F .text 00000058 .hidden __gtsf2 0000002e g *ABS* 00000000 P2SEL 0000ccf4 w F .text 0000000e kill 0000006b g *ABS* 00000000 UCB0BR1 0000985e g F .text 00000036 SWI2C_readFromDeviceB 0000be6a g F .text 0000006e sniprintf 000002f2 g .noinit 00000000 end 0000bc38 g F .text 00000176 .hidden __pack_f 0000c10c g F .text 000000f0 __ssputs_r 0000b612 g .text 00000000 .hidden __mspabi_srlll 00009e0e g F .text 00000006 SWI2C_write1bToRegister 000002dc g O .bss 00000001 RSSI 0000b632 g F .text 0000004c .hidden __clzsi2 0000a38e g F .text 0000005c .hidden __mspabi_cvtfd 0000b508 g F .text 00000008 .hidden __mspabi_remu 00000026 g *ABS* 00000000 P1SEL 0000002d g *ABS* 00000000 P2IE 0000c8ca g F .text 0000001e memchr 0000c92e g F .text 000000f6 _free_r 00009e5e g F .text 00000006 SWI2C_writeBytesToRegister 00009ee6 g F .text 0000003a SWI2C_write2bToRegisterMSBFirst 00000062 g *ABS* 00000000 UCA0BR0 0000b510 g F .text 00000090 .hidden udivmodsi4 0000a242 g F .text 0000007a SHT31D_readStatus 0000872c g F .text 00000006 msDelay 000083c4 g .text 00000000 _start 000094f8 g F .text 00000010 SWI2C_sclHi 0000bef2 g F .text 00000042 strstr 00008530 g F .text 0000001e TA1_VEC 000002e6 g O .bss 00000001 SWI2C_deviceID 00000056 g *ABS* 00000000 DCOCTL 000002e8 g O .bss 00000002 SHTDegC 000086f0 g F .text 0000001e init_UART_232 0000002c g *ABS* 00000000 P2IES 000002ca g O .bss 00000002 rainAccum 00009c32 g F .text 00000068 SWI2C_readFromRegister 0000cce8 g .text 00000000 .hidden __mspabi_srai 0000bdec g F .text 0000004a __mspabi_mpyi 0000b598 g F .text 0000000e .hidden __mspabi_divul 00009f2c g F .text 0000007c SHT31D_writeCommand 000010fa g *ABS* 00000000 CALDCO_12MHZ 000000ca g *ABS* 00000000 __romdatacopysize 00009bf0 g F .text 00000036 SWI2C_writeToDeviceB 00000066 g *ABS* 00000000 UCA0RXBUF 00009e64 g F .text 00000082 SWI2C_write2bToRegister 0000888e g F .text 00000030 STBY_MODE 00008682 g F .text 00000012 init_adc 000084de g F .text 00000016 P1_VEC 000002d2 g O .bss 00000002 maxSus 00000003 g *ABS* 00000000 IFG2 00009d6c g F .text 00000048 SWI2C_read2bFromRegisterMSBFirst 00000029 g *ABS* 00000000 P2OUT 0000a2bc g F .text 0000007c init_SHT31D 0000cb90 w F .text 00000032 sbrk 00008528 g F .text 00000008 ADC_VEC 00000000 w *ABS* 00000000 __rom_highdatacopysize 0000be58 g F .text 00000014 memset 00000069 g *ABS* 00000000 UCB0CTL1 000089f4 g F .text 0000098a main 00000018 g *ABS* 00000000 P3IN 00000160 g *ABS* 00000000 TACTL 0000027e g .data 00000000 _CIOBUF_ 0000bf30 g F .text 000001de _strtol_r 0000ca1a g F .text 000000f2 _malloc_r 000002f2 g .heap 00000000 __heap_start__ 000002de g O .bss 00000002 seconds 00000000 w *ABS* 00000000 __high_bsssize 000094e6 g F .text 00000012 SWI2C_begin 00000000 w *ABS* 00000000 __rom_highdatastart 000080f8 g O .rodata 0000000e .hidden __thenan_df 0000006f g *ABS* 00000000 UCB0TXBUF 000085d8 g F .text 0000002e delay 000089ae g F .text 00000046 TX_STRING 00009a3a g F .text 0000011a SWI2C_writeByte 0000cd0a g *ABS* 00000000 __romdatastart 00008106 g O .rodata 00000100 .hidden __clz_tab 000002db g O .bss 00000001 LQI 00009518 g F .text 00000008 SWI2C_sdaLo 0000854e g F .text 00000012 RX_VEC 00009f26 g F .text 00000006 SWI2C_setDeviceID 0000c474 g F .text 0000011c _printf_common 00000202 g O .data 00000002 _impure_ptr 0000001a g *ABS* 00000000 P3DIR 000088d2 g F .text 000000dc RX_STRING 0000c1f8 g F .text 00000290 _svfiprintf_r 000001b0 g *ABS* 00000000 ADC10CTL0 00000021 g *ABS* 00000000 P1OUT 00000000 w *ABS* 00000000 __high_datastart 00000000 w *ABS* 00000000 __upper_data_init 000002ca g .bss 00000000 __bssstart 0000b5b8 g .text 00000000 .hidden __mspabi_func_epilog_5 000002da g O .bss 00000001 PKTSTATUS 0000b5d4 g .text 00000000 .hidden __mspabi_slll 000096bc g F .text 000000e8 SWI2C_read1Byte 0000953a g F .text 00000124 SWI2C_writeAddress 000097e4 g F .text 00000006 SWI2C_read1bFromDevice 00000600 g .MSP430.attributes 00000000 __stack 00009ca0 g F .text 0000005e SWI2C_readFromRegisterB 00009c2c g F .text 00000006 SWI2C_writeRegister 000002ca g .data 00000000 _edata 00009cfe g F .text 00000006 SWI2C_readBytesFromRegister 00008482 g F .text 0000005c roundToLong 000002f2 g .heap 00000000 _end 0000b60c g .text 00000000 .hidden __mspabi_srll 00009520 g F .text 0000001a SWI2C_startBit 0000b298 g F .text 000000a2 .hidden __mspabi_fltlid 0000cd02 w F .text 00000004 exit 00009b92 g F .text 00000006 SWI2C_write1bToDevice 00000057 g *ABS* 00000000 BCSCTL1 000002e0 g O .bss 00000002 flags 00000000 w *ABS* 00000000 __high_bssstart 00000200 g O .data 00000002 __ctype_ptr__ 00000027 g *ABS* 00000000 P1REN 000002e5 g O .bss 00000001 SWI2C_scl_pin 00009c9a g F .text 00000006 SWI2C_read1bFromRegister 0000be30 g F .text 0000000c atoi 00008206 g O .rodata 00000101 _ctype_ 000083ea g F .text 00000006 __crt0_call_main 00000170 g *ABS* 00000000 TAR 0000b76c g F .text 000000a0 .hidden __fpcmp_parts_f 000088be g F .text 00000014 RX_MODE 0000cd02 w F .text 00000004 _exit 00009894 g F .text 00000006 SWI2C_readBytesFromDevice 0000b332 g F .text 000000a2 .hidden __mspabi_fixdli 0000b598 g F .text 0000000e __mspabi_divlu 0000c588 g F .text 00000340 _printf_i 0000006a g *ABS* 00000000 UCB0BR0 000002ec g O .bss 00000002 __malloc_sbrk_start 00000068 g *ABS* 00000000 UCB0CTL0 0000af98 g F .text 0000030a .hidden __mspabi_divd 0000bed6 g F .text 0000001e strchr 00000200 g .data 00000000 __datastart 000002ee g O .bss 00000002 __malloc_free_list 0000a97a g F .text 00000066 .hidden __mspabi_addd 000083d6 g F .text 00000014 __crt0_movedata 000002d4 g O .bss 00000002 maxGst 0000b5be g .text 00000000 .hidden __mspabi_func_epilog_2 00008426 g F .text 0000005c roundToInt 000002e2 g O .bss 00000001 status 000002d8 g O .bss 00000001 rx_char 00000023 g *ABS* 00000000 P1IFG 0000b5b4 g .text 00000000 .hidden __mspabi_func_epilog_7 0000b5ba g .text 00000000 .hidden __mspabi_func_epilog_4 00009510 g F .text 00000008 SWI2C_sdaHi 0000b83c g F .text 000002ae .hidden __pack_d 000086d8 g F .text 00000018 TX232String 0000002b g *ABS* 00000000 P2IFG 0000ccae g F .text 0000000c raise Disassembly of section __interrupt_vector_3: 0000ffe4 <__interrupt_vector_3>: ffe4: de 84 interrupt service routine at 0x84de Disassembly of section __interrupt_vector_4: 0000ffe6 <__interrupt_vector_4>: ffe6: f4 84 interrupt service routine at 0x84f4 Disassembly of section __interrupt_vector_6: 0000ffea <__interrupt_vector_6>: ffea: 28 85 interrupt service routine at 0x8528 Disassembly of section __interrupt_vector_8: 0000ffee <__interrupt_vector_8>: ffee: 4e 85 interrupt service routine at 0x854e Disassembly of section __interrupt_vector_9: 0000fff0 <__interrupt_vector_9>: fff0: 30 85 interrupt service routine at 0x8530 Disassembly of section .text: 000083c4 <__crt0_start>: 83c4: 31 40 00 06 mov #1536, r1 ;#0x0600 000083c8 <__crt0_init_bss>: 83c8: 3c 40 ca 02 mov #714, r12 ;#0x02ca 000083cc <.Loc.76.1>: 83cc: 0d 43 clr r13 ; 000083ce <.Loc.77.1>: 83ce: 3e 40 28 00 mov #40, r14 ;#0x0028 000083d2 <.Loc.81.1>: 83d2: b0 12 58 be call #-16808 ;#0xbe58 000083d6 <__crt0_movedata>: 83d6: 3c 40 00 02 mov #512, r12 ;#0x0200 000083da <.Loc.116.1>: 83da: 3d 40 0a cd mov #-13046,r13 ;#0xcd0a 000083de <.Loc.119.1>: 83de: 0d 9c cmp r12, r13 ; 000083e0 <.Loc.120.1>: 83e0: 04 24 jz $+10 ;abs 0x83ea 000083e2 <.Loc.122.1>: 83e2: 3e 40 ca 00 mov #202, r14 ;#0x00ca 000083e6 <.Loc.124.1>: 83e6: b0 12 e6 c8 call #-14106 ;#0xc8e6 000083ea <__crt0_call_main>: 83ea: 0c 43 clr r12 ; 000083ec <.Loc.254.1>: 83ec: b0 12 f4 89 call #-30220 ;#0x89f4 000083f0 : CCXX_SPI_STROBE(CCxxx0_SNOP) ; //(wait for 15, idle)read status byte.... CCXX_SPI_STROBE(CCxxx0_SXOFF); //shutdown oscillator, 0.16mA } void RX_MODE() 83f0: 0a 12 push r10 ; 000083f2 <.LCFI0>: 83f2: 09 12 push r9 ; 000083f4 <.LCFI1>: { if((status & CCxxx0_STAT_ADDR) == CCxxx0_STAT_RX) return; CCXX_SPI_STROBE(CCxxx0_SRX);//Recieve Mode 83f4: 3a 40 92 93 mov #-27758,r10 ;#0x9392 83f8: 7c 40 34 00 mov.b #52, r12 ;#0x0034 83fc: 8a 12 call r10 ; 000083fe <.LVL0>: while((status & CCxxx0_STAT_ADDR) != CCxxx0_STAT_RX) 83fe: 5c 42 e2 02 mov.b &0x02e2,r12 ;0x02e2 8402: 7c f0 70 00 and.b #112, r12 ;#0x0070 8406: 7c 90 10 00 cmp.b #16, r12 ;#0x0010 840a: 0b 24 jz $+24 ;abs 0x8422 0000840c <.Loc.754.1>: CCXX_SPI_STROBE(CCxxx0_SNOP); //keep waiting on recieve Mode 840c: 79 40 3d 00 mov.b #61, r9 ;#0x003d 00008410 <.L3>: 8410: 4c 49 mov.b r9, r12 ; 8412: 8a 12 call r10 ; 00008414 <.LVL1>: while((status & CCxxx0_STAT_ADDR) != CCxxx0_STAT_RX) 8414: 5c 42 e2 02 mov.b &0x02e2,r12 ;0x02e2 8418: 7c f0 70 00 and.b #112, r12 ;#0x0070 841c: 7c 90 10 00 cmp.b #16, r12 ;#0x0010 8420: f7 23 jnz $-16 ;abs 0x8410 00008422 <.L1>: } 8422: 30 40 be b5 br #0xb5be ; 00008426 : { 8426: 0a 12 push r10 ; 00008428 <.LCFI3>: 8428: 09 12 push r9 ; 0000842a <.LCFI4>: 842a: 08 12 push r8 ; 0000842c <.LCFI5>: 842c: 07 12 push r7 ; 0000842e <.LCFI6>: 842e: 06 12 push r6 ; 00008430 <.LCFI7>: 8430: 05 12 push r5 ; 00008432 <.LCFI8>: 8432: 05 4c mov r12, r5 ; 8434: 06 4d mov r13, r6 ; 00008436 <.Loc.51.1>: if(x > 0) 8436: b0 12 8e a3 call #-23666 ;#0xa38e 0000843a <.LVL3>: 843a: 08 4c mov r12, r8 ; 843c: 09 4d mov r13, r9 ; 843e: 0a 4e mov r14, r10 ; 8440: 07 4f mov r15, r7 ; 00008442 <.Loc.51.1>: 8442: 4e 43 clr.b r14 ; 8444: 0f 4e mov r14, r15 ; 8446: 0c 45 mov r5, r12 ; 8448: 0d 46 mov r6, r13 ; 844a: b0 12 38 a3 call #-23752 ;#0xa338 844e: 4d 43 clr.b r13 ; 8450: 0d 9c cmp r12, r13 ; 8452: 0b 34 jge $+24 ;abs 0x846a 00008454 <.Loc.52.1>: return (int)(x + 0.5); 8454: 0c 4d mov r13, r12 ; 8456: 0e 4d mov r13, r14 ; 8458: 3f 40 e0 3f mov #16352, r15 ;#0x3fe0 845c: 0b 47 mov r7, r11 ; 845e: b0 12 7a a9 call #-22150 ;#0xa97a 00008462 <.Loc.52.1>: 8462: b0 12 32 b3 call #-19662 ;#0xb332 00008466 <.Loc.55.1>: } 8466: 30 40 b6 b5 br #0xb5b6 ; 0000846a <.L14>: return (int)(x - 0.5); 846a: 4c 43 clr.b r12 ; 846c: 0d 4c mov r12, r13 ; 846e: 0e 4c mov r12, r14 ; 8470: 3f 40 e0 3f mov #16352, r15 ;#0x3fe0 8474: 0b 47 mov r7, r11 ; 8476: b0 12 e0 a9 call #-22048 ;#0xa9e0 0000847a <.Loc.54.1>: 847a: b0 12 32 b3 call #-19662 ;#0xb332 0000847e <.Loc.55.1>: } 847e: 30 40 b6 b5 br #0xb5b6 ; 00008482 : { 8482: 0a 12 push r10 ; 00008484 <.LCFI11>: 8484: 09 12 push r9 ; 00008486 <.LCFI12>: 8486: 08 12 push r8 ; 00008488 <.LCFI13>: 8488: 07 12 push r7 ; 0000848a <.LCFI14>: 848a: 06 12 push r6 ; 0000848c <.LCFI15>: 848c: 05 12 push r5 ; 0000848e <.LCFI16>: 848e: 05 4c mov r12, r5 ; 8490: 06 4d mov r13, r6 ; 00008492 <.Loc.59.1>: if(x > 0) 8492: b0 12 8e a3 call #-23666 ;#0xa38e 00008496 <.LVL10>: 8496: 08 4c mov r12, r8 ; 8498: 09 4d mov r13, r9 ; 849a: 0a 4e mov r14, r10 ; 849c: 07 4f mov r15, r7 ; 0000849e <.Loc.59.1>: 849e: 4e 43 clr.b r14 ; 84a0: 0f 4e mov r14, r15 ; 84a2: 0c 45 mov r5, r12 ; 84a4: 0d 46 mov r6, r13 ; 84a6: b0 12 38 a3 call #-23752 ;#0xa338 84aa: 4d 43 clr.b r13 ; 84ac: 0d 9c cmp r12, r13 ; 84ae: 0b 34 jge $+24 ;abs 0x84c6 000084b0 <.Loc.60.1>: return (long)(x + 0.5); 84b0: 0c 4d mov r13, r12 ; 84b2: 0e 4d mov r13, r14 ; 84b4: 3f 40 e0 3f mov #16352, r15 ;#0x3fe0 84b8: 0b 47 mov r7, r11 ; 84ba: b0 12 7a a9 call #-22150 ;#0xa97a 000084be <.Loc.60.1>: 84be: b0 12 32 b3 call #-19662 ;#0xb332 000084c2 <.Loc.63.1>: } 84c2: 30 40 b6 b5 br #0xb5b6 ; 000084c6 <.L20>: return (long)(x - 0.5); 84c6: 4c 43 clr.b r12 ; 84c8: 0d 4c mov r12, r13 ; 84ca: 0e 4c mov r12, r14 ; 84cc: 3f 40 e0 3f mov #16352, r15 ;#0x3fe0 84d0: 0b 47 mov r7, r11 ; 84d2: b0 12 e0 a9 call #-22048 ;#0xa9e0 000084d6 <.Loc.62.1>: 84d6: b0 12 32 b3 call #-19662 ;#0xb332 000084da <.Loc.63.1>: } 84da: 30 40 b6 b5 br #0xb5b6 ; 000084de : _disable_interrupts(); //no nesting! 84de: 32 c2 dint 84e0: 03 43 nop 000084e2 <.Loc.74.1>: if((P1IFG & BUTTON) == BUTTON) 84e2: e2 b2 23 00 bit.b #4, &0x0023 ;r2 As==10 84e6: 02 24 jz $+6 ;abs 0x84ec 000084e8 <.Loc.81.1>: WDTCTL = 1;//not using the password will trigger a reset immediately 84e8: 92 43 20 01 mov #1, &0x0120 ;r3 As==01 000084ec <.L22>: P1IFG=0x00; 84ec: c2 43 23 00 mov.b #0, &0x0023 ;r3 As==00 000084f0 <.Loc.84.1>: _enable_interrupts(); 84f0: 32 d2 eint 000084f2 <.Loc.85.1>: } 84f2: 00 13 reti 000084f4 : if((P2IFG & GDO0) == GDO0) 84f4: f2 b0 40 00 bit.b #64, &0x002b ;#0x0040 84f8: 2b 00 84fa: 05 24 jz $+12 ;abs 0x8506 000084fc <.Loc.98.1>: flags |= CONTROLLER_RDY; 84fc: a2 d3 e0 02 bis #2, &0x02e0 ;r3 As==10 00008500 <.Loc.99.1>: LPM3_EXIT; 8500: b1 c0 d0 00 bic #208, 0(r1) ;#0x00d0 8504: 00 00 00008506 <.L27>: if((P2IFG & WIND) == WIND) 8506: e2 b2 2b 00 bit.b #4, &0x002b ;r2 As==10 850a: 04 24 jz $+10 ;abs 0x8514 0000850c <.Loc.104.1>: windRotAccum++; 850c: 92 53 d6 02 inc &0x02d6 ; 00008510 <.Loc.105.1>: P1OUT ^= LED_GRN; //toggle the green LED as an indicator of wind activity 8510: e2 e3 21 00 xor.b #2, &0x0021 ;r3 As==10 00008514 <.L28>: if((P2IFG & RAIN) == RAIN) 8514: f2 b2 2b 00 bit.b #8, &0x002b ;r2 As==11 8518: 04 24 jz $+10 ;abs 0x8522 0000851a <.Loc.110.1>: rainAccum++; 851a: 92 53 ca 02 inc &0x02ca ; 0000851e <.Loc.111.1>: P1OUT ^= LED_RED; //toggle the red LED as an indicator of rain activity 851e: d2 e3 21 00 xor.b #1, &0x0021 ;r3 As==01 00008522 <.L29>: P2IFG=0x00; 8522: c2 43 2b 00 mov.b #0, &0x002b ;r3 As==00 00008526 <.Loc.115.1>: } 8526: 00 13 reti 00008528 : LPM3_EXIT; 8528: b1 c0 d0 00 bic #208, 0(r1) ;#0x00d0 852c: 00 00 0000852e <.Loc.124.1>: } 852e: 00 13 reti 00008530 : { 8530: 0c 12 push r12 ; 00008532 <.LCFI19>: if(TAIV == 0x0A) //reading this bit will clear the interrupt flags 8532: 1c 42 2e 01 mov &0x012e,r12 ;0x012e 00008536 <.Loc.133.1>: 8536: 3c 90 0a 00 cmp #10, r12 ;#0x000a 853a: 07 20 jnz $+16 ;abs 0x854a 0000853c <.Loc.136.1>: flags |= TIMER_UP; 853c: 92 d3 e0 02 bis #1, &0x02e0 ;r3 As==01 00008540 <.Loc.137.1>: seconds++; 8540: 92 53 de 02 inc &0x02de ; 00008544 <.Loc.138.1>: LPM3_EXIT; 8544: b1 c0 d0 00 bic #208, 2(r1) ;#0x00d0 8548: 02 00 0000854a <.L40>: } 854a: 3c 41 pop r12 ; 0000854c <.LCFI20>: 854c: 00 13 reti 0000854e : rx_char = UCA0RXBUF; 854e: d2 42 66 00 mov.b &0x0066,&0x02d8 ;0x0066 8552: d8 02 00008554 <.Loc.149.1>: flags |= RXCHAR_RDY; 8554: b2 d2 e0 02 bis #8, &0x02e0 ;r2 As==11 00008558 <.Loc.150.1>: LPM3_EXIT; 8558: b1 c0 d0 00 bic #208, 0(r1) ;#0x00d0 855c: 00 00 0000855e <.Loc.151.1>: } 855e: 00 13 reti 00008560 : { 8560: 0a 12 push r10 ; 00008562 <.LCFI21>: TACTL = TASSEL_1; // ACLK, upmode 8562: b2 40 00 01 mov #256, &0x0160 ;#0x0100 8566: 60 01 00008568 <.Loc.159.1>: TACTL &= ~TAIFG; //clear interrupt 8568: 92 c3 60 01 bic #1, &0x0160 ;r3 As==01 0000856c <.Loc.160.1>: TACCR0 = (milliseconds * (unsigned long)12000)/1000; //one second intervals 856c: 0e 4c mov r12, r14 ; 856e: 0f 43 clr r15 ; 8570: 0c 4e mov r14, r12 ; 00008572 <.LVL17>: 8572: 0c 5e add r14, r12 ; 8574: 0d 4f mov r15, r13 ; 8576: 0d 6f addc r15, r13 ; 8578: 0a 4c mov r12, r10 ; 857a: 0a 5e add r14, r10 ; 857c: 0b 4d mov r13, r11 ; 857e: 0b 6f addc r15, r11 ; 8580: 0a 5a rla r10 ; 8582: 0b 6b rlc r11 ; 8584: 0a 5a rla r10 ; 8586: 0b 6b rlc r11 ; 8588: 0a 5a rla r10 ; 858a: 0b 6b rlc r11 ; 858c: 0a 5a rla r10 ; 858e: 0b 6b rlc r11 ; 8590: 0c 4a mov r10, r12 ; 8592: 0d 4b mov r11, r13 ; 8594: 0c 8e sub r14, r12 ; 8596: 0d 7f subc r15, r13 ; 8598: 0c 5c rla r12 ; 859a: 0d 6d rlc r13 ; 859c: 0c 5c rla r12 ; 859e: 0d 6d rlc r13 ; 85a0: 0c 5c rla r12 ; 85a2: 0d 6d rlc r13 ; 85a4: 0c 8e sub r14, r12 ; 85a6: 0d 7f subc r15, r13 ; 000085a8 <.Loc.160.1>: 85a8: 3e 40 e8 03 mov #1000, r14 ;#0x03e8 000085ac <.LVL18>: 85ac: 4f 43 clr.b r15 ; 85ae: 0c 5c rla r12 ; 85b0: 0d 6d rlc r13 ; 85b2: 0c 5c rla r12 ; 85b4: 0d 6d rlc r13 ; 85b6: 0c 5c rla r12 ; 85b8: 0d 6d rlc r13 ; 85ba: 0c 5c rla r12 ; 85bc: 0d 6d rlc r13 ; 85be: 0c 5c rla r12 ; 85c0: 0d 6d rlc r13 ; 85c2: b0 12 98 b5 call #-19048 ;#0xb598 000085c6 <.Loc.160.1>: 85c6: 82 4c 72 01 mov r12, &0x0172 ; 000085ca <.Loc.162.1>: TAR = 0; 85ca: 82 43 70 01 mov #0, &0x0170 ;r3 As==00 000085ce <.Loc.163.1>: TACTL |= MC_UPTO_CCR0 | TAIE; //overflow interrupt enabled, start counting! 85ce: b2 d0 12 00 bis #18, &0x0160 ;#0x0012 85d2: 60 01 000085d4 <.Loc.164.1>: } 85d4: 3a 41 pop r10 ; 000085d6 <.LCFI22>: 85d6: 30 41 ret 000085d8 : for (i = 0; i: 85dc: 4d 43 clr.b r13 ; 000085de <.L46>: __nop(); 85de: 03 43 nop 000085e0 <.Loc.175.1>: __nop(); 85e0: 03 43 nop 000085e2 <.Loc.176.1>: __nop(); 85e2: 03 43 nop 000085e4 <.Loc.177.1>: __nop(); 85e4: 03 43 nop 000085e6 <.Loc.178.1>: __nop(); 85e6: 03 43 nop 000085e8 <.Loc.179.1>: __nop(); 85e8: 03 43 nop 000085ea <.Loc.180.1>: __nop(); 85ea: 03 43 nop 000085ec <.Loc.181.1>: __nop(); 85ec: 03 43 nop 000085ee <.Loc.182.1>: __nop(); 85ee: 03 43 nop 000085f0 <.Loc.183.1>: __nop(); 85f0: 03 43 nop 000085f2 <.Loc.184.1>: __nop(); 85f2: 03 43 nop 000085f4 <.Loc.185.1>: __nop(); 85f4: 03 43 nop 000085f6 <.Loc.186.1>: __nop(); 85f6: 03 43 nop 000085f8 <.Loc.187.1>: __nop(); 85f8: 03 43 nop 000085fa <.Loc.188.1>: __nop(); 85fa: 03 43 nop 000085fc <.Loc.189.1>: __nop(); 85fc: 03 43 nop 000085fe <.Loc.172.1>: for (i = 0; i: 8600: 0d 9c cmp r12, r13 ; 8602: ed 23 jnz $-36 ;abs 0x85de 00008604 <.L44>: } 8604: 30 41 ret 00008606 : WDTCTL = WDTCTL_INIT; //Init watchdog timer 8606: b2 40 80 5a mov #23168, &0x0120 ;#0x5a80 860a: 20 01 0000860c <.Loc.200.1>: WDTCTL = WDT_ARST_1000; //Select ACLK as source 860c: b2 40 0c 5a mov #23052, &0x0120 ;#0x5a0c 8610: 20 01 00008612 <.Loc.201.1>: WDOG(); //Feed the dog 8612: 1c 42 20 01 mov &0x0120,r12 ;0x0120 8616: 7c f0 ff 00 and.b #255, r12 ;#0x00ff 861a: 3c 50 08 5a add #23048, r12 ;#0x5a08 861e: 82 4c 20 01 mov r12, &0x0120 ; 00008622 <.Loc.203.1>: P1DIR = P1DIR_INIT; //Init port direction register of port1 8622: f2 40 fb ff mov.b #-5, &0x0022 ;#0xfffb 8626: 22 00 00008628 <.Loc.204.1>: P2DIR = P2DIR_INIT; //Init port direction register of port2 8628: f2 40 30 00 mov.b #48, &0x002a ;#0x0030 862c: 2a 00 0000862e <.Loc.205.1>: P3DIR = P3DIR_INIT; 862e: f2 40 db ff mov.b #-37, &0x001a ;#0xffdb 8632: 1a 00 00008634 <.Loc.207.1>: P1OUT = P1OUT_INIT; //Init output data of port1 8634: e2 42 21 00 mov.b #4, &0x0021 ;r2 As==10 00008638 <.Loc.208.1>: P2OUT = P2OUT_INIT; //Init output data of port2 8638: f2 40 0c 00 mov.b #12, &0x0029 ;#0x000c 863c: 29 00 0000863e <.Loc.209.1>: P3OUT = P3OUT_INIT; 863e: d2 43 19 00 mov.b #1, &0x0019 ;r3 As==01 00008642 <.Loc.211.1>: P1SEL = P1SEL_INIT; //Select port or module -function on port1 8642: c2 43 26 00 mov.b #0, &0x0026 ;r3 As==00 00008646 <.Loc.212.1>: P2SEL = P2SEL_INIT; //Select port or module -function on port2 8646: c2 43 2e 00 mov.b #0, &0x002e ;r3 As==00 0000864a <.Loc.213.1>: P3SEL = P3SEL_INIT; 864a: f2 40 30 00 mov.b #48, &0x001b ;#0x0030 864e: 1b 00 00008650 <.Loc.215.1>: P1IES = P1IES_INIT; //init port interrupt edge 8650: c2 43 24 00 mov.b #0, &0x0024 ;r3 As==00 00008654 <.Loc.216.1>: P2IES = P2IES_INIT; 8654: f2 40 40 00 mov.b #64, &0x002c ;#0x0040 8658: 2c 00 0000865a <.Loc.218.1>: P1IE = P1IE_INIT; //init port interrupts 865a: e2 42 25 00 mov.b #4, &0x0025 ;r2 As==10 0000865e <.Loc.219.1>: P2IE = P2IE_INIT; 865e: f2 40 4c 00 mov.b #76, &0x002d ;#0x004c 8662: 2d 00 00008664 <.Loc.221.1>: P1REN = P1REN_INIT; //init pup / pdown resistors 8664: e2 42 27 00 mov.b #4, &0x0027 ;r2 As==10 00008668 <.Loc.221.1>: P2REN = P2REN_INIT; 8668: f2 40 0c 00 mov.b #12, &0x002f ;#0x000c 866c: 2f 00 0000866e <.Loc.222.1>: BCSCTL1 = CALBC1_12MHZ; // Set DCO 866e: d2 42 fb 10 mov.b &0x10fb,&0x0057 ;0x10fb 8672: 57 00 00008674 <.Loc.226.1>: DCOCTL = CALDCO_12MHZ; 8674: d2 42 fa 10 mov.b &0x10fa,&0x0056 ;0x10fa 8678: 56 00 0000867a <.Loc.228.1>: BCSCTL3 = LFXT1S_2; //use the ultra low oscilator for wakeup intervals, not very accurate/ 867a: f2 40 20 00 mov.b #32, &0x0053 ;#0x0020 867e: 53 00 00008680 <.Loc.229.1>: } 8680: 30 41 ret 00008682 : ADC10AE1 = BIT6; //BIT6 = A14 8682: f2 40 40 00 mov.b #64, &0x004b ;#0x0040 8686: 4b 00 00008688 <.Loc.237.1>: ADC10CTL0 = ADC10SR | ADC10ON | ADC10SHT_DIV64; //50kbps reduced power mode, ADC on, 16 clocks per sample window 8688: b2 40 10 1c mov #7184, &0x01b0 ;#0x1c10 868c: b0 01 0000868e <.Loc.238.1>: ADC10CTL1 = ADC10SSEL_ACLK; //ACLK sourced 868e: b2 42 b2 01 mov #8, &0x01b2 ;r2 As==11 00008692 <.Loc.239.1>: } 8692: 30 41 ret 00008694 : ADC10CTL0 |= ENC | ADC10SC; // Sampling and conversion start 8694: b2 d0 03 00 bis #3, &0x01b0 ; 8698: b0 01 0000869a <.L54>: while(ADC10CTL1 & ADC10BUSY); 869a: 92 b3 b2 01 bit #1, &0x01b2 ;r3 As==01 869e: fd 23 jnz $-4 ;abs 0x869a 000086a0 <.Loc.247.1>: } 86a0: 1c 42 b4 01 mov &0x01b4,r12 ;0x01b4 86a4: 30 41 ret 000086a6 : ADC10CTL0 &= ~ENC; // have to disable ADC10 to change channel 86a6: a2 c3 b0 01 bic #2, &0x01b0 ;r3 As==10 000086aa <.Loc.253.1>: ADC10CTL0 &= ~SREF_7; //set the ref to VCC for the external sensors (clear all three bits!) 86aa: b2 f0 ff 1f and #8191, &0x01b0 ;#0x1fff 86ae: b0 01 000086b0 <.Loc.255.1>: if(chan == INCH_TEMP) 86b0: 3c 90 00 a0 cmp #-24576,r12 ;#0xa000 86b4: 03 20 jnz $+8 ;abs 0x86bc 000086b6 <.Loc.256.1>: ADC10CTL0 |= SREF_VREF_AVSS; //set the ref to 1.5V for the temp sensor 86b6: b2 d0 00 20 bis #8192, &0x01b0 ;#0x2000 86ba: b0 01 000086bc <.L57>: ADC10CTL1 = ADC10SSEL_ACLK | chan; //ACLK sourced, A2 input 86bc: 3c d2 bis #8, r12 ;r2 As==11 000086be <.LVL26>: 86be: 82 4c b2 01 mov r12, &0x01b2 ; 000086c2 <.Loc.259.1>: ADC10CTL0 |= ENC | ADC10SC; // Sampling and conversion start 86c2: b2 d0 03 00 bis #3, &0x01b0 ; 86c6: b0 01 000086c8 <.Loc.260.1>: LPM3; 86c8: 32 d0 d0 00 bis #208, r2 ;#0x00d0 000086cc <.L58>: while(ADC10CTL1 & ADC10BUSY); //just a backup, interrupt should put us to sleep while transfer is occuring 86cc: 92 b3 b2 01 bit #1, &0x01b2 ;r3 As==01 86d0: fd 23 jnz $-4 ;abs 0x86cc 000086d2 <.Loc.262.1>: } 86d2: 1c 42 b4 01 mov &0x01b4,r12 ;0x01b4 86d6: 30 41 ret 000086d8 : for( pointer = 0; pointer < length; pointer++) 86d8: 4e 43 clr.b r14 ; 86da: 0e 9d cmp r13, r14 ; 86dc: 08 34 jge $+18 ;abs 0x86ee 86de: 0d 5c add r12, r13 ; 000086e0 <.L63>: UCA0TXBUF = string[pointer]; 86e0: f2 4c 67 00 mov.b @r12+, &0x0067 ; 000086e4 <.L62>: while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready? 86e4: e2 b3 03 00 bit.b #2, &0x0003 ;r3 As==10 86e8: fd 27 jz $-4 ;abs 0x86e4 000086ea <.LBE26>: for( pointer = 0; pointer < length; pointer++) 86ea: 0c 9d cmp r13, r12 ; 86ec: f9 23 jnz $-12 ;abs 0x86e0 000086ee <.L60>: } 86ee: 30 41 ret 000086f0 : UCA0CTL1 = UCSSEL_2; // SMCLK 86f0: f2 40 80 ff mov.b #-128, &0x0061 ;#0xff80 86f4: 61 00 000086f6 <.Loc.285.1>: UCA0BR0=0xE2; UCA0BR1=0x04; //9600 from 12 86f6: f2 40 e2 ff mov.b #-30, &0x0062 ;#0xffe2 86fa: 62 00 000086fc <.Loc.285.1>: 86fc: e2 42 63 00 mov.b #4, &0x0063 ;r2 As==10 00008700 <.Loc.287.1>: UCA0MCTL = UCBRS_2; 8700: e2 42 64 00 mov.b #4, &0x0064 ;r2 As==10 00008704 <.Loc.288.1>: UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine** 8704: d2 c3 61 00 bic.b #1, &0x0061 ;r3 As==01 00008708 <.Loc.289.1>: IE2 |= UCA0RXIE; 8708: d2 d3 01 00 bis.b #1, &0x0001 ;r3 As==01 0000870c <.Loc.290.1>: } 870c: 30 41 ret 0000870e : UCB0CTL1 = UCSWRST; 870e: d2 43 69 00 mov.b #1, &0x0069 ;r3 As==01 00008712 <.Loc.295.1>: UCB0CTL1 = UCSWRST | UCSSEL1; 8712: f2 40 81 ff mov.b #-127, &0x0069 ;#0xff81 8716: 69 00 00008718 <.Loc.296.1>: UCB0CTL0 = UCCKPH | UCMSB | UCMST | UCSYNC; 8718: f2 40 a9 ff mov.b #-87, &0x0068 ;#0xffa9 871c: 68 00 0000871e <.Loc.297.1>: UCB0BR0 = 2; 871e: e2 43 6a 00 mov.b #2, &0x006a ;r3 As==10 00008722 <.Loc.298.1>: UCB0BR1 = 0; 8722: c2 43 6b 00 mov.b #0, &0x006b ;r3 As==00 00008726 <.Loc.299.1>: UCB0CTL1 &= ~UCSWRST; 8726: d2 c3 69 00 bic.b #1, &0x0069 ;r3 As==01 0000872a <.Loc.301.1>: } 872a: 30 41 ret 0000872c : asm("lcdloop: dec %0\n jnz lcdloop\n ret" :: "r" (n)); 872c: 1c 83 dec r12 ; 872e: fe 23 jnz $-2 ;abs 0x872c 8730: 30 41 ret 00008732 : { 8732: 0a 12 push r10 ; 00008734 <.LCFI23>: CCXX_SPI_WRREG(CCxxx0_IOCFG2, P2_IOCFG2); // GDO2 output pin config. 8734: 3a 40 28 94 mov #-27608,r10 ;#0x9428 8738: 7d 40 0b 00 mov.b #11, r13 ;#0x000b 873c: 4c 43 clr.b r12 ; 873e: 8a 12 call r10 ; 00008740 <.LVL34>: CCXX_SPI_WRREG(CCxxx0_IOCFG0, P2_IOCFG0); // GDO0 output pin config. 8740: 7d 40 06 00 mov.b #6, r13 ; 8744: 6c 43 mov.b #2, r12 ;r3 As==10 8746: 8a 12 call r10 ; 00008748 <.LVL35>: CCXX_SPI_WRREG(CCxxx0_PKTLEN, P2_PKTLEN); // Packet length. 8748: 7d 40 3c 00 mov.b #60, r13 ;#0x003c 874c: 7c 40 06 00 mov.b #6, r12 ; 8750: 8a 12 call r10 ; 00008752 <.LVL36>: CCXX_SPI_WRREG(CCxxx0_PKTCTRL1, P2_PKTCTRL1); // Packet automation control. 8752: 6d 42 mov.b #4, r13 ;r2 As==10 8754: 7c 40 07 00 mov.b #7, r12 ; 8758: 8a 12 call r10 ; 0000875a <.LVL37>: CCXX_SPI_WRREG(CCxxx0_PKTCTRL0, P2_PKTCTRL0); // Packet automation control. 875a: 7d 40 05 00 mov.b #5, r13 ; 875e: 7c 42 mov.b #8, r12 ;r2 As==11 8760: 8a 12 call r10 ; 00008762 <.LVL38>: CCXX_SPI_WRREG(CCxxx0_ADDR, P2_ADDR); // Device address. 8762: 5d 43 mov.b #1, r13 ;r3 As==01 8764: 7c 40 09 00 mov.b #9, r12 ; 8768: 8a 12 call r10 ; 0000876a <.LVL39>: CCXX_SPI_WRREG(CCxxx0_CHANNR, P2_CHANNR); // Channel number. 876a: 7d 40 9a ff mov.b #-102, r13 ;#0xff9a 876e: 7c 40 0a 00 mov.b #10, r12 ;#0x000a 8772: 8a 12 call r10 ; 00008774 <.LVL40>: CCXX_SPI_WRREG(CCxxx0_FSCTRL1, P2_FSCTRL1); // Freq synthesizer control. 8774: 7d 40 0a 00 mov.b #10, r13 ;#0x000a 8778: 7c 40 0b 00 mov.b #11, r12 ;#0x000b 877c: 8a 12 call r10 ; 0000877e <.LVL41>: CCXX_SPI_WRREG(CCxxx0_FSCTRL0, P2_FSCTRL0); // Freq synthesizer control. 877e: 4d 43 clr.b r13 ; 8780: 7c 40 0c 00 mov.b #12, r12 ;#0x000c 8784: 8a 12 call r10 ; 00008786 <.LVL42>: CCXX_SPI_WRREG(CCxxx0_FREQ2, P2_FREQ2); // Freq control word, high byte 8786: 7d 40 5c 00 mov.b #92, r13 ;#0x005c 878a: 7c 40 0d 00 mov.b #13, r12 ;#0x000d 878e: 8a 12 call r10 ; 00008790 <.LVL43>: CCXX_SPI_WRREG(CCxxx0_FREQ1, P2_FREQ1); // Freq control word, mid byte. 8790: 7d 40 4f 00 mov.b #79, r13 ;#0x004f 8794: 7c 40 0e 00 mov.b #14, r12 ;#0x000e 8798: 8a 12 call r10 ; 0000879a <.LVL44>: CCXX_SPI_WRREG(CCxxx0_FREQ0, P2_FREQ0); // Freq control word, low byte. 879a: 7d 40 c0 ff mov.b #-64, r13 ;#0xffc0 879e: 7c 40 0f 00 mov.b #15, r12 ;#0x000f 87a2: 8a 12 call r10 ; 000087a4 <.LVL45>: CCXX_SPI_WRREG(CCxxx0_MDMCFG4, P2_MDMCFG4); // Modem configuration. 87a4: 7d 40 2d 00 mov.b #45, r13 ;#0x002d 87a8: 7c 40 10 00 mov.b #16, r12 ;#0x0010 87ac: 8a 12 call r10 ; 000087ae <.LVL46>: CCXX_SPI_WRREG(CCxxx0_MDMCFG3, P2_MDMCFG3); // Modem configuration. 87ae: 7d 40 3b 00 mov.b #59, r13 ;#0x003b 87b2: 7c 40 11 00 mov.b #17, r12 ;#0x0011 87b6: 8a 12 call r10 ; 000087b8 <.LVL47>: CCXX_SPI_WRREG(CCxxx0_MDMCFG2, P2_MDMCFG2); // Modem configuration. 87b8: 7d 40 73 00 mov.b #115, r13 ;#0x0073 87bc: 7c 40 12 00 mov.b #18, r12 ;#0x0012 87c0: 8a 12 call r10 ; 000087c2 <.LVL48>: CCXX_SPI_WRREG(CCxxx0_MDMCFG1, P2_MDMCFG1); // Modem configuration. 87c2: 7d 40 23 00 mov.b #35, r13 ;#0x0023 87c6: 7c 40 13 00 mov.b #19, r12 ;#0x0013 87ca: 8a 12 call r10 ; 000087cc <.LVL49>: CCXX_SPI_WRREG(CCxxx0_MDMCFG0, P2_MDMCFG0); // Modem configuration. 87cc: 7d 40 b9 ff mov.b #-71, r13 ;#0xffb9 87d0: 7c 40 14 00 mov.b #20, r12 ;#0x0014 87d4: 8a 12 call r10 ; 000087d6 <.LVL50>: CCXX_SPI_WRREG(CCxxx0_DEVIATN, P2_DEVIATN); // Modem dev (when FSK mod en) 87d6: 5d 43 mov.b #1, r13 ;r3 As==01 87d8: 7c 40 15 00 mov.b #21, r12 ;#0x0015 87dc: 8a 12 call r10 ; 000087de <.LVL51>: CCXX_SPI_WRREG(CCxxx0_MCSM1 , P2_MCSM1 ); //MainRadio Cntrl State Machine 87de: 7d 40 33 00 mov.b #51, r13 ;#0x0033 87e2: 7c 40 17 00 mov.b #23, r12 ;#0x0017 87e6: 8a 12 call r10 ; 000087e8 <.LVL52>: CCXX_SPI_WRREG(CCxxx0_MCSM0 , P2_MCSM0 ); //MainRadio Cntrl State Machine 87e8: 7d 40 18 00 mov.b #24, r13 ;#0x0018 87ec: 4c 4d mov.b r13, r12 ; 87ee: 8a 12 call r10 ; 000087f0 <.LVL53>: CCXX_SPI_WRREG(CCxxx0_FOCCFG, P2_FOCCFG); // Freq Offset Compens. Config 87f0: 7d 40 1d 00 mov.b #29, r13 ;#0x001d 87f4: 7c 40 19 00 mov.b #25, r12 ;#0x0019 87f8: 8a 12 call r10 ; 000087fa <.LVL54>: CCXX_SPI_WRREG(CCxxx0_BSCFG, P2_BSCFG); // Bit synchronization config. 87fa: 7d 40 1c 00 mov.b #28, r13 ;#0x001c 87fe: 7c 40 1a 00 mov.b #26, r12 ;#0x001a 8802: 8a 12 call r10 ; 00008804 <.LVL55>: CCXX_SPI_WRREG(CCxxx0_AGCCTRL2, P2_AGCCTRL2); // AGC control. 8804: 7d 40 c7 ff mov.b #-57, r13 ;#0xffc7 8808: 7c 40 1b 00 mov.b #27, r12 ;#0x001b 880c: 8a 12 call r10 ; 0000880e <.LVL56>: CCXX_SPI_WRREG(CCxxx0_AGCCTRL1, P2_AGCCTRL1); // AGC control. 880e: 4d 43 clr.b r13 ; 8810: 7c 40 1c 00 mov.b #28, r12 ;#0x001c 8814: 8a 12 call r10 ; 00008816 <.LVL57>: CCXX_SPI_WRREG(CCxxx0_AGCCTRL0, P2_AGCCTRL0); // AGC control. 8816: 7d 40 b0 ff mov.b #-80, r13 ;#0xffb0 881a: 7c 40 1d 00 mov.b #29, r12 ;#0x001d 881e: 8a 12 call r10 ; 00008820 <.LVL58>: CCXX_SPI_WRREG(CCxxx0_FREND1, P2_FREND1); // Front end RX configuration. 8820: 7d 40 b6 ff mov.b #-74, r13 ;#0xffb6 8824: 7c 40 21 00 mov.b #33, r12 ;#0x0021 8828: 8a 12 call r10 ; 0000882a <.LVL59>: CCXX_SPI_WRREG(CCxxx0_FREND0, P2_FREND0); // Front end RX configuration. 882a: 7d 40 10 00 mov.b #16, r13 ;#0x0010 882e: 7c 40 22 00 mov.b #34, r12 ;#0x0022 8832: 8a 12 call r10 ; 00008834 <.LVL60>: CCXX_SPI_WRREG(CCxxx0_FSCAL3, P2_FSCAL3); // Frequency synthesizer cal. 8834: 7d 40 ea ff mov.b #-22, r13 ;#0xffea 8838: 7c 40 23 00 mov.b #35, r12 ;#0x0023 883c: 8a 12 call r10 ; 0000883e <.LVL61>: CCXX_SPI_WRREG(CCxxx0_FSCAL2, P2_FSCAL2); // Frequency synthesizer cal. 883e: 7d 40 0a 00 mov.b #10, r13 ;#0x000a 8842: 7c 40 24 00 mov.b #36, r12 ;#0x0024 8846: 8a 12 call r10 ; 00008848 <.LVL62>: CCXX_SPI_WRREG(CCxxx0_FSCAL1, P2_FSCAL1); // Frequency synthesizer cal. 8848: 4d 43 clr.b r13 ; 884a: 7c 40 25 00 mov.b #37, r12 ;#0x0025 884e: 8a 12 call r10 ; 00008850 <.LVL63>: CCXX_SPI_WRREG(CCxxx0_FSCAL0, P2_FSCAL0); // Frequency synthesizer cal. 8850: 7d 40 11 00 mov.b #17, r13 ;#0x0011 8854: 7c 40 26 00 mov.b #38, r12 ;#0x0026 8858: 8a 12 call r10 ; 0000885a <.LVL64>: CCXX_SPI_WRREG(CCxxx0_FSTEST, P2_FSTEST); // Frequency synthesizer cal. 885a: 7d 40 59 00 mov.b #89, r13 ;#0x0059 885e: 7c 40 29 00 mov.b #41, r12 ;#0x0029 8862: 8a 12 call r10 ; 00008864 <.LVL65>: CCXX_SPI_WRREG(CCxxx0_TEST2, P2_TEST2); // Various test settings. 8864: 7d 40 88 ff mov.b #-120, r13 ;#0xff88 8868: 7c 40 2c 00 mov.b #44, r12 ;#0x002c 886c: 8a 12 call r10 ; 0000886e <.LVL66>: CCXX_SPI_WRREG(CCxxx0_TEST1, P2_TEST1); // Various test settings. 886e: 7d 40 31 00 mov.b #49, r13 ;#0x0031 8872: 7c 40 2d 00 mov.b #45, r12 ;#0x002d 8876: 8a 12 call r10 ; 00008878 <.LVL67>: CCXX_SPI_WRREG(CCxxx0_TEST0, P2_TEST0); // Various test settings. 8878: 7d 40 0b 00 mov.b #11, r13 ;#0x000b 887c: 7c 40 2e 00 mov.b #46, r12 ;#0x002e 8880: 8a 12 call r10 ; 00008882 <.LVL68>: CCXX_SPI_WRREG(CCxxx0_PATABLE, P2_PATABLE); // Output Power 8882: 7d 43 mov.b #-1, r13 ;r3 As==11 8884: 7c 40 3e 00 mov.b #62, r12 ;#0x003e 8888: 8a 12 call r10 ; 0000888a <.LVL69>: } 888a: 3a 41 pop r10 ; 0000888c <.LCFI24>: 888c: 30 41 ret 0000888e : { 888e: 0a 12 push r10 ; 00008890 <.LCFI25>: 8890: 09 12 push r9 ; 00008892 <.LCFI26>: CCXX_SPI_STROBE(CCxxx0_SIDLE); //S/B 1.5mA here 8892: 3a 40 92 93 mov #-27758,r10 ;#0x9392 8896: 7c 40 36 00 mov.b #54, r12 ;#0x0036 889a: 8a 12 call r10 ; 0000889c <.LVL70>: while((status & CCxxx0_STAT_ADDR) != CCxxx0_STAT_IDLE) 889c: f2 b0 70 00 bit.b #112, &0x02e2 ;#0x0070 88a0: e2 02 88a2: 08 24 jz $+18 ;abs 0x88b4 000088a4 <.Loc.741.1>: CCXX_SPI_STROBE(CCxxx0_SNOP) ; //(wait for 15, idle)read status byte.... 88a4: 79 40 3d 00 mov.b #61, r9 ;#0x003d 000088a8 <.L73>: 88a8: 4c 49 mov.b r9, r12 ; 88aa: 8a 12 call r10 ; 000088ac <.LVL71>: while((status & CCxxx0_STAT_ADDR) != CCxxx0_STAT_IDLE) 88ac: f2 b0 70 00 bit.b #112, &0x02e2 ;#0x0070 88b0: e2 02 88b2: fa 23 jnz $-10 ;abs 0x88a8 000088b4 <.L72>: CCXX_SPI_STROBE(CCxxx0_SXOFF); //shutdown oscillator, 0.16mA 88b4: 7c 40 32 00 mov.b #50, r12 ;#0x0032 88b8: 8a 12 call r10 ; 000088ba <.LVL72>: } 88ba: 30 40 be b5 br #0xb5be ; 000088be : if((status & CCxxx0_STAT_ADDR) == CCxxx0_STAT_RX) 88be: 5c 42 e2 02 mov.b &0x02e2,r12 ;0x02e2 88c2: 7c f0 70 00 and.b #112, r12 ;#0x0070 88c6: 7c 90 10 00 cmp.b #16, r12 ;#0x0010 88ca: 02 24 jz $+6 ;abs 0x88d0 88cc: b0 12 f0 83 call #-31760 ;#0x83f0 000088d0 <.L78>: } 88d0: 30 41 ret 000088d2 : No timeout Interrupt driven! yay! */ char RX_STRING(unsigned char *rxbuf, unsigned char length) { 88d2: 0a 12 push r10 ; 000088d4 <.LCFI28>: 88d4: 09 12 push r9 ; 000088d6 <.LCFI29>: 88d6: 08 12 push r8 ; 000088d8 <.LCFI30>: 88d8: 07 12 push r7 ; 000088da <.LCFI31>: 88da: 06 12 push r6 ; 000088dc <.LCFI32>: 88dc: 05 12 push r5 ; 000088de <.LCFI33>: 88de: 04 12 push r4 ; 000088e0 <.LCFI34>: 88e0: 21 82 sub #4, r1 ;r2 As==10 000088e2 <.LCFI35>: 88e2: 04 4c mov r12, r4 ; 88e4: 48 4d mov.b r13, r8 ; 000088e6 <.LVL75>: //interrupt driven, GDO0 had better be low! //if((P2IN&GDO0) == GDO0) //wait wha? // break; pkt_length = CCXX_SPI_RDREG(CCxxx0_RXFIFO);//length of the packet 88e6: 39 40 c6 93 mov #-27706,r9 ;#0x93c6 88ea: 7c 40 bf ff mov.b #-65, r12 ;#0xffbf 000088ee <.LVL76>: 88ee: 89 12 call r9 ; 000088f0 <.LVL77>: 88f0: 3c f0 ff 00 and #255, r12 ;#0x00ff 88f4: 81 4c 00 00 mov r12, 0(r1) ; 000088f8 <.LVL78>: real_length = CCXX_SPI_RDREG(CCxxx0_RXBYTES);//length of the packet 88f8: 7c 40 3b 00 mov.b #59, r12 ;#0x003b 000088fc <.LVL79>: 88fc: 89 12 call r9 ; 000088fe <.LVL80>: 88fe: 3c f0 ff 00 and #255, r12 ;#0x00ff 8902: 81 4c 02 00 mov r12, 2(r1) ; 00008906 <.LVL81>: for(i=0; i < length && i < pkt_length; i++) 8906: 08 93 cmp #0, r8 ;r3 As==00 8908: 4e 24 jz $+158 ;abs 0x89a6 0000890a <.Loc.780.1>: 890a: 81 93 00 00 cmp #0, 0(r1) ;r3 As==00 890e: 4d 24 jz $+156 ;abs 0x89aa 8910: 05 44 mov r4, r5 ; 00008912 <.Loc.780.1>: 8912: 4a 43 clr.b r10 ; 00008914 <.Loc.782.1>: { rxbuf[i] = CCXX_SPI_RDREG(CCxxx0_RXFIFO);//get the byte 8914: 77 40 bf ff mov.b #-65, r7 ;#0xffbf 00008918 <.Loc.780.1>: for(i=0; i < length && i < pkt_length; i++) 8918: 2c 41 mov @r1, r12 ; 0000891a <.LVL82>: 891a: 46 4c mov.b r12, r6 ; 891c: 02 3c jmp $+6 ;abs 0x8922 0000891e <.L92>: 891e: 46 9d cmp.b r13, r6 ; 8920: 0b 24 jz $+24 ;abs 0x8938 00008922 <.L85>: rxbuf[i] = CCXX_SPI_RDREG(CCxxx0_RXFIFO);//get the byte 8922: 4c 47 mov.b r7, r12 ; 8924: 89 12 call r9 ; 00008926 <.LVL85>: 8926: c5 4c 00 00 mov.b r12, 0(r5) ; 892a: 15 53 inc r5 ; 0000892c <.Loc.780.1>: for(i=0; i < length && i < pkt_length; i++) 892c: 4d 4a mov.b r10, r13 ; 892e: 5d 53 inc.b r13 ; 8930: 4a 4d mov.b r13, r10 ; 00008932 <.LVL86>: 8932: 04 45 mov r5, r4 ; 00008934 <.Loc.780.1>: 8934: 48 9d cmp.b r13, r8 ; 8936: f3 23 jnz $-24 ;abs 0x891e 00008938 <.L84>: //GPSbuf[i] = rxbuf[i]; } rxbuf[i] = '\0';//set the NULL terminator 8938: c4 43 00 00 mov.b #0, 0(r4) ;r3 As==00 0000893c <.Loc.787.1>: RSSI = CCXX_SPI_RDREG(CCxxx0_RXFIFO);//get the ESSI 893c: 7c 40 bf ff mov.b #-65, r12 ;#0xffbf 8940: 89 12 call r9 ; 00008942 <.LVL88>: 8942: c2 4c dc 02 mov.b r12, &0x02dc ; 00008946 <.Loc.788.1>: LQI = CCXX_SPI_RDREG(CCxxx0_RXFIFO);//get the CRC 8946: 7c 40 bf ff mov.b #-65, r12 ;#0xffbf 894a: 89 12 call r9 ; 0000894c <.LVL89>: 894c: c2 4c db 02 mov.b r12, &0x02db ; 00008950 <.Loc.789.1>: PKTSTATUS = CCXX_SPI_RDREG(CCxxx0_PKTSTATUS); 8950: 7c 40 38 00 mov.b #56, r12 ;#0x0038 8954: 89 12 call r9 ; 00008956 <.LVL90>: 8956: c2 4c da 02 mov.b r12, &0x02da ; 0000895a <.Loc.792.1>: if(real_length != (pkt_length + 2)) //packets lengths dont match, LQI mis-reported 895a: 25 41 mov @r1, r5 ; 895c: 25 53 incd r5 ; 0000895e <.Loc.792.1>: 895e: 81 95 02 00 cmp r5, 2(r1) ; 8962: 03 24 jz $+8 ;abs 0x896a 00008964 <.Loc.793.1>: LQI &= ~BIT7; //force it to be INVALID! 8964: f2 f0 7f 00 and.b #127, &0x02db ;#0x007f 8968: db 02 0000896a <.L86>: if (RSSI >= 128) 896a: 5c 42 dc 02 mov.b &0x02dc,r12 ;0x02dc 0000896e <.Loc.795.1>: 896e: 4c 93 cmp.b #0, r12 ;r3 As==00 8970: 12 38 jl $+38 ;abs 0x8996 00008972 <.Loc.798.1>: RSSI_DBM = (int)((int )(RSSI - 256) / 2) - 72; else RSSI_DBM = (RSSI / 2) - 72; 8972: 12 c3 clrc 8974: 0c 10 rrc r12 ; 8976: 7c 50 b8 ff add.b #-72, r12 ;#0xffb8 897a: c2 4c d9 02 mov.b r12, &0x02d9 ; 0000897e <.L88>: CCXX_SPI_STROBE(CCxxx0_SFRX); //flush the buffer 897e: 39 40 92 93 mov #-27758,r9 ;#0x9392 8982: 7c 40 3a 00 mov.b #58, r12 ;#0x003a 8986: 89 12 call r9 ; 00008988 <.LVL91>: CCXX_SPI_STROBE(CCxxx0_SIDLE); //return to IDLE state 8988: 7c 40 36 00 mov.b #54, r12 ;#0x0036 898c: 89 12 call r9 ; 0000898e <.LVL92>: return i; //i = real length } 898e: 4c 4a mov.b r10, r12 ; 8990: 21 52 add #4, r1 ;r2 As==10 00008992 <.LCFI36>: 8992: 30 40 b4 b5 br #0xb5b4 ; 00008996 <.L93>: RSSI_DBM = (int)((int )(RSSI - 256) / 2) - 72; 8996: 3c 50 01 ff add #-255, r12 ;#0xff01 899a: 0c 11 rra r12 ; 0000899c <.Loc.796.1>: 899c: 7c 50 b8 ff add.b #-72, r12 ;#0xffb8 89a0: c2 4c d9 02 mov.b r12, &0x02d9 ; 89a4: ec 3f jmp $-38 ;abs 0x897e 000089a6 <.L89>: for(i=0; i < length && i < pkt_length; i++) 89a6: 0a 48 mov r8, r10 ; 89a8: c7 3f jmp $-112 ;abs 0x8938 000089aa <.L90>: 89aa: 2a 41 mov @r1, r10 ; 89ac: c5 3f jmp $-116 ;abs 0x8938 000089ae : /** Transmit a string of bytes. */ void TX_STRING(unsigned char *txstring, unsigned char length) { 89ae: 0a 12 push r10 ; 000089b0 <.LCFI38>: 89b0: 09 12 push r9 ; 000089b2 <.LCFI39>: 89b2: 08 12 push r8 ; 000089b4 <.LCFI40>: 89b4: 07 12 push r7 ; 000089b6 <.LCFI41>: 89b6: 08 4c mov r12, r8 ; 89b8: 47 4d mov.b r13, r7 ; 89ba: 3a 40 92 93 mov #-27758,r10 ;#0x9392 000089be <.Loc.815.1>: unsigned char i; //length += 3; do{ CCXX_SPI_STROBE(CCxxx0_SIDLE);//Idle 89be: 79 40 36 00 mov.b #54, r9 ;#0x0036 000089c2 <.L95>: 89c2: 4c 49 mov.b r9, r12 ; 89c4: 8a 12 call r10 ; 000089c6 <.LVL98>: }while((status & CCxxx0_STAT_ADDR) != CCxxx0_STAT_IDLE); //wait for idle 89c6: f2 b0 70 00 bit.b #112, &0x02e2 ;#0x0070 89ca: e2 02 89cc: fa 23 jnz $-10 ;abs 0x89c2 000089ce <.Loc.827.1>: { if(i < length) CCXX_SPI_WRREG(CCxxx0_TXFIFO, txstring[i]);//Write data to FIFO }*/ CCXX_SPI_BURST_WRREG(CCxxx0_TXFIFO_BURST, txstring, length); 89ce: 4e 47 mov.b r7, r14 ; 89d0: 0d 48 mov r8, r13 ; 89d2: 7c 40 7f 00 mov.b #127, r12 ;#0x007f 89d6: b0 12 72 94 call #-27534 ;#0x9472 000089da <.LVL99>: CCXX_SPI_STROBE(CCxxx0_STX); // send tx strobe and TX begins, returns to 15 or 31 when complete (depending on MCSM1) 89da: 7c 40 35 00 mov.b #53, r12 ;#0x0035 89de: 8a 12 call r10 ; 000089e0 <.LVL100>: do { CCXX_SPI_STROBE(CCxxx0_SNOP) ; //(wait for 15, idle)read status byte.... 89e0: 79 40 3d 00 mov.b #61, r9 ;#0x003d 000089e4 <.L96>: 89e4: 4c 49 mov.b r9, r12 ; 89e6: 8a 12 call r10 ; 000089e8 <.LVL101>: //if(status == 31) //fast RX mode yay if((status & CCxxx0_STAT_ADDR) == CCxxx0_STAT_RX) //fast RX mode yay break; }while((status & CCxxx0_STAT_ADDR) != CCxxx0_STAT_IDLE); //(15)31 for return to TX on complete, see MCSM1 89e8: f2 b0 60 00 bit.b #96, &0x02e2 ;#0x0060 89ec: e2 02 89ee: fa 23 jnz $-10 ;abs 0x89e4 000089f0 <.Loc.839.1>: } 89f0: 30 40 ba b5 br #0xb5ba ; 000089f4
: { 89f4: 0a 12 push r10 ; 000089f6 <.LCFI43>: 89f6: 09 12 push r9 ; 000089f8 <.LCFI44>: 89f8: 08 12 push r8 ; 000089fa <.LCFI45>: 89fa: 07 12 push r7 ; 000089fc <.LCFI46>: 89fc: 06 12 push r6 ; 000089fe <.LCFI47>: 89fe: 05 12 push r5 ; 00008a00 <.LCFI48>: 8a00: 04 12 push r4 ; 00008a02 <.LCFI49>: 8a02: 31 80 6c 00 sub #108, r1 ;#0x006c 00008a06 <.LCFI50>: sys_init(); //initialize system parameters 8a06: b0 12 06 86 call #-31226 ;#0x8606 00008a0a <.LBB27>: UCB0CTL1 = UCSWRST; 8a0a: d2 43 69 00 mov.b #1, &0x0069 ;r3 As==01 00008a0e <.Loc.295.1>: UCB0CTL1 = UCSWRST | UCSSEL1; 8a0e: f2 40 81 ff mov.b #-127, &0x0069 ;#0xff81 8a12: 69 00 00008a14 <.Loc.296.1>: UCB0CTL0 = UCCKPH | UCMSB | UCMST | UCSYNC; 8a14: f2 40 a9 ff mov.b #-87, &0x0068 ;#0xffa9 8a18: 68 00 00008a1a <.Loc.297.1>: UCB0BR0 = 2; 8a1a: e2 43 6a 00 mov.b #2, &0x006a ;r3 As==10 00008a1e <.Loc.298.1>: UCB0BR1 = 0; 8a1e: c2 43 6b 00 mov.b #0, &0x006b ;r3 As==00 00008a22 <.Loc.299.1>: UCB0CTL1 &= ~UCSWRST; 8a22: d2 c3 69 00 bic.b #1, &0x0069 ;r3 As==01 00008a26 <.LBB29>: ADC10AE1 = BIT6; //BIT6 = A14 8a26: f2 40 40 00 mov.b #64, &0x004b ;#0x0040 8a2a: 4b 00 00008a2c <.Loc.237.1>: ADC10CTL0 = ADC10SR | ADC10ON | ADC10SHT_DIV64; //50kbps reduced power mode, ADC on, 16 clocks per sample window 8a2c: b2 40 10 1c mov #7184, &0x01b0 ;#0x1c10 8a30: b0 01 00008a32 <.Loc.238.1>: ADC10CTL1 = ADC10SSEL_ACLK; //ACLK sourced 8a32: b2 42 b2 01 mov #8, &0x01b2 ;r2 As==11 00008a36 <.LBE29>: P1OUT ^= LED_GRN; 8a36: e2 e3 21 00 xor.b #2, &0x0021 ;r3 As==10 00008a3a <.Loc.355.1>: delay(0xFFFF); //lil bit O delay 8a3a: 3c 43 mov #-1, r12 ;r3 As==11 8a3c: b0 12 d8 85 call #-31272 ;#0x85d8 00008a40 <.LVL104>: P1OUT ^= LED_GRN; 8a40: e2 e3 21 00 xor.b #2, &0x0021 ;r3 As==10 00008a44 <.Loc.360.1>: init_SHT31D(); //initialize the SHT31D (software reset) 8a44: b0 12 bc a2 call #-23876 ;#0xa2bc 00008a48 <.LVL105>: memset(rxbuf, '\0', 64); //clear the buffer 8a48: 7e 40 40 00 mov.b #64, r14 ;#0x0040 8a4c: 4d 43 clr.b r13 ; 8a4e: 0c 41 mov r1, r12 ; 8a50: 3c 50 2c 00 add #44, r12 ;#0x002c 8a54: b0 12 58 be call #-16808 ;#0xbe58 00008a58 <.LVL106>: P3OUT &= ~CSn; //power on reset for radio, strobe CSn 8a58: d2 c3 19 00 bic.b #1, &0x0019 ;r3 As==01 00008a5c <.Loc.365.1>: delay(0xFF); 8a5c: 7c 40 ff 00 mov.b #255, r12 ;#0x00ff 8a60: b0 12 d8 85 call #-31272 ;#0x85d8 00008a64 <.LVL107>: P3OUT |= CSn; 8a64: d2 d3 19 00 bis.b #1, &0x0019 ;r3 As==01 00008a68 <.Loc.368.1>: delay(0xFFFF); 8a68: 3c 43 mov #-1, r12 ;r3 As==11 8a6a: b0 12 d8 85 call #-31272 ;#0x85d8 00008a6e <.LVL108>: CCXX_SPI_STROBE(CCxxx0_SRES); //reset chip 8a6e: 7c 40 30 00 mov.b #48, r12 ;#0x0030 8a72: b0 12 92 93 call #-27758 ;#0x9392 00008a76 <.LVL109>: CCXX_WRITE_SPI_RF_SETTINGS(); //init chip 8a76: b0 12 32 87 call #-30926 ;#0x8732 00008a7a <.LVL110>: CCXX_SPI_STROBE(CCxxx0_SIDLE); //put into idle state 8a7a: 7c 40 36 00 mov.b #54, r12 ;#0x0036 8a7e: b0 12 92 93 call #-27758 ;#0x9392 00008a82 <.LVL111>: WDOG(); //Feed the dog 8a82: 1c 42 20 01 mov &0x0120,r12 ;0x0120 8a86: 7c f0 ff 00 and.b #255, r12 ;#0x00ff 8a8a: 3c 50 08 5a add #23048, r12 ;#0x5a08 8a8e: 82 4c 20 01 mov r12, &0x0120 ; 8a92: 39 40 c6 93 mov #-27706,r9 ;#0x93c6 00008a96 <.Loc.378.1>: i = CCXX_SPI_RDREG(CCxxx0_MARCSTATE);//wait for IDLE 8a96: 7a 40 35 00 mov.b #53, r10 ;#0x0035 00008a9a <.L100>: 8a9a: 4c 4a mov.b r10, r12 ; 8a9c: 89 12 call r9 ; 00008a9e <.LVL112>: }while(i != 1); //this loop won't finish if theres a problem with the chip 8a9e: 5c 93 cmp.b #1, r12 ;r3 As==01 8aa0: fc 23 jnz $-6 ;abs 0x8a9a 00008aa2 <.Loc.383.1>: P1OUT ^= LED_RED; 8aa2: d2 e3 21 00 xor.b #1, &0x0021 ;r3 As==01 00008aa6 <.Loc.384.1>: delay(0xFF); //lil bit O delay 8aa6: 7c 40 ff 00 mov.b #255, r12 ;#0x00ff 00008aaa <.LVL113>: 8aaa: b0 12 d8 85 call #-31272 ;#0x85d8 00008aae <.LVL114>: P1OUT ^= LED_RED; 8aae: d2 e3 21 00 xor.b #1, &0x0021 ;r3 As==01 00008ab2 <.Loc.387.1>: flags |= GO_NOW | TIMER_UP; //force a report quickly 8ab2: b2 d0 05 00 bis #5, &0x02e0 ; 8ab6: e0 02 00008ab8 <.Loc.388.1>: P2IFG = 0x00; 8ab8: c2 43 2b 00 mov.b #0, &0x002b ;r3 As==00 00008abc <.LBB31>: TACTL = TASSEL_1; // ACLK, upmode 8abc: b2 40 00 01 mov #256, &0x0160 ;#0x0100 8ac0: 60 01 00008ac2 <.Loc.159.1>: TACTL &= ~TAIFG; //clear interrupt 8ac2: 92 c3 60 01 bic #1, &0x0160 ;r3 As==01 00008ac6 <.Loc.160.1>: TACCR0 = (milliseconds * (unsigned long)12000)/1000; //one second intervals 8ac6: b2 40 e0 2e mov #12000, &0x0172 ;#0x2ee0 8aca: 72 01 00008acc <.Loc.162.1>: TAR = 0; 8acc: 82 43 70 01 mov #0, &0x0170 ;r3 As==00 00008ad0 <.Loc.163.1>: TACTL |= MC_UPTO_CCR0 | TAIE; //overflow interrupt enabled, start counting! 8ad0: b2 d0 12 00 bis #18, &0x0160 ;#0x0012 8ad4: 60 01 00008ad6 <.LBE31>: seconds = 0; 8ad6: 82 43 de 02 mov #0, &0x02de ;r3 As==00 00008ada <.Loc.393.1>: TX_STRING("GND:" CALLSIGN " V2 (SHT) Startup", 24); 8ada: 7d 40 18 00 mov.b #24, r13 ;#0x0018 8ade: 3c 40 00 80 mov #-32768,r12 ;#0x8000 8ae2: b0 12 ae 89 call #-30290 ;#0x89ae 00008ae6 <.LVL117>: P2IFG &= ~GDO0; //reset trashed interrupt state 8ae6: f2 f0 bf ff and.b #-65, &0x002b ;#0xffbf 8aea: 2b 00 00008aec <.Loc.395.1>: P1IFG &= ~BUTTON; //reset unverified clean P1 int state 8aec: e2 c2 23 00 bic.b #4, &0x0023 ;r2 As==10 00008af0 <.Loc.397.1>: _enable_interrupts(); //enable interrupts 8af0: 32 d2 eint 00008af2 <.LBB33>: if((status & CCxxx0_STAT_ADDR) == CCxxx0_STAT_RX) 8af2: 5c 42 e2 02 mov.b &0x02e2,r12 ;0x02e2 8af6: 7c f0 70 00 and.b #112, r12 ;#0x0070 8afa: b1 40 f0 83 mov #-31760,30(r1) ;#0x83f0, 0x001e 8afe: 1e 00 8b00: 7c 90 10 00 cmp.b #16, r12 ;#0x0010 8b04: 03 24 jz $+8 ;abs 0x8b0c 8b06: 1a 41 1e 00 mov 30(r1), r10 ;0x0001e 8b0a: 8a 12 call r10 ; 00008b0c <.L101>: { 8b0c: 91 43 10 00 mov #1, 16(r1) ;r3 As==01, 0x0010 8b10: b1 40 3c 00 mov #60, 24(r1) ;#0x003c, 0x0018 8b14: 18 00 8b16: 35 40 08 b5 mov #-19192,r5 ;#0xb508 00008b1a <.Loc.404.1>: loop = false; 8b1a: 44 43 clr.b r4 ; 00008b1c <.L102>: WDOG(); //Feed the dog 8b1c: 1c 42 20 01 mov &0x0120,r12 ;0x0120 8b20: 7c f0 ff 00 and.b #255, r12 ;#0x00ff 8b24: 3c 50 08 5a add #23048, r12 ;#0x5a08 8b28: 82 4c 20 01 mov r12, &0x0120 ; 00008b2c <.LVL120>: if(flags & RXCHAR_RDY) 8b2c: b2 b2 e0 02 bit #8, &0x02e0 ;r2 As==11 8b30: 2a 24 jz $+86 ;abs 0x8b86 00008b32 <.L187>: _disable_interrupts(); 8b32: 32 c2 dint 8b34: 03 43 nop 00008b36 <.Loc.410.1>: P1OUT |= LED_RED; 8b36: d2 d3 21 00 bis.b #1, &0x0021 ;r3 As==01 00008b3a <.LVL121>: flags &= ~RXCHAR_RDY; 8b3a: b2 c2 e0 02 bic #8, &0x02e0 ;r2 As==11 00008b3e <.Loc.414.1>: P1OUT &= ~LED_RED; 8b3e: d2 c3 21 00 bic.b #1, &0x0021 ;r3 As==01 00008b42 <.Loc.415.1>: _enable_interrupts(); 8b42: 32 d2 eint 00008b44 <.Loc.411.1>: loop = 1; 8b44: 5c 43 mov.b #1, r12 ;r3 As==01 00008b46 <.L103>: if(flags & BUTTON_PUSH) 8b46: b2 b0 20 00 bit #32, &0x02e0 ;#0x0020 8b4a: e0 02 8b4c: 07 24 jz $+16 ;abs 0x8b5c 00008b4e <.Loc.419.1>: _disable_interrupts(); 8b4e: 32 c2 dint 8b50: 03 43 nop 00008b52 <.Loc.421.1>: flags &= ~BUTTON_PUSH; 8b52: b2 f0 df ff and #-33, &0x02e0 ;#0xffdf 8b56: e0 02 00008b58 <.LVL123>: _enable_interrupts(); 8b58: 32 d2 eint 00008b5a <.Loc.422.1>: loop = 1; 8b5a: 5c 43 mov.b #1, r12 ;r3 As==01 00008b5c <.L104>: if(flags & CONTROLLER_RDY) //Someone is sending us something 8b5c: a2 b3 e0 02 bit #2, &0x02e0 ;r3 As==10 8b60: 14 20 jnz $+42 ;abs 0x8b8a 00008b62 <.Loc.495.1>: if(flags & TIMER_UP) //Did the timer expire? report your findings! 8b62: 92 b3 e0 02 bit #1, &0x02e0 ;r3 As==01 8b66: 40 20 jnz $+130 ;abs 0x8be8 00008b68 <.Loc.678.1>: if(loop == false) 8b68: 0c 93 cmp #0, r12 ;r3 As==00 8b6a: d8 23 jnz $-78 ;abs 0x8b1c 00008b6c <.Loc.681.1>: LPM3; //when we wake up it'll be because of an event 8b6c: 32 d0 d0 00 bis #208, r2 ;#0x00d0 00008b70 <.LVL125>: WDOG(); //Feed the dog 8b70: 1c 42 20 01 mov &0x0120,r12 ;0x0120 8b74: 7c f0 ff 00 and.b #255, r12 ;#0x00ff 8b78: 3c 50 08 5a add #23048, r12 ;#0x5a08 8b7c: 82 4c 20 01 mov r12, &0x0120 ; 00008b80 <.LVL126>: if(flags & RXCHAR_RDY) 8b80: b2 b2 e0 02 bit #8, &0x02e0 ;r2 As==11 8b84: d6 23 jnz $-82 ;abs 0x8b32 00008b86 <.L156>: loop = false; 8b86: 0c 44 mov r4, r12 ; 8b88: de 3f jmp $-66 ;abs 0x8b46 00008b8a <.L186>: _disable_interrupts(); 8b8a: 32 c2 dint 8b8c: 03 43 nop 00008b8e <.LVL128>: P1OUT |= LED_RED; 8b8e: d2 d3 21 00 bis.b #1, &0x0021 ;r3 As==01 00008b92 <.Loc.430.1>: flags &= ~CONTROLLER_RDY; 8b92: a2 c3 e0 02 bic #2, &0x02e0 ;r3 As==10 00008b96 <.Loc.431.1>: memset(rxbuf, 0, 64); 8b96: 7e 40 40 00 mov.b #64, r14 ;#0x0040 8b9a: 0d 44 mov r4, r13 ; 8b9c: 0c 41 mov r1, r12 ; 8b9e: 3c 50 2c 00 add #44, r12 ;#0x002c 8ba2: b0 12 58 be call #-16808 ;#0xbe58 00008ba6 <.LVL129>: length = RX_STRING(rxbuf, 64); 8ba6: 7d 40 40 00 mov.b #64, r13 ;#0x0040 8baa: 0c 41 mov r1, r12 ; 8bac: 3c 50 2c 00 add #44, r12 ;#0x002c 8bb0: b0 12 d2 88 call #-30510 ;#0x88d2 00008bb4 <.LVL130>: if(LQI & BIT7) //CRC ok 8bb4: 5a 42 db 02 mov.b &0x02db,r10 ;0x02db 00008bb8 <.Loc.434.1>: 8bb8: 4a 93 cmp.b #0, r10 ;r3 As==00 8bba: 02 34 jge $+6 ;abs 0x8bc0 8bbc: 30 40 82 90 br #0x9082 ; 00008bc0 <.L106>: P2IFG &= ~GDO0; //reset trashed interrupt state 8bc0: f2 f0 bf ff and.b #-65, &0x002b ;#0xffbf 8bc4: 2b 00 00008bc6 <.LBB35>: if((status & CCxxx0_STAT_ADDR) == CCxxx0_STAT_RX) 8bc6: 5c 42 e2 02 mov.b &0x02e2,r12 ;0x02e2 8bca: 7c f0 70 00 and.b #112, r12 ;#0x0070 8bce: 7c 90 10 00 cmp.b #16, r12 ;#0x0010 8bd2: 03 24 jz $+8 ;abs 0x8bda 8bd4: 1d 41 1e 00 mov 30(r1), r13 ;0x0001e 8bd8: 8d 12 call r13 ; 00008bda <.L116>: P1OUT &= ~(LED_RED | LED_GRN); 8bda: f2 f0 fc ff and.b #-4, &0x0021 ;#0xfffc 8bde: 21 00 00008be0 <.Loc.492.1>: _enable_interrupts(); 8be0: 32 d2 eint 00008be2 <.Loc.495.1>: if(flags & TIMER_UP) //Did the timer expire? report your findings! 8be2: 92 b3 e0 02 bit #1, &0x02e0 ;r3 As==01 8be6: 9a 27 jz $-202 ;abs 0x8b1c 00008be8 <.L117>: flags &= ~(TIMER_UP); //clear the flag 8be8: 92 c3 e0 02 bic #1, &0x02e0 ;r3 As==01 00008bec <.LVL133>: if(((seconds) % (60L*60*12)) == 0) //every 86400 is greater than 65535 seconds clean the max wind data so make it 12 hours. 8bec: 3d 40 0b c1 mov #-16117,r13 ;#0xc10b 8bf0: 1c 42 de 02 mov &0x02de,r12 ;0x02de 8bf4: b0 12 ec bd call #-16916 ;#0xbdec 8bf8: 0d 4c mov r12, r13 ; 8bfa: 12 c3 clrc 8bfc: 0d 10 rrc r13 ; 8bfe: 12 c3 clrc 8c00: 0d 10 rrc r13 ; 8c02: 12 c3 clrc 8c04: 0d 10 rrc r13 ; 8c06: 12 c3 clrc 8c08: 0d 10 rrc r13 ; 8c0a: 12 c3 clrc 8c0c: 0d 10 rrc r13 ; 8c0e: 12 c3 clrc 8c10: 0d 10 rrc r13 ; 8c12: 0c 5c rla r12 ; 8c14: 0c 5c rla r12 ; 8c16: 0c 5c rla r12 ; 8c18: 0c 5c rla r12 ; 8c1a: 0c 5c rla r12 ; 8c1c: 0c 5c rla r12 ; 8c1e: 0c 5c rla r12 ; 8c20: 0c 5c rla r12 ; 8c22: 0c 5c rla r12 ; 8c24: 0c 5c rla r12 ; 8c26: 0c dd bis r13, r12 ; 00008c28 <.Loc.501.1>: 8c28: 5e 43 mov.b #1, r14 ;r3 As==01 8c2a: 0e 9c cmp r12, r14 ; 8c2c: 04 28 jnc $+10 ;abs 0x8c36 00008c2e <.Loc.503.1>: maxGst = 0; 8c2e: 82 44 d4 02 mov r4, &0x02d4 ; 00008c32 <.Loc.504.1>: maxSus = 0; 8c32: 82 44 d2 02 mov r4, &0x02d2 ; 00008c36 <.L121>: if((seconds % 3) == 0) //every 3 seconds kill the green LED so it doesn't drain the battery. It takes more power than you'd think! 8c36: 7d 40 03 00 mov.b #3, r13 ; 8c3a: 1c 42 de 02 mov &0x02de,r12 ;0x02de 8c3e: 85 12 call r5 ; 00008c40 <.Loc.508.1>: 8c40: 0c 93 cmp #0, r12 ;r3 As==00 8c42: 04 20 jnz $+10 ;abs 0x8c4c 00008c44 <.Loc.510.1>: P1OUT &= ~LED_GRN; //clear green LED every 3 seconds to save power in case wind isn't blowing for long periods of time 8c44: e2 c3 21 00 bic.b #2, &0x0021 ;r3 As==10 00008c48 <.Loc.511.1>: P1OUT &= ~LED_RED; //clear red LED every 3 seconds to save power since rain gauge will likely click over only sometimes 8c48: d2 c3 21 00 bic.b #1, &0x0021 ;r3 As==01 00008c4c <.L122>: if((seconds % 3) == 0) //every 1 seconds grab the windrotor data 8c4c: 7d 40 03 00 mov.b #3, r13 ; 8c50: 1c 42 de 02 mov &0x02de,r12 ;0x02de 8c54: 85 12 call r5 ; 00008c56 <.Loc.514.1>: 8c56: 0c 93 cmp #0, r12 ;r3 As==00 8c58: 1c 20 jnz $+58 ;abs 0x8c92 00008c5a <.Loc.516.1>: if(windRotAccum < windRot3Accum) //did the wind data get cleared out? clear our accum too 8c5a: 1e 42 d6 02 mov &0x02d6,r14 ;0x02d6 8c5e: 1d 42 d0 02 mov &0x02d0,r13 ;0x02d0 00008c62 <.Loc.516.1>: 8c62: 0e 9d cmp r13, r14 ; 8c64: 02 2c jc $+6 ;abs 0x8c6a 8c66: 30 40 02 91 br #0x9102 ; 8c6a: 1c 42 ce 02 mov &0x02ce,r12 ;0x02ce 00008c6e <.Loc.529.1>: if(windRot3 < (windRotAccum-windRot3Accum)) //if windRot3 is less than the current 3 second max, replace it with the max 8c6e: 1e 42 d6 02 mov &0x02d6,r14 ;0x02d6 8c72: 0e 8d sub r13, r14 ; 00008c74 <.Loc.529.1>: 8c74: 0c 9e cmp r14, r12 ; 8c76: 05 2c jc $+12 ;abs 0x8c82 00008c78 <.L126>: windRot3 = windRotAccum-windRot3Accum; //track the max 8c78: 1c 42 d6 02 mov &0x02d6,r12 ;0x02d6 8c7c: 0c 8d sub r13, r12 ; 00008c7e <.Loc.530.1>: 8c7e: 82 4c ce 02 mov r12, &0x02ce ; 00008c82 <.L127>: windRot3Accum = windRotAccum; //catch up for the next go around 8c82: 92 42 d6 02 mov &0x02d6,&0x02d0 ;0x02d6 8c86: d0 02 00008c88 <.Loc.534.1>: if(maxGst < windRot3) 8c88: 82 9c d4 02 cmp r12, &0x02d4 ; 8c8c: 02 2c jc $+6 ;abs 0x8c92 00008c8e <.Loc.535.1>: maxGst = windRot3; 8c8e: 82 4c d4 02 mov r12, &0x02d4 ; 00008c92 <.L124>: if((seconds % windInterval120) == 0) //every 120 seconds calc the 2-min avg and clear out the rotor data (2 min latency on wind data, updated every 120s) 8c92: 7d 40 78 00 mov.b #120, r13 ;#0x0078 8c96: 1c 42 de 02 mov &0x02de,r12 ;0x02de 8c9a: 85 12 call r5 ; 00008c9c <.Loc.538.1>: 8c9c: 0c 93 cmp #0, r12 ;r3 As==00 8c9e: 0b 20 jnz $+24 ;abs 0x8cb6 00008ca0 <.Loc.540.1>: windRot120=windRotAccum; 8ca0: 1d 42 d6 02 mov &0x02d6,r13 ;0x02d6 8ca4: 82 4d cc 02 mov r13, &0x02cc ; 00008ca8 <.Loc.541.1>: windRotAccum = 0; 8ca8: 82 4c d6 02 mov r12, &0x02d6 ; 00008cac <.Loc.543.1>: if(maxSus < windRot120) 8cac: 82 9d d2 02 cmp r13, &0x02d2 ; 8cb0: 02 2c jc $+6 ;abs 0x8cb6 00008cb2 <.Loc.544.1>: maxSus = windRot120; 8cb2: 82 4d d2 02 mov r13, &0x02d2 ; 00008cb6 <.L131>: if(((seconds) % (10*60l)) == 0) //every 10 minutes report max winds 8cb6: 3d 40 58 02 mov #600, r13 ;#0x0258 8cba: 1c 42 de 02 mov &0x02de,r12 ;0x02de 8cbe: 85 12 call r5 ; 00008cc0 <.Loc.547.1>: 8cc0: 0c 93 cmp #0, r12 ;r3 As==00 8cc2: b7 25 jz $+880 ;abs 0x9032 00008cc4 <.L133>: if(((seconds) % interval) == 0 || (flags & GO_NOW)) //report every INTERVAL seconds 8cc4: 1d 41 18 00 mov 24(r1), r13 ;0x00018 8cc8: 1c 42 de 02 mov &0x02de,r12 ;0x02de 8ccc: 85 12 call r5 ; 00008cce <.Loc.565.1>: 8cce: 0c 93 cmp #0, r12 ;r3 As==00 8cd0: 03 24 jz $+8 ;abs 0x8cd8 00008cd2 <.Loc.565.1>: 8cd2: a2 b2 e0 02 bit #4, &0x02e0 ;r2 As==10 8cd6: 22 27 jz $-442 ;abs 0x8b1c 00008cd8 <.L134>: flags &= ~(GO_NOW); //clear the flag 8cd8: a2 c2 e0 02 bic #4, &0x02e0 ;r2 As==10 00008cdc <.Loc.568.1>: P1OUT |= LED_RED; 8cdc: d2 d3 21 00 bis.b #1, &0x0021 ;r3 As==01 00008ce0 <.Loc.569.1>: CCXX_SPI_STROBE(CCxxx0_SIDLE); //wake up radio 8ce0: 7c 40 36 00 mov.b #54, r12 ;#0x0036 8ce4: b0 12 92 93 call #-27758 ;#0x9392 00008ce8 <.LVL140>: ADC10CTL0 &= ~ENC; 8ce8: a2 c3 b0 01 bic #2, &0x01b0 ;r3 As==10 00008cec <.Loc.572.1>: ADC10CTL1 = INCH_10 + ADC10DIV_4; // Temp Sensor ADC10CLK/5 8cec: b2 40 80 a0 mov #-24448,&0x01b2 ;#0xa080 8cf0: b2 01 00008cf2 <.Loc.577.1>: ADC10CTL0 = SREF_1 | ADC10SHT_3 | REFON | ADC10ON | ADC10IE | ADC10SR; 8cf2: b2 40 38 3c mov #15416, &0x01b0 ;#0x3c38 8cf6: b0 01 00008cf8 <.Loc.578.1>: delay(16); //delay for reference to settle 8cf8: 7c 40 10 00 mov.b #16, r12 ;#0x0010 8cfc: b0 12 d8 85 call #-31272 ;#0x85d8 00008d00 <.LVL141>: ADC10CTL0 |= ENC | ADC10SC; // Sampling and conversion start 8d00: b2 d0 03 00 bis #3, &0x01b0 ; 8d04: b0 01 00008d06 <.Loc.580.1>: LPM3; 8d06: 32 d0 d0 00 bis #208, r2 ;#0x00d0 00008d0a <.Loc.581.1>: adcraw = ADC10MEM;//737 8d0a: 91 42 b4 01 mov &0x01b4,26(r1) ;0x01b4, 0x001a 8d0e: 1a 00 00008d10 <.LVL142>: ADC10CTL0 &= ~ENC; 8d10: a2 c3 b0 01 bic #2, &0x01b0 ;r3 As==10 00008d14 <.Loc.588.1>: ADC10CTL1 = INCH_11; // AVcc/2 8d14: b2 40 00 b0 mov #-20480,&0x01b2 ;#0xb000 8d18: b2 01 00008d1a <.Loc.590.1>: ADC10CTL0 = SREF_1 | ADC10SHT_2 | REFON | ADC10ON | ADC10IE | REF2_5V; 8d1a: b2 40 78 30 mov #12408, &0x01b0 ;#0x3078 8d1e: b0 01 00008d20 <.Loc.591.1>: delay(16); //delay for reference to settle 8d20: 7c 40 10 00 mov.b #16, r12 ;#0x0010 8d24: b0 12 d8 85 call #-31272 ;#0x85d8 00008d28 <.LVL143>: ADC10CTL0 |= ENC | ADC10SC; // Sampling and conversion start 8d28: b2 d0 03 00 bis #3, &0x01b0 ; 8d2c: b0 01 00008d2e <.Loc.593.1>: LPM3; 8d2e: 32 d0 d0 00 bis #208, r2 ;#0x00d0 00008d32 <.Loc.594.1>: adcraw = ADC10MEM; 8d32: 1c 42 b4 01 mov &0x01b4,r12 ;0x01b4 00008d36 <.LVL144>: ADC10CTL0 &= ~ENC; 8d36: a2 c3 b0 01 bic #2, &0x01b0 ;r3 As==10 00008d3a <.Loc.598.1>: volt = roundToInt((adcraw*250.0)/512.0); //2.555 => 256 8d3a: 0d 43 clr r13 ; 00008d3c <.LVL145>: 8d3c: b0 12 68 b4 call #-19352 ;#0xb468 00008d40 <.LVL146>: 8d40: 08 4c mov r12, r8 ; 8d42: 09 4d mov r13, r9 ; 8d44: 0a 4e mov r14, r10 ; 8d46: 0b 4f mov r15, r11 ; 8d48: 0c 44 mov r4, r12 ; 8d4a: 4d 43 clr.b r13 ; 8d4c: 3e 40 00 40 mov #16384, r14 ;#0x4000 8d50: 3f 40 6f 40 mov #16495, r15 ;#0x406f 8d54: b0 12 4a aa call #-21942 ;#0xaa4a 8d58: 08 4c mov r12, r8 ; 8d5a: 09 4d mov r13, r9 ; 8d5c: 0a 4e mov r14, r10 ; 8d5e: 0b 4f mov r15, r11 ; 00008d60 <.Loc.598.1>: 8d60: 0c 44 mov r4, r12 ; 8d62: 4d 43 clr.b r13 ; 8d64: 0e 4d mov r13, r14 ; 8d66: 3f 40 60 3f mov #16224, r15 ;#0x3f60 8d6a: b0 12 4a aa call #-21942 ;#0xaa4a 00008d6e <.Loc.598.1>: 8d6e: b0 12 00 b4 call #-19456 ;#0xb400 8d72: 09 4c mov r12, r9 ; 8d74: 0a 4d mov r13, r10 ; 00008d76 <.LBB37>: if(x > 0) 8d76: 0e 44 mov r4, r14 ; 8d78: 4f 43 clr.b r15 ; 8d7a: b0 12 38 a3 call #-23752 ;#0xa338 8d7e: 4f 43 clr.b r15 ; 8d80: 0f 9c cmp r12, r15 ; 8d82: ca 35 jge $+918 ;abs 0x9118 00008d84 <.Loc.52.1>: return (int)(x + 0.5); 8d84: 0c 49 mov r9, r12 ; 8d86: 0d 4a mov r10, r13 ; 8d88: b0 12 8e a3 call #-23666 ;#0xa38e 8d8c: 08 4c mov r12, r8 ; 8d8e: 09 4d mov r13, r9 ; 00008d90 <.LVL153>: 8d90: 0a 4e mov r14, r10 ; 8d92: 0b 4f mov r15, r11 ; 8d94: 0c 44 mov r4, r12 ; 8d96: 4d 43 clr.b r13 ; 8d98: 0e 4d mov r13, r14 ; 8d9a: 3f 40 e0 3f mov #16352, r15 ;#0x3fe0 8d9e: b0 12 7a a9 call #-22150 ;#0xa97a 00008da2 <.Loc.52.1>: 8da2: b0 12 32 b3 call #-19662 ;#0xb332 00008da6 <.L137>: ADC10CTL0 &= ~ENC; // have to disable ADC10 to change channel 8da6: a2 c3 b0 01 bic #2, &0x01b0 ;r3 As==10 00008daa <.Loc.253.1>: ADC10CTL0 &= ~SREF_7; //set the ref to VCC for the external sensors (clear all three bits!) 8daa: b2 f0 ff 1f and #8191, &0x01b0 ;#0x1fff 8dae: b0 01 00008db0 <.Loc.255.1>: ADC10CTL1 = ADC10SSEL_ACLK | chan; //ACLK sourced, A2 input 8db0: b2 40 08 e0 mov #-8184, &0x01b2 ;#0xe008 8db4: b2 01 00008db6 <.Loc.259.1>: ADC10CTL0 |= ENC | ADC10SC; // Sampling and conversion start 8db6: b2 d0 03 00 bis #3, &0x01b0 ; 8dba: b0 01 00008dbc <.Loc.260.1>: LPM3; 8dbc: 32 d0 d0 00 bis #208, r2 ;#0x00d0 00008dc0 <.L138>: while(ADC10CTL1 & ADC10BUSY); //just a backup, interrupt should put us to sleep while transfer is occuring 8dc0: 17 42 b2 01 mov &0x01b2,r7 ;0x01b2 8dc4: 57 f3 and.b #1, r7 ;r3 As==01 00008dc6 <.Loc.261.1>: 8dc6: 92 b3 b2 01 bit #1, &0x01b2 ;r3 As==01 8dca: fa 23 jnz $-10 ;abs 0x8dc0 00008dcc <.Loc.262.1>: return ADC10MEM; 8dcc: 1d 42 b4 01 mov &0x01b4,r13 ;0x01b4 00008dd0 <.LBE40>: vBatt = roundToInt((adcraw*volt)/512.0); //ref is VCC, which we just measured, but /2 because Rdivider 8dd0: 0e 4c mov r12, r14 ; 8dd2: 3e b0 00 80 bit #-32768,r14 ;#0x8000 8dd6: 0f 7f subc r15, r15 ; 8dd8: 3f e3 inv r15 ; 8dda: 81 4e 14 00 mov r14, 20(r1) ; 0x0014 8dde: 81 4f 16 00 mov r15, 22(r1) ; 0x0016 8de2: 0c 4d mov r13, r12 ; 8de4: 0d 43 clr r13 ; 00008de6 <.LVL157>: 8de6: b0 12 a0 bd call #-16992 ;#0xbda0 00008dea <.LVL158>: 8dea: b0 12 68 b4 call #-19352 ;#0xb468 8dee: 08 4c mov r12, r8 ; 8df0: 09 4d mov r13, r9 ; 8df2: 0a 4e mov r14, r10 ; 8df4: 0b 4f mov r15, r11 ; 8df6: 0c 44 mov r4, r12 ; 8df8: 0d 47 mov r7, r13 ; 8dfa: 0e 47 mov r7, r14 ; 8dfc: 3f 40 60 3f mov #16224, r15 ;#0x3f60 8e00: b0 12 4a aa call #-21942 ;#0xaa4a 00008e04 <.Loc.602.1>: 8e04: b0 12 00 b4 call #-19456 ;#0xb400 8e08: 81 4c 12 00 mov r12, 18(r1) ; 0x0012 8e0c: 06 4d mov r13, r6 ; 00008e0e <.LBB42>: if(x > 0) 8e0e: b0 12 8e a3 call #-23666 ;#0xa38e 00008e12 <.LVL163>: 8e12: 08 4c mov r12, r8 ; 8e14: 09 4d mov r13, r9 ; 8e16: 0a 4e mov r14, r10 ; 8e18: 0b 4f mov r15, r11 ; 00008e1a <.Loc.51.1>: 8e1a: 0e 44 mov r4, r14 ; 8e1c: 0f 47 mov r7, r15 ; 8e1e: 1c 41 12 00 mov 18(r1), r12 ;0x00012 8e22: 0d 46 mov r6, r13 ; 8e24: 81 4b 0e 00 mov r11, 14(r1) ; 0x000e 8e28: b0 12 38 a3 call #-23752 ;#0xa338 8e2c: 1b 41 0e 00 mov 14(r1), r11 ;0x0000e 8e30: 4f 43 clr.b r15 ; 8e32: 0f 9c cmp r12, r15 ; 8e34: 02 38 jl $+6 ;abs 0x8e3a 8e36: 30 40 6e 92 br #0x926e ; 00008e3a <.Loc.52.1>: return (int)(x + 0.5); 8e3a: 0c 44 mov r4, r12 ; 8e3c: 0d 47 mov r7, r13 ; 8e3e: 0e 47 mov r7, r14 ; 8e40: 3f 40 e0 3f mov #16352, r15 ;#0x3fe0 8e44: b0 12 7a a9 call #-22150 ;#0xa97a 00008e48 <.Loc.52.1>: 8e48: b0 12 32 b3 call #-19662 ;#0xb332 8e4c: 81 4c 1c 00 mov r12, 28(r1) ; 0x001c 00008e50 <.L141>: ADC10CTL0 &= ~ENC; // have to disable ADC10 to change channel 8e50: a2 c3 b0 01 bic #2, &0x01b0 ;r3 As==10 00008e54 <.Loc.253.1>: ADC10CTL0 &= ~SREF_7; //set the ref to VCC for the external sensors (clear all three bits!) 8e54: b2 f0 ff 1f and #8191, &0x01b0 ;#0x1fff 8e58: b0 01 00008e5a <.Loc.255.1>: ADC10CTL1 = ADC10SSEL_ACLK | chan; //ACLK sourced, A2 input 8e5a: b2 40 08 d0 mov #-12280,&0x01b2 ;#0xd008 8e5e: b2 01 00008e60 <.Loc.259.1>: ADC10CTL0 |= ENC | ADC10SC; // Sampling and conversion start 8e60: b2 d0 03 00 bis #3, &0x01b0 ; 8e64: b0 01 00008e66 <.Loc.260.1>: LPM3; 8e66: 32 d0 d0 00 bis #208, r2 ;#0x00d0 00008e6a <.L142>: while(ADC10CTL1 & ADC10BUSY); //just a backup, interrupt should put us to sleep while transfer is occuring 8e6a: 17 42 b2 01 mov &0x01b2,r7 ;0x01b2 8e6e: 57 f3 and.b #1, r7 ;r3 As==01 00008e70 <.Loc.261.1>: 8e70: 92 b3 b2 01 bit #1, &0x01b2 ;r3 As==01 8e74: fa 23 jnz $-10 ;abs 0x8e6a 00008e76 <.Loc.262.1>: return ADC10MEM; 8e76: 1c 42 b4 01 mov &0x01b4,r12 ;0x01b4 00008e7a <.LBE45>: vSolar = roundToInt((adcraw*volt)/512.0); //ref is VCC, which we just measured, but /2 because Rdivider 8e7a: 1e 41 14 00 mov 20(r1), r14 ;0x00014 8e7e: 1f 41 16 00 mov 22(r1), r15 ;0x00016 8e82: 0d 43 clr r13 ; 00008e84 <.LVL169>: 8e84: b0 12 a0 bd call #-16992 ;#0xbda0 00008e88 <.LVL170>: 8e88: b0 12 68 b4 call #-19352 ;#0xb468 8e8c: 08 4c mov r12, r8 ; 8e8e: 09 4d mov r13, r9 ; 8e90: 0a 4e mov r14, r10 ; 8e92: 0b 4f mov r15, r11 ; 8e94: 0c 44 mov r4, r12 ; 8e96: 0d 47 mov r7, r13 ; 8e98: 0e 47 mov r7, r14 ; 8e9a: 3f 40 60 3f mov #16224, r15 ;#0x3f60 8e9e: b0 12 4a aa call #-21942 ;#0xaa4a 00008ea2 <.Loc.606.1>: 8ea2: b0 12 00 b4 call #-19456 ;#0xb400 8ea6: 81 4c 12 00 mov r12, 18(r1) ; 0x0012 8eaa: 06 4d mov r13, r6 ; 00008eac <.LBB47>: if(x > 0) 8eac: b0 12 8e a3 call #-23666 ;#0xa38e 00008eb0 <.LVL175>: 8eb0: 08 4c mov r12, r8 ; 8eb2: 09 4d mov r13, r9 ; 8eb4: 0a 4e mov r14, r10 ; 8eb6: 0b 4f mov r15, r11 ; 00008eb8 <.Loc.51.1>: 8eb8: 0e 44 mov r4, r14 ; 8eba: 0f 47 mov r7, r15 ; 8ebc: 1c 41 12 00 mov 18(r1), r12 ;0x00012 8ec0: 0d 46 mov r6, r13 ; 8ec2: 81 4b 0e 00 mov r11, 14(r1) ; 0x000e 8ec6: b0 12 38 a3 call #-23752 ;#0xa338 8eca: 1b 41 0e 00 mov 14(r1), r11 ;0x0000e 8ece: 4d 43 clr.b r13 ; 8ed0: 0d 9c cmp r12, r13 ; 8ed2: 34 35 jge $+618 ;abs 0x913c 00008ed4 <.Loc.52.1>: return (int)(x + 0.5); 8ed4: 0c 44 mov r4, r12 ; 8ed6: 0d 47 mov r7, r13 ; 8ed8: 0e 47 mov r7, r14 ; 8eda: 3f 40 e0 3f mov #16352, r15 ;#0x3fe0 8ede: b0 12 7a a9 call #-22150 ;#0xa97a 00008ee2 <.Loc.52.1>: 8ee2: b0 12 32 b3 call #-19662 ;#0xb332 8ee6: 81 4c 12 00 mov r12, 18(r1) ; 0x0012 00008eea <.LBE47>: _disable_interrupts(); 8eea: 32 c2 dint 8eec: 03 43 nop 00008eee <.Loc.610.1>: ADC10CTL0 &= ~ENC; //disable ADC 8eee: a2 c3 b0 01 bic #2, &0x01b0 ;r3 As==10 00008ef2 <.Loc.611.1>: ADC10CTL0 &= ~(REFON | ADC10ON); // turn off A/D to save power 8ef2: b2 f0 cf ff and #-49, &0x01b0 ;#0xffcf 8ef6: b0 01 00008ef8 <.Loc.640.1>: if(everyOther == true) 8ef8: 81 93 10 00 cmp #0, 16(r1) ;r3 As==00, 0x0010 8efc: 34 21 jnz $+618 ;abs 0x9166 00008efe <.L146>: length=snprintf(rxbuf,64, "GND:" CALLSIGN " S:%u V:%d V1:%d V2:%d W1:%u W2:%u", seconds, roundToInt(volt/10.0), vBatt,roundToInt(vSolar/10.0),windRot120,windRot3); //send the temperature to the ground 8efe: 91 42 de 02 mov &0x02de,26(r1) ;0x02de, 0x001a 8f02: 1a 00 00008f04 <.Loc.666.1>: 8f04: 1c 41 14 00 mov 20(r1), r12 ;0x00014 00008f08 <.LVL181>: 8f08: 1d 41 16 00 mov 22(r1), r13 ;0x00016 8f0c: b0 12 98 b2 call #-19816 ;#0xb298 8f10: 08 4c mov r12, r8 ; 8f12: 09 4d mov r13, r9 ; 8f14: 0a 4e mov r14, r10 ; 8f16: 0b 4f mov r15, r11 ; 8f18: 0c 44 mov r4, r12 ; 8f1a: 1d 41 10 00 mov 16(r1), r13 ;0x00010 8f1e: 0e 4d mov r13, r14 ; 8f20: 3f 40 24 40 mov #16420, r15 ;#0x4024 8f24: b0 12 98 af call #-20584 ;#0xaf98 00008f28 <.Loc.666.1>: 8f28: b0 12 00 b4 call #-19456 ;#0xb400 8f2c: 06 4c mov r12, r6 ; 8f2e: 07 4d mov r13, r7 ; 00008f30 <.LBB50>: if(x > 0) 8f30: b0 12 8e a3 call #-23666 ;#0xa38e 8f34: 08 4c mov r12, r8 ; 8f36: 09 4d mov r13, r9 ; 8f38: 0a 4e mov r14, r10 ; 8f3a: 0b 4f mov r15, r11 ; 00008f3c <.Loc.51.1>: 8f3c: 0e 44 mov r4, r14 ; 8f3e: 1f 41 10 00 mov 16(r1), r15 ;0x00010 8f42: 0c 46 mov r6, r12 ; 8f44: 0d 47 mov r7, r13 ; 8f46: 81 4b 0e 00 mov r11, 14(r1) ; 0x000e 8f4a: b0 12 38 a3 call #-23752 ;#0xa338 8f4e: 1b 41 0e 00 mov 14(r1), r11 ;0x0000e 8f52: 4d 43 clr.b r13 ; 8f54: 0d 9c cmp r12, r13 ; 8f56: a7 35 jge $+848 ;abs 0x92a6 00008f58 <.Loc.52.1>: return (int)(x + 0.5); 8f58: 0c 44 mov r4, r12 ; 8f5a: 1d 41 10 00 mov 16(r1), r13 ;0x00010 8f5e: 0e 4d mov r13, r14 ; 8f60: 3f 40 e0 3f mov #16352, r15 ;#0x3fe0 8f64: b0 12 7a a9 call #-22150 ;#0xa97a 00008f68 <.Loc.52.1>: 8f68: b0 12 32 b3 call #-19662 ;#0xb332 8f6c: 81 4c 10 00 mov r12, 16(r1) ; 0x0010 00008f70 <.L152>: length=snprintf(rxbuf,64, "GND:" CALLSIGN " S:%u V:%d V1:%d V2:%d W1:%u W2:%u", seconds, roundToInt(volt/10.0), vBatt,roundToInt(vSolar/10.0),windRot120,windRot3); //send the temperature to the ground 8f70: 1e 41 12 00 mov 18(r1), r14 ;0x00012 8f74: 0c 4e mov r14, r12 ; 8f76: 3c b0 00 80 bit #-32768,r12 ;#0x8000 8f7a: 0d 7d subc r13, r13 ; 8f7c: 3d e3 inv r13 ; 8f7e: b0 12 98 b2 call #-19816 ;#0xb298 8f82: 08 4c mov r12, r8 ; 8f84: 09 4d mov r13, r9 ; 8f86: 0a 4e mov r14, r10 ; 8f88: 0b 4f mov r15, r11 ; 8f8a: 0c 44 mov r4, r12 ; 8f8c: 4d 43 clr.b r13 ; 8f8e: 0e 4d mov r13, r14 ; 8f90: 3f 40 24 40 mov #16420, r15 ;#0x4024 8f94: b0 12 98 af call #-20584 ;#0xaf98 00008f98 <.Loc.666.1>: 8f98: b0 12 00 b4 call #-19456 ;#0xb400 8f9c: 06 4c mov r12, r6 ; 8f9e: 07 4d mov r13, r7 ; 00008fa0 <.LBB53>: if(x > 0) 8fa0: b0 12 8e a3 call #-23666 ;#0xa38e 8fa4: 08 4c mov r12, r8 ; 8fa6: 09 4d mov r13, r9 ; 8fa8: 0a 4e mov r14, r10 ; 8faa: 0b 4f mov r15, r11 ; 00008fac <.Loc.51.1>: 8fac: 0e 44 mov r4, r14 ; 8fae: 4f 43 clr.b r15 ; 8fb0: 0c 46 mov r6, r12 ; 8fb2: 0d 47 mov r7, r13 ; 8fb4: 81 4b 0e 00 mov r11, 14(r1) ; 0x000e 8fb8: b0 12 38 a3 call #-23752 ;#0xa338 8fbc: 1b 41 0e 00 mov 14(r1), r11 ;0x0000e 8fc0: 4f 43 clr.b r15 ; 8fc2: 0f 9c cmp r12, r15 ; 8fc4: 66 35 jge $+718 ;abs 0x9292 00008fc6 <.Loc.52.1>: return (int)(x + 0.5); 8fc6: 0c 44 mov r4, r12 ; 8fc8: 0d 4f mov r15, r13 ; 8fca: 0e 4f mov r15, r14 ; 8fcc: 3f 40 e0 3f mov #16352, r15 ;#0x3fe0 8fd0: b0 12 7a a9 call #-22150 ;#0xa97a 00008fd4 <.Loc.52.1>: 8fd4: b0 12 32 b3 call #-19662 ;#0xb332 00008fd8 <.L155>: length=snprintf(rxbuf,64, "GND:" CALLSIGN " S:%u V:%d V1:%d V2:%d W1:%u W2:%u", seconds, roundToInt(volt/10.0), vBatt,roundToInt(vSolar/10.0),windRot120,windRot3); //send the temperature to the ground 8fd8: 91 42 ce 02 mov &0x02ce,12(r1) ;0x02ce, 0x000c 8fdc: 0c 00 8fde: 91 42 cc 02 mov &0x02cc,10(r1) ;0x02cc, 0x000a 8fe2: 0a 00 8fe4: 81 4c 08 00 mov r12, 8(r1) ; 8fe8: 91 41 1c 00 mov 28(r1), 6(r1) ;0x0001c 8fec: 06 00 8fee: 91 41 10 00 mov 16(r1), 4(r1) ;0x00010 8ff2: 04 00 8ff4: 91 41 1a 00 mov 26(r1), 2(r1) ;0x0001a 8ff8: 02 00 8ffa: b1 40 cd 80 mov #-32563,0(r1) ;#0x80cd 8ffe: 00 00 9000: 7d 40 40 00 mov.b #64, r13 ;#0x0040 9004: 0c 41 mov r1, r12 ; 9006: 3c 50 2c 00 add #44, r12 ;#0x002c 900a: b0 12 6a be call #-16790 ;#0xbe6a 0000900e <.LVL199>: 900e: 0d 4c mov r12, r13 ; 00009010 <.LVL200>: everyOther = true; 9010: 91 43 10 00 mov #1, 16(r1) ;r3 As==01, 0x0010 00009014 <.L149>: TX_STRING(rxbuf,length); 9014: 0c 41 mov r1, r12 ; 00009016 <.LVL202>: 9016: 3c 50 2c 00 add #44, r12 ;#0x002c 901a: b0 12 ae 89 call #-30290 ;#0x89ae 0000901e <.LVL203>: P2IFG &= ~GDO0; //clear our soiled GDO0 register 901e: f2 f0 bf ff and.b #-65, &0x002b ;#0xffbf 9022: 2b 00 00009024 <.Loc.671.1>: STBY_MODE(); //solar harvest, can't waste the energy! 9024: b0 12 8e 88 call #-30578 ;#0x888e 00009028 <.LVL204>: P1OUT &= ~LED_RED; 9028: d2 c3 21 00 bic.b #1, &0x0021 ;r3 As==01 0000902c <.Loc.674.1>: _enable_interrupts(); 902c: 32 d2 eint 0000902e <.Loc.678.1>: if(loop == false) 902e: 30 40 1c 8b br #0x8b1c ; 00009032 <.L189>: P1OUT |= LED_RED; 9032: d2 d3 21 00 bis.b #1, &0x0021 ;r3 As==01 00009036 <.Loc.552.1>: CCXX_SPI_STROBE(CCxxx0_SIDLE); //wake up radio 9036: 7c 40 36 00 mov.b #54, r12 ;#0x0036 903a: b0 12 92 93 call #-27758 ;#0x9392 0000903e <.LVL206>: length=snprintf(rxbuf,64, "GND:" CALLSIGN " S:%u MS:%u MG:%u", seconds, maxGst, maxSus); 903e: 91 42 d2 02 mov &0x02d2,6(r1) ;0x02d2 9042: 06 00 9044: 91 42 d4 02 mov &0x02d4,4(r1) ;0x02d4 9048: 04 00 904a: 91 42 de 02 mov &0x02de,2(r1) ;0x02de 904e: 02 00 9050: b1 40 8f 80 mov #-32625,0(r1) ;#0x808f 9054: 00 00 9056: 7d 40 40 00 mov.b #64, r13 ;#0x0040 905a: 0c 41 mov r1, r12 ; 905c: 3c 50 2c 00 add #44, r12 ;#0x002c 9060: b0 12 6a be call #-16790 ;#0xbe6a 00009064 <.LVL207>: TX_STRING(rxbuf,length); 9064: 4d 4c mov.b r12, r13 ; 9066: 0c 41 mov r1, r12 ; 00009068 <.LVL208>: 9068: 3c 50 2c 00 add #44, r12 ;#0x002c 906c: b0 12 ae 89 call #-30290 ;#0x89ae 00009070 <.LVL209>: P2IFG &= ~GDO0; //clear our soiled GDO0 register 9070: f2 f0 bf ff and.b #-65, &0x002b ;#0xffbf 9074: 2b 00 00009076 <.Loc.559.1>: STBY_MODE(); //solar harvest, can't waste the energy! 9076: b0 12 8e 88 call #-30578 ;#0x888e 0000907a <.LVL210>: P1OUT &= ~LED_RED; 907a: d2 c3 21 00 bic.b #1, &0x0021 ;r3 As==01 0000907e <.Loc.562.1>: _enable_interrupts(); 907e: 32 d2 eint 9080: 21 3e jmp $-956 ;abs 0x8cc4 00009082 <.L188>: P1OUT |= LED_GRN; 9082: e2 d3 21 00 bis.b #2, &0x0021 ;r3 As==10 00009086 <.Loc.437.1>: if(!memcmp(CALLSIGN,rxbuf,3)) //packet addressed to us 9086: f1 90 57 00 cmp.b #87, 44(r1) ;#0x0057, 0x002c 908a: 2c 00 908c: 02 24 jz $+6 ;abs 0x9092 908e: 30 40 c0 8b br #0x8bc0 ; 9092: f1 90 4e 00 cmp.b #78, 45(r1) ;#0x004e, 0x002d 9096: 2d 00 9098: 02 24 jz $+6 ;abs 0x909e 909a: 30 40 c0 8b br #0x8bc0 ; 909e: f1 90 44 00 cmp.b #68, 46(r1) ;#0x0044, 0x002e 90a2: 2e 00 90a4: 02 24 jz $+6 ;abs 0x90aa 90a6: 30 40 c0 8b br #0x8bc0 ; 000090aa <.Loc.439.1>: if(strstr( rxbuf, "interval" ) != NULL) //its an interval query 90aa: 3d 40 1d 80 mov #-32739,r13 ;#0x801d 90ae: 0c 41 mov r1, r12 ; 90b0: 3c 50 2c 00 add #44, r12 ;#0x002c 90b4: b0 12 f2 be call #-16654 ;#0xbef2 000090b8 <.LVL211>: 90b8: 0c 93 cmp #0, r12 ;r3 As==00 90ba: 09 25 jz $+532 ;abs 0x92ce 000090bc <.Loc.441.1>: length = atoi(strchr(rxbuf, '=' )+1); //The new interval should follow the equals sign 90bc: 7d 40 3d 00 mov.b #61, r13 ;#0x003d 90c0: 0c 41 mov r1, r12 ; 90c2: 3c 50 2c 00 add #44, r12 ;#0x002c 90c6: b0 12 d6 be call #-16682 ;#0xbed6 000090ca <.LVL212>: 90ca: 1c 53 inc r12 ; 90cc: b0 12 30 be call #-16848 ;#0xbe30 000090d0 <.LVL213>: 90d0: 0a 4c mov r12, r10 ; 000090d2 <.LVL214>: if(length > 0) 90d2: 0c 93 cmp #0, r12 ;r3 As==00 90d4: 1d 25 jz $+572 ;abs 0x9310 000090d6 <.LVL215>: length = snprintf(rxbuf,64,"GND:" CALLSIGN " Interval is now %d",interval); 90d6: 81 4c 02 00 mov r12, 2(r1) ; 90da: b1 40 26 80 mov #-32730,0(r1) ;#0x8026 90de: 00 00 90e0: 7d 40 40 00 mov.b #64, r13 ;#0x0040 90e4: 0c 41 mov r1, r12 ; 90e6: 3c 50 2c 00 add #44, r12 ;#0x002c 90ea: b0 12 6a be call #-16790 ;#0xbe6a 000090ee <.LVL216>: 90ee: 0d 4c mov r12, r13 ; 000090f0 <.LVL217>: 90f0: 81 4a 18 00 mov r10, 24(r1) ; 0x0018 000090f4 <.L185>: TX_STRING(rxbuf, length); 90f4: 0c 41 mov r1, r12 ; 90f6: 3c 50 2c 00 add #44, r12 ;#0x002c 90fa: b0 12 ae 89 call #-30290 ;#0x89ae 000090fe <.LVL219>: 90fe: 30 40 c0 8b br #0x8bc0 ; 00009102 <.L125>: windRot3Accum=0; 9102: 82 4c d0 02 mov r12, &0x02d0 ; 00009106 <.Loc.521.1>: windRot3 = 0; 9106: 82 4c ce 02 mov r12, &0x02ce ; 0000910a <.Loc.529.1>: if(windRot3 < (windRotAccum-windRot3Accum)) //if windRot3 is less than the current 3 second max, replace it with the max 910a: 1c 42 d6 02 mov &0x02d6,r12 ;0x02d6 0000910e <.Loc.529.1>: 910e: 0c 93 cmp #0, r12 ;r3 As==00 9110: bb 24 jz $+376 ;abs 0x9288 9112: 0d 44 mov r4, r13 ; 9114: 30 40 78 8c br #0x8c78 ; 00009118 <.L180>: return (int)(x - 0.5); 9118: 0c 49 mov r9, r12 ; 911a: 0d 4a mov r10, r13 ; 911c: b0 12 8e a3 call #-23666 ;#0xa38e 9120: 08 4c mov r12, r8 ; 9122: 09 4d mov r13, r9 ; 00009124 <.LVL222>: 9124: 0a 4e mov r14, r10 ; 9126: 0b 4f mov r15, r11 ; 9128: 0c 44 mov r4, r12 ; 912a: 4d 43 clr.b r13 ; 912c: 0e 4d mov r13, r14 ; 912e: 3f 40 e0 3f mov #16352, r15 ;#0x3fe0 9132: b0 12 e0 a9 call #-22048 ;#0xa9e0 00009136 <.Loc.54.1>: 9136: b0 12 32 b3 call #-19662 ;#0xb332 913a: 35 3e jmp $-916 ;abs 0x8da6 0000913c <.L182>: 913c: 0c 44 mov r4, r12 ; 913e: 0d 47 mov r7, r13 ; 9140: 0e 47 mov r7, r14 ; 9142: 3f 40 e0 3f mov #16352, r15 ;#0x3fe0 9146: b0 12 e0 a9 call #-22048 ;#0xa9e0 0000914a <.Loc.54.1>: 914a: b0 12 32 b3 call #-19662 ;#0xb332 914e: 81 4c 12 00 mov r12, 18(r1) ; 0x0012 00009152 <.LBE57>: _disable_interrupts(); 9152: 32 c2 dint 9154: 03 43 nop 00009156 <.Loc.610.1>: ADC10CTL0 &= ~ENC; //disable ADC 9156: a2 c3 b0 01 bic #2, &0x01b0 ;r3 As==10 0000915a <.Loc.611.1>: ADC10CTL0 &= ~(REFON | ADC10ON); // turn off A/D to save power 915a: b2 f0 cf ff and #-49, &0x01b0 ;#0xffcf 915e: b0 01 00009160 <.Loc.640.1>: if(everyOther == true) 9160: 81 93 10 00 cmp #0, 16(r1) ;r3 As==00, 0x0010 9164: cc 26 jz $-614 ;abs 0x8efe 00009166 <.L190>: if(!SHT31D_ReadTH()) 9166: b0 12 e6 9f call #-24602 ;#0x9fe6 0000916a <.LVL230>: 916a: 4c 93 cmp.b #0, r12 ;r3 As==00 916c: a9 24 jz $+340 ;abs 0x92c0 916e: 1c 42 e8 02 mov &0x02e8,r12 ;0x02e8 9172: 1d 42 ea 02 mov &0x02ea,r13 ;0x02ea 00009176 <.L148>: length=snprintf(rxbuf,64, "GND:" CALLSIGN " S:%u T1:%d T2:%d H2:%d RG:%u", seconds, degC, SHTDegC, SHTHumid, rainAccum); //send the temperature/rain to the ground 9176: 91 42 ca 02 mov &0x02ca,10(r1) ;0x02ca, 0x000a 917a: 0a 00 917c: 81 4d 08 00 mov r13, 8(r1) ; 9180: 81 4c 06 00 mov r12, 6(r1) ; 00009184 <.Loc.581.1>: adcraw = ADC10MEM;//737 9184: 1a 41 1a 00 mov 26(r1), r10 ;0x0001a 9188: 0e 4a mov r10, r14 ; 918a: 0f 43 clr r15 ; 0000918c <.Loc.583.1>: degC = (((adcraw - 673) * 4230) / 1024); 918c: 0c 4e mov r14, r12 ; 918e: 0d 4f mov r15, r13 ; 9190: 0c 5c rla r12 ; 9192: 0d 6d rlc r13 ; 9194: 0c 5c rla r12 ; 9196: 0d 6d rlc r13 ; 9198: 0c 5c rla r12 ; 919a: 0d 6d rlc r13 ; 919c: 0c 5c rla r12 ; 919e: 0d 6d rlc r13 ; 91a0: 0c 5c rla r12 ; 91a2: 0d 6d rlc r13 ; 91a4: 0a 4c mov r12, r10 ; 91a6: 0a 5e add r14, r10 ; 91a8: 81 4a 20 00 mov r10, 32(r1) ; 0x0020 91ac: 0a 4d mov r13, r10 ; 91ae: 0a 6f addc r15, r10 ; 91b0: 81 4a 22 00 mov r10, 34(r1) ; 0x0022 91b4: 1c 41 20 00 mov 32(r1), r12 ;0x00020 91b8: 1d 41 22 00 mov 34(r1), r13 ;0x00022 91bc: 0c 5c rla r12 ; 91be: 0d 6d rlc r13 ; 91c0: 0c 5c rla r12 ; 91c2: 0d 6d rlc r13 ; 91c4: 0c 5c rla r12 ; 91c6: 0d 6d rlc r13 ; 91c8: 0c 5c rla r12 ; 91ca: 0d 6d rlc r13 ; 91cc: 0a 4c mov r12, r10 ; 91ce: 0a 5e add r14, r10 ; 91d0: 81 4a 24 00 mov r10, 36(r1) ; 0x0024 91d4: 0a 4d mov r13, r10 ; 91d6: 0a 6f addc r15, r10 ; 91d8: 81 4a 26 00 mov r10, 38(r1) ; 0x0026 91dc: 1c 41 24 00 mov 36(r1), r12 ;0x00024 91e0: 1d 41 26 00 mov 38(r1), r13 ;0x00026 91e4: 0c 5c rla r12 ; 91e6: 0d 6d rlc r13 ; 91e8: 0c 5c rla r12 ; 91ea: 0d 6d rlc r13 ; 91ec: 0c 8e sub r14, r12 ; 91ee: 0d 7f subc r15, r13 ; 91f0: 0c 5c rla r12 ; 91f2: 0d 6d rlc r13 ; 91f4: 3c 50 ba 8f add #-28742,r12 ;#0x8fba 91f8: 81 4c 28 00 mov r12, 40(r1) ; 0x0028 91fc: 3d 60 d4 ff addc #-44, r13 ;#0xffd4 9200: 81 4d 2a 00 mov r13, 42(r1) ; 0x002a 00009204 <.Loc.583.1>: 9204: 1c 41 28 00 mov 40(r1), r12 ;0x00028 9208: 1d 41 2a 00 mov 42(r1), r13 ;0x0002a 920c: 12 c3 clrc 920e: 0d 10 rrc r13 ; 9210: 0c 10 rrc r12 ; 9212: 12 c3 clrc 9214: 0d 10 rrc r13 ; 9216: 0c 10 rrc r12 ; 9218: 12 c3 clrc 921a: 0d 10 rrc r13 ; 921c: 0c 10 rrc r12 ; 921e: 12 c3 clrc 9220: 0d 10 rrc r13 ; 9222: 0c 10 rrc r12 ; 9224: 12 c3 clrc 9226: 0d 10 rrc r13 ; 9228: 0c 10 rrc r12 ; 922a: 12 c3 clrc 922c: 0d 10 rrc r13 ; 922e: 0c 10 rrc r12 ; 9230: 12 c3 clrc 9232: 0d 10 rrc r13 ; 9234: 0c 10 rrc r12 ; 9236: 12 c3 clrc 9238: 0d 10 rrc r13 ; 923a: 0c 10 rrc r12 ; 923c: 12 c3 clrc 923e: 0d 10 rrc r13 ; 9240: 0c 10 rrc r12 ; 9242: 12 c3 clrc 9244: 0d 10 rrc r13 ; 9246: 0c 10 rrc r12 ; 00009248 <.Loc.583.1>: 9248: 81 4c 04 00 mov r12, 4(r1) ; 0000924c <.Loc.649.1>: length=snprintf(rxbuf,64, "GND:" CALLSIGN " S:%u T1:%d T2:%d H2:%d RG:%u", seconds, degC, SHTDegC, SHTHumid, rainAccum); //send the temperature/rain to the ground 924c: 91 42 de 02 mov &0x02de,2(r1) ;0x02de 9250: 02 00 9252: b1 40 a8 80 mov #-32600,0(r1) ;#0x80a8 9256: 00 00 9258: 7d 40 40 00 mov.b #64, r13 ;#0x0040 925c: 0c 41 mov r1, r12 ; 925e: 3c 50 2c 00 add #44, r12 ;#0x002c 9262: b0 12 6a be call #-16790 ;#0xbe6a 00009266 <.LVL231>: 9266: 0d 4c mov r12, r13 ; 00009268 <.LVL232>: everyOther = false; 9268: 81 44 10 00 mov r4, 16(r1) ; 0x0010 926c: d3 3e jmp $-600 ;abs 0x9014 0000926e <.L181>: return (int)(x - 0.5); 926e: 0c 44 mov r4, r12 ; 9270: 0d 47 mov r7, r13 ; 9272: 0e 47 mov r7, r14 ; 9274: 3f 40 e0 3f mov #16352, r15 ;#0x3fe0 9278: b0 12 e0 a9 call #-22048 ;#0xa9e0 0000927c <.Loc.54.1>: 927c: b0 12 32 b3 call #-19662 ;#0xb332 9280: 81 4c 1c 00 mov r12, 28(r1) ; 0x001c 9284: 30 40 50 8e br #0x8e50 ; 00009288 <.L128>: windRot3Accum = windRotAccum; //catch up for the next go around 9288: 92 42 d6 02 mov &0x02d6,&0x02d0 ;0x02d6 928c: d0 02 0000928e <.Loc.534.1>: if(maxGst < windRot3) 928e: 30 40 92 8c br #0x8c92 ; 00009292 <.L184>: return (int)(x - 0.5); 9292: 0c 44 mov r4, r12 ; 9294: 4d 43 clr.b r13 ; 9296: 0e 4d mov r13, r14 ; 9298: 3f 40 e0 3f mov #16352, r15 ;#0x3fe0 929c: b0 12 e0 a9 call #-22048 ;#0xa9e0 000092a0 <.Loc.54.1>: 92a0: b0 12 32 b3 call #-19662 ;#0xb332 92a4: 99 3e jmp $-716 ;abs 0x8fd8 000092a6 <.L183>: 92a6: 0c 44 mov r4, r12 ; 92a8: 1d 41 10 00 mov 16(r1), r13 ;0x00010 92ac: 0e 4d mov r13, r14 ; 92ae: 3f 40 e0 3f mov #16352, r15 ;#0x3fe0 92b2: b0 12 e0 a9 call #-22048 ;#0xa9e0 000092b6 <.Loc.54.1>: 92b6: b0 12 32 b3 call #-19662 ;#0xb332 92ba: 81 4c 10 00 mov r12, 16(r1) ; 0x0010 92be: 58 3e jmp $-846 ;abs 0x8f70 000092c0 <.L147>: SHTDegC = 1; 92c0: 92 43 e8 02 mov #1, &0x02e8 ;r3 As==01 000092c4 <.Loc.646.1>: SHTHumid = 1; 92c4: 92 43 ea 02 mov #1, &0x02ea ;r3 As==01 92c8: 5d 43 mov.b #1, r13 ;r3 As==01 92ca: 0c 4d mov r13, r12 ; 92cc: 54 3f jmp $-342 ;abs 0x9176 000092ce <.L109>: else if(strstr( rxbuf, "status" ) != NULL) //its a status inquiery 92ce: 3d 40 64 80 mov #-32668,r13 ;#0x8064 92d2: 0c 41 mov r1, r12 ; 92d4: 3c 50 2c 00 add #44, r12 ;#0x002c 92d8: b0 12 f2 be call #-16654 ;#0xbef2 000092dc <.LVL245>: 92dc: 0c 93 cmp #0, r12 ;r3 As==00 92de: 27 24 jz $+80 ;abs 0x932e 000092e0 <.Loc.454.1>: length = snprintf(rxbuf,64,"GND:" CALLSIGN " RSSI:%ddBm LQI:%d", RSSI_DBM, LQI); 92e0: 81 4a 04 00 mov r10, 4(r1) ; 92e4: 5c 42 d9 02 mov.b &0x02d9,r12 ;0x02d9 92e8: 81 4c 02 00 mov r12, 2(r1) ; 92ec: b1 40 6b 80 mov #-32661,0(r1) ;#0x806b 92f0: 00 00 92f2: 7d 40 40 00 mov.b #64, r13 ;#0x0040 92f6: 0c 41 mov r1, r12 ; 92f8: 3c 50 2c 00 add #44, r12 ;#0x002c 92fc: b0 12 6a be call #-16790 ;#0xbe6a 00009300 <.LVL246>: TX_STRING(rxbuf,length); 9300: 4d 4c mov.b r12, r13 ; 9302: 0c 41 mov r1, r12 ; 00009304 <.LVL247>: 9304: 3c 50 2c 00 add #44, r12 ;#0x002c 9308: b0 12 ae 89 call #-30290 ;#0x89ae 0000930c <.LVL248>: 930c: 30 40 c0 8b br #0x8bc0 ; 00009310 <.L110>: length = snprintf(rxbuf,64,"GND:" CALLSIGN " Reporting every %d seconds",interval); 9310: 91 41 18 00 mov 24(r1), 2(r1) ;0x00018 9314: 02 00 9316: b1 40 41 80 mov #-32703,0(r1) ;#0x8041 931a: 00 00 931c: 7d 40 40 00 mov.b #64, r13 ;#0x0040 9320: 0c 41 mov r1, r12 ; 9322: 3c 50 2c 00 add #44, r12 ;#0x002c 9326: b0 12 6a be call #-16790 ;#0xbe6a 0000932a <.LVL250>: 932a: 0d 4c mov r12, r13 ; 0000932c <.LVL251>: TX_STRING(rxbuf,length); 932c: e3 3e jmp $-568 ;abs 0x90f4 0000932e <.L112>: else if(strstr( rxbuf, "now" ) != NULL) //report now 932e: 3d 40 85 80 mov #-32635,r13 ;#0x8085 9332: 0c 41 mov r1, r12 ; 9334: 3c 50 2c 00 add #44, r12 ;#0x002c 9338: b0 12 f2 be call #-16654 ;#0xbef2 0000933c <.LVL253>: 933c: 0c 93 cmp #0, r12 ;r3 As==00 933e: 05 24 jz $+12 ;abs 0x934a 00009340 <.Loc.460.1>: flags |= GO_NOW | TIMER_UP; //set event flags to trigger the reporting 9340: b2 d0 05 00 bis #5, &0x02e0 ; 9344: e0 02 9346: 30 40 c0 8b br #0x8bc0 ; 0000934a <.L113>: else if(strstr( rxbuf, "Reset" ) != NULL) //reboot the processor 934a: 3d 40 89 80 mov #-32631,r13 ;#0x8089 934e: 0c 41 mov r1, r12 ; 9350: 3c 50 2c 00 add #44, r12 ;#0x002c 9354: b0 12 f2 be call #-16654 ;#0xbef2 00009358 <.LVL254>: 9358: 0c 93 cmp #0, r12 ;r3 As==00 935a: 18 20 jnz $+50 ;abs 0x938c 0000935c <.Loc.470.1>: length = snprintf(rxbuf,64,"GND:" CALLSIGN " Pong!"); 935c: b1 40 47 4e mov #20039, 44(r1) ;#0x4e47, 0x002c 9360: 2c 00 9362: b1 40 44 3a mov #14916, 46(r1) ;#0x3a44, 0x002e 9366: 2e 00 9368: b1 40 57 4e mov #20055, 48(r1) ;#0x4e57, 0x0030 936c: 30 00 936e: b1 40 44 20 mov #8260, 50(r1) ;#0x2044, 0x0032 9372: 32 00 9374: b1 40 50 6f mov #28496, 52(r1) ;#0x6f50, 0x0034 9378: 34 00 937a: b1 40 6e 67 mov #26478, 54(r1) ;#0x676e, 0x0036 937e: 36 00 9380: b1 40 21 00 mov #33, 56(r1) ;#0x0021, 0x0038 9384: 38 00 00009386 <.LVL255>: TX_STRING(rxbuf, length); 9386: 7d 40 0d 00 mov.b #13, r13 ;#0x000d 938a: b4 3e jmp $-662 ;abs 0x90f4 0000938c <.L191>: WDTCTL = 1;//not using the password will trigger a reset immediately 938c: 92 43 20 01 mov #1, &0x0120 ;r3 As==01 00009390 : while(1); //Save us WDOG (alternate, takes 2.7 seconds with VLO) 9390: ff 3f jmp $+0 ;abs 0x9390 00009392 : /** Strobe a command to the CCXX */ void CCXX_SPI_STROBE(char reg) { 9392: 3c f0 ff 00 and #255, r12 ;#0x00ff 00009396 <.Loc.11.1>: status=0; P3OUT &= ~CSn; //pull CSn low to activate chip 9396: d2 c3 19 00 bic.b #1, &0x0019 ;r3 As==01 0000939a <.L2>: while(P3IN & SOMI); //wait for the CCXX good signal, wait for SOMI to drop low 939a: e2 b2 18 00 bit.b #4, &0x0018 ;r2 As==10 939e: fd 23 jnz $-4 ;abs 0x939a 000093a0 <.Loc.16.1>: P3SEL |= UARTB0_SPI_MODULES; //this will bring the clock edge high 93a0: f2 d0 0e 00 bis.b #14, &0x001b ;#0x000e 93a4: 1b 00 000093a6 <.Loc.18.1>: IFG2 &= ~UCB0RXIFG; 93a6: e2 c2 03 00 bic.b #4, &0x0003 ;r2 As==10 000093aa <.Loc.19.1>: UCB0TXBUF = reg; 93aa: c2 4c 6f 00 mov.b r12, &0x006f ; 000093ae <.L3>: while (!(IFG2 & UCB0RXIFG)); 93ae: e2 b2 03 00 bit.b #4, &0x0003 ;r2 As==10 93b2: fd 27 jz $-4 ;abs 0x93ae 000093b4 <.Loc.21.1>: status = UCB0RXBUF; 93b4: d2 42 6e 00 mov.b &0x006e,&0x02e2 ;0x006e 93b8: e2 02 000093ba <.Loc.23.1>: P3OUT |= CSn; //pull CSn high, we're done with the transfer 93ba: d2 d3 19 00 bis.b #1, &0x0019 ;r3 As==01 000093be <.Loc.24.1>: P3SEL &= ~UARTB0_SPI_MODULES; //take the pins back out of SPI mode 93be: f2 f0 f1 ff and.b #-15, &0x001b ;#0xfff1 93c2: 1b 00 000093c4 <.Loc.26.1>: } 93c4: 30 41 ret 000093c6 : /** Read a register from the CCXX */ char CCXX_SPI_RDREG(char reg) { 93c6: 4d 4c mov.b r12, r13 ; 000093c8 <.LVL2>: unsigned char rx=0; if(reg >= 0x30) 93c8: 7e 40 2f 00 mov.b #47, r14 ;#0x002f 93cc: 4e 9c cmp.b r12, r14 ; 93ce: 25 2c jc $+76 ;abs 0x941a 000093d0 <.Loc.36.1>: reg |= 0xC0; 93d0: 7d d0 c0 ff bis.b #-64, r13 ;#0xffc0 93d4: 3d f0 ff 00 and #255, r13 ;#0x00ff 000093d8 <.LVL3>: else reg |= 0x80; status=0; P3OUT &= ~CSn; //pull CSn low to activate chip 93d8: d2 c3 19 00 bic.b #1, &0x0019 ;r3 As==01 000093dc <.L11>: while(P3IN & SOMI); //wait for the CCXX good signal, wait for SOMI to drop low 93dc: e2 b2 18 00 bit.b #4, &0x0018 ;r2 As==10 93e0: fd 23 jnz $-4 ;abs 0x93dc 000093e2 <.Loc.45.1>: P3SEL |= UARTB0_SPI_MODULES; //this will bring the clock edge high 93e2: f2 d0 0e 00 bis.b #14, &0x001b ;#0x000e 93e6: 1b 00 000093e8 <.Loc.47.1>: IFG2 &= ~UCB0RXIFG; 93e8: e2 c2 03 00 bic.b #4, &0x0003 ;r2 As==10 000093ec <.Loc.48.1>: UCB0TXBUF = reg; 93ec: c2 4d 6f 00 mov.b r13, &0x006f ; 000093f0 <.L12>: while (!(IFG2 & UCB0RXIFG)); 93f0: e2 b2 03 00 bit.b #4, &0x0003 ;r2 As==10 93f4: fd 27 jz $-4 ;abs 0x93f0 000093f6 <.Loc.50.1>: status = UCB0RXBUF; 93f6: d2 42 6e 00 mov.b &0x006e,&0x02e2 ;0x006e 93fa: e2 02 000093fc <.Loc.52.1>: IFG2 &= ~UCB0RXIFG; 93fc: e2 c2 03 00 bic.b #4, &0x0003 ;r2 As==10 00009400 <.Loc.53.1>: UCB0TXBUF = 0; 9400: c2 43 6f 00 mov.b #0, &0x006f ;r3 As==00 00009404 <.L13>: while (!(IFG2 & UCB0RXIFG)); 9404: e2 b2 03 00 bit.b #4, &0x0003 ;r2 As==10 9408: fd 27 jz $-4 ;abs 0x9404 0000940a <.Loc.55.1>: rx = UCB0RXBUF; 940a: 5c 42 6e 00 mov.b &0x006e,r12 ;0x006e 0000940e <.LVL5>: P3OUT |= CSn; //pull CSn high, we're done with the transfer 940e: d2 d3 19 00 bis.b #1, &0x0019 ;r3 As==01 00009412 <.Loc.58.1>: P3SEL &= ~UARTB0_SPI_MODULES; //take the pins back out of SPI mode 9412: f2 f0 f1 ff and.b #-15, &0x001b ;#0xfff1 9416: 1b 00 00009418 <.Loc.59.1>: return rx; } 9418: 30 41 ret 0000941a <.L9>: reg |= 0x80; 941a: 7d d0 80 ff bis.b #-128, r13 ;#0xff80 941e: 3d f0 ff 00 and #255, r13 ;#0x00ff 00009422 <.LVL7>: P3OUT &= ~CSn; //pull CSn low to activate chip 9422: d2 c3 19 00 bic.b #1, &0x0019 ;r3 As==01 00009426 <.Loc.43.1>: while(P3IN & SOMI); //wait for the CCXX good signal, wait for SOMI to drop low 9426: da 3f jmp $-74 ;abs 0x93dc 00009428 : /** Write a register from the CCXX */ void CCXX_SPI_WRREG(char reg, char byte) { 9428: 3c f0 ff 00 and #255, r12 ;#0x00ff 942c: 3d f0 ff 00 and #255, r13 ;#0x00ff 00009430 <.Loc.67.1>: unsigned char dummy; status=0; P3OUT &= ~CSn; //pull CSn low to activate chip 9430: d2 c3 19 00 bic.b #1, &0x0019 ;r3 As==01 00009434 <.L20>: while(P3IN & SOMI); //wait for the CCXX good signal, wait for SOMI to drop low 9434: e2 b2 18 00 bit.b #4, &0x0018 ;r2 As==10 9438: fd 23 jnz $-4 ;abs 0x9434 0000943a <.Loc.75.1>: P3SEL |= UARTB0_SPI_MODULES; //this will bring the clock edge high 943a: f2 d0 0e 00 bis.b #14, &0x001b ;#0x000e 943e: 1b 00 00009440 <.Loc.77.1>: IFG2 &= ~UCB0RXIFG; 9440: e2 c2 03 00 bic.b #4, &0x0003 ;r2 As==10 00009444 <.Loc.78.1>: UCB0TXBUF = reg; 9444: c2 4c 6f 00 mov.b r12, &0x006f ; 00009448 <.L21>: while (!(IFG2 & UCB0RXIFG)); 9448: e2 b2 03 00 bit.b #4, &0x0003 ;r2 As==10 944c: fd 27 jz $-4 ;abs 0x9448 0000944e <.Loc.80.1>: status = UCB0RXBUF; 944e: d2 42 6e 00 mov.b &0x006e,&0x02e2 ;0x006e 9452: e2 02 00009454 <.Loc.85.1>: //lil delay //delay(1); IFG2 &= ~UCB0RXIFG; 9454: e2 c2 03 00 bic.b #4, &0x0003 ;r2 As==10 00009458 <.Loc.86.1>: UCB0TXBUF = byte; 9458: c2 4d 6f 00 mov.b r13, &0x006f ; 0000945c <.L22>: while (!(IFG2 & UCB0RXIFG)); 945c: e2 b2 03 00 bit.b #4, &0x0003 ;r2 As==10 9460: fd 27 jz $-4 ;abs 0x945c 00009462 <.Loc.88.1>: dummy = UCB0RXBUF; 9462: 5c 42 6e 00 mov.b &0x006e,r12 ;0x006e 00009466 <.LVL9>: P3OUT |= CSn; //pull CSn high, we're done with the transfer 9466: d2 d3 19 00 bis.b #1, &0x0019 ;r3 As==01 0000946a <.Loc.91.1>: P3SEL &= ~UARTB0_SPI_MODULES; //take the pins back out of SPI mode 946a: f2 f0 f1 ff and.b #-15, &0x001b ;#0xfff1 946e: 1b 00 00009470 <.Loc.92.1>: } 9470: 30 41 ret 00009472 : /** Write a register from the CCXX */ void CCXX_SPI_BURST_WRREG(char reg, char *buf, char length) { 9472: 3c f0 ff 00 and #255, r12 ;#0x00ff 9476: 3e f0 ff 00 and #255, r14 ;#0x00ff 0000947a <.Loc.100.1>: unsigned char dummy; unsigned int index; status=0; P3OUT &= ~CSn; //pull CSn low to activate chip 947a: d2 c3 19 00 bic.b #1, &0x0019 ;r3 As==01 0000947e <.L29>: while(P3IN & SOMI); //wait for the CCXX good signal, wait for SOMI to drop low 947e: e2 b2 18 00 bit.b #4, &0x0018 ;r2 As==10 9482: fd 23 jnz $-4 ;abs 0x947e 00009484 <.Loc.107.1>: P3SEL |= UARTB0_SPI_MODULES; //this will bring the clock edge high 9484: f2 d0 0e 00 bis.b #14, &0x001b ;#0x000e 9488: 1b 00 0000948a <.Loc.109.1>: IFG2 &= ~UCB0RXIFG; 948a: e2 c2 03 00 bic.b #4, &0x0003 ;r2 As==10 0000948e <.Loc.110.1>: UCB0TXBUF = reg; 948e: c2 4c 6f 00 mov.b r12, &0x006f ; 00009492 <.L30>: while (!(IFG2 & UCB0RXIFG)); 9492: e2 b2 03 00 bit.b #4, &0x0003 ;r2 As==10 9496: fd 27 jz $-4 ;abs 0x9492 00009498 <.Loc.112.1>: status = UCB0RXBUF; 9498: d2 42 6e 00 mov.b &0x006e,&0x02e2 ;0x006e 949c: e2 02 0000949e <.Loc.114.1>: IFG2 &= ~UCB0RXIFG; 949e: e2 c2 03 00 bic.b #4, &0x0003 ;r2 As==10 000094a2 <.Loc.115.1>: UCB0TXBUF = length; 94a2: c2 4e 6f 00 mov.b r14, &0x006f ; 000094a6 <.L31>: while (!(IFG2 & UCB0RXIFG)); 94a6: e2 b2 03 00 bit.b #4, &0x0003 ;r2 As==10 94aa: fd 27 jz $-4 ;abs 0x94a6 000094ac <.Loc.117.1>: dummy = UCB0RXBUF; 94ac: 5c 42 6e 00 mov.b &0x006e,r12 ;0x006e 000094b0 <.LVL11>: for(index = 0; index < length; index++) 94b0: 0e 93 cmp #0, r14 ;r3 As==00 94b2: 0c 24 jz $+26 ;abs 0x94cc 94b4: 0e 5d add r13, r14 ; 000094b6 <.L34>: { IFG2 &= ~UCB0RXIFG; 94b6: e2 c2 03 00 bic.b #4, &0x0003 ;r2 As==10 000094ba <.Loc.122.1>: UCB0TXBUF = buf[index]; 94ba: f2 4d 6f 00 mov.b @r13+, &0x006f ; 000094be <.L33>: while (!(IFG2 & UCB0RXIFG)); 94be: e2 b2 03 00 bit.b #4, &0x0003 ;r2 As==10 94c2: fd 27 jz $-4 ;abs 0x94be 000094c4 <.Loc.124.1>: dummy = UCB0RXBUF; 94c4: 5c 42 6e 00 mov.b &0x006e,r12 ;0x006e 000094c8 <.LVL14>: for(index = 0; index < length; index++) 94c8: 0d 9e cmp r14, r13 ; 94ca: f5 23 jnz $-20 ;abs 0x94b6 000094cc <.L32>: } P3OUT |= CSn; //pull CSn high, we're done with the transfer 94cc: d2 d3 19 00 bis.b #1, &0x0019 ;r3 As==01 000094d0 <.Loc.128.1>: P3SEL &= ~UARTB0_SPI_MODULES; //take the pins back out of SPI mode 94d0: f2 f0 f1 ff and.b #-15, &0x001b ;#0xfff1 94d4: 1b 00 000094d6 <.Loc.129.1>: } 94d6: 30 41 ret 000094d8 : uint8_t SWI2C_deviceID; uint8_t SWI2C_scl_pin; uint8_t SWI2C_sda_pin; void SWI2C_SWI2C(uint8_t sda_pin, uint8_t scl_pin, uint8_t deviceID) { SWI2C_sda_pin = sda_pin; 94d8: 000094da : 94da: e4 02 adda r2, r4 ; 000094dc <.Loc.27.1>: SWI2C_scl_pin = scl_pin; 94dc: c2 4d e5 02 mov.b r13, &0x02e5 ; 000094e0 <.Loc.28.1>: SWI2C_deviceID = deviceID; 94e0: c2 4e e6 02 mov.b r14, &0x02e6 ; 000094e4 <.Loc.31.1>: //_stretch_timeout_delay = DEFAULT_STRETCH_TIMEOUT; //_stretch_timeout_error = 0; } 94e4: 30 41 ret 000094e6 : //digitalWrite(SWI2C_sda_pin, LOW); //pinMode(SWI2C_scl_pin, INPUT); //pinMode(SWI2C_sda_pin, INPUT); //this is already taken care of by initialization in hardware.h... No need to call this. P2OUT &= ~(SWI2C_scl_pin | SWI2C_sda_pin); //clear SDA and SCL 94e6: 5c 42 e5 02 mov.b &0x02e5,r12 ;0x02e5 94ea: 5c d2 e4 02 bis.b &0x02e4,r12 ;0x02e4 94ee: c2 cc 29 00 bic.b r12, &0x0029 ; 000094f2 <.Loc.43.1>: P2DIR |= SWI2C_scl_pin | SWI2C_sda_pin; //set both to inputs 94f2: c2 dc 2a 00 bis.b r12, &0x002a ; 000094f6 <.Loc.44.1>: } 94f6: 30 41 ret 000094f8 : void SWI2C_sclHi() { unsigned long startTimer; // I2C pull-up resistor pulls SCL high in INPUT (Hi-Z) mode //pinMode(SWI2C_scl_pin, INPUT); P2DIR &= ~SWI2C_scl_pin; 94f8: 5c 42 e5 02 mov.b &0x02e5,r12 ;0x02e5 94fc: c2 cc 2a 00 bic.b r12, &0x002a ; 00009500 <.L5>: // Check to make sure SCL pin has actually gone high before returning // Device may be pulling SCL low to delay transfer (clock stretching) //if ( _stretch_timeout_delay == 0) // If timeout delay == 0, then wait indefinitely for SCL to go high //while (digitalRead(SWI2C_scl_pin) == LOW) ; // Empty statement: keep looping until not LOW while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9500: c2 bc 28 00 bit.b r12, &0x0028 ; 9504: fd 27 jz $-4 ;abs 0x9500 00009506 <.Loc.321.1>: if (digitalRead(SWI2C_scl_pin) == HIGH) return; // SCL high before timeout, return without error } // SCL did not go high within the timeout, so set error and return anyway. _stretch_timeout_error = 1; }*/ } 9506: 30 41 ret 00009508 : void SWI2C_sclLo() { //pinMode(SWI2C_scl_pin, OUTPUT); // SWI2C_scl_pin set LOW in constructor P2DIR |= SWI2C_scl_pin; 9508: d2 d2 e5 02 bis.b &0x02e5,&0x002a ;0x02e5 950c: 2a 00 0000950e <.Loc.326.1>: } 950e: 30 41 ret 00009510 : void SWI2C_sdaHi() { //pinMode(SWI2C_sda_pin, INPUT); // I2C pull-up resistor pulls signal high P2DIR &= ~SWI2C_sda_pin; 9510: d2 c2 e4 02 bic.b &0x02e4,&0x002a ;0x02e4 9514: 2a 00 00009516 <.Loc.331.1>: } 9516: 30 41 ret 00009518 : void SWI2C_sdaLo() { //pinMode(SWI2C_sda_pin, OUTPUT); // SWI2C_sda_pin set LOW in constructor P2DIR |= SWI2C_sda_pin; 9518: d2 d2 e4 02 bis.b &0x02e4,&0x002a ;0x02e4 951c: 2a 00 0000951e <.Loc.336.1>: } 951e: 30 41 ret 00009520 : P2DIR &= ~SWI2C_scl_pin; 9520: 5c 42 e5 02 mov.b &0x02e5,r12 ;0x02e5 9524: c2 cc 2a 00 bic.b r12, &0x002a ; 00009528 <.L12>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9528: c2 bc 28 00 bit.b r12, &0x0028 ; 952c: fd 27 jz $-4 ;abs 0x9528 0000952e <.LBB288>: P2DIR |= SWI2C_sda_pin; 952e: d2 d2 e4 02 bis.b &0x02e4,&0x002a ;0x02e4 9532: 2a 00 00009534 <.LBB290>: P2DIR |= SWI2C_scl_pin; 9534: c2 dc 2a 00 bis.b r12, &0x002a ; 00009538 <.LBE290>: void SWI2C_startBit() { // Assume SDA already HIGH SWI2C_sclHi(); SWI2C_sdaLo(); SWI2C_sclLo(); } 9538: 30 41 ret 0000953a : void SWI2C_writeAddress(uint8_t r_w) { // Assume SCL, SDA already LOW from startBit() 953a: 0a 12 push r10 ; 0000953c <.LCFI0>: 953c: 3c f0 ff 00 and #255, r12 ;#0x00ff 00009540 <.Loc.345.1>: if (SWI2C_deviceID & 0x40) SWI2C_sdaHi(); // bit 6 9540: 5f 42 e6 02 mov.b &0x02e6,r15 ;0x02e6 9544: 5b 42 e4 02 mov.b &0x02e4,r11 ;0x02e4 9548: 4a 4b mov.b r11, r10 ; 954a: 7a e3 xor.b #-1, r10 ;r3 As==11 0000954c <.Loc.345.1>: 954c: 3f b0 40 00 bit #64, r15 ;#0x0040 9550: 7e 24 jz $+254 ;abs 0x964e 00009552 <.LBB292>: P2DIR &= ~SWI2C_sda_pin; 9552: c2 fa 2a 00 and.b r10, &0x002a ; 00009556 <.L17>: P2DIR &= ~SWI2C_scl_pin; 9556: 5d 42 e5 02 mov.b &0x02e5,r13 ;0x02e5 955a: 4e 4d mov.b r13, r14 ; 955c: 7e e3 xor.b #-1, r14 ;r3 As==11 955e: c2 fe 2a 00 and.b r14, &0x002a ; 00009562 <.L18>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9562: c2 bd 28 00 bit.b r13, &0x0028 ; 9566: fd 27 jz $-4 ;abs 0x9562 00009568 <.LBB296>: P2DIR |= SWI2C_scl_pin; 9568: c2 dd 2a 00 bis.b r13, &0x002a ; 0000956c <.LBE296>: else SWI2C_sdaLo(); SWI2C_sclHi(); SWI2C_sclLo(); if (SWI2C_deviceID & 0x20) SWI2C_sdaHi(); // bit 5 956c: 3f b0 20 00 bit #32, r15 ;#0x0020 9570: 69 24 jz $+212 ;abs 0x9644 00009572 <.LBB298>: P2DIR &= ~SWI2C_sda_pin; 9572: c2 fa 2a 00 and.b r10, &0x002a ; 00009576 <.LBB300>: P2DIR &= ~SWI2C_scl_pin; 9576: c2 fe 2a 00 and.b r14, &0x002a ; 0000957a <.L21>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 957a: c2 bd 28 00 bit.b r13, &0x0028 ; 957e: fd 27 jz $-4 ;abs 0x957a 00009580 <.LBB303>: P2DIR |= SWI2C_scl_pin; 9580: c2 dd 2a 00 bis.b r13, &0x002a ; 00009584 <.LBE303>: else SWI2C_sdaLo(); SWI2C_sclHi(); SWI2C_sclLo(); if (SWI2C_deviceID & 0x10) SWI2C_sdaHi(); // bit 4 9584: 3f b0 10 00 bit #16, r15 ;#0x0010 9588: 58 24 jz $+178 ;abs 0x963a 0000958a <.LBB305>: P2DIR &= ~SWI2C_sda_pin; 958a: c2 fa 2a 00 and.b r10, &0x002a ; 0000958e <.LBB307>: P2DIR &= ~SWI2C_scl_pin; 958e: c2 fe 2a 00 and.b r14, &0x002a ; 00009592 <.L24>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9592: c2 bd 28 00 bit.b r13, &0x0028 ; 9596: fd 27 jz $-4 ;abs 0x9592 00009598 <.LBB310>: P2DIR |= SWI2C_scl_pin; 9598: c2 dd 2a 00 bis.b r13, &0x002a ; 0000959c <.LBE310>: else SWI2C_sdaLo(); SWI2C_sclHi(); SWI2C_sclLo(); if (SWI2C_deviceID & 0x08) SWI2C_sdaHi(); // bit 3 959c: 3f b2 bit #8, r15 ;r2 As==11 959e: 48 24 jz $+146 ;abs 0x9630 000095a0 <.LBB312>: P2DIR &= ~SWI2C_sda_pin; 95a0: c2 fa 2a 00 and.b r10, &0x002a ; 000095a4 <.LBB314>: P2DIR &= ~SWI2C_scl_pin; 95a4: c2 fe 2a 00 and.b r14, &0x002a ; 000095a8 <.L27>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 95a8: c2 bd 28 00 bit.b r13, &0x0028 ; 95ac: fd 27 jz $-4 ;abs 0x95a8 000095ae <.LBB317>: P2DIR |= SWI2C_scl_pin; 95ae: c2 dd 2a 00 bis.b r13, &0x002a ; 000095b2 <.LBE317>: else SWI2C_sdaLo(); SWI2C_sclHi(); SWI2C_sclLo(); if (SWI2C_deviceID & 0x04) SWI2C_sdaHi(); // bit 2 95b2: 2f b2 bit #4, r15 ;r2 As==10 95b4: 38 24 jz $+114 ;abs 0x9626 000095b6 <.LBB319>: P2DIR &= ~SWI2C_sda_pin; 95b6: c2 fa 2a 00 and.b r10, &0x002a ; 000095ba <.LBB321>: P2DIR &= ~SWI2C_scl_pin; 95ba: c2 fe 2a 00 and.b r14, &0x002a ; 000095be <.L30>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 95be: c2 bd 28 00 bit.b r13, &0x0028 ; 95c2: fd 27 jz $-4 ;abs 0x95be 000095c4 <.LBB324>: P2DIR |= SWI2C_scl_pin; 95c4: c2 dd 2a 00 bis.b r13, &0x002a ; 000095c8 <.LBE324>: else SWI2C_sdaLo(); SWI2C_sclHi(); SWI2C_sclLo(); if (SWI2C_deviceID & 0x02) SWI2C_sdaHi(); // bit 1 95c8: 2f b3 bit #2, r15 ;r3 As==10 95ca: 28 24 jz $+82 ;abs 0x961c 000095cc <.LBB326>: P2DIR &= ~SWI2C_sda_pin; 95cc: c2 fa 2a 00 and.b r10, &0x002a ; 000095d0 <.LBB328>: P2DIR &= ~SWI2C_scl_pin; 95d0: c2 fe 2a 00 and.b r14, &0x002a ; 000095d4 <.L33>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 95d4: c2 bd 28 00 bit.b r13, &0x0028 ; 95d8: fd 27 jz $-4 ;abs 0x95d4 000095da <.LBB331>: P2DIR |= SWI2C_scl_pin; 95da: c2 dd 2a 00 bis.b r13, &0x002a ; 000095de <.LBE331>: else SWI2C_sdaLo(); SWI2C_sclHi(); SWI2C_sclLo(); if (SWI2C_deviceID & 0x01) SWI2C_sdaHi(); // bit 0 95de: 1f b3 bit #1, r15 ;r3 As==01 95e0: 18 24 jz $+50 ;abs 0x9612 000095e2 <.LBB333>: P2DIR &= ~SWI2C_sda_pin; 95e2: c2 fa 2a 00 and.b r10, &0x002a ; 000095e6 <.LBB335>: P2DIR &= ~SWI2C_scl_pin; 95e6: c2 fe 2a 00 and.b r14, &0x002a ; 000095ea <.L36>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 95ea: c2 bd 28 00 bit.b r13, &0x0028 ; 95ee: fd 27 jz $-4 ;abs 0x95ea 000095f0 <.LBB338>: P2DIR |= SWI2C_scl_pin; 95f0: c2 dd 2a 00 bis.b r13, &0x002a ; 000095f4 <.LBE338>: else SWI2C_sdaLo(); SWI2C_sclHi(); SWI2C_sclLo(); if (r_w == 1) SWI2C_sdaHi(); // R/W bit 95f4: 1c 93 cmp #1, r12 ;r3 As==01 95f6: 2e 24 jz $+94 ;abs 0x9654 000095f8 <.LBB340>: P2DIR |= SWI2C_sda_pin; 95f8: c2 db 2a 00 bis.b r11, &0x002a ; 000095fc <.LBB342>: P2DIR &= ~SWI2C_scl_pin; 95fc: c2 fe 2a 00 and.b r14, &0x002a ; 00009600 <.L39>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9600: c2 bd 28 00 bit.b r13, &0x0028 ; 9604: fd 27 jz $-4 ;abs 0x9600 00009606 <.LBB345>: P2DIR |= SWI2C_scl_pin; 9606: c2 dd 2a 00 bis.b r13, &0x002a ; 0000960a <.LBB347>: P2DIR &= ~SWI2C_sda_pin; 960a: c2 fa 2a 00 and.b r10, &0x002a ; 0000960e <.LBE347>: else SWI2C_sdaLo(); SWI2C_sclHi(); SWI2C_sclLo(); SWI2C_sdaHi(); // Release the data line for ACK signal from device } 960e: 3a 41 pop r10 ; 00009610 <.LCFI1>: 9610: 30 41 ret 00009612 <.L34>: P2DIR |= SWI2C_sda_pin; 9612: c2 db 2a 00 bis.b r11, &0x002a ; 00009616 <.LBB351>: P2DIR &= ~SWI2C_scl_pin; 9616: c2 fe 2a 00 and.b r14, &0x002a ; 0000961a <.Loc.307.1>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 961a: e7 3f jmp $-48 ;abs 0x95ea 0000961c <.L31>: P2DIR |= SWI2C_sda_pin; 961c: c2 db 2a 00 bis.b r11, &0x002a ; 00009620 <.LBB354>: P2DIR &= ~SWI2C_scl_pin; 9620: c2 fe 2a 00 and.b r14, &0x002a ; 00009624 <.Loc.307.1>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9624: d7 3f jmp $-80 ;abs 0x95d4 00009626 <.L28>: P2DIR |= SWI2C_sda_pin; 9626: c2 db 2a 00 bis.b r11, &0x002a ; 0000962a <.LBB357>: P2DIR &= ~SWI2C_scl_pin; 962a: c2 fe 2a 00 and.b r14, &0x002a ; 0000962e <.Loc.307.1>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 962e: c7 3f jmp $-112 ;abs 0x95be 00009630 <.L25>: P2DIR |= SWI2C_sda_pin; 9630: c2 db 2a 00 bis.b r11, &0x002a ; 00009634 <.LBB360>: P2DIR &= ~SWI2C_scl_pin; 9634: c2 fe 2a 00 and.b r14, &0x002a ; 00009638 <.Loc.307.1>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9638: b7 3f jmp $-144 ;abs 0x95a8 0000963a <.L22>: P2DIR |= SWI2C_sda_pin; 963a: c2 db 2a 00 bis.b r11, &0x002a ; 0000963e <.LBB363>: P2DIR &= ~SWI2C_scl_pin; 963e: c2 fe 2a 00 and.b r14, &0x002a ; 00009642 <.Loc.307.1>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9642: a7 3f jmp $-176 ;abs 0x9592 00009644 <.L19>: P2DIR |= SWI2C_sda_pin; 9644: c2 db 2a 00 bis.b r11, &0x002a ; 00009648 <.LBB366>: P2DIR &= ~SWI2C_scl_pin; 9648: c2 fe 2a 00 and.b r14, &0x002a ; 0000964c <.Loc.307.1>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 964c: 96 3f jmp $-210 ;abs 0x957a 0000964e <.L16>: P2DIR |= SWI2C_sda_pin; 964e: c2 db 2a 00 bis.b r11, &0x002a ; 00009652 <.Loc.336.1>: } 9652: 81 3f jmp $-252 ;abs 0x9556 00009654 <.L56>: P2DIR &= ~SWI2C_sda_pin; 9654: c2 fa 2a 00 and.b r10, &0x002a ; 00009658 <.LBB371>: P2DIR &= ~SWI2C_scl_pin; 9658: c2 fe 2a 00 and.b r14, &0x002a ; 0000965c <.Loc.307.1>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 965c: d1 3f jmp $-92 ;abs 0x9600 0000965e : P2DIR &= ~SWI2C_sda_pin; 965e: 5c 42 e4 02 mov.b &0x02e4,r12 ;0x02e4 9662: c2 cc 2a 00 bic.b r12, &0x002a ; 00009666 <.LBB374>: P2DIR &= ~SWI2C_scl_pin; 9666: 5d 42 e5 02 mov.b &0x02e5,r13 ;0x02e5 966a: c2 cd 2a 00 bic.b r13, &0x002a ; 0000966e <.L58>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 966e: c2 bd 28 00 bit.b r13, &0x0028 ; 9672: fd 27 jz $-4 ;abs 0x966e 00009674 <.LBE374>: uint8_t SWI2C_checkAckBit() { // Can also be used by controller to send NACK after last byte is read from device uint8_t ack; SWI2C_sdaHi(); // Release data line. This will cause a NACK from controller when reading bytes. SWI2C_sclHi(); //ack = digitalRead(SWI2C_sda_pin); ack = P2IN & SWI2C_sda_pin; 9674: 5e 42 28 00 mov.b &0x0028,r14 ;0x0028 00009678 <.LBB376>: P2DIR |= SWI2C_scl_pin; 9678: c2 dd 2a 00 bis.b r13, &0x002a ; 0000967c <.LBE376>: SWI2C_sclLo(); return ack; } 967c: 4c fe and.b r14, r12 ; 0000967e <.LVL3>: 967e: 30 41 ret 00009680 : P2DIR |= SWI2C_sda_pin; 9680: 5d 42 e4 02 mov.b &0x02e4,r13 ;0x02e4 9684: c2 dd 2a 00 bis.b r13, &0x002a ; 00009688 <.LBB380>: P2DIR &= ~SWI2C_scl_pin; 9688: 5c 42 e5 02 mov.b &0x02e5,r12 ;0x02e5 968c: c2 cc 2a 00 bic.b r12, &0x002a ; 00009690 <.L62>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9690: c2 bc 28 00 bit.b r12, &0x0028 ; 9694: fd 27 jz $-4 ;abs 0x9690 00009696 <.LBB382>: P2DIR |= SWI2C_scl_pin; 9696: c2 dc 2a 00 bis.b r12, &0x002a ; 0000969a <.LBB384>: P2DIR &= ~SWI2C_sda_pin; 969a: c2 cd 2a 00 bic.b r13, &0x002a ; 0000969e <.LBE384>: void SWI2C_writeAck() { // Used by controller to ACK to device bewteen multi-byte reads SWI2C_sdaLo(); SWI2C_sclHi(); SWI2C_sclLo(); SWI2C_sdaHi(); // Release the data line } 969e: 30 41 ret 000096a0 : P2DIR |= SWI2C_sda_pin; 96a0: 5d 42 e4 02 mov.b &0x02e4,r13 ;0x02e4 96a4: c2 dd 2a 00 bis.b r13, &0x002a ; 000096a8 <.LBB388>: P2DIR &= ~SWI2C_scl_pin; 96a8: 5c 42 e5 02 mov.b &0x02e5,r12 ;0x02e5 96ac: c2 cc 2a 00 bic.b r12, &0x002a ; 000096b0 <.L66>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 96b0: c2 bc 28 00 bit.b r12, &0x0028 ; 96b4: fd 27 jz $-4 ;abs 0x96b0 000096b6 <.LBB390>: P2DIR &= ~SWI2C_sda_pin; 96b6: c2 cd 2a 00 bic.b r13, &0x002a ; 000096ba <.LBE390>: void SWI2C_stopBit() { // Assume SCK is already LOW (from ack or data write) SWI2C_sdaLo(); SWI2C_sclHi(); SWI2C_sdaHi(); } 96ba: 30 41 ret 000096bc : P2DIR &= ~SWI2C_scl_pin; 96bc: 5d 42 e5 02 mov.b &0x02e5,r13 ;0x02e5 96c0: 4f 4d mov.b r13, r15 ; 96c2: 7f e3 xor.b #-1, r15 ;r3 As==11 96c4: c2 ff 2a 00 and.b r15, &0x002a ; 000096c8 <.L70>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 96c8: c2 bd 28 00 bit.b r13, &0x0028 ; 96cc: fd 27 jz $-4 ;abs 0x96c8 000096ce <.LBE392>: uint8_t SWI2C_read1Byte() { uint8_t value = 0; SWI2C_sclHi(); //if (digitalRead(SWI2C_sda_pin) == 1) value += 0x80; if (P2IN & SWI2C_sda_pin) value += 0x80; 96ce: 5e 42 e4 02 mov.b &0x02e4,r14 ;0x02e4 96d2: 5b 42 28 00 mov.b &0x0028,r11 ;0x0028 96d6: 4b fe and.b r14, r11 ; 96d8: 4c 4b mov.b r11, r12 ; 000096da <.Loc.411.1>: 96da: 4b 93 cmp.b #0, r11 ;r3 As==00 96dc: 02 24 jz $+6 ;abs 0x96e2 000096de <.Loc.411.1>: 96de: 7c 40 80 00 mov.b #128, r12 ;#0x0080 000096e2 <.L71>: P2DIR |= SWI2C_scl_pin; 96e2: c2 dd 2a 00 bis.b r13, &0x002a ; 000096e6 <.LBB396>: P2DIR &= ~SWI2C_scl_pin; 96e6: c2 ff 2a 00 and.b r15, &0x002a ; 000096ea <.L72>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 96ea: c2 bd 28 00 bit.b r13, &0x0028 ; 96ee: fd 27 jz $-4 ;abs 0x96ea 000096f0 <.LBE396>: SWI2C_sclLo(); SWI2C_sclHi(); //if (digitalRead(SWI2C_sda_pin) == 1) value += 0x40; if (P2IN & SWI2C_sda_pin) value += 0x40; 96f0: c2 be 28 00 bit.b r14, &0x0028 ; 96f4: 04 24 jz $+10 ;abs 0x96fe 000096f6 <.Loc.415.1>: 96f6: 7c 50 40 00 add.b #64, r12 ;#0x0040 000096fa <.LVL6>: 96fa: 3c f0 ff 00 and #255, r12 ;#0x00ff 000096fe <.L73>: P2DIR |= SWI2C_scl_pin; 96fe: c2 dd 2a 00 bis.b r13, &0x002a ; 00009702 <.LBB400>: P2DIR &= ~SWI2C_scl_pin; 9702: c2 ff 2a 00 and.b r15, &0x002a ; 00009706 <.L74>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9706: c2 bd 28 00 bit.b r13, &0x0028 ; 970a: fd 27 jz $-4 ;abs 0x9706 0000970c <.LBE400>: SWI2C_sclLo(); SWI2C_sclHi(); if (P2IN & SWI2C_sda_pin) value += 0x20; 970c: c2 be 28 00 bit.b r14, &0x0028 ; 9710: 04 24 jz $+10 ;abs 0x971a 00009712 <.Loc.418.1>: 9712: 7c 50 20 00 add.b #32, r12 ;#0x0020 00009716 <.LVL8>: 9716: 3c f0 ff 00 and #255, r12 ;#0x00ff 0000971a <.L75>: P2DIR |= SWI2C_scl_pin; 971a: c2 dd 2a 00 bis.b r13, &0x002a ; 0000971e <.LBB404>: P2DIR &= ~SWI2C_scl_pin; 971e: c2 ff 2a 00 and.b r15, &0x002a ; 00009722 <.L76>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9722: c2 bd 28 00 bit.b r13, &0x0028 ; 9726: fd 27 jz $-4 ;abs 0x9722 00009728 <.LBE404>: SWI2C_sclLo(); SWI2C_sclHi(); if (P2IN & SWI2C_sda_pin) value += 0x10; 9728: c2 be 28 00 bit.b r14, &0x0028 ; 972c: 04 24 jz $+10 ;abs 0x9736 0000972e <.Loc.421.1>: 972e: 7c 50 10 00 add.b #16, r12 ;#0x0010 00009732 <.LVL10>: 9732: 3c f0 ff 00 and #255, r12 ;#0x00ff 00009736 <.L77>: P2DIR |= SWI2C_scl_pin; 9736: c2 dd 2a 00 bis.b r13, &0x002a ; 0000973a <.LBB408>: P2DIR &= ~SWI2C_scl_pin; 973a: c2 ff 2a 00 and.b r15, &0x002a ; 0000973e <.L78>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 973e: c2 bd 28 00 bit.b r13, &0x0028 ; 9742: fd 27 jz $-4 ;abs 0x973e 00009744 <.LBE408>: SWI2C_sclLo(); SWI2C_sclHi(); if (P2IN & SWI2C_sda_pin) value += 0x08; 9744: c2 be 28 00 bit.b r14, &0x0028 ; 9748: 03 24 jz $+8 ;abs 0x9750 0000974a <.Loc.424.1>: 974a: 7c 52 add.b #8, r12 ;r2 As==11 0000974c <.LVL12>: 974c: 3c f0 ff 00 and #255, r12 ;#0x00ff 00009750 <.L79>: P2DIR |= SWI2C_scl_pin; 9750: c2 dd 2a 00 bis.b r13, &0x002a ; 00009754 <.LBB412>: P2DIR &= ~SWI2C_scl_pin; 9754: c2 ff 2a 00 and.b r15, &0x002a ; 00009758 <.L80>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9758: c2 bd 28 00 bit.b r13, &0x0028 ; 975c: fd 27 jz $-4 ;abs 0x9758 0000975e <.LBE412>: SWI2C_sclLo(); SWI2C_sclHi(); if (P2IN & SWI2C_sda_pin) value += 0x04; 975e: c2 be 28 00 bit.b r14, &0x0028 ; 9762: 03 24 jz $+8 ;abs 0x976a 00009764 <.Loc.427.1>: 9764: 6c 52 add.b #4, r12 ;r2 As==10 00009766 <.LVL14>: 9766: 3c f0 ff 00 and #255, r12 ;#0x00ff 0000976a <.L81>: P2DIR |= SWI2C_scl_pin; 976a: c2 dd 2a 00 bis.b r13, &0x002a ; 0000976e <.LBB416>: P2DIR &= ~SWI2C_scl_pin; 976e: c2 ff 2a 00 and.b r15, &0x002a ; 00009772 <.L82>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9772: c2 bd 28 00 bit.b r13, &0x0028 ; 9776: fd 27 jz $-4 ;abs 0x9772 00009778 <.LBE416>: SWI2C_sclLo(); SWI2C_sclHi(); if (P2IN & SWI2C_sda_pin) value += 0x02; 9778: c2 be 28 00 bit.b r14, &0x0028 ; 977c: 03 24 jz $+8 ;abs 0x9784 0000977e <.Loc.430.1>: 977e: 6c 53 incd.b r12 ; 00009780 <.LVL16>: 9780: 3c f0 ff 00 and #255, r12 ;#0x00ff 00009784 <.L83>: P2DIR |= SWI2C_scl_pin; 9784: c2 dd 2a 00 bis.b r13, &0x002a ; 00009788 <.LBB420>: P2DIR &= ~SWI2C_scl_pin; 9788: c2 ff 2a 00 and.b r15, &0x002a ; 0000978c <.L84>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 978c: c2 bd 28 00 bit.b r13, &0x0028 ; 9790: fd 27 jz $-4 ;abs 0x978c 00009792 <.LBE420>: SWI2C_sclLo(); SWI2C_sclHi(); if (P2IN & SWI2C_sda_pin) value += 0x01; 9792: c2 be 28 00 bit.b r14, &0x0028 ; 9796: 03 24 jz $+8 ;abs 0x979e 00009798 <.Loc.433.1>: 9798: 5c 53 inc.b r12 ; 0000979a <.LVL18>: 979a: 3c f0 ff 00 and #255, r12 ;#0x00ff 0000979e <.L85>: P2DIR |= SWI2C_scl_pin; 979e: c2 dd 2a 00 bis.b r13, &0x002a ; 000097a2 <.LBE422>: SWI2C_sclLo(); return value; } 97a2: 30 41 ret 000097a4 : int SWI2C_readFromDevice(uint8_t *data, bool sendStopBit) { 97a4: 0a 12 push r10 ; 000097a6 <.LCFI3>: 97a6: 09 12 push r9 ; 000097a8 <.LCFI4>: 97a8: 0a 4c mov r12, r10 ; 97aa: 49 4d mov.b r13, r9 ; 000097ac <.Loc.146.1>: SWI2C_startBit(); 97ac: b0 12 20 95 call #-27360 ;#0x9520 000097b0 <.LVL21>: SWI2C_writeAddress(1); // 1 == Read bit 97b0: 5c 43 mov.b #1, r12 ;r3 As==01 97b2: b0 12 3a 95 call #-27334 ;#0x953a 000097b6 <.LVL22>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 97b6: b0 12 5e 96 call #-27042 ;#0x965e 000097ba <.LVL23>: 97ba: 4c 93 cmp.b #0, r12 ;r3 As==00 97bc: 0e 20 jnz $+30 ;abs 0x97da 000097be <.Loc.149.1>: *data = SWI2C_read1Byte(); 97be: b0 12 bc 96 call #-26948 ;#0x96bc 000097c2 <.LVL24>: 97c2: ca 4c 00 00 mov.b r12, 0(r10) ; 000097c6 <.Loc.150.1>: if (sendStopBit) SWI2C_stopBit(); 97c6: 09 93 cmp #0, r9 ;r3 As==00 97c8: 03 20 jnz $+8 ;abs 0x97d0 000097ca <.Loc.151.1>: return 1; // Return 1 if no NACKs 97ca: 5c 43 mov.b #1, r12 ;r3 As==01 000097cc <.Loc.152.1>: } 97cc: 30 40 be b5 br #0xb5be ; 000097d0 <.L129>: if (sendStopBit) SWI2C_stopBit(); 97d0: b0 12 a0 96 call #-26976 ;#0x96a0 000097d4 <.LVL25>: return 1; // Return 1 if no NACKs 97d4: 5c 43 mov.b #1, r12 ;r3 As==01 000097d6 <.Loc.152.1>: } 97d6: 30 40 be b5 br #0xb5be ; 000097da <.L128>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 97da: b0 12 a0 96 call #-26976 ;#0x96a0 000097de <.LVL26>: 97de: 4c 43 clr.b r12 ; 000097e0 <.Loc.152.1>: } 97e0: 30 40 be b5 br #0xb5be ; 000097e4 : 97e4: b0 12 a4 97 call #-26716 ;#0x97a4 97e8: 30 41 ret 000097ea : int SWI2C_readFromDeviceB(uint8_t* buffer, uint8_t count, bool sendStopBit) { 97ea: 0a 12 push r10 ; 000097ec <.LCFI8>: 97ec: 09 12 push r9 ; 000097ee <.LCFI9>: 97ee: 08 12 push r8 ; 000097f0 <.LCFI10>: 97f0: 07 12 push r7 ; 000097f2 <.LCFI11>: 97f2: 06 12 push r6 ; 000097f4 <.LCFI12>: 97f4: 05 12 push r5 ; 000097f6 <.LCFI13>: 97f6: 04 12 push r4 ; 000097f8 <.LCFI14>: 97f8: 21 83 decd r1 ; 000097fa <.LCFI15>: 97fa: 49 4d mov.b r13, r9 ; 97fc: 3e f0 ff 00 and #255, r14 ;#0x00ff 9800: 81 4e 00 00 mov r14, 0(r1) ; 00009804 <.LBB424>: for (uint8_t i = 0; i < count; i++) { 9804: 4d 93 cmp.b #0, r13 ;r3 As==00 9806: 1e 24 jz $+62 ;abs 0x9844 9808: 06 49 mov r9, r6 ; 980a: 36 53 add #-1, r6 ;r3 As==11 980c: 79 53 add.b #-1, r9 ;r3 As==11 980e: 39 f0 ff 00 and #255, r9 ;#0x00ff 9812: 09 5c add r12, r9 ; 9814: 05 4c mov r12, r5 ; 9816: 37 40 bc 96 mov #-26948,r7 ;#0x96bc 981a: 08 4c mov r12, r8 ; 981c: 38 e3 inv r8 ; 0000981e <.Loc.168.1>: SWI2C_checkAckBit(); // Controller needs to send NACK when done reading data 981e: 34 40 5e 96 mov #-27042,r4 ;#0x965e 9822: 04 3c jmp $+10 ;abs 0x982c 00009824 <.L140>: SWI2C_writeAck(); 9824: b0 12 80 96 call #-27008 ;#0x9680 00009828 <.LVL30>: for (uint8_t i = 0; i < count; i++) { 9828: 0a 99 cmp r9, r10 ; 982a: 0c 24 jz $+26 ;abs 0x9844 0000982c <.L137>: buffer[i] = SWI2C_read1Byte(); 982c: 87 12 call r7 ; 0000982e <.LVL32>: 982e: c5 4c 00 00 mov.b r12, 0(r5) ; 9832: 0a 45 mov r5, r10 ; 9834: 15 53 inc r5 ; 00009836 <.LVL33>: if (i < (count-1)) { 9836: 0c 48 mov r8, r12 ; 9838: 0c 55 add r5, r12 ; 983a: 0c 96 cmp r6, r12 ; 983c: f3 3b jl $-24 ;abs 0x9824 0000983e <.Loc.168.1>: SWI2C_checkAckBit(); // Controller needs to send NACK when done reading data 983e: 84 12 call r4 ; 00009840 <.LVL34>: for (uint8_t i = 0; i < count; i++) { 9840: 0a 99 cmp r9, r10 ; 9842: f4 23 jnz $-22 ;abs 0x982c 00009844 <.L138>: if (sendStopBit) SWI2C_stopBit(); 9844: 81 93 00 00 cmp #0, 0(r1) ;r3 As==00 9848: 04 20 jnz $+10 ;abs 0x9852 0000984a <.Loc.173.1>: } 984a: 5c 43 mov.b #1, r12 ;r3 As==01 984c: 21 53 incd r1 ; 0000984e <.LCFI16>: 984e: 30 40 b4 b5 br #0xb5b4 ; 00009852 <.L141>: if (sendStopBit) SWI2C_stopBit(); 9852: b0 12 a0 96 call #-26976 ;#0x96a0 00009856 <.LVL38>: } 9856: 5c 43 mov.b #1, r12 ;r3 As==01 9858: 21 53 incd r1 ; 0000985a <.LCFI18>: 985a: 30 40 b4 b5 br #0xb5b4 ; 0000985e : int SWI2C_readFromDeviceB(uint8_t* buffer, uint8_t count, bool sendStopBit) { 985e: 0a 12 push r10 ; 00009860 <.LCFI20>: 9860: 09 12 push r9 ; 00009862 <.LCFI21>: 9862: 08 12 push r8 ; 00009864 <.LCFI22>: 9864: 0a 4c mov r12, r10 ; 9866: 49 4d mov.b r13, r9 ; 9868: 48 4e mov.b r14, r8 ; 0000986a <.Loc.158.1>: SWI2C_startBit(); 986a: b0 12 20 95 call #-27360 ;#0x9520 0000986e <.LVL41>: SWI2C_writeAddress(1); // 1 == Read bit 986e: 5c 43 mov.b #1, r12 ;r3 As==01 9870: b0 12 3a 95 call #-27334 ;#0x953a 00009874 <.LVL42>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9874: b0 12 5e 96 call #-27042 ;#0x965e 00009878 <.LVL43>: 9878: 4c 93 cmp.b #0, r12 ;r3 As==00 987a: 07 20 jnz $+16 ;abs 0x988a 987c: 4e 48 mov.b r8, r14 ; 987e: 4d 49 mov.b r9, r13 ; 9880: 0c 4a mov r10, r12 ; 9882: b0 12 ea 97 call #-26646 ;#0x97ea 00009886 <.LVL44>: } 9886: 30 40 bc b5 br #0xb5bc ; 0000988a <.L145>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 988a: b0 12 a0 96 call #-26976 ;#0x96a0 0000988e <.LVL45>: 988e: 4c 43 clr.b r12 ; 00009890 <.Loc.173.1>: } 9890: 30 40 bc b5 br #0xb5bc ; 00009894 : return SWI2C_readFromDeviceB(buffer, count, sendStopBit); 9894: b0 12 5e 98 call #-26530 ;#0x985e 00009898 <.LVL47>: } 9898: 30 41 ret 0000989a : uint16_t SWI2C_read2Byte() { 989a: 0a 12 push r10 ; 0000989c <.LBB425>: P2DIR &= ~SWI2C_scl_pin; 989c: 5d 42 e5 02 mov.b &0x02e5,r13 ;0x02e5 98a0: 4e 4d mov.b r13, r14 ; 98a2: 7e e3 xor.b #-1, r14 ;r3 As==11 98a4: c2 fe 2a 00 and.b r14, &0x002a ; 000098a8 <.L148>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 98a8: c2 bd 28 00 bit.b r13, &0x0028 ; 98ac: fd 27 jz $-4 ;abs 0x98a8 000098ae <.LBE425>: // Assumes LEAST significant BYTE is transferred first uint16_t value = 0; SWI2C_sclHi(); //if (digitalRead(SWI2C_sda_pin) == 1) value += 0x80; if (P2IN & SWI2C_sda_pin) value += 0x80; 98ae: 5c 42 e4 02 mov.b &0x02e4,r12 ;0x02e4 000098b2 <.Loc.444.1>: 98b2: c2 bc 28 00 bit.b r12, &0x0028 ; 98b6: be 20 jnz $+382 ;abs 0x9a34 000098b8 <.Loc.441.1>: uint16_t value = 0; 98b8: 4a 43 clr.b r10 ; 000098ba <.L149>: P2DIR |= SWI2C_scl_pin; 98ba: c2 dd 2a 00 bis.b r13, &0x002a ; 000098be <.LBB429>: P2DIR &= ~SWI2C_scl_pin; 98be: c2 fe 2a 00 and.b r14, &0x002a ; 000098c2 <.L150>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 98c2: c2 bd 28 00 bit.b r13, &0x0028 ; 98c6: fd 27 jz $-4 ;abs 0x98c2 000098c8 <.LBE429>: SWI2C_sclLo(); SWI2C_sclHi(); if (P2IN & SWI2C_sda_pin) value += 0x40; 98c8: c2 bc 28 00 bit.b r12, &0x0028 ; 98cc: 02 24 jz $+6 ;abs 0x98d2 000098ce <.Loc.447.1>: 98ce: 3a 50 40 00 add #64, r10 ;#0x0040 000098d2 <.L151>: P2DIR |= SWI2C_scl_pin; 98d2: c2 dd 2a 00 bis.b r13, &0x002a ; 000098d6 <.LBB433>: P2DIR &= ~SWI2C_scl_pin; 98d6: c2 fe 2a 00 and.b r14, &0x002a ; 000098da <.L152>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 98da: c2 bd 28 00 bit.b r13, &0x0028 ; 98de: fd 27 jz $-4 ;abs 0x98da 000098e0 <.LBE433>: SWI2C_sclLo(); SWI2C_sclHi(); if (P2IN & SWI2C_sda_pin) value += 0x20; 98e0: c2 bc 28 00 bit.b r12, &0x0028 ; 98e4: 02 24 jz $+6 ;abs 0x98ea 000098e6 <.Loc.450.1>: 98e6: 3a 50 20 00 add #32, r10 ;#0x0020 000098ea <.L153>: P2DIR |= SWI2C_scl_pin; 98ea: c2 dd 2a 00 bis.b r13, &0x002a ; 000098ee <.LBB437>: P2DIR &= ~SWI2C_scl_pin; 98ee: c2 fe 2a 00 and.b r14, &0x002a ; 000098f2 <.L154>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 98f2: c2 bd 28 00 bit.b r13, &0x0028 ; 98f6: fd 27 jz $-4 ;abs 0x98f2 000098f8 <.LBE437>: SWI2C_sclLo(); SWI2C_sclHi(); if (P2IN & SWI2C_sda_pin) value += 0x10; 98f8: c2 bc 28 00 bit.b r12, &0x0028 ; 98fc: 02 24 jz $+6 ;abs 0x9902 000098fe <.Loc.453.1>: 98fe: 3a 50 10 00 add #16, r10 ;#0x0010 00009902 <.L155>: P2DIR |= SWI2C_scl_pin; 9902: c2 dd 2a 00 bis.b r13, &0x002a ; 00009906 <.LBB441>: P2DIR &= ~SWI2C_scl_pin; 9906: c2 fe 2a 00 and.b r14, &0x002a ; 0000990a <.L156>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 990a: c2 bd 28 00 bit.b r13, &0x0028 ; 990e: fd 27 jz $-4 ;abs 0x990a 00009910 <.LBE441>: SWI2C_sclLo(); SWI2C_sclHi(); if (P2IN & SWI2C_sda_pin) value += 0x08; 9910: c2 bc 28 00 bit.b r12, &0x0028 ; 9914: 01 24 jz $+4 ;abs 0x9918 00009916 <.Loc.456.1>: 9916: 3a 52 add #8, r10 ;r2 As==11 00009918 <.L157>: P2DIR |= SWI2C_scl_pin; 9918: c2 dd 2a 00 bis.b r13, &0x002a ; 0000991c <.LBB445>: P2DIR &= ~SWI2C_scl_pin; 991c: c2 fe 2a 00 and.b r14, &0x002a ; 00009920 <.L158>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9920: c2 bd 28 00 bit.b r13, &0x0028 ; 9924: fd 27 jz $-4 ;abs 0x9920 00009926 <.LBE445>: SWI2C_sclLo(); SWI2C_sclHi(); if (P2IN & SWI2C_sda_pin) value += 0x04; 9926: c2 bc 28 00 bit.b r12, &0x0028 ; 992a: 01 24 jz $+4 ;abs 0x992e 0000992c <.Loc.459.1>: 992c: 2a 52 add #4, r10 ;r2 As==10 0000992e <.L159>: P2DIR |= SWI2C_scl_pin; 992e: c2 dd 2a 00 bis.b r13, &0x002a ; 00009932 <.LBB449>: P2DIR &= ~SWI2C_scl_pin; 9932: c2 fe 2a 00 and.b r14, &0x002a ; 00009936 <.L160>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9936: c2 bd 28 00 bit.b r13, &0x0028 ; 993a: fd 27 jz $-4 ;abs 0x9936 0000993c <.LBE449>: SWI2C_sclLo(); SWI2C_sclHi(); if (P2IN & SWI2C_sda_pin) value += 0x02; 993c: c2 bc 28 00 bit.b r12, &0x0028 ; 9940: 01 24 jz $+4 ;abs 0x9944 00009942 <.Loc.462.1>: 9942: 2a 53 incd r10 ; 00009944 <.L161>: P2DIR |= SWI2C_scl_pin; 9944: c2 dd 2a 00 bis.b r13, &0x002a ; 00009948 <.LBB453>: P2DIR &= ~SWI2C_scl_pin; 9948: c2 fe 2a 00 and.b r14, &0x002a ; 0000994c <.L162>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 994c: c2 bd 28 00 bit.b r13, &0x0028 ; 9950: fd 27 jz $-4 ;abs 0x994c 00009952 <.LBE453>: SWI2C_sclLo(); SWI2C_sclHi(); if (P2IN & SWI2C_sda_pin) value += 0x01; 9952: c2 bc 28 00 bit.b r12, &0x0028 ; 9956: 01 24 jz $+4 ;abs 0x995a 00009958 <.Loc.465.1>: 9958: 1a 53 inc r10 ; 0000995a <.L163>: P2DIR |= SWI2C_scl_pin; 995a: c2 dd 2a 00 bis.b r13, &0x002a ; 0000995e <.LBE455>: SWI2C_sclLo(); SWI2C_writeAck(); 995e: b0 12 80 96 call #-27008 ;#0x9680 00009962 <.LBB457>: P2DIR &= ~SWI2C_scl_pin; 9962: 5d 42 e5 02 mov.b &0x02e5,r13 ;0x02e5 9966: 4e 4d mov.b r13, r14 ; 9968: 7e e3 xor.b #-1, r14 ;r3 As==11 996a: c2 fe 2a 00 and.b r14, &0x002a ; 0000996e <.L164>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 996e: c2 bd 28 00 bit.b r13, &0x0028 ; 9972: fd 27 jz $-4 ;abs 0x996e 00009974 <.LBE457>: SWI2C_sclHi(); if (P2IN & SWI2C_sda_pin) value += 0x8000; 9974: 5c 42 e4 02 mov.b &0x02e4,r12 ;0x02e4 00009978 <.Loc.469.1>: 9978: c2 bc 28 00 bit.b r12, &0x0028 ; 997c: 02 24 jz $+6 ;abs 0x9982 0000997e <.Loc.469.1>: 997e: 3a 50 00 80 add #-32768,r10 ;#0x8000 00009982 <.L165>: P2DIR |= SWI2C_scl_pin; 9982: c2 dd 2a 00 bis.b r13, &0x002a ; 00009986 <.LBB461>: P2DIR &= ~SWI2C_scl_pin; 9986: c2 fe 2a 00 and.b r14, &0x002a ; 0000998a <.L166>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 998a: c2 bd 28 00 bit.b r13, &0x0028 ; 998e: fd 27 jz $-4 ;abs 0x998a 00009990 <.LBE461>: SWI2C_sclLo(); SWI2C_sclHi(); if (P2IN & SWI2C_sda_pin) value += 0x4000; 9990: c2 bc 28 00 bit.b r12, &0x0028 ; 9994: 02 24 jz $+6 ;abs 0x999a 00009996 <.Loc.472.1>: 9996: 3a 50 00 40 add #16384, r10 ;#0x4000 0000999a <.L167>: P2DIR |= SWI2C_scl_pin; 999a: c2 dd 2a 00 bis.b r13, &0x002a ; 0000999e <.LBB465>: P2DIR &= ~SWI2C_scl_pin; 999e: c2 fe 2a 00 and.b r14, &0x002a ; 000099a2 <.L168>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 99a2: c2 bd 28 00 bit.b r13, &0x0028 ; 99a6: fd 27 jz $-4 ;abs 0x99a2 000099a8 <.LBE465>: SWI2C_sclLo(); SWI2C_sclHi(); if (P2IN & SWI2C_sda_pin) value += 0x2000; 99a8: c2 bc 28 00 bit.b r12, &0x0028 ; 99ac: 02 24 jz $+6 ;abs 0x99b2 000099ae <.Loc.475.1>: 99ae: 3a 50 00 20 add #8192, r10 ;#0x2000 000099b2 <.L169>: P2DIR |= SWI2C_scl_pin; 99b2: c2 dd 2a 00 bis.b r13, &0x002a ; 000099b6 <.LBB469>: P2DIR &= ~SWI2C_scl_pin; 99b6: c2 fe 2a 00 and.b r14, &0x002a ; 000099ba <.L170>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 99ba: c2 bd 28 00 bit.b r13, &0x0028 ; 99be: fd 27 jz $-4 ;abs 0x99ba 000099c0 <.LBE469>: SWI2C_sclLo(); SWI2C_sclHi(); if (P2IN & SWI2C_sda_pin) value += 0x1000; 99c0: c2 bc 28 00 bit.b r12, &0x0028 ; 99c4: 02 24 jz $+6 ;abs 0x99ca 000099c6 <.Loc.478.1>: 99c6: 3a 50 00 10 add #4096, r10 ;#0x1000 000099ca <.L171>: P2DIR |= SWI2C_scl_pin; 99ca: c2 dd 2a 00 bis.b r13, &0x002a ; 000099ce <.LBB473>: P2DIR &= ~SWI2C_scl_pin; 99ce: c2 fe 2a 00 and.b r14, &0x002a ; 000099d2 <.L172>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 99d2: c2 bd 28 00 bit.b r13, &0x0028 ; 99d6: fd 27 jz $-4 ;abs 0x99d2 000099d8 <.LBE473>: SWI2C_sclLo(); SWI2C_sclHi(); if (P2IN & SWI2C_sda_pin) value += 0x0800; 99d8: c2 bc 28 00 bit.b r12, &0x0028 ; 99dc: 02 24 jz $+6 ;abs 0x99e2 000099de <.Loc.481.1>: 99de: 3a 50 00 08 add #2048, r10 ;#0x0800 000099e2 <.L173>: P2DIR |= SWI2C_scl_pin; 99e2: c2 dd 2a 00 bis.b r13, &0x002a ; 000099e6 <.LBB477>: P2DIR &= ~SWI2C_scl_pin; 99e6: c2 fe 2a 00 and.b r14, &0x002a ; 000099ea <.L174>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 99ea: c2 bd 28 00 bit.b r13, &0x0028 ; 99ee: fd 27 jz $-4 ;abs 0x99ea 000099f0 <.LBE477>: SWI2C_sclLo(); SWI2C_sclHi(); if (P2IN & SWI2C_sda_pin) value += 0x0400; 99f0: c2 bc 28 00 bit.b r12, &0x0028 ; 99f4: 02 24 jz $+6 ;abs 0x99fa 000099f6 <.Loc.484.1>: 99f6: 3a 50 00 04 add #1024, r10 ;#0x0400 000099fa <.L175>: P2DIR |= SWI2C_scl_pin; 99fa: c2 dd 2a 00 bis.b r13, &0x002a ; 000099fe <.LBB481>: P2DIR &= ~SWI2C_scl_pin; 99fe: c2 fe 2a 00 and.b r14, &0x002a ; 00009a02 <.L176>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9a02: c2 bd 28 00 bit.b r13, &0x0028 ; 9a06: fd 27 jz $-4 ;abs 0x9a02 00009a08 <.LBE481>: SWI2C_sclLo(); SWI2C_sclHi(); if (P2IN & SWI2C_sda_pin) value += 0x0200; 9a08: c2 bc 28 00 bit.b r12, &0x0028 ; 9a0c: 02 24 jz $+6 ;abs 0x9a12 00009a0e <.Loc.487.1>: 9a0e: 3a 50 00 02 add #512, r10 ;#0x0200 00009a12 <.L177>: P2DIR |= SWI2C_scl_pin; 9a12: c2 dd 2a 00 bis.b r13, &0x002a ; 00009a16 <.LBB485>: P2DIR &= ~SWI2C_scl_pin; 9a16: c2 fe 2a 00 and.b r14, &0x002a ; 00009a1a <.L178>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9a1a: c2 bd 28 00 bit.b r13, &0x0028 ; 9a1e: fd 27 jz $-4 ;abs 0x9a1a 00009a20 <.LBE485>: SWI2C_sclLo(); SWI2C_sclHi(); if (P2IN & SWI2C_sda_pin) value += 0x0100; 9a20: c2 bc 28 00 bit.b r12, &0x0028 ; 9a24: 02 24 jz $+6 ;abs 0x9a2a 00009a26 <.Loc.490.1>: 9a26: 3a 50 00 01 add #256, r10 ;#0x0100 00009a2a <.L179>: P2DIR |= SWI2C_scl_pin; 9a2a: c2 dd 2a 00 bis.b r13, &0x002a ; 00009a2e <.LBE487>: SWI2C_sclLo(); return value; } 9a2e: 0c 4a mov r10, r12 ; 9a30: 3a 41 pop r10 ; 00009a32 <.LCFI26>: 9a32: 30 41 ret 00009a34 <.L180>: if (P2IN & SWI2C_sda_pin) value += 0x80; 9a34: 7a 40 80 00 mov.b #128, r10 ;#0x0080 9a38: 40 3f jmp $-382 ;abs 0x98ba 00009a3a : void SWI2C_writeByte(uint8_t data) { 9a3a: 4e 4c mov.b r12, r14 ; 00009a3c <.Loc.496.1>: if (data & 0x80) SWI2C_sdaHi(); // bit 7 9a3c: 5f 42 e4 02 mov.b &0x02e4,r15 ;0x02e4 9a40: 4b 4f mov.b r15, r11 ; 9a42: 7b e3 xor.b #-1, r11 ;r3 As==11 00009a44 <.Loc.496.1>: 9a44: 4c 93 cmp.b #0, r12 ;r3 As==00 9a46: 83 38 jl $+264 ;abs 0x9b4e 00009a48 <.LBB489>: P2DIR |= SWI2C_sda_pin; 9a48: c2 df 2a 00 bis.b r15, &0x002a ; 00009a4c <.L260>: P2DIR &= ~SWI2C_scl_pin; 9a4c: 5c 42 e5 02 mov.b &0x02e5,r12 ;0x02e5 00009a50 <.LVL69>: 9a50: 4d 4c mov.b r12, r13 ; 9a52: 7d e3 xor.b #-1, r13 ;r3 As==11 9a54: c2 fd 2a 00 and.b r13, &0x002a ; 00009a58 <.L261>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9a58: c2 bc 28 00 bit.b r12, &0x0028 ; 9a5c: fd 27 jz $-4 ;abs 0x9a58 00009a5e <.LBB493>: P2DIR |= SWI2C_scl_pin; 9a5e: c2 dc 2a 00 bis.b r12, &0x002a ; 00009a62 <.LBE493>: else SWI2C_sdaLo(); SWI2C_sclHi(); SWI2C_sclLo(); if (data & 0x40) SWI2C_sdaHi(); // bit 6 9a62: 3e b0 40 00 bit #64, r14 ;#0x0040 9a66: 6e 24 jz $+222 ;abs 0x9b44 00009a68 <.LBB495>: P2DIR &= ~SWI2C_sda_pin; 9a68: c2 fb 2a 00 and.b r11, &0x002a ; 00009a6c <.LBB497>: P2DIR &= ~SWI2C_scl_pin; 9a6c: c2 fd 2a 00 and.b r13, &0x002a ; 00009a70 <.L264>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9a70: c2 bc 28 00 bit.b r12, &0x0028 ; 9a74: fd 27 jz $-4 ;abs 0x9a70 00009a76 <.LBB500>: P2DIR |= SWI2C_scl_pin; 9a76: c2 dc 2a 00 bis.b r12, &0x002a ; 00009a7a <.LBE500>: else SWI2C_sdaLo(); SWI2C_sclHi(); SWI2C_sclLo(); if (data & 0x20) SWI2C_sdaHi(); // bit 5 9a7a: 3e b0 20 00 bit #32, r14 ;#0x0020 9a7e: 5d 24 jz $+188 ;abs 0x9b3a 00009a80 <.LBB502>: P2DIR &= ~SWI2C_sda_pin; 9a80: c2 fb 2a 00 and.b r11, &0x002a ; 00009a84 <.LBB504>: P2DIR &= ~SWI2C_scl_pin; 9a84: c2 fd 2a 00 and.b r13, &0x002a ; 00009a88 <.L267>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9a88: c2 bc 28 00 bit.b r12, &0x0028 ; 9a8c: fd 27 jz $-4 ;abs 0x9a88 00009a8e <.LBB507>: P2DIR |= SWI2C_scl_pin; 9a8e: c2 dc 2a 00 bis.b r12, &0x002a ; 00009a92 <.LBE507>: else SWI2C_sdaLo(); SWI2C_sclHi(); SWI2C_sclLo(); if (data & 0x10) SWI2C_sdaHi(); // bit 4 9a92: 3e b0 10 00 bit #16, r14 ;#0x0010 9a96: 4c 24 jz $+154 ;abs 0x9b30 00009a98 <.LBB509>: P2DIR &= ~SWI2C_sda_pin; 9a98: c2 fb 2a 00 and.b r11, &0x002a ; 00009a9c <.LBB511>: P2DIR &= ~SWI2C_scl_pin; 9a9c: c2 fd 2a 00 and.b r13, &0x002a ; 00009aa0 <.L270>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9aa0: c2 bc 28 00 bit.b r12, &0x0028 ; 9aa4: fd 27 jz $-4 ;abs 0x9aa0 00009aa6 <.LBB514>: P2DIR |= SWI2C_scl_pin; 9aa6: c2 dc 2a 00 bis.b r12, &0x002a ; 00009aaa <.LBE514>: else SWI2C_sdaLo(); SWI2C_sclHi(); SWI2C_sclLo(); if (data & 0x08) SWI2C_sdaHi(); // bit 3 9aaa: 3e b2 bit #8, r14 ;r2 As==11 9aac: 3c 24 jz $+122 ;abs 0x9b26 00009aae <.LBB516>: P2DIR &= ~SWI2C_sda_pin; 9aae: c2 fb 2a 00 and.b r11, &0x002a ; 00009ab2 <.LBB518>: P2DIR &= ~SWI2C_scl_pin; 9ab2: c2 fd 2a 00 and.b r13, &0x002a ; 00009ab6 <.L273>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9ab6: c2 bc 28 00 bit.b r12, &0x0028 ; 9aba: fd 27 jz $-4 ;abs 0x9ab6 00009abc <.LBB521>: P2DIR |= SWI2C_scl_pin; 9abc: c2 dc 2a 00 bis.b r12, &0x002a ; 00009ac0 <.LBE521>: else SWI2C_sdaLo(); SWI2C_sclHi(); SWI2C_sclLo(); if (data & 0x04) SWI2C_sdaHi(); // bit 2 9ac0: 2e b2 bit #4, r14 ;r2 As==10 9ac2: 2c 24 jz $+90 ;abs 0x9b1c 00009ac4 <.LBB523>: P2DIR &= ~SWI2C_sda_pin; 9ac4: c2 fb 2a 00 and.b r11, &0x002a ; 00009ac8 <.LBB525>: P2DIR &= ~SWI2C_scl_pin; 9ac8: c2 fd 2a 00 and.b r13, &0x002a ; 00009acc <.L276>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9acc: c2 bc 28 00 bit.b r12, &0x0028 ; 9ad0: fd 27 jz $-4 ;abs 0x9acc 00009ad2 <.LBB528>: P2DIR |= SWI2C_scl_pin; 9ad2: c2 dc 2a 00 bis.b r12, &0x002a ; 00009ad6 <.LBE528>: else SWI2C_sdaLo(); SWI2C_sclHi(); SWI2C_sclLo(); if (data & 0x02) SWI2C_sdaHi(); // bit 1 9ad6: 2e b3 bit #2, r14 ;r3 As==10 9ad8: 1c 24 jz $+58 ;abs 0x9b12 00009ada <.LBB530>: P2DIR &= ~SWI2C_sda_pin; 9ada: c2 fb 2a 00 and.b r11, &0x002a ; 00009ade <.LBB532>: P2DIR &= ~SWI2C_scl_pin; 9ade: c2 fd 2a 00 and.b r13, &0x002a ; 00009ae2 <.L279>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9ae2: c2 bc 28 00 bit.b r12, &0x0028 ; 9ae6: fd 27 jz $-4 ;abs 0x9ae2 00009ae8 <.LBB535>: P2DIR |= SWI2C_scl_pin; 9ae8: c2 dc 2a 00 bis.b r12, &0x002a ; 00009aec <.LBE535>: else SWI2C_sdaLo(); SWI2C_sclHi(); SWI2C_sclLo(); if (data & 0x01) SWI2C_sdaHi(); // bit 0 9aec: 1e b3 bit #1, r14 ;r3 As==01 9aee: 0c 24 jz $+26 ;abs 0x9b08 00009af0 <.LBB537>: P2DIR &= ~SWI2C_sda_pin; 9af0: c2 fb 2a 00 and.b r11, &0x002a ; 00009af4 <.LBB539>: P2DIR &= ~SWI2C_scl_pin; 9af4: c2 fd 2a 00 and.b r13, &0x002a ; 00009af8 <.L282>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9af8: c2 bc 28 00 bit.b r12, &0x0028 ; 9afc: fd 27 jz $-4 ;abs 0x9af8 00009afe <.LBB542>: P2DIR |= SWI2C_scl_pin; 9afe: c2 dc 2a 00 bis.b r12, &0x002a ; 00009b02 <.LBB544>: P2DIR &= ~SWI2C_sda_pin; 9b02: c2 fb 2a 00 and.b r11, &0x002a ; 00009b06 <.LBE544>: else SWI2C_sdaLo(); SWI2C_sclHi(); SWI2C_sclLo(); SWI2C_sdaHi(); // Release the data line for ACK from device } 9b06: 30 41 ret 00009b08 <.L280>: P2DIR |= SWI2C_sda_pin; 9b08: c2 df 2a 00 bis.b r15, &0x002a ; 00009b0c <.LBB548>: P2DIR &= ~SWI2C_scl_pin; 9b0c: c2 fd 2a 00 and.b r13, &0x002a ; 00009b10 <.Loc.307.1>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9b10: f3 3f jmp $-24 ;abs 0x9af8 00009b12 <.L277>: P2DIR |= SWI2C_sda_pin; 9b12: c2 df 2a 00 bis.b r15, &0x002a ; 00009b16 <.LBB551>: P2DIR &= ~SWI2C_scl_pin; 9b16: c2 fd 2a 00 and.b r13, &0x002a ; 00009b1a <.Loc.307.1>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9b1a: e3 3f jmp $-56 ;abs 0x9ae2 00009b1c <.L274>: P2DIR |= SWI2C_sda_pin; 9b1c: c2 df 2a 00 bis.b r15, &0x002a ; 00009b20 <.LBB554>: P2DIR &= ~SWI2C_scl_pin; 9b20: c2 fd 2a 00 and.b r13, &0x002a ; 00009b24 <.Loc.307.1>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9b24: d3 3f jmp $-88 ;abs 0x9acc 00009b26 <.L271>: P2DIR |= SWI2C_sda_pin; 9b26: c2 df 2a 00 bis.b r15, &0x002a ; 00009b2a <.LBB557>: P2DIR &= ~SWI2C_scl_pin; 9b2a: c2 fd 2a 00 and.b r13, &0x002a ; 00009b2e <.Loc.307.1>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9b2e: c3 3f jmp $-120 ;abs 0x9ab6 00009b30 <.L268>: P2DIR |= SWI2C_sda_pin; 9b30: c2 df 2a 00 bis.b r15, &0x002a ; 00009b34 <.LBB560>: P2DIR &= ~SWI2C_scl_pin; 9b34: c2 fd 2a 00 and.b r13, &0x002a ; 00009b38 <.Loc.307.1>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9b38: b3 3f jmp $-152 ;abs 0x9aa0 00009b3a <.L265>: P2DIR |= SWI2C_sda_pin; 9b3a: c2 df 2a 00 bis.b r15, &0x002a ; 00009b3e <.LBB563>: P2DIR &= ~SWI2C_scl_pin; 9b3e: c2 fd 2a 00 and.b r13, &0x002a ; 00009b42 <.Loc.307.1>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9b42: a2 3f jmp $-186 ;abs 0x9a88 00009b44 <.L262>: P2DIR |= SWI2C_sda_pin; 9b44: c2 df 2a 00 bis.b r15, &0x002a ; 00009b48 <.LBB566>: P2DIR &= ~SWI2C_scl_pin; 9b48: c2 fd 2a 00 and.b r13, &0x002a ; 00009b4c <.Loc.307.1>: while ((P2IN & SWI2C_scl_pin) == 0) ; // Empty statement: keep looping until not LOW 9b4c: 91 3f jmp $-220 ;abs 0x9a70 00009b4e <.L299>: P2DIR &= ~SWI2C_sda_pin; 9b4e: c2 fb 2a 00 and.b r11, &0x002a ; 00009b52 <.Loc.331.1>: } 9b52: 7c 3f jmp $-262 ;abs 0x9a4c 00009b54 : int SWI2C_writeToDevice(uint8_t data, bool sendStopBit) { 9b54: 0a 12 push r10 ; 00009b56 <.LCFI28>: 9b56: 09 12 push r9 ; 00009b58 <.LCFI29>: 9b58: 49 4c mov.b r12, r9 ; 9b5a: 4a 4d mov.b r13, r10 ; 00009b5c <.Loc.78.1>: SWI2C_startBit(); 9b5c: b0 12 20 95 call #-27360 ;#0x9520 00009b60 <.LVL72>: SWI2C_writeAddress(0); 9b60: 4c 43 clr.b r12 ; 9b62: b0 12 3a 95 call #-27334 ;#0x953a 00009b66 <.LVL73>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9b66: b0 12 5e 96 call #-27042 ;#0x965e 00009b6a <.LVL74>: 9b6a: 4c 93 cmp.b #0, r12 ;r3 As==00 9b6c: 0d 20 jnz $+28 ;abs 0x9b88 00009b6e <.LBB571>: SWI2C_writeByte(data); 9b6e: 4c 49 mov.b r9, r12 ; 9b70: b0 12 3a 9a call #-26054 ;#0x9a3a 00009b74 <.LVL76>: if (sendStopBit) SWI2C_stopBit(); 9b74: 0a 93 cmp #0, r10 ;r3 As==00 9b76: 03 20 jnz $+8 ;abs 0x9b7e 9b78: 5c 43 mov.b #1, r12 ;r3 As==01 00009b7a <.LBE571>: } 9b7a: 30 40 be b5 br #0xb5be ; 00009b7e <.L305>: if (sendStopBit) SWI2C_stopBit(); 9b7e: b0 12 a0 96 call #-26976 ;#0x96a0 00009b82 <.LVL79>: 9b82: 5c 43 mov.b #1, r12 ;r3 As==01 00009b84 <.LBE574>: } 9b84: 30 40 be b5 br #0xb5be ; 00009b88 <.L304>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9b88: b0 12 a0 96 call #-26976 ;#0x96a0 00009b8c <.LVL81>: 9b8c: 4c 43 clr.b r12 ; 00009b8e <.Loc.84.1>: } 9b8e: 30 40 be b5 br #0xb5be ; 00009b92 : return SWI2C_writeToDevice(data, sendStopBit); 9b92: b0 12 54 9b call #-25772 ;#0x9b54 00009b96 <.LVL83>: } 9b96: 30 41 ret 00009b98 : int SWI2C_writeToDeviceB(uint8_t* buffer, uint8_t count, bool sendStopBit) { 9b98: 0a 12 push r10 ; 00009b9a <.LCFI33>: 9b9a: 09 12 push r9 ; 00009b9c <.LCFI34>: 9b9c: 08 12 push r8 ; 00009b9e <.LCFI35>: 9b9e: 07 12 push r7 ; 00009ba0 <.LCFI36>: 9ba0: 06 12 push r6 ; 00009ba2 <.LCFI37>: 9ba2: 05 12 push r5 ; 00009ba4 <.LCFI38>: 9ba4: 48 4d mov.b r13, r8 ; 9ba6: 46 4e mov.b r14, r6 ; 00009ba8 <.LBB575>: for (uint8_t i = 0; i < count; i++) { 9ba8: 4d 93 cmp.b #0, r13 ;r3 As==00 9baa: 18 24 jz $+50 ;abs 0x9bdc 9bac: 0a 4c mov r12, r10 ; 9bae: 78 53 add.b #-1, r8 ;r3 As==11 9bb0: 38 f0 ff 00 and #255, r8 ;#0x00ff 9bb4: 08 5c add r12, r8 ; 9bb6: 35 40 3a 9a mov #-26054,r5 ;#0x9a3a 9bba: 37 40 5e 96 mov #-27042,r7 ;#0x965e 9bbe: 02 3c jmp $+6 ;abs 0x9bc4 00009bc0 <.L309>: 9bc0: 09 98 cmp r8, r9 ; 9bc2: 0c 24 jz $+26 ;abs 0x9bdc 00009bc4 <.L311>: SWI2C_writeByte(buffer[i]); // LSB 9bc4: 6c 4a mov.b @r10, r12 ; 9bc6: 09 4a mov r10, r9 ; 9bc8: 1a 53 inc r10 ; 00009bca <.LVL88>: 9bca: 85 12 call r5 ; 00009bcc <.LVL89>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9bcc: 87 12 call r7 ; 00009bce <.LVL90>: 9bce: 4c 93 cmp.b #0, r12 ;r3 As==00 9bd0: f7 27 jz $-16 ;abs 0x9bc0 00009bd2 <.Loc.96.1>: 9bd2: b0 12 a0 96 call #-26976 ;#0x96a0 00009bd6 <.LVL91>: 9bd6: 4c 43 clr.b r12 ; 00009bd8 <.LBE575>: } 9bd8: 30 40 b6 b5 br #0xb5b6 ; 00009bdc <.L308>: if (sendStopBit) SWI2C_stopBit(); 9bdc: 06 93 cmp #0, r6 ;r3 As==00 9bde: 03 20 jnz $+8 ;abs 0x9be6 00009be0 <.Loc.99.1>: return 1; // Return 1 if no NACKs 9be0: 5c 43 mov.b #1, r12 ;r3 As==01 00009be2 <.Loc.100.1>: } 9be2: 30 40 b6 b5 br #0xb5b6 ; 00009be6 <.L317>: if (sendStopBit) SWI2C_stopBit(); 9be6: b0 12 a0 96 call #-26976 ;#0x96a0 00009bea <.LVL93>: return 1; // Return 1 if no NACKs 9bea: 5c 43 mov.b #1, r12 ;r3 As==01 00009bec <.Loc.100.1>: } 9bec: 30 40 b6 b5 br #0xb5b6 ; 00009bf0 : int SWI2C_writeToDeviceB(uint8_t* buffer, uint8_t count, bool sendStopBit) { 9bf0: 0a 12 push r10 ; 00009bf2 <.LCFI42>: 9bf2: 09 12 push r9 ; 00009bf4 <.LCFI43>: 9bf4: 08 12 push r8 ; 00009bf6 <.LCFI44>: 9bf6: 0a 4c mov r12, r10 ; 9bf8: 49 4d mov.b r13, r9 ; 9bfa: 48 4e mov.b r14, r8 ; 00009bfc <.Loc.90.1>: SWI2C_startBit(); 9bfc: b0 12 20 95 call #-27360 ;#0x9520 00009c00 <.LVL95>: SWI2C_writeAddress(0); 9c00: 4c 43 clr.b r12 ; 9c02: b0 12 3a 95 call #-27334 ;#0x953a 00009c06 <.LVL96>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9c06: b0 12 5e 96 call #-27042 ;#0x965e 00009c0a <.LVL97>: 9c0a: 4c 93 cmp.b #0, r12 ;r3 As==00 9c0c: 07 20 jnz $+16 ;abs 0x9c1c 9c0e: 4e 48 mov.b r8, r14 ; 9c10: 4d 49 mov.b r9, r13 ; 9c12: 0c 4a mov r10, r12 ; 9c14: b0 12 98 9b call #-25704 ;#0x9b98 00009c18 <.LVL98>: } 9c18: 30 40 bc b5 br #0xb5bc ; 00009c1c <.L321>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9c1c: b0 12 a0 96 call #-26976 ;#0x96a0 00009c20 <.LVL99>: 9c20: 4c 43 clr.b r12 ; 00009c22 <.Loc.100.1>: } 9c22: 30 40 bc b5 br #0xb5bc ; 00009c26 : return SWI2C_writeToDeviceB(buffer, count, sendStopBit); 9c26: b0 12 f0 9b call #-25616 ;#0x9bf0 00009c2a <.LVL101>: } 9c2a: 30 41 ret 00009c2c : SWI2C_writeByte(reg_id); 9c2c: b0 12 3a 9a call #-26054 ;#0x9a3a 00009c30 <.LVL103>: } 9c30: 30 41 ret 00009c32 : int SWI2C_readFromRegister(uint8_t regAddress, uint8_t *data, bool sendStopBit) { 9c32: 0a 12 push r10 ; 00009c34 <.LCFI47>: 9c34: 09 12 push r9 ; 00009c36 <.LCFI48>: 9c36: 08 12 push r8 ; 00009c38 <.LCFI49>: 9c38: 07 12 push r7 ; 00009c3a <.LCFI50>: 9c3a: 06 12 push r6 ; 00009c3c <.LCFI51>: 9c3c: 05 12 push r5 ; 00009c3e <.LCFI52>: 9c3e: 46 4c mov.b r12, r6 ; 9c40: 09 4d mov r13, r9 ; 9c42: 45 4e mov.b r14, r5 ; 00009c44 <.Loc.105.1>: SWI2C_startBit(); 9c44: 37 40 20 95 mov #-27360,r7 ;#0x9520 9c48: 87 12 call r7 ; 00009c4a <.LVL105>: SWI2C_writeAddress(0); // 0 == Write bit 9c4a: 38 40 3a 95 mov #-27334,r8 ;#0x953a 9c4e: 4c 43 clr.b r12 ; 9c50: 88 12 call r8 ; 00009c52 <.LVL106>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9c52: 3a 40 5e 96 mov #-27042,r10 ;#0x965e 9c56: 8a 12 call r10 ; 00009c58 <.LVL107>: 9c58: 4c 93 cmp.b #0, r12 ;r3 As==00 9c5a: 16 20 jnz $+46 ;abs 0x9c88 00009c5c <.LBB576>: SWI2C_writeByte(reg_id); 9c5c: 4c 46 mov.b r6, r12 ; 9c5e: b0 12 3a 9a call #-26054 ;#0x9a3a 00009c62 <.LBE576>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9c62: 8a 12 call r10 ; 00009c64 <.LVL110>: 9c64: 4c 93 cmp.b #0, r12 ;r3 As==00 9c66: 10 20 jnz $+34 ;abs 0x9c88 00009c68 <.Loc.110.1>: SWI2C_startBit(); 9c68: 87 12 call r7 ; 00009c6a <.LVL111>: SWI2C_writeAddress(1); // 1 == Read bit 9c6a: 5c 43 mov.b #1, r12 ;r3 As==01 9c6c: 88 12 call r8 ; 00009c6e <.LVL112>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9c6e: 8a 12 call r10 ; 00009c70 <.LVL113>: 9c70: 4c 93 cmp.b #0, r12 ;r3 As==00 9c72: 0a 20 jnz $+22 ;abs 0x9c88 00009c74 <.Loc.113.1>: *data = SWI2C_read1Byte(); 9c74: b0 12 bc 96 call #-26948 ;#0x96bc 00009c78 <.LVL114>: 9c78: c9 4c 00 00 mov.b r12, 0(r9) ; 00009c7c <.Loc.114.1>: SWI2C_checkAckBit(); // Controller needs to send NACK when done reading data 9c7c: 8a 12 call r10 ; 00009c7e <.LVL115>: if (sendStopBit) SWI2C_stopBit(); 9c7e: 05 93 cmp #0, r5 ;r3 As==00 9c80: 08 20 jnz $+18 ;abs 0x9c92 00009c82 <.Loc.116.1>: return 1; // Return 1 if no NACKs 9c82: 5c 43 mov.b #1, r12 ;r3 As==01 00009c84 <.Loc.117.1>: } 9c84: 30 40 b6 b5 br #0xb5b6 ; 00009c88 <.L327>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9c88: b0 12 a0 96 call #-26976 ;#0x96a0 00009c8c <.LVL116>: 9c8c: 4c 43 clr.b r12 ; 00009c8e <.L324>: } 9c8e: 30 40 b6 b5 br #0xb5b6 ; 00009c92 <.L329>: if (sendStopBit) SWI2C_stopBit(); 9c92: b0 12 a0 96 call #-26976 ;#0x96a0 00009c96 <.LVL117>: return 1; // Return 1 if no NACKs 9c96: 5c 43 mov.b #1, r12 ;r3 As==01 9c98: fa 3f jmp $-10 ;abs 0x9c8e 00009c9a : 9c9a: b0 12 32 9c call #-25550 ;#0x9c32 9c9e: 30 41 ret 00009ca0 : int SWI2C_readFromRegisterB(uint8_t regAddress, uint8_t* buffer, uint8_t count, bool sendStopBit) { 9ca0: 0a 12 push r10 ; 00009ca2 <.LCFI55>: 9ca2: 09 12 push r9 ; 00009ca4 <.LCFI56>: 9ca4: 08 12 push r8 ; 00009ca6 <.LCFI57>: 9ca6: 07 12 push r7 ; 00009ca8 <.LCFI58>: 9ca8: 06 12 push r6 ; 00009caa <.LCFI59>: 9caa: 05 12 push r5 ; 00009cac <.LCFI60>: 9cac: 04 12 push r4 ; 00009cae <.LCFI61>: 9cae: 46 4c mov.b r12, r6 ; 9cb0: 0a 4d mov r13, r10 ; 9cb2: 45 4e mov.b r14, r5 ; 9cb4: 44 4f mov.b r15, r4 ; 00009cb6 <.Loc.122.1>: SWI2C_startBit(); 9cb6: 37 40 20 95 mov #-27360,r7 ;#0x9520 9cba: 87 12 call r7 ; 00009cbc <.LVL119>: SWI2C_writeAddress(0); // 0 == Write bit 9cbc: 38 40 3a 95 mov #-27334,r8 ;#0x953a 9cc0: 4c 43 clr.b r12 ; 9cc2: 88 12 call r8 ; 00009cc4 <.LVL120>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9cc4: 39 40 5e 96 mov #-27042,r9 ;#0x965e 9cc8: 89 12 call r9 ; 00009cca <.LVL121>: 9cca: 4c 93 cmp.b #0, r12 ;r3 As==00 9ccc: 13 20 jnz $+40 ;abs 0x9cf4 00009cce <.LBB578>: SWI2C_writeByte(reg_id); 9cce: 4c 46 mov.b r6, r12 ; 9cd0: b0 12 3a 9a call #-26054 ;#0x9a3a 00009cd4 <.LBE578>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9cd4: 89 12 call r9 ; 00009cd6 <.LVL124>: 9cd6: 4c 93 cmp.b #0, r12 ;r3 As==00 9cd8: 0d 20 jnz $+28 ;abs 0x9cf4 00009cda <.Loc.127.1>: SWI2C_startBit(); 9cda: 87 12 call r7 ; 00009cdc <.LVL125>: SWI2C_writeAddress(1); // 1 == Read bit 9cdc: 5c 43 mov.b #1, r12 ;r3 As==01 9cde: 88 12 call r8 ; 00009ce0 <.LVL126>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9ce0: 89 12 call r9 ; 00009ce2 <.LVL127>: 9ce2: 4c 93 cmp.b #0, r12 ;r3 As==00 9ce4: 07 20 jnz $+16 ;abs 0x9cf4 9ce6: 4e 44 mov.b r4, r14 ; 9ce8: 4d 45 mov.b r5, r13 ; 9cea: 0c 4a mov r10, r12 ; 9cec: b0 12 ea 97 call #-26646 ;#0x97ea 00009cf0 <.LVL128>: } 9cf0: 30 40 b4 b5 br #0xb5b4 ; 00009cf4 <.L334>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9cf4: b0 12 a0 96 call #-26976 ;#0x96a0 00009cf8 <.LVL129>: 9cf8: 4c 43 clr.b r12 ; 00009cfa <.Loc.142.1>: } 9cfa: 30 40 b4 b5 br #0xb5b4 ; 00009cfe : return SWI2C_readFromRegisterB(regAddress, buffer, count, sendStopBit); 9cfe: b0 12 a0 9c call #-25440 ;#0x9ca0 00009d02 <.LVL131>: } 9d02: 30 41 ret 00009d04 : int SWI2C_read2bFromRegister(uint8_t regAddress, uint16_t* data, bool sendStopBit) { 9d04: 0a 12 push r10 ; 00009d06 <.LCFI64>: 9d06: 09 12 push r9 ; 00009d08 <.LCFI65>: 9d08: 08 12 push r8 ; 00009d0a <.LCFI66>: 9d0a: 07 12 push r7 ; 00009d0c <.LCFI67>: 9d0c: 06 12 push r6 ; 00009d0e <.LCFI68>: 9d0e: 05 12 push r5 ; 00009d10 <.LCFI69>: 9d10: 46 4c mov.b r12, r6 ; 9d12: 09 4d mov r13, r9 ; 9d14: 45 4e mov.b r14, r5 ; 00009d16 <.Loc.245.1>: SWI2C_startBit(); 9d16: 37 40 20 95 mov #-27360,r7 ;#0x9520 9d1a: 87 12 call r7 ; 00009d1c <.LVL133>: SWI2C_writeAddress(0); // 0 == Write bit 9d1c: 38 40 3a 95 mov #-27334,r8 ;#0x953a 9d20: 4c 43 clr.b r12 ; 9d22: 88 12 call r8 ; 00009d24 <.LVL134>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9d24: 3a 40 5e 96 mov #-27042,r10 ;#0x965e 9d28: 8a 12 call r10 ; 00009d2a <.LVL135>: 9d2a: 4c 93 cmp.b #0, r12 ;r3 As==00 9d2c: 16 20 jnz $+46 ;abs 0x9d5a 00009d2e <.LBB586>: SWI2C_writeByte(reg_id); 9d2e: 4c 46 mov.b r6, r12 ; 9d30: b0 12 3a 9a call #-26054 ;#0x9a3a 00009d34 <.LBE586>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9d34: 8a 12 call r10 ; 00009d36 <.LVL138>: 9d36: 4c 93 cmp.b #0, r12 ;r3 As==00 9d38: 10 20 jnz $+34 ;abs 0x9d5a 00009d3a <.Loc.250.1>: SWI2C_startBit(); 9d3a: 87 12 call r7 ; 00009d3c <.LVL139>: SWI2C_writeAddress(1); // 1 == Read bit 9d3c: 5c 43 mov.b #1, r12 ;r3 As==01 9d3e: 88 12 call r8 ; 00009d40 <.LVL140>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9d40: 8a 12 call r10 ; 00009d42 <.LVL141>: 9d42: 4c 93 cmp.b #0, r12 ;r3 As==00 9d44: 0a 20 jnz $+22 ;abs 0x9d5a 00009d46 <.LBB588>: *data = SWI2C_read2Byte(); // Assumes LSB received first 9d46: b0 12 9a 98 call #-26470 ;#0x989a 00009d4a <.LVL143>: 9d4a: 89 4c 00 00 mov r12, 0(r9) ; 00009d4e <.Loc.254.1>: SWI2C_checkAckBit(); // Controller needs to send NACK when done reading data 9d4e: 8a 12 call r10 ; 00009d50 <.LVL144>: if (sendStopBit) SWI2C_stopBit(); 9d50: 05 93 cmp #0, r5 ;r3 As==00 9d52: 08 20 jnz $+18 ;abs 0x9d64 9d54: 5c 43 mov.b #1, r12 ;r3 As==01 00009d56 <.LBE588>: } 9d56: 30 40 b6 b5 br #0xb5b6 ; 00009d5a <.L339>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9d5a: b0 12 a0 96 call #-26976 ;#0x96a0 00009d5e <.LVL146>: 9d5e: 4c 43 clr.b r12 ; 00009d60 <.L336>: } 9d60: 30 40 b6 b5 br #0xb5b6 ; 00009d64 <.L341>: if (sendStopBit) SWI2C_stopBit(); 9d64: b0 12 a0 96 call #-26976 ;#0x96a0 00009d68 <.LVL148>: 9d68: 5c 43 mov.b #1, r12 ;r3 As==01 9d6a: fa 3f jmp $-10 ;abs 0x9d60 00009d6c : int SWI2C_read2bFromRegisterMSBFirst(uint8_t regAddress, uint16_t* data, bool sendStopBit) { 9d6c: 0a 12 push r10 ; 00009d6e <.LCFI72>: 9d6e: 0a 4d mov r13, r10 ; 00009d70 <.Loc.260.1>: retval = SWI2C_read2bFromRegister(regAddress, data, sendStopBit); 9d70: b0 12 04 9d call #-25340 ;#0x9d04 00009d74 <.LVL150>: *data = ((*data & 0xFF00) >> 8) | ((*data & 0xFF) << 8); 9d74: 2d 4a mov @r10, r13 ; 9d76: 0e 4d mov r13, r14 ; 9d78: 0e 5e rla r14 ; 9d7a: 0e 5e rla r14 ; 9d7c: 0e 5e rla r14 ; 9d7e: 0e 5e rla r14 ; 9d80: 0e 5e rla r14 ; 9d82: 0e 5e rla r14 ; 9d84: 0e 5e rla r14 ; 9d86: 0e 5e rla r14 ; 9d88: 12 c3 clrc 9d8a: 0d 10 rrc r13 ; 9d8c: 12 c3 clrc 9d8e: 0d 10 rrc r13 ; 9d90: 12 c3 clrc 9d92: 0d 10 rrc r13 ; 9d94: 12 c3 clrc 9d96: 0d 10 rrc r13 ; 9d98: 12 c3 clrc 9d9a: 0d 10 rrc r13 ; 9d9c: 12 c3 clrc 9d9e: 0d 10 rrc r13 ; 9da0: 12 c3 clrc 9da2: 0d 10 rrc r13 ; 9da4: 12 c3 clrc 9da6: 0d 10 rrc r13 ; 9da8: 8a 4d 00 00 mov r13, 0(r10) ; 9dac: 8a de 00 00 bis r14, 0(r10) ; 00009db0 <.Loc.263.1>: } 9db0: 3a 41 pop r10 ; 00009db2 <.LCFI73>: 9db2: 30 41 ret 00009db4 : int SWI2C_writeToRegister(uint8_t regAddress, uint8_t data, bool sendStopBit) { 9db4: 0a 12 push r10 ; 00009db6 <.LCFI74>: 9db6: 09 12 push r9 ; 00009db8 <.LCFI75>: 9db8: 08 12 push r8 ; 00009dba <.LCFI76>: 9dba: 07 12 push r7 ; 00009dbc <.LCFI77>: 9dbc: 06 12 push r6 ; 00009dbe <.LCFI78>: 9dbe: 48 4c mov.b r12, r8 ; 9dc0: 47 4d mov.b r13, r7 ; 9dc2: 46 4e mov.b r14, r6 ; 00009dc4 <.Loc.48.1>: SWI2C_startBit(); 9dc4: b0 12 20 95 call #-27360 ;#0x9520 00009dc8 <.LVL153>: SWI2C_writeAddress(0); 9dc8: 4c 43 clr.b r12 ; 9dca: b0 12 3a 95 call #-27334 ;#0x953a 00009dce <.LVL154>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9dce: 3a 40 5e 96 mov #-27042,r10 ;#0x965e 9dd2: 8a 12 call r10 ; 00009dd4 <.LVL155>: 9dd4: 4c 93 cmp.b #0, r12 ;r3 As==00 9dd6: 11 20 jnz $+36 ;abs 0x9dfa 00009dd8 <.LBB598>: SWI2C_writeByte(reg_id); 9dd8: 39 40 3a 9a mov #-26054,r9 ;#0x9a3a 9ddc: 4c 48 mov.b r8, r12 ; 9dde: 89 12 call r9 ; 00009de0 <.LBE598>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9de0: 8a 12 call r10 ; 00009de2 <.LVL158>: 9de2: 4c 93 cmp.b #0, r12 ;r3 As==00 9de4: 0a 20 jnz $+22 ;abs 0x9dfa 00009de6 <.LBB600>: SWI2C_writeByte(data); 9de6: 4c 47 mov.b r7, r12 ; 9de8: 89 12 call r9 ; 00009dea <.LVL160>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9dea: 8a 12 call r10 ; 00009dec <.LVL161>: 9dec: 4c 93 cmp.b #0, r12 ;r3 As==00 9dee: 05 20 jnz $+12 ;abs 0x9dfa 00009df0 <.Loc.55.1>: if (sendStopBit) SWI2C_stopBit(); 9df0: 06 93 cmp #0, r6 ;r3 As==00 9df2: 08 20 jnz $+18 ;abs 0x9e04 00009df4 <.Loc.56.1>: return 1; // Return 1 if no NACKs 9df4: 5c 43 mov.b #1, r12 ;r3 As==01 00009df6 <.LBE600>: } 9df6: 30 40 b8 b5 br #0xb5b8 ; 00009dfa <.L346>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9dfa: b0 12 a0 96 call #-26976 ;#0x96a0 00009dfe <.LVL163>: 9dfe: 4c 43 clr.b r12 ; 00009e00 <.Loc.57.1>: } 9e00: 30 40 b8 b5 br #0xb5b8 ; 00009e04 <.L348>: if (sendStopBit) SWI2C_stopBit(); 9e04: b0 12 a0 96 call #-26976 ;#0x96a0 00009e08 <.LVL165>: return 1; // Return 1 if no NACKs 9e08: 5c 43 mov.b #1, r12 ;r3 As==01 00009e0a <.LBE603>: } 9e0a: 30 40 b8 b5 br #0xb5b8 ; 00009e0e : return SWI2C_writeToRegister(regAddress, data, sendStopBit); 9e0e: b0 12 b4 9d call #-25164 ;#0x9db4 00009e12 <.LVL167>: } 9e12: 30 41 ret 00009e14 : int SWI2C_writeToRegisterB(uint8_t regAddress, uint8_t* buffer, uint8_t count, bool sendStopBit) { 9e14: 0a 12 push r10 ; 00009e16 <.LCFI82>: 9e16: 09 12 push r9 ; 00009e18 <.LCFI83>: 9e18: 08 12 push r8 ; 00009e1a <.LCFI84>: 9e1a: 07 12 push r7 ; 00009e1c <.LCFI85>: 9e1c: 06 12 push r6 ; 00009e1e <.LCFI86>: 9e1e: 48 4c mov.b r12, r8 ; 9e20: 0a 4d mov r13, r10 ; 9e22: 47 4e mov.b r14, r7 ; 9e24: 46 4f mov.b r15, r6 ; 00009e26 <.Loc.62.1>: SWI2C_startBit(); 9e26: b0 12 20 95 call #-27360 ;#0x9520 00009e2a <.LVL169>: SWI2C_writeAddress(0); 9e2a: 4c 43 clr.b r12 ; 9e2c: b0 12 3a 95 call #-27334 ;#0x953a 00009e30 <.LVL170>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9e30: 39 40 5e 96 mov #-27042,r9 ;#0x965e 9e34: 89 12 call r9 ; 00009e36 <.LVL171>: 9e36: 4c 93 cmp.b #0, r12 ;r3 As==00 9e38: 0d 20 jnz $+28 ;abs 0x9e54 00009e3a <.LBB604>: SWI2C_writeByte(reg_id); 9e3a: 4c 48 mov.b r8, r12 ; 9e3c: b0 12 3a 9a call #-26054 ;#0x9a3a 00009e40 <.LBE604>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9e40: 89 12 call r9 ; 00009e42 <.LVL174>: 9e42: 4c 93 cmp.b #0, r12 ;r3 As==00 9e44: 07 20 jnz $+16 ;abs 0x9e54 9e46: 4e 46 mov.b r6, r14 ; 9e48: 4d 47 mov.b r7, r13 ; 9e4a: 0c 4a mov r10, r12 ; 9e4c: b0 12 98 9b call #-25704 ;#0x9b98 00009e50 <.LVL175>: } 9e50: 30 40 b8 b5 br #0xb5b8 ; 00009e54 <.L353>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9e54: b0 12 a0 96 call #-26976 ;#0x96a0 00009e58 <.LVL176>: 9e58: 4c 43 clr.b r12 ; 00009e5a <.Loc.74.1>: } 9e5a: 30 40 b8 b5 br #0xb5b8 ; 00009e5e : return SWI2C_writeToRegisterB(regAddress, buffer, count, sendStopBit); 9e5e: b0 12 14 9e call #-25068 ;#0x9e14 00009e62 <.LVL178>: } 9e62: 30 41 ret 00009e64 : int SWI2C_write2bToRegister(uint8_t regAddress, uint16_t data, bool sendStopBit) { 9e64: 0a 12 push r10 ; 00009e66 <.LCFI89>: 9e66: 09 12 push r9 ; 00009e68 <.LCFI90>: 9e68: 08 12 push r8 ; 00009e6a <.LCFI91>: 9e6a: 07 12 push r7 ; 00009e6c <.LCFI92>: 9e6c: 06 12 push r6 ; 00009e6e <.LCFI93>: 9e6e: 47 4c mov.b r12, r7 ; 9e70: 08 4d mov r13, r8 ; 9e72: 46 4e mov.b r14, r6 ; 00009e74 <.Loc.186.1>: SWI2C_startBit(); 9e74: b0 12 20 95 call #-27360 ;#0x9520 00009e78 <.LVL180>: SWI2C_writeAddress(0); 9e78: 4c 43 clr.b r12 ; 9e7a: b0 12 3a 95 call #-27334 ;#0x953a 00009e7e <.LVL181>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9e7e: 3a 40 5e 96 mov #-27042,r10 ;#0x965e 9e82: 8a 12 call r10 ; 00009e84 <.LVL182>: 9e84: 4c 93 cmp.b #0, r12 ;r3 As==00 9e86: 26 20 jnz $+78 ;abs 0x9ed4 00009e88 <.LBB612>: SWI2C_writeByte(reg_id); 9e88: 39 40 3a 9a mov #-26054,r9 ;#0x9a3a 9e8c: 4c 47 mov.b r7, r12 ; 9e8e: 89 12 call r9 ; 00009e90 <.LBE612>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9e90: 8a 12 call r10 ; 00009e92 <.LVL185>: 9e92: 4c 93 cmp.b #0, r12 ;r3 As==00 9e94: 1f 20 jnz $+64 ;abs 0x9ed4 00009e96 <.Loc.191.1>: SWI2C_writeByte(data & 0xFF); // LSB 9e96: 4c 48 mov.b r8, r12 ; 9e98: 89 12 call r9 ; 00009e9a <.LVL186>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9e9a: 8a 12 call r10 ; 00009e9c <.LVL187>: 9e9c: 4c 93 cmp.b #0, r12 ;r3 As==00 9e9e: 1a 20 jnz $+54 ;abs 0x9ed4 00009ea0 <.LBB614>: SWI2C_writeByte(data >> 8); // MSB 9ea0: 0c 48 mov r8, r12 ; 9ea2: 12 c3 clrc 9ea4: 0c 10 rrc r12 ; 9ea6: 12 c3 clrc 9ea8: 0c 10 rrc r12 ; 9eaa: 12 c3 clrc 9eac: 0c 10 rrc r12 ; 9eae: 12 c3 clrc 9eb0: 0c 10 rrc r12 ; 9eb2: 12 c3 clrc 9eb4: 0c 10 rrc r12 ; 9eb6: 12 c3 clrc 9eb8: 0c 10 rrc r12 ; 9eba: 12 c3 clrc 9ebc: 0c 10 rrc r12 ; 9ebe: 12 c3 clrc 9ec0: 0c 10 rrc r12 ; 9ec2: 89 12 call r9 ; 00009ec4 <.LVL189>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9ec4: 8a 12 call r10 ; 00009ec6 <.LVL190>: 9ec6: 4c 93 cmp.b #0, r12 ;r3 As==00 9ec8: 05 20 jnz $+12 ;abs 0x9ed4 00009eca <.Loc.195.1>: if (sendStopBit) SWI2C_stopBit(); 9eca: 06 93 cmp #0, r6 ;r3 As==00 9ecc: 08 20 jnz $+18 ;abs 0x9ede 00009ece <.Loc.196.1>: return 1; // Return 1 if no NACKs 9ece: 5c 43 mov.b #1, r12 ;r3 As==01 00009ed0 <.LBE614>: } 9ed0: 30 40 b8 b5 br #0xb5b8 ; 00009ed4 <.L358>: if (SWI2C_checkAckBit()) {SWI2C_stopBit(); return 0;} // Immediately end transmission and return 0 if NACK detected 9ed4: b0 12 a0 96 call #-26976 ;#0x96a0 00009ed8 <.LVL192>: 9ed8: 4c 43 clr.b r12 ; 00009eda <.L355>: } 9eda: 30 40 b8 b5 br #0xb5b8 ; 00009ede <.L360>: if (sendStopBit) SWI2C_stopBit(); 9ede: b0 12 a0 96 call #-26976 ;#0x96a0 00009ee2 <.LVL194>: return 1; // Return 1 if no NACKs 9ee2: 5c 43 mov.b #1, r12 ;r3 As==01 9ee4: fa 3f jmp $-10 ;abs 0x9eda 00009ee6 : return SWI2C_write2bToRegister(regAddress, ((data & 0xFF00) >> 8) | ((data & 0xFF) << 8), sendStopBit); 9ee6: 0f 4d mov r13, r15 ; 9ee8: 0f 5f rla r15 ; 9eea: 0f 5f rla r15 ; 9eec: 0f 5f rla r15 ; 9eee: 0f 5f rla r15 ; 9ef0: 0f 5f rla r15 ; 9ef2: 0f 5f rla r15 ; 9ef4: 0f 5f rla r15 ; 9ef6: 0f 5f rla r15 ; 9ef8: 12 c3 clrc 9efa: 0d 10 rrc r13 ; 9efc: 12 c3 clrc 9efe: 0d 10 rrc r13 ; 9f00: 12 c3 clrc 9f02: 0d 10 rrc r13 ; 9f04: 12 c3 clrc 9f06: 0d 10 rrc r13 ; 9f08: 12 c3 clrc 9f0a: 0d 10 rrc r13 ; 9f0c: 12 c3 clrc 9f0e: 0d 10 rrc r13 ; 9f10: 12 c3 clrc 9f12: 0d 10 rrc r13 ; 9f14: 12 c3 clrc 9f16: 0d 10 rrc r13 ; 00009f18 <.LVL196>: 9f18: 0d df bis r15, r13 ; 9f1a: b0 12 64 9e call #-24988 ;#0x9e64 00009f1e <.LVL197>: } 9f1e: 30 41 ret 00009f20 : return retval; }*/ uint8_t SWI2C_getDeviceID() { return SWI2C_deviceID; } 9f20: 5c 42 e6 02 mov.b &0x02e6,r12 ;0x02e6 9f24: 30 41 ret 00009f26 : void SWI2C_setDeviceID(uint8_t deviceid) { // deviceid is the 7-bit I2C address SWI2C_deviceID = deviceid; 9f26: c2 4c e6 02 mov.b r12, &0x02e6 ; 00009f2a <.Loc.555.1>: } 9f2a: 30 41 ret 00009f2c : int SHTHumid, SHTDegC; //put these in an SHT31D.c file bool SHT31D_writeCommand(uint16_t command) { 9f2c: 21 83 decd r1 ; 00009f2e <.LCFI0>: uint8_t cmd[2]; cmd[0] = command >> 8; 9f2e: 0d 4c mov r12, r13 ; 9f30: 12 c3 clrc 9f32: 0d 10 rrc r13 ; 9f34: 12 c3 clrc 9f36: 0d 10 rrc r13 ; 9f38: 12 c3 clrc 9f3a: 0d 10 rrc r13 ; 9f3c: 12 c3 clrc 9f3e: 0d 10 rrc r13 ; 9f40: 12 c3 clrc 9f42: 0d 10 rrc r13 ; 9f44: 12 c3 clrc 9f46: 0d 10 rrc r13 ; 9f48: 12 c3 clrc 9f4a: 0d 10 rrc r13 ; 9f4c: 12 c3 clrc 9f4e: 0d 10 rrc r13 ; 00009f50 <.Loc.10.1>: 9f50: c1 4d 00 00 mov.b r13, 0(r1) ; 00009f54 <.Loc.11.1>: cmd[1] = command & 0xFF; 9f54: c1 4c 01 00 mov.b r12, 1(r1) ; 00009f58 : return SWI2C_writeToDeviceB(cmd,2,true); //data cmd, count 2 byte, stop bit always true 9f58: 5e 43 mov.b #1, r14 ;r3 As==01 9f5a: 6d 43 mov.b #2, r13 ;r3 As==10 9f5c: 0c 41 mov r1, r12 ; 00009f5e <.LVL1>: 9f5e: b0 12 f0 9b call #-25616 ;#0x9bf0 00009f62 <.LVL2>: 9f62: 0d 43 clr r13 ; 9f64: 0d 8c sub r12, r13 ; 9f66: 0c dd bis r13, r12 ; 00009f68 <.Loc.14.1>: } 9f68: 12 c3 clrc 9f6a: 0c 10 rrc r12 ; 9f6c: 12 c3 clrc 9f6e: 0c 10 rrc r12 ; 9f70: 12 c3 clrc 9f72: 0c 10 rrc r12 ; 9f74: 12 c3 clrc 9f76: 0c 10 rrc r12 ; 9f78: 12 c3 clrc 9f7a: 0c 10 rrc r12 ; 9f7c: 12 c3 clrc 9f7e: 0c 10 rrc r12 ; 9f80: 12 c3 clrc 9f82: 0c 10 rrc r12 ; 9f84: 12 c3 clrc 9f86: 0c 10 rrc r12 ; 9f88: 12 c3 clrc 9f8a: 0c 10 rrc r12 ; 9f8c: 12 c3 clrc 9f8e: 0c 10 rrc r12 ; 9f90: 12 c3 clrc 9f92: 0c 10 rrc r12 ; 9f94: 12 c3 clrc 9f96: 0c 10 rrc r12 ; 9f98: 12 c3 clrc 9f9a: 0c 10 rrc r12 ; 9f9c: 12 c3 clrc 9f9e: 0c 10 rrc r12 ; 9fa0: 12 c3 clrc 9fa2: 0c 10 rrc r12 ; 9fa4: 21 53 incd r1 ; 00009fa6 <.LCFI1>: 9fa6: 30 41 ret 00009fa8 : uint8_t crc8(const uint8_t *data, int len) { 9fa8: 0e 4c mov r12, r14 ; 00009faa <.LBB16>: */ const uint8_t POLYNOMIAL = 0x31; uint8_t crc = 0xFF; for (int j = len; j; --j) { 9faa: 0d 93 cmp #0, r13 ;r3 As==00 9fac: 19 24 jz $+52 ;abs 0x9fe0 9fae: 0f 4c mov r12, r15 ; 9fb0: 0f 5d add r13, r15 ; 00009fb2 <.LBE16>: uint8_t crc = 0xFF; 9fb2: 7c 40 ff 00 mov.b #255, r12 ;#0x00ff 00009fb6 <.L8>: crc ^= *data++; 9fb6: 7c ee xor.b @r14+, r12 ; 00009fb8 <.LVL6>: 9fb8: 3c f0 ff 00 and #255, r12 ;#0x00ff 00009fbc <.LBB17>: 9fbc: 7d 42 mov.b #8, r13 ;r2 As==11 00009fbe <.L7>: for (int i = 8; i; --i) { crc = (crc & 0x80) ? (crc << 1) ^ POLYNOMIAL : (crc << 1); 9fbe: 4c 93 cmp.b #0, r12 ;r3 As==00 9fc0: 09 38 jl $+20 ;abs 0x9fd4 00009fc2 <.Loc.35.1>: 9fc2: 4c 5c rla.b r12 ; 00009fc4 <.LVL9>: 9fc4: 3c f0 ff 00 and #255, r12 ;#0x00ff 00009fc8 <.L6>: for (int i = 8; i; --i) { 9fc8: 3d 53 add #-1, r13 ;r3 As==11 00009fca <.LVL11>: 9fca: 0d 93 cmp #0, r13 ;r3 As==00 9fcc: f8 23 jnz $-14 ;abs 0x9fbe 00009fce <.LBE18>: for (int j = len; j; --j) { 9fce: 0f 9e cmp r14, r15 ; 9fd0: f2 23 jnz $-26 ;abs 0x9fb6 00009fd2 <.LBE20>: } } return crc; } 9fd2: 30 41 ret 00009fd4 <.L12>: crc = (crc & 0x80) ? (crc << 1) ^ POLYNOMIAL : (crc << 1); 9fd4: 0c 5c rla r12 ; 00009fd6 <.LVL12>: 9fd6: 7c e0 31 00 xor.b #49, r12 ;#0x0031 00009fda <.Loc.35.1>: 9fda: 3c f0 ff 00 and #255, r12 ;#0x00ff 9fde: f4 3f jmp $-22 ;abs 0x9fc8 00009fe0 <.L9>: uint8_t crc = 0xFF; 9fe0: 7c 40 ff 00 mov.b #255, r12 ;#0x00ff 00009fe4 <.LVL14>: } 9fe4: 30 41 ret 00009fe6 : bool SHT31D_ReadTH() { 9fe6: 0a 12 push r10 ; 00009fe8 <.LCFI2>: 9fe8: 09 12 push r9 ; 00009fea <.LCFI3>: 9fea: 08 12 push r8 ; 00009fec <.LCFI4>: 9fec: 07 12 push r7 ; 00009fee <.LCFI5>: 9fee: 06 12 push r6 ; 00009ff0 <.LCFI6>: 9ff0: 31 80 06 00 sub #6, r1 ; 00009ff4 <.LBB22>: cmd[0] = command >> 8; 9ff4: f1 40 24 00 mov.b #36, 0(r1) ;#0x0024 9ff8: 00 00 00009ffa <.Loc.11.1>: cmd[1] = command & 0xFF; 9ffa: c1 43 01 00 mov.b #0, 1(r1) ;r3 As==00 00009ffe <.Loc.13.1>: return SWI2C_writeToDeviceB(cmd,2,true); //data cmd, count 2 byte, stop bit always true 9ffe: 5e 43 mov.b #1, r14 ;r3 As==01 a000: 6d 43 mov.b #2, r13 ;r3 As==10 a002: 0c 41 mov r1, r12 ; a004: b0 12 f0 9b call #-25616 ;#0x9bf0 0000a008 <.LBE22>: uint8_t readBuffer[6]; SHT31D_writeCommand(SHT31_MEAS_HIGHREP); msDelay(DELAY10MS); a008: 3a 40 2c 87 mov #-30932,r10 ;#0x872c a00c: 3c 40 22 9c mov #-25566,r12 ;#0x9c22 a010: 8a 12 call r10 ; 0000a012 <.LVL17>: msDelay(DELAY10MS); a012: 3c 40 22 9c mov #-25566,r12 ;#0x9c22 a016: 8a 12 call r10 ; 0000a018 <.LVL18>: SWI2C_readFromDeviceB(readBuffer,6,true); a018: 5e 43 mov.b #1, r14 ;r3 As==01 a01a: 7d 40 06 00 mov.b #6, r13 ; a01e: 0c 41 mov r1, r12 ; a020: b0 12 5e 98 call #-26530 ;#0x985e 0000a024 <.LVL19>: if (readBuffer[2] != crc8(readBuffer, 2) || a024: 5e 41 02 00 mov.b 2(r1), r14 ; 0000a028 <.LBB24>: crc ^= *data++; a028: 6d 41 mov.b @r1, r13 ; a02a: 7d e3 xor.b #-1, r13 ;r3 As==11 a02c: 3d f0 ff 00 and #255, r13 ;#0x00ff 0000a030 <.LBB27>: a030: 7c 42 mov.b #8, r12 ;r2 As==11 0000a032 <.L16>: crc = (crc & 0x80) ? (crc << 1) ^ POLYNOMIAL : (crc << 1); a032: 4d 93 cmp.b #0, r13 ;r3 As==00 a034: 3f 38 jl $+128 ;abs 0xa0b4 a036: 4d 5d rla.b r13 ; 0000a038 <.LVL23>: a038: 3d f0 ff 00 and #255, r13 ;#0x00ff 0000a03c <.L18>: for (int i = 8; i; --i) { a03c: 3c 53 add #-1, r12 ;r3 As==11 0000a03e <.LVL25>: a03e: 0c 93 cmp #0, r12 ;r3 As==00 a040: f8 23 jnz $-14 ;abs 0xa032 0000a042 <.LBE28>: crc ^= *data++; a042: 5d e1 01 00 xor.b 1(r1), r13 ; 0000a046 <.LVL27>: a046: 3d f0 ff 00 and #255, r13 ;#0x00ff 0000a04a <.LBB29>: a04a: 7c 42 mov.b #8, r12 ;r2 As==11 0000a04c <.L21>: crc = (crc & 0x80) ? (crc << 1) ^ POLYNOMIAL : (crc << 1); a04c: 4d 93 cmp.b #0, r13 ;r3 As==00 a04e: 2c 38 jl $+90 ;abs 0xa0a8 a050: 4d 5d rla.b r13 ; 0000a052 <.LVL30>: a052: 3d f0 ff 00 and #255, r13 ;#0x00ff 0000a056 <.L23>: for (int i = 8; i; --i) { a056: 3c 53 add #-1, r12 ;r3 As==11 0000a058 <.LVL32>: a058: 0c 93 cmp #0, r12 ;r3 As==00 a05a: f8 23 jnz $-14 ;abs 0xa04c 0000a05c <.LBE24>: if (readBuffer[2] != crc8(readBuffer, 2) || a05c: 0e 9d cmp r13, r14 ; a05e: 20 20 jnz $+66 ;abs 0xa0a0 0000a060 <.Loc.52.1>: readBuffer[5] != crc8(readBuffer + 3, 2)) a060: 5d 41 05 00 mov.b 5(r1), r13 ; 0000a064 <.LBB34>: crc ^= *data++; a064: 5c 41 03 00 mov.b 3(r1), r12 ; a068: 7c e3 xor.b #-1, r12 ;r3 As==11 a06a: 3c f0 ff 00 and #255, r12 ;#0x00ff 0000a06e <.LBB37>: a06e: 7e 42 mov.b #8, r14 ;r2 As==11 0000a070 <.L27>: crc = (crc & 0x80) ? (crc << 1) ^ POLYNOMIAL : (crc << 1); a070: 4c 93 cmp.b #0, r12 ;r3 As==00 a072: 2c 38 jl $+90 ;abs 0xa0cc a074: 4c 5c rla.b r12 ; 0000a076 <.LVL37>: a076: 3c f0 ff 00 and #255, r12 ;#0x00ff 0000a07a <.L29>: for (int i = 8; i; --i) { a07a: 3e 53 add #-1, r14 ;r3 As==11 0000a07c <.LVL39>: a07c: 0e 93 cmp #0, r14 ;r3 As==00 a07e: f8 23 jnz $-14 ;abs 0xa070 0000a080 <.LBE38>: crc ^= *data++; a080: 5c e1 04 00 xor.b 4(r1), r12 ; 0000a084 <.LVL41>: a084: 3c f0 ff 00 and #255, r12 ;#0x00ff 0000a088 <.LBB39>: a088: 7e 42 mov.b #8, r14 ;r2 As==11 0000a08a <.L32>: crc = (crc & 0x80) ? (crc << 1) ^ POLYNOMIAL : (crc << 1); a08a: 4c 93 cmp.b #0, r12 ;r3 As==00 a08c: 19 38 jl $+52 ;abs 0xa0c0 a08e: 4c 5c rla.b r12 ; 0000a090 <.LVL44>: a090: 3c f0 ff 00 and #255, r12 ;#0x00ff 0000a094 <.L34>: for (int i = 8; i; --i) { a094: 3e 53 add #-1, r14 ;r3 As==11 0000a096 <.LVL46>: a096: 0e 93 cmp #0, r14 ;r3 As==00 a098: f8 23 jnz $-14 ;abs 0xa08a 0000a09a <.LBE34>: if (readBuffer[2] != crc8(readBuffer, 2) || a09a: 0d 9c cmp r12, r13 ; a09c: 1d 24 jz $+60 ;abs 0xa0d8 0000a09e <.Loc.53.1>: return false; a09e: 0c 4e mov r14, r12 ; 0000a0a0 <.L24>: shum = (625 * shum) >> 12; //SHTHumid = (float)shum / 100.0f; SHTHumid = shum; return true; } a0a0: 31 50 06 00 add #6, r1 ; 0000a0a4 <.LCFI8>: a0a4: 30 40 b8 b5 br #0xb5b8 ; 0000a0a8 <.L50>: crc = (crc & 0x80) ? (crc << 1) ^ POLYNOMIAL : (crc << 1); a0a8: 0d 5d rla r13 ; 0000a0aa <.LVL50>: a0aa: 7d e0 31 00 xor.b #49, r13 ;#0x0031 0000a0ae <.Loc.35.1>: a0ae: 3d f0 ff 00 and #255, r13 ;#0x00ff a0b2: d1 3f jmp $-92 ;abs 0xa056 0000a0b4 <.L49>: a0b4: 0d 5d rla r13 ; 0000a0b6 <.LVL52>: a0b6: 7d e0 31 00 xor.b #49, r13 ;#0x0031 0000a0ba <.Loc.35.1>: a0ba: 3d f0 ff 00 and #255, r13 ;#0x00ff a0be: be 3f jmp $-130 ;abs 0xa03c 0000a0c0 <.L52>: a0c0: 0c 5c rla r12 ; 0000a0c2 <.LVL54>: a0c2: 7c e0 31 00 xor.b #49, r12 ;#0x0031 0000a0c6 <.Loc.35.1>: a0c6: 3c f0 ff 00 and #255, r12 ;#0x00ff a0ca: e4 3f jmp $-54 ;abs 0xa094 0000a0cc <.L51>: a0cc: 0c 5c rla r12 ; 0000a0ce <.LVL56>: a0ce: 7c e0 31 00 xor.b #49, r12 ;#0x0031 0000a0d2 <.Loc.35.1>: a0d2: 3c f0 ff 00 and #255, r12 ;#0x00ff a0d6: d1 3f jmp $-92 ;abs 0xa07a 0000a0d8 <.L53>: a0d8: 5a 41 04 00 mov.b 4(r1), r10 ; a0dc: 0a 5a rla r10 ; a0de: 0a 5a rla r10 ; a0e0: 0a 5a rla r10 ; a0e2: 0a 5a rla r10 ; a0e4: 0a 5a rla r10 ; a0e6: 0a 5a rla r10 ; a0e8: 0a 5a rla r10 ; a0ea: 0a 5a rla r10 ; a0ec: 5c 41 03 00 mov.b 3(r1), r12 ; a0f0: 0a dc bis r12, r10 ; 0000a0f2 <.LBE41>: int32_t stemp = (int32_t)(((uint32_t)readBuffer[0] << 8) | readBuffer[1]); a0f2: 2c 41 mov @r1, r12 ; a0f4: 0d 4c mov r12, r13 ; a0f6: 0d 5d rla r13 ; a0f8: 0d 5d rla r13 ; a0fa: 0d 5d rla r13 ; a0fc: 0d 5d rla r13 ; a0fe: 0d 5d rla r13 ; a100: 0d 5d rla r13 ; a102: 0d 5d rla r13 ; a104: 0d 5d rla r13 ; a106: 12 c3 clrc a108: 0c 10 rrc r12 ; a10a: 12 c3 clrc a10c: 0c 10 rrc r12 ; a10e: 12 c3 clrc a110: 0c 10 rrc r12 ; a112: 12 c3 clrc a114: 0c 10 rrc r12 ; a116: 12 c3 clrc a118: 0c 10 rrc r12 ; a11a: 12 c3 clrc a11c: 0c 10 rrc r12 ; a11e: 12 c3 clrc a120: 0c 10 rrc r12 ; a122: 12 c3 clrc a124: 0c 10 rrc r12 ; a126: 0c dd bis r13, r12 ; 0000a128 <.Loc.58.1>: stemp = ((4375 * stemp) >> 14) - 4500; a128: 3e 40 17 11 mov #4375, r14 ;#0x1117 a12c: 4f 43 clr.b r15 ; a12e: 0d 43 clr r13 ; a130: b0 12 a0 bd call #-16992 ;#0xbda0 0000a134 <.LVL59>: a134: 0d 11 rra r13 ; a136: 0c 10 rrc r12 ; a138: 0d 11 rra r13 ; a13a: 0c 10 rrc r12 ; a13c: 0d 11 rra r13 ; a13e: 0c 10 rrc r12 ; a140: 0d 11 rra r13 ; a142: 0c 10 rrc r12 ; a144: 0d 11 rra r13 ; a146: 0c 10 rrc r12 ; a148: 0d 11 rra r13 ; a14a: 0c 10 rrc r12 ; a14c: 0d 11 rra r13 ; a14e: 0c 10 rrc r12 ; a150: 0d 11 rra r13 ; a152: 0c 10 rrc r12 ; a154: 0d 11 rra r13 ; a156: 0c 10 rrc r12 ; a158: 0d 11 rra r13 ; a15a: 0c 10 rrc r12 ; a15c: 0d 11 rra r13 ; a15e: 0c 10 rrc r12 ; a160: 0d 11 rra r13 ; a162: 0c 10 rrc r12 ; a164: 0d 11 rra r13 ; a166: 0c 10 rrc r12 ; a168: 0d 11 rra r13 ; a16a: 0c 10 rrc r12 ; 0000a16c <.Loc.60.1>: SHTDegC = stemp; a16c: 0e 4c mov r12, r14 ; a16e: 3e 50 6c ee add #-4500, r14 ;#0xee6c a172: 82 4e e8 02 mov r14, &0x02e8 ; 0000a176 <.Loc.62.1>: shum = (625 * shum) >> 12; a176: 0c 4a mov r10, r12 ; a178: 0c 5c rla r12 ; a17a: 0c 5c rla r12 ; a17c: 0c 5c rla r12 ; a17e: 0c 5c rla r12 ; a180: 0c 5c rla r12 ; a182: 0c 5c rla r12 ; a184: 0c 5c rla r12 ; a186: 0c 5c rla r12 ; a188: 12 c3 clrc a18a: 0a 10 rrc r10 ; a18c: 12 c3 clrc a18e: 0a 10 rrc r10 ; a190: 12 c3 clrc a192: 0a 10 rrc r10 ; a194: 12 c3 clrc a196: 0a 10 rrc r10 ; a198: 12 c3 clrc a19a: 0a 10 rrc r10 ; a19c: 12 c3 clrc a19e: 0a 10 rrc r10 ; a1a0: 12 c3 clrc a1a2: 0a 10 rrc r10 ; a1a4: 12 c3 clrc a1a6: 0a 10 rrc r10 ; a1a8: 0a dc bis r12, r10 ; a1aa: 0b 43 clr r11 ; a1ac: 0e 4a mov r10, r14 ; a1ae: 0f 4b mov r11, r15 ; a1b0: 0e 5e rla r14 ; a1b2: 0f 6f rlc r15 ; a1b4: 0e 5e rla r14 ; a1b6: 0f 6f rlc r15 ; a1b8: 08 4e mov r14, r8 ; a1ba: 08 5a add r10, r8 ; a1bc: 09 4f mov r15, r9 ; a1be: 09 6b addc r11, r9 ; a1c0: 08 58 rla r8 ; a1c2: 09 69 rlc r9 ; a1c4: 08 58 rla r8 ; a1c6: 09 69 rlc r9 ; a1c8: 08 58 rla r8 ; a1ca: 09 69 rlc r9 ; a1cc: 0e 48 mov r8, r14 ; a1ce: 0f 49 mov r9, r15 ; a1d0: 0e 8a sub r10, r14 ; a1d2: 0f 7b subc r11, r15 ; a1d4: 0e 5e rla r14 ; a1d6: 0f 6f rlc r15 ; a1d8: 0e 5e rla r14 ; a1da: 0f 6f rlc r15 ; a1dc: 0e 5e rla r14 ; a1de: 0f 6f rlc r15 ; a1e0: 0e 5e rla r14 ; a1e2: 0f 6f rlc r15 ; a1e4: 06 4e mov r14, r6 ; a1e6: 06 5a add r10, r6 ; a1e8: 07 4f mov r15, r7 ; a1ea: 07 6b addc r11, r7 ; 0000a1ec <.LVL61>: a1ec: 12 c3 clrc a1ee: 07 10 rrc r7 ; a1f0: 06 10 rrc r6 ; a1f2: 12 c3 clrc a1f4: 07 10 rrc r7 ; a1f6: 06 10 rrc r6 ; a1f8: 12 c3 clrc a1fa: 07 10 rrc r7 ; a1fc: 06 10 rrc r6 ; a1fe: 12 c3 clrc a200: 07 10 rrc r7 ; a202: 06 10 rrc r6 ; a204: 12 c3 clrc a206: 07 10 rrc r7 ; a208: 06 10 rrc r6 ; a20a: 12 c3 clrc a20c: 07 10 rrc r7 ; a20e: 06 10 rrc r6 ; a210: 12 c3 clrc a212: 07 10 rrc r7 ; a214: 06 10 rrc r6 ; a216: 12 c3 clrc a218: 07 10 rrc r7 ; a21a: 06 10 rrc r6 ; a21c: 12 c3 clrc a21e: 07 10 rrc r7 ; a220: 06 10 rrc r6 ; a222: 12 c3 clrc a224: 07 10 rrc r7 ; a226: 06 10 rrc r6 ; a228: 12 c3 clrc a22a: 07 10 rrc r7 ; a22c: 06 10 rrc r6 ; a22e: 12 c3 clrc a230: 07 10 rrc r7 ; a232: 06 10 rrc r6 ; 0000a234 <.LVL62>: SHTHumid = shum; a234: 82 46 ea 02 mov r6, &0x02ea ; 0000a238 <.Loc.69.1>: return true; a238: 5c 43 mov.b #1, r12 ;r3 As==01 0000a23a <.Loc.70.1>: } a23a: 31 50 06 00 add #6, r1 ; 0000a23e <.LCFI10>: a23e: 30 40 b8 b5 br #0xb5b8 ; 0000a242 : uint16_t SHT31D_readStatus() { a242: 21 82 sub #4, r1 ;r2 As==10 0000a244 <.LBB46>: cmd[0] = command >> 8; a244: f1 40 f3 ff mov.b #-13, 1(r1) ;#0xfff3 a248: 01 00 0000a24a <.Loc.11.1>: cmd[1] = command & 0xFF; a24a: f1 40 2d 00 mov.b #45, 2(r1) ;#0x002d a24e: 02 00 0000a250 <.Loc.13.1>: return SWI2C_writeToDeviceB(cmd,2,true); //data cmd, count 2 byte, stop bit always true a250: 5e 43 mov.b #1, r14 ;r3 As==01 a252: 6d 43 mov.b #2, r13 ;r3 As==10 a254: 0c 41 mov r1, r12 ; a256: 1c 53 inc r12 ; a258: b0 12 f0 9b call #-25616 ;#0x9bf0 0000a25c <.LBE46>: SHT31D_writeCommand(SHT31_READSTATUS); uint8_t data[3]; SWI2C_readFromDeviceB(data,3,true); a25c: 5e 43 mov.b #1, r14 ;r3 As==01 a25e: 7d 40 03 00 mov.b #3, r13 ; a262: 0c 41 mov r1, r12 ; a264: 1c 53 inc r12 ; a266: b0 12 5e 98 call #-26530 ;#0x985e 0000a26a <.LVL65>: uint16_t stat = data[0]; stat <<= 8; stat |= data[1]; a26a: 5d 41 02 00 mov.b 2(r1), r13 ; a26e: 0d 5d rla r13 ; a270: 0d 5d rla r13 ; a272: 0d 5d rla r13 ; a274: 0d 5d rla r13 ; a276: 0d 5d rla r13 ; a278: 0d 5d rla r13 ; a27a: 0d 5d rla r13 ; a27c: 0d 5d rla r13 ; a27e: 5c 41 01 00 mov.b 1(r1), r12 ; a282: 0d dc bis r12, r13 ; a284: 0c 4d mov r13, r12 ; a286: 0c 5c rla r12 ; a288: 0c 5c rla r12 ; a28a: 0c 5c rla r12 ; a28c: 0c 5c rla r12 ; a28e: 0c 5c rla r12 ; a290: 0c 5c rla r12 ; a292: 0c 5c rla r12 ; a294: 0c 5c rla r12 ; a296: 12 c3 clrc a298: 0d 10 rrc r13 ; a29a: 12 c3 clrc a29c: 0d 10 rrc r13 ; a29e: 12 c3 clrc a2a0: 0d 10 rrc r13 ; a2a2: 12 c3 clrc a2a4: 0d 10 rrc r13 ; a2a6: 12 c3 clrc a2a8: 0d 10 rrc r13 ; a2aa: 12 c3 clrc a2ac: 0d 10 rrc r13 ; a2ae: 12 c3 clrc a2b0: 0d 10 rrc r13 ; a2b2: 12 c3 clrc a2b4: 0d 10 rrc r13 ; 0000a2b6 <.LVL66>: return stat; } a2b6: 0c dd bis r13, r12 ; a2b8: 21 52 add #4, r1 ;r2 As==10 0000a2ba <.LCFI13>: a2ba: 30 41 ret 0000a2bc : /** Set up SHT31D */ bool init_SHT31D() { a2bc: 21 83 decd r1 ; 0000a2be <.LCFI14>: //mySHT31D.begin(); //this sets up the same stuff as hardware.h. No need to do this. //issue soft resest command. Init the address and all that. SWI2C_SWI2C(SHT31D_SDA_PIN, SHT31D_SCL_PIN, SHT31_DEFAULT_ADDR); a2be: 7e 40 44 00 mov.b #68, r14 ;#0x0044 a2c2: 6d 43 mov.b #2, r13 ;r3 As==10 a2c4: 5c 43 mov.b #1, r12 ;r3 As==01 a2c6: b0 12 d8 94 call #-27432 ;#0x94d8 0000a2ca <.LVL67>: //SWI2C_SWI2C(SHT31D_SDA_PIN, SHT31D_SCL_PIN, 0x45); //(how does this still work even with the wrong address SWI2C_begin(); a2ca: b0 12 e6 94 call #-27418 ;#0x94e6 0000a2ce <.LBB48>: cmd[0] = command >> 8; a2ce: f1 40 30 00 mov.b #48, 0(r1) ;#0x0030 a2d2: 00 00 0000a2d4 <.Loc.11.1>: cmd[1] = command & 0xFF; a2d4: f1 40 a2 ff mov.b #-94, 1(r1) ;#0xffa2 a2d8: 01 00 0000a2da <.Loc.13.1>: return SWI2C_writeToDeviceB(cmd,2,true); //data cmd, count 2 byte, stop bit always true a2da: 5e 43 mov.b #1, r14 ;r3 As==01 a2dc: 6d 43 mov.b #2, r13 ;r3 As==10 a2de: 0c 41 mov r1, r12 ; a2e0: b0 12 f0 9b call #-25616 ;#0x9bf0 0000a2e4 <.LBE48>: SHT31D_writeCommand(SHT31_SOFTRESET); msDelay(DELAY10MS); a2e4: 3c 40 22 9c mov #-25566,r12 ;#0x9c22 a2e8: b0 12 2c 87 call #-30932 ;#0x872c 0000a2ec <.LVL70>: return SHT31D_readStatus() != 0xFFFF; a2ec: b0 12 42 a2 call #-23998 ;#0xa242 0000a2f0 <.LVL71>: a2f0: 0d 4c mov r12, r13 ; a2f2: 3d e3 inv r13 ; a2f4: 1c 53 inc r12 ; a2f6: 0c dd bis r13, r12 ; 0000a2f8 <.Loc.100.1>: a2f8: 12 c3 clrc a2fa: 0c 10 rrc r12 ; a2fc: 12 c3 clrc a2fe: 0c 10 rrc r12 ; a300: 12 c3 clrc a302: 0c 10 rrc r12 ; a304: 12 c3 clrc a306: 0c 10 rrc r12 ; a308: 12 c3 clrc a30a: 0c 10 rrc r12 ; a30c: 12 c3 clrc a30e: 0c 10 rrc r12 ; a310: 12 c3 clrc a312: 0c 10 rrc r12 ; a314: 12 c3 clrc a316: 0c 10 rrc r12 ; a318: 12 c3 clrc a31a: 0c 10 rrc r12 ; a31c: 12 c3 clrc a31e: 0c 10 rrc r12 ; a320: 12 c3 clrc a322: 0c 10 rrc r12 ; a324: 12 c3 clrc a326: 0c 10 rrc r12 ; a328: 12 c3 clrc a32a: 0c 10 rrc r12 ; a32c: 12 c3 clrc a32e: 0c 10 rrc r12 ; a330: 12 c3 clrc a332: 0c 10 rrc r12 ; a334: 21 53 incd r1 ; 0000a336 <.LCFI15>: a336: 30 41 ret 0000a338 <__gtsf2>: a338: 0a 12 push r10 ; 0000a33a <.LCFI0>: a33a: 31 80 1c 00 sub #28, r1 ;#0x001c 0000a33e <.LCFI1>: a33e: 81 4c 00 00 mov r12, 0(r1) ; 0000a342 : a342: 81 4d 02 00 mov r13, 2(r1) ; 0000a346 <.Loc.1222.1>: a346: 81 4e 04 00 mov r14, 4(r1) ; a34a: 81 4f 06 00 mov r15, 6(r1) ; 0000a34e <.Loc.1224.1>: a34e: 3a 40 78 b6 mov #-18824,r10 ;#0xb678 a352: 0d 41 mov r1, r13 ; a354: 3d 52 add #8, r13 ;r2 As==11 a356: 0c 41 mov r1, r12 ; 0000a358 <.LVL1>: a358: 8a 12 call r10 ; 0000a35a <.LVL2>: a35a: 0d 41 mov r1, r13 ; a35c: 3d 50 12 00 add #18, r13 ;#0x0012 a360: 0c 41 mov r1, r12 ; a362: 2c 52 add #4, r12 ;r2 As==10 a364: 8a 12 call r10 ; 0000a366 <.LVL3>: a366: 5c 43 mov.b #1, r12 ;r3 As==01 a368: 1c 91 08 00 cmp 8(r1), r12 ; a36c: 0e 2c jc $+30 ;abs 0xa38a 0000a36e <.Loc.1227.1>: a36e: 1c 91 12 00 cmp 18(r1), r12 ;0x00012 a372: 0b 2c jc $+24 ;abs 0xa38a 0000a374 <.Loc.1230.1>: a374: 0d 41 mov r1, r13 ; a376: 3d 50 12 00 add #18, r13 ;#0x0012 a37a: 0c 41 mov r1, r12 ; a37c: 3c 52 add #8, r12 ;r2 As==11 a37e: b0 12 6c b7 call #-18580 ;#0xb76c 0000a382 <.L1>: a382: 31 50 1c 00 add #28, r1 ;#0x001c 0000a386 <.LCFI2>: a386: 3a 41 pop r10 ; 0000a388 <.LCFI3>: a388: 30 41 ret 0000a38a <.L4>: a38a: 3c 43 mov #-1, r12 ;r3 As==11 a38c: fa 3f jmp $-10 ;abs 0xa382 0000a38e <__mspabi_cvtfd>: a38e: 0a 12 push r10 ; 0000a390 : a390: 09 12 push r9 ; 0000a392 <.LCFI1>: a392: 08 12 push r8 ; 0000a394 <.LCFI2>: a394: 31 80 16 00 sub #22, r1 ;#0x0016 0000a398 <.LCFI3>: a398: 81 4c 08 00 mov r12, 8(r1) ; a39c: 81 4d 0a 00 mov r13, 10(r1) ; 0x000a 0000a3a0 <.Loc.1501.1>: a3a0: 0d 41 mov r1, r13 ; a3a2: 3d 50 0c 00 add #12, r13 ;#0x000c a3a6: 0c 41 mov r1, r12 ; 0000a3a8 <.LVL1>: a3a8: 3c 52 add #8, r12 ;r2 As==11 a3aa: b0 12 78 b6 call #-18824 ;#0xb678 0000a3ae <.LVL2>: a3ae: 19 41 14 00 mov 20(r1), r9 ;0x00014 0000a3b2 <.Loc.1503.1>: a3b2: 18 41 12 00 mov 18(r1), r8 ;0x00012 a3b6: 4a 43 clr.b r10 ; a3b8: 0b 4a mov r10, r11 ; a3ba: 7c 40 1e 00 mov.b #30, r12 ;#0x001e a3be: b0 12 da b5 call #-18982 ;#0xb5da a3c2: 81 4c 00 00 mov r12, 0(r1) ; a3c6: 81 4d 02 00 mov r13, 2(r1) ; a3ca: 81 4e 04 00 mov r14, 4(r1) ; a3ce: 81 4f 06 00 mov r15, 6(r1) ; a3d2: 1e 41 10 00 mov 16(r1), r14 ;0x00010 a3d6: 1d 41 0e 00 mov 14(r1), r13 ;0x0000e a3da: 1c 41 0c 00 mov 12(r1), r12 ;0x0000c a3de: b0 12 cc b3 call #-19508 ;#0xb3cc 0000a3e2 <.LVL4>: a3e2: 31 50 16 00 add #22, r1 ;#0x0016 0000a3e6 <.LCFI4>: a3e6: 30 40 bc b5 br #0xb5bc ; 0000a3ea <_fpadd_parts>: a3ea: 0a 12 push r10 ; 0000a3ec <.LCFI0>: a3ec: 09 12 push r9 ; 0000a3ee <.LCFI1>: a3ee: 08 12 push r8 ; 0000a3f0 <.LCFI2>: a3f0: 07 12 push r7 ; 0000a3f2 <.LCFI3>: a3f2: 06 12 push r6 ; 0000a3f4 <.LCFI4>: a3f4: 05 12 push r5 ; 0000a3f6 <.LCFI5>: a3f6: 04 12 push r4 ; 0000a3f8 <.LCFI6>: a3f8: 31 80 1a 00 sub #26, r1 ;#0x001a 0000a3fc <.LCFI7>: a3fc: 06 4c mov r12, r6 ; a3fe: 81 4d 00 00 mov r13, 0(r1) ; a402: 07 4e mov r14, r7 ; 0000a404 <.Loc.585.1>: a404: 2c 4c mov @r12, r12 ; 0000a406 <.LVL1>: a406: 55 43 mov.b #1, r5 ;r3 As==01 a408: 05 9c cmp r12, r5 ; a40a: 11 2c jc $+36 ;abs 0xa42e 0000a40c <.Loc.597.1>: a40c: 05 4d mov r13, r5 ; a40e: 2d 4d mov @r13, r13 ; 0000a410 <.LVL2>: a410: 5e 43 mov.b #1, r14 ;r3 As==01 0000a412 <.LVL3>: a412: 0e 9d cmp r13, r14 ; a414: 02 28 jnc $+6 ;abs 0xa41a a416: 30 40 74 a9 br #0xa974 ; 0000a41a <.Loc.159.1>: a41a: 2c 92 cmp #4, r12 ;r2 As==10 a41c: 0d 20 jnz $+28 ;abs 0xa438 0000a41e <.Loc.159.1>: a41e: 2d 92 cmp #4, r13 ;r2 As==10 a420: 06 20 jnz $+14 ;abs 0xa42e 0000a422 <.Loc.604.1>: a422: 96 95 02 00 cmp 2(r5), 2(r6) ; a426: 02 00 a428: 02 24 jz $+6 ;abs 0xa42e 0000a42a <.Loc.605.1>: a42a: 36 40 f8 80 mov #-32520,r6 ;#0x80f8 0000a42e <.L2>: a42e: 0c 46 mov r6, r12 ; a430: 31 50 1a 00 add #26, r1 ;#0x001a 0000a434 <.LCFI8>: a434: 30 40 b4 b5 br #0xb5b4 ; 0000a438 <.L3>: a438: 2d 92 cmp #4, r13 ;r2 As==10 a43a: 02 20 jnz $+6 ;abs 0xa440 a43c: 30 40 74 a9 br #0xa974 ; 0000a440 <.Loc.168.1>: a440: 2d 93 cmp #2, r13 ;r3 As==10 a442: 11 20 jnz $+36 ;abs 0xa466 0000a444 <.Loc.168.1>: a444: 2c 93 cmp #2, r12 ;r3 As==10 a446: f3 23 jnz $-24 ;abs 0xa42e 0000a448 <.Loc.616.1>: a448: 7e 40 0e 00 mov.b #14, r14 ;#0x000e a44c: 0d 46 mov r6, r13 ; a44e: 0c 47 mov r7, r12 ; a450: b0 12 3c be call #-16836 ;#0xbe3c 0000a454 <.LVL10>: a454: 16 46 02 00 mov 2(r6), r6 ; 0000a458 <.LVL11>: a458: 25 41 mov @r1, r5 ; 0000a45a <.LVL12>: a45a: 16 f5 02 00 and 2(r5), r6 ; a45e: 87 46 02 00 mov r6, 2(r7) ; 0000a462 <.L71>: a462: 06 47 mov r7, r6 ; a464: e4 3f jmp $-54 ;abs 0xa42e 0000a466 <.L4>: a466: 2c 93 cmp #2, r12 ;r3 As==10 a468: 02 20 jnz $+6 ;abs 0xa46e a46a: 30 40 74 a9 br #0xa974 ; 0000a46e <.LBB21>: a46e: 91 46 04 00 mov 4(r6), 10(r1) ; 0x000a a472: 0a 00 0000a474 <.LVL15>: a474: 25 41 mov @r1, r5 ; 0000a476 <.LVL16>: a476: 91 45 04 00 mov 4(r5), 18(r1) ; 0x0012 a47a: 12 00 0000a47c <.LVL17>: a47c: 15 46 06 00 mov 6(r6), r5 ; 0000a480 <.LVL18>: a480: 91 46 08 00 mov 8(r6), 4(r1) ; a484: 04 00 a486: 91 46 0a 00 mov 10(r6), 12(r1) ;0x0000a, 0x000c a48a: 0c 00 a48c: 91 46 0c 00 mov 12(r6), 6(r1) ;0x0000c a490: 06 00 0000a492 <.LVL19>: a492: 2c 41 mov @r1, r12 ; a494: 91 4c 06 00 mov 6(r12), 2(r1) ; a498: 02 00 a49a: 91 4c 08 00 mov 8(r12), 14(r1) ; 0x000e a49e: 0e 00 a4a0: 91 4c 0a 00 mov 10(r12),16(r1) ;0x0000a, 0x0010 a4a4: 10 00 a4a6: 91 4c 0c 00 mov 12(r12),8(r1) ;0x0000c a4aa: 08 00 0000a4ac <.LVL20>: a4ac: 1d 41 0a 00 mov 10(r1), r13 ;0x0000a a4b0: 1d 81 12 00 sub 18(r1), r13 ;0x00012 a4b4: 04 4d mov r13, r4 ; 0000a4b6 <.LVL21>: a4b6: 0d 93 cmp #0, r13 ;r3 As==00 a4b8: 74 34 jge $+234 ;abs 0xa5a2 0000a4ba <.Loc.642.1>: a4ba: 1e 41 12 00 mov 18(r1), r14 ;0x00012 a4be: 1e 81 0a 00 sub 10(r1), r14 ;0x0000a a4c2: 04 4e mov r14, r4 ; 0000a4c4 <.LVL22>: a4c4: 7c 40 3f 00 mov.b #63, r12 ;#0x003f a4c8: 0c 9e cmp r14, r12 ; a4ca: 78 39 jl $+754 ;abs 0xa7bc 0000a4cc <.LVL23>: a4cc: 08 45 mov r5, r8 ; a4ce: 19 41 04 00 mov 4(r1), r9 ; a4d2: 1a 41 0c 00 mov 12(r1), r10 ;0x0000c a4d6: 1b 41 06 00 mov 6(r1), r11 ; a4da: 0c 4e mov r14, r12 ; a4dc: b0 12 12 b6 call #-18926 ;#0xb612 0000a4e0 <.LVL24>: a4e0: 81 4c 0a 00 mov r12, 10(r1) ; 0x000a 0000a4e4 <.LVL25>: a4e4: 81 4d 14 00 mov r13, 20(r1) ; 0x0014 a4e8: 81 4e 16 00 mov r14, 22(r1) ; 0x0016 a4ec: 81 4f 18 00 mov r15, 24(r1) ; 0x0018 a4f0: 38 43 mov #-1, r8 ;r3 As==11 a4f2: 09 48 mov r8, r9 ; a4f4: 0a 48 mov r8, r10 ; a4f6: 0b 48 mov r8, r11 ; a4f8: 0c 44 mov r4, r12 ; a4fa: b0 12 da b5 call #-18982 ;#0xb5da a4fe: 08 45 mov r5, r8 ; a500: 08 cc bic r12, r8 ; a502: 15 41 04 00 mov 4(r1), r5 ; 0000a506 <.LVL27>: a506: 05 cd bic r13, r5 ; a508: 0d 45 mov r5, r13 ; a50a: 15 41 0c 00 mov 12(r1), r5 ;0x0000c a50e: 05 ce bic r14, r5 ; a510: 0e 45 mov r5, r14 ; a512: 15 41 06 00 mov 6(r1), r5 ; a516: 05 cf bic r15, r5 ; a518: 81 45 06 00 mov r5, 6(r1) ; a51c: 4b 43 clr.b r11 ; a51e: 0c 4b mov r11, r12 ; a520: 0c 88 sub r8, r12 ; a522: 81 4c 04 00 mov r12, 4(r1) ; a526: 5f 43 mov.b #1, r15 ;r3 As==01 a528: 0b 98 cmp r8, r11 ; a52a: 01 20 jnz $+4 ;abs 0xa52e a52c: 0f 4c mov r12, r15 ; 0000a52e <.L14>: a52e: 0c 4b mov r11, r12 ; a530: 0c 8d sub r13, r12 ; a532: 54 43 mov.b #1, r4 ;r3 As==01 0000a534 <.LVL28>: a534: 0b 9d cmp r13, r11 ; a536: 01 20 jnz $+4 ;abs 0xa53a a538: 04 4c mov r12, r4 ; 0000a53a <.L15>: a53a: 09 4c mov r12, r9 ; a53c: 09 8f sub r15, r9 ; a53e: 5f 43 mov.b #1, r15 ;r3 As==01 a540: 0c 99 cmp r9, r12 ; a542: 01 28 jnc $+4 ;abs 0xa546 a544: 4f 43 clr.b r15 ; 0000a546 <.L16>: a546: 04 df bis r15, r4 ; a548: 0c 4b mov r11, r12 ; a54a: 0c 8e sub r14, r12 ; a54c: 5f 43 mov.b #1, r15 ;r3 As==01 a54e: 0b 9e cmp r14, r11 ; a550: 01 20 jnz $+4 ;abs 0xa554 a552: 0f 4c mov r12, r15 ; 0000a554 <.L17>: a554: 0a 4c mov r12, r10 ; a556: 0a 84 sub r4, r10 ; a558: 55 43 mov.b #1, r5 ;r3 As==01 a55a: 0c 9a cmp r10, r12 ; a55c: 01 28 jnc $+4 ;abs 0xa560 a55e: 45 43 clr.b r5 ; 0000a560 <.L18>: a560: 0f d5 bis r5, r15 ; a562: 1b 81 06 00 sub 6(r1), r11 ; a566: 0b 8f sub r15, r11 ; a568: 18 d1 04 00 bis 4(r1), r8 ; a56c: 09 dd bis r13, r9 ; a56e: 0a de bis r14, r10 ; a570: 1b d1 06 00 bis 6(r1), r11 ; a574: 7c 40 3f 00 mov.b #63, r12 ;#0x003f a578: b0 12 12 b6 call #-18926 ;#0xb612 a57c: 15 41 0a 00 mov 10(r1), r5 ;0x0000a a580: 05 dc bis r12, r5 ; a582: 1d d1 14 00 bis 20(r1), r13 ;0x00014 a586: 81 4d 04 00 mov r13, 4(r1) ; a58a: 1e d1 16 00 bis 22(r1), r14 ;0x00016 a58e: 81 4e 0c 00 mov r14, 12(r1) ; 0x000c a592: 1f d1 18 00 bis 24(r1), r15 ;0x00018 a596: 81 4f 06 00 mov r15, 6(r1) ; 0000a59a <.LVL30>: a59a: 91 41 12 00 mov 18(r1), 10(r1) ;0x00012, 0x000a a59e: 0a 00 a5a0: 6f 3c jmp $+224 ;abs 0xa680 0000a5a2 <.L5>: a5a2: 7d 40 3f 00 mov.b #63, r13 ;#0x003f a5a6: 0d 94 cmp r4, r13 ; a5a8: 09 39 jl $+532 ;abs 0xa7bc 0000a5aa <.Loc.645.1>: a5aa: 04 93 cmp #0, r4 ;r3 As==00 a5ac: 69 24 jz $+212 ;abs 0xa680 0000a5ae <.LVL32>: a5ae: 18 41 02 00 mov 2(r1), r8 ; a5b2: 19 41 0e 00 mov 14(r1), r9 ;0x0000e a5b6: 1a 41 10 00 mov 16(r1), r10 ;0x00010 a5ba: 1b 41 08 00 mov 8(r1), r11 ; a5be: 0c 44 mov r4, r12 ; 0000a5c0 <.LVL33>: a5c0: b0 12 12 b6 call #-18926 ;#0xb612 0000a5c4 <.LVL34>: a5c4: 81 4c 12 00 mov r12, 18(r1) ; 0x0012 0000a5c8 <.LVL35>: a5c8: 81 4d 14 00 mov r13, 20(r1) ; 0x0014 a5cc: 81 4e 16 00 mov r14, 22(r1) ; 0x0016 a5d0: 81 4f 18 00 mov r15, 24(r1) ; 0x0018 a5d4: 38 43 mov #-1, r8 ;r3 As==11 a5d6: 09 48 mov r8, r9 ; a5d8: 0a 48 mov r8, r10 ; a5da: 0b 48 mov r8, r11 ; a5dc: 0c 44 mov r4, r12 ; a5de: b0 12 da b5 call #-18982 ;#0xb5da a5e2: 18 41 02 00 mov 2(r1), r8 ; a5e6: 08 cc bic r12, r8 ; a5e8: 1c 41 0e 00 mov 14(r1), r12 ;0x0000e a5ec: 0c cd bic r13, r12 ; a5ee: 0d 4c mov r12, r13 ; a5f0: 14 41 10 00 mov 16(r1), r4 ;0x00010 0000a5f4 <.LVL37>: a5f4: 04 ce bic r14, r4 ; a5f6: 1e 41 08 00 mov 8(r1), r14 ; a5fa: 0e cf bic r15, r14 ; a5fc: 81 4e 08 00 mov r14, 8(r1) ; 0000a600 <.LVL38>: a600: 4b 43 clr.b r11 ; a602: 0c 4b mov r11, r12 ; a604: 0c 88 sub r8, r12 ; a606: 81 4c 02 00 mov r12, 2(r1) ; a60a: 5e 43 mov.b #1, r14 ;r3 As==01 a60c: 0b 98 cmp r8, r11 ; a60e: 01 20 jnz $+4 ;abs 0xa612 a610: 0e 4b mov r11, r14 ; 0000a612 <.L9>: a612: 0c 4b mov r11, r12 ; a614: 0c 8d sub r13, r12 ; a616: 5f 43 mov.b #1, r15 ;r3 As==01 a618: 0b 9d cmp r13, r11 ; a61a: 01 20 jnz $+4 ;abs 0xa61e a61c: 0f 4c mov r12, r15 ; 0000a61e <.L10>: a61e: 09 4c mov r12, r9 ; a620: 09 8e sub r14, r9 ; a622: 5e 43 mov.b #1, r14 ;r3 As==01 a624: 0c 99 cmp r9, r12 ; a626: 01 28 jnc $+4 ;abs 0xa62a a628: 4e 43 clr.b r14 ; 0000a62a <.L11>: a62a: 0f de bis r14, r15 ; a62c: 0c 4b mov r11, r12 ; a62e: 0c 84 sub r4, r12 ; a630: 5e 43 mov.b #1, r14 ;r3 As==01 a632: 0b 94 cmp r4, r11 ; a634: 01 20 jnz $+4 ;abs 0xa638 a636: 0e 4c mov r12, r14 ; 0000a638 <.L12>: a638: 0a 4c mov r12, r10 ; a63a: 0a 8f sub r15, r10 ; a63c: 5f 43 mov.b #1, r15 ;r3 As==01 a63e: 0c 9a cmp r10, r12 ; a640: 01 28 jnc $+4 ;abs 0xa644 a642: 4f 43 clr.b r15 ; 0000a644 <.L13>: a644: 0e df bis r15, r14 ; a646: 1b 81 08 00 sub 8(r1), r11 ; a64a: 0b 8e sub r14, r11 ; a64c: 18 d1 02 00 bis 2(r1), r8 ; a650: 09 dd bis r13, r9 ; a652: 0a d4 bis r4, r10 ; a654: 1b d1 08 00 bis 8(r1), r11 ; a658: 7c 40 3f 00 mov.b #63, r12 ;#0x003f a65c: b0 12 12 b6 call #-18926 ;#0xb612 a660: 1c d1 12 00 bis 18(r1), r12 ;0x00012 a664: 81 4c 02 00 mov r12, 2(r1) ; a668: 1d d1 14 00 bis 20(r1), r13 ;0x00014 a66c: 81 4d 0e 00 mov r13, 14(r1) ; 0x000e a670: 1e d1 16 00 bis 22(r1), r14 ;0x00016 a674: 81 4e 10 00 mov r14, 16(r1) ; 0x0010 a678: 1f d1 18 00 bis 24(r1), r15 ;0x00018 a67c: 81 4f 08 00 mov r15, 8(r1) ; 0000a680 <.L8>: a680: 1c 46 02 00 mov 2(r6), r12 ; 0000a684 <.Loc.672.1>: a684: 2d 41 mov @r1, r13 ; a686: 1c 9d 02 00 cmp 2(r13), r12 ; a68a: 3b 25 jz $+632 ;abs 0xa902 0000a68c <.Loc.674.1>: a68c: 0c 93 cmp #0, r12 ;r3 As==00 a68e: b1 24 jz $+356 ;abs 0xa7f2 0000a690 <.Loc.676.1>: a690: 1e 41 02 00 mov 2(r1), r14 ; a694: 0e 85 sub r5, r14 ; a696: 5a 43 mov.b #1, r10 ;r3 As==01 a698: 81 9e 02 00 cmp r14, 2(r1) ; a69c: 01 28 jnc $+4 ;abs 0xa6a0 a69e: 4a 43 clr.b r10 ; 0000a6a0 <.L21>: a6a0: 1c 41 0e 00 mov 14(r1), r12 ;0x0000e a6a4: 1c 81 04 00 sub 4(r1), r12 ; a6a8: 5f 43 mov.b #1, r15 ;r3 As==01 a6aa: 81 9c 0e 00 cmp r12, 14(r1) ; 0x000e a6ae: 01 28 jnc $+4 ;abs 0xa6b2 a6b0: 4f 43 clr.b r15 ; 0000a6b2 <.L22>: a6b2: 0d 4c mov r12, r13 ; a6b4: 0d 8a sub r10, r13 ; a6b6: 5a 43 mov.b #1, r10 ;r3 As==01 a6b8: 0c 9d cmp r13, r12 ; a6ba: 01 28 jnc $+4 ;abs 0xa6be a6bc: 4a 43 clr.b r10 ; 0000a6be <.L23>: a6be: 0f da bis r10, r15 ; a6c0: 19 41 10 00 mov 16(r1), r9 ;0x00010 a6c4: 19 81 0c 00 sub 12(r1), r9 ;0x0000c a6c8: 5a 43 mov.b #1, r10 ;r3 As==01 a6ca: 81 99 10 00 cmp r9, 16(r1) ; 0x0010 a6ce: 01 28 jnc $+4 ;abs 0xa6d2 a6d0: 4a 43 clr.b r10 ; 0000a6d2 <.L24>: a6d2: 0c 49 mov r9, r12 ; a6d4: 0c 8f sub r15, r12 ; a6d6: 5f 43 mov.b #1, r15 ;r3 As==01 a6d8: 09 9c cmp r12, r9 ; a6da: 01 28 jnc $+4 ;abs 0xa6de a6dc: 4f 43 clr.b r15 ; 0000a6de <.L25>: a6de: 0a df bis r15, r10 ; a6e0: 1b 41 08 00 mov 8(r1), r11 ; a6e4: 1b 81 06 00 sub 6(r1), r11 ; 0000a6e8 <.L69>: a6e8: 0b 8a sub r10, r11 ; 0000a6ea <.LVL41>: a6ea: 0b 93 cmp #0, r11 ;r3 As==00 a6ec: ae 38 jl $+350 ;abs 0xa84a 0000a6ee <.Loc.684.1>: a6ee: 87 43 02 00 mov #0, 2(r7) ;r3 As==00 0000a6f2 <.Loc.685.1>: a6f2: 97 41 0a 00 mov 10(r1), 4(r7) ;0x0000a a6f6: 04 00 0000a6f8 <.Loc.686.1>: a6f8: 87 4e 06 00 mov r14, 6(r7) ; a6fc: 87 4d 08 00 mov r13, 8(r7) ; a700: 87 4c 0a 00 mov r12, 10(r7) ; 0x000a a704: 87 4b 0c 00 mov r11, 12(r7) ; 0x000c 0000a708 <.L34>: a708: 5e 43 mov.b #1, r14 ;r3 As==01 a70a: 4f 43 clr.b r15 ; 0000a70c <.L40>: a70c: 1b 47 06 00 mov 6(r7), r11 ; a710: 1a 47 08 00 mov 8(r7), r10 ; a714: 19 47 0a 00 mov 10(r7), r9 ;0x0000a a718: 18 47 0c 00 mov 12(r7), r8 ;0x0000c 0000a71c <.Loc.696.1>: a71c: 05 4b mov r11, r5 ; a71e: 35 53 add #-1, r5 ;r3 As==11 a720: 81 45 00 00 mov r5, 0(r1) ; a724: 06 4e mov r14, r6 ; a726: 0b 93 cmp #0, r11 ;r3 As==00 a728: 01 20 jnz $+4 ;abs 0xa72c a72a: 06 4f mov r15, r6 ; 0000a72c <.L47>: a72c: 05 4a mov r10, r5 ; a72e: 35 53 add #-1, r5 ;r3 As==11 a730: 5c 43 mov.b #1, r12 ;r3 As==01 a732: 0a 93 cmp #0, r10 ;r3 As==00 a734: 01 20 jnz $+4 ;abs 0xa738 a736: 4c 43 clr.b r12 ; 0000a738 <.L48>: a738: 06 55 add r5, r6 ; a73a: 0d 4e mov r14, r13 ; a73c: 06 95 cmp r5, r6 ; a73e: 01 28 jnc $+4 ;abs 0xa742 a740: 0d 4f mov r15, r13 ; 0000a742 <.L49>: a742: 0c dd bis r13, r12 ; a744: 04 49 mov r9, r4 ; a746: 34 53 add #-1, r4 ;r3 As==11 a748: 5d 43 mov.b #1, r13 ;r3 As==01 a74a: 09 93 cmp #0, r9 ;r3 As==00 a74c: 01 20 jnz $+4 ;abs 0xa750 a74e: 4d 43 clr.b r13 ; 0000a750 <.L50>: a750: 0c 54 add r4, r12 ; a752: 05 4e mov r14, r5 ; a754: 0c 94 cmp r4, r12 ; a756: 01 28 jnc $+4 ;abs 0xa75a a758: 05 4f mov r15, r5 ; 0000a75a <.L51>: a75a: 0d d5 bis r5, r13 ; a75c: 05 48 mov r8, r5 ; a75e: 35 53 add #-1, r5 ;r3 As==11 a760: 0d 55 add r5, r13 ; 0000a762 <.Loc.696.1>: a762: 35 40 ff 0f mov #4095, r5 ;#0x0fff a766: 05 9d cmp r13, r5 ; a768: 0a 28 jnc $+22 ;abs 0xa77e a76a: 0d 95 cmp r5, r13 ; a76c: 9f 20 jnz $+320 ;abs 0xa8ac a76e: 3c 93 cmp #-1, r12 ;r3 As==11 a770: 9d 20 jnz $+316 ;abs 0xa8ac a772: 36 93 cmp #-1, r6 ;r3 As==11 a774: 9b 20 jnz $+312 ;abs 0xa8ac a776: 3c 40 fe ff mov #-2, r12 ;#0xfffe a77a: 2c 91 cmp @r1, r12 ; a77c: 97 2c jc $+304 ;abs 0xa8ac 0000a77e <.L53>: a77e: b7 40 03 00 mov #3, 0(r7) ; a782: 00 00 0000a784 <.Loc.712.1>: a784: 18 47 06 00 mov 6(r7), r8 ; a788: 19 47 08 00 mov 8(r7), r9 ; a78c: 1a 47 0a 00 mov 10(r7), r10 ;0x0000a a790: 1b 47 0c 00 mov 12(r7), r11 ;0x0000c 0000a794 <.Loc.712.1>: a794: 3c 40 ff 1f mov #8191, r12 ;#0x1fff a798: 0c 9b cmp r11, r12 ; a79a: 63 2e jc $-824 ;abs 0xa462 0000a79c <.Loc.714.1>: a79c: 5c 43 mov.b #1, r12 ;r3 As==01 a79e: b0 12 12 b6 call #-18926 ;#0xb612 a7a2: 58 f3 and.b #1, r8 ;r3 As==01 a7a4: 0c d8 bis r8, r12 ; a7a6: 87 4c 06 00 mov r12, 6(r7) ; a7aa: 87 4d 08 00 mov r13, 8(r7) ; a7ae: 87 4e 0a 00 mov r14, 10(r7) ; 0x000a a7b2: 87 4f 0c 00 mov r15, 12(r7) ; 0x000c 0000a7b6 <.Loc.714.1>: a7b6: 97 53 04 00 inc 4(r7) ; a7ba: 53 3e jmp $-856 ;abs 0xa462 0000a7bc <.L7>: a7bc: 91 91 0a 00 cmp 10(r1), 18(r1) ;0x0000a, 0x0012 a7c0: 12 00 a7c2: 0b 38 jl $+24 ;abs 0xa7da a7c4: 91 41 12 00 mov 18(r1), 10(r1) ;0x00012, 0x000a a7c8: 0a 00 0000a7ca <.Loc.667.1>: a7ca: 45 43 clr.b r5 ; 0000a7cc <.LVL46>: a7cc: 81 45 04 00 mov r5, 4(r1) ; a7d0: 81 45 0c 00 mov r5, 12(r1) ; 0x000c a7d4: 81 45 06 00 mov r5, 6(r1) ; a7d8: 53 3f jmp $-344 ;abs 0xa680 0000a7da <.L63>: a7da: 81 43 02 00 mov #0, 2(r1) ;r3 As==00 0000a7de <.LVL48>: a7de: 91 41 02 00 mov 2(r1), 14(r1) ; 0x000e a7e2: 0e 00 a7e4: 91 41 02 00 mov 2(r1), 16(r1) ; 0x0010 a7e8: 10 00 a7ea: 91 41 02 00 mov 2(r1), 8(r1) ; a7ee: 08 00 a7f0: 47 3f jmp $-368 ;abs 0xa680 0000a7f2 <.L20>: a7f2: 0e 45 mov r5, r14 ; a7f4: 1e 81 02 00 sub 2(r1), r14 ; a7f8: 5a 43 mov.b #1, r10 ;r3 As==01 a7fa: 05 9e cmp r14, r5 ; a7fc: 01 28 jnc $+4 ;abs 0xa800 a7fe: 0a 4c mov r12, r10 ; 0000a800 <.L27>: a800: 1c 41 04 00 mov 4(r1), r12 ; a804: 1c 81 0e 00 sub 14(r1), r12 ;0x0000e a808: 5f 43 mov.b #1, r15 ;r3 As==01 a80a: 81 9c 04 00 cmp r12, 4(r1) ; a80e: 01 28 jnc $+4 ;abs 0xa812 a810: 4f 43 clr.b r15 ; 0000a812 <.L28>: a812: 0d 4c mov r12, r13 ; a814: 0d 8a sub r10, r13 ; a816: 5a 43 mov.b #1, r10 ;r3 As==01 a818: 0c 9d cmp r13, r12 ; a81a: 01 28 jnc $+4 ;abs 0xa81e a81c: 4a 43 clr.b r10 ; 0000a81e <.L29>: a81e: 0f da bis r10, r15 ; a820: 19 41 0c 00 mov 12(r1), r9 ;0x0000c a824: 19 81 10 00 sub 16(r1), r9 ;0x00010 a828: 5a 43 mov.b #1, r10 ;r3 As==01 a82a: 81 99 0c 00 cmp r9, 12(r1) ; 0x000c a82e: 01 28 jnc $+4 ;abs 0xa832 a830: 4a 43 clr.b r10 ; 0000a832 <.L30>: a832: 0c 49 mov r9, r12 ; a834: 0c 8f sub r15, r12 ; a836: 5f 43 mov.b #1, r15 ;r3 As==01 a838: 09 9c cmp r12, r9 ; a83a: 01 28 jnc $+4 ;abs 0xa83e a83c: 4f 43 clr.b r15 ; 0000a83e <.L31>: a83e: 0a df bis r15, r10 ; a840: 1b 41 06 00 mov 6(r1), r11 ; a844: 1b 81 08 00 sub 8(r1), r11 ; a848: 4f 3f jmp $-352 ;abs 0xa6e8 0000a84a <.L32>: a84a: 97 43 02 00 mov #1, 2(r7) ;r3 As==01 0000a84e <.Loc.691.1>: a84e: 97 41 0a 00 mov 10(r1), 4(r7) ;0x0000a a852: 04 00 0000a854 <.Loc.692.1>: a854: 4f 43 clr.b r15 ; a856: 09 4f mov r15, r9 ; a858: 09 8e sub r14, r9 ; a85a: 56 43 mov.b #1, r6 ;r3 As==01 0000a85c <.LVL51>: a85c: 0f 9e cmp r14, r15 ; a85e: 01 20 jnz $+4 ;abs 0xa862 a860: 06 49 mov r9, r6 ; 0000a862 <.L35>: a862: 0a 4f mov r15, r10 ; a864: 0a 8d sub r13, r10 ; a866: 5e 43 mov.b #1, r14 ;r3 As==01 0000a868 <.LVL52>: a868: 0f 9d cmp r13, r15 ; a86a: 01 20 jnz $+4 ;abs 0xa86e a86c: 0e 4a mov r10, r14 ; 0000a86e <.L36>: a86e: 08 4a mov r10, r8 ; a870: 08 86 sub r6, r8 ; a872: 5d 43 mov.b #1, r13 ;r3 As==01 a874: 0a 98 cmp r8, r10 ; a876: 01 28 jnc $+4 ;abs 0xa87a a878: 4d 43 clr.b r13 ; 0000a87a <.L37>: a87a: 0e dd bis r13, r14 ; a87c: 0a 4f mov r15, r10 ; a87e: 0a 8c sub r12, r10 ; a880: 5d 43 mov.b #1, r13 ;r3 As==01 a882: 0f 9c cmp r12, r15 ; a884: 01 20 jnz $+4 ;abs 0xa888 a886: 0d 4a mov r10, r13 ; 0000a888 <.L38>: a888: 0c 4a mov r10, r12 ; a88a: 0c 8e sub r14, r12 ; a88c: 5e 43 mov.b #1, r14 ;r3 As==01 a88e: 0a 9c cmp r12, r10 ; a890: 01 28 jnc $+4 ;abs 0xa894 a892: 4e 43 clr.b r14 ; 0000a894 <.L39>: a894: 0d de bis r14, r13 ; a896: 0f 8b sub r11, r15 ; 0000a898 <.Loc.692.1>: a898: 87 49 06 00 mov r9, 6(r7) ; a89c: 87 48 08 00 mov r8, 8(r7) ; a8a0: 87 4c 0a 00 mov r12, 10(r7) ; 0x000a a8a4: 0f 8d sub r13, r15 ; a8a6: 87 4f 0c 00 mov r15, 12(r7) ; 0x000c a8aa: 2e 3f jmp $-418 ;abs 0xa708 0000a8ac <.L46>: a8ac: 06 4b mov r11, r6 ; a8ae: 06 5b add r11, r6 ; a8b0: 0d 4e mov r14, r13 ; a8b2: 06 9b cmp r11, r6 ; a8b4: 01 28 jnc $+4 ;abs 0xa8b8 a8b6: 0d 4f mov r15, r13 ; 0000a8b8 <.L41>: a8b8: 05 4a mov r10, r5 ; a8ba: 05 5a add r10, r5 ; a8bc: 5c 43 mov.b #1, r12 ;r3 As==01 a8be: 05 9a cmp r10, r5 ; a8c0: 01 28 jnc $+4 ;abs 0xa8c4 a8c2: 4c 43 clr.b r12 ; 0000a8c4 <.L42>: a8c4: 0d 55 add r5, r13 ; a8c6: 0a 4e mov r14, r10 ; a8c8: 0d 95 cmp r5, r13 ; a8ca: 01 28 jnc $+4 ;abs 0xa8ce a8cc: 0a 4f mov r15, r10 ; 0000a8ce <.L43>: a8ce: 0c da bis r10, r12 ; a8d0: 05 49 mov r9, r5 ; a8d2: 05 59 add r9, r5 ; a8d4: 5a 43 mov.b #1, r10 ;r3 As==01 a8d6: 05 99 cmp r9, r5 ; a8d8: 01 28 jnc $+4 ;abs 0xa8dc a8da: 4a 43 clr.b r10 ; 0000a8dc <.L44>: a8dc: 0c 55 add r5, r12 ; a8de: 09 4e mov r14, r9 ; a8e0: 0c 95 cmp r5, r12 ; a8e2: 01 28 jnc $+4 ;abs 0xa8e6 a8e4: 09 4f mov r15, r9 ; 0000a8e6 <.L45>: a8e6: 0a d9 bis r9, r10 ; a8e8: 08 58 rla r8 ; a8ea: 87 46 06 00 mov r6, 6(r7) ; a8ee: 87 4d 08 00 mov r13, 8(r7) ; a8f2: 87 4c 0a 00 mov r12, 10(r7) ; 0x000a a8f6: 0a 58 add r8, r10 ; a8f8: 87 4a 0c 00 mov r10, 12(r7) ; 0x000c 0000a8fc <.Loc.699.1>: a8fc: b7 53 04 00 add #-1, 4(r7) ;r3 As==11 a900: 05 3f jmp $-500 ;abs 0xa70c 0000a902 <.L19>: a902: 87 4c 02 00 mov r12, 2(r7) ; 0000a906 <.Loc.705.1>: a906: 97 41 0a 00 mov 10(r1), 4(r7) ;0x0000a a90a: 04 00 0000a90c <.Loc.706.1>: a90c: 1c 41 02 00 mov 2(r1), r12 ; a910: 0c 55 add r5, r12 ; a912: 5a 43 mov.b #1, r10 ;r3 As==01 a914: 0c 95 cmp r5, r12 ; a916: 01 28 jnc $+4 ;abs 0xa91a a918: 4a 43 clr.b r10 ; 0000a91a <.L54>: a91a: 1d 41 04 00 mov 4(r1), r13 ; a91e: 1d 51 0e 00 add 14(r1), r13 ;0x0000e a922: 5e 43 mov.b #1, r14 ;r3 As==01 a924: 1d 91 04 00 cmp 4(r1), r13 ; a928: 01 28 jnc $+4 ;abs 0xa92c a92a: 4e 43 clr.b r14 ; 0000a92c <.L55>: a92c: 0a 5d add r13, r10 ; a92e: 5f 43 mov.b #1, r15 ;r3 As==01 a930: 0a 9d cmp r13, r10 ; a932: 01 28 jnc $+4 ;abs 0xa936 a934: 4f 43 clr.b r15 ; 0000a936 <.L56>: a936: 0e df bis r15, r14 ; a938: 15 41 0c 00 mov 12(r1), r5 ;0x0000c 0000a93c <.LVL55>: a93c: 15 51 10 00 add 16(r1), r5 ;0x00010 a940: 04 45 mov r5, r4 ; a942: 5d 43 mov.b #1, r13 ;r3 As==01 a944: 15 91 0c 00 cmp 12(r1), r5 ;0x0000c a948: 01 28 jnc $+4 ;abs 0xa94c a94a: 4d 43 clr.b r13 ; 0000a94c <.L57>: a94c: 0e 54 add r4, r14 ; a94e: 5f 43 mov.b #1, r15 ;r3 As==01 a950: 0e 94 cmp r4, r14 ; a952: 01 28 jnc $+4 ;abs 0xa956 a954: 4f 43 clr.b r15 ; 0000a956 <.L58>: a956: 0d df bis r15, r13 ; a958: 1f 41 06 00 mov 6(r1), r15 ; a95c: 1f 51 08 00 add 8(r1), r15 ; 0000a960 <.Loc.706.1>: a960: 87 4c 06 00 mov r12, 6(r7) ; a964: 87 4a 08 00 mov r10, 8(r7) ; a968: 87 4e 0a 00 mov r14, 10(r7) ; 0x000a a96c: 0d 5f add r15, r13 ; a96e: 87 4d 0c 00 mov r13, 12(r7) ; 0x000c a972: 05 3f jmp $-500 ;abs 0xa77e 0000a974 <.L62>: a974: 26 41 mov @r1, r6 ; 0000a976 : a976: 30 40 2e a4 br #0xa42e ; 0000a97a <__mspabi_addd>: a97a: 0a 12 push r10 ; 0000a97c <.LCFI10>: a97c: 09 12 push r9 ; 0000a97e <.LCFI11>: a97e: 08 12 push r8 ; 0000a980 <.LCFI12>: a980: 31 80 3a 00 sub #58, r1 ;#0x003a 0000a984 <.LCFI13>: a984: 81 48 00 00 mov r8, 0(r1) ; a988: 81 49 02 00 mov r9, 2(r1) ; a98c: 81 4a 04 00 mov r10, 4(r1) ; a990: 81 4b 06 00 mov r11, 6(r1) ; 0000a994 <.Loc.730.1>: a994: 81 4c 08 00 mov r12, 8(r1) ; a998: 81 4d 0a 00 mov r13, 10(r1) ; 0x000a a99c: 81 4e 0c 00 mov r14, 12(r1) ; 0x000c a9a0: 81 4f 0e 00 mov r15, 14(r1) ; 0x000e 0000a9a4 <.Loc.732.1>: a9a4: 3a 40 da ba mov #-17702,r10 ;#0xbada a9a8: 0d 41 mov r1, r13 ; a9aa: 3d 50 10 00 add #16, r13 ;#0x0010 a9ae: 0c 41 mov r1, r12 ; 0000a9b0 <.LVL59>: a9b0: 8a 12 call r10 ; 0000a9b2 <.LVL60>: a9b2: 0d 41 mov r1, r13 ; a9b4: 3d 50 1e 00 add #30, r13 ;#0x001e a9b8: 0c 41 mov r1, r12 ; a9ba: 3c 52 add #8, r12 ;r2 As==11 a9bc: 8a 12 call r10 ; 0000a9be <.LVL61>: a9be: 0e 41 mov r1, r14 ; a9c0: 3e 50 2c 00 add #44, r14 ;#0x002c a9c4: 0d 41 mov r1, r13 ; a9c6: 3d 50 1e 00 add #30, r13 ;#0x001e a9ca: 0c 41 mov r1, r12 ; a9cc: 3c 50 10 00 add #16, r12 ;#0x0010 a9d0: b0 12 ea a3 call #-23574 ;#0xa3ea 0000a9d4 <.LVL62>: a9d4: b0 12 3c b8 call #-18372 ;#0xb83c 0000a9d8 <.LVL63>: a9d8: 31 50 3a 00 add #58, r1 ;#0x003a 0000a9dc <.LCFI14>: a9dc: 30 40 bc b5 br #0xb5bc ; 0000a9e0 <__mspabi_subd>: a9e0: 0a 12 push r10 ; 0000a9e2 <.LCFI16>: a9e2: 09 12 push r9 ; 0000a9e4 <.LCFI17>: a9e4: 08 12 push r8 ; 0000a9e6 <.LCFI18>: a9e6: 31 80 3a 00 sub #58, r1 ;#0x003a 0000a9ea <.LCFI19>: a9ea: 81 48 00 00 mov r8, 0(r1) ; a9ee: 81 49 02 00 mov r9, 2(r1) ; a9f2: 81 4a 04 00 mov r10, 4(r1) ; a9f6: 81 4b 06 00 mov r11, 6(r1) ; 0000a9fa <.Loc.750.1>: a9fa: 81 4c 08 00 mov r12, 8(r1) ; a9fe: 81 4d 0a 00 mov r13, 10(r1) ; 0x000a aa02: 81 4e 0c 00 mov r14, 12(r1) ; 0x000c aa06: 81 4f 0e 00 mov r15, 14(r1) ; 0x000e 0000aa0a <.Loc.752.1>: aa0a: 3a 40 da ba mov #-17702,r10 ;#0xbada aa0e: 0d 41 mov r1, r13 ; aa10: 3d 50 10 00 add #16, r13 ;#0x0010 aa14: 0c 41 mov r1, r12 ; 0000aa16 <.LVL65>: aa16: 8a 12 call r10 ; 0000aa18 <.LVL66>: aa18: 0d 41 mov r1, r13 ; aa1a: 3d 50 1e 00 add #30, r13 ;#0x001e aa1e: 0c 41 mov r1, r12 ; aa20: 3c 52 add #8, r12 ;r2 As==11 aa22: 8a 12 call r10 ; 0000aa24 <.LVL67>: aa24: 91 e3 20 00 xor #1, 32(r1) ;r3 As==01, 0x0020 0000aa28 <.Loc.757.1>: aa28: 0e 41 mov r1, r14 ; aa2a: 3e 50 2c 00 add #44, r14 ;#0x002c aa2e: 0d 41 mov r1, r13 ; aa30: 3d 50 1e 00 add #30, r13 ;#0x001e aa34: 0c 41 mov r1, r12 ; aa36: 3c 50 10 00 add #16, r12 ;#0x0010 aa3a: b0 12 ea a3 call #-23574 ;#0xa3ea 0000aa3e <.LVL68>: aa3e: b0 12 3c b8 call #-18372 ;#0xb83c 0000aa42 <.LVL69>: aa42: 31 50 3a 00 add #58, r1 ;#0x003a 0000aa46 <.LCFI20>: aa46: 30 40 bc b5 br #0xb5bc ; 0000aa4a <__mspabi_mpyd>: aa4a: 0a 12 push r10 ; 0000aa4c <.LCFI0>: aa4c: 09 12 push r9 ; 0000aa4e <.LCFI1>: aa4e: 08 12 push r8 ; 0000aa50 <.LCFI2>: aa50: 07 12 push r7 ; 0000aa52 <.LCFI3>: aa52: 06 12 push r6 ; 0000aa54 <.LCFI4>: aa54: 05 12 push r5 ; 0000aa56 <.LCFI5>: aa56: 04 12 push r4 ; 0000aa58 <.LCFI6>: aa58: 31 80 64 00 sub #100, r1 ;#0x0064 0000aa5c <.LCFI7>: aa5c: 81 48 2a 00 mov r8, 42(r1) ; 0x002a aa60: 81 49 2c 00 mov r9, 44(r1) ; 0x002c aa64: 81 4a 2e 00 mov r10, 46(r1) ; 0x002e aa68: 81 4b 30 00 mov r11, 48(r1) ; 0x0030 0000aa6c <.Loc.936.1>: aa6c: 81 4c 32 00 mov r12, 50(r1) ; 0x0032 aa70: 81 4d 34 00 mov r13, 52(r1) ; 0x0034 aa74: 81 4e 36 00 mov r14, 54(r1) ; 0x0036 aa78: 81 4f 38 00 mov r15, 56(r1) ; 0x0038 0000aa7c <.Loc.938.1>: aa7c: 3a 40 da ba mov #-17702,r10 ;#0xbada aa80: 0d 41 mov r1, r13 ; aa82: 3d 50 3a 00 add #58, r13 ;#0x003a aa86: 0c 41 mov r1, r12 ; 0000aa88 <.LVL1>: aa88: 3c 50 2a 00 add #42, r12 ;#0x002a aa8c: 8a 12 call r10 ; 0000aa8e <.LVL2>: aa8e: 0d 41 mov r1, r13 ; aa90: 3d 50 48 00 add #72, r13 ;#0x0048 aa94: 0c 41 mov r1, r12 ; aa96: 3c 50 32 00 add #50, r12 ;#0x0032 aa9a: 8a 12 call r10 ; 0000aa9c <.LBB30>: aa9c: 19 41 3a 00 mov 58(r1), r9 ;0x0003a 0000aaa0 <.LBB45>: aaa0: 5c 43 mov.b #1, r12 ;r3 As==01 aaa2: 0c 99 cmp r9, r12 ; aaa4: 16 28 jnc $+46 ;abs 0xaad2 0000aaa6 <.L6>: aaa6: 1c 41 3c 00 mov 60(r1), r12 ;0x0003c aaaa: 1c e1 4a 00 xor 74(r1), r12 ;0x0004a aaae: 0d 43 clr r13 ; aab0: 0d 8c sub r12, r13 ; aab2: 0c dd bis r13, r12 ; aab4: 7d 40 0f 00 mov.b #15, r13 ;#0x000f aab8: b0 12 fe b5 call #-18946 ;#0xb5fe 0000aabc <.L93>: aabc: 81 4c 3c 00 mov r12, 60(r1) ; 0x003c 0000aac0 <.Loc.801.1>: aac0: 0c 41 mov r1, r12 ; aac2: 3c 50 3a 00 add #58, r12 ;#0x003a 0000aac6 <.L3>: aac6: b0 12 3c b8 call #-18372 ;#0xb83c 0000aaca <.LVL8>: aaca: 31 50 64 00 add #100, r1 ;#0x0064 0000aace <.LCFI8>: aace: 30 40 b4 b5 br #0xb5b4 ; 0000aad2 <.L2>: aad2: 1a 41 48 00 mov 72(r1), r10 ;0x00048 0000aad6 <.LBB47>: aad6: 5d 43 mov.b #1, r13 ;r3 As==01 aad8: 0d 9a cmp r10, r13 ; aada: 11 28 jnc $+36 ;abs 0xaafe 0000aadc <.L8>: aadc: 1c 41 3c 00 mov 60(r1), r12 ;0x0003c aae0: 1c e1 4a 00 xor 74(r1), r12 ;0x0004a aae4: 0d 43 clr r13 ; aae6: 0d 8c sub r12, r13 ; aae8: 0c dd bis r13, r12 ; aaea: 7d 40 0f 00 mov.b #15, r13 ;#0x000f aaee: b0 12 fe b5 call #-18946 ;#0xb5fe 0000aaf2 <.Loc.779.1>: aaf2: 81 4c 4a 00 mov r12, 74(r1) ; 0x004a 0000aaf6 <.L94>: aaf6: 0c 41 mov r1, r12 ; aaf8: 3c 50 48 00 add #72, r12 ;#0x0048 aafc: e4 3f jmp $-54 ;abs 0xaac6 0000aafe <.L4>: aafe: 29 92 cmp #4, r9 ;r2 As==10 ab00: 05 20 jnz $+12 ;abs 0xab0c 0000ab02 <.LBB49>: ab02: 2a 93 cmp #2, r10 ;r3 As==10 ab04: d0 23 jnz $-94 ;abs 0xaaa6 0000ab06 <.L73>: ab06: 3c 40 f8 80 mov #-32520,r12 ;#0x80f8 ab0a: dd 3f jmp $-68 ;abs 0xaac6 0000ab0c <.L5>: ab0c: 2a 92 cmp #4, r10 ;r2 As==10 ab0e: 03 20 jnz $+8 ;abs 0xab16 0000ab10 <.LBB51>: ab10: 29 93 cmp #2, r9 ;r3 As==10 ab12: f9 27 jz $-12 ;abs 0xab06 ab14: e3 3f jmp $-56 ;abs 0xaadc 0000ab16 <.L7>: ab16: 1c 41 4a 00 mov 74(r1), r12 ;0x0004a ab1a: 1c e1 3c 00 xor 60(r1), r12 ;0x0003c ab1e: 0d 43 clr r13 ; ab20: 0d 8c sub r12, r13 ; ab22: 0c dd bis r13, r12 ; ab24: 7d 40 0f 00 mov.b #15, r13 ;#0x000f ab28: b0 12 fe b5 call #-18946 ;#0xb5fe ab2c: 81 4c 1e 00 mov r12, 30(r1) ; 0x001e 0000ab30 <.LBB52>: ab30: 29 93 cmp #2, r9 ;r3 As==10 ab32: c4 27 jz $-118 ;abs 0xaabc 0000ab34 <.LBB53>: ab34: 2a 93 cmp #2, r10 ;r3 As==10 ab36: 04 20 jnz $+10 ;abs 0xab40 0000ab38 <.Loc.805.1>: ab38: 91 41 1e 00 mov 30(r1), 74(r1) ;0x0001e, 0x004a ab3c: 4a 00 ab3e: db 3f jmp $-72 ;abs 0xaaf6 0000ab40 <.L10>: ab40: 91 41 40 00 mov 64(r1), 32(r1) ;0x00040, 0x0020 ab44: 20 00 ab46: 91 41 42 00 mov 66(r1), 36(r1) ;0x00042, 0x0024 ab4a: 24 00 ab4c: 91 41 44 00 mov 68(r1), 38(r1) ;0x00044, 0x0026 ab50: 26 00 ab52: 91 41 46 00 mov 70(r1), 40(r1) ;0x00046, 0x0028 ab56: 28 00 0000ab58 <.LVL20>: ab58: 91 41 4e 00 mov 78(r1), 20(r1) ;0x0004e, 0x0014 ab5c: 14 00 ab5e: 91 41 50 00 mov 80(r1), 14(r1) ;0x00050, 0x000e ab62: 0e 00 ab64: 91 41 52 00 mov 82(r1), 16(r1) ;0x00052, 0x0010 ab68: 10 00 ab6a: 91 41 54 00 mov 84(r1), 18(r1) ;0x00054, 0x0012 ab6e: 12 00 0000ab70 <.LVL21>: ab70: b1 40 40 00 mov #64, 26(r1) ;#0x0040, 0x001a ab74: 1a 00 0000ab76 <.LBE32>: ab76: 47 43 clr.b r7 ; ab78: 06 47 mov r7, r6 ; ab7a: 81 47 00 00 mov r7, 0(r1) ; ab7e: 81 47 02 00 mov r7, 2(r1) ; 0000ab82 <.LBB34>: ab82: 81 47 0c 00 mov r7, 12(r1) ; 0x000c ab86: 81 47 16 00 mov r7, 22(r1) ; 0x0016 ab8a: 81 47 18 00 mov r7, 24(r1) ; 0x0018 ab8e: 81 47 1c 00 mov r7, 28(r1) ; 0x001c 0000ab92 <.LBE34>: ab92: 81 47 04 00 mov r7, 4(r1) ; ab96: 81 47 06 00 mov r7, 6(r1) ; ab9a: 81 47 08 00 mov r7, 8(r1) ; ab9e: 81 47 0a 00 mov r7, 10(r1) ; 0x000a 0000aba2 <.LBB33>: aba2: 55 43 mov.b #1, r5 ;r3 As==01 aba4: 04 47 mov r7, r4 ; 0000aba6 <.L42>: aba6: 91 b3 20 00 bit #1, 32(r1) ;r3 As==01, 0x0020 abaa: 8c 24 jz $+282 ;abs 0xacc4 0000abac <.Loc.826.1>: abac: 1c 41 04 00 mov 4(r1), r12 ; abb0: 1c 51 14 00 add 20(r1), r12 ;0x00014 abb4: 81 4c 22 00 mov r12, 34(r1) ; 0x0022 abb8: 0b 45 mov r5, r11 ; abba: 1c 91 04 00 cmp 4(r1), r12 ; abbe: 01 28 jnc $+4 ;abs 0xabc2 abc0: 0b 44 mov r4, r11 ; 0000abc2 <.L13>: abc2: 1d 41 06 00 mov 6(r1), r13 ; abc6: 1d 51 0e 00 add 14(r1), r13 ;0x0000e abca: 5c 43 mov.b #1, r12 ;r3 As==01 abcc: 1d 91 06 00 cmp 6(r1), r13 ; abd0: 01 28 jnc $+4 ;abs 0xabd4 abd2: 4c 43 clr.b r12 ; 0000abd4 <.L14>: abd4: 0b 5d add r13, r11 ; abd6: 0e 45 mov r5, r14 ; abd8: 0b 9d cmp r13, r11 ; abda: 01 28 jnc $+4 ;abs 0xabde abdc: 0e 44 mov r4, r14 ; 0000abde <.L15>: abde: 0c de bis r14, r12 ; abe0: 1d 41 08 00 mov 8(r1), r13 ; abe4: 1d 51 10 00 add 16(r1), r13 ;0x00010 abe8: 59 43 mov.b #1, r9 ;r3 As==01 abea: 1d 91 08 00 cmp 8(r1), r13 ; abee: 01 28 jnc $+4 ;abs 0xabf2 abf0: 49 43 clr.b r9 ; 0000abf2 <.L16>: abf2: 0c 5d add r13, r12 ; abf4: 0e 45 mov r5, r14 ; abf6: 0c 9d cmp r13, r12 ; abf8: 01 28 jnc $+4 ;abs 0xabfc abfa: 0e 44 mov r4, r14 ; 0000abfc <.L17>: abfc: 09 de bis r14, r9 ; abfe: 1f 41 0a 00 mov 10(r1), r15 ;0x0000a ac02: 1f 51 12 00 add 18(r1), r15 ;0x00012 ac06: 09 5f add r15, r9 ; ac08: 91 41 22 00 mov 34(r1), 4(r1) ;0x00022 ac0c: 04 00 0000ac0e <.LVL23>: ac0e: 81 4b 06 00 mov r11, 6(r1) ; ac12: 81 4c 08 00 mov r12, 8(r1) ; ac16: 81 49 0a 00 mov r9, 10(r1) ; 0x000a 0000ac1a <.LVL24>: ac1a: 17 51 0c 00 add 12(r1), r7 ;0x0000c 0000ac1e <.LVL25>: ac1e: 08 45 mov r5, r8 ; ac20: 17 91 0c 00 cmp 12(r1), r7 ;0x0000c ac24: 01 28 jnc $+4 ;abs 0xac28 ac26: 08 44 mov r4, r8 ; 0000ac28 <.L18>: ac28: 16 51 16 00 add 22(r1), r6 ;0x00016 ac2c: 5a 43 mov.b #1, r10 ;r3 As==01 ac2e: 16 91 16 00 cmp 22(r1), r6 ;0x00016 ac32: 01 28 jnc $+4 ;abs 0xac36 ac34: 4a 43 clr.b r10 ; 0000ac36 <.L19>: ac36: 08 56 add r6, r8 ; ac38: 0d 45 mov r5, r13 ; ac3a: 08 96 cmp r6, r8 ; ac3c: 01 28 jnc $+4 ;abs 0xac40 ac3e: 0d 44 mov r4, r13 ; 0000ac40 <.L20>: ac40: 0a dd bis r13, r10 ; ac42: 1e 41 18 00 mov 24(r1), r14 ;0x00018 ac46: 2e 51 add @r1, r14 ; ac48: 5d 43 mov.b #1, r13 ;r3 As==01 ac4a: 1e 91 18 00 cmp 24(r1), r14 ;0x00018 ac4e: 01 28 jnc $+4 ;abs 0xac52 ac50: 4d 43 clr.b r13 ; 0000ac52 <.L21>: ac52: 0a 5e add r14, r10 ; ac54: 0f 45 mov r5, r15 ; ac56: 0a 9e cmp r14, r10 ; ac58: 01 28 jnc $+4 ;abs 0xac5c ac5a: 0f 44 mov r4, r15 ; 0000ac5c <.L22>: ac5c: 0d df bis r15, r13 ; ac5e: 1f 41 1c 00 mov 28(r1), r15 ;0x0001c ac62: 1f 51 02 00 add 2(r1), r15 ; ac66: 0d 5f add r15, r13 ; 0000ac68 <.Loc.826.1>: ac68: 0e 45 mov r5, r14 ; ac6a: 19 91 12 00 cmp 18(r1), r9 ;0x00012 ac6e: 14 28 jnc $+42 ;abs 0xac98 ac70: 81 99 12 00 cmp r9, 18(r1) ; 0x0012 ac74: 10 20 jnz $+34 ;abs 0xac96 ac76: 1c 91 10 00 cmp 16(r1), r12 ;0x00010 ac7a: 0e 28 jnc $+30 ;abs 0xac98 ac7c: 81 9c 10 00 cmp r12, 16(r1) ; 0x0010 ac80: 0a 20 jnz $+22 ;abs 0xac96 ac82: 1b 91 0e 00 cmp 14(r1), r11 ;0x0000e ac86: 08 28 jnc $+18 ;abs 0xac98 ac88: 81 9b 0e 00 cmp r11, 14(r1) ; 0x000e ac8c: 04 20 jnz $+10 ;abs 0xac96 ac8e: 91 91 14 00 cmp 20(r1), 34(r1) ;0x00014, 0x0022 ac92: 22 00 ac94: 01 28 jnc $+4 ;abs 0xac98 0000ac96 <.L24>: ac96: 0e 44 mov r4, r14 ; 0000ac98 <.L23>: ac98: 07 5e add r14, r7 ; ac9a: 06 45 mov r5, r6 ; ac9c: 07 9e cmp r14, r7 ; ac9e: 01 28 jnc $+4 ;abs 0xaca2 aca0: 06 44 mov r4, r6 ; 0000aca2 <.L25>: aca2: 06 58 add r8, r6 ; aca4: 0e 45 mov r5, r14 ; aca6: 06 98 cmp r8, r6 ; aca8: 01 28 jnc $+4 ;abs 0xacac acaa: 0e 44 mov r4, r14 ; 0000acac <.L27>: acac: 4f 43 clr.b r15 ; acae: 0e 5a add r10, r14 ; acb0: 0c 45 mov r5, r12 ; 0000acb2 <.LVL26>: acb2: 0e 9a cmp r10, r14 ; acb4: 01 28 jnc $+4 ;abs 0xacb8 acb6: 0c 44 mov r4, r12 ; 0000acb8 <.L29>: acb8: 0f dc bis r12, r15 ; acba: 81 4e 00 00 mov r14, 0(r1) ; acbe: 0f 5d add r13, r15 ; acc0: 81 4f 02 00 mov r15, 2(r1) ; 0000acc4 <.L11>: acc4: 1a 41 0c 00 mov 12(r1), r10 ;0x0000c acc8: 0a 5a rla r10 ; acca: 0d 45 mov r5, r13 ; accc: 1a 91 0c 00 cmp 12(r1), r10 ;0x0000c acd0: 01 28 jnc $+4 ;abs 0xacd4 acd2: 0d 44 mov r4, r13 ; 0000acd4 <.L30>: acd4: 1e 41 16 00 mov 22(r1), r14 ;0x00016 acd8: 0e 5e rla r14 ; acda: 5c 43 mov.b #1, r12 ;r3 As==01 acdc: 1e 91 16 00 cmp 22(r1), r14 ;0x00016 ace0: 01 28 jnc $+4 ;abs 0xace4 ace2: 4c 43 clr.b r12 ; 0000ace4 <.L31>: ace4: 0d 5e add r14, r13 ; ace6: 0f 45 mov r5, r15 ; ace8: 0d 9e cmp r14, r13 ; acea: 01 28 jnc $+4 ;abs 0xacee acec: 0f 44 mov r4, r15 ; 0000acee <.L32>: acee: 0c df bis r15, r12 ; acf0: 1f 41 18 00 mov 24(r1), r15 ;0x00018 acf4: 0f 5f rla r15 ; acf6: 5e 43 mov.b #1, r14 ;r3 As==01 acf8: 1f 91 18 00 cmp 24(r1), r15 ;0x00018 acfc: 01 28 jnc $+4 ;abs 0xad00 acfe: 4e 43 clr.b r14 ; 0000ad00 <.L33>: ad00: 0c 5f add r15, r12 ; ad02: 09 45 mov r5, r9 ; ad04: 0c 9f cmp r15, r12 ; ad06: 01 28 jnc $+4 ;abs 0xad0a ad08: 09 44 mov r4, r9 ; 0000ad0a <.L34>: ad0a: 0e d9 bis r9, r14 ; ad0c: 1f 41 1c 00 mov 28(r1), r15 ;0x0001c ad10: 0f 5f rla r15 ; ad12: 81 4a 0c 00 mov r10, 12(r1) ; 0x000c 0000ad16 <.LVL28>: ad16: 81 4d 16 00 mov r13, 22(r1) ; 0x0016 ad1a: 81 4c 18 00 mov r12, 24(r1) ; 0x0018 ad1e: 0e 5f add r15, r14 ; ad20: 81 4e 1c 00 mov r14, 28(r1) ; 0x001c 0000ad24 <.LVL29>: ad24: 81 93 12 00 cmp #0, 18(r1) ;r3 As==00, 0x0012 ad28: 02 34 jge $+6 ;abs 0xad2e 0000ad2a <.LVL30>: ad2a: 91 d3 0c 00 bis #1, 12(r1) ;r3 As==01, 0x000c 0000ad2e <.L35>: ad2e: 1a 41 14 00 mov 20(r1), r10 ;0x00014 ad32: 0a 5a rla r10 ; ad34: 0d 45 mov r5, r13 ; 0000ad36 <.LVL32>: ad36: 1a 91 14 00 cmp 20(r1), r10 ;0x00014 ad3a: 01 28 jnc $+4 ;abs 0xad3e ad3c: 0d 44 mov r4, r13 ; 0000ad3e <.L37>: ad3e: 1e 41 0e 00 mov 14(r1), r14 ;0x0000e 0000ad42 <.LVL33>: ad42: 0e 5e rla r14 ; ad44: 5c 43 mov.b #1, r12 ;r3 As==01 0000ad46 <.LVL34>: ad46: 1e 91 0e 00 cmp 14(r1), r14 ;0x0000e ad4a: 01 28 jnc $+4 ;abs 0xad4e ad4c: 4c 43 clr.b r12 ; 0000ad4e <.L38>: ad4e: 0d 5e add r14, r13 ; ad50: 0f 45 mov r5, r15 ; ad52: 0d 9e cmp r14, r13 ; ad54: 01 28 jnc $+4 ;abs 0xad58 ad56: 0f 44 mov r4, r15 ; 0000ad58 <.L39>: ad58: 0c df bis r15, r12 ; ad5a: 1f 41 10 00 mov 16(r1), r15 ;0x00010 ad5e: 0f 5f rla r15 ; ad60: 5e 43 mov.b #1, r14 ;r3 As==01 ad62: 1f 91 10 00 cmp 16(r1), r15 ;0x00010 ad66: 01 28 jnc $+4 ;abs 0xad6a ad68: 4e 43 clr.b r14 ; 0000ad6a <.L40>: ad6a: 0c 5f add r15, r12 ; ad6c: 09 45 mov r5, r9 ; ad6e: 0c 9f cmp r15, r12 ; ad70: 01 28 jnc $+4 ;abs 0xad74 ad72: 09 44 mov r4, r9 ; 0000ad74 <.L41>: ad74: 0e d9 bis r9, r14 ; ad76: 1f 41 12 00 mov 18(r1), r15 ;0x00012 ad7a: 0f 5f rla r15 ; ad7c: 81 4a 14 00 mov r10, 20(r1) ; 0x0014 0000ad80 <.LVL35>: ad80: 81 4d 0e 00 mov r13, 14(r1) ; 0x000e ad84: 81 4c 10 00 mov r12, 16(r1) ; 0x0010 ad88: 0e 5f add r15, r14 ; ad8a: 81 4e 12 00 mov r14, 18(r1) ; 0x0012 0000ad8e <.LVL36>: ad8e: 18 41 20 00 mov 32(r1), r8 ;0x00020 ad92: 19 41 24 00 mov 36(r1), r9 ;0x00024 ad96: 1a 41 26 00 mov 38(r1), r10 ;0x00026 ad9a: 1b 41 28 00 mov 40(r1), r11 ;0x00028 ad9e: 0c 45 mov r5, r12 ; ada0: b0 12 12 b6 call #-18926 ;#0xb612 0000ada4 <.LVL37>: ada4: 81 4c 20 00 mov r12, 32(r1) ; 0x0020 0000ada8 <.LVL38>: ada8: 81 4d 24 00 mov r13, 36(r1) ; 0x0024 adac: 81 4e 26 00 mov r14, 38(r1) ; 0x0026 adb0: 81 4f 28 00 mov r15, 40(r1) ; 0x0028 0000adb4 <.LBE33>: adb4: b1 53 1a 00 add #-1, 26(r1) ;r3 As==11, 0x001a 0000adb8 <.LVL40>: adb8: 81 93 1a 00 cmp #0, 26(r1) ;r3 As==00, 0x001a adbc: f4 22 jnz $-534 ;abs 0xaba6 0000adbe <.LBE35>: adbe: 15 41 3e 00 mov 62(r1), r5 ;0x0003e adc2: 15 51 4c 00 add 76(r1), r5 ;0x0004c 0000adc6 <.Loc.876.1>: adc6: 25 52 add #4, r5 ;r2 As==10 0000adc8 <.Loc.875.1>: adc8: 81 45 5a 00 mov r5, 90(r1) ; 0x005a 0000adcc <.Loc.877.1>: adcc: 91 41 1e 00 mov 30(r1), 88(r1) ;0x0001e, 0x0058 add0: 58 00 0000add2 <.Loc.878.1>: add2: 1c 41 1a 00 mov 26(r1), r12 ;0x0001a 0000add6 <.LVL41>: add6: 54 43 mov.b #1, r4 ;r3 As==01 0000add8 <.L43>: add8: 3d 40 ff 1f mov #8191, r13 ;#0x1fff addc: 1d 91 02 00 cmp 2(r1), r13 ; ade0: 6d 28 jnc $+220 ;abs 0xaebc ade2: 0c 93 cmp #0, r12 ;r3 As==00 ade4: 02 24 jz $+6 ;abs 0xadea ade6: 81 45 5a 00 mov r5, 90(r1) ; 0x005a 0000adea <.L48>: adea: 1b 41 5a 00 mov 90(r1), r11 ;0x0005a 0000adee <.Loc.895.1>: adee: 4c 43 clr.b r12 ; 0000adf0 <.Loc.892.1>: adf0: 55 43 mov.b #1, r5 ;r3 As==01 adf2: 04 4c mov r12, r4 ; 0000adf4 <.L49>: adf4: 3d 40 ff 0f mov #4095, r13 ;#0x0fff adf8: 1d 91 02 00 cmp 2(r1), r13 ; adfc: 87 28 jnc $+272 ;abs 0xaf0c 0000adfe <.Loc.890.1>: adfe: 0a 47 mov r7, r10 ; ae00: 0a 57 add r7, r10 ; ae02: 0d 45 mov r5, r13 ; ae04: 0a 97 cmp r7, r10 ; ae06: 01 28 jnc $+4 ;abs 0xae0a ae08: 0d 44 mov r4, r13 ; 0000ae0a <.L50>: ae0a: 0c 46 mov r6, r12 ; ae0c: 0c 56 add r6, r12 ; ae0e: 5e 43 mov.b #1, r14 ;r3 As==01 ae10: 0c 96 cmp r6, r12 ; ae12: 01 28 jnc $+4 ;abs 0xae16 ae14: 4e 43 clr.b r14 ; 0000ae16 <.L51>: ae16: 06 4d mov r13, r6 ; 0000ae18 <.LVL44>: ae18: 06 5c add r12, r6 ; ae1a: 0d 45 mov r5, r13 ; ae1c: 06 9c cmp r12, r6 ; ae1e: 01 28 jnc $+4 ;abs 0xae22 ae20: 0d 44 mov r4, r13 ; 0000ae22 <.L52>: ae22: 0e dd bis r13, r14 ; ae24: 2d 41 mov @r1, r13 ; ae26: 0d 5d rla r13 ; ae28: 5c 43 mov.b #1, r12 ;r3 As==01 ae2a: 2d 91 cmp @r1, r13 ; ae2c: 01 28 jnc $+4 ;abs 0xae30 ae2e: 4c 43 clr.b r12 ; 0000ae30 <.L53>: ae30: 0e 5d add r13, r14 ; ae32: 0f 45 mov r5, r15 ; ae34: 0e 9d cmp r13, r14 ; ae36: 01 28 jnc $+4 ;abs 0xae3a ae38: 0f 44 mov r4, r15 ; 0000ae3a <.L54>: ae3a: 0c df bis r15, r12 ; ae3c: 1f 41 02 00 mov 2(r1), r15 ; ae40: 0f 5f rla r15 ; ae42: 07 4a mov r10, r7 ; ae44: 81 4e 00 00 mov r14, 0(r1) ; ae48: 0c 5f add r15, r12 ; ae4a: 81 4c 02 00 mov r12, 2(r1) ; 0000ae4e <.LVL45>: ae4e: 81 93 0a 00 cmp #0, 10(r1) ;r3 As==00, 0x000a ae52: 01 34 jge $+4 ;abs 0xae56 0000ae54 <.Loc.894.1>: ae54: 17 d3 bis #1, r7 ;r3 As==01 0000ae56 <.L55>: ae56: 1a 41 04 00 mov 4(r1), r10 ; ae5a: 0a 5a rla r10 ; ae5c: 0d 45 mov r5, r13 ; ae5e: 1a 91 04 00 cmp 4(r1), r10 ; ae62: 01 28 jnc $+4 ;abs 0xae66 ae64: 0d 44 mov r4, r13 ; 0000ae66 <.L57>: ae66: 1f 41 06 00 mov 6(r1), r15 ; ae6a: 0f 5f rla r15 ; ae6c: 5e 43 mov.b #1, r14 ;r3 As==01 0000ae6e <.LVL47>: ae6e: 1f 91 06 00 cmp 6(r1), r15 ; ae72: 01 28 jnc $+4 ;abs 0xae76 ae74: 4e 43 clr.b r14 ; 0000ae76 <.L58>: ae76: 0d 5f add r15, r13 ; ae78: 0c 45 mov r5, r12 ; 0000ae7a <.LVL48>: ae7a: 0d 9f cmp r15, r13 ; ae7c: 01 28 jnc $+4 ;abs 0xae80 ae7e: 0c 44 mov r4, r12 ; 0000ae80 <.L59>: ae80: 0e dc bis r12, r14 ; ae82: 1f 41 08 00 mov 8(r1), r15 ; ae86: 0f 5f rla r15 ; ae88: 5c 43 mov.b #1, r12 ;r3 As==01 ae8a: 1f 91 08 00 cmp 8(r1), r15 ; ae8e: 01 28 jnc $+4 ;abs 0xae92 ae90: 4c 43 clr.b r12 ; 0000ae92 <.L60>: ae92: 0e 5f add r15, r14 ; ae94: 09 45 mov r5, r9 ; ae96: 0e 9f cmp r15, r14 ; ae98: 01 28 jnc $+4 ;abs 0xae9c ae9a: 09 44 mov r4, r9 ; 0000ae9c <.L61>: ae9c: 0c d9 bis r9, r12 ; ae9e: 1f 41 0a 00 mov 10(r1), r15 ;0x0000a aea2: 0f 5f rla r15 ; aea4: 81 4a 04 00 mov r10, 4(r1) ; 0000aea8 <.LVL49>: aea8: 81 4d 06 00 mov r13, 6(r1) ; aeac: 81 4e 08 00 mov r14, 8(r1) ; aeb0: 0c 5f add r15, r12 ; aeb2: 81 4c 0a 00 mov r12, 10(r1) ; 0x000a aeb6: 3b 53 add #-1, r11 ;r3 As==11 aeb8: 0c 45 mov r5, r12 ; aeba: 9c 3f jmp $-198 ;abs 0xadf4 0000aebc <.L46>: aebc: 17 b3 bit #1, r7 ;r3 As==01 aebe: 15 24 jz $+44 ;abs 0xaeea 0000aec0 <.Loc.883.1>: aec0: 18 41 04 00 mov 4(r1), r8 ; aec4: 19 41 06 00 mov 6(r1), r9 ; aec8: 1a 41 08 00 mov 8(r1), r10 ; aecc: 1b 41 0a 00 mov 10(r1), r11 ;0x0000a aed0: 0c 44 mov r4, r12 ; aed2: b0 12 12 b6 call #-18926 ;#0xb612 0000aed6 <.LVL51>: aed6: 81 4c 04 00 mov r12, 4(r1) ; aeda: 81 4d 06 00 mov r13, 6(r1) ; aede: 81 4e 08 00 mov r14, 8(r1) ; aee2: 3f d0 00 80 bis #-32768,r15 ;#0x8000 0000aee6 <.LVL52>: aee6: 81 4f 0a 00 mov r15, 10(r1) ; 0x000a 0000aeea <.L44>: aeea: 08 47 mov r7, r8 ; aeec: 09 46 mov r6, r9 ; aeee: 2a 41 mov @r1, r10 ; aef0: 1b 41 02 00 mov 2(r1), r11 ; aef4: 0c 44 mov r4, r12 ; aef6: b0 12 12 b6 call #-18926 ;#0xb612 aefa: 07 4c mov r12, r7 ; 0000aefc <.LVL55>: aefc: 06 4d mov r13, r6 ; 0000aefe <.LVL56>: aefe: 81 4e 00 00 mov r14, 0(r1) ; 0000af02 <.LVL57>: af02: 81 4f 02 00 mov r15, 2(r1) ; 0000af06 <.LVL58>: af06: 15 53 inc r5 ; af08: 0c 44 mov r4, r12 ; af0a: 66 3f jmp $-306 ;abs 0xadd8 0000af0c <.L75>: af0c: 0c 93 cmp #0, r12 ;r3 As==00 af0e: 02 24 jz $+6 ;abs 0xaf14 af10: 81 4b 5a 00 mov r11, 90(r1) ; 0x005a 0000af14 <.L64>: af14: 0f 47 mov r7, r15 ; af16: 7f f0 ff 00 and.b #255, r15 ;#0x00ff 0000af1a <.Loc.898.1>: af1a: 77 90 80 ff cmp.b #-128, r7 ;#0xff80 af1e: 2b 20 jnz $+88 ;abs 0xaf76 0000af20 <.Loc.900.1>: af20: 0c 47 mov r7, r12 ; af22: 3c f0 00 01 and #256, r12 ;#0x0100 0000af26 <.Loc.900.1>: af26: 37 b0 00 01 bit #256, r7 ;#0x0100 af2a: 25 20 jnz $+76 ;abs 0xaf76 0000af2c <.Loc.909.1>: af2c: 1d 41 04 00 mov 4(r1), r13 ; af30: 1d d1 06 00 bis 6(r1), r13 ; af34: 1d d1 08 00 bis 8(r1), r13 ; af38: 1d d1 0a 00 bis 10(r1), r13 ;0x0000a af3c: 0d 93 cmp #0, r13 ;r3 As==00 af3e: 1b 24 jz $+56 ;abs 0xaf76 0000af40 <.Loc.915.1>: af40: 0f 57 add r7, r15 ; af42: 5d 43 mov.b #1, r13 ;r3 As==01 af44: 0f 97 cmp r7, r15 ; af46: 01 28 jnc $+4 ;abs 0xaf4a af48: 0d 4c mov r12, r13 ; 0000af4a <.L67>: af4a: 4c 43 clr.b r12 ; af4c: 0d 56 add r6, r13 ; af4e: 5e 43 mov.b #1, r14 ;r3 As==01 af50: 0d 96 cmp r6, r13 ; af52: 01 28 jnc $+4 ;abs 0xaf56 af54: 0e 4c mov r12, r14 ; 0000af56 <.L69>: af56: 0c de bis r14, r12 ; af58: 4e 43 clr.b r14 ; af5a: 2c 51 add @r1, r12 ; af5c: 5a 43 mov.b #1, r10 ;r3 As==01 af5e: 2c 91 cmp @r1, r12 ; af60: 01 28 jnc $+4 ;abs 0xaf64 af62: 0a 4e mov r14, r10 ; 0000af64 <.L71>: af64: 0e da bis r10, r14 ; 0000af66 <.LVL60>: af66: 07 4f mov r15, r7 ; af68: 37 f0 00 ff and #-256, r7 ;#0xff00 af6c: 06 4d mov r13, r6 ; af6e: 81 4c 00 00 mov r12, 0(r1) ; af72: 81 5e 02 00 add r14, 2(r1) ; 0000af76 <.L65>: af76: 81 47 5c 00 mov r7, 92(r1) ; 0x005c af7a: 81 46 5e 00 mov r6, 94(r1) ; 0x005e af7e: a1 41 60 00 mov @r1, 96(r1) ; 0x0060 af82: 91 41 02 00 mov 2(r1), 98(r1) ; 0x0062 af86: 62 00 0000af88 <.Loc.922.1>: af88: b1 40 03 00 mov #3, 86(r1) ; 0x0056 af8c: 56 00 0000af8e <.Loc.923.1>: af8e: 0c 41 mov r1, r12 ; af90: 3c 50 56 00 add #86, r12 ;#0x0056 af94: 30 40 c6 aa br #0xaac6 ; 0000af98 <__mspabi_divd>: af98: 0a 12 push r10 ; 0000af9a <.LCFI0>: af9a: 09 12 push r9 ; 0000af9c <.LCFI1>: af9c: 08 12 push r8 ; 0000af9e <.LCFI2>: af9e: 07 12 push r7 ; 0000afa0 <.LCFI3>: afa0: 06 12 push r6 ; 0000afa2 <.LCFI4>: afa2: 05 12 push r5 ; 0000afa4 : afa4: 04 12 push r4 ; 0000afa6 <.LCFI6>: afa6: 31 80 40 00 sub #64, r1 ;#0x0040 0000afaa <.LCFI7>: afaa: 81 48 14 00 mov r8, 20(r1) ; 0x0014 afae: 81 49 16 00 mov r9, 22(r1) ; 0x0016 afb2: 81 4a 18 00 mov r10, 24(r1) ; 0x0018 afb6: 81 4b 1a 00 mov r11, 26(r1) ; 0x001a 0000afba <.Loc.1054.1>: afba: 81 4c 1c 00 mov r12, 28(r1) ; 0x001c afbe: 81 4d 1e 00 mov r13, 30(r1) ; 0x001e afc2: 81 4e 20 00 mov r14, 32(r1) ; 0x0020 afc6: 81 4f 22 00 mov r15, 34(r1) ; 0x0022 0000afca <.Loc.1056.1>: afca: 3a 40 da ba mov #-17702,r10 ;#0xbada afce: 0d 41 mov r1, r13 ; afd0: 3d 50 24 00 add #36, r13 ;#0x0024 afd4: 0c 41 mov r1, r12 ; 0000afd6 <.LVL1>: afd6: 3c 50 14 00 add #20, r12 ;#0x0014 afda: 8a 12 call r10 ; 0000afdc <.LVL2>: afdc: 0d 41 mov r1, r13 ; afde: 3d 50 32 00 add #50, r13 ;#0x0032 afe2: 0c 41 mov r1, r12 ; afe4: 3c 50 1c 00 add #28, r12 ;#0x001c afe8: 8a 12 call r10 ; 0000afea <.LBB20>: afea: 1d 41 24 00 mov 36(r1), r13 ;0x00024 0000afee <.LBB30>: afee: 5c 43 mov.b #1, r12 ;r3 As==01 aff0: 0c 9d cmp r13, r12 ; aff2: 09 28 jnc $+20 ;abs 0xb006 0000aff4 <.L47>: aff4: 0c 41 mov r1, r12 ; aff6: 3c 50 24 00 add #36, r12 ;#0x0024 0000affa <.L3>: affa: b0 12 3c b8 call #-18372 ;#0xb83c 0000affe <.LVL7>: affe: 31 50 40 00 add #64, r1 ;#0x0040 0000b002 <.LCFI8>: b002: 30 40 b4 b5 br #0xb5b4 ; 0000b006 <.L2>: b006: 1c 41 32 00 mov 50(r1), r12 ;0x00032 0000b00a <.LBB32>: b00a: 5e 43 mov.b #1, r14 ;r3 As==01 b00c: 0e 9c cmp r12, r14 ; b00e: 40 2d jc $+642 ;abs 0xb290 0000b010 <.Loc.966.1>: b010: 91 e1 34 00 xor 52(r1), 38(r1) ;0x00034, 0x0026 b014: 26 00 0000b016 <.LBB33>: b016: 2d 92 cmp #4, r13 ;r2 As==10 b018: 02 24 jz $+6 ;abs 0xb01e 0000b01a <.LBB34>: b01a: 2d 93 cmp #2, r13 ;r3 As==10 b01c: 05 20 jnz $+12 ;abs 0xb028 0000b01e <.L4>: b01e: 0d 9c cmp r12, r13 ; b020: e9 23 jnz $-44 ;abs 0xaff4 0000b022 <.Loc.971.1>: b022: 3c 40 f8 80 mov #-32520,r12 ;#0x80f8 b026: e9 3f jmp $-44 ;abs 0xaffa 0000b028 <.L5>: b028: 2c 92 cmp #4, r12 ;r2 As==10 b02a: 0b 20 jnz $+24 ;abs 0xb042 0000b02c <.Loc.977.1>: b02c: 81 43 2a 00 mov #0, 42(r1) ;r3 As==00, 0x002a b030: 81 43 2c 00 mov #0, 44(r1) ;r3 As==00, 0x002c b034: 81 43 2e 00 mov #0, 46(r1) ;r3 As==00, 0x002e b038: 81 43 30 00 mov #0, 48(r1) ;r3 As==00, 0x0030 0000b03c <.Loc.978.1>: b03c: 81 43 28 00 mov #0, 40(r1) ;r3 As==00, 0x0028 0000b040 <.Loc.979.1>: b040: d9 3f jmp $-76 ;abs 0xaff4 0000b042 <.L7>: b042: 2c 93 cmp #2, r12 ;r3 As==10 b044: 03 20 jnz $+8 ;abs 0xb04c 0000b046 <.Loc.983.1>: b046: a1 42 24 00 mov #4, 36(r1) ;r2 As==10, 0x0024 0000b04a <.Loc.984.1>: b04a: d4 3f jmp $-86 ;abs 0xaff4 0000b04c <.L8>: b04c: 1f 41 28 00 mov 40(r1), r15 ;0x00028 b050: 1f 81 36 00 sub 54(r1), r15 ;0x00036 0000b054 <.Loc.994.1>: b054: 81 4f 28 00 mov r15, 40(r1) ; 0x0028 0000b058 <.Loc.995.1>: b058: 14 41 2a 00 mov 42(r1), r4 ;0x0002a b05c: 16 41 2c 00 mov 44(r1), r6 ;0x0002c b060: 17 41 2e 00 mov 46(r1), r7 ;0x0002e b064: 91 41 30 00 mov 48(r1), 0(r1) ;0x00030 b068: 00 00 0000b06a <.LVL15>: b06a: 91 41 38 00 mov 56(r1), 16(r1) ;0x00038, 0x0010 b06e: 10 00 b070: 91 41 3a 00 mov 58(r1), 6(r1) ;0x0003a b074: 06 00 b076: 91 41 3c 00 mov 60(r1), 8(r1) ;0x0003c b07a: 08 00 b07c: 91 41 3e 00 mov 62(r1), 10(r1) ;0x0003e, 0x000a b080: 0a 00 0000b082 <.LVL16>: b082: 91 91 0a 00 cmp 10(r1), 0(r1) ;0x0000a b086: 00 00 b088: 12 28 jnc $+38 ;abs 0xb0ae b08a: a1 91 0a 00 cmp @r1, 10(r1) ; 0x000a b08e: 38 20 jnz $+114 ;abs 0xb100 b090: 17 91 08 00 cmp 8(r1), r7 ; b094: 0c 28 jnc $+26 ;abs 0xb0ae b096: 81 97 08 00 cmp r7, 8(r1) ; b09a: 32 20 jnz $+102 ;abs 0xb100 b09c: 16 91 06 00 cmp 6(r1), r6 ; b0a0: 06 28 jnc $+14 ;abs 0xb0ae b0a2: 81 96 06 00 cmp r6, 6(r1) ; b0a6: 2c 20 jnz $+90 ;abs 0xb100 b0a8: 14 91 10 00 cmp 16(r1), r4 ;0x00010 b0ac: 29 2c jc $+84 ;abs 0xb100 0000b0ae <.L38>: b0ae: 0a 44 mov r4, r10 ; b0b0: 0a 54 add r4, r10 ; b0b2: 5e 43 mov.b #1, r14 ;r3 As==01 b0b4: 0a 94 cmp r4, r10 ; b0b6: 01 28 jnc $+4 ;abs 0xb0ba b0b8: 4e 43 clr.b r14 ; 0000b0ba <.L11>: b0ba: 0d 46 mov r6, r13 ; b0bc: 0d 56 add r6, r13 ; b0be: 5c 43 mov.b #1, r12 ;r3 As==01 b0c0: 0d 96 cmp r6, r13 ; b0c2: 01 28 jnc $+4 ;abs 0xb0c6 b0c4: 4c 43 clr.b r12 ; 0000b0c6 <.L12>: b0c6: 06 4e mov r14, r6 ; 0000b0c8 <.LVL17>: b0c8: 06 5d add r13, r6 ; b0ca: 5e 43 mov.b #1, r14 ;r3 As==01 b0cc: 06 9d cmp r13, r6 ; b0ce: 01 28 jnc $+4 ;abs 0xb0d2 b0d0: 4e 43 clr.b r14 ; 0000b0d2 <.L13>: b0d2: 0c de bis r14, r12 ; b0d4: 0e 47 mov r7, r14 ; b0d6: 0e 57 add r7, r14 ; b0d8: 5d 43 mov.b #1, r13 ;r3 As==01 b0da: 0e 97 cmp r7, r14 ; b0dc: 01 28 jnc $+4 ;abs 0xb0e0 b0de: 4d 43 clr.b r13 ; 0000b0e0 <.L14>: b0e0: 07 4c mov r12, r7 ; 0000b0e2 <.LVL18>: b0e2: 07 5e add r14, r7 ; b0e4: 5c 43 mov.b #1, r12 ;r3 As==01 b0e6: 07 9e cmp r14, r7 ; b0e8: 01 28 jnc $+4 ;abs 0xb0ec b0ea: 4c 43 clr.b r12 ; 0000b0ec <.L15>: b0ec: 0d dc bis r12, r13 ; b0ee: 2c 41 mov @r1, r12 ; b0f0: 0c 5c rla r12 ; b0f2: 04 4a mov r10, r4 ; 0000b0f4 <.LVL19>: b0f4: 0d 5c add r12, r13 ; b0f6: 81 4d 00 00 mov r13, 0(r1) ; 0000b0fa <.LVL20>: b0fa: 3f 53 add #-1, r15 ;r3 As==11 b0fc: 81 4f 28 00 mov r15, 40(r1) ; 0x0028 0000b100 <.L9>: b100: b1 40 3d 00 mov #61, 14(r1) ;#0x003d, 0x000e b104: 0e 00 0000b106 <.LBB37>: b106: 45 43 clr.b r5 ; b108: 81 45 02 00 mov r5, 2(r1) ; b10c: 81 45 04 00 mov r5, 4(r1) ; b110: 81 45 0c 00 mov r5, 12(r1) ; 0x000c 0000b114 <.Loc.1004.1>: b114: 08 45 mov r5, r8 ; 0000b116 <.LVL22>: b116: 81 45 12 00 mov r5, 18(r1) ; 0x0012 b11a: 0a 45 mov r5, r10 ; b11c: 3b 40 00 10 mov #4096, r11 ;#0x1000 0000b120 <.L28>: b120: 91 91 0a 00 cmp 10(r1), 0(r1) ;0x0000a b124: 00 00 b126: 44 28 jnc $+138 ;abs 0xb1b0 b128: a1 91 0a 00 cmp @r1, 10(r1) ; 0x000a b12c: 0f 20 jnz $+32 ;abs 0xb14c b12e: 17 91 08 00 cmp 8(r1), r7 ; b132: 3e 28 jnc $+126 ;abs 0xb1b0 b134: 81 97 08 00 cmp r7, 8(r1) ; b138: 09 20 jnz $+20 ;abs 0xb14c b13a: 16 91 06 00 cmp 6(r1), r6 ; b13e: 38 28 jnc $+114 ;abs 0xb1b0 b140: 81 96 06 00 cmp r6, 6(r1) ; b144: 03 20 jnz $+8 ;abs 0xb14c b146: 14 91 10 00 cmp 16(r1), r4 ;0x00010 b14a: 32 28 jnc $+102 ;abs 0xb1b0 0000b14c <.L39>: b14c: 05 d8 bis r8, r5 ; 0000b14e <.LVL24>: b14e: 91 d1 12 00 bis 18(r1), 2(r1) ;0x00012 b152: 02 00 b154: 81 da 04 00 bis r10, 4(r1) ; b158: 81 db 0c 00 bis r11, 12(r1) ; 0x000c 0000b15c <.LVL25>: b15c: 0f 44 mov r4, r15 ; b15e: 1f 81 10 00 sub 16(r1), r15 ;0x00010 b162: 5e 43 mov.b #1, r14 ;r3 As==01 b164: 04 9f cmp r15, r4 ; b166: 01 28 jnc $+4 ;abs 0xb16a b168: 4e 43 clr.b r14 ; 0000b16a <.L18>: b16a: 0c 46 mov r6, r12 ; b16c: 1c 81 06 00 sub 6(r1), r12 ; b170: 5d 43 mov.b #1, r13 ;r3 As==01 b172: 06 9c cmp r12, r6 ; b174: 01 28 jnc $+4 ;abs 0xb178 b176: 4d 43 clr.b r13 ; 0000b178 <.L19>: b178: 06 4c mov r12, r6 ; b17a: 06 8e sub r14, r6 ; 0000b17c <.LVL26>: b17c: 5e 43 mov.b #1, r14 ;r3 As==01 b17e: 0c 96 cmp r6, r12 ; b180: 01 28 jnc $+4 ;abs 0xb184 b182: 4e 43 clr.b r14 ; 0000b184 <.L20>: b184: 0d de bis r14, r13 ; b186: 0e 47 mov r7, r14 ; b188: 1e 81 08 00 sub 8(r1), r14 ; b18c: 5c 43 mov.b #1, r12 ;r3 As==01 b18e: 07 9e cmp r14, r7 ; b190: 01 28 jnc $+4 ;abs 0xb194 b192: 4c 43 clr.b r12 ; 0000b194 <.L21>: b194: 07 4e mov r14, r7 ; b196: 07 8d sub r13, r7 ; b198: 5d 43 mov.b #1, r13 ;r3 As==01 b19a: 0e 97 cmp r7, r14 ; b19c: 01 28 jnc $+4 ;abs 0xb1a0 b19e: 4d 43 clr.b r13 ; 0000b1a0 <.L22>: b1a0: 0c dd bis r13, r12 ; b1a2: 2d 41 mov @r1, r13 ; b1a4: 1d 81 0a 00 sub 10(r1), r13 ;0x0000a b1a8: 04 4f mov r15, r4 ; b1aa: 0d 8c sub r12, r13 ; b1ac: 81 4d 00 00 mov r13, 0(r1) ; 0000b1b0 <.L16>: b1b0: 19 41 12 00 mov 18(r1), r9 ;0x00012 b1b4: 5c 43 mov.b #1, r12 ;r3 As==01 b1b6: b0 12 12 b6 call #-18926 ;#0xb612 b1ba: 08 4c mov r12, r8 ; b1bc: 81 4d 12 00 mov r13, 18(r1) ; 0x0012 b1c0: 0a 4e mov r14, r10 ; b1c2: 0b 4f mov r15, r11 ; 0000b1c4 <.LVL29>: b1c4: 0c 44 mov r4, r12 ; b1c6: 0c 54 add r4, r12 ; b1c8: 59 43 mov.b #1, r9 ;r3 As==01 b1ca: 0c 94 cmp r4, r12 ; b1cc: 01 28 jnc $+4 ;abs 0xb1d0 b1ce: 49 43 clr.b r9 ; 0000b1d0 <.L23>: b1d0: 0e 46 mov r6, r14 ; b1d2: 0e 56 add r6, r14 ; b1d4: 5d 43 mov.b #1, r13 ;r3 As==01 0000b1d6 <.LVL30>: b1d6: 0e 96 cmp r6, r14 ; b1d8: 01 28 jnc $+4 ;abs 0xb1dc b1da: 4d 43 clr.b r13 ; 0000b1dc <.L24>: b1dc: 09 5e add r14, r9 ; b1de: 5f 43 mov.b #1, r15 ;r3 As==01 b1e0: 09 9e cmp r14, r9 ; b1e2: 01 28 jnc $+4 ;abs 0xb1e6 b1e4: 4f 43 clr.b r15 ; 0000b1e6 <.L25>: b1e6: 0d df bis r15, r13 ; b1e8: 0f 47 mov r7, r15 ; b1ea: 0f 57 add r7, r15 ; b1ec: 5e 43 mov.b #1, r14 ;r3 As==01 b1ee: 0f 97 cmp r7, r15 ; b1f0: 01 28 jnc $+4 ;abs 0xb1f4 b1f2: 4e 43 clr.b r14 ; 0000b1f4 <.L26>: b1f4: 0d 5f add r15, r13 ; b1f6: 57 43 mov.b #1, r7 ;r3 As==01 0000b1f8 <.LVL31>: b1f8: 0d 9f cmp r15, r13 ; b1fa: 01 28 jnc $+4 ;abs 0xb1fe b1fc: 47 43 clr.b r7 ; 0000b1fe <.L27>: b1fe: 0e d7 bis r7, r14 ; b200: 2f 41 mov @r1, r15 ; b202: 0f 5f rla r15 ; b204: 04 4c mov r12, r4 ; b206: 06 49 mov r9, r6 ; b208: 07 4d mov r13, r7 ; b20a: 0e 5f add r15, r14 ; b20c: 81 4e 00 00 mov r14, 0(r1) ; 0000b210 <.LVL32>: b210: b1 53 0e 00 add #-1, 14(r1) ;r3 As==11, 0x000e b214: 81 93 0e 00 cmp #0, 14(r1) ;r3 As==00, 0x000e b218: 83 23 jnz $-248 ;abs 0xb120 0000b21a <.Loc.1018.1>: b21a: 0f 45 mov r5, r15 ; b21c: 7f f0 ff 00 and.b #255, r15 ;#0x00ff 0000b220 <.Loc.1018.1>: b220: 75 90 80 ff cmp.b #-128, r5 ;#0xff80 b224: 29 20 jnz $+84 ;abs 0xb278 0000b226 <.Loc.1020.1>: b226: 35 b0 00 01 bit #256, r5 ;#0x0100 b22a: 26 20 jnz $+78 ;abs 0xb278 0000b22c <.Loc.1027.1>: b22c: 0c d9 bis r9, r12 ; b22e: 0c dd bis r13, r12 ; b230: 0c de bis r14, r12 ; b232: 0c 93 cmp #0, r12 ;r3 As==00 b234: 21 24 jz $+68 ;abs 0xb278 0000b236 <.Loc.1033.1>: b236: 0f 55 add r5, r15 ; b238: 5d 43 mov.b #1, r13 ;r3 As==01 b23a: 0f 95 cmp r5, r15 ; b23c: 02 28 jnc $+6 ;abs 0xb242 b23e: 1d 41 0e 00 mov 14(r1), r13 ;0x0000e 0000b242 <.L31>: b242: 4c 43 clr.b r12 ; b244: 1d 51 02 00 add 2(r1), r13 ; b248: 5e 43 mov.b #1, r14 ;r3 As==01 0000b24a <.LVL33>: b24a: 1d 91 02 00 cmp 2(r1), r13 ; b24e: 01 28 jnc $+4 ;abs 0xb252 b250: 0e 4c mov r12, r14 ; 0000b252 <.L33>: b252: 0c de bis r14, r12 ; b254: 4e 43 clr.b r14 ; b256: 1c 51 04 00 add 4(r1), r12 ; b25a: 5a 43 mov.b #1, r10 ;r3 As==01 0000b25c <.LVL34>: b25c: 1c 91 04 00 cmp 4(r1), r12 ; b260: 01 28 jnc $+4 ;abs 0xb264 b262: 0a 4e mov r14, r10 ; 0000b264 <.L35>: b264: 0e da bis r10, r14 ; 0000b266 <.LVL35>: b266: 05 4f mov r15, r5 ; b268: 35 f0 00 ff and #-256, r5 ;#0xff00 b26c: 81 4d 02 00 mov r13, 2(r1) ; b270: 81 4c 04 00 mov r12, 4(r1) ; b274: 81 5e 0c 00 add r14, 12(r1) ; 0x000c 0000b278 <.L29>: b278: 81 45 2a 00 mov r5, 42(r1) ; 0x002a b27c: 91 41 02 00 mov 2(r1), 44(r1) ; 0x002c b280: 2c 00 b282: 91 41 04 00 mov 4(r1), 46(r1) ; 0x002e b286: 2e 00 b288: 91 41 0c 00 mov 12(r1), 48(r1) ;0x0000c, 0x0030 b28c: 30 00 b28e: b2 3e jmp $-666 ;abs 0xaff4 0000b290 <.L36>: b290: 0c 41 mov r1, r12 ; b292: 3c 50 32 00 add #50, r12 ;#0x0032 b296: b1 3e jmp $-668 ;abs 0xaffa 0000b298 <__mspabi_fltlid>: b298: 0a 12 push r10 ; 0000b29a <.LCFI0>: b29a: 09 12 push r9 ; 0000b29c <.LCFI1>: b29c: 08 12 push r8 ; 0000b29e <.LCFI2>: b29e: 07 12 push r7 ; 0000b2a0 <.LCFI3>: b2a0: 06 12 push r6 ; 0000b2a2 : b2a2: 31 80 0e 00 sub #14, r1 ;#0x000e 0000b2a6 <.LCFI5>: b2a6: 06 4c mov r12, r6 ; b2a8: 07 4d mov r13, r7 ; 0000b2aa <.Loc.1318.1>: b2aa: b1 40 03 00 mov #3, 0(r1) ; b2ae: 00 00 0000b2b0 <.Loc.1321.1>: b2b0: 0c 4d mov r13, r12 ; 0000b2b2 <.LVL1>: b2b2: 7d 40 0f 00 mov.b #15, r13 ;#0x000f b2b6: b0 12 fe b5 call #-18946 ;#0xb5fe 0000b2ba <.Loc.1321.1>: b2ba: 81 4c 02 00 mov r12, 2(r1) ; 0000b2be <.Loc.1322.1>: b2be: 0c 46 mov r6, r12 ; b2c0: 0c d7 bis r7, r12 ; b2c2: 0c 93 cmp #0, r12 ;r3 As==00 b2c4: 08 20 jnz $+18 ;abs 0xb2d6 0000b2c6 <.Loc.1324.1>: b2c6: a1 43 00 00 mov #2, 0(r1) ;r3 As==10 0000b2ca <.L3>: b2ca: 0c 41 mov r1, r12 ; b2cc: b0 12 3c b8 call #-18372 ;#0xb83c 0000b2d0 <.L1>: b2d0: 31 50 0e 00 add #14, r1 ;#0x000e 0000b2d4 <.LCFI6>: b2d4: 71 3d jmp $+740 ;abs 0xb5b8 0000b2d6 <.L2>: b2d6: 07 93 cmp #0, r7 ;r3 As==00 b2d8: 24 34 jge $+74 ;abs 0xb322 0000b2da <.Loc.1335.1>: b2da: 0d 46 mov r6, r13 ; b2dc: 06 93 cmp #0, r6 ;r3 As==00 b2de: 03 20 jnz $+8 ;abs 0xb2e6 b2e0: 37 90 00 80 cmp #-32768,r7 ;#0x8000 b2e4: 21 24 jz $+68 ;abs 0xb328 0000b2e6 <.L10>: b2e6: 48 43 clr.b r8 ; b2e8: 49 43 clr.b r9 ; b2ea: 08 86 sub r6, r8 ; b2ec: 09 77 subc r7, r9 ; 0000b2ee <.L8>: b2ee: 0c 48 mov r8, r12 ; b2f0: 0d 49 mov r9, r13 ; b2f2: b0 12 32 b6 call #-18894 ;#0xb632 0000b2f6 <.LBE6>: b2f6: 07 4c mov r12, r7 ; b2f8: 37 50 1d 00 add #29, r7 ;#0x001d 0000b2fc <.LVL6>: b2fc: 4a 43 clr.b r10 ; b2fe: 0b 4a mov r10, r11 ; b300: 0c 47 mov r7, r12 ; b302: b0 12 da b5 call #-18982 ;#0xb5da b306: 81 4c 06 00 mov r12, 6(r1) ; b30a: 81 4d 08 00 mov r13, 8(r1) ; b30e: 81 4e 0a 00 mov r14, 10(r1) ; 0x000a b312: 81 4f 0c 00 mov r15, 12(r1) ; 0x000c 0000b316 <.Loc.1349.1>: b316: 7c 40 3c 00 mov.b #60, r12 ;#0x003c b31a: 0c 87 sub r7, r12 ; b31c: 81 4c 04 00 mov r12, 4(r1) ; b320: d4 3f jmp $-86 ;abs 0xb2ca 0000b322 <.L4>: b322: 08 46 mov r6, r8 ; b324: 09 47 mov r7, r9 ; 0000b326 <.LVL9>: b326: e3 3f jmp $-56 ;abs 0xb2ee 0000b328 <.L11>: b328: 0c 46 mov r6, r12 ; b32a: 0e 46 mov r6, r14 ; b32c: 3f 40 e0 c1 mov #-15904,r15 ;#0xc1e0 b330: cf 3f jmp $-96 ;abs 0xb2d0 0000b332 <__mspabi_fixdli>: b332: 0a 12 push r10 ; 0000b334 <.LCFI0>: b334: 09 12 push r9 ; 0000b336 <.LCFI1>: b336: 08 12 push r8 ; 0000b338 <.LCFI2>: b338: 07 12 push r7 ; 0000b33a : b33a: 31 80 16 00 sub #22, r1 ;#0x0016 0000b33e <.LCFI4>: b33e: 81 4c 00 00 mov r12, 0(r1) ; b342: 81 4d 02 00 mov r13, 2(r1) ; b346: 81 4e 04 00 mov r14, 4(r1) ; b34a: 81 4f 06 00 mov r15, 6(r1) ; 0000b34e <.Loc.1401.1>: b34e: 0d 41 mov r1, r13 ; b350: 3d 52 add #8, r13 ;r2 As==11 b352: 0c 41 mov r1, r12 ; 0000b354 <.LVL1>: b354: b0 12 da ba call #-17702 ;#0xbada 0000b358 <.LVL2>: b358: 1c 41 08 00 mov 8(r1), r12 ; 0000b35c <.Loc.1405.1>: b35c: 6d 43 mov.b #2, r13 ;r3 As==10 b35e: 0d 9c cmp r12, r13 ; b360: 32 2c jc $+102 ;abs 0xb3c6 0000b362 <.Loc.1408.1>: b362: 2c 92 cmp #4, r12 ;r2 As==10 b364: 09 20 jnz $+20 ;abs 0xb378 0000b366 <.Loc.1409.1>: b366: 81 93 0a 00 cmp #0, 10(r1) ;r3 As==00, 0x000a b36a: 12 24 jz $+38 ;abs 0xb390 0000b36c <.L12>: b36c: 4c 43 clr.b r12 ; b36e: 3d 40 00 80 mov #-32768,r13 ;#0x8000 0000b372 <.L1>: b372: 31 50 16 00 add #22, r1 ;#0x0016 0000b376 <.LCFI5>: b376: 21 3d jmp $+580 ;abs 0xb5ba 0000b378 <.L3>: b378: 1c 41 0c 00 mov 12(r1), r12 ;0x0000c 0000b37c <.Loc.1411.1>: b37c: 0c 93 cmp #0, r12 ;r3 As==00 b37e: 23 38 jl $+72 ;abs 0xb3c6 0000b380 <.Loc.1413.1>: b380: 17 41 0a 00 mov 10(r1), r7 ;0x0000a 0000b384 <.Loc.1413.1>: b384: 7e 40 1e 00 mov.b #30, r14 ;#0x001e b388: 0e 9c cmp r12, r14 ; b38a: 06 34 jge $+14 ;abs 0xb398 0000b38c <.Loc.1414.1>: b38c: 07 93 cmp #0, r7 ;r3 As==00 b38e: ee 23 jnz $-34 ;abs 0xb36c 0000b390 <.L8>: b390: 3c 43 mov #-1, r12 ;r3 As==11 b392: 3d 40 ff 7f mov #32767, r13 ;#0x7fff b396: ed 3f jmp $-36 ;abs 0xb372 0000b398 <.L4>: b398: 18 41 0e 00 mov 14(r1), r8 ;0x0000e b39c: 19 41 10 00 mov 16(r1), r9 ;0x00010 b3a0: 1a 41 12 00 mov 18(r1), r10 ;0x00012 b3a4: 1b 41 14 00 mov 20(r1), r11 ;0x00014 b3a8: 7f 40 3c 00 mov.b #60, r15 ;#0x003c b3ac: 0f 8c sub r12, r15 ; b3ae: 0c 4f mov r15, r12 ; b3b0: b0 12 12 b6 call #-18926 ;#0xb612 0000b3b4 <.LVL7>: b3b4: 07 93 cmp #0, r7 ;r3 As==00 b3b6: dd 27 jz $-68 ;abs 0xb372 0000b3b8 <.Loc.1416.1>: b3b8: 4e 43 clr.b r14 ; b3ba: 4f 43 clr.b r15 ; b3bc: 0e 8c sub r12, r14 ; b3be: 0f 7d subc r13, r15 ; b3c0: 0c 4e mov r14, r12 ; 0000b3c2 <.LVL8>: b3c2: 0d 4f mov r15, r13 ; b3c4: d6 3f jmp $-82 ;abs 0xb372 0000b3c6 <.L7>: b3c6: 4c 43 clr.b r12 ; b3c8: 4d 43 clr.b r13 ; b3ca: d3 3f jmp $-88 ;abs 0xb372 0000b3cc <__make_dp>: b3cc: 31 80 0e 00 sub #14, r1 ;#0x000e 0000b3d0 <.LCFI0>: b3d0: 81 4c 00 00 mov r12, 0(r1) ; 0000b3d4 : b3d4: 81 4d 02 00 mov r13, 2(r1) ; 0000b3d8 <.Loc.1538.1>: b3d8: 81 4e 04 00 mov r14, 4(r1) ; 0000b3dc <.Loc.1539.1>: b3dc: 91 41 10 00 mov 16(r1), 6(r1) ;0x00010 b3e0: 06 00 b3e2: 91 41 12 00 mov 18(r1), 8(r1) ;0x00012 b3e6: 08 00 b3e8: 91 41 14 00 mov 20(r1), 10(r1) ;0x00014, 0x000a b3ec: 0a 00 b3ee: 91 41 16 00 mov 22(r1), 12(r1) ;0x00016, 0x000c b3f2: 0c 00 0000b3f4 <.Loc.1540.1>: b3f4: 0c 41 mov r1, r12 ; 0000b3f6 <.LVL1>: b3f6: b0 12 3c b8 call #-18372 ;#0xb83c 0000b3fa <.LVL2>: b3fa: 31 50 0e 00 add #14, r1 ;#0x000e 0000b3fe <.LCFI1>: b3fe: 30 41 ret 0000b400 <__mspabi_cvtdf>: b400: 0a 12 push r10 ; 0000b402 <.LCFI0>: b402: 09 12 push r9 ; 0000b404 <.LCFI1>: b404: 08 12 push r8 ; 0000b406 <.LCFI2>: b406: 31 80 18 00 sub #24, r1 ;#0x0018 0000b40a <.LCFI3>: b40a: 81 4c 02 00 mov r12, 2(r1) ; b40e: 81 4d 04 00 mov r13, 4(r1) ; b412: 81 4e 06 00 mov r14, 6(r1) ; b416: 81 4f 08 00 mov r15, 8(r1) ; 0000b41a <.Loc.1553.1>: b41a: 0d 41 mov r1, r13 ; b41c: 3d 50 0a 00 add #10, r13 ;#0x000a b420: 0c 41 mov r1, r12 ; 0000b422 <.LVL1>: b422: 2c 53 incd r12 ; b424: b0 12 da ba call #-17702 ;#0xbada 0000b428 <.LVL2>: b428: 18 41 10 00 mov 16(r1), r8 ;0x00010 b42c: 19 41 12 00 mov 18(r1), r9 ;0x00012 b430: 1a 41 14 00 mov 20(r1), r10 ;0x00014 b434: 1b 41 16 00 mov 22(r1), r11 ;0x00016 b438: 7c 40 1e 00 mov.b #30, r12 ;#0x001e b43c: b0 12 12 b6 call #-18926 ;#0xb612 0000b440 <.Loc.1555.1>: b440: 0f 4c mov r12, r15 ; 0000b442 <.LVL4>: b442: 39 f0 ff 3f and #16383, r9 ;#0x3fff 0000b446 <.Loc.1559.1>: b446: 09 d8 bis r8, r9 ; b448: 09 93 cmp #0, r9 ;r3 As==00 b44a: 01 24 jz $+4 ;abs 0xb44e 0000b44c <.Loc.1560.1>: b44c: 1f d3 bis #1, r15 ;r3 As==01 0000b44e <.L2>: b44e: 81 4d 00 00 mov r13, 0(r1) ; b452: 1e 41 0e 00 mov 14(r1), r14 ;0x0000e b456: 1d 41 0c 00 mov 12(r1), r13 ;0x0000c 0000b45a <.LVL6>: b45a: 1c 41 0a 00 mov 10(r1), r12 ;0x0000a b45e: b0 12 02 b8 call #-18430 ;#0xb802 0000b462 <.LVL7>: b462: 31 50 18 00 add #24, r1 ;#0x0018 0000b466 <.LCFI4>: b466: aa 3c jmp $+342 ;abs 0xb5bc 0000b468 <__mspabi_fltuld>: b468: 0a 12 push r10 ; 0000b46a : b46a: 09 12 push r9 ; 0000b46c <.LCFI1>: b46c: 08 12 push r8 ; 0000b46e <.LCFI2>: b46e: 07 12 push r7 ; 0000b470 <.LCFI3>: b470: 31 80 0e 00 sub #14, r1 ;#0x000e 0000b474 <.LCFI4>: b474: 0a 4c mov r12, r10 ; b476: 09 4d mov r13, r9 ; 0000b478 <.Loc.1360.1>: b478: 81 43 02 00 mov #0, 2(r1) ;r3 As==00 0000b47c <.Loc.1363.1>: b47c: 0e 4c mov r12, r14 ; b47e: 0e dd bis r13, r14 ; b480: 0e 93 cmp #0, r14 ;r3 As==00 b482: 08 20 jnz $+18 ;abs 0xb494 0000b484 <.Loc.1365.1>: b484: a1 43 00 00 mov #2, 0(r1) ;r3 As==10 0000b488 <.L3>: b488: 0c 41 mov r1, r12 ; b48a: b0 12 3c b8 call #-18372 ;#0xb83c 0000b48e <.LVL2>: b48e: 31 50 0e 00 add #14, r1 ;#0x000e 0000b492 <.LCFI5>: b492: 93 3c jmp $+296 ;abs 0xb5ba 0000b494 <.L2>: b494: b1 40 03 00 mov #3, 0(r1) ; b498: 00 00 0000b49a <.LBB7>: b49a: b0 12 32 b6 call #-18894 ;#0xb632 0000b49e <.LBE7>: b49e: 07 4c mov r12, r7 ; b4a0: 37 50 1d 00 add #29, r7 ;#0x001d 0000b4a4 <.Loc.1372.1>: b4a4: 08 4a mov r10, r8 ; 0000b4a6 <.Loc.1384.1>: b4a6: 4a 43 clr.b r10 ; b4a8: 0b 4a mov r10, r11 ; b4aa: 0c 47 mov r7, r12 ; b4ac: b0 12 da b5 call #-18982 ;#0xb5da b4b0: 81 4c 06 00 mov r12, 6(r1) ; b4b4: 81 4d 08 00 mov r13, 8(r1) ; b4b8: 81 4e 0a 00 mov r14, 10(r1) ; 0x000a b4bc: 81 4f 0c 00 mov r15, 12(r1) ; 0x000c 0000b4c0 <.Loc.1385.1>: b4c0: 7c 40 3c 00 mov.b #60, r12 ;#0x003c b4c4: 0c 87 sub r7, r12 ; b4c6: 81 4c 04 00 mov r12, 4(r1) ; b4ca: de 3f jmp $-66 ;abs 0xb488 0000b4cc : b4cc: 0f 4c mov r12, r15 ; 0000b4ce <.LVL1>: b4ce: 0000b4d0 : b4d0: 11 00 mova @r0+, r1 ; 0000b4d2 <.LVL2>: b4d2: 5b 43 mov.b #1, r11 ;r3 As==01 0000b4d4 <.L2>: b4d4: 0d 9f cmp r15, r13 ; b4d6: 05 2c jc $+12 ;abs 0xb4e2 b4d8: 3c 53 add #-1, r12 ;r3 As==11 0000b4da <.Loc.38.1>: b4da: 0c 93 cmp #0, r12 ;r3 As==00 b4dc: 05 24 jz $+12 ;abs 0xb4e8 0000b4de <.Loc.38.1>: b4de: 0d 93 cmp #0, r13 ;r3 As==00 b4e0: 07 34 jge $+16 ;abs 0xb4f0 0000b4e2 <.L10>: b4e2: 4c 43 clr.b r12 ; 0000b4e4 <.L6>: b4e4: 0b 93 cmp #0, r11 ;r3 As==00 b4e6: 07 20 jnz $+16 ;abs 0xb4f6 0000b4e8 <.L4>: b4e8: 0e 93 cmp #0, r14 ;r3 As==00 b4ea: 01 24 jz $+4 ;abs 0xb4ee b4ec: 0c 4f mov r15, r12 ; 0000b4ee <.L1>: b4ee: 30 41 ret 0000b4f0 <.L5>: b4f0: 0d 5d rla r13 ; 0000b4f2 <.Loc.41.1>: b4f2: 0b 5b rla r11 ; b4f4: ef 3f jmp $-32 ;abs 0xb4d4 0000b4f6 <.L8>: b4f6: 0f 9d cmp r13, r15 ; b4f8: 02 28 jnc $+6 ;abs 0xb4fe 0000b4fa <.Loc.47.1>: b4fa: 0f 8d sub r13, r15 ; 0000b4fc <.Loc.48.1>: b4fc: 0c db bis r11, r12 ; 0000b4fe <.L7>: b4fe: 12 c3 clrc b500: 0b 10 rrc r11 ; 0000b502 <.Loc.51.1>: b502: 12 c3 clrc b504: 0d 10 rrc r13 ; b506: ee 3f jmp $-34 ;abs 0xb4e4 0000b508 <__mspabi_remu>: b508: 5e 43 mov.b #1, r14 ;r3 As==01 b50a: 0000b50c : b50c: 0000b50e <.LVL36>: b50e: 30 41 ret 0000b510 : b510: 0a 12 push r10 ; 0000b512 <.LCFI0>: b512: 09 12 push r9 ; 0000b514 <.LCFI1>: b514: 08 12 push r8 ; 0000b516 <.LCFI2>: b516: 07 12 push r7 ; 0000b518 <.LCFI3>: b518: 06 12 push r6 ; 0000b51a <.LCFI4>: b51a: 05 12 push r5 ; 0000b51c <.LCFI5>: b51c: 0a 4c mov r12, r10 ; b51e: 0b 4d mov r13, r11 ; 0000b520 <.LVL1>: b520: 7c 40 21 00 mov.b #33, r12 ;#0x0021 0000b524 <.LVL2>: b524: 58 43 mov.b #1, r8 ;r3 As==01 b526: 49 43 clr.b r9 ; 0000b528 <.Loc.38.1>: b528: 07 4d mov r13, r7 ; 0000b52a <.L2>: b52a: 0f 9b cmp r11, r15 ; b52c: 04 28 jnc $+10 ;abs 0xb536 b52e: 07 9f cmp r15, r7 ; b530: 07 20 jnz $+16 ;abs 0xb540 b532: 0e 9a cmp r10, r14 ; b534: 05 2c jc $+12 ;abs 0xb540 0000b536 <.L15>: b536: 3c 53 add #-1, r12 ;r3 As==11 0000b538 <.Loc.38.1>: b538: 0c 93 cmp #0, r12 ;r3 As==00 b53a: 2c 24 jz $+90 ;abs 0xb594 0000b53c <.Loc.38.1>: b53c: 0f 93 cmp #0, r15 ;r3 As==00 b53e: 0c 34 jge $+26 ;abs 0xb558 0000b540 <.L13>: b540: 4c 43 clr.b r12 ; b542: 0d 4c mov r12, r13 ; 0000b544 <.L8>: b544: 07 48 mov r8, r7 ; b546: 07 d9 bis r9, r7 ; b548: 07 93 cmp #0, r7 ;r3 As==00 b54a: 13 20 jnz $+40 ;abs 0xb572 0000b54c <.L5>: b54c: 81 93 0e 00 cmp #0, 14(r1) ;r3 As==00, 0x000e b550: 02 24 jz $+6 ;abs 0xb556 b552: 0c 4a mov r10, r12 ; b554: 0d 4b mov r11, r13 ; 0000b556 <.L1>: b556: 2f 3c jmp $+96 ;abs 0xb5b6 0000b558 <.L6>: b558: 05 4e mov r14, r5 ; b55a: 06 4f mov r15, r6 ; b55c: 05 5e add r14, r5 ; b55e: 06 6f addc r15, r6 ; b560: 0e 45 mov r5, r14 ; 0000b562 <.LVL7>: b562: 0f 46 mov r6, r15 ; 0000b564 <.LVL8>: b564: 05 48 mov r8, r5 ; b566: 06 49 mov r9, r6 ; b568: 05 58 add r8, r5 ; b56a: 06 69 addc r9, r6 ; b56c: 08 45 mov r5, r8 ; 0000b56e <.LVL9>: b56e: 09 46 mov r6, r9 ; 0000b570 <.LVL10>: b570: dc 3f jmp $-70 ;abs 0xb52a 0000b572 <.L11>: b572: 0b 9f cmp r15, r11 ; b574: 08 28 jnc $+18 ;abs 0xb586 b576: 0f 9b cmp r11, r15 ; b578: 02 20 jnz $+6 ;abs 0xb57e b57a: 0a 9e cmp r14, r10 ; b57c: 04 28 jnc $+10 ;abs 0xb586 0000b57e <.L16>: b57e: 0a 8e sub r14, r10 ; b580: 0b 7f subc r15, r11 ; 0000b582 <.Loc.48.1>: b582: 0c d8 bis r8, r12 ; 0000b584 <.LVL13>: b584: 0d d9 bis r9, r13 ; 0000b586 <.L9>: b586: 12 c3 clrc b588: 09 10 rrc r9 ; b58a: 08 10 rrc r8 ; 0000b58c <.Loc.51.1>: b58c: 12 c3 clrc b58e: 0f 10 rrc r15 ; b590: 0e 10 rrc r14 ; b592: d8 3f jmp $-78 ;abs 0xb544 0000b594 <.L14>: b594: 0d 4c mov r12, r13 ; b596: da 3f jmp $-74 ;abs 0xb54c 0000b598 <__mspabi_divlu>: b598: 21 83 decd r1 ; 0000b59a <.LCFI19>: b59a: 81 43 00 00 mov #0, 0(r1) ;r3 As==00 b59e: 0000b5a0 : b5a0: 0000b5a2 <.LVL43>: b5a2: 21 53 incd r1 ; 0000b5a4 <.LCFI20>: b5a4: 30 41 ret 0000b5a6 <__mspabi_remul>: b5a6: 21 83 decd r1 ; 0000b5a8 <.LCFI21>: b5a8: 91 43 00 00 mov #1, 0(r1) ;r3 As==01 b5ac: b0 12 10 b5 call #-19184 ;#0xb510 0000b5b0 <.LVL45>: b5b0: 21 53 incd r1 ; 0000b5b2 <.LCFI22>: b5b2: 30 41 ret 0000b5b4 <__mspabi_func_epilog_7>: b5b4: 34 41 pop r4 ; 0000b5b6 <__mspabi_func_epilog_6>: b5b6: 35 41 pop r5 ; 0000b5b8 <__mspabi_func_epilog_5>: b5b8: 36 41 pop r6 ; 0000b5ba <__mspabi_func_epilog_4>: b5ba: 37 41 pop r7 ; 0000b5bc <__mspabi_func_epilog_3>: b5bc: 38 41 pop r8 ; 0000b5be <__mspabi_func_epilog_2>: b5be: 39 41 pop r9 ; 0000b5c0 <__mspabi_func_epilog_1>: b5c0: 3a 41 pop r10 ; b5c2: 30 41 ret 0000b5c4 <.L1^B1>: b5c4: 3d 53 add #-1, r13 ;r3 As==11 b5c6: 0c 5c rla r12 ; 0000b5c8 <__mspabi_slli>: b5c8: 0d 93 cmp #0, r13 ;r3 As==00 b5ca: fc 23 jnz $-6 ;abs 0xb5c4 b5cc: 30 41 ret 0000b5ce <.L1^B2>: b5ce: 3e 53 add #-1, r14 ;r3 As==11 b5d0: 0c 5c rla r12 ; b5d2: 0d 6d rlc r13 ; 0000b5d4 <__mspabi_slll>: b5d4: 0e 93 cmp #0, r14 ;r3 As==00 b5d6: fb 23 jnz $-8 ;abs 0xb5ce b5d8: 30 41 ret 0000b5da <__mspabi_sllll>: b5da: 0f 4b mov r11, r15 ; b5dc: 0b 4c mov r12, r11 ; b5de: 0e 4a mov r10, r14 ; b5e0: 0d 49 mov r9, r13 ; b5e2: 0c 48 mov r8, r12 ; b5e4: 0b 93 cmp #0, r11 ;r3 As==00 b5e6: 01 20 jnz $+4 ;abs 0xb5ea b5e8: 30 41 ret 0000b5ea <.L1^B3>: b5ea: 0c 5c rla r12 ; b5ec: 0d 6d rlc r13 ; b5ee: 0e 6e rlc r14 ; b5f0: 0f 6f rlc r15 ; b5f2: 3b 53 add #-1, r11 ;r3 As==11 b5f4: fa 23 jnz $-10 ;abs 0xb5ea b5f6: 30 41 ret 0000b5f8 <.L1^B1>: b5f8: 3d 53 add #-1, r13 ;r3 As==11 b5fa: 12 c3 clrc b5fc: 0c 10 rrc r12 ; 0000b5fe <__mspabi_srli>: b5fe: 0d 93 cmp #0, r13 ;r3 As==00 b600: fb 23 jnz $-8 ;abs 0xb5f8 b602: 30 41 ret 0000b604 <.L1^B2>: b604: 3e 53 add #-1, r14 ;r3 As==11 b606: 12 c3 clrc b608: 0d 10 rrc r13 ; b60a: 0c 10 rrc r12 ; 0000b60c <__mspabi_srll>: b60c: 0e 93 cmp #0, r14 ;r3 As==00 b60e: fa 23 jnz $-10 ;abs 0xb604 b610: 30 41 ret 0000b612 <__mspabi_srlll>: b612: 0f 4b mov r11, r15 ; b614: 0b 4c mov r12, r11 ; b616: 0e 4a mov r10, r14 ; b618: 0d 49 mov r9, r13 ; b61a: 0c 48 mov r8, r12 ; b61c: 0b 93 cmp #0, r11 ;r3 As==00 b61e: 01 20 jnz $+4 ;abs 0xb622 b620: 30 41 ret 0000b622 <.L1^B3>: b622: 12 c3 clrc b624: 0f 10 rrc r15 ; b626: 0e 10 rrc r14 ; b628: 0d 10 rrc r13 ; b62a: 0c 10 rrc r12 ; b62c: 3b 53 add #-1, r11 ;r3 As==11 b62e: f9 23 jnz $-12 ;abs 0xb622 b630: 30 41 ret 0000b632 <__clzsi2>: b632: 09 12 push r9 ; 0000b634 <.LCFI0>: b634: 08 12 push r8 ; 0000b636 <.LBB2>: b636: 7e 40 ff 00 mov.b #255, r14 ;#0x00ff b63a: 0d 93 cmp #0, r13 ;r3 As==00 b63c: 13 20 jnz $+40 ;abs 0xb664 b63e: 0e 9c cmp r12, r14 ; b640: 19 2c jc $+52 ;abs 0xb674 b642: 7e 42 mov.b #8, r14 ;r2 As==11 0000b644 <.L12>: b644: 4f 43 clr.b r15 ; 0000b646 <.LBB3>: b646: 78 40 20 00 mov.b #32, r8 ;#0x0020 b64a: 49 43 clr.b r9 ; b64c: 08 8e sub r14, r8 ; b64e: 09 7f subc r15, r9 ; b650: b0 12 0c b6 call #-18932 ;#0xb60c 0000b654 <.LBE3>: b654: 0d 48 mov r8, r13 ; b656: 5c 4c 06 81 mov.b -32506(r12),r12 ;0xffff8106 b65a: 0d 8c sub r12, r13 ; b65c: 0c 4d mov r13, r12 ; b65e: 38 41 pop r8 ; 0000b660 <.LCFI2>: b660: 39 41 pop r9 ; 0000b662 <.LCFI3>: b662: 30 41 ret 0000b664 <.L2>: b664: 0e 9d cmp r13, r14 ; b666: 03 28 jnc $+8 ;abs 0xb66e b668: 7e 40 10 00 mov.b #16, r14 ;#0x0010 b66c: eb 3f jmp $-40 ;abs 0xb644 0000b66e <.L10>: b66e: 7e 40 18 00 mov.b #24, r14 ;#0x0018 b672: e8 3f jmp $-46 ;abs 0xb644 0000b674 <.L11>: b674: 4e 43 clr.b r14 ; b676: e6 3f jmp $-50 ;abs 0xb644 0000b678 <__unpack_f>: b678: 0a 12 push r10 ; 0000b67a <.LCFI0>: b67a: 09 12 push r9 ; 0000b67c <.LCFI1>: b67c: 08 12 push r8 ; 0000b67e : b67e: 07 12 push r7 ; 0000b680 <.LCFI3>: b680: 06 12 push r6 ; 0000b682 <.LCFI4>: b682: 05 12 push r5 ; 0000b684 <.LCFI5>: b684: 09 4c mov r12, r9 ; b686: 0a 4d mov r13, r10 ; 0000b688 <.Loc.434.1>: b688: 27 4c mov @r12, r7 ; b68a: 55 4c 02 00 mov.b 2(r12), r5 ; b68e: 08 45 mov r5, r8 ; b690: 78 f0 7f 00 and.b #127, r8 ;#0x007f 0000b694 <.LVL1>: b694: 1c 4c 02 00 mov 2(r12), r12 ; 0000b698 <.LVL2>: b698: 7d 40 07 00 mov.b #7, r13 ; 0000b69c <.LVL3>: b69c: b0 12 fe b5 call #-18946 ;#0xb5fe 0000b6a0 <.Loc.455.1>: b6a0: 46 4c mov.b r12, r6 ; 0000b6a2 <.LVL5>: b6a2: 5c 49 03 00 mov.b 3(r9), r12 ; b6a6: 7d 40 07 00 mov.b #7, r13 ; b6aa: b0 12 fe b5 call #-18946 ;#0xb5fe 0000b6ae <.LVL6>: b6ae: 3c f0 ff 00 and #255, r12 ;#0x00ff b6b2: 8a 4c 02 00 mov r12, 2(r10) ; 0000b6b6 <.Loc.509.1>: b6b6: 06 93 cmp #0, r6 ;r3 As==00 b6b8: 25 20 jnz $+76 ;abs 0xb704 0000b6ba <.Loc.512.1>: b6ba: 0c 47 mov r7, r12 ; b6bc: 0c d8 bis r8, r12 ; b6be: 0c 93 cmp #0, r12 ;r3 As==00 b6c0: 03 20 jnz $+8 ;abs 0xb6c8 0000b6c2 <.Loc.519.1>: b6c2: aa 43 00 00 mov #2, 0(r10) ;r3 As==10 0000b6c6 <.L1>: b6c6: 77 3f jmp $-272 ;abs 0xb5b6 0000b6c8 <.L3>: b6c8: 0c 47 mov r7, r12 ; b6ca: 0d 48 mov r8, r13 ; b6cc: 7e 40 07 00 mov.b #7, r14 ; b6d0: b0 12 d4 b5 call #-18988 ;#0xb5d4 0000b6d4 <.LVL9>: b6d4: ba 40 03 00 mov #3, 0(r10) ; b6d8: 00 00 0000b6da <.Loc.529.1>: b6da: 3e 40 81 ff mov #-127, r14 ;#0xff81 0000b6de <.L13>: b6de: 08 4c mov r12, r8 ; b6e0: 09 4d mov r13, r9 ; b6e2: 08 5c add r12, r8 ; b6e4: 09 6d addc r13, r9 ; b6e6: 0c 48 mov r8, r12 ; 0000b6e8 <.LVL11>: b6e8: 0d 49 mov r9, r13 ; 0000b6ea <.LVL12>: b6ea: 0f 4e mov r14, r15 ; 0000b6ec <.Loc.531.1>: b6ec: 3e 53 add #-1, r14 ;r3 As==11 b6ee: 39 40 ff 3f mov #16383, r9 ;#0x3fff b6f2: 09 9d cmp r13, r9 ; b6f4: f4 2f jc $-22 ;abs 0xb6de b6f6: 8a 4f 04 00 mov r15, 4(r10) ; 0000b6fa <.Loc.537.1>: b6fa: 8a 48 06 00 mov r8, 6(r10) ; 0000b6fe <.L14>: b6fe: 8a 4d 08 00 mov r13, 8(r10) ; 0000b702 <.Loc.576.1>: b702: e1 3f jmp $-60 ;abs 0xb6c6 0000b704 <.L2>: b704: 36 90 ff 00 cmp #255, r6 ;#0x00ff b708: 1f 20 jnz $+64 ;abs 0xb748 0000b70a <.Loc.543.1>: b70a: 0c 47 mov r7, r12 ; b70c: 0c d8 bis r8, r12 ; b70e: 0c 93 cmp #0, r12 ;r3 As==00 b710: 03 20 jnz $+8 ;abs 0xb718 0000b712 <.Loc.546.1>: b712: aa 42 00 00 mov #4, 0(r10) ;r2 As==10 b716: d7 3f jmp $-80 ;abs 0xb6c6 0000b718 <.L8>: b718: 0c 45 mov r5, r12 ; b71a: 7c f0 40 00 and.b #64, r12 ;#0x0040 b71e: 35 b0 40 00 bit #64, r5 ;#0x0040 b722: 0f 24 jz $+32 ;abs 0xb742 0000b724 <.Loc.557.1>: b724: 9a 43 00 00 mov #1, 0(r10) ;r3 As==01 0000b728 <.L11>: b728: 0c 47 mov r7, r12 ; b72a: 0d 48 mov r8, r13 ; b72c: 7e 40 07 00 mov.b #7, r14 ; b730: b0 12 d4 b5 call #-18988 ;#0xb5d4 b734: 3c f0 80 ff and #-128, r12 ;#0xff80 b738: 8a 4c 06 00 mov r12, 6(r10) ; b73c: 3d f0 ff df and #-8193, r13 ;#0xdfff b740: de 3f jmp $-66 ;abs 0xb6fe 0000b742 <.L9>: b742: 8a 4c 00 00 mov r12, 0(r10) ; b746: f0 3f jmp $-30 ;abs 0xb728 0000b748 <.L7>: b748: 36 50 81 ff add #-127, r6 ;#0xff81 0000b74c <.LVL18>: b74c: 8a 46 04 00 mov r6, 4(r10) ; 0000b750 <.Loc.573.1>: b750: ba 40 03 00 mov #3, 0(r10) ; b754: 00 00 0000b756 <.Loc.574.1>: b756: 0c 47 mov r7, r12 ; b758: 0d 48 mov r8, r13 ; b75a: 7e 40 07 00 mov.b #7, r14 ; b75e: b0 12 d4 b5 call #-18988 ;#0xb5d4 0000b762 <.Loc.574.1>: b762: 8a 4c 06 00 mov r12, 6(r10) ; b766: 3d d0 00 40 bis #16384, r13 ;#0x4000 b76a: c9 3f jmp $-108 ;abs 0xb6fe 0000b76c <__fpcmp_parts_f>: b76c: 0a 12 push r10 ; 0000b76e <.LCFI0>: b76e: 2e 4c mov @r12, r14 ; 0000b770 <.Loc.1084.1>: b770: 5a 43 mov.b #1, r10 ;r3 As==01 b772: 0a 9e cmp r14, r10 ; b774: 13 2c jc $+40 ;abs 0xb79c 0000b776 <.Loc.1084.1>: b776: 2f 4d mov @r13, r15 ; 0000b778 : b778: 0a 9f cmp r15, r10 ; b77a: 10 2c jc $+34 ;abs 0xb79c 0000b77c <.Loc.1088.1>: b77c: 2e 92 cmp #4, r14 ;r2 As==10 b77e: 09 20 jnz $+20 ;abs 0xb792 0000b780 <.Loc.159.1>: b780: 1e 4c 02 00 mov 2(r12), r14 ; 0000b784 <.Loc.1088.1>: b784: 2f 92 cmp #4, r15 ;r2 As==10 b786: 16 20 jnz $+46 ;abs 0xb7b4 0000b788 <.Loc.1099.1>: b788: 1c 4d 02 00 mov 2(r13), r12 ; 0000b78c <.LVL5>: b78c: 0c 8e sub r14, r12 ; 0000b78e <.L1>: b78e: 3a 41 pop r10 ; 0000b790 <.LCFI1>: b790: 30 41 ret 0000b792 <.L3>: b792: 2f 92 cmp #4, r15 ;r2 As==10 b794: 05 20 jnz $+12 ;abs 0xb7a0 0000b796 <.L7>: b796: 8d 93 02 00 cmp #0, 2(r13) ;r3 As==00 b79a: 0e 24 jz $+30 ;abs 0xb7b8 0000b79c <.L24>: b79c: 5c 43 mov.b #1, r12 ;r3 As==01 b79e: f7 3f jmp $-16 ;abs 0xb78e 0000b7a0 <.L5>: b7a0: 2e 93 cmp #2, r14 ;r3 As==10 b7a2: 04 20 jnz $+10 ;abs 0xb7ac 0000b7a4 <.Loc.1110.1>: b7a4: 2f 93 cmp #2, r15 ;r3 As==10 b7a6: f7 23 jnz $-16 ;abs 0xb796 0000b7a8 <.L25>: b7a8: 4c 43 clr.b r12 ; b7aa: f1 3f jmp $-28 ;abs 0xb78e 0000b7ac <.L6>: b7ac: 1e 4c 02 00 mov 2(r12), r14 ; 0000b7b0 <.Loc.1118.1>: b7b0: 2f 93 cmp #2, r15 ;r3 As==10 b7b2: 04 20 jnz $+10 ;abs 0xb7bc 0000b7b4 <.L27>: b7b4: 0e 93 cmp #0, r14 ;r3 As==00 b7b6: f2 27 jz $-26 ;abs 0xb79c 0000b7b8 <.L26>: b7b8: 3c 43 mov #-1, r12 ;r3 As==11 b7ba: e9 3f jmp $-44 ;abs 0xb78e 0000b7bc <.L8>: b7bc: 8d 9e 02 00 cmp r14, 2(r13) ; b7c0: f9 23 jnz $-12 ;abs 0xb7b4 0000b7c2 <.Loc.1129.1>: b7c2: 1b 4c 04 00 mov 4(r12), r11 ; 0000b7c6 <.Loc.1129.1>: b7c6: 1f 4d 04 00 mov 4(r13), r15 ; 0000b7ca <.Loc.1129.1>: b7ca: 0f 9b cmp r11, r15 ; b7cc: f3 3b jl $-24 ;abs 0xb7b4 0000b7ce <.Loc.1133.1>: b7ce: 0b 9f cmp r15, r11 ; b7d0: 03 34 jge $+8 ;abs 0xb7d8 0000b7d2 <.L28>: b7d2: 0e 93 cmp #0, r14 ;r3 As==00 b7d4: f1 27 jz $-28 ;abs 0xb7b8 b7d6: e2 3f jmp $-58 ;abs 0xb79c 0000b7d8 <.L11>: b7d8: 1f 4c 06 00 mov 6(r12), r15 ; b7dc: 1c 4c 08 00 mov 8(r12), r12 ; 0000b7e0 <.LVL17>: b7e0: 1b 4d 06 00 mov 6(r13), r11 ; b7e4: 1d 4d 08 00 mov 8(r13), r13 ; 0000b7e8 <.LVL18>: b7e8: 0d 9c cmp r12, r13 ; b7ea: e4 2b jnc $-54 ;abs 0xb7b4 b7ec: 0c 9d cmp r13, r12 ; b7ee: 02 20 jnz $+6 ;abs 0xb7f4 b7f0: 0b 9f cmp r15, r11 ; b7f2: e0 2b jnc $-62 ;abs 0xb7b4 0000b7f4 <.L12>: b7f4: 0c 9d cmp r13, r12 ; b7f6: ed 2b jnc $-36 ;abs 0xb7d2 b7f8: 0d 9c cmp r12, r13 ; b7fa: d6 23 jnz $-82 ;abs 0xb7a8 b7fc: 0f 9b cmp r11, r15 ; b7fe: d4 2f jc $-86 ;abs 0xb7a8 b800: e8 3f jmp $-46 ;abs 0xb7d2 0000b802 <__make_fp>: b802: 21 83 decd r1 ; b804: 91 41 02 00 mov 2(r1), 0(r1) ; b808: 00 00 0000b80a <.LCFI0>: b80a: 0000b80c : b80c: 0a 00 mova @r0, r10 ; 0000b80e <.LCFI1>: b80e: 81 4f 0c 00 mov r15, 12(r1) ; 0x000c 0000b812 <.Loc.1476.1>: b812: 81 4c 00 00 mov r12, 0(r1) ; 0000b816 <.Loc.1479.1>: b816: 81 4d 02 00 mov r13, 2(r1) ; 0000b81a <.Loc.1480.1>: b81a: 81 4e 04 00 mov r14, 4(r1) ; 0000b81e <.Loc.1481.1>: b81e: 91 41 0c 00 mov 12(r1), 6(r1) ;0x0000c b822: 06 00 b824: 91 41 0e 00 mov 14(r1), 8(r1) ;0x0000e b828: 08 00 0000b82a <.Loc.1482.1>: b82a: 0c 41 mov r1, r12 ; 0000b82c <.LVL1>: b82c: b0 12 38 bc call #-17352 ;#0xbc38 0000b830 <.LVL2>: b830: 31 50 0a 00 add #10, r1 ;#0x000a 0000b834 <.LCFI2>: b834: a1 41 02 00 mov @r1, 2(r1) ; b838: 21 53 incd r1 ; b83a: 30 41 ret 0000b83c <__pack_d>: b83c: 0a 12 push r10 ; 0000b83e <.LCFI0>: b83e: 09 12 push r9 ; 0000b840 <.LCFI1>: b840: 08 12 push r8 ; 0000b842 <.LCFI2>: b842: 07 12 push r7 ; 0000b844 <.LCFI3>: b844: 06 12 push r6 ; 0000b846 <.LCFI4>: b846: 05 12 push r5 ; 0000b848 <.LCFI5>: b848: 04 12 push r4 ; 0000b84a <.LCFI6>: b84a: 31 80 0e 00 sub #14, r1 ;#0x000e 0000b84e <.LCFI7>: b84e: 17 4c 06 00 mov 6(r12), r7 ; b852: 16 4c 08 00 mov 8(r12), r6 ; b856: 14 4c 0a 00 mov 10(r12),r4 ;0x0000a b85a: 91 4c 0c 00 mov 12(r12),0(r1) ;0x0000c b85e: 00 00 0000b860 <.LVL1>: b860: 91 4c 02 00 mov 2(r12), 4(r1) ; b864: 04 00 0000b866 <.LVL2>: b866: 2d 4c mov @r12, r13 ; 0000b868 <.Loc.151.1>: b868: 5e 43 mov.b #1, r14 ;r3 As==01 b86a: 0e 9d cmp r13, r14 ; b86c: 29 28 jnc $+84 ;abs 0xb8c0 0000b86e <.LVL4>: b86e: 08 47 mov r7, r8 ; b870: 09 46 mov r6, r9 ; b872: 0a 44 mov r4, r10 ; b874: 2b 41 mov @r1, r11 ; b876: 7c 42 mov.b #8, r12 ;r2 As==11 0000b878 <.LVL5>: b878: b0 12 12 b6 call #-18926 ;#0xb612 0000b87c <.LVL6>: b87c: 7f f0 07 00 and.b #7, r15 ; 0000b880 <.Loc.211.1>: b880: 07 4c mov r12, r7 ; b882: 06 4d mov r13, r6 ; b884: 04 4e mov r14, r4 ; b886: 3f d2 bis #8, r15 ;r2 As==11 0000b888 <.LVL8>: b888: 81 4f 00 00 mov r15, 0(r1) ; 0000b88c <.LVL9>: b88c: 35 40 ff 07 mov #2047, r5 ;#0x07ff 0000b890 <.L3>: b890: 35 f0 ff 07 and #2047, r5 ;#0x07ff 0000b894 <.LVL11>: b894: 05 55 rla r5 ; b896: 05 55 rla r5 ; b898: 05 55 rla r5 ; b89a: 05 55 rla r5 ; b89c: 2f 41 mov @r1, r15 ; b89e: 7f f0 0f 00 and.b #15, r15 ;#0x000f b8a2: 05 df bis r15, r5 ; 0000b8a4 <.Loc.322.1>: b8a4: 1c 41 04 00 mov 4(r1), r12 ; b8a8: 7d 40 0f 00 mov.b #15, r13 ;#0x000f b8ac: b0 12 c8 b5 call #-19000 ;#0xb5c8 b8b0: 0f 4c mov r12, r15 ; 0000b8b2 <.Loc.423.1>: b8b2: 0c 47 mov r7, r12 ; b8b4: 0d 46 mov r6, r13 ; b8b6: 0e 44 mov r4, r14 ; b8b8: 0f d5 bis r5, r15 ; b8ba: 31 50 0e 00 add #14, r1 ;#0x000e 0000b8be <.LCFI8>: b8be: 7a 3e jmp $-778 ;abs 0xb5b4 0000b8c0 <.L2>: b8c0: 2d 92 cmp #4, r13 ;r2 As==10 b8c2: 03 25 jz $+520 ;abs 0xbaca 0000b8c4 <.Loc.168.1>: b8c4: 2d 93 cmp #2, r13 ;r3 As==10 b8c6: fa 24 jz $+502 ;abs 0xbabc 0000b8c8 <.Loc.234.1>: b8c8: 05 47 mov r7, r5 ; b8ca: 05 d6 bis r6, r5 ; b8cc: 05 d4 bis r4, r5 ; b8ce: 25 d1 bis @r1, r5 ; b8d0: 05 93 cmp #0, r5 ;r3 As==00 b8d2: de 27 jz $-66 ;abs 0xb890 0000b8d4 <.Loc.240.1>: b8d4: 15 4c 04 00 mov 4(r12), r5 ; 0000b8d8 <.Loc.240.1>: b8d8: 35 90 02 fc cmp #-1022, r5 ;#0xfc02 b8dc: a8 34 jge $+338 ;abs 0xba2e 0000b8de <.LBB10>: b8de: 3c 40 02 fc mov #-1022, r12 ;#0xfc02 0000b8e2 <.LVL16>: b8e2: 0c 85 sub r5, r12 ; b8e4: 81 4c 02 00 mov r12, 2(r1) ; 0000b8e8 <.LVL17>: b8e8: 7e 40 38 00 mov.b #56, r14 ;#0x0038 b8ec: 0e 9c cmp r12, r14 ; b8ee: 83 38 jl $+264 ;abs 0xb9f6 0000b8f0 <.LBB11>: b8f0: 08 47 mov r7, r8 ; b8f2: 09 46 mov r6, r9 ; b8f4: 0a 44 mov r4, r10 ; b8f6: 2b 41 mov @r1, r11 ; b8f8: b0 12 12 b6 call #-18926 ;#0xb612 0000b8fc <.LVL19>: b8fc: 81 4c 06 00 mov r12, 6(r1) ; b900: 81 4d 08 00 mov r13, 8(r1) ; b904: 81 4e 0a 00 mov r14, 10(r1) ; 0x000a b908: 81 4f 0c 00 mov r15, 12(r1) ; 0x000c 0000b90c <.Loc.264.1>: b90c: 38 43 mov #-1, r8 ;r3 As==11 b90e: 09 48 mov r8, r9 ; b910: 0a 48 mov r8, r10 ; b912: 0b 48 mov r8, r11 ; b914: 1c 41 02 00 mov 2(r1), r12 ; b918: b0 12 da b5 call #-18982 ;#0xb5da b91c: 07 cc bic r12, r7 ; 0000b91e <.LVL21>: b91e: 0c 47 mov r7, r12 ; b920: 06 cd bic r13, r6 ; b922: 04 ce bic r14, r4 ; b924: 0e 44 mov r4, r14 ; b926: 2b 41 mov @r1, r11 ; b928: 0b cf bic r15, r11 ; 0000b92a <.Loc.264.1>: b92a: 44 43 clr.b r4 ; b92c: 08 44 mov r4, r8 ; b92e: 08 87 sub r7, r8 ; b930: 57 43 mov.b #1, r7 ;r3 As==01 b932: 04 9c cmp r12, r4 ; b934: 01 20 jnz $+4 ;abs 0xb938 b936: 07 48 mov r8, r7 ; 0000b938 <.L7>: b938: 0a 44 mov r4, r10 ; b93a: 0a 86 sub r6, r10 ; b93c: 5f 43 mov.b #1, r15 ;r3 As==01 b93e: 04 96 cmp r6, r4 ; b940: 01 20 jnz $+4 ;abs 0xb944 b942: 0f 4a mov r10, r15 ; 0000b944 <.L8>: b944: 09 4a mov r10, r9 ; b946: 09 87 sub r7, r9 ; b948: 57 43 mov.b #1, r7 ;r3 As==01 b94a: 0a 99 cmp r9, r10 ; b94c: 01 28 jnc $+4 ;abs 0xb950 b94e: 47 43 clr.b r7 ; 0000b950 <.L9>: b950: 0f d7 bis r7, r15 ; b952: 07 44 mov r4, r7 ; b954: 07 8e sub r14, r7 ; b956: 55 43 mov.b #1, r5 ;r3 As==01 b958: 04 9e cmp r14, r4 ; b95a: 01 20 jnz $+4 ;abs 0xb95e b95c: 05 47 mov r7, r5 ; 0000b95e <.L10>: b95e: 0a 47 mov r7, r10 ; b960: 0a 8f sub r15, r10 ; b962: 5f 43 mov.b #1, r15 ;r3 As==01 b964: 07 9a cmp r10, r7 ; b966: 01 28 jnc $+4 ;abs 0xb96a b968: 4f 43 clr.b r15 ; 0000b96a <.L11>: b96a: 05 df bis r15, r5 ; b96c: 04 8b sub r11, r4 ; b96e: 04 85 sub r5, r4 ; b970: 08 dc bis r12, r8 ; b972: 09 d6 bis r6, r9 ; b974: 0a de bis r14, r10 ; b976: 0b d4 bis r4, r11 ; b978: 7c 40 3f 00 mov.b #63, r12 ;#0x003f b97c: b0 12 12 b6 call #-18926 ;#0xb612 0000b980 <.Loc.265.1>: b980: 18 41 06 00 mov 6(r1), r8 ; b984: 08 dc bis r12, r8 ; b986: 19 41 08 00 mov 8(r1), r9 ; b98a: 09 dd bis r13, r9 ; b98c: 1a 41 0a 00 mov 10(r1), r10 ;0x0000a b990: 0a de bis r14, r10 ; b992: 1b 41 0c 00 mov 12(r1), r11 ;0x0000c b996: 0b df bis r15, r11 ; 0000b998 <.LBE11>: b998: 0f 48 mov r8, r15 ; b99a: 7f f0 ff 00 and.b #255, r15 ;#0x00ff 0000b99e <.Loc.267.1>: b99e: 78 90 80 ff cmp.b #-128, r8 ;#0xff80 b9a2: 2d 20 jnz $+92 ;abs 0xb9fe 0000b9a4 <.Loc.269.1>: b9a4: 38 b0 00 01 bit #256, r8 ;#0x0100 b9a8: 17 24 jz $+48 ;abs 0xb9d8 0000b9aa <.Loc.270.1>: b9aa: 0f 58 add r8, r15 ; b9ac: 5d 43 mov.b #1, r13 ;r3 As==01 b9ae: 0f 98 cmp r8, r15 ; b9b0: 01 28 jnc $+4 ;abs 0xb9b4 b9b2: 4d 43 clr.b r13 ; 0000b9b4 <.L14>: b9b4: 4c 43 clr.b r12 ; b9b6: 0d 59 add r9, r13 ; b9b8: 5e 43 mov.b #1, r14 ;r3 As==01 b9ba: 0d 99 cmp r9, r13 ; b9bc: 01 28 jnc $+4 ;abs 0xb9c0 b9be: 0e 4c mov r12, r14 ; 0000b9c0 <.L16>: b9c0: 0c de bis r14, r12 ; b9c2: 4e 43 clr.b r14 ; b9c4: 0c 5a add r10, r12 ; b9c6: 59 43 mov.b #1, r9 ;r3 As==01 0000b9c8 <.LVL24>: b9c8: 0c 9a cmp r10, r12 ; b9ca: 01 28 jnc $+4 ;abs 0xb9ce b9cc: 09 4e mov r14, r9 ; 0000b9ce <.L18>: b9ce: 0e d9 bis r9, r14 ; b9d0: 08 4f mov r15, r8 ; 0000b9d2 <.L54>: b9d2: 09 4d mov r13, r9 ; b9d4: 0a 4c mov r12, r10 ; b9d6: 0b 5e add r14, r11 ; 0000b9d8 <.L12>: b9d8: 55 43 mov.b #1, r5 ;r3 As==01 b9da: 3c 40 ff 0f mov #4095, r12 ;#0x0fff b9de: 0c 9b cmp r11, r12 ; b9e0: 01 28 jnc $+4 ;abs 0xb9e4 b9e2: 45 43 clr.b r5 ; 0000b9e4 <.L55>: b9e4: 7c 42 mov.b #8, r12 ;r2 As==11 b9e6: b0 12 12 b6 call #-18926 ;#0xb612 b9ea: 07 4c mov r12, r7 ; b9ec: 06 4d mov r13, r6 ; b9ee: 04 4e mov r14, r4 ; b9f0: 81 4f 00 00 mov r15, 0(r1) ; 0000b9f4 <.LVL28>: b9f4: 4d 3f jmp $-356 ;abs 0xb890 0000b9f6 <.L45>: b9f6: 48 43 clr.b r8 ; b9f8: 09 48 mov r8, r9 ; b9fa: 0a 48 mov r8, r10 ; b9fc: 0b 48 mov r8, r11 ; 0000b9fe <.L6>: b9fe: 07 48 mov r8, r7 ; ba00: 37 50 7f 00 add #127, r7 ;#0x007f ba04: 5d 43 mov.b #1, r13 ;r3 As==01 ba06: 38 90 81 ff cmp #-127, r8 ;#0xff81 ba0a: 01 2c jc $+4 ;abs 0xba0e ba0c: 4d 43 clr.b r13 ; 0000ba0e <.L19>: ba0e: 4c 43 clr.b r12 ; ba10: 0d 59 add r9, r13 ; ba12: 5e 43 mov.b #1, r14 ;r3 As==01 ba14: 0d 99 cmp r9, r13 ; ba16: 01 28 jnc $+4 ;abs 0xba1a ba18: 0e 4c mov r12, r14 ; 0000ba1a <.L21>: ba1a: 0c de bis r14, r12 ; ba1c: 4e 43 clr.b r14 ; ba1e: 0c 5a add r10, r12 ; ba20: 5f 43 mov.b #1, r15 ;r3 As==01 ba22: 0c 9a cmp r10, r12 ; ba24: 01 28 jnc $+4 ;abs 0xba28 ba26: 0f 4e mov r14, r15 ; 0000ba28 <.L23>: ba28: 0e df bis r15, r14 ; ba2a: 08 47 mov r7, r8 ; 0000ba2c <.LVL31>: ba2c: d2 3f jmp $-90 ;abs 0xb9d2 0000ba2e <.L5>: ba2e: 3e 40 ff 03 mov #1023, r14 ;#0x03ff ba32: 0e 95 cmp r5, r14 ; ba34: 4a 38 jl $+150 ;abs 0xbaca 0000ba36 <.LVL33>: ba36: 77 90 80 ff cmp.b #-128, r7 ;#0xff80 ba3a: 0c 20 jnz $+26 ;abs 0xba54 0000ba3c <.Loc.299.1>: ba3c: 37 b0 00 01 bit #256, r7 ;#0x0100 ba40: 23 24 jz $+72 ;abs 0xba88 0000ba42 <.Loc.300.1>: ba42: 0a 47 mov r7, r10 ; ba44: 3a 50 80 00 add #128, r10 ;#0x0080 ba48: 5d 43 mov.b #1, r13 ;r3 As==01 ba4a: 37 90 80 ff cmp #-128, r7 ;#0xff80 ba4e: 09 2c jc $+20 ;abs 0xba62 0000ba50 <.L58>: ba50: 4d 43 clr.b r13 ; ba52: 07 3c jmp $+16 ;abs 0xba62 0000ba54 <.L26>: ba54: 0a 47 mov r7, r10 ; ba56: 3a 50 7f 00 add #127, r10 ;#0x007f ba5a: 5d 43 mov.b #1, r13 ;r3 As==01 ba5c: 37 90 81 ff cmp #-127, r7 ;#0xff81 ba60: f7 2b jnc $-16 ;abs 0xba50 0000ba62 <.L34>: ba62: 4c 43 clr.b r12 ; 0000ba64 <.LVL34>: ba64: 0d 56 add r6, r13 ; ba66: 5e 43 mov.b #1, r14 ;r3 As==01 ba68: 0d 96 cmp r6, r13 ; ba6a: 01 28 jnc $+4 ;abs 0xba6e ba6c: 0e 4c mov r12, r14 ; 0000ba6e <.L36>: ba6e: 0c de bis r14, r12 ; ba70: 4e 43 clr.b r14 ; ba72: 0c 54 add r4, r12 ; ba74: 5f 43 mov.b #1, r15 ;r3 As==01 ba76: 0c 94 cmp r4, r12 ; ba78: 01 28 jnc $+4 ;abs 0xba7c ba7a: 0f 4e mov r14, r15 ; 0000ba7c <.L38>: ba7c: 0e df bis r15, r14 ; ba7e: 07 4a mov r10, r7 ; 0000ba80 <.LVL35>: ba80: 06 4d mov r13, r6 ; ba82: 04 4c mov r12, r4 ; ba84: 81 5e 00 00 add r14, 0(r1) ; 0000ba88 <.L27>: ba88: 3c 40 ff 1f mov #8191, r12 ;#0x1fff ba8c: 2c 91 cmp @r1, r12 ; ba8e: 07 28 jnc $+16 ;abs 0xba9e 0000ba90 <.Loc.293.1>: ba90: 35 50 ff 03 add #1023, r5 ;#0x03ff 0000ba94 <.L41>: ba94: 08 47 mov r7, r8 ; ba96: 09 46 mov r6, r9 ; ba98: 0a 44 mov r4, r10 ; ba9a: 2b 41 mov @r1, r11 ; ba9c: a3 3f jmp $-184 ;abs 0xb9e4 0000ba9e <.L39>: ba9e: 08 47 mov r7, r8 ; baa0: 09 46 mov r6, r9 ; baa2: 0a 44 mov r4, r10 ; baa4: 2b 41 mov @r1, r11 ; baa6: 5c 43 mov.b #1, r12 ;r3 As==01 baa8: b0 12 12 b6 call #-18926 ;#0xb612 baac: 07 4c mov r12, r7 ; 0000baae <.LVL40>: baae: 06 4d mov r13, r6 ; 0000bab0 <.LVL41>: bab0: 04 4e mov r14, r4 ; 0000bab2 <.LVL42>: bab2: 81 4f 00 00 mov r15, 0(r1) ; 0000bab6 <.LVL43>: bab6: 35 50 00 04 add #1024, r5 ;#0x0400 0000baba <.LVL44>: baba: ec 3f jmp $-38 ;abs 0xba94 0000babc <.L43>: babc: 45 43 clr.b r5 ; 0000babe <.Loc.232.1>: babe: 07 45 mov r5, r7 ; 0000bac0 <.LVL46>: bac0: 06 45 mov r5, r6 ; bac2: 04 45 mov r5, r4 ; bac4: 81 45 00 00 mov r5, 0(r1) ; bac8: e3 3e jmp $-568 ;abs 0xb890 0000baca <.L46>: baca: 35 40 ff 07 mov #2047, r5 ;#0x07ff 0000bace <.Loc.227.1>: bace: 47 43 clr.b r7 ; 0000bad0 <.LVL48>: bad0: 06 47 mov r7, r6 ; bad2: 04 47 mov r7, r4 ; bad4: 81 47 00 00 mov r7, 0(r1) ; bad8: db 3e jmp $-584 ;abs 0xb890 0000bada <__unpack_d>: bada: 0a 12 push r10 ; 0000badc <.LCFI0>: badc: 09 12 push r9 ; 0000bade <.LCFI1>: bade: 08 12 push r8 ; 0000bae0 <.LCFI2>: bae0: 07 12 push r7 ; 0000bae2 <.LCFI3>: bae2: 06 12 push r6 ; 0000bae4 <.LCFI4>: bae4: 05 12 push r5 ; 0000bae6 <.LCFI5>: bae6: 04 12 push r4 ; 0000bae8 <.LCFI6>: bae8: 21 82 sub #4, r1 ;r2 As==10 0000baea : baea: 07 4d mov r13, r7 ; 0000baec <.Loc.434.1>: baec: 28 4c mov @r12, r8 ; baee: 19 4c 02 00 mov 2(r12), r9 ; baf2: 1a 4c 04 00 mov 4(r12), r10 ; baf6: 55 4c 06 00 mov.b 6(r12), r5 ; bafa: 0b 45 mov r5, r11 ; bafc: 7b f0 0f 00 and.b #15, r11 ;#0x000f 0000bb00 <.LVL1>: bb00: 16 4c 06 00 mov 6(r12), r6 ; bb04: 12 c3 clrc bb06: 06 10 rrc r6 ; bb08: 12 c3 clrc bb0a: 06 10 rrc r6 ; bb0c: 12 c3 clrc bb0e: 06 10 rrc r6 ; bb10: 12 c3 clrc bb12: 06 10 rrc r6 ; bb14: 36 f0 ff 07 and #2047, r6 ;#0x07ff 0000bb18 <.LVL2>: bb18: 5c 4c 07 00 mov.b 7(r12), r12 ; 0000bb1c <.LVL3>: bb1c: 7d 40 07 00 mov.b #7, r13 ; 0000bb20 <.LVL4>: bb20: 81 4b 02 00 mov r11, 2(r1) ; bb24: b0 12 fe b5 call #-18946 ;#0xb5fe 0000bb28 <.LVL5>: bb28: 3c f0 ff 00 and #255, r12 ;#0x00ff bb2c: 87 4c 02 00 mov r12, 2(r7) ; 0000bb30 <.Loc.509.1>: bb30: 1b 41 02 00 mov 2(r1), r11 ; 0000bb34 <.LVL6>: bb34: 06 93 cmp #0, r6 ;r3 As==00 bb36: 4a 20 jnz $+150 ;abs 0xbbcc 0000bb38 <.Loc.512.1>: bb38: 0c 48 mov r8, r12 ; bb3a: 0c d9 bis r9, r12 ; bb3c: 0c da bis r10, r12 ; bb3e: 0c db bis r11, r12 ; bb40: 0c 93 cmp #0, r12 ;r3 As==00 bb42: 05 20 jnz $+12 ;abs 0xbb4e 0000bb44 <.Loc.519.1>: bb44: a7 43 00 00 mov #2, 0(r7) ;r3 As==10 0000bb48 <.L1>: bb48: 21 52 add #4, r1 ;r2 As==10 0000bb4a <.LCFI8>: bb4a: 30 40 b4 b5 br #0xb5b4 ; 0000bb4e <.L3>: bb4e: 7c 42 mov.b #8, r12 ;r2 As==11 bb50: b0 12 da b5 call #-18982 ;#0xb5da 0000bb54 <.LVL9>: bb54: 0b 4c mov r12, r11 ; 0000bb56 <.LVL10>: bb56: b7 40 03 00 mov #3, 0(r7) ; bb5a: 00 00 0000bb5c <.Loc.529.1>: bb5c: 35 40 01 fc mov #-1023, r5 ;#0xfc01 0000bb60 <.Loc.533.1>: bb60: 54 43 mov.b #1, r4 ;r3 As==01 0000bb62 <.L18>: bb62: 09 4b mov r11, r9 ; bb64: 09 5b add r11, r9 ; bb66: 08 44 mov r4, r8 ; bb68: 09 9b cmp r11, r9 ; bb6a: 01 28 jnc $+4 ;abs 0xbb6e bb6c: 08 46 mov r6, r8 ; 0000bb6e <.L5>: bb6e: 0a 4d mov r13, r10 ; bb70: 0a 5d add r13, r10 ; bb72: 5c 43 mov.b #1, r12 ;r3 As==01 bb74: 0a 9d cmp r13, r10 ; bb76: 01 28 jnc $+4 ;abs 0xbb7a bb78: 4c 43 clr.b r12 ; 0000bb7a <.L6>: bb7a: 08 5a add r10, r8 ; bb7c: 0d 44 mov r4, r13 ; 0000bb7e <.LVL12>: bb7e: 08 9a cmp r10, r8 ; bb80: 01 28 jnc $+4 ;abs 0xbb84 bb82: 0d 46 mov r6, r13 ; 0000bb84 <.L7>: bb84: 0c dd bis r13, r12 ; bb86: 0d 4e mov r14, r13 ; bb88: 0d 5e add r14, r13 ; bb8a: 5a 43 mov.b #1, r10 ;r3 As==01 bb8c: 0d 9e cmp r14, r13 ; bb8e: 01 28 jnc $+4 ;abs 0xbb92 bb90: 4a 43 clr.b r10 ; 0000bb92 <.L8>: bb92: 0c 5d add r13, r12 ; bb94: 0e 44 mov r4, r14 ; bb96: 0c 9d cmp r13, r12 ; bb98: 01 28 jnc $+4 ;abs 0xbb9c bb9a: 0e 46 mov r6, r14 ; 0000bb9c <.L9>: bb9c: 0a de bis r14, r10 ; bb9e: 0f 5f rla r15 ; bba0: 0b 49 mov r9, r11 ; bba2: 0d 48 mov r8, r13 ; bba4: 0e 4c mov r12, r14 ; bba6: 0f 5a add r10, r15 ; 0000bba8 <.LVL13>: bba8: 81 45 00 00 mov r5, 0(r1) ; 0000bbac <.Loc.531.1>: bbac: 35 53 add #-1, r5 ;r3 As==11 bbae: 3a 40 ff 0f mov #4095, r10 ;#0x0fff bbb2: 0a 9f cmp r15, r10 ; bbb4: d6 2f jc $-82 ;abs 0xbb62 0000bbb6 <.LVL14>: bbb6: a7 41 04 00 mov @r1, 4(r7) ; 0000bbba <.Loc.537.1>: bbba: 87 49 06 00 mov r9, 6(r7) ; bbbe: 87 48 08 00 mov r8, 8(r7) ; bbc2: 87 4c 0a 00 mov r12, 10(r7) ; 0x000a 0000bbc6 <.L19>: bbc6: 87 4f 0c 00 mov r15, 12(r7) ; 0x000c 0000bbca <.Loc.576.1>: bbca: be 3f jmp $-130 ;abs 0xbb48 0000bbcc <.L2>: bbcc: 36 90 ff 07 cmp #2047, r6 ;#0x07ff bbd0: 20 20 jnz $+66 ;abs 0xbc12 0000bbd2 <.Loc.543.1>: bbd2: 0c 48 mov r8, r12 ; bbd4: 0c d9 bis r9, r12 ; bbd6: 0c da bis r10, r12 ; bbd8: 0c db bis r11, r12 ; bbda: 0c 93 cmp #0, r12 ;r3 As==00 bbdc: 03 20 jnz $+8 ;abs 0xbbe4 0000bbde <.Loc.546.1>: bbde: a7 42 00 00 mov #4, 0(r7) ;r2 As==10 bbe2: b2 3f jmp $-154 ;abs 0xbb48 0000bbe4 <.L13>: bbe4: 0c 45 mov r5, r12 ; bbe6: 7c f2 and.b #8, r12 ;r2 As==11 bbe8: 35 b2 bit #8, r5 ;r2 As==11 bbea: 10 24 jz $+34 ;abs 0xbc0c 0000bbec <.Loc.557.1>: bbec: 97 43 00 00 mov #1, 0(r7) ;r3 As==01 0000bbf0 <.L16>: bbf0: 7c 42 mov.b #8, r12 ;r2 As==11 bbf2: b0 12 da b5 call #-18982 ;#0xb5da 0000bbf6 <.Loc.566.1>: bbf6: 3c f0 00 ff and #-256, r12 ;#0xff00 bbfa: 87 4c 06 00 mov r12, 6(r7) ; bbfe: 87 4d 08 00 mov r13, 8(r7) ; bc02: 87 4e 0a 00 mov r14, 10(r7) ; 0x000a bc06: 3f f0 ff f7 and #-2049, r15 ;#0xf7ff bc0a: dd 3f jmp $-68 ;abs 0xbbc6 0000bc0c <.L14>: bc0c: 87 4c 00 00 mov r12, 0(r7) ; bc10: ef 3f jmp $-32 ;abs 0xbbf0 0000bc12 <.L12>: bc12: 36 50 01 fc add #-1023, r6 ;#0xfc01 0000bc16 <.LVL20>: bc16: 87 46 04 00 mov r6, 4(r7) ; 0000bc1a <.Loc.573.1>: bc1a: b7 40 03 00 mov #3, 0(r7) ; bc1e: 00 00 0000bc20 <.Loc.574.1>: bc20: 7c 42 mov.b #8, r12 ;r2 As==11 bc22: b0 12 da b5 call #-18982 ;#0xb5da 0000bc26 <.LVL21>: bc26: 87 4c 06 00 mov r12, 6(r7) ; bc2a: 87 4d 08 00 mov r13, 8(r7) ; bc2e: 87 4e 0a 00 mov r14, 10(r7) ; 0x000a bc32: 3f d0 00 10 bis #4096, r15 ;#0x1000 bc36: c7 3f jmp $-112 ;abs 0xbbc6 0000bc38 <__pack_f>: bc38: 0a 12 push r10 ; 0000bc3a <.LCFI0>: bc3a: 09 12 push r9 ; 0000bc3c <.LCFI1>: bc3c: 08 12 push r8 ; 0000bc3e <.LCFI2>: bc3e: 07 12 push r7 ; 0000bc40 <.LCFI3>: bc40: 06 12 push r6 ; 0000bc42 : bc42: 05 12 push r5 ; 0000bc44 <.LCFI5>: bc44: 04 12 push r4 ; 0000bc46 <.LCFI6>: bc46: 18 4c 06 00 mov 6(r12), r8 ; bc4a: 19 4c 08 00 mov 8(r12), r9 ; 0000bc4e <.LVL1>: bc4e: 15 4c 02 00 mov 2(r12), r5 ; 0000bc52 <.LVL2>: bc52: 2d 4c mov @r12, r13 ; 0000bc54 <.Loc.151.1>: bc54: 5e 43 mov.b #1, r14 ;r3 As==01 bc56: 0e 9d cmp r13, r14 ; bc58: 28 28 jnc $+82 ;abs 0xbcaa 0000bc5a <.LVL4>: bc5a: 0c 48 mov r8, r12 ; 0000bc5c <.LVL5>: bc5c: 0d 49 mov r9, r13 ; bc5e: 7e 40 07 00 mov.b #7, r14 ; bc62: b0 12 0c b6 call #-18932 ;#0xb60c 0000bc66 <.LVL6>: bc66: 7d f0 3f 00 and.b #63, r13 ;#0x003f 0000bc6a <.Loc.211.1>: bc6a: 08 4c mov r12, r8 ; bc6c: 09 4d mov r13, r9 ; bc6e: 39 d0 40 00 bis #64, r9 ;#0x0040 0000bc72 <.LVL8>: bc72: 7a 40 ff 00 mov.b #255, r10 ;#0x00ff 0000bc76 <.L3>: bc76: 0c 48 mov r8, r12 ; bc78: 0d 49 mov r9, r13 ; bc7a: 7e 40 10 00 mov.b #16, r14 ;#0x0010 bc7e: b0 12 0c b6 call #-18932 ;#0xb60c bc82: 09 4c mov r12, r9 ; bc84: 79 f0 7f 00 and.b #127, r9 ;#0x007f bc88: 0c 4a mov r10, r12 ; bc8a: 7d 40 07 00 mov.b #7, r13 ; bc8e: b0 12 c8 b5 call #-19000 ;#0xb5c8 bc92: 0a 4c mov r12, r10 ; 0000bc94 <.LVL12>: bc94: 0a d9 bis r9, r10 ; bc96: 0c 45 mov r5, r12 ; bc98: 7d 40 0f 00 mov.b #15, r13 ;#0x000f bc9c: b0 12 c8 b5 call #-19000 ;#0xb5c8 bca0: 0d 4c mov r12, r13 ; 0000bca2 <.Loc.423.1>: bca2: 0c 48 mov r8, r12 ; bca4: 0d da bis r10, r13 ; bca6: 30 40 b4 b5 br #0xb5b4 ; 0000bcaa <.L2>: bcaa: 2d 92 cmp #4, r13 ;r2 As==10 bcac: 76 24 jz $+238 ;abs 0xbd9a 0000bcae <.Loc.168.1>: bcae: 2d 93 cmp #2, r13 ;r3 As==10 bcb0: 70 24 jz $+226 ;abs 0xbd92 0000bcb2 <.Loc.234.1>: bcb2: 0a 48 mov r8, r10 ; bcb4: 0a d9 bis r9, r10 ; bcb6: 0a 93 cmp #0, r10 ;r3 As==00 bcb8: de 27 jz $-66 ;abs 0xbc76 0000bcba <.Loc.240.1>: bcba: 1a 4c 04 00 mov 4(r12), r10 ; 0000bcbe <.Loc.240.1>: bcbe: 3a 90 82 ff cmp #-126, r10 ;#0xff82 bcc2: 46 34 jge $+142 ;abs 0xbd50 0000bcc4 <.LBB10>: bcc4: 36 40 82 ff mov #-126, r6 ;#0xff82 bcc8: 06 8a sub r10, r6 ; 0000bcca <.LVL16>: bcca: 7c 40 19 00 mov.b #25, r12 ;#0x0019 0000bcce <.LVL17>: bcce: 0c 96 cmp r6, r12 ; bcd0: 3a 38 jl $+118 ;abs 0xbd46 0000bcd2 <.LBB11>: bcd2: 07 43 clr r7 ; bcd4: 0c 48 mov r8, r12 ; bcd6: 0d 49 mov r9, r13 ; bcd8: 0e 46 mov r6, r14 ; bcda: b0 12 0c b6 call #-18932 ;#0xb60c bcde: 04 4c mov r12, r4 ; bce0: 0a 4d mov r13, r10 ; 0000bce2 <.Loc.264.1>: bce2: 3c 43 mov #-1, r12 ;r3 As==11 bce4: 3d 43 mov #-1, r13 ;r3 As==11 bce6: 0e 46 mov r6, r14 ; bce8: b0 12 d4 b5 call #-18988 ;#0xb5d4 bcec: 0e 48 mov r8, r14 ; bcee: 0e cc bic r12, r14 ; bcf0: 0c 4e mov r14, r12 ; bcf2: 0e 49 mov r9, r14 ; bcf4: 0e cd bic r13, r14 ; 0000bcf6 <.Loc.264.1>: bcf6: 0c de bis r14, r12 ; bcf8: 0d 43 clr r13 ; bcfa: 0d 8c sub r12, r13 ; bcfc: 0c dd bis r13, r12 ; bcfe: 7d 40 0f 00 mov.b #15, r13 ;#0x000f bd02: b0 12 fe b5 call #-18946 ;#0xb5fe 0000bd06 <.Loc.265.1>: bd06: 0e 44 mov r4, r14 ; bd08: 0e dc bis r12, r14 ; bd0a: 0f 4a mov r10, r15 ; 0000bd0c <.LBE11>: bd0c: 0c 4e mov r14, r12 ; bd0e: 7c f0 7f 00 and.b #127, r12 ;#0x007f 0000bd12 <.Loc.267.1>: bd12: 3c 90 40 00 cmp #64, r12 ;#0x0040 bd16: 19 20 jnz $+52 ;abs 0xbd4a 0000bd18 <.Loc.269.1>: bd18: 0c 4e mov r14, r12 ; bd1a: 7c f0 80 00 and.b #128, r12 ;#0x0080 0000bd1e <.Loc.269.1>: bd1e: 0c 93 cmp #0, r12 ;r3 As==00 bd20: 03 24 jz $+8 ;abs 0xbd28 0000bd22 <.Loc.270.1>: bd22: 3e 50 40 00 add #64, r14 ;#0x0040 0000bd26 <.L28>: bd26: 0f 63 adc r15 ; 0000bd28 <.L7>: bd28: 5a 43 mov.b #1, r10 ;r3 As==01 bd2a: 3c 40 ff 3f mov #16383, r12 ;#0x3fff bd2e: 0c 9f cmp r15, r12 ; bd30: 01 28 jnc $+4 ;abs 0xbd34 bd32: 4a 43 clr.b r10 ; 0000bd34 <.L9>: bd34: 0c 4e mov r14, r12 ; bd36: 0d 4f mov r15, r13 ; 0000bd38 <.L31>: bd38: 7e 40 07 00 mov.b #7, r14 ; bd3c: b0 12 0c b6 call #-18932 ;#0xb60c bd40: 08 4c mov r12, r8 ; bd42: 09 4d mov r13, r9 ; 0000bd44 <.LVL28>: bd44: 98 3f jmp $-206 ;abs 0xbc76 0000bd46 <.L20>: bd46: 4e 43 clr.b r14 ; bd48: 4f 43 clr.b r15 ; 0000bd4a <.L6>: bd4a: 3e 50 3f 00 add #63, r14 ;#0x003f 0000bd4e <.LVL31>: bd4e: eb 3f jmp $-40 ;abs 0xbd26 0000bd50 <.L5>: bd50: 7e 40 7f 00 mov.b #127, r14 ;#0x007f bd54: 0e 9a cmp r10, r14 ; bd56: 21 38 jl $+68 ;abs 0xbd9a 0000bd58 <.LVL33>: bd58: 0c 48 mov r8, r12 ; 0000bd5a <.LVL34>: bd5a: 0c fe and r14, r12 ; 0000bd5c <.Loc.297.1>: bd5c: 3c 90 40 00 cmp #64, r12 ;#0x0040 bd60: 0f 20 jnz $+32 ;abs 0xbd80 0000bd62 <.Loc.299.1>: bd62: 0c 48 mov r8, r12 ; bd64: 7c f0 80 00 and.b #128, r12 ;#0x0080 0000bd68 <.Loc.299.1>: bd68: 0c 93 cmp #0, r12 ;r3 As==00 bd6a: 03 24 jz $+8 ;abs 0xbd72 0000bd6c <.Loc.300.1>: bd6c: 38 50 40 00 add #64, r8 ;#0x0040 0000bd70 <.L29>: bd70: 09 63 adc r9 ; 0000bd72 <.L12>: bd72: 09 93 cmp #0, r9 ;r3 As==00 bd74: 08 38 jl $+18 ;abs 0xbd86 0000bd76 <.Loc.293.1>: bd76: 3a 50 7f 00 add #127, r10 ;#0x007f 0000bd7a <.L16>: bd7a: 0c 48 mov r8, r12 ; bd7c: 0d 49 mov r9, r13 ; bd7e: dc 3f jmp $-70 ;abs 0xbd38 0000bd80 <.L11>: bd80: 38 50 3f 00 add #63, r8 ;#0x003f 0000bd84 <.LVL39>: bd84: f5 3f jmp $-20 ;abs 0xbd70 0000bd86 <.L14>: bd86: 12 c3 clrc bd88: 09 10 rrc r9 ; bd8a: 08 10 rrc r8 ; 0000bd8c <.Loc.310.1>: bd8c: 3a 50 80 00 add #128, r10 ;#0x0080 0000bd90 <.LVL42>: bd90: f4 3f jmp $-22 ;abs 0xbd7a 0000bd92 <.L18>: bd92: 4a 43 clr.b r10 ; 0000bd94 <.L30>: bd94: 48 43 clr.b r8 ; 0000bd96 <.LVL45>: bd96: 49 43 clr.b r9 ; bd98: 6e 3f jmp $-290 ;abs 0xbc76 0000bd9a <.L21>: bd9a: 7a 40 ff 00 mov.b #255, r10 ;#0x00ff bd9e: fa 3f jmp $-10 ;abs 0xbd94 0000bda0 <__mspabi_mpyl>: bda0: 0a 12 push r10 ; 0000bda2 <.LCFI0>: bda2: 09 12 push r9 ; 0000bda4 <.LCFI1>: bda4: 08 12 push r8 ; 0000bda6 <.LCFI2>: bda6: 07 12 push r7 ; 0000bda8 <.LCFI3>: bda8: 06 12 push r6 ; 0000bdaa <.LCFI4>: bdaa: 0a 4c mov r12, r10 ; bdac: 0b 4d mov r13, r11 ; 0000bdae : bdae: 78 40 21 00 mov.b #33, r8 ;#0x0021 0000bdb2 <.Loc.30.1>: bdb2: 4c 43 clr.b r12 ; 0000bdb4 <.LVL2>: bdb4: 4d 43 clr.b r13 ; 0000bdb6 <.L2>: bdb6: 09 4e mov r14, r9 ; bdb8: 09 df bis r15, r9 ; bdba: 09 93 cmp #0, r9 ;r3 As==00 bdbc: 05 24 jz $+12 ;abs 0xbdc8 bdbe: 49 48 mov.b r8, r9 ; bdc0: 79 53 add.b #-1, r9 ;r3 As==11 bdc2: 48 49 mov.b r9, r8 ; 0000bdc4 <.LVL4>: bdc4: 49 93 cmp.b #0, r9 ;r3 As==00 bdc6: 02 20 jnz $+6 ;abs 0xbdcc 0000bdc8 <.L1>: bdc8: 30 40 b8 b5 br #0xb5b8 ; 0000bdcc <.L6>: bdcc: 09 4e mov r14, r9 ; bdce: 59 f3 and.b #1, r9 ;r3 As==01 0000bdd0 <.Loc.36.1>: bdd0: 09 93 cmp #0, r9 ;r3 As==00 bdd2: 02 24 jz $+6 ;abs 0xbdd8 0000bdd4 <.Loc.37.1>: bdd4: 0c 5a add r10, r12 ; 0000bdd6 <.LVL5>: bdd6: 0d 6b addc r11, r13 ; 0000bdd8 <.L3>: bdd8: 06 4a mov r10, r6 ; bdda: 07 4b mov r11, r7 ; bddc: 06 5a add r10, r6 ; bdde: 07 6b addc r11, r7 ; bde0: 0a 46 mov r6, r10 ; 0000bde2 <.LVL7>: bde2: 0b 47 mov r7, r11 ; 0000bde4 <.LVL8>: bde4: 12 c3 clrc bde6: 0f 10 rrc r15 ; bde8: 0e 10 rrc r14 ; 0000bdea <.LVL9>: bdea: e5 3f jmp $-52 ;abs 0xbdb6 0000bdec <__mspabi_mpyi>: bdec: 0a 12 push r10 ; 0000bdee : bdee: 0e 4c mov r12, r14 ; 0000bdf0 <.LVL1>: bdf0: 0d 93 cmp #0, r13 ;r3 As==00 bdf2: 0d 34 jge $+28 ;abs 0xbe0e 0000bdf4 <.Loc.13.1>: bdf4: 4c 43 clr.b r12 ; 0000bdf6 <.LVL2>: bdf6: 0c 8d sub r13, r12 ; bdf8: 0d 4c mov r12, r13 ; 0000bdfa <.LVL3>: bdfa: 5f 43 mov.b #1, r15 ;r3 As==01 0000bdfc <.L2>: bdfc: 7a 40 11 00 mov.b #17, r10 ;#0x0011 0000be00 <.Loc.9.1>: be00: 4c 43 clr.b r12 ; 0000be02 <.L3>: be02: 0d 93 cmp #0, r13 ;r3 As==00 be04: 06 20 jnz $+14 ;abs 0xbe12 0000be06 <.L9>: be06: 0f 93 cmp #0, r15 ;r3 As==00 be08: 0f 20 jnz $+32 ;abs 0xbe28 0000be0a <.L1>: be0a: 3a 41 pop r10 ; 0000be0c <.LCFI1>: be0c: 30 41 ret 0000be0e <.L10>: be0e: 4f 43 clr.b r15 ; be10: f5 3f jmp $-20 ;abs 0xbdfc 0000be12 <.L5>: be12: 4b 4a mov.b r10, r11 ; be14: 7b 53 add.b #-1, r11 ;r3 As==11 be16: 4a 4b mov.b r11, r10 ; 0000be18 <.LVL10>: be18: 4b 93 cmp.b #0, r11 ;r3 As==00 be1a: f5 27 jz $-20 ;abs 0xbe06 0000be1c <.Loc.19.1>: be1c: 1d b3 bit #1, r13 ;r3 As==01 be1e: 01 24 jz $+4 ;abs 0xbe22 0000be20 <.Loc.20.1>: be20: 0c 5e add r14, r12 ; 0000be22 <.L4>: be22: 0e 5e rla r14 ; 0000be24 <.Loc.22.1>: be24: 0d 11 rra r13 ; 0000be26 <.Loc.17.1>: be26: ed 3f jmp $-36 ;abs 0xbe02 0000be28 <.L6>: be28: 4d 43 clr.b r13 ; 0000be2a <.LVL14>: be2a: 0d 8c sub r12, r13 ; be2c: 0c 4d mov r13, r12 ; 0000be2e <.LVL15>: be2e: ed 3f jmp $-36 ;abs 0xbe0a 0000be30 : be30: 7e 40 0a 00 mov.b #10, r14 ;#0x000a be34: 4d 43 clr.b r13 ; 0000be36 : be36: b0 12 fc c0 call #-16132 ;#0xc0fc 0000be3a <.LVL1>: be3a: 30 41 ret 0000be3c : be3c: 0a 12 push r10 ; 0000be3e <.LCFI0>: be3e: 4f 43 clr.b r15 ; 0000be40 <.L2>: be40: 0e 9f cmp r15, r14 ; be42: 02 20 jnz $+6 ;abs 0xbe48 0000be44 <.Loc.111.1>: be44: 3a 41 pop r10 ; 0000be46 <.LCFI1>: be46: 30 41 ret 0000be48 <.L3>: be48: 0b 4c mov r12, r11 ; be4a: 0b 5f add r15, r11 ; 0000be4c <.Loc.67.1>: be4c: 0a 4d mov r13, r10 ; be4e: 0a 5f add r15, r10 ; 0000be50 <.Loc.67.1>: be50: eb 4a 00 00 mov.b @r10, 0(r11) ; be54: 1f 53 inc r15 ; 0000be56 <.LVL4>: be56: f4 3f jmp $-22 ;abs 0xbe40 0000be58 : be58: 0e 5c add r12, r14 ; 0000be5a : be5a: 0f 4c mov r12, r15 ; 0000be5c <.L2>: be5c: 0f 9e cmp r14, r15 ; be5e: 01 20 jnz $+4 ;abs 0xbe62 0000be60 <.Loc.104.1>: be60: 30 41 ret 0000be62 <.L3>: be62: 1f 53 inc r15 ; 0000be64 <.LVL4>: be64: cf 4d ff ff mov.b r13, -1(r15) ; 0xffff be68: f9 3f jmp $-12 ;abs 0xbe5c 0000be6a : be6a: 0a 12 push r10 ; 0000be6c : be6c: 09 12 push r9 ; 0000be6e <.LCFI6>: be6e: 31 80 3c 00 sub #60, r1 ;#0x003c 0000be72 <.LCFI7>: be72: 0a 4d mov r13, r10 ; 0000be74 <.Loc.100.1>: be74: 19 42 02 02 mov &0x0202,r9 ;0x0202 0000be78 <.Loc.102.1>: be78: 0d 93 cmp #0, r13 ;r3 As==00 be7a: 08 34 jge $+18 ;abs 0xbe8c 0000be7c <.Loc.104.1>: be7c: b9 40 8b 00 mov #139, 0(r9) ;#0x008b be80: 00 00 0000be82 <.Loc.105.1>: be82: 3c 43 mov #-1, r12 ;r3 As==11 0000be84 <.L10>: be84: 31 50 3c 00 add #60, r1 ;#0x003c 0000be88 <.LCFI8>: be88: 30 40 be b5 br #0xb5be ; 0000be8c <.L11>: be8c: b1 40 08 02 mov #520, 6(r1) ;#0x0208 be90: 06 00 0000be92 <.Loc.108.1>: be92: 81 4c 00 00 mov r12, 0(r1) ; 0000be96 <.Loc.108.1>: be96: 81 4c 0a 00 mov r12, 10(r1) ; 0x000a 0000be9a <.Loc.109.1>: be9a: 0c 4d mov r13, r12 ; 0000be9c <.LVL11>: be9c: 0d 93 cmp #0, r13 ;r3 As==00 be9e: 01 24 jz $+4 ;abs 0xbea2 0000bea0 <.Loc.109.1>: bea0: 3c 53 add #-1, r12 ;r3 As==11 0000bea2 <.L13>: bea2: 81 4c 04 00 mov r12, 4(r1) ; 0000bea6 <.Loc.109.1>: bea6: 81 4c 0c 00 mov r12, 12(r1) ; 0x000c 0000beaa <.Loc.110.1>: beaa: b1 43 08 00 mov #-1, 8(r1) ;r3 As==11 0000beae <.LVL12>: beae: 0f 41 mov r1, r15 ; beb0: 3f 50 44 00 add #68, r15 ;#0x0044 beb4: 1e 41 42 00 mov 66(r1), r14 ;0x00042 beb8: 0d 41 mov r1, r13 ; beba: 0c 49 mov r9, r12 ; bebc: b0 12 f8 c1 call #-15880 ;#0xc1f8 0000bec0 <.LVL13>: bec0: 3c 93 cmp #-1, r12 ;r3 As==11 bec2: 03 34 jge $+8 ;abs 0xbeca 0000bec4 <.Loc.119.1>: bec4: b9 40 8b 00 mov #139, 0(r9) ;#0x008b bec8: 00 00 0000beca <.L14>: beca: 0a 93 cmp #0, r10 ;r3 As==00 becc: db 27 jz $-72 ;abs 0xbe84 0000bece <.Loc.121.1>: bece: 2d 41 mov @r1, r13 ; 0000bed0 <.Loc.121.1>: bed0: cd 43 00 00 mov.b #0, 0(r13) ;r3 As==00 0000bed4 <.LVL14>: bed4: d7 3f jmp $-80 ;abs 0xbe84 0000bed6 : bed6: 0000bed8 : bed8: ff 00 suba r0, r15 ; 0000beda <.LVL2>: beda: 0e 4c mov r12, r14 ; 0000bedc <.L3>: bedc: 0c 4e mov r14, r12 ; 0000bede <.LVL4>: bede: 7f 4e mov.b @r14+, r15 ; 0000bee0 <.Loc.118.1>: bee0: 0f 93 cmp #0, r15 ;r3 As==00 bee2: 03 24 jz $+8 ;abs 0xbeea 0000bee4 <.Loc.118.1>: bee4: 0f 9d cmp r13, r15 ; bee6: fa 23 jnz $-10 ;abs 0xbedc 0000bee8 <.L1>: bee8: 30 41 ret 0000beea <.L2>: beea: 0d 93 cmp #0, r13 ;r3 As==00 beec: fd 27 jz $-4 ;abs 0xbee8 0000beee <.Loc.122.1>: beee: 0c 4f mov r15, r12 ; 0000bef0 <.LVL7>: bef0: fb 3f jmp $-8 ;abs 0xbee8 0000bef2 : bef2: 6e 4d mov.b @r13, r14 ; 0000bef4 : bef4: cc 93 00 00 cmp.b #0, 0(r12) ;r3 As==00 bef8: 04 20 jnz $+10 ;abs 0xbf02 0000befa <.Loc.57.1>: befa: 0e 93 cmp #0, r14 ;r3 As==00 befc: 01 24 jz $+4 ;abs 0xbf00 0000befe <.L7>: befe: 4c 43 clr.b r12 ; 0000bf00 <.L3>: bf00: 30 41 ret 0000bf02 <.L6>: bf02: 4e 43 clr.b r14 ; bf04: 07 3c jmp $+16 ;abs 0xbf14 0000bf06 <.L4>: bf06: 0f 4c mov r12, r15 ; bf08: 1f 53 inc r15 ; 0000bf0a <.LBE2>: bf0a: cc 93 01 00 cmp.b #0, 1(r12) ;r3 As==00 bf0e: f7 27 jz $-16 ;abs 0xbefe 0000bf10 <.LBB3>: bf10: 4e 43 clr.b r14 ; 0000bf12 <.L5>: bf12: 0c 4f mov r15, r12 ; 0000bf14 <.L2>: bf14: 0f 4d mov r13, r15 ; bf16: 0f 5e add r14, r15 ; bf18: 6b 4f mov.b @r15, r11 ; 0000bf1a <.Loc.69.1>: bf1a: cf 93 00 00 cmp.b #0, 0(r15) ;r3 As==00 bf1e: f0 27 jz $-30 ;abs 0xbf00 0000bf20 <.Loc.74.1>: bf20: 0f 4c mov r12, r15 ; bf22: 0f 5e add r14, r15 ; 0000bf24 <.Loc.74.1>: bf24: cf 9b 00 00 cmp.b r11, 0(r15) ; bf28: ee 23 jnz $-34 ;abs 0xbf06 0000bf2a <.Loc.78.1>: bf2a: 1e 53 inc r14 ; 0000bf2c <.Loc.67.1>: bf2c: 0f 4c mov r12, r15 ; bf2e: f1 3f jmp $-28 ;abs 0xbf12 0000bf30 <_strtol_r>: bf30: 0a 12 push r10 ; 0000bf32 <.LCFI0>: bf32: 09 12 push r9 ; 0000bf34 : bf34: 08 12 push r8 ; 0000bf36 <.LCFI2>: bf36: 07 12 push r7 ; 0000bf38 <.LCFI3>: bf38: 06 12 push r6 ; 0000bf3a <.LCFI4>: bf3a: 05 12 push r5 ; 0000bf3c <.LCFI5>: bf3c: 04 12 push r4 ; 0000bf3e <.LCFI6>: bf3e: 31 80 14 00 sub #20, r1 ;#0x0014 0000bf42 <.LCFI7>: bf42: 81 4c 12 00 mov r12, 18(r1) ; 0x0012 bf46: 81 4d 08 00 mov r13, 8(r1) ; bf4a: 81 4e 0a 00 mov r14, 10(r1) ; 0x000a bf4e: 06 4f mov r15, r6 ; 0000bf50 <.LVL1>: bf50: 91 42 00 02 mov &0x0200,14(r1) ;0x0200, 0x000e bf54: 0e 00 0000bf56 <.Loc.140.1>: bf56: 07 4d mov r13, r7 ; 0000bf58 <.L2>: bf58: 0c 47 mov r7, r12 ; 0000bf5a <.LVL3>: bf5a: 7a 47 mov.b @r7+, r10 ; 0000bf5c <.LVL4>: bf5c: 1d 41 0e 00 mov 14(r1), r13 ;0x0000e bf60: 0d 5a add r10, r13 ; 0000bf62 <.Loc.153.1>: bf62: fd b2 01 00 bit.b #8, 1(r13) ;r2 As==11 bf66: f8 23 jnz $-14 ;abs 0xbf58 0000bf68 <.Loc.154.1>: bf68: 7a 90 2d 00 cmp.b #45, r10 ;#0x002d bf6c: 76 20 jnz $+238 ;abs 0xc05a 0000bf6e <.LVL5>: bf6e: 6a 47 mov.b @r7, r10 ; 0000bf70 <.Loc.156.1>: bf70: 07 4c mov r12, r7 ; bf72: 27 53 incd r7 ; 0000bf74 <.LVL7>: bf74: 91 43 02 00 mov #1, 2(r1) ;r3 As==01 0000bf78 <.L4>: bf78: 06 93 cmp #0, r6 ;r3 As==00 bf7a: ba 24 jz $+374 ;abs 0xc0f0 0000bf7c <.Loc.159.1>: bf7c: 36 90 10 00 cmp #16, r6 ;#0x0010 bf80: 0e 20 jnz $+30 ;abs 0xbf9e 0000bf82 <.Loc.159.1>: bf82: 3a 90 30 00 cmp #48, r10 ;#0x0030 bf86: 0b 20 jnz $+24 ;abs 0xbf9e 0000bf88 <.L23>: bf88: 6c 47 mov.b @r7, r12 ; bf8a: 7c f0 df ff and.b #-33, r12 ;#0xffdf bf8e: 7c 90 58 00 cmp.b #88, r12 ;#0x0058 bf92: a8 20 jnz $+338 ;abs 0xc0e4 0000bf94 <.Loc.161.1>: bf94: 5a 47 01 00 mov.b 1(r7), r10 ; 0000bf98 <.Loc.162.1>: bf98: 27 53 incd r7 ; 0000bf9a <.LVL10>: bf9a: 76 40 10 00 mov.b #16, r6 ;#0x0010 0000bf9e <.L8>: bf9e: 1e 41 02 00 mov 2(r1), r14 ; 0000bfa2 <.LVL12>: bfa2: 0c 4e mov r14, r12 ; bfa4: 3c b0 00 80 bit #-32768,r12 ;#0x8000 bfa8: 0d 7d subc r13, r13 ; bfaa: 3d e3 inv r13 ; bfac: 04 4c mov r12, r4 ; bfae: 34 53 add #-1, r4 ;r3 As==11 bfb0: 05 4d mov r13, r5 ; bfb2: 35 60 ff 7f addc #32767, r5 ;#0x7fff 0000bfb6 <.LVL13>: bfb6: 0c 46 mov r6, r12 ; bfb8: 3c b0 00 80 bit #-32768,r12 ;#0x8000 bfbc: 0d 7d subc r13, r13 ; bfbe: 3d e3 inv r13 ; bfc0: 81 4c 04 00 mov r12, 4(r1) ; bfc4: 81 4d 06 00 mov r13, 6(r1) ; 0000bfc8 <.Loc.186.1>: bfc8: 0e 4c mov r12, r14 ; bfca: 0f 4d mov r13, r15 ; bfcc: 0c 44 mov r4, r12 ; bfce: 0d 45 mov r5, r13 ; bfd0: b0 12 a6 b5 call #-19034 ;#0xb5a6 bfd4: 81 4c 10 00 mov r12, 16(r1) ; 0x0010 0000bfd8 <.LVL15>: bfd8: 1e 41 04 00 mov 4(r1), r14 ; bfdc: 1f 41 06 00 mov 6(r1), r15 ; bfe0: 0c 44 mov r4, r12 ; 0000bfe2 <.LVL16>: bfe2: 0d 45 mov r5, r13 ; bfe4: b0 12 98 b5 call #-19048 ;#0xb598 bfe8: 0b 4d mov r13, r11 ; bfea: 81 4c 0c 00 mov r12, 12(r1) ; 0x000c 0000bfee <.LVL18>: bfee: 4c 43 clr.b r12 ; 0000bff0 <.LVL19>: bff0: 48 43 clr.b r8 ; bff2: 49 43 clr.b r9 ; 0000bff4 <.L17>: bff4: 1d 41 0e 00 mov 14(r1), r13 ;0x0000e bff8: 0d 5a add r10, r13 ; bffa: 5d 4d 01 00 mov.b 1(r13), r13 ; 0000bffe <.Loc.189.1>: bffe: 2d b2 bit #4, r13 ;r2 As==10 c000: 36 24 jz $+110 ;abs 0xc06e 0000c002 <.Loc.190.1>: c002: 3a 50 d0 ff add #-48, r10 ;#0xffd0 0000c006 <.L11>: c006: 0a 96 cmp r6, r10 ; c008: 44 34 jge $+138 ;abs 0xc092 0000c00a <.Loc.197.1>: c00a: 3c 93 cmp #-1, r12 ;r3 As==11 c00c: 24 24 jz $+74 ;abs 0xc056 0000c00e <.Loc.197.1>: c00e: 0b 99 cmp r9, r11 ; c010: 3e 28 jnc $+126 ;abs 0xc08e c012: 09 9b cmp r11, r9 ; c014: 03 20 jnz $+8 ;abs 0xc01c c016: 81 98 0c 00 cmp r8, 12(r1) ; 0x000c c01a: 39 28 jnc $+116 ;abs 0xc08e 0000c01c <.L29>: c01c: 18 91 0c 00 cmp 12(r1), r8 ;0x0000c c020: 05 20 jnz $+12 ;abs 0xc02c c022: 09 9b cmp r11, r9 ; c024: 03 20 jnz $+8 ;abs 0xc02c 0000c026 <.Loc.197.1>: c026: 81 9a 10 00 cmp r10, 16(r1) ; 0x0010 c02a: 2e 38 jl $+94 ;abs 0xc088 0000c02c <.L16>: c02c: 0e 48 mov r8, r14 ; c02e: 0f 49 mov r9, r15 ; c030: 1c 41 04 00 mov 4(r1), r12 ; c034: 1d 41 06 00 mov 6(r1), r13 ; c038: 81 4b 00 00 mov r11, 0(r1) ; c03c: b0 12 a0 bd call #-16992 ;#0xbda0 0000c040 <.LVL23>: c040: 0e 4a mov r10, r14 ; c042: 3e b0 00 80 bit #-32768,r14 ;#0x8000 c046: 0f 7f subc r15, r15 ; c048: 3f e3 inv r15 ; c04a: 08 4e mov r14, r8 ; c04c: 08 5c add r12, r8 ; c04e: 09 4f mov r15, r9 ; c050: 09 6d addc r13, r9 ; 0000c052 <.LVL24>: c052: 5c 43 mov.b #1, r12 ;r3 As==01 c054: 2b 41 mov @r1, r11 ; 0000c056 <.L14>: c056: 7a 47 mov.b @r7+, r10 ; 0000c058 <.LVL26>: c058: cd 3f jmp $-100 ;abs 0xbff4 0000c05a <.L3>: c05a: 7a 90 2b 00 cmp.b #43, r10 ;#0x002b c05e: 03 24 jz $+8 ;abs 0xc066 0000c060 <.L53>: c060: 81 43 02 00 mov #0, 2(r1) ;r3 As==00 c064: 89 3f jmp $-236 ;abs 0xbf78 0000c066 <.L5>: c066: 6a 47 mov.b @r7, r10 ; 0000c068 <.Loc.158.1>: c068: 07 4c mov r12, r7 ; c06a: 27 53 incd r7 ; 0000c06c <.LVL30>: c06c: f9 3f jmp $-12 ;abs 0xc060 0000c06e <.L10>: c06e: 7d f0 03 00 and.b #3, r13 ; 0000c072 <.Loc.191.1>: c072: 4d 93 cmp.b #0, r13 ;r3 As==00 c074: 0e 24 jz $+30 ;abs 0xc092 0000c076 <.Loc.192.1>: c076: 5d 93 cmp.b #1, r13 ;r3 As==01 c078: 04 24 jz $+10 ;abs 0xc082 c07a: 7d 40 57 00 mov.b #87, r13 ;#0x0057 0000c07e <.L13>: c07e: 0a 8d sub r13, r10 ; c080: c2 3f jmp $-122 ;abs 0xc006 0000c082 <.L24>: c082: 7d 40 37 00 mov.b #55, r13 ;#0x0037 c086: fb 3f jmp $-8 ;abs 0xc07e 0000c088 <.L26>: c088: 18 41 0c 00 mov 12(r1), r8 ;0x0000c 0000c08c <.LVL33>: c08c: 09 4b mov r11, r9 ; 0000c08e <.L54>: c08e: 3c 43 mov #-1, r12 ;r3 As==11 0000c090 <.LVL34>: c090: e2 3f jmp $-58 ;abs 0xc056 0000c092 <.L12>: c092: 3c 93 cmp #-1, r12 ;r3 As==11 c094: 10 20 jnz $+34 ;abs 0xc0b6 0000c096 <.LVL36>: c096: 1d 41 12 00 mov 18(r1), r13 ;0x00012 c09a: bd 40 22 00 mov #34, 0(r13) ;#0x0022 c09e: 00 00 0000c0a0 <.Loc.206.1>: c0a0: 08 44 mov r4, r8 ; c0a2: 09 45 mov r5, r9 ; 0000c0a4 <.Loc.210.1>: c0a4: 81 93 0a 00 cmp #0, 10(r1) ;r3 As==00, 0x000a c0a8: 14 20 jnz $+42 ;abs 0xc0d2 0000c0aa <.L37>: c0aa: 0c 48 mov r8, r12 ; 0000c0ac <.LVL38>: c0ac: 0d 49 mov r9, r13 ; c0ae: 31 50 14 00 add #20, r1 ;#0x0014 0000c0b2 <.LCFI8>: c0b2: 30 40 b4 b5 br #0xb5b4 ; 0000c0b6 <.L18>: c0b6: 81 93 02 00 cmp #0, 2(r1) ;r3 As==00 c0ba: 06 24 jz $+14 ;abs 0xc0c8 0000c0bc <.Loc.209.1>: c0bc: 4d 43 clr.b r13 ; c0be: 4e 43 clr.b r14 ; c0c0: 0d 88 sub r8, r13 ; c0c2: 0e 79 subc r9, r14 ; c0c4: 08 4d mov r13, r8 ; 0000c0c6 <.LVL40>: c0c6: 09 4e mov r14, r9 ; 0000c0c8 <.L21>: c0c8: 81 93 0a 00 cmp #0, 10(r1) ;r3 As==00, 0x000a c0cc: ee 27 jz $-34 ;abs 0xc0aa 0000c0ce <.Loc.211.1>: c0ce: 0c 93 cmp #0, r12 ;r3 As==00 c0d0: 03 24 jz $+8 ;abs 0xc0d8 0000c0d2 <.L19>: c0d2: 37 53 add #-1, r7 ;r3 As==11 0000c0d4 <.LVL43>: c0d4: 81 47 08 00 mov r7, 8(r1) ; 0000c0d8 <.L22>: c0d8: 1e 41 0a 00 mov 10(r1), r14 ;0x0000a c0dc: 9e 41 08 00 mov 8(r1), 0(r14) ; c0e0: 00 00 0000c0e2 <.Loc.212.1>: c0e2: e3 3f jmp $-56 ;abs 0xc0aa 0000c0e4 <.L9>: c0e4: 7a 40 30 00 mov.b #48, r10 ;#0x0030 c0e8: 06 93 cmp #0, r6 ;r3 As==00 c0ea: 59 23 jnz $-332 ;abs 0xbf9e 0000c0ec <.Loc.166.1>: c0ec: 76 42 mov.b #8, r6 ;r2 As==11 0000c0ee <.LVL46>: c0ee: 57 3f jmp $-336 ;abs 0xbf9e 0000c0f0 <.L6>: c0f0: 3a 90 30 00 cmp #48, r10 ;#0x0030 c0f4: 49 27 jz $-364 ;abs 0xbf88 0000c0f6 <.Loc.166.1>: c0f6: 76 40 0a 00 mov.b #10, r6 ;#0x000a 0000c0fa <.LVL48>: c0fa: 51 3f jmp $-348 ;abs 0xbf9e 0000c0fc : c0fc: 0f 4e mov r14, r15 ; c0fe: 0e 4d mov r13, r14 ; 0000c100 <.LVL50>: c100: 0d 4c mov r12, r13 ; 0000c102 <.LVL51>: c102: 1c 42 02 02 mov &0x0202,r12 ;0x0202 0000c106 <.LVL52>: c106: b0 12 30 bf call #-16592 ;#0xbf30 0000c10a <.LVL53>: c10a: 30 41 ret 0000c10c <__ssputs_r>: c10c: 0a 12 push r10 ; 0000c10e : c10e: 09 12 push r9 ; 0000c110 <.LCFI1>: c110: 08 12 push r8 ; 0000c112 <.LCFI2>: c112: 07 12 push r7 ; 0000c114 <.LCFI3>: c114: 06 12 push r6 ; 0000c116 <.LCFI4>: c116: 05 12 push r5 ; 0000c118 <.LCFI5>: c118: 04 12 push r4 ; 0000c11a <.LCFI6>: c11a: 21 83 decd r1 ; 0000c11c <.LCFI7>: c11c: 06 4c mov r12, r6 ; c11e: 0a 4d mov r13, r10 ; c120: 04 4e mov r14, r4 ; c122: 07 4f mov r15, r7 ; 0000c124 <.Loc.181.1>: c124: 18 4d 04 00 mov 4(r13), r8 ; 0000c128 <.LVL1>: c128: 0f 98 cmp r8, r15 ; c12a: 4c 28 jnc $+154 ;abs 0xc1c4 0000c12c <.Loc.184.1>: c12c: 1e 4d 06 00 mov 6(r13), r14 ; 0000c130 <.LVL2>: c130: 3e b0 80 04 bit #1152, r14 ;#0x0480 c134: 45 24 jz $+140 ;abs 0xc1c0 0000c136 <.LBB2>: c136: 18 4d 0a 00 mov 10(r13),r8 ;0x0000a 0000c13a <.LVL3>: c13a: 25 4d mov @r13, r5 ; c13c: 05 88 sub r8, r5 ; 0000c13e <.LVL4>: c13e: 1c 4d 0c 00 mov 12(r13),r12 ;0x0000c 0000c142 <.LVL5>: c142: 09 4c mov r12, r9 ; c144: 09 5c add r12, r9 ; c146: 09 5c add r12, r9 ; 0000c148 <.Loc.196.1>: c148: 0c 49 mov r9, r12 ; c14a: 7d 40 0f 00 mov.b #15, r13 ;#0x000f 0000c14e <.LVL6>: c14e: 81 4e 00 00 mov r14, 0(r1) ; c152: b0 12 fe b5 call #-18946 ;#0xb5fe 0000c156 <.LVL7>: c156: 09 5c add r12, r9 ; c158: 09 11 rra r9 ; 0000c15a <.LVL8>: c15a: 0c 47 mov r7, r12 ; c15c: 1c 53 inc r12 ; c15e: 0c 55 add r5, r12 ; 0000c160 <.Loc.197.1>: c160: 2e 41 mov @r1, r14 ; c162: 09 9c cmp r12, r9 ; c164: 01 2c jc $+4 ;abs 0xc168 0000c166 <.Loc.198.1>: c166: 09 4c mov r12, r9 ; 0000c168 <.L3>: c168: 3e b0 00 04 bit #1024, r14 ;#0x0400 c16c: 37 24 jz $+112 ;abs 0xc1dc 0000c16e <.Loc.202.1>: c16e: 0d 49 mov r9, r13 ; c170: 0c 46 mov r6, r12 ; c172: b0 12 1a ca call #-13798 ;#0xca1a 0000c176 <.LVL10>: c176: 08 4c mov r12, r8 ; 0000c178 <.LVL11>: c178: 0c 93 cmp #0, r12 ;r3 As==00 c17a: 0a 20 jnz $+22 ;abs 0xc190 0000c17c <.L14>: c17c: b6 40 0c 00 mov #12, 0(r6) ;#0x000c c180: 00 00 0000c182 <.L6>: c182: ba d0 40 00 bis #64, 6(r10) ;#0x0040 c186: 06 00 0000c188 <.Loc.239.1>: c188: 3c 43 mov #-1, r12 ;r3 As==11 0000c18a <.L1>: c18a: 21 53 incd r1 ; 0000c18c <.LCFI8>: c18c: 30 40 b4 b5 br #0xb5b4 ; 0000c190 <.L5>: c190: 0e 45 mov r5, r14 ; c192: 1d 4a 0a 00 mov 10(r10),r13 ;0x0000a c196: b0 12 3c be call #-16836 ;#0xbe3c 0000c19a <.LVL14>: c19a: 1c 4a 06 00 mov 6(r10), r12 ; c19e: 3c f0 7f fb and #-1153, r12 ;#0xfb7f c1a2: 3c d0 80 00 bis #128, r12 ;#0x0080 c1a6: 8a 4c 06 00 mov r12, 6(r10) ; 0000c1aa <.L7>: c1aa: 8a 48 0a 00 mov r8, 10(r10) ; 0x000a 0000c1ae <.Loc.224.1>: c1ae: 08 55 add r5, r8 ; 0000c1b0 <.LVL15>: c1b0: 8a 48 00 00 mov r8, 0(r10) ; 0000c1b4 <.Loc.225.1>: c1b4: 8a 49 0c 00 mov r9, 12(r10) ; 0x000c 0000c1b8 <.LVL16>: c1b8: 08 47 mov r7, r8 ; 0000c1ba <.Loc.227.1>: c1ba: 09 85 sub r5, r9 ; 0000c1bc <.LVL17>: c1bc: 8a 49 04 00 mov r9, 4(r10) ; 0000c1c0 <.L2>: c1c0: 07 98 cmp r8, r7 ; c1c2: 01 2c jc $+4 ;abs 0xc1c6 0000c1c4 <.L10>: c1c4: 08 47 mov r7, r8 ; 0000c1c6 <.L8>: c1c6: 0e 48 mov r8, r14 ; c1c8: 0d 44 mov r4, r13 ; c1ca: 2c 4a mov @r10, r12 ; c1cc: b0 12 e6 c8 call #-14106 ;#0xc8e6 0000c1d0 <.LVL21>: c1d0: 8a 88 04 00 sub r8, 4(r10) ; 0000c1d4 <.Loc.234.1>: c1d4: 8a 58 00 00 add r8, 0(r10) ; 0000c1d8 <.Loc.235.1>: c1d8: 4c 43 clr.b r12 ; c1da: d7 3f jmp $-80 ;abs 0xc18a 0000c1dc <.L4>: c1dc: 0e 49 mov r9, r14 ; c1de: 0d 48 mov r8, r13 ; c1e0: 0c 46 mov r6, r12 ; c1e2: b0 12 02 cb call #-13566 ;#0xcb02 0000c1e6 <.LVL23>: c1e6: 08 4c mov r12, r8 ; 0000c1e8 <.LVL24>: c1e8: 0c 93 cmp #0, r12 ;r3 As==00 c1ea: df 23 jnz $-64 ;abs 0xc1aa 0000c1ec <.Loc.217.1>: c1ec: 1d 4a 0a 00 mov 10(r10),r13 ;0x0000a c1f0: 0c 46 mov r6, r12 ; c1f2: b0 12 2e c9 call #-14034 ;#0xc92e 0000c1f6 <.LVL25>: c1f6: c2 3f jmp $-122 ;abs 0xc17c 0000c1f8 <_svfiprintf_r>: c1f8: 0a 12 push r10 ; 0000c1fa <.LCFI20>: c1fa: 09 12 push r9 ; 0000c1fc : c1fc: 08 12 push r8 ; 0000c1fe <.LCFI22>: c1fe: 07 12 push r7 ; 0000c200 <.LCFI23>: c200: 06 12 push r6 ; 0000c202 <.LCFI24>: c202: 05 12 push r5 ; 0000c204 <.LCFI25>: c204: 04 12 push r4 ; 0000c206 <.LCFI26>: c206: 31 80 52 00 sub #82, r1 ;#0x0052 0000c20a <.LCFI27>: c20a: 07 4c mov r12, r7 ; c20c: 09 4d mov r13, r9 ; c20e: 0a 4e mov r14, r10 ; c210: 81 4f 04 00 mov r15, 4(r1) ; 0000c214 <.Loc.480.1>: c214: 1d 4d 06 00 mov 6(r13), r13 ; 0000c218 <.LVL59>: c218: 7d f0 80 00 and.b #128, r13 ;#0x0080 0000c21c <.Loc.505.1>: c21c: 0d 93 cmp #0, r13 ;r3 As==00 c21e: 15 24 jz $+44 ;abs 0xc24a 0000c220 <.Loc.505.1>: c220: 89 93 0a 00 cmp #0, 10(r9) ;r3 As==00, 0x000a c224: 12 20 jnz $+38 ;abs 0xc24a 0000c226 <.Loc.507.1>: c226: 7d 40 40 00 mov.b #64, r13 ;#0x0040 c22a: b0 12 1a ca call #-13798 ;#0xca1a 0000c22e <.LVL60>: c22e: 89 4c 00 00 mov r12, 0(r9) ; 0000c232 <.Loc.507.1>: c232: 89 4c 0a 00 mov r12, 10(r9) ; 0x000a 0000c236 <.Loc.508.1>: c236: 0c 93 cmp #0, r12 ;r3 As==00 c238: 05 20 jnz $+12 ;abs 0xc244 0000c23a <.Loc.510.1>: c23a: b7 40 0c 00 mov #12, 0(r7) ;#0x000c c23e: 00 00 0000c240 <.L64>: c240: 3c 43 mov #-1, r12 ;r3 As==11 c242: 07 3d jmp $+528 ;abs 0xc452 0000c244 <.L35>: c244: b9 40 40 00 mov #64, 12(r9) ;#0x0040, 0x000c c248: 0c 00 0000c24a <.L34>: c24a: 81 43 10 00 mov #0, 16(r1) ;r3 As==00, 0x0010 0000c24e <.Loc.519.1>: c24e: f1 40 20 00 mov.b #32, 19(r1) ;#0x0020, 0x0013 c252: 13 00 0000c254 <.Loc.520.1>: c254: f1 40 30 00 mov.b #48, 20(r1) ;#0x0030, 0x0014 c258: 14 00 0000c25a <.Loc.531.1>: c25a: 36 40 0c c1 mov #-16116,r6 ;#0xc10c 0000c25e <.Loc.554.1>: c25e: 35 40 ca c8 mov #-14134,r5 ;#0xc8ca 0000c262 <.L63>: c262: 0c 4a mov r10, r12 ; 0000c264 <.L38>: c264: 04 4c mov r12, r4 ; 0000c266 <.LVL66>: c266: 7d 4c mov.b @r12+, r13 ; 0000c268 <.Loc.526.1>: c268: 0d 93 cmp #0, r13 ;r3 As==00 c26a: 03 24 jz $+8 ;abs 0xc272 0000c26c <.Loc.526.1>: c26c: 3d 90 25 00 cmp #37, r13 ;#0x0025 c270: f9 23 jnz $-12 ;abs 0xc264 0000c272 <.L37>: c272: 0b 44 mov r4, r11 ; c274: 0b 8a sub r10, r11 ; 0000c276 <.LVL67>: c276: 04 9a cmp r10, r4 ; c278: 0d 24 jz $+28 ;abs 0xc294 0000c27a <.Loc.531.1>: c27a: 0f 4b mov r11, r15 ; c27c: 0e 4a mov r10, r14 ; c27e: 0d 49 mov r9, r13 ; c280: 0c 47 mov r7, r12 ; c282: 81 4b 02 00 mov r11, 2(r1) ; c286: 86 12 call r6 ; 0000c288 <.LVL68>: c288: 1b 41 02 00 mov 2(r1), r11 ; c28c: 3c 93 cmp #-1, r12 ;r3 As==11 c28e: db 24 jz $+440 ;abs 0xc446 0000c290 <.Loc.531.1>: c290: 81 5b 10 00 add r11, 16(r1) ; 0x0010 0000c294 <.L39>: c294: c4 93 00 00 cmp.b #0, 0(r4) ;r3 As==00 c298: d6 24 jz $+430 ;abs 0xc446 0000c29a <.Loc.537.1>: c29a: 0f 44 mov r4, r15 ; c29c: 1f 53 inc r15 ; 0000c29e <.LVL69>: c29e: 81 43 06 00 mov #0, 6(r1) ;r3 As==00 0000c2a2 <.Loc.540.1>: c2a2: 81 43 0c 00 mov #0, 12(r1) ;r3 As==00, 0x000c 0000c2a6 <.Loc.541.1>: c2a6: b1 43 08 00 mov #-1, 8(r1) ;r3 As==11 0000c2aa <.Loc.542.1>: c2aa: 81 43 0a 00 mov #0, 10(r1) ;r3 As==00, 0x000a 0000c2ae <.Loc.543.1>: c2ae: c1 43 3d 00 mov.b #0, 61(r1) ;r3 As==00, 0x003d 0000c2b2 <.Loc.545.1>: c2b2: 81 43 50 00 mov #0, 80(r1) ;r3 As==00, 0x0050 0000c2b6 <.Loc.553.1>: c2b6: 74 40 05 00 mov.b #5, r4 ; 0000c2ba <.L41>: c2ba: 0a 4f mov r15, r10 ; c2bc: 0e 44 mov r4, r14 ; c2be: 7d 4a mov.b @r10+, r13 ; c2c0: 3c 40 09 83 mov #-31991,r12 ;#0x8309 c2c4: 81 4f 02 00 mov r15, 2(r1) ; c2c8: 85 12 call r5 ; 0000c2ca <.LVL72>: c2ca: 0d 4c mov r12, r13 ; 0000c2cc <.LVL73>: c2cc: 1f 41 02 00 mov 2(r1), r15 ; c2d0: 0c 93 cmp #0, r12 ;r3 As==00 c2d2: 23 20 jnz $+72 ;abs 0xc31a 0000c2d4 <.Loc.557.1>: c2d4: 1d 41 06 00 mov 6(r1), r13 ; 0000c2d8 <.Loc.557.1>: c2d8: 3d b0 10 00 bit #16, r13 ;#0x0010 c2dc: 03 24 jz $+8 ;abs 0xc2e4 0000c2de <.Loc.558.1>: c2de: f1 40 20 00 mov.b #32, 61(r1) ;#0x0020, 0x003d c2e2: 3d 00 0000c2e4 <.L43>: c2e4: 3d b2 bit #8, r13 ;r2 As==11 c2e6: 03 24 jz $+8 ;abs 0xc2ee 0000c2e8 <.Loc.566.1>: c2e8: f1 40 2b 00 mov.b #43, 61(r1) ;#0x002b, 0x003d c2ec: 3d 00 0000c2ee <.L44>: c2ee: ff 90 2a 00 cmp.b #42, 0(r15) ;#0x002a c2f2: 00 00 c2f4: 1b 24 jz $+56 ;abs 0xc32c c2f6: 14 41 0c 00 mov 12(r1), r4 ;0x0000c c2fa: 0a 4f mov r15, r10 ; c2fc: 4c 43 clr.b r12 ; 0000c2fe <.LVL74>: c2fe: 5f 43 mov.b #1, r15 ;r3 As==01 0000c300 <.L46>: c300: 0e 4a mov r10, r14 ; c302: 7d 4e mov.b @r14+, r13 ; c304: 3d 50 d0 ff add #-48, r13 ;#0xffd0 0000c308 <.Loc.587.1>: c308: 7b 40 09 00 mov.b #9, r11 ; c30c: 0b 9d cmp r13, r11 ; c30e: 63 2c jc $+200 ;abs 0xc3d6 c310: 0c 93 cmp #0, r12 ;r3 As==00 c312: 19 24 jz $+52 ;abs 0xc346 c314: 81 44 0c 00 mov r4, 12(r1) ; 0x000c c318: 16 3c jmp $+46 ;abs 0xc346 0000c31a <.L42>: c31a: 5c 43 mov.b #1, r12 ;r3 As==01 0000c31c <.LVL77>: c31c: 3d 80 09 83 sub #-31991,r13 ;#0x8309 0000c320 <.LVL78>: c320: b0 12 c8 b5 call #-19000 ;#0xb5c8 0000c324 <.LVL79>: c324: 81 dc 06 00 bis r12, 6(r1) ; 0000c328 <.Loc.554.1>: c328: 0f 4a mov r10, r15 ; c32a: c7 3f jmp $-112 ;abs 0xc2ba 0000c32c <.L45>: c32c: 1c 41 04 00 mov 4(r1), r12 ; 0000c330 <.LVL81>: c330: 1c 53 inc r12 ; c332: 1c c3 bic #1, r12 ;r3 As==01 c334: 0b 4c mov r12, r11 ; c336: 2b 53 incd r11 ; c338: 81 4b 04 00 mov r11, 4(r1) ; c33c: 2c 4c mov @r12, r12 ; 0000c33e <.Loc.578.1>: c33e: 0c 93 cmp #0, r12 ;r3 As==00 c340: 42 38 jl $+134 ;abs 0xc3c6 0000c342 <.Loc.577.1>: c342: 81 4c 0c 00 mov r12, 12(r1) ; 0x000c 0000c346 <.L49>: c346: fa 90 2e 00 cmp.b #46, 0(r10) ;#0x002e c34a: 00 00 c34c: 12 20 jnz $+38 ;abs 0xc372 0000c34e <.Loc.594.1>: c34e: fa 90 2a 00 cmp.b #42, 1(r10) ;#0x002a c352: 01 00 c354: 4d 20 jnz $+156 ;abs 0xc3f0 0000c356 <.LVL82>: c356: 2a 53 incd r10 ; 0000c358 <.LVL83>: c358: 1c 41 04 00 mov 4(r1), r12 ; c35c: 1c 53 inc r12 ; c35e: 1c c3 bic #1, r12 ;r3 As==01 c360: 0d 4c mov r12, r13 ; c362: 2d 53 incd r13 ; c364: 81 4d 04 00 mov r13, 4(r1) ; c368: 2c 4c mov @r12, r12 ; 0000c36a <.Loc.599.1>: c36a: 0c 93 cmp #0, r12 ;r3 As==00 c36c: 3e 38 jl $+126 ;abs 0xc3ea 0000c36e <.Loc.598.1>: c36e: 81 4c 08 00 mov r12, 8(r1) ; 0000c372 <.L52>: c372: 7e 40 03 00 mov.b #3, r14 ; c376: 6d 4a mov.b @r10, r13 ; c378: 3c 40 0f 83 mov #-31985,r12 ;#0x830f c37c: 85 12 call r5 ; 0000c37e <.LVL85>: c37e: 0d 4c mov r12, r13 ; 0000c380 <.LVL86>: c380: 0c 93 cmp #0, r12 ;r3 As==00 c382: 09 24 jz $+20 ;abs 0xc396 0000c384 <.LVL87>: c384: 1a 53 inc r10 ; 0000c386 <.LVL88>: c386: 7c 40 40 00 mov.b #64, r12 ;#0x0040 0000c38a <.LVL89>: c38a: 3d 80 0f 83 sub #-31985,r13 ;#0x830f 0000c38e <.LVL90>: c38e: b0 12 c8 b5 call #-19000 ;#0xb5c8 0000c392 <.LVL91>: c392: 81 dc 06 00 bis r12, 6(r1) ; 0000c396 <.L58>: c396: 7d 4a mov.b @r10+, r13 ; 0000c398 <.LVL93>: c398: c1 4d 12 00 mov.b r13, 18(r1) ; 0x0012 0000c39c <.Loc.620.1>: c39c: 7e 40 06 00 mov.b #6, r14 ; c3a0: 3c 40 13 83 mov #-31981,r12 ;#0x8313 c3a4: 85 12 call r5 ; 0000c3a6 <.LVL94>: c3a6: 0c 93 cmp #0, r12 ;r3 As==00 c3a8: 58 24 jz $+178 ;abs 0xc45a 0000c3aa <.Loc.627.1>: c3aa: 34 40 00 00 mov #0, r4 ; c3ae: 04 93 cmp #0, r4 ;r3 As==00 c3b0: 3c 20 jnz $+122 ;abs 0xc42a 0000c3b2 <.Loc.629.1>: c3b2: 1c 41 04 00 mov 4(r1), r12 ; 0000c3b6 <.LVL95>: c3b6: 1c 53 inc r12 ; c3b8: 1c c3 bic #1, r12 ;r3 As==01 c3ba: 3c 52 add #8, r12 ;r2 As==11 c3bc: 81 4c 04 00 mov r12, 4(r1) ; 0000c3c0 <.L61>: c3c0: 81 58 10 00 add r8, 16(r1) ; 0x0010 0000c3c4 <.Loc.523.1>: c3c4: 4e 3f jmp $-354 ;abs 0xc262 0000c3c6 <.L47>: c3c6: 4e 43 clr.b r14 ; c3c8: 0e 8c sub r12, r14 ; c3ca: 81 4e 0c 00 mov r14, 12(r1) ; 0x000c 0000c3ce <.Loc.581.1>: c3ce: 2d d3 bis #2, r13 ;r3 As==10 c3d0: 81 4d 06 00 mov r13, 6(r1) ; 0000c3d4 <.Loc.583.1>: c3d4: b8 3f jmp $-142 ;abs 0xc346 0000c3d6 <.L50>: c3d6: 0c 44 mov r4, r12 ; c3d8: 0c 5c rla r12 ; c3da: 0c 5c rla r12 ; c3dc: 0c 54 add r4, r12 ; c3de: 0c 5c rla r12 ; 0000c3e0 <.Loc.588.1>: c3e0: 04 4c mov r12, r4 ; c3e2: 04 5d add r13, r4 ; 0000c3e4 <.LVL98>: c3e4: 0a 4e mov r14, r10 ; 0000c3e6 <.Loc.588.1>: c3e6: 0c 4f mov r15, r12 ; c3e8: 8b 3f jmp $-232 ;abs 0xc300 0000c3ea <.L54>: c3ea: b1 43 08 00 mov #-1, 8(r1) ;r3 As==11 c3ee: c1 3f jmp $-124 ;abs 0xc372 0000c3f0 <.L53>: c3f0: 1a 53 inc r10 ; 0000c3f2 <.LVL101>: c3f2: 81 43 08 00 mov #0, 8(r1) ;r3 As==00 0000c3f6 <.Loc.605.1>: c3f6: 4c 43 clr.b r12 ; c3f8: 04 4c mov r12, r4 ; 0000c3fa <.Loc.606.1>: c3fa: 5f 43 mov.b #1, r15 ;r3 As==01 0000c3fc <.L55>: c3fc: 0e 4a mov r10, r14 ; c3fe: 7d 4e mov.b @r14+, r13 ; c400: 3d 50 d0 ff add #-48, r13 ;#0xffd0 0000c404 <.Loc.605.1>: c404: 7b 40 09 00 mov.b #9, r11 ; c408: 0b 9d cmp r13, r11 ; c40a: 05 2c jc $+12 ;abs 0xc416 c40c: 0c 93 cmp #0, r12 ;r3 As==00 c40e: b1 27 jz $-156 ;abs 0xc372 c410: 81 44 08 00 mov r4, 8(r1) ; c414: ae 3f jmp $-162 ;abs 0xc372 0000c416 <.L56>: c416: 0c 44 mov r4, r12 ; c418: 0c 5c rla r12 ; c41a: 0c 5c rla r12 ; c41c: 0c 54 add r4, r12 ; c41e: 0c 5c rla r12 ; 0000c420 <.Loc.606.1>: c420: 04 4c mov r12, r4 ; c422: 04 5d add r13, r4 ; 0000c424 <.LVL103>: c424: 0a 4e mov r14, r10 ; 0000c426 <.Loc.606.1>: c426: 0c 4f mov r15, r12 ; c428: e9 3f jmp $-44 ;abs 0xc3fc 0000c42a <.L60>: c42a: 6c 42 mov.b #4, r12 ;r2 As==10 0000c42c <.LVL105>: c42c: 0c 51 add r1, r12 ; c42e: 81 4c 00 00 mov r12, 0(r1) ; c432: 0f 46 mov r6, r15 ; c434: 0e 49 mov r9, r14 ; c436: 0d 41 mov r1, r13 ; c438: 3d 50 06 00 add #6, r13 ; c43c: 0c 47 mov r7, r12 ; c43e: 84 12 call r4 ; 0000c440 <.L96>: c440: 08 4c mov r12, r8 ; 0000c442 <.Loc.643.1>: c442: 3c 93 cmp #-1, r12 ;r3 As==11 c444: bd 23 jnz $-132 ;abs 0xc3c0 0000c446 <.L40>: c446: f9 b0 40 00 bit.b #64, 6(r9) ;#0x0040 c44a: 06 00 c44c: f9 22 jnz $-524 ;abs 0xc240 0000c44e <.Loc.654.1>: c44e: 1c 41 10 00 mov 16(r1), r12 ;0x00010 0000c452 <.L33>: c452: 31 50 52 00 add #82, r1 ;#0x0052 0000c456 <.LCFI28>: c456: 30 40 b4 b5 br #0xb5b4 ; 0000c45a <.L59>: c45a: 6d 42 mov.b #4, r13 ;r2 As==10 c45c: 0d 51 add r1, r13 ; c45e: 81 4d 00 00 mov r13, 0(r1) ; c462: 0f 46 mov r6, r15 ; c464: 0e 49 mov r9, r14 ; c466: 0d 41 mov r1, r13 ; c468: 3d 50 06 00 add #6, r13 ; c46c: 0c 47 mov r7, r12 ; 0000c46e <.LVL111>: c46e: b0 12 88 c5 call #-14968 ;#0xc588 0000c472 <.LVL112>: c472: e6 3f jmp $-50 ;abs 0xc440 0000c474 <_printf_common>: c474: 0a 12 push r10 ; 0000c476 <.LCFI0>: c476: 09 12 push r9 ; 0000c478 <.LCFI1>: c478: 08 12 push r8 ; 0000c47a <.LCFI2>: c47a: 07 12 push r7 ; 0000c47c <.LCFI3>: c47c: 06 12 push r6 ; 0000c47e <.LCFI4>: c47e: 05 12 push r5 ; 0000c480 <.LCFI5>: c480: 04 12 push r4 ; 0000c482 <.LCFI6>: c482: 21 83 decd r1 ; 0000c484 <.LCFI7>: c484: 07 4c mov r12, r7 ; c486: 0a 4d mov r13, r10 ; 0000c488 : c488: 08 4e mov r14, r8 ; c48a: 06 4f mov r15, r6 ; c48c: 15 41 12 00 mov 18(r1), r5 ;0x00012 0000c490 <.Loc.56.1>: c490: 1d 4d 04 00 mov 4(r13), r13 ; 0000c494 <.LVL1>: c494: 1c 4a 08 00 mov 8(r10), r12 ; 0000c498 <.LVL2>: c498: 0c 9d cmp r13, r12 ; c49a: 01 34 jge $+4 ;abs 0xc49e c49c: 0c 4d mov r13, r12 ; 0000c49e <.L2>: c49e: 88 4c 00 00 mov r12, 0(r8) ; 0000c4a2 <.Loc.73.1>: c4a2: ca 93 37 00 cmp.b #0, 55(r10) ;r3 As==00, 0x0037 c4a6: 03 24 jz $+8 ;abs 0xc4ae 0000c4a8 <.Loc.74.1>: c4a8: 1c 53 inc r12 ; c4aa: 88 4c 00 00 mov r12, 0(r8) ; 0000c4ae <.L3>: c4ae: fa b0 20 00 bit.b #32, 0(r10) ;#0x0020 c4b2: 00 00 c4b4: 02 24 jz $+6 ;abs 0xc4ba 0000c4b6 <.Loc.77.1>: c4b6: a8 53 00 00 incd 0(r8) ; 0000c4ba <.L4>: c4ba: 29 4a mov @r10, r9 ; c4bc: 79 f0 06 00 and.b #6, r9 ; 0000c4c0 <.Loc.80.1>: c4c0: ba b0 06 00 bit #6, 0(r10) ; c4c4: 00 00 c4c6: 09 20 jnz $+20 ;abs 0xc4da 0000c4c8 <.LBB2>: c4c8: 04 4a mov r10, r4 ; c4ca: 34 50 0d 00 add #13, r4 ;#0x000d c4ce: 5b 43 mov.b #1, r11 ;r3 As==01 0000c4d0 <.L5>: c4d0: 1c 4a 06 00 mov 6(r10), r12 ; c4d4: 2c 88 sub @r8, r12 ; c4d6: 09 9c cmp r12, r9 ; c4d8: 31 38 jl $+100 ;abs 0xc53c 0000c4da <.L11>: c4da: 5d 4a 37 00 mov.b 55(r10),r13 ;0x00037 c4de: 0c 43 clr r12 ; c4e0: 0c 8d sub r13, r12 ; c4e2: 7d 40 0f 00 mov.b #15, r13 ;#0x000f c4e6: b0 12 fe b5 call #-18946 ;#0xb5fe c4ea: 0f 4c mov r12, r15 ; 0000c4ec <.LVL7>: c4ec: fa b0 20 00 bit.b #32, 0(r10) ;#0x0020 c4f0: 00 00 c4f2: 34 20 jnz $+106 ;abs 0xc55c 0000c4f4 <.L7>: c4f4: 0e 4a mov r10, r14 ; c4f6: 3e 50 37 00 add #55, r14 ;#0x0037 c4fa: 0d 46 mov r6, r13 ; c4fc: 0c 47 mov r7, r12 ; c4fe: 85 12 call r5 ; 0000c500 <.LVL9>: c500: 3c 93 cmp #-1, r12 ;r3 As==11 c502: 26 24 jz $+78 ;abs 0xc550 0000c504 <.Loc.94.1>: c504: 19 4a 06 00 mov 6(r10), r9 ; 0000c508 <.Loc.95.1>: c508: 2c 48 mov @r8, r12 ; 0000c50a <.LVL10>: c50a: 2d 4a mov @r10, r13 ; c50c: 7d f0 06 00 and.b #6, r13 ; 0000c510 <.Loc.96.1>: c510: 2d 92 cmp #4, r13 ;r2 As==10 c512: 03 20 jnz $+8 ;abs 0xc51a 0000c514 <.Loc.95.1>: c514: 09 8c sub r12, r9 ; 0000c516 <.LVL11>: c516: 09 93 cmp #0, r9 ;r3 As==00 c518: 01 34 jge $+4 ;abs 0xc51c 0000c51a <.L18>: c51a: 49 43 clr.b r9 ; 0000c51c <.L13>: c51c: 1c 4a 04 00 mov 4(r10), r12 ; 0000c520 <.Loc.99.1>: c520: 1d 4a 08 00 mov 8(r10), r13 ; 0000c524 <.Loc.99.1>: c524: 0d 9c cmp r12, r13 ; c526: 02 34 jge $+6 ;abs 0xc52c 0000c528 <.Loc.100.1>: c528: 0c 8d sub r13, r12 ; 0000c52a <.Loc.100.1>: c52a: 09 5c add r12, r9 ; 0000c52c <.L15>: c52c: 48 43 clr.b r8 ; 0000c52e <.LVL15>: c52e: 3a 50 0e 00 add #14, r10 ;#0x000e 0000c532 <.LVL16>: c532: 54 43 mov.b #1, r4 ;r3 As==01 0000c534 <.L16>: c534: 09 98 cmp r8, r9 ; c536: 1f 20 jnz $+64 ;abs 0xc576 0000c538 <.LBE3>: c538: 4c 43 clr.b r12 ; c53a: 0b 3c jmp $+24 ;abs 0xc552 0000c53c <.L10>: c53c: 0f 4b mov r11, r15 ; c53e: 0e 44 mov r4, r14 ; c540: 0d 46 mov r6, r13 ; c542: 0c 47 mov r7, r12 ; c544: 81 4b 00 00 mov r11, 0(r1) ; c548: 85 12 call r5 ; 0000c54a <.LVL19>: c54a: 2b 41 mov @r1, r11 ; c54c: 3c 93 cmp #-1, r12 ;r3 As==11 c54e: 04 20 jnz $+10 ;abs 0xc558 0000c550 <.L12>: c550: 3c 43 mov #-1, r12 ;r3 As==11 0000c552 <.L1>: c552: 21 53 incd r1 ; 0000c554 <.LCFI8>: c554: 30 40 b4 b5 br #0xb5b4 ; 0000c558 <.L8>: c558: 19 53 inc r9 ; c55a: ba 3f jmp $-138 ;abs 0xc4d0 0000c55c <.L6>: c55c: 0c 4a mov r10, r12 ; c55e: 0c 5f add r15, r12 ; c560: fc 40 30 00 mov.b #48, 55(r12) ;#0x0030, 0x0037 c564: 37 00 0000c566 <.LVL24>: c566: 0c 4f mov r15, r12 ; c568: 1c 53 inc r12 ; c56a: 0c 5a add r10, r12 ; c56c: 2f 53 incd r15 ; 0000c56e <.LVL25>: c56e: dc 4a 39 00 mov.b 57(r10),55(r12) ;0x00039, 0x0037 c572: 37 00 c574: bf 3f jmp $-128 ;abs 0xc4f4 0000c576 <.L17>: c576: 0f 44 mov r4, r15 ; c578: 0e 4a mov r10, r14 ; c57a: 0d 46 mov r6, r13 ; c57c: 0c 47 mov r7, r12 ; c57e: 85 12 call r5 ; 0000c580 <.LVL27>: c580: 3c 93 cmp #-1, r12 ;r3 As==11 c582: e6 27 jz $-50 ;abs 0xc550 0000c584 <.Loc.102.1>: c584: 18 53 inc r8 ; c586: d6 3f jmp $-82 ;abs 0xc534 0000c588 <_printf_i>: c588: 0a 12 push r10 ; 0000c58a <.LCFI10>: c58a: 09 12 push r9 ; 0000c58c <.LCFI11>: c58c: 08 12 push r8 ; 0000c58e <.LCFI12>: c58e: 07 12 push r7 ; 0000c590 : c590: 06 12 push r6 ; 0000c592 <.LCFI14>: c592: 05 12 push r5 ; 0000c594 <.LCFI15>: c594: 04 12 push r4 ; 0000c596 <.LCFI16>: c596: 31 80 14 00 sub #20, r1 ;#0x0014 0000c59a <.LCFI17>: c59a: 81 4c 08 00 mov r12, 8(r1) ; c59e: 0a 4d mov r13, r10 ; c5a0: 04 4e mov r14, r4 ; c5a2: 81 4f 0a 00 mov r15, 10(r1) ; 0x000a c5a6: 1d 41 24 00 mov 36(r1), r13 ;0x00024 0000c5aa <.LVL30>: c5aa: 0b 4a mov r10, r11 ; c5ac: 3b 50 37 00 add #55, r11 ;#0x0037 0000c5b0 <.LVL31>: c5b0: 5c 4a 0c 00 mov.b 12(r10),r12 ;0x0000c 0000c5b4 <.LVL32>: c5b4: 76 40 78 00 mov.b #120, r6 ;#0x0078 c5b8: 56 9a 0c 00 cmp.b 12(r10),r6 ;0x0000c c5bc: 09 28 jnc $+20 ;abs 0xc5d0 c5be: 77 40 62 00 mov.b #98, r7 ;#0x0062 c5c2: 47 9c cmp.b r12, r7 ; c5c4: 0b 28 jnc $+24 ;abs 0xc5dc c5c6: 0c 93 cmp #0, r12 ;r3 As==00 c5c8: 33 25 jz $+616 ;abs 0xc830 c5ca: 3c 90 58 00 cmp #88, r12 ;#0x0058 c5ce: e8 24 jz $+466 ;abs 0xc7a0 0000c5d0 <.L30>: c5d0: 07 4a mov r10, r7 ; c5d2: 37 50 36 00 add #54, r7 ;#0x0036 0000c5d6 <.LVL34>: c5d6: ca 4c 36 00 mov.b r12, 54(r10) ; 0x0036 c5da: 31 3c jmp $+100 ;abs 0xc63e 0000c5dc <.L31>: c5dc: 4e 4c mov.b r12, r14 ; c5de: 7e 50 9d ff add.b #-99, r14 ;#0xff9d c5e2: 78 40 15 00 mov.b #21, r8 ;#0x0015 c5e6: 48 9e cmp.b r14, r8 ; c5e8: f3 2b jnc $-24 ;abs 0xc5d0 c5ea: 3e f0 ff 00 and #255, r14 ;#0x00ff c5ee: 0e 5e rla r14 ; c5f0: 3e 50 fa c5 add #-14854,r14 ;#0xc5fa c5f4: 2e 4e mov @r14, r14 ; c5f6: 00 4e br r14 ; ... 0000c5fa <.L35>: c5fa: 26 c6 bic @r6, r6 ; c5fc: 44 c6 bic.b r6, r4 ; c5fe: d0 c5 d0 c5 bic.b -14896(r5),0xc5d0 ;0xffffc5d0, PC rel. 0x8bd2 c602: d0 c5 c604: d0 c5 44 c6 bic.b -14780(r5),0xc5d0 ;0xffffc644, PC rel. 0x8bd8 c608: d0 c5 c60a: d0 c5 d0 c5 bic.b -14896(r5),0xc5d0 ;0xffffc5d0, PC rel. 0x8bde c60e: d0 c5 c610: 06 c8 bic r8, r6 ; c612: 98 c6 e4 c7 bic -14364(r6),-14896(r8);0xffffc7e4, 0xc5d0 c616: d0 c5 c618: d0 c5 3e c8 bic.b -14274(r5),0xc5d0 ;0xffffc83e, PC rel. 0x8bec c61c: d0 c5 c61e: 98 c6 d0 c5 bic -14896(r6),-14896(r8);0xffffc5d0, 0xc5d0 c622: d0 c5 c624: 0000c626 <.L41>: c626: 2c 4d mov @r13, r12 ; c628: 1c 53 inc r12 ; c62a: 1c c3 bic #1, r12 ;r3 As==01 c62c: 09 4c mov r12, r9 ; c62e: 29 53 incd r9 ; c630: 8d 49 00 00 mov r9, 0(r13) ; 0000c634 <.Loc.124.1>: c634: 07 4a mov r10, r7 ; c636: 37 50 36 00 add #54, r7 ;#0x0036 0000c63a <.LVL36>: c63a: ea 4c 36 00 mov.b @r12, 54(r10) ; 0x0036 0000c63e <.L97>: c63e: 9a 43 08 00 mov #1, 8(r10) ;r3 As==01 c642: 11 3d jmp $+548 ;abs 0xc866 0000c644 <.L40>: c644: 2c 4d mov @r13, r12 ; c646: 1c 53 inc r12 ; c648: 1c c3 bic #1, r12 ;r3 As==01 0000c64a <.Loc.129.1>: c64a: 2e 4a mov @r10, r14 ; c64c: 7e f0 80 00 and.b #128, r14 ;#0x0080 c650: 0e 93 cmp #0, r14 ;r3 As==00 c652: 17 24 jz $+48 ;abs 0xc682 c654: 0e 4c mov r12, r14 ; c656: 2e 52 add #4, r14 ;r2 As==10 c658: 8d 4e 00 00 mov r14, 0(r13) ; c65c: 28 4c mov @r12, r8 ; c65e: 19 4c 02 00 mov 2(r12), r9 ; 0000c662 <.L44>: c662: 09 93 cmp #0, r9 ;r3 As==00 c664: 09 34 jge $+20 ;abs 0xc678 0000c666 <.Loc.132.1>: c666: 46 43 clr.b r6 ; c668: 47 43 clr.b r7 ; c66a: 06 88 sub r8, r6 ; c66c: 07 79 subc r9, r7 ; c66e: 08 46 mov r6, r8 ; 0000c670 <.LVL40>: c670: 09 47 mov r7, r9 ; 0000c672 <.LVL41>: c672: fa 40 2d 00 mov.b #45, 55(r10) ;#0x002d, 0x0037 c676: 37 00 0000c678 <.L73>: c678: 35 40 1a 83 mov #-31974,r5 ;#0x831a 0000c67c <.LBB8>: c67c: 76 40 0a 00 mov.b #10, r6 ;#0x000a c680: 22 3c jmp $+70 ;abs 0xc6c6 0000c682 <.L43>: c682: 0f 4c mov r12, r15 ; 0000c684 <.LVL43>: c684: 2f 53 incd r15 ; c686: 8d 4f 00 00 mov r15, 0(r13) ; c68a: 2c 4c mov @r12, r12 ; c68c: 08 4c mov r12, r8 ; c68e: 38 b0 00 80 bit #-32768,r8 ;#0x8000 c692: 09 79 subc r9, r9 ; c694: 39 e3 inv r9 ; c696: e5 3f jmp $-52 ;abs 0xc662 0000c698 <.L36>: c698: 2f 4a mov @r10, r15 ; 0000c69a <.LVL45>: c69a: 2e 4d mov @r13, r14 ; c69c: 1e 53 inc r14 ; c69e: 1e c3 bic #1, r14 ;r3 As==01 c6a0: 3f b0 80 00 bit #128, r15 ;#0x0080 c6a4: 77 24 jz $+240 ;abs 0xc794 c6a6: 07 4e mov r14, r7 ; c6a8: 27 52 add #4, r7 ;r2 As==10 c6aa: 8d 47 00 00 mov r7, 0(r13) ; c6ae: 28 4e mov @r14, r8 ; c6b0: 19 4e 02 00 mov 2(r14), r9 ; 0000c6b4 <.L48>: c6b4: 35 40 1a 83 mov #-31974,r5 ;#0x831a 0000c6b8 <.LBB9>: c6b8: 3c 90 6f 00 cmp #111, r12 ;#0x006f c6bc: a2 24 jz $+326 ;abs 0xc802 0000c6be <.Loc.140.1>: c6be: 76 40 0a 00 mov.b #10, r6 ;#0x000a 0000c6c2 <.L50>: c6c2: ca 43 37 00 mov.b #0, 55(r10) ;r3 As==00, 0x0037 0000c6c6 <.L45>: c6c6: 1c 4a 02 00 mov 2(r10), r12 ; 0000c6ca <.Loc.179.1>: c6ca: 8a 4c 04 00 mov r12, 4(r10) ; 0000c6ce <.Loc.179.1>: c6ce: 0c 93 cmp #0, r12 ;r3 As==00 c6d0: 02 38 jl $+6 ;abs 0xc6d6 0000c6d2 <.Loc.180.1>: c6d2: aa c2 00 00 bic #4, 0(r10) ;r2 As==10 0000c6d6 <.L56>: c6d6: 0d 48 mov r8, r13 ; 0000c6d8 <.LVL49>: c6d8: 0d d9 bis r9, r13 ; 0000c6da <.Loc.135.1>: c6da: 07 4b mov r11, r7 ; 0000c6dc <.Loc.187.1>: c6dc: 0d 93 cmp #0, r13 ;r3 As==00 c6de: 02 20 jnz $+6 ;abs 0xc6e4 0000c6e0 <.LVL50>: c6e0: 0c 93 cmp #0, r12 ;r3 As==00 c6e2: 35 24 jz $+108 ;abs 0xc74e 0000c6e4 <.L57>: c6e4: 0c 46 mov r6, r12 ; c6e6: 3c b0 00 80 bit #-32768,r12 ;#0x8000 c6ea: 0d 7d subc r13, r13 ; c6ec: 3d e3 inv r13 ; c6ee: 81 4c 04 00 mov r12, 4(r1) ; c6f2: 81 4d 06 00 mov r13, 6(r1) ; 0000c6f6 <.Loc.194.1>: c6f6: 81 4d 10 00 mov r13, 16(r1) ; 0x0010 0000c6fa <.L90>: c6fa: 37 53 add #-1, r7 ;r3 As==11 0000c6fc <.Loc.191.1>: c6fc: 1e 41 04 00 mov 4(r1), r14 ; c700: 1f 41 06 00 mov 6(r1), r15 ; c704: 0c 48 mov r8, r12 ; c706: 0d 49 mov r9, r13 ; c708: 81 4b 02 00 mov r11, 2(r1) ; c70c: b0 12 a6 b5 call #-19034 ;#0xb5a6 0000c710 <.Loc.191.1>: c710: 0c 55 add r5, r12 ; 0000c712 <.Loc.191.1>: c712: e7 4c 00 00 mov.b @r12, 0(r7) ; 0000c716 <.Loc.192.1>: c716: 81 48 0e 00 mov r8, 14(r1) ; 0x000e c71a: 81 49 0c 00 mov r9, 12(r1) ; 0x000c 0000c71e <.Loc.192.1>: c71e: 1e 41 04 00 mov 4(r1), r14 ; c722: 1f 41 06 00 mov 6(r1), r15 ; c726: 0c 48 mov r8, r12 ; c728: 0d 49 mov r9, r13 ; c72a: b0 12 98 b5 call #-19048 ;#0xb598 c72e: 08 4c mov r12, r8 ; 0000c730 <.LVL54>: c730: 09 4d mov r13, r9 ; 0000c732 <.LVL55>: c732: 1b 41 02 00 mov 2(r1), r11 ; c736: 91 91 06 00 cmp 6(r1), 12(r1) ; 0x000c c73a: 0c 00 c73c: 08 28 jnc $+18 ;abs 0xc74e c73e: 91 91 0c 00 cmp 12(r1), 16(r1) ;0x0000c, 0x0010 c742: 10 00 c744: da 23 jnz $-74 ;abs 0xc6fa c746: 91 91 04 00 cmp 4(r1), 14(r1) ; 0x000e c74a: 0e 00 c74c: d6 2f jc $-82 ;abs 0xc6fa 0000c74e <.L58>: c74e: 36 92 cmp #8, r6 ;r2 As==11 c750: 0b 20 jnz $+24 ;abs 0xc768 0000c752 <.Loc.198.1>: c752: da b3 00 00 bit.b #1, 0(r10) ;r3 As==01 c756: 08 24 jz $+18 ;abs 0xc768 0000c758 <.Loc.198.1>: c758: 9a 9a 02 00 cmp 2(r10), 8(r10) ; c75c: 08 00 c75e: 04 38 jl $+10 ;abs 0xc768 0000c760 <.LVL56>: c760: f7 40 30 00 mov.b #48, -1(r7) ;#0x0030, 0xffff c764: ff ff c766: 37 53 add #-1, r7 ;r3 As==11 0000c768 <.L61>: c768: 0b 87 sub r7, r11 ; c76a: 8a 4b 08 00 mov r11, 8(r10) ; 0000c76e <.L62>: c76e: 91 41 0a 00 mov 10(r1), 0(r1) ;0x0000a c772: 00 00 c774: 0f 44 mov r4, r15 ; c776: 0e 41 mov r1, r14 ; c778: 3e 50 12 00 add #18, r14 ;#0x0012 c77c: 0d 4a mov r10, r13 ; c77e: 1c 41 08 00 mov 8(r1), r12 ; c782: b0 12 74 c4 call #-15244 ;#0xc474 0000c786 <.LVL59>: c786: 3c 93 cmp #-1, r12 ;r3 As==11 c788: 71 20 jnz $+228 ;abs 0xc86c 0000c78a <.L68>: c78a: 3c 43 mov #-1, r12 ;r3 As==11 0000c78c <.L29>: c78c: 31 50 14 00 add #20, r1 ;#0x0014 0000c790 <.LCFI18>: c790: 30 40 b4 b5 br #0xb5b4 ; 0000c794 <.L47>: c794: 36 4e mov @r14+, r6 ; c796: 08 46 mov r6, r8 ; c798: 09 43 clr r9 ; 0000c79a <.LBB10>: c79a: 8d 4e 00 00 mov r14, 0(r13) ; c79e: 8a 3f jmp $-234 ;abs 0xc6b4 0000c7a0 <.L33>: c7a0: ca 4c 39 00 mov.b r12, 57(r10) ; 0x0039 0000c7a4 <.LBE10>: c7a4: 35 40 1a 83 mov #-31974,r5 ;#0x831a 0000c7a8 <.L51>: c7a8: 2c 4a mov @r10, r12 ; c7aa: 2e 4d mov @r13, r14 ; c7ac: 1e 53 inc r14 ; c7ae: 1e c3 bic #1, r14 ;r3 As==01 c7b0: 3c b0 80 00 bit #128, r12 ;#0x0080 c7b4: 20 24 jz $+66 ;abs 0xc7f6 c7b6: 07 4e mov r14, r7 ; c7b8: 27 52 add #4, r7 ;r2 As==10 c7ba: 8d 47 00 00 mov r7, 0(r13) ; c7be: 28 4e mov @r14, r8 ; c7c0: 19 4e 02 00 mov 2(r14), r9 ; 0000c7c4 <.L53>: c7c4: 1c b3 bit #1, r12 ;r3 As==01 c7c6: 04 24 jz $+10 ;abs 0xc7d0 0000c7c8 <.Loc.164.1>: c7c8: 3c d0 20 00 bis #32, r12 ;#0x0020 c7cc: 8a 4c 00 00 mov r12, 0(r10) ; 0000c7d0 <.L55>: c7d0: 0c 48 mov r8, r12 ; c7d2: 0c d9 bis r9, r12 ; c7d4: 0c 93 cmp #0, r12 ;r3 As==00 c7d6: 03 20 jnz $+8 ;abs 0xc7de 0000c7d8 <.Loc.168.1>: c7d8: ba f0 df ff and #-33, 0(r10) ;#0xffdf c7dc: 00 00 0000c7de <.L75>: c7de: 76 40 10 00 mov.b #16, r6 ;#0x0010 c7e2: 6f 3f jmp $-288 ;abs 0xc6c2 0000c7e4 <.L38>: c7e4: ba d0 20 00 bis #32, 0(r10) ;#0x0020 c7e8: 00 00 0000c7ea <.L34>: c7ea: fa 40 78 00 mov.b #120, 57(r10) ;#0x0078, 0x0039 c7ee: 39 00 0000c7f0 <.Loc.159.1>: c7f0: 35 40 2b 83 mov #-31957,r5 ;#0x832b c7f4: d9 3f jmp $-76 ;abs 0xc7a8 0000c7f6 <.L52>: c7f6: 3f 4e mov @r14+, r15 ; 0000c7f8 <.LVL68>: c7f8: 08 4f mov r15, r8 ; c7fa: 09 43 clr r9 ; 0000c7fc <.Loc.161.1>: c7fc: 8d 4e 00 00 mov r14, 0(r13) ; c800: e1 3f jmp $-60 ;abs 0xc7c4 0000c802 <.L74>: c802: 76 42 mov.b #8, r6 ;r2 As==11 c804: 5e 3f jmp $-322 ;abs 0xc6c2 0000c806 <.L39>: c806: 29 4a mov @r10, r9 ; c808: 1e 4a 0a 00 mov 10(r10),r14 ;0x0000a c80c: 2c 4d mov @r13, r12 ; c80e: 0f 4c mov r12, r15 ; 0000c810 <.LVL71>: c810: 2f 53 incd r15 ; 0000c812 <.Loc.205.1>: c812: 8d 4f 00 00 mov r15, 0(r13) ; 0000c816 <.Loc.205.1>: c816: 2c 4c mov @r12, r12 ; 0000c818 <.Loc.204.1>: c818: 39 b0 80 00 bit #128, r9 ;#0x0080 c81c: 0d 24 jz $+28 ;abs 0xc838 0000c81e <.Loc.205.1>: c81e: 06 4e mov r14, r6 ; c820: 36 b0 00 80 bit #-32768,r6 ;#0x8000 c824: 07 77 subc r7, r7 ; c826: 37 e3 inv r7 ; c828: 8c 46 00 00 mov r6, 0(r12) ; c82c: 8c 47 02 00 mov r7, 2(r12) ; 0000c830 <.L32>: c830: 8a 43 08 00 mov #0, 8(r10) ;r3 As==00 0000c834 <.LBE11>: c834: 07 4b mov r11, r7 ; 0000c836 <.LBB12>: c836: 9b 3f jmp $-200 ;abs 0xc76e 0000c838 <.L63>: c838: 8c 4e 00 00 mov r14, 0(r12) ; 0000c83c <.LVL74>: c83c: f9 3f jmp $-12 ;abs 0xc830 0000c83e <.L37>: c83e: 2c 4d mov @r13, r12 ; c840: 07 4c mov r12, r7 ; c842: 27 53 incd r7 ; c844: 8d 47 00 00 mov r7, 0(r13) ; c848: 27 4c mov @r12, r7 ; 0000c84a <.LVL76>: c84a: 1e 4a 02 00 mov 2(r10), r14 ; c84e: 4d 43 clr.b r13 ; 0000c850 <.LVL77>: c850: 0c 47 mov r7, r12 ; c852: b0 12 ca c8 call #-14134 ;#0xc8ca 0000c856 <.LVL78>: c856: 0c 93 cmp #0, r12 ;r3 As==00 c858: 03 24 jz $+8 ;abs 0xc860 0000c85a <.Loc.222.1>: c85a: 0c 87 sub r7, r12 ; 0000c85c <.LVL79>: c85c: 8a 4c 02 00 mov r12, 2(r10) ; 0000c860 <.L65>: c860: 9a 4a 02 00 mov 2(r10), 8(r10) ; c864: 08 00 0000c866 <.L42>: c866: ca 43 37 00 mov.b #0, 55(r10) ;r3 As==00, 0x0037 0000c86a <.Loc.233.1>: c86a: 81 3f jmp $-252 ;abs 0xc76e 0000c86c <.L66>: c86c: 1f 4a 08 00 mov 8(r10), r15 ; c870: 0e 47 mov r7, r14 ; c872: 0d 44 mov r4, r13 ; c874: 1c 41 08 00 mov 8(r1), r12 ; 0000c878 <.LVL82>: c878: 18 41 0a 00 mov 10(r1), r8 ;0x0000a c87c: 88 12 call r8 ; 0000c87e <.LVL83>: c87e: 3c 93 cmp #-1, r12 ;r3 As==11 c880: 84 27 jz $-246 ;abs 0xc78a 0000c882 <.Loc.241.1>: c882: ea b3 00 00 bit.b #2, 0(r10) ;r3 As==10 c886: 1a 20 jnz $+54 ;abs 0xc8bc 0000c888 <.L72>: c888: 1d 41 12 00 mov 18(r1), r13 ;0x00012 c88c: 1c 4a 06 00 mov 6(r10), r12 ; c890: 0c 9d cmp r13, r12 ; c892: 7c 37 jge $-262 ;abs 0xc78c c894: 0c 4d mov r13, r12 ; c896: 7a 3f jmp $-266 ;abs 0xc78c 0000c898 <.L71>: c898: 0f 47 mov r7, r15 ; c89a: 0e 48 mov r8, r14 ; c89c: 0d 44 mov r4, r13 ; c89e: 1c 41 08 00 mov 8(r1), r12 ; c8a2: 16 41 0a 00 mov 10(r1), r6 ;0x0000a c8a6: 86 12 call r6 ; 0000c8a8 <.LVL86>: c8a8: 3c 93 cmp #-1, r12 ;r3 As==11 c8aa: 6f 27 jz $-288 ;abs 0xc78a 0000c8ac <.Loc.244.1>: c8ac: 19 53 inc r9 ; 0000c8ae <.L69>: c8ae: 1c 4a 06 00 mov 6(r10), r12 ; c8b2: 1c 81 12 00 sub 18(r1), r12 ;0x00012 c8b6: 09 9c cmp r12, r9 ; c8b8: ef 3b jl $-32 ;abs 0xc898 c8ba: e6 3f jmp $-50 ;abs 0xc888 0000c8bc <.L77>: c8bc: 49 43 clr.b r9 ; c8be: 08 4a mov r10, r8 ; c8c0: 38 50 0d 00 add #13, r8 ;#0x000d c8c4: 57 43 mov.b #1, r7 ;r3 As==01 0000c8c6 <.LVL89>: c8c6: f3 3f jmp $-24 ;abs 0xc8ae 0000c8c8 : ... 0000c8ca : c8ca: 3d f0 ff 00 and #255, r13 ;#0x00ff 0000c8ce <.LVL2>: c8ce: 0f 4c mov r12, r15 ; c8d0: 0e 5c add r12, r14 ; 0000c8d2 <.L2>: c8d2: 0c 4f mov r15, r12 ; 0000c8d4 <.LVL4>: c8d4: 0f 9e cmp r14, r15 ; c8d6: 02 20 jnz $+6 ;abs 0xc8dc 0000c8d8 <.Loc.133.1>: c8d8: 4c 43 clr.b r12 ; 0000c8da <.LVL5>: c8da: 04 3c jmp $+10 ;abs 0xc8e4 0000c8dc <.L4>: c8dc: 1f 53 inc r15 ; 0000c8de <.Loc.128.1>: c8de: cc 9d 00 00 cmp.b r13, 0(r12) ; c8e2: f7 23 jnz $-16 ;abs 0xc8d2 0000c8e4 <.L1>: c8e4: 30 41 ret 0000c8e6 : c8e6: 0a 12 push r10 ; 0000c8e8 : c8e8: 09 12 push r9 ; 0000c8ea <.LCFI1>: c8ea: 0d 9c cmp r12, r13 ; c8ec: 1e 2c jc $+62 ;abs 0xc92a 0000c8ee <.Loc.69.1>: c8ee: 0a 4d mov r13, r10 ; c8f0: 0a 5e add r14, r10 ; 0000c8f2 <.Loc.69.1>: c8f2: 0c 9a cmp r10, r12 ; c8f4: 1a 2c jc $+54 ;abs 0xc92a 0000c8f6 <.LVL2>: c8f6: 09 4e mov r14, r9 ; c8f8: 39 e3 inv r9 ; 0000c8fa <.Loc.74.1>: c8fa: 4d 43 clr.b r13 ; 0000c8fc <.L3>: c8fc: 3d 53 add #-1, r13 ;r3 As==11 0000c8fe <.LVL4>: c8fe: 09 9d cmp r13, r9 ; c900: 02 20 jnz $+6 ;abs 0xc906 0000c902 <.L10>: c902: 30 40 be b5 br #0xb5be ; 0000c906 <.L4>: c906: 0f 4e mov r14, r15 ; c908: 0f 5d add r13, r15 ; c90a: 0f 5c add r12, r15 ; c90c: 0b 4a mov r10, r11 ; c90e: 0b 5d add r13, r11 ; 0000c910 <.LVL7>: c910: ef 4b 00 00 mov.b @r11, 0(r15) ; c914: f3 3f jmp $-24 ;abs 0xc8fc 0000c916 <.L6>: c916: 0b 4d mov r13, r11 ; c918: 0b 5f add r15, r11 ; 0000c91a <.Loc.83.1>: c91a: 0a 4c mov r12, r10 ; c91c: 0a 5f add r15, r10 ; c91e: ea 4b 00 00 mov.b @r11, 0(r10) ; c922: 1f 53 inc r15 ; 0000c924 <.L5>: c924: 0e 9f cmp r15, r14 ; c926: f7 23 jnz $-16 ;abs 0xc916 c928: ec 3f jmp $-38 ;abs 0xc902 0000c92a <.L9>: c92a: 4f 43 clr.b r15 ; c92c: fb 3f jmp $-8 ;abs 0xc924 0000c92e <_free_r>: c92e: 0a 12 push r10 ; 0000c930 <.LCFI0>: c930: 09 12 push r9 ; 0000c932 <.LCFI1>: c932: 08 12 push r8 ; 0000c934 : c934: 07 12 push r7 ; 0000c936 <.LCFI3>: c936: 0d 93 cmp #0, r13 ;r3 As==00 c938: 27 24 jz $+80 ;abs 0xc988 0000c93a <.LBB4>: c93a: 0e 4d mov r13, r14 ; c93c: 3e 50 fc ff add #-4, r14 ;#0xfffc 0000c940 <.LVL2>: c940: 1f 4d fc ff mov -4(r13),r15 ; 0000c944 <.Loc.193.1>: c944: 8d 93 fe ff cmp #0, -2(r13) ;r3 As==00, 0xfffe c948: 01 34 jge $+4 ;abs 0xc94c 0000c94a <.Loc.193.1>: c94a: 0e 5f add r15, r14 ; 0000c94c <.L4>: c94c: 1d 42 ee 02 mov &0x02ee,r13 ;0x02ee 0000c950 <.LVL4>: c950: 0d 93 cmp #0, r13 ;r3 As==00 c952: 03 20 jnz $+8 ;abs 0xc95a 0000c954 <.L8>: c954: 8e 4d 04 00 mov r13, 4(r14) ; c958: 15 3c jmp $+44 ;abs 0xc984 0000c95a <.L6>: c95a: 0e 9d cmp r13, r14 ; c95c: 17 2c jc $+48 ;abs 0xc98c 0000c95e <.Loc.359.1>: c95e: 2a 4e mov @r14, r10 ; c960: 1b 4e 02 00 mov 2(r14), r11 ; 0000c964 <.Loc.359.1>: c964: 0c 4e mov r14, r12 ; 0000c966 <.LVL7>: c966: 0c 5a add r10, r12 ; 0000c968 <.Loc.359.1>: c968: 0d 9c cmp r12, r13 ; c96a: f4 23 jnz $-22 ;abs 0xc954 0000c96c <.Loc.363.1>: c96c: 08 4a mov r10, r8 ; c96e: 09 4b mov r11, r9 ; c970: 28 5d add @r13, r8 ; c972: 19 6d 02 00 addc 2(r13), r9 ; c976: 8e 48 00 00 mov r8, 0(r14) ; c97a: 8e 49 02 00 mov r9, 2(r14) ; 0000c97e <.Loc.364.1>: c97e: 9e 4d 04 00 mov 4(r13), 4(r14) ; c982: 04 00 0000c984 <.L9>: c984: 82 4e ee 02 mov r14, &0x02ee ; 0000c988 <.L1>: c988: 30 40 ba b5 br #0xb5ba ; 0000c98c <.L7>: c98c: 0f 4d mov r13, r15 ; 0000c98e <.Loc.381.1>: c98e: 1d 4d 04 00 mov 4(r13), r13 ; 0000c992 <.LVL10>: c992: 0d 93 cmp #0, r13 ;r3 As==00 c994: 02 24 jz $+6 ;abs 0xc99a 0000c996 <.Loc.382.1>: c996: 0e 9d cmp r13, r14 ; c998: f9 2f jc $-12 ;abs 0xc98c 0000c99a <.L10>: c99a: 29 4f mov @r15, r9 ; c99c: 17 4f 02 00 mov 2(r15), r7 ; 0000c9a0 <.Loc.387.1>: c9a0: 08 4f mov r15, r8 ; c9a2: 08 59 add r9, r8 ; 0000c9a4 <.Loc.387.1>: c9a4: 08 9e cmp r14, r8 ; c9a6: 1a 20 jnz $+54 ;abs 0xc9dc 0000c9a8 <.Loc.391.1>: c9a8: 0a 49 mov r9, r10 ; c9aa: 2a 5e add @r14, r10 ; c9ac: 1b 4e 02 00 mov 2(r14), r11 ; c9b0: 0b 67 addc r7, r11 ; c9b2: 8f 4a 00 00 mov r10, 0(r15) ; c9b6: 8f 4b 02 00 mov r11, 2(r15) ; 0000c9ba <.Loc.394.1>: c9ba: 0c 4f mov r15, r12 ; 0000c9bc <.LVL11>: c9bc: 0c 5a add r10, r12 ; 0000c9be <.Loc.394.1>: c9be: 0d 9c cmp r12, r13 ; c9c0: e3 23 jnz $-56 ;abs 0xc988 0000c9c2 <.Loc.396.1>: c9c2: 08 4a mov r10, r8 ; c9c4: 09 4b mov r11, r9 ; c9c6: 28 5d add @r13, r8 ; c9c8: 19 6d 02 00 addc 2(r13), r9 ; c9cc: 8f 48 00 00 mov r8, 0(r15) ; c9d0: 8f 49 02 00 mov r9, 2(r15) ; 0000c9d4 <.Loc.397.1>: c9d4: 9f 4d 04 00 mov 4(r13), 4(r15) ; c9d8: 04 00 c9da: d6 3f jmp $-82 ;abs 0xc988 0000c9dc <.L11>: c9dc: 0e 98 cmp r8, r14 ; c9de: 04 2c jc $+10 ;abs 0xc9e8 0000c9e0 <.Loc.404.1>: c9e0: bc 40 0c 00 mov #12, 0(r12) ;#0x000c c9e4: 00 00 0000c9e6 <.Loc.405.1>: c9e6: d0 3f jmp $-94 ;abs 0xc988 0000c9e8 <.L13>: c9e8: 2a 4e mov @r14, r10 ; c9ea: 1b 4e 02 00 mov 2(r14), r11 ; 0000c9ee <.Loc.409.1>: c9ee: 0c 4e mov r14, r12 ; 0000c9f0 <.LVL13>: c9f0: 0c 5a add r10, r12 ; 0000c9f2 <.Loc.409.1>: c9f2: 0d 9c cmp r12, r13 ; c9f4: 0f 20 jnz $+32 ;abs 0xca14 0000c9f6 <.Loc.413.1>: c9f6: 08 4a mov r10, r8 ; c9f8: 09 4b mov r11, r9 ; c9fa: 28 5d add @r13, r8 ; c9fc: 19 6d 02 00 addc 2(r13), r9 ; ca00: 8e 48 00 00 mov r8, 0(r14) ; ca04: 8e 49 02 00 mov r9, 2(r14) ; 0000ca08 <.Loc.414.1>: ca08: 9e 4d 04 00 mov 4(r13), 4(r14) ; ca0c: 04 00 0000ca0e <.L20>: ca0e: 8f 4e 04 00 mov r14, 4(r15) ; 0000ca12 <.Loc.424.1>: ca12: ba 3f jmp $-138 ;abs 0xc988 0000ca14 <.L14>: ca14: 8e 4d 04 00 mov r13, 4(r14) ; ca18: fa 3f jmp $-10 ;abs 0xca0e 0000ca1a <_malloc_r>: ca1a: 0a 12 push r10 ; 0000ca1c <.LCFI0>: ca1c: 09 12 push r9 ; 0000ca1e <.LCFI1>: ca1e: 08 12 push r8 ; 0000ca20 <.LCFI2>: ca20: 07 12 push r7 ; 0000ca22 <.LCFI3>: ca22: 08 4c mov r12, r8 ; 0000ca24 : ca24: 09 4d mov r13, r9 ; ca26: 19 53 inc r9 ; 0000ca28 <.Loc.247.1>: ca28: 19 c3 bic #1, r9 ;r3 As==01 0000ca2a <.LVL1>: ca2a: 39 50 0a 00 add #10, r9 ;#0x000a 0000ca2e <.LVL2>: ca2e: 39 90 0c 00 cmp #12, r9 ;#0x000c ca32: 02 2c jc $+6 ;abs 0xca38 ca34: 79 40 0c 00 mov.b #12, r9 ;#0x000c 0000ca38 <.L2>: ca38: 09 9d cmp r13, r9 ; ca3a: 06 2c jc $+14 ;abs 0xca48 0000ca3c <.L13>: ca3c: b8 40 0c 00 mov #12, 0(r8) ;#0x000c ca40: 00 00 0000ca42 <.Loc.255.1>: ca42: 4c 43 clr.b r12 ; 0000ca44 <.L1>: ca44: 30 40 ba b5 br #0xb5ba ; 0000ca48 <.L3>: ca48: 1c 42 ee 02 mov &0x02ee,r12 ;0x02ee 0000ca4c <.LVL6>: ca4c: 0a 4c mov r12, r10 ; 0000ca4e <.L5>: ca4e: 0a 93 cmp #0, r10 ;r3 As==00 ca50: 1b 20 jnz $+56 ;abs 0xca88 0000ca52 <.LBB5>: ca52: 37 40 5a cb mov #-13478,r7 ;#0xcb5a 0000ca56 <.Loc.214.1>: ca56: 82 93 ec 02 cmp #0, &0x02ec ;r3 As==00 ca5a: 05 20 jnz $+12 ;abs 0xca66 0000ca5c <.Loc.214.1>: ca5c: 0d 4a mov r10, r13 ; ca5e: 0c 48 mov r8, r12 ; 0000ca60 <.LVL9>: ca60: 87 12 call r7 ; 0000ca62 <.LVL10>: ca62: 82 4c ec 02 mov r12, &0x02ec ; 0000ca66 <.L17>: ca66: 0d 49 mov r9, r13 ; ca68: 0c 48 mov r8, r12 ; ca6a: 87 12 call r7 ; 0000ca6c <.LVL11>: ca6c: 3c 93 cmp #-1, r12 ;r3 As==11 ca6e: e6 27 jz $-50 ;abs 0xca3c 0000ca70 <.Loc.222.1>: ca70: 0a 4c mov r12, r10 ; ca72: 1a 53 inc r10 ; ca74: 1a c3 bic #1, r10 ;r3 As==01 0000ca76 <.LVL12>: ca76: 0c 9a cmp r10, r12 ; ca78: 19 24 jz $+52 ;abs 0xcaac 0000ca7a <.Loc.227.1>: ca7a: 0d 4a mov r10, r13 ; ca7c: 0d 8c sub r12, r13 ; ca7e: 0c 48 mov r8, r12 ; 0000ca80 <.LVL13>: ca80: 87 12 call r7 ; 0000ca82 <.LVL14>: ca82: 3c 93 cmp #-1, r12 ;r3 As==11 ca84: 13 20 jnz $+40 ;abs 0xcaac ca86: da 3f jmp $-74 ;abs 0xca3c 0000ca88 <.L10>: ca88: 2d 4a mov @r10, r13 ; ca8a: 0d 89 sub r9, r13 ; 0000ca8c <.LVL16>: ca8c: 0d 93 cmp #0, r13 ;r3 As==00 ca8e: 35 38 jl $+108 ;abs 0xcafa 0000ca90 <.Loc.268.1>: ca90: 7e 40 0b 00 mov.b #11, r14 ;#0x000b ca94: 0e 9d cmp r13, r14 ; ca96: 11 2c jc $+36 ;abs 0xcaba 0000ca98 <.Loc.272.1>: ca98: 0e 4d mov r13, r14 ; ca9a: 3e b0 00 80 bit #-32768,r14 ;#0x8000 ca9e: 0f 7f subc r15, r15 ; caa0: 3f e3 inv r15 ; caa2: 8a 4e 00 00 mov r14, 0(r10) ; caa6: 8a 4f 02 00 mov r15, 2(r10) ; 0000caaa <.Loc.273.1>: caaa: 0a 5d add r13, r10 ; 0000caac <.L14>: caac: 0c 49 mov r9, r12 ; caae: 0d 43 clr r13 ; cab0: 8a 4c 00 00 mov r12, 0(r10) ; cab4: 8a 4d 02 00 mov r13, 2(r10) ; cab8: 06 3c jmp $+14 ;abs 0xcac6 0000caba <.L7>: caba: 1d 4a 04 00 mov 4(r10), r13 ; 0000cabe <.LVL19>: cabe: 0c 9a cmp r10, r12 ; cac0: 19 20 jnz $+52 ;abs 0xcaf4 0000cac2 <.Loc.282.1>: cac2: 82 4d ee 02 mov r13, &0x02ee ; 0000cac6 <.L8>: cac6: 0d 4a mov r10, r13 ; cac8: 2d 52 add #4, r13 ;r2 As==10 0000caca <.LVL21>: caca: 0c 4a mov r10, r12 ; cacc: 3c 50 0b 00 add #11, r12 ;#0x000b cad0: 3c f0 f8 ff and #-8, r12 ;#0xfff8 0000cad4 <.LVL22>: cad4: 0e 4c mov r12, r14 ; cad6: 0e 8d sub r13, r14 ; 0000cad8 <.LVL23>: cad8: 0c 9d cmp r13, r12 ; cada: b4 27 jz $-150 ;abs 0xca44 0000cadc <.Loc.318.1>: cadc: 0a 5e add r14, r10 ; 0000cade <.LVL24>: cade: 0d 8c sub r12, r13 ; 0000cae0 <.LVL25>: cae0: 0e 4d mov r13, r14 ; cae2: 3e b0 00 80 bit #-32768,r14 ;#0x8000 cae6: 0f 7f subc r15, r15 ; cae8: 3f e3 inv r15 ; 0000caea <.LVL26>: caea: 8a 4e 00 00 mov r14, 0(r10) ; caee: 8a 4f 02 00 mov r15, 2(r10) ; caf2: a8 3f jmp $-174 ;abs 0xca44 0000caf4 <.L9>: caf4: 8c 4d 04 00 mov r13, 4(r12) ; caf8: e6 3f jmp $-50 ;abs 0xcac6 0000cafa <.L6>: cafa: 0c 4a mov r10, r12 ; cafc: 1a 4a 04 00 mov 4(r10), r10 ; 0000cb00 <.LVL29>: cb00: a6 3f jmp $-178 ;abs 0xca4e 0000cb02 <_realloc_r>: cb02: 0a 12 push r10 ; 0000cb04 <.LCFI0>: cb04: 09 12 push r9 ; 0000cb06 <.LCFI1>: cb06: 08 12 push r8 ; 0000cb08 <.LCFI2>: cb08: 07 12 push r7 ; 0000cb0a <.LCFI3>: cb0a: 07 4c mov r12, r7 ; 0000cb0c : cb0c: 08 4d mov r13, r8 ; cb0e: 09 4e mov r14, r9 ; 0000cb10 <.Loc.451.1>: cb10: 0d 93 cmp #0, r13 ;r3 As==00 cb12: 07 20 jnz $+16 ;abs 0xcb22 0000cb14 <.Loc.454.1>: cb14: 0d 4e mov r14, r13 ; 0000cb16 <.LVL1>: cb16: b0 12 1a ca call #-13798 ;#0xca1a 0000cb1a <.LVL2>: cb1a: 0a 4c mov r12, r10 ; 0000cb1c <.L1>: cb1c: 0c 4a mov r10, r12 ; cb1e: 30 40 ba b5 br #0xb5ba ; 0000cb22 <.L2>: cb22: 0e 93 cmp #0, r14 ;r3 As==00 cb24: 04 20 jnz $+10 ;abs 0xcb2e 0000cb26 <.Loc.458.1>: cb26: b0 12 2e c9 call #-14034 ;#0xc92e 0000cb2a <.LVL3>: cb2a: 0a 49 mov r9, r10 ; cb2c: f7 3f jmp $-16 ;abs 0xcb1c 0000cb2e <.L4>: cb2e: b0 12 7c cb call #-13444 ;#0xcb7c 0000cb32 <.LVL4>: cb32: 0c 99 cmp r9, r12 ; cb34: 10 2c jc $+34 ;abs 0xcb56 0000cb36 <.Loc.467.1>: cb36: 0d 49 mov r9, r13 ; cb38: 0c 47 mov r7, r12 ; cb3a: b0 12 1a ca call #-13798 ;#0xca1a 0000cb3e <.LVL5>: cb3e: 0a 4c mov r12, r10 ; 0000cb40 <.LVL6>: cb40: 0c 93 cmp #0, r12 ;r3 As==00 cb42: ec 27 jz $-38 ;abs 0xcb1c 0000cb44 <.Loc.470.1>: cb44: 0e 49 mov r9, r14 ; cb46: 0d 48 mov r8, r13 ; cb48: b0 12 3c be call #-16836 ;#0xbe3c 0000cb4c <.LVL7>: cb4c: 0d 48 mov r8, r13 ; cb4e: 0c 47 mov r7, r12 ; cb50: b0 12 2e c9 call #-14034 ;#0xc92e 0000cb54 <.LVL8>: cb54: e3 3f jmp $-56 ;abs 0xcb1c 0000cb56 <.L5>: cb56: 0a 48 mov r8, r10 ; cb58: e1 3f jmp $-60 ;abs 0xcb1c 0000cb5a <_sbrk_r>: cb5a: 0a 12 push r10 ; 0000cb5c <.LCFI0>: cb5c: 0a 4c mov r12, r10 ; cb5e: 0c 4d mov r13, r12 ; 0000cb60 : cb60: 82 43 f0 02 mov #0, &0x02f0 ;r3 As==00 0000cb64 <.Loc.58.1>: cb64: b0 12 90 cb call #-13424 ;#0xcb90 0000cb68 <.LVL2>: cb68: 3c 93 cmp #-1, r12 ;r3 As==11 cb6a: 06 20 jnz $+14 ;abs 0xcb78 0000cb6c <.Loc.58.1>: cb6c: 1d 42 f0 02 mov &0x02f0,r13 ;0x02f0 0000cb70 <.Loc.58.1>: cb70: 0d 93 cmp #0, r13 ;r3 As==00 cb72: 02 24 jz $+6 ;abs 0xcb78 0000cb74 <.Loc.59.1>: cb74: 8a 4d 00 00 mov r13, 0(r10) ; 0000cb78 <.L1>: cb78: 3a 41 pop r10 ; 0000cb7a <.LCFI1>: cb7a: 30 41 ret 0000cb7c <_malloc_usable_size_r>: cb7c: 1e 4d fc ff mov -4(r13),r14 ; 0000cb80 <.Loc.530.1>: cb80: 0c 4e mov r14, r12 ; 0000cb82 <.LVL3>: cb82: 3c 50 fc ff add #-4, r12 ;#0xfffc 0000cb86 <.Loc.530.1>: cb86: 0e 93 cmp #0, r14 ;r3 As==00 cb88: 02 34 jge $+6 ;abs 0xcb8e 0000cb8a <.LVL4>: cb8a: 0d 5c add r12, r13 ; 0000cb8c <.LVL5>: cb8c: 2c 5d add @r13, r12 ; 0000cb8e <.L1>: cb8e: 30 41 ret 0000cb90 <_sbrk>: cb90: 21 83 decd r1 ; 0000cb92 <.LCFI0>: cb92: 0d 4c mov r12, r13 ; 0000cb94 <.Loc.17.1>: cb94: 1c 42 7c 02 mov &0x027c,r12 ;0x027c 0000cb98 <.LVL1>: cb98: 4e 43 clr.b r14 ; cb9a: 0e 51 add r1, r14 ; cb9c: 81 4e 00 00 mov r14, 0(r1) ; 0000cba0 <.Loc.22.1>: cba0: 0d 5c add r12, r13 ; 0000cba2 <.LVL2>: cba2: 0e 41 mov r1, r14 ; cba4: 0e 9d cmp r13, r14 ; cba6: 09 2c jc $+20 ;abs 0xcbba 0000cba8 <.LBB7>: cba8: 7e 40 1a 00 mov.b #26, r14 ;#0x001a cbac: 3d 40 3c 83 mov #-31940,r13 ;#0x833c cbb0: 5c 43 mov.b #1, r12 ;r3 As==01 0000cbb2 <.LVL4>: cbb2: b0 12 c2 cb call #-13374 ;#0xcbc2 0000cbb6 <.LVL5>: cbb6: b0 12 42 cc call #-13246 ;#0xcc42 0000cbba <.L2>: cbba: 82 4d 7c 02 mov r13, &0x027c ; 0000cbbe <.Loc.30.1>: cbbe: 21 53 incd r1 ; 0000cbc0 <.LCFI1>: cbc0: 30 41 ret 0000cbc2 : cbc2: 0a 12 push r10 ; 0000cbc4 <.LCFI0>: cbc4: 09 12 push r9 ; 0000cbc6 <.LCFI1>: cbc6: 08 12 push r8 ; 0000cbc8 <.LCFI2>: cbc8: 07 12 push r7 ; 0000cbca <.LCFI3>: cbca: 06 12 push r6 ; 0000cbcc <.LCFI4>: cbcc: 05 12 push r5 ; 0000cbce <.LCFI5>: cbce: 04 12 push r4 ; 0000cbd0 <.LCFI6>: cbd0: 21 83 decd r1 ; 0000cbd2 <.LCFI7>: cbd2: 06 4c mov r12, r6 ; cbd4: 81 4d 00 00 mov r13, 0(r1) ; cbd8: 0a 4e mov r14, r10 ; 0000cbda <.LBB5>: cbda: 7d 42 mov.b #8, r13 ;r2 As==11 0000cbdc <.LVL2>: cbdc: b0 12 e8 cc call #-13080 ;#0xcce8 0000cbe0 <.LVL3>: cbe0: 47 4c mov.b r12, r7 ; 0000cbe2 <.LBE5>: cbe2: 45 43 clr.b r5 ; 0000cbe4 <.LBB10>: cbe4: 39 40 7e 02 mov #638, r9 ;#0x027e 0000cbe8 <.Loc.28.1>: cbe8: 04 49 mov r9, r4 ; cbea: 34 50 0b 00 add #11, r4 ;#0x000b 0000cbee <.L2>: cbee: 4c 43 clr.b r12 ; cbf0: 0c 9a cmp r10, r12 ; cbf2: 04 38 jl $+10 ;abs 0xcbfc 0000cbf4 <.Loc.60.1>: cbf4: 0c 45 mov r5, r12 ; cbf6: 21 53 incd r1 ; 0000cbf8 <.LCFI8>: cbf8: 30 40 b4 b5 br #0xb5b4 ; 0000cbfc <.L4>: cbfc: 08 4a mov r10, r8 ; cbfe: 7c 40 40 00 mov.b #64, r12 ;#0x0040 cc02: 0c 9a cmp r10, r12 ; cc04: 01 34 jge $+4 ;abs 0xcc08 0000cc06 <.LVL7>: cc06: 08 4c mov r12, r8 ; 0000cc08 <.L3>: cc08: 4c 48 mov.b r8, r12 ; cc0a: c9 4c 00 00 mov.b r12, 0(r9) ; 0000cc0e <.Loc.22.1>: cc0e: c2 43 7f 02 mov.b #0, &0x027f ;r3 As==00 0000cc12 <.Loc.23.1>: cc12: f2 40 f3 ff mov.b #-13, &0x0280 ;#0xfff3 cc16: 80 02 0000cc18 <.Loc.24.1>: cc18: c9 46 03 00 mov.b r6, 3(r9) ; 0000cc1c <.Loc.25.1>: cc1c: c9 47 04 00 mov.b r7, 4(r9) ; 0000cc20 <.Loc.26.1>: cc20: c9 4c 05 00 mov.b r12, 5(r9) ; 0000cc24 <.Loc.27.1>: cc24: c2 43 84 02 mov.b #0, &0x0284 ;r3 As==00 0000cc28 <.Loc.28.1>: cc28: 0e 48 mov r8, r14 ; cc2a: 2d 41 mov @r1, r13 ; cc2c: 0d 55 add r5, r13 ; 0000cc2e <.LVL9>: cc2e: 0c 44 mov r4, r12 ; cc30: b0 12 3c be call #-16836 ;#0xbe3c 0000cc34 <.LVL10>: cc34: b0 12 3e cc call #-13250 ;#0xcc3e 0000cc38 <.LBE11>: cc38: 05 58 add r8, r5 ; 0000cc3a <.LVL12>: cc3a: 0a 88 sub r8, r10 ; 0000cc3c <.LVL13>: cc3c: d8 3f jmp $-78 ;abs 0xcbee 0000cc3e : cc3e: 03 43 nop 0000cc40 : cc40: 30 41 ret 0000cc42 : cc42: 7c 40 06 00 mov.b #6, r12 ; cc46: b0 12 ae cc call #-13138 ;#0xccae 0000cc4a <.LVL0>: cc4a: 5c 43 mov.b #1, r12 ;r3 As==01 cc4c: b0 12 02 cd call #-13054 ;#0xcd02 0000cc50 <_raise_r>: cc50: 0a 12 push r10 ; 0000cc52 <.LCFI7>: cc52: 09 12 push r9 ; 0000cc54 <.LCFI8>: cc54: 09 4c mov r12, r9 ; cc56: 0a 4d mov r13, r10 ; 0000cc58 <.Loc.149.1>: cc58: 7c 40 1f 00 mov.b #31, r12 ;#0x001f 0000cc5c <.LVL16>: cc5c: 0c 9d cmp r13, r12 ; cc5e: 06 2c jc $+14 ;abs 0xcc6c 0000cc60 <.Loc.153.1>: cc60: b9 40 16 00 mov #22, 0(r9) ;#0x0016 cc64: 00 00 0000cc66 <.Loc.154.1>: cc66: 3c 43 mov #-1, r12 ;r3 As==11 0000cc68 <.L16>: cc68: 30 40 be b5 br #0xb5be ; 0000cc6c <.L17>: cc6c: 1c 49 22 00 mov 34(r9), r12 ;0x00022 0000cc70 <.Loc.157.1>: cc70: 0c 93 cmp #0, r12 ;r3 As==00 cc72: 05 24 jz $+12 ;abs 0xcc7e 0000cc74 <.Loc.160.1>: cc74: 0d 5d rla r13 ; cc76: 0c 5d add r13, r12 ; 0000cc78 <.Loc.160.1>: cc78: 2d 4c mov @r12, r13 ; 0000cc7a <.LVL18>: cc7a: 0d 93 cmp #0, r13 ;r3 As==00 cc7c: 09 20 jnz $+20 ;abs 0xcc90 0000cc7e <.L19>: cc7e: 0c 49 mov r9, r12 ; cc80: b0 12 de cc call #-13090 ;#0xccde 0000cc84 <.LVL20>: cc84: 0e 4a mov r10, r14 ; cc86: 0d 4c mov r12, r13 ; cc88: 0c 49 mov r9, r12 ; cc8a: b0 12 ba cc call #-13126 ;#0xccba 0000cc8e <.LVL21>: cc8e: ec 3f jmp $-38 ;abs 0xcc68 0000cc90 <.L20>: cc90: 1d 93 cmp #1, r13 ;r3 As==01 cc92: 0b 24 jz $+24 ;abs 0xccaa 0000cc94 <.Loc.166.1>: cc94: 3d 93 cmp #-1, r13 ;r3 As==11 cc96: 05 20 jnz $+12 ;abs 0xcca2 0000cc98 <.Loc.168.1>: cc98: b9 40 16 00 mov #22, 0(r9) ;#0x0016 cc9c: 00 00 0000cc9e <.Loc.169.1>: cc9e: 5c 43 mov.b #1, r12 ;r3 As==01 cca0: e3 3f jmp $-56 ;abs 0xcc68 0000cca2 <.L21>: cca2: 8c 43 00 00 mov #0, 0(r12) ;r3 As==00 0000cca6 <.Loc.174.1>: cca6: 0c 4a mov r10, r12 ; cca8: 8d 12 call r13 ; 0000ccaa <.L22>: ccaa: 4c 43 clr.b r12 ; ccac: dd 3f jmp $-68 ;abs 0xcc68 0000ccae : ccae: 0d 4c mov r12, r13 ; ccb0: 1c 42 02 02 mov &0x0202,r12 ;0x0202 0000ccb4 : ccb4: b0 12 50 cc call #-13232 ;#0xcc50 0000ccb8 <.LVL35>: ccb8: 30 41 ret 0000ccba <_kill_r>: ccba: 0a 12 push r10 ; 0000ccbc <.LCFI0>: ccbc: 0a 4c mov r12, r10 ; ccbe: 0c 4d mov r13, r12 ; 0000ccc0 <.LVL1>: ccc0: 0d 4e mov r14, r13 ; 0000ccc2 <.LVL2>: ccc2: 82 43 f0 02 mov #0, &0x02f0 ;r3 As==00 0000ccc6 <.Loc.61.1>: ccc6: b0 12 f4 cc call #-13068 ;#0xccf4 0000ccca <.LVL3>: ccca: 3c 93 cmp #-1, r12 ;r3 As==11 cccc: 06 20 jnz $+14 ;abs 0xccda 0000ccce <.Loc.61.1>: ccce: 1d 42 f0 02 mov &0x02f0,r13 ;0x02f0 0000ccd2 <.Loc.61.1>: ccd2: 0d 93 cmp #0, r13 ;r3 As==00 ccd4: 02 24 jz $+6 ;abs 0xccda 0000ccd6 <.Loc.62.1>: ccd6: 8a 4d 00 00 mov r13, 0(r10) ; 0000ccda <.L1>: ccda: 3a 41 pop r10 ; 0000ccdc <.LCFI1>: ccdc: 30 41 ret 0000ccde <_getpid_r>: ccde: b0 12 ee cc call #-13074 ;#0xccee 0000cce2 <.LVL6>: cce2: 30 41 ret 0000cce4 : cce4: 3d 53 add #-1, r13 ;r3 As==11 cce6: 0c 11 rra r12 ; 0000cce8 <__mspabi_srai>: cce8: 0d 93 cmp #0, r13 ;r3 As==00 ccea: fc 23 jnz $-6 ;abs 0xcce4 ccec: 30 41 ret 0000ccee : ccee: 3c 40 2a 00 mov #42, r12 ;#0x002a 0000ccf2 <.Loc.57.1>: ccf2: 30 41 ret 0000ccf4 : ccf4: b0 12 04 cd call #-13052 ;#0xcd04 ccf8: bc 40 58 00 mov #88, 0(r12) ;#0x0058 ccfc: 00 00 ccfe: 3c 43 mov #-1, r12 ;r3 As==11 cd00: 30 41 ret 0000cd02 <_exit>: cd02: ff 3f jmp $+0 ;abs 0xcd02 0000cd04 <__errno>: cd04: 0000cd06 : cd06: 02 02 mova @r2, r2 ; cd08: 30 41 ret