alsp_node.elf: file format elf32-msp430 SYMBOL TABLE: 0000e000 l d .text 00000000 .text 00000200 l d .data 00000000 .data 00000204 l d .bss 00000000 .bss 0000ffe0 l d .vectors 00000000 .vectors 00000000 l d .stab 00000000 .stab 00000000 l d .stabstr 00000000 .stabstr 00000000 l d *ABS* 00000000 .shstrtab 00000000 l d *ABS* 00000000 .symtab 00000000 l d *ABS* 00000000 .strtab 00000000 l df *ABS* 00000000 config/msp430/libgcc.S 00000000 l df *ABS* 00000000 gcrt0.S 00000070 l *ABS* 00000000 U0CTL 00000071 l *ABS* 00000000 U0TCTL 00000072 l *ABS* 00000000 U0RCTL 00000073 l *ABS* 00000000 U0MCTL 00000074 l *ABS* 00000000 U0BR0 00000075 l *ABS* 00000000 U0BR1 00000076 l *ABS* 00000000 U0RXBUF 00000077 l *ABS* 00000000 U0TXBUF 00000070 l *ABS* 00000000 UCTL 00000071 l *ABS* 00000000 UTCTL 00000072 l *ABS* 00000000 URCTL 00000073 l *ABS* 00000000 UMCTL 00000074 l *ABS* 00000000 UBR0 00000075 l *ABS* 00000000 UBR1 00000076 l *ABS* 00000000 RXBUF 00000077 l *ABS* 00000000 TXBUF 00000070 l *ABS* 00000000 UCTL0 00000071 l *ABS* 00000000 UTCTL0 00000072 l *ABS* 00000000 URCTL0 00000073 l *ABS* 00000000 UMCTL0 00000074 l *ABS* 00000000 UBR00 00000075 l *ABS* 00000000 UBR10 00000076 l *ABS* 00000000 RXBUF0 00000077 l *ABS* 00000000 TXBUF0 00000070 l *ABS* 00000000 UCTL_0 00000071 l *ABS* 00000000 UTCTL_0 00000072 l *ABS* 00000000 URCTL_0 00000073 l *ABS* 00000000 UMCTL_0 00000074 l *ABS* 00000000 UBR0_0 00000075 l *ABS* 00000000 UBR1_0 00000076 l *ABS* 00000000 RXBUF_0 00000077 l *ABS* 00000000 TXBUF_0 00000020 l *ABS* 00000000 P1IN 00000021 l *ABS* 00000000 P1OUT 00000022 l *ABS* 00000000 P1DIR 00000023 l *ABS* 00000000 P1IFG 00000024 l *ABS* 00000000 P1IES 00000025 l *ABS* 00000000 P1IE 00000026 l *ABS* 00000000 P1SEL 00000028 l *ABS* 00000000 P2IN 00000029 l *ABS* 00000000 P2OUT 0000002a l *ABS* 00000000 P2DIR 0000002b l *ABS* 00000000 P2IFG 0000002c l *ABS* 00000000 P2IES 0000002d l *ABS* 00000000 P2IE 0000002e l *ABS* 00000000 P2SEL 00000018 l *ABS* 00000000 P3IN 00000019 l *ABS* 00000000 P3OUT 0000001a l *ABS* 00000000 P3DIR 0000001b l *ABS* 00000000 P3SEL 0000012e l *ABS* 00000000 TA0IV 00000160 l *ABS* 00000000 TA0CTL 00000170 l *ABS* 00000000 TA0R 00000162 l *ABS* 00000000 TA0CCTL0 00000164 l *ABS* 00000000 TA0CCTL1 00000172 l *ABS* 00000000 TA0CCR0 00000174 l *ABS* 00000000 TA0CCR1 00000166 l *ABS* 00000000 TA0CCTL2 00000176 l *ABS* 00000000 TA0CCR2 00000056 l *ABS* 00000000 DCOCTL 00000057 l *ABS* 00000000 BCSCTL1 00000058 l *ABS* 00000000 BCSCTL2 00000128 l *ABS* 00000000 FCTL1 0000012a l *ABS* 00000000 FCTL2 0000012c l *ABS* 00000000 FCTL3 00000048 l *ABS* 00000000 ADC10DTC0 00000049 l *ABS* 00000000 ADC10DTC1 0000004a l *ABS* 00000000 ADC10AE 000001b0 l *ABS* 00000000 ADC10CTL0 000001b2 l *ABS* 00000000 ADC10CTL1 000001b4 l *ABS* 00000000 ADC10MEM 000001bc l *ABS* 00000000 ADC10SA 00000120 l *ABS* 00000000 WDTCTL 00000000 l *ABS* 00000000 IE1 00000002 l *ABS* 00000000 IFG1 00000001 l *ABS* 00000000 IE2 00000003 l *ABS* 00000000 IFG2 00000005 l *ABS* 00000000 ME2 00000000 l df *ABS* 00000000 main.c 00000200 l O .data 00000001 make_gdb_happy 0000e766 l .text 00000000 Letext 00000000 l df *ABS* 00000000 spi_hardware.c 0000e840 l .text 00000000 Letext 00000000 l df *ABS* 00000000 interchip.c 0000e9fc l .text 00000000 Letext 00000000 l df *ABS* 00000000 config/msp430/libgcc.S 00000000 l df *ABS* 00000000 config/msp430/libgcc.S 00000000 l df *ABS* 00000000 libgcc2.c 0000ea3a l .text 00000000 Letext 00000000 l df *ABS* 00000000 fp-bit.c 0000ea3a l F .text 00000222 _fpadd_parts 0000ecf8 l .text 00000000 Letext 00000000 l df *ABS* 00000000 fp-bit.c 0000ed44 l F .text 0000021e _fpmul_parts 0000ef62 l .text 00000000 Letext 00000000 l df *ABS* 00000000 fp-bit.c 0000efc4 l .text 00000000 Letext 00000000 l df *ABS* 00000000 fp-bit.c 0000f056 l .text 00000000 Letext 00000000 l df *ABS* 00000000 fp-bit.c 0000f0f2 l .text 00000000 Letext 00000000 l df *ABS* 00000000 fp-bit.c 0000f0fa l .text 00000000 Letext 00000000 l df *ABS* 00000000 fp-bit.c 0000f2aa l .text 00000000 Letext 00000000 l df *ABS* 00000000 fp-bit.c 0000f3a0 l .text 00000000 Letext 00000000 l df *ABS* 00000000 fp-bit.c 0000f4b8 l .text 00000000 Letext 00000000 l df *ABS* 00000000 atoi.c 0000f58c l .text 00000000 Letext 00000000 l df *ABS* 00000000 sprintf.c 0000f5a2 l .text 00000000 Letext 00000000 l df *ABS* 00000000 vsprintf.c 0000f5a2 l F .text 00000010 mem_putchar 00000204 l O .bss 00000002 mem 0000f5cc l .text 00000000 Letext 00000000 l df *ABS* 00000000 vuprintf.c 00000202 l O .data 00000002 total_len 0000f5cc l F .text 00000030 PRINT 00000206 l O .bss 00000002 __write_char 0000f5fc l F .text 00000034 __write_pad 0000fbf0 l .text 00000000 Letext 00000000 l df *ABS* 00000000 strchr.c 0000fc0a l .text 00000000 Letext 00000000 l df *ABS* 00000000 memchr.c 0000fc2e l .text 00000000 Letext 00000000 l df *ABS* 00000000 memcmp.c 0000fc5e l .text 00000000 Letext 00000000 l df *ABS* 00000000 strstr.c 0000fcac l .text 00000000 Letext 00000000 l df *ABS* 00000000 strncmp.c 0000fcdc l .text 00000000 Letext 00000000 l df *ABS* 00000000 config/msp430/libgcc.S 0000e79c g F .text 0000005c CCXX_SPI_RDREG 0000e948 g F .text 000000b4 send_string 0000f5b2 g F .text 0000001a vsprintf 0000e18a g F .text 0000002a init_UART_SPI 0000e840 g F .text 00000046 send_byte 0000f056 g F .text 0000009c __fixsfsi 0000fce0 g .text 00000000 __udivmodhi4 0000fd26 g .text 00000000 _etext 0000eca8 g F .text 00000050 __subsf3 0000fcdc w .text 00000000 __stop_progExec__ 0000e03a g .text 00000000 _unexpected_1_ 0000e03a w .text 00000000 vector_ffe0 0000e116 g F .text 00000074 sys_init 0000e09c g F .text 0000004c tinit 0000e05e g F .text 0000001e P2_VEC 0000e766 g F .text 00000036 CCXX_SPI_STROBE 0000e03a w .text 00000000 vector_ffec 0000e07c g .text 00000000 vector_fff0 0000e03a g .text 00000000 __dtors_end 00000215 g .bss 00000000 __bss_end 0000e03a w .text 00000000 vector_fffc 0000e7f8 g F .text 00000048 CCXX_SPI_WRREG 0000e462 g F .text 0000019c CCXX_WRITE_SPI_RF_SETTINGS 0000e040 g .text 00000000 vector_ffe4 0000f2aa g F .text 000000f6 __unpack_f 00000208 g O .bss 00000001 RSSI_DBM 0000ffe0 g O .vectors 00000020 InterruptVectors 0000e8bc g F .text 0000008c get_string 0000f0fa g F .text 000001b0 __pack_f 00000209 g O .bss 00000001 RSSI 0000fc0a g F .text 00000024 memchr 0000fc5e g F .text 0000004e strstr 0000e07c g F .text 00000020 TA1_VEC 0000efc4 g F .text 00000092 __floatsisf 0000fcac g F .text 00000030 strncmp 0000e03a w .text 00000000 vector_ffe2 0000e03a w .text 00000000 vector_ffe8 0000e03e w .text 00000000 _unexpected_ 0000e03a w .text 00000000 vector_fffa 0000f630 g F .text 000005c0 vuprintf 0000fc2e g F .text 00000030 memcmp 0000e040 g F .text 0000001e P1_VEC 0000e000 g .text 00000000 _reset_vector__ 0000e03a g .text 00000000 __ctors_start 0000f0f2 g O .text 00000008 __thenan_sf 00000204 g .bss 00000000 __bss_start 0000e03a w .text 00000000 vector_ffee 0000e03a w .text 00000000 vector_fff4 0000e24c g F .text 00000216 main 0000e03a w .text 00000000 vector_fff8 0000e03a w .text 00000000 vector_fff2 0000020a g O .bss 00000002 seconds 0000020c g O .bss 00000004 pow_result 00010000 g .vectors 00000000 _vectors_end 0000ecf8 g F .text 0000004c __mulsf3 0000e05e g .text 00000000 vector_ffe6 0000e0e8 g F .text 0000002e delay 0000e6fc g F .text 0000006a TX_STRING 0000f58c g F .text 00000016 sprintf 00000210 g O .bss 00000001 LQI 0000ef62 g F .text 00000062 __gesf2 0000e628 g F .text 000000d4 RX_STRING 00000211 g O .bss 00000001 PKTSTATUS 0000e03a g .text 00000000 __dtors_start 0000e03a g .text 00000000 __ctors_end 00000300 g *ABS* 00000000 __stack 00000204 g .data 00000000 _edata 00000215 g .bss 00000000 _end 00000212 g O .bss 00000002 flags 0000fcfc g .text 00000000 __udivmodsi4 0000f4b8 g F .text 000000d4 atoi 0000e03a w .text 00000000 vector_fff6 0000e9fc g F .text 0000003e __fixunssfsi 0000f3a0 g F .text 00000118 __fpcmp_parts_f 0000e5fe g F .text 0000002a RX_MODE 0000e886 g F .text 00000036 get_byte 0000fbf0 g F .text 0000001a strchr 00000200 g .data 00000000 __data_start 0000e03a w .text 00000000 vector_ffea 00000214 g O .bss 00000001 status 0000ec5c g F .text 0000004c __addsf3 Disassembly of section .text: 0000e000 <_reset_vector__>: e000: b2 40 80 5a mov #23168, &0x0120 ;#0x5a80 e004: 20 01 e006: 3f 40 26 fd mov #-730, r15 ;#0xfd26 e00a: 3e 40 00 02 mov #512, r14 ;#0x0200 e00e: 3d 40 04 02 mov #516, r13 ;#0x0204 e012: 0d 9e cmp r14, r13 ; e014: 05 24 jz $+12 ;abs 0xe020 e016: fe 4f 00 00 mov.b @r15+, 0(r14) ; e01a: 1e 53 inc r14 ; e01c: 0e 9d cmp r13, r14 ; e01e: fb 2b jnc $-8 ;abs 0xe016 e020: 3f 40 04 02 mov #516, r15 ;#0x0204 e024: 3d 40 15 02 mov #533, r13 ;#0x0215 e028: 0d 9f cmp r15, r13 ; e02a: 05 24 jz $+12 ;abs 0xe036 e02c: cf 43 00 00 mov.b #0, 0(r15) ;r3 As==00 e030: 1f 53 inc r15 ; e032: 0f 9d cmp r13, r15 ; e034: fb 2b jnc $-8 ;abs 0xe02c e036: 30 40 4c e2 br #0xe24c ; 0000e03a <__ctors_end>: e03a: 30 40 3e e0 br #0xe03e ; 0000e03e <_unexpected_>: e03e: 00 13 reti 0000e040 : */ // Port 1 interripts : The IC is talking to us interrupt (PORT1_VECTOR) P1_VEC(void) { e040: 0f 12 push r15 ; dint(); e042: 32 c2 dint if((P1IFG & IC_RX) == IC_RX) //The IC is sending us a string e044: d2 b3 23 00 bit.b #1, &0x0023 ;r3 As==01 e048: 05 24 jz $+12 ;abs 0xe054 { flags |= IC_RDY; e04a: b2 d2 12 02 bis #8, &0x0212 ;r2 As==11 LPM3_EXIT; e04e: b1 c0 d0 00 bic #208, 2(r1) ;#0x00d0 e052: 02 00 //We need to grab that byte! } P1IFG=0x00; e054: c2 43 23 00 mov.b #0, &0x0023 ;r3 As==00 eint(); e058: 32 d2 eint } e05a: 3f 41 pop r15 ; e05c: 00 13 reti 0000e05e : // Port 2 interripts : the allspice controller is talking to us interrupt (PORT2_VECTOR) P2_VEC(void) { e05e: 0f 12 push r15 ; dint(); //no nesting! e060: 32 c2 dint if((P2IFG & GDO0) == GDO0) e062: d2 b3 2b 00 bit.b #1, &0x002b ;r3 As==01 e066: 05 24 jz $+12 ;abs 0xe072 { flags |= CONTROLLER_RDY; e068: a2 d3 12 02 bis #2, &0x0212 ;r3 As==10 LPM3_EXIT; e06c: b1 c0 d0 00 bic #208, 2(r1) ;#0x00d0 e070: 02 00 //We need to grab that byte! } P2IFG=0x00; e072: c2 43 2b 00 mov.b #0, &0x002b ;r3 As==00 eint(); e076: 32 d2 eint } e078: 3f 41 pop r15 ; e07a: 00 13 reti 0000e07c : /** This is called once every overflow */ interrupt (TIMERA1_VECTOR) TA1_VEC(void) { dint(); //no nesting! e07c: 32 c2 dint if(TAIV == 0x0A) //reading this bit will clear the interrupt flags e07e: b2 90 0a 00 cmp #10, &0x012e ;#0x000a e082: 2e 01 e084: 09 20 jnz $+20 ;abs 0xe098 { flags |= TIMER_UP; e086: 92 d3 12 02 bis #1, &0x0212 ;r3 As==01 seconds++; e08a: 92 53 0a 02 inc &0x020a ; TACTL &= ~TAIFG; //clear the flag e08e: 92 c3 60 01 bic #1, &0x0160 ;r3 As==01 LPM3_EXIT; e092: b1 c0 d0 00 bic #208, 0(r1) ;#0x00d0 e096: 00 00 } eint(); e098: 32 d2 eint } e09a: 00 13 reti 0000e09c : /** Setup the timer to generate an interrupt at an interval of milliseconds */ void tinit(unsigned int milliseconds) { e09c: 0b 12 push r11 ; e09e: 0b 4f mov r15, r11 ; TACTL = TASSEL_ACLK; //ACLK = 32.768KHz e0a0: b2 40 00 01 mov #256, &0x0160 ;#0x0100 e0a4: 60 01 TACTL &= ~TAIFG; //clear interrupt e0a6: 92 c3 60 01 bic #1, &0x0160 ;r3 As==01 TACCR0 = milliseconds * 32.768; //one second intervals e0aa: 0e 4f mov r15, r14 ; e0ac: 0f 4e mov r14, r15 ; e0ae: 0f 5f rla r15 ; e0b0: 0f 7f subc r15, r15 ; e0b2: 3f e3 inv r15 ; e0b4: b0 12 c4 ef call #-4156 ;#0xefc4 e0b8: 0b 93 cmp #0, r11 ;r3 As==00 e0ba: 05 34 jge $+12 ;abs 0xe0c6 e0bc: 0c 43 clr r12 ; e0be: 3d 40 80 47 mov #18304, r13 ;#0x4780 e0c2: b0 12 5c ec call #-5028 ;#0xec5c e0c6: 3c 40 6f 12 mov #4719, r12 ;#0x126f e0ca: 3d 40 03 42 mov #16899, r13 ;#0x4203 e0ce: b0 12 f8 ec call #-4872 ;#0xecf8 e0d2: b0 12 fc e9 call #-5636 ;#0xe9fc e0d6: 82 4e 72 01 mov r14, &0x0172 ; TAR = 0; e0da: 82 43 70 01 mov #0, &0x0170 ;r3 As==00 TACTL |= MC_UPTO_CCR0 | TAIE; //enable interrupts, start counting! e0de: b2 d0 12 00 bis #18, &0x0160 ;#0x0012 e0e2: 60 01 } e0e4: 3b 41 pop r11 ; e0e6: 30 41 ret 0000e0e8 : /** Delay function. */ void delay(unsigned int d) { int i; for (i = 0; i: /** Set up the system */ void sys_init() { WDTCTL = WDTCTL_INIT; //Init watchdog timer e116: b2 40 80 5a mov #23168, &0x0120 ;#0x5a80 e11a: 20 01 P1OUT = P1OUT_INIT; //Init output data of port1 e11c: f2 40 06 00 mov.b #6, &0x0021 ;#0x0006 e120: 21 00 P2OUT = P2OUT_INIT; //Init output data of port2 e122: c2 43 29 00 mov.b #0, &0x0029 ;r3 As==00 P3OUT = P3OUT_INIT; e126: d2 43 19 00 mov.b #1, &0x0019 ;r3 As==01 P1SEL = P1SEL_INIT; //Select port or module -function on port1 e12a: c2 43 26 00 mov.b #0, &0x0026 ;r3 As==00 P2SEL = P2SEL_INIT; //Select port or module -function on port2 e12e: e2 42 2e 00 mov.b #4, &0x002e ;r2 As==10 P3SEL = P3SEL_INIT; e132: c2 43 1b 00 mov.b #0, &0x001b ;r3 As==00 P1DIR = P1DIR_INIT; //Init port direction register of port1 e136: f2 40 fa ff mov.b #-6, &0x0022 ;#0xfffa e13a: 22 00 P2DIR = P2DIR_INIT; //Init port direction register of port2 e13c: f2 40 f8 ff mov.b #-8, &0x002a ;#0xfff8 e140: 2a 00 P3DIR = P3DIR_INIT; e142: f2 40 fb ff mov.b #-5, &0x001a ;#0xfffb e146: 1a 00 P1IES = P1IES_INIT; //init port interrupts e148: d2 43 24 00 mov.b #1, &0x0024 ;r3 As==01 P2IES = P2IES_INIT; e14c: d2 43 2c 00 mov.b #1, &0x002c ;r3 As==01 P1IE = P1IE_INIT; e150: d2 43 25 00 mov.b #1, &0x0025 ;r3 As==01 P2IE = P2IE_INIT; e154: d2 43 2d 00 mov.b #1, &0x002d ;r3 As==01 //Blasting away at 8.9MHz BCSCTL1 |= RSEL0 | RSEL1 | RSEL2; e158: f2 d0 07 00 bis.b #7, &0x0057 ;#0x0007 e15c: 57 00 DCOCTL |= DCO0 | DCO1 | DCO2; e15e: f2 d0 e0 ff bis.b #-32, &0x0056 ;#0xffe0 e162: 56 00 BCSCTL2 = DCOR; e164: d2 43 58 00 mov.b #1, &0x0058 ;r3 As==01 ME2 |= USPIE0; //enable SPI e168: d2 d3 05 00 bis.b #1, &0x0005 ;r3 As==01 U0CTL = CHAR | SYNC | MM | SWRST; e16c: f2 40 17 00 mov.b #23, &0x0070 ;#0x0017 e170: 70 00 U0TCTL = CKPH | STC | SSEL_3; e172: f2 40 b2 ff mov.b #-78, &0x0071 ;#0xffb2 e176: 71 00 U0BR0 = 2; //divide by 8.9 / 2 = 4.5Mhz e178: e2 43 74 00 mov.b #2, &0x0074 ;r3 As==10 U0BR1 = 0; e17c: c2 43 75 00 mov.b #0, &0x0075 ;r3 As==00 U0MCTL = 0; e180: c2 43 73 00 mov.b #0, &0x0073 ;r3 As==00 U0CTL &= ~SWRST; // Initialize USART state machine e184: d2 c3 70 00 bic.b #1, &0x0070 ;r3 As==01 } e188: 30 41 ret 0000e18a : void init_UART_SPI() { U0CTL |= SWRST; // disable the state machine e18a: d2 d3 70 00 bis.b #1, &0x0070 ;r3 As==01 ME2 &= ~UTXE0; //disable UART e18e: e2 c3 05 00 bic.b #2, &0x0005 ;r3 As==10 ME2 |= USPIE0; //enable SPI e192: d2 d3 05 00 bis.b #1, &0x0005 ;r3 As==01 U0CTL = CHAR | SYNC | MM | SWRST; e196: f2 40 17 00 mov.b #23, &0x0070 ;#0x0017 e19a: 70 00 U0TCTL = CKPH | STC | SSEL_3; e19c: f2 40 b2 ff mov.b #-78, &0x0071 ;#0xffb2 e1a0: 71 00 U0BR0 = 2; //divide by 5 = 1Mhz e1a2: e2 43 74 00 mov.b #2, &0x0074 ;r3 As==10 U0BR1 = 0; e1a6: c2 43 75 00 mov.b #0, &0x0075 ;r3 As==00 U0MCTL = 0; e1aa: c2 43 73 00 mov.b #0, &0x0073 ;r3 As==00 U0CTL &= ~SWRST; // Initialize USART state machine e1ae: d2 c3 70 00 bic.b #1, &0x0070 ;r3 As==01 } e1b2: 30 41 ret e1b4: 4d 41 mov.b r1, r13 ; e1b6: 47 00 .word 0x0047; ???? e1b8: 69 6e addc.b @r14, r9 ; e1ba: 74 65 addc.b @r5+, r4 ; e1bc: 72 76 subc.b @r6+, r2 ; e1be: 61 6c addc.b @r12, r1 ; e1c0: 00 1b .word 0x1b00; ???? e1c2: 5b 33 jn $-328 ;abs 0xe07a e1c4: 32 6d addc @r13+, r2 ; e1c6: 47 4e mov.b r14, r7 ; e1c8: 44 3a jl $-886 ;abs 0xde52 e1ca: 25 73 subc #2, r5 ;r3 As==10 e1cc: 20 49 br @r9 ; e1ce: 6e 74 subc.b @r4, r14 ; e1d0: 65 72 subc.b #4, r5 ;r2 As==10 e1d2: 76 61 addc.b @r1+, r6 ; e1d4: 6c 20 jnz $+218 ;abs 0xe2ae e1d6: 69 73 subc.b #2, r9 ;r3 As==10 e1d8: 20 6e addc @r14, r0 ; e1da: 6f 77 subc.b @r7, r15 ; e1dc: 20 25 jz $+578 ;abs 0xe41e e1de: 64 1b .word 0x1b64; ???? e1e0: 5b 33 jn $-328 ;abs 0xe098 e1e2: 30 6d addc @r13+, r0 ; e1e4: 00 1b .word 0x1b00; ???? e1e6: 5b 33 jn $-328 ;abs 0xe09e e1e8: 32 6d addc @r13+, r2 ; e1ea: 47 4e mov.b r14, r7 ; e1ec: 44 3a jl $-886 ;abs 0xde76 e1ee: 25 73 subc #2, r5 ;r3 As==10 e1f0: 20 52 add #4, r0 ;r2 As==10 e1f2: 65 70 subc.b @r0, r5 ; e1f4: 6f 72 subc.b #4, r15 ;r2 As==10 e1f6: 74 69 addc.b @r9+, r4 ; e1f8: 6e 67 addc.b @r7, r14 ; e1fa: 20 65 addc @r5, r0 ; e1fc: 76 65 addc.b @r5+, r6 ; e1fe: 72 79 subc.b @r9+, r2 ; e200: 20 25 jz $+578 ;abs 0xe442 e202: 64 20 jnz $+202 ;abs 0xe2cc e204: 73 65 .word 0x6573; ???? e206: 63 6f .word 0x6f63; ???? e208: 6e 64 addc.b @r4, r14 ; e20a: 73 1b .word 0x1b73; ???? e20c: 5b 33 jn $-328 ;abs 0xe0c4 e20e: 30 6d addc @r13+, r0 ; e210: 00 73 sbc r0 ; e212: 74 61 addc.b @r1+, r4 ; e214: 74 75 subc.b @r5+, r4 ; e216: 73 00 .word 0x0073; ???? e218: 47 4e mov.b r14, r7 ; e21a: 44 3a jl $-886 ;abs 0xdea4 e21c: 25 73 subc #2, r5 ;r3 As==10 e21e: 20 52 add #4, r0 ;r2 As==10 e220: 53 53 inc.b r3 ; e222: 49 3a jl $-876 ;abs 0xdeb6 e224: 25 64 addc @r4, r5 ; e226: 64 42 mov.b #4, r4 ;r2 As==10 e228: 6d 20 jnz $+220 ;abs 0xe304 e22a: 4c 51 add.b r1, r12 ; e22c: 49 3a jl $-876 ;abs 0xdec0 e22e: 25 64 addc @r4, r5 ; e230: 00 6e addc r14, r0 ; e232: 6f 77 subc.b @r7, r15 ; e234: 00 1b .word 0x1b00; ???? e236: 5b 33 jn $-328 ;abs 0xe0ee e238: 34 6d addc @r13+, r4 ; e23a: 47 4e mov.b r14, r7 ; e23c: 44 3a jl $-886 ;abs 0xdec6 e23e: 25 73 subc #2, r5 ;r3 As==10 e240: 20 50 add @r0, r0 ; e242: 6f 6e addc.b @r14, r15 ; e244: 67 21 jnz $+720 ;abs 0xe514 e246: 1b 5b 33 30 add 12339(r11),r11 ; e24a: 6d 00 .word 0x006d; ???? 0000e24c
: /** Main function. */ int main(void) { e24c: 31 40 c0 02 mov #704, r1 ;#0x02c0 e250: 04 41 mov r1, r4 ; unsigned int length=0,i; char rxbuf[64]; int interval=20; e252: 39 40 14 00 mov #20, r9 ;#0x0014 sys_init(); e256: b0 12 16 e1 call #-7914 ;#0xe116 init_UART_SPI(); e25a: b0 12 8a e1 call #-7798 ;#0xe18a memset(rxbuf, 0, 64); e25e: 3e 40 40 00 mov #64, r14 ;#0x0040 e262: 0f 44 mov r4, r15 ; e264: cf 43 00 00 mov.b #0, 0(r15) ;r3 As==00 e268: 1f 53 inc r15 ; e26a: 1e 83 dec r14 ; e26c: fb 23 jnz $-8 ;abs 0xe264 P3OUT &= ~CSn; //power on reset, strobe CSn e26e: d2 c3 19 00 bic.b #1, &0x0019 ;r3 As==01 delay(0xFF); e272: 3f 40 ff 00 mov #255, r15 ;#0x00ff e276: b0 12 e8 e0 call #-7960 ;#0xe0e8 P3OUT |= CSn; e27a: d2 d3 19 00 bis.b #1, &0x0019 ;r3 As==01 delay(0xFFFF); e27e: 3f 43 mov #-1, r15 ;r3 As==11 e280: b0 12 e8 e0 call #-7960 ;#0xe0e8 //values straight from RF_STUDIO CCXX_SPI_STROBE(CCxxx0_SRES); //reset chip e284: 7f 40 30 00 mov.b #48, r15 ;#0x0030 e288: b0 12 66 e7 call #-6298 ;#0xe766 CCXX_WRITE_SPI_RF_SETTINGS(); e28c: b0 12 62 e4 call #-7070 ;#0xe462 CCXX_SPI_STROBE(CCxxx0_SIDLE); //flush the buffer, all bytes sent e290: 7f 40 36 00 mov.b #54, r15 ;#0x0036 e294: b0 12 66 e7 call #-6298 ;#0xe766 do{ i = CCXX_SPI_RDREG(CCxxx0_MARCSTATE);//wait for IDLE e298: 7f 40 35 00 mov.b #53, r15 ;#0x0035 e29c: b0 12 9c e7 call #-6244 ;#0xe79c e2a0: 8f 11 sxt r15 ; }while(i != 1); e2a2: 1f 93 cmp #1, r15 ;r3 As==01 e2a4: f9 23 jnz $-12 ;abs 0xe298 P3OUT ^= LED_RED; e2a6: f2 e0 10 00 xor.b #16, &0x0019 ;#0x0010 e2aa: 19 00 delay(0xFF); //lil bit O delay e2ac: 3f 40 ff 00 mov #255, r15 ;#0x00ff e2b0: b0 12 e8 e0 call #-7960 ;#0xe0e8 P3OUT ^= LED_RED; e2b4: f2 e0 10 00 xor.b #16, &0x0019 ;#0x0010 e2b8: 19 00 flags = 0; e2ba: 82 43 12 02 mov #0, &0x0212 ;r3 As==00 P2IFG = 0x00; e2be: c2 43 2b 00 mov.b #0, &0x002b ;r3 As==00 tinit(1000); //start generating interrupts every second! e2c2: 3f 40 e8 03 mov #1000, r15 ;#0x03e8 e2c6: b0 12 9c e0 call #-8036 ;#0xe09c eint(); //enable interrupts e2ca: 32 d2 eint RX_MODE(); e2cc: b0 12 fe e5 call #-6658 ;#0xe5fe while (1) //main loop, never ends... { if(flags & CONTROLLER_RDY) //Someone is sending us something e2d0: a2 b3 12 02 bit #2, &0x0212 ;r3 As==10 e2d4: 89 24 jz $+276 ;abs 0xe3e8 { dint(); e2d6: 32 c2 dint P3OUT |= LED_RED; e2d8: f2 d0 10 00 bis.b #16, &0x0019 ;#0x0010 e2dc: 19 00 flags &= ~CONTROLLER_RDY; e2de: a2 c3 12 02 bic #2, &0x0212 ;r3 As==10 memset(rxbuf, 0, 64); e2e2: 3e 40 40 00 mov #64, r14 ;#0x0040 e2e6: 0f 44 mov r4, r15 ; e2e8: cf 43 00 00 mov.b #0, 0(r15) ;r3 As==00 e2ec: 1f 53 inc r15 ; e2ee: 1e 83 dec r14 ; e2f0: fb 23 jnz $-8 ;abs 0xe2e8 length = RX_STRING(rxbuf, 20); e2f2: 7e 40 14 00 mov.b #20, r14 ;#0x0014 e2f6: 0f 44 mov r4, r15 ; e2f8: b0 12 28 e6 call #-6616 ;#0xe628 if((LQI & bit7) && (!memcmp(CALLSIGN,rxbuf,3))) //CRC ok, the packet was meant for us e2fc: c2 93 10 02 cmp.b #0, &0x0210 ;r3 As==00 e300: 6e 34 jge $+222 ;abs 0xe3de e302: 3d 40 03 00 mov #3, r13 ;#0x0003 e306: 0e 44 mov r4, r14 ; e308: 3f 40 b4 e1 mov #-7756, r15 ;#0xe1b4 e30c: b0 12 2e fc call #-978 ;#0xfc2e e310: 0f 93 cmp #0, r15 ;r3 As==00 e312: 65 20 jnz $+204 ;abs 0xe3de { //rxbuf[length]='\0'; if(strstr( rxbuf, "interval" ) != NULL) //interval is in the string! e314: 3e 40 b8 e1 mov #-7752, r14 ;#0xe1b8 e318: 0f 44 mov r4, r15 ; e31a: b0 12 5e fc call #-930 ;#0xfc5e e31e: 0f 93 cmp #0, r15 ;r3 As==00 e320: 23 24 jz $+72 ;abs 0xe368 { length = atoi(strchr(rxbuf, '=' )+1); //The new interval should follow the equals sign e322: 3e 40 3d 00 mov #61, r14 ;#0x003d e326: 0f 44 mov r4, r15 ; e328: b0 12 f0 fb call #-1040 ;#0xfbf0 e32c: 1f 53 inc r15 ; e32e: b0 12 b8 f4 call #-2888 ;#0xf4b8 if(length > 0) e332: 0f 93 cmp #0, r15 ;r3 As==00 e334: 13 24 jz $+40 ;abs 0xe35c { interval = length; e336: 09 4f mov r15, r9 ; length = sprintf(rxbuf,"\e[32mGND:%s Interval is now %d\e[30m",CALLSIGN,interval); e338: 0f 12 push r15 ; e33a: 30 12 b4 e1 push #-7756 ;#0xe1b4 e33e: 30 12 c1 e1 push #-7743 ;#0xe1c1 e342: 04 12 push r4 ; e344: b0 12 8c f5 call #-2676 ;#0xf58c e348: 31 52 add #8, r1 ;r2 As==11 } else length = sprintf(rxbuf,"\e[32mGND:%s Reporting every %d seconds\e[30m",CALLSIGN,interval); TX_STRING(rxbuf,length); e34a: 4e 4f mov.b r15, r14 ; e34c: 0f 44 mov r4, r15 ; e34e: b0 12 fc e6 call #-6404 ;#0xe6fc } else if(strstr( rxbuf, "status" ) != NULL) { length = sprintf(rxbuf,"GND:%s RSSI:%ddBm LQI:%d", CALLSIGN, RSSI_DBM, LQI); TX_STRING(rxbuf,length); } else if(strstr( rxbuf, "now" ) != NULL) //interval is in the string! { flags |= GO_NOW | TIMER_UP; } else { P3OUT |= LED_GRN; length = sprintf(rxbuf,"\e[34mGND:%s Pong!\e[30m",CALLSIGN); TX_STRING(rxbuf, length); P3OUT &= ~LED_GRN; } } else { P2IFG &= ~GDO0; RX_MODE(); //set the radio back to RX mode so we don't miss any packets! } P3OUT &= ~LED_RED; e352: f2 f0 ef ff and.b #-17, &0x0019 ;#0xffef e356: 19 00 eint(); e358: 32 d2 eint e35a: ba 3f jmp $-138 ;abs 0xe2d0 e35c: 09 12 push r9 ; e35e: 30 12 b4 e1 push #-7756 ;#0xe1b4 e362: 30 12 e5 e1 push #-7707 ;#0xe1e5 e366: ed 3f jmp $-36 ;abs 0xe342 e368: 3e 40 11 e2 mov #-7663, r14 ;#0xe211 e36c: 0f 44 mov r4, r15 ; e36e: b0 12 5e fc call #-930 ;#0xfc5e e372: 0f 93 cmp #0, r15 ;r3 As==00 e374: 15 24 jz $+44 ;abs 0xe3a0 e376: 5f 42 10 02 mov.b &0x0210,r15 ;0x0210 e37a: 0f 12 push r15 ; e37c: 5f 42 08 02 mov.b &0x0208,r15 ;0x0208 e380: 8f 11 sxt r15 ; e382: 0f 12 push r15 ; e384: 30 12 b4 e1 push #-7756 ;#0xe1b4 e388: 30 12 18 e2 push #-7656 ;#0xe218 e38c: 04 12 push r4 ; e38e: b0 12 8c f5 call #-2676 ;#0xf58c e392: 4e 4f mov.b r15, r14 ; e394: 0f 44 mov r4, r15 ; e396: b0 12 fc e6 call #-6404 ;#0xe6fc e39a: 31 50 0a 00 add #10, r1 ;#0x000a e39e: d9 3f jmp $-76 ;abs 0xe352 e3a0: 3e 40 31 e2 mov #-7631, r14 ;#0xe231 e3a4: 0f 44 mov r4, r15 ; e3a6: b0 12 5e fc call #-930 ;#0xfc5e e3aa: 0f 93 cmp #0, r15 ;r3 As==00 e3ac: 04 24 jz $+10 ;abs 0xe3b6 e3ae: b2 d0 05 00 bis #5, &0x0212 ;#0x0005 e3b2: 12 02 e3b4: ce 3f jmp $-98 ;abs 0xe352 e3b6: f2 d0 20 00 bis.b #32, &0x0019 ;#0x0020 e3ba: 19 00 e3bc: 30 12 b4 e1 push #-7756 ;#0xe1b4 e3c0: 30 12 35 e2 push #-7627 ;#0xe235 e3c4: 04 12 push r4 ; e3c6: b0 12 8c f5 call #-2676 ;#0xf58c e3ca: 4e 4f mov.b r15, r14 ; e3cc: 0f 44 mov r4, r15 ; e3ce: b0 12 fc e6 call #-6404 ;#0xe6fc e3d2: f2 f0 df ff and.b #-33, &0x0019 ;#0xffdf e3d6: 19 00 e3d8: 31 50 06 00 add #6, r1 ;#0x0006 e3dc: ba 3f jmp $-138 ;abs 0xe352 e3de: d2 c3 2b 00 bic.b #1, &0x002b ;r3 As==01 e3e2: b0 12 fe e5 call #-6658 ;#0xe5fe e3e6: b5 3f jmp $-148 ;abs 0xe352 } else if(flags & IC_RDY) //get what it has to say e3e8: b2 b2 12 02 bit #8, &0x0212 ;r2 As==11 e3ec: 20 24 jz $+66 ;abs 0xe42e { dint(); e3ee: 32 c2 dint P3OUT |= LED_RED; e3f0: f2 d0 10 00 bis.b #16, &0x0019 ;#0x0010 e3f4: 19 00 length = get_string(rxbuf); e3f6: 0f 44 mov r4, r15 ; e3f8: b0 12 bc e8 call #-5956 ;#0xe8bc e3fc: 8f 11 sxt r15 ; P1IFG &= ~IC_RX; e3fe: d2 c3 23 00 bic.b #1, &0x0023 ;r3 As==01 P3OUT &= ~LED_RED; e402: f2 f0 ef ff and.b #-17, &0x0019 ;#0xffef e406: 19 00 P3OUT |= LED_GRN; e408: f2 d0 20 00 bis.b #32, &0x0019 ;#0x0020 e40c: 19 00 TX_STRING(rxbuf,length-1); e40e: 7f 53 add.b #-1, r15 ;r3 As==11 e410: 4e 4f mov.b r15, r14 ; e412: 0f 44 mov r4, r15 ; e414: b0 12 fc e6 call #-6404 ;#0xe6fc P2IFG &= ~GDO0; e418: d2 c3 2b 00 bic.b #1, &0x002b ;r3 As==01 RX_MODE(); e41c: b0 12 fe e5 call #-6658 ;#0xe5fe flags &= ~IC_RDY; e420: b2 c2 12 02 bic #8, &0x0212 ;r2 As==11 P3OUT &= ~LED_GRN; e424: f2 f0 df ff and.b #-33, &0x0019 ;#0xffdf e428: 19 00 eint(); e42a: 32 d2 eint e42c: 51 3f jmp $-348 ;abs 0xe2d0 } else if(flags & TIMER_UP) //Did the timer expire? report your findings! e42e: 92 b3 12 02 bit #1, &0x0212 ;r3 As==01 e432: 10 24 jz $+34 ;abs 0xe454 { if(((seconds) % interval) == 0 || (flags & GO_NOW)) //report every 20 seconds e434: 1c 42 0a 02 mov &0x020a,r12 ;0x020a e438: 0a 49 mov r9, r10 ; e43a: b0 12 e0 fc call #-800 ;#0xfce0 e43e: 0e 93 cmp #0, r14 ;r3 As==00 e440: 03 24 jz $+8 ;abs 0xe448 e442: a2 b2 12 02 bit #4, &0x0212 ;r2 As==10 e446: 44 27 jz $-374 ;abs 0xe2d0 { dint(); e448: 32 c2 dint flags &= ~(TIMER_UP|GO_NOW); //clear the flag e44a: b2 f0 fa ff and #-6, &0x0212 ;#0xfffa e44e: 12 02 /* P3OUT |= LED_RED; //length=sprintf(rxbuf, "GND:%s %d:%d,%d", CALLSIGN, seconds, ipart, sample); //send the temperature to the ground //rxbuf[0] = 'B'; //TX_STRING(rxbuf,length); P2IFG &= ~GDO0; //clear our soiled GDO0 register RX_MODE(); P3OUT &= ~LED_RED;*/ eint(); e450: 32 d2 eint e452: 3e 3f jmp $-386 ;abs 0xe2d0 } } else LPM3; //when we wake up it'll be because of an event e454: 32 d0 d0 00 bis #208, r2 ;#0x00d0 e458: 3b 3f jmp $-392 ;abs 0xe2d0 } } e45a: 31 50 40 00 add #64, r1 ;#0x0040 e45e: 30 40 dc fc br #0xfcdc ; 0000e462 : void CCXX_WRITE_SPI_RF_SETTINGS() { // Write register settings CCXX_SPI_WRREG(CCxxx0_IOCFG2, P2_IOCFG2); // GDO2 output pin config. e462: 7e 40 0b 00 mov.b #11, r14 ;#0x000b e466: 4f 43 clr.b r15 ; e468: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_IOCFG0, P2_IOCFG0); // GDO0 output pin config. e46c: 7e 40 06 00 mov.b #6, r14 ;#0x0006 e470: 6f 43 mov.b #2, r15 ;r3 As==10 e472: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_PKTLEN, P2_PKTLEN); // Packet length. e476: 7e 40 3c 00 mov.b #60, r14 ;#0x003c e47a: 7f 40 06 00 mov.b #6, r15 ;#0x0006 e47e: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_PKTCTRL1, P2_PKTCTRL1); // Packet automation control. e482: 6e 42 mov.b #4, r14 ;r2 As==10 e484: 7f 40 07 00 mov.b #7, r15 ;#0x0007 e488: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_PKTCTRL0, P2_PKTCTRL0); // Packet automation control. e48c: 7e 40 05 00 mov.b #5, r14 ;#0x0005 e490: 7f 42 mov.b #8, r15 ;r2 As==11 e492: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_ADDR, P2_ADDR); // Device address. e496: 5e 43 mov.b #1, r14 ;r3 As==01 e498: 7f 40 09 00 mov.b #9, r15 ;#0x0009 e49c: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_CHANNR, P2_CHANNR); // Channel number. e4a0: 4e 43 clr.b r14 ; e4a2: 7f 40 0a 00 mov.b #10, r15 ;#0x000a e4a6: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_FSCTRL1, P2_FSCTRL1); // Freq synthesizer control. e4aa: 7e 40 07 00 mov.b #7, r14 ;#0x0007 e4ae: 7f 40 0b 00 mov.b #11, r15 ;#0x000b e4b2: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_FSCTRL0, P2_FSCTRL0); // Freq synthesizer control. e4b6: 4e 43 clr.b r14 ; e4b8: 7f 40 0c 00 mov.b #12, r15 ;#0x000c e4bc: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_FREQ2, P2_FREQ2); // Freq control word, high byte e4c0: 7e 40 5d 00 mov.b #93, r14 ;#0x005d e4c4: 7f 40 0d 00 mov.b #13, r15 ;#0x000d e4c8: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_FREQ1, P2_FREQ1); // Freq control word, mid byte. e4cc: 7e 40 93 ff mov.b #-109, r14 ;#0xff93 e4d0: 7f 40 0e 00 mov.b #14, r15 ;#0x000e e4d4: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_FREQ0, P2_FREQ0); // Freq control word, low byte. e4d8: 7e 40 b1 ff mov.b #-79, r14 ;#0xffb1 e4dc: 7f 40 0f 00 mov.b #15, r15 ;#0x000f e4e0: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_MDMCFG4, P2_MDMCFG4); // Modem configuration. e4e4: 7e 40 2d 00 mov.b #45, r14 ;#0x002d e4e8: 7f 40 10 00 mov.b #16, r15 ;#0x0010 e4ec: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_MDMCFG3, P2_MDMCFG3); // Modem configuration. e4f0: 7e 40 3b 00 mov.b #59, r14 ;#0x003b e4f4: 7f 40 11 00 mov.b #17, r15 ;#0x0011 e4f8: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_MDMCFG2, P2_MDMCFG2); // Modem configuration. e4fc: 7e 40 73 00 mov.b #115, r14 ;#0x0073 e500: 7f 40 12 00 mov.b #18, r15 ;#0x0012 e504: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_MDMCFG1, P2_MDMCFG1); // Modem configuration. e508: 7e 40 22 00 mov.b #34, r14 ;#0x0022 e50c: 7f 40 13 00 mov.b #19, r15 ;#0x0013 e510: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_MDMCFG0, P2_MDMCFG0); // Modem configuration. e514: 7e 40 f8 ff mov.b #-8, r14 ;#0xfff8 e518: 7f 40 14 00 mov.b #20, r15 ;#0x0014 e51c: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_DEVIATN, P2_DEVIATN); // Modem dev (when FSK mod en) e520: 5e 43 mov.b #1, r14 ;r3 As==01 e522: 7f 40 15 00 mov.b #21, r15 ;#0x0015 e526: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_MCSM1 , P2_MCSM1 ); //MainRadio Cntrl State Machine e52a: 7e 40 33 00 mov.b #51, r14 ;#0x0033 e52e: 7f 40 17 00 mov.b #23, r15 ;#0x0017 e532: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_MCSM0 , P2_MCSM0 ); //MainRadio Cntrl State Machine e536: 7e 40 18 00 mov.b #24, r14 ;#0x0018 e53a: 7f 40 18 00 mov.b #24, r15 ;#0x0018 e53e: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_FOCCFG, P2_FOCCFG); // Freq Offset Compens. Config e542: 7e 40 1d 00 mov.b #29, r14 ;#0x001d e546: 7f 40 19 00 mov.b #25, r15 ;#0x0019 e54a: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_BSCFG, P2_BSCFG); // Bit synchronization config. e54e: 7e 40 1c 00 mov.b #28, r14 ;#0x001c e552: 7f 40 1a 00 mov.b #26, r15 ;#0x001a e556: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_AGCCTRL2, P2_AGCCTRL2); // AGC control. e55a: 7e 40 c7 ff mov.b #-57, r14 ;#0xffc7 e55e: 7f 40 1b 00 mov.b #27, r15 ;#0x001b e562: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_AGCCTRL1, P2_AGCCTRL1); // AGC control. e566: 4e 43 clr.b r14 ; e568: 7f 40 1c 00 mov.b #28, r15 ;#0x001c e56c: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_AGCCTRL0, P2_AGCCTRL0); // AGC control. e570: 7e 40 b2 ff mov.b #-78, r14 ;#0xffb2 e574: 7f 40 1d 00 mov.b #29, r15 ;#0x001d e578: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_FREND1, P2_FREND1); // Front end RX configuration. e57c: 7e 40 b6 ff mov.b #-74, r14 ;#0xffb6 e580: 7f 40 21 00 mov.b #33, r15 ;#0x0021 e584: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_FREND0, P2_FREND0); // Front end RX configuration. e588: 7e 40 10 00 mov.b #16, r14 ;#0x0010 e58c: 7f 40 22 00 mov.b #34, r15 ;#0x0022 e590: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_FSCAL3, P2_FSCAL3); // Frequency synthesizer cal. e594: 7e 40 ea ff mov.b #-22, r14 ;#0xffea e598: 7f 40 23 00 mov.b #35, r15 ;#0x0023 e59c: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_FSCAL2, P2_FSCAL2); // Frequency synthesizer cal. e5a0: 7e 40 0a 00 mov.b #10, r14 ;#0x000a e5a4: 7f 40 24 00 mov.b #36, r15 ;#0x0024 e5a8: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_FSCAL1, P2_FSCAL1); // Frequency synthesizer cal. e5ac: 4e 43 clr.b r14 ; e5ae: 7f 40 25 00 mov.b #37, r15 ;#0x0025 e5b2: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_FSCAL0, P2_FSCAL0); // Frequency synthesizer cal. e5b6: 7e 40 11 00 mov.b #17, r14 ;#0x0011 e5ba: 7f 40 26 00 mov.b #38, r15 ;#0x0026 e5be: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_FSTEST, P2_FSTEST); // Frequency synthesizer cal. e5c2: 7e 40 59 00 mov.b #89, r14 ;#0x0059 e5c6: 7f 40 29 00 mov.b #41, r15 ;#0x0029 e5ca: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_TEST2, P2_TEST2); // Various test settings. e5ce: 7e 40 88 ff mov.b #-120, r14 ;#0xff88 e5d2: 7f 40 2c 00 mov.b #44, r15 ;#0x002c e5d6: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_TEST1, P2_TEST1); // Various test settings. e5da: 7e 40 31 00 mov.b #49, r14 ;#0x0031 e5de: 7f 40 2d 00 mov.b #45, r15 ;#0x002d e5e2: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_TEST0, P2_TEST0); // Various test settings. e5e6: 7e 40 0b 00 mov.b #11, r14 ;#0x000b e5ea: 7f 40 2e 00 mov.b #46, r15 ;#0x002e e5ee: b0 12 f8 e7 call #-6152 ;#0xe7f8 CCXX_SPI_WRREG(CCxxx0_PATABLE, P2_PATABLE); // Output Power e5f2: 7e 43 mov.b #-1, r14 ;r3 As==11 e5f4: 7f 40 3e 00 mov.b #62, r15 ;#0x003e e5f8: b0 12 f8 e7 call #-6152 ;#0xe7f8 } e5fc: 30 41 ret 0000e5fe : /** Get some bytes No timeout Interrupt driven! yay! */ void RX_MODE() { CCXX_SPI_STROBE(CCxxx0_SIDLE); e5fe: 7f 40 36 00 mov.b #54, r15 ;#0x0036 e602: b0 12 66 e7 call #-6298 ;#0xe766 while(status!=15) //(15)31 for return to TX on complete, see MCSM1 e606: f2 90 0f 00 cmp.b #15, &0x0214 ;#0x000f e60a: 14 02 e60c: 08 24 jz $+18 ;abs 0xe61e CCXX_SPI_STROBE(CCxxx0_SNOP) ; //(wait for 15, idle)read status byte.... e60e: 7f 40 3d 00 mov.b #61, r15 ;#0x003d e612: b0 12 66 e7 call #-6298 ;#0xe766 e616: f2 90 0f 00 cmp.b #15, &0x0214 ;#0x000f e61a: 14 02 e61c: f8 23 jnz $-14 ;abs 0xe60e CCXX_SPI_STROBE(CCxxx0_SRX);//Recieve Mode e61e: 7f 40 34 00 mov.b #52, r15 ;#0x0034 e622: b0 12 66 e7 call #-6298 ;#0xe766 } e626: 30 41 ret 0000e628 : char RX_STRING(unsigned char *rxbuf, unsigned char length) { e628: 0b 12 push r11 ; e62a: 0a 12 push r10 ; e62c: 09 12 push r9 ; e62e: 08 12 push r8 ; e630: 07 12 push r7 ; e632: 06 12 push r6 ; e634: 0a 4f mov r15, r10 ; e636: 47 4e mov.b r14, r7 ; unsigned char i, real_length=23, pkt_length; //RSSI = 0; //LQI = 0; //memset(tmpbuf, 0, 23); //while ((P2IN&GDO0) == 0); // Wait for GDO0 to be set -> sync transmitted //while ((P2IN&GDO0) == GDO0); // Wait for GDO0 to be cleared -> end of packet //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 e638: 7f 40 3f 00 mov.b #63, r15 ;#0x003f e63c: b0 12 9c e7 call #-6244 ;#0xe79c e640: 48 4f mov.b r15, r8 ; real_length = CCXX_SPI_RDREG(CCxxx0_RXBYTES);//length of the packet e642: 7f 40 3b 00 mov.b #59, r15 ;#0x003b e646: b0 12 9c e7 call #-6244 ;#0xe79c e64a: 46 4f mov.b r15, r6 ; for(i=0; i < length && i < pkt_length; i++) e64c: 49 43 clr.b r9 ; e64e: 49 97 cmp.b r7, r9 ; e650: 02 2c jc $+6 ;abs 0xe656 e652: 58 93 cmp.b #1, r8 ;r3 As==01 e654: 2f 2c jc $+96 ;abs 0xe6b4 { rxbuf[i] = CCXX_SPI_RDREG(CCxxx0_RXFIFO);//get the byte //tmpbuf[i] = rxbuf[i]; } rxbuf[i] = '\0';//set the NULL terminator e656: 4f 49 mov.b r9, r15 ; e658: 0a 5f add r15, r10 ; e65a: ca 43 00 00 mov.b #0, 0(r10) ;r3 As==00 RSSI = CCXX_SPI_RDREG(CCxxx0_RXFIFO);//get the ESSI e65e: 7f 40 3f 00 mov.b #63, r15 ;#0x003f e662: b0 12 9c e7 call #-6244 ;#0xe79c e666: c2 4f 09 02 mov.b r15, &0x0209 ; LQI = CCXX_SPI_RDREG(CCxxx0_RXFIFO);//get the CRC e66a: 7f 40 3f 00 mov.b #63, r15 ;#0x003f e66e: b0 12 9c e7 call #-6244 ;#0xe79c e672: c2 4f 10 02 mov.b r15, &0x0210 ; PKTSTATUS = CCXX_SPI_RDREG(CCxxx0_PKTSTATUS); e676: 7f 40 38 00 mov.b #56, r15 ;#0x0038 e67a: b0 12 9c e7 call #-6244 ;#0xe79c e67e: c2 4f 11 02 mov.b r15, &0x0211 ; if(real_length != (pkt_length + 2)) //packets lengths dont match, LQI mis-reported e682: 4e 46 mov.b r6, r14 ; e684: 4f 48 mov.b r8, r15 ; e686: 2f 53 incd r15 ; e688: 0e 9f cmp r15, r14 ; e68a: 03 24 jz $+8 ;abs 0xe692 LQI &= ~bit7; //force it to be INVALID! e68c: f2 f0 7f 00 and.b #127, &0x0210 ;#0x007f e690: 10 02 if (RSSI >= 128) e692: 5f 42 09 02 mov.b &0x0209,r15 ;0x0209 e696: 7f 90 80 00 cmp.b #128, r15 ;#0x0080 e69a: 09 28 jnc $+20 ;abs 0xe6ae RSSI_DBM = (int)((int )(RSSI - 256) / 2) - 72; e69c: 4e 4f mov.b r15, r14 ; e69e: 0f 4e mov r14, r15 ; e6a0: 3f 50 00 ff add #-256, r15 ;#0xff00 e6a4: 02 30 jn $+6 ;abs 0xe6aa e6a6: 0f 11 rra r15 ; e6a8: 14 3c jmp $+42 ;abs 0xe6d2 e6aa: 1f 53 inc r15 ; e6ac: fc 3f jmp $-6 ;abs 0xe6a6 else RSSI_DBM = (RSSI / 2) - 72; e6ae: 12 c3 clrc e6b0: 4f 10 rrc.b r15 ; e6b2: 0f 3c jmp $+32 ;abs 0xe6d2 e6b4: 4f 49 mov.b r9, r15 ; e6b6: 0b 4a mov r10, r11 ; e6b8: 0b 5f add r15, r11 ; e6ba: 7f 40 3f 00 mov.b #63, r15 ;#0x003f e6be: b0 12 9c e7 call #-6244 ;#0xe79c e6c2: cb 4f 00 00 mov.b r15, 0(r11) ; e6c6: 59 53 inc.b r9 ; e6c8: 49 97 cmp.b r7, r9 ; e6ca: c5 2f jc $-116 ;abs 0xe656 e6cc: 49 98 cmp.b r8, r9 ; e6ce: f2 2b jnc $-26 ;abs 0xe6b4 e6d0: c2 3f jmp $-122 ;abs 0xe656 e6d2: 7f 50 b8 ff add.b #-72, r15 ;#0xffb8 e6d6: c2 4f 08 02 mov.b r15, &0x0208 ; CCXX_SPI_STROBE(CCxxx0_SFRX); //flush the buffer e6da: 7f 40 3a 00 mov.b #58, r15 ;#0x003a e6de: b0 12 66 e7 call #-6298 ;#0xe766 CCXX_SPI_STROBE(CCxxx0_SIDLE); //return to IDLE state e6e2: 7f 40 36 00 mov.b #54, r15 ;#0x0036 e6e6: b0 12 66 e7 call #-6298 ;#0xe766 return i; //i = real length e6ea: 4f 49 mov.b r9, r15 ; e6ec: 8f 11 sxt r15 ; } e6ee: 36 41 pop r6 ; e6f0: 37 41 pop r7 ; e6f2: 38 41 pop r8 ; e6f4: 39 41 pop r9 ; e6f6: 3a 41 pop r10 ; e6f8: 3b 41 pop r11 ; e6fa: 30 41 ret 0000e6fc : /** Transmit a string of bytes. */ void TX_STRING(unsigned char *txstring, unsigned char length) { e6fc: 0b 12 push r11 ; e6fe: 0a 12 push r10 ; e700: 09 12 push r9 ; e702: 09 4f mov r15, r9 ; e704: 4a 4e mov.b r14, r10 ; unsigned char i; //length += 3; do{ CCXX_SPI_STROBE(CCxxx0_SIDLE);//Recieve e706: 7f 40 36 00 mov.b #54, r15 ;#0x0036 e70a: b0 12 66 e7 call #-6298 ;#0xe766 }while((status & CCxxx0_STAT_ADDR) != CCxxx0_STAT_IDLE); //wait for idle e70e: f2 b0 70 00 bit.b #112, &0x0214 ;#0x0070 e712: 14 02 e714: f8 23 jnz $-14 ;abs 0xe706 CCXX_SPI_WRREG(CCxxx0_TXFIFO, length);//Write the data length first e716: 4e 4a mov.b r10, r14 ; e718: 7f 40 3f 00 mov.b #63, r15 ;#0x003f e71c: b0 12 f8 e7 call #-6152 ;#0xe7f8 for(i=0; i<=length; i++) e720: 4b 43 clr.b r11 ; { if(i < length) e722: 4b 9a cmp.b r10, r11 ; e724: 14 28 jnc $+42 ;abs 0xe74e e726: 5b 53 inc.b r11 ; e728: 4a 9b cmp.b r11, r10 ; e72a: fb 2f jc $-8 ;abs 0xe722 CCXX_SPI_WRREG(CCxxx0_TXFIFO, txstring[i]);//Write data to FIFO } CCXX_SPI_STROBE(CCxxx0_STX); // send tx strobe and TX begins, returns to 15 or 31 when complete (depending on MCSM1) e72c: 7f 40 35 00 mov.b #53, r15 ;#0x0035 e730: b0 12 66 e7 call #-6298 ;#0xe766 do { CCXX_SPI_STROBE(CCxxx0_SNOP) ; //(wait for 15, idle)read status byte.... e734: 7f 40 3d 00 mov.b #61, r15 ;#0x003d e738: b0 12 66 e7 call #-6298 ;#0xe766 if(status == 31) //fast RX mode yay e73c: 5f 42 14 02 mov.b &0x0214,r15 ;0x0214 e740: 7f 90 1f 00 cmp.b #31, r15 ;#0x001f e744: 0c 24 jz $+26 ;abs 0xe75e break; }while((status & CCxxx0_STAT_ADDR) != CCxxx0_STAT_IDLE); //(15)31 for return to TX on complete, see MCSM1 e746: 7f f0 70 00 and.b #112, r15 ;#0x0070 e74a: f4 23 jnz $-22 ;abs 0xe734 e74c: 08 3c jmp $+18 ;abs 0xe75e e74e: 4f 4b mov.b r11, r15 ; e750: 0f 59 add r9, r15 ; e752: 6e 4f mov.b @r15, r14 ; e754: 7f 40 3f 00 mov.b #63, r15 ;#0x003f e758: b0 12 f8 e7 call #-6152 ;#0xe7f8 e75c: e4 3f jmp $-54 ;abs 0xe726 } e75e: 39 41 pop r9 ; e760: 3a 41 pop r10 ; e762: 3b 41 pop r11 ; e764: 30 41 ret 0000e766 : e766: 4e 4f mov.b r15, r14 ; e768: c2 43 14 02 mov.b #0, &0x0214 ;r3 As==00 e76c: d2 c3 19 00 bic.b #1, &0x0019 ;r3 As==01 e770: e2 b2 18 00 bit.b #4, &0x0018 ;r2 As==10 e774: fd 23 jnz $-4 ;abs 0xe770 e776: f2 d0 0e 00 bis.b #14, &0x001b ;#0x000e e77a: 1b 00 e77c: d2 c3 03 00 bic.b #1, &0x0003 ;r3 As==01 e780: c2 4e 77 00 mov.b r14, &0x0077 ; e784: d2 b3 03 00 bit.b #1, &0x0003 ;r3 As==01 e788: fd 27 jz $-4 ;abs 0xe784 e78a: d2 42 76 00 mov.b &0x0076,&0x0214 ;0x0076 e78e: 14 02 e790: d2 d3 19 00 bis.b #1, &0x0019 ;r3 As==01 e794: f2 f0 f1 ff and.b #-15, &0x001b ;#0xfff1 e798: 1b 00 e79a: 30 41 ret 0000e79c : e79c: 4e 4f mov.b r15, r14 ; e79e: 7f 90 30 00 cmp.b #48, r15 ;#0x0030 e7a2: 1e 38 jl $+62 ;abs 0xe7e0 e7a4: 7e d0 c0 ff bis.b #-64, r14 ;#0xffc0 e7a8: c2 43 14 02 mov.b #0, &0x0214 ;r3 As==00 e7ac: d2 c3 19 00 bic.b #1, &0x0019 ;r3 As==01 e7b0: e2 b2 18 00 bit.b #4, &0x0018 ;r2 As==10 e7b4: fd 23 jnz $-4 ;abs 0xe7b0 e7b6: f2 d0 0e 00 bis.b #14, &0x001b ;#0x000e e7ba: 1b 00 e7bc: d2 c3 03 00 bic.b #1, &0x0003 ;r3 As==01 e7c0: c2 4e 77 00 mov.b r14, &0x0077 ; e7c4: d2 b3 03 00 bit.b #1, &0x0003 ;r3 As==01 e7c8: fd 27 jz $-4 ;abs 0xe7c4 e7ca: d2 42 76 00 mov.b &0x0076,&0x0214 ;0x0076 e7ce: 14 02 e7d0: d2 c3 03 00 bic.b #1, &0x0003 ;r3 As==01 e7d4: c2 43 77 00 mov.b #0, &0x0077 ;r3 As==00 e7d8: d2 b3 03 00 bit.b #1, &0x0003 ;r3 As==01 e7dc: fd 27 jz $-4 ;abs 0xe7d8 e7de: 03 3c jmp $+8 ;abs 0xe7e6 e7e0: 7e d0 80 ff bis.b #-128, r14 ;#0xff80 e7e4: e1 3f jmp $-60 ;abs 0xe7a8 e7e6: 5f 42 76 00 mov.b &0x0076,r15 ;0x0076 e7ea: d2 d3 19 00 bis.b #1, &0x0019 ;r3 As==01 e7ee: f2 f0 f1 ff and.b #-15, &0x001b ;#0xfff1 e7f2: 1b 00 e7f4: 8f 11 sxt r15 ; e7f6: 30 41 ret 0000e7f8 : e7f8: 4d 4f mov.b r15, r13 ; e7fa: c2 43 14 02 mov.b #0, &0x0214 ;r3 As==00 e7fe: d2 c3 19 00 bic.b #1, &0x0019 ;r3 As==01 e802: e2 b2 18 00 bit.b #4, &0x0018 ;r2 As==10 e806: fd 23 jnz $-4 ;abs 0xe802 e808: f2 d0 0e 00 bis.b #14, &0x001b ;#0x000e e80c: 1b 00 e80e: d2 c3 03 00 bic.b #1, &0x0003 ;r3 As==01 e812: c2 4d 77 00 mov.b r13, &0x0077 ; e816: d2 b3 03 00 bit.b #1, &0x0003 ;r3 As==01 e81a: fd 27 jz $-4 ;abs 0xe816 e81c: d2 42 76 00 mov.b &0x0076,&0x0214 ;0x0076 e820: 14 02 e822: d2 c3 03 00 bic.b #1, &0x0003 ;r3 As==01 e826: c2 4e 77 00 mov.b r14, &0x0077 ; e82a: d2 b3 03 00 bit.b #1, &0x0003 ;r3 As==01 e82e: fd 27 jz $-4 ;abs 0xe82a e830: 5f 42 76 00 mov.b &0x0076,r15 ;0x0076 e834: d2 d3 19 00 bis.b #1, &0x0019 ;r3 As==01 e838: f2 f0 f1 ff and.b #-15, &0x001b ;#0xfff1 e83c: 1b 00 e83e: 30 41 ret 0000e840 : { unsigned int i; //first see if the chip wants to talk to us first so we don't fight if((P1IN & IC_RX) == 0) e840: d2 b3 20 00 bit.b #1, &0x0020 ;r3 As==01 e844: 02 20 jnz $+6 ;abs 0xe84a return false; e846: 0f 43 clr r15 ; //lower the TX pin and wait for a response P1DIR |= IC_CLK; //turn the clock into an output, idle high P1OUT &= ~IC_TX; //lower the flag to let the other chip know we want to talk to it! //The other chip has acknowledged us, start sending data for(i=BYTE_LENGTH; i>0; i--) { while((P1IN & IC_RX) == IC_RX); //wouldn't be a bad idea for a timeout here P1OUT |= (IC_TX & ((0x80&byte) >> 7)); // latch output data MSB first P1OUT &= ~IC_CLK; //lower the clock while((P1IN & IC_RX) == 0); //wait for the RX line to come high to show the other chip has the bit P1OUT |= IC_CLK; //raise the clock P1OUT &= ~IC_TX; //clear the TX line byte = byte << 1; } P1DIR &= ~IC_CLK; //turn the clock into an input and let it float P1OUT |= IC_TX | IC_CLK;; // set the TX line back to IDLE //while((P1IN & IC_RX) == 0); //wait for the other chip to go idle return true; } e848: 30 41 ret e84a: e2 d2 22 00 bis.b #4, &0x0022 ;r2 As==10 e84e: e2 c3 21 00 bic.b #2, &0x0021 ;r3 As==10 e852: 3d 42 mov #8, r13 ;r2 As==11 e854: d2 b3 20 00 bit.b #1, &0x0020 ;r3 As==01 e858: fd 23 jnz $-4 ;abs 0xe854 e85a: 5f 42 21 00 mov.b &0x0021,r15 ;0x0021 e85e: c2 4f 21 00 mov.b r15, &0x0021 ; e862: e2 c2 21 00 bic.b #4, &0x0021 ;r2 As==10 e866: d2 b3 20 00 bit.b #1, &0x0020 ;r3 As==01 e86a: fd 27 jz $-4 ;abs 0xe866 e86c: e2 d2 21 00 bis.b #4, &0x0021 ;r2 As==10 e870: e2 c3 21 00 bic.b #2, &0x0021 ;r3 As==10 e874: 3d 53 add #-1, r13 ;r3 As==11 e876: ee 23 jnz $-34 ;abs 0xe854 e878: e2 c2 22 00 bic.b #4, &0x0022 ;r2 As==10 e87c: f2 d0 06 00 bis.b #6, &0x0021 ;#0x0006 e880: 21 00 e882: 1f 43 mov #1, r15 ;r3 As==01 e884: 30 41 ret 0000e886 : /** Get a byte from another chip */ char get_byte() { unsigned int i; int byte=0; e886: 0d 43 clr r13 ; P1DIR &= ~IC_CLK; //make sure the clock is an INPUT e888: e2 c2 22 00 bic.b #4, &0x0022 ;r2 As==10 while((P1IN & IC_RX) == IC_RX); //Does the chip still want to talk to us? A timeout wouldn't be bad e88c: d2 b3 20 00 bit.b #1, &0x0020 ;r3 As==01 e890: fd 23 jnz $-4 ;abs 0xe88c P1OUT &= ~IC_TX; //lower the TX line to aknowledge start of reception e892: e2 c3 21 00 bic.b #2, &0x0021 ;r3 As==10 for(i=BYTE_LENGTH; i>0; i--) e896: 3e 42 mov #8, r14 ;r2 As==11 { //P3OUT ^= LED_GRN; //delay(0xF); byte = byte << 1; e898: 0d 5d rla r13 ; while((P1IN & IC_CLK) == IC_CLK); e89a: e2 b2 20 00 bit.b #4, &0x0020 ;r2 As==10 e89e: fd 23 jnz $-4 ;abs 0xe89a byte |= ((P1IN & IC_RX) >> 1); P1OUT |= IC_TX; //set the TX line high to show that we have the bit e8a0: e2 d3 21 00 bis.b #2, &0x0021 ;r3 As==10 while((P1IN & IC_CLK) == 0); e8a4: e2 b2 20 00 bit.b #4, &0x0020 ;r2 As==10 e8a8: fd 27 jz $-4 ;abs 0xe8a4 P1OUT &= ~IC_TX; //clear the TX line high to show that we are ready for the next bit e8aa: e2 c3 21 00 bic.b #2, &0x0021 ;r3 As==10 e8ae: 3e 53 add #-1, r14 ;r3 As==11 e8b0: f3 23 jnz $-24 ;abs 0xe898 } P1OUT |= IC_TX; //raise TX back to idle e8b2: e2 d3 21 00 bis.b #2, &0x0021 ;r3 As==10 //while((P1IN & IC_RX) == 0); //wait for the other chip to go idle return byte; e8b6: 4f 4d mov.b r13, r15 ; e8b8: 8f 11 sxt r15 ; } e8ba: 30 41 ret 0000e8bc : char get_string(char *str) { e8bc: 0b 12 push r11 ; e8be: 0a 12 push r10 ; e8c0: 09 12 push r9 ; e8c2: 0a 4f mov r15, r10 ; unsigned char i; unsigned char length, byte=0; e8c4: 4d 43 clr.b r13 ; unsigned int pos; P1DIR &= ~IC_CLK; //make sure the clock is an INPUT e8c6: e2 c2 22 00 bic.b #4, &0x0022 ;r2 As==10 while((P1IN & IC_RX) == IC_RX); //Does the chip still want to talk to us? A timeout wouldn't be bad e8ca: d2 b3 20 00 bit.b #1, &0x0020 ;r3 As==01 e8ce: fd 23 jnz $-4 ;abs 0xe8ca P1OUT &= ~IC_TX; //lower the TX line to aknowledge start of reception e8d0: e2 c3 21 00 bic.b #2, &0x0021 ;r3 As==10 for(i=BYTE_LENGTH; i>0; i--) e8d4: 7e 42 mov.b #8, r14 ;r2 As==11 { //P3OUT ^= LED_GRN; //delay(0xF); byte = byte << 1; e8d6: 4d 5d rla.b r13 ; while((P1IN & IC_CLK) == IC_CLK); e8d8: e2 b2 20 00 bit.b #4, &0x0020 ;r2 As==10 e8dc: fd 23 jnz $-4 ;abs 0xe8d8 byte |= ((P1IN & IC_RX) >> IC_RX_SHIFT); e8de: 5f 42 20 00 mov.b &0x0020,r15 ;0x0020 e8e2: 5f f3 and.b #1, r15 ;r3 As==01 e8e4: 4d df bis.b r15, r13 ; P1OUT |= IC_TX; //set the TX line high to show that we have the bit e8e6: e2 d3 21 00 bis.b #2, &0x0021 ;r3 As==10 while((P1IN & IC_CLK) == 0); e8ea: e2 b2 20 00 bit.b #4, &0x0020 ;r2 As==10 e8ee: fd 27 jz $-4 ;abs 0xe8ea P1OUT &= ~IC_TX; //clear the TX line high to show that we are ready for the next bit e8f0: e2 c3 21 00 bic.b #2, &0x0021 ;r3 As==10 e8f4: 7e 53 add.b #-1, r14 ;r3 As==11 e8f6: ef 23 jnz $-32 ;abs 0xe8d6 } length = byte; e8f8: 49 4d mov.b r13, r9 ; for(pos=0; pos < length-1; pos++) e8fa: 0c 43 clr r12 ; e8fc: 4f 4d mov.b r13, r15 ; e8fe: 3f 53 add #-1, r15 ;r3 As==11 e900: 0c 9f cmp r15, r12 ; e902: 1a 2c jc $+54 ;abs 0xe938 e904: 0b 4f mov r15, r11 ; { for(i=BYTE_LENGTH; i>0; i--) e906: 7e 42 mov.b #8, r14 ;r2 As==11 { byte = byte << 1; e908: 4d 5d rla.b r13 ; while((P1IN & IC_CLK) == IC_CLK); e90a: e2 b2 20 00 bit.b #4, &0x0020 ;r2 As==10 e90e: fd 23 jnz $-4 ;abs 0xe90a byte |= ((P1IN & IC_RX) >> IC_RX_SHIFT); e910: 5f 42 20 00 mov.b &0x0020,r15 ;0x0020 e914: 5f f3 and.b #1, r15 ;r3 As==01 e916: 4d df bis.b r15, r13 ; P1OUT |= IC_TX; //set the TX line high to show that we have the bit e918: e2 d3 21 00 bis.b #2, &0x0021 ;r3 As==10 while((P1IN & IC_CLK) == 0); e91c: e2 b2 20 00 bit.b #4, &0x0020 ;r2 As==10 e920: fd 27 jz $-4 ;abs 0xe91c P1OUT &= ~IC_TX; //clear the TX line high to show that we are ready for the next bit e922: e2 c3 21 00 bic.b #2, &0x0021 ;r3 As==10 e926: 7e 53 add.b #-1, r14 ;r3 As==11 e928: ef 23 jnz $-32 ;abs 0xe908 } str[pos] = byte; e92a: 0f 4a mov r10, r15 ; e92c: 0f 5c add r12, r15 ; e92e: cf 4d 00 00 mov.b r13, 0(r15) ; e932: 1c 53 inc r12 ; e934: 0c 9b cmp r11, r12 ; e936: e7 2b jnc $-48 ;abs 0xe906 } P1OUT |= IC_TX; e938: e2 d3 21 00 bis.b #2, &0x0021 ;r3 As==10 return length; e93c: 4f 49 mov.b r9, r15 ; e93e: 8f 11 sxt r15 ; } e940: 39 41 pop r9 ; e942: 3a 41 pop r10 ; e944: 3b 41 pop r11 ; e946: 30 41 ret 0000e948 : char send_string( char *str, unsigned char length) { e948: 0b 12 push r11 ; e94a: 0a 12 push r10 ; e94c: 0a 4f mov r15, r10 ; unsigned char i, byte=0; unsigned int pos; //first see if the chip wants to talk to us first so we don't fight if((P1IN & IC_RX) == 0) e94e: d2 b3 20 00 bit.b #1, &0x0020 ;r3 As==01 e952: 02 20 jnz $+6 ;abs 0xe958 return false; e954: 0f 43 clr r15 ; e956: 4f 3c jmp $+160 ;abs 0xe9f6 //lower the TX pin and wait for a response P1DIR |= IC_CLK; //turn the clock into an output, idle high e958: e2 d2 22 00 bis.b #4, &0x0022 ;r2 As==10 P1OUT &= ~IC_TX; //lower the flag to let the other chip know we want to talk to it! e95c: e2 c3 21 00 bic.b #2, &0x0021 ;r3 As==10 //The other chip has acknowledged us, start sending data byte = length; e960: 4d 4e mov.b r14, r13 ; for(i=BYTE_LENGTH; i>0; i--) e962: 7c 42 mov.b #8, r12 ;r2 As==11 { while((P1IN & IC_RX) == IC_RX); //wouldn't be a bad idea for a timeout here e964: d2 b3 20 00 bit.b #1, &0x0020 ;r3 As==01 e968: fd 23 jnz $-4 ;abs 0xe964 P1OUT |= (IC_TX & ((0x80&byte) >> IC_TX_SHIFT)); // latch output data MSB first e96a: 4f 4d mov.b r13, r15 ; e96c: 7f f0 80 ff and.b #-128, r15 ;#0xff80 e970: 12 c3 clrc e972: 4f 10 rrc.b r15 ; e974: 4f 11 rra.b r15 ; e976: 4f 11 rra.b r15 ; e978: 4f 11 rra.b r15 ; e97a: 4f 11 rra.b r15 ; e97c: 4f 11 rra.b r15 ; e97e: c2 df 21 00 bis.b r15, &0x0021 ; P1OUT &= ~IC_CLK; //lower the clock e982: e2 c2 21 00 bic.b #4, &0x0021 ;r2 As==10 while((P1IN & IC_RX) == 0); //wait for the RX line to come high to show the other chip has the bit e986: d2 b3 20 00 bit.b #1, &0x0020 ;r3 As==01 e98a: fd 27 jz $-4 ;abs 0xe986 P1OUT |= IC_CLK; //raise the clock e98c: e2 d2 21 00 bis.b #4, &0x0021 ;r2 As==10 P1OUT &= ~IC_TX; //clear the TX line e990: e2 c3 21 00 bic.b #2, &0x0021 ;r3 As==10 byte = byte << 1; e994: 4d 5d rla.b r13 ; e996: 7c 53 add.b #-1, r12 ;r3 As==11 e998: e5 23 jnz $-52 ;abs 0xe964 } //while((P1IN & IC_RX) == 0); //wait for the other chip to go idle //return true; //send_byte(length); for(pos=0; pos < length-1; pos++) e99a: 4b 4e mov.b r14, r11 ; e99c: 0e 43 clr r14 ; e99e: 1b 93 cmp #1, r11 ;r3 As==01 e9a0: 24 24 jz $+74 ;abs 0xe9ea { byte = str[pos]; e9a2: 0f 4a mov r10, r15 ; e9a4: 0f 5e add r14, r15 ; e9a6: 6d 4f mov.b @r15, r13 ; for(i=BYTE_LENGTH; i>0; i--) e9a8: 7c 42 mov.b #8, r12 ;r2 As==11 { while((P1IN & IC_RX) == IC_RX); //wouldn't be a bad idea for a timeout here e9aa: d2 b3 20 00 bit.b #1, &0x0020 ;r3 As==01 e9ae: fd 23 jnz $-4 ;abs 0xe9aa P1OUT |= (IC_TX & ((0x80&byte) >> IC_TX_SHIFT)); // latch output data MSB first e9b0: 4f 4d mov.b r13, r15 ; e9b2: 7f f0 80 ff and.b #-128, r15 ;#0xff80 e9b6: 12 c3 clrc e9b8: 4f 10 rrc.b r15 ; e9ba: 4f 11 rra.b r15 ; e9bc: 4f 11 rra.b r15 ; e9be: 4f 11 rra.b r15 ; e9c0: 4f 11 rra.b r15 ; e9c2: 4f 11 rra.b r15 ; e9c4: c2 df 21 00 bis.b r15, &0x0021 ; P1OUT &= ~IC_CLK; //lower the clock e9c8: e2 c2 21 00 bic.b #4, &0x0021 ;r2 As==10 while((P1IN & IC_RX) == 0); //wait for the RX line to come high to show the other chip has the bit e9cc: d2 b3 20 00 bit.b #1, &0x0020 ;r3 As==01 e9d0: fd 27 jz $-4 ;abs 0xe9cc P1OUT |= IC_CLK; //raise the clock e9d2: e2 d2 21 00 bis.b #4, &0x0021 ;r2 As==10 P1OUT &= ~IC_TX; //clear the TX line e9d6: e2 c3 21 00 bic.b #2, &0x0021 ;r3 As==10 byte = byte << 1; e9da: 4d 5d rla.b r13 ; e9dc: 7c 53 add.b #-1, r12 ;r3 As==11 e9de: e5 23 jnz $-52 ;abs 0xe9aa e9e0: 1e 53 inc r14 ; e9e2: 0f 4b mov r11, r15 ; e9e4: 3f 53 add #-1, r15 ;r3 As==11 e9e6: 0e 9f cmp r15, r14 ; e9e8: dc 2b jnc $-70 ;abs 0xe9a2 } } P1DIR &= ~IC_CLK; //turn the clock into an input and let it float e9ea: e2 c2 22 00 bic.b #4, &0x0022 ;r2 As==10 P1OUT |= IC_TX | IC_CLK; // set the TX line back to IDLE e9ee: f2 d0 06 00 bis.b #6, &0x0021 ;#0x0006 e9f2: 21 00 return true; e9f4: 1f 43 mov #1, r15 ;r3 As==01 } e9f6: 3a 41 pop r10 ; e9f8: 3b 41 pop r11 ; e9fa: 30 41 ret 0000e9fc <__fixunssfsi>: e9fc: 0b 12 push r11 ; e9fe: 0a 12 push r10 ; ea00: 0a 4e mov r14, r10 ; ea02: 0b 4f mov r15, r11 ; ea04: 0c 43 clr r12 ; ea06: 3d 40 00 4f mov #20224, r13 ;#0x4f00 ea0a: b0 12 62 ef call #-4254 ;#0xef62 ea0e: 0f 93 cmp #0, r15 ;r3 As==00 ea10: 0d 38 jl $+28 ;abs 0xea2c ea12: 0c 43 clr r12 ; ea14: 3d 40 00 cf mov #-12544,r13 ;#0xcf00 ea18: 0e 4a mov r10, r14 ; ea1a: 0f 4b mov r11, r15 ; ea1c: b0 12 5c ec call #-5028 ;#0xec5c ea20: b0 12 56 f0 call #-4010 ;#0xf056 ea24: 0e 53 add #0, r14 ;r3 As==00 ea26: 3f 60 00 80 addc #-32768,r15 ;#0x8000 ea2a: 04 3c jmp $+10 ;abs 0xea34 ea2c: 0e 4a mov r10, r14 ; ea2e: 0f 4b mov r11, r15 ; ea30: b0 12 56 f0 call #-4010 ;#0xf056 ea34: 3a 41 pop r10 ; ea36: 3b 41 pop r11 ; ea38: 30 41 ret 0000ea3a <_fpadd_parts>: ea3a: 0b 12 push r11 ; ea3c: 0a 12 push r10 ; ea3e: 09 12 push r9 ; ea40: 08 12 push r8 ; ea42: 07 12 push r7 ; ea44: 06 12 push r6 ; ea46: 05 12 push r5 ; ea48: 0b 4f mov r15, r11 ; ea4a: 0a 4e mov r14, r10 ; ea4c: 09 4d mov r13, r9 ; ea4e: 0f 43 clr r15 ; ea50: 6e 4b mov.b @r11, r14 ; ea52: 6e 93 cmp.b #2, r14 ;r3 As==10 ea54: 01 2c jc $+4 ;abs 0xea58 ea56: 1f 43 mov #1, r15 ;r3 As==01 ea58: 0f 93 cmp #0, r15 ;r3 As==00 ea5a: 18 20 jnz $+50 ;abs 0xea8c ea5c: 0c 43 clr r12 ; ea5e: 6f 4a mov.b @r10, r15 ; ea60: 6f 93 cmp.b #2, r15 ;r3 As==10 ea62: 01 2c jc $+4 ;abs 0xea66 ea64: 1c 43 mov #1, r12 ;r3 As==01 ea66: 0c 93 cmp #0, r12 ;r3 As==00 ea68: 3c 20 jnz $+122 ;abs 0xeae2 ea6a: 0c 43 clr r12 ; ea6c: 6e 92 cmp.b #4, r14 ;r2 As==10 ea6e: eb 24 jz $+472 ;abs 0xec46 ea70: 0c 93 cmp #0, r12 ;r3 As==00 ea72: 10 24 jz $+34 ;abs 0xea94 ea74: 0e 43 clr r14 ; ea76: 6f 92 cmp.b #4, r15 ;r2 As==10 ea78: 0b 24 jz $+24 ;abs 0xea90 ea7a: 0e 93 cmp #0, r14 ;r3 As==00 ea7c: 07 24 jz $+16 ;abs 0xea8c ea7e: db 9a 01 00 cmp.b 1(r10), 1(r11) ; ea82: 01 00 ea84: 03 24 jz $+8 ;abs 0xea8c ea86: 3d 40 f2 f0 mov #-3854, r13 ;#0xf0f2 ea8a: df 3c jmp $+448 ;abs 0xec4a ea8c: 0d 4b mov r11, r13 ; ea8e: dd 3c jmp $+444 ;abs 0xec4a ea90: 1e 43 mov #1, r14 ;r3 As==01 ea92: f3 3f jmp $-24 ;abs 0xea7a ea94: 0d 43 clr r13 ; ea96: 6f 92 cmp.b #4, r15 ;r2 As==10 ea98: d4 24 jz $+426 ;abs 0xec42 ea9a: 0d 93 cmp #0, r13 ;r3 As==00 ea9c: 22 20 jnz $+70 ;abs 0xeae2 ea9e: 0d 43 clr r13 ; eaa0: 6f 93 cmp.b #2, r15 ;r3 As==10 eaa2: cd 24 jz $+412 ;abs 0xec3e eaa4: 0d 93 cmp #0, r13 ;r3 As==00 eaa6: 18 24 jz $+50 ;abs 0xead8 eaa8: 0f 43 clr r15 ; eaaa: 6e 93 cmp.b #2, r14 ;r3 As==10 eaac: 13 24 jz $+40 ;abs 0xead4 eaae: 0f 93 cmp #0, r15 ;r3 As==00 eab0: ed 27 jz $-36 ;abs 0xea8c eab2: 0f 4b mov r11, r15 ; eab4: b9 4f 00 00 mov @r15+, 0(r9) ; eab8: b9 4f 02 00 mov @r15+, 2(r9) ; eabc: b9 4f 04 00 mov @r15+, 4(r9) ; eac0: b9 4f 06 00 mov @r15+, 6(r9) ; eac4: 5b 4b 01 00 mov.b 1(r11), r11 ; eac8: 5b fa 01 00 and.b 1(r10), r11 ; eacc: c9 4b 01 00 mov.b r11, 1(r9) ; ead0: 0d 49 mov r9, r13 ; ead2: bb 3c jmp $+376 ;abs 0xec4a ead4: 1f 43 mov #1, r15 ;r3 As==01 ead6: eb 3f jmp $-40 ;abs 0xeaae ead8: 0f 43 clr r15 ; eada: 6e 93 cmp.b #2, r14 ;r3 As==10 eadc: ae 24 jz $+350 ;abs 0xec3a eade: 0f 93 cmp #0, r15 ;r3 As==00 eae0: 02 24 jz $+6 ;abs 0xeae6 eae2: 0d 4a mov r10, r13 ; eae4: b2 3c jmp $+358 ;abs 0xec4a eae6: 15 4b 02 00 mov 2(r11), r5 ; eaea: 16 4a 02 00 mov 2(r10), r6 ; eaee: 1c 4b 04 00 mov 4(r11), r12 ; eaf2: 1d 4b 06 00 mov 6(r11), r13 ; eaf6: 17 4a 04 00 mov 4(r10), r7 ; eafa: 18 4a 06 00 mov 6(r10), r8 ; eafe: 0f 45 mov r5, r15 ; eb00: 0f 86 sub r6, r15 ; eb02: 98 30 jn $+306 ;abs 0xec34 eb04: 3f 90 20 00 cmp #32, r15 ;#0x0020 eb08: 8c 34 jge $+282 ;abs 0xec22 eb0a: 06 95 cmp r5, r6 ; eb0c: 10 34 jge $+34 ;abs 0xeb2e eb0e: 0f 45 mov r5, r15 ; eb10: 0f 86 sub r6, r15 ; eb12: 06 4f mov r15, r6 ; eb14: 36 53 add #-1, r6 ;r3 As==11 eb16: 0e 47 mov r7, r14 ; eb18: 0f 48 mov r8, r15 ; eb1a: 1e f3 and #1, r14 ;r3 As==01 eb1c: 0f f3 and #0, r15 ;r3 As==00 eb1e: 12 c3 clrc eb20: 08 10 rrc r8 ; eb22: 07 10 rrc r7 ; eb24: 07 de bis r14, r7 ; eb26: 08 df bis r15, r8 ; eb28: 06 93 cmp #0, r6 ;r3 As==00 eb2a: f4 23 jnz $-22 ;abs 0xeb14 eb2c: 06 45 mov r5, r6 ; eb2e: 05 96 cmp r6, r5 ; eb30: 0c 34 jge $+26 ;abs 0xeb4a eb32: 15 53 inc r5 ; eb34: 0e 4c mov r12, r14 ; eb36: 0f 4d mov r13, r15 ; eb38: 1e f3 and #1, r14 ;r3 As==01 eb3a: 0f f3 and #0, r15 ;r3 As==00 eb3c: 12 c3 clrc eb3e: 0d 10 rrc r13 ; eb40: 0c 10 rrc r12 ; eb42: 0c de bis r14, r12 ; eb44: 0d df bis r15, r13 ; eb46: 05 96 cmp r6, r5 ; eb48: f4 3b jl $-22 ;abs 0xeb32 eb4a: 5f 4b 01 00 mov.b 1(r11), r15 ; eb4e: 5f 9a 01 00 cmp.b 1(r10), r15 ; eb52: 59 24 jz $+180 ;abs 0xec06 eb54: 4f 93 cmp.b #0, r15 ;r3 As==00 eb56: 52 24 jz $+166 ;abs 0xebfc eb58: 0e 47 mov r7, r14 ; eb5a: 0f 48 mov r8, r15 ; eb5c: 0e 8c sub r12, r14 ; eb5e: 0f 7d subc r13, r15 ; eb60: 0f 93 cmp #0, r15 ;r3 As==00 eb62: 43 38 jl $+136 ;abs 0xebea eb64: c9 43 01 00 mov.b #0, 1(r9) ;r3 As==00 eb68: 89 45 02 00 mov r5, 2(r9) ; eb6c: 89 4e 04 00 mov r14, 4(r9) ; eb70: 89 4f 06 00 mov r15, 6(r9) ; eb74: 1b 49 04 00 mov 4(r9), r11 ; eb78: 1c 49 06 00 mov 6(r9), r12 ; eb7c: 0e 4b mov r11, r14 ; eb7e: 0f 4c mov r12, r15 ; eb80: 3e 53 add #-1, r14 ;r3 As==11 eb82: 3f 63 addc #-1, r15 ;r3 As==11 eb84: 3e 83 sub #-1, r14 ;r3 As==11 eb86: 3f 70 ff 3f subc #16383, r15 ;#0x3fff eb8a: 19 2c jc $+52 ;abs 0xebbe eb8c: 0e 4b mov r11, r14 ; eb8e: 0f 4c mov r12, r15 ; eb90: 0e 5e rla r14 ; eb92: 0f 6f rlc r15 ; eb94: 89 4e 04 00 mov r14, 4(r9) ; eb98: 89 4f 06 00 mov r15, 6(r9) ; eb9c: b9 53 02 00 add #-1, 2(r9) ;r3 As==11 eba0: 0c 4e mov r14, r12 ; eba2: 0d 4f mov r15, r13 ; eba4: 3c 53 add #-1, r12 ;r3 As==11 eba6: 3d 63 addc #-1, r13 ;r3 As==11 eba8: 3c 83 sub #-1, r12 ;r3 As==11 ebaa: 3d 70 ff 3f subc #16383, r13 ;#0x3fff ebae: 05 2c jc $+12 ;abs 0xebba ebb0: 1b 49 04 00 mov 4(r9), r11 ; ebb4: 1c 49 06 00 mov 6(r9), r12 ; ebb8: e9 3f jmp $-44 ;abs 0xeb8c ebba: 0b 4e mov r14, r11 ; ebbc: 0c 4f mov r15, r12 ; ebbe: f9 40 03 00 mov.b #3, 0(r9) ;#0x0003 ebc2: 00 00 ebc4: 3c 90 00 80 cmp #-32768,r12 ;#0x8000 ebc8: 83 2b jnc $-248 ;abs 0xead0 ebca: 0e 4b mov r11, r14 ; ebcc: 0f 4c mov r12, r15 ; ebce: 12 c3 clrc ebd0: 0f 10 rrc r15 ; ebd2: 0e 10 rrc r14 ; ebd4: 1b f3 and #1, r11 ;r3 As==01 ebd6: 0c f3 and #0, r12 ;r3 As==00 ebd8: 0b de bis r14, r11 ; ebda: 0c df bis r15, r12 ; ebdc: 89 4b 04 00 mov r11, 4(r9) ; ebe0: 89 4c 06 00 mov r12, 6(r9) ; ebe4: 99 53 02 00 inc 2(r9) ; ebe8: 73 3f jmp $-280 ;abs 0xead0 ebea: d9 43 01 00 mov.b #1, 1(r9) ;r3 As==01 ebee: 89 45 02 00 mov r5, 2(r9) ; ebf2: 3e e3 inv r14 ; ebf4: 3f e3 inv r15 ; ebf6: 1e 53 inc r14 ; ebf8: 0f 63 adc r15 ; ebfa: b8 3f jmp $-142 ;abs 0xeb6c ebfc: 0e 4c mov r12, r14 ; ebfe: 0f 4d mov r13, r15 ; ec00: 0e 87 sub r7, r14 ; ec02: 0f 78 subc r8, r15 ; ec04: ad 3f jmp $-164 ;abs 0xeb60 ec06: d9 4b 01 00 mov.b 1(r11), 1(r9) ; ec0a: 01 00 ec0c: 89 45 02 00 mov r5, 2(r9) ; ec10: 0e 4c mov r12, r14 ; ec12: 0f 4d mov r13, r15 ; ec14: 0e 57 add r7, r14 ; ec16: 0f 68 addc r8, r15 ; ec18: 89 4e 04 00 mov r14, 4(r9) ; ec1c: 89 4f 06 00 mov r15, 6(r9) ; ec20: cc 3f jmp $-102 ;abs 0xebba ec22: 06 95 cmp r5, r6 ; ec24: 03 34 jge $+8 ;abs 0xec2c ec26: 07 43 clr r7 ; ec28: 08 43 clr r8 ; ec2a: 8f 3f jmp $-224 ;abs 0xeb4a ec2c: 05 46 mov r6, r5 ; ec2e: 0c 43 clr r12 ; ec30: 0d 43 clr r13 ; ec32: 8b 3f jmp $-232 ;abs 0xeb4a ec34: 3f e3 inv r15 ; ec36: 1f 53 inc r15 ; ec38: 65 3f jmp $-308 ;abs 0xeb04 ec3a: 1f 43 mov #1, r15 ;r3 As==01 ec3c: 50 3f jmp $-350 ;abs 0xeade ec3e: 1d 43 mov #1, r13 ;r3 As==01 ec40: 31 3f jmp $-412 ;abs 0xeaa4 ec42: 1d 43 mov #1, r13 ;r3 As==01 ec44: 2a 3f jmp $-426 ;abs 0xea9a ec46: 1c 43 mov #1, r12 ;r3 As==01 ec48: 13 3f jmp $-472 ;abs 0xea70 ec4a: 0f 4d mov r13, r15 ; ec4c: 35 41 pop r5 ; ec4e: 36 41 pop r6 ; ec50: 37 41 pop r7 ; ec52: 38 41 pop r8 ; ec54: 39 41 pop r9 ; ec56: 3a 41 pop r10 ; ec58: 3b 41 pop r11 ; ec5a: 30 41 ret 0000ec5c <__addsf3>: ec5c: 0b 12 push r11 ; ec5e: 31 80 20 00 sub #32, r1 ;#0x0020 ec62: 81 4e 18 00 mov r14, 24(r1) ; ec66: 81 4f 1a 00 mov r15, 26(r1) ; ec6a: 81 4c 1c 00 mov r12, 28(r1) ; ec6e: 81 4d 1e 00 mov r13, 30(r1) ; ec72: 0e 41 mov r1, r14 ; ec74: 0f 41 mov r1, r15 ; ec76: 3f 50 18 00 add #24, r15 ;#0x0018 ec7a: b0 12 aa f2 call #-3414 ;#0xf2aa ec7e: 0b 41 mov r1, r11 ; ec80: 3b 52 add #8, r11 ;r2 As==11 ec82: 0e 4b mov r11, r14 ; ec84: 0f 41 mov r1, r15 ; ec86: 3f 50 1c 00 add #28, r15 ;#0x001c ec8a: b0 12 aa f2 call #-3414 ;#0xf2aa ec8e: 0d 41 mov r1, r13 ; ec90: 3d 50 10 00 add #16, r13 ;#0x0010 ec94: 0e 4b mov r11, r14 ; ec96: 0f 41 mov r1, r15 ; ec98: b0 12 3a ea call #-5574 ;#0xea3a ec9c: b0 12 fa f0 call #-3846 ;#0xf0fa eca0: 31 50 20 00 add #32, r1 ;#0x0020 eca4: 3b 41 pop r11 ; eca6: 30 41 ret 0000eca8 <__subsf3>: eca8: 0b 12 push r11 ; ecaa: 31 80 20 00 sub #32, r1 ;#0x0020 ecae: 81 4e 18 00 mov r14, 24(r1) ; ecb2: 81 4f 1a 00 mov r15, 26(r1) ; ecb6: 81 4c 1c 00 mov r12, 28(r1) ; ecba: 81 4d 1e 00 mov r13, 30(r1) ; ecbe: 0e 41 mov r1, r14 ; ecc0: 0f 41 mov r1, r15 ; ecc2: 3f 50 18 00 add #24, r15 ;#0x0018 ecc6: b0 12 aa f2 call #-3414 ;#0xf2aa ecca: 0b 41 mov r1, r11 ; eccc: 3b 52 add #8, r11 ;r2 As==11 ecce: 0e 4b mov r11, r14 ; ecd0: 0f 41 mov r1, r15 ; ecd2: 3f 50 1c 00 add #28, r15 ;#0x001c ecd6: b0 12 aa f2 call #-3414 ;#0xf2aa ecda: d1 e3 09 00 xor.b #1, 9(r1) ;r3 As==01 ecde: 0d 41 mov r1, r13 ; ece0: 3d 50 10 00 add #16, r13 ;#0x0010 ece4: 0e 4b mov r11, r14 ; ece6: 0f 41 mov r1, r15 ; ece8: b0 12 3a ea call #-5574 ;#0xea3a ecec: b0 12 fa f0 call #-3846 ;#0xf0fa ecf0: 31 50 20 00 add #32, r1 ;#0x0020 ecf4: 3b 41 pop r11 ; ecf6: 30 41 ret 0000ecf8 <__mulsf3>: ecf8: 0b 12 push r11 ; ecfa: 31 80 20 00 sub #32, r1 ;#0x0020 ecfe: 81 4e 18 00 mov r14, 24(r1) ; ed02: 81 4f 1a 00 mov r15, 26(r1) ; ed06: 81 4c 1c 00 mov r12, 28(r1) ; ed0a: 81 4d 1e 00 mov r13, 30(r1) ; ed0e: 0e 41 mov r1, r14 ; ed10: 0f 41 mov r1, r15 ; ed12: 3f 50 18 00 add #24, r15 ;#0x0018 ed16: b0 12 aa f2 call #-3414 ;#0xf2aa ed1a: 0b 41 mov r1, r11 ; ed1c: 3b 52 add #8, r11 ;r2 As==11 ed1e: 0e 4b mov r11, r14 ; ed20: 0f 41 mov r1, r15 ; ed22: 3f 50 1c 00 add #28, r15 ;#0x001c ed26: b0 12 aa f2 call #-3414 ;#0xf2aa ed2a: 0d 41 mov r1, r13 ; ed2c: 3d 50 10 00 add #16, r13 ;#0x0010 ed30: 0e 4b mov r11, r14 ; ed32: 0f 41 mov r1, r15 ; ed34: b0 12 44 ed call #-4796 ;#0xed44 ed38: b0 12 fa f0 call #-3846 ;#0xf0fa ed3c: 31 50 20 00 add #32, r1 ;#0x0020 ed40: 3b 41 pop r11 ; ed42: 30 41 ret 0000ed44 <_fpmul_parts>: ed44: 0b 12 push r11 ; ed46: 0a 12 push r10 ; ed48: 09 12 push r9 ; ed4a: 08 12 push r8 ; ed4c: 07 12 push r7 ; ed4e: 06 12 push r6 ; ed50: 05 12 push r5 ; ed52: 04 12 push r4 ; ed54: 31 80 0a 00 sub #10, r1 ;#0x000a ed58: 09 4f mov r15, r9 ; ed5a: 06 4e mov r14, r6 ; ed5c: 81 4d 00 00 mov r13, 0(r1) ; ed60: 81 43 02 00 mov #0, 2(r1) ;r3 As==00 ed64: 81 43 04 00 mov #0, 4(r1) ;r3 As==00 ed68: 04 43 clr r4 ; ed6a: 05 43 clr r5 ; ed6c: 0f 43 clr r15 ; ed6e: 6e 49 mov.b @r9, r14 ; ed70: 6e 93 cmp.b #2, r14 ;r3 As==10 ed72: 01 2c jc $+4 ;abs 0xed76 ed74: 1f 43 mov #1, r15 ;r3 As==01 ed76: 0f 93 cmp #0, r15 ;r3 As==00 ed78: 11 20 jnz $+36 ;abs 0xed9c ed7a: 0c 43 clr r12 ; ed7c: 6f 46 mov.b @r6, r15 ; ed7e: 6f 93 cmp.b #2, r15 ;r3 As==10 ed80: 01 2c jc $+4 ;abs 0xed84 ed82: 1c 43 mov #1, r12 ;r3 As==01 ed84: 0c 93 cmp #0, r12 ;r3 As==00 ed86: 23 20 jnz $+72 ;abs 0xedce ed88: 0c 43 clr r12 ; ed8a: 6e 92 cmp.b #4, r14 ;r2 As==10 ed8c: dc 24 jz $+442 ;abs 0xef46 ed8e: 0c 93 cmp #0, r12 ;r3 As==00 ed90: 14 24 jz $+42 ;abs 0xedba ed92: 0e 43 clr r14 ; ed94: 6f 93 cmp.b #2, r15 ;r3 As==10 ed96: 0f 24 jz $+32 ;abs 0xedb6 ed98: 0e 93 cmp #0, r14 ;r3 As==00 ed9a: 0a 20 jnz $+22 ;abs 0xedb0 ed9c: 4f 43 clr.b r15 ; ed9e: d9 96 01 00 cmp.b 1(r6), 1(r9) ; eda2: 01 00 eda4: 01 24 jz $+4 ;abs 0xeda8 eda6: 5f 43 mov.b #1, r15 ;r3 As==01 eda8: c9 4f 01 00 mov.b r15, 1(r9) ; edac: 0d 49 mov r9, r13 ; edae: cd 3c jmp $+412 ;abs 0xef4a edb0: 3d 40 f2 f0 mov #-3854, r13 ;#0xf0f2 edb4: ca 3c jmp $+406 ;abs 0xef4a edb6: 1e 43 mov #1, r14 ;r3 As==01 edb8: ef 3f jmp $-32 ;abs 0xed98 edba: 0d 43 clr r13 ; edbc: 6f 92 cmp.b #4, r15 ;r2 As==10 edbe: c1 24 jz $+388 ;abs 0xef42 edc0: 0d 93 cmp #0, r13 ;r3 As==00 edc2: 11 24 jz $+36 ;abs 0xede6 edc4: 0f 43 clr r15 ; edc6: 6e 93 cmp.b #2, r14 ;r3 As==10 edc8: 0c 24 jz $+26 ;abs 0xede2 edca: 0f 93 cmp #0, r15 ;r3 As==00 edcc: f1 23 jnz $-28 ;abs 0xedb0 edce: 4f 43 clr.b r15 ; edd0: d9 96 01 00 cmp.b 1(r6), 1(r9) ; edd4: 01 00 edd6: 01 24 jz $+4 ;abs 0xedda edd8: 5f 43 mov.b #1, r15 ;r3 As==01 edda: c6 4f 01 00 mov.b r15, 1(r6) ; edde: 0d 46 mov r6, r13 ; ede0: b4 3c jmp $+362 ;abs 0xef4a ede2: 1f 43 mov #1, r15 ;r3 As==01 ede4: f2 3f jmp $-26 ;abs 0xedca ede6: 0d 43 clr r13 ; ede8: 6e 93 cmp.b #2, r14 ;r3 As==10 edea: a9 24 jz $+340 ;abs 0xef3e edec: 0d 93 cmp #0, r13 ;r3 As==00 edee: d6 23 jnz $-82 ;abs 0xed9c edf0: 0e 43 clr r14 ; edf2: 6f 93 cmp.b #2, r15 ;r3 As==10 edf4: a2 24 jz $+326 ;abs 0xef3a edf6: 0e 93 cmp #0, r14 ;r3 As==00 edf8: ea 23 jnz $-42 ;abs 0xedce edfa: 1a 49 04 00 mov 4(r9), r10 ; edfe: 1b 49 06 00 mov 6(r9), r11 ; ee02: 1c 46 04 00 mov 4(r6), r12 ; ee06: 1d 46 06 00 mov 6(r6), r13 ; ee0a: 07 43 clr r7 ; ee0c: 08 43 clr r8 ; ee0e: b1 40 1f 00 mov #31, 6(r1) ;#0x001f ee12: 06 00 ee14: 0e 4a mov r10, r14 ; ee16: 0f 4b mov r11, r15 ; ee18: 1e f3 and #1, r14 ;r3 As==01 ee1a: 0f f3 and #0, r15 ;r3 As==00 ee1c: 0e 93 cmp #0, r14 ;r3 As==00 ee1e: 19 24 jz $+52 ;abs 0xee52 ee20: 81 43 08 00 mov #0, 8(r1) ;r3 As==00 ee24: 81 5c 02 00 add r12, 2(r1) ; ee28: 81 6d 04 00 addc r13, 4(r1) ; ee2c: 1e 41 02 00 mov 2(r1), r14 ; ee30: 1f 41 04 00 mov 4(r1), r15 ; ee34: 0e 8c sub r12, r14 ; ee36: 0f 7d subc r13, r15 ; ee38: 02 2c jc $+6 ;abs 0xee3e ee3a: 91 43 08 00 mov #1, 8(r1) ;r3 As==01 ee3e: 1e 41 08 00 mov 8(r1), r14 ; ee42: 0f 4e mov r14, r15 ; ee44: 0f 5f rla r15 ; ee46: 0f 7f subc r15, r15 ; ee48: 3f e3 inv r15 ; ee4a: 0e 57 add r7, r14 ; ee4c: 0f 68 addc r8, r15 ; ee4e: 04 5e add r14, r4 ; ee50: 05 6f addc r15, r5 ; ee52: 07 57 rla r7 ; ee54: 08 68 rlc r8 ; ee56: 3d b0 00 80 bit #-32768,r13 ;#0x8000 ee5a: 01 24 jz $+4 ;abs 0xee5e ee5c: 17 d3 bis #1, r7 ;r3 As==01 ee5e: 0c 5c rla r12 ; ee60: 0d 6d rlc r13 ; ee62: 12 c3 clrc ee64: 0b 10 rrc r11 ; ee66: 0a 10 rrc r10 ; ee68: b1 53 06 00 add #-1, 6(r1) ;r3 As==11 ee6c: b1 b0 00 80 bit #-32768,6(r1) ;#0x8000 ee70: 06 00 ee72: d0 37 jge $-94 ;abs 0xee14 ee74: 1f 49 02 00 mov 2(r9), r15 ; ee78: 1f 56 02 00 add 2(r6), r15 ; ee7c: 2d 41 mov @r1, r13 ; ee7e: 8d 4f 02 00 mov r15, 2(r13) ; ee82: 4e 43 clr.b r14 ; ee84: d9 96 01 00 cmp.b 1(r6), 1(r9) ; ee88: 01 00 ee8a: 01 24 jz $+4 ;abs 0xee8e ee8c: 5e 43 mov.b #1, r14 ;r3 As==01 ee8e: 2d 41 mov @r1, r13 ; ee90: cd 4e 01 00 mov.b r14, 1(r13) ; ee94: 2f 53 incd r15 ; ee96: 8d 4f 02 00 mov r15, 2(r13) ; ee9a: 35 90 00 80 cmp #-32768,r5 ;#0x8000 ee9e: 17 28 jnc $+48 ;abs 0xeece eea0: 2e 41 mov @r1, r14 ; eea2: 9e 53 02 00 inc 2(r14) ; eea6: 0e 44 mov r4, r14 ; eea8: 0f 45 mov r5, r15 ; eeaa: 1e f3 and #1, r14 ;r3 As==01 eeac: 0f f3 and #0, r15 ;r3 As==00 eeae: 0e 93 cmp #0, r14 ;r3 As==00 eeb0: 08 24 jz $+18 ;abs 0xeec2 eeb2: 12 c3 clrc eeb4: 11 10 04 00 rrc 4(r1) ; eeb8: 11 10 02 00 rrc 2(r1) ; eebc: b1 d0 00 80 bis #-32768,4(r1) ;#0x8000 eec0: 04 00 eec2: 12 c3 clrc eec4: 05 10 rrc r5 ; eec6: 04 10 rrc r4 ; eec8: 35 90 00 80 cmp #-32768,r5 ;#0x8000 eecc: e9 2f jc $-44 ;abs 0xeea0 eece: 35 90 00 40 cmp #16384, r5 ;#0x4000 eed2: 13 2c jc $+40 ;abs 0xeefa eed4: 2f 41 mov @r1, r15 ; eed6: bf 53 02 00 add #-1, 2(r15) ;r3 As==11 eeda: 04 54 rla r4 ; eedc: 05 65 rlc r5 ; eede: b1 b0 00 80 bit #-32768,4(r1) ;#0x8000 eee2: 04 00 eee4: 01 24 jz $+4 ;abs 0xeee8 eee6: 14 d3 bis #1, r4 ;r3 As==01 eee8: 91 51 02 00 rla 2(r1) ; eeec: 02 00 eeee: 91 61 04 00 rlc 4(r1) ; eef2: 04 00 eef4: 35 90 00 40 cmp #16384, r5 ;#0x4000 eef8: ed 2b jnc $-36 ;abs 0xeed4 eefa: 0e 44 mov r4, r14 ; eefc: 0f 45 mov r5, r15 ; eefe: 3e f0 7f 00 and #127, r14 ;#0x007f ef02: 0f f3 and #0, r15 ;r3 As==00 ef04: 3e 90 40 00 cmp #64, r14 ;#0x0040 ef08: 02 20 jnz $+6 ;abs 0xef0e ef0a: 0f 93 cmp #0, r15 ;r3 As==00 ef0c: 0a 24 jz $+22 ;abs 0xef22 ef0e: 2d 41 mov @r1, r13 ; ef10: 8d 44 04 00 mov r4, 4(r13) ; ef14: 8d 45 06 00 mov r5, 6(r13) ; ef18: fd 40 03 00 mov.b #3, 0(r13) ;#0x0003 ef1c: 00 00 ef1e: 2d 41 mov @r1, r13 ; ef20: 14 3c jmp $+42 ;abs 0xef4a ef22: 44 93 cmp.b #0, r4 ;r3 As==00 ef24: 06 38 jl $+14 ;abs 0xef32 ef26: 81 93 02 00 cmp #0, 2(r1) ;r3 As==00 ef2a: 03 20 jnz $+8 ;abs 0xef32 ef2c: 81 93 04 00 cmp #0, 4(r1) ;r3 As==00 ef30: ee 27 jz $-34 ;abs 0xef0e ef32: 34 50 40 00 add #64, r4 ;#0x0040 ef36: 05 63 adc r5 ; ef38: ea 3f jmp $-42 ;abs 0xef0e ef3a: 1e 43 mov #1, r14 ;r3 As==01 ef3c: 5c 3f jmp $-326 ;abs 0xedf6 ef3e: 1d 43 mov #1, r13 ;r3 As==01 ef40: 55 3f jmp $-340 ;abs 0xedec ef42: 1d 43 mov #1, r13 ;r3 As==01 ef44: 3d 3f jmp $-388 ;abs 0xedc0 ef46: 1c 43 mov #1, r12 ;r3 As==01 ef48: 22 3f jmp $-442 ;abs 0xed8e ef4a: 0f 4d mov r13, r15 ; ef4c: 31 50 0a 00 add #10, r1 ;#0x000a ef50: 34 41 pop r4 ; ef52: 35 41 pop r5 ; ef54: 36 41 pop r6 ; ef56: 37 41 pop r7 ; ef58: 38 41 pop r8 ; ef5a: 39 41 pop r9 ; ef5c: 3a 41 pop r10 ; ef5e: 3b 41 pop r11 ; ef60: 30 41 ret 0000ef62 <__gesf2>: ef62: 0b 12 push r11 ; ef64: 31 80 18 00 sub #24, r1 ;#0x0018 ef68: 81 4e 10 00 mov r14, 16(r1) ; ef6c: 81 4f 12 00 mov r15, 18(r1) ; ef70: 81 4c 14 00 mov r12, 20(r1) ; ef74: 81 4d 16 00 mov r13, 22(r1) ; ef78: 0e 41 mov r1, r14 ; ef7a: 0f 41 mov r1, r15 ; ef7c: 3f 50 10 00 add #16, r15 ;#0x0010 ef80: b0 12 aa f2 call #-3414 ;#0xf2aa ef84: 0b 41 mov r1, r11 ; ef86: 3b 52 add #8, r11 ;r2 As==11 ef88: 0e 4b mov r11, r14 ; ef8a: 0f 41 mov r1, r15 ; ef8c: 3f 50 14 00 add #20, r15 ;#0x0014 ef90: b0 12 aa f2 call #-3414 ;#0xf2aa ef94: 0f 43 clr r15 ; ef96: e1 93 00 00 cmp.b #2, 0(r1) ;r3 As==10 ef9a: 01 2c jc $+4 ;abs 0xef9e ef9c: 1f 43 mov #1, r15 ;r3 As==01 ef9e: 0f 93 cmp #0, r15 ;r3 As==00 efa0: 07 20 jnz $+16 ;abs 0xefb0 efa2: 0f 43 clr r15 ; efa4: e1 93 08 00 cmp.b #2, 8(r1) ;r3 As==10 efa8: 01 2c jc $+4 ;abs 0xefac efaa: 1f 43 mov #1, r15 ;r3 As==01 efac: 0f 93 cmp #0, r15 ;r3 As==00 efae: 02 24 jz $+6 ;abs 0xefb4 efb0: 3f 43 mov #-1, r15 ;r3 As==11 efb2: 04 3c jmp $+10 ;abs 0xefbc efb4: 0e 4b mov r11, r14 ; efb6: 0f 41 mov r1, r15 ; efb8: b0 12 a0 f3 call #-3168 ;#0xf3a0 efbc: 31 50 18 00 add #24, r1 ;#0x0018 efc0: 3b 41 pop r11 ; efc2: 30 41 ret 0000efc4 <__floatsisf>: efc4: 0b 12 push r11 ; efc6: 31 82 sub #8, r1 ;r2 As==11 efc8: 0d 4e mov r14, r13 ; efca: 0e 4f mov r15, r14 ; efcc: f1 40 03 00 mov.b #3, 0(r1) ;#0x0003 efd0: 00 00 efd2: 0f 4e mov r14, r15 ; efd4: 0f 5f rla r15 ; efd6: 0f 43 clr r15 ; efd8: 0f 6f rlc r15 ; efda: c1 4f 01 00 mov.b r15, 1(r1) ; efde: 0d 93 cmp #0, r13 ;r3 As==00 efe0: 08 20 jnz $+18 ;abs 0xeff2 efe2: 0e 93 cmp #0, r14 ;r3 As==00 efe4: 06 20 jnz $+14 ;abs 0xeff2 efe6: e1 43 00 00 mov.b #2, 0(r1) ;r3 As==10 efea: 0f 41 mov r1, r15 ; efec: b0 12 fa f0 call #-3846 ;#0xf0fa eff0: 2f 3c jmp $+96 ;abs 0xf050 eff2: b1 40 1e 00 mov #30, 2(r1) ;#0x001e eff6: 02 00 eff8: 4f 93 cmp.b #0, r15 ;r3 As==00 effa: 09 24 jz $+20 ;abs 0xf00e effc: 0d 93 cmp #0, r13 ;r3 As==00 effe: 03 20 jnz $+8 ;abs 0xf006 f000: 3e 90 00 80 cmp #-32768,r14 ;#0x8000 f004: 22 24 jz $+70 ;abs 0xf04a f006: 3d e3 inv r13 ; f008: 3e e3 inv r14 ; f00a: 1d 53 inc r13 ; f00c: 0e 63 adc r14 ; f00e: 81 4d 04 00 mov r13, 4(r1) ; f012: 81 4e 06 00 mov r14, 6(r1) ; f016: 1c 41 04 00 mov 4(r1), r12 ; f01a: 1d 41 06 00 mov 6(r1), r13 ; f01e: 3d 90 00 40 cmp #16384, r13 ;#0x4000 f022: e3 2f jc $-56 ;abs 0xefea f024: 1b 41 02 00 mov 2(r1), r11 ; f028: 0e 4c mov r12, r14 ; f02a: 0f 4d mov r13, r15 ; f02c: 0e 5e rla r14 ; f02e: 0f 6f rlc r15 ; f030: 3b 53 add #-1, r11 ;r3 As==11 f032: 0c 4e mov r14, r12 ; f034: 0d 4f mov r15, r13 ; f036: 3f 90 00 40 cmp #16384, r15 ;#0x4000 f03a: f6 2b jnc $-18 ;abs 0xf028 f03c: 81 4b 02 00 mov r11, 2(r1) ; f040: 81 4e 04 00 mov r14, 4(r1) ; f044: 81 4f 06 00 mov r15, 6(r1) ; f048: d0 3f jmp $-94 ;abs 0xefea f04a: 0e 43 clr r14 ; f04c: 3f 40 00 cf mov #-12544,r15 ;#0xcf00 f050: 31 52 add #8, r1 ;r2 As==11 f052: 3b 41 pop r11 ; f054: 30 41 ret 0000f056 <__fixsfsi>: f056: 31 80 0c 00 sub #12, r1 ;#0x000c f05a: 81 4e 08 00 mov r14, 8(r1) ; f05e: 81 4f 0a 00 mov r15, 10(r1) ; f062: 0e 41 mov r1, r14 ; f064: 0f 41 mov r1, r15 ; f066: 3f 52 add #8, r15 ;r2 As==11 f068: b0 12 aa f2 call #-3414 ;#0xf2aa f06c: 0e 43 clr r14 ; f06e: 6f 41 mov.b @r1, r15 ; f070: 6f 93 cmp.b #2, r15 ;r3 As==10 f072: 3a 24 jz $+118 ;abs 0xf0e8 f074: 0e 93 cmp #0, r14 ;r3 As==00 f076: 33 20 jnz $+104 ;abs 0xf0de f078: 0e 43 clr r14 ; f07a: 6f 93 cmp.b #2, r15 ;r3 As==10 f07c: 01 2c jc $+4 ;abs 0xf080 f07e: 1e 43 mov #1, r14 ;r3 As==01 f080: 0e 93 cmp #0, r14 ;r3 As==00 f082: 2d 20 jnz $+92 ;abs 0xf0de f084: 0e 43 clr r14 ; f086: 6f 92 cmp.b #4, r15 ;r2 As==10 f088: 2d 24 jz $+92 ;abs 0xf0e4 f08a: 0e 93 cmp #0, r14 ;r3 As==00 f08c: 07 20 jnz $+16 ;abs 0xf09c f08e: 1d 41 02 00 mov 2(r1), r13 ; f092: 0d 93 cmp #0, r13 ;r3 As==00 f094: 24 38 jl $+74 ;abs 0xf0de f096: 3d 90 1f 00 cmp #31, r13 ;#0x001f f09a: 0b 38 jl $+24 ;abs 0xf0b2 f09c: c1 93 01 00 cmp.b #0, 1(r1) ;r3 As==00 f0a0: 04 24 jz $+10 ;abs 0xf0aa f0a2: 0e 43 clr r14 ; f0a4: 3f 40 00 80 mov #-32768,r15 ;#0x8000 f0a8: 21 3c jmp $+68 ;abs 0xf0ec f0aa: 3e 43 mov #-1, r14 ;r3 As==11 f0ac: 3f 40 ff 7f mov #32767, r15 ;#0x7fff f0b0: 1d 3c jmp $+60 ;abs 0xf0ec f0b2: 3c 40 1e 00 mov #30, r12 ;#0x001e f0b6: 1e 41 04 00 mov 4(r1), r14 ; f0ba: 1f 41 06 00 mov 6(r1), r15 ; f0be: 0c 8d sub r13, r12 ; f0c0: 0c 93 cmp #0, r12 ;r3 As==00 f0c2: 05 24 jz $+12 ;abs 0xf0ce f0c4: 12 c3 clrc f0c6: 0f 10 rrc r15 ; f0c8: 0e 10 rrc r14 ; f0ca: 1c 83 dec r12 ; f0cc: fb 23 jnz $-8 ;abs 0xf0c4 f0ce: c1 93 01 00 cmp.b #0, 1(r1) ;r3 As==00 f0d2: 0c 24 jz $+26 ;abs 0xf0ec f0d4: 3e e3 inv r14 ; f0d6: 3f e3 inv r15 ; f0d8: 1e 53 inc r14 ; f0da: 0f 63 adc r15 ; f0dc: 07 3c jmp $+16 ;abs 0xf0ec f0de: 0e 43 clr r14 ; f0e0: 0f 43 clr r15 ; f0e2: 04 3c jmp $+10 ;abs 0xf0ec f0e4: 1e 43 mov #1, r14 ;r3 As==01 f0e6: d1 3f jmp $-92 ;abs 0xf08a f0e8: 1e 43 mov #1, r14 ;r3 As==01 f0ea: c4 3f jmp $-118 ;abs 0xf074 f0ec: 31 50 0c 00 add #12, r1 ;#0x000c f0f0: 30 41 ret 0000f0f2 <__thenan_sf>: ... 0000f0fa <__pack_f>: f0fa: 0b 12 push r11 ; f0fc: 0a 12 push r10 ; f0fe: 09 12 push r9 ; f100: 08 12 push r8 ; f102: 07 12 push r7 ; f104: 21 82 sub #4, r1 ;r2 As==10 f106: 1c 4f 04 00 mov 4(r15), r12 ; f10a: 1d 4f 06 00 mov 6(r15), r13 ; f10e: 59 4f 01 00 mov.b 1(r15), r9 ; f112: 0a 43 clr r10 ; f114: 0b 43 clr r11 ; f116: 6e 4f mov.b @r15, r14 ; f118: 6e 93 cmp.b #2, r14 ;r3 As==10 f11a: 01 2c jc $+4 ;abs 0xf11e f11c: 1b 43 mov #1, r11 ;r3 As==01 f11e: 0b 93 cmp #0, r11 ;r3 As==00 f120: 05 24 jz $+12 ;abs 0xf12c f122: 3a 40 ff 00 mov #255, r10 ;#0x00ff f126: 3d d0 10 00 bis #16, r13 ;#0x0010 f12a: 8e 3c jmp $+286 ;abs 0xf248 f12c: 0b 43 clr r11 ; f12e: 6e 92 cmp.b #4, r14 ;r2 As==10 f130: 89 24 jz $+276 ;abs 0xf244 f132: 0b 93 cmp #0, r11 ;r3 As==00 f134: 62 20 jnz $+198 ;abs 0xf1fa f136: 0b 43 clr r11 ; f138: 6e 93 cmp.b #2, r14 ;r3 As==10 f13a: 82 24 jz $+262 ;abs 0xf240 f13c: 0b 93 cmp #0, r11 ;r3 As==00 f13e: 5f 20 jnz $+192 ;abs 0xf1fe f140: 0c 93 cmp #0, r12 ;r3 As==00 f142: 02 20 jnz $+6 ;abs 0xf148 f144: 0d 93 cmp #0, r13 ;r3 As==00 f146: 80 24 jz $+258 ;abs 0xf248 f148: 1f 4f 02 00 mov 2(r15), r15 ; f14c: 3f 90 82 ff cmp #-126, r15 ;#0xff82 f150: 51 34 jge $+164 ;abs 0xf1f4 f152: 38 40 82 ff mov #-126, r8 ;#0xff82 f156: 08 8f sub r15, r8 ; f158: 38 90 1a 00 cmp #26, r8 ;#0x001a f15c: 29 38 jl $+84 ;abs 0xf1b0 f15e: 0c 43 clr r12 ; f160: 0d 43 clr r13 ; f162: 0e 4c mov r12, r14 ; f164: 0f 4d mov r13, r15 ; f166: 3e f0 7f 00 and #127, r14 ;#0x007f f16a: 0f f3 and #0, r15 ;r3 As==00 f16c: 3e 90 40 00 cmp #64, r14 ;#0x0040 f170: 02 20 jnz $+6 ;abs 0xf176 f172: 0f 93 cmp #0, r15 ;r3 As==00 f174: 17 24 jz $+48 ;abs 0xf1a4 f176: 3c 50 3f 00 add #63, r12 ;#0x003f f17a: 0d 63 adc r13 ; f17c: 3d 90 00 40 cmp #16384, r13 ;#0x4000 f180: 01 28 jnc $+4 ;abs 0xf184 f182: 1a 43 mov #1, r10 ;r3 As==01 f184: 12 c3 clrc f186: 0d 10 rrc r13 ; f188: 0c 10 rrc r12 ; f18a: 0d 11 rra r13 ; f18c: 0c 10 rrc r12 ; f18e: 0d 11 rra r13 ; f190: 0c 10 rrc r12 ; f192: 0d 11 rra r13 ; f194: 0c 10 rrc r12 ; f196: 0d 11 rra r13 ; f198: 0c 10 rrc r12 ; f19a: 0d 11 rra r13 ; f19c: 0c 10 rrc r12 ; f19e: 0d 11 rra r13 ; f1a0: 0c 10 rrc r12 ; f1a2: 52 3c jmp $+166 ;abs 0xf248 f1a4: 4c 93 cmp.b #0, r12 ;r3 As==00 f1a6: ea 37 jge $-42 ;abs 0xf17c f1a8: 3c 50 40 00 add #64, r12 ;#0x0040 f1ac: 0d 63 adc r13 ; f1ae: e6 3f jmp $-50 ;abs 0xf17c f1b0: 07 43 clr r7 ; f1b2: 1e 43 mov #1, r14 ;r3 As==01 f1b4: 0f 43 clr r15 ; f1b6: 0b 48 mov r8, r11 ; f1b8: 0b 93 cmp #0, r11 ;r3 As==00 f1ba: 04 24 jz $+10 ;abs 0xf1c4 f1bc: 0e 5e rla r14 ; f1be: 0f 6f rlc r15 ; f1c0: 1b 83 dec r11 ; f1c2: fc 23 jnz $-6 ;abs 0xf1bc f1c4: 3e 53 add #-1, r14 ;r3 As==11 f1c6: 3f 63 addc #-1, r15 ;r3 As==11 f1c8: 0e fc and r12, r14 ; f1ca: 0f fd and r13, r15 ; f1cc: 0f de bis r14, r15 ; f1ce: 0f 93 cmp #0, r15 ;r3 As==00 f1d0: 01 24 jz $+4 ;abs 0xf1d4 f1d2: 17 43 mov #1, r7 ;r3 As==01 f1d4: 0f 48 mov r8, r15 ; f1d6: 0f 93 cmp #0, r15 ;r3 As==00 f1d8: 05 24 jz $+12 ;abs 0xf1e4 f1da: 12 c3 clrc f1dc: 0d 10 rrc r13 ; f1de: 0c 10 rrc r12 ; f1e0: 1f 83 dec r15 ; f1e2: fb 23 jnz $-8 ;abs 0xf1da f1e4: 0e 47 mov r7, r14 ; f1e6: 0f 4e mov r14, r15 ; f1e8: 0f 5f rla r15 ; f1ea: 0f 7f subc r15, r15 ; f1ec: 3f e3 inv r15 ; f1ee: 0c de bis r14, r12 ; f1f0: 0d df bis r15, r13 ; f1f2: b7 3f jmp $-144 ;abs 0xf162 f1f4: 3f 90 80 00 cmp #128, r15 ;#0x0080 f1f8: 05 38 jl $+12 ;abs 0xf204 f1fa: 3a 40 ff 00 mov #255, r10 ;#0x00ff f1fe: 0c 43 clr r12 ; f200: 0d 43 clr r13 ; f202: 22 3c jmp $+70 ;abs 0xf248 f204: 0a 4f mov r15, r10 ; f206: 3a 50 7f 00 add #127, r10 ;#0x007f f20a: 0e 4c mov r12, r14 ; f20c: 0f 4d mov r13, r15 ; f20e: 3e f0 7f 00 and #127, r14 ;#0x007f f212: 0f f3 and #0, r15 ;r3 As==00 f214: 3e 90 40 00 cmp #64, r14 ;#0x0040 f218: 02 20 jnz $+6 ;abs 0xf21e f21a: 0f 93 cmp #0, r15 ;r3 As==00 f21c: 0b 24 jz $+24 ;abs 0xf234 f21e: 3c 50 3f 00 add #63, r12 ;#0x003f f222: 0d 63 adc r13 ; f224: 3d 90 00 80 cmp #-32768,r13 ;#0x8000 f228: ad 2b jnc $-164 ;abs 0xf184 f22a: 12 c3 clrc f22c: 0d 10 rrc r13 ; f22e: 0c 10 rrc r12 ; f230: 1a 53 inc r10 ; f232: a8 3f jmp $-174 ;abs 0xf184 f234: 4c 93 cmp.b #0, r12 ;r3 As==00 f236: f6 37 jge $-18 ;abs 0xf224 f238: 3c 50 40 00 add #64, r12 ;#0x0040 f23c: 0d 63 adc r13 ; f23e: f2 3f jmp $-26 ;abs 0xf224 f240: 1b 43 mov #1, r11 ;r3 As==01 f242: 7c 3f jmp $-262 ;abs 0xf13c f244: 1b 43 mov #1, r11 ;r3 As==01 f246: 75 3f jmp $-276 ;abs 0xf132 f248: 81 4c 00 00 mov r12, 0(r1) ; f24c: 4e 4d mov.b r13, r14 ; f24e: 7e f0 7f 00 and.b #127, r14 ;#0x007f f252: 5f 41 02 00 mov.b 2(r1), r15 ; f256: 7f f0 80 ff and.b #-128, r15 ;#0xff80 f25a: 4f de bis.b r14, r15 ; f25c: c1 4f 02 00 mov.b r15, 2(r1) ; f260: 0f 4a mov r10, r15 ; f262: 7f f3 and.b #-1, r15 ;r3 As==11 f264: 0f 5f rla r15 ; f266: 0f 5f rla r15 ; f268: 0f 5f rla r15 ; f26a: 0f 5f rla r15 ; f26c: 0f 5f rla r15 ; f26e: 0f 5f rla r15 ; f270: 0f 5f rla r15 ; f272: 1e 41 02 00 mov 2(r1), r14 ; f276: 3e f0 7f 80 and #-32641,r14 ;#0x807f f27a: 0e df bis r15, r14 ; f27c: 81 4e 02 00 mov r14, 2(r1) ; f280: 4e 49 mov.b r9, r14 ; f282: 4e 11 rra.b r14 ; f284: 4e 43 clr.b r14 ; f286: 4e 10 rrc.b r14 ; f288: 5f 41 03 00 mov.b 3(r1), r15 ; f28c: 7f f0 7f 00 and.b #127, r15 ;#0x007f f290: 4f de bis.b r14, r15 ; f292: c1 4f 03 00 mov.b r15, 3(r1) ; f296: 2e 41 mov @r1, r14 ; f298: 1f 41 02 00 mov 2(r1), r15 ; f29c: 21 52 add #4, r1 ;r2 As==10 f29e: 37 41 pop r7 ; f2a0: 38 41 pop r8 ; f2a2: 39 41 pop r9 ; f2a4: 3a 41 pop r10 ; f2a6: 3b 41 pop r11 ; f2a8: 30 41 ret 0000f2aa <__unpack_f>: f2aa: 0b 12 push r11 ; f2ac: 0b 4e mov r14, r11 ; f2ae: 2c 4f mov @r15, r12 ; f2b0: 5d 4f 02 00 mov.b 2(r15), r13 ; f2b4: 3d f0 7f 00 and #127, r13 ;#0x007f f2b8: 1e 4f 02 00 mov 2(r15), r14 ; f2bc: 12 c3 clrc f2be: 0e 10 rrc r14 ; f2c0: 0e 11 rra r14 ; f2c2: 0e 11 rra r14 ; f2c4: 0e 11 rra r14 ; f2c6: 0e 11 rra r14 ; f2c8: 0e 11 rra r14 ; f2ca: 0e 11 rra r14 ; f2cc: 7e f3 and.b #-1, r14 ;r3 As==11 f2ce: ff b0 80 00 bit.b #128, 3(r15) ;#0x0080 f2d2: 03 00 f2d4: 4f 43 clr.b r15 ; f2d6: 4f 63 adc.b r15 ; f2d8: cb 4f 01 00 mov.b r15, 1(r11) ; f2dc: 0e 93 cmp #0, r14 ;r3 As==00 f2de: 2d 20 jnz $+92 ;abs 0xf33a f2e0: 0c 93 cmp #0, r12 ;r3 As==00 f2e2: 05 20 jnz $+12 ;abs 0xf2ee f2e4: 0d 93 cmp #0, r13 ;r3 As==00 f2e6: 03 20 jnz $+8 ;abs 0xf2ee f2e8: eb 43 00 00 mov.b #2, 0(r11) ;r3 As==10 f2ec: 57 3c jmp $+176 ;abs 0xf39c f2ee: bb 40 82 ff mov #-126, 2(r11) ;#0xff82 f2f2: 02 00 f2f4: 0c 5c rla r12 ; f2f6: 0d 6d rlc r13 ; f2f8: 0c 5c rla r12 ; f2fa: 0d 6d rlc r13 ; f2fc: 0c 5c rla r12 ; f2fe: 0d 6d rlc r13 ; f300: 0c 5c rla r12 ; f302: 0d 6d rlc r13 ; f304: 0c 5c rla r12 ; f306: 0d 6d rlc r13 ; f308: 0c 5c rla r12 ; f30a: 0d 6d rlc r13 ; f30c: 0c 5c rla r12 ; f30e: 0d 6d rlc r13 ; f310: fb 40 03 00 mov.b #3, 0(r11) ;#0x0003 f314: 00 00 f316: 3d 90 00 40 cmp #16384, r13 ;#0x4000 f31a: 0a 2c jc $+22 ;abs 0xf330 f31c: 3f 40 82 ff mov #-126, r15 ;#0xff82 f320: 0c 5c rla r12 ; f322: 0d 6d rlc r13 ; f324: 3f 53 add #-1, r15 ;r3 As==11 f326: 3d 90 00 40 cmp #16384, r13 ;#0x4000 f32a: fa 2b jnc $-10 ;abs 0xf320 f32c: 8b 4f 02 00 mov r15, 2(r11) ; f330: 8b 4c 04 00 mov r12, 4(r11) ; f334: 8b 4d 06 00 mov r13, 6(r11) ; f338: 31 3c jmp $+100 ;abs 0xf39c f33a: 3e 90 ff 00 cmp #255, r14 ;#0x00ff f33e: 1e 24 jz $+62 ;abs 0xf37c f340: 3e 50 81 ff add #-127, r14 ;#0xff81 f344: 8b 4e 02 00 mov r14, 2(r11) ; f348: fb 40 03 00 mov.b #3, 0(r11) ;#0x0003 f34c: 00 00 f34e: 0e 4c mov r12, r14 ; f350: 0f 4d mov r13, r15 ; f352: 0e 5e rla r14 ; f354: 0f 6f rlc r15 ; f356: 0e 5e rla r14 ; f358: 0f 6f rlc r15 ; f35a: 0e 5e rla r14 ; f35c: 0f 6f rlc r15 ; f35e: 0e 5e rla r14 ; f360: 0f 6f rlc r15 ; f362: 0e 5e rla r14 ; f364: 0f 6f rlc r15 ; f366: 0e 5e rla r14 ; f368: 0f 6f rlc r15 ; f36a: 0e 5e rla r14 ; f36c: 0f 6f rlc r15 ; f36e: 3f d0 00 40 bis #16384, r15 ;#0x4000 f372: 8b 4e 04 00 mov r14, 4(r11) ; f376: 8b 4f 06 00 mov r15, 6(r11) ; f37a: 10 3c jmp $+34 ;abs 0xf39c f37c: 0c 93 cmp #0, r12 ;r3 As==00 f37e: 05 20 jnz $+12 ;abs 0xf38a f380: 0d 93 cmp #0, r13 ;r3 As==00 f382: 03 20 jnz $+8 ;abs 0xf38a f384: eb 42 00 00 mov.b #4, 0(r11) ;r2 As==10 f388: 09 3c jmp $+20 ;abs 0xf39c f38a: 3d b0 10 00 bit #16, r13 ;#0x0010 f38e: 03 24 jz $+8 ;abs 0xf396 f390: db 43 00 00 mov.b #1, 0(r11) ;r3 As==01 f394: cd 3f jmp $-100 ;abs 0xf330 f396: cb 43 00 00 mov.b #0, 0(r11) ;r3 As==00 f39a: ca 3f jmp $-106 ;abs 0xf330 f39c: 3b 41 pop r11 ; f39e: 30 41 ret 0000f3a0 <__fpcmp_parts_f>: f3a0: 0b 12 push r11 ; f3a2: 0a 12 push r10 ; f3a4: 09 12 push r9 ; f3a6: 08 12 push r8 ; f3a8: 0d 43 clr r13 ; f3aa: 6c 4f mov.b @r15, r12 ; f3ac: 6c 93 cmp.b #2, r12 ;r3 As==10 f3ae: 01 2c jc $+4 ;abs 0xf3b2 f3b0: 1d 43 mov #1, r13 ;r3 As==01 f3b2: 0d 93 cmp #0, r13 ;r3 As==00 f3b4: 07 20 jnz $+16 ;abs 0xf3c4 f3b6: 0d 43 clr r13 ; f3b8: 6b 4e mov.b @r14, r11 ; f3ba: 6b 93 cmp.b #2, r11 ;r3 As==10 f3bc: 01 2c jc $+4 ;abs 0xf3c0 f3be: 1d 43 mov #1, r13 ;r3 As==01 f3c0: 0d 93 cmp #0, r13 ;r3 As==00 f3c2: 02 24 jz $+6 ;abs 0xf3c8 f3c4: 1d 43 mov #1, r13 ;r3 As==01 f3c6: 72 3c jmp $+230 ;abs 0xf4ac f3c8: 0d 43 clr r13 ; f3ca: 6c 92 cmp.b #4, r12 ;r2 As==10 f3cc: 6d 24 jz $+220 ;abs 0xf4a8 f3ce: 0d 93 cmp #0, r13 ;r3 As==00 f3d0: 0b 24 jz $+24 ;abs 0xf3e8 f3d2: 0d 43 clr r13 ; f3d4: 6b 92 cmp.b #4, r11 ;r2 As==10 f3d6: 66 24 jz $+206 ;abs 0xf4a4 f3d8: 0d 93 cmp #0, r13 ;r3 As==00 f3da: 06 24 jz $+14 ;abs 0xf3e8 f3dc: 5d 4e 01 00 mov.b 1(r14), r13 ; f3e0: 5f 4f 01 00 mov.b 1(r15), r15 ; f3e4: 0d 8f sub r15, r13 ; f3e6: 62 3c jmp $+198 ;abs 0xf4ac f3e8: 0d 43 clr r13 ; f3ea: 6c 92 cmp.b #4, r12 ;r2 As==10 f3ec: 59 24 jz $+180 ;abs 0xf4a0 f3ee: 0d 93 cmp #0, r13 ;r3 As==00 f3f0: 23 20 jnz $+72 ;abs 0xf438 f3f2: 0d 43 clr r13 ; f3f4: 6b 92 cmp.b #4, r11 ;r2 As==10 f3f6: 52 24 jz $+166 ;abs 0xf49c f3f8: 0d 93 cmp #0, r13 ;r3 As==00 f3fa: 11 20 jnz $+36 ;abs 0xf41e f3fc: 0d 43 clr r13 ; f3fe: 6c 93 cmp.b #2, r12 ;r3 As==10 f400: 4b 24 jz $+152 ;abs 0xf498 f402: 0d 93 cmp #0, r13 ;r3 As==00 f404: 07 24 jz $+16 ;abs 0xf414 f406: 0d 43 clr r13 ; f408: 6b 93 cmp.b #2, r11 ;r3 As==10 f40a: 44 24 jz $+138 ;abs 0xf494 f40c: 0d 93 cmp #0, r13 ;r3 As==00 f40e: 02 24 jz $+6 ;abs 0xf414 f410: 0d 43 clr r13 ; f412: 4c 3c jmp $+154 ;abs 0xf4ac f414: 0d 43 clr r13 ; f416: 6c 93 cmp.b #2, r12 ;r3 As==10 f418: 3b 24 jz $+120 ;abs 0xf490 f41a: 0d 93 cmp #0, r13 ;r3 As==00 f41c: 08 24 jz $+18 ;abs 0xf42e f41e: ce 93 01 00 cmp.b #0, 1(r14) ;r3 As==00 f422: 03 20 jnz $+8 ;abs 0xf42a f424: 3f 43 mov #-1, r15 ;r3 As==11 f426: 0d 4f mov r15, r13 ; f428: 41 3c jmp $+132 ;abs 0xf4ac f42a: 1f 43 mov #1, r15 ;r3 As==01 f42c: fc 3f jmp $-6 ;abs 0xf426 f42e: 0d 43 clr r13 ; f430: 6b 93 cmp.b #2, r11 ;r3 As==10 f432: 2c 24 jz $+90 ;abs 0xf48c f434: 0d 93 cmp #0, r13 ;r3 As==00 f436: 04 24 jz $+10 ;abs 0xf440 f438: cf 93 01 00 cmp.b #0, 1(r15) ;r3 As==00 f43c: f3 23 jnz $-24 ;abs 0xf424 f43e: f5 3f jmp $-20 ;abs 0xf42a f440: 5c 4f 01 00 mov.b 1(r15), r12 ; f444: 5c 9e 01 00 cmp.b 1(r14), r12 ; f448: 03 24 jz $+8 ;abs 0xf450 f44a: 4c 93 cmp.b #0, r12 ;r3 As==00 f44c: eb 23 jnz $-40 ;abs 0xf424 f44e: ed 3f jmp $-36 ;abs 0xf42a f450: 1b 4f 02 00 mov 2(r15), r11 ; f454: 1d 4e 02 00 mov 2(r14), r13 ; f458: 0d 9b cmp r11, r13 ; f45a: f7 3b jl $-16 ;abs 0xf44a f45c: 0b 9d cmp r13, r11 ; f45e: 13 38 jl $+40 ;abs 0xf486 f460: 1a 4f 04 00 mov 4(r15), r10 ; f464: 1b 4f 06 00 mov 6(r15), r11 ; f468: 18 4e 04 00 mov 4(r14), r8 ; f46c: 19 4e 06 00 mov 6(r14), r9 ; f470: 0e 48 mov r8, r14 ; f472: 0f 49 mov r9, r15 ; f474: 0e 8a sub r10, r14 ; f476: 0f 7b subc r11, r15 ; f478: e8 2b jnc $-46 ;abs 0xf44a f47a: 0e 4a mov r10, r14 ; f47c: 0f 4b mov r11, r15 ; f47e: 0d 43 clr r13 ; f480: 0e 88 sub r8, r14 ; f482: 0f 79 subc r9, r15 ; f484: 13 2c jc $+40 ;abs 0xf4ac f486: 4c 93 cmp.b #0, r12 ;r3 As==00 f488: cd 27 jz $-100 ;abs 0xf424 f48a: cf 3f jmp $-96 ;abs 0xf42a f48c: 1d 43 mov #1, r13 ;r3 As==01 f48e: d2 3f jmp $-90 ;abs 0xf434 f490: 1d 43 mov #1, r13 ;r3 As==01 f492: c3 3f jmp $-120 ;abs 0xf41a f494: 1d 43 mov #1, r13 ;r3 As==01 f496: ba 3f jmp $-138 ;abs 0xf40c f498: 1d 43 mov #1, r13 ;r3 As==01 f49a: b3 3f jmp $-152 ;abs 0xf402 f49c: 1d 43 mov #1, r13 ;r3 As==01 f49e: ac 3f jmp $-166 ;abs 0xf3f8 f4a0: 1d 43 mov #1, r13 ;r3 As==01 f4a2: a5 3f jmp $-180 ;abs 0xf3ee f4a4: 1d 43 mov #1, r13 ;r3 As==01 f4a6: 98 3f jmp $-206 ;abs 0xf3d8 f4a8: 1d 43 mov #1, r13 ;r3 As==01 f4aa: 91 3f jmp $-220 ;abs 0xf3ce f4ac: 0f 4d mov r13, r15 ; f4ae: 38 41 pop r8 ; f4b0: 39 41 pop r9 ; f4b2: 3a 41 pop r10 ; f4b4: 3b 41 pop r11 ; f4b6: 30 41 ret 0000f4b8 : f4b8: 0b 12 push r11 ; f4ba: 0a 12 push r10 ; f4bc: 0c 4f mov r15, r12 ; f4be: 0a 43 clr r10 ; f4c0: 0b 43 clr r11 ; f4c2: 6d 4f mov.b @r15, r13 ; f4c4: 7d 90 20 00 cmp.b #32, r13 ;#0x0020 f4c8: 49 24 jz $+148 ;abs 0xf55c f4ca: 7d 90 09 00 cmp.b #9, r13 ;#0x0009 f4ce: 46 24 jz $+142 ;abs 0xf55c f4d0: 7d 90 0a 00 cmp.b #10, r13 ;#0x000a f4d4: 43 24 jz $+136 ;abs 0xf55c f4d6: 7d 90 0c 00 cmp.b #12, r13 ;#0x000c f4da: 40 24 jz $+130 ;abs 0xf55c f4dc: 7d 90 0d 00 cmp.b #13, r13 ;#0x000d f4e0: 3d 24 jz $+124 ;abs 0xf55c f4e2: 7d 90 0b 00 cmp.b #11, r13 ;#0x000b f4e6: 3a 24 jz $+118 ;abs 0xf55c f4e8: 7d 90 2d 00 cmp.b #45, r13 ;#0x002d f4ec: 35 24 jz $+108 ;abs 0xf558 f4ee: 7d 90 2b 00 cmp.b #43, r13 ;#0x002b f4f2: 2f 24 jz $+96 ;abs 0xf552 f4f4: 4f 4d mov.b r13, r15 ; f4f6: 8f 11 sxt r15 ; f4f8: 0e 43 clr r14 ; f4fa: 3f 50 d0 ff add #-48, r15 ;#0xffd0 f4fe: 3f 90 0a 00 cmp #10, r15 ;#0x000a f502: 01 2c jc $+4 ;abs 0xf506 f504: 1e 43 mov #1, r14 ;r3 As==01 f506: 0e 93 cmp #0, r14 ;r3 As==00 f508: 02 20 jnz $+6 ;abs 0xf50e f50a: 0f 43 clr r15 ; f50c: 3c 3c jmp $+122 ;abs 0xf586 f50e: 4f 4d mov.b r13, r15 ; f510: 8f 11 sxt r15 ; f512: 0b 5f add r15, r11 ; f514: 3b 50 d0 ff add #-48, r11 ;#0xffd0 f518: 1c 53 inc r12 ; f51a: 6f 4c mov.b @r12, r15 ; f51c: 4d 4f mov.b r15, r13 ; f51e: 8f 11 sxt r15 ; f520: 0e 43 clr r14 ; f522: 3f 50 d0 ff add #-48, r15 ;#0xffd0 f526: 3f 90 0a 00 cmp #10, r15 ;#0x000a f52a: 01 2c jc $+4 ;abs 0xf52e f52c: 1e 43 mov #1, r14 ;r3 As==01 f52e: 0e 93 cmp #0, r14 ;r3 As==00 f530: 0a 24 jz $+22 ;abs 0xf546 f532: 0f 4b mov r11, r15 ; f534: 0f 5f rla r15 ; f536: 0f 5f rla r15 ; f538: 0e 4b mov r11, r14 ; f53a: 0e 5e rla r14 ; f53c: 0b 4f mov r15, r11 ; f53e: 0b 5e add r14, r11 ; f540: 0b 5e add r14, r11 ; f542: 0b 5e add r14, r11 ; f544: e4 3f jmp $-54 ;abs 0xf50e f546: 0a 93 cmp #0, r10 ;r3 As==00 f548: 02 24 jz $+6 ;abs 0xf54e f54a: 3b e3 inv r11 ; f54c: 1b 53 inc r11 ; f54e: 0f 4b mov r11, r15 ; f550: 1a 3c jmp $+54 ;abs 0xf586 f552: 1c 53 inc r12 ; f554: 6d 4c mov.b @r12, r13 ; f556: ce 3f jmp $-98 ;abs 0xf4f4 f558: 1a 43 mov #1, r10 ;r3 As==01 f55a: fb 3f jmp $-8 ;abs 0xf552 f55c: 1c 53 inc r12 ; f55e: 6d 4c mov.b @r12, r13 ; f560: 7d 90 20 00 cmp.b #32, r13 ;#0x0020 f564: fb 27 jz $-8 ;abs 0xf55c f566: 7d 90 09 00 cmp.b #9, r13 ;#0x0009 f56a: f8 27 jz $-14 ;abs 0xf55c f56c: 7d 90 0a 00 cmp.b #10, r13 ;#0x000a f570: f5 27 jz $-20 ;abs 0xf55c f572: 7d 90 0c 00 cmp.b #12, r13 ;#0x000c f576: f2 27 jz $-26 ;abs 0xf55c f578: 7d 90 0d 00 cmp.b #13, r13 ;#0x000d f57c: ef 27 jz $-32 ;abs 0xf55c f57e: 7d 90 0b 00 cmp.b #11, r13 ;#0x000b f582: ec 27 jz $-38 ;abs 0xf55c f584: b1 3f jmp $-156 ;abs 0xf4e8 f586: 3a 41 pop r10 ; f588: 3b 41 pop r11 ; f58a: 30 41 ret 0000f58c : f58c: 2f 43 mov #2, r15 ;r3 As==10 f58e: 0f 51 add r1, r15 ; f590: 2c 4f mov @r15, r12 ; f592: 1e 4f 02 00 mov 2(r15), r14 ; f596: 2f 52 add #4, r15 ;r2 As==10 f598: 0d 4f mov r15, r13 ; f59a: 0f 4c mov r12, r15 ; f59c: b0 12 b2 f5 call #-2638 ;#0xf5b2 f5a0: 30 41 ret 0000f5a2 : f5a2: 1e 42 04 02 mov &0x0204,r14 ;0x0204 f5a6: ce 4f 00 00 mov.b r15, 0(r14) ; f5aa: 92 53 04 02 inc &0x0204 ; f5ae: 7f f3 and.b #-1, r15 ;r3 As==11 f5b0: 30 41 ret 0000f5b2 : f5b2: 0b 12 push r11 ; f5b4: 0b 4f mov r15, r11 ; f5b6: 82 4f 04 02 mov r15, &0x0204 ; f5ba: 3f 40 a2 f5 mov #-2654, r15 ;#0xf5a2 f5be: b0 12 30 f6 call #-2512 ;#0xf630 f5c2: 0b 5f add r15, r11 ; f5c4: cb 43 00 00 mov.b #0, 0(r11) ;r3 As==00 f5c8: 3b 41 pop r11 ; f5ca: 30 41 ret 0000f5cc : f5cc: 0b 12 push r11 ; f5ce: 0a 12 push r10 ; f5d0: 0a 4f mov r15, r10 ; f5d2: 0b 4e mov r14, r11 ; f5d4: 0e 93 cmp #0, r14 ;r3 As==00 f5d6: 02 20 jnz $+6 ;abs 0xf5dc f5d8: 1f 43 mov #1, r15 ;r3 As==01 f5da: 0d 3c jmp $+28 ;abs 0xf5f6 f5dc: 6f 4a mov.b @r10, r15 ; f5de: 8f 11 sxt r15 ; f5e0: 1a 53 inc r10 ; f5e2: 92 12 06 02 call &0x0206 ; f5e6: 0f 93 cmp #0, r15 ;r3 As==00 f5e8: 05 38 jl $+12 ;abs 0xf5f4 f5ea: 92 53 02 02 inc &0x0202 ; f5ee: 3b 53 add #-1, r11 ;r3 As==11 f5f0: f5 23 jnz $-20 ;abs 0xf5dc f5f2: f2 3f jmp $-26 ;abs 0xf5d8 f5f4: 3f 43 mov #-1, r15 ;r3 As==11 f5f6: 3a 41 pop r10 ; f5f8: 3b 41 pop r11 ; f5fa: 30 41 ret 0000f5fc <__write_pad>: f5fc: 0b 12 push r11 ; f5fe: 0a 12 push r10 ; f600: 09 12 push r9 ; f602: 49 4f mov.b r15, r9 ; f604: 4b 4e mov.b r14, r11 ; f606: 5e 93 cmp.b #1, r14 ;r3 As==01 f608: 0c 38 jl $+26 ;abs 0xf622 f60a: 4a 4f mov.b r15, r10 ; f60c: 8a 11 sxt r10 ; f60e: 0f 4a mov r10, r15 ; f610: 92 12 06 02 call &0x0206 ; f614: 0f 93 cmp #0, r15 ;r3 As==00 f616: 07 38 jl $+16 ;abs 0xf626 f618: 92 53 02 02 inc &0x0202 ; f61c: 7b 53 add.b #-1, r11 ;r3 As==11 f61e: 5b 93 cmp.b #1, r11 ;r3 As==01 f620: f6 37 jge $-18 ;abs 0xf60e f622: 4f 49 mov.b r9, r15 ; f624: 01 3c jmp $+4 ;abs 0xf628 f626: 3f 43 mov #-1, r15 ;r3 As==11 f628: 39 41 pop r9 ; f62a: 3a 41 pop r10 ; f62c: 3b 41 pop r11 ; f62e: 30 41 ret 0000f630 : f630: 0b 12 push r11 ; f632: 0a 12 push r10 ; f634: 09 12 push r9 ; f636: 08 12 push r8 ; f638: 07 12 push r7 ; f63a: 06 12 push r6 ; f63c: 05 12 push r5 ; f63e: 04 12 push r4 ; f640: 31 80 3c 00 sub #60, r1 ;#0x003c f644: 05 4d mov r13, r5 ; f646: 81 43 30 00 mov #0, 48(r1) ;r3 As==00 f64a: 81 43 32 00 mov #0, 50(r1) ;r3 As==00 f64e: 82 43 02 02 mov #0, &0x0202 ;r3 As==00 f652: 82 4f 06 02 mov r15, &0x0206 ; f656: 06 4e mov r14, r6 ; f658: 0f 46 mov r6, r15 ; f65a: 67 46 mov.b @r6, r7 ; f65c: 47 93 cmp.b #0, r7 ;r3 As==00 f65e: 0a 24 jz $+22 ;abs 0xf674 f660: 77 90 25 00 cmp.b #37, r7 ;#0x0025 f664: 07 24 jz $+16 ;abs 0xf674 f666: 16 53 inc r6 ; f668: 67 46 mov.b @r6, r7 ; f66a: 47 93 cmp.b #0, r7 ;r3 As==00 f66c: 03 24 jz $+8 ;abs 0xf674 f66e: 77 90 25 00 cmp.b #37, r7 ;#0x0025 f672: f9 23 jnz $-12 ;abs 0xf666 f674: 0d 46 mov r6, r13 ; f676: 0d 8f sub r15, r13 ; f678: 02 24 jz $+6 ;abs 0xf67e f67a: 30 40 c8 fb br #0xfbc8 ; f67e: 47 93 cmp.b #0, r7 ;r3 As==00 f680: 02 20 jnz $+6 ;abs 0xf686 f682: 30 40 d6 fb br #0xfbd6 ; f686: 16 53 inc r6 ; f688: c1 43 2e 00 mov.b #0, 46(r1) ;r3 As==00 f68c: c1 43 35 00 mov.b #0, 53(r1) ;r3 As==00 f690: c1 43 2f 00 mov.b #0, 47(r1) ;r3 As==00 f694: 7b 43 mov.b #-1, r11 ;r3 As==11 f696: c1 43 28 00 mov.b #0, 40(r1) ;r3 As==00 f69a: 67 46 mov.b @r6, r7 ; f69c: 16 53 inc r6 ; f69e: 77 90 75 00 cmp.b #117, r7 ;#0x0075 f6a2: 02 20 jnz $+6 ;abs 0xf6a8 f6a4: 30 40 a2 fb br #0xfba2 ; f6a8: 4f 47 mov.b r7, r15 ; f6aa: 7f d0 20 00 bis.b #32, r15 ;#0x0020 f6ae: 7f 90 78 00 cmp.b #120, r15 ;#0x0078 f6b2: 02 20 jnz $+6 ;abs 0xf6b8 f6b4: 30 40 a2 fb br #0xfba2 ; f6b8: 77 90 20 00 cmp.b #32, r7 ;#0x0020 f6bc: 02 20 jnz $+6 ;abs 0xf6c2 f6be: 30 40 8e fb br #0xfb8e ; f6c2: 77 90 23 00 cmp.b #35, r7 ;#0x0023 f6c6: 02 20 jnz $+6 ;abs 0xf6cc f6c8: 30 40 86 fb br #0xfb86 ; f6cc: 77 90 2a 00 cmp.b #42, r7 ;#0x002a f6d0: 02 20 jnz $+6 ;abs 0xf6d6 f6d2: 30 40 6a fb br #0xfb6a ; f6d6: 77 90 2d 00 cmp.b #45, r7 ;#0x002d f6da: 02 20 jnz $+6 ;abs 0xf6e0 f6dc: 30 40 5a fb br #0xfb5a ; f6e0: 77 90 2b 00 cmp.b #43, r7 ;#0x002b f6e4: 02 20 jnz $+6 ;abs 0xf6ea f6e6: 30 40 50 fb br #0xfb50 ; f6ea: 77 90 2e 00 cmp.b #46, r7 ;#0x002e f6ee: 02 20 jnz $+6 ;abs 0xf6f4 f6f0: 30 40 ea fa br #0xfaea ; f6f4: 77 90 30 00 cmp.b #48, r7 ;#0x0030 f6f8: 02 20 jnz $+6 ;abs 0xf6fe f6fa: 30 40 d4 fa br #0xfad4 ; f6fe: 4f 47 mov.b r7, r15 ; f700: 7f 50 cf ff add.b #-49, r15 ;#0xffcf f704: 7f 90 09 00 cmp.b #9, r15 ;#0x0009 f708: 1a 2c jc $+54 ;abs 0xf73e f70a: 0d 43 clr r13 ; f70c: 0f 4d mov r13, r15 ; f70e: 0f 5f rla r15 ; f710: 0f 5f rla r15 ; f712: 0e 4d mov r13, r14 ; f714: 0e 5e rla r14 ; f716: 0d 4f mov r15, r13 ; f718: 0d 5e add r14, r13 ; f71a: 0d 5e add r14, r13 ; f71c: 0d 5e add r14, r13 ; f71e: 4f 47 mov.b r7, r15 ; f720: 8f 11 sxt r15 ; f722: 0d 5f add r15, r13 ; f724: 3d 50 d0 ff add #-48, r13 ;#0xffd0 f728: 67 46 mov.b @r6, r7 ; f72a: 16 53 inc r6 ; f72c: 4f 47 mov.b r7, r15 ; f72e: 7f 50 d0 ff add.b #-48, r15 ;#0xffd0 f732: 7f 90 0a 00 cmp.b #10, r15 ;#0x000a f736: ea 2b jnc $-42 ;abs 0xf70c f738: c1 4d 2f 00 mov.b r13, 47(r1) ; f73c: b0 3f jmp $-158 ;abs 0xf69e f73e: 77 90 68 00 cmp.b #104, r7 ;#0x0068 f742: c4 25 jz $+906 ;abs 0xfacc f744: 77 90 6c 00 cmp.b #108, r7 ;#0x006c f748: 03 20 jnz $+8 ;abs 0xf750 f74a: d1 d3 2e 00 bis.b #1, 46(r1) ;r3 As==01 f74e: a5 3f jmp $-180 ;abs 0xf69a f750: 77 90 63 00 cmp.b #99, r7 ;#0x0063 f754: b4 25 jz $+874 ;abs 0xfabe f756: 77 90 44 00 cmp.b #68, r7 ;#0x0044 f75a: ae 25 jz $+862 ;abs 0xfab8 f75c: 77 90 64 00 cmp.b #100, r7 ;#0x0064 f760: 7f 25 jz $+768 ;abs 0xfa60 f762: 77 90 69 00 cmp.b #105, r7 ;#0x0069 f766: 7c 25 jz $+762 ;abs 0xfa60 f768: 77 90 4f 00 cmp.b #79, r7 ;#0x004f f76c: 76 25 jz $+750 ;abs 0xfa5a f76e: 77 90 6f 00 cmp.b #111, r7 ;#0x006f f772: 70 25 jz $+738 ;abs 0xfa54 f774: 77 90 70 00 cmp.b #112, r7 ;#0x0070 f778: 5e 25 jz $+702 ;abs 0xfa36 f77a: 77 90 73 00 cmp.b #115, r7 ;#0x0073 f77e: 1f 25 jz $+576 ;abs 0xf9be f780: 77 90 55 00 cmp.b #85, r7 ;#0x0055 f784: 19 25 jz $+564 ;abs 0xf9b8 f786: 77 90 75 00 cmp.b #117, r7 ;#0x0075 f78a: 12 25 jz $+550 ;abs 0xf9b0 f78c: 77 90 58 00 cmp.b #88, r7 ;#0x0058 f790: 8f 24 jz $+288 ;abs 0xf8b0 f792: 77 90 78 00 cmp.b #120, r7 ;#0x0078 f796: 8c 24 jz $+282 ;abs 0xf8b0 f798: 47 93 cmp.b #0, r7 ;r3 As==00 f79a: 02 20 jnz $+6 ;abs 0xf7a0 f79c: 30 40 d6 fb br #0xfbd6 ; f7a0: 81 41 2c 00 mov r1, 44(r1) ; f7a4: c1 47 00 00 mov.b r7, 0(r1) ; f7a8: 59 43 mov.b #1, r9 ;r3 As==01 f7aa: c1 43 28 00 mov.b #0, 40(r1) ;r3 As==00 f7ae: 4b 49 mov.b r9, r11 ; f7b0: 5a 41 35 00 mov.b 53(r1), r10 ; f7b4: 4a 89 sub.b r9, r10 ; f7b6: 7a 30 jn $+246 ;abs 0xf8ac f7b8: 5e 41 28 00 mov.b 40(r1), r14 ; f7bc: 4e 93 cmp.b #0, r14 ;r3 As==00 f7be: 70 24 jz $+226 ;abs 0xf8a0 f7c0: 5b 53 inc.b r11 ; f7c2: 4b 5a add.b r10, r11 ; f7c4: 58 41 2e 00 mov.b 46(r1), r8 ; f7c8: 78 f0 30 00 and.b #48, r8 ;#0x0030 f7cc: 13 20 jnz $+40 ;abs 0xf7f4 f7ce: 5d 41 2f 00 mov.b 47(r1), r13 ; f7d2: 8d 11 sxt r13 ; f7d4: 4f 4b mov.b r11, r15 ; f7d6: 8f 11 sxt r15 ; f7d8: 0d 8f sub r15, r13 ; f7da: 1d 93 cmp #1, r13 ;r3 As==01 f7dc: 0b 38 jl $+24 ;abs 0xf7f4 f7de: 4e 4d mov.b r13, r14 ; f7e0: 7f 40 20 00 mov.b #32, r15 ;#0x0020 f7e4: b0 12 fc f5 call #-2564 ;#0xf5fc f7e8: 0f 93 cmp #0, r15 ;r3 As==00 f7ea: 02 34 jge $+6 ;abs 0xf7f0 f7ec: 30 40 d6 fb br #0xfbd6 ; f7f0: 5e 41 28 00 mov.b 40(r1), r14 ; f7f4: 4e 93 cmp.b #0, r14 ;r3 As==00 f7f6: 4f 20 jnz $+160 ;abs 0xf896 f7f8: f1 b0 40 00 bit.b #64, 46(r1) ;#0x0040 f7fc: 2e 00 f7fe: 14 24 jz $+42 ;abs 0xf828 f800: 1f 41 2a 00 mov 42(r1), r15 ; f804: 3f f0 00 ff and #-256, r15 ;#0xff00 f808: 3f d0 30 00 bis #48, r15 ;#0x0030 f80c: 81 4f 2a 00 mov r15, 42(r1) ; f810: c1 47 2b 00 mov.b r7, 43(r1) ; f814: 2e 43 mov #2, r14 ;r3 As==10 f816: 0f 41 mov r1, r15 ; f818: 3f 50 2a 00 add #42, r15 ;#0x002a f81c: b0 12 cc f5 call #-2612 ;#0xf5cc f820: 0f 93 cmp #0, r15 ;r3 As==00 f822: 02 34 jge $+6 ;abs 0xf828 f824: 30 40 d6 fb br #0xfbd6 ; f828: 78 90 20 00 cmp.b #32, r8 ;#0x0020 f82c: 24 24 jz $+74 ;abs 0xf876 f82e: 4e 4a mov.b r10, r14 ; f830: 7f 40 30 00 mov.b #48, r15 ;#0x0030 f834: b0 12 fc f5 call #-2564 ;#0xf5fc f838: 0f 93 cmp #0, r15 ;r3 As==00 f83a: cd 39 jl $+924 ;abs 0xfbd6 f83c: 4f 49 mov.b r9, r15 ; f83e: 8f 11 sxt r15 ; f840: 0e 4f mov r15, r14 ; f842: 1f 41 2c 00 mov 44(r1), r15 ; f846: b0 12 cc f5 call #-2612 ;#0xf5cc f84a: 0f 93 cmp #0, r15 ;r3 As==00 f84c: c4 39 jl $+906 ;abs 0xfbd6 f84e: f1 b0 10 00 bit.b #16, 46(r1) ;#0x0010 f852: 2e 00 f854: 01 27 jz $-508 ;abs 0xf658 f856: 5d 41 2f 00 mov.b 47(r1), r13 ; f85a: 8d 11 sxt r13 ; f85c: 4f 4b mov.b r11, r15 ; f85e: 8f 11 sxt r15 ; f860: 0d 8f sub r15, r13 ; f862: 1d 93 cmp #1, r13 ;r3 As==01 f864: f9 3a jl $-524 ;abs 0xf658 f866: 4e 4d mov.b r13, r14 ; f868: 7f 40 20 00 mov.b #32, r15 ;#0x0020 f86c: b0 12 fc f5 call #-2564 ;#0xf5fc f870: 0f 93 cmp #0, r15 ;r3 As==00 f872: f2 36 jge $-538 ;abs 0xf658 f874: b0 3d jmp $+866 ;abs 0xfbd6 f876: 5d 41 2f 00 mov.b 47(r1), r13 ; f87a: 8d 11 sxt r13 ; f87c: 4f 4b mov.b r11, r15 ; f87e: 8f 11 sxt r15 ; f880: 0d 8f sub r15, r13 ; f882: 1d 93 cmp #1, r13 ;r3 As==01 f884: d4 3b jl $-86 ;abs 0xf82e f886: 4e 4d mov.b r13, r14 ; f888: 7f 40 30 00 mov.b #48, r15 ;#0x0030 f88c: b0 12 fc f5 call #-2564 ;#0xf5fc f890: 0f 93 cmp #0, r15 ;r3 As==00 f892: cd 37 jge $-100 ;abs 0xf82e f894: a0 3d jmp $+834 ;abs 0xfbd6 f896: 1e 43 mov #1, r14 ;r3 As==01 f898: 0f 41 mov r1, r15 ; f89a: 3f 50 28 00 add #40, r15 ;#0x0028 f89e: be 3f jmp $-130 ;abs 0xf81c f8a0: f1 b0 40 00 bit.b #64, 46(r1) ;#0x0040 f8a4: 2e 00 f8a6: 8d 27 jz $-228 ;abs 0xf7c2 f8a8: 6b 53 incd.b r11 ; f8aa: 8b 3f jmp $-232 ;abs 0xf7c2 f8ac: 4a 43 clr.b r10 ; f8ae: 84 3f jmp $-246 ;abs 0xf7b8 f8b0: f1 40 10 00 mov.b #16, 52(r1) ;#0x0010 f8b4: 34 00 f8b6: f1 b2 2e 00 bit.b #8, 46(r1) ;r2 As==11 f8ba: 09 24 jz $+20 ;abs 0xf8ce f8bc: 81 93 30 00 cmp #0, 48(r1) ;r3 As==00 f8c0: 03 20 jnz $+8 ;abs 0xf8c8 f8c2: 81 93 32 00 cmp #0, 50(r1) ;r3 As==00 f8c6: 03 24 jz $+8 ;abs 0xf8ce f8c8: f1 d0 40 00 bis.b #64, 46(r1) ;#0x0040 f8cc: 2e 00 f8ce: c1 43 28 00 mov.b #0, 40(r1) ;r3 As==00 f8d2: c1 4b 35 00 mov.b r11, 53(r1) ; f8d6: 4b 93 cmp.b #0, r11 ;r3 As==00 f8d8: 03 38 jl $+8 ;abs 0xf8e0 f8da: f1 f0 df ff and.b #-33, 46(r1) ;#0xffdf f8de: 2e 00 f8e0: 0f 41 mov r1, r15 ; f8e2: 3f 50 28 00 add #40, r15 ;#0x0028 f8e6: 81 4f 2c 00 mov r15, 44(r1) ; f8ea: 81 93 30 00 cmp #0, 48(r1) ;r3 As==00 f8ee: 06 20 jnz $+14 ;abs 0xf8fc f8f0: 81 93 32 00 cmp #0, 50(r1) ;r3 As==00 f8f4: 03 20 jnz $+8 ;abs 0xf8fc f8f6: c1 93 35 00 cmp.b #0, 53(r1) ;r3 As==00 f8fa: 3e 24 jz $+126 ;abs 0xf978 f8fc: d1 41 34 00 mov.b 52(r1), 56(r1) ; f900: 38 00 f902: c1 43 39 00 mov.b #0, 57(r1) ;r3 As==00 f906: 81 43 3a 00 mov #0, 58(r1) ;r3 As==00 f90a: c1 43 36 00 mov.b #0, 54(r1) ;r3 As==00 f90e: 1e 41 30 00 mov 48(r1), r14 ; f912: 1f 41 32 00 mov 50(r1), r15 ; f916: 1e 81 38 00 sub 56(r1), r14 ; f91a: 1f 71 3a 00 subc 58(r1), r15 ; f91e: 02 28 jnc $+6 ;abs 0xf924 f920: d1 43 36 00 mov.b #1, 54(r1) ;r3 As==01 f924: 1c 41 30 00 mov 48(r1), r12 ; f928: 1d 41 32 00 mov 50(r1), r13 ; f92c: 1a 41 38 00 mov 56(r1), r10 ; f930: 1b 41 3a 00 mov 58(r1), r11 ; f934: b0 12 fc fc call #-772 ;#0xfcfc f938: 44 4e mov.b r14, r4 ; f93a: 7e 90 0a 00 cmp.b #10, r14 ;#0x000a f93e: 30 2c jc $+98 ;abs 0xf9a0 f940: 74 50 30 00 add.b #48, r4 ;#0x0030 f944: b1 53 2c 00 add #-1, 44(r1) ;r3 As==11 f948: 1f 41 2c 00 mov 44(r1), r15 ; f94c: cf 44 00 00 mov.b r4, 0(r15) ; f950: 1c 41 30 00 mov 48(r1), r12 ; f954: 1d 41 32 00 mov 50(r1), r13 ; f958: 1a 41 38 00 mov 56(r1), r10 ; f95c: 1b 41 3a 00 mov 58(r1), r11 ; f960: b0 12 fc fc call #-772 ;#0xfcfc f964: 81 4c 30 00 mov r12, 48(r1) ; f968: 81 4d 32 00 mov r13, 50(r1) ; f96c: c1 93 36 00 cmp.b #0, 54(r1) ;r3 As==00 f970: cc 23 jnz $-102 ;abs 0xf90a f972: f1 92 34 00 cmp.b #8, 52(r1) ;r2 As==11 f976: 06 24 jz $+14 ;abs 0xf984 f978: 49 41 mov.b r1, r9 ; f97a: 59 81 2c 00 sub.b 44(r1), r9 ; f97e: 79 50 28 00 add.b #40, r9 ;#0x0028 f982: 15 3f jmp $-468 ;abs 0xf7ae f984: f1 b2 2e 00 bit.b #8, 46(r1) ;r2 As==11 f988: f7 27 jz $-16 ;abs 0xf978 f98a: 74 90 30 00 cmp.b #48, r4 ;#0x0030 f98e: f4 27 jz $-22 ;abs 0xf978 f990: b1 53 2c 00 add #-1, 44(r1) ;r3 As==11 f994: 1f 41 2c 00 mov 44(r1), r15 ; f998: ff 40 30 00 mov.b #48, 0(r15) ;#0x0030 f99c: 00 00 f99e: ec 3f jmp $-38 ;abs 0xf978 f9a0: 74 50 57 00 add.b #87, r4 ;#0x0057 f9a4: 77 90 58 00 cmp.b #88, r7 ;#0x0058 f9a8: cd 23 jnz $-100 ;abs 0xf944 f9aa: 74 f0 df ff and.b #-33, r4 ;#0xffdf f9ae: ca 3f jmp $-106 ;abs 0xf944 f9b0: f1 40 0a 00 mov.b #10, 52(r1) ;#0x000a f9b4: 34 00 f9b6: 8b 3f jmp $-232 ;abs 0xf8ce f9b8: d1 d3 2e 00 bis.b #1, 46(r1) ;r3 As==01 f9bc: f9 3f jmp $-12 ;abs 0xf9b0 f9be: 0f 45 mov r5, r15 ; f9c0: 25 53 incd r5 ; f9c2: a1 4f 2c 00 mov @r15, 44(r1) ; f9c6: 81 93 2c 00 cmp #0, 44(r1) ;r3 As==00 f9ca: 1e 24 jz $+62 ;abs 0xfa08 f9cc: 4b 93 cmp.b #0, r11 ;r3 As==00 f9ce: 11 38 jl $+36 ;abs 0xf9f2 f9d0: 4f 4b mov.b r11, r15 ; f9d2: 8f 11 sxt r15 ; f9d4: 0d 4f mov r15, r13 ; f9d6: 0e 43 clr r14 ; f9d8: 1f 41 2c 00 mov 44(r1), r15 ; f9dc: b0 12 0a fc call #-1014 ;#0xfc0a f9e0: 0f 93 cmp #0, r15 ;r3 As==00 f9e2: 05 24 jz $+12 ;abs 0xf9ee f9e4: 49 4f mov.b r15, r9 ; f9e6: 59 81 2c 00 sub.b 44(r1), r9 ; f9ea: 4b 99 cmp.b r9, r11 ; f9ec: de 36 jge $-578 ;abs 0xf7aa f9ee: 49 4b mov.b r11, r9 ; f9f0: dc 3e jmp $-582 ;abs 0xf7aa f9f2: 1f 41 2c 00 mov 44(r1), r15 ; f9f6: 1f 83 dec r15 ; f9f8: 1f 53 inc r15 ; f9fa: cf 93 00 00 cmp.b #0, 0(r15) ;r3 As==00 f9fe: fc 23 jnz $-6 ;abs 0xf9f8 fa00: 49 4f mov.b r15, r9 ; fa02: 59 81 2c 00 sub.b 44(r1), r9 ; fa06: d1 3e jmp $-604 ;abs 0xf7aa fa08: 81 41 2c 00 mov r1, 44(r1) ; fa0c: f1 40 28 00 mov.b #40, 0(r1) ;#0x0028 fa10: 00 00 fa12: f1 40 6e 00 mov.b #110, 1(r1) ;#0x006e fa16: 01 00 fa18: f1 40 75 00 mov.b #117, 2(r1) ;#0x0075 fa1c: 02 00 fa1e: f1 40 6c 00 mov.b #108, 3(r1) ;#0x006c fa22: 03 00 fa24: f1 40 6c 00 mov.b #108, 4(r1) ;#0x006c fa28: 04 00 fa2a: f1 40 29 00 mov.b #41, 5(r1) ;#0x0029 fa2e: 05 00 fa30: c1 43 06 00 mov.b #0, 6(r1) ;r3 As==00 fa34: cb 3f jmp $-104 ;abs 0xf9cc fa36: 0f 45 mov r5, r15 ; fa38: 25 53 incd r5 ; fa3a: a1 4f 30 00 mov @r15, 48(r1) ; fa3e: 81 43 32 00 mov #0, 50(r1) ;r3 As==00 fa42: f1 40 10 00 mov.b #16, 52(r1) ;#0x0010 fa46: 34 00 fa48: f1 d0 40 00 bis.b #64, 46(r1) ;#0x0040 fa4c: 2e 00 fa4e: 77 40 78 00 mov.b #120, r7 ;#0x0078 fa52: 3d 3f jmp $-388 ;abs 0xf8ce fa54: f1 42 34 00 mov.b #8, 52(r1) ;r2 As==11 fa58: 3a 3f jmp $-394 ;abs 0xf8ce fa5a: d1 d3 2e 00 bis.b #1, 46(r1) ;r3 As==01 fa5e: fa 3f jmp $-10 ;abs 0xfa54 fa60: d1 b3 2e 00 bit.b #1, 46(r1) ;r3 As==01 fa64: 19 24 jz $+52 ;abs 0xfa98 fa66: 0f 45 mov r5, r15 ; fa68: 25 52 add #4, r5 ;r2 As==10 fa6a: b1 4f 30 00 mov @r15+, 48(r1) ; fa6e: b1 4f 32 00 mov @r15+, 50(r1) ; fa72: 81 93 32 00 cmp #0, 50(r1) ;r3 As==00 fa76: 04 38 jl $+10 ;abs 0xfa80 fa78: f1 40 0a 00 mov.b #10, 52(r1) ;#0x000a fa7c: 34 00 fa7e: 29 3f jmp $-428 ;abs 0xf8d2 fa80: b1 e3 30 00 xor #-1, 48(r1) ;r3 As==11 fa84: b1 e3 32 00 xor #-1, 50(r1) ;r3 As==11 fa88: 91 53 30 00 inc 48(r1) ; fa8c: 81 63 32 00 adc 50(r1) ; fa90: f1 40 2d 00 mov.b #45, 40(r1) ;#0x002d fa94: 28 00 fa96: f0 3f jmp $-30 ;abs 0xfa78 fa98: 0f 45 mov r5, r15 ; fa9a: 25 53 incd r5 ; fa9c: a1 4f 30 00 mov @r15, 48(r1) ; faa0: 91 41 30 00 mov 48(r1), 50(r1) ; faa4: 32 00 faa6: 91 51 32 00 rla 50(r1) ; faaa: 32 00 faac: 91 71 32 00 subc 50(r1), 50(r1) ; fab0: 32 00 fab2: b1 e3 32 00 xor #-1, 50(r1) ;r3 As==11 fab6: dd 3f jmp $-68 ;abs 0xfa72 fab8: d1 d3 2e 00 bis.b #1, 46(r1) ;r3 As==01 fabc: d1 3f jmp $-92 ;abs 0xfa60 fabe: 81 41 2c 00 mov r1, 44(r1) ; fac2: 0f 45 mov r5, r15 ; fac4: 25 53 incd r5 ; fac6: e1 4f 00 00 mov.b @r15, 0(r1) ; faca: 6e 3e jmp $-802 ;abs 0xf7a8 facc: e1 d2 2e 00 bis.b #4, 46(r1) ;r2 As==10 fad0: 30 40 9a f6 br #0xf69a ; fad4: f1 b0 10 00 bit.b #16, 46(r1) ;#0x0010 fad8: 2e 00 fada: 02 24 jz $+6 ;abs 0xfae0 fadc: 30 40 9a f6 br #0xf69a ; fae0: f1 d0 20 00 bis.b #32, 46(r1) ;#0x0020 fae4: 2e 00 fae6: 30 40 9a f6 br #0xf69a ; faea: 67 46 mov.b @r6, r7 ; faec: 16 53 inc r6 ; faee: 77 90 2a 00 cmp.b #42, r7 ;#0x002a faf2: 24 24 jz $+74 ;abs 0xfb3c faf4: 0d 43 clr r13 ; faf6: 4f 47 mov.b r7, r15 ; faf8: 7f 50 d0 ff add.b #-48, r15 ;#0xffd0 fafc: 7f 90 0a 00 cmp.b #10, r15 ;#0x000a fb00: 16 2c jc $+46 ;abs 0xfb2e fb02: 0f 4d mov r13, r15 ; fb04: 0f 5f rla r15 ; fb06: 0f 5f rla r15 ; fb08: 0e 4d mov r13, r14 ; fb0a: 0e 5e rla r14 ; fb0c: 0d 4f mov r15, r13 ; fb0e: 0d 5e add r14, r13 ; fb10: 0d 5e add r14, r13 ; fb12: 0d 5e add r14, r13 ; fb14: 4f 47 mov.b r7, r15 ; fb16: 8f 11 sxt r15 ; fb18: 0d 5f add r15, r13 ; fb1a: 3d 50 d0 ff add #-48, r13 ;#0xffd0 fb1e: 67 46 mov.b @r6, r7 ; fb20: 16 53 inc r6 ; fb22: 4f 47 mov.b r7, r15 ; fb24: 7f 50 d0 ff add.b #-48, r15 ;#0xffd0 fb28: 7f 90 0a 00 cmp.b #10, r15 ;#0x000a fb2c: ea 2b jnc $-42 ;abs 0xfb02 fb2e: 0f 4d mov r13, r15 ; fb30: 3d 93 cmp #-1, r13 ;r3 As==11 fb32: 01 34 jge $+4 ;abs 0xfb36 fb34: 3f 43 mov #-1, r15 ;r3 As==11 fb36: 4b 4f mov.b r15, r11 ; fb38: 30 40 9e f6 br #0xf69e ; fb3c: 0f 45 mov r5, r15 ; fb3e: 25 53 incd r5 ; fb40: 2d 4f mov @r15, r13 ; fb42: 0f 4d mov r13, r15 ; fb44: 3d 93 cmp #-1, r13 ;r3 As==11 fb46: 01 34 jge $+4 ;abs 0xfb4a fb48: 3f 43 mov #-1, r15 ;r3 As==11 fb4a: 4b 4f mov.b r15, r11 ; fb4c: 30 40 9a f6 br #0xf69a ; fb50: f1 40 2b 00 mov.b #43, 40(r1) ;#0x002b fb54: 28 00 fb56: 30 40 9a f6 br #0xf69a ; fb5a: f1 d0 10 00 bis.b #16, 46(r1) ;#0x0010 fb5e: 2e 00 fb60: f1 f0 df ff and.b #-33, 46(r1) ;#0xffdf fb64: 2e 00 fb66: 30 40 9a f6 br #0xf69a ; fb6a: 0f 45 mov r5, r15 ; fb6c: 25 53 incd r5 ; fb6e: e1 4f 2f 00 mov.b @r15, 47(r1) ; fb72: c1 93 2f 00 cmp.b #0, 47(r1) ;r3 As==00 fb76: 02 38 jl $+6 ;abs 0xfb7c fb78: 30 40 9a f6 br #0xf69a ; fb7c: f1 e3 2f 00 xor.b #-1, 47(r1) ;r3 As==11 fb80: d1 53 2f 00 inc.b 47(r1) ; fb84: ea 3f jmp $-42 ;abs 0xfb5a fb86: f1 d2 2e 00 bis.b #8, 46(r1) ;r2 As==11 fb8a: 30 40 9a f6 br #0xf69a ; fb8e: c1 93 28 00 cmp.b #0, 40(r1) ;r3 As==00 fb92: 02 24 jz $+6 ;abs 0xfb98 fb94: 30 40 9a f6 br #0xf69a ; fb98: f1 40 20 00 mov.b #32, 40(r1) ;#0x0020 fb9c: 28 00 fb9e: 30 40 9a f6 br #0xf69a ; fba2: d1 b3 2e 00 bit.b #1, 46(r1) ;r3 As==01 fba6: 08 24 jz $+18 ;abs 0xfbb8 fba8: 0f 45 mov r5, r15 ; fbaa: 25 52 add #4, r5 ;r2 As==10 fbac: b1 4f 30 00 mov @r15+, 48(r1) ; fbb0: b1 4f 32 00 mov @r15+, 50(r1) ; fbb4: 30 40 b8 f6 br #0xf6b8 ; fbb8: 0f 45 mov r5, r15 ; fbba: 25 53 incd r5 ; fbbc: a1 4f 30 00 mov @r15, 48(r1) ; fbc0: 81 43 32 00 mov #0, 50(r1) ;r3 As==00 fbc4: 30 40 b8 f6 br #0xf6b8 ; fbc8: 0e 4d mov r13, r14 ; fbca: b0 12 cc f5 call #-2612 ;#0xf5cc fbce: 0f 93 cmp #0, r15 ;r3 As==00 fbd0: 02 38 jl $+6 ;abs 0xfbd6 fbd2: 30 40 7e f6 br #0xf67e ; fbd6: 1f 42 02 02 mov &0x0202,r15 ;0x0202 fbda: 31 50 3c 00 add #60, r1 ;#0x003c fbde: 34 41 pop r4 ; fbe0: 35 41 pop r5 ; fbe2: 36 41 pop r6 ; fbe4: 37 41 pop r7 ; fbe6: 38 41 pop r8 ; fbe8: 39 41 pop r9 ; fbea: 3a 41 pop r10 ; fbec: 3b 41 pop r11 ; fbee: 30 41 ret 0000fbf0 : fbf0: 0d 4f mov r15, r13 ; fbf2: 0f 4e mov r14, r15 ; fbf4: 6e 4d mov.b @r13, r14 ; fbf6: 4e 9f cmp.b r15, r14 ; fbf8: 06 24 jz $+14 ;abs 0xfc06 fbfa: 4e 93 cmp.b #0, r14 ;r3 As==00 fbfc: 02 24 jz $+6 ;abs 0xfc02 fbfe: 1d 53 inc r13 ; fc00: f9 3f jmp $-12 ;abs 0xfbf4 fc02: 0f 43 clr r15 ; fc04: 30 41 ret fc06: 0f 4d mov r13, r15 ; fc08: 30 41 ret 0000fc0a : fc0a: 0b 12 push r11 ; fc0c: 0b 4f mov r15, r11 ; fc0e: 4c 4e mov.b r14, r12 ; fc10: 0d 93 cmp #0, r13 ;r3 As==00 fc12: 07 24 jz $+16 ;abs 0xfc22 fc14: 0e 4b mov r11, r14 ; fc16: 6f 4e mov.b @r14, r15 ; fc18: 1e 53 inc r14 ; fc1a: 4f 9c cmp.b r12, r15 ; fc1c: 04 24 jz $+10 ;abs 0xfc26 fc1e: 3d 53 add #-1, r13 ;r3 As==11 fc20: fa 23 jnz $-10 ;abs 0xfc16 fc22: 0f 43 clr r15 ; fc24: 02 3c jmp $+6 ;abs 0xfc2a fc26: 0f 4e mov r14, r15 ; fc28: 3f 53 add #-1, r15 ;r3 As==11 fc2a: 3b 41 pop r11 ; fc2c: 30 41 ret 0000fc2e : fc2e: 0b 12 push r11 ; fc30: 0b 4d mov r13, r11 ; fc32: 0d 93 cmp #0, r13 ;r3 As==00 fc34: 0a 24 jz $+22 ;abs 0xfc4a fc36: 0c 4f mov r15, r12 ; fc38: 0d 4e mov r14, r13 ; fc3a: 6e 4d mov.b @r13, r14 ; fc3c: 1d 53 inc r13 ; fc3e: 6f 4c mov.b @r12, r15 ; fc40: 1c 53 inc r12 ; fc42: 4f 9e cmp.b r14, r15 ; fc44: 04 20 jnz $+10 ;abs 0xfc4e fc46: 3b 53 add #-1, r11 ;r3 As==11 fc48: f8 23 jnz $-14 ;abs 0xfc3a fc4a: 0c 43 clr r12 ; fc4c: 05 3c jmp $+12 ;abs 0xfc58 fc4e: 5c 4c ff ff mov.b -1(r12),r12 ; fc52: 5f 4d ff ff mov.b -1(r13),r15 ; fc56: 0c 8f sub r15, r12 ; fc58: 0f 4c mov r12, r15 ; fc5a: 3b 41 pop r11 ; fc5c: 30 41 ret 0000fc5e : fc5e: 0b 12 push r11 ; fc60: 0a 12 push r10 ; fc62: 09 12 push r9 ; fc64: 08 12 push r8 ; fc66: 0b 4f mov r15, r11 ; fc68: 0a 4e mov r14, r10 ; fc6a: 69 4e mov.b @r14, r9 ; fc6c: 1a 53 inc r10 ; fc6e: 49 93 cmp.b #0, r9 ;r3 As==00 fc70: 15 24 jz $+44 ;abs 0xfc9c fc72: 08 4a mov r10, r8 ; fc74: 18 83 dec r8 ; fc76: 18 53 inc r8 ; fc78: c8 93 00 00 cmp.b #0, 0(r8) ;r3 As==00 fc7c: fc 23 jnz $-6 ;abs 0xfc76 fc7e: 08 8a sub r10, r8 ; fc80: 6f 4b mov.b @r11, r15 ; fc82: 1b 53 inc r11 ; fc84: 4f 93 cmp.b #0, r15 ;r3 As==00 fc86: 0c 24 jz $+26 ;abs 0xfca0 fc88: 4f 99 cmp.b r9, r15 ; fc8a: fa 23 jnz $-10 ;abs 0xfc80 fc8c: 0d 48 mov r8, r13 ; fc8e: 0e 4a mov r10, r14 ; fc90: 0f 4b mov r11, r15 ; fc92: b0 12 ac fc call #-852 ;#0xfcac fc96: 0f 93 cmp #0, r15 ;r3 As==00 fc98: f3 23 jnz $-24 ;abs 0xfc80 fc9a: 3b 53 add #-1, r11 ;r3 As==11 fc9c: 0f 4b mov r11, r15 ; fc9e: 01 3c jmp $+4 ;abs 0xfca2 fca0: 0f 43 clr r15 ; fca2: 38 41 pop r8 ; fca4: 39 41 pop r9 ; fca6: 3a 41 pop r10 ; fca8: 3b 41 pop r11 ; fcaa: 30 41 ret 0000fcac : fcac: 0b 12 push r11 ; fcae: 0b 4f mov r15, r11 ; fcb0: 0d 93 cmp #0, r13 ;r3 As==00 fcb2: 02 20 jnz $+6 ;abs 0xfcb8 fcb4: 0d 43 clr r13 ; fcb6: 0f 3c jmp $+32 ;abs 0xfcd6 fcb8: 6f 4e mov.b @r14, r15 ; fcba: 1e 53 inc r14 ; fcbc: 6c 4b mov.b @r11, r12 ; fcbe: 4c 9f cmp.b r15, r12 ; fcc0: 06 20 jnz $+14 ;abs 0xfcce fcc2: 1b 53 inc r11 ; fcc4: 4c 93 cmp.b #0, r12 ;r3 As==00 fcc6: f6 27 jz $-18 ;abs 0xfcb4 fcc8: 3d 53 add #-1, r13 ;r3 As==11 fcca: f6 23 jnz $-18 ;abs 0xfcb8 fccc: f3 3f jmp $-24 ;abs 0xfcb4 fcce: 4d 4c mov.b r12, r13 ; fcd0: 5f 4e ff ff mov.b -1(r14),r15 ; fcd4: 0d 8f sub r15, r13 ; fcd6: 0f 4d mov r13, r15 ; fcd8: 3b 41 pop r11 ; fcda: 30 41 ret 0000fcdc <__stop_progExec__>: fcdc: 02 df bis r15, r2 ; fcde: fe 3f jmp $-2 ;abs 0xfcdc 0000fce0 <__udivmodhi4>: fce0: 0e ee xor r14, r14 ; fce2: 3b 40 11 00 mov #17, r11 ;#0x0011 fce6: 05 3c jmp $+12 ;abs 0xfcf2 fce8: 0d 10 rrc r13 ; fcea: 0e 6e rlc r14 ; fcec: 0e 9a cmp r10, r14 ; fcee: 01 28 jnc $+4 ;abs 0xfcf2 fcf0: 0e 8a sub r10, r14 ; fcf2: 0c 6c rlc r12 ; fcf4: 0d 6d rlc r13 ; fcf6: 1b 83 dec r11 ; fcf8: f7 23 jnz $-16 ;abs 0xfce8 fcfa: 30 41 ret 0000fcfc <__udivmodsi4>: fcfc: 0f ef xor r15, r15 ; fcfe: 0e ee xor r14, r14 ; fd00: 39 40 21 00 mov #33, r9 ;#0x0021 fd04: 0a 3c jmp $+22 ;abs 0xfd1a fd06: 08 10 rrc r8 ; fd08: 0e 6e rlc r14 ; fd0a: 0f 6f rlc r15 ; fd0c: 0f 9b cmp r11, r15 ; fd0e: 05 28 jnc $+12 ;abs 0xfd1a fd10: 02 20 jnz $+6 ;abs 0xfd16 fd12: 0e 9a cmp r10, r14 ; fd14: 02 28 jnc $+6 ;abs 0xfd1a fd16: 0e 8a sub r10, r14 ; fd18: 0f 7b subc r11, r15 ; fd1a: 0c 6c rlc r12 ; fd1c: 0d 6d rlc r13 ; fd1e: 08 68 rlc r8 ; fd20: 19 83 dec r9 ; fd22: f1 23 jnz $-28 ;abs 0xfd06 fd24: 30 41 ret Disassembly of section .vectors: 0000ffe0 : ffe0: 3a e0 3a e0 40 e0 5e e0 3a e0 3a e0 3a e0 3a e0 :.:.@.^.:.:.:.:. fff0: 7c e0 3a e0 3a e0 3a e0 3a e0 3a e0 3a e0 00 e0 |.:.:.:.:.:.:...