func.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 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 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 ADC10AE0 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 0000e316 l .text 00000000 lcdloop 0000e7a8 l .text 00000000 Letext 00000000 l df *ABS* 00000000 libgcc2.c 0000e7e6 l .text 00000000 Letext 00000000 l df *ABS* 00000000 fp-bit.c 0000e7e6 l F .text 00000222 _fpadd_parts 0000eaa4 l .text 00000000 Letext 00000000 l df *ABS* 00000000 fp-bit.c 0000eaf0 l F .text 0000021e _fpmul_parts 0000ed0e l .text 00000000 Letext 00000000 l df *ABS* 00000000 fp-bit.c 0000ed54 l F .text 0000012c _fpdiv_parts 0000ee80 l .text 00000000 Letext 00000000 l df *ABS* 00000000 fp-bit.c 0000eee2 l .text 00000000 Letext 00000000 l df *ABS* 00000000 fp-bit.c 0000ef74 l .text 00000000 Letext 00000000 l df *ABS* 00000000 fp-bit.c 0000f010 l .text 00000000 Letext 00000000 l df *ABS* 00000000 fp-bit.c 0000f018 l .text 00000000 Letext 00000000 l df *ABS* 00000000 fp-bit.c 0000f1c8 l .text 00000000 Letext 00000000 l df *ABS* 00000000 fp-bit.c 0000f2be l .text 00000000 Letext 00000000 l df *ABS* 00000000 fp-bit.c 0000f3d6 l .text 00000000 Letext 00000000 l df *ABS* 00000000 snprintf.c 0000f400 l .text 00000000 Letext 00000000 l df *ABS* 00000000 vsnprintf.c 0000f400 l F .text 00000020 mem_putchar_limited 00000206 l .bss 00000000 max_s_size 00000204 l .bss 00000000 mem 0000f448 l .text 00000000 Letext 00000000 l df *ABS* 00000000 vuprintf.c 00000202 l O .data 00000002 total_len 0000f448 l F .text 00000030 PRINT 00000208 l .bss 00000000 __write_char 0000f478 l F .text 00000034 __write_pad 0000fa62 l .text 00000000 Letext 00000000 l df *ABS* 00000000 memchr.c 0000fa86 l .text 00000000 Letext 0000e33a g F .text 00000018 lcdBusy 00000004 g *ABS* 00000000 __data_size 0000ed0e g F .text 00000046 __divsf3 0000f3d6 g F .text 0000002a snprintf 0000ef74 g F .text 0000009c __fixsfsi 0000fab2 g .text 00000000 _etext 0000ea54 g F .text 00000050 __subsf3 0000e0b0 g F .text 0000001a sample_adc 0000000a g *ABS* 00000000 __bss_size 0000fab0 w .text 00000000 __stop_progExec__ 0000e030 g .text 00000000 _unexpected_1_ 0000e030 w .text 00000000 vector_ffe0 0000020a g O .bss 00000002 clk_delay 0000f420 g F .text 00000028 vsnprintf 0000e234 g F .text 00000054 lcdInstr 0000e030 w .text 00000000 vector_ffec 0000e030 w .text 00000000 vector_fff0 0000fab2 g *ABS* 00000000 __data_load_start 0000e030 g .text 00000000 __dtors_end 0000e064 g .text 00000000 vector_fffc 0000e288 g F .text 00000066 lcdPutc 0000e036 g .text 00000000 vector_ffe4 0000f1c8 g F .text 000000f6 __unpack_f 0000ffe0 g O .vectors 00000020 InterruptVectors 0000f018 g F .text 000001b0 __pack_f 0000020c g O .bss 00000002 i 0000fa62 g F .text 00000024 memchr 0000e01c w .text 00000000 __do_clear_bss 0000e2ee g F .text 00000028 lcdInit 0000eee2 g F .text 00000092 __floatsisf 0000e030 w .text 00000000 vector_ffe2 0000e030 w .text 00000000 vector_ffe8 0000e034 w .text 00000000 _unexpected_ 0000e030 w .text 00000000 vector_fffa 0000f4ac g F .text 000005b6 vuprintf 0000e09c g F .text 00000014 init_adc 0000e0f8 g F .text 0000007c init 0000e036 g F .text 00000014 P1_VEC 0000e000 w .text 00000000 _reset_vector__ 0000e030 g .text 00000000 __ctors_start 0000e04a g F .text 0000001a INT_TimerA_CCR0 0000f010 g O .text 00000008 __thenan_sf 0000e00a w .text 00000000 __do_copy_data 00000204 g .bss 00000000 __bss_start 0000e030 w .text 00000000 vector_ffee 0000e04a g .text 00000000 vector_fff4 0000e39a g F .text 0000040e main 0000e030 w .text 00000000 vector_fff8 0000e030 w .text 00000000 vector_fff2 00010000 g .vectors 00000000 _vectors_end 0000eaa4 g F .text 0000004c __mulsf3 0000e174 g F .text 00000032 pow2f 0000e030 w .text 00000000 vector_ffe6 0000e0ca g F .text 0000002e delay 0000ee80 g F .text 00000062 __gesf2 0000e064 g F .text 00000038 INT_OFIFG 0000e31c g F .text 0000001e lcdPuts 0000e000 w .text 00000000 __init_stack 0000e030 g .text 00000000 __dtors_start 0000e030 g .text 00000000 __ctors_end 00000300 g *ABS* 00000000 __stack 00000204 g .data 00000000 _edata 0000020e g .bss 00000000 _end 0000fa86 g .text 00000000 __udivmodsi4 0000e030 w .text 00000000 vector_fff6 0000e7a8 g F .text 0000003e __fixunssfsi 0000f2be g F .text 00000118 __fpcmp_parts_f 0000e1a6 g F .text 0000008e lcdOn 0000e004 w .text 00000000 __low_level_init 0000e02c w .text 00000000 __jump_to_main 00000200 g .data 00000000 __data_start 0000e030 w .text 00000000 vector_ffea 0000ea08 g F .text 0000004c __addsf3 00000200 g O .data 00000002 holdFreq 0000e316 g F .text 00000006 lcdDelay Disassembly of section .text: 0000e000 <__init_stack>: e000: 31 40 00 03 mov #768, r1 ;#0x0300 0000e004 <__low_level_init>: e004: b2 40 80 5a mov #23168, &0x0120 ;#0x5a80 e008: 20 01 0000e00a <__do_copy_data>: e00a: 3f 40 04 00 mov #4, r15 ;#0x0004 e00e: 0f 93 tst r15 e010: 05 24 jz $+12 ;abs 0xe01c e012: 2f 83 decd r15 e014: 9f 4f b2 fa mov -1358(r15),512(r15);0xfab2(r15), 0x0200(r15) e018: 00 02 e01a: fb 23 jnz $-8 ;abs 0xe012 0000e01c <__do_clear_bss>: e01c: 3f 40 0a 00 mov #10, r15 ;#0x000a e020: 0f 93 tst r15 e022: 04 24 jz $+10 ;abs 0xe02c e024: 1f 83 dec r15 e026: cf 43 04 02 mov.b #0, 516(r15);r3 As==00, 0x0204(r15) e02a: fc 23 jnz $-6 ;abs 0xe024 0000e02c <__jump_to_main>: e02c: 30 40 9a e3 br #0xe39a 0000e030 <__ctors_end>: e030: 30 40 34 e0 br #0xe034 0000e034 <_unexpected_>: e034: 00 13 reti 0000e036 : This interrupt is caused by the button */ // Port 1 interripts : A button has been pushed interrupt (PORT1_VECTOR) P1_VEC(void) { e036: 0f 12 push r15 //dint(); //no nesting! if(P1IFG & BUTTON_P1_IN) e038: d2 b3 23 00 bit.b #1, &0x0023 ;r3 As==01 e03c: 02 24 jz $+6 ;abs 0xe042 { holdFreq ^= 1; e03e: 92 e3 00 02 xor #1, &0x0200 ;r3 As==01 //LPM4_EXIT; //LPM3_EXIT; //do button push stuff! } P1IFG=0x00; e042: c2 43 23 00 mov.b #0, &0x0023 ;r3 As==00 //eint(); } e046: 3f 41 pop r15 e048: 00 13 reti 0000e04a : /** This one is executed by the watchdog timer */ interrupt (WDT_VECTOR) INT_TimerA_CCR0(void) { i++; e04a: 92 53 0c 02 inc &0x020c if(i == 10) e04e: b2 90 0a 00 cmp #10, &0x020c ;#0x000a e052: 0c 02 e054: 01 24 jz $+4 ;abs 0xe058 { i=0; LPM0_EXIT; } } e056: 00 13 reti interrupt (WDT_VECTOR) INT_TimerA_CCR0(void) { i++; if(i == 10) { i=0; e058: 82 43 0c 02 mov #0, &0x020c ;r3 As==00 LPM0_EXIT; e05c: b1 c0 10 00 bic #16, 0(r1) ;#0x0010, 0x0000(r1) e060: 00 00 e062: f9 3f jmp $-12 ;abs 0xe056 0000e064 : /** 18Khz clock to run the power converter! */ interrupt (NMI_VECTOR) INT_OFIFG(void) { e064: 0f 12 push r15 P2OUT |= LED_P2_RED; e066: f2 d0 10 00 bis.b #16, &0x0029 ;#0x0010 e06a: 29 00 do{ //PC_EN = 0; //P1OUT |= LED; IFG1 &= ~OFIFG; e06c: e2 c3 02 00 bic.b #2, &0x0002 ;r3 As==10 for ( clk_delay = 0; clk_delay<100; clk_delay++) ; e070: 82 43 0a 02 mov #0, &0x020a ;r3 As==00 e074: b2 90 64 00 cmp #100, &0x020a ;#0x0064 e078: 0a 02 e07a: 06 2c jc $+14 ;abs 0xe088 e07c: 92 53 0a 02 inc &0x020a e080: b2 90 64 00 cmp #100, &0x020a ;#0x0064 e084: 0a 02 e086: fa 2b jnc $-10 ;abs 0xe07c }while (IFG1 & OFIFG); e088: e2 b3 02 00 bit.b #2, &0x0002 ;r3 As==10 e08c: ef 23 jnz $-32 ;abs 0xe06c P2OUT &= ~LED_P2_RED; e08e: f2 f0 ef ff and.b #-17, &0x0029 ;#0xffef e092: 29 00 IE1 |= OFIE; e094: e2 d3 00 00 bis.b #2, &0x0000 ;r3 As==10 } e098: 3f 41 pop r15 e09a: 00 13 reti 0000e09c : /**init the ADC10 */ void init_adc() { ADC10AE = bit1 | bit2 | bit0; e09c: f2 40 07 00 mov.b #7, &0x004a ;#0x0007 e0a0: 4a 00 //ADC10CTL0 = SREF_VREF_AVSS | ADC10SR | ADC10ON | REFON | ADC10SHT_DIV64; //ref mode Vref for temp sense, 50kbps reduced power mode, ADC on, 16 clocks per sample window ADC10CTL0 = ADC10SR | ADC10ON | ADC10SHT_DIV64; //ref mode Vref for temp sense, 50kbps reduced power mode, ADC on, 16 clocks per sample window e0a2: b2 40 10 1c mov #7184, &0x01b0 ;#0x1c10 e0a6: b0 01 //ADC10CTL1 = ADC10SSEL_ACLK | INCH_A2; //ACLK sourced, A2 input ADC10CTL1 = ADC10DIV_7 | ADC10SSEL_ADC10OSC | INCH_TEMP; //ACLK sourced, A2 input e0a8: b2 40 e0 a0 mov #-24352,&0x01b2 ;#0xa0e0 e0ac: b2 01 } e0ae: 30 41 ret 0000e0b0 : //get a reading from the ADC10MEM int sample_adc(int chan) { ADC10CTL0 &= ~ENC; // have to disable ADC10 to change channel e0b0: a2 c3 b0 01 bic #2, &0x01b0 ;r3 As==10 ADC10CTL1 = chan; // A2 input e0b4: 82 4f b2 01 mov r15, &0x01b2 ADC10CTL0 |= ENC | ADC10SC; // Sampling and conversion start e0b8: b2 d0 03 00 bis #3, &0x01b0 ;#0x0003 e0bc: b0 01 while(ADC10CTL1 & ADC10BUSY); e0be: 92 b3 b2 01 bit #1, &0x01b2 ;r3 As==01 e0c2: fd 23 jnz $-4 ;abs 0xe0be return ADC10MEM; e0c4: 1f 42 b4 01 mov &0x01b4,r15 } e0c8: 30 41 ret 0000e0ca : Delay function. */ void delay(unsigned int d) { int i; for (i = 0; i: Initialization procedures */ void init() { WDTCTL = WDTCTL_INIT; //Init watchdog timer e0f8: b2 40 10 5a mov #23056, &0x0120 ;#0x5a10 e0fc: 20 01 P1OUT = P1OUT_INIT; //Init output data of port1 e0fe: c2 43 21 00 mov.b #0, &0x0021 ;r3 As==00 P2OUT = P2OUT_INIT; //Init output data of port2 e102: c2 43 29 00 mov.b #0, &0x0029 ;r3 As==00 P1SEL = P1SEL_INIT; //Select port or module -function on port1 e106: c2 43 26 00 mov.b #0, &0x0026 ;r3 As==00 P2SEL = P2SEL_INIT; //Select port or module -function on port2 e10a: f2 40 0f 00 mov.b #15, &0x002e ;#0x000f e10e: 2e 00 P1DIR = P1DIR_INIT; //Init port direction register of port1 e110: f2 40 de ff mov.b #-34, &0x0022 ;#0xffde e114: 22 00 P2DIR = P2DIR_INIT; //Init port direction register of port2 e116: f2 40 18 00 mov.b #24, &0x002a ;#0x0018 e11a: 2a 00 P1IES = P1IES_INIT; //init port interrupts e11c: c2 43 24 00 mov.b #0, &0x0024 ;r3 As==00 P2IES = P2IES_INIT; e120: c2 43 2c 00 mov.b #0, &0x002c ;r3 As==00 P1IE = P1IE_INIT; e124: d2 43 25 00 mov.b #1, &0x0025 ;r3 As==01 P2IE = P2IE_INIT; e128: c2 43 2d 00 mov.b #0, &0x002d ;r3 As==00 //while(1); BCSCTL1 |= XTS; //Start the 9Mhz clock e12c: f2 d0 40 00 bis.b #64, &0x0057 ;#0x0040 e130: 57 00 IFG1 &= ~OFIFG; delay(0xFFF); }while(IFG1 & OFIFG);*/ do{ IFG1 &= ~OFIFG; e132: e2 c3 02 00 bic.b #2, &0x0002 ;r3 As==10 delay(0xFFF); e136: 3f 40 ff 0f mov #4095, r15 ;#0x0fff e13a: b0 12 ca e0 call #0xe0ca }while (IFG1 & OFIFG); e13e: e2 b3 02 00 bit.b #2, &0x0002 ;r3 As==10 e142: f7 23 jnz $-16 ;abs 0xe132 BCSCTL2 = SELM0 | SELM1 | SELS; //Start the 9Mhz clock, SMCLK<=XT2CLK e144: f2 40 c8 ff mov.b #-56, &0x0058 ;#0xffc8 e148: 58 00 TACCTL2 = 0; //... TACTL |= MC0; //start timer*/ TACTL = TASSEL1|TACLR; //SMCLK, clear e14a: b2 40 04 02 mov #516, &0x0160 ;#0x0204 e14e: 60 01 //actual crystal freq = 8991000 TACCR0 = 1240;//250; //18khz = 9,000,000/500 = 18,000. use 250 because we change states every 2f e150: b2 40 d8 04 mov #1240, &0x0172 ;#0x04d8 e154: 72 01 //we want 18.5% for resonance TACCR1 = 229;//250; //18khz = 9,000,000/500 = 18,000. use 250 because we change states every 2f e156: b2 40 e5 00 mov #229, &0x0174 ;#0x00e5 e15a: 74 01 TACCTL0 = 0; e15c: 82 43 62 01 mov #0, &0x0162 ;r3 As==00 TACCTL1 = OUTMOD_6; //PWM mode e160: b2 40 c0 00 mov #192, &0x0164 ;#0x00c0 e164: 64 01 //TBCCTL2 = 0; //... TACTL |= MC_UPTO_CCR0;// | TBIE; //enable interrupts, sTBrt counting! e166: b2 d0 10 00 bis #16, &0x0160 ;#0x0010 e16a: 60 01 IE1 = IE_INIT; e16c: f2 40 03 00 mov.b #3, &0x0000 ;#0x0003 e170: 00 00 } e172: 30 41 ret 0000e174 : Exponant must be an integer and can't be negative. Takes a tiny fraction of what math.h's powf takes (MSP430F1132 lack enough memory to even compile powf!) */ float pow2f(float a, int b) { e174: 0b 12 push r11 e176: 0a 12 push r10 e178: 09 12 push r9 e17a: 09 4e mov r14, r9 e17c: 0a 4f mov r15, r10 int i; float result=a; if(b == 0) e17e: 0d 93 tst r13 e180: 04 20 jnz $+10 ;abs 0xe18a return 1; e182: 0e 43 clr r14 e184: 3f 40 80 3f mov #16256, r15 ;#0x3f80 e188: 0a 3c jmp $+22 ;abs 0xe19e for(i = 1; i < b; i++) e18a: 2d 93 cmp #2, r13 ;r3 As==10 e18c: 08 38 jl $+18 ;abs 0xe19e e18e: 0b 4d mov r13, r11 e190: 3b 53 add #-1, r11 ;r3 As==11 result *= a; e192: 0c 49 mov r9, r12 e194: 0d 4a mov r10, r13 e196: b0 12 a4 ea call #0xeaa4 { int i; float result=a; if(b == 0) return 1; for(i = 1; i < b; i++) e19a: 3b 53 add #-1, r11 ;r3 As==11 e19c: fa 23 jnz $-10 ;abs 0xe192 result *= a; return result; } e19e: 39 41 pop r9 e1a0: 3a 41 pop r10 e1a2: 3b 41 pop r11 e1a4: 30 41 ret 0000e1a6 : /** Turn on the LCD and initialize it to 4 bit interface. */ void lcdOn( void ) { P1OUT &= ~(LCD_E | LCD_RS | LCD_D4 | LCD_D5 | LCD_D6 | LCD_D7); //reset pins e1a6: f2 f0 21 00 and.b #33, &0x0021 ;#0x0021 e1aa: 21 00 lcdBusy(100); //wait more than 30ms e1ac: 3f 40 64 00 mov #100, r15 ;#0x0064 e1b0: b0 12 3a e3 call #0xe33a //send the reset sequece (3 times the same pattern) //P1OUT |= LCD_RS; //set 8 bit interface P1OUT |= LCD_D4 | LCD_D5; e1b4: f2 d0 06 00 bis.b #6, &0x0021 ;#0x0006 e1b8: 21 00 P1OUT |= LCD_E; //toggle LCD_E, the enable pin e1ba: f2 d0 40 00 bis.b #64, &0x0021 ;#0x0040 e1be: 21 00 nop(); e1c0: 03 43 nop nop(); e1c2: 03 43 nop nop(); e1c4: 03 43 nop P1OUT &= ~LCD_E; //back to inactive position e1c6: f2 f0 bf ff and.b #-65, &0x0021 ;#0xffbf e1ca: 21 00 lcdDelay(LCDDELAY1MS*5); //wait > 4.1 e1cc: 3f 40 10 27 mov #10000, r15 ;#0x2710 e1d0: b0 12 16 e3 call #0xe316 P1OUT |= LCD_E; //toggle LCD_E, the enable pin e1d4: f2 d0 40 00 bis.b #64, &0x0021 ;#0x0040 e1d8: 21 00 nop(); e1da: 03 43 nop nop(); e1dc: 03 43 nop nop(); e1de: 03 43 nop P1OUT &= ~LCD_E; //back to inactive position e1e0: f2 f0 bf ff and.b #-65, &0x0021 ;#0xffbf e1e4: 21 00 lcdDelay(LCDDELAY1MS); //wait > 100us e1e6: 3f 40 d0 07 mov #2000, r15 ;#0x07d0 e1ea: b0 12 16 e3 call #0xe316 P1OUT |= LCD_E; //toggle LCD_E, the enable pin e1ee: f2 d0 40 00 bis.b #64, &0x0021 ;#0x0040 e1f2: 21 00 nop(); e1f4: 03 43 nop nop(); e1f6: 03 43 nop nop(); e1f8: 03 43 nop P1OUT &= ~LCD_E; //back to inactive position e1fa: f2 f0 bf ff and.b #-65, &0x0021 ;#0xffbf e1fe: 21 00 lcdDelay(LCDDELAY1MS*5); //wait a bit e200: 3f 40 10 27 mov #10000, r15 ;#0x2710 e204: b0 12 16 e3 call #0xe316 P1OUT &= ~(LCD_D4 | LCD_D5 | LCD_D6 | LCD_D7); e208: f2 f0 e1 ff and.b #-31, &0x0021 ;#0xffe1 e20c: 21 00 P1OUT |= LCD_D5; //set into nibble mode e20e: e2 d2 21 00 bis.b #4, &0x0021 ;r2 As==10 P1OUT |= LCD_E; //toggle LCD_E, the enable pin e212: f2 d0 40 00 bis.b #64, &0x0021 ;#0x0040 e216: 21 00 nop(); e218: 03 43 nop nop(); e21a: 03 43 nop nop(); e21c: 03 43 nop P1OUT &= ~LCD_E; //back to inactive position e21e: f2 f0 bf ff and.b #-65, &0x0021 ;#0xffbf e222: 21 00 lcdDelay(LCDDELAY1MS*5); //wait a bit e224: 3f 40 10 27 mov #10000, r15 ;#0x2710 e228: b0 12 16 e3 call #0xe316 //LCDOUT &= LCD_DATA_OFF; //reset data lines P1OUT &= ~(LCD_E | LCD_RS | LCD_D4 | LCD_D5 | LCD_D6 | LCD_D7); e22c: f2 f0 21 00 and.b #33, &0x0021 ;#0x0021 e230: 21 00 } e232: 30 41 ret 0000e234 : void lcdInstr( char cmd ) { e234: 4e 4f mov.b r15, r14 P1OUT &= ~(LCD_E | LCD_RS | LCD_D4 | LCD_D5 | LCD_D6 | LCD_D7); //reset pins e236: f2 f0 21 00 and.b #33, &0x0021 ;#0x0021 e23a: 21 00 //P1OUT |= ((cmd >> 4) & 0x0F; //output upper nibble P1OUT |= (cmd >> 3) & (LCD_D4 | LCD_D5 | LCD_D6 | LCD_D7); //output upper nibble e23c: 4f 11 rra.b r15 e23e: 4f 11 rra.b r15 e240: 4f 11 rra.b r15 e242: 7f f0 1e 00 and.b #30, r15 ;#0x001e e246: c2 df 21 00 bis.b r15, &0x0021 P1OUT |= LCD_E; //toggle LCD_E, the enable pin e24a: f2 d0 40 00 bis.b #64, &0x0021 ;#0x0040 e24e: 21 00 nop(); e250: 03 43 nop nop(); e252: 03 43 nop nop(); e254: 03 43 nop P1OUT &= ~LCD_E; //back to inactive position e256: f2 f0 bf ff and.b #-65, &0x0021 ;#0xffbf e25a: 21 00 P1OUT &= ~(LCD_E | LCD_RS | LCD_D4 | LCD_D5 | LCD_D6 | LCD_D7); //reset pins e25c: f2 f0 21 00 and.b #33, &0x0021 ;#0x0021 e260: 21 00 P1OUT |= (cmd << 1) & (LCD_D4 | LCD_D5 | LCD_D6 | LCD_D7);//and then the lower nibble e262: 4e 5e rla.b r14 e264: 7e f0 1e 00 and.b #30, r14 ;#0x001e e268: c2 de 21 00 bis.b r14, &0x0021 P1OUT |= LCD_E; //toggle LCD_E, the enable pin e26c: f2 d0 40 00 bis.b #64, &0x0021 ;#0x0040 e270: 21 00 nop(); e272: 03 43 nop nop(); e274: 03 43 nop nop(); e276: 03 43 nop P1OUT &= ~LCD_E; //back to inactive position e278: f2 f0 bf ff and.b #-65, &0x0021 ;#0xffbf e27c: 21 00 lcdDelay(LCDDELAY1MS*5); //wait until instr is finished e27e: 3f 40 10 27 mov #10000, r15 ;#0x2710 e282: b0 12 16 e3 call #0xe316 } e286: 30 41 ret 0000e288 : void lcdPutc( char c ) { e288: 4e 4f mov.b r15, r14 P1OUT &= ~(LCD_E | LCD_RS | LCD_D4 | LCD_D5 | LCD_D6 | LCD_D7); //reset pins e28a: f2 f0 21 00 and.b #33, &0x0021 ;#0x0021 e28e: 21 00 P1OUT |= LCD_RS; e290: f2 d0 80 ff bis.b #-128, &0x0021 ;#0xff80 e294: 21 00 P1OUT |= (c >> 3) & (LCD_D4 | LCD_D5 | LCD_D6 | LCD_D7);//output upper nibble e296: 4f 11 rra.b r15 e298: 4f 11 rra.b r15 e29a: 4f 11 rra.b r15 e29c: 7f f0 1e 00 and.b #30, r15 ;#0x001e e2a0: c2 df 21 00 bis.b r15, &0x0021 P1OUT |= LCD_E; //toggle LCD_E, the enable pin e2a4: f2 d0 40 00 bis.b #64, &0x0021 ;#0x0040 e2a8: 21 00 nop(); e2aa: 03 43 nop nop(); e2ac: 03 43 nop nop(); e2ae: 03 43 nop P1OUT &= ~LCD_E; //back to inactive position e2b0: f2 f0 bf ff and.b #-65, &0x0021 ;#0xffbf e2b4: 21 00 P1OUT &= ~(LCD_E | LCD_RS | LCD_D4 | LCD_D5 | LCD_D6 | LCD_D7); //reset pins e2b6: f2 f0 21 00 and.b #33, &0x0021 ;#0x0021 e2ba: 21 00 P1OUT |= LCD_RS; e2bc: f2 d0 80 ff bis.b #-128, &0x0021 ;#0xff80 e2c0: 21 00 P1OUT |= (c << 1) & (LCD_D4 | LCD_D5 | LCD_D6 | LCD_D7); //and then the lower nibble e2c2: 4e 5e rla.b r14 e2c4: 7e f0 1e 00 and.b #30, r14 ;#0x001e e2c8: c2 de 21 00 bis.b r14, &0x0021 P1OUT |= LCD_E; //toggle LCD_E, the enable pin e2cc: f2 d0 40 00 bis.b #64, &0x0021 ;#0x0040 e2d0: 21 00 nop(); e2d2: 03 43 nop nop(); e2d4: 03 43 nop nop(); e2d6: 03 43 nop P1OUT &= ~LCD_E; //back to inactive position e2d8: f2 f0 bf ff and.b #-65, &0x0021 ;#0xffbf e2dc: 21 00 lcdDelay(LCDDELAY1MS); //wait until instr is finished e2de: 3f 40 d0 07 mov #2000, r15 ;#0x07d0 e2e2: b0 12 16 e3 call #0xe316 P1OUT &= ~(LCD_E | LCD_RS | LCD_D4 | LCD_D5 | LCD_D6 | LCD_D7); //reset pins e2e6: f2 f0 21 00 and.b #33, &0x0021 ;#0x0021 e2ea: 21 00 } e2ec: 30 41 ret 0000e2ee : void lcdInit( void ) { // set the 2-line display mode lcdInstr(LCD_FUNCTIONSET | LCD_2LINES); e2ee: 7f 40 28 00 mov.b #40, r15 ;#0x0028 e2f2: b0 12 34 e2 call #0xe234 //lcdInstr(LCD_DISP_CTRL); //display off lcdInstr(LCD_CLEAR); e2f6: 5f 43 mov.b #1, r15 ;r3 As==01 e2f8: b0 12 34 e2 call #0xe234 lcdBusy(10); e2fc: 3f 40 0a 00 mov #10, r15 ;#0x000a e300: b0 12 3a e3 call #0xe33a //lcdInstr(LCD_ENTRYMODE | LCD_INC); lcdInstr(LCD_CURSORON); e304: 7f 40 0f 00 mov.b #15, r15 ;#0x000f e308: b0 12 34 e2 call #0xe234 //lcdInstr(LCD_DISP_CTRL); lcdInstr(LCD_CURSOROFF); //hide cursor e30c: 7f 40 0c 00 mov.b #12, r15 ;#0x000c e310: b0 12 34 e2 call #0xe234 //lcdInstr(LCD_CLEAR); //clear display } e314: 30 41 ret 0000e316 : //first arg comes in register R15 //the loop uses 3 cycles per round //the eight cycles come from the call overhead and ret // //delay_time = (1/MCLK)*(8+(3*n)) asm("lcdloop: dec %0\n jnz lcdloop\n ret" :: "r" (n)); e316: 1f 83 dec r15 e318: fe 23 jnz $-2 ;abs 0xe316 e31a: 30 41 ret 0000e31c : } void lcdPuts( char * str ) { e31c: 0b 12 push r11 e31e: 0b 4f mov r15, r11 while (*str != 0) { e320: 6e 4f mov.b @r15, r14 e322: 4e 93 tst.b r14 e324: 08 24 jz $+18 ;abs 0xe336 lcdPutc(*str++); //write char and increment pointer e326: 1b 53 inc r11 e328: 4f 4e mov.b r14, r15 e32a: b0 12 88 e2 call #0xe288 e32e: 6f 4b mov.b @r11, r15 e330: 4e 4f mov.b r15, r14 e332: 4f 93 tst.b r15 e334: f8 23 jnz $-14 ;abs 0xe326 } } e336: 3b 41 pop r11 e338: 30 41 ret 0000e33a : /** Wait until LCD signals that it is ready */ void lcdBusy(unsigned int time) { e33a: 0b 12 push r11 e33c: 0b 4f mov r15, r11 unsigned int time2=time; while(time2 > 0) e33e: 0f 93 tst r15 e340: 06 24 jz $+14 ;abs 0xe34e { lcdDelay(LCDDELAY1MS); e342: 3f 40 d0 07 mov #2000, r15 ;#0x07d0 e346: b0 12 16 e3 call #0xe316 time2--; e34a: 3b 53 add #-1, r11 ;r3 As==11 e34c: fa 23 jnz $-10 ;abs 0xe342 } } e34e: 3b 41 pop r11 e350: 30 41 ret e352: 53 71 .word 0x7153; ???? Illegal as 2-op instr e354: 75 61 addc.b @r1+, r5 e356: 72 65 addc.b @r5+, r2 e358: 57 61 76 65 addc.b 25974(r1),r7 ;0x6576(r1) e35c: 47 65 addc.b r5, r7 e35e: 6e 00 .word 0x006e; ???? e360: 42 79 subc.b r9, r2 e362: 20 4a br @r10 e364: 61 73 subc.b #2, r1 ;r3 As==10 e366: 70 65 addc.b @r5+, r0 e368: 72 20 jnz $+230 ;abs 0xe44e e36a: 4e 61 addc.b r1, r14 e36c: 6e 63 addc.b #2, r14 ;r3 As==10 e36e: 65 00 .word 0x0065; ???? e370: 25 75 subc @r5, r5 e372: 2e 25 jz $+606 ;abs 0xe5d0 e374: 75 4d mov.b @r13+, r5 e376: 48 7a subc.b r10, r8 e378: 20 25 jz $+578 ;abs 0xe5ba e37a: 75 25 jz $+748 ;abs 0xe666 e37c: 25 00 .word 0x0025; ???? e37e: 25 75 subc @r5, r5 e380: 2e 25 jz $+606 ;abs 0xe5de e382: 75 4b mov.b @r11+, r5 e384: 48 7a subc.b r10, r8 e386: 20 25 jz $+578 ;abs 0xe5c8 e388: 75 25 jz $+748 ;abs 0xe674 e38a: 25 00 .word 0x0025; ???? e38c: 25 75 subc @r5, r5 e38e: 2e 25 jz $+606 ;abs 0xe5ec e390: 75 48 mov.b @r8+, r5 e392: 7a 20 jnz $+246 ;abs 0xe488 e394: 25 75 subc @r5, r5 e396: 25 25 jz $+588 ;abs 0xe5e2 ... 0000e39a
: /** Main function with init an an endless loop that is synced with the interrupts trough the lowpower mode. */ int main(void) { e39a: 31 40 ee 02 mov #750, r1 ;#0x02ee e39e: 04 41 mov r1, r4 unsigned int freqs,freq, duty, fineFreq, outfi, outff,dutys; char line[16]; float outf; init(); e3a0: b0 12 f8 e0 call #0xe0f8 init_adc(); e3a4: b0 12 9c e0 call #0xe09c eint(); //enable interrupts e3a8: 32 d2 eint lcdOn(); //reset sequence e3aa: b0 12 a6 e1 call #0xe1a6 lcdInit(); e3ae: b0 12 ee e2 call #0xe2ee lcdInstr(LCD_LINE1); e3b2: 7f 40 80 ff mov.b #-128, r15 ;#0xff80 e3b6: b0 12 34 e2 call #0xe234 lcdPuts("SquareWaveGen"); e3ba: 3f 40 52 e3 mov #-7342, r15 ;#0xe352 e3be: b0 12 1c e3 call #0xe31c lcdInstr(LCD_LINE2); e3c2: 7f 40 c0 ff mov.b #-64, r15 ;#0xffc0 e3c6: b0 12 34 e2 call #0xe234 lcdPuts("By Jasper Nance"); e3ca: 3f 40 60 e3 mov #-7328, r15 ;#0xe360 e3ce: b0 12 1c e3 call #0xe31c lcdBusy(5000); //display my information for 5 seconds e3d2: 3f 40 88 13 mov #5000, r15 ;#0x1388 e3d6: b0 12 3a e3 call #0xe33a lcdInstr(LCD_CLEAR); e3da: 5f 43 mov.b #1, r15 ;r3 As==01 e3dc: b0 12 34 e2 call #0xe234 while (1) { //main loop, never ends... P2OUT |= LED_P2_RED; e3e0: f2 d0 10 00 bis.b #16, &0x0029 ;#0x0010 e3e4: 29 00 if(holdFreq == 0) e3e6: 82 93 00 02 tst &0x0200 e3ea: 41 20 jnz $+132 ;abs 0xe46e { P2OUT &= ~LED_P2_RED; e3ec: f2 f0 ef ff and.b #-17, &0x0029 ;#0xffef e3f0: 29 00 freqs = (sample_adc(INCH_1)+sample_adc(INCH_1)+sample_adc(INCH_1)+sample_adc(INCH_1))/4; e3f2: 3f 40 00 10 mov #4096, r15 ;#0x1000 e3f6: b0 12 b0 e0 call #0xe0b0 e3fa: 0b 4f mov r15, r11 e3fc: 3f 40 00 10 mov #4096, r15 ;#0x1000 e400: b0 12 b0 e0 call #0xe0b0 e404: 0b 5f add r15, r11 e406: 3f 40 00 10 mov #4096, r15 ;#0x1000 e40a: b0 12 b0 e0 call #0xe0b0 e40e: 0b 5f add r15, r11 e410: 3f 40 00 10 mov #4096, r15 ;#0x1000 e414: b0 12 b0 e0 call #0xe0b0 e418: 0b 5f add r15, r11 e41a: bf 31 jn $+896 ;abs 0xe79a e41c: 0b 11 rra r11 e41e: 84 4b 10 00 mov r11, 16(r4) ;0x0010(r4) e422: 14 11 10 00 rra 16(r4) ;0x0010(r4) freqs = 2.0 * pow2f(1.01021526,(1023.0-freqs)); e426: 1e 44 10 00 mov 16(r4), r14 ;0x0010(r4) e42a: 0f 4e mov r14, r15 e42c: 0f 5f rla r15 e42e: 0f 7f subc r15, r15 e430: 3f e3 inv r15 e432: b0 12 e2 ee call #0xeee2 e436: 84 93 10 00 tst 16(r4) ;0x0010(r4) e43a: a9 39 jl $+852 ;abs 0xe78e e43c: 0c 4e mov r14, r12 e43e: 0d 4f mov r15, r13 e440: 3e 40 00 c0 mov #-16384,r14 ;#0xc000 e444: 3f 40 7f 44 mov #17535, r15 ;#0x447f e448: b0 12 54 ea call #0xea54 e44c: b0 12 74 ef call #0xef74 e450: 0d 4e mov r14, r13 e452: 3e 40 bc 4e mov #20156, r14 ;#0x4ebc e456: 3f 40 81 3f mov #16257, r15 ;#0x3f81 e45a: b0 12 74 e1 call #0xe174 e45e: 0c 4e mov r14, r12 e460: 0d 4f mov r15, r13 e462: b0 12 08 ea call #0xea08 e466: b0 12 a8 e7 call #0xe7a8 e46a: 84 4e 10 00 mov r14, 16(r4) ;0x0010(r4) } fineFreq = (sample_adc(INCH_0)+sample_adc(INCH_0)+sample_adc(INCH_0)+sample_adc(INCH_0))/4; e46e: 0f 43 clr r15 e470: b0 12 b0 e0 call #0xe0b0 e474: 0b 4f mov r15, r11 e476: 0f 43 clr r15 e478: b0 12 b0 e0 call #0xe0b0 e47c: 0b 5f add r15, r11 e47e: 0f 43 clr r15 e480: b0 12 b0 e0 call #0xe0b0 e484: 0b 5f add r15, r11 e486: 0f 43 clr r15 e488: b0 12 b0 e0 call #0xe0b0 e48c: 0b 5f add r15, r11 e48e: 7c 31 jn $+762 ;abs 0xe788 e490: 0b 11 rra r11 e492: 0b 11 rra r11 fineFreq = freqs*0.5*(fineFreq/1023.0); e494: 1e 44 10 00 mov 16(r4), r14 ;0x0010(r4) e498: 0f 4e mov r14, r15 e49a: 0f 5f rla r15 e49c: 0f 7f subc r15, r15 e49e: 3f e3 inv r15 e4a0: b0 12 e2 ee call #0xeee2 e4a4: 84 93 10 00 tst 16(r4) ;0x0010(r4) e4a8: 69 39 jl $+724 ;abs 0xe77c e4aa: 0c 43 clr r12 e4ac: 3d 40 00 3f mov #16128, r13 ;#0x3f00 e4b0: b0 12 a4 ea call #0xeaa4 e4b4: 09 4e mov r14, r9 e4b6: 0a 4f mov r15, r10 e4b8: 0e 4b mov r11, r14 e4ba: 0f 4e mov r14, r15 e4bc: 0f 5f rla r15 e4be: 0f 7f subc r15, r15 e4c0: 3f e3 inv r15 e4c2: b0 12 e2 ee call #0xeee2 e4c6: 0b 93 tst r11 e4c8: 53 39 jl $+680 ;abs 0xe770 e4ca: 3c 40 00 c0 mov #-16384,r12 ;#0xc000 e4ce: 3d 40 7f 44 mov #17535, r13 ;#0x447f e4d2: b0 12 0e ed call #0xed0e e4d6: 0c 4e mov r14, r12 e4d8: 0d 4f mov r15, r13 e4da: 0e 49 mov r9, r14 e4dc: 0f 4a mov r10, r15 e4de: b0 12 a4 ea call #0xeaa4 e4e2: b0 12 a8 e7 call #0xe7a8 if((unsigned long)(freqs + fineFreq) > 65535) freq = 65535; else freq = freqs + fineFreq; e4e6: 19 44 10 00 mov 16(r4), r9 ;0x0010(r4) e4ea: 09 5e add r14, r9 dutys = (sample_adc(INCH_2)+sample_adc(INCH_2)+sample_adc(INCH_2)+sample_adc(INCH_2))/4; e4ec: 3f 40 00 20 mov #8192, r15 ;#0x2000 e4f0: b0 12 b0 e0 call #0xe0b0 e4f4: 0b 4f mov r15, r11 e4f6: 3f 40 00 20 mov #8192, r15 ;#0x2000 e4fa: b0 12 b0 e0 call #0xe0b0 e4fe: 0b 5f add r15, r11 e500: 3f 40 00 20 mov #8192, r15 ;#0x2000 e504: b0 12 b0 e0 call #0xe0b0 e508: 0b 5f add r15, r11 e50a: 3f 40 00 20 mov #8192, r15 ;#0x2000 e50e: b0 12 b0 e0 call #0xe0b0 e512: 0b 5f add r15, r11 e514: 2a 31 jn $+598 ;abs 0xe76a e516: 08 4b mov r11, r8 e518: 08 11 rra r8 e51a: 08 11 rra r8 if(freq < 2) e51c: 29 93 cmp #2, r9 ;r3 As==10 e51e: 01 2c jc $+4 ;abs 0xe522 freq = 2; e520: 29 43 mov #2, r9 ;r3 As==10 duty = ((freq-1.0) / 1023.0)*(dutys); e522: 0e 49 mov r9, r14 e524: 0f 4e mov r14, r15 e526: 0f 5f rla r15 e528: 0f 7f subc r15, r15 e52a: 3f e3 inv r15 e52c: b0 12 e2 ee call #0xeee2 e530: 09 93 tst r9 e532: 15 39 jl $+556 ;abs 0xe75e e534: 0c 43 clr r12 e536: 3d 40 80 3f mov #16256, r13 ;#0x3f80 e53a: b0 12 54 ea call #0xea54 e53e: 3c 40 00 c0 mov #-16384,r12 ;#0xc000 e542: 3d 40 7f 44 mov #17535, r13 ;#0x447f e546: b0 12 0e ed call #0xed0e e54a: 0a 4e mov r14, r10 e54c: 0b 4f mov r15, r11 e54e: 06 48 mov r8, r6 e550: 07 46 mov r6, r7 e552: 07 57 rla r7 e554: 07 77 subc r7, r7 e556: 37 e3 inv r7 e558: 0e 46 mov r6, r14 e55a: 0f 47 mov r7, r15 e55c: b0 12 e2 ee call #0xeee2 e560: 08 93 tst r8 e562: f7 38 jl $+496 ;abs 0xe752 e564: 0c 4e mov r14, r12 e566: 0d 4f mov r15, r13 e568: 0e 4a mov r10, r14 e56a: 0f 4b mov r11, r15 e56c: b0 12 a4 ea call #0xeaa4 e570: b0 12 a8 e7 call #0xe7a8 if(duty < 1) e574: 0e 93 tst r14 e576: 01 20 jnz $+4 ;abs 0xe57a duty = 1; e578: 1e 43 mov #1, r14 ;r3 As==01 TACCR0 = freq; e57a: 82 49 72 01 mov r9, &0x0172 TACCR1 = duty; e57e: 82 4e 74 01 mov r14, &0x0174 outf = 4e6/(freq+1); e582: 0b 49 mov r9, r11 e584: 1b 53 inc r11 e586: 0e 4b mov r11, r14 e588: 0f 4e mov r14, r15 e58a: 0f 5f rla r15 e58c: 0f 7f subc r15, r15 e58e: 3f e3 inv r15 e590: b0 12 e2 ee call #0xeee2 e594: 0b 93 tst r11 e596: d7 38 jl $+432 ;abs 0xe746 e598: 0c 4e mov r14, r12 e59a: 0d 4f mov r15, r13 e59c: 3e 40 00 24 mov #9216, r14 ;#0x2400 e5a0: 3f 40 74 4a mov #19060, r15 ;#0x4a74 e5a4: b0 12 0e ed call #0xed0e e5a8: 09 4e mov r14, r9 e5aa: 0a 4f mov r15, r10 dutys = (dutys/1023.0)*100.0; e5ac: 0e 46 mov r6, r14 e5ae: 0f 47 mov r7, r15 e5b0: b0 12 e2 ee call #0xeee2 e5b4: 08 93 tst r8 e5b6: c1 38 jl $+388 ;abs 0xe73a e5b8: 3c 40 00 c0 mov #-16384,r12 ;#0xc000 e5bc: 3d 40 7f 44 mov #17535, r13 ;#0x447f e5c0: b0 12 0e ed call #0xed0e e5c4: 0c 43 clr r12 e5c6: 3d 40 c8 42 mov #17096, r13 ;#0x42c8 e5ca: b0 12 a4 ea call #0xeaa4 e5ce: b0 12 a8 e7 call #0xe7a8 e5d2: 05 4e mov r14, r5 e5d4: 06 4f mov r15, r6 if(outf >= 1e6) e5d6: 3c 40 00 24 mov #9216, r12 ;#0x2400 e5da: 3d 40 74 49 mov #18804, r13 ;#0x4974 e5de: 0e 49 mov r9, r14 e5e0: 0f 4a mov r10, r15 e5e2: b0 12 80 ee call #0xee80 e5e6: 0f 93 tst r15 e5e8: 47 38 jl $+144 ;abs 0xe678 { outfi = outf / 1e6; e5ea: 3c 40 00 24 mov #9216, r12 ;#0x2400 e5ee: 3d 40 74 49 mov #18804, r13 ;#0x4974 e5f2: 0e 49 mov r9, r14 e5f4: 0f 4a mov r10, r15 e5f6: b0 12 0e ed call #0xed0e e5fa: b0 12 a8 e7 call #0xe7a8 e5fe: 07 4e mov r14, r7 e600: 08 4f mov r15, r8 outff = (outf-outfi*1e6) / 1e4; e602: 0f 4e mov r14, r15 e604: 0f 5f rla r15 e606: 0f 7f subc r15, r15 e608: 3f e3 inv r15 e60a: b0 12 e2 ee call #0xeee2 e60e: 07 93 tst r7 e610: 2d 38 jl $+92 ;abs 0xe66c e612: 3c 40 00 24 mov #9216, r12 ;#0x2400 e616: 3d 40 74 49 mov #18804, r13 ;#0x4974 e61a: b0 12 a4 ea call #0xeaa4 e61e: 0c 4e mov r14, r12 e620: 0d 4f mov r15, r13 e622: 0e 49 mov r9, r14 e624: 0f 4a mov r10, r15 e626: b0 12 54 ea call #0xea54 e62a: 3c 40 00 40 mov #16384, r12 ;#0x4000 e62e: 3d 40 1c 46 mov #17948, r13 ;#0x461c e632: b0 12 0e ed call #0xed0e e636: b0 12 a8 e7 call #0xe7a8 snprintf(line, 16, "%u.%uMHz %u%%", outfi,outff, dutys); //send the temperature to the ground e63a: 05 12 push r5 e63c: 0e 12 push r14 e63e: 07 12 push r7 e640: 30 12 70 e3 push #-7312 ;#0xe370 e644: 30 12 10 00 push #16 ;#0x0010 e648: 04 12 push r4 e64a: b0 12 d6 f3 call #0xf3d6 e64e: 31 50 0c 00 add #12, r1 ;#0x000c snprintf(line, 16, "%u.%uHz %u%%", outfi,outff, dutys); //send the temperature to the ground } lcdInstr(LCD_CLEAR); e652: 5f 43 mov.b #1, r15 ;r3 As==01 e654: b0 12 34 e2 call #0xe234 lcdInstr(LCD_LINE1); e658: 7f 40 80 ff mov.b #-128, r15 ;#0xff80 e65c: b0 12 34 e2 call #0xe234 lcdPuts(line); e660: 0f 44 mov r4, r15 e662: b0 12 1c e3 call #0xe31c LPM0; //sync, wakeup by irq e666: 32 d0 10 00 bis #16, r2 ;#0x0010 e66a: ba 3e jmp $-650 ;abs 0xe3e0 e66c: 0c 43 clr r12 e66e: 3d 40 80 47 mov #18304, r13 ;#0x4780 e672: b0 12 08 ea call #0xea08 e676: cd 3f jmp $-100 ;abs 0xe612 outfi = outf / 1e6; outff = (outf-outfi*1e6) / 1e4; snprintf(line, 16, "%u.%uMHz %u%%", outfi,outff, dutys); //send the temperature to the ground } else if(outf >= 1e3) e678: 0c 43 clr r12 e67a: 3d 40 7a 44 mov #17530, r13 ;#0x447a e67e: 0e 49 mov r9, r14 e680: 0f 4a mov r10, r15 e682: b0 12 80 ee call #0xee80 e686: 0f 93 tst r15 e688: 31 38 jl $+100 ;abs 0xe6ec { outfi = outf / 1e3; e68a: 0c 43 clr r12 e68c: 3d 40 7a 44 mov #17530, r13 ;#0x447a e690: 0e 49 mov r9, r14 e692: 0f 4a mov r10, r15 e694: b0 12 0e ed call #0xed0e e698: b0 12 a8 e7 call #0xe7a8 e69c: 07 4e mov r14, r7 e69e: 08 4f mov r15, r8 outff = (outf-outfi*1e3) / 1e1; e6a0: 0f 4e mov r14, r15 e6a2: 0f 5f rla r15 e6a4: 0f 7f subc r15, r15 e6a6: 3f e3 inv r15 e6a8: b0 12 e2 ee call #0xeee2 e6ac: 07 93 tst r7 e6ae: 18 38 jl $+50 ;abs 0xe6e0 e6b0: 0c 43 clr r12 e6b2: 3d 40 7a 44 mov #17530, r13 ;#0x447a e6b6: b0 12 a4 ea call #0xeaa4 e6ba: 0c 4e mov r14, r12 e6bc: 0d 4f mov r15, r13 e6be: 0e 49 mov r9, r14 e6c0: 0f 4a mov r10, r15 e6c2: b0 12 54 ea call #0xea54 e6c6: 0c 43 clr r12 e6c8: 3d 40 20 41 mov #16672, r13 ;#0x4120 e6cc: b0 12 0e ed call #0xed0e e6d0: b0 12 a8 e7 call #0xe7a8 snprintf(line, 16, "%u.%uKHz %u%%", outfi,outff, dutys); //send the temperature to the ground e6d4: 05 12 push r5 e6d6: 0e 12 push r14 e6d8: 07 12 push r7 e6da: 30 12 7e e3 push #-7298 ;#0xe37e e6de: b2 3f jmp $-154 ;abs 0xe644 e6e0: 0c 43 clr r12 e6e2: 3d 40 80 47 mov #18304, r13 ;#0x4780 e6e6: b0 12 08 ea call #0xea08 e6ea: e2 3f jmp $-58 ;abs 0xe6b0 } else { outfi = outf; e6ec: 0e 49 mov r9, r14 e6ee: 0f 4a mov r10, r15 e6f0: b0 12 a8 e7 call #0xe7a8 e6f4: 07 4e mov r14, r7 e6f6: 08 4f mov r15, r8 outff = (outf-outfi) *100; e6f8: 0f 4e mov r14, r15 e6fa: 0f 5f rla r15 e6fc: 0f 7f subc r15, r15 e6fe: 3f e3 inv r15 e700: b0 12 e2 ee call #0xeee2 e704: 07 93 tst r7 e706: 13 38 jl $+40 ;abs 0xe72e e708: 0c 4e mov r14, r12 e70a: 0d 4f mov r15, r13 e70c: 0e 49 mov r9, r14 e70e: 0f 4a mov r10, r15 e710: b0 12 54 ea call #0xea54 e714: 0c 43 clr r12 e716: 3d 40 c8 42 mov #17096, r13 ;#0x42c8 e71a: b0 12 a4 ea call #0xeaa4 e71e: b0 12 a8 e7 call #0xe7a8 snprintf(line, 16, "%u.%uHz %u%%", outfi,outff, dutys); //send the temperature to the ground e722: 05 12 push r5 e724: 0e 12 push r14 e726: 07 12 push r7 e728: 30 12 8c e3 push #-7284 ;#0xe38c e72c: 8b 3f jmp $-232 ;abs 0xe644 e72e: 0c 43 clr r12 e730: 3d 40 80 47 mov #18304, r13 ;#0x4780 e734: b0 12 08 ea call #0xea08 e738: e7 3f jmp $-48 ;abs 0xe708 e73a: 0c 43 clr r12 e73c: 3d 40 80 47 mov #18304, r13 ;#0x4780 e740: b0 12 08 ea call #0xea08 e744: 39 3f jmp $-396 ;abs 0xe5b8 e746: 0c 43 clr r12 e748: 3d 40 80 47 mov #18304, r13 ;#0x4780 e74c: b0 12 08 ea call #0xea08 e750: 23 3f jmp $-440 ;abs 0xe598 e752: 0c 43 clr r12 e754: 3d 40 80 47 mov #18304, r13 ;#0x4780 e758: b0 12 08 ea call #0xea08 e75c: 03 3f jmp $-504 ;abs 0xe564 e75e: 0c 43 clr r12 e760: 3d 40 80 47 mov #18304, r13 ;#0x4780 e764: b0 12 08 ea call #0xea08 e768: e5 3e jmp $-564 ;abs 0xe534 e76a: 3b 50 03 00 add #3, r11 ;#0x0003 e76e: d3 3e jmp $-600 ;abs 0xe516 e770: 0c 43 clr r12 e772: 3d 40 80 47 mov #18304, r13 ;#0x4780 e776: b0 12 08 ea call #0xea08 e77a: a7 3e jmp $-688 ;abs 0xe4ca e77c: 0c 43 clr r12 e77e: 3d 40 80 47 mov #18304, r13 ;#0x4780 e782: b0 12 08 ea call #0xea08 e786: 91 3e jmp $-732 ;abs 0xe4aa e788: 3b 50 03 00 add #3, r11 ;#0x0003 e78c: 81 3e jmp $-764 ;abs 0xe490 e78e: 0c 43 clr r12 e790: 3d 40 80 47 mov #18304, r13 ;#0x4780 e794: b0 12 08 ea call #0xea08 e798: 51 3e jmp $-860 ;abs 0xe43c e79a: 3b 50 03 00 add #3, r11 ;#0x0003 e79e: 3e 3e jmp $-898 ;abs 0xe41c lcdPuts(line); LPM0; //sync, wakeup by irq } } e7a0: 31 50 12 00 add #18, r1 ;#0x0012 e7a4: 30 40 b0 fa br #0xfab0 0000e7a8 <__fixunssfsi>: e7a8: 0b 12 push r11 e7aa: 0a 12 push r10 e7ac: 0a 4e mov r14, r10 e7ae: 0b 4f mov r15, r11 e7b0: 0c 43 clr r12 e7b2: 3d 40 00 4f mov #20224, r13 ;#0x4f00 e7b6: b0 12 80 ee call #0xee80 e7ba: 0f 93 tst r15 e7bc: 0d 38 jl $+28 ;abs 0xe7d8 e7be: 0c 43 clr r12 e7c0: 3d 40 00 cf mov #-12544,r13 ;#0xcf00 e7c4: 0e 4a mov r10, r14 e7c6: 0f 4b mov r11, r15 e7c8: b0 12 08 ea call #0xea08 e7cc: b0 12 74 ef call #0xef74 e7d0: 0e 53 add #0, r14 ;r3 As==00 e7d2: 3f 60 00 80 addc #-32768,r15 ;#0x8000 e7d6: 04 3c jmp $+10 ;abs 0xe7e0 e7d8: 0e 4a mov r10, r14 e7da: 0f 4b mov r11, r15 e7dc: b0 12 74 ef call #0xef74 e7e0: 3a 41 pop r10 e7e2: 3b 41 pop r11 e7e4: 30 41 ret 0000e7e6 <_fpadd_parts>: e7e6: 0b 12 push r11 e7e8: 0a 12 push r10 e7ea: 09 12 push r9 e7ec: 08 12 push r8 e7ee: 07 12 push r7 e7f0: 06 12 push r6 e7f2: 05 12 push r5 e7f4: 0b 4f mov r15, r11 e7f6: 0a 4e mov r14, r10 e7f8: 09 4d mov r13, r9 e7fa: 0f 43 clr r15 e7fc: 6e 4b mov.b @r11, r14 e7fe: 6e 93 cmp.b #2, r14 ;r3 As==10 e800: 01 2c jc $+4 ;abs 0xe804 e802: 1f 43 mov #1, r15 ;r3 As==01 e804: 0f 93 tst r15 e806: 18 20 jnz $+50 ;abs 0xe838 e808: 0c 43 clr r12 e80a: 6f 4a mov.b @r10, r15 e80c: 6f 93 cmp.b #2, r15 ;r3 As==10 e80e: 01 2c jc $+4 ;abs 0xe812 e810: 1c 43 mov #1, r12 ;r3 As==01 e812: 0c 93 tst r12 e814: 3c 20 jnz $+122 ;abs 0xe88e e816: 0c 43 clr r12 e818: 6e 92 cmp.b #4, r14 ;r2 As==10 e81a: eb 24 jz $+472 ;abs 0xe9f2 e81c: 0c 93 tst r12 e81e: 10 24 jz $+34 ;abs 0xe840 e820: 0e 43 clr r14 e822: 6f 92 cmp.b #4, r15 ;r2 As==10 e824: 0b 24 jz $+24 ;abs 0xe83c e826: 0e 93 tst r14 e828: 07 24 jz $+16 ;abs 0xe838 e82a: db 9a 01 00 cmp.b 1(r10), 1(r11) ;0x0001(r10), 0x0001(r11) e82e: 01 00 e830: 03 24 jz $+8 ;abs 0xe838 e832: 3d 40 10 f0 mov #-4080, r13 ;#0xf010 e836: df 3c jmp $+448 ;abs 0xe9f6 e838: 0d 4b mov r11, r13 e83a: dd 3c jmp $+444 ;abs 0xe9f6 e83c: 1e 43 mov #1, r14 ;r3 As==01 e83e: f3 3f jmp $-24 ;abs 0xe826 e840: 0d 43 clr r13 e842: 6f 92 cmp.b #4, r15 ;r2 As==10 e844: d4 24 jz $+426 ;abs 0xe9ee e846: 0d 93 tst r13 e848: 22 20 jnz $+70 ;abs 0xe88e e84a: 0d 43 clr r13 e84c: 6f 93 cmp.b #2, r15 ;r3 As==10 e84e: cd 24 jz $+412 ;abs 0xe9ea e850: 0d 93 tst r13 e852: 18 24 jz $+50 ;abs 0xe884 e854: 0f 43 clr r15 e856: 6e 93 cmp.b #2, r14 ;r3 As==10 e858: 13 24 jz $+40 ;abs 0xe880 e85a: 0f 93 tst r15 e85c: ed 27 jz $-36 ;abs 0xe838 e85e: 0f 4b mov r11, r15 e860: b9 4f 00 00 mov @r15+, 0(r9) ;0x0000(r9) e864: b9 4f 02 00 mov @r15+, 2(r9) ;0x0002(r9) e868: b9 4f 04 00 mov @r15+, 4(r9) ;0x0004(r9) e86c: b9 4f 06 00 mov @r15+, 6(r9) ;0x0006(r9) e870: 5b 4b 01 00 mov.b 1(r11), r11 ;0x0001(r11) e874: 5b fa 01 00 and.b 1(r10), r11 ;0x0001(r10) e878: c9 4b 01 00 mov.b r11, 1(r9) ;0x0001(r9) e87c: 0d 49 mov r9, r13 e87e: bb 3c jmp $+376 ;abs 0xe9f6 e880: 1f 43 mov #1, r15 ;r3 As==01 e882: eb 3f jmp $-40 ;abs 0xe85a e884: 0f 43 clr r15 e886: 6e 93 cmp.b #2, r14 ;r3 As==10 e888: ae 24 jz $+350 ;abs 0xe9e6 e88a: 0f 93 tst r15 e88c: 02 24 jz $+6 ;abs 0xe892 e88e: 0d 4a mov r10, r13 e890: b2 3c jmp $+358 ;abs 0xe9f6 e892: 15 4b 02 00 mov 2(r11), r5 ;0x0002(r11) e896: 16 4a 02 00 mov 2(r10), r6 ;0x0002(r10) e89a: 1c 4b 04 00 mov 4(r11), r12 ;0x0004(r11) e89e: 1d 4b 06 00 mov 6(r11), r13 ;0x0006(r11) e8a2: 17 4a 04 00 mov 4(r10), r7 ;0x0004(r10) e8a6: 18 4a 06 00 mov 6(r10), r8 ;0x0006(r10) e8aa: 0f 45 mov r5, r15 e8ac: 0f 86 sub r6, r15 e8ae: 98 30 jn $+306 ;abs 0xe9e0 e8b0: 3f 90 20 00 cmp #32, r15 ;#0x0020 e8b4: 8c 34 jge $+282 ;abs 0xe9ce e8b6: 06 95 cmp r5, r6 e8b8: 10 34 jge $+34 ;abs 0xe8da e8ba: 0f 45 mov r5, r15 e8bc: 0f 86 sub r6, r15 e8be: 06 4f mov r15, r6 e8c0: 36 53 add #-1, r6 ;r3 As==11 e8c2: 0e 47 mov r7, r14 e8c4: 0f 48 mov r8, r15 e8c6: 1e f3 and #1, r14 ;r3 As==01 e8c8: 0f f3 and #0, r15 ;r3 As==00 e8ca: 12 c3 clrc e8cc: 08 10 rrc r8 e8ce: 07 10 rrc r7 e8d0: 07 de bis r14, r7 e8d2: 08 df bis r15, r8 e8d4: 06 93 tst r6 e8d6: f4 23 jnz $-22 ;abs 0xe8c0 e8d8: 06 45 mov r5, r6 e8da: 05 96 cmp r6, r5 e8dc: 0c 34 jge $+26 ;abs 0xe8f6 e8de: 15 53 inc r5 e8e0: 0e 4c mov r12, r14 e8e2: 0f 4d mov r13, r15 e8e4: 1e f3 and #1, r14 ;r3 As==01 e8e6: 0f f3 and #0, r15 ;r3 As==00 e8e8: 12 c3 clrc e8ea: 0d 10 rrc r13 e8ec: 0c 10 rrc r12 e8ee: 0c de bis r14, r12 e8f0: 0d df bis r15, r13 e8f2: 05 96 cmp r6, r5 e8f4: f4 3b jl $-22 ;abs 0xe8de e8f6: 5f 4b 01 00 mov.b 1(r11), r15 ;0x0001(r11) e8fa: 5f 9a 01 00 cmp.b 1(r10), r15 ;0x0001(r10) e8fe: 59 24 jz $+180 ;abs 0xe9b2 e900: 4f 93 tst.b r15 e902: 52 24 jz $+166 ;abs 0xe9a8 e904: 0e 47 mov r7, r14 e906: 0f 48 mov r8, r15 e908: 0e 8c sub r12, r14 e90a: 0f 7d subc r13, r15 e90c: 0f 93 tst r15 e90e: 43 38 jl $+136 ;abs 0xe996 e910: c9 43 01 00 mov.b #0, 1(r9) ;r3 As==00, 0x0001(r9) e914: 89 45 02 00 mov r5, 2(r9) ;0x0002(r9) e918: 89 4e 04 00 mov r14, 4(r9) ;0x0004(r9) e91c: 89 4f 06 00 mov r15, 6(r9) ;0x0006(r9) e920: 1b 49 04 00 mov 4(r9), r11 ;0x0004(r9) e924: 1c 49 06 00 mov 6(r9), r12 ;0x0006(r9) e928: 0e 4b mov r11, r14 e92a: 0f 4c mov r12, r15 e92c: 3e 53 add #-1, r14 ;r3 As==11 e92e: 3f 63 addc #-1, r15 ;r3 As==11 e930: 3e 83 sub #-1, r14 ;r3 As==11 e932: 3f 70 ff 3f subc #16383, r15 ;#0x3fff e936: 19 2c jc $+52 ;abs 0xe96a e938: 0e 4b mov r11, r14 e93a: 0f 4c mov r12, r15 e93c: 0e 5e rla r14 e93e: 0f 6f rlc r15 e940: 89 4e 04 00 mov r14, 4(r9) ;0x0004(r9) e944: 89 4f 06 00 mov r15, 6(r9) ;0x0006(r9) e948: b9 53 02 00 add #-1, 2(r9) ;r3 As==11, 0x0002(r9) e94c: 0c 4e mov r14, r12 e94e: 0d 4f mov r15, r13 e950: 3c 53 add #-1, r12 ;r3 As==11 e952: 3d 63 addc #-1, r13 ;r3 As==11 e954: 3c 83 sub #-1, r12 ;r3 As==11 e956: 3d 70 ff 3f subc #16383, r13 ;#0x3fff e95a: 05 2c jc $+12 ;abs 0xe966 e95c: 1b 49 04 00 mov 4(r9), r11 ;0x0004(r9) e960: 1c 49 06 00 mov 6(r9), r12 ;0x0006(r9) e964: e9 3f jmp $-44 ;abs 0xe938 e966: 0b 4e mov r14, r11 e968: 0c 4f mov r15, r12 e96a: f9 40 03 00 mov.b #3, 0(r9) ;#0x0003, 0x0000(r9) e96e: 00 00 e970: 3c 90 00 80 cmp #-32768,r12 ;#0x8000 e974: 83 2b jnc $-248 ;abs 0xe87c e976: 0e 4b mov r11, r14 e978: 0f 4c mov r12, r15 e97a: 12 c3 clrc e97c: 0f 10 rrc r15 e97e: 0e 10 rrc r14 e980: 1b f3 and #1, r11 ;r3 As==01 e982: 0c f3 and #0, r12 ;r3 As==00 e984: 0b de bis r14, r11 e986: 0c df bis r15, r12 e988: 89 4b 04 00 mov r11, 4(r9) ;0x0004(r9) e98c: 89 4c 06 00 mov r12, 6(r9) ;0x0006(r9) e990: 99 53 02 00 inc 2(r9) ;0x0002(r9) e994: 73 3f jmp $-280 ;abs 0xe87c e996: d9 43 01 00 mov.b #1, 1(r9) ;r3 As==01, 0x0001(r9) e99a: 89 45 02 00 mov r5, 2(r9) ;0x0002(r9) e99e: 3e e3 inv r14 e9a0: 3f e3 inv r15 e9a2: 1e 53 inc r14 e9a4: 0f 63 adc r15 e9a6: b8 3f jmp $-142 ;abs 0xe918 e9a8: 0e 4c mov r12, r14 e9aa: 0f 4d mov r13, r15 e9ac: 0e 87 sub r7, r14 e9ae: 0f 78 subc r8, r15 e9b0: ad 3f jmp $-164 ;abs 0xe90c e9b2: d9 4b 01 00 mov.b 1(r11), 1(r9) ;0x0001(r11), 0x0001(r9) e9b6: 01 00 e9b8: 89 45 02 00 mov r5, 2(r9) ;0x0002(r9) e9bc: 0e 4c mov r12, r14 e9be: 0f 4d mov r13, r15 e9c0: 0e 57 add r7, r14 e9c2: 0f 68 addc r8, r15 e9c4: 89 4e 04 00 mov r14, 4(r9) ;0x0004(r9) e9c8: 89 4f 06 00 mov r15, 6(r9) ;0x0006(r9) e9cc: cc 3f jmp $-102 ;abs 0xe966 e9ce: 06 95 cmp r5, r6 e9d0: 03 34 jge $+8 ;abs 0xe9d8 e9d2: 07 43 clr r7 e9d4: 08 43 clr r8 e9d6: 8f 3f jmp $-224 ;abs 0xe8f6 e9d8: 05 46 mov r6, r5 e9da: 0c 43 clr r12 e9dc: 0d 43 clr r13 e9de: 8b 3f jmp $-232 ;abs 0xe8f6 e9e0: 3f e3 inv r15 e9e2: 1f 53 inc r15 e9e4: 65 3f jmp $-308 ;abs 0xe8b0 e9e6: 1f 43 mov #1, r15 ;r3 As==01 e9e8: 50 3f jmp $-350 ;abs 0xe88a e9ea: 1d 43 mov #1, r13 ;r3 As==01 e9ec: 31 3f jmp $-412 ;abs 0xe850 e9ee: 1d 43 mov #1, r13 ;r3 As==01 e9f0: 2a 3f jmp $-426 ;abs 0xe846 e9f2: 1c 43 mov #1, r12 ;r3 As==01 e9f4: 13 3f jmp $-472 ;abs 0xe81c e9f6: 0f 4d mov r13, r15 e9f8: 35 41 pop r5 e9fa: 36 41 pop r6 e9fc: 37 41 pop r7 e9fe: 38 41 pop r8 ea00: 39 41 pop r9 ea02: 3a 41 pop r10 ea04: 3b 41 pop r11 ea06: 30 41 ret 0000ea08 <__addsf3>: ea08: 0b 12 push r11 ea0a: 31 80 20 00 sub #32, r1 ;#0x0020 ea0e: 81 4e 18 00 mov r14, 24(r1) ;0x0018(r1) ea12: 81 4f 1a 00 mov r15, 26(r1) ;0x001a(r1) ea16: 81 4c 1c 00 mov r12, 28(r1) ;0x001c(r1) ea1a: 81 4d 1e 00 mov r13, 30(r1) ;0x001e(r1) ea1e: 0e 41 mov r1, r14 ea20: 0f 41 mov r1, r15 ea22: 3f 50 18 00 add #24, r15 ;#0x0018 ea26: b0 12 c8 f1 call #0xf1c8 ea2a: 0b 41 mov r1, r11 ea2c: 3b 52 add #8, r11 ;r2 As==11 ea2e: 0e 4b mov r11, r14 ea30: 0f 41 mov r1, r15 ea32: 3f 50 1c 00 add #28, r15 ;#0x001c ea36: b0 12 c8 f1 call #0xf1c8 ea3a: 0d 41 mov r1, r13 ea3c: 3d 50 10 00 add #16, r13 ;#0x0010 ea40: 0e 4b mov r11, r14 ea42: 0f 41 mov r1, r15 ea44: b0 12 e6 e7 call #0xe7e6 ea48: b0 12 18 f0 call #0xf018 ea4c: 31 50 20 00 add #32, r1 ;#0x0020 ea50: 3b 41 pop r11 ea52: 30 41 ret 0000ea54 <__subsf3>: ea54: 0b 12 push r11 ea56: 31 80 20 00 sub #32, r1 ;#0x0020 ea5a: 81 4e 18 00 mov r14, 24(r1) ;0x0018(r1) ea5e: 81 4f 1a 00 mov r15, 26(r1) ;0x001a(r1) ea62: 81 4c 1c 00 mov r12, 28(r1) ;0x001c(r1) ea66: 81 4d 1e 00 mov r13, 30(r1) ;0x001e(r1) ea6a: 0e 41 mov r1, r14 ea6c: 0f 41 mov r1, r15 ea6e: 3f 50 18 00 add #24, r15 ;#0x0018 ea72: b0 12 c8 f1 call #0xf1c8 ea76: 0b 41 mov r1, r11 ea78: 3b 52 add #8, r11 ;r2 As==11 ea7a: 0e 4b mov r11, r14 ea7c: 0f 41 mov r1, r15 ea7e: 3f 50 1c 00 add #28, r15 ;#0x001c ea82: b0 12 c8 f1 call #0xf1c8 ea86: d1 e3 09 00 xor.b #1, 9(r1) ;r3 As==01, 0x0009(r1) ea8a: 0d 41 mov r1, r13 ea8c: 3d 50 10 00 add #16, r13 ;#0x0010 ea90: 0e 4b mov r11, r14 ea92: 0f 41 mov r1, r15 ea94: b0 12 e6 e7 call #0xe7e6 ea98: b0 12 18 f0 call #0xf018 ea9c: 31 50 20 00 add #32, r1 ;#0x0020 eaa0: 3b 41 pop r11 eaa2: 30 41 ret 0000eaa4 <__mulsf3>: eaa4: 0b 12 push r11 eaa6: 31 80 20 00 sub #32, r1 ;#0x0020 eaaa: 81 4e 18 00 mov r14, 24(r1) ;0x0018(r1) eaae: 81 4f 1a 00 mov r15, 26(r1) ;0x001a(r1) eab2: 81 4c 1c 00 mov r12, 28(r1) ;0x001c(r1) eab6: 81 4d 1e 00 mov r13, 30(r1) ;0x001e(r1) eaba: 0e 41 mov r1, r14 eabc: 0f 41 mov r1, r15 eabe: 3f 50 18 00 add #24, r15 ;#0x0018 eac2: b0 12 c8 f1 call #0xf1c8 eac6: 0b 41 mov r1, r11 eac8: 3b 52 add #8, r11 ;r2 As==11 eaca: 0e 4b mov r11, r14 eacc: 0f 41 mov r1, r15 eace: 3f 50 1c 00 add #28, r15 ;#0x001c ead2: b0 12 c8 f1 call #0xf1c8 ead6: 0d 41 mov r1, r13 ead8: 3d 50 10 00 add #16, r13 ;#0x0010 eadc: 0e 4b mov r11, r14 eade: 0f 41 mov r1, r15 eae0: b0 12 f0 ea call #0xeaf0 eae4: b0 12 18 f0 call #0xf018 eae8: 31 50 20 00 add #32, r1 ;#0x0020 eaec: 3b 41 pop r11 eaee: 30 41 ret 0000eaf0 <_fpmul_parts>: eaf0: 0b 12 push r11 eaf2: 0a 12 push r10 eaf4: 09 12 push r9 eaf6: 08 12 push r8 eaf8: 07 12 push r7 eafa: 06 12 push r6 eafc: 05 12 push r5 eafe: 04 12 push r4 eb00: 31 80 0a 00 sub #10, r1 ;#0x000a eb04: 09 4f mov r15, r9 eb06: 06 4e mov r14, r6 eb08: 81 4d 00 00 mov r13, 0(r1) ;0x0000(r1) eb0c: 81 43 02 00 mov #0, 2(r1) ;r3 As==00, 0x0002(r1) eb10: 81 43 04 00 mov #0, 4(r1) ;r3 As==00, 0x0004(r1) eb14: 04 43 clr r4 eb16: 05 43 clr r5 eb18: 0f 43 clr r15 eb1a: 6e 49 mov.b @r9, r14 eb1c: 6e 93 cmp.b #2, r14 ;r3 As==10 eb1e: 01 2c jc $+4 ;abs 0xeb22 eb20: 1f 43 mov #1, r15 ;r3 As==01 eb22: 0f 93 tst r15 eb24: 11 20 jnz $+36 ;abs 0xeb48 eb26: 0c 43 clr r12 eb28: 6f 46 mov.b @r6, r15 eb2a: 6f 93 cmp.b #2, r15 ;r3 As==10 eb2c: 01 2c jc $+4 ;abs 0xeb30 eb2e: 1c 43 mov #1, r12 ;r3 As==01 eb30: 0c 93 tst r12 eb32: 23 20 jnz $+72 ;abs 0xeb7a eb34: 0c 43 clr r12 eb36: 6e 92 cmp.b #4, r14 ;r2 As==10 eb38: dc 24 jz $+442 ;abs 0xecf2 eb3a: 0c 93 tst r12 eb3c: 14 24 jz $+42 ;abs 0xeb66 eb3e: 0e 43 clr r14 eb40: 6f 93 cmp.b #2, r15 ;r3 As==10 eb42: 0f 24 jz $+32 ;abs 0xeb62 eb44: 0e 93 tst r14 eb46: 0a 20 jnz $+22 ;abs 0xeb5c eb48: 4f 43 clr.b r15 eb4a: d9 96 01 00 cmp.b 1(r6), 1(r9) ;0x0001(r6), 0x0001(r9) eb4e: 01 00 eb50: 01 24 jz $+4 ;abs 0xeb54 eb52: 5f 43 mov.b #1, r15 ;r3 As==01 eb54: c9 4f 01 00 mov.b r15, 1(r9) ;0x0001(r9) eb58: 0d 49 mov r9, r13 eb5a: cd 3c jmp $+412 ;abs 0xecf6 eb5c: 3d 40 10 f0 mov #-4080, r13 ;#0xf010 eb60: ca 3c jmp $+406 ;abs 0xecf6 eb62: 1e 43 mov #1, r14 ;r3 As==01 eb64: ef 3f jmp $-32 ;abs 0xeb44 eb66: 0d 43 clr r13 eb68: 6f 92 cmp.b #4, r15 ;r2 As==10 eb6a: c1 24 jz $+388 ;abs 0xecee eb6c: 0d 93 tst r13 eb6e: 11 24 jz $+36 ;abs 0xeb92 eb70: 0f 43 clr r15 eb72: 6e 93 cmp.b #2, r14 ;r3 As==10 eb74: 0c 24 jz $+26 ;abs 0xeb8e eb76: 0f 93 tst r15 eb78: f1 23 jnz $-28 ;abs 0xeb5c eb7a: 4f 43 clr.b r15 eb7c: d9 96 01 00 cmp.b 1(r6), 1(r9) ;0x0001(r6), 0x0001(r9) eb80: 01 00 eb82: 01 24 jz $+4 ;abs 0xeb86 eb84: 5f 43 mov.b #1, r15 ;r3 As==01 eb86: c6 4f 01 00 mov.b r15, 1(r6) ;0x0001(r6) eb8a: 0d 46 mov r6, r13 eb8c: b4 3c jmp $+362 ;abs 0xecf6 eb8e: 1f 43 mov #1, r15 ;r3 As==01 eb90: f2 3f jmp $-26 ;abs 0xeb76 eb92: 0d 43 clr r13 eb94: 6e 93 cmp.b #2, r14 ;r3 As==10 eb96: a9 24 jz $+340 ;abs 0xecea eb98: 0d 93 tst r13 eb9a: d6 23 jnz $-82 ;abs 0xeb48 eb9c: 0e 43 clr r14 eb9e: 6f 93 cmp.b #2, r15 ;r3 As==10 eba0: a2 24 jz $+326 ;abs 0xece6 eba2: 0e 93 tst r14 eba4: ea 23 jnz $-42 ;abs 0xeb7a eba6: 1a 49 04 00 mov 4(r9), r10 ;0x0004(r9) ebaa: 1b 49 06 00 mov 6(r9), r11 ;0x0006(r9) ebae: 1c 46 04 00 mov 4(r6), r12 ;0x0004(r6) ebb2: 1d 46 06 00 mov 6(r6), r13 ;0x0006(r6) ebb6: 07 43 clr r7 ebb8: 08 43 clr r8 ebba: b1 40 1f 00 mov #31, 6(r1) ;#0x001f, 0x0006(r1) ebbe: 06 00 ebc0: 0e 4a mov r10, r14 ebc2: 0f 4b mov r11, r15 ebc4: 1e f3 and #1, r14 ;r3 As==01 ebc6: 0f f3 and #0, r15 ;r3 As==00 ebc8: 0e 93 tst r14 ebca: 19 24 jz $+52 ;abs 0xebfe ebcc: 81 43 08 00 mov #0, 8(r1) ;r3 As==00, 0x0008(r1) ebd0: 81 5c 02 00 add r12, 2(r1) ;0x0002(r1) ebd4: 81 6d 04 00 addc r13, 4(r1) ;0x0004(r1) ebd8: 1e 41 02 00 mov 2(r1), r14 ;0x0002(r1) ebdc: 1f 41 04 00 mov 4(r1), r15 ;0x0004(r1) ebe0: 0e 8c sub r12, r14 ebe2: 0f 7d subc r13, r15 ebe4: 02 2c jc $+6 ;abs 0xebea ebe6: 91 43 08 00 mov #1, 8(r1) ;r3 As==01, 0x0008(r1) ebea: 1e 41 08 00 mov 8(r1), r14 ;0x0008(r1) ebee: 0f 4e mov r14, r15 ebf0: 0f 5f rla r15 ebf2: 0f 7f subc r15, r15 ebf4: 3f e3 inv r15 ebf6: 0e 57 add r7, r14 ebf8: 0f 68 addc r8, r15 ebfa: 04 5e add r14, r4 ebfc: 05 6f addc r15, r5 ebfe: 07 57 rla r7 ec00: 08 68 rlc r8 ec02: 3d b0 00 80 bit #-32768,r13 ;#0x8000 ec06: 01 24 jz $+4 ;abs 0xec0a ec08: 17 d3 bis #1, r7 ;r3 As==01 ec0a: 0c 5c rla r12 ec0c: 0d 6d rlc r13 ec0e: 12 c3 clrc ec10: 0b 10 rrc r11 ec12: 0a 10 rrc r10 ec14: b1 53 06 00 add #-1, 6(r1) ;r3 As==11, 0x0006(r1) ec18: b1 b0 00 80 bit #-32768,6(r1) ;#0x8000, 0x0006(r1) ec1c: 06 00 ec1e: d0 37 jge $-94 ;abs 0xebc0 ec20: 1f 49 02 00 mov 2(r9), r15 ;0x0002(r9) ec24: 1f 56 02 00 add 2(r6), r15 ;0x0002(r6) ec28: 2d 41 mov @r1, r13 ec2a: 8d 4f 02 00 mov r15, 2(r13) ;0x0002(r13) ec2e: 4e 43 clr.b r14 ec30: d9 96 01 00 cmp.b 1(r6), 1(r9) ;0x0001(r6), 0x0001(r9) ec34: 01 00 ec36: 01 24 jz $+4 ;abs 0xec3a ec38: 5e 43 mov.b #1, r14 ;r3 As==01 ec3a: 2d 41 mov @r1, r13 ec3c: cd 4e 01 00 mov.b r14, 1(r13) ;0x0001(r13) ec40: 2f 53 incd r15 ec42: 8d 4f 02 00 mov r15, 2(r13) ;0x0002(r13) ec46: 35 90 00 80 cmp #-32768,r5 ;#0x8000 ec4a: 17 28 jnc $+48 ;abs 0xec7a ec4c: 2e 41 mov @r1, r14 ec4e: 9e 53 02 00 inc 2(r14) ;0x0002(r14) ec52: 0e 44 mov r4, r14 ec54: 0f 45 mov r5, r15 ec56: 1e f3 and #1, r14 ;r3 As==01 ec58: 0f f3 and #0, r15 ;r3 As==00 ec5a: 0e 93 tst r14 ec5c: 08 24 jz $+18 ;abs 0xec6e ec5e: 12 c3 clrc ec60: 11 10 04 00 rrc 4(r1) ;0x0004(r1) ec64: 11 10 02 00 rrc 2(r1) ;0x0002(r1) ec68: b1 d0 00 80 bis #-32768,4(r1) ;#0x8000, 0x0004(r1) ec6c: 04 00 ec6e: 12 c3 clrc ec70: 05 10 rrc r5 ec72: 04 10 rrc r4 ec74: 35 90 00 80 cmp #-32768,r5 ;#0x8000 ec78: e9 2f jc $-44 ;abs 0xec4c ec7a: 35 90 00 40 cmp #16384, r5 ;#0x4000 ec7e: 13 2c jc $+40 ;abs 0xeca6 ec80: 2f 41 mov @r1, r15 ec82: bf 53 02 00 add #-1, 2(r15) ;r3 As==11, 0x0002(r15) ec86: 04 54 rla r4 ec88: 05 65 rlc r5 ec8a: b1 b0 00 80 bit #-32768,4(r1) ;#0x8000, 0x0004(r1) ec8e: 04 00 ec90: 01 24 jz $+4 ;abs 0xec94 ec92: 14 d3 bis #1, r4 ;r3 As==01 ec94: 91 51 02 00 rla 2(r1) ;0x0002(r1) ec98: 02 00 ec9a: 91 61 04 00 rlc 4(r1) ;0x0004(r1) ec9e: 04 00 eca0: 35 90 00 40 cmp #16384, r5 ;#0x4000 eca4: ed 2b jnc $-36 ;abs 0xec80 eca6: 0e 44 mov r4, r14 eca8: 0f 45 mov r5, r15 ecaa: 3e f0 7f 00 and #127, r14 ;#0x007f ecae: 0f f3 and #0, r15 ;r3 As==00 ecb0: 3e 90 40 00 cmp #64, r14 ;#0x0040 ecb4: 02 20 jnz $+6 ;abs 0xecba ecb6: 0f 93 tst r15 ecb8: 0a 24 jz $+22 ;abs 0xecce ecba: 2d 41 mov @r1, r13 ecbc: 8d 44 04 00 mov r4, 4(r13) ;0x0004(r13) ecc0: 8d 45 06 00 mov r5, 6(r13) ;0x0006(r13) ecc4: fd 40 03 00 mov.b #3, 0(r13) ;#0x0003, 0x0000(r13) ecc8: 00 00 ecca: 2d 41 mov @r1, r13 eccc: 14 3c jmp $+42 ;abs 0xecf6 ecce: 44 93 tst.b r4 ecd0: 06 38 jl $+14 ;abs 0xecde ecd2: 81 93 02 00 tst 2(r1) ;0x0002(r1) ecd6: 03 20 jnz $+8 ;abs 0xecde ecd8: 81 93 04 00 tst 4(r1) ;0x0004(r1) ecdc: ee 27 jz $-34 ;abs 0xecba ecde: 34 50 40 00 add #64, r4 ;#0x0040 ece2: 05 63 adc r5 ece4: ea 3f jmp $-42 ;abs 0xecba ece6: 1e 43 mov #1, r14 ;r3 As==01 ece8: 5c 3f jmp $-326 ;abs 0xeba2 ecea: 1d 43 mov #1, r13 ;r3 As==01 ecec: 55 3f jmp $-340 ;abs 0xeb98 ecee: 1d 43 mov #1, r13 ;r3 As==01 ecf0: 3d 3f jmp $-388 ;abs 0xeb6c ecf2: 1c 43 mov #1, r12 ;r3 As==01 ecf4: 22 3f jmp $-442 ;abs 0xeb3a ecf6: 0f 4d mov r13, r15 ecf8: 31 50 0a 00 add #10, r1 ;#0x000a ecfc: 34 41 pop r4 ecfe: 35 41 pop r5 ed00: 36 41 pop r6 ed02: 37 41 pop r7 ed04: 38 41 pop r8 ed06: 39 41 pop r9 ed08: 3a 41 pop r10 ed0a: 3b 41 pop r11 ed0c: 30 41 ret 0000ed0e <__divsf3>: ed0e: 0b 12 push r11 ed10: 31 80 18 00 sub #24, r1 ;#0x0018 ed14: 81 4e 10 00 mov r14, 16(r1) ;0x0010(r1) ed18: 81 4f 12 00 mov r15, 18(r1) ;0x0012(r1) ed1c: 81 4c 14 00 mov r12, 20(r1) ;0x0014(r1) ed20: 81 4d 16 00 mov r13, 22(r1) ;0x0016(r1) ed24: 0e 41 mov r1, r14 ed26: 0f 41 mov r1, r15 ed28: 3f 50 10 00 add #16, r15 ;#0x0010 ed2c: b0 12 c8 f1 call #0xf1c8 ed30: 0b 41 mov r1, r11 ed32: 3b 52 add #8, r11 ;r2 As==11 ed34: 0e 4b mov r11, r14 ed36: 0f 41 mov r1, r15 ed38: 3f 50 14 00 add #20, r15 ;#0x0014 ed3c: b0 12 c8 f1 call #0xf1c8 ed40: 0e 4b mov r11, r14 ed42: 0f 41 mov r1, r15 ed44: b0 12 54 ed call #0xed54 ed48: b0 12 18 f0 call #0xf018 ed4c: 31 50 18 00 add #24, r1 ;#0x0018 ed50: 3b 41 pop r11 ed52: 30 41 ret 0000ed54 <_fpdiv_parts>: ed54: 0b 12 push r11 ed56: 0a 12 push r10 ed58: 09 12 push r9 ed5a: 08 12 push r8 ed5c: 07 12 push r7 ed5e: 06 12 push r6 ed60: 05 12 push r5 ed62: 0b 4f mov r15, r11 ed64: 0c 43 clr r12 ed66: 6d 4f mov.b @r15, r13 ed68: 6d 93 cmp.b #2, r13 ;r3 As==10 ed6a: 01 2c jc $+4 ;abs 0xed6e ed6c: 1c 43 mov #1, r12 ;r3 As==01 ed6e: 0c 93 tst r12 ed70: 16 20 jnz $+46 ;abs 0xed9e ed72: 0a 43 clr r10 ed74: 6c 4e mov.b @r14, r12 ed76: 6c 93 cmp.b #2, r12 ;r3 As==10 ed78: 01 2c jc $+4 ;abs 0xed7c ed7a: 1a 43 mov #1, r10 ;r3 As==01 ed7c: 0a 93 tst r10 ed7e: 77 20 jnz $+240 ;abs 0xee6e ed80: db ee 01 00 xor.b 1(r14), 1(r11) ;0x0001(r14), 0x0001(r11) ed84: 01 00 ed86: 0f 43 clr r15 ed88: 6d 92 cmp.b #4, r13 ;r2 As==10 ed8a: 6f 24 jz $+224 ;abs 0xee6a ed8c: 0f 93 tst r15 ed8e: 05 20 jnz $+12 ;abs 0xed9a ed90: 0f 43 clr r15 ed92: 6d 93 cmp.b #2, r13 ;r3 As==10 ed94: 68 24 jz $+210 ;abs 0xee66 ed96: 0f 93 tst r15 ed98: 07 24 jz $+16 ;abs 0xeda8 ed9a: 4d 9c cmp.b r12, r13 ed9c: 02 24 jz $+6 ;abs 0xeda2 ed9e: 0e 4b mov r11, r14 eda0: 66 3c jmp $+206 ;abs 0xee6e eda2: 3e 40 10 f0 mov #-4080, r14 ;#0xf010 eda6: 63 3c jmp $+200 ;abs 0xee6e eda8: 0f 43 clr r15 edaa: 6c 92 cmp.b #4, r12 ;r2 As==10 edac: 5a 24 jz $+182 ;abs 0xee62 edae: 0f 93 tst r15 edb0: 07 24 jz $+16 ;abs 0xedc0 edb2: 8b 43 04 00 mov #0, 4(r11) ;r3 As==00, 0x0004(r11) edb6: 8b 43 06 00 mov #0, 6(r11) ;r3 As==00, 0x0006(r11) edba: 8b 43 02 00 mov #0, 2(r11) ;r3 As==00, 0x0002(r11) edbe: ef 3f jmp $-32 ;abs 0xed9e edc0: 0f 43 clr r15 edc2: 6c 93 cmp.b #2, r12 ;r3 As==10 edc4: 4c 24 jz $+154 ;abs 0xee5e edc6: 0f 93 tst r15 edc8: 03 24 jz $+8 ;abs 0xedd0 edca: eb 42 00 00 mov.b #4, 0(r11) ;r2 As==10, 0x0000(r11) edce: e7 3f jmp $-48 ;abs 0xed9e edd0: 1d 4b 02 00 mov 2(r11), r13 ;0x0002(r11) edd4: 1d 8e 02 00 sub 2(r14), r13 ;0x0002(r14) edd8: 8b 4d 02 00 mov r13, 2(r11) ;0x0002(r11) eddc: 19 4b 04 00 mov 4(r11), r9 ;0x0004(r11) ede0: 1a 4b 06 00 mov 6(r11), r10 ;0x0006(r11) ede4: 17 4e 04 00 mov 4(r14), r7 ;0x0004(r14) ede8: 18 4e 06 00 mov 6(r14), r8 ;0x0006(r14) edec: 0e 49 mov r9, r14 edee: 0f 4a mov r10, r15 edf0: 0e 87 sub r7, r14 edf2: 0f 78 subc r8, r15 edf4: 05 2c jc $+12 ;abs 0xee00 edf6: 09 59 rla r9 edf8: 0a 6a rlc r10 edfa: 3d 53 add #-1, r13 ;r3 As==11 edfc: 8b 4d 02 00 mov r13, 2(r11) ;0x0002(r11) ee00: 0e 43 clr r14 ee02: 3f 40 00 40 mov #16384, r15 ;#0x4000 ee06: 05 43 clr r5 ee08: 06 43 clr r6 ee0a: 0c 49 mov r9, r12 ee0c: 0d 4a mov r10, r13 ee0e: 0c 87 sub r7, r12 ee10: 0d 78 subc r8, r13 ee12: 04 28 jnc $+10 ;abs 0xee1c ee14: 05 de bis r14, r5 ee16: 06 df bis r15, r6 ee18: 09 87 sub r7, r9 ee1a: 0a 78 subc r8, r10 ee1c: 12 c3 clrc ee1e: 0f 10 rrc r15 ee20: 0e 10 rrc r14 ee22: 09 59 rla r9 ee24: 0a 6a rlc r10 ee26: 0e 93 tst r14 ee28: f0 23 jnz $-30 ;abs 0xee0a ee2a: 0f 93 tst r15 ee2c: ee 23 jnz $-34 ;abs 0xee0a ee2e: 0e 45 mov r5, r14 ee30: 0f 46 mov r6, r15 ee32: 3e f0 7f 00 and #127, r14 ;#0x007f ee36: 0f f3 and #0, r15 ;r3 As==00 ee38: 3e 90 40 00 cmp #64, r14 ;#0x0040 ee3c: 02 20 jnz $+6 ;abs 0xee42 ee3e: 0f 93 tst r15 ee40: 05 24 jz $+12 ;abs 0xee4c ee42: 8b 45 04 00 mov r5, 4(r11) ;0x0004(r11) ee46: 8b 46 06 00 mov r6, 6(r11) ;0x0006(r11) ee4a: a9 3f jmp $-172 ;abs 0xed9e ee4c: 45 93 tst.b r5 ee4e: 03 38 jl $+8 ;abs 0xee56 ee50: 0a d9 bis r9, r10 ee52: 0a 93 tst r10 ee54: f6 27 jz $-18 ;abs 0xee42 ee56: 35 50 40 00 add #64, r5 ;#0x0040 ee5a: 06 63 adc r6 ee5c: f2 3f jmp $-26 ;abs 0xee42 ee5e: 1f 43 mov #1, r15 ;r3 As==01 ee60: b2 3f jmp $-154 ;abs 0xedc6 ee62: 1f 43 mov #1, r15 ;r3 As==01 ee64: a4 3f jmp $-182 ;abs 0xedae ee66: 1f 43 mov #1, r15 ;r3 As==01 ee68: 96 3f jmp $-210 ;abs 0xed96 ee6a: 1f 43 mov #1, r15 ;r3 As==01 ee6c: 8f 3f jmp $-224 ;abs 0xed8c ee6e: 0f 4e mov r14, r15 ee70: 35 41 pop r5 ee72: 36 41 pop r6 ee74: 37 41 pop r7 ee76: 38 41 pop r8 ee78: 39 41 pop r9 ee7a: 3a 41 pop r10 ee7c: 3b 41 pop r11 ee7e: 30 41 ret 0000ee80 <__gesf2>: ee80: 0b 12 push r11 ee82: 31 80 18 00 sub #24, r1 ;#0x0018 ee86: 81 4e 10 00 mov r14, 16(r1) ;0x0010(r1) ee8a: 81 4f 12 00 mov r15, 18(r1) ;0x0012(r1) ee8e: 81 4c 14 00 mov r12, 20(r1) ;0x0014(r1) ee92: 81 4d 16 00 mov r13, 22(r1) ;0x0016(r1) ee96: 0e 41 mov r1, r14 ee98: 0f 41 mov r1, r15 ee9a: 3f 50 10 00 add #16, r15 ;#0x0010 ee9e: b0 12 c8 f1 call #0xf1c8 eea2: 0b 41 mov r1, r11 eea4: 3b 52 add #8, r11 ;r2 As==11 eea6: 0e 4b mov r11, r14 eea8: 0f 41 mov r1, r15 eeaa: 3f 50 14 00 add #20, r15 ;#0x0014 eeae: b0 12 c8 f1 call #0xf1c8 eeb2: 0f 43 clr r15 eeb4: e1 93 00 00 cmp.b #2, 0(r1) ;r3 As==10, 0x0000(r1) eeb8: 01 2c jc $+4 ;abs 0xeebc eeba: 1f 43 mov #1, r15 ;r3 As==01 eebc: 0f 93 tst r15 eebe: 07 20 jnz $+16 ;abs 0xeece eec0: 0f 43 clr r15 eec2: e1 93 08 00 cmp.b #2, 8(r1) ;r3 As==10, 0x0008(r1) eec6: 01 2c jc $+4 ;abs 0xeeca eec8: 1f 43 mov #1, r15 ;r3 As==01 eeca: 0f 93 tst r15 eecc: 02 24 jz $+6 ;abs 0xeed2 eece: 3f 43 mov #-1, r15 ;r3 As==11 eed0: 04 3c jmp $+10 ;abs 0xeeda eed2: 0e 4b mov r11, r14 eed4: 0f 41 mov r1, r15 eed6: b0 12 be f2 call #0xf2be eeda: 31 50 18 00 add #24, r1 ;#0x0018 eede: 3b 41 pop r11 eee0: 30 41 ret 0000eee2 <__floatsisf>: eee2: 0b 12 push r11 eee4: 31 82 sub #8, r1 ;r2 As==11 eee6: 0d 4e mov r14, r13 eee8: 0e 4f mov r15, r14 eeea: f1 40 03 00 mov.b #3, 0(r1) ;#0x0003, 0x0000(r1) eeee: 00 00 eef0: 0f 4e mov r14, r15 eef2: 0f 5f rla r15 eef4: 0f 43 clr r15 eef6: 0f 6f rlc r15 eef8: c1 4f 01 00 mov.b r15, 1(r1) ;0x0001(r1) eefc: 0d 93 tst r13 eefe: 08 20 jnz $+18 ;abs 0xef10 ef00: 0e 93 tst r14 ef02: 06 20 jnz $+14 ;abs 0xef10 ef04: e1 43 00 00 mov.b #2, 0(r1) ;r3 As==10, 0x0000(r1) ef08: 0f 41 mov r1, r15 ef0a: b0 12 18 f0 call #0xf018 ef0e: 2f 3c jmp $+96 ;abs 0xef6e ef10: b1 40 1e 00 mov #30, 2(r1) ;#0x001e, 0x0002(r1) ef14: 02 00 ef16: 4f 93 tst.b r15 ef18: 09 24 jz $+20 ;abs 0xef2c ef1a: 0d 93 tst r13 ef1c: 03 20 jnz $+8 ;abs 0xef24 ef1e: 3e 90 00 80 cmp #-32768,r14 ;#0x8000 ef22: 22 24 jz $+70 ;abs 0xef68 ef24: 3d e3 inv r13 ef26: 3e e3 inv r14 ef28: 1d 53 inc r13 ef2a: 0e 63 adc r14 ef2c: 81 4d 04 00 mov r13, 4(r1) ;0x0004(r1) ef30: 81 4e 06 00 mov r14, 6(r1) ;0x0006(r1) ef34: 1c 41 04 00 mov 4(r1), r12 ;0x0004(r1) ef38: 1d 41 06 00 mov 6(r1), r13 ;0x0006(r1) ef3c: 3d 90 00 40 cmp #16384, r13 ;#0x4000 ef40: e3 2f jc $-56 ;abs 0xef08 ef42: 1b 41 02 00 mov 2(r1), r11 ;0x0002(r1) ef46: 0e 4c mov r12, r14 ef48: 0f 4d mov r13, r15 ef4a: 0e 5e rla r14 ef4c: 0f 6f rlc r15 ef4e: 3b 53 add #-1, r11 ;r3 As==11 ef50: 0c 4e mov r14, r12 ef52: 0d 4f mov r15, r13 ef54: 3f 90 00 40 cmp #16384, r15 ;#0x4000 ef58: f6 2b jnc $-18 ;abs 0xef46 ef5a: 81 4b 02 00 mov r11, 2(r1) ;0x0002(r1) ef5e: 81 4e 04 00 mov r14, 4(r1) ;0x0004(r1) ef62: 81 4f 06 00 mov r15, 6(r1) ;0x0006(r1) ef66: d0 3f jmp $-94 ;abs 0xef08 ef68: 0e 43 clr r14 ef6a: 3f 40 00 cf mov #-12544,r15 ;#0xcf00 ef6e: 31 52 add #8, r1 ;r2 As==11 ef70: 3b 41 pop r11 ef72: 30 41 ret 0000ef74 <__fixsfsi>: ef74: 31 80 0c 00 sub #12, r1 ;#0x000c ef78: 81 4e 08 00 mov r14, 8(r1) ;0x0008(r1) ef7c: 81 4f 0a 00 mov r15, 10(r1) ;0x000a(r1) ef80: 0e 41 mov r1, r14 ef82: 0f 41 mov r1, r15 ef84: 3f 52 add #8, r15 ;r2 As==11 ef86: b0 12 c8 f1 call #0xf1c8 ef8a: 0e 43 clr r14 ef8c: 6f 41 mov.b @r1, r15 ef8e: 6f 93 cmp.b #2, r15 ;r3 As==10 ef90: 3a 24 jz $+118 ;abs 0xf006 ef92: 0e 93 tst r14 ef94: 33 20 jnz $+104 ;abs 0xeffc ef96: 0e 43 clr r14 ef98: 6f 93 cmp.b #2, r15 ;r3 As==10 ef9a: 01 2c jc $+4 ;abs 0xef9e ef9c: 1e 43 mov #1, r14 ;r3 As==01 ef9e: 0e 93 tst r14 efa0: 2d 20 jnz $+92 ;abs 0xeffc efa2: 0e 43 clr r14 efa4: 6f 92 cmp.b #4, r15 ;r2 As==10 efa6: 2d 24 jz $+92 ;abs 0xf002 efa8: 0e 93 tst r14 efaa: 07 20 jnz $+16 ;abs 0xefba efac: 1d 41 02 00 mov 2(r1), r13 ;0x0002(r1) efb0: 0d 93 tst r13 efb2: 24 38 jl $+74 ;abs 0xeffc efb4: 3d 90 1f 00 cmp #31, r13 ;#0x001f efb8: 0b 38 jl $+24 ;abs 0xefd0 efba: c1 93 01 00 tst.b 1(r1) ;0x0001(r1) efbe: 04 24 jz $+10 ;abs 0xefc8 efc0: 0e 43 clr r14 efc2: 3f 40 00 80 mov #-32768,r15 ;#0x8000 efc6: 21 3c jmp $+68 ;abs 0xf00a efc8: 3e 43 mov #-1, r14 ;r3 As==11 efca: 3f 40 ff 7f mov #32767, r15 ;#0x7fff efce: 1d 3c jmp $+60 ;abs 0xf00a efd0: 3c 40 1e 00 mov #30, r12 ;#0x001e efd4: 1e 41 04 00 mov 4(r1), r14 ;0x0004(r1) efd8: 1f 41 06 00 mov 6(r1), r15 ;0x0006(r1) efdc: 0c 8d sub r13, r12 efde: 0c 93 tst r12 efe0: 05 24 jz $+12 ;abs 0xefec efe2: 12 c3 clrc efe4: 0f 10 rrc r15 efe6: 0e 10 rrc r14 efe8: 1c 83 dec r12 efea: fb 23 jnz $-8 ;abs 0xefe2 efec: c1 93 01 00 tst.b 1(r1) ;0x0001(r1) eff0: 0c 24 jz $+26 ;abs 0xf00a eff2: 3e e3 inv r14 eff4: 3f e3 inv r15 eff6: 1e 53 inc r14 eff8: 0f 63 adc r15 effa: 07 3c jmp $+16 ;abs 0xf00a effc: 0e 43 clr r14 effe: 0f 43 clr r15 f000: 04 3c jmp $+10 ;abs 0xf00a f002: 1e 43 mov #1, r14 ;r3 As==01 f004: d1 3f jmp $-92 ;abs 0xefa8 f006: 1e 43 mov #1, r14 ;r3 As==01 f008: c4 3f jmp $-118 ;abs 0xef92 f00a: 31 50 0c 00 add #12, r1 ;#0x000c f00e: 30 41 ret 0000f010 <__thenan_sf>: ... 0000f018 <__pack_f>: f018: 0b 12 push r11 f01a: 0a 12 push r10 f01c: 09 12 push r9 f01e: 08 12 push r8 f020: 07 12 push r7 f022: 21 82 sub #4, r1 ;r2 As==10 f024: 1c 4f 04 00 mov 4(r15), r12 ;0x0004(r15) f028: 1d 4f 06 00 mov 6(r15), r13 ;0x0006(r15) f02c: 59 4f 01 00 mov.b 1(r15), r9 ;0x0001(r15) f030: 0a 43 clr r10 f032: 0b 43 clr r11 f034: 6e 4f mov.b @r15, r14 f036: 6e 93 cmp.b #2, r14 ;r3 As==10 f038: 01 2c jc $+4 ;abs 0xf03c f03a: 1b 43 mov #1, r11 ;r3 As==01 f03c: 0b 93 tst r11 f03e: 05 24 jz $+12 ;abs 0xf04a f040: 3a 40 ff 00 mov #255, r10 ;#0x00ff f044: 3d d0 10 00 bis #16, r13 ;#0x0010 f048: 8e 3c jmp $+286 ;abs 0xf166 f04a: 0b 43 clr r11 f04c: 6e 92 cmp.b #4, r14 ;r2 As==10 f04e: 89 24 jz $+276 ;abs 0xf162 f050: 0b 93 tst r11 f052: 62 20 jnz $+198 ;abs 0xf118 f054: 0b 43 clr r11 f056: 6e 93 cmp.b #2, r14 ;r3 As==10 f058: 82 24 jz $+262 ;abs 0xf15e f05a: 0b 93 tst r11 f05c: 5f 20 jnz $+192 ;abs 0xf11c f05e: 0c 93 tst r12 f060: 02 20 jnz $+6 ;abs 0xf066 f062: 0d 93 tst r13 f064: 80 24 jz $+258 ;abs 0xf166 f066: 1f 4f 02 00 mov 2(r15), r15 ;0x0002(r15) f06a: 3f 90 82 ff cmp #-126, r15 ;#0xff82 f06e: 51 34 jge $+164 ;abs 0xf112 f070: 38 40 82 ff mov #-126, r8 ;#0xff82 f074: 08 8f sub r15, r8 f076: 38 90 1a 00 cmp #26, r8 ;#0x001a f07a: 29 38 jl $+84 ;abs 0xf0ce f07c: 0c 43 clr r12 f07e: 0d 43 clr r13 f080: 0e 4c mov r12, r14 f082: 0f 4d mov r13, r15 f084: 3e f0 7f 00 and #127, r14 ;#0x007f f088: 0f f3 and #0, r15 ;r3 As==00 f08a: 3e 90 40 00 cmp #64, r14 ;#0x0040 f08e: 02 20 jnz $+6 ;abs 0xf094 f090: 0f 93 tst r15 f092: 17 24 jz $+48 ;abs 0xf0c2 f094: 3c 50 3f 00 add #63, r12 ;#0x003f f098: 0d 63 adc r13 f09a: 3d 90 00 40 cmp #16384, r13 ;#0x4000 f09e: 01 28 jnc $+4 ;abs 0xf0a2 f0a0: 1a 43 mov #1, r10 ;r3 As==01 f0a2: 12 c3 clrc f0a4: 0d 10 rrc r13 f0a6: 0c 10 rrc r12 f0a8: 0d 11 rra r13 f0aa: 0c 10 rrc r12 f0ac: 0d 11 rra r13 f0ae: 0c 10 rrc r12 f0b0: 0d 11 rra r13 f0b2: 0c 10 rrc r12 f0b4: 0d 11 rra r13 f0b6: 0c 10 rrc r12 f0b8: 0d 11 rra r13 f0ba: 0c 10 rrc r12 f0bc: 0d 11 rra r13 f0be: 0c 10 rrc r12 f0c0: 52 3c jmp $+166 ;abs 0xf166 f0c2: 4c 93 tst.b r12 f0c4: ea 37 jge $-42 ;abs 0xf09a f0c6: 3c 50 40 00 add #64, r12 ;#0x0040 f0ca: 0d 63 adc r13 f0cc: e6 3f jmp $-50 ;abs 0xf09a f0ce: 07 43 clr r7 f0d0: 1e 43 mov #1, r14 ;r3 As==01 f0d2: 0f 43 clr r15 f0d4: 0b 48 mov r8, r11 f0d6: 0b 93 tst r11 f0d8: 04 24 jz $+10 ;abs 0xf0e2 f0da: 0e 5e rla r14 f0dc: 0f 6f rlc r15 f0de: 1b 83 dec r11 f0e0: fc 23 jnz $-6 ;abs 0xf0da f0e2: 3e 53 add #-1, r14 ;r3 As==11 f0e4: 3f 63 addc #-1, r15 ;r3 As==11 f0e6: 0e fc and r12, r14 f0e8: 0f fd and r13, r15 f0ea: 0f de bis r14, r15 f0ec: 0f 93 tst r15 f0ee: 01 24 jz $+4 ;abs 0xf0f2 f0f0: 17 43 mov #1, r7 ;r3 As==01 f0f2: 0f 48 mov r8, r15 f0f4: 0f 93 tst r15 f0f6: 05 24 jz $+12 ;abs 0xf102 f0f8: 12 c3 clrc f0fa: 0d 10 rrc r13 f0fc: 0c 10 rrc r12 f0fe: 1f 83 dec r15 f100: fb 23 jnz $-8 ;abs 0xf0f8 f102: 0e 47 mov r7, r14 f104: 0f 4e mov r14, r15 f106: 0f 5f rla r15 f108: 0f 7f subc r15, r15 f10a: 3f e3 inv r15 f10c: 0c de bis r14, r12 f10e: 0d df bis r15, r13 f110: b7 3f jmp $-144 ;abs 0xf080 f112: 3f 90 80 00 cmp #128, r15 ;#0x0080 f116: 05 38 jl $+12 ;abs 0xf122 f118: 3a 40 ff 00 mov #255, r10 ;#0x00ff f11c: 0c 43 clr r12 f11e: 0d 43 clr r13 f120: 22 3c jmp $+70 ;abs 0xf166 f122: 0a 4f mov r15, r10 f124: 3a 50 7f 00 add #127, r10 ;#0x007f f128: 0e 4c mov r12, r14 f12a: 0f 4d mov r13, r15 f12c: 3e f0 7f 00 and #127, r14 ;#0x007f f130: 0f f3 and #0, r15 ;r3 As==00 f132: 3e 90 40 00 cmp #64, r14 ;#0x0040 f136: 02 20 jnz $+6 ;abs 0xf13c f138: 0f 93 tst r15 f13a: 0b 24 jz $+24 ;abs 0xf152 f13c: 3c 50 3f 00 add #63, r12 ;#0x003f f140: 0d 63 adc r13 f142: 3d 90 00 80 cmp #-32768,r13 ;#0x8000 f146: ad 2b jnc $-164 ;abs 0xf0a2 f148: 12 c3 clrc f14a: 0d 10 rrc r13 f14c: 0c 10 rrc r12 f14e: 1a 53 inc r10 f150: a8 3f jmp $-174 ;abs 0xf0a2 f152: 4c 93 tst.b r12 f154: f6 37 jge $-18 ;abs 0xf142 f156: 3c 50 40 00 add #64, r12 ;#0x0040 f15a: 0d 63 adc r13 f15c: f2 3f jmp $-26 ;abs 0xf142 f15e: 1b 43 mov #1, r11 ;r3 As==01 f160: 7c 3f jmp $-262 ;abs 0xf05a f162: 1b 43 mov #1, r11 ;r3 As==01 f164: 75 3f jmp $-276 ;abs 0xf050 f166: 81 4c 00 00 mov r12, 0(r1) ;0x0000(r1) f16a: 4e 4d mov.b r13, r14 f16c: 7e f0 7f 00 and.b #127, r14 ;#0x007f f170: 5f 41 02 00 mov.b 2(r1), r15 ;0x0002(r1) f174: 7f f0 80 ff and.b #-128, r15 ;#0xff80 f178: 4f de bis.b r14, r15 f17a: c1 4f 02 00 mov.b r15, 2(r1) ;0x0002(r1) f17e: 0f 4a mov r10, r15 f180: 7f f3 and.b #-1, r15 ;r3 As==11 f182: 0f 5f rla r15 f184: 0f 5f rla r15 f186: 0f 5f rla r15 f188: 0f 5f rla r15 f18a: 0f 5f rla r15 f18c: 0f 5f rla r15 f18e: 0f 5f rla r15 f190: 1e 41 02 00 mov 2(r1), r14 ;0x0002(r1) f194: 3e f0 7f 80 and #-32641,r14 ;#0x807f f198: 0e df bis r15, r14 f19a: 81 4e 02 00 mov r14, 2(r1) ;0x0002(r1) f19e: 4e 49 mov.b r9, r14 f1a0: 4e 11 rra.b r14 f1a2: 4e 43 clr.b r14 f1a4: 4e 10 rrc.b r14 f1a6: 5f 41 03 00 mov.b 3(r1), r15 ;0x0003(r1) f1aa: 7f f0 7f 00 and.b #127, r15 ;#0x007f f1ae: 4f de bis.b r14, r15 f1b0: c1 4f 03 00 mov.b r15, 3(r1) ;0x0003(r1) f1b4: 2e 41 mov @r1, r14 f1b6: 1f 41 02 00 mov 2(r1), r15 ;0x0002(r1) f1ba: 21 52 add #4, r1 ;r2 As==10 f1bc: 37 41 pop r7 f1be: 38 41 pop r8 f1c0: 39 41 pop r9 f1c2: 3a 41 pop r10 f1c4: 3b 41 pop r11 f1c6: 30 41 ret 0000f1c8 <__unpack_f>: f1c8: 0b 12 push r11 f1ca: 0b 4e mov r14, r11 f1cc: 2c 4f mov @r15, r12 f1ce: 5d 4f 02 00 mov.b 2(r15), r13 ;0x0002(r15) f1d2: 3d f0 7f 00 and #127, r13 ;#0x007f f1d6: 1e 4f 02 00 mov 2(r15), r14 ;0x0002(r15) f1da: 12 c3 clrc f1dc: 0e 10 rrc r14 f1de: 0e 11 rra r14 f1e0: 0e 11 rra r14 f1e2: 0e 11 rra r14 f1e4: 0e 11 rra r14 f1e6: 0e 11 rra r14 f1e8: 0e 11 rra r14 f1ea: 7e f3 and.b #-1, r14 ;r3 As==11 f1ec: ff b0 80 00 bit.b #128, 3(r15) ;#0x0080, 0x0003(r15) f1f0: 03 00 f1f2: 4f 43 clr.b r15 f1f4: 4f 63 adc.b r15 f1f6: cb 4f 01 00 mov.b r15, 1(r11) ;0x0001(r11) f1fa: 0e 93 tst r14 f1fc: 2d 20 jnz $+92 ;abs 0xf258 f1fe: 0c 93 tst r12 f200: 05 20 jnz $+12 ;abs 0xf20c f202: 0d 93 tst r13 f204: 03 20 jnz $+8 ;abs 0xf20c f206: eb 43 00 00 mov.b #2, 0(r11) ;r3 As==10, 0x0000(r11) f20a: 57 3c jmp $+176 ;abs 0xf2ba f20c: bb 40 82 ff mov #-126, 2(r11) ;#0xff82, 0x0002(r11) f210: 02 00 f212: 0c 5c rla r12 f214: 0d 6d rlc r13 f216: 0c 5c rla r12 f218: 0d 6d rlc r13 f21a: 0c 5c rla r12 f21c: 0d 6d rlc r13 f21e: 0c 5c rla r12 f220: 0d 6d rlc r13 f222: 0c 5c rla r12 f224: 0d 6d rlc r13 f226: 0c 5c rla r12 f228: 0d 6d rlc r13 f22a: 0c 5c rla r12 f22c: 0d 6d rlc r13 f22e: fb 40 03 00 mov.b #3, 0(r11) ;#0x0003, 0x0000(r11) f232: 00 00 f234: 3d 90 00 40 cmp #16384, r13 ;#0x4000 f238: 0a 2c jc $+22 ;abs 0xf24e f23a: 3f 40 82 ff mov #-126, r15 ;#0xff82 f23e: 0c 5c rla r12 f240: 0d 6d rlc r13 f242: 3f 53 add #-1, r15 ;r3 As==11 f244: 3d 90 00 40 cmp #16384, r13 ;#0x4000 f248: fa 2b jnc $-10 ;abs 0xf23e f24a: 8b 4f 02 00 mov r15, 2(r11) ;0x0002(r11) f24e: 8b 4c 04 00 mov r12, 4(r11) ;0x0004(r11) f252: 8b 4d 06 00 mov r13, 6(r11) ;0x0006(r11) f256: 31 3c jmp $+100 ;abs 0xf2ba f258: 3e 90 ff 00 cmp #255, r14 ;#0x00ff f25c: 1e 24 jz $+62 ;abs 0xf29a f25e: 3e 50 81 ff add #-127, r14 ;#0xff81 f262: 8b 4e 02 00 mov r14, 2(r11) ;0x0002(r11) f266: fb 40 03 00 mov.b #3, 0(r11) ;#0x0003, 0x0000(r11) f26a: 00 00 f26c: 0e 4c mov r12, r14 f26e: 0f 4d mov r13, r15 f270: 0e 5e rla r14 f272: 0f 6f rlc r15 f274: 0e 5e rla r14 f276: 0f 6f rlc r15 f278: 0e 5e rla r14 f27a: 0f 6f rlc r15 f27c: 0e 5e rla r14 f27e: 0f 6f rlc r15 f280: 0e 5e rla r14 f282: 0f 6f rlc r15 f284: 0e 5e rla r14 f286: 0f 6f rlc r15 f288: 0e 5e rla r14 f28a: 0f 6f rlc r15 f28c: 3f d0 00 40 bis #16384, r15 ;#0x4000 f290: 8b 4e 04 00 mov r14, 4(r11) ;0x0004(r11) f294: 8b 4f 06 00 mov r15, 6(r11) ;0x0006(r11) f298: 10 3c jmp $+34 ;abs 0xf2ba f29a: 0c 93 tst r12 f29c: 05 20 jnz $+12 ;abs 0xf2a8 f29e: 0d 93 tst r13 f2a0: 03 20 jnz $+8 ;abs 0xf2a8 f2a2: eb 42 00 00 mov.b #4, 0(r11) ;r2 As==10, 0x0000(r11) f2a6: 09 3c jmp $+20 ;abs 0xf2ba f2a8: 3d b0 10 00 bit #16, r13 ;#0x0010 f2ac: 03 24 jz $+8 ;abs 0xf2b4 f2ae: db 43 00 00 mov.b #1, 0(r11) ;r3 As==01, 0x0000(r11) f2b2: cd 3f jmp $-100 ;abs 0xf24e f2b4: cb 43 00 00 mov.b #0, 0(r11) ;r3 As==00, 0x0000(r11) f2b8: ca 3f jmp $-106 ;abs 0xf24e f2ba: 3b 41 pop r11 f2bc: 30 41 ret 0000f2be <__fpcmp_parts_f>: f2be: 0b 12 push r11 f2c0: 0a 12 push r10 f2c2: 09 12 push r9 f2c4: 08 12 push r8 f2c6: 0d 43 clr r13 f2c8: 6c 4f mov.b @r15, r12 f2ca: 6c 93 cmp.b #2, r12 ;r3 As==10 f2cc: 01 2c jc $+4 ;abs 0xf2d0 f2ce: 1d 43 mov #1, r13 ;r3 As==01 f2d0: 0d 93 tst r13 f2d2: 07 20 jnz $+16 ;abs 0xf2e2 f2d4: 0d 43 clr r13 f2d6: 6b 4e mov.b @r14, r11 f2d8: 6b 93 cmp.b #2, r11 ;r3 As==10 f2da: 01 2c jc $+4 ;abs 0xf2de f2dc: 1d 43 mov #1, r13 ;r3 As==01 f2de: 0d 93 tst r13 f2e0: 02 24 jz $+6 ;abs 0xf2e6 f2e2: 1d 43 mov #1, r13 ;r3 As==01 f2e4: 72 3c jmp $+230 ;abs 0xf3ca f2e6: 0d 43 clr r13 f2e8: 6c 92 cmp.b #4, r12 ;r2 As==10 f2ea: 6d 24 jz $+220 ;abs 0xf3c6 f2ec: 0d 93 tst r13 f2ee: 0b 24 jz $+24 ;abs 0xf306 f2f0: 0d 43 clr r13 f2f2: 6b 92 cmp.b #4, r11 ;r2 As==10 f2f4: 66 24 jz $+206 ;abs 0xf3c2 f2f6: 0d 93 tst r13 f2f8: 06 24 jz $+14 ;abs 0xf306 f2fa: 5d 4e 01 00 mov.b 1(r14), r13 ;0x0001(r14) f2fe: 5f 4f 01 00 mov.b 1(r15), r15 ;0x0001(r15) f302: 0d 8f sub r15, r13 f304: 62 3c jmp $+198 ;abs 0xf3ca f306: 0d 43 clr r13 f308: 6c 92 cmp.b #4, r12 ;r2 As==10 f30a: 59 24 jz $+180 ;abs 0xf3be f30c: 0d 93 tst r13 f30e: 23 20 jnz $+72 ;abs 0xf356 f310: 0d 43 clr r13 f312: 6b 92 cmp.b #4, r11 ;r2 As==10 f314: 52 24 jz $+166 ;abs 0xf3ba f316: 0d 93 tst r13 f318: 11 20 jnz $+36 ;abs 0xf33c f31a: 0d 43 clr r13 f31c: 6c 93 cmp.b #2, r12 ;r3 As==10 f31e: 4b 24 jz $+152 ;abs 0xf3b6 f320: 0d 93 tst r13 f322: 07 24 jz $+16 ;abs 0xf332 f324: 0d 43 clr r13 f326: 6b 93 cmp.b #2, r11 ;r3 As==10 f328: 44 24 jz $+138 ;abs 0xf3b2 f32a: 0d 93 tst r13 f32c: 02 24 jz $+6 ;abs 0xf332 f32e: 0d 43 clr r13 f330: 4c 3c jmp $+154 ;abs 0xf3ca f332: 0d 43 clr r13 f334: 6c 93 cmp.b #2, r12 ;r3 As==10 f336: 3b 24 jz $+120 ;abs 0xf3ae f338: 0d 93 tst r13 f33a: 08 24 jz $+18 ;abs 0xf34c f33c: ce 93 01 00 tst.b 1(r14) ;0x0001(r14) f340: 03 20 jnz $+8 ;abs 0xf348 f342: 3f 43 mov #-1, r15 ;r3 As==11 f344: 0d 4f mov r15, r13 f346: 41 3c jmp $+132 ;abs 0xf3ca f348: 1f 43 mov #1, r15 ;r3 As==01 f34a: fc 3f jmp $-6 ;abs 0xf344 f34c: 0d 43 clr r13 f34e: 6b 93 cmp.b #2, r11 ;r3 As==10 f350: 2c 24 jz $+90 ;abs 0xf3aa f352: 0d 93 tst r13 f354: 04 24 jz $+10 ;abs 0xf35e f356: cf 93 01 00 tst.b 1(r15) ;0x0001(r15) f35a: f3 23 jnz $-24 ;abs 0xf342 f35c: f5 3f jmp $-20 ;abs 0xf348 f35e: 5c 4f 01 00 mov.b 1(r15), r12 ;0x0001(r15) f362: 5c 9e 01 00 cmp.b 1(r14), r12 ;0x0001(r14) f366: 03 24 jz $+8 ;abs 0xf36e f368: 4c 93 tst.b r12 f36a: eb 23 jnz $-40 ;abs 0xf342 f36c: ed 3f jmp $-36 ;abs 0xf348 f36e: 1b 4f 02 00 mov 2(r15), r11 ;0x0002(r15) f372: 1d 4e 02 00 mov 2(r14), r13 ;0x0002(r14) f376: 0d 9b cmp r11, r13 f378: f7 3b jl $-16 ;abs 0xf368 f37a: 0b 9d cmp r13, r11 f37c: 13 38 jl $+40 ;abs 0xf3a4 f37e: 1a 4f 04 00 mov 4(r15), r10 ;0x0004(r15) f382: 1b 4f 06 00 mov 6(r15), r11 ;0x0006(r15) f386: 18 4e 04 00 mov 4(r14), r8 ;0x0004(r14) f38a: 19 4e 06 00 mov 6(r14), r9 ;0x0006(r14) f38e: 0e 48 mov r8, r14 f390: 0f 49 mov r9, r15 f392: 0e 8a sub r10, r14 f394: 0f 7b subc r11, r15 f396: e8 2b jnc $-46 ;abs 0xf368 f398: 0e 4a mov r10, r14 f39a: 0f 4b mov r11, r15 f39c: 0d 43 clr r13 f39e: 0e 88 sub r8, r14 f3a0: 0f 79 subc r9, r15 f3a2: 13 2c jc $+40 ;abs 0xf3ca f3a4: 4c 93 tst.b r12 f3a6: cd 27 jz $-100 ;abs 0xf342 f3a8: cf 3f jmp $-96 ;abs 0xf348 f3aa: 1d 43 mov #1, r13 ;r3 As==01 f3ac: d2 3f jmp $-90 ;abs 0xf352 f3ae: 1d 43 mov #1, r13 ;r3 As==01 f3b0: c3 3f jmp $-120 ;abs 0xf338 f3b2: 1d 43 mov #1, r13 ;r3 As==01 f3b4: ba 3f jmp $-138 ;abs 0xf32a f3b6: 1d 43 mov #1, r13 ;r3 As==01 f3b8: b3 3f jmp $-152 ;abs 0xf320 f3ba: 1d 43 mov #1, r13 ;r3 As==01 f3bc: ac 3f jmp $-166 ;abs 0xf316 f3be: 1d 43 mov #1, r13 ;r3 As==01 f3c0: a5 3f jmp $-180 ;abs 0xf30c f3c2: 1d 43 mov #1, r13 ;r3 As==01 f3c4: 98 3f jmp $-206 ;abs 0xf2f6 f3c6: 1d 43 mov #1, r13 ;r3 As==01 f3c8: 91 3f jmp $-220 ;abs 0xf2ec f3ca: 0f 4d mov r13, r15 f3cc: 38 41 pop r8 f3ce: 39 41 pop r9 f3d0: 3a 41 pop r10 f3d2: 3b 41 pop r11 f3d4: 30 41 ret 0000f3d6 : f3d6: 0b 12 push r11 f3d8: 0a 12 push r10 f3da: 3f 40 06 00 mov #6, r15 ;#0x0006 f3de: 0f 51 add r1, r15 f3e0: 2a 4f mov @r15, r10 f3e2: 1b 4f 02 00 mov 2(r15), r11 ;0x0002(r15) f3e6: 1e 4f 04 00 mov 4(r15), r14 ;0x0004(r15) f3ea: 3f 50 06 00 add #6, r15 ;#0x0006 f3ee: 0c 4f mov r15, r12 f3f0: 0d 4e mov r14, r13 f3f2: 0e 4b mov r11, r14 f3f4: 0f 4a mov r10, r15 f3f6: b0 12 20 f4 call #0xf420 f3fa: 3a 41 pop r10 f3fc: 3b 41 pop r11 f3fe: 30 41 ret 0000f400 : f400: 0e 4f mov r15, r14 f402: a2 93 06 02 cmp #2, &0x0206 ;r3 As==10 f406: 0a 28 jnc $+22 ;abs 0xf41c f408: 1f 42 04 02 mov &0x0204,r15 f40c: cf 4e 00 00 mov.b r14, 0(r15) ;0x0000(r15) f410: 92 53 04 02 inc &0x0204 f414: b2 53 06 02 add #-1, &0x0206 ;r3 As==11 f418: 4f 4e mov.b r14, r15 f41a: 30 41 ret f41c: 3f 43 mov #-1, r15 ;r3 As==11 f41e: 30 41 ret 0000f420 : f420: 0b 12 push r11 f422: 0a 12 push r10 f424: 0b 4f mov r15, r11 f426: 0a 4d mov r13, r10 f428: 82 4b 04 02 mov r11, &0x0204 f42c: 82 4e 06 02 mov r14, &0x0206 f430: 0d 4c mov r12, r13 f432: 0e 4a mov r10, r14 f434: 3f 40 00 f4 mov #-3072, r15 ;#0xf400 f438: b0 12 ac f4 call #0xf4ac f43c: 0b 5f add r15, r11 f43e: cb 43 00 00 mov.b #0, 0(r11) ;r3 As==00, 0x0000(r11) f442: 3a 41 pop r10 f444: 3b 41 pop r11 f446: 30 41 ret 0000f448 : f448: 0b 12 push r11 f44a: 0a 12 push r10 f44c: 0a 4f mov r15, r10 f44e: 0b 4e mov r14, r11 f450: 0e 93 tst r14 f452: 02 20 jnz $+6 ;abs 0xf458 f454: 1f 43 mov #1, r15 ;r3 As==01 f456: 0d 3c jmp $+28 ;abs 0xf472 f458: 6f 4a mov.b @r10, r15 f45a: 8f 11 sxt r15 f45c: 1a 53 inc r10 f45e: 92 12 08 02 call &0x0208 f462: 0f 93 tst r15 f464: 05 38 jl $+12 ;abs 0xf470 f466: 92 53 02 02 inc &0x0202 f46a: 3b 53 add #-1, r11 ;r3 As==11 f46c: f5 23 jnz $-20 ;abs 0xf458 f46e: f2 3f jmp $-26 ;abs 0xf454 f470: 3f 43 mov #-1, r15 ;r3 As==11 f472: 3a 41 pop r10 f474: 3b 41 pop r11 f476: 30 41 ret 0000f478 <__write_pad>: f478: 0b 12 push r11 f47a: 0a 12 push r10 f47c: 09 12 push r9 f47e: 49 4f mov.b r15, r9 f480: 4b 4e mov.b r14, r11 f482: 5e 93 cmp.b #1, r14 ;r3 As==01 f484: 0c 38 jl $+26 ;abs 0xf49e f486: 4a 4f mov.b r15, r10 f488: 8a 11 sxt r10 f48a: 0f 4a mov r10, r15 f48c: 92 12 08 02 call &0x0208 f490: 0f 93 tst r15 f492: 07 38 jl $+16 ;abs 0xf4a2 f494: 92 53 02 02 inc &0x0202 f498: 7b 53 add.b #-1, r11 ;r3 As==11 f49a: 5b 93 cmp.b #1, r11 ;r3 As==01 f49c: f6 37 jge $-18 ;abs 0xf48a f49e: 4f 49 mov.b r9, r15 f4a0: 01 3c jmp $+4 ;abs 0xf4a4 f4a2: 3f 43 mov #-1, r15 ;r3 As==11 f4a4: 39 41 pop r9 f4a6: 3a 41 pop r10 f4a8: 3b 41 pop r11 f4aa: 30 41 ret 0000f4ac : f4ac: 0b 12 push r11 f4ae: 0a 12 push r10 f4b0: 09 12 push r9 f4b2: 08 12 push r8 f4b4: 07 12 push r7 f4b6: 06 12 push r6 f4b8: 05 12 push r5 f4ba: 04 12 push r4 f4bc: 31 80 3c 00 sub #60, r1 ;#0x003c f4c0: 05 4d mov r13, r5 f4c2: 81 43 30 00 mov #0, 48(r1) ;r3 As==00, 0x0030(r1) f4c6: 81 43 32 00 mov #0, 50(r1) ;r3 As==00, 0x0032(r1) f4ca: 82 43 02 02 mov #0, &0x0202 ;r3 As==00 f4ce: 82 4f 08 02 mov r15, &0x0208 f4d2: 06 4e mov r14, r6 f4d4: 0f 46 mov r6, r15 f4d6: 67 46 mov.b @r6, r7 f4d8: 47 93 tst.b r7 f4da: 0a 24 jz $+22 ;abs 0xf4f0 f4dc: 77 90 25 00 cmp.b #37, r7 ;#0x0025 f4e0: 07 24 jz $+16 ;abs 0xf4f0 f4e2: 16 53 inc r6 f4e4: 67 46 mov.b @r6, r7 f4e6: 47 93 tst.b r7 f4e8: 03 24 jz $+8 ;abs 0xf4f0 f4ea: 77 90 25 00 cmp.b #37, r7 ;#0x0025 f4ee: f9 23 jnz $-12 ;abs 0xf4e2 f4f0: 0d 46 mov r6, r13 f4f2: 0d 8f sub r15, r13 f4f4: 02 24 jz $+6 ;abs 0xf4fa f4f6: 30 40 3a fa br #0xfa3a f4fa: 47 93 tst.b r7 f4fc: 02 20 jnz $+6 ;abs 0xf502 f4fe: 30 40 48 fa br #0xfa48 f502: 16 53 inc r6 f504: c1 43 2e 00 mov.b #0, 46(r1) ;r3 As==00, 0x002e(r1) f508: c1 43 35 00 mov.b #0, 53(r1) ;r3 As==00, 0x0035(r1) f50c: c1 43 2f 00 mov.b #0, 47(r1) ;r3 As==00, 0x002f(r1) f510: 7b 43 mov.b #-1, r11 ;r3 As==11 f512: c1 43 2a 00 mov.b #0, 42(r1) ;r3 As==00, 0x002a(r1) f516: 67 46 mov.b @r6, r7 f518: 16 53 inc r6 f51a: 77 90 75 00 cmp.b #117, r7 ;#0x0075 f51e: 02 20 jnz $+6 ;abs 0xf524 f520: 30 40 14 fa br #0xfa14 f524: 4f 47 mov.b r7, r15 f526: 7f d0 20 00 bis.b #32, r15 ;#0x0020 f52a: 7f 90 78 00 cmp.b #120, r15 ;#0x0078 f52e: 02 20 jnz $+6 ;abs 0xf534 f530: 30 40 14 fa br #0xfa14 f534: 77 90 20 00 cmp.b #32, r7 ;#0x0020 f538: 02 20 jnz $+6 ;abs 0xf53e f53a: 30 40 00 fa br #0xfa00 f53e: 77 90 23 00 cmp.b #35, r7 ;#0x0023 f542: 02 20 jnz $+6 ;abs 0xf548 f544: 30 40 f8 f9 br #0xf9f8 f548: 77 90 2a 00 cmp.b #42, r7 ;#0x002a f54c: 02 20 jnz $+6 ;abs 0xf552 f54e: 30 40 dc f9 br #0xf9dc f552: 77 90 2d 00 cmp.b #45, r7 ;#0x002d f556: 02 20 jnz $+6 ;abs 0xf55c f558: 30 40 cc f9 br #0xf9cc f55c: 77 90 2b 00 cmp.b #43, r7 ;#0x002b f560: 02 20 jnz $+6 ;abs 0xf566 f562: 30 40 c2 f9 br #0xf9c2 f566: 77 90 2e 00 cmp.b #46, r7 ;#0x002e f56a: 02 20 jnz $+6 ;abs 0xf570 f56c: 30 40 5c f9 br #0xf95c f570: 77 90 30 00 cmp.b #48, r7 ;#0x0030 f574: 02 20 jnz $+6 ;abs 0xf57a f576: 30 40 46 f9 br #0xf946 f57a: 4f 47 mov.b r7, r15 f57c: 7f 50 cf ff add.b #-49, r15 ;#0xffcf f580: 7f 90 09 00 cmp.b #9, r15 ;#0x0009 f584: 1a 2c jc $+54 ;abs 0xf5ba f586: 0d 43 clr r13 f588: 0f 4d mov r13, r15 f58a: 0f 5f rla r15 f58c: 0f 5f rla r15 f58e: 0e 4d mov r13, r14 f590: 0e 5e rla r14 f592: 0d 4f mov r15, r13 f594: 0d 5e add r14, r13 f596: 0d 5e add r14, r13 f598: 0d 5e add r14, r13 f59a: 4f 47 mov.b r7, r15 f59c: 8f 11 sxt r15 f59e: 0d 5f add r15, r13 f5a0: 3d 50 d0 ff add #-48, r13 ;#0xffd0 f5a4: 67 46 mov.b @r6, r7 f5a6: 16 53 inc r6 f5a8: 4f 47 mov.b r7, r15 f5aa: 7f 50 d0 ff add.b #-48, r15 ;#0xffd0 f5ae: 7f 90 0a 00 cmp.b #10, r15 ;#0x000a f5b2: ea 2b jnc $-42 ;abs 0xf588 f5b4: c1 4d 2f 00 mov.b r13, 47(r1) ;0x002f(r1) f5b8: b0 3f jmp $-158 ;abs 0xf51a f5ba: 77 90 68 00 cmp.b #104, r7 ;#0x0068 f5be: bf 25 jz $+896 ;abs 0xf93e f5c0: 77 90 6c 00 cmp.b #108, r7 ;#0x006c f5c4: 03 20 jnz $+8 ;abs 0xf5cc f5c6: d1 d3 2e 00 bis.b #1, 46(r1) ;r3 As==01, 0x002e(r1) f5ca: a5 3f jmp $-180 ;abs 0xf516 f5cc: 77 90 63 00 cmp.b #99, r7 ;#0x0063 f5d0: af 25 jz $+864 ;abs 0xf930 f5d2: 77 90 44 00 cmp.b #68, r7 ;#0x0044 f5d6: a9 25 jz $+852 ;abs 0xf92a f5d8: 77 90 64 00 cmp.b #100, r7 ;#0x0064 f5dc: 7a 25 jz $+758 ;abs 0xf8d2 f5de: 77 90 69 00 cmp.b #105, r7 ;#0x0069 f5e2: 77 25 jz $+752 ;abs 0xf8d2 f5e4: 77 90 4f 00 cmp.b #79, r7 ;#0x004f f5e8: 71 25 jz $+740 ;abs 0xf8cc f5ea: 77 90 6f 00 cmp.b #111, r7 ;#0x006f f5ee: 6b 25 jz $+728 ;abs 0xf8c6 f5f0: 77 90 70 00 cmp.b #112, r7 ;#0x0070 f5f4: 59 25 jz $+692 ;abs 0xf8a8 f5f6: 77 90 73 00 cmp.b #115, r7 ;#0x0073 f5fa: 1a 25 jz $+566 ;abs 0xf830 f5fc: 77 90 55 00 cmp.b #85, r7 ;#0x0055 f600: 14 25 jz $+554 ;abs 0xf82a f602: 77 90 75 00 cmp.b #117, r7 ;#0x0075 f606: 0d 25 jz $+540 ;abs 0xf822 f608: 77 90 58 00 cmp.b #88, r7 ;#0x0058 f60c: 8a 24 jz $+278 ;abs 0xf722 f60e: 77 90 78 00 cmp.b #120, r7 ;#0x0078 f612: 87 24 jz $+272 ;abs 0xf722 f614: 47 93 tst.b r7 f616: 02 20 jnz $+6 ;abs 0xf61c f618: 30 40 48 fa br #0xfa48 f61c: 81 41 2c 00 mov r1, 44(r1) ;0x002c(r1) f620: c1 47 00 00 mov.b r7, 0(r1) ;0x0000(r1) f624: 59 43 mov.b #1, r9 ;r3 As==01 f626: c1 43 2a 00 mov.b #0, 42(r1) ;r3 As==00, 0x002a(r1) f62a: 4b 49 mov.b r9, r11 f62c: 5a 41 35 00 mov.b 53(r1), r10 ;0x0035(r1) f630: 4a 89 sub.b r9, r10 f632: 75 30 jn $+236 ;abs 0xf71e f634: 5e 41 2a 00 mov.b 42(r1), r14 ;0x002a(r1) f638: 4e 93 tst.b r14 f63a: 6b 24 jz $+216 ;abs 0xf712 f63c: 5b 53 inc.b r11 f63e: 4b 5a add.b r10, r11 f640: 58 41 2e 00 mov.b 46(r1), r8 ;0x002e(r1) f644: 78 f0 30 00 and.b #48, r8 ;#0x0030 f648: 13 20 jnz $+40 ;abs 0xf670 f64a: 5d 41 2f 00 mov.b 47(r1), r13 ;0x002f(r1) f64e: 8d 11 sxt r13 f650: 4f 4b mov.b r11, r15 f652: 8f 11 sxt r15 f654: 0d 8f sub r15, r13 f656: 1d 93 cmp #1, r13 ;r3 As==01 f658: 0b 38 jl $+24 ;abs 0xf670 f65a: 4e 4d mov.b r13, r14 f65c: 7f 40 20 00 mov.b #32, r15 ;#0x0020 f660: b0 12 78 f4 call #0xf478 f664: 0f 93 tst r15 f666: 02 34 jge $+6 ;abs 0xf66c f668: 30 40 48 fa br #0xfa48 f66c: 5e 41 2a 00 mov.b 42(r1), r14 ;0x002a(r1) f670: 4e 93 tst.b r14 f672: 4a 20 jnz $+150 ;abs 0xf708 f674: f1 b0 40 00 bit.b #64, 46(r1) ;#0x0040, 0x002e(r1) f678: 2e 00 f67a: 0f 24 jz $+32 ;abs 0xf69a f67c: f1 40 30 00 mov.b #48, 40(r1) ;#0x0030, 0x0028(r1) f680: 28 00 f682: c1 47 29 00 mov.b r7, 41(r1) ;0x0029(r1) f686: 2e 43 mov #2, r14 ;r3 As==10 f688: 0f 41 mov r1, r15 f68a: 3f 50 28 00 add #40, r15 ;#0x0028 f68e: b0 12 48 f4 call #0xf448 f692: 0f 93 tst r15 f694: 02 34 jge $+6 ;abs 0xf69a f696: 30 40 48 fa br #0xfa48 f69a: 78 90 20 00 cmp.b #32, r8 ;#0x0020 f69e: 24 24 jz $+74 ;abs 0xf6e8 f6a0: 4e 4a mov.b r10, r14 f6a2: 7f 40 30 00 mov.b #48, r15 ;#0x0030 f6a6: b0 12 78 f4 call #0xf478 f6aa: 0f 93 tst r15 f6ac: cd 39 jl $+924 ;abs 0xfa48 f6ae: 4f 49 mov.b r9, r15 f6b0: 8f 11 sxt r15 f6b2: 0e 4f mov r15, r14 f6b4: 1f 41 2c 00 mov 44(r1), r15 ;0x002c(r1) f6b8: b0 12 48 f4 call #0xf448 f6bc: 0f 93 tst r15 f6be: c4 39 jl $+906 ;abs 0xfa48 f6c0: f1 b0 10 00 bit.b #16, 46(r1) ;#0x0010, 0x002e(r1) f6c4: 2e 00 f6c6: 06 27 jz $-498 ;abs 0xf4d4 f6c8: 5d 41 2f 00 mov.b 47(r1), r13 ;0x002f(r1) f6cc: 8d 11 sxt r13 f6ce: 4f 4b mov.b r11, r15 f6d0: 8f 11 sxt r15 f6d2: 0d 8f sub r15, r13 f6d4: 1d 93 cmp #1, r13 ;r3 As==01 f6d6: fe 3a jl $-514 ;abs 0xf4d4 f6d8: 4e 4d mov.b r13, r14 f6da: 7f 40 20 00 mov.b #32, r15 ;#0x0020 f6de: b0 12 78 f4 call #0xf478 f6e2: 0f 93 tst r15 f6e4: f7 36 jge $-528 ;abs 0xf4d4 f6e6: b0 3d jmp $+866 ;abs 0xfa48 f6e8: 5d 41 2f 00 mov.b 47(r1), r13 ;0x002f(r1) f6ec: 8d 11 sxt r13 f6ee: 4f 4b mov.b r11, r15 f6f0: 8f 11 sxt r15 f6f2: 0d 8f sub r15, r13 f6f4: 1d 93 cmp #1, r13 ;r3 As==01 f6f6: d4 3b jl $-86 ;abs 0xf6a0 f6f8: 4e 4d mov.b r13, r14 f6fa: 7f 40 30 00 mov.b #48, r15 ;#0x0030 f6fe: b0 12 78 f4 call #0xf478 f702: 0f 93 tst r15 f704: cd 37 jge $-100 ;abs 0xf6a0 f706: a0 3d jmp $+834 ;abs 0xfa48 f708: 1e 43 mov #1, r14 ;r3 As==01 f70a: 0f 41 mov r1, r15 f70c: 3f 50 2a 00 add #42, r15 ;#0x002a f710: be 3f jmp $-130 ;abs 0xf68e f712: f1 b0 40 00 bit.b #64, 46(r1) ;#0x0040, 0x002e(r1) f716: 2e 00 f718: 92 27 jz $-218 ;abs 0xf63e f71a: 6b 53 incd.b r11 f71c: 90 3f jmp $-222 ;abs 0xf63e f71e: 4a 43 clr.b r10 f720: 89 3f jmp $-236 ;abs 0xf634 f722: f1 40 10 00 mov.b #16, 52(r1) ;#0x0010, 0x0034(r1) f726: 34 00 f728: f1 b2 2e 00 bit.b #8, 46(r1) ;r2 As==11, 0x002e(r1) f72c: 09 24 jz $+20 ;abs 0xf740 f72e: 81 93 30 00 tst 48(r1) ;0x0030(r1) f732: 03 20 jnz $+8 ;abs 0xf73a f734: 81 93 32 00 tst 50(r1) ;0x0032(r1) f738: 03 24 jz $+8 ;abs 0xf740 f73a: f1 d0 40 00 bis.b #64, 46(r1) ;#0x0040, 0x002e(r1) f73e: 2e 00 f740: c1 43 2a 00 mov.b #0, 42(r1) ;r3 As==00, 0x002a(r1) f744: c1 4b 35 00 mov.b r11, 53(r1) ;0x0035(r1) f748: 4b 93 tst.b r11 f74a: 03 38 jl $+8 ;abs 0xf752 f74c: f1 f0 df ff and.b #-33, 46(r1) ;#0xffdf, 0x002e(r1) f750: 2e 00 f752: 0f 41 mov r1, r15 f754: 3f 50 28 00 add #40, r15 ;#0x0028 f758: 81 4f 2c 00 mov r15, 44(r1) ;0x002c(r1) f75c: 81 93 30 00 tst 48(r1) ;0x0030(r1) f760: 06 20 jnz $+14 ;abs 0xf76e f762: 81 93 32 00 tst 50(r1) ;0x0032(r1) f766: 03 20 jnz $+8 ;abs 0xf76e f768: c1 93 35 00 tst.b 53(r1) ;0x0035(r1) f76c: 3e 24 jz $+126 ;abs 0xf7ea f76e: d1 41 34 00 mov.b 52(r1), 56(r1) ;0x0034(r1), 0x0038(r1) f772: 38 00 f774: c1 43 39 00 mov.b #0, 57(r1) ;r3 As==00, 0x0039(r1) f778: 81 43 3a 00 mov #0, 58(r1) ;r3 As==00, 0x003a(r1) f77c: c1 43 36 00 mov.b #0, 54(r1) ;r3 As==00, 0x0036(r1) f780: 1e 41 30 00 mov 48(r1), r14 ;0x0030(r1) f784: 1f 41 32 00 mov 50(r1), r15 ;0x0032(r1) f788: 1e 81 38 00 sub 56(r1), r14 ;0x0038(r1) f78c: 1f 71 3a 00 subc 58(r1), r15 ;0x003a(r1) f790: 02 28 jnc $+6 ;abs 0xf796 f792: d1 43 36 00 mov.b #1, 54(r1) ;r3 As==01, 0x0036(r1) f796: 1c 41 30 00 mov 48(r1), r12 ;0x0030(r1) f79a: 1d 41 32 00 mov 50(r1), r13 ;0x0032(r1) f79e: 1a 41 38 00 mov 56(r1), r10 ;0x0038(r1) f7a2: 1b 41 3a 00 mov 58(r1), r11 ;0x003a(r1) f7a6: b0 12 86 fa call #0xfa86 f7aa: 44 4e mov.b r14, r4 f7ac: 7e 90 0a 00 cmp.b #10, r14 ;#0x000a f7b0: 30 2c jc $+98 ;abs 0xf812 f7b2: 74 50 30 00 add.b #48, r4 ;#0x0030 f7b6: b1 53 2c 00 add #-1, 44(r1) ;r3 As==11, 0x002c(r1) f7ba: 1f 41 2c 00 mov 44(r1), r15 ;0x002c(r1) f7be: cf 44 00 00 mov.b r4, 0(r15) ;0x0000(r15) f7c2: 1c 41 30 00 mov 48(r1), r12 ;0x0030(r1) f7c6: 1d 41 32 00 mov 50(r1), r13 ;0x0032(r1) f7ca: 1a 41 38 00 mov 56(r1), r10 ;0x0038(r1) f7ce: 1b 41 3a 00 mov 58(r1), r11 ;0x003a(r1) f7d2: b0 12 86 fa call #0xfa86 f7d6: 81 4c 30 00 mov r12, 48(r1) ;0x0030(r1) f7da: 81 4d 32 00 mov r13, 50(r1) ;0x0032(r1) f7de: c1 93 36 00 tst.b 54(r1) ;0x0036(r1) f7e2: cc 23 jnz $-102 ;abs 0xf77c f7e4: f1 92 34 00 cmp.b #8, 52(r1) ;r2 As==11, 0x0034(r1) f7e8: 06 24 jz $+14 ;abs 0xf7f6 f7ea: 49 41 mov.b r1, r9 f7ec: 59 81 2c 00 sub.b 44(r1), r9 ;0x002c(r1) f7f0: 79 50 28 00 add.b #40, r9 ;#0x0028 f7f4: 1a 3f jmp $-458 ;abs 0xf62a f7f6: f1 b2 2e 00 bit.b #8, 46(r1) ;r2 As==11, 0x002e(r1) f7fa: f7 27 jz $-16 ;abs 0xf7ea f7fc: 74 90 30 00 cmp.b #48, r4 ;#0x0030 f800: f4 27 jz $-22 ;abs 0xf7ea f802: b1 53 2c 00 add #-1, 44(r1) ;r3 As==11, 0x002c(r1) f806: 1f 41 2c 00 mov 44(r1), r15 ;0x002c(r1) f80a: ff 40 30 00 mov.b #48, 0(r15) ;#0x0030, 0x0000(r15) f80e: 00 00 f810: ec 3f jmp $-38 ;abs 0xf7ea f812: 74 50 57 00 add.b #87, r4 ;#0x0057 f816: 77 90 58 00 cmp.b #88, r7 ;#0x0058 f81a: cd 23 jnz $-100 ;abs 0xf7b6 f81c: 74 f0 df ff and.b #-33, r4 ;#0xffdf f820: ca 3f jmp $-106 ;abs 0xf7b6 f822: f1 40 0a 00 mov.b #10, 52(r1) ;#0x000a, 0x0034(r1) f826: 34 00 f828: 8b 3f jmp $-232 ;abs 0xf740 f82a: d1 d3 2e 00 bis.b #1, 46(r1) ;r3 As==01, 0x002e(r1) f82e: f9 3f jmp $-12 ;abs 0xf822 f830: 0f 45 mov r5, r15 f832: 25 53 incd r5 f834: a1 4f 2c 00 mov @r15, 44(r1) ;0x002c(r1) f838: 81 93 2c 00 tst 44(r1) ;0x002c(r1) f83c: 1e 24 jz $+62 ;abs 0xf87a f83e: 4b 93 tst.b r11 f840: 11 38 jl $+36 ;abs 0xf864 f842: 4f 4b mov.b r11, r15 f844: 8f 11 sxt r15 f846: 0d 4f mov r15, r13 f848: 0e 43 clr r14 f84a: 1f 41 2c 00 mov 44(r1), r15 ;0x002c(r1) f84e: b0 12 62 fa call #0xfa62 f852: 0f 93 tst r15 f854: 05 24 jz $+12 ;abs 0xf860 f856: 49 4f mov.b r15, r9 f858: 59 81 2c 00 sub.b 44(r1), r9 ;0x002c(r1) f85c: 4b 99 cmp.b r9, r11 f85e: e3 36 jge $-568 ;abs 0xf626 f860: 49 4b mov.b r11, r9 f862: e1 3e jmp $-572 ;abs 0xf626 f864: 1f 41 2c 00 mov 44(r1), r15 ;0x002c(r1) f868: 1f 83 dec r15 f86a: 1f 53 inc r15 f86c: cf 93 00 00 tst.b 0(r15) ;0x0000(r15) f870: fc 23 jnz $-6 ;abs 0xf86a f872: 49 4f mov.b r15, r9 f874: 59 81 2c 00 sub.b 44(r1), r9 ;0x002c(r1) f878: d6 3e jmp $-594 ;abs 0xf626 f87a: 81 41 2c 00 mov r1, 44(r1) ;0x002c(r1) f87e: f1 40 28 00 mov.b #40, 0(r1) ;#0x0028, 0x0000(r1) f882: 00 00 f884: f1 40 6e 00 mov.b #110, 1(r1) ;#0x006e, 0x0001(r1) f888: 01 00 f88a: f1 40 75 00 mov.b #117, 2(r1) ;#0x0075, 0x0002(r1) f88e: 02 00 f890: f1 40 6c 00 mov.b #108, 3(r1) ;#0x006c, 0x0003(r1) f894: 03 00 f896: f1 40 6c 00 mov.b #108, 4(r1) ;#0x006c, 0x0004(r1) f89a: 04 00 f89c: f1 40 29 00 mov.b #41, 5(r1) ;#0x0029, 0x0005(r1) f8a0: 05 00 f8a2: c1 43 06 00 mov.b #0, 6(r1) ;r3 As==00, 0x0006(r1) f8a6: cb 3f jmp $-104 ;abs 0xf83e f8a8: 0f 45 mov r5, r15 f8aa: 25 53 incd r5 f8ac: a1 4f 30 00 mov @r15, 48(r1) ;0x0030(r1) f8b0: 81 43 32 00 mov #0, 50(r1) ;r3 As==00, 0x0032(r1) f8b4: f1 40 10 00 mov.b #16, 52(r1) ;#0x0010, 0x0034(r1) f8b8: 34 00 f8ba: f1 d0 40 00 bis.b #64, 46(r1) ;#0x0040, 0x002e(r1) f8be: 2e 00 f8c0: 77 40 78 00 mov.b #120, r7 ;#0x0078 f8c4: 3d 3f jmp $-388 ;abs 0xf740 f8c6: f1 42 34 00 mov.b #8, 52(r1) ;r2 As==11, 0x0034(r1) f8ca: 3a 3f jmp $-394 ;abs 0xf740 f8cc: d1 d3 2e 00 bis.b #1, 46(r1) ;r3 As==01, 0x002e(r1) f8d0: fa 3f jmp $-10 ;abs 0xf8c6 f8d2: d1 b3 2e 00 bit.b #1, 46(r1) ;r3 As==01, 0x002e(r1) f8d6: 19 24 jz $+52 ;abs 0xf90a f8d8: 0f 45 mov r5, r15 f8da: 25 52 add #4, r5 ;r2 As==10 f8dc: b1 4f 30 00 mov @r15+, 48(r1) ;0x0030(r1) f8e0: b1 4f 32 00 mov @r15+, 50(r1) ;0x0032(r1) f8e4: 81 93 32 00 tst 50(r1) ;0x0032(r1) f8e8: 04 38 jl $+10 ;abs 0xf8f2 f8ea: f1 40 0a 00 mov.b #10, 52(r1) ;#0x000a, 0x0034(r1) f8ee: 34 00 f8f0: 29 3f jmp $-428 ;abs 0xf744 f8f2: b1 e3 30 00 xor #-1, 48(r1) ;r3 As==11, 0x0030(r1) f8f6: b1 e3 32 00 xor #-1, 50(r1) ;r3 As==11, 0x0032(r1) f8fa: 91 53 30 00 inc 48(r1) ;0x0030(r1) f8fe: 81 63 32 00 adc 50(r1) ;0x0032(r1) f902: f1 40 2d 00 mov.b #45, 42(r1) ;#0x002d, 0x002a(r1) f906: 2a 00 f908: f0 3f jmp $-30 ;abs 0xf8ea f90a: 0f 45 mov r5, r15 f90c: 25 53 incd r5 f90e: a1 4f 30 00 mov @r15, 48(r1) ;0x0030(r1) f912: 91 41 30 00 mov 48(r1), 50(r1) ;0x0030(r1), 0x0032(r1) f916: 32 00 f918: 91 51 32 00 rla 50(r1) ;0x0032(r1) f91c: 32 00 f91e: 91 71 32 00 subc 50(r1), 50(r1) ;0x0032(r1), 0x0032(r1) f922: 32 00 f924: b1 e3 32 00 xor #-1, 50(r1) ;r3 As==11, 0x0032(r1) f928: dd 3f jmp $-68 ;abs 0xf8e4 f92a: d1 d3 2e 00 bis.b #1, 46(r1) ;r3 As==01, 0x002e(r1) f92e: d1 3f jmp $-92 ;abs 0xf8d2 f930: 81 41 2c 00 mov r1, 44(r1) ;0x002c(r1) f934: 0f 45 mov r5, r15 f936: 25 53 incd r5 f938: e1 4f 00 00 mov.b @r15, 0(r1) ;0x0000(r1) f93c: 73 3e jmp $-792 ;abs 0xf624 f93e: e1 d2 2e 00 bis.b #4, 46(r1) ;r2 As==10, 0x002e(r1) f942: 30 40 16 f5 br #0xf516 f946: f1 b0 10 00 bit.b #16, 46(r1) ;#0x0010, 0x002e(r1) f94a: 2e 00 f94c: 02 24 jz $+6 ;abs 0xf952 f94e: 30 40 16 f5 br #0xf516 f952: f1 d0 20 00 bis.b #32, 46(r1) ;#0x0020, 0x002e(r1) f956: 2e 00 f958: 30 40 16 f5 br #0xf516 f95c: 67 46 mov.b @r6, r7 f95e: 16 53 inc r6 f960: 77 90 2a 00 cmp.b #42, r7 ;#0x002a f964: 24 24 jz $+74 ;abs 0xf9ae f966: 0d 43 clr r13 f968: 4f 47 mov.b r7, r15 f96a: 7f 50 d0 ff add.b #-48, r15 ;#0xffd0 f96e: 7f 90 0a 00 cmp.b #10, r15 ;#0x000a f972: 16 2c jc $+46 ;abs 0xf9a0 f974: 0f 4d mov r13, r15 f976: 0f 5f rla r15 f978: 0f 5f rla r15 f97a: 0e 4d mov r13, r14 f97c: 0e 5e rla r14 f97e: 0d 4f mov r15, r13 f980: 0d 5e add r14, r13 f982: 0d 5e add r14, r13 f984: 0d 5e add r14, r13 f986: 4f 47 mov.b r7, r15 f988: 8f 11 sxt r15 f98a: 0d 5f add r15, r13 f98c: 3d 50 d0 ff add #-48, r13 ;#0xffd0 f990: 67 46 mov.b @r6, r7 f992: 16 53 inc r6 f994: 4f 47 mov.b r7, r15 f996: 7f 50 d0 ff add.b #-48, r15 ;#0xffd0 f99a: 7f 90 0a 00 cmp.b #10, r15 ;#0x000a f99e: ea 2b jnc $-42 ;abs 0xf974 f9a0: 0f 4d mov r13, r15 f9a2: 3d 93 cmp #-1, r13 ;r3 As==11 f9a4: 01 34 jge $+4 ;abs 0xf9a8 f9a6: 3f 43 mov #-1, r15 ;r3 As==11 f9a8: 4b 4f mov.b r15, r11 f9aa: 30 40 1a f5 br #0xf51a f9ae: 0f 45 mov r5, r15 f9b0: 25 53 incd r5 f9b2: 2d 4f mov @r15, r13 f9b4: 0f 4d mov r13, r15 f9b6: 3d 93 cmp #-1, r13 ;r3 As==11 f9b8: 01 34 jge $+4 ;abs 0xf9bc f9ba: 3f 43 mov #-1, r15 ;r3 As==11 f9bc: 4b 4f mov.b r15, r11 f9be: 30 40 16 f5 br #0xf516 f9c2: f1 40 2b 00 mov.b #43, 42(r1) ;#0x002b, 0x002a(r1) f9c6: 2a 00 f9c8: 30 40 16 f5 br #0xf516 f9cc: f1 d0 10 00 bis.b #16, 46(r1) ;#0x0010, 0x002e(r1) f9d0: 2e 00 f9d2: f1 f0 df ff and.b #-33, 46(r1) ;#0xffdf, 0x002e(r1) f9d6: 2e 00 f9d8: 30 40 16 f5 br #0xf516 f9dc: 0f 45 mov r5, r15 f9de: 25 53 incd r5 f9e0: e1 4f 2f 00 mov.b @r15, 47(r1) ;0x002f(r1) f9e4: c1 93 2f 00 tst.b 47(r1) ;0x002f(r1) f9e8: 02 38 jl $+6 ;abs 0xf9ee f9ea: 30 40 16 f5 br #0xf516 f9ee: f1 e3 2f 00 xor.b #-1, 47(r1) ;r3 As==11, 0x002f(r1) f9f2: d1 53 2f 00 inc.b 47(r1) ;0x002f(r1) f9f6: ea 3f jmp $-42 ;abs 0xf9cc f9f8: f1 d2 2e 00 bis.b #8, 46(r1) ;r2 As==11, 0x002e(r1) f9fc: 30 40 16 f5 br #0xf516 fa00: c1 93 2a 00 tst.b 42(r1) ;0x002a(r1) fa04: 02 24 jz $+6 ;abs 0xfa0a fa06: 30 40 16 f5 br #0xf516 fa0a: f1 40 20 00 mov.b #32, 42(r1) ;#0x0020, 0x002a(r1) fa0e: 2a 00 fa10: 30 40 16 f5 br #0xf516 fa14: d1 b3 2e 00 bit.b #1, 46(r1) ;r3 As==01, 0x002e(r1) fa18: 08 24 jz $+18 ;abs 0xfa2a fa1a: 0f 45 mov r5, r15 fa1c: 25 52 add #4, r5 ;r2 As==10 fa1e: b1 4f 30 00 mov @r15+, 48(r1) ;0x0030(r1) fa22: b1 4f 32 00 mov @r15+, 50(r1) ;0x0032(r1) fa26: 30 40 34 f5 br #0xf534 fa2a: 0f 45 mov r5, r15 fa2c: 25 53 incd r5 fa2e: a1 4f 30 00 mov @r15, 48(r1) ;0x0030(r1) fa32: 81 43 32 00 mov #0, 50(r1) ;r3 As==00, 0x0032(r1) fa36: 30 40 34 f5 br #0xf534 fa3a: 0e 4d mov r13, r14 fa3c: b0 12 48 f4 call #0xf448 fa40: 0f 93 tst r15 fa42: 02 38 jl $+6 ;abs 0xfa48 fa44: 30 40 fa f4 br #0xf4fa fa48: 1f 42 02 02 mov &0x0202,r15 fa4c: 31 50 3c 00 add #60, r1 ;#0x003c fa50: 34 41 pop r4 fa52: 35 41 pop r5 fa54: 36 41 pop r6 fa56: 37 41 pop r7 fa58: 38 41 pop r8 fa5a: 39 41 pop r9 fa5c: 3a 41 pop r10 fa5e: 3b 41 pop r11 fa60: 30 41 ret 0000fa62 : fa62: 0b 12 push r11 fa64: 0b 4f mov r15, r11 fa66: 4c 4e mov.b r14, r12 fa68: 0d 93 tst r13 fa6a: 07 24 jz $+16 ;abs 0xfa7a fa6c: 0e 4b mov r11, r14 fa6e: 6f 4e mov.b @r14, r15 fa70: 1e 53 inc r14 fa72: 4f 9c cmp.b r12, r15 fa74: 04 24 jz $+10 ;abs 0xfa7e fa76: 3d 53 add #-1, r13 ;r3 As==11 fa78: fa 23 jnz $-10 ;abs 0xfa6e fa7a: 0f 43 clr r15 fa7c: 02 3c jmp $+6 ;abs 0xfa82 fa7e: 0f 4e mov r14, r15 fa80: 3f 53 add #-1, r15 ;r3 As==11 fa82: 3b 41 pop r11 fa84: 30 41 ret 0000fa86 <__udivmodsi4>: fa86: 0f ef xor r15, r15 fa88: 0e ee xor r14, r14 fa8a: 39 40 21 00 mov #33, r9 ;#0x0021 fa8e: 0a 3c jmp $+22 ;abs 0xfaa4 fa90: 08 10 rrc r8 fa92: 0e 6e rlc r14 fa94: 0f 6f rlc r15 fa96: 0f 9b cmp r11, r15 fa98: 05 28 jnc $+12 ;abs 0xfaa4 fa9a: 02 20 jnz $+6 ;abs 0xfaa0 fa9c: 0e 9a cmp r10, r14 fa9e: 02 28 jnc $+6 ;abs 0xfaa4 faa0: 0e 8a sub r10, r14 faa2: 0f 7b subc r11, r15 faa4: 0c 6c rlc r12 faa6: 0d 6d rlc r13 faa8: 08 68 rlc r8 faaa: 19 83 dec r9 faac: f1 23 jnz $-28 ;abs 0xfa90 faae: 30 41 ret 0000fab0 <__stop_progExec__>: fab0: ff 3f jmp $+0 ;abs 0xfab0 Disassembly of section .vectors: 0000ffe0 : ffe0: 30 e0 30 e0 36 e0 30 e0 30 e0 30 e0 30 e0 30 e0 0.0.6.0.0.0.0.0. fff0: 30 e0 30 e0 4a e0 30 e0 30 e0 30 e0 64 e0 00 e0 0.0.J.0.0.0.d...