Pong_Code.elf: file format elf32-littlenios2 Pong_Code.elf architecture: nios2:r1, flags 0x00000112: EXEC_P, HAS_SYMS, D_PAGED start address 0x00040230 Program Header: LOAD off 0x00001000 vaddr 0x00040000 paddr 0x00040000 align 2**12 filesz 0x00000020 memsz 0x00000020 flags r-x LOAD off 0x00001020 vaddr 0x00040020 paddr 0x00040020 align 2**12 filesz 0x0001255c memsz 0x0001255c flags r-x LOAD off 0x0001357c vaddr 0x0005257c paddr 0x00054190 align 2**12 filesz 0x00001c14 memsz 0x00001c14 flags rw- LOAD off 0x00015da4 vaddr 0x00055da4 paddr 0x00055da4 align 2**12 filesz 0x00000000 memsz 0x000001a0 flags rw- Sections: Idx Name Size VMA LMA File off Algn 0 .entry 00000020 00040000 00040000 00001000 2**5 CONTENTS, ALLOC, LOAD, READONLY, CODE 1 .exceptions 00000210 00040020 00040020 00001020 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE 2 .text 00011d20 00040230 00040230 00001230 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE 3 .rodata 0000062c 00051f50 00051f50 00012f50 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 4 .rwdata 00001c14 0005257c 00054190 0001357c 2**2 CONTENTS, ALLOC, LOAD, DATA, SMALL_DATA 5 .bss 000001a0 00055da4 00055da4 00015da4 2**2 ALLOC, SMALL_DATA 6 .onchip_memory2 00000000 00055f44 00055f44 00015190 2**0 CONTENTS 7 .comment 00000023 00000000 00000000 00015190 2**0 CONTENTS, READONLY 8 .debug_aranges 00001040 00000000 00000000 000151b8 2**3 CONTENTS, READONLY, DEBUGGING 9 .debug_info 000260cb 00000000 00000000 000161f8 2**0 CONTENTS, READONLY, DEBUGGING 10 .debug_abbrev 00009eb8 00000000 00000000 0003c2c3 2**0 CONTENTS, READONLY, DEBUGGING 11 .debug_line 0000c576 00000000 00000000 0004617b 2**0 CONTENTS, READONLY, DEBUGGING 12 .debug_frame 00002538 00000000 00000000 000526f4 2**2 CONTENTS, READONLY, DEBUGGING 13 .debug_str 00004001 00000000 00000000 00054c2c 2**0 CONTENTS, READONLY, DEBUGGING 14 .debug_loc 00018548 00000000 00000000 00058c2d 2**0 CONTENTS, READONLY, DEBUGGING 15 .debug_alt_sim_info 00000040 00000000 00000000 00071178 2**2 CONTENTS, READONLY, DEBUGGING 16 .debug_ranges 00001b70 00000000 00000000 000711b8 2**3 CONTENTS, READONLY, DEBUGGING 17 .thread_model 00000003 00000000 00000000 00076312 2**0 CONTENTS, READONLY 18 .cpu 00000005 00000000 00000000 00076315 2**0 CONTENTS, READONLY 19 .qsys 00000001 00000000 00000000 0007631a 2**0 CONTENTS, READONLY 20 .simulation_enabled 00000001 00000000 00000000 0007631b 2**0 CONTENTS, READONLY 21 .stderr_dev 00000009 00000000 00000000 0007631c 2**0 CONTENTS, READONLY 22 .stdin_dev 00000009 00000000 00000000 00076325 2**0 CONTENTS, READONLY 23 .stdout_dev 00000009 00000000 00000000 0007632e 2**0 CONTENTS, READONLY 24 .sopc_system_name 00000008 00000000 00000000 00076337 2**0 CONTENTS, READONLY 25 .quartus_project_dir 0000001d 00000000 00000000 0007633f 2**0 CONTENTS, READONLY 26 .jdi 00004802 00000000 00000000 0007635c 2**0 CONTENTS, READONLY 27 .sopcinfo 0004849f 00000000 00000000 0007ab5e 2**0 CONTENTS, READONLY SYMBOL TABLE: 00040000 l d .entry 00000000 .entry 00040020 l d .exceptions 00000000 .exceptions 00040230 l d .text 00000000 .text 00051f50 l d .rodata 00000000 .rodata 0005257c l d .rwdata 00000000 .rwdata 00055da4 l d .bss 00000000 .bss 00055f44 l d .onchip_memory2 00000000 .onchip_memory2 00000000 l d .comment 00000000 .comment 00000000 l d .debug_aranges 00000000 .debug_aranges 00000000 l d .debug_info 00000000 .debug_info 00000000 l d .debug_abbrev 00000000 .debug_abbrev 00000000 l d .debug_line 00000000 .debug_line 00000000 l d .debug_frame 00000000 .debug_frame 00000000 l d .debug_str 00000000 .debug_str 00000000 l d .debug_loc 00000000 .debug_loc 00000000 l d .debug_alt_sim_info 00000000 .debug_alt_sim_info 00000000 l d .debug_ranges 00000000 .debug_ranges 00000000 l df *ABS* 00000000 ../Pong_Code_bsp//obj/HAL/src/crt0.o 00040268 l .text 00000000 alt_after_alt_main 00000000 l df *ABS* 00000000 alt_irq_handler.c 00000000 l df *ABS* 00000000 alt_instruction_exception_entry.c 00000000 l df *ABS* 00000000 specs.cpp 00000000 l df *ABS* 00000000 Main.c 00000000 l df *ABS* 00000000 specs.cpp 00000000 l df *ABS* 00000000 s_round.c 00000000 l df *ABS* 00000000 eqsf2.c 00000000 l df *ABS* 00000000 gesf2.c 00000000 l df *ABS* 00000000 lesf2.c 00000000 l df *ABS* 00000000 floatsisf.c 00000000 l df *ABS* 00000000 adddf3.c 00000000 l df *ABS* 00000000 gedf2.c 00000000 l df *ABS* 00000000 ledf2.c 00000000 l df *ABS* 00000000 subdf3.c 00000000 l df *ABS* 00000000 fixdfsi.c 00000000 l df *ABS* 00000000 floatsidf.c 00000000 l df *ABS* 00000000 extendsfdf2.c 00000000 l df *ABS* 00000000 libgcc2.c 00000000 l df *ABS* 00000000 libgcc2.c 00000000 l df *ABS* 00000000 printf.c 00000000 l df *ABS* 00000000 putchar.c 00000000 l df *ABS* 00000000 puts.c 00000000 l df *ABS* 00000000 strlen.c 00000000 l df *ABS* 00000000 vfprintf.c 0005213a l O .rodata 00000010 zeroes.4404 000450d0 l F .text 000000bc __sbprintf 0005214a l O .rodata 00000010 blanks.4403 00000000 l df *ABS* 00000000 wsetup.c 00000000 l df *ABS* 00000000 dtoa.c 000452e0 l F .text 00000228 quorem 00000000 l df *ABS* 00000000 fflush.c 00000000 l df *ABS* 00000000 findfp.c 00046e38 l F .text 00000008 __fp_unlock 00046e4c l F .text 0000019c __sinit.part.1 00046fe8 l F .text 00000008 __fp_lock 00000000 l df *ABS* 00000000 mallocr.c 00000000 l df *ABS* 00000000 fvwrite.c 00000000 l df *ABS* 00000000 fwalk.c 00000000 l df *ABS* 00000000 impure.c 0005257c l O .rwdata 00000424 impure_data 00000000 l df *ABS* 00000000 locale.c 000529c0 l O .rwdata 00000020 lc_ctype_charset 000529a0 l O .rwdata 00000020 lc_message_charset 000529e0 l O .rwdata 00000038 lconv 00000000 l df *ABS* 00000000 makebuf.c 00000000 l df *ABS* 00000000 mallocr.c 00000000 l df *ABS* 00000000 memchr.c 00000000 l df *ABS* 00000000 memcpy.c 00000000 l df *ABS* 00000000 memmove.c 00000000 l df *ABS* 00000000 memset.c 00000000 l df *ABS* 00000000 mprec.c 0005217c l O .rodata 0000000c p05.2768 00000000 l df *ABS* 00000000 putc.c 00000000 l df *ABS* 00000000 mallocr.c 00000000 l df *ABS* 00000000 s_fpclassify.c 00000000 l df *ABS* 00000000 sbrkr.c 00000000 l df *ABS* 00000000 stdio.c 00000000 l df *ABS* 00000000 strcmp.c 00000000 l df *ABS* 00000000 vfprintf.c 0004a624 l F .text 000000fc __sprint_r.part.0 000522a0 l O .rodata 00000010 zeroes.4349 0004bc60 l F .text 000000bc __sbprintf 000522b0 l O .rodata 00000010 blanks.4348 00000000 l df *ABS* 00000000 wbuf.c 00000000 l df *ABS* 00000000 writer.c 00000000 l df *ABS* 00000000 closer.c 00000000 l df *ABS* 00000000 mallocr.c 00000000 l df *ABS* 00000000 fclose.c 00000000 l df *ABS* 00000000 fputwc.c 00000000 l df *ABS* 00000000 fstatr.c 00000000 l df *ABS* 00000000 int_errno.c 00000000 l df *ABS* 00000000 isattyr.c 00000000 l df *ABS* 00000000 lseekr.c 00000000 l df *ABS* 00000000 readr.c 00000000 l df *ABS* 00000000 wcrtomb.c 00000000 l df *ABS* 00000000 wctomb_r.c 00000000 l df *ABS* 00000000 libgcc2.c 00000000 l df *ABS* 00000000 libgcc2.c 00000000 l df *ABS* 00000000 lib2-divmod.c 00000000 l df *ABS* 00000000 lib2-mul.c 00000000 l df *ABS* 00000000 divdf3.c 00000000 l df *ABS* 00000000 eqdf2.c 00000000 l df *ABS* 00000000 muldf3.c 00000000 l df *ABS* 00000000 floatunsidf.c 00000000 l df *ABS* 00000000 alt_close.c 0004e770 l F .text 0000003c alt_get_errno 00000000 l df *ABS* 00000000 alt_dev.c 0004e884 l F .text 0000002c alt_dev_null_write 00000000 l df *ABS* 00000000 alt_errno.c 00000000 l df *ABS* 00000000 alt_fstat.c 0004e8b0 l F .text 0000003c alt_get_errno 00000000 l df *ABS* 00000000 alt_isatty.c 0004e9a4 l F .text 0000003c alt_get_errno 00000000 l df *ABS* 00000000 alt_load.c 0004ea8c l F .text 00000068 alt_load_section 00000000 l df *ABS* 00000000 alt_lseek.c 0004eb78 l F .text 0000003c alt_get_errno 00000000 l df *ABS* 00000000 alt_main.c 00000000 l df *ABS* 00000000 alt_malloc_lock.c 00000000 l df *ABS* 00000000 alt_read.c 0004ed54 l F .text 0000003c alt_get_errno 00000000 l df *ABS* 00000000 alt_release_fd.c 00000000 l df *ABS* 00000000 alt_sbrk.c 00054178 l O .rwdata 00000004 heap_end 00000000 l df *ABS* 00000000 alt_write.c 0004efc8 l F .text 0000003c alt_get_errno 00000000 l df *ABS* 00000000 alt_sys_init.c 0004f104 l F .text 00000034 alt_dev_reg 00052fc8 l O .rwdata 00001060 jtag_uart 00054028 l O .rwdata 00000120 lcd_16207 00000000 l df *ABS* 00000000 altera_avalon_jtag_uart_fd.c 00000000 l df *ABS* 00000000 altera_avalon_jtag_uart_init.c 0004f3f4 l F .text 0000020c altera_avalon_jtag_uart_irq 0004f600 l F .text 000000a0 altera_avalon_jtag_uart_timeout 00000000 l df *ABS* 00000000 altera_avalon_jtag_uart_ioctl.c 00000000 l df *ABS* 00000000 altera_avalon_jtag_uart_read.c 00000000 l df *ABS* 00000000 altera_avalon_jtag_uart_write.c 00000000 l df *ABS* 00000000 altera_avalon_lcd_16207.c 0005417c l O .rwdata 00000004 colstart 0004fc38 l F .text 000000b8 lcd_write_command 0004fcf0 l F .text 000000d8 lcd_write_data 0004fdc8 l F .text 000000e8 lcd_clear_screen 0004feb0 l F .text 00000228 lcd_repaint_screen 000500d8 l F .text 000000e8 lcd_scroll_up 000501c0 l F .text 000002c4 lcd_handle_escape 000509a4 l F .text 000000ac alt_lcd_16207_timeout 00000000 l df *ABS* 00000000 altera_avalon_lcd_16207_fd.c 00000000 l df *ABS* 00000000 alt_alarm_start.c 00000000 l df *ABS* 00000000 alt_dcache_flush_all.c 00000000 l df *ABS* 00000000 alt_dev_llist_insert.c 00050d30 l F .text 0000003c alt_get_errno 00000000 l df *ABS* 00000000 alt_do_ctors.c 00000000 l df *ABS* 00000000 alt_do_dtors.c 00000000 l df *ABS* 00000000 alt_icache_flush_all.c 00000000 l df *ABS* 00000000 alt_iic.c 00000000 l df *ABS* 00000000 alt_iic_isr_register.c 00000000 l df *ABS* 00000000 alt_io_redirect.c 00051190 l F .text 000000e4 alt_open_fd 00000000 l df *ABS* 00000000 alt_irq_vars.c 00000000 l df *ABS* 00000000 alt_open.c 000512f0 l F .text 0000003c alt_get_errno 0005132c l F .text 000000ec alt_file_locked 00000000 l df *ABS* 00000000 alt_tick.c 00000000 l df *ABS* 00000000 alt_usleep.c 00000000 l df *ABS* 00000000 altera_nios2_gen2_irq.c 00000000 l df *ABS* 00000000 alt_busy_sleep.c 00000000 l df *ABS* 00000000 alt_find_dev.c 00000000 l df *ABS* 00000000 alt_find_file.c 00000000 l df *ABS* 00000000 alt_get_fd.c 00000000 l df *ABS* 00000000 atexit.c 00000000 l df *ABS* 00000000 ctype_.c 000523fc l O .rodata 00000180 _ctype_b 00000000 l df *ABS* 00000000 exit.c 00000000 l df *ABS* 00000000 memcmp.c 00000000 l df *ABS* 00000000 __atexit.c 00000000 l df *ABS* 00000000 __call_atexit.c 00000000 l df *ABS* 00000000 alt_exit.c 00055de8 g O .bss 00000004 alt_instruction_exception_handler 00042c54 g F .text 00000018 putchar 00049b00 g F .text 00000074 _mprec_log10 00049bec g F .text 0000008c __any_on 0004c36c g F .text 00000054 _isatty_r 00052188 g O .rodata 00000028 __mprec_tinytens 0004ec90 g F .text 0000007c alt_main 00042c6c g F .text 000000c0 _puts_r 00055e44 g O .bss 00000100 alt_irq 0004c3c0 g F .text 00000060 _lseek_r 00054190 g *ABS* 00000000 __flash_rwdata_start 0004ddd4 g F .text 00000088 .hidden __eqdf2 00055f44 g *ABS* 00000000 __alt_heap_start 00042c10 g F .text 0000003c printf 0004c480 g F .text 0000009c _wcrtomb_r 0004a4e4 g F .text 0000005c __sseek 00047198 g F .text 00000010 __sinit 0004bd1c g F .text 00000140 __swbuf_r 00047c6c g F .text 0000007c _setlocale_r 00046ff0 g F .text 00000078 __sfmoreglue 0004ed30 g F .text 00000024 __malloc_unlock 00041178 g F .text 00000100 round 0004893c g F .text 0000015c memmove 00047180 g F .text 00000018 _cleanup 00048bc0 g F .text 000000a8 _Balloc 00041e44 g F .text 000000dc .hidden __gtdf2 00051748 g F .text 00000024 altera_nios2_gen2_irq_init 00040000 g F .entry 0000000c __reset 00040020 g *ABS* 00000000 __flash_exceptions_start 0004c310 g F .text 0000005c _fstat_r 00055dcc g O .bss 00000004 errno 0004a460 g F .text 00000008 __seofread 00055dd4 g O .bss 00000004 alt_argv 0005c148 g *ABS* 00000000 _gp 00051718 g F .text 00000030 usleep 00040504 g F .text 00000b40 game 00052e48 g O .rwdata 00000180 alt_fd_list 00042c4c g F .text 00000008 _putchar_r 000518c4 g F .text 00000090 alt_find_dev 000487f4 g F .text 00000148 memcpy 00046e40 g F .text 0000000c _cleanup_r 00042990 g F .text 000000dc .hidden __floatsidf 00051274 g F .text 0000007c alt_io_redirect 00041f20 g F .text 000000f4 .hidden __ltdf2 00051f50 g *ABS* 00000000 __DTOR_END__ 00042d2c g F .text 00000014 puts 00051b20 g F .text 0000009c alt_exception_cause_generated_bad_addr 0004a344 g F .text 00000074 __fpclassifyd 00049a5c g F .text 000000a4 __ratio 0004bc44 g F .text 0000001c __vfiprintf_internal 00055e14 g O .bss 00000020 screen 0004f7f8 g F .text 0000021c altera_avalon_jtag_uart_read 00042be0 g F .text 00000030 _printf_r 0004d320 g F .text 00000064 .hidden __udivsi3 0004e9e0 g F .text 000000ac isatty 000521d8 g O .rodata 000000c8 __mprec_tens 00047ce8 g F .text 0000000c __locale_charset 000413ac g F .text 000000c8 .hidden __lesf2 00055dc8 g O .bss 00000004 __malloc_top_pad 00054150 g O .rwdata 00000004 __mb_cur_max 00047d18 g F .text 0000000c _localeconv_r 0004048c g F .text 00000078 reset_pos 00048ff4 g F .text 0000003c __i2b 0004761c g F .text 000004c8 __sfvwrite_r 0004a3b8 g F .text 00000054 _sbrk_r 0004c420 g F .text 00000060 _read_r 000403c0 g F .text 00000070 set_pixel 00054170 g O .rwdata 00000004 alt_max_fd 0004c004 g F .text 000000f0 _fclose_r 00046e08 g F .text 00000030 fflush 00055dc4 g O .bss 00000004 __malloc_max_sbrked_mem 00042a6c g F .text 00000110 .hidden __extendsfdf2 00041598 g F .text 000008ac .hidden __adddf3 00041278 g F .text 00000078 .hidden __nesf2 00049804 g F .text 0000010c __b2d 0004cc64 g F .text 000005c4 .hidden __umoddi3 0004ebb4 g F .text 000000dc lseek 00054148 g O .rwdata 00000004 _global_impure_ptr 00049de0 g F .text 00000564 _realloc_r 00055f44 g *ABS* 00000000 __bss_end 000510a0 g F .text 000000f0 alt_iic_isr_register 00051610 g F .text 00000108 alt_tick 0004c668 g F .text 000005fc .hidden __udivdi3 0004c26c g F .text 00000024 _fputwc_r 000521b0 g O .rodata 00000028 __mprec_bigtens 00048dd8 g F .text 00000104 __s2b 0004e6c8 g F .text 000000a8 .hidden __floatunsidf 00049544 g F .text 00000060 __mcmp 000471b8 g F .text 00000018 __fp_lock_all 00051054 g F .text 0000004c alt_ic_irq_enabled 00051574 g F .text 0000009c alt_alarm_stop 00055ddc g O .bss 00000004 alt_irq_active 000400fc g F .exceptions 000000d4 alt_irq_handler 00052e20 g O .rwdata 00000028 alt_dev_null 00050d10 g F .text 00000020 alt_dcache_flush_all 00048edc g F .text 00000068 __hi0bits 00042910 g F .text 00000080 .hidden __fixdfsi 00054190 g *ABS* 00000000 __ram_rwdata_end 00054168 g O .rwdata 00000008 alt_dev_list 0004f004 g F .text 00000100 write 00049c78 g F .text 000000a0 _putc_r 000412f0 g F .text 000000bc .hidden __gtsf2 0005257c g *ABS* 00000000 __ram_rodata_end 0004e8ec g F .text 000000b8 fstat 00041f20 g F .text 000000f4 .hidden __ledf2 000492bc g F .text 00000140 __pow5mult 0004a738 g F .text 0000150c ___vfiprintf_internal_r 00055dbc g O .bss 00000004 __nlocale_changed 0004d384 g F .text 00000058 .hidden __umodsi3 00055f44 g *ABS* 00000000 end 00050484 g F .text 00000520 altera_avalon_lcd_16207_write 0004f334 g F .text 000000c0 altera_avalon_jtag_uart_init 000401d0 g F .exceptions 00000060 alt_instruction_exception_entry 00051f50 g *ABS* 00000000 __CTOR_LIST__ 00072000 g *ABS* 00000000 __alt_stack_pointer 00042b7c g F .text 00000064 .hidden __clzsi2 0004fa14 g F .text 00000224 altera_avalon_jtag_uart_write 000471a8 g F .text 00000004 __sfp_lock_acquire 00048710 g F .text 000000e4 memchr 00042dd8 g F .text 000022dc ___vfprintf_internal_r 0004730c g F .text 00000310 _free_r 00047cf4 g F .text 00000010 __locale_mb_cur_max 00051d9c g F .text 00000180 __call_exitprocs 00055db8 g O .bss 00000004 __mlocale_changed 00054154 g O .rwdata 00000004 __malloc_sbrk_base 00040230 g F .text 0000003c _start 00055de0 g O .bss 00000004 _alt_tick_rate 000493fc g F .text 00000148 __lshift 00055de4 g O .bss 00000004 _alt_nticks 0004ed90 g F .text 00000104 read 0004f170 g F .text 00000060 alt_sys_init 00041474 g F .text 00000124 .hidden __floatsisf 00051c84 g F .text 00000118 __register_exitproc 00049030 g F .text 0000028c __multiply 0004f6a0 g F .text 00000068 altera_avalon_jtag_uart_close 0004d3dc g F .text 00000028 .hidden __mulsi3 0005257c g *ABS* 00000000 __ram_rwdata_start 00051f50 g *ABS* 00000000 __ram_rodata_start 00055dec g O .bss 00000028 __malloc_current_mallinfo 00041278 g F .text 00000078 .hidden __eqsf2 00049910 g F .text 0000014c __d2b 0004f1d0 g F .text 00000060 altera_avalon_jtag_uart_read_fd 00051a5c g F .text 000000c4 alt_get_fd 0005176c g F .text 00000158 alt_busy_sleep 0004bed4 g F .text 00000054 _close_r 00051c08 g F .text 0000007c memcmp 0004f290 g F .text 00000050 altera_avalon_jtag_uart_close_fd 00055f44 g *ABS* 00000000 __alt_stack_base 0004f2e0 g F .text 00000054 altera_avalon_jtag_uart_ioctl_fd 0004518c g F .text 00000154 __swsetup_r 0004d404 g F .text 000009d0 .hidden __divdf3 00047068 g F .text 00000118 __sfp 00049b74 g F .text 00000078 __copybits 00052a18 g O .rwdata 00000408 __malloc_av_ 000471b4 g F .text 00000004 __sinit_lock_release 0004de5c g F .text 0000086c .hidden __muldf3 0004a40c g F .text 00000054 __sread 00051954 g F .text 00000108 alt_find_file 00050d6c g F .text 000000a4 alt_dev_llist_insert 0004ed0c g F .text 00000024 __malloc_lock 0004ef18 g F .text 000000b0 sbrk 00046dac g F .text 0000005c _fflush_r 0004bf28 g F .text 000000dc _calloc_r 00055da4 g *ABS* 00000000 __bss_start 00048a98 g F .text 00000128 memset 0004114c g F .text 0000002c main 00055dd8 g O .bss 00000004 alt_envp 00055dc0 g O .bss 00000004 __malloc_max_total_mem 0004f230 g F .text 00000060 altera_avalon_jtag_uart_write_fd 0004be5c g F .text 00000018 __swbuf 000413ac g F .text 000000c8 .hidden __ltsf2 00050a50 g F .text 00000134 altera_avalon_lcd_16207_init 0004a540 g F .text 00000008 __sclose 00072000 g *ABS* 00000000 __alt_heap_limit 0004c0f4 g F .text 00000014 fclose 00040430 g F .text 0000005c reset_screen 00045508 g F .text 00001688 _dtoa_r 00047f04 g F .text 0000080c _malloc_r 0004c5dc g F .text 00000030 __ascii_wctomb 00054174 g O .rwdata 00000004 alt_errno 00047ae4 g F .text 000000c4 _fwalk 00041044 g F .text 00000108 test_picture 00049d18 g F .text 000000c8 putc 0004d228 g F .text 00000084 .hidden __divsi3 000471e8 g F .text 00000124 _malloc_trim_r 00051f50 g *ABS* 00000000 __CTOR_END__ 0004a548 g F .text 000000dc strcmp 00051f50 g *ABS* 00000000 __flash_rodata_start 00051f50 g *ABS* 00000000 __DTOR_LIST__ 00055da4 g O .bss 00000008 left_paddle 0004ddd4 g F .text 00000088 .hidden __nedf2 0004f138 g F .text 00000038 alt_irq_init 0004ee94 g F .text 00000084 alt_release_fd 00051ff2 g O .rodata 00000100 .hidden __clz_tab 00055db4 g O .bss 00000004 _PathLocale 0004026c g F .text 00000060 bin 00051bbc g F .text 00000014 atexit 000412f0 g F .text 000000bc .hidden __gesf2 0004be74 g F .text 00000060 _write_r 00047d24 g F .text 00000018 setlocale 0005414c g O .rwdata 00000004 _impure_ptr 00055dd0 g O .bss 00000004 alt_argc 00046b90 g F .text 0000021c __sflush_r 00050e70 g F .text 00000060 _do_dtors 00047d10 g F .text 00000008 __locale_cjk_lang 00040020 g .exceptions 00000000 alt_irq_entry 000497a0 g F .text 00000064 __ulp 000471d0 g F .text 00000018 __fp_unlock_all 00050b84 g F .text 00000060 altera_avalon_lcd_16207_write_fd 00054160 g O .rwdata 00000008 alt_fs_list 00055e34 g O .bss 00000010 ball 00040020 g *ABS* 00000000 __ram_exceptions_start 00047d3c g F .text 0000000c localeconv 00040000 g *ABS* 00000000 __alt_mem_onchip_memory2 00050ef0 g F .text 00000050 alt_ic_isr_register 00054190 g *ABS* 00000000 _edata 00055f44 g *ABS* 00000000 _end 0004c108 g F .text 00000164 __fputwc 00040230 g *ABS* 00000000 __ram_exceptions_end 00055dac g O .bss 00000008 right_paddle 0004f708 g F .text 000000f0 altera_avalon_jtag_uart_ioctl 00050fc8 g F .text 0000008c alt_ic_irq_disable 0004a468 g F .text 0000007c __swrite 00054158 g O .rwdata 00000004 __malloc_trim_threshold 0004034c g F .text 00000074 draw_console 00047d04 g F .text 0000000c __locale_msgcharset 00051bd0 g F .text 00000038 exit 00047ba8 g F .text 000000c4 _fwalk_reent 000495a4 g F .text 000001fc __mdiff 0004d2ac g F .text 00000074 .hidden __modsi3 0005418c g O .rwdata 00000004 __ctype_ptr__ 00072000 g *ABS* 00000000 __alt_data_end 00040020 g F .exceptions 00000000 alt_exception 000471ac g F .text 00000004 __sfp_lock_release 000522fb g O .rodata 00000101 _ctype_ 000402cc g F .text 00000080 draw 00051f1c g F .text 00000034 _exit 00050be4 g F .text 0000012c alt_alarm_start 00047d48 g F .text 000001bc __smakebuf_r 00042d40 g F .text 00000098 strlen 00051418 g F .text 0000015c open 00041e44 g F .text 000000dc .hidden __gedf2 0005415c g O .rwdata 00000004 __wctomb 0004a720 g F .text 00000018 __sprint_r 00050ed0 g F .text 00000020 alt_icache_flush_all 00054180 g O .rwdata 00000004 alt_priority_mask 00050f40 g F .text 00000088 alt_ic_irq_enable 000450b4 g F .text 0000001c __vfprintf_internal 0004c60c g F .text 0000005c _wctomb_r 00042014 g F .text 000008fc .hidden __subdf3 00048f44 g F .text 000000b0 __lo0bits 00054184 g O .rwdata 00000008 alt_alarm_list 00050e10 g F .text 00000060 _do_ctors 0004c51c g F .text 000000c0 wcrtomb 0004e7ac g F .text 000000d8 close 0004eaf4 g F .text 00000084 alt_load 0004c290 g F .text 00000080 fputwc 000471b0 g F .text 00000004 __sinit_lock_acquire 00048c90 g F .text 00000148 __multadd 00048c68 g F .text 00000028 _Bfree Disassembly of section .entry: 00040000 <__reset>: * Jump to the _start entry point in the .text section if reset code * is allowed or if optimizing for RTL simulation. */ #if defined(ALT_ALLOW_CODE_AT_RESET) || defined(ALT_SIM_OPTIMIZE) /* Jump to the _start entry point in the .text section. */ movhi r1, %hi(_start) 40000: 00400134 movhi at,4 ori r1, r1, %lo(_start) 40004: 08408c14 ori at,at,560 jmp r1 40008: 0800683a jmp at ... Disassembly of section .exceptions: 00040020 : #else /* ALT_EXCEPTION_STACK disabled */ /* * Reserve space on normal stack for registers about to be pushed. */ addi sp, sp, -76 40020: deffed04 addi sp,sp,-76 * documentation for details). * * Leave a gap in the stack frame at 4(sp) for the muldiv handler to * store zero into. */ stw ra, 0(sp) 40024: dfc00015 stw ra,0(sp) stw r1, 8(sp) 40028: d8400215 stw at,8(sp) stw r2, 12(sp) 4002c: d8800315 stw r2,12(sp) stw r3, 16(sp) 40030: d8c00415 stw r3,16(sp) stw r4, 20(sp) 40034: d9000515 stw r4,20(sp) stw r5, 24(sp) 40038: d9400615 stw r5,24(sp) stw r6, 28(sp) 4003c: d9800715 stw r6,28(sp) stw r7, 32(sp) 40040: d9c00815 stw r7,32(sp) rdctl r5, estatus /* Read early to avoid usage stall */ 40044: 000b307a rdctl r5,estatus stw r8, 36(sp) 40048: da000915 stw r8,36(sp) stw r9, 40(sp) 4004c: da400a15 stw r9,40(sp) stw r10, 44(sp) 40050: da800b15 stw r10,44(sp) stw r11, 48(sp) 40054: dac00c15 stw r11,48(sp) stw r12, 52(sp) 40058: db000d15 stw r12,52(sp) stw r13, 56(sp) 4005c: db400e15 stw r13,56(sp) stw r14, 60(sp) 40060: db800f15 stw r14,60(sp) stw r15, 64(sp) 40064: dbc01015 stw r15,64(sp) /* * ea-4 contains the address of the instruction being executed * when the exception occured. For interrupt exceptions, we will * will be re-issue the isntruction. Store it in 72(sp) */ stw r5, 68(sp) /* estatus */ 40068: d9401115 stw r5,68(sp) addi r15, ea, -4 /* instruction that caused exception */ 4006c: ebffff04 addi r15,ea,-4 stw r15, 72(sp) 40070: dbc01215 stw r15,72(sp) #else /* * Test to see if the exception was a software exception or caused * by an external interrupt, and vector accordingly. */ rdctl r4, ipending 40074: 0009313a rdctl r4,ipending andi r2, r5, 1 40078: 2880004c andi r2,r5,1 beq r2, zero, .Lnot_irq 4007c: 10000326 beq r2,zero,4008c beq r4, zero, .Lnot_irq 40080: 20000226 beq r4,zero,4008c /* * Now that all necessary registers have been preserved, call * alt_irq_handler() to process the interrupts. */ call alt_irq_handler 40084: 00400fc0 call 400fc .section .exceptions.irqreturn, "xa" br .Lexception_exit 40088: 00000706 br 400a8 * upon completion, so we write ea (address of instruction *after* * the one where the exception occured) into 72(sp). The actual * instruction that caused the exception is written in r2, which these * handlers will utilize. */ stw ea, 72(sp) /* EA is PC+4 so will skip over instruction causing exception */ 4008c: df401215 stw ea,72(sp) .Lunknown_16bit: addi.n r4, r4, 2 /* Need PC+2 to skip over instruction causing exception */ stw r4, 72(sp) #else /* CDX is not Enabled and all instructions are 32bits */ ldw r2, -4(ea) /* Instruction value that caused exception */ 40090: e8bfff17 ldw r2,-4(ea) * debugger is present) or go into an infinite loop since the * handling behavior is undefined; in that case we will not return here. */ /* Load exception-causing address as first argument (r4) */ addi r4, ea, -4 40094: e93fff04 addi r4,ea,-4 /* Call the instruction-exception entry */ call alt_instruction_exception_entry 40098: 00401d00 call 401d0 * instruction * * Return code was 0: Skip. The instruction after the exception is * already stored in 72(sp). */ bne r2, r0, .Lexception_exit 4009c: 1000021e bne r2,zero,400a8 /* * Otherwise, modify 72(sp) to re-issue the instruction that caused the * exception. */ addi r15, ea, -4 /* instruction that caused exception */ 400a0: ebffff04 addi r15,ea,-4 stw r15, 72(sp) 400a4: dbc01215 stw r15,72(sp) /* * Restore the saved registers, so that all general purpose registers * have been restored to their state at the time the interrupt occured. */ ldw r5, 68(sp) 400a8: d9401117 ldw r5,68(sp) ldw ea, 72(sp) /* This becomes the PC once eret is executed */ 400ac: df401217 ldw ea,72(sp) ldw ra, 0(sp) 400b0: dfc00017 ldw ra,0(sp) wrctl estatus, r5 400b4: 2801707a wrctl estatus,r5 ldw r1, 8(sp) 400b8: d8400217 ldw at,8(sp) ldw r2, 12(sp) 400bc: d8800317 ldw r2,12(sp) ldw r3, 16(sp) 400c0: d8c00417 ldw r3,16(sp) ldw r4, 20(sp) 400c4: d9000517 ldw r4,20(sp) ldw r5, 24(sp) 400c8: d9400617 ldw r5,24(sp) ldw r6, 28(sp) 400cc: d9800717 ldw r6,28(sp) ldw r7, 32(sp) 400d0: d9c00817 ldw r7,32(sp) #if defined(ALT_EXCEPTION_STACK) && defined(ALT_STACK_CHECK) ldw et, %gprel(alt_exception_old_stack_limit)(gp) #endif ldw r8, 36(sp) 400d4: da000917 ldw r8,36(sp) ldw r9, 40(sp) 400d8: da400a17 ldw r9,40(sp) ldw r10, 44(sp) 400dc: da800b17 ldw r10,44(sp) ldw r11, 48(sp) 400e0: dac00c17 ldw r11,48(sp) ldw r12, 52(sp) 400e4: db000d17 ldw r12,52(sp) ldw r13, 56(sp) 400e8: db400e17 ldw r13,56(sp) ldw r14, 60(sp) 400ec: db800f17 ldw r14,60(sp) ldw r15, 64(sp) 400f0: dbc01017 ldw r15,64(sp) stw et, %gprel(alt_stack_limit_value)(gp) stw zero, %gprel(alt_exception_old_stack_limit)(gp) #endif /* ALT_STACK_CHECK */ ldw sp, 76(sp) #else /* ALT_EXCEPTION_STACK disabled */ addi sp, sp, 76 400f4: dec01304 addi sp,sp,76 /* * Return to the interrupted instruction. */ eret 400f8: ef80083a eret 000400fc : * instruction is present if the macro ALT_CI_INTERRUPT_VECTOR defined. */ void alt_irq_handler (void) __attribute__ ((section (".exceptions"))); void alt_irq_handler (void) { 400fc: defff904 addi sp,sp,-28 40100: dfc00615 stw ra,24(sp) 40104: df000515 stw fp,20(sp) 40108: df000504 addi fp,sp,20 /* * Notify the operating system that we are at interrupt level. */ ALT_OS_INT_ENTER(); 4010c: 0001883a nop #ifndef NIOS2_EIC_PRESENT static ALT_INLINE alt_u32 ALT_ALWAYS_INLINE alt_irq_pending (void) { alt_u32 active; NIOS2_READ_IPENDING (active); 40110: 0005313a rdctl r2,ipending 40114: e0bffe15 stw r2,-8(fp) return active; 40118: e0bffe17 ldw r2,-8(fp) * Consider the case where the high priority interupt is asserted during * the interrupt entry sequence for a lower priority interrupt to see why * this is the case. */ active = alt_irq_pending (); 4011c: e0bffb15 stw r2,-20(fp) do { i = 0; 40120: e03ffd15 stw zero,-12(fp) mask = 1; 40124: 00800044 movi r2,1 40128: e0bffc15 stw r2,-16(fp) * called to clear the interrupt condition. */ do { if (active & mask) 4012c: e0fffb17 ldw r3,-20(fp) 40130: e0bffc17 ldw r2,-16(fp) 40134: 1884703a and r2,r3,r2 40138: 10001426 beq r2,zero,4018c { #ifdef ALT_ENHANCED_INTERRUPT_API_PRESENT alt_irq[i].handler(alt_irq[i].context); 4013c: 00800174 movhi r2,5 40140: 10979104 addi r2,r2,24132 40144: e0fffd17 ldw r3,-12(fp) 40148: 180690fa slli r3,r3,3 4014c: 10c5883a add r2,r2,r3 40150: 10c00017 ldw r3,0(r2) 40154: 00800174 movhi r2,5 40158: 10979104 addi r2,r2,24132 4015c: e13ffd17 ldw r4,-12(fp) 40160: 200890fa slli r4,r4,3 40164: 1105883a add r2,r2,r4 40168: 10800104 addi r2,r2,4 4016c: 10800017 ldw r2,0(r2) 40170: 1009883a mov r4,r2 40174: 183ee83a callr r3 #else alt_irq[i].handler(alt_irq[i].context, i); #endif break; 40178: 0001883a nop #ifndef NIOS2_EIC_PRESENT static ALT_INLINE alt_u32 ALT_ALWAYS_INLINE alt_irq_pending (void) { alt_u32 active; NIOS2_READ_IPENDING (active); 4017c: 0005313a rdctl r2,ipending 40180: e0bfff15 stw r2,-4(fp) return active; 40184: e0bfff17 ldw r2,-4(fp) 40188: 00000706 br 401a8 } mask <<= 1; 4018c: e0bffc17 ldw r2,-16(fp) 40190: 1085883a add r2,r2,r2 40194: e0bffc15 stw r2,-16(fp) i++; 40198: e0bffd17 ldw r2,-12(fp) 4019c: 10800044 addi r2,r2,1 401a0: e0bffd15 stw r2,-12(fp) } while (1); 401a4: 003fe106 br 4012c <__alt_data_end+0xfffce12c> active = alt_irq_pending (); 401a8: e0bffb15 stw r2,-20(fp) } while (active); 401ac: e0bffb17 ldw r2,-20(fp) 401b0: 103fdb1e bne r2,zero,40120 <__alt_data_end+0xfffce120> /* * Notify the operating system that interrupt processing is complete. */ ALT_OS_INT_EXIT(); 401b4: 0001883a nop } 401b8: 0001883a nop 401bc: e037883a mov sp,fp 401c0: dfc00117 ldw ra,4(sp) 401c4: df000017 ldw fp,0(sp) 401c8: dec00204 addi sp,sp,8 401cc: f800283a ret 000401d0 : * that handler if it has been registered. Absent a handler, it will * break break or hang as discussed below. */ int alt_instruction_exception_entry (alt_u32 exception_pc) { 401d0: defffb04 addi sp,sp,-20 401d4: dfc00415 stw ra,16(sp) 401d8: df000315 stw fp,12(sp) 401dc: df000304 addi fp,sp,12 401e0: e13fff15 stw r4,-4(fp) cause = ( (cause & NIOS2_EXCEPTION_REG_CAUSE_MASK) >> NIOS2_EXCEPTION_REG_CAUSE_OFST ); NIOS2_READ_BADADDR(badaddr); #else cause = NIOS2_EXCEPTION_CAUSE_NOT_PRESENT; 401e4: 00bfffc4 movi r2,-1 401e8: e0bffd15 stw r2,-12(fp) badaddr = 0; 401ec: e03ffe15 stw zero,-8(fp) #endif /* NIOS2_HAS_EXTRA_EXCEPTION_INFO */ if(alt_instruction_exception_handler) { 401f0: d0a72817 ldw r2,-25440(gp) 401f4: 10000726 beq r2,zero,40214 * Call handler. Its return value indicates whether the exception-causing * instruction should be re-issued. The code that called us, * alt_eceptions_entry.S, will look at this value and adjust the ea * register as necessary */ return alt_instruction_exception_handler(cause, exception_pc, badaddr); 401f8: d0a72817 ldw r2,-25440(gp) 401fc: e0fffd17 ldw r3,-12(fp) 40200: e1bffe17 ldw r6,-8(fp) 40204: e17fff17 ldw r5,-4(fp) 40208: 1809883a mov r4,r3 4020c: 103ee83a callr r2 40210: 00000206 br 4021c * (a peripheral which negates its interrupt output before its * interrupt handler has been executed will cause spurious interrupts) */ else { #ifdef NIOS2_HAS_DEBUG_STUB NIOS2_BREAK(); 40214: 003da03a break 0 ; #endif /* NIOS2_HAS_DEBUG_STUB */ } /* We should not get here. Remove compiler warning. */ return NIOS2_EXCEPTION_RETURN_REISSUE_INST; 40218: 0005883a mov r2,zero } 4021c: e037883a mov sp,fp 40220: dfc00117 ldw ra,4(sp) 40224: df000017 ldw fp,0(sp) 40228: dec00204 addi sp,sp,8 4022c: f800283a ret Disassembly of section .text: 00040230 <_start>: /* * Now that the caches are initialized, set up the stack pointer and global pointer. * The values provided by the linker are assumed to be correctly aligned. */ movhi sp, %hi(__alt_stack_pointer) 40230: 06c001f4 movhi sp,7 ori sp, sp, %lo(__alt_stack_pointer) 40234: dec80014 ori sp,sp,8192 movhi gp, %hi(_gp) 40238: 06800174 movhi gp,5 ori gp, gp, %lo(_gp) 4023c: d6b05214 ori gp,gp,49480 */ #ifndef ALT_SIM_OPTIMIZE /* Log that the BSS is about to be cleared. */ ALT_LOG_PUTS(alt_log_msg_bss) movhi r2, %hi(__bss_start) 40240: 00800174 movhi r2,5 ori r2, r2, %lo(__bss_start) 40244: 10976914 ori r2,r2,23972 movhi r3, %hi(__bss_end) 40248: 00c00174 movhi r3,5 ori r3, r3, %lo(__bss_end) 4024c: 18d7d114 ori r3,r3,24388 beq r2, r3, 1f 40250: 10c00326 beq r2,r3,40260 <_start+0x30> 0: stw zero, (r2) 40254: 10000015 stw zero,0(r2) addi r2, r2, 4 40258: 10800104 addi r2,r2,4 bltu r2, r3, 0b 4025c: 10fffd36 bltu r2,r3,40254 <__alt_data_end+0xfffce254> * section aren't defined until alt_load() has been called). */ mov et, zero #endif call alt_load 40260: 004eaf40 call 4eaf4 /* Log that alt_main is about to be called. */ ALT_LOG_PUTS(alt_log_msg_alt_main) /* Call the C entry point. It should never return. */ call alt_main 40264: 004ec900 call 4ec90 00040268 : /* Wait in infinite loop in case alt_main does return. */ alt_after_alt_main: br alt_after_alt_main 40268: 003fff06 br 40268 <__alt_data_end+0xfffce268> 0004026c : #define ROWS 8 int screen[ROWS]; void bin(unsigned n) { 4026c: defffd04 addi sp,sp,-12 40270: dfc00215 stw ra,8(sp) 40274: df000115 stw fp,4(sp) 40278: df000104 addi fp,sp,4 4027c: e13fff15 stw r4,-4(fp) if (n > 1) 40280: e0bfff17 ldw r2,-4(fp) 40284: 108000b0 cmpltui r2,r2,2 40288: 1000041e bne r2,zero,4029c bin(n >> 1); 4028c: e0bfff17 ldw r2,-4(fp) 40290: 1004d07a srli r2,r2,1 40294: 1009883a mov r4,r2 40298: 004026c0 call 4026c printf("%d", n & 1); 4029c: e0bfff17 ldw r2,-4(fp) 402a0: 1080004c andi r2,r2,1 402a4: 100b883a mov r5,r2 402a8: 01000174 movhi r4,5 402ac: 2107d404 addi r4,r4,8016 402b0: 0042c100 call 42c10 } 402b4: 0001883a nop 402b8: e037883a mov sp,fp 402bc: dfc00117 ldw ra,4(sp) 402c0: df000017 ldw fp,0(sp) 402c4: dec00204 addi sp,sp,8 402c8: f800283a ret 000402cc : void draw() { 402cc: defffd04 addi sp,sp,-12 402d0: df000215 stw fp,8(sp) 402d4: df000204 addi fp,sp,8 int row,i,j; for (i=0 ; i row = screen[i] | ((i+1)<<12); //send format: (4bits row indicator,12bits data) 402e0: 00800174 movhi r2,5 402e4: 10978504 addi r2,r2,24084 402e8: e0fffe17 ldw r3,-8(fp) 402ec: 18c7883a add r3,r3,r3 402f0: 18c7883a add r3,r3,r3 402f4: 10c5883a add r2,r2,r3 402f8: 10c00017 ldw r3,0(r2) 402fc: e0bffe17 ldw r2,-8(fp) 40300: 10800044 addi r2,r2,1 40304: 1004933a slli r2,r2,12 40308: 1884b03a or r2,r3,r2 4030c: e0bfff15 stw r2,-4(fp) IOWR_ALTERA_AVALON_PIO_DATA(PIO_MATRIX_BASE, row); 40310: 00800234 movhi r2,8 40314: 10841404 addi r2,r2,4176 40318: e0ffff17 ldw r3,-4(fp) 4031c: 10c00035 stwio r3,0(r2) } void draw() { int row,i,j; for (i=0 ; i row = screen[i] | ((i+1)<<12); //send format: (4bits row indicator,12bits data) IOWR_ALTERA_AVALON_PIO_DATA(PIO_MATRIX_BASE, row); } } 40338: 0001883a nop 4033c: e037883a mov sp,fp 40340: df000017 ldw fp,0(sp) 40344: dec00104 addi sp,sp,4 40348: f800283a ret 0004034c : void draw_console() { 4034c: defffd04 addi sp,sp,-12 40350: dfc00215 stw ra,8(sp) 40354: df000115 stw fp,4(sp) 40358: df000104 addi fp,sp,4 int i; for (i = 0 ; i < ROWS ; i++) { 4035c: e03fff15 stw zero,-4(fp) 40360: 00000e06 br 4039c bin(screen[i]); 40364: 00800174 movhi r2,5 40368: 10978504 addi r2,r2,24084 4036c: e0ffff17 ldw r3,-4(fp) 40370: 18c7883a add r3,r3,r3 40374: 18c7883a add r3,r3,r3 40378: 10c5883a add r2,r2,r3 4037c: 10800017 ldw r2,0(r2) 40380: 1009883a mov r4,r2 40384: 004026c0 call 4026c printf("\n"); 40388: 01000284 movi r4,10 4038c: 0042c540 call 42c54 } } void draw_console() { int i; for (i = 0 ; i < ROWS ; i++) { 40390: e0bfff17 ldw r2,-4(fp) 40394: 10800044 addi r2,r2,1 40398: e0bfff15 stw r2,-4(fp) 4039c: e0bfff17 ldw r2,-4(fp) 403a0: 10800210 cmplti r2,r2,8 403a4: 103fef1e bne r2,zero,40364 <__alt_data_end+0xfffce364> bin(screen[i]); printf("\n"); } } 403a8: 0001883a nop 403ac: e037883a mov sp,fp 403b0: dfc00117 ldw ra,4(sp) 403b4: df000017 ldw fp,0(sp) 403b8: dec00204 addi sp,sp,8 403bc: f800283a ret 000403c0 : void set_pixel(int x, int y) { 403c0: defffd04 addi sp,sp,-12 403c4: df000215 stw fp,8(sp) 403c8: df000204 addi fp,sp,8 403cc: e13ffe15 stw r4,-8(fp) 403d0: e17fff15 stw r5,-4(fp) screen[y] = screen[y] & ~(1<: void reset_screen() { 40430: defffe04 addi sp,sp,-8 40434: df000115 stw fp,4(sp) 40438: df000104 addi fp,sp,4 int i; for (i=0;i screen[i] = 0; 40444: 00800174 movhi r2,5 40448: 10978504 addi r2,r2,24084 4044c: e0ffff17 ldw r3,-4(fp) 40450: 18c7883a add r3,r3,r3 40454: 18c7883a add r3,r3,r3 40458: 10c5883a add r2,r2,r3 4045c: 10000015 stw zero,0(r2) screen[y] = screen[y] & ~(1< screen[i] = 0; } } 40478: 0001883a nop 4047c: e037883a mov sp,fp 40480: df000017 ldw fp,0(sp) 40484: dec00104 addi sp,sp,4 40488: f800283a ret 0004048c : struct Ball ball; struct Paddle left_paddle; struct Paddle right_paddle; void reset_pos() { 4048c: deffff04 addi sp,sp,-4 40490: df000015 stw fp,0(sp) 40494: d839883a mov fp,sp ball.x = COLS/2 - 1; 40498: 00800174 movhi r2,5 4049c: 10978d04 addi r2,r2,24116 404a0: 00d02834 movhi r3,16544 404a4: 10c00015 stw r3,0(r2) ball.y = ROWS/2 - 1; 404a8: 00800174 movhi r2,5 404ac: 10978d04 addi r2,r2,24116 404b0: 00d01034 movhi r3,16448 404b4: 10c00115 stw r3,4(r2) ball.vel_x = - 1; 404b8: 00800174 movhi r2,5 404bc: 10978d04 addi r2,r2,24116 404c0: 00efe034 movhi r3,49024 404c4: 10c00215 stw r3,8(r2) ball.vel_y = - 1; 404c8: 00800174 movhi r2,5 404cc: 10978d04 addi r2,r2,24116 404d0: 00efe034 movhi r3,49024 404d4: 10c00315 stw r3,12(r2) left_paddle.y = 0; 404d8: d0271715 stw zero,-25508(gp) left_paddle.length = 4; 404dc: 00800104 movi r2,4 404e0: d0a71815 stw r2,-25504(gp) right_paddle.y = 0; 404e4: d0271915 stw zero,-25500(gp) right_paddle.length = 4; 404e8: 00800104 movi r2,4 404ec: d0a71a15 stw r2,-25496(gp) } 404f0: 0001883a nop 404f4: e037883a mov sp,fp 404f8: df000017 ldw fp,0(sp) 404fc: dec00104 addi sp,sp,4 40500: f800283a ret 00040504 : void game() { 40504: defff604 addi sp,sp,-40 40508: dfc00915 stw ra,36(sp) 4050c: df000815 stw fp,32(sp) 40510: dcc00715 stw r19,28(sp) 40514: dc800615 stw r18,24(sp) 40518: dc400515 stw r17,20(sp) 4051c: dc000415 stw r16,16(sp) 40520: df000804 addi fp,sp,32 int i,k; unsigned buttons; k=0; 40524: e03ffa15 stw zero,-24(fp) reset_pos(); 40528: 004048c0 call 4048c while (1){ buttons = ~IORD_ALTERA_AVALON_PIO_DATA(PIO_BUTTON_BASE); 4052c: 00800234 movhi r2,8 40530: 10841004 addi r2,r2,4160 40534: 10800037 ldwio r2,0(r2) 40538: 0084303a nor r2,zero,r2 4053c: e0bffb15 stw r2,-20(fp) //buttons = 10; if (buttons & (1< left_paddle.y = MAX(left_paddle.y - (10 * TICK),0); 4054c: d0e71717 ldw r3,-25508(gp) 40550: 008f0934 movhi r2,15396 40554: 10b5c2c4 addi r2,r2,-10485 40558: 1885ffb2 custom 254,r2,r3,r2 4055c: 000b883a mov r5,zero 40560: 1009883a mov r4,r2 40564: 00412f00 call 412f0 <__gesf2> 40568: 0080050e bge zero,r2,40580 4056c: d0e71717 ldw r3,-25508(gp) 40570: 008f0934 movhi r2,15396 40574: 10b5c2c4 addi r2,r2,-10485 40578: 1885ffb2 custom 254,r2,r3,r2 4057c: 00000106 br 40584 40580: 0005883a mov r2,zero 40584: d0a71715 stw r2,-25508(gp) printf("%f\n",left_paddle.y); 40588: d0a71717 ldw r2,-25508(gp) 4058c: 1009883a mov r4,r2 40590: 0042a6c0 call 42a6c <__extendsfdf2> 40594: 100d883a mov r6,r2 40598: 180f883a mov r7,r3 4059c: 300b883a mov r5,r6 405a0: 380d883a mov r6,r7 405a4: 01000174 movhi r4,5 405a8: 2107d504 addi r4,r4,8020 405ac: 0042c100 call 42c10 } if (buttons & (1< left_paddle.y = MIN(left_paddle.y + (10 * TICK), ROWS - (left_paddle.length)); 405bc: d0e71717 ldw r3,-25508(gp) 405c0: 008f0934 movhi r2,15396 405c4: 10b5c2c4 addi r2,r2,-10485 405c8: 18a1ff72 custom 253,r16,r3,r2 405cc: d0a71817 ldw r2,-25504(gp) 405d0: 00c00204 movi r3,8 405d4: 1885c83a sub r2,r3,r2 405d8: 1009883a mov r4,r2 405dc: 00414740 call 41474 <__floatsisf> 405e0: 1007883a mov r3,r2 405e4: 180b883a mov r5,r3 405e8: 8009883a mov r4,r16 405ec: 00413ac0 call 413ac <__lesf2> 405f0: 1000050e bge r2,zero,40608 405f4: d0e71717 ldw r3,-25508(gp) 405f8: 008f0934 movhi r2,15396 405fc: 10b5c2c4 addi r2,r2,-10485 40600: 1887ff72 custom 253,r3,r3,r2 40604: 00000606 br 40620 40608: d0a71817 ldw r2,-25504(gp) 4060c: 00c00204 movi r3,8 40610: 1885c83a sub r2,r3,r2 40614: 1009883a mov r4,r2 40618: 00414740 call 41474 <__floatsisf> 4061c: 1007883a mov r3,r2 40620: d0e71715 stw r3,-25508(gp) printf("%f\n",left_paddle.y); 40624: d0a71717 ldw r2,-25508(gp) 40628: 1009883a mov r4,r2 4062c: 0042a6c0 call 42a6c <__extendsfdf2> 40630: 100d883a mov r6,r2 40634: 180f883a mov r7,r3 40638: 300b883a mov r5,r6 4063c: 380d883a mov r6,r7 40640: 01000174 movhi r4,5 40644: 2107d504 addi r4,r4,8020 40648: 0042c100 call 42c10 } if (buttons & (1< right_paddle.y = MAX(right_paddle.y - (10 * TICK), 0); 40658: d0e71917 ldw r3,-25500(gp) 4065c: 008f0934 movhi r2,15396 40660: 10b5c2c4 addi r2,r2,-10485 40664: 1885ffb2 custom 254,r2,r3,r2 40668: 000b883a mov r5,zero 4066c: 1009883a mov r4,r2 40670: 00412f00 call 412f0 <__gesf2> 40674: 0080050e bge zero,r2,4068c 40678: d0e71917 ldw r3,-25500(gp) 4067c: 008f0934 movhi r2,15396 40680: 10b5c2c4 addi r2,r2,-10485 40684: 1885ffb2 custom 254,r2,r3,r2 40688: 00000106 br 40690 4068c: 0005883a mov r2,zero 40690: d0a71915 stw r2,-25500(gp) } if (buttons & (1< right_paddle.y = MIN(right_paddle.y + (10 * TICK), ROWS - (right_paddle.length)); 406a0: d0e71917 ldw r3,-25500(gp) 406a4: 008f0934 movhi r2,15396 406a8: 10b5c2c4 addi r2,r2,-10485 406ac: 18a1ff72 custom 253,r16,r3,r2 406b0: d0a71a17 ldw r2,-25496(gp) 406b4: 00c00204 movi r3,8 406b8: 1885c83a sub r2,r3,r2 406bc: 1009883a mov r4,r2 406c0: 00414740 call 41474 <__floatsisf> 406c4: 1007883a mov r3,r2 406c8: 180b883a mov r5,r3 406cc: 8009883a mov r4,r16 406d0: 00413ac0 call 413ac <__lesf2> 406d4: 1000050e bge r2,zero,406ec 406d8: d0e71917 ldw r3,-25500(gp) 406dc: 008f0934 movhi r2,15396 406e0: 10b5c2c4 addi r2,r2,-10485 406e4: 1887ff72 custom 253,r3,r3,r2 406e8: 00000606 br 40704 406ec: d0a71a17 ldw r2,-25496(gp) 406f0: 00c00204 movi r3,8 406f4: 1885c83a sub r2,r3,r2 406f8: 1009883a mov r4,r2 406fc: 00414740 call 41474 <__floatsisf> 40700: 1007883a mov r3,r2 40704: d0e71915 stw r3,-25500(gp) } ball.y = MAX(MIN(ball.y + ball.vel_y * TICK,ROWS - 1),0); 40708: 00800174 movhi r2,5 4070c: 10978d04 addi r2,r2,24116 40710: 10c00117 ldw r3,4(r2) 40714: 00800174 movhi r2,5 40718: 10978d04 addi r2,r2,24116 4071c: 11000317 ldw r4,12(r2) 40720: 008ea0f4 movhi r2,14979 40724: 10849bc4 addi r2,r2,4719 40728: 2085ff32 custom 252,r2,r4,r2 4072c: 1885ff72 custom 253,r2,r3,r2 40730: 01503834 movhi r5,16608 40734: 1009883a mov r4,r2 40738: 00413ac0 call 413ac <__lesf2> 4073c: 1000110e bge r2,zero,40784 40740: 00800174 movhi r2,5 40744: 10978d04 addi r2,r2,24116 40748: 10c00117 ldw r3,4(r2) 4074c: 00800174 movhi r2,5 40750: 10978d04 addi r2,r2,24116 40754: 11000317 ldw r4,12(r2) 40758: 008ea0f4 movhi r2,14979 4075c: 10849bc4 addi r2,r2,4719 40760: 2085ff32 custom 252,r2,r4,r2 40764: 1885ff72 custom 253,r2,r3,r2 40768: 04000044 movi r16,1 4076c: 000b883a mov r5,zero 40770: 1009883a mov r4,r2 40774: 00412f00 call 412f0 <__gesf2> 40778: 00800316 blt zero,r2,40788 4077c: 0021883a mov r16,zero 40780: 00000106 br 40788 40784: 04000044 movi r16,1 40788: 80803fcc andi r2,r16,255 4078c: 10001b26 beq r2,zero,407fc 40790: 00800174 movhi r2,5 40794: 10978d04 addi r2,r2,24116 40798: 10c00117 ldw r3,4(r2) 4079c: 00800174 movhi r2,5 407a0: 10978d04 addi r2,r2,24116 407a4: 11000317 ldw r4,12(r2) 407a8: 008ea0f4 movhi r2,14979 407ac: 10849bc4 addi r2,r2,4719 407b0: 2085ff32 custom 252,r2,r4,r2 407b4: 1885ff72 custom 253,r2,r3,r2 407b8: 01503834 movhi r5,16608 407bc: 1009883a mov r4,r2 407c0: 00413ac0 call 413ac <__lesf2> 407c4: 10000b0e bge r2,zero,407f4 407c8: 00800174 movhi r2,5 407cc: 10978d04 addi r2,r2,24116 407d0: 10c00117 ldw r3,4(r2) 407d4: 00800174 movhi r2,5 407d8: 10978d04 addi r2,r2,24116 407dc: 11000317 ldw r4,12(r2) 407e0: 008ea0f4 movhi r2,14979 407e4: 10849bc4 addi r2,r2,4719 407e8: 2085ff32 custom 252,r2,r4,r2 407ec: 1887ff72 custom 253,r3,r3,r2 407f0: 00000306 br 40800 407f4: 00d03834 movhi r3,16608 407f8: 00000106 br 40800 407fc: 0007883a mov r3,zero 40800: 00800174 movhi r2,5 40804: 10978d04 addi r2,r2,24116 40808: 10c00115 stw r3,4(r2) if (ball.y == 0 || ball.y == ROWS - 1){ 4080c: 00800174 movhi r2,5 40810: 10978d04 addi r2,r2,24116 40814: 10c00117 ldw r3,4(r2) 40818: 000b883a mov r5,zero 4081c: 1809883a mov r4,r3 40820: 00412780 call 41278 <__eqsf2> 40824: 10000726 beq r2,zero,40844 40828: 00800174 movhi r2,5 4082c: 10978d04 addi r2,r2,24116 40830: 10c00117 ldw r3,4(r2) 40834: 01503834 movhi r5,16608 40838: 1809883a mov r4,r3 4083c: 00412780 call 41278 <__eqsf2> 40840: 1000071e bne r2,zero,40860 ball.vel_y = -ball.vel_y; 40844: 00800174 movhi r2,5 40848: 10978d04 addi r2,r2,24116 4084c: 10c00317 ldw r3,12(r2) 40850: 18e0003c xorhi r3,r3,32768 40854: 00800174 movhi r2,5 40858: 10978d04 addi r2,r2,24116 4085c: 10c00315 stw r3,12(r2) } ball.x = MAX(MIN(ball.x + ball.vel_x * TICK,COLS - 1),0); 40860: 00800174 movhi r2,5 40864: 10978d04 addi r2,r2,24116 40868: 10c00017 ldw r3,0(r2) 4086c: 00800174 movhi r2,5 40870: 10978d04 addi r2,r2,24116 40874: 11000217 ldw r4,8(r2) 40878: 008ea0f4 movhi r2,14979 4087c: 10849bc4 addi r2,r2,4719 40880: 2085ff32 custom 252,r2,r4,r2 40884: 1885ff72 custom 253,r2,r3,r2 40888: 01504c34 movhi r5,16688 4088c: 1009883a mov r4,r2 40890: 00413ac0 call 413ac <__lesf2> 40894: 1000110e bge r2,zero,408dc 40898: 00800174 movhi r2,5 4089c: 10978d04 addi r2,r2,24116 408a0: 10c00017 ldw r3,0(r2) 408a4: 00800174 movhi r2,5 408a8: 10978d04 addi r2,r2,24116 408ac: 11000217 ldw r4,8(r2) 408b0: 008ea0f4 movhi r2,14979 408b4: 10849bc4 addi r2,r2,4719 408b8: 2085ff32 custom 252,r2,r4,r2 408bc: 1885ff72 custom 253,r2,r3,r2 408c0: 04000044 movi r16,1 408c4: 000b883a mov r5,zero 408c8: 1009883a mov r4,r2 408cc: 00412f00 call 412f0 <__gesf2> 408d0: 00800316 blt zero,r2,408e0 408d4: 0021883a mov r16,zero 408d8: 00000106 br 408e0 408dc: 04000044 movi r16,1 408e0: 80803fcc andi r2,r16,255 408e4: 10001b26 beq r2,zero,40954 408e8: 00800174 movhi r2,5 408ec: 10978d04 addi r2,r2,24116 408f0: 10c00017 ldw r3,0(r2) 408f4: 00800174 movhi r2,5 408f8: 10978d04 addi r2,r2,24116 408fc: 11000217 ldw r4,8(r2) 40900: 008ea0f4 movhi r2,14979 40904: 10849bc4 addi r2,r2,4719 40908: 2085ff32 custom 252,r2,r4,r2 4090c: 1885ff72 custom 253,r2,r3,r2 40910: 01504c34 movhi r5,16688 40914: 1009883a mov r4,r2 40918: 00413ac0 call 413ac <__lesf2> 4091c: 10000b0e bge r2,zero,4094c 40920: 00800174 movhi r2,5 40924: 10978d04 addi r2,r2,24116 40928: 10c00017 ldw r3,0(r2) 4092c: 00800174 movhi r2,5 40930: 10978d04 addi r2,r2,24116 40934: 11000217 ldw r4,8(r2) 40938: 008ea0f4 movhi r2,14979 4093c: 10849bc4 addi r2,r2,4719 40940: 2085ff32 custom 252,r2,r4,r2 40944: 1887ff72 custom 253,r3,r3,r2 40948: 00000306 br 40958 4094c: 00d04c34 movhi r3,16688 40950: 00000106 br 40958 40954: 0007883a mov r3,zero 40958: 00800174 movhi r2,5 4095c: 10978d04 addi r2,r2,24116 40960: 10c00015 stw r3,0(r2) if (ball.x <= 1){ 40964: 00800174 movhi r2,5 40968: 10978d04 addi r2,r2,24116 4096c: 10c00017 ldw r3,0(r2) 40970: 014fe034 movhi r5,16256 40974: 1809883a mov r4,r3 40978: 00413ac0 call 413ac <__lesf2> 4097c: 00808f16 blt zero,r2,40bbc printf("ballx: %f, ball y: %f\n",ball.x,ball.y); 40980: 00800174 movhi r2,5 40984: 10978d04 addi r2,r2,24116 40988: 10c00017 ldw r3,0(r2) 4098c: 1809883a mov r4,r3 40990: 0042a6c0 call 42a6c <__extendsfdf2> 40994: 1021883a mov r16,r2 40998: 1823883a mov r17,r3 4099c: 00800174 movhi r2,5 409a0: 10978d04 addi r2,r2,24116 409a4: 10c00117 ldw r3,4(r2) 409a8: 1809883a mov r4,r3 409ac: 0042a6c0 call 42a6c <__extendsfdf2> 409b0: 1009883a mov r4,r2 409b4: 180b883a mov r5,r3 409b8: d9400015 stw r5,0(sp) 409bc: 200f883a mov r7,r4 409c0: 800b883a mov r5,r16 409c4: 880d883a mov r6,r17 409c8: 01000174 movhi r4,5 409cc: 2107d604 addi r4,r4,8024 409d0: 0042c100 call 42c10 printf("left_paddlex: %f\n",left_paddle.y); 409d4: d0a71717 ldw r2,-25508(gp) 409d8: 1009883a mov r4,r2 409dc: 0042a6c0 call 42a6c <__extendsfdf2> 409e0: 100d883a mov r6,r2 409e4: 180f883a mov r7,r3 409e8: 300b883a mov r5,r6 409ec: 380d883a mov r6,r7 409f0: 01000174 movhi r4,5 409f4: 2107dc04 addi r4,r4,8048 409f8: 0042c100 call 42c10 if (round(ball.y) >= round(left_paddle.y) && round(ball.y) <= (round(left_paddle.y) + left_paddle.length -1)){ 409fc: 00800174 movhi r2,5 40a00: 10978d04 addi r2,r2,24116 40a04: 10c00117 ldw r3,4(r2) 40a08: 1809883a mov r4,r3 40a0c: 0042a6c0 call 42a6c <__extendsfdf2> 40a10: 100b883a mov r5,r2 40a14: 180d883a mov r6,r3 40a18: 2809883a mov r4,r5 40a1c: 300b883a mov r5,r6 40a20: 00411780 call 41178 40a24: 1021883a mov r16,r2 40a28: 1823883a mov r17,r3 40a2c: d0a71717 ldw r2,-25508(gp) 40a30: 1009883a mov r4,r2 40a34: 0042a6c0 call 42a6c <__extendsfdf2> 40a38: 100b883a mov r5,r2 40a3c: 180d883a mov r6,r3 40a40: 2809883a mov r4,r5 40a44: 300b883a mov r5,r6 40a48: 00411780 call 41178 40a4c: 1009883a mov r4,r2 40a50: 180b883a mov r5,r3 40a54: 200d883a mov r6,r4 40a58: 280f883a mov r7,r5 40a5c: 8009883a mov r4,r16 40a60: 880b883a mov r5,r17 40a64: 0041e440 call 41e44 <__gedf2> 40a68: 10003b16 blt r2,zero,40b58 40a6c: 00800174 movhi r2,5 40a70: 10978d04 addi r2,r2,24116 40a74: 10c00117 ldw r3,4(r2) 40a78: 1809883a mov r4,r3 40a7c: 0042a6c0 call 42a6c <__extendsfdf2> 40a80: 100b883a mov r5,r2 40a84: 180d883a mov r6,r3 40a88: 2809883a mov r4,r5 40a8c: 300b883a mov r5,r6 40a90: 00411780 call 41178 40a94: 1021883a mov r16,r2 40a98: 1823883a mov r17,r3 40a9c: d0a71717 ldw r2,-25508(gp) 40aa0: 1009883a mov r4,r2 40aa4: 0042a6c0 call 42a6c <__extendsfdf2> 40aa8: 100b883a mov r5,r2 40aac: 180d883a mov r6,r3 40ab0: 2809883a mov r4,r5 40ab4: 300b883a mov r5,r6 40ab8: 00411780 call 41178 40abc: 1025883a mov r18,r2 40ac0: 1827883a mov r19,r3 40ac4: d0a71817 ldw r2,-25504(gp) 40ac8: 1009883a mov r4,r2 40acc: 00429900 call 42990 <__floatsidf> 40ad0: 1009883a mov r4,r2 40ad4: 180b883a mov r5,r3 40ad8: 200d883a mov r6,r4 40adc: 280f883a mov r7,r5 40ae0: 9009883a mov r4,r18 40ae4: 980b883a mov r5,r19 40ae8: 00415980 call 41598 <__adddf3> 40aec: 1009883a mov r4,r2 40af0: 180b883a mov r5,r3 40af4: 2005883a mov r2,r4 40af8: 2807883a mov r3,r5 40afc: 000d883a mov r6,zero 40b00: 01cffc34 movhi r7,16368 40b04: 1009883a mov r4,r2 40b08: 180b883a mov r5,r3 40b0c: 00420140 call 42014 <__subdf3> 40b10: 1009883a mov r4,r2 40b14: 180b883a mov r5,r3 40b18: 2005883a mov r2,r4 40b1c: 2807883a mov r3,r5 40b20: 100d883a mov r6,r2 40b24: 180f883a mov r7,r3 40b28: 8009883a mov r4,r16 40b2c: 880b883a mov r5,r17 40b30: 0041f200 call 41f20 <__ledf2> 40b34: 00800816 blt zero,r2,40b58 ball.vel_x = - ball.vel_x; 40b38: 00800174 movhi r2,5 40b3c: 10978d04 addi r2,r2,24116 40b40: 10c00217 ldw r3,8(r2) 40b44: 18e0003c xorhi r3,r3,32768 40b48: 00800174 movhi r2,5 40b4c: 10978d04 addi r2,r2,24116 40b50: 10c00215 stw r3,8(r2) 40b54: 00001906 br 40bbc } else { printf("ballx: %f, ball y: %f\n",ball.x,ball.y); 40b58: 00800174 movhi r2,5 40b5c: 10978d04 addi r2,r2,24116 40b60: 10c00017 ldw r3,0(r2) 40b64: 1809883a mov r4,r3 40b68: 0042a6c0 call 42a6c <__extendsfdf2> 40b6c: 1021883a mov r16,r2 40b70: 1823883a mov r17,r3 40b74: 00800174 movhi r2,5 40b78: 10978d04 addi r2,r2,24116 40b7c: 10c00117 ldw r3,4(r2) 40b80: 1809883a mov r4,r3 40b84: 0042a6c0 call 42a6c <__extendsfdf2> 40b88: 1009883a mov r4,r2 40b8c: 180b883a mov r5,r3 40b90: d9400015 stw r5,0(sp) 40b94: 200f883a mov r7,r4 40b98: 800b883a mov r5,r16 40b9c: 880d883a mov r6,r17 40ba0: 01000174 movhi r4,5 40ba4: 2107d604 addi r4,r4,8024 40ba8: 0042c100 call 42c10 printf("rigth player lost\n"); 40bac: 01000174 movhi r4,5 40bb0: 2107e104 addi r4,r4,8068 40bb4: 0042d2c0 call 42d2c reset_pos(); 40bb8: 004048c0 call 4048c } } if (ball.x >= COLS - 2){ 40bbc: 00800174 movhi r2,5 40bc0: 10978d04 addi r2,r2,24116 40bc4: 10c00017 ldw r3,0(r2) 40bc8: 01504834 movhi r5,16672 40bcc: 1809883a mov r4,r3 40bd0: 00412f00 call 412f0 <__gesf2> 40bd4: 10007016 blt r2,zero,40d98 if (round(ball.y) >= round(right_paddle.y) && round(ball.y) <= (round(right_paddle.y) + right_paddle.length -1)){ 40bd8: 00800174 movhi r2,5 40bdc: 10978d04 addi r2,r2,24116 40be0: 10c00117 ldw r3,4(r2) 40be4: 1809883a mov r4,r3 40be8: 0042a6c0 call 42a6c <__extendsfdf2> 40bec: 100b883a mov r5,r2 40bf0: 180d883a mov r6,r3 40bf4: 2809883a mov r4,r5 40bf8: 300b883a mov r5,r6 40bfc: 00411780 call 41178 40c00: 1021883a mov r16,r2 40c04: 1823883a mov r17,r3 40c08: d0a71917 ldw r2,-25500(gp) 40c0c: 1009883a mov r4,r2 40c10: 0042a6c0 call 42a6c <__extendsfdf2> 40c14: 100b883a mov r5,r2 40c18: 180d883a mov r6,r3 40c1c: 2809883a mov r4,r5 40c20: 300b883a mov r5,r6 40c24: 00411780 call 41178 40c28: 1009883a mov r4,r2 40c2c: 180b883a mov r5,r3 40c30: 200d883a mov r6,r4 40c34: 280f883a mov r7,r5 40c38: 8009883a mov r4,r16 40c3c: 880b883a mov r5,r17 40c40: 0041e440 call 41e44 <__gedf2> 40c44: 10003b16 blt r2,zero,40d34 40c48: 00800174 movhi r2,5 40c4c: 10978d04 addi r2,r2,24116 40c50: 10c00117 ldw r3,4(r2) 40c54: 1809883a mov r4,r3 40c58: 0042a6c0 call 42a6c <__extendsfdf2> 40c5c: 100b883a mov r5,r2 40c60: 180d883a mov r6,r3 40c64: 2809883a mov r4,r5 40c68: 300b883a mov r5,r6 40c6c: 00411780 call 41178 40c70: 1021883a mov r16,r2 40c74: 1823883a mov r17,r3 40c78: d0a71917 ldw r2,-25500(gp) 40c7c: 1009883a mov r4,r2 40c80: 0042a6c0 call 42a6c <__extendsfdf2> 40c84: 100b883a mov r5,r2 40c88: 180d883a mov r6,r3 40c8c: 2809883a mov r4,r5 40c90: 300b883a mov r5,r6 40c94: 00411780 call 41178 40c98: 1025883a mov r18,r2 40c9c: 1827883a mov r19,r3 40ca0: d0a71a17 ldw r2,-25496(gp) 40ca4: 1009883a mov r4,r2 40ca8: 00429900 call 42990 <__floatsidf> 40cac: 1009883a mov r4,r2 40cb0: 180b883a mov r5,r3 40cb4: 200d883a mov r6,r4 40cb8: 280f883a mov r7,r5 40cbc: 9009883a mov r4,r18 40cc0: 980b883a mov r5,r19 40cc4: 00415980 call 41598 <__adddf3> 40cc8: 1009883a mov r4,r2 40ccc: 180b883a mov r5,r3 40cd0: 2005883a mov r2,r4 40cd4: 2807883a mov r3,r5 40cd8: 000d883a mov r6,zero 40cdc: 01cffc34 movhi r7,16368 40ce0: 1009883a mov r4,r2 40ce4: 180b883a mov r5,r3 40ce8: 00420140 call 42014 <__subdf3> 40cec: 1009883a mov r4,r2 40cf0: 180b883a mov r5,r3 40cf4: 2005883a mov r2,r4 40cf8: 2807883a mov r3,r5 40cfc: 100d883a mov r6,r2 40d00: 180f883a mov r7,r3 40d04: 8009883a mov r4,r16 40d08: 880b883a mov r5,r17 40d0c: 0041f200 call 41f20 <__ledf2> 40d10: 00800816 blt zero,r2,40d34 ball.vel_x = - ball.vel_x; 40d14: 00800174 movhi r2,5 40d18: 10978d04 addi r2,r2,24116 40d1c: 10c00217 ldw r3,8(r2) 40d20: 18e0003c xorhi r3,r3,32768 40d24: 00800174 movhi r2,5 40d28: 10978d04 addi r2,r2,24116 40d2c: 10c00215 stw r3,8(r2) 40d30: 00001906 br 40d98 } else { printf("ballx: %f, ball y: %f\n",ball.x,ball.y); 40d34: 00800174 movhi r2,5 40d38: 10978d04 addi r2,r2,24116 40d3c: 10c00017 ldw r3,0(r2) 40d40: 1809883a mov r4,r3 40d44: 0042a6c0 call 42a6c <__extendsfdf2> 40d48: 1021883a mov r16,r2 40d4c: 1823883a mov r17,r3 40d50: 00800174 movhi r2,5 40d54: 10978d04 addi r2,r2,24116 40d58: 10c00117 ldw r3,4(r2) 40d5c: 1809883a mov r4,r3 40d60: 0042a6c0 call 42a6c <__extendsfdf2> 40d64: 1009883a mov r4,r2 40d68: 180b883a mov r5,r3 40d6c: d9400015 stw r5,0(sp) 40d70: 200f883a mov r7,r4 40d74: 800b883a mov r5,r16 40d78: 880d883a mov r6,r17 40d7c: 01000174 movhi r4,5 40d80: 2107d604 addi r4,r4,8024 40d84: 0042c100 call 42c10 printf("left player lost\n"); 40d88: 01000174 movhi r4,5 40d8c: 2107e604 addi r4,r4,8088 40d90: 0042d2c0 call 42d2c reset_pos(); 40d94: 004048c0 call 4048c } } if (ball.vel_x < 0) { 40d98: 00800174 movhi r2,5 40d9c: 10978d04 addi r2,r2,24116 40da0: 10c00217 ldw r3,8(r2) 40da4: 000b883a mov r5,zero 40da8: 1809883a mov r4,r3 40dac: 00413ac0 call 413ac <__lesf2> 40db0: 10000a0e bge r2,zero,40ddc ball.vel_x = ball.vel_x - ACCELERATION; 40db4: 00800174 movhi r2,5 40db8: 10978d04 addi r2,r2,24116 40dbc: 10c00217 ldw r3,8(r2) 40dc0: 008ea0f4 movhi r2,14979 40dc4: 10849bc4 addi r2,r2,4719 40dc8: 1887ffb2 custom 254,r3,r3,r2 40dcc: 00800174 movhi r2,5 40dd0: 10978d04 addi r2,r2,24116 40dd4: 10c00215 stw r3,8(r2) 40dd8: 00000906 br 40e00 } else { ball.vel_x = ball.vel_x + ACCELERATION; 40ddc: 00800174 movhi r2,5 40de0: 10978d04 addi r2,r2,24116 40de4: 10c00217 ldw r3,8(r2) 40de8: 008ea0f4 movhi r2,14979 40dec: 10849bc4 addi r2,r2,4719 40df0: 1887ff72 custom 253,r3,r3,r2 40df4: 00800174 movhi r2,5 40df8: 10978d04 addi r2,r2,24116 40dfc: 10c00215 stw r3,8(r2) } if (ball.vel_y < 0) { 40e00: 00800174 movhi r2,5 40e04: 10978d04 addi r2,r2,24116 40e08: 10c00317 ldw r3,12(r2) 40e0c: 000b883a mov r5,zero 40e10: 1809883a mov r4,r3 40e14: 00413ac0 call 413ac <__lesf2> 40e18: 10000a0e bge r2,zero,40e44 ball.vel_y = ball.vel_y - ACCELERATION; 40e1c: 00800174 movhi r2,5 40e20: 10978d04 addi r2,r2,24116 40e24: 10c00317 ldw r3,12(r2) 40e28: 008ea0f4 movhi r2,14979 40e2c: 10849bc4 addi r2,r2,4719 40e30: 1887ffb2 custom 254,r3,r3,r2 40e34: 00800174 movhi r2,5 40e38: 10978d04 addi r2,r2,24116 40e3c: 10c00315 stw r3,12(r2) 40e40: 00000906 br 40e68 } else { ball.vel_y = ball.vel_y + ACCELERATION; 40e44: 00800174 movhi r2,5 40e48: 10978d04 addi r2,r2,24116 40e4c: 10c00317 ldw r3,12(r2) 40e50: 008ea0f4 movhi r2,14979 40e54: 10849bc4 addi r2,r2,4719 40e58: 1887ff72 custom 253,r3,r3,r2 40e5c: 00800174 movhi r2,5 40e60: 10978d04 addi r2,r2,24116 40e64: 10c00315 stw r3,12(r2) } reset_screen(); 40e68: 00404300 call 40430 for (i=0;i set_pixel( 0, round(left_paddle.y) + i); 40e74: d0a71717 ldw r2,-25508(gp) 40e78: 1009883a mov r4,r2 40e7c: 0042a6c0 call 42a6c <__extendsfdf2> 40e80: 100b883a mov r5,r2 40e84: 180d883a mov r6,r3 40e88: 2809883a mov r4,r5 40e8c: 300b883a mov r5,r6 40e90: 00411780 call 41178 40e94: 1021883a mov r16,r2 40e98: 1823883a mov r17,r3 40e9c: e13ff917 ldw r4,-28(fp) 40ea0: 00429900 call 42990 <__floatsidf> 40ea4: 1009883a mov r4,r2 40ea8: 180b883a mov r5,r3 40eac: 200d883a mov r6,r4 40eb0: 280f883a mov r7,r5 40eb4: 8009883a mov r4,r16 40eb8: 880b883a mov r5,r17 40ebc: 00415980 call 41598 <__adddf3> 40ec0: 1009883a mov r4,r2 40ec4: 180b883a mov r5,r3 40ec8: 2005883a mov r2,r4 40ecc: 2807883a mov r3,r5 40ed0: 1009883a mov r4,r2 40ed4: 180b883a mov r5,r3 40ed8: 00429100 call 42910 <__fixdfsi> 40edc: 100b883a mov r5,r2 40ee0: 0009883a mov r4,zero 40ee4: 00403c00 call 403c0 ball.vel_y = ball.vel_y + ACCELERATION; } reset_screen(); for (i=0;i set_pixel( 0, round(left_paddle.y) + i); } for (i=0;i set_pixel(COLS - 1, round(right_paddle.y) + i); 40f08: d0a71917 ldw r2,-25500(gp) 40f0c: 1009883a mov r4,r2 40f10: 0042a6c0 call 42a6c <__extendsfdf2> 40f14: 100b883a mov r5,r2 40f18: 180d883a mov r6,r3 40f1c: 2809883a mov r4,r5 40f20: 300b883a mov r5,r6 40f24: 00411780 call 41178 40f28: 1021883a mov r16,r2 40f2c: 1823883a mov r17,r3 40f30: e13ff917 ldw r4,-28(fp) 40f34: 00429900 call 42990 <__floatsidf> 40f38: 1009883a mov r4,r2 40f3c: 180b883a mov r5,r3 40f40: 200d883a mov r6,r4 40f44: 280f883a mov r7,r5 40f48: 8009883a mov r4,r16 40f4c: 880b883a mov r5,r17 40f50: 00415980 call 41598 <__adddf3> 40f54: 1009883a mov r4,r2 40f58: 180b883a mov r5,r3 40f5c: 2005883a mov r2,r4 40f60: 2807883a mov r3,r5 40f64: 1009883a mov r4,r2 40f68: 180b883a mov r5,r3 40f6c: 00429100 call 42910 <__fixdfsi> 40f70: 100b883a mov r5,r2 40f74: 010002c4 movi r4,11 40f78: 00403c00 call 403c0 reset_screen(); for (i=0;i set_pixel(COLS - 1, round(right_paddle.y) + i); } set_pixel(round(ball.x),round(ball.y)); 40f94: 00800174 movhi r2,5 40f98: 10978d04 addi r2,r2,24116 40f9c: 10c00017 ldw r3,0(r2) 40fa0: 1809883a mov r4,r3 40fa4: 0042a6c0 call 42a6c <__extendsfdf2> 40fa8: 100b883a mov r5,r2 40fac: 180d883a mov r6,r3 40fb0: 2809883a mov r4,r5 40fb4: 300b883a mov r5,r6 40fb8: 00411780 call 41178 40fbc: 100b883a mov r5,r2 40fc0: 180d883a mov r6,r3 40fc4: 2809883a mov r4,r5 40fc8: 300b883a mov r5,r6 40fcc: 00429100 call 42910 <__fixdfsi> 40fd0: 1021883a mov r16,r2 40fd4: 00800174 movhi r2,5 40fd8: 10978d04 addi r2,r2,24116 40fdc: 10c00117 ldw r3,4(r2) 40fe0: 1809883a mov r4,r3 40fe4: 0042a6c0 call 42a6c <__extendsfdf2> 40fe8: 100b883a mov r5,r2 40fec: 180d883a mov r6,r3 40ff0: 2809883a mov r4,r5 40ff4: 300b883a mov r5,r6 40ff8: 00411780 call 41178 40ffc: 100b883a mov r5,r2 41000: 180d883a mov r6,r3 41004: 2809883a mov r4,r5 41008: 300b883a mov r5,r6 4100c: 00429100 call 42910 <__fixdfsi> 41010: 100b883a mov r5,r2 41014: 8009883a mov r4,r16 41018: 00403c00 call 403c0 for (k=0;k<1000;k++){} 4101c: e03ffa15 stw zero,-24(fp) 41020: 00000306 br 41030 41024: e0bffa17 ldw r2,-24(fp) 41028: 10800044 addi r2,r2,1 4102c: e0bffa15 stw r2,-24(fp) 41030: e0bffa17 ldw r2,-24(fp) 41034: 1080fa10 cmplti r2,r2,1000 41038: 103ffa1e bne r2,zero,41024 <__alt_data_end+0xfffcf024> draw(); 4103c: 00402cc0 call 402cc } 41040: 003d3a06 br 4052c <__alt_data_end+0xfffce52c> 00041044 : } void test_picture() { 41044: defffa04 addi sp,sp,-24 41048: dfc00515 stw ra,20(sp) 4104c: df000415 stw fp,16(sp) 41050: df000404 addi fp,sp,16 int i,j,k; unsigned buttons; while (1){ for (i=0;i for (j=0;j buttons = ~IORD_ALTERA_AVALON_PIO_DATA(PIO_BUTTON_BASE); 41064: 00800234 movhi r2,8 41068: 10841004 addi r2,r2,4160 4106c: 10800037 ldwio r2,0(r2) 41070: 0084303a nor r2,zero,r2 41074: e0bfff15 stw r2,-4(fp) //printf("%d,%d, set\n",j,i); if (buttons & (1< printf("left button up"); 41084: 01000174 movhi r4,5 41088: 2107eb04 addi r4,r4,8108 4108c: 0042c100 call 42c10 } if (buttons & (1< printf("left button down"); 4109c: 01000174 movhi r4,5 410a0: 2107ef04 addi r4,r4,8124 410a4: 0042c100 call 42c10 } if (buttons & (1< printf("rigth button up"); 410b4: 01000174 movhi r4,5 410b8: 2107f404 addi r4,r4,8144 410bc: 0042c100 call 42c10 } if (buttons & (1< printf("rigth button down"); 410cc: 01000174 movhi r4,5 410d0: 2107f804 addi r4,r4,8160 410d4: 0042c100 call 42c10 } printf("\n"); 410d8: 01000284 movi r4,10 410dc: 0042c540 call 42c54 set_pixel(j,i); 410e0: e17ffc17 ldw r5,-16(fp) 410e4: e13ffd17 ldw r4,-12(fp) 410e8: 00403c00 call 403c0 draw(); 410ec: 00402cc0 call 402cc for(k=0;k<100000;k++) { 410f0: e03ffe15 stw zero,-8(fp) 410f4: 00000306 br 41104 410f8: e0bffe17 ldw r2,-8(fp) 410fc: 10800044 addi r2,r2,1 41100: e0bffe15 stw r2,-8(fp) 41104: e0fffe17 ldw r3,-8(fp) 41108: 008000b4 movhi r2,2 4110c: 10a1a7c4 addi r2,r2,-31073 41110: 10fff90e bge r2,r3,410f8 <__alt_data_end+0xfffcf0f8> void test_picture() { int i,j,k; unsigned buttons; while (1){ for (i=0;i void test_picture() { int i,j,k; unsigned buttons; while (1){ for (i=0;i draw(); for(k=0;k<100000;k++) { } } } reset_screen(); 41144: 00404300 call 40430 } 41148: 003fc206 br 41054 <__alt_data_end+0xfffcf054> 0004114c
: } int main() { 4114c: defffe04 addi sp,sp,-8 41150: dfc00115 stw ra,4(sp) 41154: df000015 stw fp,0(sp) 41158: d839883a mov fp,sp //test_picture(); game(); 4115c: 00405040 call 40504 41160: 0005883a mov r2,zero } 41164: e037883a mov sp,fp 41168: dfc00117 ldw ra,4(sp) 4116c: df000017 ldw fp,0(sp) 41170: dec00204 addi sp,sp,8 41174: f800283a ret 00041178 : 41178: 289ffc2c andhi r2,r5,32752 4117c: 1005d53a srai r2,r2,20 41180: 024004c4 movi r9,19 41184: 2807883a mov r3,r5 41188: 123f0044 addi r8,r2,-1023 4118c: 200d883a mov r6,r4 41190: 280f883a mov r7,r5 41194: 4a000916 blt r9,r8,411bc 41198: 40002516 blt r8,zero,41230 4119c: 00800434 movhi r2,16 411a0: 10bfffc4 addi r2,r2,-1 411a4: 1205d83a sra r2,r2,r8 411a8: 2888703a and r4,r5,r2 411ac: 2000181e bne r4,zero,41210 411b0: 3000171e bne r6,zero,41210 411b4: 0005883a mov r2,zero 411b8: f800283a ret 411bc: 02400cc4 movi r9,51 411c0: 4a00040e bge r9,r8,411d4 411c4: 00810004 movi r2,1024 411c8: 40802126 beq r8,r2,41250 411cc: 3005883a mov r2,r6 411d0: f800283a ret 411d4: 013fffc4 movi r4,-1 411d8: 10befb44 addi r2,r2,-1043 411dc: 2084d83a srl r2,r4,r2 411e0: 3088703a and r4,r6,r2 411e4: 20001726 beq r4,zero,41244 411e8: 4a11c83a sub r8,r9,r8 411ec: 02400044 movi r9,1 411f0: 4a10983a sll r8,r9,r8 411f4: 4191883a add r8,r8,r6 411f8: 4180012e bgeu r8,r6,41200 411fc: 2a47883a add r3,r5,r9 41200: 0084303a nor r2,zero,r2 41204: 120c703a and r6,r2,r8 41208: 3005883a mov r2,r6 4120c: f800283a ret 41210: 00c00234 movhi r3,8 41214: 1a07d83a sra r3,r3,r8 41218: 0084303a nor r2,zero,r2 4121c: 000d883a mov r6,zero 41220: 19c7883a add r3,r3,r7 41224: 1886703a and r3,r3,r2 41228: 3005883a mov r2,r6 4122c: f800283a ret 41230: 00bfffc4 movi r2,-1 41234: 28e0002c andhi r3,r5,32768 41238: 40800c26 beq r8,r2,4126c 4123c: 000d883a mov r6,zero 41240: 003fe206 br 411cc <__alt_data_end+0xfffcf1cc> 41244: 3005883a mov r2,r6 41248: 2807883a mov r3,r5 4124c: f800283a ret 41250: deffff04 addi sp,sp,-4 41254: 280f883a mov r7,r5 41258: dfc00015 stw ra,0(sp) 4125c: 00415980 call 41598 <__adddf3> 41260: dfc00017 ldw ra,0(sp) 41264: dec00104 addi sp,sp,4 41268: f800283a ret 4126c: 18cffc34 orhi r3,r3,16368 41270: 000d883a mov r6,zero 41274: 003fd506 br 411cc <__alt_data_end+0xfffcf1cc> 00041278 <__eqsf2>: 41278: 2006d5fa srli r3,r4,23 4127c: 280cd5fa srli r6,r5,23 41280: 01c02034 movhi r7,128 41284: 39ffffc4 addi r7,r7,-1 41288: 18c03fcc andi r3,r3,255 4128c: 02003fc4 movi r8,255 41290: 3904703a and r2,r7,r4 41294: 31803fcc andi r6,r6,255 41298: 394e703a and r7,r7,r5 4129c: 2008d7fa srli r4,r4,31 412a0: 280ad7fa srli r5,r5,31 412a4: 1a000d26 beq r3,r8,412dc <__eqsf2+0x64> 412a8: 02003fc4 movi r8,255 412ac: 32000826 beq r6,r8,412d0 <__eqsf2+0x58> 412b0: 19800226 beq r3,r6,412bc <__eqsf2+0x44> 412b4: 00800044 movi r2,1 412b8: f800283a ret 412bc: 11fffd1e bne r2,r7,412b4 <__alt_data_end+0xfffcf2b4> 412c0: 21400926 beq r4,r5,412e8 <__eqsf2+0x70> 412c4: 183ffb1e bne r3,zero,412b4 <__alt_data_end+0xfffcf2b4> 412c8: 1004c03a cmpne r2,r2,zero 412cc: f800283a ret 412d0: 383ff726 beq r7,zero,412b0 <__alt_data_end+0xfffcf2b0> 412d4: 00800044 movi r2,1 412d8: f800283a ret 412dc: 103ff226 beq r2,zero,412a8 <__alt_data_end+0xfffcf2a8> 412e0: 00800044 movi r2,1 412e4: f800283a ret 412e8: 0005883a mov r2,zero 412ec: f800283a ret 000412f0 <__gesf2>: 412f0: 2004d5fa srli r2,r4,23 412f4: 2806d5fa srli r3,r5,23 412f8: 01802034 movhi r6,128 412fc: 31bfffc4 addi r6,r6,-1 41300: 10803fcc andi r2,r2,255 41304: 01c03fc4 movi r7,255 41308: 3110703a and r8,r6,r4 4130c: 18c03fcc andi r3,r3,255 41310: 314c703a and r6,r6,r5 41314: 2008d7fa srli r4,r4,31 41318: 280ad7fa srli r5,r5,31 4131c: 11c01926 beq r2,r7,41384 <__gesf2+0x94> 41320: 01c03fc4 movi r7,255 41324: 19c00f26 beq r3,r7,41364 <__gesf2+0x74> 41328: 1000061e bne r2,zero,41344 <__gesf2+0x54> 4132c: 400f003a cmpeq r7,r8,zero 41330: 1800071e bne r3,zero,41350 <__gesf2+0x60> 41334: 3000061e bne r6,zero,41350 <__gesf2+0x60> 41338: 0005883a mov r2,zero 4133c: 40000e1e bne r8,zero,41378 <__gesf2+0x88> 41340: f800283a ret 41344: 18000a1e bne r3,zero,41370 <__gesf2+0x80> 41348: 30000b26 beq r6,zero,41378 <__gesf2+0x88> 4134c: 000f883a mov r7,zero 41350: 29403fcc andi r5,r5,255 41354: 38000726 beq r7,zero,41374 <__gesf2+0x84> 41358: 28000826 beq r5,zero,4137c <__gesf2+0x8c> 4135c: 00800044 movi r2,1 41360: f800283a ret 41364: 303ff026 beq r6,zero,41328 <__alt_data_end+0xfffcf328> 41368: 00bfff84 movi r2,-2 4136c: f800283a ret 41370: 29403fcc andi r5,r5,255 41374: 21400526 beq r4,r5,4138c <__gesf2+0x9c> 41378: 203ff826 beq r4,zero,4135c <__alt_data_end+0xfffcf35c> 4137c: 00bfffc4 movi r2,-1 41380: f800283a ret 41384: 403fe626 beq r8,zero,41320 <__alt_data_end+0xfffcf320> 41388: 003ff706 br 41368 <__alt_data_end+0xfffcf368> 4138c: 18bffa16 blt r3,r2,41378 <__alt_data_end+0xfffcf378> 41390: 10c00216 blt r2,r3,4139c <__gesf2+0xac> 41394: 323ff836 bltu r6,r8,41378 <__alt_data_end+0xfffcf378> 41398: 4180022e bgeu r8,r6,413a4 <__gesf2+0xb4> 4139c: 203fef1e bne r4,zero,4135c <__alt_data_end+0xfffcf35c> 413a0: 003ff606 br 4137c <__alt_data_end+0xfffcf37c> 413a4: 0005883a mov r2,zero 413a8: f800283a ret 000413ac <__lesf2>: 413ac: 2004d5fa srli r2,r4,23 413b0: 280cd5fa srli r6,r5,23 413b4: 00c02034 movhi r3,128 413b8: 18ffffc4 addi r3,r3,-1 413bc: 10803fcc andi r2,r2,255 413c0: 01c03fc4 movi r7,255 413c4: 1910703a and r8,r3,r4 413c8: 31803fcc andi r6,r6,255 413cc: 1946703a and r3,r3,r5 413d0: 2008d7fa srli r4,r4,31 413d4: 280ad7fa srli r5,r5,31 413d8: 11c01b26 beq r2,r7,41448 <__lesf2+0x9c> 413dc: 01c03fc4 movi r7,255 413e0: 31c01126 beq r6,r7,41428 <__lesf2+0x7c> 413e4: 1000071e bne r2,zero,41404 <__lesf2+0x58> 413e8: 400f003a cmpeq r7,r8,zero 413ec: 21003fcc andi r4,r4,255 413f0: 3000081e bne r6,zero,41414 <__lesf2+0x68> 413f4: 1800071e bne r3,zero,41414 <__lesf2+0x68> 413f8: 0005883a mov r2,zero 413fc: 40000f1e bne r8,zero,4143c <__lesf2+0x90> 41400: f800283a ret 41404: 21003fcc andi r4,r4,255 41408: 30000a1e bne r6,zero,41434 <__lesf2+0x88> 4140c: 18000b26 beq r3,zero,4143c <__lesf2+0x90> 41410: 000f883a mov r7,zero 41414: 29403fcc andi r5,r5,255 41418: 38000726 beq r7,zero,41438 <__lesf2+0x8c> 4141c: 28000826 beq r5,zero,41440 <__lesf2+0x94> 41420: 00800044 movi r2,1 41424: f800283a ret 41428: 183fee26 beq r3,zero,413e4 <__alt_data_end+0xfffcf3e4> 4142c: 00800084 movi r2,2 41430: f800283a ret 41434: 29403fcc andi r5,r5,255 41438: 21400626 beq r4,r5,41454 <__lesf2+0xa8> 4143c: 203ff826 beq r4,zero,41420 <__alt_data_end+0xfffcf420> 41440: 00bfffc4 movi r2,-1 41444: f800283a ret 41448: 403fe426 beq r8,zero,413dc <__alt_data_end+0xfffcf3dc> 4144c: 00800084 movi r2,2 41450: f800283a ret 41454: 30bff916 blt r6,r2,4143c <__alt_data_end+0xfffcf43c> 41458: 11800216 blt r2,r6,41464 <__lesf2+0xb8> 4145c: 1a3ff736 bltu r3,r8,4143c <__alt_data_end+0xfffcf43c> 41460: 40c0022e bgeu r8,r3,4146c <__lesf2+0xc0> 41464: 203fee1e bne r4,zero,41420 <__alt_data_end+0xfffcf420> 41468: 003ff506 br 41440 <__alt_data_end+0xfffcf440> 4146c: 0005883a mov r2,zero 41470: f800283a ret 00041474 <__floatsisf>: 41474: defffd04 addi sp,sp,-12 41478: dfc00215 stw ra,8(sp) 4147c: dc400115 stw r17,4(sp) 41480: dc000015 stw r16,0(sp) 41484: 20003526 beq r4,zero,4155c <__floatsisf+0xe8> 41488: 2021883a mov r16,r4 4148c: 2022d7fa srli r17,r4,31 41490: 20003616 blt r4,zero,4156c <__floatsisf+0xf8> 41494: 8009883a mov r4,r16 41498: 0042b7c0 call 42b7c <__clzsi2> 4149c: 00c02784 movi r3,158 414a0: 1887c83a sub r3,r3,r2 414a4: 01002584 movi r4,150 414a8: 20c01416 blt r4,r3,414fc <__floatsisf+0x88> 414ac: 20c9c83a sub r4,r4,r3 414b0: 8120983a sll r16,r16,r4 414b4: 00802034 movhi r2,128 414b8: 10bfffc4 addi r2,r2,-1 414bc: 8809883a mov r4,r17 414c0: 80a0703a and r16,r16,r2 414c4: 18803fcc andi r2,r3,255 414c8: 100695fa slli r3,r2,23 414cc: 20803fcc andi r2,r4,255 414d0: 100897fa slli r4,r2,31 414d4: 00802034 movhi r2,128 414d8: 10bfffc4 addi r2,r2,-1 414dc: 8084703a and r2,r16,r2 414e0: 10c4b03a or r2,r2,r3 414e4: 1104b03a or r2,r2,r4 414e8: dfc00217 ldw ra,8(sp) 414ec: dc400117 ldw r17,4(sp) 414f0: dc000017 ldw r16,0(sp) 414f4: dec00304 addi sp,sp,12 414f8: f800283a ret 414fc: 01002644 movi r4,153 41500: 20c01c16 blt r4,r3,41574 <__floatsisf+0x100> 41504: 20c9c83a sub r4,r4,r3 41508: 8120983a sll r16,r16,r4 4150c: 013f0034 movhi r4,64512 41510: 213fffc4 addi r4,r4,-1 41514: 814001cc andi r5,r16,7 41518: 8108703a and r4,r16,r4 4151c: 28000426 beq r5,zero,41530 <__floatsisf+0xbc> 41520: 840003cc andi r16,r16,15 41524: 01400104 movi r5,4 41528: 81400126 beq r16,r5,41530 <__floatsisf+0xbc> 4152c: 2149883a add r4,r4,r5 41530: 2141002c andhi r5,r4,1024 41534: 28000526 beq r5,zero,4154c <__floatsisf+0xd8> 41538: 00c027c4 movi r3,159 4153c: 1887c83a sub r3,r3,r2 41540: 00bf0034 movhi r2,64512 41544: 10bfffc4 addi r2,r2,-1 41548: 2088703a and r4,r4,r2 4154c: 202091ba slli r16,r4,6 41550: 8809883a mov r4,r17 41554: 8020d27a srli r16,r16,9 41558: 003fda06 br 414c4 <__alt_data_end+0xfffcf4c4> 4155c: 0009883a mov r4,zero 41560: 0007883a mov r3,zero 41564: 0021883a mov r16,zero 41568: 003fd606 br 414c4 <__alt_data_end+0xfffcf4c4> 4156c: 0121c83a sub r16,zero,r4 41570: 003fc806 br 41494 <__alt_data_end+0xfffcf494> 41574: 01002e44 movi r4,185 41578: 20c9c83a sub r4,r4,r3 4157c: 01400144 movi r5,5 41580: 8108983a sll r4,r16,r4 41584: 288bc83a sub r5,r5,r2 41588: 8160d83a srl r16,r16,r5 4158c: 2008c03a cmpne r4,r4,zero 41590: 8120b03a or r16,r16,r4 41594: 003fdd06 br 4150c <__alt_data_end+0xfffcf50c> 00041598 <__adddf3>: 41598: 02c00434 movhi r11,16 4159c: 5affffc4 addi r11,r11,-1 415a0: 2806d7fa srli r3,r5,31 415a4: 2ad4703a and r10,r5,r11 415a8: 3ad2703a and r9,r7,r11 415ac: 3804d53a srli r2,r7,20 415b0: 3018d77a srli r12,r6,29 415b4: 280ad53a srli r5,r5,20 415b8: 501490fa slli r10,r10,3 415bc: 2010d77a srli r8,r4,29 415c0: 481290fa slli r9,r9,3 415c4: 380ed7fa srli r7,r7,31 415c8: defffb04 addi sp,sp,-20 415cc: dc800215 stw r18,8(sp) 415d0: dc400115 stw r17,4(sp) 415d4: dc000015 stw r16,0(sp) 415d8: dfc00415 stw ra,16(sp) 415dc: dcc00315 stw r19,12(sp) 415e0: 1c803fcc andi r18,r3,255 415e4: 2c01ffcc andi r16,r5,2047 415e8: 5210b03a or r8,r10,r8 415ec: 202290fa slli r17,r4,3 415f0: 1081ffcc andi r2,r2,2047 415f4: 4b12b03a or r9,r9,r12 415f8: 300c90fa slli r6,r6,3 415fc: 91c07526 beq r18,r7,417d4 <__adddf3+0x23c> 41600: 8087c83a sub r3,r16,r2 41604: 00c0ab0e bge zero,r3,418b4 <__adddf3+0x31c> 41608: 10002a1e bne r2,zero,416b4 <__adddf3+0x11c> 4160c: 4984b03a or r2,r9,r6 41610: 1000961e bne r2,zero,4186c <__adddf3+0x2d4> 41614: 888001cc andi r2,r17,7 41618: 10000726 beq r2,zero,41638 <__adddf3+0xa0> 4161c: 888003cc andi r2,r17,15 41620: 00c00104 movi r3,4 41624: 10c00426 beq r2,r3,41638 <__adddf3+0xa0> 41628: 88c7883a add r3,r17,r3 4162c: 1c63803a cmpltu r17,r3,r17 41630: 4451883a add r8,r8,r17 41634: 1823883a mov r17,r3 41638: 4080202c andhi r2,r8,128 4163c: 10005926 beq r2,zero,417a4 <__adddf3+0x20c> 41640: 84000044 addi r16,r16,1 41644: 0081ffc4 movi r2,2047 41648: 8080ba26 beq r16,r2,41934 <__adddf3+0x39c> 4164c: 00bfe034 movhi r2,65408 41650: 10bfffc4 addi r2,r2,-1 41654: 4090703a and r8,r8,r2 41658: 4004977a slli r2,r8,29 4165c: 4010927a slli r8,r8,9 41660: 8822d0fa srli r17,r17,3 41664: 8401ffcc andi r16,r16,2047 41668: 4010d33a srli r8,r8,12 4166c: 9007883a mov r3,r18 41670: 1444b03a or r2,r2,r17 41674: 8401ffcc andi r16,r16,2047 41678: 8020953a slli r16,r16,20 4167c: 18c03fcc andi r3,r3,255 41680: 01000434 movhi r4,16 41684: 213fffc4 addi r4,r4,-1 41688: 180697fa slli r3,r3,31 4168c: 4110703a and r8,r8,r4 41690: 4410b03a or r8,r8,r16 41694: 40c6b03a or r3,r8,r3 41698: dfc00417 ldw ra,16(sp) 4169c: dcc00317 ldw r19,12(sp) 416a0: dc800217 ldw r18,8(sp) 416a4: dc400117 ldw r17,4(sp) 416a8: dc000017 ldw r16,0(sp) 416ac: dec00504 addi sp,sp,20 416b0: f800283a ret 416b4: 0081ffc4 movi r2,2047 416b8: 80bfd626 beq r16,r2,41614 <__alt_data_end+0xfffcf614> 416bc: 4a402034 orhi r9,r9,128 416c0: 00800e04 movi r2,56 416c4: 10c09f16 blt r2,r3,41944 <__adddf3+0x3ac> 416c8: 008007c4 movi r2,31 416cc: 10c0c216 blt r2,r3,419d8 <__adddf3+0x440> 416d0: 00800804 movi r2,32 416d4: 10c5c83a sub r2,r2,r3 416d8: 488a983a sll r5,r9,r2 416dc: 30c8d83a srl r4,r6,r3 416e0: 3084983a sll r2,r6,r2 416e4: 48c6d83a srl r3,r9,r3 416e8: 290cb03a or r6,r5,r4 416ec: 1004c03a cmpne r2,r2,zero 416f0: 308cb03a or r6,r6,r2 416f4: 898dc83a sub r6,r17,r6 416f8: 89a3803a cmpltu r17,r17,r6 416fc: 40d1c83a sub r8,r8,r3 41700: 4451c83a sub r8,r8,r17 41704: 3023883a mov r17,r6 41708: 4080202c andhi r2,r8,128 4170c: 10002326 beq r2,zero,4179c <__adddf3+0x204> 41710: 04c02034 movhi r19,128 41714: 9cffffc4 addi r19,r19,-1 41718: 44e6703a and r19,r8,r19 4171c: 98007626 beq r19,zero,418f8 <__adddf3+0x360> 41720: 9809883a mov r4,r19 41724: 0042b7c0 call 42b7c <__clzsi2> 41728: 10fffe04 addi r3,r2,-8 4172c: 010007c4 movi r4,31 41730: 20c07716 blt r4,r3,41910 <__adddf3+0x378> 41734: 00800804 movi r2,32 41738: 10c5c83a sub r2,r2,r3 4173c: 8884d83a srl r2,r17,r2 41740: 98d0983a sll r8,r19,r3 41744: 88e2983a sll r17,r17,r3 41748: 1204b03a or r2,r2,r8 4174c: 1c007416 blt r3,r16,41920 <__adddf3+0x388> 41750: 1c21c83a sub r16,r3,r16 41754: 82000044 addi r8,r16,1 41758: 00c007c4 movi r3,31 4175c: 1a009116 blt r3,r8,419a4 <__adddf3+0x40c> 41760: 00c00804 movi r3,32 41764: 1a07c83a sub r3,r3,r8 41768: 8a08d83a srl r4,r17,r8 4176c: 88e2983a sll r17,r17,r3 41770: 10c6983a sll r3,r2,r3 41774: 1210d83a srl r8,r2,r8 41778: 8804c03a cmpne r2,r17,zero 4177c: 1906b03a or r3,r3,r4 41780: 18a2b03a or r17,r3,r2 41784: 0021883a mov r16,zero 41788: 003fa206 br 41614 <__alt_data_end+0xfffcf614> 4178c: 1890b03a or r8,r3,r2 41790: 40017d26 beq r8,zero,41d88 <__adddf3+0x7f0> 41794: 1011883a mov r8,r2 41798: 1823883a mov r17,r3 4179c: 888001cc andi r2,r17,7 417a0: 103f9e1e bne r2,zero,4161c <__alt_data_end+0xfffcf61c> 417a4: 4004977a slli r2,r8,29 417a8: 8822d0fa srli r17,r17,3 417ac: 4010d0fa srli r8,r8,3 417b0: 9007883a mov r3,r18 417b4: 1444b03a or r2,r2,r17 417b8: 0101ffc4 movi r4,2047 417bc: 81002426 beq r16,r4,41850 <__adddf3+0x2b8> 417c0: 8120703a and r16,r16,r4 417c4: 01000434 movhi r4,16 417c8: 213fffc4 addi r4,r4,-1 417cc: 4110703a and r8,r8,r4 417d0: 003fa806 br 41674 <__alt_data_end+0xfffcf674> 417d4: 8089c83a sub r4,r16,r2 417d8: 01005e0e bge zero,r4,41954 <__adddf3+0x3bc> 417dc: 10002b26 beq r2,zero,4188c <__adddf3+0x2f4> 417e0: 0081ffc4 movi r2,2047 417e4: 80bf8b26 beq r16,r2,41614 <__alt_data_end+0xfffcf614> 417e8: 4a402034 orhi r9,r9,128 417ec: 00800e04 movi r2,56 417f0: 1100a40e bge r2,r4,41a84 <__adddf3+0x4ec> 417f4: 498cb03a or r6,r9,r6 417f8: 300ac03a cmpne r5,r6,zero 417fc: 0013883a mov r9,zero 41800: 2c4b883a add r5,r5,r17 41804: 2c63803a cmpltu r17,r5,r17 41808: 4a11883a add r8,r9,r8 4180c: 8a11883a add r8,r17,r8 41810: 2823883a mov r17,r5 41814: 4080202c andhi r2,r8,128 41818: 103fe026 beq r2,zero,4179c <__alt_data_end+0xfffcf79c> 4181c: 84000044 addi r16,r16,1 41820: 0081ffc4 movi r2,2047 41824: 8080d226 beq r16,r2,41b70 <__adddf3+0x5d8> 41828: 00bfe034 movhi r2,65408 4182c: 10bfffc4 addi r2,r2,-1 41830: 4090703a and r8,r8,r2 41834: 880ad07a srli r5,r17,1 41838: 400897fa slli r4,r8,31 4183c: 88c0004c andi r3,r17,1 41840: 28e2b03a or r17,r5,r3 41844: 4010d07a srli r8,r8,1 41848: 2462b03a or r17,r4,r17 4184c: 003f7106 br 41614 <__alt_data_end+0xfffcf614> 41850: 4088b03a or r4,r8,r2 41854: 20014526 beq r4,zero,41d6c <__adddf3+0x7d4> 41858: 01000434 movhi r4,16 4185c: 42000234 orhi r8,r8,8 41860: 213fffc4 addi r4,r4,-1 41864: 4110703a and r8,r8,r4 41868: 003f8206 br 41674 <__alt_data_end+0xfffcf674> 4186c: 18ffffc4 addi r3,r3,-1 41870: 1800491e bne r3,zero,41998 <__adddf3+0x400> 41874: 898bc83a sub r5,r17,r6 41878: 8963803a cmpltu r17,r17,r5 4187c: 4251c83a sub r8,r8,r9 41880: 4451c83a sub r8,r8,r17 41884: 2823883a mov r17,r5 41888: 003f9f06 br 41708 <__alt_data_end+0xfffcf708> 4188c: 4984b03a or r2,r9,r6 41890: 103f6026 beq r2,zero,41614 <__alt_data_end+0xfffcf614> 41894: 213fffc4 addi r4,r4,-1 41898: 2000931e bne r4,zero,41ae8 <__adddf3+0x550> 4189c: 898d883a add r6,r17,r6 418a0: 3463803a cmpltu r17,r6,r17 418a4: 4251883a add r8,r8,r9 418a8: 8a11883a add r8,r17,r8 418ac: 3023883a mov r17,r6 418b0: 003fd806 br 41814 <__alt_data_end+0xfffcf814> 418b4: 1800541e bne r3,zero,41a08 <__adddf3+0x470> 418b8: 80800044 addi r2,r16,1 418bc: 1081ffcc andi r2,r2,2047 418c0: 00c00044 movi r3,1 418c4: 1880a00e bge r3,r2,41b48 <__adddf3+0x5b0> 418c8: 8989c83a sub r4,r17,r6 418cc: 8905803a cmpltu r2,r17,r4 418d0: 4267c83a sub r19,r8,r9 418d4: 98a7c83a sub r19,r19,r2 418d8: 9880202c andhi r2,r19,128 418dc: 10006326 beq r2,zero,41a6c <__adddf3+0x4d4> 418e0: 3463c83a sub r17,r6,r17 418e4: 4a07c83a sub r3,r9,r8 418e8: 344d803a cmpltu r6,r6,r17 418ec: 19a7c83a sub r19,r3,r6 418f0: 3825883a mov r18,r7 418f4: 983f8a1e bne r19,zero,41720 <__alt_data_end+0xfffcf720> 418f8: 8809883a mov r4,r17 418fc: 0042b7c0 call 42b7c <__clzsi2> 41900: 10800804 addi r2,r2,32 41904: 10fffe04 addi r3,r2,-8 41908: 010007c4 movi r4,31 4190c: 20ff890e bge r4,r3,41734 <__alt_data_end+0xfffcf734> 41910: 10bff604 addi r2,r2,-40 41914: 8884983a sll r2,r17,r2 41918: 0023883a mov r17,zero 4191c: 1c3f8c0e bge r3,r16,41750 <__alt_data_end+0xfffcf750> 41920: 023fe034 movhi r8,65408 41924: 423fffc4 addi r8,r8,-1 41928: 80e1c83a sub r16,r16,r3 4192c: 1210703a and r8,r2,r8 41930: 003f3806 br 41614 <__alt_data_end+0xfffcf614> 41934: 9007883a mov r3,r18 41938: 0011883a mov r8,zero 4193c: 0005883a mov r2,zero 41940: 003f4c06 br 41674 <__alt_data_end+0xfffcf674> 41944: 498cb03a or r6,r9,r6 41948: 300cc03a cmpne r6,r6,zero 4194c: 0007883a mov r3,zero 41950: 003f6806 br 416f4 <__alt_data_end+0xfffcf6f4> 41954: 20009c1e bne r4,zero,41bc8 <__adddf3+0x630> 41958: 80800044 addi r2,r16,1 4195c: 1141ffcc andi r5,r2,2047 41960: 01000044 movi r4,1 41964: 2140670e bge r4,r5,41b04 <__adddf3+0x56c> 41968: 0101ffc4 movi r4,2047 4196c: 11007f26 beq r2,r4,41b6c <__adddf3+0x5d4> 41970: 898d883a add r6,r17,r6 41974: 4247883a add r3,r8,r9 41978: 3451803a cmpltu r8,r6,r17 4197c: 40d1883a add r8,r8,r3 41980: 402297fa slli r17,r8,31 41984: 300cd07a srli r6,r6,1 41988: 4010d07a srli r8,r8,1 4198c: 1021883a mov r16,r2 41990: 89a2b03a or r17,r17,r6 41994: 003f1f06 br 41614 <__alt_data_end+0xfffcf614> 41998: 0081ffc4 movi r2,2047 4199c: 80bf481e bne r16,r2,416c0 <__alt_data_end+0xfffcf6c0> 419a0: 003f1c06 br 41614 <__alt_data_end+0xfffcf614> 419a4: 843ff844 addi r16,r16,-31 419a8: 01000804 movi r4,32 419ac: 1406d83a srl r3,r2,r16 419b0: 41005026 beq r8,r4,41af4 <__adddf3+0x55c> 419b4: 01001004 movi r4,64 419b8: 2211c83a sub r8,r4,r8 419bc: 1204983a sll r2,r2,r8 419c0: 88a2b03a or r17,r17,r2 419c4: 8822c03a cmpne r17,r17,zero 419c8: 1c62b03a or r17,r3,r17 419cc: 0011883a mov r8,zero 419d0: 0021883a mov r16,zero 419d4: 003f7106 br 4179c <__alt_data_end+0xfffcf79c> 419d8: 193ff804 addi r4,r3,-32 419dc: 00800804 movi r2,32 419e0: 4908d83a srl r4,r9,r4 419e4: 18804526 beq r3,r2,41afc <__adddf3+0x564> 419e8: 00801004 movi r2,64 419ec: 10c5c83a sub r2,r2,r3 419f0: 4886983a sll r3,r9,r2 419f4: 198cb03a or r6,r3,r6 419f8: 300cc03a cmpne r6,r6,zero 419fc: 218cb03a or r6,r4,r6 41a00: 0007883a mov r3,zero 41a04: 003f3b06 br 416f4 <__alt_data_end+0xfffcf6f4> 41a08: 80002a26 beq r16,zero,41ab4 <__adddf3+0x51c> 41a0c: 0101ffc4 movi r4,2047 41a10: 11006826 beq r2,r4,41bb4 <__adddf3+0x61c> 41a14: 00c7c83a sub r3,zero,r3 41a18: 42002034 orhi r8,r8,128 41a1c: 01000e04 movi r4,56 41a20: 20c07c16 blt r4,r3,41c14 <__adddf3+0x67c> 41a24: 010007c4 movi r4,31 41a28: 20c0da16 blt r4,r3,41d94 <__adddf3+0x7fc> 41a2c: 01000804 movi r4,32 41a30: 20c9c83a sub r4,r4,r3 41a34: 4114983a sll r10,r8,r4 41a38: 88cad83a srl r5,r17,r3 41a3c: 8908983a sll r4,r17,r4 41a40: 40c6d83a srl r3,r8,r3 41a44: 5162b03a or r17,r10,r5 41a48: 2008c03a cmpne r4,r4,zero 41a4c: 8922b03a or r17,r17,r4 41a50: 3463c83a sub r17,r6,r17 41a54: 48c7c83a sub r3,r9,r3 41a58: 344d803a cmpltu r6,r6,r17 41a5c: 1991c83a sub r8,r3,r6 41a60: 1021883a mov r16,r2 41a64: 3825883a mov r18,r7 41a68: 003f2706 br 41708 <__alt_data_end+0xfffcf708> 41a6c: 24d0b03a or r8,r4,r19 41a70: 40001b1e bne r8,zero,41ae0 <__adddf3+0x548> 41a74: 0005883a mov r2,zero 41a78: 0007883a mov r3,zero 41a7c: 0021883a mov r16,zero 41a80: 003f4d06 br 417b8 <__alt_data_end+0xfffcf7b8> 41a84: 008007c4 movi r2,31 41a88: 11003c16 blt r2,r4,41b7c <__adddf3+0x5e4> 41a8c: 00800804 movi r2,32 41a90: 1105c83a sub r2,r2,r4 41a94: 488e983a sll r7,r9,r2 41a98: 310ad83a srl r5,r6,r4 41a9c: 3084983a sll r2,r6,r2 41aa0: 4912d83a srl r9,r9,r4 41aa4: 394ab03a or r5,r7,r5 41aa8: 1004c03a cmpne r2,r2,zero 41aac: 288ab03a or r5,r5,r2 41ab0: 003f5306 br 41800 <__alt_data_end+0xfffcf800> 41ab4: 4448b03a or r4,r8,r17 41ab8: 20003e26 beq r4,zero,41bb4 <__adddf3+0x61c> 41abc: 00c6303a nor r3,zero,r3 41ac0: 18003a1e bne r3,zero,41bac <__adddf3+0x614> 41ac4: 3463c83a sub r17,r6,r17 41ac8: 4a07c83a sub r3,r9,r8 41acc: 344d803a cmpltu r6,r6,r17 41ad0: 1991c83a sub r8,r3,r6 41ad4: 1021883a mov r16,r2 41ad8: 3825883a mov r18,r7 41adc: 003f0a06 br 41708 <__alt_data_end+0xfffcf708> 41ae0: 2023883a mov r17,r4 41ae4: 003f0d06 br 4171c <__alt_data_end+0xfffcf71c> 41ae8: 0081ffc4 movi r2,2047 41aec: 80bf3f1e bne r16,r2,417ec <__alt_data_end+0xfffcf7ec> 41af0: 003ec806 br 41614 <__alt_data_end+0xfffcf614> 41af4: 0005883a mov r2,zero 41af8: 003fb106 br 419c0 <__alt_data_end+0xfffcf9c0> 41afc: 0007883a mov r3,zero 41b00: 003fbc06 br 419f4 <__alt_data_end+0xfffcf9f4> 41b04: 4444b03a or r2,r8,r17 41b08: 8000871e bne r16,zero,41d28 <__adddf3+0x790> 41b0c: 1000ba26 beq r2,zero,41df8 <__adddf3+0x860> 41b10: 4984b03a or r2,r9,r6 41b14: 103ebf26 beq r2,zero,41614 <__alt_data_end+0xfffcf614> 41b18: 8985883a add r2,r17,r6 41b1c: 4247883a add r3,r8,r9 41b20: 1451803a cmpltu r8,r2,r17 41b24: 40d1883a add r8,r8,r3 41b28: 40c0202c andhi r3,r8,128 41b2c: 1023883a mov r17,r2 41b30: 183f1a26 beq r3,zero,4179c <__alt_data_end+0xfffcf79c> 41b34: 00bfe034 movhi r2,65408 41b38: 10bfffc4 addi r2,r2,-1 41b3c: 2021883a mov r16,r4 41b40: 4090703a and r8,r8,r2 41b44: 003eb306 br 41614 <__alt_data_end+0xfffcf614> 41b48: 4444b03a or r2,r8,r17 41b4c: 8000291e bne r16,zero,41bf4 <__adddf3+0x65c> 41b50: 10004b1e bne r2,zero,41c80 <__adddf3+0x6e8> 41b54: 4990b03a or r8,r9,r6 41b58: 40008b26 beq r8,zero,41d88 <__adddf3+0x7f0> 41b5c: 4811883a mov r8,r9 41b60: 3023883a mov r17,r6 41b64: 3825883a mov r18,r7 41b68: 003eaa06 br 41614 <__alt_data_end+0xfffcf614> 41b6c: 1021883a mov r16,r2 41b70: 0011883a mov r8,zero 41b74: 0005883a mov r2,zero 41b78: 003f0f06 br 417b8 <__alt_data_end+0xfffcf7b8> 41b7c: 217ff804 addi r5,r4,-32 41b80: 00800804 movi r2,32 41b84: 494ad83a srl r5,r9,r5 41b88: 20807d26 beq r4,r2,41d80 <__adddf3+0x7e8> 41b8c: 00801004 movi r2,64 41b90: 1109c83a sub r4,r2,r4 41b94: 4912983a sll r9,r9,r4 41b98: 498cb03a or r6,r9,r6 41b9c: 300cc03a cmpne r6,r6,zero 41ba0: 298ab03a or r5,r5,r6 41ba4: 0013883a mov r9,zero 41ba8: 003f1506 br 41800 <__alt_data_end+0xfffcf800> 41bac: 0101ffc4 movi r4,2047 41bb0: 113f9a1e bne r2,r4,41a1c <__alt_data_end+0xfffcfa1c> 41bb4: 4811883a mov r8,r9 41bb8: 3023883a mov r17,r6 41bbc: 1021883a mov r16,r2 41bc0: 3825883a mov r18,r7 41bc4: 003e9306 br 41614 <__alt_data_end+0xfffcf614> 41bc8: 8000161e bne r16,zero,41c24 <__adddf3+0x68c> 41bcc: 444ab03a or r5,r8,r17 41bd0: 28005126 beq r5,zero,41d18 <__adddf3+0x780> 41bd4: 0108303a nor r4,zero,r4 41bd8: 20004d1e bne r4,zero,41d10 <__adddf3+0x778> 41bdc: 89a3883a add r17,r17,r6 41be0: 4253883a add r9,r8,r9 41be4: 898d803a cmpltu r6,r17,r6 41be8: 3251883a add r8,r6,r9 41bec: 1021883a mov r16,r2 41bf0: 003f0806 br 41814 <__alt_data_end+0xfffcf814> 41bf4: 1000301e bne r2,zero,41cb8 <__adddf3+0x720> 41bf8: 4984b03a or r2,r9,r6 41bfc: 10007126 beq r2,zero,41dc4 <__adddf3+0x82c> 41c00: 4811883a mov r8,r9 41c04: 3023883a mov r17,r6 41c08: 3825883a mov r18,r7 41c0c: 0401ffc4 movi r16,2047 41c10: 003e8006 br 41614 <__alt_data_end+0xfffcf614> 41c14: 4462b03a or r17,r8,r17 41c18: 8822c03a cmpne r17,r17,zero 41c1c: 0007883a mov r3,zero 41c20: 003f8b06 br 41a50 <__alt_data_end+0xfffcfa50> 41c24: 0141ffc4 movi r5,2047 41c28: 11403b26 beq r2,r5,41d18 <__adddf3+0x780> 41c2c: 0109c83a sub r4,zero,r4 41c30: 42002034 orhi r8,r8,128 41c34: 01400e04 movi r5,56 41c38: 29006716 blt r5,r4,41dd8 <__adddf3+0x840> 41c3c: 014007c4 movi r5,31 41c40: 29007016 blt r5,r4,41e04 <__adddf3+0x86c> 41c44: 01400804 movi r5,32 41c48: 290bc83a sub r5,r5,r4 41c4c: 4154983a sll r10,r8,r5 41c50: 890ed83a srl r7,r17,r4 41c54: 894a983a sll r5,r17,r5 41c58: 4108d83a srl r4,r8,r4 41c5c: 51e2b03a or r17,r10,r7 41c60: 280ac03a cmpne r5,r5,zero 41c64: 8962b03a or r17,r17,r5 41c68: 89a3883a add r17,r17,r6 41c6c: 2253883a add r9,r4,r9 41c70: 898d803a cmpltu r6,r17,r6 41c74: 3251883a add r8,r6,r9 41c78: 1021883a mov r16,r2 41c7c: 003ee506 br 41814 <__alt_data_end+0xfffcf814> 41c80: 4984b03a or r2,r9,r6 41c84: 103e6326 beq r2,zero,41614 <__alt_data_end+0xfffcf614> 41c88: 8987c83a sub r3,r17,r6 41c8c: 88c9803a cmpltu r4,r17,r3 41c90: 4245c83a sub r2,r8,r9 41c94: 1105c83a sub r2,r2,r4 41c98: 1100202c andhi r4,r2,128 41c9c: 203ebb26 beq r4,zero,4178c <__alt_data_end+0xfffcf78c> 41ca0: 3463c83a sub r17,r6,r17 41ca4: 4a07c83a sub r3,r9,r8 41ca8: 344d803a cmpltu r6,r6,r17 41cac: 1991c83a sub r8,r3,r6 41cb0: 3825883a mov r18,r7 41cb4: 003e5706 br 41614 <__alt_data_end+0xfffcf614> 41cb8: 4984b03a or r2,r9,r6 41cbc: 10002e26 beq r2,zero,41d78 <__adddf3+0x7e0> 41cc0: 4004d0fa srli r2,r8,3 41cc4: 8822d0fa srli r17,r17,3 41cc8: 4010977a slli r8,r8,29 41ccc: 10c0022c andhi r3,r2,8 41cd0: 4462b03a or r17,r8,r17 41cd4: 18000826 beq r3,zero,41cf8 <__adddf3+0x760> 41cd8: 4808d0fa srli r4,r9,3 41cdc: 20c0022c andhi r3,r4,8 41ce0: 1800051e bne r3,zero,41cf8 <__adddf3+0x760> 41ce4: 300cd0fa srli r6,r6,3 41ce8: 4806977a slli r3,r9,29 41cec: 2005883a mov r2,r4 41cf0: 3825883a mov r18,r7 41cf4: 19a2b03a or r17,r3,r6 41cf8: 8810d77a srli r8,r17,29 41cfc: 100490fa slli r2,r2,3 41d00: 882290fa slli r17,r17,3 41d04: 0401ffc4 movi r16,2047 41d08: 4090b03a or r8,r8,r2 41d0c: 003e4106 br 41614 <__alt_data_end+0xfffcf614> 41d10: 0141ffc4 movi r5,2047 41d14: 117fc71e bne r2,r5,41c34 <__alt_data_end+0xfffcfc34> 41d18: 4811883a mov r8,r9 41d1c: 3023883a mov r17,r6 41d20: 1021883a mov r16,r2 41d24: 003e3b06 br 41614 <__alt_data_end+0xfffcf614> 41d28: 10002f26 beq r2,zero,41de8 <__adddf3+0x850> 41d2c: 4984b03a or r2,r9,r6 41d30: 10001126 beq r2,zero,41d78 <__adddf3+0x7e0> 41d34: 4004d0fa srli r2,r8,3 41d38: 8822d0fa srli r17,r17,3 41d3c: 4010977a slli r8,r8,29 41d40: 10c0022c andhi r3,r2,8 41d44: 4462b03a or r17,r8,r17 41d48: 183feb26 beq r3,zero,41cf8 <__alt_data_end+0xfffcfcf8> 41d4c: 4808d0fa srli r4,r9,3 41d50: 20c0022c andhi r3,r4,8 41d54: 183fe81e bne r3,zero,41cf8 <__alt_data_end+0xfffcfcf8> 41d58: 300cd0fa srli r6,r6,3 41d5c: 4806977a slli r3,r9,29 41d60: 2005883a mov r2,r4 41d64: 19a2b03a or r17,r3,r6 41d68: 003fe306 br 41cf8 <__alt_data_end+0xfffcfcf8> 41d6c: 0011883a mov r8,zero 41d70: 0005883a mov r2,zero 41d74: 003e3f06 br 41674 <__alt_data_end+0xfffcf674> 41d78: 0401ffc4 movi r16,2047 41d7c: 003e2506 br 41614 <__alt_data_end+0xfffcf614> 41d80: 0013883a mov r9,zero 41d84: 003f8406 br 41b98 <__alt_data_end+0xfffcfb98> 41d88: 0005883a mov r2,zero 41d8c: 0007883a mov r3,zero 41d90: 003e8906 br 417b8 <__alt_data_end+0xfffcf7b8> 41d94: 197ff804 addi r5,r3,-32 41d98: 01000804 movi r4,32 41d9c: 414ad83a srl r5,r8,r5 41da0: 19002426 beq r3,r4,41e34 <__adddf3+0x89c> 41da4: 01001004 movi r4,64 41da8: 20c7c83a sub r3,r4,r3 41dac: 40c6983a sll r3,r8,r3 41db0: 1c46b03a or r3,r3,r17 41db4: 1806c03a cmpne r3,r3,zero 41db8: 28e2b03a or r17,r5,r3 41dbc: 0007883a mov r3,zero 41dc0: 003f2306 br 41a50 <__alt_data_end+0xfffcfa50> 41dc4: 0007883a mov r3,zero 41dc8: 5811883a mov r8,r11 41dcc: 00bfffc4 movi r2,-1 41dd0: 0401ffc4 movi r16,2047 41dd4: 003e7806 br 417b8 <__alt_data_end+0xfffcf7b8> 41dd8: 4462b03a or r17,r8,r17 41ddc: 8822c03a cmpne r17,r17,zero 41de0: 0009883a mov r4,zero 41de4: 003fa006 br 41c68 <__alt_data_end+0xfffcfc68> 41de8: 4811883a mov r8,r9 41dec: 3023883a mov r17,r6 41df0: 0401ffc4 movi r16,2047 41df4: 003e0706 br 41614 <__alt_data_end+0xfffcf614> 41df8: 4811883a mov r8,r9 41dfc: 3023883a mov r17,r6 41e00: 003e0406 br 41614 <__alt_data_end+0xfffcf614> 41e04: 21fff804 addi r7,r4,-32 41e08: 01400804 movi r5,32 41e0c: 41ced83a srl r7,r8,r7 41e10: 21400a26 beq r4,r5,41e3c <__adddf3+0x8a4> 41e14: 01401004 movi r5,64 41e18: 2909c83a sub r4,r5,r4 41e1c: 4108983a sll r4,r8,r4 41e20: 2448b03a or r4,r4,r17 41e24: 2008c03a cmpne r4,r4,zero 41e28: 3922b03a or r17,r7,r4 41e2c: 0009883a mov r4,zero 41e30: 003f8d06 br 41c68 <__alt_data_end+0xfffcfc68> 41e34: 0007883a mov r3,zero 41e38: 003fdd06 br 41db0 <__alt_data_end+0xfffcfdb0> 41e3c: 0009883a mov r4,zero 41e40: 003ff706 br 41e20 <__alt_data_end+0xfffcfe20> 00041e44 <__gedf2>: 41e44: 2804d53a srli r2,r5,20 41e48: 3806d53a srli r3,r7,20 41e4c: 02000434 movhi r8,16 41e50: 423fffc4 addi r8,r8,-1 41e54: 1081ffcc andi r2,r2,2047 41e58: 0241ffc4 movi r9,2047 41e5c: 2a14703a and r10,r5,r8 41e60: 18c1ffcc andi r3,r3,2047 41e64: 3a10703a and r8,r7,r8 41e68: 280ad7fa srli r5,r5,31 41e6c: 380ed7fa srli r7,r7,31 41e70: 12401d26 beq r2,r9,41ee8 <__gedf2+0xa4> 41e74: 0241ffc4 movi r9,2047 41e78: 1a401226 beq r3,r9,41ec4 <__gedf2+0x80> 41e7c: 1000081e bne r2,zero,41ea0 <__gedf2+0x5c> 41e80: 2296b03a or r11,r4,r10 41e84: 5813003a cmpeq r9,r11,zero 41e88: 1800091e bne r3,zero,41eb0 <__gedf2+0x6c> 41e8c: 3218b03a or r12,r6,r8 41e90: 6000071e bne r12,zero,41eb0 <__gedf2+0x6c> 41e94: 0005883a mov r2,zero 41e98: 5800101e bne r11,zero,41edc <__gedf2+0x98> 41e9c: f800283a ret 41ea0: 18000c1e bne r3,zero,41ed4 <__gedf2+0x90> 41ea4: 3212b03a or r9,r6,r8 41ea8: 48000c26 beq r9,zero,41edc <__gedf2+0x98> 41eac: 0013883a mov r9,zero 41eb0: 39c03fcc andi r7,r7,255 41eb4: 48000826 beq r9,zero,41ed8 <__gedf2+0x94> 41eb8: 38000926 beq r7,zero,41ee0 <__gedf2+0x9c> 41ebc: 00800044 movi r2,1 41ec0: f800283a ret 41ec4: 3212b03a or r9,r6,r8 41ec8: 483fec26 beq r9,zero,41e7c <__alt_data_end+0xfffcfe7c> 41ecc: 00bfff84 movi r2,-2 41ed0: f800283a ret 41ed4: 39c03fcc andi r7,r7,255 41ed8: 29c00626 beq r5,r7,41ef4 <__gedf2+0xb0> 41edc: 283ff726 beq r5,zero,41ebc <__alt_data_end+0xfffcfebc> 41ee0: 00bfffc4 movi r2,-1 41ee4: f800283a ret 41ee8: 2292b03a or r9,r4,r10 41eec: 483fe126 beq r9,zero,41e74 <__alt_data_end+0xfffcfe74> 41ef0: 003ff606 br 41ecc <__alt_data_end+0xfffcfecc> 41ef4: 18bff916 blt r3,r2,41edc <__alt_data_end+0xfffcfedc> 41ef8: 10c00316 blt r2,r3,41f08 <__gedf2+0xc4> 41efc: 42bff736 bltu r8,r10,41edc <__alt_data_end+0xfffcfedc> 41f00: 52000326 beq r10,r8,41f10 <__gedf2+0xcc> 41f04: 5200042e bgeu r10,r8,41f18 <__gedf2+0xd4> 41f08: 283fec1e bne r5,zero,41ebc <__alt_data_end+0xfffcfebc> 41f0c: 003ff406 br 41ee0 <__alt_data_end+0xfffcfee0> 41f10: 313ff236 bltu r6,r4,41edc <__alt_data_end+0xfffcfedc> 41f14: 21bffc36 bltu r4,r6,41f08 <__alt_data_end+0xfffcff08> 41f18: 0005883a mov r2,zero 41f1c: f800283a ret 00041f20 <__ledf2>: 41f20: 2804d53a srli r2,r5,20 41f24: 3810d53a srli r8,r7,20 41f28: 00c00434 movhi r3,16 41f2c: 18ffffc4 addi r3,r3,-1 41f30: 1081ffcc andi r2,r2,2047 41f34: 0241ffc4 movi r9,2047 41f38: 28d4703a and r10,r5,r3 41f3c: 4201ffcc andi r8,r8,2047 41f40: 38c6703a and r3,r7,r3 41f44: 280ad7fa srli r5,r5,31 41f48: 380ed7fa srli r7,r7,31 41f4c: 12401f26 beq r2,r9,41fcc <__ledf2+0xac> 41f50: 0241ffc4 movi r9,2047 41f54: 42401426 beq r8,r9,41fa8 <__ledf2+0x88> 41f58: 1000091e bne r2,zero,41f80 <__ledf2+0x60> 41f5c: 2296b03a or r11,r4,r10 41f60: 5813003a cmpeq r9,r11,zero 41f64: 29403fcc andi r5,r5,255 41f68: 40000a1e bne r8,zero,41f94 <__ledf2+0x74> 41f6c: 30d8b03a or r12,r6,r3 41f70: 6000081e bne r12,zero,41f94 <__ledf2+0x74> 41f74: 0005883a mov r2,zero 41f78: 5800111e bne r11,zero,41fc0 <__ledf2+0xa0> 41f7c: f800283a ret 41f80: 29403fcc andi r5,r5,255 41f84: 40000c1e bne r8,zero,41fb8 <__ledf2+0x98> 41f88: 30d2b03a or r9,r6,r3 41f8c: 48000c26 beq r9,zero,41fc0 <__ledf2+0xa0> 41f90: 0013883a mov r9,zero 41f94: 39c03fcc andi r7,r7,255 41f98: 48000826 beq r9,zero,41fbc <__ledf2+0x9c> 41f9c: 38001126 beq r7,zero,41fe4 <__ledf2+0xc4> 41fa0: 00800044 movi r2,1 41fa4: f800283a ret 41fa8: 30d2b03a or r9,r6,r3 41fac: 483fea26 beq r9,zero,41f58 <__alt_data_end+0xfffcff58> 41fb0: 00800084 movi r2,2 41fb4: f800283a ret 41fb8: 39c03fcc andi r7,r7,255 41fbc: 39400726 beq r7,r5,41fdc <__ledf2+0xbc> 41fc0: 2800081e bne r5,zero,41fe4 <__ledf2+0xc4> 41fc4: 00800044 movi r2,1 41fc8: f800283a ret 41fcc: 2292b03a or r9,r4,r10 41fd0: 483fdf26 beq r9,zero,41f50 <__alt_data_end+0xfffcff50> 41fd4: 00800084 movi r2,2 41fd8: f800283a ret 41fdc: 4080030e bge r8,r2,41fec <__ledf2+0xcc> 41fe0: 383fef26 beq r7,zero,41fa0 <__alt_data_end+0xfffcffa0> 41fe4: 00bfffc4 movi r2,-1 41fe8: f800283a ret 41fec: 123feb16 blt r2,r8,41f9c <__alt_data_end+0xfffcff9c> 41ff0: 1abff336 bltu r3,r10,41fc0 <__alt_data_end+0xfffcffc0> 41ff4: 50c00326 beq r10,r3,42004 <__ledf2+0xe4> 41ff8: 50c0042e bgeu r10,r3,4200c <__ledf2+0xec> 41ffc: 283fe81e bne r5,zero,41fa0 <__alt_data_end+0xfffcffa0> 42000: 003ff806 br 41fe4 <__alt_data_end+0xfffcffe4> 42004: 313fee36 bltu r6,r4,41fc0 <__alt_data_end+0xfffcffc0> 42008: 21bffc36 bltu r4,r6,41ffc <__alt_data_end+0xfffcfffc> 4200c: 0005883a mov r2,zero 42010: f800283a ret 00042014 <__subdf3>: 42014: 02000434 movhi r8,16 42018: 423fffc4 addi r8,r8,-1 4201c: defffb04 addi sp,sp,-20 42020: 2a14703a and r10,r5,r8 42024: 3812d53a srli r9,r7,20 42028: 3a10703a and r8,r7,r8 4202c: 2006d77a srli r3,r4,29 42030: 3004d77a srli r2,r6,29 42034: dc000015 stw r16,0(sp) 42038: 501490fa slli r10,r10,3 4203c: 2820d53a srli r16,r5,20 42040: 401090fa slli r8,r8,3 42044: dc800215 stw r18,8(sp) 42048: dc400115 stw r17,4(sp) 4204c: dfc00415 stw ra,16(sp) 42050: 202290fa slli r17,r4,3 42054: dcc00315 stw r19,12(sp) 42058: 4a41ffcc andi r9,r9,2047 4205c: 0101ffc4 movi r4,2047 42060: 2824d7fa srli r18,r5,31 42064: 8401ffcc andi r16,r16,2047 42068: 50c6b03a or r3,r10,r3 4206c: 380ed7fa srli r7,r7,31 42070: 408ab03a or r5,r8,r2 42074: 300c90fa slli r6,r6,3 42078: 49009626 beq r9,r4,422d4 <__subdf3+0x2c0> 4207c: 39c0005c xori r7,r7,1 42080: 8245c83a sub r2,r16,r9 42084: 3c807426 beq r7,r18,42258 <__subdf3+0x244> 42088: 0080af0e bge zero,r2,42348 <__subdf3+0x334> 4208c: 48002a1e bne r9,zero,42138 <__subdf3+0x124> 42090: 2988b03a or r4,r5,r6 42094: 20009a1e bne r4,zero,42300 <__subdf3+0x2ec> 42098: 888001cc andi r2,r17,7 4209c: 10000726 beq r2,zero,420bc <__subdf3+0xa8> 420a0: 888003cc andi r2,r17,15 420a4: 01000104 movi r4,4 420a8: 11000426 beq r2,r4,420bc <__subdf3+0xa8> 420ac: 890b883a add r5,r17,r4 420b0: 2c63803a cmpltu r17,r5,r17 420b4: 1c47883a add r3,r3,r17 420b8: 2823883a mov r17,r5 420bc: 1880202c andhi r2,r3,128 420c0: 10005926 beq r2,zero,42228 <__subdf3+0x214> 420c4: 84000044 addi r16,r16,1 420c8: 0081ffc4 movi r2,2047 420cc: 8080be26 beq r16,r2,423c8 <__subdf3+0x3b4> 420d0: 017fe034 movhi r5,65408 420d4: 297fffc4 addi r5,r5,-1 420d8: 1946703a and r3,r3,r5 420dc: 1804977a slli r2,r3,29 420e0: 1806927a slli r3,r3,9 420e4: 8822d0fa srli r17,r17,3 420e8: 8401ffcc andi r16,r16,2047 420ec: 180ad33a srli r5,r3,12 420f0: 9100004c andi r4,r18,1 420f4: 1444b03a or r2,r2,r17 420f8: 80c1ffcc andi r3,r16,2047 420fc: 1820953a slli r16,r3,20 42100: 20c03fcc andi r3,r4,255 42104: 180897fa slli r4,r3,31 42108: 00c00434 movhi r3,16 4210c: 18ffffc4 addi r3,r3,-1 42110: 28c6703a and r3,r5,r3 42114: 1c06b03a or r3,r3,r16 42118: 1906b03a or r3,r3,r4 4211c: dfc00417 ldw ra,16(sp) 42120: dcc00317 ldw r19,12(sp) 42124: dc800217 ldw r18,8(sp) 42128: dc400117 ldw r17,4(sp) 4212c: dc000017 ldw r16,0(sp) 42130: dec00504 addi sp,sp,20 42134: f800283a ret 42138: 0101ffc4 movi r4,2047 4213c: 813fd626 beq r16,r4,42098 <__alt_data_end+0xfffd0098> 42140: 29402034 orhi r5,r5,128 42144: 01000e04 movi r4,56 42148: 2080a316 blt r4,r2,423d8 <__subdf3+0x3c4> 4214c: 010007c4 movi r4,31 42150: 2080c616 blt r4,r2,4246c <__subdf3+0x458> 42154: 01000804 movi r4,32 42158: 2089c83a sub r4,r4,r2 4215c: 2910983a sll r8,r5,r4 42160: 308ed83a srl r7,r6,r2 42164: 3108983a sll r4,r6,r4 42168: 2884d83a srl r2,r5,r2 4216c: 41ccb03a or r6,r8,r7 42170: 2008c03a cmpne r4,r4,zero 42174: 310cb03a or r6,r6,r4 42178: 898dc83a sub r6,r17,r6 4217c: 89a3803a cmpltu r17,r17,r6 42180: 1887c83a sub r3,r3,r2 42184: 1c47c83a sub r3,r3,r17 42188: 3023883a mov r17,r6 4218c: 1880202c andhi r2,r3,128 42190: 10002326 beq r2,zero,42220 <__subdf3+0x20c> 42194: 04c02034 movhi r19,128 42198: 9cffffc4 addi r19,r19,-1 4219c: 1ce6703a and r19,r3,r19 421a0: 98007a26 beq r19,zero,4238c <__subdf3+0x378> 421a4: 9809883a mov r4,r19 421a8: 0042b7c0 call 42b7c <__clzsi2> 421ac: 113ffe04 addi r4,r2,-8 421b0: 00c007c4 movi r3,31 421b4: 19007b16 blt r3,r4,423a4 <__subdf3+0x390> 421b8: 00800804 movi r2,32 421bc: 1105c83a sub r2,r2,r4 421c0: 8884d83a srl r2,r17,r2 421c4: 9906983a sll r3,r19,r4 421c8: 8922983a sll r17,r17,r4 421cc: 10c4b03a or r2,r2,r3 421d0: 24007816 blt r4,r16,423b4 <__subdf3+0x3a0> 421d4: 2421c83a sub r16,r4,r16 421d8: 80c00044 addi r3,r16,1 421dc: 010007c4 movi r4,31 421e0: 20c09516 blt r4,r3,42438 <__subdf3+0x424> 421e4: 01400804 movi r5,32 421e8: 28cbc83a sub r5,r5,r3 421ec: 88c8d83a srl r4,r17,r3 421f0: 8962983a sll r17,r17,r5 421f4: 114a983a sll r5,r2,r5 421f8: 10c6d83a srl r3,r2,r3 421fc: 8804c03a cmpne r2,r17,zero 42200: 290ab03a or r5,r5,r4 42204: 28a2b03a or r17,r5,r2 42208: 0021883a mov r16,zero 4220c: 003fa206 br 42098 <__alt_data_end+0xfffd0098> 42210: 2090b03a or r8,r4,r2 42214: 40018e26 beq r8,zero,42850 <__subdf3+0x83c> 42218: 1007883a mov r3,r2 4221c: 2023883a mov r17,r4 42220: 888001cc andi r2,r17,7 42224: 103f9e1e bne r2,zero,420a0 <__alt_data_end+0xfffd00a0> 42228: 1804977a slli r2,r3,29 4222c: 8822d0fa srli r17,r17,3 42230: 1810d0fa srli r8,r3,3 42234: 9100004c andi r4,r18,1 42238: 1444b03a or r2,r2,r17 4223c: 00c1ffc4 movi r3,2047 42240: 80c02826 beq r16,r3,422e4 <__subdf3+0x2d0> 42244: 01400434 movhi r5,16 42248: 297fffc4 addi r5,r5,-1 4224c: 80e0703a and r16,r16,r3 42250: 414a703a and r5,r8,r5 42254: 003fa806 br 420f8 <__alt_data_end+0xfffd00f8> 42258: 0080630e bge zero,r2,423e8 <__subdf3+0x3d4> 4225c: 48003026 beq r9,zero,42320 <__subdf3+0x30c> 42260: 0101ffc4 movi r4,2047 42264: 813f8c26 beq r16,r4,42098 <__alt_data_end+0xfffd0098> 42268: 29402034 orhi r5,r5,128 4226c: 01000e04 movi r4,56 42270: 2080a90e bge r4,r2,42518 <__subdf3+0x504> 42274: 298cb03a or r6,r5,r6 42278: 3012c03a cmpne r9,r6,zero 4227c: 0005883a mov r2,zero 42280: 4c53883a add r9,r9,r17 42284: 4c63803a cmpltu r17,r9,r17 42288: 10c7883a add r3,r2,r3 4228c: 88c7883a add r3,r17,r3 42290: 4823883a mov r17,r9 42294: 1880202c andhi r2,r3,128 42298: 1000d026 beq r2,zero,425dc <__subdf3+0x5c8> 4229c: 84000044 addi r16,r16,1 422a0: 0081ffc4 movi r2,2047 422a4: 8080fe26 beq r16,r2,426a0 <__subdf3+0x68c> 422a8: 00bfe034 movhi r2,65408 422ac: 10bfffc4 addi r2,r2,-1 422b0: 1886703a and r3,r3,r2 422b4: 880ad07a srli r5,r17,1 422b8: 180497fa slli r2,r3,31 422bc: 8900004c andi r4,r17,1 422c0: 2922b03a or r17,r5,r4 422c4: 1806d07a srli r3,r3,1 422c8: 1462b03a or r17,r2,r17 422cc: 3825883a mov r18,r7 422d0: 003f7106 br 42098 <__alt_data_end+0xfffd0098> 422d4: 2984b03a or r2,r5,r6 422d8: 103f6826 beq r2,zero,4207c <__alt_data_end+0xfffd007c> 422dc: 39c03fcc andi r7,r7,255 422e0: 003f6706 br 42080 <__alt_data_end+0xfffd0080> 422e4: 4086b03a or r3,r8,r2 422e8: 18015226 beq r3,zero,42834 <__subdf3+0x820> 422ec: 00c00434 movhi r3,16 422f0: 41400234 orhi r5,r8,8 422f4: 18ffffc4 addi r3,r3,-1 422f8: 28ca703a and r5,r5,r3 422fc: 003f7e06 br 420f8 <__alt_data_end+0xfffd00f8> 42300: 10bfffc4 addi r2,r2,-1 42304: 1000491e bne r2,zero,4242c <__subdf3+0x418> 42308: 898fc83a sub r7,r17,r6 4230c: 89e3803a cmpltu r17,r17,r7 42310: 1947c83a sub r3,r3,r5 42314: 1c47c83a sub r3,r3,r17 42318: 3823883a mov r17,r7 4231c: 003f9b06 br 4218c <__alt_data_end+0xfffd018c> 42320: 2988b03a or r4,r5,r6 42324: 203f5c26 beq r4,zero,42098 <__alt_data_end+0xfffd0098> 42328: 10bfffc4 addi r2,r2,-1 4232c: 1000931e bne r2,zero,4257c <__subdf3+0x568> 42330: 898d883a add r6,r17,r6 42334: 3463803a cmpltu r17,r6,r17 42338: 1947883a add r3,r3,r5 4233c: 88c7883a add r3,r17,r3 42340: 3023883a mov r17,r6 42344: 003fd306 br 42294 <__alt_data_end+0xfffd0294> 42348: 1000541e bne r2,zero,4249c <__subdf3+0x488> 4234c: 80800044 addi r2,r16,1 42350: 1081ffcc andi r2,r2,2047 42354: 01000044 movi r4,1 42358: 2080a20e bge r4,r2,425e4 <__subdf3+0x5d0> 4235c: 8989c83a sub r4,r17,r6 42360: 8905803a cmpltu r2,r17,r4 42364: 1967c83a sub r19,r3,r5 42368: 98a7c83a sub r19,r19,r2 4236c: 9880202c andhi r2,r19,128 42370: 10006326 beq r2,zero,42500 <__subdf3+0x4ec> 42374: 3463c83a sub r17,r6,r17 42378: 28c7c83a sub r3,r5,r3 4237c: 344d803a cmpltu r6,r6,r17 42380: 19a7c83a sub r19,r3,r6 42384: 3825883a mov r18,r7 42388: 983f861e bne r19,zero,421a4 <__alt_data_end+0xfffd01a4> 4238c: 8809883a mov r4,r17 42390: 0042b7c0 call 42b7c <__clzsi2> 42394: 10800804 addi r2,r2,32 42398: 113ffe04 addi r4,r2,-8 4239c: 00c007c4 movi r3,31 423a0: 193f850e bge r3,r4,421b8 <__alt_data_end+0xfffd01b8> 423a4: 10bff604 addi r2,r2,-40 423a8: 8884983a sll r2,r17,r2 423ac: 0023883a mov r17,zero 423b0: 243f880e bge r4,r16,421d4 <__alt_data_end+0xfffd01d4> 423b4: 00ffe034 movhi r3,65408 423b8: 18ffffc4 addi r3,r3,-1 423bc: 8121c83a sub r16,r16,r4 423c0: 10c6703a and r3,r2,r3 423c4: 003f3406 br 42098 <__alt_data_end+0xfffd0098> 423c8: 9100004c andi r4,r18,1 423cc: 000b883a mov r5,zero 423d0: 0005883a mov r2,zero 423d4: 003f4806 br 420f8 <__alt_data_end+0xfffd00f8> 423d8: 298cb03a or r6,r5,r6 423dc: 300cc03a cmpne r6,r6,zero 423e0: 0005883a mov r2,zero 423e4: 003f6406 br 42178 <__alt_data_end+0xfffd0178> 423e8: 10009a1e bne r2,zero,42654 <__subdf3+0x640> 423ec: 82400044 addi r9,r16,1 423f0: 4881ffcc andi r2,r9,2047 423f4: 02800044 movi r10,1 423f8: 5080670e bge r10,r2,42598 <__subdf3+0x584> 423fc: 0081ffc4 movi r2,2047 42400: 4880af26 beq r9,r2,426c0 <__subdf3+0x6ac> 42404: 898d883a add r6,r17,r6 42408: 1945883a add r2,r3,r5 4240c: 3447803a cmpltu r3,r6,r17 42410: 1887883a add r3,r3,r2 42414: 182297fa slli r17,r3,31 42418: 300cd07a srli r6,r6,1 4241c: 1806d07a srli r3,r3,1 42420: 4821883a mov r16,r9 42424: 89a2b03a or r17,r17,r6 42428: 003f1b06 br 42098 <__alt_data_end+0xfffd0098> 4242c: 0101ffc4 movi r4,2047 42430: 813f441e bne r16,r4,42144 <__alt_data_end+0xfffd0144> 42434: 003f1806 br 42098 <__alt_data_end+0xfffd0098> 42438: 843ff844 addi r16,r16,-31 4243c: 01400804 movi r5,32 42440: 1408d83a srl r4,r2,r16 42444: 19405026 beq r3,r5,42588 <__subdf3+0x574> 42448: 01401004 movi r5,64 4244c: 28c7c83a sub r3,r5,r3 42450: 10c4983a sll r2,r2,r3 42454: 88a2b03a or r17,r17,r2 42458: 8822c03a cmpne r17,r17,zero 4245c: 2462b03a or r17,r4,r17 42460: 0007883a mov r3,zero 42464: 0021883a mov r16,zero 42468: 003f6d06 br 42220 <__alt_data_end+0xfffd0220> 4246c: 11fff804 addi r7,r2,-32 42470: 01000804 movi r4,32 42474: 29ced83a srl r7,r5,r7 42478: 11004526 beq r2,r4,42590 <__subdf3+0x57c> 4247c: 01001004 movi r4,64 42480: 2089c83a sub r4,r4,r2 42484: 2904983a sll r2,r5,r4 42488: 118cb03a or r6,r2,r6 4248c: 300cc03a cmpne r6,r6,zero 42490: 398cb03a or r6,r7,r6 42494: 0005883a mov r2,zero 42498: 003f3706 br 42178 <__alt_data_end+0xfffd0178> 4249c: 80002a26 beq r16,zero,42548 <__subdf3+0x534> 424a0: 0101ffc4 movi r4,2047 424a4: 49006626 beq r9,r4,42640 <__subdf3+0x62c> 424a8: 0085c83a sub r2,zero,r2 424ac: 18c02034 orhi r3,r3,128 424b0: 01000e04 movi r4,56 424b4: 20807e16 blt r4,r2,426b0 <__subdf3+0x69c> 424b8: 010007c4 movi r4,31 424bc: 2080e716 blt r4,r2,4285c <__subdf3+0x848> 424c0: 01000804 movi r4,32 424c4: 2089c83a sub r4,r4,r2 424c8: 1914983a sll r10,r3,r4 424cc: 8890d83a srl r8,r17,r2 424d0: 8908983a sll r4,r17,r4 424d4: 1884d83a srl r2,r3,r2 424d8: 5222b03a or r17,r10,r8 424dc: 2006c03a cmpne r3,r4,zero 424e0: 88e2b03a or r17,r17,r3 424e4: 3463c83a sub r17,r6,r17 424e8: 2885c83a sub r2,r5,r2 424ec: 344d803a cmpltu r6,r6,r17 424f0: 1187c83a sub r3,r2,r6 424f4: 4821883a mov r16,r9 424f8: 3825883a mov r18,r7 424fc: 003f2306 br 4218c <__alt_data_end+0xfffd018c> 42500: 24d0b03a or r8,r4,r19 42504: 40001b1e bne r8,zero,42574 <__subdf3+0x560> 42508: 0005883a mov r2,zero 4250c: 0009883a mov r4,zero 42510: 0021883a mov r16,zero 42514: 003f4906 br 4223c <__alt_data_end+0xfffd023c> 42518: 010007c4 movi r4,31 4251c: 20803a16 blt r4,r2,42608 <__subdf3+0x5f4> 42520: 01000804 movi r4,32 42524: 2089c83a sub r4,r4,r2 42528: 2912983a sll r9,r5,r4 4252c: 3090d83a srl r8,r6,r2 42530: 3108983a sll r4,r6,r4 42534: 2884d83a srl r2,r5,r2 42538: 4a12b03a or r9,r9,r8 4253c: 2008c03a cmpne r4,r4,zero 42540: 4912b03a or r9,r9,r4 42544: 003f4e06 br 42280 <__alt_data_end+0xfffd0280> 42548: 1c48b03a or r4,r3,r17 4254c: 20003c26 beq r4,zero,42640 <__subdf3+0x62c> 42550: 0084303a nor r2,zero,r2 42554: 1000381e bne r2,zero,42638 <__subdf3+0x624> 42558: 3463c83a sub r17,r6,r17 4255c: 28c5c83a sub r2,r5,r3 42560: 344d803a cmpltu r6,r6,r17 42564: 1187c83a sub r3,r2,r6 42568: 4821883a mov r16,r9 4256c: 3825883a mov r18,r7 42570: 003f0606 br 4218c <__alt_data_end+0xfffd018c> 42574: 2023883a mov r17,r4 42578: 003f0906 br 421a0 <__alt_data_end+0xfffd01a0> 4257c: 0101ffc4 movi r4,2047 42580: 813f3a1e bne r16,r4,4226c <__alt_data_end+0xfffd026c> 42584: 003ec406 br 42098 <__alt_data_end+0xfffd0098> 42588: 0005883a mov r2,zero 4258c: 003fb106 br 42454 <__alt_data_end+0xfffd0454> 42590: 0005883a mov r2,zero 42594: 003fbc06 br 42488 <__alt_data_end+0xfffd0488> 42598: 1c44b03a or r2,r3,r17 4259c: 80008e1e bne r16,zero,427d8 <__subdf3+0x7c4> 425a0: 1000c826 beq r2,zero,428c4 <__subdf3+0x8b0> 425a4: 2984b03a or r2,r5,r6 425a8: 103ebb26 beq r2,zero,42098 <__alt_data_end+0xfffd0098> 425ac: 8989883a add r4,r17,r6 425b0: 1945883a add r2,r3,r5 425b4: 2447803a cmpltu r3,r4,r17 425b8: 1887883a add r3,r3,r2 425bc: 1880202c andhi r2,r3,128 425c0: 2023883a mov r17,r4 425c4: 103f1626 beq r2,zero,42220 <__alt_data_end+0xfffd0220> 425c8: 00bfe034 movhi r2,65408 425cc: 10bfffc4 addi r2,r2,-1 425d0: 5021883a mov r16,r10 425d4: 1886703a and r3,r3,r2 425d8: 003eaf06 br 42098 <__alt_data_end+0xfffd0098> 425dc: 3825883a mov r18,r7 425e0: 003f0f06 br 42220 <__alt_data_end+0xfffd0220> 425e4: 1c44b03a or r2,r3,r17 425e8: 8000251e bne r16,zero,42680 <__subdf3+0x66c> 425ec: 1000661e bne r2,zero,42788 <__subdf3+0x774> 425f0: 2990b03a or r8,r5,r6 425f4: 40009626 beq r8,zero,42850 <__subdf3+0x83c> 425f8: 2807883a mov r3,r5 425fc: 3023883a mov r17,r6 42600: 3825883a mov r18,r7 42604: 003ea406 br 42098 <__alt_data_end+0xfffd0098> 42608: 127ff804 addi r9,r2,-32 4260c: 01000804 movi r4,32 42610: 2a52d83a srl r9,r5,r9 42614: 11008c26 beq r2,r4,42848 <__subdf3+0x834> 42618: 01001004 movi r4,64 4261c: 2085c83a sub r2,r4,r2 42620: 2884983a sll r2,r5,r2 42624: 118cb03a or r6,r2,r6 42628: 300cc03a cmpne r6,r6,zero 4262c: 4992b03a or r9,r9,r6 42630: 0005883a mov r2,zero 42634: 003f1206 br 42280 <__alt_data_end+0xfffd0280> 42638: 0101ffc4 movi r4,2047 4263c: 493f9c1e bne r9,r4,424b0 <__alt_data_end+0xfffd04b0> 42640: 2807883a mov r3,r5 42644: 3023883a mov r17,r6 42648: 4821883a mov r16,r9 4264c: 3825883a mov r18,r7 42650: 003e9106 br 42098 <__alt_data_end+0xfffd0098> 42654: 80001f1e bne r16,zero,426d4 <__subdf3+0x6c0> 42658: 1c48b03a or r4,r3,r17 4265c: 20005a26 beq r4,zero,427c8 <__subdf3+0x7b4> 42660: 0084303a nor r2,zero,r2 42664: 1000561e bne r2,zero,427c0 <__subdf3+0x7ac> 42668: 89a3883a add r17,r17,r6 4266c: 1945883a add r2,r3,r5 42670: 898d803a cmpltu r6,r17,r6 42674: 3087883a add r3,r6,r2 42678: 4821883a mov r16,r9 4267c: 003f0506 br 42294 <__alt_data_end+0xfffd0294> 42680: 10002b1e bne r2,zero,42730 <__subdf3+0x71c> 42684: 2984b03a or r2,r5,r6 42688: 10008026 beq r2,zero,4288c <__subdf3+0x878> 4268c: 2807883a mov r3,r5 42690: 3023883a mov r17,r6 42694: 3825883a mov r18,r7 42698: 0401ffc4 movi r16,2047 4269c: 003e7e06 br 42098 <__alt_data_end+0xfffd0098> 426a0: 3809883a mov r4,r7 426a4: 0011883a mov r8,zero 426a8: 0005883a mov r2,zero 426ac: 003ee306 br 4223c <__alt_data_end+0xfffd023c> 426b0: 1c62b03a or r17,r3,r17 426b4: 8822c03a cmpne r17,r17,zero 426b8: 0005883a mov r2,zero 426bc: 003f8906 br 424e4 <__alt_data_end+0xfffd04e4> 426c0: 3809883a mov r4,r7 426c4: 4821883a mov r16,r9 426c8: 0011883a mov r8,zero 426cc: 0005883a mov r2,zero 426d0: 003eda06 br 4223c <__alt_data_end+0xfffd023c> 426d4: 0101ffc4 movi r4,2047 426d8: 49003b26 beq r9,r4,427c8 <__subdf3+0x7b4> 426dc: 0085c83a sub r2,zero,r2 426e0: 18c02034 orhi r3,r3,128 426e4: 01000e04 movi r4,56 426e8: 20806e16 blt r4,r2,428a4 <__subdf3+0x890> 426ec: 010007c4 movi r4,31 426f0: 20807716 blt r4,r2,428d0 <__subdf3+0x8bc> 426f4: 01000804 movi r4,32 426f8: 2089c83a sub r4,r4,r2 426fc: 1914983a sll r10,r3,r4 42700: 8890d83a srl r8,r17,r2 42704: 8908983a sll r4,r17,r4 42708: 1884d83a srl r2,r3,r2 4270c: 5222b03a or r17,r10,r8 42710: 2006c03a cmpne r3,r4,zero 42714: 88e2b03a or r17,r17,r3 42718: 89a3883a add r17,r17,r6 4271c: 1145883a add r2,r2,r5 42720: 898d803a cmpltu r6,r17,r6 42724: 3087883a add r3,r6,r2 42728: 4821883a mov r16,r9 4272c: 003ed906 br 42294 <__alt_data_end+0xfffd0294> 42730: 2984b03a or r2,r5,r6 42734: 10004226 beq r2,zero,42840 <__subdf3+0x82c> 42738: 1808d0fa srli r4,r3,3 4273c: 8822d0fa srli r17,r17,3 42740: 1806977a slli r3,r3,29 42744: 2080022c andhi r2,r4,8 42748: 1c62b03a or r17,r3,r17 4274c: 10000826 beq r2,zero,42770 <__subdf3+0x75c> 42750: 2812d0fa srli r9,r5,3 42754: 4880022c andhi r2,r9,8 42758: 1000051e bne r2,zero,42770 <__subdf3+0x75c> 4275c: 300cd0fa srli r6,r6,3 42760: 2804977a slli r2,r5,29 42764: 4809883a mov r4,r9 42768: 3825883a mov r18,r7 4276c: 11a2b03a or r17,r2,r6 42770: 8806d77a srli r3,r17,29 42774: 200890fa slli r4,r4,3 42778: 882290fa slli r17,r17,3 4277c: 0401ffc4 movi r16,2047 42780: 1906b03a or r3,r3,r4 42784: 003e4406 br 42098 <__alt_data_end+0xfffd0098> 42788: 2984b03a or r2,r5,r6 4278c: 103e4226 beq r2,zero,42098 <__alt_data_end+0xfffd0098> 42790: 8989c83a sub r4,r17,r6 42794: 8911803a cmpltu r8,r17,r4 42798: 1945c83a sub r2,r3,r5 4279c: 1205c83a sub r2,r2,r8 427a0: 1200202c andhi r8,r2,128 427a4: 403e9a26 beq r8,zero,42210 <__alt_data_end+0xfffd0210> 427a8: 3463c83a sub r17,r6,r17 427ac: 28c5c83a sub r2,r5,r3 427b0: 344d803a cmpltu r6,r6,r17 427b4: 1187c83a sub r3,r2,r6 427b8: 3825883a mov r18,r7 427bc: 003e3606 br 42098 <__alt_data_end+0xfffd0098> 427c0: 0101ffc4 movi r4,2047 427c4: 493fc71e bne r9,r4,426e4 <__alt_data_end+0xfffd06e4> 427c8: 2807883a mov r3,r5 427cc: 3023883a mov r17,r6 427d0: 4821883a mov r16,r9 427d4: 003e3006 br 42098 <__alt_data_end+0xfffd0098> 427d8: 10003626 beq r2,zero,428b4 <__subdf3+0x8a0> 427dc: 2984b03a or r2,r5,r6 427e0: 10001726 beq r2,zero,42840 <__subdf3+0x82c> 427e4: 1808d0fa srli r4,r3,3 427e8: 8822d0fa srli r17,r17,3 427ec: 1806977a slli r3,r3,29 427f0: 2080022c andhi r2,r4,8 427f4: 1c62b03a or r17,r3,r17 427f8: 10000726 beq r2,zero,42818 <__subdf3+0x804> 427fc: 2812d0fa srli r9,r5,3 42800: 4880022c andhi r2,r9,8 42804: 1000041e bne r2,zero,42818 <__subdf3+0x804> 42808: 300cd0fa srli r6,r6,3 4280c: 2804977a slli r2,r5,29 42810: 4809883a mov r4,r9 42814: 11a2b03a or r17,r2,r6 42818: 8806d77a srli r3,r17,29 4281c: 200890fa slli r4,r4,3 42820: 882290fa slli r17,r17,3 42824: 3825883a mov r18,r7 42828: 1906b03a or r3,r3,r4 4282c: 0401ffc4 movi r16,2047 42830: 003e1906 br 42098 <__alt_data_end+0xfffd0098> 42834: 000b883a mov r5,zero 42838: 0005883a mov r2,zero 4283c: 003e2e06 br 420f8 <__alt_data_end+0xfffd00f8> 42840: 0401ffc4 movi r16,2047 42844: 003e1406 br 42098 <__alt_data_end+0xfffd0098> 42848: 0005883a mov r2,zero 4284c: 003f7506 br 42624 <__alt_data_end+0xfffd0624> 42850: 0005883a mov r2,zero 42854: 0009883a mov r4,zero 42858: 003e7806 br 4223c <__alt_data_end+0xfffd023c> 4285c: 123ff804 addi r8,r2,-32 42860: 01000804 movi r4,32 42864: 1a10d83a srl r8,r3,r8 42868: 11002526 beq r2,r4,42900 <__subdf3+0x8ec> 4286c: 01001004 movi r4,64 42870: 2085c83a sub r2,r4,r2 42874: 1884983a sll r2,r3,r2 42878: 1444b03a or r2,r2,r17 4287c: 1004c03a cmpne r2,r2,zero 42880: 40a2b03a or r17,r8,r2 42884: 0005883a mov r2,zero 42888: 003f1606 br 424e4 <__alt_data_end+0xfffd04e4> 4288c: 02000434 movhi r8,16 42890: 0009883a mov r4,zero 42894: 423fffc4 addi r8,r8,-1 42898: 00bfffc4 movi r2,-1 4289c: 0401ffc4 movi r16,2047 428a0: 003e6606 br 4223c <__alt_data_end+0xfffd023c> 428a4: 1c62b03a or r17,r3,r17 428a8: 8822c03a cmpne r17,r17,zero 428ac: 0005883a mov r2,zero 428b0: 003f9906 br 42718 <__alt_data_end+0xfffd0718> 428b4: 2807883a mov r3,r5 428b8: 3023883a mov r17,r6 428bc: 0401ffc4 movi r16,2047 428c0: 003df506 br 42098 <__alt_data_end+0xfffd0098> 428c4: 2807883a mov r3,r5 428c8: 3023883a mov r17,r6 428cc: 003df206 br 42098 <__alt_data_end+0xfffd0098> 428d0: 123ff804 addi r8,r2,-32 428d4: 01000804 movi r4,32 428d8: 1a10d83a srl r8,r3,r8 428dc: 11000a26 beq r2,r4,42908 <__subdf3+0x8f4> 428e0: 01001004 movi r4,64 428e4: 2085c83a sub r2,r4,r2 428e8: 1884983a sll r2,r3,r2 428ec: 1444b03a or r2,r2,r17 428f0: 1004c03a cmpne r2,r2,zero 428f4: 40a2b03a or r17,r8,r2 428f8: 0005883a mov r2,zero 428fc: 003f8606 br 42718 <__alt_data_end+0xfffd0718> 42900: 0005883a mov r2,zero 42904: 003fdc06 br 42878 <__alt_data_end+0xfffd0878> 42908: 0005883a mov r2,zero 4290c: 003ff706 br 428ec <__alt_data_end+0xfffd08ec> 00042910 <__fixdfsi>: 42910: 280cd53a srli r6,r5,20 42914: 00c00434 movhi r3,16 42918: 18ffffc4 addi r3,r3,-1 4291c: 3181ffcc andi r6,r6,2047 42920: 01c0ff84 movi r7,1022 42924: 28c6703a and r3,r5,r3 42928: 280ad7fa srli r5,r5,31 4292c: 3980120e bge r7,r6,42978 <__fixdfsi+0x68> 42930: 00810744 movi r2,1053 42934: 11800c16 blt r2,r6,42968 <__fixdfsi+0x58> 42938: 00810cc4 movi r2,1075 4293c: 1185c83a sub r2,r2,r6 42940: 01c007c4 movi r7,31 42944: 18c00434 orhi r3,r3,16 42948: 38800d16 blt r7,r2,42980 <__fixdfsi+0x70> 4294c: 31befb44 addi r6,r6,-1043 42950: 2084d83a srl r2,r4,r2 42954: 1986983a sll r3,r3,r6 42958: 1884b03a or r2,r3,r2 4295c: 28000726 beq r5,zero,4297c <__fixdfsi+0x6c> 42960: 0085c83a sub r2,zero,r2 42964: f800283a ret 42968: 00a00034 movhi r2,32768 4296c: 10bfffc4 addi r2,r2,-1 42970: 2885883a add r2,r5,r2 42974: f800283a ret 42978: 0005883a mov r2,zero 4297c: f800283a ret 42980: 008104c4 movi r2,1043 42984: 1185c83a sub r2,r2,r6 42988: 1884d83a srl r2,r3,r2 4298c: 003ff306 br 4295c <__alt_data_end+0xfffd095c> 00042990 <__floatsidf>: 42990: defffd04 addi sp,sp,-12 42994: dfc00215 stw ra,8(sp) 42998: dc400115 stw r17,4(sp) 4299c: dc000015 stw r16,0(sp) 429a0: 20002b26 beq r4,zero,42a50 <__floatsidf+0xc0> 429a4: 2023883a mov r17,r4 429a8: 2020d7fa srli r16,r4,31 429ac: 20002d16 blt r4,zero,42a64 <__floatsidf+0xd4> 429b0: 8809883a mov r4,r17 429b4: 0042b7c0 call 42b7c <__clzsi2> 429b8: 01410784 movi r5,1054 429bc: 288bc83a sub r5,r5,r2 429c0: 01010cc4 movi r4,1075 429c4: 2149c83a sub r4,r4,r5 429c8: 00c007c4 movi r3,31 429cc: 1900160e bge r3,r4,42a28 <__floatsidf+0x98> 429d0: 00c104c4 movi r3,1043 429d4: 1947c83a sub r3,r3,r5 429d8: 88c6983a sll r3,r17,r3 429dc: 00800434 movhi r2,16 429e0: 10bfffc4 addi r2,r2,-1 429e4: 1886703a and r3,r3,r2 429e8: 2941ffcc andi r5,r5,2047 429ec: 800d883a mov r6,r16 429f0: 0005883a mov r2,zero 429f4: 280a953a slli r5,r5,20 429f8: 31803fcc andi r6,r6,255 429fc: 01000434 movhi r4,16 42a00: 300c97fa slli r6,r6,31 42a04: 213fffc4 addi r4,r4,-1 42a08: 1906703a and r3,r3,r4 42a0c: 1946b03a or r3,r3,r5 42a10: 1986b03a or r3,r3,r6 42a14: dfc00217 ldw ra,8(sp) 42a18: dc400117 ldw r17,4(sp) 42a1c: dc000017 ldw r16,0(sp) 42a20: dec00304 addi sp,sp,12 42a24: f800283a ret 42a28: 00c002c4 movi r3,11 42a2c: 1887c83a sub r3,r3,r2 42a30: 88c6d83a srl r3,r17,r3 42a34: 8904983a sll r2,r17,r4 42a38: 01000434 movhi r4,16 42a3c: 213fffc4 addi r4,r4,-1 42a40: 2941ffcc andi r5,r5,2047 42a44: 1906703a and r3,r3,r4 42a48: 800d883a mov r6,r16 42a4c: 003fe906 br 429f4 <__alt_data_end+0xfffd09f4> 42a50: 000d883a mov r6,zero 42a54: 000b883a mov r5,zero 42a58: 0007883a mov r3,zero 42a5c: 0005883a mov r2,zero 42a60: 003fe406 br 429f4 <__alt_data_end+0xfffd09f4> 42a64: 0123c83a sub r17,zero,r4 42a68: 003fd106 br 429b0 <__alt_data_end+0xfffd09b0> 00042a6c <__extendsfdf2>: 42a6c: 200ad5fa srli r5,r4,23 42a70: defffd04 addi sp,sp,-12 42a74: dc400115 stw r17,4(sp) 42a78: 29403fcc andi r5,r5,255 42a7c: 29800044 addi r6,r5,1 42a80: 04402034 movhi r17,128 42a84: dc000015 stw r16,0(sp) 42a88: 8c7fffc4 addi r17,r17,-1 42a8c: dfc00215 stw ra,8(sp) 42a90: 31803fcc andi r6,r6,255 42a94: 00800044 movi r2,1 42a98: 8922703a and r17,r17,r4 42a9c: 2020d7fa srli r16,r4,31 42aa0: 1180110e bge r2,r6,42ae8 <__extendsfdf2+0x7c> 42aa4: 880cd0fa srli r6,r17,3 42aa8: 8822977a slli r17,r17,29 42aac: 2940e004 addi r5,r5,896 42ab0: 2941ffcc andi r5,r5,2047 42ab4: 2804953a slli r2,r5,20 42ab8: 01400434 movhi r5,16 42abc: 800697fa slli r3,r16,31 42ac0: 297fffc4 addi r5,r5,-1 42ac4: 314a703a and r5,r6,r5 42ac8: 288ab03a or r5,r5,r2 42acc: 28c6b03a or r3,r5,r3 42ad0: 8805883a mov r2,r17 42ad4: dfc00217 ldw ra,8(sp) 42ad8: dc400117 ldw r17,4(sp) 42adc: dc000017 ldw r16,0(sp) 42ae0: dec00304 addi sp,sp,12 42ae4: f800283a ret 42ae8: 2800111e bne r5,zero,42b30 <__extendsfdf2+0xc4> 42aec: 88001c26 beq r17,zero,42b60 <__extendsfdf2+0xf4> 42af0: 8809883a mov r4,r17 42af4: 0042b7c0 call 42b7c <__clzsi2> 42af8: 00c00284 movi r3,10 42afc: 18801b16 blt r3,r2,42b6c <__extendsfdf2+0x100> 42b00: 018002c4 movi r6,11 42b04: 308dc83a sub r6,r6,r2 42b08: 11000544 addi r4,r2,21 42b0c: 8986d83a srl r3,r17,r6 42b10: 8922983a sll r17,r17,r4 42b14: 0180e244 movi r6,905 42b18: 01400434 movhi r5,16 42b1c: 3085c83a sub r2,r6,r2 42b20: 297fffc4 addi r5,r5,-1 42b24: 194c703a and r6,r3,r5 42b28: 1141ffcc andi r5,r2,2047 42b2c: 003fe006 br 42ab0 <__alt_data_end+0xfffd0ab0> 42b30: 88000826 beq r17,zero,42b54 <__extendsfdf2+0xe8> 42b34: 880cd0fa srli r6,r17,3 42b38: 00800434 movhi r2,16 42b3c: 10bfffc4 addi r2,r2,-1 42b40: 31800234 orhi r6,r6,8 42b44: 8822977a slli r17,r17,29 42b48: 308c703a and r6,r6,r2 42b4c: 0141ffc4 movi r5,2047 42b50: 003fd706 br 42ab0 <__alt_data_end+0xfffd0ab0> 42b54: 0141ffc4 movi r5,2047 42b58: 000d883a mov r6,zero 42b5c: 003fd406 br 42ab0 <__alt_data_end+0xfffd0ab0> 42b60: 000b883a mov r5,zero 42b64: 000d883a mov r6,zero 42b68: 003fd106 br 42ab0 <__alt_data_end+0xfffd0ab0> 42b6c: 11bffd44 addi r6,r2,-11 42b70: 8986983a sll r3,r17,r6 42b74: 0023883a mov r17,zero 42b78: 003fe606 br 42b14 <__alt_data_end+0xfffd0b14> 00042b7c <__clzsi2>: 42b7c: 00bfffd4 movui r2,65535 42b80: 11000536 bltu r2,r4,42b98 <__clzsi2+0x1c> 42b84: 00803fc4 movi r2,255 42b88: 11000f36 bltu r2,r4,42bc8 <__clzsi2+0x4c> 42b8c: 00800804 movi r2,32 42b90: 0007883a mov r3,zero 42b94: 00000506 br 42bac <__clzsi2+0x30> 42b98: 00804034 movhi r2,256 42b9c: 10bfffc4 addi r2,r2,-1 42ba0: 11000c2e bgeu r2,r4,42bd4 <__clzsi2+0x58> 42ba4: 00800204 movi r2,8 42ba8: 00c00604 movi r3,24 42bac: 20c8d83a srl r4,r4,r3 42bb0: 00c00174 movhi r3,5 42bb4: 18c7fc84 addi r3,r3,8178 42bb8: 1909883a add r4,r3,r4 42bbc: 20c00003 ldbu r3,0(r4) 42bc0: 10c5c83a sub r2,r2,r3 42bc4: f800283a ret 42bc8: 00800604 movi r2,24 42bcc: 00c00204 movi r3,8 42bd0: 003ff606 br 42bac <__alt_data_end+0xfffd0bac> 42bd4: 00800404 movi r2,16 42bd8: 1007883a mov r3,r2 42bdc: 003ff306 br 42bac <__alt_data_end+0xfffd0bac> 00042be0 <_printf_r>: 42be0: defffd04 addi sp,sp,-12 42be4: 2805883a mov r2,r5 42be8: dfc00015 stw ra,0(sp) 42bec: d9800115 stw r6,4(sp) 42bf0: d9c00215 stw r7,8(sp) 42bf4: 21400217 ldw r5,8(r4) 42bf8: d9c00104 addi r7,sp,4 42bfc: 100d883a mov r6,r2 42c00: 0042dd80 call 42dd8 <___vfprintf_internal_r> 42c04: dfc00017 ldw ra,0(sp) 42c08: dec00304 addi sp,sp,12 42c0c: f800283a ret 00042c10 : 42c10: defffc04 addi sp,sp,-16 42c14: dfc00015 stw ra,0(sp) 42c18: d9400115 stw r5,4(sp) 42c1c: d9800215 stw r6,8(sp) 42c20: d9c00315 stw r7,12(sp) 42c24: 00800174 movhi r2,5 42c28: 10905304 addi r2,r2,16716 42c2c: 10800017 ldw r2,0(r2) 42c30: 200b883a mov r5,r4 42c34: d9800104 addi r6,sp,4 42c38: 11000217 ldw r4,8(r2) 42c3c: 00450b40 call 450b4 <__vfprintf_internal> 42c40: dfc00017 ldw ra,0(sp) 42c44: dec00404 addi sp,sp,16 42c48: f800283a ret 00042c4c <_putchar_r>: 42c4c: 21800217 ldw r6,8(r4) 42c50: 0049c781 jmpi 49c78 <_putc_r> 00042c54 : 42c54: 00800174 movhi r2,5 42c58: 10905304 addi r2,r2,16716 42c5c: 200b883a mov r5,r4 42c60: 11000017 ldw r4,0(r2) 42c64: 21800217 ldw r6,8(r4) 42c68: 0049c781 jmpi 49c78 <_putc_r> 00042c6c <_puts_r>: 42c6c: defff604 addi sp,sp,-40 42c70: dc000715 stw r16,28(sp) 42c74: 2021883a mov r16,r4 42c78: 2809883a mov r4,r5 42c7c: dc400815 stw r17,32(sp) 42c80: dfc00915 stw ra,36(sp) 42c84: 2823883a mov r17,r5 42c88: 0042d400 call 42d40 42c8c: 10c00044 addi r3,r2,1 42c90: d8800115 stw r2,4(sp) 42c94: 00800174 movhi r2,5 42c98: 10883d04 addi r2,r2,8436 42c9c: d8800215 stw r2,8(sp) 42ca0: 00800044 movi r2,1 42ca4: d8800315 stw r2,12(sp) 42ca8: 00800084 movi r2,2 42cac: dc400015 stw r17,0(sp) 42cb0: d8c00615 stw r3,24(sp) 42cb4: dec00415 stw sp,16(sp) 42cb8: d8800515 stw r2,20(sp) 42cbc: 80000226 beq r16,zero,42cc8 <_puts_r+0x5c> 42cc0: 80800e17 ldw r2,56(r16) 42cc4: 10001426 beq r2,zero,42d18 <_puts_r+0xac> 42cc8: 81400217 ldw r5,8(r16) 42ccc: 2880030b ldhu r2,12(r5) 42cd0: 10c8000c andi r3,r2,8192 42cd4: 1800061e bne r3,zero,42cf0 <_puts_r+0x84> 42cd8: 29001917 ldw r4,100(r5) 42cdc: 00f7ffc4 movi r3,-8193 42ce0: 10880014 ori r2,r2,8192 42ce4: 20c6703a and r3,r4,r3 42ce8: 2880030d sth r2,12(r5) 42cec: 28c01915 stw r3,100(r5) 42cf0: d9800404 addi r6,sp,16 42cf4: 8009883a mov r4,r16 42cf8: 004761c0 call 4761c <__sfvwrite_r> 42cfc: 1000091e bne r2,zero,42d24 <_puts_r+0xb8> 42d00: 00800284 movi r2,10 42d04: dfc00917 ldw ra,36(sp) 42d08: dc400817 ldw r17,32(sp) 42d0c: dc000717 ldw r16,28(sp) 42d10: dec00a04 addi sp,sp,40 42d14: f800283a ret 42d18: 8009883a mov r4,r16 42d1c: 00471980 call 47198 <__sinit> 42d20: 003fe906 br 42cc8 <__alt_data_end+0xfffd0cc8> 42d24: 00bfffc4 movi r2,-1 42d28: 003ff606 br 42d04 <__alt_data_end+0xfffd0d04> 00042d2c : 42d2c: 00800174 movhi r2,5 42d30: 10905304 addi r2,r2,16716 42d34: 200b883a mov r5,r4 42d38: 11000017 ldw r4,0(r2) 42d3c: 0042c6c1 jmpi 42c6c <_puts_r> 00042d40 : 42d40: 208000cc andi r2,r4,3 42d44: 10002026 beq r2,zero,42dc8 42d48: 20800007 ldb r2,0(r4) 42d4c: 10002026 beq r2,zero,42dd0 42d50: 2005883a mov r2,r4 42d54: 00000206 br 42d60 42d58: 10c00007 ldb r3,0(r2) 42d5c: 18001826 beq r3,zero,42dc0 42d60: 10800044 addi r2,r2,1 42d64: 10c000cc andi r3,r2,3 42d68: 183ffb1e bne r3,zero,42d58 <__alt_data_end+0xfffd0d58> 42d6c: 10c00017 ldw r3,0(r2) 42d70: 01ffbff4 movhi r7,65279 42d74: 39ffbfc4 addi r7,r7,-257 42d78: 00ca303a nor r5,zero,r3 42d7c: 01a02074 movhi r6,32897 42d80: 19c7883a add r3,r3,r7 42d84: 31a02004 addi r6,r6,-32640 42d88: 1946703a and r3,r3,r5 42d8c: 1986703a and r3,r3,r6 42d90: 1800091e bne r3,zero,42db8 42d94: 10800104 addi r2,r2,4 42d98: 10c00017 ldw r3,0(r2) 42d9c: 19cb883a add r5,r3,r7 42da0: 00c6303a nor r3,zero,r3 42da4: 28c6703a and r3,r5,r3 42da8: 1986703a and r3,r3,r6 42dac: 183ff926 beq r3,zero,42d94 <__alt_data_end+0xfffd0d94> 42db0: 00000106 br 42db8 42db4: 10800044 addi r2,r2,1 42db8: 10c00007 ldb r3,0(r2) 42dbc: 183ffd1e bne r3,zero,42db4 <__alt_data_end+0xfffd0db4> 42dc0: 1105c83a sub r2,r2,r4 42dc4: f800283a ret 42dc8: 2005883a mov r2,r4 42dcc: 003fe706 br 42d6c <__alt_data_end+0xfffd0d6c> 42dd0: 0005883a mov r2,zero 42dd4: f800283a ret 00042dd8 <___vfprintf_internal_r>: 42dd8: deffb804 addi sp,sp,-288 42ddc: dfc04715 stw ra,284(sp) 42de0: ddc04515 stw r23,276(sp) 42de4: dd404315 stw r21,268(sp) 42de8: d9002d15 stw r4,180(sp) 42dec: 282f883a mov r23,r5 42df0: 302b883a mov r21,r6 42df4: d9c02e15 stw r7,184(sp) 42df8: df004615 stw fp,280(sp) 42dfc: dd804415 stw r22,272(sp) 42e00: dd004215 stw r20,264(sp) 42e04: dcc04115 stw r19,260(sp) 42e08: dc804015 stw r18,256(sp) 42e0c: dc403f15 stw r17,252(sp) 42e10: dc003e15 stw r16,248(sp) 42e14: 0047d180 call 47d18 <_localeconv_r> 42e18: 10800017 ldw r2,0(r2) 42e1c: 1009883a mov r4,r2 42e20: d8803415 stw r2,208(sp) 42e24: 0042d400 call 42d40 42e28: d8803715 stw r2,220(sp) 42e2c: d8802d17 ldw r2,180(sp) 42e30: 10000226 beq r2,zero,42e3c <___vfprintf_internal_r+0x64> 42e34: 10800e17 ldw r2,56(r2) 42e38: 1000fb26 beq r2,zero,43228 <___vfprintf_internal_r+0x450> 42e3c: b880030b ldhu r2,12(r23) 42e40: 10c8000c andi r3,r2,8192 42e44: 1800061e bne r3,zero,42e60 <___vfprintf_internal_r+0x88> 42e48: b9001917 ldw r4,100(r23) 42e4c: 00f7ffc4 movi r3,-8193 42e50: 10880014 ori r2,r2,8192 42e54: 20c6703a and r3,r4,r3 42e58: b880030d sth r2,12(r23) 42e5c: b8c01915 stw r3,100(r23) 42e60: 10c0020c andi r3,r2,8 42e64: 1800c326 beq r3,zero,43174 <___vfprintf_internal_r+0x39c> 42e68: b8c00417 ldw r3,16(r23) 42e6c: 1800c126 beq r3,zero,43174 <___vfprintf_internal_r+0x39c> 42e70: 1080068c andi r2,r2,26 42e74: 00c00284 movi r3,10 42e78: 10c0c626 beq r2,r3,43194 <___vfprintf_internal_r+0x3bc> 42e7c: d8c00404 addi r3,sp,16 42e80: 05000174 movhi r20,5 42e84: d9001e04 addi r4,sp,120 42e88: a5084e84 addi r20,r20,8506 42e8c: d8c01e15 stw r3,120(sp) 42e90: d8002015 stw zero,128(sp) 42e94: d8001f15 stw zero,124(sp) 42e98: d8003315 stw zero,204(sp) 42e9c: d8003615 stw zero,216(sp) 42ea0: d8003815 stw zero,224(sp) 42ea4: 1811883a mov r8,r3 42ea8: d8003915 stw zero,228(sp) 42eac: d8003a15 stw zero,232(sp) 42eb0: d8002f15 stw zero,188(sp) 42eb4: d9002815 stw r4,160(sp) 42eb8: a8800007 ldb r2,0(r21) 42ebc: 10028b26 beq r2,zero,438ec <___vfprintf_internal_r+0xb14> 42ec0: 00c00944 movi r3,37 42ec4: a823883a mov r17,r21 42ec8: 10c0021e bne r2,r3,42ed4 <___vfprintf_internal_r+0xfc> 42ecc: 00001406 br 42f20 <___vfprintf_internal_r+0x148> 42ed0: 10c00326 beq r2,r3,42ee0 <___vfprintf_internal_r+0x108> 42ed4: 8c400044 addi r17,r17,1 42ed8: 88800007 ldb r2,0(r17) 42edc: 103ffc1e bne r2,zero,42ed0 <__alt_data_end+0xfffd0ed0> 42ee0: 8d61c83a sub r16,r17,r21 42ee4: 80000e26 beq r16,zero,42f20 <___vfprintf_internal_r+0x148> 42ee8: d8c02017 ldw r3,128(sp) 42eec: d8801f17 ldw r2,124(sp) 42ef0: 45400015 stw r21,0(r8) 42ef4: 1c07883a add r3,r3,r16 42ef8: 10800044 addi r2,r2,1 42efc: d8c02015 stw r3,128(sp) 42f00: 44000115 stw r16,4(r8) 42f04: d8801f15 stw r2,124(sp) 42f08: 00c001c4 movi r3,7 42f0c: 1880a916 blt r3,r2,431b4 <___vfprintf_internal_r+0x3dc> 42f10: 42000204 addi r8,r8,8 42f14: d9402f17 ldw r5,188(sp) 42f18: 2c0b883a add r5,r5,r16 42f1c: d9402f15 stw r5,188(sp) 42f20: 88800007 ldb r2,0(r17) 42f24: 1000aa26 beq r2,zero,431d0 <___vfprintf_internal_r+0x3f8> 42f28: 8d400044 addi r21,r17,1 42f2c: 8c400047 ldb r17,1(r17) 42f30: 0021883a mov r16,zero 42f34: 00bfffc4 movi r2,-1 42f38: 0025883a mov r18,zero 42f3c: dc002905 stb r16,164(sp) 42f40: d8002785 stb zero,158(sp) 42f44: d8002b05 stb zero,172(sp) 42f48: d8802a15 stw r2,168(sp) 42f4c: d8003115 stw zero,196(sp) 42f50: 04c01604 movi r19,88 42f54: 05800244 movi r22,9 42f58: 9021883a mov r16,r18 42f5c: 4039883a mov fp,r8 42f60: ad400044 addi r21,r21,1 42f64: 88bff804 addi r2,r17,-32 42f68: 98833236 bltu r19,r2,43c34 <___vfprintf_internal_r+0xe5c> 42f6c: 100490ba slli r2,r2,2 42f70: 00c00134 movhi r3,4 42f74: 18cbe104 addi r3,r3,12164 42f78: 10c5883a add r2,r2,r3 42f7c: 10800017 ldw r2,0(r2) 42f80: 1000683a jmp r2 42f84: 00043b2c andhi zero,zero,4332 42f88: 00043c34 movhi zero,4336 42f8c: 00043c34 movhi zero,4336 42f90: 00043b4c andi zero,zero,4333 42f94: 00043c34 movhi zero,4336 42f98: 00043c34 movhi zero,4336 42f9c: 00043c34 movhi zero,4336 42fa0: 00043c34 movhi zero,4336 42fa4: 00043c34 movhi zero,4336 42fa8: 00043c34 movhi zero,4336 42fac: 00043234 movhi zero,4296 42fb0: 00043a3c xorhi zero,zero,4328 42fb4: 00043c34 movhi zero,4336 42fb8: 000430f8 rdprs zero,zero,4291 42fbc: 00043258 cmpnei zero,zero,4297 42fc0: 00043c34 movhi zero,4336 42fc4: 000432a8 cmpgeui zero,zero,4298 42fc8: 000432b4 movhi zero,4298 42fcc: 000432b4 movhi zero,4298 42fd0: 000432b4 movhi zero,4298 42fd4: 000432b4 movhi zero,4298 42fd8: 000432b4 movhi zero,4298 42fdc: 000432b4 movhi zero,4298 42fe0: 000432b4 movhi zero,4298 42fe4: 000432b4 movhi zero,4298 42fe8: 000432b4 movhi zero,4298 42fec: 00043c34 movhi zero,4336 42ff0: 00043c34 movhi zero,4336 42ff4: 00043c34 movhi zero,4336 42ff8: 00043c34 movhi zero,4336 42ffc: 00043c34 movhi zero,4336 43000: 00043c34 movhi zero,4336 43004: 00043c34 movhi zero,4336 43008: 00043c34 movhi zero,4336 4300c: 00043c34 movhi zero,4336 43010: 00043c34 movhi zero,4336 43014: 000432f0 cmpltui zero,zero,4299 43018: 000433b8 rdprs zero,zero,4302 4301c: 00043c34 movhi zero,4336 43020: 000433b8 rdprs zero,zero,4302 43024: 00043c34 movhi zero,4336 43028: 00043c34 movhi zero,4336 4302c: 00043c34 movhi zero,4336 43030: 00043c34 movhi zero,4336 43034: 00043464 muli zero,zero,4305 43038: 00043c34 movhi zero,4336 4303c: 00043c34 movhi zero,4336 43040: 00043470 cmpltui zero,zero,4305 43044: 00043c34 movhi zero,4336 43048: 00043c34 movhi zero,4336 4304c: 00043c34 movhi zero,4336 43050: 00043c34 movhi zero,4336 43054: 00043c34 movhi zero,4336 43058: 000438f4 movhi zero,4323 4305c: 00043c34 movhi zero,4336 43060: 00043c34 movhi zero,4336 43064: 00043960 cmpeqi zero,zero,4325 43068: 00043c34 movhi zero,4336 4306c: 00043c34 movhi zero,4336 43070: 00043c34 movhi zero,4336 43074: 00043c34 movhi zero,4336 43078: 00043c34 movhi zero,4336 4307c: 00043c34 movhi zero,4336 43080: 00043c34 movhi zero,4336 43084: 00043c34 movhi zero,4336 43088: 00043c34 movhi zero,4336 4308c: 00043c34 movhi zero,4336 43090: 00043bd8 cmpnei zero,zero,4335 43094: 00043b58 cmpnei zero,zero,4333 43098: 000433b8 rdprs zero,zero,4302 4309c: 000433b8 rdprs zero,zero,4302 430a0: 000433b8 rdprs zero,zero,4302 430a4: 00043b78 rdprs zero,zero,4333 430a8: 00043b58 cmpnei zero,zero,4333 430ac: 00043c34 movhi zero,4336 430b0: 00043c34 movhi zero,4336 430b4: 00043b84 movi zero,4334 430b8: 00043c34 movhi zero,4336 430bc: 00043b98 cmpnei zero,zero,4334 430c0: 00043a1c xori zero,zero,4328 430c4: 00043104 movi zero,4292 430c8: 00043a54 movui zero,4329 430cc: 00043c34 movhi zero,4336 430d0: 00043a60 cmpeqi zero,zero,4329 430d4: 00043c34 movhi zero,4336 430d8: 00043ac4 movi zero,4331 430dc: 00043c34 movhi zero,4336 430e0: 00043c34 movhi zero,4336 430e4: 00043ae4 muli zero,zero,4331 430e8: d8c03117 ldw r3,196(sp) 430ec: d8802e15 stw r2,184(sp) 430f0: 00c7c83a sub r3,zero,r3 430f4: d8c03115 stw r3,196(sp) 430f8: 84000114 ori r16,r16,4 430fc: ac400007 ldb r17,0(r21) 43100: 003f9706 br 42f60 <__alt_data_end+0xfffd0f60> 43104: 00800c04 movi r2,48 43108: d8802705 stb r2,156(sp) 4310c: 00801e04 movi r2,120 43110: d8802745 stb r2,157(sp) 43114: d9002a17 ldw r4,168(sp) 43118: d8802e17 ldw r2,184(sp) 4311c: d8002785 stb zero,158(sp) 43120: e011883a mov r8,fp 43124: 10c00104 addi r3,r2,4 43128: 14c00017 ldw r19,0(r2) 4312c: 002d883a mov r22,zero 43130: 80800094 ori r2,r16,2 43134: 2002ca16 blt r4,zero,43c60 <___vfprintf_internal_r+0xe88> 43138: 00bfdfc4 movi r2,-129 4313c: 80a4703a and r18,r16,r2 43140: d8c02e15 stw r3,184(sp) 43144: 94800094 ori r18,r18,2 43148: 9802b41e bne r19,zero,43c1c <___vfprintf_internal_r+0xe44> 4314c: 01400174 movhi r5,5 43150: 29484704 addi r5,r5,8476 43154: d9403915 stw r5,228(sp) 43158: 04401e04 movi r17,120 4315c: d8802a17 ldw r2,168(sp) 43160: 0039883a mov fp,zero 43164: 1001fa26 beq r2,zero,43950 <___vfprintf_internal_r+0xb78> 43168: 0027883a mov r19,zero 4316c: 002d883a mov r22,zero 43170: 00021906 br 439d8 <___vfprintf_internal_r+0xc00> 43174: d9002d17 ldw r4,180(sp) 43178: b80b883a mov r5,r23 4317c: 004518c0 call 4518c <__swsetup_r> 43180: 1005dc1e bne r2,zero,448f4 <___vfprintf_internal_r+0x1b1c> 43184: b880030b ldhu r2,12(r23) 43188: 00c00284 movi r3,10 4318c: 1080068c andi r2,r2,26 43190: 10ff3a1e bne r2,r3,42e7c <__alt_data_end+0xfffd0e7c> 43194: b880038f ldh r2,14(r23) 43198: 103f3816 blt r2,zero,42e7c <__alt_data_end+0xfffd0e7c> 4319c: d9c02e17 ldw r7,184(sp) 431a0: d9002d17 ldw r4,180(sp) 431a4: a80d883a mov r6,r21 431a8: b80b883a mov r5,r23 431ac: 00450d00 call 450d0 <__sbprintf> 431b0: 00001106 br 431f8 <___vfprintf_internal_r+0x420> 431b4: d9002d17 ldw r4,180(sp) 431b8: d9801e04 addi r6,sp,120 431bc: b80b883a mov r5,r23 431c0: 004a7200 call 4a720 <__sprint_r> 431c4: 1000081e bne r2,zero,431e8 <___vfprintf_internal_r+0x410> 431c8: da000404 addi r8,sp,16 431cc: 003f5106 br 42f14 <__alt_data_end+0xfffd0f14> 431d0: d8802017 ldw r2,128(sp) 431d4: 10000426 beq r2,zero,431e8 <___vfprintf_internal_r+0x410> 431d8: d9002d17 ldw r4,180(sp) 431dc: d9801e04 addi r6,sp,120 431e0: b80b883a mov r5,r23 431e4: 004a7200 call 4a720 <__sprint_r> 431e8: b880030b ldhu r2,12(r23) 431ec: 1080100c andi r2,r2,64 431f0: 1005c01e bne r2,zero,448f4 <___vfprintf_internal_r+0x1b1c> 431f4: d8802f17 ldw r2,188(sp) 431f8: dfc04717 ldw ra,284(sp) 431fc: df004617 ldw fp,280(sp) 43200: ddc04517 ldw r23,276(sp) 43204: dd804417 ldw r22,272(sp) 43208: dd404317 ldw r21,268(sp) 4320c: dd004217 ldw r20,264(sp) 43210: dcc04117 ldw r19,260(sp) 43214: dc804017 ldw r18,256(sp) 43218: dc403f17 ldw r17,252(sp) 4321c: dc003e17 ldw r16,248(sp) 43220: dec04804 addi sp,sp,288 43224: f800283a ret 43228: d9002d17 ldw r4,180(sp) 4322c: 00471980 call 47198 <__sinit> 43230: 003f0206 br 42e3c <__alt_data_end+0xfffd0e3c> 43234: d9002e17 ldw r4,184(sp) 43238: d9402e17 ldw r5,184(sp) 4323c: 21000017 ldw r4,0(r4) 43240: 28800104 addi r2,r5,4 43244: d9003115 stw r4,196(sp) 43248: 203fa716 blt r4,zero,430e8 <__alt_data_end+0xfffd10e8> 4324c: d8802e15 stw r2,184(sp) 43250: ac400007 ldb r17,0(r21) 43254: 003f4206 br 42f60 <__alt_data_end+0xfffd0f60> 43258: ac400007 ldb r17,0(r21) 4325c: 01000a84 movi r4,42 43260: a8c00044 addi r3,r21,1 43264: 89075826 beq r17,r4,44fc8 <___vfprintf_internal_r+0x21f0> 43268: 8cbff404 addi r18,r17,-48 4326c: b486ae36 bltu r22,r18,44d28 <___vfprintf_internal_r+0x1f50> 43270: 0009883a mov r4,zero 43274: 1823883a mov r17,r3 43278: 01400284 movi r5,10 4327c: 004d3dc0 call 4d3dc <__mulsi3> 43280: 88c00007 ldb r3,0(r17) 43284: 1489883a add r4,r2,r18 43288: 8d400044 addi r21,r17,1 4328c: 1cbff404 addi r18,r3,-48 43290: a823883a mov r17,r21 43294: b4bff82e bgeu r22,r18,43278 <__alt_data_end+0xfffd1278> 43298: 1823883a mov r17,r3 4329c: 2005f616 blt r4,zero,44a78 <___vfprintf_internal_r+0x1ca0> 432a0: d9002a15 stw r4,168(sp) 432a4: 003f2f06 br 42f64 <__alt_data_end+0xfffd0f64> 432a8: 84002014 ori r16,r16,128 432ac: ac400007 ldb r17,0(r21) 432b0: 003f2b06 br 42f60 <__alt_data_end+0xfffd0f60> 432b4: 8cbff404 addi r18,r17,-48 432b8: d8003115 stw zero,196(sp) 432bc: 0009883a mov r4,zero 432c0: a823883a mov r17,r21 432c4: 01400284 movi r5,10 432c8: 004d3dc0 call 4d3dc <__mulsi3> 432cc: 88c00007 ldb r3,0(r17) 432d0: 9089883a add r4,r18,r2 432d4: ad400044 addi r21,r21,1 432d8: 1cbff404 addi r18,r3,-48 432dc: a823883a mov r17,r21 432e0: b4bff82e bgeu r22,r18,432c4 <__alt_data_end+0xfffd12c4> 432e4: 1823883a mov r17,r3 432e8: d9003115 stw r4,196(sp) 432ec: 003f1d06 br 42f64 <__alt_data_end+0xfffd0f64> 432f0: 8025883a mov r18,r16 432f4: dc002903 ldbu r16,164(sp) 432f8: e011883a mov r8,fp 432fc: 84003fcc andi r16,r16,255 43300: 8007531e bne r16,zero,45050 <___vfprintf_internal_r+0x2278> 43304: 94800414 ori r18,r18,16 43308: 9080080c andi r2,r18,32 4330c: 1003a326 beq r2,zero,4419c <___vfprintf_internal_r+0x13c4> 43310: d9002e17 ldw r4,184(sp) 43314: 20800117 ldw r2,4(r4) 43318: 24c00017 ldw r19,0(r4) 4331c: 21000204 addi r4,r4,8 43320: d9002e15 stw r4,184(sp) 43324: 102d883a mov r22,r2 43328: 10047316 blt r2,zero,444f8 <___vfprintf_internal_r+0x1720> 4332c: d9002a17 ldw r4,168(sp) 43330: df002783 ldbu fp,158(sp) 43334: 2003e416 blt r4,zero,442c8 <___vfprintf_internal_r+0x14f0> 43338: 00ffdfc4 movi r3,-129 4333c: 9d84b03a or r2,r19,r22 43340: 90e4703a and r18,r18,r3 43344: 10018026 beq r2,zero,43948 <___vfprintf_internal_r+0xb70> 43348: b003ab26 beq r22,zero,441f8 <___vfprintf_internal_r+0x1420> 4334c: dc402915 stw r17,164(sp) 43350: dc001e04 addi r16,sp,120 43354: b023883a mov r17,r22 43358: 402d883a mov r22,r8 4335c: 9809883a mov r4,r19 43360: 880b883a mov r5,r17 43364: 01800284 movi r6,10 43368: 000f883a mov r7,zero 4336c: 004cc640 call 4cc64 <__umoddi3> 43370: 10800c04 addi r2,r2,48 43374: 843fffc4 addi r16,r16,-1 43378: 9809883a mov r4,r19 4337c: 880b883a mov r5,r17 43380: 80800005 stb r2,0(r16) 43384: 01800284 movi r6,10 43388: 000f883a mov r7,zero 4338c: 004c6680 call 4c668 <__udivdi3> 43390: 1027883a mov r19,r2 43394: 10c4b03a or r2,r2,r3 43398: 1823883a mov r17,r3 4339c: 103fef1e bne r2,zero,4335c <__alt_data_end+0xfffd135c> 433a0: d8c02817 ldw r3,160(sp) 433a4: dc402917 ldw r17,164(sp) 433a8: b011883a mov r8,r22 433ac: 1c07c83a sub r3,r3,r16 433b0: d8c02b15 stw r3,172(sp) 433b4: 00005f06 br 43534 <___vfprintf_internal_r+0x75c> 433b8: 8025883a mov r18,r16 433bc: dc002903 ldbu r16,164(sp) 433c0: e011883a mov r8,fp 433c4: 84003fcc andi r16,r16,255 433c8: 80071e1e bne r16,zero,45044 <___vfprintf_internal_r+0x226c> 433cc: 9080020c andi r2,r18,8 433d0: 1004af26 beq r2,zero,44690 <___vfprintf_internal_r+0x18b8> 433d4: d9002e17 ldw r4,184(sp) 433d8: d9402e17 ldw r5,184(sp) 433dc: d8802e17 ldw r2,184(sp) 433e0: 21000017 ldw r4,0(r4) 433e4: 29400117 ldw r5,4(r5) 433e8: 10800204 addi r2,r2,8 433ec: d9003615 stw r4,216(sp) 433f0: d9403815 stw r5,224(sp) 433f4: d8802e15 stw r2,184(sp) 433f8: d9003617 ldw r4,216(sp) 433fc: d9403817 ldw r5,224(sp) 43400: da003d15 stw r8,244(sp) 43404: 04000044 movi r16,1 43408: 004a3440 call 4a344 <__fpclassifyd> 4340c: da003d17 ldw r8,244(sp) 43410: 1404441e bne r2,r16,44524 <___vfprintf_internal_r+0x174c> 43414: d9003617 ldw r4,216(sp) 43418: d9403817 ldw r5,224(sp) 4341c: 000d883a mov r6,zero 43420: 000f883a mov r7,zero 43424: 0041f200 call 41f20 <__ledf2> 43428: da003d17 ldw r8,244(sp) 4342c: 1005e316 blt r2,zero,44bbc <___vfprintf_internal_r+0x1de4> 43430: df002783 ldbu fp,158(sp) 43434: 008011c4 movi r2,71 43438: 1445580e bge r2,r17,4499c <___vfprintf_internal_r+0x1bc4> 4343c: 04000174 movhi r16,5 43440: 84083f04 addi r16,r16,8444 43444: 00c000c4 movi r3,3 43448: 00bfdfc4 movi r2,-129 4344c: d8c02915 stw r3,164(sp) 43450: 90a4703a and r18,r18,r2 43454: d8c02b15 stw r3,172(sp) 43458: d8002a15 stw zero,168(sp) 4345c: d8003215 stw zero,200(sp) 43460: 00003a06 br 4354c <___vfprintf_internal_r+0x774> 43464: 84000214 ori r16,r16,8 43468: ac400007 ldb r17,0(r21) 4346c: 003ebc06 br 42f60 <__alt_data_end+0xfffd0f60> 43470: 8025883a mov r18,r16 43474: dc002903 ldbu r16,164(sp) 43478: e011883a mov r8,fp 4347c: 84003fcc andi r16,r16,255 43480: 8007001e bne r16,zero,45084 <___vfprintf_internal_r+0x22ac> 43484: 94800414 ori r18,r18,16 43488: 9080080c andi r2,r18,32 4348c: 1002fa26 beq r2,zero,44078 <___vfprintf_internal_r+0x12a0> 43490: d9002e17 ldw r4,184(sp) 43494: d9402a17 ldw r5,168(sp) 43498: d8002785 stb zero,158(sp) 4349c: 20800204 addi r2,r4,8 434a0: 24c00017 ldw r19,0(r4) 434a4: 25800117 ldw r22,4(r4) 434a8: 2804b116 blt r5,zero,44770 <___vfprintf_internal_r+0x1998> 434ac: 013fdfc4 movi r4,-129 434b0: 9d86b03a or r3,r19,r22 434b4: d8802e15 stw r2,184(sp) 434b8: 9124703a and r18,r18,r4 434bc: 1802fb1e bne r3,zero,440ac <___vfprintf_internal_r+0x12d4> 434c0: d8c02a17 ldw r3,168(sp) 434c4: 0039883a mov fp,zero 434c8: 1805e526 beq r3,zero,44c60 <___vfprintf_internal_r+0x1e88> 434cc: 0027883a mov r19,zero 434d0: 002d883a mov r22,zero 434d4: dc001e04 addi r16,sp,120 434d8: 9806d0fa srli r3,r19,3 434dc: b008977a slli r4,r22,29 434e0: b02cd0fa srli r22,r22,3 434e4: 9cc001cc andi r19,r19,7 434e8: 98800c04 addi r2,r19,48 434ec: 843fffc4 addi r16,r16,-1 434f0: 20e6b03a or r19,r4,r3 434f4: 80800005 stb r2,0(r16) 434f8: 9d86b03a or r3,r19,r22 434fc: 183ff61e bne r3,zero,434d8 <__alt_data_end+0xfffd14d8> 43500: 90c0004c andi r3,r18,1 43504: 18014126 beq r3,zero,43a0c <___vfprintf_internal_r+0xc34> 43508: 10803fcc andi r2,r2,255 4350c: 1080201c xori r2,r2,128 43510: 10bfe004 addi r2,r2,-128 43514: 00c00c04 movi r3,48 43518: 10c13c26 beq r2,r3,43a0c <___vfprintf_internal_r+0xc34> 4351c: 80ffffc5 stb r3,-1(r16) 43520: d8c02817 ldw r3,160(sp) 43524: 80bfffc4 addi r2,r16,-1 43528: 1021883a mov r16,r2 4352c: 1887c83a sub r3,r3,r2 43530: d8c02b15 stw r3,172(sp) 43534: d8802b17 ldw r2,172(sp) 43538: d9002a17 ldw r4,168(sp) 4353c: 1100010e bge r2,r4,43544 <___vfprintf_internal_r+0x76c> 43540: 2005883a mov r2,r4 43544: d8802915 stw r2,164(sp) 43548: d8003215 stw zero,200(sp) 4354c: e7003fcc andi fp,fp,255 43550: e700201c xori fp,fp,128 43554: e73fe004 addi fp,fp,-128 43558: e0000326 beq fp,zero,43568 <___vfprintf_internal_r+0x790> 4355c: d8c02917 ldw r3,164(sp) 43560: 18c00044 addi r3,r3,1 43564: d8c02915 stw r3,164(sp) 43568: 90c0008c andi r3,r18,2 4356c: d8c02c15 stw r3,176(sp) 43570: 18000326 beq r3,zero,43580 <___vfprintf_internal_r+0x7a8> 43574: d8c02917 ldw r3,164(sp) 43578: 18c00084 addi r3,r3,2 4357c: d8c02915 stw r3,164(sp) 43580: 90c0210c andi r3,r18,132 43584: d8c03015 stw r3,192(sp) 43588: 1801c51e bne r3,zero,43ca0 <___vfprintf_internal_r+0xec8> 4358c: d9003117 ldw r4,196(sp) 43590: d8c02917 ldw r3,164(sp) 43594: 20e7c83a sub r19,r4,r3 43598: 04c1c10e bge zero,r19,43ca0 <___vfprintf_internal_r+0xec8> 4359c: 02400404 movi r9,16 435a0: d8c02017 ldw r3,128(sp) 435a4: d8801f17 ldw r2,124(sp) 435a8: 4cc52f0e bge r9,r19,44a68 <___vfprintf_internal_r+0x1c90> 435ac: 01400174 movhi r5,5 435b0: 29485284 addi r5,r5,8522 435b4: dc403b15 stw r17,236(sp) 435b8: d9403515 stw r5,212(sp) 435bc: 9823883a mov r17,r19 435c0: 482d883a mov r22,r9 435c4: 9027883a mov r19,r18 435c8: 070001c4 movi fp,7 435cc: 8025883a mov r18,r16 435d0: dc002d17 ldw r16,180(sp) 435d4: 00000306 br 435e4 <___vfprintf_internal_r+0x80c> 435d8: 8c7ffc04 addi r17,r17,-16 435dc: 42000204 addi r8,r8,8 435e0: b440130e bge r22,r17,43630 <___vfprintf_internal_r+0x858> 435e4: 01000174 movhi r4,5 435e8: 18c00404 addi r3,r3,16 435ec: 10800044 addi r2,r2,1 435f0: 21085284 addi r4,r4,8522 435f4: 41000015 stw r4,0(r8) 435f8: 45800115 stw r22,4(r8) 435fc: d8c02015 stw r3,128(sp) 43600: d8801f15 stw r2,124(sp) 43604: e0bff40e bge fp,r2,435d8 <__alt_data_end+0xfffd15d8> 43608: d9801e04 addi r6,sp,120 4360c: b80b883a mov r5,r23 43610: 8009883a mov r4,r16 43614: 004a7200 call 4a720 <__sprint_r> 43618: 103ef31e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8> 4361c: 8c7ffc04 addi r17,r17,-16 43620: d8c02017 ldw r3,128(sp) 43624: d8801f17 ldw r2,124(sp) 43628: da000404 addi r8,sp,16 4362c: b47fed16 blt r22,r17,435e4 <__alt_data_end+0xfffd15e4> 43630: 9021883a mov r16,r18 43634: 9825883a mov r18,r19 43638: 8827883a mov r19,r17 4363c: dc403b17 ldw r17,236(sp) 43640: d9403517 ldw r5,212(sp) 43644: 98c7883a add r3,r19,r3 43648: 10800044 addi r2,r2,1 4364c: 41400015 stw r5,0(r8) 43650: 44c00115 stw r19,4(r8) 43654: d8c02015 stw r3,128(sp) 43658: d8801f15 stw r2,124(sp) 4365c: 010001c4 movi r4,7 43660: 2082c516 blt r4,r2,44178 <___vfprintf_internal_r+0x13a0> 43664: df002787 ldb fp,158(sp) 43668: 42000204 addi r8,r8,8 4366c: e0000c26 beq fp,zero,436a0 <___vfprintf_internal_r+0x8c8> 43670: d8801f17 ldw r2,124(sp) 43674: d9002784 addi r4,sp,158 43678: 18c00044 addi r3,r3,1 4367c: 10800044 addi r2,r2,1 43680: 41000015 stw r4,0(r8) 43684: 01000044 movi r4,1 43688: 41000115 stw r4,4(r8) 4368c: d8c02015 stw r3,128(sp) 43690: d8801f15 stw r2,124(sp) 43694: 010001c4 movi r4,7 43698: 20825e16 blt r4,r2,44014 <___vfprintf_internal_r+0x123c> 4369c: 42000204 addi r8,r8,8 436a0: d8802c17 ldw r2,176(sp) 436a4: 10000c26 beq r2,zero,436d8 <___vfprintf_internal_r+0x900> 436a8: d8801f17 ldw r2,124(sp) 436ac: d9002704 addi r4,sp,156 436b0: 18c00084 addi r3,r3,2 436b4: 10800044 addi r2,r2,1 436b8: 41000015 stw r4,0(r8) 436bc: 01000084 movi r4,2 436c0: 41000115 stw r4,4(r8) 436c4: d8c02015 stw r3,128(sp) 436c8: d8801f15 stw r2,124(sp) 436cc: 010001c4 movi r4,7 436d0: 20825816 blt r4,r2,44034 <___vfprintf_internal_r+0x125c> 436d4: 42000204 addi r8,r8,8 436d8: d9003017 ldw r4,192(sp) 436dc: 00802004 movi r2,128 436e0: 2081bb26 beq r4,r2,43dd0 <___vfprintf_internal_r+0xff8> 436e4: d9402a17 ldw r5,168(sp) 436e8: d8802b17 ldw r2,172(sp) 436ec: 28adc83a sub r22,r5,r2 436f0: 0580310e bge zero,r22,437b8 <___vfprintf_internal_r+0x9e0> 436f4: 07000404 movi fp,16 436f8: d8801f17 ldw r2,124(sp) 436fc: e584360e bge fp,r22,447d8 <___vfprintf_internal_r+0x1a00> 43700: 01400174 movhi r5,5 43704: 29484e84 addi r5,r5,8506 43708: dc402a15 stw r17,168(sp) 4370c: d9402c15 stw r5,176(sp) 43710: b023883a mov r17,r22 43714: 04c001c4 movi r19,7 43718: a82d883a mov r22,r21 4371c: 902b883a mov r21,r18 43720: 8025883a mov r18,r16 43724: dc002d17 ldw r16,180(sp) 43728: 00000306 br 43738 <___vfprintf_internal_r+0x960> 4372c: 8c7ffc04 addi r17,r17,-16 43730: 42000204 addi r8,r8,8 43734: e440110e bge fp,r17,4377c <___vfprintf_internal_r+0x9a4> 43738: 18c00404 addi r3,r3,16 4373c: 10800044 addi r2,r2,1 43740: 45000015 stw r20,0(r8) 43744: 47000115 stw fp,4(r8) 43748: d8c02015 stw r3,128(sp) 4374c: d8801f15 stw r2,124(sp) 43750: 98bff60e bge r19,r2,4372c <__alt_data_end+0xfffd172c> 43754: d9801e04 addi r6,sp,120 43758: b80b883a mov r5,r23 4375c: 8009883a mov r4,r16 43760: 004a7200 call 4a720 <__sprint_r> 43764: 103ea01e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8> 43768: 8c7ffc04 addi r17,r17,-16 4376c: d8c02017 ldw r3,128(sp) 43770: d8801f17 ldw r2,124(sp) 43774: da000404 addi r8,sp,16 43778: e47fef16 blt fp,r17,43738 <__alt_data_end+0xfffd1738> 4377c: 9021883a mov r16,r18 43780: a825883a mov r18,r21 43784: b02b883a mov r21,r22 43788: 882d883a mov r22,r17 4378c: dc402a17 ldw r17,168(sp) 43790: d9002c17 ldw r4,176(sp) 43794: 1d87883a add r3,r3,r22 43798: 10800044 addi r2,r2,1 4379c: 41000015 stw r4,0(r8) 437a0: 45800115 stw r22,4(r8) 437a4: d8c02015 stw r3,128(sp) 437a8: d8801f15 stw r2,124(sp) 437ac: 010001c4 movi r4,7 437b0: 20821016 blt r4,r2,43ff4 <___vfprintf_internal_r+0x121c> 437b4: 42000204 addi r8,r8,8 437b8: 9080400c andi r2,r18,256 437bc: 10013a1e bne r2,zero,43ca8 <___vfprintf_internal_r+0xed0> 437c0: d9402b17 ldw r5,172(sp) 437c4: d8801f17 ldw r2,124(sp) 437c8: 44000015 stw r16,0(r8) 437cc: 1947883a add r3,r3,r5 437d0: 10800044 addi r2,r2,1 437d4: 41400115 stw r5,4(r8) 437d8: d8c02015 stw r3,128(sp) 437dc: d8801f15 stw r2,124(sp) 437e0: 010001c4 movi r4,7 437e4: 2081f516 blt r4,r2,43fbc <___vfprintf_internal_r+0x11e4> 437e8: 42000204 addi r8,r8,8 437ec: 9480010c andi r18,r18,4 437f0: 90003226 beq r18,zero,438bc <___vfprintf_internal_r+0xae4> 437f4: d9403117 ldw r5,196(sp) 437f8: d8802917 ldw r2,164(sp) 437fc: 28a1c83a sub r16,r5,r2 43800: 04002e0e bge zero,r16,438bc <___vfprintf_internal_r+0xae4> 43804: 04400404 movi r17,16 43808: d8801f17 ldw r2,124(sp) 4380c: 8c04c40e bge r17,r16,44b20 <___vfprintf_internal_r+0x1d48> 43810: 01400174 movhi r5,5 43814: 29485284 addi r5,r5,8522 43818: d9403515 stw r5,212(sp) 4381c: 048001c4 movi r18,7 43820: dcc02d17 ldw r19,180(sp) 43824: 00000306 br 43834 <___vfprintf_internal_r+0xa5c> 43828: 843ffc04 addi r16,r16,-16 4382c: 42000204 addi r8,r8,8 43830: 8c00130e bge r17,r16,43880 <___vfprintf_internal_r+0xaa8> 43834: 01000174 movhi r4,5 43838: 18c00404 addi r3,r3,16 4383c: 10800044 addi r2,r2,1 43840: 21085284 addi r4,r4,8522 43844: 41000015 stw r4,0(r8) 43848: 44400115 stw r17,4(r8) 4384c: d8c02015 stw r3,128(sp) 43850: d8801f15 stw r2,124(sp) 43854: 90bff40e bge r18,r2,43828 <__alt_data_end+0xfffd1828> 43858: d9801e04 addi r6,sp,120 4385c: b80b883a mov r5,r23 43860: 9809883a mov r4,r19 43864: 004a7200 call 4a720 <__sprint_r> 43868: 103e5f1e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8> 4386c: 843ffc04 addi r16,r16,-16 43870: d8c02017 ldw r3,128(sp) 43874: d8801f17 ldw r2,124(sp) 43878: da000404 addi r8,sp,16 4387c: 8c3fed16 blt r17,r16,43834 <__alt_data_end+0xfffd1834> 43880: d9403517 ldw r5,212(sp) 43884: 1c07883a add r3,r3,r16 43888: 10800044 addi r2,r2,1 4388c: 41400015 stw r5,0(r8) 43890: 44000115 stw r16,4(r8) 43894: d8c02015 stw r3,128(sp) 43898: d8801f15 stw r2,124(sp) 4389c: 010001c4 movi r4,7 438a0: 2080060e bge r4,r2,438bc <___vfprintf_internal_r+0xae4> 438a4: d9002d17 ldw r4,180(sp) 438a8: d9801e04 addi r6,sp,120 438ac: b80b883a mov r5,r23 438b0: 004a7200 call 4a720 <__sprint_r> 438b4: 103e4c1e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8> 438b8: d8c02017 ldw r3,128(sp) 438bc: d8803117 ldw r2,196(sp) 438c0: d9002917 ldw r4,164(sp) 438c4: 1100010e bge r2,r4,438cc <___vfprintf_internal_r+0xaf4> 438c8: 2005883a mov r2,r4 438cc: d9402f17 ldw r5,188(sp) 438d0: 288b883a add r5,r5,r2 438d4: d9402f15 stw r5,188(sp) 438d8: 1801c01e bne r3,zero,43fdc <___vfprintf_internal_r+0x1204> 438dc: a8800007 ldb r2,0(r21) 438e0: d8001f15 stw zero,124(sp) 438e4: da000404 addi r8,sp,16 438e8: 103d751e bne r2,zero,42ec0 <__alt_data_end+0xfffd0ec0> 438ec: a823883a mov r17,r21 438f0: 003d8b06 br 42f20 <__alt_data_end+0xfffd0f20> 438f4: 8025883a mov r18,r16 438f8: dc002903 ldbu r16,164(sp) 438fc: e011883a mov r8,fp 43900: 84003fcc andi r16,r16,255 43904: 8005e51e bne r16,zero,4509c <___vfprintf_internal_r+0x22c4> 43908: 94800414 ori r18,r18,16 4390c: 9080080c andi r2,r18,32 43910: 10022b26 beq r2,zero,441c0 <___vfprintf_internal_r+0x13e8> 43914: d9002e17 ldw r4,184(sp) 43918: d9402a17 ldw r5,168(sp) 4391c: d8002785 stb zero,158(sp) 43920: 20c00204 addi r3,r4,8 43924: 24c00017 ldw r19,0(r4) 43928: 25800117 ldw r22,4(r4) 4392c: 28042e16 blt r5,zero,449e8 <___vfprintf_internal_r+0x1c10> 43930: 013fdfc4 movi r4,-129 43934: 9d84b03a or r2,r19,r22 43938: d8c02e15 stw r3,184(sp) 4393c: 9124703a and r18,r18,r4 43940: 0039883a mov fp,zero 43944: 103e801e bne r2,zero,43348 <__alt_data_end+0xfffd1348> 43948: d9002a17 ldw r4,168(sp) 4394c: 2002e01e bne r4,zero,444d0 <___vfprintf_internal_r+0x16f8> 43950: d8002a15 stw zero,168(sp) 43954: d8002b15 stw zero,172(sp) 43958: dc001e04 addi r16,sp,120 4395c: 003ef506 br 43534 <__alt_data_end+0xfffd1534> 43960: 8025883a mov r18,r16 43964: dc002903 ldbu r16,164(sp) 43968: e011883a mov r8,fp 4396c: 84003fcc andi r16,r16,255 43970: 8005ba1e bne r16,zero,4505c <___vfprintf_internal_r+0x2284> 43974: 01000174 movhi r4,5 43978: 21084204 addi r4,r4,8456 4397c: d9003915 stw r4,228(sp) 43980: 9080080c andi r2,r18,32 43984: 10006126 beq r2,zero,43b0c <___vfprintf_internal_r+0xd34> 43988: d9402e17 ldw r5,184(sp) 4398c: 2cc00017 ldw r19,0(r5) 43990: 2d800117 ldw r22,4(r5) 43994: 29400204 addi r5,r5,8 43998: d9402e15 stw r5,184(sp) 4399c: 9080004c andi r2,r18,1 439a0: 1001ac26 beq r2,zero,44054 <___vfprintf_internal_r+0x127c> 439a4: 9d84b03a or r2,r19,r22 439a8: 10038526 beq r2,zero,447c0 <___vfprintf_internal_r+0x19e8> 439ac: d8c02a17 ldw r3,168(sp) 439b0: 00800c04 movi r2,48 439b4: d8802705 stb r2,156(sp) 439b8: dc402745 stb r17,157(sp) 439bc: d8002785 stb zero,158(sp) 439c0: 90800094 ori r2,r18,2 439c4: 18047916 blt r3,zero,44bac <___vfprintf_internal_r+0x1dd4> 439c8: 00bfdfc4 movi r2,-129 439cc: 90a4703a and r18,r18,r2 439d0: 94800094 ori r18,r18,2 439d4: 0039883a mov fp,zero 439d8: d9003917 ldw r4,228(sp) 439dc: dc001e04 addi r16,sp,120 439e0: 988003cc andi r2,r19,15 439e4: b006973a slli r3,r22,28 439e8: 2085883a add r2,r4,r2 439ec: 9826d13a srli r19,r19,4 439f0: 10800003 ldbu r2,0(r2) 439f4: b02cd13a srli r22,r22,4 439f8: 843fffc4 addi r16,r16,-1 439fc: 1ce6b03a or r19,r3,r19 43a00: 80800005 stb r2,0(r16) 43a04: 9d84b03a or r2,r19,r22 43a08: 103ff51e bne r2,zero,439e0 <__alt_data_end+0xfffd19e0> 43a0c: d8c02817 ldw r3,160(sp) 43a10: 1c07c83a sub r3,r3,r16 43a14: d8c02b15 stw r3,172(sp) 43a18: 003ec606 br 43534 <__alt_data_end+0xfffd1534> 43a1c: 8025883a mov r18,r16 43a20: dc002903 ldbu r16,164(sp) 43a24: e011883a mov r8,fp 43a28: 84003fcc andi r16,r16,255 43a2c: 803e9626 beq r16,zero,43488 <__alt_data_end+0xfffd1488> 43a30: d8c02b03 ldbu r3,172(sp) 43a34: d8c02785 stb r3,158(sp) 43a38: 003e9306 br 43488 <__alt_data_end+0xfffd1488> 43a3c: 00c00044 movi r3,1 43a40: d8c02905 stb r3,164(sp) 43a44: 00c00ac4 movi r3,43 43a48: d8c02b05 stb r3,172(sp) 43a4c: ac400007 ldb r17,0(r21) 43a50: 003d4306 br 42f60 <__alt_data_end+0xfffd0f60> 43a54: 84000814 ori r16,r16,32 43a58: ac400007 ldb r17,0(r21) 43a5c: 003d4006 br 42f60 <__alt_data_end+0xfffd0f60> 43a60: d8802e17 ldw r2,184(sp) 43a64: 8025883a mov r18,r16 43a68: d8002785 stb zero,158(sp) 43a6c: 14000017 ldw r16,0(r2) 43a70: e011883a mov r8,fp 43a74: 14c00104 addi r19,r2,4 43a78: 80042d26 beq r16,zero,44b30 <___vfprintf_internal_r+0x1d58> 43a7c: d8c02a17 ldw r3,168(sp) 43a80: 1803e416 blt r3,zero,44a14 <___vfprintf_internal_r+0x1c3c> 43a84: 180d883a mov r6,r3 43a88: 000b883a mov r5,zero 43a8c: 8009883a mov r4,r16 43a90: df003d15 stw fp,244(sp) 43a94: 00487100 call 48710 43a98: da003d17 ldw r8,244(sp) 43a9c: 10046826 beq r2,zero,44c40 <___vfprintf_internal_r+0x1e68> 43aa0: 1405c83a sub r2,r2,r16 43aa4: d8802b15 stw r2,172(sp) 43aa8: 1003e016 blt r2,zero,44a2c <___vfprintf_internal_r+0x1c54> 43aac: df002783 ldbu fp,158(sp) 43ab0: d8802915 stw r2,164(sp) 43ab4: dcc02e15 stw r19,184(sp) 43ab8: d8002a15 stw zero,168(sp) 43abc: d8003215 stw zero,200(sp) 43ac0: 003ea206 br 4354c <__alt_data_end+0xfffd154c> 43ac4: 8025883a mov r18,r16 43ac8: dc002903 ldbu r16,164(sp) 43acc: e011883a mov r8,fp 43ad0: 84003fcc andi r16,r16,255 43ad4: 803f8d26 beq r16,zero,4390c <__alt_data_end+0xfffd190c> 43ad8: d8c02b03 ldbu r3,172(sp) 43adc: d8c02785 stb r3,158(sp) 43ae0: 003f8a06 br 4390c <__alt_data_end+0xfffd190c> 43ae4: 8025883a mov r18,r16 43ae8: dc002903 ldbu r16,164(sp) 43aec: e011883a mov r8,fp 43af0: 84003fcc andi r16,r16,255 43af4: 8005661e bne r16,zero,45090 <___vfprintf_internal_r+0x22b8> 43af8: 01000174 movhi r4,5 43afc: 21084704 addi r4,r4,8476 43b00: d9003915 stw r4,228(sp) 43b04: 9080080c andi r2,r18,32 43b08: 103f9f1e bne r2,zero,43988 <__alt_data_end+0xfffd1988> 43b0c: 9080040c andi r2,r18,16 43b10: 1002eb26 beq r2,zero,446c0 <___vfprintf_internal_r+0x18e8> 43b14: d8802e17 ldw r2,184(sp) 43b18: 002d883a mov r22,zero 43b1c: 14c00017 ldw r19,0(r2) 43b20: 10800104 addi r2,r2,4 43b24: d8802e15 stw r2,184(sp) 43b28: 003f9c06 br 4399c <__alt_data_end+0xfffd199c> 43b2c: d8802b07 ldb r2,172(sp) 43b30: 1002e11e bne r2,zero,446b8 <___vfprintf_internal_r+0x18e0> 43b34: 00c00044 movi r3,1 43b38: d8c02905 stb r3,164(sp) 43b3c: 00c00804 movi r3,32 43b40: d8c02b05 stb r3,172(sp) 43b44: ac400007 ldb r17,0(r21) 43b48: 003d0506 br 42f60 <__alt_data_end+0xfffd0f60> 43b4c: 84000054 ori r16,r16,1 43b50: ac400007 ldb r17,0(r21) 43b54: 003d0206 br 42f60 <__alt_data_end+0xfffd0f60> 43b58: 8025883a mov r18,r16 43b5c: dc002903 ldbu r16,164(sp) 43b60: e011883a mov r8,fp 43b64: 84003fcc andi r16,r16,255 43b68: 803de726 beq r16,zero,43308 <__alt_data_end+0xfffd1308> 43b6c: d8c02b03 ldbu r3,172(sp) 43b70: d8c02785 stb r3,158(sp) 43b74: 003de406 br 43308 <__alt_data_end+0xfffd1308> 43b78: 84001014 ori r16,r16,64 43b7c: ac400007 ldb r17,0(r21) 43b80: 003cf706 br 42f60 <__alt_data_end+0xfffd0f60> 43b84: ac400007 ldb r17,0(r21) 43b88: 00801b04 movi r2,108 43b8c: 88838f26 beq r17,r2,449cc <___vfprintf_internal_r+0x1bf4> 43b90: 84000414 ori r16,r16,16 43b94: 003cf206 br 42f60 <__alt_data_end+0xfffd0f60> 43b98: 8025883a mov r18,r16 43b9c: dc002903 ldbu r16,164(sp) 43ba0: e011883a mov r8,fp 43ba4: 84003fcc andi r16,r16,255 43ba8: 80053f1e bne r16,zero,450a8 <___vfprintf_internal_r+0x22d0> 43bac: 9080080c andi r2,r18,32 43bb0: 1002d226 beq r2,zero,446fc <___vfprintf_internal_r+0x1924> 43bb4: d9002e17 ldw r4,184(sp) 43bb8: d9402f17 ldw r5,188(sp) 43bbc: 20800017 ldw r2,0(r4) 43bc0: 2807d7fa srai r3,r5,31 43bc4: 21000104 addi r4,r4,4 43bc8: d9002e15 stw r4,184(sp) 43bcc: 11400015 stw r5,0(r2) 43bd0: 10c00115 stw r3,4(r2) 43bd4: 003cb806 br 42eb8 <__alt_data_end+0xfffd0eb8> 43bd8: d8c02e17 ldw r3,184(sp) 43bdc: d9002e17 ldw r4,184(sp) 43be0: 8025883a mov r18,r16 43be4: 18800017 ldw r2,0(r3) 43be8: 21000104 addi r4,r4,4 43bec: 00c00044 movi r3,1 43bf0: e011883a mov r8,fp 43bf4: d8c02915 stw r3,164(sp) 43bf8: d8002785 stb zero,158(sp) 43bfc: d8801405 stb r2,80(sp) 43c00: d9002e15 stw r4,184(sp) 43c04: d8c02b15 stw r3,172(sp) 43c08: d8002a15 stw zero,168(sp) 43c0c: d8003215 stw zero,200(sp) 43c10: dc001404 addi r16,sp,80 43c14: 0039883a mov fp,zero 43c18: 003e5306 br 43568 <__alt_data_end+0xfffd1568> 43c1c: 01000174 movhi r4,5 43c20: 21084704 addi r4,r4,8476 43c24: 0039883a mov fp,zero 43c28: d9003915 stw r4,228(sp) 43c2c: 04401e04 movi r17,120 43c30: 003f6906 br 439d8 <__alt_data_end+0xfffd19d8> 43c34: 8025883a mov r18,r16 43c38: dc002903 ldbu r16,164(sp) 43c3c: e011883a mov r8,fp 43c40: 84003fcc andi r16,r16,255 43c44: 8005081e bne r16,zero,45068 <___vfprintf_internal_r+0x2290> 43c48: 883d6126 beq r17,zero,431d0 <__alt_data_end+0xfffd11d0> 43c4c: 00c00044 movi r3,1 43c50: d8c02915 stw r3,164(sp) 43c54: dc401405 stb r17,80(sp) 43c58: d8002785 stb zero,158(sp) 43c5c: 003fe906 br 43c04 <__alt_data_end+0xfffd1c04> 43c60: 01400174 movhi r5,5 43c64: 29484704 addi r5,r5,8476 43c68: d9403915 stw r5,228(sp) 43c6c: d8c02e15 stw r3,184(sp) 43c70: 1025883a mov r18,r2 43c74: 04401e04 movi r17,120 43c78: 9d84b03a or r2,r19,r22 43c7c: 1000fc1e bne r2,zero,44070 <___vfprintf_internal_r+0x1298> 43c80: 0039883a mov fp,zero 43c84: 00800084 movi r2,2 43c88: 10803fcc andi r2,r2,255 43c8c: 00c00044 movi r3,1 43c90: 10c20f26 beq r2,r3,444d0 <___vfprintf_internal_r+0x16f8> 43c94: 00c00084 movi r3,2 43c98: 10fd3326 beq r2,r3,43168 <__alt_data_end+0xfffd1168> 43c9c: 003e0b06 br 434cc <__alt_data_end+0xfffd14cc> 43ca0: d8c02017 ldw r3,128(sp) 43ca4: 003e7106 br 4366c <__alt_data_end+0xfffd166c> 43ca8: 00801944 movi r2,101 43cac: 14407e0e bge r2,r17,43ea8 <___vfprintf_internal_r+0x10d0> 43cb0: d9003617 ldw r4,216(sp) 43cb4: d9403817 ldw r5,224(sp) 43cb8: 000d883a mov r6,zero 43cbc: 000f883a mov r7,zero 43cc0: d8c03c15 stw r3,240(sp) 43cc4: da003d15 stw r8,244(sp) 43cc8: 004ddd40 call 4ddd4 <__eqdf2> 43ccc: d8c03c17 ldw r3,240(sp) 43cd0: da003d17 ldw r8,244(sp) 43cd4: 1000f71e bne r2,zero,440b4 <___vfprintf_internal_r+0x12dc> 43cd8: d8801f17 ldw r2,124(sp) 43cdc: 01000174 movhi r4,5 43ce0: 21084e04 addi r4,r4,8504 43ce4: 18c00044 addi r3,r3,1 43ce8: 10800044 addi r2,r2,1 43cec: 41000015 stw r4,0(r8) 43cf0: 01000044 movi r4,1 43cf4: 41000115 stw r4,4(r8) 43cf8: d8c02015 stw r3,128(sp) 43cfc: d8801f15 stw r2,124(sp) 43d00: 010001c4 movi r4,7 43d04: 2082b816 blt r4,r2,447e8 <___vfprintf_internal_r+0x1a10> 43d08: 42000204 addi r8,r8,8 43d0c: d8802617 ldw r2,152(sp) 43d10: d9403317 ldw r5,204(sp) 43d14: 11400216 blt r2,r5,43d20 <___vfprintf_internal_r+0xf48> 43d18: 9080004c andi r2,r18,1 43d1c: 103eb326 beq r2,zero,437ec <__alt_data_end+0xfffd17ec> 43d20: d8803717 ldw r2,220(sp) 43d24: d9003417 ldw r4,208(sp) 43d28: d9403717 ldw r5,220(sp) 43d2c: 1887883a add r3,r3,r2 43d30: d8801f17 ldw r2,124(sp) 43d34: 41000015 stw r4,0(r8) 43d38: 41400115 stw r5,4(r8) 43d3c: 10800044 addi r2,r2,1 43d40: d8c02015 stw r3,128(sp) 43d44: d8801f15 stw r2,124(sp) 43d48: 010001c4 movi r4,7 43d4c: 20832916 blt r4,r2,449f4 <___vfprintf_internal_r+0x1c1c> 43d50: 42000204 addi r8,r8,8 43d54: d8803317 ldw r2,204(sp) 43d58: 143fffc4 addi r16,r2,-1 43d5c: 043ea30e bge zero,r16,437ec <__alt_data_end+0xfffd17ec> 43d60: 04400404 movi r17,16 43d64: d8801f17 ldw r2,124(sp) 43d68: 8c00880e bge r17,r16,43f8c <___vfprintf_internal_r+0x11b4> 43d6c: 01400174 movhi r5,5 43d70: 29484e84 addi r5,r5,8506 43d74: d9402c15 stw r5,176(sp) 43d78: 058001c4 movi r22,7 43d7c: dcc02d17 ldw r19,180(sp) 43d80: 00000306 br 43d90 <___vfprintf_internal_r+0xfb8> 43d84: 42000204 addi r8,r8,8 43d88: 843ffc04 addi r16,r16,-16 43d8c: 8c00820e bge r17,r16,43f98 <___vfprintf_internal_r+0x11c0> 43d90: 18c00404 addi r3,r3,16 43d94: 10800044 addi r2,r2,1 43d98: 45000015 stw r20,0(r8) 43d9c: 44400115 stw r17,4(r8) 43da0: d8c02015 stw r3,128(sp) 43da4: d8801f15 stw r2,124(sp) 43da8: b0bff60e bge r22,r2,43d84 <__alt_data_end+0xfffd1d84> 43dac: d9801e04 addi r6,sp,120 43db0: b80b883a mov r5,r23 43db4: 9809883a mov r4,r19 43db8: 004a7200 call 4a720 <__sprint_r> 43dbc: 103d0a1e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8> 43dc0: d8c02017 ldw r3,128(sp) 43dc4: d8801f17 ldw r2,124(sp) 43dc8: da000404 addi r8,sp,16 43dcc: 003fee06 br 43d88 <__alt_data_end+0xfffd1d88> 43dd0: d9403117 ldw r5,196(sp) 43dd4: d8802917 ldw r2,164(sp) 43dd8: 28adc83a sub r22,r5,r2 43ddc: 05be410e bge zero,r22,436e4 <__alt_data_end+0xfffd16e4> 43de0: 07000404 movi fp,16 43de4: d8801f17 ldw r2,124(sp) 43de8: e5838f0e bge fp,r22,44c28 <___vfprintf_internal_r+0x1e50> 43dec: 01400174 movhi r5,5 43df0: 29484e84 addi r5,r5,8506 43df4: dc403015 stw r17,192(sp) 43df8: d9402c15 stw r5,176(sp) 43dfc: b023883a mov r17,r22 43e00: 04c001c4 movi r19,7 43e04: a82d883a mov r22,r21 43e08: 902b883a mov r21,r18 43e0c: 8025883a mov r18,r16 43e10: dc002d17 ldw r16,180(sp) 43e14: 00000306 br 43e24 <___vfprintf_internal_r+0x104c> 43e18: 8c7ffc04 addi r17,r17,-16 43e1c: 42000204 addi r8,r8,8 43e20: e440110e bge fp,r17,43e68 <___vfprintf_internal_r+0x1090> 43e24: 18c00404 addi r3,r3,16 43e28: 10800044 addi r2,r2,1 43e2c: 45000015 stw r20,0(r8) 43e30: 47000115 stw fp,4(r8) 43e34: d8c02015 stw r3,128(sp) 43e38: d8801f15 stw r2,124(sp) 43e3c: 98bff60e bge r19,r2,43e18 <__alt_data_end+0xfffd1e18> 43e40: d9801e04 addi r6,sp,120 43e44: b80b883a mov r5,r23 43e48: 8009883a mov r4,r16 43e4c: 004a7200 call 4a720 <__sprint_r> 43e50: 103ce51e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8> 43e54: 8c7ffc04 addi r17,r17,-16 43e58: d8c02017 ldw r3,128(sp) 43e5c: d8801f17 ldw r2,124(sp) 43e60: da000404 addi r8,sp,16 43e64: e47fef16 blt fp,r17,43e24 <__alt_data_end+0xfffd1e24> 43e68: 9021883a mov r16,r18 43e6c: a825883a mov r18,r21 43e70: b02b883a mov r21,r22 43e74: 882d883a mov r22,r17 43e78: dc403017 ldw r17,192(sp) 43e7c: d9002c17 ldw r4,176(sp) 43e80: 1d87883a add r3,r3,r22 43e84: 10800044 addi r2,r2,1 43e88: 41000015 stw r4,0(r8) 43e8c: 45800115 stw r22,4(r8) 43e90: d8c02015 stw r3,128(sp) 43e94: d8801f15 stw r2,124(sp) 43e98: 010001c4 movi r4,7 43e9c: 20818e16 blt r4,r2,444d8 <___vfprintf_internal_r+0x1700> 43ea0: 42000204 addi r8,r8,8 43ea4: 003e0f06 br 436e4 <__alt_data_end+0xfffd16e4> 43ea8: d9403317 ldw r5,204(sp) 43eac: 00800044 movi r2,1 43eb0: 18c00044 addi r3,r3,1 43eb4: 1141530e bge r2,r5,44404 <___vfprintf_internal_r+0x162c> 43eb8: dc401f17 ldw r17,124(sp) 43ebc: 00800044 movi r2,1 43ec0: 40800115 stw r2,4(r8) 43ec4: 8c400044 addi r17,r17,1 43ec8: 44000015 stw r16,0(r8) 43ecc: d8c02015 stw r3,128(sp) 43ed0: dc401f15 stw r17,124(sp) 43ed4: 008001c4 movi r2,7 43ed8: 14416b16 blt r2,r17,44488 <___vfprintf_internal_r+0x16b0> 43edc: 42000204 addi r8,r8,8 43ee0: d8803717 ldw r2,220(sp) 43ee4: d9003417 ldw r4,208(sp) 43ee8: 8c400044 addi r17,r17,1 43eec: 10c7883a add r3,r2,r3 43ef0: 40800115 stw r2,4(r8) 43ef4: 41000015 stw r4,0(r8) 43ef8: d8c02015 stw r3,128(sp) 43efc: dc401f15 stw r17,124(sp) 43f00: 008001c4 movi r2,7 43f04: 14416916 blt r2,r17,444ac <___vfprintf_internal_r+0x16d4> 43f08: 45800204 addi r22,r8,8 43f0c: d9003617 ldw r4,216(sp) 43f10: d9403817 ldw r5,224(sp) 43f14: 000d883a mov r6,zero 43f18: 000f883a mov r7,zero 43f1c: d8c03c15 stw r3,240(sp) 43f20: 004ddd40 call 4ddd4 <__eqdf2> 43f24: d8c03c17 ldw r3,240(sp) 43f28: 1000bc26 beq r2,zero,4421c <___vfprintf_internal_r+0x1444> 43f2c: d9403317 ldw r5,204(sp) 43f30: 84000044 addi r16,r16,1 43f34: 8c400044 addi r17,r17,1 43f38: 28bfffc4 addi r2,r5,-1 43f3c: 1887883a add r3,r3,r2 43f40: b0800115 stw r2,4(r22) 43f44: b4000015 stw r16,0(r22) 43f48: d8c02015 stw r3,128(sp) 43f4c: dc401f15 stw r17,124(sp) 43f50: 008001c4 movi r2,7 43f54: 14414316 blt r2,r17,44464 <___vfprintf_internal_r+0x168c> 43f58: b5800204 addi r22,r22,8 43f5c: d9003a17 ldw r4,232(sp) 43f60: df0022c4 addi fp,sp,139 43f64: 8c400044 addi r17,r17,1 43f68: 20c7883a add r3,r4,r3 43f6c: b7000015 stw fp,0(r22) 43f70: b1000115 stw r4,4(r22) 43f74: d8c02015 stw r3,128(sp) 43f78: dc401f15 stw r17,124(sp) 43f7c: 008001c4 movi r2,7 43f80: 14400e16 blt r2,r17,43fbc <___vfprintf_internal_r+0x11e4> 43f84: b2000204 addi r8,r22,8 43f88: 003e1806 br 437ec <__alt_data_end+0xfffd17ec> 43f8c: 01000174 movhi r4,5 43f90: 21084e84 addi r4,r4,8506 43f94: d9002c15 stw r4,176(sp) 43f98: d9002c17 ldw r4,176(sp) 43f9c: 1c07883a add r3,r3,r16 43fa0: 44000115 stw r16,4(r8) 43fa4: 41000015 stw r4,0(r8) 43fa8: 10800044 addi r2,r2,1 43fac: d8c02015 stw r3,128(sp) 43fb0: d8801f15 stw r2,124(sp) 43fb4: 010001c4 movi r4,7 43fb8: 20be0b0e bge r4,r2,437e8 <__alt_data_end+0xfffd17e8> 43fbc: d9002d17 ldw r4,180(sp) 43fc0: d9801e04 addi r6,sp,120 43fc4: b80b883a mov r5,r23 43fc8: 004a7200 call 4a720 <__sprint_r> 43fcc: 103c861e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8> 43fd0: d8c02017 ldw r3,128(sp) 43fd4: da000404 addi r8,sp,16 43fd8: 003e0406 br 437ec <__alt_data_end+0xfffd17ec> 43fdc: d9002d17 ldw r4,180(sp) 43fe0: d9801e04 addi r6,sp,120 43fe4: b80b883a mov r5,r23 43fe8: 004a7200 call 4a720 <__sprint_r> 43fec: 103e3b26 beq r2,zero,438dc <__alt_data_end+0xfffd18dc> 43ff0: 003c7d06 br 431e8 <__alt_data_end+0xfffd11e8> 43ff4: d9002d17 ldw r4,180(sp) 43ff8: d9801e04 addi r6,sp,120 43ffc: b80b883a mov r5,r23 44000: 004a7200 call 4a720 <__sprint_r> 44004: 103c781e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8> 44008: d8c02017 ldw r3,128(sp) 4400c: da000404 addi r8,sp,16 44010: 003de906 br 437b8 <__alt_data_end+0xfffd17b8> 44014: d9002d17 ldw r4,180(sp) 44018: d9801e04 addi r6,sp,120 4401c: b80b883a mov r5,r23 44020: 004a7200 call 4a720 <__sprint_r> 44024: 103c701e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8> 44028: d8c02017 ldw r3,128(sp) 4402c: da000404 addi r8,sp,16 44030: 003d9b06 br 436a0 <__alt_data_end+0xfffd16a0> 44034: d9002d17 ldw r4,180(sp) 44038: d9801e04 addi r6,sp,120 4403c: b80b883a mov r5,r23 44040: 004a7200 call 4a720 <__sprint_r> 44044: 103c681e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8> 44048: d8c02017 ldw r3,128(sp) 4404c: da000404 addi r8,sp,16 44050: 003da106 br 436d8 <__alt_data_end+0xfffd16d8> 44054: d9402a17 ldw r5,168(sp) 44058: d8002785 stb zero,158(sp) 4405c: 283f0616 blt r5,zero,43c78 <__alt_data_end+0xfffd1c78> 44060: 00ffdfc4 movi r3,-129 44064: 9d84b03a or r2,r19,r22 44068: 90e4703a and r18,r18,r3 4406c: 103c3b26 beq r2,zero,4315c <__alt_data_end+0xfffd115c> 44070: 0039883a mov fp,zero 44074: 003e5806 br 439d8 <__alt_data_end+0xfffd19d8> 44078: 9080040c andi r2,r18,16 4407c: 1001b326 beq r2,zero,4474c <___vfprintf_internal_r+0x1974> 44080: d8c02e17 ldw r3,184(sp) 44084: d9002a17 ldw r4,168(sp) 44088: d8002785 stb zero,158(sp) 4408c: 18800104 addi r2,r3,4 44090: 1cc00017 ldw r19,0(r3) 44094: 002d883a mov r22,zero 44098: 2001b516 blt r4,zero,44770 <___vfprintf_internal_r+0x1998> 4409c: 00ffdfc4 movi r3,-129 440a0: d8802e15 stw r2,184(sp) 440a4: 90e4703a and r18,r18,r3 440a8: 983d0526 beq r19,zero,434c0 <__alt_data_end+0xfffd14c0> 440ac: 0039883a mov fp,zero 440b0: 003d0806 br 434d4 <__alt_data_end+0xfffd14d4> 440b4: dc402617 ldw r17,152(sp) 440b8: 0441d30e bge zero,r17,44808 <___vfprintf_internal_r+0x1a30> 440bc: dc403217 ldw r17,200(sp) 440c0: d8803317 ldw r2,204(sp) 440c4: 1440010e bge r2,r17,440cc <___vfprintf_internal_r+0x12f4> 440c8: 1023883a mov r17,r2 440cc: 04400a0e bge zero,r17,440f8 <___vfprintf_internal_r+0x1320> 440d0: d8801f17 ldw r2,124(sp) 440d4: 1c47883a add r3,r3,r17 440d8: 44000015 stw r16,0(r8) 440dc: 10800044 addi r2,r2,1 440e0: 44400115 stw r17,4(r8) 440e4: d8c02015 stw r3,128(sp) 440e8: d8801f15 stw r2,124(sp) 440ec: 010001c4 movi r4,7 440f0: 20826516 blt r4,r2,44a88 <___vfprintf_internal_r+0x1cb0> 440f4: 42000204 addi r8,r8,8 440f8: 88026116 blt r17,zero,44a80 <___vfprintf_internal_r+0x1ca8> 440fc: d9003217 ldw r4,200(sp) 44100: 2463c83a sub r17,r4,r17 44104: 04407b0e bge zero,r17,442f4 <___vfprintf_internal_r+0x151c> 44108: 05800404 movi r22,16 4410c: d8801f17 ldw r2,124(sp) 44110: b4419d0e bge r22,r17,44788 <___vfprintf_internal_r+0x19b0> 44114: 01000174 movhi r4,5 44118: 21084e84 addi r4,r4,8506 4411c: d9002c15 stw r4,176(sp) 44120: 070001c4 movi fp,7 44124: dcc02d17 ldw r19,180(sp) 44128: 00000306 br 44138 <___vfprintf_internal_r+0x1360> 4412c: 42000204 addi r8,r8,8 44130: 8c7ffc04 addi r17,r17,-16 44134: b441970e bge r22,r17,44794 <___vfprintf_internal_r+0x19bc> 44138: 18c00404 addi r3,r3,16 4413c: 10800044 addi r2,r2,1 44140: 45000015 stw r20,0(r8) 44144: 45800115 stw r22,4(r8) 44148: d8c02015 stw r3,128(sp) 4414c: d8801f15 stw r2,124(sp) 44150: e0bff60e bge fp,r2,4412c <__alt_data_end+0xfffd212c> 44154: d9801e04 addi r6,sp,120 44158: b80b883a mov r5,r23 4415c: 9809883a mov r4,r19 44160: 004a7200 call 4a720 <__sprint_r> 44164: 103c201e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8> 44168: d8c02017 ldw r3,128(sp) 4416c: d8801f17 ldw r2,124(sp) 44170: da000404 addi r8,sp,16 44174: 003fee06 br 44130 <__alt_data_end+0xfffd2130> 44178: d9002d17 ldw r4,180(sp) 4417c: d9801e04 addi r6,sp,120 44180: b80b883a mov r5,r23 44184: 004a7200 call 4a720 <__sprint_r> 44188: 103c171e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8> 4418c: d8c02017 ldw r3,128(sp) 44190: df002787 ldb fp,158(sp) 44194: da000404 addi r8,sp,16 44198: 003d3406 br 4366c <__alt_data_end+0xfffd166c> 4419c: 9080040c andi r2,r18,16 441a0: 10016126 beq r2,zero,44728 <___vfprintf_internal_r+0x1950> 441a4: d9402e17 ldw r5,184(sp) 441a8: 2cc00017 ldw r19,0(r5) 441ac: 29400104 addi r5,r5,4 441b0: d9402e15 stw r5,184(sp) 441b4: 982dd7fa srai r22,r19,31 441b8: b005883a mov r2,r22 441bc: 003c5a06 br 43328 <__alt_data_end+0xfffd1328> 441c0: 9080040c andi r2,r18,16 441c4: 10003526 beq r2,zero,4429c <___vfprintf_internal_r+0x14c4> 441c8: d8c02e17 ldw r3,184(sp) 441cc: d9002a17 ldw r4,168(sp) 441d0: d8002785 stb zero,158(sp) 441d4: 18800104 addi r2,r3,4 441d8: 1cc00017 ldw r19,0(r3) 441dc: 002d883a mov r22,zero 441e0: 20003716 blt r4,zero,442c0 <___vfprintf_internal_r+0x14e8> 441e4: 00ffdfc4 movi r3,-129 441e8: d8802e15 stw r2,184(sp) 441ec: 90e4703a and r18,r18,r3 441f0: 0039883a mov fp,zero 441f4: 983dd426 beq r19,zero,43948 <__alt_data_end+0xfffd1948> 441f8: 00800244 movi r2,9 441fc: 14fc5336 bltu r2,r19,4334c <__alt_data_end+0xfffd134c> 44200: d8c02817 ldw r3,160(sp) 44204: dc001dc4 addi r16,sp,119 44208: 9cc00c04 addi r19,r19,48 4420c: 1c07c83a sub r3,r3,r16 44210: dcc01dc5 stb r19,119(sp) 44214: d8c02b15 stw r3,172(sp) 44218: 003cc606 br 43534 <__alt_data_end+0xfffd1534> 4421c: d8803317 ldw r2,204(sp) 44220: 143fffc4 addi r16,r2,-1 44224: 043f4d0e bge zero,r16,43f5c <__alt_data_end+0xfffd1f5c> 44228: 07000404 movi fp,16 4422c: e400810e bge fp,r16,44434 <___vfprintf_internal_r+0x165c> 44230: 01400174 movhi r5,5 44234: 29484e84 addi r5,r5,8506 44238: d9402c15 stw r5,176(sp) 4423c: 01c001c4 movi r7,7 44240: dcc02d17 ldw r19,180(sp) 44244: 00000306 br 44254 <___vfprintf_internal_r+0x147c> 44248: b5800204 addi r22,r22,8 4424c: 843ffc04 addi r16,r16,-16 44250: e4007b0e bge fp,r16,44440 <___vfprintf_internal_r+0x1668> 44254: 18c00404 addi r3,r3,16 44258: 8c400044 addi r17,r17,1 4425c: b5000015 stw r20,0(r22) 44260: b7000115 stw fp,4(r22) 44264: d8c02015 stw r3,128(sp) 44268: dc401f15 stw r17,124(sp) 4426c: 3c7ff60e bge r7,r17,44248 <__alt_data_end+0xfffd2248> 44270: d9801e04 addi r6,sp,120 44274: b80b883a mov r5,r23 44278: 9809883a mov r4,r19 4427c: d9c03c15 stw r7,240(sp) 44280: 004a7200 call 4a720 <__sprint_r> 44284: d9c03c17 ldw r7,240(sp) 44288: 103bd71e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8> 4428c: d8c02017 ldw r3,128(sp) 44290: dc401f17 ldw r17,124(sp) 44294: dd800404 addi r22,sp,16 44298: 003fec06 br 4424c <__alt_data_end+0xfffd224c> 4429c: 9080100c andi r2,r18,64 442a0: d8002785 stb zero,158(sp) 442a4: 10010e26 beq r2,zero,446e0 <___vfprintf_internal_r+0x1908> 442a8: d9402e17 ldw r5,184(sp) 442ac: d8c02a17 ldw r3,168(sp) 442b0: 002d883a mov r22,zero 442b4: 28800104 addi r2,r5,4 442b8: 2cc0000b ldhu r19,0(r5) 442bc: 183fc90e bge r3,zero,441e4 <__alt_data_end+0xfffd21e4> 442c0: d8802e15 stw r2,184(sp) 442c4: 0039883a mov fp,zero 442c8: 9d84b03a or r2,r19,r22 442cc: 103c1e1e bne r2,zero,43348 <__alt_data_end+0xfffd1348> 442d0: 00800044 movi r2,1 442d4: 003e6c06 br 43c88 <__alt_data_end+0xfffd1c88> 442d8: d9002d17 ldw r4,180(sp) 442dc: d9801e04 addi r6,sp,120 442e0: b80b883a mov r5,r23 442e4: 004a7200 call 4a720 <__sprint_r> 442e8: 103bbf1e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8> 442ec: d8c02017 ldw r3,128(sp) 442f0: da000404 addi r8,sp,16 442f4: d9003217 ldw r4,200(sp) 442f8: d8802617 ldw r2,152(sp) 442fc: d9403317 ldw r5,204(sp) 44300: 8123883a add r17,r16,r4 44304: 11400216 blt r2,r5,44310 <___vfprintf_internal_r+0x1538> 44308: 9100004c andi r4,r18,1 4430c: 20000d26 beq r4,zero,44344 <___vfprintf_internal_r+0x156c> 44310: d9003717 ldw r4,220(sp) 44314: d9403417 ldw r5,208(sp) 44318: 1907883a add r3,r3,r4 4431c: d9001f17 ldw r4,124(sp) 44320: 41400015 stw r5,0(r8) 44324: d9403717 ldw r5,220(sp) 44328: 21000044 addi r4,r4,1 4432c: d8c02015 stw r3,128(sp) 44330: 41400115 stw r5,4(r8) 44334: d9001f15 stw r4,124(sp) 44338: 014001c4 movi r5,7 4433c: 2901e816 blt r5,r4,44ae0 <___vfprintf_internal_r+0x1d08> 44340: 42000204 addi r8,r8,8 44344: d9003317 ldw r4,204(sp) 44348: 8121883a add r16,r16,r4 4434c: 2085c83a sub r2,r4,r2 44350: 8461c83a sub r16,r16,r17 44354: 1400010e bge r2,r16,4435c <___vfprintf_internal_r+0x1584> 44358: 1021883a mov r16,r2 4435c: 04000a0e bge zero,r16,44388 <___vfprintf_internal_r+0x15b0> 44360: d9001f17 ldw r4,124(sp) 44364: 1c07883a add r3,r3,r16 44368: 44400015 stw r17,0(r8) 4436c: 21000044 addi r4,r4,1 44370: 44000115 stw r16,4(r8) 44374: d8c02015 stw r3,128(sp) 44378: d9001f15 stw r4,124(sp) 4437c: 014001c4 movi r5,7 44380: 2901fb16 blt r5,r4,44b70 <___vfprintf_internal_r+0x1d98> 44384: 42000204 addi r8,r8,8 44388: 8001f716 blt r16,zero,44b68 <___vfprintf_internal_r+0x1d90> 4438c: 1421c83a sub r16,r2,r16 44390: 043d160e bge zero,r16,437ec <__alt_data_end+0xfffd17ec> 44394: 04400404 movi r17,16 44398: d8801f17 ldw r2,124(sp) 4439c: 8c3efb0e bge r17,r16,43f8c <__alt_data_end+0xfffd1f8c> 443a0: 01400174 movhi r5,5 443a4: 29484e84 addi r5,r5,8506 443a8: d9402c15 stw r5,176(sp) 443ac: 058001c4 movi r22,7 443b0: dcc02d17 ldw r19,180(sp) 443b4: 00000306 br 443c4 <___vfprintf_internal_r+0x15ec> 443b8: 42000204 addi r8,r8,8 443bc: 843ffc04 addi r16,r16,-16 443c0: 8c3ef50e bge r17,r16,43f98 <__alt_data_end+0xfffd1f98> 443c4: 18c00404 addi r3,r3,16 443c8: 10800044 addi r2,r2,1 443cc: 45000015 stw r20,0(r8) 443d0: 44400115 stw r17,4(r8) 443d4: d8c02015 stw r3,128(sp) 443d8: d8801f15 stw r2,124(sp) 443dc: b0bff60e bge r22,r2,443b8 <__alt_data_end+0xfffd23b8> 443e0: d9801e04 addi r6,sp,120 443e4: b80b883a mov r5,r23 443e8: 9809883a mov r4,r19 443ec: 004a7200 call 4a720 <__sprint_r> 443f0: 103b7d1e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8> 443f4: d8c02017 ldw r3,128(sp) 443f8: d8801f17 ldw r2,124(sp) 443fc: da000404 addi r8,sp,16 44400: 003fee06 br 443bc <__alt_data_end+0xfffd23bc> 44404: 9088703a and r4,r18,r2 44408: 203eab1e bne r4,zero,43eb8 <__alt_data_end+0xfffd1eb8> 4440c: dc401f17 ldw r17,124(sp) 44410: 40800115 stw r2,4(r8) 44414: 44000015 stw r16,0(r8) 44418: 8c400044 addi r17,r17,1 4441c: d8c02015 stw r3,128(sp) 44420: dc401f15 stw r17,124(sp) 44424: 008001c4 movi r2,7 44428: 14400e16 blt r2,r17,44464 <___vfprintf_internal_r+0x168c> 4442c: 45800204 addi r22,r8,8 44430: 003eca06 br 43f5c <__alt_data_end+0xfffd1f5c> 44434: 01000174 movhi r4,5 44438: 21084e84 addi r4,r4,8506 4443c: d9002c15 stw r4,176(sp) 44440: d8802c17 ldw r2,176(sp) 44444: 1c07883a add r3,r3,r16 44448: 8c400044 addi r17,r17,1 4444c: b0800015 stw r2,0(r22) 44450: b4000115 stw r16,4(r22) 44454: d8c02015 stw r3,128(sp) 44458: dc401f15 stw r17,124(sp) 4445c: 008001c4 movi r2,7 44460: 147ebd0e bge r2,r17,43f58 <__alt_data_end+0xfffd1f58> 44464: d9002d17 ldw r4,180(sp) 44468: d9801e04 addi r6,sp,120 4446c: b80b883a mov r5,r23 44470: 004a7200 call 4a720 <__sprint_r> 44474: 103b5c1e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8> 44478: d8c02017 ldw r3,128(sp) 4447c: dc401f17 ldw r17,124(sp) 44480: dd800404 addi r22,sp,16 44484: 003eb506 br 43f5c <__alt_data_end+0xfffd1f5c> 44488: d9002d17 ldw r4,180(sp) 4448c: d9801e04 addi r6,sp,120 44490: b80b883a mov r5,r23 44494: 004a7200 call 4a720 <__sprint_r> 44498: 103b531e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8> 4449c: d8c02017 ldw r3,128(sp) 444a0: dc401f17 ldw r17,124(sp) 444a4: da000404 addi r8,sp,16 444a8: 003e8d06 br 43ee0 <__alt_data_end+0xfffd1ee0> 444ac: d9002d17 ldw r4,180(sp) 444b0: d9801e04 addi r6,sp,120 444b4: b80b883a mov r5,r23 444b8: 004a7200 call 4a720 <__sprint_r> 444bc: 103b4a1e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8> 444c0: d8c02017 ldw r3,128(sp) 444c4: dc401f17 ldw r17,124(sp) 444c8: dd800404 addi r22,sp,16 444cc: 003e8f06 br 43f0c <__alt_data_end+0xfffd1f0c> 444d0: 0027883a mov r19,zero 444d4: 003f4a06 br 44200 <__alt_data_end+0xfffd2200> 444d8: d9002d17 ldw r4,180(sp) 444dc: d9801e04 addi r6,sp,120 444e0: b80b883a mov r5,r23 444e4: 004a7200 call 4a720 <__sprint_r> 444e8: 103b3f1e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8> 444ec: d8c02017 ldw r3,128(sp) 444f0: da000404 addi r8,sp,16 444f4: 003c7b06 br 436e4 <__alt_data_end+0xfffd16e4> 444f8: d9402a17 ldw r5,168(sp) 444fc: 04e7c83a sub r19,zero,r19 44500: 07000b44 movi fp,45 44504: 9804c03a cmpne r2,r19,zero 44508: 05adc83a sub r22,zero,r22 4450c: df002785 stb fp,158(sp) 44510: b0adc83a sub r22,r22,r2 44514: 28017b16 blt r5,zero,44b04 <___vfprintf_internal_r+0x1d2c> 44518: 00bfdfc4 movi r2,-129 4451c: 90a4703a and r18,r18,r2 44520: 003b8906 br 43348 <__alt_data_end+0xfffd1348> 44524: d9003617 ldw r4,216(sp) 44528: d9403817 ldw r5,224(sp) 4452c: da003d15 stw r8,244(sp) 44530: 004a3440 call 4a344 <__fpclassifyd> 44534: da003d17 ldw r8,244(sp) 44538: 1000f026 beq r2,zero,448fc <___vfprintf_internal_r+0x1b24> 4453c: d9002a17 ldw r4,168(sp) 44540: 05bff7c4 movi r22,-33 44544: 00bfffc4 movi r2,-1 44548: 8dac703a and r22,r17,r22 4454c: 20820026 beq r4,r2,44d50 <___vfprintf_internal_r+0x1f78> 44550: 008011c4 movi r2,71 44554: b081f726 beq r22,r2,44d34 <___vfprintf_internal_r+0x1f5c> 44558: d9003817 ldw r4,224(sp) 4455c: 90c04014 ori r3,r18,256 44560: d8c02c15 stw r3,176(sp) 44564: 20021516 blt r4,zero,44dbc <___vfprintf_internal_r+0x1fe4> 44568: dcc03817 ldw r19,224(sp) 4456c: d8002905 stb zero,164(sp) 44570: 00801984 movi r2,102 44574: 8881f926 beq r17,r2,44d5c <___vfprintf_internal_r+0x1f84> 44578: 00801184 movi r2,70 4457c: 88821c26 beq r17,r2,44df0 <___vfprintf_internal_r+0x2018> 44580: 00801144 movi r2,69 44584: b081ef26 beq r22,r2,44d44 <___vfprintf_internal_r+0x1f6c> 44588: d8c02a17 ldw r3,168(sp) 4458c: d8802104 addi r2,sp,132 44590: d8800315 stw r2,12(sp) 44594: d9403617 ldw r5,216(sp) 44598: d8802504 addi r2,sp,148 4459c: d9002d17 ldw r4,180(sp) 445a0: d8800215 stw r2,8(sp) 445a4: d8802604 addi r2,sp,152 445a8: d8c00015 stw r3,0(sp) 445ac: d8800115 stw r2,4(sp) 445b0: 01c00084 movi r7,2 445b4: 980d883a mov r6,r19 445b8: d8c03c15 stw r3,240(sp) 445bc: da003d15 stw r8,244(sp) 445c0: 00455080 call 45508 <_dtoa_r> 445c4: 1021883a mov r16,r2 445c8: 008019c4 movi r2,103 445cc: d8c03c17 ldw r3,240(sp) 445d0: da003d17 ldw r8,244(sp) 445d4: 88817126 beq r17,r2,44b9c <___vfprintf_internal_r+0x1dc4> 445d8: 008011c4 movi r2,71 445dc: 88829126 beq r17,r2,45024 <___vfprintf_internal_r+0x224c> 445e0: 80f9883a add fp,r16,r3 445e4: d9003617 ldw r4,216(sp) 445e8: 000d883a mov r6,zero 445ec: 000f883a mov r7,zero 445f0: 980b883a mov r5,r19 445f4: da003d15 stw r8,244(sp) 445f8: 004ddd40 call 4ddd4 <__eqdf2> 445fc: da003d17 ldw r8,244(sp) 44600: 10018d26 beq r2,zero,44c38 <___vfprintf_internal_r+0x1e60> 44604: d8802117 ldw r2,132(sp) 44608: 1700062e bgeu r2,fp,44624 <___vfprintf_internal_r+0x184c> 4460c: 01000c04 movi r4,48 44610: 10c00044 addi r3,r2,1 44614: d8c02115 stw r3,132(sp) 44618: 11000005 stb r4,0(r2) 4461c: d8802117 ldw r2,132(sp) 44620: 173ffb36 bltu r2,fp,44610 <__alt_data_end+0xfffd2610> 44624: 1405c83a sub r2,r2,r16 44628: d8803315 stw r2,204(sp) 4462c: 008011c4 movi r2,71 44630: b0817626 beq r22,r2,44c0c <___vfprintf_internal_r+0x1e34> 44634: 00801944 movi r2,101 44638: 1442800e bge r2,r17,4503c <___vfprintf_internal_r+0x2264> 4463c: d8c02617 ldw r3,152(sp) 44640: 00801984 movi r2,102 44644: d8c03215 stw r3,200(sp) 44648: 8881fe26 beq r17,r2,44e44 <___vfprintf_internal_r+0x206c> 4464c: d8c03217 ldw r3,200(sp) 44650: d9003317 ldw r4,204(sp) 44654: 1901dd16 blt r3,r4,44dcc <___vfprintf_internal_r+0x1ff4> 44658: 9480004c andi r18,r18,1 4465c: 90022b1e bne r18,zero,44f0c <___vfprintf_internal_r+0x2134> 44660: 1805883a mov r2,r3 44664: 18028316 blt r3,zero,45074 <___vfprintf_internal_r+0x229c> 44668: d8c03217 ldw r3,200(sp) 4466c: 044019c4 movi r17,103 44670: d8c02b15 stw r3,172(sp) 44674: df002907 ldb fp,164(sp) 44678: e001531e bne fp,zero,44bc8 <___vfprintf_internal_r+0x1df0> 4467c: df002783 ldbu fp,158(sp) 44680: d8802915 stw r2,164(sp) 44684: dc802c17 ldw r18,176(sp) 44688: d8002a15 stw zero,168(sp) 4468c: 003baf06 br 4354c <__alt_data_end+0xfffd154c> 44690: d8c02e17 ldw r3,184(sp) 44694: d9002e17 ldw r4,184(sp) 44698: d9402e17 ldw r5,184(sp) 4469c: 18c00017 ldw r3,0(r3) 446a0: 21000117 ldw r4,4(r4) 446a4: 29400204 addi r5,r5,8 446a8: d8c03615 stw r3,216(sp) 446ac: d9003815 stw r4,224(sp) 446b0: d9402e15 stw r5,184(sp) 446b4: 003b5006 br 433f8 <__alt_data_end+0xfffd13f8> 446b8: ac400007 ldb r17,0(r21) 446bc: 003a2806 br 42f60 <__alt_data_end+0xfffd0f60> 446c0: 9080100c andi r2,r18,64 446c4: 1000a826 beq r2,zero,44968 <___vfprintf_internal_r+0x1b90> 446c8: d8c02e17 ldw r3,184(sp) 446cc: 002d883a mov r22,zero 446d0: 1cc0000b ldhu r19,0(r3) 446d4: 18c00104 addi r3,r3,4 446d8: d8c02e15 stw r3,184(sp) 446dc: 003caf06 br 4399c <__alt_data_end+0xfffd199c> 446e0: d9002e17 ldw r4,184(sp) 446e4: d9402a17 ldw r5,168(sp) 446e8: 002d883a mov r22,zero 446ec: 20800104 addi r2,r4,4 446f0: 24c00017 ldw r19,0(r4) 446f4: 283ebb0e bge r5,zero,441e4 <__alt_data_end+0xfffd21e4> 446f8: 003ef106 br 442c0 <__alt_data_end+0xfffd22c0> 446fc: 9080040c andi r2,r18,16 44700: 1000921e bne r2,zero,4494c <___vfprintf_internal_r+0x1b74> 44704: 9480100c andi r18,r18,64 44708: 90013926 beq r18,zero,44bf0 <___vfprintf_internal_r+0x1e18> 4470c: d9402e17 ldw r5,184(sp) 44710: d8c02f17 ldw r3,188(sp) 44714: 28800017 ldw r2,0(r5) 44718: 29400104 addi r5,r5,4 4471c: d9402e15 stw r5,184(sp) 44720: 10c0000d sth r3,0(r2) 44724: 0039e406 br 42eb8 <__alt_data_end+0xfffd0eb8> 44728: 9080100c andi r2,r18,64 4472c: 10008026 beq r2,zero,44930 <___vfprintf_internal_r+0x1b58> 44730: d8802e17 ldw r2,184(sp) 44734: 14c0000f ldh r19,0(r2) 44738: 10800104 addi r2,r2,4 4473c: d8802e15 stw r2,184(sp) 44740: 982dd7fa srai r22,r19,31 44744: b005883a mov r2,r22 44748: 003af706 br 43328 <__alt_data_end+0xfffd1328> 4474c: 9080100c andi r2,r18,64 44750: d8002785 stb zero,158(sp) 44754: 10008a1e bne r2,zero,44980 <___vfprintf_internal_r+0x1ba8> 44758: d9002e17 ldw r4,184(sp) 4475c: d9402a17 ldw r5,168(sp) 44760: 002d883a mov r22,zero 44764: 20800104 addi r2,r4,4 44768: 24c00017 ldw r19,0(r4) 4476c: 283e4b0e bge r5,zero,4409c <__alt_data_end+0xfffd209c> 44770: 9d86b03a or r3,r19,r22 44774: d8802e15 stw r2,184(sp) 44778: 183e4c1e bne r3,zero,440ac <__alt_data_end+0xfffd20ac> 4477c: 0039883a mov fp,zero 44780: 0005883a mov r2,zero 44784: 003d4006 br 43c88 <__alt_data_end+0xfffd1c88> 44788: 01400174 movhi r5,5 4478c: 29484e84 addi r5,r5,8506 44790: d9402c15 stw r5,176(sp) 44794: d9402c17 ldw r5,176(sp) 44798: 1c47883a add r3,r3,r17 4479c: 10800044 addi r2,r2,1 447a0: 41400015 stw r5,0(r8) 447a4: 44400115 stw r17,4(r8) 447a8: d8c02015 stw r3,128(sp) 447ac: d8801f15 stw r2,124(sp) 447b0: 010001c4 movi r4,7 447b4: 20bec816 blt r4,r2,442d8 <__alt_data_end+0xfffd22d8> 447b8: 42000204 addi r8,r8,8 447bc: 003ecd06 br 442f4 <__alt_data_end+0xfffd22f4> 447c0: d9002a17 ldw r4,168(sp) 447c4: d8002785 stb zero,158(sp) 447c8: 203d2d16 blt r4,zero,43c80 <__alt_data_end+0xfffd1c80> 447cc: 00bfdfc4 movi r2,-129 447d0: 90a4703a and r18,r18,r2 447d4: 003a6106 br 4315c <__alt_data_end+0xfffd115c> 447d8: 01000174 movhi r4,5 447dc: 21084e84 addi r4,r4,8506 447e0: d9002c15 stw r4,176(sp) 447e4: 003bea06 br 43790 <__alt_data_end+0xfffd1790> 447e8: d9002d17 ldw r4,180(sp) 447ec: d9801e04 addi r6,sp,120 447f0: b80b883a mov r5,r23 447f4: 004a7200 call 4a720 <__sprint_r> 447f8: 103a7b1e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8> 447fc: d8c02017 ldw r3,128(sp) 44800: da000404 addi r8,sp,16 44804: 003d4106 br 43d0c <__alt_data_end+0xfffd1d0c> 44808: d8801f17 ldw r2,124(sp) 4480c: 01400174 movhi r5,5 44810: 01000044 movi r4,1 44814: 18c00044 addi r3,r3,1 44818: 10800044 addi r2,r2,1 4481c: 29484e04 addi r5,r5,8504 44820: 41000115 stw r4,4(r8) 44824: 41400015 stw r5,0(r8) 44828: d8c02015 stw r3,128(sp) 4482c: d8801f15 stw r2,124(sp) 44830: 010001c4 movi r4,7 44834: 20805c16 blt r4,r2,449a8 <___vfprintf_internal_r+0x1bd0> 44838: 42000204 addi r8,r8,8 4483c: 8800041e bne r17,zero,44850 <___vfprintf_internal_r+0x1a78> 44840: d8803317 ldw r2,204(sp) 44844: 1000021e bne r2,zero,44850 <___vfprintf_internal_r+0x1a78> 44848: 9080004c andi r2,r18,1 4484c: 103be726 beq r2,zero,437ec <__alt_data_end+0xfffd17ec> 44850: d9003717 ldw r4,220(sp) 44854: d8801f17 ldw r2,124(sp) 44858: d9403417 ldw r5,208(sp) 4485c: 20c7883a add r3,r4,r3 44860: 10800044 addi r2,r2,1 44864: 41000115 stw r4,4(r8) 44868: 41400015 stw r5,0(r8) 4486c: d8c02015 stw r3,128(sp) 44870: d8801f15 stw r2,124(sp) 44874: 010001c4 movi r4,7 44878: 20812116 blt r4,r2,44d00 <___vfprintf_internal_r+0x1f28> 4487c: 42000204 addi r8,r8,8 44880: 0463c83a sub r17,zero,r17 44884: 0440730e bge zero,r17,44a54 <___vfprintf_internal_r+0x1c7c> 44888: 05800404 movi r22,16 4488c: b440860e bge r22,r17,44aa8 <___vfprintf_internal_r+0x1cd0> 44890: 01400174 movhi r5,5 44894: 29484e84 addi r5,r5,8506 44898: d9402c15 stw r5,176(sp) 4489c: 070001c4 movi fp,7 448a0: dcc02d17 ldw r19,180(sp) 448a4: 00000306 br 448b4 <___vfprintf_internal_r+0x1adc> 448a8: 42000204 addi r8,r8,8 448ac: 8c7ffc04 addi r17,r17,-16 448b0: b440800e bge r22,r17,44ab4 <___vfprintf_internal_r+0x1cdc> 448b4: 18c00404 addi r3,r3,16 448b8: 10800044 addi r2,r2,1 448bc: 45000015 stw r20,0(r8) 448c0: 45800115 stw r22,4(r8) 448c4: d8c02015 stw r3,128(sp) 448c8: d8801f15 stw r2,124(sp) 448cc: e0bff60e bge fp,r2,448a8 <__alt_data_end+0xfffd28a8> 448d0: d9801e04 addi r6,sp,120 448d4: b80b883a mov r5,r23 448d8: 9809883a mov r4,r19 448dc: 004a7200 call 4a720 <__sprint_r> 448e0: 103a411e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8> 448e4: d8c02017 ldw r3,128(sp) 448e8: d8801f17 ldw r2,124(sp) 448ec: da000404 addi r8,sp,16 448f0: 003fee06 br 448ac <__alt_data_end+0xfffd28ac> 448f4: 00bfffc4 movi r2,-1 448f8: 003a3f06 br 431f8 <__alt_data_end+0xfffd11f8> 448fc: 008011c4 movi r2,71 44900: 1440b816 blt r2,r17,44be4 <___vfprintf_internal_r+0x1e0c> 44904: 04000174 movhi r16,5 44908: 84084004 addi r16,r16,8448 4490c: 00c000c4 movi r3,3 44910: 00bfdfc4 movi r2,-129 44914: d8c02915 stw r3,164(sp) 44918: 90a4703a and r18,r18,r2 4491c: df002783 ldbu fp,158(sp) 44920: d8c02b15 stw r3,172(sp) 44924: d8002a15 stw zero,168(sp) 44928: d8003215 stw zero,200(sp) 4492c: 003b0706 br 4354c <__alt_data_end+0xfffd154c> 44930: d8c02e17 ldw r3,184(sp) 44934: 1cc00017 ldw r19,0(r3) 44938: 18c00104 addi r3,r3,4 4493c: d8c02e15 stw r3,184(sp) 44940: 982dd7fa srai r22,r19,31 44944: b005883a mov r2,r22 44948: 003a7706 br 43328 <__alt_data_end+0xfffd1328> 4494c: d8c02e17 ldw r3,184(sp) 44950: d9002f17 ldw r4,188(sp) 44954: 18800017 ldw r2,0(r3) 44958: 18c00104 addi r3,r3,4 4495c: d8c02e15 stw r3,184(sp) 44960: 11000015 stw r4,0(r2) 44964: 00395406 br 42eb8 <__alt_data_end+0xfffd0eb8> 44968: d9002e17 ldw r4,184(sp) 4496c: 002d883a mov r22,zero 44970: 24c00017 ldw r19,0(r4) 44974: 21000104 addi r4,r4,4 44978: d9002e15 stw r4,184(sp) 4497c: 003c0706 br 4399c <__alt_data_end+0xfffd199c> 44980: d9402e17 ldw r5,184(sp) 44984: d8c02a17 ldw r3,168(sp) 44988: 002d883a mov r22,zero 4498c: 28800104 addi r2,r5,4 44990: 2cc0000b ldhu r19,0(r5) 44994: 183dc10e bge r3,zero,4409c <__alt_data_end+0xfffd209c> 44998: 003f7506 br 44770 <__alt_data_end+0xfffd2770> 4499c: 04000174 movhi r16,5 449a0: 84083e04 addi r16,r16,8440 449a4: 003aa706 br 43444 <__alt_data_end+0xfffd1444> 449a8: d9002d17 ldw r4,180(sp) 449ac: d9801e04 addi r6,sp,120 449b0: b80b883a mov r5,r23 449b4: 004a7200 call 4a720 <__sprint_r> 449b8: 103a0b1e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8> 449bc: dc402617 ldw r17,152(sp) 449c0: d8c02017 ldw r3,128(sp) 449c4: da000404 addi r8,sp,16 449c8: 003f9c06 br 4483c <__alt_data_end+0xfffd283c> 449cc: ac400043 ldbu r17,1(r21) 449d0: 84000814 ori r16,r16,32 449d4: ad400044 addi r21,r21,1 449d8: 8c403fcc andi r17,r17,255 449dc: 8c40201c xori r17,r17,128 449e0: 8c7fe004 addi r17,r17,-128 449e4: 00395e06 br 42f60 <__alt_data_end+0xfffd0f60> 449e8: d8c02e15 stw r3,184(sp) 449ec: 0039883a mov fp,zero 449f0: 003e3506 br 442c8 <__alt_data_end+0xfffd22c8> 449f4: d9002d17 ldw r4,180(sp) 449f8: d9801e04 addi r6,sp,120 449fc: b80b883a mov r5,r23 44a00: 004a7200 call 4a720 <__sprint_r> 44a04: 1039f81e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8> 44a08: d8c02017 ldw r3,128(sp) 44a0c: da000404 addi r8,sp,16 44a10: 003cd006 br 43d54 <__alt_data_end+0xfffd1d54> 44a14: 8009883a mov r4,r16 44a18: df003d15 stw fp,244(sp) 44a1c: 0042d400 call 42d40 44a20: d8802b15 stw r2,172(sp) 44a24: da003d17 ldw r8,244(sp) 44a28: 103c200e bge r2,zero,43aac <__alt_data_end+0xfffd1aac> 44a2c: 0005883a mov r2,zero 44a30: 003c1e06 br 43aac <__alt_data_end+0xfffd1aac> 44a34: d9002d17 ldw r4,180(sp) 44a38: d9801e04 addi r6,sp,120 44a3c: b80b883a mov r5,r23 44a40: 004a7200 call 4a720 <__sprint_r> 44a44: 1039e81e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8> 44a48: d8c02017 ldw r3,128(sp) 44a4c: d8801f17 ldw r2,124(sp) 44a50: da000404 addi r8,sp,16 44a54: d9403317 ldw r5,204(sp) 44a58: 10800044 addi r2,r2,1 44a5c: 44000015 stw r16,0(r8) 44a60: 28c7883a add r3,r5,r3 44a64: 003b5b06 br 437d4 <__alt_data_end+0xfffd17d4> 44a68: 01000174 movhi r4,5 44a6c: 21085284 addi r4,r4,8522 44a70: d9003515 stw r4,212(sp) 44a74: 003af206 br 43640 <__alt_data_end+0xfffd1640> 44a78: 013fffc4 movi r4,-1 44a7c: 003a0806 br 432a0 <__alt_data_end+0xfffd12a0> 44a80: 0023883a mov r17,zero 44a84: 003d9d06 br 440fc <__alt_data_end+0xfffd20fc> 44a88: d9002d17 ldw r4,180(sp) 44a8c: d9801e04 addi r6,sp,120 44a90: b80b883a mov r5,r23 44a94: 004a7200 call 4a720 <__sprint_r> 44a98: 1039d31e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8> 44a9c: d8c02017 ldw r3,128(sp) 44aa0: da000404 addi r8,sp,16 44aa4: 003d9406 br 440f8 <__alt_data_end+0xfffd20f8> 44aa8: 01000174 movhi r4,5 44aac: 21084e84 addi r4,r4,8506 44ab0: d9002c15 stw r4,176(sp) 44ab4: d9002c17 ldw r4,176(sp) 44ab8: 1c47883a add r3,r3,r17 44abc: 10800044 addi r2,r2,1 44ac0: 41000015 stw r4,0(r8) 44ac4: 44400115 stw r17,4(r8) 44ac8: d8c02015 stw r3,128(sp) 44acc: d8801f15 stw r2,124(sp) 44ad0: 010001c4 movi r4,7 44ad4: 20bfd716 blt r4,r2,44a34 <__alt_data_end+0xfffd2a34> 44ad8: 42000204 addi r8,r8,8 44adc: 003fdd06 br 44a54 <__alt_data_end+0xfffd2a54> 44ae0: d9002d17 ldw r4,180(sp) 44ae4: d9801e04 addi r6,sp,120 44ae8: b80b883a mov r5,r23 44aec: 004a7200 call 4a720 <__sprint_r> 44af0: 1039bd1e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8> 44af4: d8802617 ldw r2,152(sp) 44af8: d8c02017 ldw r3,128(sp) 44afc: da000404 addi r8,sp,16 44b00: 003e1006 br 44344 <__alt_data_end+0xfffd2344> 44b04: 00800044 movi r2,1 44b08: 10803fcc andi r2,r2,255 44b0c: 00c00044 movi r3,1 44b10: 10fa0d26 beq r2,r3,43348 <__alt_data_end+0xfffd1348> 44b14: 00c00084 movi r3,2 44b18: 10fbaf26 beq r2,r3,439d8 <__alt_data_end+0xfffd19d8> 44b1c: 003a6d06 br 434d4 <__alt_data_end+0xfffd14d4> 44b20: 01000174 movhi r4,5 44b24: 21085284 addi r4,r4,8522 44b28: d9003515 stw r4,212(sp) 44b2c: 003b5406 br 43880 <__alt_data_end+0xfffd1880> 44b30: d8802a17 ldw r2,168(sp) 44b34: 00c00184 movi r3,6 44b38: 1880012e bgeu r3,r2,44b40 <___vfprintf_internal_r+0x1d68> 44b3c: 1805883a mov r2,r3 44b40: d8802b15 stw r2,172(sp) 44b44: 1000ef16 blt r2,zero,44f04 <___vfprintf_internal_r+0x212c> 44b48: 04000174 movhi r16,5 44b4c: d8802915 stw r2,164(sp) 44b50: dcc02e15 stw r19,184(sp) 44b54: d8002a15 stw zero,168(sp) 44b58: d8003215 stw zero,200(sp) 44b5c: 84084c04 addi r16,r16,8496 44b60: 0039883a mov fp,zero 44b64: 003a8006 br 43568 <__alt_data_end+0xfffd1568> 44b68: 0021883a mov r16,zero 44b6c: 003e0706 br 4438c <__alt_data_end+0xfffd238c> 44b70: d9002d17 ldw r4,180(sp) 44b74: d9801e04 addi r6,sp,120 44b78: b80b883a mov r5,r23 44b7c: 004a7200 call 4a720 <__sprint_r> 44b80: 1039991e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8> 44b84: d8802617 ldw r2,152(sp) 44b88: d9403317 ldw r5,204(sp) 44b8c: d8c02017 ldw r3,128(sp) 44b90: da000404 addi r8,sp,16 44b94: 2885c83a sub r2,r5,r2 44b98: 003dfb06 br 44388 <__alt_data_end+0xfffd2388> 44b9c: 9080004c andi r2,r18,1 44ba0: 103e8f1e bne r2,zero,445e0 <__alt_data_end+0xfffd25e0> 44ba4: d8802117 ldw r2,132(sp) 44ba8: 003e9e06 br 44624 <__alt_data_end+0xfffd2624> 44bac: 1025883a mov r18,r2 44bb0: 0039883a mov fp,zero 44bb4: 00800084 movi r2,2 44bb8: 003fd306 br 44b08 <__alt_data_end+0xfffd2b08> 44bbc: 07000b44 movi fp,45 44bc0: df002785 stb fp,158(sp) 44bc4: 003a1b06 br 43434 <__alt_data_end+0xfffd1434> 44bc8: 00c00b44 movi r3,45 44bcc: d8c02785 stb r3,158(sp) 44bd0: d8802915 stw r2,164(sp) 44bd4: dc802c17 ldw r18,176(sp) 44bd8: d8002a15 stw zero,168(sp) 44bdc: 07000b44 movi fp,45 44be0: 003a5e06 br 4355c <__alt_data_end+0xfffd155c> 44be4: 04000174 movhi r16,5 44be8: 84084104 addi r16,r16,8452 44bec: 003f4706 br 4490c <__alt_data_end+0xfffd290c> 44bf0: d9002e17 ldw r4,184(sp) 44bf4: d9402f17 ldw r5,188(sp) 44bf8: 20800017 ldw r2,0(r4) 44bfc: 21000104 addi r4,r4,4 44c00: d9002e15 stw r4,184(sp) 44c04: 11400015 stw r5,0(r2) 44c08: 0038ab06 br 42eb8 <__alt_data_end+0xfffd0eb8> 44c0c: dd802617 ldw r22,152(sp) 44c10: 00bfff44 movi r2,-3 44c14: b0801c16 blt r22,r2,44c88 <___vfprintf_internal_r+0x1eb0> 44c18: d9402a17 ldw r5,168(sp) 44c1c: 2d801a16 blt r5,r22,44c88 <___vfprintf_internal_r+0x1eb0> 44c20: dd803215 stw r22,200(sp) 44c24: 003e8906 br 4464c <__alt_data_end+0xfffd264c> 44c28: 01000174 movhi r4,5 44c2c: 21084e84 addi r4,r4,8506 44c30: d9002c15 stw r4,176(sp) 44c34: 003c9106 br 43e7c <__alt_data_end+0xfffd1e7c> 44c38: e005883a mov r2,fp 44c3c: 003e7906 br 44624 <__alt_data_end+0xfffd2624> 44c40: d9002a17 ldw r4,168(sp) 44c44: df002783 ldbu fp,158(sp) 44c48: dcc02e15 stw r19,184(sp) 44c4c: d9002915 stw r4,164(sp) 44c50: d9002b15 stw r4,172(sp) 44c54: d8002a15 stw zero,168(sp) 44c58: d8003215 stw zero,200(sp) 44c5c: 003a3b06 br 4354c <__alt_data_end+0xfffd154c> 44c60: 9080004c andi r2,r18,1 44c64: 0039883a mov fp,zero 44c68: 10000426 beq r2,zero,44c7c <___vfprintf_internal_r+0x1ea4> 44c6c: 00800c04 movi r2,48 44c70: dc001dc4 addi r16,sp,119 44c74: d8801dc5 stb r2,119(sp) 44c78: 003b6406 br 43a0c <__alt_data_end+0xfffd1a0c> 44c7c: d8002b15 stw zero,172(sp) 44c80: dc001e04 addi r16,sp,120 44c84: 003a2b06 br 43534 <__alt_data_end+0xfffd1534> 44c88: 8c7fff84 addi r17,r17,-2 44c8c: b5bfffc4 addi r22,r22,-1 44c90: dd802615 stw r22,152(sp) 44c94: dc4022c5 stb r17,139(sp) 44c98: b000bf16 blt r22,zero,44f98 <___vfprintf_internal_r+0x21c0> 44c9c: 00800ac4 movi r2,43 44ca0: d8802305 stb r2,140(sp) 44ca4: 00800244 movi r2,9 44ca8: 15807016 blt r2,r22,44e6c <___vfprintf_internal_r+0x2094> 44cac: 00800c04 movi r2,48 44cb0: b5800c04 addi r22,r22,48 44cb4: d8802345 stb r2,141(sp) 44cb8: dd802385 stb r22,142(sp) 44cbc: d88023c4 addi r2,sp,143 44cc0: df0022c4 addi fp,sp,139 44cc4: d8c03317 ldw r3,204(sp) 44cc8: 1739c83a sub fp,r2,fp 44ccc: d9003317 ldw r4,204(sp) 44cd0: e0c7883a add r3,fp,r3 44cd4: df003a15 stw fp,232(sp) 44cd8: d8c02b15 stw r3,172(sp) 44cdc: 00800044 movi r2,1 44ce0: 1100b30e bge r2,r4,44fb0 <___vfprintf_internal_r+0x21d8> 44ce4: d8c02b17 ldw r3,172(sp) 44ce8: 18c00044 addi r3,r3,1 44cec: d8c02b15 stw r3,172(sp) 44cf0: 1805883a mov r2,r3 44cf4: 1800ac16 blt r3,zero,44fa8 <___vfprintf_internal_r+0x21d0> 44cf8: d8003215 stw zero,200(sp) 44cfc: 003e5d06 br 44674 <__alt_data_end+0xfffd2674> 44d00: d9002d17 ldw r4,180(sp) 44d04: d9801e04 addi r6,sp,120 44d08: b80b883a mov r5,r23 44d0c: 004a7200 call 4a720 <__sprint_r> 44d10: 1039351e bne r2,zero,431e8 <__alt_data_end+0xfffd11e8> 44d14: dc402617 ldw r17,152(sp) 44d18: d8c02017 ldw r3,128(sp) 44d1c: d8801f17 ldw r2,124(sp) 44d20: da000404 addi r8,sp,16 44d24: 003ed606 br 44880 <__alt_data_end+0xfffd2880> 44d28: 182b883a mov r21,r3 44d2c: d8002a15 stw zero,168(sp) 44d30: 00388c06 br 42f64 <__alt_data_end+0xfffd0f64> 44d34: d8802a17 ldw r2,168(sp) 44d38: 103e071e bne r2,zero,44558 <__alt_data_end+0xfffd2558> 44d3c: dc002a15 stw r16,168(sp) 44d40: 003e0506 br 44558 <__alt_data_end+0xfffd2558> 44d44: d9002a17 ldw r4,168(sp) 44d48: 20c00044 addi r3,r4,1 44d4c: 003e0f06 br 4458c <__alt_data_end+0xfffd258c> 44d50: 01400184 movi r5,6 44d54: d9402a15 stw r5,168(sp) 44d58: 003dff06 br 44558 <__alt_data_end+0xfffd2558> 44d5c: d8802104 addi r2,sp,132 44d60: d8800315 stw r2,12(sp) 44d64: d8802504 addi r2,sp,148 44d68: d8800215 stw r2,8(sp) 44d6c: d8802604 addi r2,sp,152 44d70: d8800115 stw r2,4(sp) 44d74: d8802a17 ldw r2,168(sp) 44d78: d9403617 ldw r5,216(sp) 44d7c: d9002d17 ldw r4,180(sp) 44d80: d8800015 stw r2,0(sp) 44d84: 01c000c4 movi r7,3 44d88: 980d883a mov r6,r19 44d8c: da003d15 stw r8,244(sp) 44d90: 00455080 call 45508 <_dtoa_r> 44d94: d8c02a17 ldw r3,168(sp) 44d98: da003d17 ldw r8,244(sp) 44d9c: 1021883a mov r16,r2 44da0: 10f9883a add fp,r2,r3 44da4: 81000007 ldb r4,0(r16) 44da8: 00800c04 movi r2,48 44dac: 20805e26 beq r4,r2,44f28 <___vfprintf_internal_r+0x2150> 44db0: d8c02617 ldw r3,152(sp) 44db4: e0f9883a add fp,fp,r3 44db8: 003e0a06 br 445e4 <__alt_data_end+0xfffd25e4> 44dbc: 00c00b44 movi r3,45 44dc0: 24e0003c xorhi r19,r4,32768 44dc4: d8c02905 stb r3,164(sp) 44dc8: 003de906 br 44570 <__alt_data_end+0xfffd2570> 44dcc: d8c03217 ldw r3,200(sp) 44dd0: 00c07a0e bge zero,r3,44fbc <___vfprintf_internal_r+0x21e4> 44dd4: 00800044 movi r2,1 44dd8: d9003317 ldw r4,204(sp) 44ddc: 1105883a add r2,r2,r4 44de0: d8802b15 stw r2,172(sp) 44de4: 10004e16 blt r2,zero,44f20 <___vfprintf_internal_r+0x2148> 44de8: 044019c4 movi r17,103 44dec: 003e2106 br 44674 <__alt_data_end+0xfffd2674> 44df0: d9002a17 ldw r4,168(sp) 44df4: d8802104 addi r2,sp,132 44df8: d8800315 stw r2,12(sp) 44dfc: d9000015 stw r4,0(sp) 44e00: d8802504 addi r2,sp,148 44e04: d9403617 ldw r5,216(sp) 44e08: d9002d17 ldw r4,180(sp) 44e0c: d8800215 stw r2,8(sp) 44e10: d8802604 addi r2,sp,152 44e14: d8800115 stw r2,4(sp) 44e18: 01c000c4 movi r7,3 44e1c: 980d883a mov r6,r19 44e20: da003d15 stw r8,244(sp) 44e24: 00455080 call 45508 <_dtoa_r> 44e28: d8c02a17 ldw r3,168(sp) 44e2c: da003d17 ldw r8,244(sp) 44e30: 1021883a mov r16,r2 44e34: 00801184 movi r2,70 44e38: 80f9883a add fp,r16,r3 44e3c: 88bfd926 beq r17,r2,44da4 <__alt_data_end+0xfffd2da4> 44e40: 003de806 br 445e4 <__alt_data_end+0xfffd25e4> 44e44: d9002a17 ldw r4,168(sp) 44e48: 00c04d0e bge zero,r3,44f80 <___vfprintf_internal_r+0x21a8> 44e4c: 2000441e bne r4,zero,44f60 <___vfprintf_internal_r+0x2188> 44e50: 9480004c andi r18,r18,1 44e54: 9000421e bne r18,zero,44f60 <___vfprintf_internal_r+0x2188> 44e58: 1805883a mov r2,r3 44e5c: 18006f16 blt r3,zero,4501c <___vfprintf_internal_r+0x2244> 44e60: d8c03217 ldw r3,200(sp) 44e64: d8c02b15 stw r3,172(sp) 44e68: 003e0206 br 44674 <__alt_data_end+0xfffd2674> 44e6c: df0022c4 addi fp,sp,139 44e70: dc002a15 stw r16,168(sp) 44e74: 4027883a mov r19,r8 44e78: e021883a mov r16,fp 44e7c: b009883a mov r4,r22 44e80: 01400284 movi r5,10 44e84: 004d2ac0 call 4d2ac <__modsi3> 44e88: 10800c04 addi r2,r2,48 44e8c: 843fffc4 addi r16,r16,-1 44e90: b009883a mov r4,r22 44e94: 01400284 movi r5,10 44e98: 80800005 stb r2,0(r16) 44e9c: 004d2280 call 4d228 <__divsi3> 44ea0: 102d883a mov r22,r2 44ea4: 00800244 movi r2,9 44ea8: 15bff416 blt r2,r22,44e7c <__alt_data_end+0xfffd2e7c> 44eac: 9811883a mov r8,r19 44eb0: b0800c04 addi r2,r22,48 44eb4: 8027883a mov r19,r16 44eb8: 997fffc4 addi r5,r19,-1 44ebc: 98bfffc5 stb r2,-1(r19) 44ec0: dc002a17 ldw r16,168(sp) 44ec4: 2f006d2e bgeu r5,fp,4507c <___vfprintf_internal_r+0x22a4> 44ec8: d9c02384 addi r7,sp,142 44ecc: 3ccfc83a sub r7,r7,r19 44ed0: d9002344 addi r4,sp,141 44ed4: e1cf883a add r7,fp,r7 44ed8: 00000106 br 44ee0 <___vfprintf_internal_r+0x2108> 44edc: 28800003 ldbu r2,0(r5) 44ee0: 20800005 stb r2,0(r4) 44ee4: 21000044 addi r4,r4,1 44ee8: 29400044 addi r5,r5,1 44eec: 393ffb1e bne r7,r4,44edc <__alt_data_end+0xfffd2edc> 44ef0: d8802304 addi r2,sp,140 44ef4: 14c5c83a sub r2,r2,r19 44ef8: d8c02344 addi r3,sp,141 44efc: 1885883a add r2,r3,r2 44f00: 003f7006 br 44cc4 <__alt_data_end+0xfffd2cc4> 44f04: 0005883a mov r2,zero 44f08: 003f0f06 br 44b48 <__alt_data_end+0xfffd2b48> 44f0c: d8c03217 ldw r3,200(sp) 44f10: 18c00044 addi r3,r3,1 44f14: d8c02b15 stw r3,172(sp) 44f18: 1805883a mov r2,r3 44f1c: 183fb20e bge r3,zero,44de8 <__alt_data_end+0xfffd2de8> 44f20: 0005883a mov r2,zero 44f24: 003fb006 br 44de8 <__alt_data_end+0xfffd2de8> 44f28: d9003617 ldw r4,216(sp) 44f2c: 000d883a mov r6,zero 44f30: 000f883a mov r7,zero 44f34: 980b883a mov r5,r19 44f38: d8c03c15 stw r3,240(sp) 44f3c: da003d15 stw r8,244(sp) 44f40: 004ddd40 call 4ddd4 <__eqdf2> 44f44: d8c03c17 ldw r3,240(sp) 44f48: da003d17 ldw r8,244(sp) 44f4c: 103f9826 beq r2,zero,44db0 <__alt_data_end+0xfffd2db0> 44f50: 00800044 movi r2,1 44f54: 10c7c83a sub r3,r2,r3 44f58: d8c02615 stw r3,152(sp) 44f5c: 003f9506 br 44db4 <__alt_data_end+0xfffd2db4> 44f60: d9002a17 ldw r4,168(sp) 44f64: d8c03217 ldw r3,200(sp) 44f68: 20800044 addi r2,r4,1 44f6c: 1885883a add r2,r3,r2 44f70: d8802b15 stw r2,172(sp) 44f74: 103dbf0e bge r2,zero,44674 <__alt_data_end+0xfffd2674> 44f78: 0005883a mov r2,zero 44f7c: 003dbd06 br 44674 <__alt_data_end+0xfffd2674> 44f80: 2000201e bne r4,zero,45004 <___vfprintf_internal_r+0x222c> 44f84: 9480004c andi r18,r18,1 44f88: 90001e1e bne r18,zero,45004 <___vfprintf_internal_r+0x222c> 44f8c: 00800044 movi r2,1 44f90: d8802b15 stw r2,172(sp) 44f94: 003db706 br 44674 <__alt_data_end+0xfffd2674> 44f98: 00800b44 movi r2,45 44f9c: 05adc83a sub r22,zero,r22 44fa0: d8802305 stb r2,140(sp) 44fa4: 003f3f06 br 44ca4 <__alt_data_end+0xfffd2ca4> 44fa8: 0005883a mov r2,zero 44fac: 003f5206 br 44cf8 <__alt_data_end+0xfffd2cf8> 44fb0: 90a4703a and r18,r18,r2 44fb4: 903f4e26 beq r18,zero,44cf0 <__alt_data_end+0xfffd2cf0> 44fb8: 003f4a06 br 44ce4 <__alt_data_end+0xfffd2ce4> 44fbc: 00800084 movi r2,2 44fc0: 10c5c83a sub r2,r2,r3 44fc4: 003f8406 br 44dd8 <__alt_data_end+0xfffd2dd8> 44fc8: d9402e17 ldw r5,184(sp) 44fcc: d9002e17 ldw r4,184(sp) 44fd0: ac400043 ldbu r17,1(r21) 44fd4: 29400017 ldw r5,0(r5) 44fd8: 20800104 addi r2,r4,4 44fdc: d8802e15 stw r2,184(sp) 44fe0: d9402a15 stw r5,168(sp) 44fe4: 182b883a mov r21,r3 44fe8: 283e7b0e bge r5,zero,449d8 <__alt_data_end+0xfffd29d8> 44fec: 8c403fcc andi r17,r17,255 44ff0: 017fffc4 movi r5,-1 44ff4: 8c40201c xori r17,r17,128 44ff8: d9402a15 stw r5,168(sp) 44ffc: 8c7fe004 addi r17,r17,-128 45000: 0037d706 br 42f60 <__alt_data_end+0xfffd0f60> 45004: d8c02a17 ldw r3,168(sp) 45008: 18c00084 addi r3,r3,2 4500c: d8c02b15 stw r3,172(sp) 45010: 1805883a mov r2,r3 45014: 183d970e bge r3,zero,44674 <__alt_data_end+0xfffd2674> 45018: 003fd706 br 44f78 <__alt_data_end+0xfffd2f78> 4501c: 0005883a mov r2,zero 45020: 003f8f06 br 44e60 <__alt_data_end+0xfffd2e60> 45024: 9080004c andi r2,r18,1 45028: 103f821e bne r2,zero,44e34 <__alt_data_end+0xfffd2e34> 4502c: d8802117 ldw r2,132(sp) 45030: 1405c83a sub r2,r2,r16 45034: d8803315 stw r2,204(sp) 45038: b47ef426 beq r22,r17,44c0c <__alt_data_end+0xfffd2c0c> 4503c: dd802617 ldw r22,152(sp) 45040: 003f1206 br 44c8c <__alt_data_end+0xfffd2c8c> 45044: d8c02b03 ldbu r3,172(sp) 45048: d8c02785 stb r3,158(sp) 4504c: 0038df06 br 433cc <__alt_data_end+0xfffd13cc> 45050: d8c02b03 ldbu r3,172(sp) 45054: d8c02785 stb r3,158(sp) 45058: 0038aa06 br 43304 <__alt_data_end+0xfffd1304> 4505c: d8c02b03 ldbu r3,172(sp) 45060: d8c02785 stb r3,158(sp) 45064: 003a4306 br 43974 <__alt_data_end+0xfffd1974> 45068: d8c02b03 ldbu r3,172(sp) 4506c: d8c02785 stb r3,158(sp) 45070: 003af506 br 43c48 <__alt_data_end+0xfffd1c48> 45074: 0005883a mov r2,zero 45078: 003d7b06 br 44668 <__alt_data_end+0xfffd2668> 4507c: d8802344 addi r2,sp,141 45080: 003f1006 br 44cc4 <__alt_data_end+0xfffd2cc4> 45084: d8c02b03 ldbu r3,172(sp) 45088: d8c02785 stb r3,158(sp) 4508c: 0038fd06 br 43484 <__alt_data_end+0xfffd1484> 45090: d8c02b03 ldbu r3,172(sp) 45094: d8c02785 stb r3,158(sp) 45098: 003a9706 br 43af8 <__alt_data_end+0xfffd1af8> 4509c: d8c02b03 ldbu r3,172(sp) 450a0: d8c02785 stb r3,158(sp) 450a4: 003a1806 br 43908 <__alt_data_end+0xfffd1908> 450a8: d8c02b03 ldbu r3,172(sp) 450ac: d8c02785 stb r3,158(sp) 450b0: 003abe06 br 43bac <__alt_data_end+0xfffd1bac> 000450b4 <__vfprintf_internal>: 450b4: 00800174 movhi r2,5 450b8: 10905304 addi r2,r2,16716 450bc: 300f883a mov r7,r6 450c0: 280d883a mov r6,r5 450c4: 200b883a mov r5,r4 450c8: 11000017 ldw r4,0(r2) 450cc: 0042dd81 jmpi 42dd8 <___vfprintf_internal_r> 000450d0 <__sbprintf>: 450d0: 2880030b ldhu r2,12(r5) 450d4: 2ac01917 ldw r11,100(r5) 450d8: 2a80038b ldhu r10,14(r5) 450dc: 2a400717 ldw r9,28(r5) 450e0: 2a000917 ldw r8,36(r5) 450e4: defee204 addi sp,sp,-1144 450e8: 00c10004 movi r3,1024 450ec: dc011a15 stw r16,1128(sp) 450f0: 10bfff4c andi r2,r2,65533 450f4: 2821883a mov r16,r5 450f8: d8cb883a add r5,sp,r3 450fc: dc811c15 stw r18,1136(sp) 45100: dc411b15 stw r17,1132(sp) 45104: dfc11d15 stw ra,1140(sp) 45108: 2025883a mov r18,r4 4510c: d881030d sth r2,1036(sp) 45110: dac11915 stw r11,1124(sp) 45114: da81038d sth r10,1038(sp) 45118: da410715 stw r9,1052(sp) 4511c: da010915 stw r8,1060(sp) 45120: dec10015 stw sp,1024(sp) 45124: dec10415 stw sp,1040(sp) 45128: d8c10215 stw r3,1032(sp) 4512c: d8c10515 stw r3,1044(sp) 45130: d8010615 stw zero,1048(sp) 45134: 0042dd80 call 42dd8 <___vfprintf_internal_r> 45138: 1023883a mov r17,r2 4513c: 10000416 blt r2,zero,45150 <__sbprintf+0x80> 45140: d9410004 addi r5,sp,1024 45144: 9009883a mov r4,r18 45148: 0046dac0 call 46dac <_fflush_r> 4514c: 10000d1e bne r2,zero,45184 <__sbprintf+0xb4> 45150: d881030b ldhu r2,1036(sp) 45154: 1080100c andi r2,r2,64 45158: 10000326 beq r2,zero,45168 <__sbprintf+0x98> 4515c: 8080030b ldhu r2,12(r16) 45160: 10801014 ori r2,r2,64 45164: 8080030d sth r2,12(r16) 45168: 8805883a mov r2,r17 4516c: dfc11d17 ldw ra,1140(sp) 45170: dc811c17 ldw r18,1136(sp) 45174: dc411b17 ldw r17,1132(sp) 45178: dc011a17 ldw r16,1128(sp) 4517c: dec11e04 addi sp,sp,1144 45180: f800283a ret 45184: 047fffc4 movi r17,-1 45188: 003ff106 br 45150 <__alt_data_end+0xfffd3150> 0004518c <__swsetup_r>: 4518c: 00800174 movhi r2,5 45190: defffd04 addi sp,sp,-12 45194: 10905304 addi r2,r2,16716 45198: dc400115 stw r17,4(sp) 4519c: 2023883a mov r17,r4 451a0: 11000017 ldw r4,0(r2) 451a4: dc000015 stw r16,0(sp) 451a8: dfc00215 stw ra,8(sp) 451ac: 2821883a mov r16,r5 451b0: 20000226 beq r4,zero,451bc <__swsetup_r+0x30> 451b4: 20800e17 ldw r2,56(r4) 451b8: 10003126 beq r2,zero,45280 <__swsetup_r+0xf4> 451bc: 8080030b ldhu r2,12(r16) 451c0: 10c0020c andi r3,r2,8 451c4: 1009883a mov r4,r2 451c8: 18000f26 beq r3,zero,45208 <__swsetup_r+0x7c> 451cc: 80c00417 ldw r3,16(r16) 451d0: 18001526 beq r3,zero,45228 <__swsetup_r+0x9c> 451d4: 1100004c andi r4,r2,1 451d8: 20001c1e bne r4,zero,4524c <__swsetup_r+0xc0> 451dc: 1080008c andi r2,r2,2 451e0: 1000291e bne r2,zero,45288 <__swsetup_r+0xfc> 451e4: 80800517 ldw r2,20(r16) 451e8: 80800215 stw r2,8(r16) 451ec: 18001c26 beq r3,zero,45260 <__swsetup_r+0xd4> 451f0: 0005883a mov r2,zero 451f4: dfc00217 ldw ra,8(sp) 451f8: dc400117 ldw r17,4(sp) 451fc: dc000017 ldw r16,0(sp) 45200: dec00304 addi sp,sp,12 45204: f800283a ret 45208: 2080040c andi r2,r4,16 4520c: 10002e26 beq r2,zero,452c8 <__swsetup_r+0x13c> 45210: 2080010c andi r2,r4,4 45214: 10001e1e bne r2,zero,45290 <__swsetup_r+0x104> 45218: 80c00417 ldw r3,16(r16) 4521c: 20800214 ori r2,r4,8 45220: 8080030d sth r2,12(r16) 45224: 183feb1e bne r3,zero,451d4 <__alt_data_end+0xfffd31d4> 45228: 1100a00c andi r4,r2,640 4522c: 01408004 movi r5,512 45230: 217fe826 beq r4,r5,451d4 <__alt_data_end+0xfffd31d4> 45234: 800b883a mov r5,r16 45238: 8809883a mov r4,r17 4523c: 0047d480 call 47d48 <__smakebuf_r> 45240: 8080030b ldhu r2,12(r16) 45244: 80c00417 ldw r3,16(r16) 45248: 003fe206 br 451d4 <__alt_data_end+0xfffd31d4> 4524c: 80800517 ldw r2,20(r16) 45250: 80000215 stw zero,8(r16) 45254: 0085c83a sub r2,zero,r2 45258: 80800615 stw r2,24(r16) 4525c: 183fe41e bne r3,zero,451f0 <__alt_data_end+0xfffd31f0> 45260: 80c0030b ldhu r3,12(r16) 45264: 0005883a mov r2,zero 45268: 1900200c andi r4,r3,128 4526c: 203fe126 beq r4,zero,451f4 <__alt_data_end+0xfffd31f4> 45270: 18c01014 ori r3,r3,64 45274: 80c0030d sth r3,12(r16) 45278: 00bfffc4 movi r2,-1 4527c: 003fdd06 br 451f4 <__alt_data_end+0xfffd31f4> 45280: 00471980 call 47198 <__sinit> 45284: 003fcd06 br 451bc <__alt_data_end+0xfffd31bc> 45288: 0005883a mov r2,zero 4528c: 003fd606 br 451e8 <__alt_data_end+0xfffd31e8> 45290: 81400c17 ldw r5,48(r16) 45294: 28000626 beq r5,zero,452b0 <__swsetup_r+0x124> 45298: 80801004 addi r2,r16,64 4529c: 28800326 beq r5,r2,452ac <__swsetup_r+0x120> 452a0: 8809883a mov r4,r17 452a4: 004730c0 call 4730c <_free_r> 452a8: 8100030b ldhu r4,12(r16) 452ac: 80000c15 stw zero,48(r16) 452b0: 80c00417 ldw r3,16(r16) 452b4: 00bff6c4 movi r2,-37 452b8: 1108703a and r4,r2,r4 452bc: 80000115 stw zero,4(r16) 452c0: 80c00015 stw r3,0(r16) 452c4: 003fd506 br 4521c <__alt_data_end+0xfffd321c> 452c8: 00800244 movi r2,9 452cc: 88800015 stw r2,0(r17) 452d0: 20801014 ori r2,r4,64 452d4: 8080030d sth r2,12(r16) 452d8: 00bfffc4 movi r2,-1 452dc: 003fc506 br 451f4 <__alt_data_end+0xfffd31f4> 000452e0 : 452e0: defff204 addi sp,sp,-56 452e4: ddc00b15 stw r23,44(sp) 452e8: 20800417 ldw r2,16(r4) 452ec: 2dc00417 ldw r23,16(r5) 452f0: dfc00d15 stw ra,52(sp) 452f4: df000c15 stw fp,48(sp) 452f8: dd800a15 stw r22,40(sp) 452fc: dd400915 stw r21,36(sp) 45300: dd000815 stw r20,32(sp) 45304: dcc00715 stw r19,28(sp) 45308: dc800615 stw r18,24(sp) 4530c: dc400515 stw r17,20(sp) 45310: dc000415 stw r16,16(sp) 45314: 15c07a16 blt r2,r23,45500 45318: bdffffc4 addi r23,r23,-1 4531c: bde9883a add r20,r23,r23 45320: 28c00504 addi r3,r5,20 45324: a529883a add r20,r20,r20 45328: 1d39883a add fp,r3,r20 4532c: 24c00504 addi r19,r4,20 45330: d9400215 stw r5,8(sp) 45334: 9d29883a add r20,r19,r20 45338: e1400017 ldw r5,0(fp) 4533c: d9000015 stw r4,0(sp) 45340: a1000017 ldw r4,0(r20) 45344: 29400044 addi r5,r5,1 45348: d8c00115 stw r3,4(sp) 4534c: dd000315 stw r20,12(sp) 45350: 004d3200 call 4d320 <__udivsi3> 45354: 1025883a mov r18,r2 45358: 10003026 beq r2,zero,4541c 4535c: dc400117 ldw r17,4(sp) 45360: 9829883a mov r20,r19 45364: 002d883a mov r22,zero 45368: 0021883a mov r16,zero 4536c: 8d400017 ldw r21,0(r17) 45370: 900b883a mov r5,r18 45374: 8c400104 addi r17,r17,4 45378: a93fffcc andi r4,r21,65535 4537c: 004d3dc0 call 4d3dc <__mulsi3> 45380: a808d43a srli r4,r21,16 45384: 900b883a mov r5,r18 45388: 15ad883a add r22,r2,r22 4538c: 004d3dc0 call 4d3dc <__mulsi3> 45390: a1000017 ldw r4,0(r20) 45394: b00cd43a srli r6,r22,16 45398: b0ffffcc andi r3,r22,65535 4539c: 217fffcc andi r5,r4,65535 453a0: 2c21883a add r16,r5,r16 453a4: 80c7c83a sub r3,r16,r3 453a8: 2008d43a srli r4,r4,16 453ac: 1185883a add r2,r2,r6 453b0: 1821d43a srai r16,r3,16 453b4: 117fffcc andi r5,r2,65535 453b8: 2149c83a sub r4,r4,r5 453bc: 2421883a add r16,r4,r16 453c0: 8008943a slli r4,r16,16 453c4: 18ffffcc andi r3,r3,65535 453c8: 102cd43a srli r22,r2,16 453cc: 20c8b03a or r4,r4,r3 453d0: a1000015 stw r4,0(r20) 453d4: 8021d43a srai r16,r16,16 453d8: a5000104 addi r20,r20,4 453dc: e47fe32e bgeu fp,r17,4536c <__alt_data_end+0xfffd336c> 453e0: d8c00317 ldw r3,12(sp) 453e4: 18800017 ldw r2,0(r3) 453e8: 10000c1e bne r2,zero,4541c 453ec: 18bfff04 addi r2,r3,-4 453f0: 9880082e bgeu r19,r2,45414 453f4: 18ffff17 ldw r3,-4(r3) 453f8: 18000326 beq r3,zero,45408 453fc: 00000506 br 45414 45400: 10c00017 ldw r3,0(r2) 45404: 1800031e bne r3,zero,45414 45408: 10bfff04 addi r2,r2,-4 4540c: bdffffc4 addi r23,r23,-1 45410: 98bffb36 bltu r19,r2,45400 <__alt_data_end+0xfffd3400> 45414: d8c00017 ldw r3,0(sp) 45418: 1dc00415 stw r23,16(r3) 4541c: d9400217 ldw r5,8(sp) 45420: d9000017 ldw r4,0(sp) 45424: 00495440 call 49544 <__mcmp> 45428: 10002816 blt r2,zero,454cc 4542c: dc400117 ldw r17,4(sp) 45430: 94800044 addi r18,r18,1 45434: 980d883a mov r6,r19 45438: 0007883a mov r3,zero 4543c: 31000017 ldw r4,0(r6) 45440: 89400017 ldw r5,0(r17) 45444: 31800104 addi r6,r6,4 45448: 20bfffcc andi r2,r4,65535 4544c: 10c7883a add r3,r2,r3 45450: 28bfffcc andi r2,r5,65535 45454: 1885c83a sub r2,r3,r2 45458: 280ad43a srli r5,r5,16 4545c: 2008d43a srli r4,r4,16 45460: 1007d43a srai r3,r2,16 45464: 10bfffcc andi r2,r2,65535 45468: 2149c83a sub r4,r4,r5 4546c: 20c9883a add r4,r4,r3 45470: 200a943a slli r5,r4,16 45474: 8c400104 addi r17,r17,4 45478: 2007d43a srai r3,r4,16 4547c: 2884b03a or r2,r5,r2 45480: 30bfff15 stw r2,-4(r6) 45484: e47fed2e bgeu fp,r17,4543c <__alt_data_end+0xfffd343c> 45488: bdc5883a add r2,r23,r23 4548c: 1085883a add r2,r2,r2 45490: 9887883a add r3,r19,r2 45494: 18800017 ldw r2,0(r3) 45498: 10000c1e bne r2,zero,454cc 4549c: 18bfff04 addi r2,r3,-4 454a0: 9880082e bgeu r19,r2,454c4 454a4: 18ffff17 ldw r3,-4(r3) 454a8: 18000326 beq r3,zero,454b8 454ac: 00000506 br 454c4 454b0: 10c00017 ldw r3,0(r2) 454b4: 1800031e bne r3,zero,454c4 454b8: 10bfff04 addi r2,r2,-4 454bc: bdffffc4 addi r23,r23,-1 454c0: 98bffb36 bltu r19,r2,454b0 <__alt_data_end+0xfffd34b0> 454c4: d8c00017 ldw r3,0(sp) 454c8: 1dc00415 stw r23,16(r3) 454cc: 9005883a mov r2,r18 454d0: dfc00d17 ldw ra,52(sp) 454d4: df000c17 ldw fp,48(sp) 454d8: ddc00b17 ldw r23,44(sp) 454dc: dd800a17 ldw r22,40(sp) 454e0: dd400917 ldw r21,36(sp) 454e4: dd000817 ldw r20,32(sp) 454e8: dcc00717 ldw r19,28(sp) 454ec: dc800617 ldw r18,24(sp) 454f0: dc400517 ldw r17,20(sp) 454f4: dc000417 ldw r16,16(sp) 454f8: dec00e04 addi sp,sp,56 454fc: f800283a ret 45500: 0005883a mov r2,zero 45504: 003ff206 br 454d0 <__alt_data_end+0xfffd34d0> 00045508 <_dtoa_r>: 45508: 20801017 ldw r2,64(r4) 4550c: deffde04 addi sp,sp,-136 45510: df002015 stw fp,128(sp) 45514: dcc01b15 stw r19,108(sp) 45518: dc801a15 stw r18,104(sp) 4551c: dc401915 stw r17,100(sp) 45520: dc001815 stw r16,96(sp) 45524: dfc02115 stw ra,132(sp) 45528: ddc01f15 stw r23,124(sp) 4552c: dd801e15 stw r22,120(sp) 45530: dd401d15 stw r21,116(sp) 45534: dd001c15 stw r20,112(sp) 45538: d9c00315 stw r7,12(sp) 4553c: 2039883a mov fp,r4 45540: 3023883a mov r17,r6 45544: 2825883a mov r18,r5 45548: dc002417 ldw r16,144(sp) 4554c: 3027883a mov r19,r6 45550: 10000826 beq r2,zero,45574 <_dtoa_r+0x6c> 45554: 21801117 ldw r6,68(r4) 45558: 00c00044 movi r3,1 4555c: 100b883a mov r5,r2 45560: 1986983a sll r3,r3,r6 45564: 11800115 stw r6,4(r2) 45568: 10c00215 stw r3,8(r2) 4556c: 0048c680 call 48c68 <_Bfree> 45570: e0001015 stw zero,64(fp) 45574: 88002e16 blt r17,zero,45630 <_dtoa_r+0x128> 45578: 80000015 stw zero,0(r16) 4557c: 889ffc2c andhi r2,r17,32752 45580: 00dffc34 movhi r3,32752 45584: 10c01c26 beq r2,r3,455f8 <_dtoa_r+0xf0> 45588: 000d883a mov r6,zero 4558c: 000f883a mov r7,zero 45590: 9009883a mov r4,r18 45594: 980b883a mov r5,r19 45598: 004ddd40 call 4ddd4 <__eqdf2> 4559c: 10002b1e bne r2,zero,4564c <_dtoa_r+0x144> 455a0: d9c02317 ldw r7,140(sp) 455a4: 00800044 movi r2,1 455a8: 38800015 stw r2,0(r7) 455ac: d8802517 ldw r2,148(sp) 455b0: 10019e26 beq r2,zero,45c2c <_dtoa_r+0x724> 455b4: d8c02517 ldw r3,148(sp) 455b8: 00800174 movhi r2,5 455bc: 10884e44 addi r2,r2,8505 455c0: 18800015 stw r2,0(r3) 455c4: 10bfffc4 addi r2,r2,-1 455c8: dfc02117 ldw ra,132(sp) 455cc: df002017 ldw fp,128(sp) 455d0: ddc01f17 ldw r23,124(sp) 455d4: dd801e17 ldw r22,120(sp) 455d8: dd401d17 ldw r21,116(sp) 455dc: dd001c17 ldw r20,112(sp) 455e0: dcc01b17 ldw r19,108(sp) 455e4: dc801a17 ldw r18,104(sp) 455e8: dc401917 ldw r17,100(sp) 455ec: dc001817 ldw r16,96(sp) 455f0: dec02204 addi sp,sp,136 455f4: f800283a ret 455f8: d8c02317 ldw r3,140(sp) 455fc: 0089c3c4 movi r2,9999 45600: 18800015 stw r2,0(r3) 45604: 90017726 beq r18,zero,45be4 <_dtoa_r+0x6dc> 45608: 00800174 movhi r2,5 4560c: 10885a04 addi r2,r2,8552 45610: d9002517 ldw r4,148(sp) 45614: 203fec26 beq r4,zero,455c8 <__alt_data_end+0xfffd35c8> 45618: 10c000c7 ldb r3,3(r2) 4561c: 1801781e bne r3,zero,45c00 <_dtoa_r+0x6f8> 45620: 10c000c4 addi r3,r2,3 45624: d9802517 ldw r6,148(sp) 45628: 30c00015 stw r3,0(r6) 4562c: 003fe606 br 455c8 <__alt_data_end+0xfffd35c8> 45630: 04e00034 movhi r19,32768 45634: 9cffffc4 addi r19,r19,-1 45638: 00800044 movi r2,1 4563c: 8ce6703a and r19,r17,r19 45640: 80800015 stw r2,0(r16) 45644: 9823883a mov r17,r19 45648: 003fcc06 br 4557c <__alt_data_end+0xfffd357c> 4564c: d8800204 addi r2,sp,8 45650: d8800015 stw r2,0(sp) 45654: d9c00104 addi r7,sp,4 45658: 900b883a mov r5,r18 4565c: 980d883a mov r6,r19 45660: e009883a mov r4,fp 45664: 8820d53a srli r16,r17,20 45668: 00499100 call 49910 <__d2b> 4566c: d8800915 stw r2,36(sp) 45670: 8001651e bne r16,zero,45c08 <_dtoa_r+0x700> 45674: dd800217 ldw r22,8(sp) 45678: dc000117 ldw r16,4(sp) 4567c: 00800804 movi r2,32 45680: b421883a add r16,r22,r16 45684: 80c10c84 addi r3,r16,1074 45688: 10c2d10e bge r2,r3,461d0 <_dtoa_r+0xcc8> 4568c: 00801004 movi r2,64 45690: 81010484 addi r4,r16,1042 45694: 10c7c83a sub r3,r2,r3 45698: 9108d83a srl r4,r18,r4 4569c: 88e2983a sll r17,r17,r3 456a0: 2448b03a or r4,r4,r17 456a4: 004e6c80 call 4e6c8 <__floatunsidf> 456a8: 017f8434 movhi r5,65040 456ac: 01800044 movi r6,1 456b0: 1009883a mov r4,r2 456b4: 194b883a add r5,r3,r5 456b8: 843fffc4 addi r16,r16,-1 456bc: d9801115 stw r6,68(sp) 456c0: 000d883a mov r6,zero 456c4: 01cffe34 movhi r7,16376 456c8: 00420140 call 42014 <__subdf3> 456cc: 0198dbf4 movhi r6,25455 456d0: 01cff4f4 movhi r7,16339 456d4: 3190d844 addi r6,r6,17249 456d8: 39e1e9c4 addi r7,r7,-30809 456dc: 1009883a mov r4,r2 456e0: 180b883a mov r5,r3 456e4: 004de5c0 call 4de5c <__muldf3> 456e8: 01a2d874 movhi r6,35681 456ec: 01cff1f4 movhi r7,16327 456f0: 31b22cc4 addi r6,r6,-14157 456f4: 39e28a04 addi r7,r7,-30168 456f8: 180b883a mov r5,r3 456fc: 1009883a mov r4,r2 45700: 00415980 call 41598 <__adddf3> 45704: 8009883a mov r4,r16 45708: 1029883a mov r20,r2 4570c: 1823883a mov r17,r3 45710: 00429900 call 42990 <__floatsidf> 45714: 019427f4 movhi r6,20639 45718: 01cff4f4 movhi r7,16339 4571c: 319e7ec4 addi r6,r6,31227 45720: 39d104c4 addi r7,r7,17427 45724: 1009883a mov r4,r2 45728: 180b883a mov r5,r3 4572c: 004de5c0 call 4de5c <__muldf3> 45730: 100d883a mov r6,r2 45734: 180f883a mov r7,r3 45738: a009883a mov r4,r20 4573c: 880b883a mov r5,r17 45740: 00415980 call 41598 <__adddf3> 45744: 1009883a mov r4,r2 45748: 180b883a mov r5,r3 4574c: 1029883a mov r20,r2 45750: 1823883a mov r17,r3 45754: 00429100 call 42910 <__fixdfsi> 45758: 000d883a mov r6,zero 4575c: 000f883a mov r7,zero 45760: a009883a mov r4,r20 45764: 880b883a mov r5,r17 45768: d8800515 stw r2,20(sp) 4576c: 0041f200 call 41f20 <__ledf2> 45770: 10028716 blt r2,zero,46190 <_dtoa_r+0xc88> 45774: d8c00517 ldw r3,20(sp) 45778: 00800584 movi r2,22 4577c: 10c27536 bltu r2,r3,46154 <_dtoa_r+0xc4c> 45780: 180490fa slli r2,r3,3 45784: 00c00174 movhi r3,5 45788: 18c87604 addi r3,r3,8664 4578c: 1885883a add r2,r3,r2 45790: 11000017 ldw r4,0(r2) 45794: 11400117 ldw r5,4(r2) 45798: 900d883a mov r6,r18 4579c: 980f883a mov r7,r19 457a0: 0041e440 call 41e44 <__gedf2> 457a4: 00828d0e bge zero,r2,461dc <_dtoa_r+0xcd4> 457a8: d9000517 ldw r4,20(sp) 457ac: d8000e15 stw zero,56(sp) 457b0: 213fffc4 addi r4,r4,-1 457b4: d9000515 stw r4,20(sp) 457b8: b42dc83a sub r22,r22,r16 457bc: b5bfffc4 addi r22,r22,-1 457c0: b0026f16 blt r22,zero,46180 <_dtoa_r+0xc78> 457c4: d8000815 stw zero,32(sp) 457c8: d9c00517 ldw r7,20(sp) 457cc: 38026416 blt r7,zero,46160 <_dtoa_r+0xc58> 457d0: b1ed883a add r22,r22,r7 457d4: d9c00d15 stw r7,52(sp) 457d8: d8000a15 stw zero,40(sp) 457dc: d9800317 ldw r6,12(sp) 457e0: 00800244 movi r2,9 457e4: 11811436 bltu r2,r6,45c38 <_dtoa_r+0x730> 457e8: 00800144 movi r2,5 457ec: 1184e10e bge r2,r6,46b74 <_dtoa_r+0x166c> 457f0: 31bfff04 addi r6,r6,-4 457f4: d9800315 stw r6,12(sp) 457f8: 0023883a mov r17,zero 457fc: d9800317 ldw r6,12(sp) 45800: 008000c4 movi r2,3 45804: 30836726 beq r6,r2,465a4 <_dtoa_r+0x109c> 45808: 1183410e bge r2,r6,46510 <_dtoa_r+0x1008> 4580c: d9c00317 ldw r7,12(sp) 45810: 00800104 movi r2,4 45814: 38827c26 beq r7,r2,46208 <_dtoa_r+0xd00> 45818: 00800144 movi r2,5 4581c: 3884c41e bne r7,r2,46b30 <_dtoa_r+0x1628> 45820: 00800044 movi r2,1 45824: d8800b15 stw r2,44(sp) 45828: d8c00517 ldw r3,20(sp) 4582c: d9002217 ldw r4,136(sp) 45830: 1907883a add r3,r3,r4 45834: 19800044 addi r6,r3,1 45838: d8c00c15 stw r3,48(sp) 4583c: d9800615 stw r6,24(sp) 45840: 0183a40e bge zero,r6,466d4 <_dtoa_r+0x11cc> 45844: d9800617 ldw r6,24(sp) 45848: 3021883a mov r16,r6 4584c: e0001115 stw zero,68(fp) 45850: 008005c4 movi r2,23 45854: 1184c92e bgeu r2,r6,46b7c <_dtoa_r+0x1674> 45858: 00c00044 movi r3,1 4585c: 00800104 movi r2,4 45860: 1085883a add r2,r2,r2 45864: 11000504 addi r4,r2,20 45868: 180b883a mov r5,r3 4586c: 18c00044 addi r3,r3,1 45870: 313ffb2e bgeu r6,r4,45860 <__alt_data_end+0xfffd3860> 45874: e1401115 stw r5,68(fp) 45878: e009883a mov r4,fp 4587c: 0048bc00 call 48bc0 <_Balloc> 45880: d8800715 stw r2,28(sp) 45884: e0801015 stw r2,64(fp) 45888: 00800384 movi r2,14 4588c: 1400f736 bltu r2,r16,45c6c <_dtoa_r+0x764> 45890: 8800f626 beq r17,zero,45c6c <_dtoa_r+0x764> 45894: d9c00517 ldw r7,20(sp) 45898: 01c39a0e bge zero,r7,46704 <_dtoa_r+0x11fc> 4589c: 388003cc andi r2,r7,15 458a0: 100490fa slli r2,r2,3 458a4: 382bd13a srai r21,r7,4 458a8: 00c00174 movhi r3,5 458ac: 18c87604 addi r3,r3,8664 458b0: 1885883a add r2,r3,r2 458b4: a8c0040c andi r3,r21,16 458b8: 12400017 ldw r9,0(r2) 458bc: 12000117 ldw r8,4(r2) 458c0: 18037926 beq r3,zero,466a8 <_dtoa_r+0x11a0> 458c4: 00800174 movhi r2,5 458c8: 10886c04 addi r2,r2,8624 458cc: 11800817 ldw r6,32(r2) 458d0: 11c00917 ldw r7,36(r2) 458d4: 9009883a mov r4,r18 458d8: 980b883a mov r5,r19 458dc: da001715 stw r8,92(sp) 458e0: da401615 stw r9,88(sp) 458e4: 004d4040 call 4d404 <__divdf3> 458e8: da001717 ldw r8,92(sp) 458ec: da401617 ldw r9,88(sp) 458f0: ad4003cc andi r21,r21,15 458f4: 040000c4 movi r16,3 458f8: 1023883a mov r17,r2 458fc: 1829883a mov r20,r3 45900: a8001126 beq r21,zero,45948 <_dtoa_r+0x440> 45904: 05c00174 movhi r23,5 45908: bdc86c04 addi r23,r23,8624 4590c: 4805883a mov r2,r9 45910: 4007883a mov r3,r8 45914: a980004c andi r6,r21,1 45918: 1009883a mov r4,r2 4591c: a82bd07a srai r21,r21,1 45920: 180b883a mov r5,r3 45924: 30000426 beq r6,zero,45938 <_dtoa_r+0x430> 45928: b9800017 ldw r6,0(r23) 4592c: b9c00117 ldw r7,4(r23) 45930: 84000044 addi r16,r16,1 45934: 004de5c0 call 4de5c <__muldf3> 45938: bdc00204 addi r23,r23,8 4593c: a83ff51e bne r21,zero,45914 <__alt_data_end+0xfffd3914> 45940: 1013883a mov r9,r2 45944: 1811883a mov r8,r3 45948: 480d883a mov r6,r9 4594c: 400f883a mov r7,r8 45950: 8809883a mov r4,r17 45954: a00b883a mov r5,r20 45958: 004d4040 call 4d404 <__divdf3> 4595c: d8800f15 stw r2,60(sp) 45960: d8c01015 stw r3,64(sp) 45964: d8c00e17 ldw r3,56(sp) 45968: 18000626 beq r3,zero,45984 <_dtoa_r+0x47c> 4596c: d9000f17 ldw r4,60(sp) 45970: d9401017 ldw r5,64(sp) 45974: 000d883a mov r6,zero 45978: 01cffc34 movhi r7,16368 4597c: 0041f200 call 41f20 <__ledf2> 45980: 10040b16 blt r2,zero,469b0 <_dtoa_r+0x14a8> 45984: 8009883a mov r4,r16 45988: 00429900 call 42990 <__floatsidf> 4598c: d9800f17 ldw r6,60(sp) 45990: d9c01017 ldw r7,64(sp) 45994: 1009883a mov r4,r2 45998: 180b883a mov r5,r3 4599c: 004de5c0 call 4de5c <__muldf3> 459a0: 000d883a mov r6,zero 459a4: 01d00734 movhi r7,16412 459a8: 1009883a mov r4,r2 459ac: 180b883a mov r5,r3 459b0: 00415980 call 41598 <__adddf3> 459b4: 1021883a mov r16,r2 459b8: d8800617 ldw r2,24(sp) 459bc: 047f3034 movhi r17,64704 459c0: 1c63883a add r17,r3,r17 459c4: 10031826 beq r2,zero,46628 <_dtoa_r+0x1120> 459c8: d8c00517 ldw r3,20(sp) 459cc: db000617 ldw r12,24(sp) 459d0: d8c01315 stw r3,76(sp) 459d4: d9000b17 ldw r4,44(sp) 459d8: 20038f26 beq r4,zero,46818 <_dtoa_r+0x1310> 459dc: 60bfffc4 addi r2,r12,-1 459e0: 100490fa slli r2,r2,3 459e4: 00c00174 movhi r3,5 459e8: 18c87604 addi r3,r3,8664 459ec: 1885883a add r2,r3,r2 459f0: 11800017 ldw r6,0(r2) 459f4: 11c00117 ldw r7,4(r2) 459f8: d8800717 ldw r2,28(sp) 459fc: 0009883a mov r4,zero 45a00: 014ff834 movhi r5,16352 45a04: db001615 stw r12,88(sp) 45a08: 15c00044 addi r23,r2,1 45a0c: 004d4040 call 4d404 <__divdf3> 45a10: 800d883a mov r6,r16 45a14: 880f883a mov r7,r17 45a18: 1009883a mov r4,r2 45a1c: 180b883a mov r5,r3 45a20: 00420140 call 42014 <__subdf3> 45a24: d9401017 ldw r5,64(sp) 45a28: d9000f17 ldw r4,60(sp) 45a2c: 102b883a mov r21,r2 45a30: d8c01215 stw r3,72(sp) 45a34: 00429100 call 42910 <__fixdfsi> 45a38: 1009883a mov r4,r2 45a3c: 1029883a mov r20,r2 45a40: 00429900 call 42990 <__floatsidf> 45a44: d9000f17 ldw r4,60(sp) 45a48: d9401017 ldw r5,64(sp) 45a4c: 100d883a mov r6,r2 45a50: 180f883a mov r7,r3 45a54: 00420140 call 42014 <__subdf3> 45a58: 1823883a mov r17,r3 45a5c: d8c00717 ldw r3,28(sp) 45a60: d9401217 ldw r5,72(sp) 45a64: a2000c04 addi r8,r20,48 45a68: 1021883a mov r16,r2 45a6c: 1a000005 stb r8,0(r3) 45a70: 800d883a mov r6,r16 45a74: 880f883a mov r7,r17 45a78: a809883a mov r4,r21 45a7c: 4029883a mov r20,r8 45a80: 0041e440 call 41e44 <__gedf2> 45a84: 00841d16 blt zero,r2,46afc <_dtoa_r+0x15f4> 45a88: 800d883a mov r6,r16 45a8c: 880f883a mov r7,r17 45a90: 0009883a mov r4,zero 45a94: 014ffc34 movhi r5,16368 45a98: 00420140 call 42014 <__subdf3> 45a9c: d9401217 ldw r5,72(sp) 45aa0: 100d883a mov r6,r2 45aa4: 180f883a mov r7,r3 45aa8: a809883a mov r4,r21 45aac: 0041e440 call 41e44 <__gedf2> 45ab0: db001617 ldw r12,88(sp) 45ab4: 00840e16 blt zero,r2,46af0 <_dtoa_r+0x15e8> 45ab8: 00800044 movi r2,1 45abc: 13006b0e bge r2,r12,45c6c <_dtoa_r+0x764> 45ac0: d9000717 ldw r4,28(sp) 45ac4: dd800f15 stw r22,60(sp) 45ac8: dcc01015 stw r19,64(sp) 45acc: 2319883a add r12,r4,r12 45ad0: dcc01217 ldw r19,72(sp) 45ad4: 602d883a mov r22,r12 45ad8: dc801215 stw r18,72(sp) 45adc: b825883a mov r18,r23 45ae0: 00000906 br 45b08 <_dtoa_r+0x600> 45ae4: 00420140 call 42014 <__subdf3> 45ae8: a80d883a mov r6,r21 45aec: 980f883a mov r7,r19 45af0: 1009883a mov r4,r2 45af4: 180b883a mov r5,r3 45af8: 0041f200 call 41f20 <__ledf2> 45afc: 1003e816 blt r2,zero,46aa0 <_dtoa_r+0x1598> 45b00: b825883a mov r18,r23 45b04: bd83e926 beq r23,r22,46aac <_dtoa_r+0x15a4> 45b08: a809883a mov r4,r21 45b0c: 980b883a mov r5,r19 45b10: 000d883a mov r6,zero 45b14: 01d00934 movhi r7,16420 45b18: 004de5c0 call 4de5c <__muldf3> 45b1c: 000d883a mov r6,zero 45b20: 01d00934 movhi r7,16420 45b24: 8009883a mov r4,r16 45b28: 880b883a mov r5,r17 45b2c: 102b883a mov r21,r2 45b30: 1827883a mov r19,r3 45b34: 004de5c0 call 4de5c <__muldf3> 45b38: 180b883a mov r5,r3 45b3c: 1009883a mov r4,r2 45b40: 1821883a mov r16,r3 45b44: 1023883a mov r17,r2 45b48: 00429100 call 42910 <__fixdfsi> 45b4c: 1009883a mov r4,r2 45b50: 1029883a mov r20,r2 45b54: 00429900 call 42990 <__floatsidf> 45b58: 8809883a mov r4,r17 45b5c: 800b883a mov r5,r16 45b60: 100d883a mov r6,r2 45b64: 180f883a mov r7,r3 45b68: 00420140 call 42014 <__subdf3> 45b6c: a5000c04 addi r20,r20,48 45b70: a80d883a mov r6,r21 45b74: 980f883a mov r7,r19 45b78: 1009883a mov r4,r2 45b7c: 180b883a mov r5,r3 45b80: 95000005 stb r20,0(r18) 45b84: 1021883a mov r16,r2 45b88: 1823883a mov r17,r3 45b8c: 0041f200 call 41f20 <__ledf2> 45b90: bdc00044 addi r23,r23,1 45b94: 800d883a mov r6,r16 45b98: 880f883a mov r7,r17 45b9c: 0009883a mov r4,zero 45ba0: 014ffc34 movhi r5,16368 45ba4: 103fcf0e bge r2,zero,45ae4 <__alt_data_end+0xfffd3ae4> 45ba8: d8c01317 ldw r3,76(sp) 45bac: d8c00515 stw r3,20(sp) 45bb0: d9400917 ldw r5,36(sp) 45bb4: e009883a mov r4,fp 45bb8: 0048c680 call 48c68 <_Bfree> 45bbc: d9000517 ldw r4,20(sp) 45bc0: d9802317 ldw r6,140(sp) 45bc4: d9c02517 ldw r7,148(sp) 45bc8: b8000005 stb zero,0(r23) 45bcc: 20800044 addi r2,r4,1 45bd0: 30800015 stw r2,0(r6) 45bd4: 3802aa26 beq r7,zero,46680 <_dtoa_r+0x1178> 45bd8: 3dc00015 stw r23,0(r7) 45bdc: d8800717 ldw r2,28(sp) 45be0: 003e7906 br 455c8 <__alt_data_end+0xfffd35c8> 45be4: 00800434 movhi r2,16 45be8: 10bfffc4 addi r2,r2,-1 45bec: 88a2703a and r17,r17,r2 45bf0: 883e851e bne r17,zero,45608 <__alt_data_end+0xfffd3608> 45bf4: 00800174 movhi r2,5 45bf8: 10885704 addi r2,r2,8540 45bfc: 003e8406 br 45610 <__alt_data_end+0xfffd3610> 45c00: 10c00204 addi r3,r2,8 45c04: 003e8706 br 45624 <__alt_data_end+0xfffd3624> 45c08: 01400434 movhi r5,16 45c0c: 297fffc4 addi r5,r5,-1 45c10: 994a703a and r5,r19,r5 45c14: 9009883a mov r4,r18 45c18: 843f0044 addi r16,r16,-1023 45c1c: 294ffc34 orhi r5,r5,16368 45c20: dd800217 ldw r22,8(sp) 45c24: d8001115 stw zero,68(sp) 45c28: 003ea506 br 456c0 <__alt_data_end+0xfffd36c0> 45c2c: 00800174 movhi r2,5 45c30: 10884e04 addi r2,r2,8504 45c34: 003e6406 br 455c8 <__alt_data_end+0xfffd35c8> 45c38: e0001115 stw zero,68(fp) 45c3c: 000b883a mov r5,zero 45c40: e009883a mov r4,fp 45c44: 0048bc00 call 48bc0 <_Balloc> 45c48: 01bfffc4 movi r6,-1 45c4c: 01c00044 movi r7,1 45c50: d8800715 stw r2,28(sp) 45c54: d9800c15 stw r6,48(sp) 45c58: e0801015 stw r2,64(fp) 45c5c: d8000315 stw zero,12(sp) 45c60: d9c00b15 stw r7,44(sp) 45c64: d9800615 stw r6,24(sp) 45c68: d8002215 stw zero,136(sp) 45c6c: d8800117 ldw r2,4(sp) 45c70: 10008916 blt r2,zero,45e98 <_dtoa_r+0x990> 45c74: d9000517 ldw r4,20(sp) 45c78: 00c00384 movi r3,14 45c7c: 19008616 blt r3,r4,45e98 <_dtoa_r+0x990> 45c80: 200490fa slli r2,r4,3 45c84: 00c00174 movhi r3,5 45c88: d9802217 ldw r6,136(sp) 45c8c: 18c87604 addi r3,r3,8664 45c90: 1885883a add r2,r3,r2 45c94: 14000017 ldw r16,0(r2) 45c98: 14400117 ldw r17,4(r2) 45c9c: 30016316 blt r6,zero,4622c <_dtoa_r+0xd24> 45ca0: 800d883a mov r6,r16 45ca4: 880f883a mov r7,r17 45ca8: 9009883a mov r4,r18 45cac: 980b883a mov r5,r19 45cb0: 004d4040 call 4d404 <__divdf3> 45cb4: 180b883a mov r5,r3 45cb8: 1009883a mov r4,r2 45cbc: 00429100 call 42910 <__fixdfsi> 45cc0: 1009883a mov r4,r2 45cc4: 102b883a mov r21,r2 45cc8: 00429900 call 42990 <__floatsidf> 45ccc: 800d883a mov r6,r16 45cd0: 880f883a mov r7,r17 45cd4: 1009883a mov r4,r2 45cd8: 180b883a mov r5,r3 45cdc: 004de5c0 call 4de5c <__muldf3> 45ce0: 100d883a mov r6,r2 45ce4: 180f883a mov r7,r3 45ce8: 9009883a mov r4,r18 45cec: 980b883a mov r5,r19 45cf0: 00420140 call 42014 <__subdf3> 45cf4: d9c00717 ldw r7,28(sp) 45cf8: 1009883a mov r4,r2 45cfc: a8800c04 addi r2,r21,48 45d00: 38800005 stb r2,0(r7) 45d04: 3dc00044 addi r23,r7,1 45d08: d9c00617 ldw r7,24(sp) 45d0c: 01800044 movi r6,1 45d10: 180b883a mov r5,r3 45d14: 2005883a mov r2,r4 45d18: 39803826 beq r7,r6,45dfc <_dtoa_r+0x8f4> 45d1c: 000d883a mov r6,zero 45d20: 01d00934 movhi r7,16420 45d24: 004de5c0 call 4de5c <__muldf3> 45d28: 000d883a mov r6,zero 45d2c: 000f883a mov r7,zero 45d30: 1009883a mov r4,r2 45d34: 180b883a mov r5,r3 45d38: 1025883a mov r18,r2 45d3c: 1827883a mov r19,r3 45d40: 004ddd40 call 4ddd4 <__eqdf2> 45d44: 103f9a26 beq r2,zero,45bb0 <__alt_data_end+0xfffd3bb0> 45d48: d9c00617 ldw r7,24(sp) 45d4c: d8c00717 ldw r3,28(sp) 45d50: b829883a mov r20,r23 45d54: 38bfffc4 addi r2,r7,-1 45d58: 18ad883a add r22,r3,r2 45d5c: 00000a06 br 45d88 <_dtoa_r+0x880> 45d60: 004de5c0 call 4de5c <__muldf3> 45d64: 000d883a mov r6,zero 45d68: 000f883a mov r7,zero 45d6c: 1009883a mov r4,r2 45d70: 180b883a mov r5,r3 45d74: 1025883a mov r18,r2 45d78: 1827883a mov r19,r3 45d7c: b829883a mov r20,r23 45d80: 004ddd40 call 4ddd4 <__eqdf2> 45d84: 103f8a26 beq r2,zero,45bb0 <__alt_data_end+0xfffd3bb0> 45d88: 800d883a mov r6,r16 45d8c: 880f883a mov r7,r17 45d90: 9009883a mov r4,r18 45d94: 980b883a mov r5,r19 45d98: 004d4040 call 4d404 <__divdf3> 45d9c: 180b883a mov r5,r3 45da0: 1009883a mov r4,r2 45da4: 00429100 call 42910 <__fixdfsi> 45da8: 1009883a mov r4,r2 45dac: 102b883a mov r21,r2 45db0: 00429900 call 42990 <__floatsidf> 45db4: 800d883a mov r6,r16 45db8: 880f883a mov r7,r17 45dbc: 1009883a mov r4,r2 45dc0: 180b883a mov r5,r3 45dc4: 004de5c0 call 4de5c <__muldf3> 45dc8: 100d883a mov r6,r2 45dcc: 180f883a mov r7,r3 45dd0: 9009883a mov r4,r18 45dd4: 980b883a mov r5,r19 45dd8: 00420140 call 42014 <__subdf3> 45ddc: aa000c04 addi r8,r21,48 45de0: a2000005 stb r8,0(r20) 45de4: 000d883a mov r6,zero 45de8: 01d00934 movhi r7,16420 45dec: 1009883a mov r4,r2 45df0: 180b883a mov r5,r3 45df4: a5c00044 addi r23,r20,1 45df8: b53fd91e bne r22,r20,45d60 <__alt_data_end+0xfffd3d60> 45dfc: 100d883a mov r6,r2 45e00: 180f883a mov r7,r3 45e04: 1009883a mov r4,r2 45e08: 180b883a mov r5,r3 45e0c: 00415980 call 41598 <__adddf3> 45e10: 100d883a mov r6,r2 45e14: 180f883a mov r7,r3 45e18: 8009883a mov r4,r16 45e1c: 880b883a mov r5,r17 45e20: 1027883a mov r19,r2 45e24: 1825883a mov r18,r3 45e28: 0041f200 call 41f20 <__ledf2> 45e2c: 10000816 blt r2,zero,45e50 <_dtoa_r+0x948> 45e30: 980d883a mov r6,r19 45e34: 900f883a mov r7,r18 45e38: 8009883a mov r4,r16 45e3c: 880b883a mov r5,r17 45e40: 004ddd40 call 4ddd4 <__eqdf2> 45e44: 103f5a1e bne r2,zero,45bb0 <__alt_data_end+0xfffd3bb0> 45e48: ad40004c andi r21,r21,1 45e4c: a83f5826 beq r21,zero,45bb0 <__alt_data_end+0xfffd3bb0> 45e50: bd3fffc3 ldbu r20,-1(r23) 45e54: b8bfffc4 addi r2,r23,-1 45e58: 1007883a mov r3,r2 45e5c: 01400e44 movi r5,57 45e60: d9800717 ldw r6,28(sp) 45e64: 00000506 br 45e7c <_dtoa_r+0x974> 45e68: 18ffffc4 addi r3,r3,-1 45e6c: 11824726 beq r2,r6,4678c <_dtoa_r+0x1284> 45e70: 1d000003 ldbu r20,0(r3) 45e74: 102f883a mov r23,r2 45e78: 10bfffc4 addi r2,r2,-1 45e7c: a1003fcc andi r4,r20,255 45e80: 2100201c xori r4,r4,128 45e84: 213fe004 addi r4,r4,-128 45e88: 217ff726 beq r4,r5,45e68 <__alt_data_end+0xfffd3e68> 45e8c: a2000044 addi r8,r20,1 45e90: 12000005 stb r8,0(r2) 45e94: 003f4606 br 45bb0 <__alt_data_end+0xfffd3bb0> 45e98: d9000b17 ldw r4,44(sp) 45e9c: 2000c826 beq r4,zero,461c0 <_dtoa_r+0xcb8> 45ea0: d9800317 ldw r6,12(sp) 45ea4: 00c00044 movi r3,1 45ea8: 1980f90e bge r3,r6,46290 <_dtoa_r+0xd88> 45eac: d8800617 ldw r2,24(sp) 45eb0: d8c00a17 ldw r3,40(sp) 45eb4: 157fffc4 addi r21,r2,-1 45eb8: 1d41f316 blt r3,r21,46688 <_dtoa_r+0x1180> 45ebc: 1d6bc83a sub r21,r3,r21 45ec0: d9c00617 ldw r7,24(sp) 45ec4: 3802aa16 blt r7,zero,46970 <_dtoa_r+0x1468> 45ec8: dd000817 ldw r20,32(sp) 45ecc: d8800617 ldw r2,24(sp) 45ed0: d8c00817 ldw r3,32(sp) 45ed4: 01400044 movi r5,1 45ed8: e009883a mov r4,fp 45edc: 1887883a add r3,r3,r2 45ee0: d8c00815 stw r3,32(sp) 45ee4: b0ad883a add r22,r22,r2 45ee8: 0048ff40 call 48ff4 <__i2b> 45eec: 1023883a mov r17,r2 45ef0: a0000826 beq r20,zero,45f14 <_dtoa_r+0xa0c> 45ef4: 0580070e bge zero,r22,45f14 <_dtoa_r+0xa0c> 45ef8: a005883a mov r2,r20 45efc: b500b916 blt r22,r20,461e4 <_dtoa_r+0xcdc> 45f00: d9000817 ldw r4,32(sp) 45f04: a0a9c83a sub r20,r20,r2 45f08: b0adc83a sub r22,r22,r2 45f0c: 2089c83a sub r4,r4,r2 45f10: d9000815 stw r4,32(sp) 45f14: d9800a17 ldw r6,40(sp) 45f18: 0181810e bge zero,r6,46520 <_dtoa_r+0x1018> 45f1c: d9c00b17 ldw r7,44(sp) 45f20: 3800b326 beq r7,zero,461f0 <_dtoa_r+0xce8> 45f24: a800b226 beq r21,zero,461f0 <_dtoa_r+0xce8> 45f28: 880b883a mov r5,r17 45f2c: a80d883a mov r6,r21 45f30: e009883a mov r4,fp 45f34: 00492bc0 call 492bc <__pow5mult> 45f38: d9800917 ldw r6,36(sp) 45f3c: 100b883a mov r5,r2 45f40: e009883a mov r4,fp 45f44: 1023883a mov r17,r2 45f48: 00490300 call 49030 <__multiply> 45f4c: 1021883a mov r16,r2 45f50: d8800a17 ldw r2,40(sp) 45f54: d9400917 ldw r5,36(sp) 45f58: e009883a mov r4,fp 45f5c: 1545c83a sub r2,r2,r21 45f60: d8800a15 stw r2,40(sp) 45f64: 0048c680 call 48c68 <_Bfree> 45f68: d8c00a17 ldw r3,40(sp) 45f6c: 18009f1e bne r3,zero,461ec <_dtoa_r+0xce4> 45f70: 05c00044 movi r23,1 45f74: e009883a mov r4,fp 45f78: b80b883a mov r5,r23 45f7c: 0048ff40 call 48ff4 <__i2b> 45f80: d9000d17 ldw r4,52(sp) 45f84: 102b883a mov r21,r2 45f88: 2000ce26 beq r4,zero,462c4 <_dtoa_r+0xdbc> 45f8c: 200d883a mov r6,r4 45f90: 100b883a mov r5,r2 45f94: e009883a mov r4,fp 45f98: 00492bc0 call 492bc <__pow5mult> 45f9c: d9800317 ldw r6,12(sp) 45fa0: 102b883a mov r21,r2 45fa4: b981810e bge r23,r6,465ac <_dtoa_r+0x10a4> 45fa8: 0027883a mov r19,zero 45fac: a8800417 ldw r2,16(r21) 45fb0: 05c00804 movi r23,32 45fb4: 10800104 addi r2,r2,4 45fb8: 1085883a add r2,r2,r2 45fbc: 1085883a add r2,r2,r2 45fc0: a885883a add r2,r21,r2 45fc4: 11000017 ldw r4,0(r2) 45fc8: 0048edc0 call 48edc <__hi0bits> 45fcc: b885c83a sub r2,r23,r2 45fd0: 1585883a add r2,r2,r22 45fd4: 108007cc andi r2,r2,31 45fd8: 1000b326 beq r2,zero,462a8 <_dtoa_r+0xda0> 45fdc: 00c00804 movi r3,32 45fe0: 1887c83a sub r3,r3,r2 45fe4: 01000104 movi r4,4 45fe8: 20c2cd0e bge r4,r3,46b20 <_dtoa_r+0x1618> 45fec: 00c00704 movi r3,28 45ff0: 1885c83a sub r2,r3,r2 45ff4: d8c00817 ldw r3,32(sp) 45ff8: a0a9883a add r20,r20,r2 45ffc: b0ad883a add r22,r22,r2 46000: 1887883a add r3,r3,r2 46004: d8c00815 stw r3,32(sp) 46008: d9800817 ldw r6,32(sp) 4600c: 0180040e bge zero,r6,46020 <_dtoa_r+0xb18> 46010: 800b883a mov r5,r16 46014: e009883a mov r4,fp 46018: 00493fc0 call 493fc <__lshift> 4601c: 1021883a mov r16,r2 46020: 0580050e bge zero,r22,46038 <_dtoa_r+0xb30> 46024: a80b883a mov r5,r21 46028: b00d883a mov r6,r22 4602c: e009883a mov r4,fp 46030: 00493fc0 call 493fc <__lshift> 46034: 102b883a mov r21,r2 46038: d9c00e17 ldw r7,56(sp) 4603c: 3801211e bne r7,zero,464c4 <_dtoa_r+0xfbc> 46040: d9800617 ldw r6,24(sp) 46044: 0181380e bge zero,r6,46528 <_dtoa_r+0x1020> 46048: d8c00b17 ldw r3,44(sp) 4604c: 1800ab1e bne r3,zero,462fc <_dtoa_r+0xdf4> 46050: dc800717 ldw r18,28(sp) 46054: dcc00617 ldw r19,24(sp) 46058: 9029883a mov r20,r18 4605c: 00000206 br 46068 <_dtoa_r+0xb60> 46060: 0048c900 call 48c90 <__multadd> 46064: 1021883a mov r16,r2 46068: a80b883a mov r5,r21 4606c: 8009883a mov r4,r16 46070: 00452e00 call 452e0 46074: 10800c04 addi r2,r2,48 46078: 90800005 stb r2,0(r18) 4607c: 94800044 addi r18,r18,1 46080: 9507c83a sub r3,r18,r20 46084: 000f883a mov r7,zero 46088: 01800284 movi r6,10 4608c: 800b883a mov r5,r16 46090: e009883a mov r4,fp 46094: 1cfff216 blt r3,r19,46060 <__alt_data_end+0xfffd4060> 46098: 1011883a mov r8,r2 4609c: d8800617 ldw r2,24(sp) 460a0: 0082370e bge zero,r2,46980 <_dtoa_r+0x1478> 460a4: d9000717 ldw r4,28(sp) 460a8: 0025883a mov r18,zero 460ac: 20af883a add r23,r4,r2 460b0: 01800044 movi r6,1 460b4: 800b883a mov r5,r16 460b8: e009883a mov r4,fp 460bc: da001715 stw r8,92(sp) 460c0: 00493fc0 call 493fc <__lshift> 460c4: a80b883a mov r5,r21 460c8: 1009883a mov r4,r2 460cc: d8800915 stw r2,36(sp) 460d0: 00495440 call 49544 <__mcmp> 460d4: da001717 ldw r8,92(sp) 460d8: 0081800e bge zero,r2,466dc <_dtoa_r+0x11d4> 460dc: b93fffc3 ldbu r4,-1(r23) 460e0: b8bfffc4 addi r2,r23,-1 460e4: 1007883a mov r3,r2 460e8: 01800e44 movi r6,57 460ec: d9c00717 ldw r7,28(sp) 460f0: 00000506 br 46108 <_dtoa_r+0xc00> 460f4: 18ffffc4 addi r3,r3,-1 460f8: 11c12326 beq r2,r7,46588 <_dtoa_r+0x1080> 460fc: 19000003 ldbu r4,0(r3) 46100: 102f883a mov r23,r2 46104: 10bfffc4 addi r2,r2,-1 46108: 21403fcc andi r5,r4,255 4610c: 2940201c xori r5,r5,128 46110: 297fe004 addi r5,r5,-128 46114: 29bff726 beq r5,r6,460f4 <__alt_data_end+0xfffd40f4> 46118: 21000044 addi r4,r4,1 4611c: 11000005 stb r4,0(r2) 46120: a80b883a mov r5,r21 46124: e009883a mov r4,fp 46128: 0048c680 call 48c68 <_Bfree> 4612c: 883ea026 beq r17,zero,45bb0 <__alt_data_end+0xfffd3bb0> 46130: 90000426 beq r18,zero,46144 <_dtoa_r+0xc3c> 46134: 94400326 beq r18,r17,46144 <_dtoa_r+0xc3c> 46138: 900b883a mov r5,r18 4613c: e009883a mov r4,fp 46140: 0048c680 call 48c68 <_Bfree> 46144: 880b883a mov r5,r17 46148: e009883a mov r4,fp 4614c: 0048c680 call 48c68 <_Bfree> 46150: 003e9706 br 45bb0 <__alt_data_end+0xfffd3bb0> 46154: 01800044 movi r6,1 46158: d9800e15 stw r6,56(sp) 4615c: 003d9606 br 457b8 <__alt_data_end+0xfffd37b8> 46160: d8800817 ldw r2,32(sp) 46164: d8c00517 ldw r3,20(sp) 46168: d8000d15 stw zero,52(sp) 4616c: 10c5c83a sub r2,r2,r3 46170: 00c9c83a sub r4,zero,r3 46174: d8800815 stw r2,32(sp) 46178: d9000a15 stw r4,40(sp) 4617c: 003d9706 br 457dc <__alt_data_end+0xfffd37dc> 46180: 05adc83a sub r22,zero,r22 46184: dd800815 stw r22,32(sp) 46188: 002d883a mov r22,zero 4618c: 003d8e06 br 457c8 <__alt_data_end+0xfffd37c8> 46190: d9000517 ldw r4,20(sp) 46194: 00429900 call 42990 <__floatsidf> 46198: 100d883a mov r6,r2 4619c: 180f883a mov r7,r3 461a0: a009883a mov r4,r20 461a4: 880b883a mov r5,r17 461a8: 004ddd40 call 4ddd4 <__eqdf2> 461ac: 103d7126 beq r2,zero,45774 <__alt_data_end+0xfffd3774> 461b0: d9c00517 ldw r7,20(sp) 461b4: 39ffffc4 addi r7,r7,-1 461b8: d9c00515 stw r7,20(sp) 461bc: 003d6d06 br 45774 <__alt_data_end+0xfffd3774> 461c0: dd400a17 ldw r21,40(sp) 461c4: dd000817 ldw r20,32(sp) 461c8: 0023883a mov r17,zero 461cc: 003f4806 br 45ef0 <__alt_data_end+0xfffd3ef0> 461d0: 10e3c83a sub r17,r2,r3 461d4: 9448983a sll r4,r18,r17 461d8: 003d3206 br 456a4 <__alt_data_end+0xfffd36a4> 461dc: d8000e15 stw zero,56(sp) 461e0: 003d7506 br 457b8 <__alt_data_end+0xfffd37b8> 461e4: b005883a mov r2,r22 461e8: 003f4506 br 45f00 <__alt_data_end+0xfffd3f00> 461ec: dc000915 stw r16,36(sp) 461f0: d9800a17 ldw r6,40(sp) 461f4: d9400917 ldw r5,36(sp) 461f8: e009883a mov r4,fp 461fc: 00492bc0 call 492bc <__pow5mult> 46200: 1021883a mov r16,r2 46204: 003f5a06 br 45f70 <__alt_data_end+0xfffd3f70> 46208: 01c00044 movi r7,1 4620c: d9c00b15 stw r7,44(sp) 46210: d8802217 ldw r2,136(sp) 46214: 0081280e bge zero,r2,466b8 <_dtoa_r+0x11b0> 46218: 100d883a mov r6,r2 4621c: 1021883a mov r16,r2 46220: d8800c15 stw r2,48(sp) 46224: d8800615 stw r2,24(sp) 46228: 003d8806 br 4584c <__alt_data_end+0xfffd384c> 4622c: d8800617 ldw r2,24(sp) 46230: 00be9b16 blt zero,r2,45ca0 <__alt_data_end+0xfffd3ca0> 46234: 10010f1e bne r2,zero,46674 <_dtoa_r+0x116c> 46238: 880b883a mov r5,r17 4623c: 000d883a mov r6,zero 46240: 01d00534 movhi r7,16404 46244: 8009883a mov r4,r16 46248: 004de5c0 call 4de5c <__muldf3> 4624c: 900d883a mov r6,r18 46250: 980f883a mov r7,r19 46254: 1009883a mov r4,r2 46258: 180b883a mov r5,r3 4625c: 0041e440 call 41e44 <__gedf2> 46260: 002b883a mov r21,zero 46264: 0023883a mov r17,zero 46268: 1000bf16 blt r2,zero,46568 <_dtoa_r+0x1060> 4626c: d9802217 ldw r6,136(sp) 46270: ddc00717 ldw r23,28(sp) 46274: 018c303a nor r6,zero,r6 46278: d9800515 stw r6,20(sp) 4627c: a80b883a mov r5,r21 46280: e009883a mov r4,fp 46284: 0048c680 call 48c68 <_Bfree> 46288: 883e4926 beq r17,zero,45bb0 <__alt_data_end+0xfffd3bb0> 4628c: 003fad06 br 46144 <__alt_data_end+0xfffd4144> 46290: d9c01117 ldw r7,68(sp) 46294: 3801bc26 beq r7,zero,46988 <_dtoa_r+0x1480> 46298: 10810cc4 addi r2,r2,1075 4629c: dd400a17 ldw r21,40(sp) 462a0: dd000817 ldw r20,32(sp) 462a4: 003f0a06 br 45ed0 <__alt_data_end+0xfffd3ed0> 462a8: 00800704 movi r2,28 462ac: d9000817 ldw r4,32(sp) 462b0: a0a9883a add r20,r20,r2 462b4: b0ad883a add r22,r22,r2 462b8: 2089883a add r4,r4,r2 462bc: d9000815 stw r4,32(sp) 462c0: 003f5106 br 46008 <__alt_data_end+0xfffd4008> 462c4: d8c00317 ldw r3,12(sp) 462c8: b8c1fc0e bge r23,r3,46abc <_dtoa_r+0x15b4> 462cc: 0027883a mov r19,zero 462d0: b805883a mov r2,r23 462d4: 003f3e06 br 45fd0 <__alt_data_end+0xfffd3fd0> 462d8: 880b883a mov r5,r17 462dc: e009883a mov r4,fp 462e0: 000f883a mov r7,zero 462e4: 01800284 movi r6,10 462e8: 0048c900 call 48c90 <__multadd> 462ec: d9000c17 ldw r4,48(sp) 462f0: 1023883a mov r17,r2 462f4: 0102040e bge zero,r4,46b08 <_dtoa_r+0x1600> 462f8: d9000615 stw r4,24(sp) 462fc: 0500050e bge zero,r20,46314 <_dtoa_r+0xe0c> 46300: 880b883a mov r5,r17 46304: a00d883a mov r6,r20 46308: e009883a mov r4,fp 4630c: 00493fc0 call 493fc <__lshift> 46310: 1023883a mov r17,r2 46314: 9801241e bne r19,zero,467a8 <_dtoa_r+0x12a0> 46318: 8829883a mov r20,r17 4631c: d9000617 ldw r4,24(sp) 46320: dcc00717 ldw r19,28(sp) 46324: 9480004c andi r18,r18,1 46328: 20bfffc4 addi r2,r4,-1 4632c: 9885883a add r2,r19,r2 46330: d8800415 stw r2,16(sp) 46334: dc800615 stw r18,24(sp) 46338: a80b883a mov r5,r21 4633c: 8009883a mov r4,r16 46340: 00452e00 call 452e0 46344: 880b883a mov r5,r17 46348: 8009883a mov r4,r16 4634c: 102f883a mov r23,r2 46350: 00495440 call 49544 <__mcmp> 46354: a80b883a mov r5,r21 46358: a00d883a mov r6,r20 4635c: e009883a mov r4,fp 46360: 102d883a mov r22,r2 46364: 00495a40 call 495a4 <__mdiff> 46368: 1007883a mov r3,r2 4636c: 10800317 ldw r2,12(r2) 46370: bc800c04 addi r18,r23,48 46374: 180b883a mov r5,r3 46378: 10004e1e bne r2,zero,464b4 <_dtoa_r+0xfac> 4637c: 8009883a mov r4,r16 46380: d8c01615 stw r3,88(sp) 46384: 00495440 call 49544 <__mcmp> 46388: d8c01617 ldw r3,88(sp) 4638c: e009883a mov r4,fp 46390: d8801615 stw r2,88(sp) 46394: 180b883a mov r5,r3 46398: 0048c680 call 48c68 <_Bfree> 4639c: d8801617 ldw r2,88(sp) 463a0: 1000041e bne r2,zero,463b4 <_dtoa_r+0xeac> 463a4: d9800317 ldw r6,12(sp) 463a8: 3000021e bne r6,zero,463b4 <_dtoa_r+0xeac> 463ac: d8c00617 ldw r3,24(sp) 463b0: 18003726 beq r3,zero,46490 <_dtoa_r+0xf88> 463b4: b0002016 blt r22,zero,46438 <_dtoa_r+0xf30> 463b8: b000041e bne r22,zero,463cc <_dtoa_r+0xec4> 463bc: d9000317 ldw r4,12(sp) 463c0: 2000021e bne r4,zero,463cc <_dtoa_r+0xec4> 463c4: d8c00617 ldw r3,24(sp) 463c8: 18001b26 beq r3,zero,46438 <_dtoa_r+0xf30> 463cc: 00810716 blt zero,r2,467ec <_dtoa_r+0x12e4> 463d0: d8c00417 ldw r3,16(sp) 463d4: 9d800044 addi r22,r19,1 463d8: 9c800005 stb r18,0(r19) 463dc: b02f883a mov r23,r22 463e0: 98c10626 beq r19,r3,467fc <_dtoa_r+0x12f4> 463e4: 800b883a mov r5,r16 463e8: 000f883a mov r7,zero 463ec: 01800284 movi r6,10 463f0: e009883a mov r4,fp 463f4: 0048c900 call 48c90 <__multadd> 463f8: 1021883a mov r16,r2 463fc: 000f883a mov r7,zero 46400: 01800284 movi r6,10 46404: 880b883a mov r5,r17 46408: e009883a mov r4,fp 4640c: 8d002526 beq r17,r20,464a4 <_dtoa_r+0xf9c> 46410: 0048c900 call 48c90 <__multadd> 46414: a00b883a mov r5,r20 46418: 000f883a mov r7,zero 4641c: 01800284 movi r6,10 46420: e009883a mov r4,fp 46424: 1023883a mov r17,r2 46428: 0048c900 call 48c90 <__multadd> 4642c: 1029883a mov r20,r2 46430: b027883a mov r19,r22 46434: 003fc006 br 46338 <__alt_data_end+0xfffd4338> 46438: 9011883a mov r8,r18 4643c: 00800e0e bge zero,r2,46478 <_dtoa_r+0xf70> 46440: 800b883a mov r5,r16 46444: 01800044 movi r6,1 46448: e009883a mov r4,fp 4644c: da001715 stw r8,92(sp) 46450: 00493fc0 call 493fc <__lshift> 46454: a80b883a mov r5,r21 46458: 1009883a mov r4,r2 4645c: 1021883a mov r16,r2 46460: 00495440 call 49544 <__mcmp> 46464: da001717 ldw r8,92(sp) 46468: 0081960e bge zero,r2,46ac4 <_dtoa_r+0x15bc> 4646c: 00800e44 movi r2,57 46470: 40817026 beq r8,r2,46a34 <_dtoa_r+0x152c> 46474: ba000c44 addi r8,r23,49 46478: 8825883a mov r18,r17 4647c: 9dc00044 addi r23,r19,1 46480: 9a000005 stb r8,0(r19) 46484: a023883a mov r17,r20 46488: dc000915 stw r16,36(sp) 4648c: 003f2406 br 46120 <__alt_data_end+0xfffd4120> 46490: 00800e44 movi r2,57 46494: 9011883a mov r8,r18 46498: 90816626 beq r18,r2,46a34 <_dtoa_r+0x152c> 4649c: 05bff516 blt zero,r22,46474 <__alt_data_end+0xfffd4474> 464a0: 003ff506 br 46478 <__alt_data_end+0xfffd4478> 464a4: 0048c900 call 48c90 <__multadd> 464a8: 1023883a mov r17,r2 464ac: 1029883a mov r20,r2 464b0: 003fdf06 br 46430 <__alt_data_end+0xfffd4430> 464b4: e009883a mov r4,fp 464b8: 0048c680 call 48c68 <_Bfree> 464bc: 00800044 movi r2,1 464c0: 003fbc06 br 463b4 <__alt_data_end+0xfffd43b4> 464c4: a80b883a mov r5,r21 464c8: 8009883a mov r4,r16 464cc: 00495440 call 49544 <__mcmp> 464d0: 103edb0e bge r2,zero,46040 <__alt_data_end+0xfffd4040> 464d4: 800b883a mov r5,r16 464d8: 000f883a mov r7,zero 464dc: 01800284 movi r6,10 464e0: e009883a mov r4,fp 464e4: 0048c900 call 48c90 <__multadd> 464e8: 1021883a mov r16,r2 464ec: d8800517 ldw r2,20(sp) 464f0: d8c00b17 ldw r3,44(sp) 464f4: 10bfffc4 addi r2,r2,-1 464f8: d8800515 stw r2,20(sp) 464fc: 183f761e bne r3,zero,462d8 <__alt_data_end+0xfffd42d8> 46500: d9000c17 ldw r4,48(sp) 46504: 0101730e bge zero,r4,46ad4 <_dtoa_r+0x15cc> 46508: d9000615 stw r4,24(sp) 4650c: 003ed006 br 46050 <__alt_data_end+0xfffd4050> 46510: 00800084 movi r2,2 46514: 3081861e bne r6,r2,46b30 <_dtoa_r+0x1628> 46518: d8000b15 stw zero,44(sp) 4651c: 003f3c06 br 46210 <__alt_data_end+0xfffd4210> 46520: dc000917 ldw r16,36(sp) 46524: 003e9206 br 45f70 <__alt_data_end+0xfffd3f70> 46528: d9c00317 ldw r7,12(sp) 4652c: 00800084 movi r2,2 46530: 11fec50e bge r2,r7,46048 <__alt_data_end+0xfffd4048> 46534: d9000617 ldw r4,24(sp) 46538: 20013c1e bne r4,zero,46a2c <_dtoa_r+0x1524> 4653c: a80b883a mov r5,r21 46540: 000f883a mov r7,zero 46544: 01800144 movi r6,5 46548: e009883a mov r4,fp 4654c: 0048c900 call 48c90 <__multadd> 46550: 100b883a mov r5,r2 46554: 8009883a mov r4,r16 46558: 102b883a mov r21,r2 4655c: 00495440 call 49544 <__mcmp> 46560: dc000915 stw r16,36(sp) 46564: 00bf410e bge zero,r2,4626c <__alt_data_end+0xfffd426c> 46568: d9c00717 ldw r7,28(sp) 4656c: 00800c44 movi r2,49 46570: 38800005 stb r2,0(r7) 46574: d8800517 ldw r2,20(sp) 46578: 3dc00044 addi r23,r7,1 4657c: 10800044 addi r2,r2,1 46580: d8800515 stw r2,20(sp) 46584: 003f3d06 br 4627c <__alt_data_end+0xfffd427c> 46588: d9800517 ldw r6,20(sp) 4658c: d9c00717 ldw r7,28(sp) 46590: 00800c44 movi r2,49 46594: 31800044 addi r6,r6,1 46598: d9800515 stw r6,20(sp) 4659c: 38800005 stb r2,0(r7) 465a0: 003edf06 br 46120 <__alt_data_end+0xfffd4120> 465a4: d8000b15 stw zero,44(sp) 465a8: 003c9f06 br 45828 <__alt_data_end+0xfffd3828> 465ac: 903e7e1e bne r18,zero,45fa8 <__alt_data_end+0xfffd3fa8> 465b0: 00800434 movhi r2,16 465b4: 10bfffc4 addi r2,r2,-1 465b8: 9884703a and r2,r19,r2 465bc: 1000ea1e bne r2,zero,46968 <_dtoa_r+0x1460> 465c0: 9cdffc2c andhi r19,r19,32752 465c4: 9800e826 beq r19,zero,46968 <_dtoa_r+0x1460> 465c8: d9c00817 ldw r7,32(sp) 465cc: b5800044 addi r22,r22,1 465d0: 04c00044 movi r19,1 465d4: 39c00044 addi r7,r7,1 465d8: d9c00815 stw r7,32(sp) 465dc: d8800d17 ldw r2,52(sp) 465e0: 103e721e bne r2,zero,45fac <__alt_data_end+0xfffd3fac> 465e4: 00800044 movi r2,1 465e8: 003e7906 br 45fd0 <__alt_data_end+0xfffd3fd0> 465ec: 8009883a mov r4,r16 465f0: 00429900 call 42990 <__floatsidf> 465f4: d9800f17 ldw r6,60(sp) 465f8: d9c01017 ldw r7,64(sp) 465fc: 1009883a mov r4,r2 46600: 180b883a mov r5,r3 46604: 004de5c0 call 4de5c <__muldf3> 46608: 000d883a mov r6,zero 4660c: 01d00734 movhi r7,16412 46610: 1009883a mov r4,r2 46614: 180b883a mov r5,r3 46618: 00415980 call 41598 <__adddf3> 4661c: 047f3034 movhi r17,64704 46620: 1021883a mov r16,r2 46624: 1c63883a add r17,r3,r17 46628: d9000f17 ldw r4,60(sp) 4662c: d9401017 ldw r5,64(sp) 46630: 000d883a mov r6,zero 46634: 01d00534 movhi r7,16404 46638: 00420140 call 42014 <__subdf3> 4663c: 800d883a mov r6,r16 46640: 880f883a mov r7,r17 46644: 1009883a mov r4,r2 46648: 180b883a mov r5,r3 4664c: 102b883a mov r21,r2 46650: 1829883a mov r20,r3 46654: 0041e440 call 41e44 <__gedf2> 46658: 00806c16 blt zero,r2,4680c <_dtoa_r+0x1304> 4665c: 89e0003c xorhi r7,r17,32768 46660: 800d883a mov r6,r16 46664: a809883a mov r4,r21 46668: a00b883a mov r5,r20 4666c: 0041f200 call 41f20 <__ledf2> 46670: 103d7e0e bge r2,zero,45c6c <__alt_data_end+0xfffd3c6c> 46674: 002b883a mov r21,zero 46678: 0023883a mov r17,zero 4667c: 003efb06 br 4626c <__alt_data_end+0xfffd426c> 46680: d8800717 ldw r2,28(sp) 46684: 003bd006 br 455c8 <__alt_data_end+0xfffd35c8> 46688: d9000a17 ldw r4,40(sp) 4668c: d9800d17 ldw r6,52(sp) 46690: dd400a15 stw r21,40(sp) 46694: a905c83a sub r2,r21,r4 46698: 308d883a add r6,r6,r2 4669c: d9800d15 stw r6,52(sp) 466a0: 002b883a mov r21,zero 466a4: 003e0606 br 45ec0 <__alt_data_end+0xfffd3ec0> 466a8: 9023883a mov r17,r18 466ac: 9829883a mov r20,r19 466b0: 04000084 movi r16,2 466b4: 003c9206 br 45900 <__alt_data_end+0xfffd3900> 466b8: 04000044 movi r16,1 466bc: dc000c15 stw r16,48(sp) 466c0: dc000615 stw r16,24(sp) 466c4: dc002215 stw r16,136(sp) 466c8: e0001115 stw zero,68(fp) 466cc: 000b883a mov r5,zero 466d0: 003c6906 br 45878 <__alt_data_end+0xfffd3878> 466d4: 3021883a mov r16,r6 466d8: 003ffb06 br 466c8 <__alt_data_end+0xfffd46c8> 466dc: 1000021e bne r2,zero,466e8 <_dtoa_r+0x11e0> 466e0: 4200004c andi r8,r8,1 466e4: 403e7d1e bne r8,zero,460dc <__alt_data_end+0xfffd40dc> 466e8: 01000c04 movi r4,48 466ec: 00000106 br 466f4 <_dtoa_r+0x11ec> 466f0: 102f883a mov r23,r2 466f4: b8bfffc4 addi r2,r23,-1 466f8: 10c00007 ldb r3,0(r2) 466fc: 193ffc26 beq r3,r4,466f0 <__alt_data_end+0xfffd46f0> 46700: 003e8706 br 46120 <__alt_data_end+0xfffd4120> 46704: d8800517 ldw r2,20(sp) 46708: 00a3c83a sub r17,zero,r2 4670c: 8800a426 beq r17,zero,469a0 <_dtoa_r+0x1498> 46710: 888003cc andi r2,r17,15 46714: 100490fa slli r2,r2,3 46718: 00c00174 movhi r3,5 4671c: 18c87604 addi r3,r3,8664 46720: 1885883a add r2,r3,r2 46724: 11800017 ldw r6,0(r2) 46728: 11c00117 ldw r7,4(r2) 4672c: 9009883a mov r4,r18 46730: 980b883a mov r5,r19 46734: 8823d13a srai r17,r17,4 46738: 004de5c0 call 4de5c <__muldf3> 4673c: d8800f15 stw r2,60(sp) 46740: d8c01015 stw r3,64(sp) 46744: 8800e826 beq r17,zero,46ae8 <_dtoa_r+0x15e0> 46748: 05000174 movhi r20,5 4674c: a5086c04 addi r20,r20,8624 46750: 04000084 movi r16,2 46754: 8980004c andi r6,r17,1 46758: 1009883a mov r4,r2 4675c: 8823d07a srai r17,r17,1 46760: 180b883a mov r5,r3 46764: 30000426 beq r6,zero,46778 <_dtoa_r+0x1270> 46768: a1800017 ldw r6,0(r20) 4676c: a1c00117 ldw r7,4(r20) 46770: 84000044 addi r16,r16,1 46774: 004de5c0 call 4de5c <__muldf3> 46778: a5000204 addi r20,r20,8 4677c: 883ff51e bne r17,zero,46754 <__alt_data_end+0xfffd4754> 46780: d8800f15 stw r2,60(sp) 46784: d8c01015 stw r3,64(sp) 46788: 003c7606 br 45964 <__alt_data_end+0xfffd3964> 4678c: 00c00c04 movi r3,48 46790: 10c00005 stb r3,0(r2) 46794: d8c00517 ldw r3,20(sp) 46798: bd3fffc3 ldbu r20,-1(r23) 4679c: 18c00044 addi r3,r3,1 467a0: d8c00515 stw r3,20(sp) 467a4: 003db906 br 45e8c <__alt_data_end+0xfffd3e8c> 467a8: 89400117 ldw r5,4(r17) 467ac: e009883a mov r4,fp 467b0: 0048bc00 call 48bc0 <_Balloc> 467b4: 89800417 ldw r6,16(r17) 467b8: 89400304 addi r5,r17,12 467bc: 11000304 addi r4,r2,12 467c0: 31800084 addi r6,r6,2 467c4: 318d883a add r6,r6,r6 467c8: 318d883a add r6,r6,r6 467cc: 1027883a mov r19,r2 467d0: 00487f40 call 487f4 467d4: 01800044 movi r6,1 467d8: 980b883a mov r5,r19 467dc: e009883a mov r4,fp 467e0: 00493fc0 call 493fc <__lshift> 467e4: 1029883a mov r20,r2 467e8: 003ecc06 br 4631c <__alt_data_end+0xfffd431c> 467ec: 00800e44 movi r2,57 467f0: 90809026 beq r18,r2,46a34 <_dtoa_r+0x152c> 467f4: 92000044 addi r8,r18,1 467f8: 003f1f06 br 46478 <__alt_data_end+0xfffd4478> 467fc: 9011883a mov r8,r18 46800: 8825883a mov r18,r17 46804: a023883a mov r17,r20 46808: 003e2906 br 460b0 <__alt_data_end+0xfffd40b0> 4680c: 002b883a mov r21,zero 46810: 0023883a mov r17,zero 46814: 003f5406 br 46568 <__alt_data_end+0xfffd4568> 46818: 61bfffc4 addi r6,r12,-1 4681c: 300490fa slli r2,r6,3 46820: 00c00174 movhi r3,5 46824: 18c87604 addi r3,r3,8664 46828: 1885883a add r2,r3,r2 4682c: 11000017 ldw r4,0(r2) 46830: 11400117 ldw r5,4(r2) 46834: d8800717 ldw r2,28(sp) 46838: 880f883a mov r7,r17 4683c: d9801215 stw r6,72(sp) 46840: 800d883a mov r6,r16 46844: db001615 stw r12,88(sp) 46848: 15c00044 addi r23,r2,1 4684c: 004de5c0 call 4de5c <__muldf3> 46850: d9401017 ldw r5,64(sp) 46854: d9000f17 ldw r4,60(sp) 46858: d8c01515 stw r3,84(sp) 4685c: d8801415 stw r2,80(sp) 46860: 00429100 call 42910 <__fixdfsi> 46864: 1009883a mov r4,r2 46868: 1021883a mov r16,r2 4686c: 00429900 call 42990 <__floatsidf> 46870: d9000f17 ldw r4,60(sp) 46874: d9401017 ldw r5,64(sp) 46878: 100d883a mov r6,r2 4687c: 180f883a mov r7,r3 46880: 00420140 call 42014 <__subdf3> 46884: 1829883a mov r20,r3 46888: d8c00717 ldw r3,28(sp) 4688c: 84000c04 addi r16,r16,48 46890: 1023883a mov r17,r2 46894: 1c000005 stb r16,0(r3) 46898: db001617 ldw r12,88(sp) 4689c: 00800044 movi r2,1 468a0: 60802226 beq r12,r2,4692c <_dtoa_r+0x1424> 468a4: d9c00717 ldw r7,28(sp) 468a8: 8805883a mov r2,r17 468ac: b82b883a mov r21,r23 468b0: 3b19883a add r12,r7,r12 468b4: 6023883a mov r17,r12 468b8: a007883a mov r3,r20 468bc: dc800f15 stw r18,60(sp) 468c0: 000d883a mov r6,zero 468c4: 01d00934 movhi r7,16420 468c8: 1009883a mov r4,r2 468cc: 180b883a mov r5,r3 468d0: 004de5c0 call 4de5c <__muldf3> 468d4: 180b883a mov r5,r3 468d8: 1009883a mov r4,r2 468dc: 1829883a mov r20,r3 468e0: 1025883a mov r18,r2 468e4: 00429100 call 42910 <__fixdfsi> 468e8: 1009883a mov r4,r2 468ec: 1021883a mov r16,r2 468f0: 00429900 call 42990 <__floatsidf> 468f4: 100d883a mov r6,r2 468f8: 180f883a mov r7,r3 468fc: 9009883a mov r4,r18 46900: a00b883a mov r5,r20 46904: 84000c04 addi r16,r16,48 46908: 00420140 call 42014 <__subdf3> 4690c: ad400044 addi r21,r21,1 46910: ac3fffc5 stb r16,-1(r21) 46914: ac7fea1e bne r21,r17,468c0 <__alt_data_end+0xfffd48c0> 46918: 1023883a mov r17,r2 4691c: d8801217 ldw r2,72(sp) 46920: dc800f17 ldw r18,60(sp) 46924: 1829883a mov r20,r3 46928: b8af883a add r23,r23,r2 4692c: d9001417 ldw r4,80(sp) 46930: d9401517 ldw r5,84(sp) 46934: 000d883a mov r6,zero 46938: 01cff834 movhi r7,16352 4693c: 00415980 call 41598 <__adddf3> 46940: 880d883a mov r6,r17 46944: a00f883a mov r7,r20 46948: 1009883a mov r4,r2 4694c: 180b883a mov r5,r3 46950: 0041f200 call 41f20 <__ledf2> 46954: 10003e0e bge r2,zero,46a50 <_dtoa_r+0x1548> 46958: d9001317 ldw r4,76(sp) 4695c: bd3fffc3 ldbu r20,-1(r23) 46960: d9000515 stw r4,20(sp) 46964: 003d3b06 br 45e54 <__alt_data_end+0xfffd3e54> 46968: 0027883a mov r19,zero 4696c: 003f1b06 br 465dc <__alt_data_end+0xfffd45dc> 46970: d8800817 ldw r2,32(sp) 46974: 11e9c83a sub r20,r2,r7 46978: 0005883a mov r2,zero 4697c: 003d5406 br 45ed0 <__alt_data_end+0xfffd3ed0> 46980: 00800044 movi r2,1 46984: 003dc706 br 460a4 <__alt_data_end+0xfffd40a4> 46988: d8c00217 ldw r3,8(sp) 4698c: 00800d84 movi r2,54 46990: dd400a17 ldw r21,40(sp) 46994: 10c5c83a sub r2,r2,r3 46998: dd000817 ldw r20,32(sp) 4699c: 003d4c06 br 45ed0 <__alt_data_end+0xfffd3ed0> 469a0: dc800f15 stw r18,60(sp) 469a4: dcc01015 stw r19,64(sp) 469a8: 04000084 movi r16,2 469ac: 003bed06 br 45964 <__alt_data_end+0xfffd3964> 469b0: d9000617 ldw r4,24(sp) 469b4: 203f0d26 beq r4,zero,465ec <__alt_data_end+0xfffd45ec> 469b8: d9800c17 ldw r6,48(sp) 469bc: 01bcab0e bge zero,r6,45c6c <__alt_data_end+0xfffd3c6c> 469c0: d9401017 ldw r5,64(sp) 469c4: d9000f17 ldw r4,60(sp) 469c8: 000d883a mov r6,zero 469cc: 01d00934 movhi r7,16420 469d0: 004de5c0 call 4de5c <__muldf3> 469d4: 81000044 addi r4,r16,1 469d8: d8800f15 stw r2,60(sp) 469dc: d8c01015 stw r3,64(sp) 469e0: 00429900 call 42990 <__floatsidf> 469e4: d9800f17 ldw r6,60(sp) 469e8: d9c01017 ldw r7,64(sp) 469ec: 1009883a mov r4,r2 469f0: 180b883a mov r5,r3 469f4: 004de5c0 call 4de5c <__muldf3> 469f8: 01d00734 movhi r7,16412 469fc: 000d883a mov r6,zero 46a00: 1009883a mov r4,r2 46a04: 180b883a mov r5,r3 46a08: 00415980 call 41598 <__adddf3> 46a0c: d9c00517 ldw r7,20(sp) 46a10: 047f3034 movhi r17,64704 46a14: 1021883a mov r16,r2 46a18: 39ffffc4 addi r7,r7,-1 46a1c: d9c01315 stw r7,76(sp) 46a20: 1c63883a add r17,r3,r17 46a24: db000c17 ldw r12,48(sp) 46a28: 003bea06 br 459d4 <__alt_data_end+0xfffd39d4> 46a2c: dc000915 stw r16,36(sp) 46a30: 003e0e06 br 4626c <__alt_data_end+0xfffd426c> 46a34: 01000e44 movi r4,57 46a38: 8825883a mov r18,r17 46a3c: 9dc00044 addi r23,r19,1 46a40: 99000005 stb r4,0(r19) 46a44: a023883a mov r17,r20 46a48: dc000915 stw r16,36(sp) 46a4c: 003da406 br 460e0 <__alt_data_end+0xfffd40e0> 46a50: d9801417 ldw r6,80(sp) 46a54: d9c01517 ldw r7,84(sp) 46a58: 0009883a mov r4,zero 46a5c: 014ff834 movhi r5,16352 46a60: 00420140 call 42014 <__subdf3> 46a64: 880d883a mov r6,r17 46a68: a00f883a mov r7,r20 46a6c: 1009883a mov r4,r2 46a70: 180b883a mov r5,r3 46a74: 0041e440 call 41e44 <__gedf2> 46a78: 00bc7c0e bge zero,r2,45c6c <__alt_data_end+0xfffd3c6c> 46a7c: 01000c04 movi r4,48 46a80: 00000106 br 46a88 <_dtoa_r+0x1580> 46a84: 102f883a mov r23,r2 46a88: b8bfffc4 addi r2,r23,-1 46a8c: 10c00007 ldb r3,0(r2) 46a90: 193ffc26 beq r3,r4,46a84 <__alt_data_end+0xfffd4a84> 46a94: d9801317 ldw r6,76(sp) 46a98: d9800515 stw r6,20(sp) 46a9c: 003c4406 br 45bb0 <__alt_data_end+0xfffd3bb0> 46aa0: d9801317 ldw r6,76(sp) 46aa4: d9800515 stw r6,20(sp) 46aa8: 003cea06 br 45e54 <__alt_data_end+0xfffd3e54> 46aac: dd800f17 ldw r22,60(sp) 46ab0: dcc01017 ldw r19,64(sp) 46ab4: dc801217 ldw r18,72(sp) 46ab8: 003c6c06 br 45c6c <__alt_data_end+0xfffd3c6c> 46abc: 903e031e bne r18,zero,462cc <__alt_data_end+0xfffd42cc> 46ac0: 003ebb06 br 465b0 <__alt_data_end+0xfffd45b0> 46ac4: 103e6c1e bne r2,zero,46478 <__alt_data_end+0xfffd4478> 46ac8: 4080004c andi r2,r8,1 46acc: 103e6a26 beq r2,zero,46478 <__alt_data_end+0xfffd4478> 46ad0: 003e6606 br 4646c <__alt_data_end+0xfffd446c> 46ad4: d8c00317 ldw r3,12(sp) 46ad8: 00800084 movi r2,2 46adc: 10c02916 blt r2,r3,46b84 <_dtoa_r+0x167c> 46ae0: d9000c17 ldw r4,48(sp) 46ae4: 003e8806 br 46508 <__alt_data_end+0xfffd4508> 46ae8: 04000084 movi r16,2 46aec: 003b9d06 br 45964 <__alt_data_end+0xfffd3964> 46af0: d9001317 ldw r4,76(sp) 46af4: d9000515 stw r4,20(sp) 46af8: 003cd606 br 45e54 <__alt_data_end+0xfffd3e54> 46afc: d8801317 ldw r2,76(sp) 46b00: d8800515 stw r2,20(sp) 46b04: 003c2a06 br 45bb0 <__alt_data_end+0xfffd3bb0> 46b08: d9800317 ldw r6,12(sp) 46b0c: 00800084 movi r2,2 46b10: 11801516 blt r2,r6,46b68 <_dtoa_r+0x1660> 46b14: d9c00c17 ldw r7,48(sp) 46b18: d9c00615 stw r7,24(sp) 46b1c: 003df706 br 462fc <__alt_data_end+0xfffd42fc> 46b20: 193d3926 beq r3,r4,46008 <__alt_data_end+0xfffd4008> 46b24: 00c00f04 movi r3,60 46b28: 1885c83a sub r2,r3,r2 46b2c: 003ddf06 br 462ac <__alt_data_end+0xfffd42ac> 46b30: e009883a mov r4,fp 46b34: e0001115 stw zero,68(fp) 46b38: 000b883a mov r5,zero 46b3c: 0048bc00 call 48bc0 <_Balloc> 46b40: d8800715 stw r2,28(sp) 46b44: d8c00717 ldw r3,28(sp) 46b48: 00bfffc4 movi r2,-1 46b4c: 01000044 movi r4,1 46b50: d8800c15 stw r2,48(sp) 46b54: e0c01015 stw r3,64(fp) 46b58: d9000b15 stw r4,44(sp) 46b5c: d8800615 stw r2,24(sp) 46b60: d8002215 stw zero,136(sp) 46b64: 003c4106 br 45c6c <__alt_data_end+0xfffd3c6c> 46b68: d8c00c17 ldw r3,48(sp) 46b6c: d8c00615 stw r3,24(sp) 46b70: 003e7006 br 46534 <__alt_data_end+0xfffd4534> 46b74: 04400044 movi r17,1 46b78: 003b2006 br 457fc <__alt_data_end+0xfffd37fc> 46b7c: 000b883a mov r5,zero 46b80: 003b3d06 br 45878 <__alt_data_end+0xfffd3878> 46b84: d8800c17 ldw r2,48(sp) 46b88: d8800615 stw r2,24(sp) 46b8c: 003e6906 br 46534 <__alt_data_end+0xfffd4534> 00046b90 <__sflush_r>: 46b90: 2880030b ldhu r2,12(r5) 46b94: defffb04 addi sp,sp,-20 46b98: dcc00315 stw r19,12(sp) 46b9c: dc400115 stw r17,4(sp) 46ba0: dfc00415 stw ra,16(sp) 46ba4: dc800215 stw r18,8(sp) 46ba8: dc000015 stw r16,0(sp) 46bac: 10c0020c andi r3,r2,8 46bb0: 2823883a mov r17,r5 46bb4: 2027883a mov r19,r4 46bb8: 1800311e bne r3,zero,46c80 <__sflush_r+0xf0> 46bbc: 28c00117 ldw r3,4(r5) 46bc0: 10820014 ori r2,r2,2048 46bc4: 2880030d sth r2,12(r5) 46bc8: 00c04b0e bge zero,r3,46cf8 <__sflush_r+0x168> 46bcc: 8a000a17 ldw r8,40(r17) 46bd0: 40002326 beq r8,zero,46c60 <__sflush_r+0xd0> 46bd4: 9c000017 ldw r16,0(r19) 46bd8: 10c4000c andi r3,r2,4096 46bdc: 98000015 stw zero,0(r19) 46be0: 18004826 beq r3,zero,46d04 <__sflush_r+0x174> 46be4: 89801417 ldw r6,80(r17) 46be8: 10c0010c andi r3,r2,4 46bec: 18000626 beq r3,zero,46c08 <__sflush_r+0x78> 46bf0: 88c00117 ldw r3,4(r17) 46bf4: 88800c17 ldw r2,48(r17) 46bf8: 30cdc83a sub r6,r6,r3 46bfc: 10000226 beq r2,zero,46c08 <__sflush_r+0x78> 46c00: 88800f17 ldw r2,60(r17) 46c04: 308dc83a sub r6,r6,r2 46c08: 89400717 ldw r5,28(r17) 46c0c: 000f883a mov r7,zero 46c10: 9809883a mov r4,r19 46c14: 403ee83a callr r8 46c18: 00ffffc4 movi r3,-1 46c1c: 10c04426 beq r2,r3,46d30 <__sflush_r+0x1a0> 46c20: 88c0030b ldhu r3,12(r17) 46c24: 89000417 ldw r4,16(r17) 46c28: 88000115 stw zero,4(r17) 46c2c: 197dffcc andi r5,r3,63487 46c30: 8940030d sth r5,12(r17) 46c34: 89000015 stw r4,0(r17) 46c38: 18c4000c andi r3,r3,4096 46c3c: 18002c1e bne r3,zero,46cf0 <__sflush_r+0x160> 46c40: 89400c17 ldw r5,48(r17) 46c44: 9c000015 stw r16,0(r19) 46c48: 28000526 beq r5,zero,46c60 <__sflush_r+0xd0> 46c4c: 88801004 addi r2,r17,64 46c50: 28800226 beq r5,r2,46c5c <__sflush_r+0xcc> 46c54: 9809883a mov r4,r19 46c58: 004730c0 call 4730c <_free_r> 46c5c: 88000c15 stw zero,48(r17) 46c60: 0005883a mov r2,zero 46c64: dfc00417 ldw ra,16(sp) 46c68: dcc00317 ldw r19,12(sp) 46c6c: dc800217 ldw r18,8(sp) 46c70: dc400117 ldw r17,4(sp) 46c74: dc000017 ldw r16,0(sp) 46c78: dec00504 addi sp,sp,20 46c7c: f800283a ret 46c80: 2c800417 ldw r18,16(r5) 46c84: 903ff626 beq r18,zero,46c60 <__alt_data_end+0xfffd4c60> 46c88: 2c000017 ldw r16,0(r5) 46c8c: 108000cc andi r2,r2,3 46c90: 2c800015 stw r18,0(r5) 46c94: 84a1c83a sub r16,r16,r18 46c98: 1000131e bne r2,zero,46ce8 <__sflush_r+0x158> 46c9c: 28800517 ldw r2,20(r5) 46ca0: 88800215 stw r2,8(r17) 46ca4: 04000316 blt zero,r16,46cb4 <__sflush_r+0x124> 46ca8: 003fed06 br 46c60 <__alt_data_end+0xfffd4c60> 46cac: 90a5883a add r18,r18,r2 46cb0: 043feb0e bge zero,r16,46c60 <__alt_data_end+0xfffd4c60> 46cb4: 88800917 ldw r2,36(r17) 46cb8: 89400717 ldw r5,28(r17) 46cbc: 800f883a mov r7,r16 46cc0: 900d883a mov r6,r18 46cc4: 9809883a mov r4,r19 46cc8: 103ee83a callr r2 46ccc: 80a1c83a sub r16,r16,r2 46cd0: 00bff616 blt zero,r2,46cac <__alt_data_end+0xfffd4cac> 46cd4: 88c0030b ldhu r3,12(r17) 46cd8: 00bfffc4 movi r2,-1 46cdc: 18c01014 ori r3,r3,64 46ce0: 88c0030d sth r3,12(r17) 46ce4: 003fdf06 br 46c64 <__alt_data_end+0xfffd4c64> 46ce8: 0005883a mov r2,zero 46cec: 003fec06 br 46ca0 <__alt_data_end+0xfffd4ca0> 46cf0: 88801415 stw r2,80(r17) 46cf4: 003fd206 br 46c40 <__alt_data_end+0xfffd4c40> 46cf8: 28c00f17 ldw r3,60(r5) 46cfc: 00ffb316 blt zero,r3,46bcc <__alt_data_end+0xfffd4bcc> 46d00: 003fd706 br 46c60 <__alt_data_end+0xfffd4c60> 46d04: 89400717 ldw r5,28(r17) 46d08: 000d883a mov r6,zero 46d0c: 01c00044 movi r7,1 46d10: 9809883a mov r4,r19 46d14: 403ee83a callr r8 46d18: 100d883a mov r6,r2 46d1c: 00bfffc4 movi r2,-1 46d20: 30801426 beq r6,r2,46d74 <__sflush_r+0x1e4> 46d24: 8880030b ldhu r2,12(r17) 46d28: 8a000a17 ldw r8,40(r17) 46d2c: 003fae06 br 46be8 <__alt_data_end+0xfffd4be8> 46d30: 98c00017 ldw r3,0(r19) 46d34: 183fba26 beq r3,zero,46c20 <__alt_data_end+0xfffd4c20> 46d38: 01000744 movi r4,29 46d3c: 19000626 beq r3,r4,46d58 <__sflush_r+0x1c8> 46d40: 01000584 movi r4,22 46d44: 19000426 beq r3,r4,46d58 <__sflush_r+0x1c8> 46d48: 88c0030b ldhu r3,12(r17) 46d4c: 18c01014 ori r3,r3,64 46d50: 88c0030d sth r3,12(r17) 46d54: 003fc306 br 46c64 <__alt_data_end+0xfffd4c64> 46d58: 8880030b ldhu r2,12(r17) 46d5c: 88c00417 ldw r3,16(r17) 46d60: 88000115 stw zero,4(r17) 46d64: 10bdffcc andi r2,r2,63487 46d68: 8880030d sth r2,12(r17) 46d6c: 88c00015 stw r3,0(r17) 46d70: 003fb306 br 46c40 <__alt_data_end+0xfffd4c40> 46d74: 98800017 ldw r2,0(r19) 46d78: 103fea26 beq r2,zero,46d24 <__alt_data_end+0xfffd4d24> 46d7c: 00c00744 movi r3,29 46d80: 10c00226 beq r2,r3,46d8c <__sflush_r+0x1fc> 46d84: 00c00584 movi r3,22 46d88: 10c0031e bne r2,r3,46d98 <__sflush_r+0x208> 46d8c: 9c000015 stw r16,0(r19) 46d90: 0005883a mov r2,zero 46d94: 003fb306 br 46c64 <__alt_data_end+0xfffd4c64> 46d98: 88c0030b ldhu r3,12(r17) 46d9c: 3005883a mov r2,r6 46da0: 18c01014 ori r3,r3,64 46da4: 88c0030d sth r3,12(r17) 46da8: 003fae06 br 46c64 <__alt_data_end+0xfffd4c64> 00046dac <_fflush_r>: 46dac: defffd04 addi sp,sp,-12 46db0: dc000115 stw r16,4(sp) 46db4: dfc00215 stw ra,8(sp) 46db8: 2021883a mov r16,r4 46dbc: 20000226 beq r4,zero,46dc8 <_fflush_r+0x1c> 46dc0: 20800e17 ldw r2,56(r4) 46dc4: 10000c26 beq r2,zero,46df8 <_fflush_r+0x4c> 46dc8: 2880030f ldh r2,12(r5) 46dcc: 1000051e bne r2,zero,46de4 <_fflush_r+0x38> 46dd0: 0005883a mov r2,zero 46dd4: dfc00217 ldw ra,8(sp) 46dd8: dc000117 ldw r16,4(sp) 46ddc: dec00304 addi sp,sp,12 46de0: f800283a ret 46de4: 8009883a mov r4,r16 46de8: dfc00217 ldw ra,8(sp) 46dec: dc000117 ldw r16,4(sp) 46df0: dec00304 addi sp,sp,12 46df4: 0046b901 jmpi 46b90 <__sflush_r> 46df8: d9400015 stw r5,0(sp) 46dfc: 00471980 call 47198 <__sinit> 46e00: d9400017 ldw r5,0(sp) 46e04: 003ff006 br 46dc8 <__alt_data_end+0xfffd4dc8> 00046e08 : 46e08: 20000526 beq r4,zero,46e20 46e0c: 00800174 movhi r2,5 46e10: 10905304 addi r2,r2,16716 46e14: 200b883a mov r5,r4 46e18: 11000017 ldw r4,0(r2) 46e1c: 0046dac1 jmpi 46dac <_fflush_r> 46e20: 00800174 movhi r2,5 46e24: 10905204 addi r2,r2,16712 46e28: 11000017 ldw r4,0(r2) 46e2c: 01400134 movhi r5,4 46e30: 295b6b04 addi r5,r5,28076 46e34: 0047ba81 jmpi 47ba8 <_fwalk_reent> 00046e38 <__fp_unlock>: 46e38: 0005883a mov r2,zero 46e3c: f800283a ret 00046e40 <_cleanup_r>: 46e40: 01400174 movhi r5,5 46e44: 29700104 addi r5,r5,-16380 46e48: 0047ba81 jmpi 47ba8 <_fwalk_reent> 00046e4c <__sinit.part.1>: 46e4c: defff704 addi sp,sp,-36 46e50: 00c00134 movhi r3,4 46e54: dfc00815 stw ra,32(sp) 46e58: ddc00715 stw r23,28(sp) 46e5c: dd800615 stw r22,24(sp) 46e60: dd400515 stw r21,20(sp) 46e64: dd000415 stw r20,16(sp) 46e68: dcc00315 stw r19,12(sp) 46e6c: dc800215 stw r18,8(sp) 46e70: dc400115 stw r17,4(sp) 46e74: dc000015 stw r16,0(sp) 46e78: 18db9004 addi r3,r3,28224 46e7c: 24000117 ldw r16,4(r4) 46e80: 20c00f15 stw r3,60(r4) 46e84: 2080bb04 addi r2,r4,748 46e88: 00c000c4 movi r3,3 46e8c: 20c0b915 stw r3,740(r4) 46e90: 2080ba15 stw r2,744(r4) 46e94: 2000b815 stw zero,736(r4) 46e98: 05c00204 movi r23,8 46e9c: 00800104 movi r2,4 46ea0: 2025883a mov r18,r4 46ea4: b80d883a mov r6,r23 46ea8: 81001704 addi r4,r16,92 46eac: 000b883a mov r5,zero 46eb0: 80000015 stw zero,0(r16) 46eb4: 80000115 stw zero,4(r16) 46eb8: 80000215 stw zero,8(r16) 46ebc: 8080030d sth r2,12(r16) 46ec0: 80001915 stw zero,100(r16) 46ec4: 8000038d sth zero,14(r16) 46ec8: 80000415 stw zero,16(r16) 46ecc: 80000515 stw zero,20(r16) 46ed0: 80000615 stw zero,24(r16) 46ed4: 0048a980 call 48a98 46ed8: 05800174 movhi r22,5 46edc: 94400217 ldw r17,8(r18) 46ee0: 05400174 movhi r21,5 46ee4: 05000174 movhi r20,5 46ee8: 04c00174 movhi r19,5 46eec: b5a90304 addi r22,r22,-23540 46ef0: ad691a04 addi r21,r21,-23448 46ef4: a5293904 addi r20,r20,-23324 46ef8: 9ce95004 addi r19,r19,-23232 46efc: 85800815 stw r22,32(r16) 46f00: 85400915 stw r21,36(r16) 46f04: 85000a15 stw r20,40(r16) 46f08: 84c00b15 stw r19,44(r16) 46f0c: 84000715 stw r16,28(r16) 46f10: 00800284 movi r2,10 46f14: 8880030d sth r2,12(r17) 46f18: 00800044 movi r2,1 46f1c: b80d883a mov r6,r23 46f20: 89001704 addi r4,r17,92 46f24: 000b883a mov r5,zero 46f28: 88000015 stw zero,0(r17) 46f2c: 88000115 stw zero,4(r17) 46f30: 88000215 stw zero,8(r17) 46f34: 88001915 stw zero,100(r17) 46f38: 8880038d sth r2,14(r17) 46f3c: 88000415 stw zero,16(r17) 46f40: 88000515 stw zero,20(r17) 46f44: 88000615 stw zero,24(r17) 46f48: 0048a980 call 48a98 46f4c: 94000317 ldw r16,12(r18) 46f50: 00800484 movi r2,18 46f54: 8c400715 stw r17,28(r17) 46f58: 8d800815 stw r22,32(r17) 46f5c: 8d400915 stw r21,36(r17) 46f60: 8d000a15 stw r20,40(r17) 46f64: 8cc00b15 stw r19,44(r17) 46f68: 8080030d sth r2,12(r16) 46f6c: 00800084 movi r2,2 46f70: 80000015 stw zero,0(r16) 46f74: 80000115 stw zero,4(r16) 46f78: 80000215 stw zero,8(r16) 46f7c: 80001915 stw zero,100(r16) 46f80: 8080038d sth r2,14(r16) 46f84: 80000415 stw zero,16(r16) 46f88: 80000515 stw zero,20(r16) 46f8c: 80000615 stw zero,24(r16) 46f90: b80d883a mov r6,r23 46f94: 000b883a mov r5,zero 46f98: 81001704 addi r4,r16,92 46f9c: 0048a980 call 48a98 46fa0: 00800044 movi r2,1 46fa4: 84000715 stw r16,28(r16) 46fa8: 85800815 stw r22,32(r16) 46fac: 85400915 stw r21,36(r16) 46fb0: 85000a15 stw r20,40(r16) 46fb4: 84c00b15 stw r19,44(r16) 46fb8: 90800e15 stw r2,56(r18) 46fbc: dfc00817 ldw ra,32(sp) 46fc0: ddc00717 ldw r23,28(sp) 46fc4: dd800617 ldw r22,24(sp) 46fc8: dd400517 ldw r21,20(sp) 46fcc: dd000417 ldw r20,16(sp) 46fd0: dcc00317 ldw r19,12(sp) 46fd4: dc800217 ldw r18,8(sp) 46fd8: dc400117 ldw r17,4(sp) 46fdc: dc000017 ldw r16,0(sp) 46fe0: dec00904 addi sp,sp,36 46fe4: f800283a ret 00046fe8 <__fp_lock>: 46fe8: 0005883a mov r2,zero 46fec: f800283a ret 00046ff0 <__sfmoreglue>: 46ff0: defffc04 addi sp,sp,-16 46ff4: dc800215 stw r18,8(sp) 46ff8: 2825883a mov r18,r5 46ffc: dc000015 stw r16,0(sp) 47000: 01401a04 movi r5,104 47004: 2021883a mov r16,r4 47008: 913fffc4 addi r4,r18,-1 4700c: dfc00315 stw ra,12(sp) 47010: dc400115 stw r17,4(sp) 47014: 004d3dc0 call 4d3dc <__mulsi3> 47018: 8009883a mov r4,r16 4701c: 11401d04 addi r5,r2,116 47020: 1023883a mov r17,r2 47024: 0047f040 call 47f04 <_malloc_r> 47028: 1021883a mov r16,r2 4702c: 10000726 beq r2,zero,4704c <__sfmoreglue+0x5c> 47030: 11000304 addi r4,r2,12 47034: 10000015 stw zero,0(r2) 47038: 14800115 stw r18,4(r2) 4703c: 11000215 stw r4,8(r2) 47040: 89801a04 addi r6,r17,104 47044: 000b883a mov r5,zero 47048: 0048a980 call 48a98 4704c: 8005883a mov r2,r16 47050: dfc00317 ldw ra,12(sp) 47054: dc800217 ldw r18,8(sp) 47058: dc400117 ldw r17,4(sp) 4705c: dc000017 ldw r16,0(sp) 47060: dec00404 addi sp,sp,16 47064: f800283a ret 00047068 <__sfp>: 47068: defffb04 addi sp,sp,-20 4706c: dc000015 stw r16,0(sp) 47070: 04000174 movhi r16,5 47074: 84105204 addi r16,r16,16712 47078: dcc00315 stw r19,12(sp) 4707c: 2027883a mov r19,r4 47080: 81000017 ldw r4,0(r16) 47084: dfc00415 stw ra,16(sp) 47088: dc800215 stw r18,8(sp) 4708c: 20800e17 ldw r2,56(r4) 47090: dc400115 stw r17,4(sp) 47094: 1000021e bne r2,zero,470a0 <__sfp+0x38> 47098: 0046e4c0 call 46e4c <__sinit.part.1> 4709c: 81000017 ldw r4,0(r16) 470a0: 2480b804 addi r18,r4,736 470a4: 047fffc4 movi r17,-1 470a8: 91000117 ldw r4,4(r18) 470ac: 94000217 ldw r16,8(r18) 470b0: 213fffc4 addi r4,r4,-1 470b4: 20000a16 blt r4,zero,470e0 <__sfp+0x78> 470b8: 8080030f ldh r2,12(r16) 470bc: 10000c26 beq r2,zero,470f0 <__sfp+0x88> 470c0: 80c01d04 addi r3,r16,116 470c4: 00000206 br 470d0 <__sfp+0x68> 470c8: 18bfe60f ldh r2,-104(r3) 470cc: 10000826 beq r2,zero,470f0 <__sfp+0x88> 470d0: 213fffc4 addi r4,r4,-1 470d4: 1c3ffd04 addi r16,r3,-12 470d8: 18c01a04 addi r3,r3,104 470dc: 247ffa1e bne r4,r17,470c8 <__alt_data_end+0xfffd50c8> 470e0: 90800017 ldw r2,0(r18) 470e4: 10001d26 beq r2,zero,4715c <__sfp+0xf4> 470e8: 1025883a mov r18,r2 470ec: 003fee06 br 470a8 <__alt_data_end+0xfffd50a8> 470f0: 00bfffc4 movi r2,-1 470f4: 8080038d sth r2,14(r16) 470f8: 00800044 movi r2,1 470fc: 8080030d sth r2,12(r16) 47100: 80001915 stw zero,100(r16) 47104: 80000015 stw zero,0(r16) 47108: 80000215 stw zero,8(r16) 4710c: 80000115 stw zero,4(r16) 47110: 80000415 stw zero,16(r16) 47114: 80000515 stw zero,20(r16) 47118: 80000615 stw zero,24(r16) 4711c: 01800204 movi r6,8 47120: 000b883a mov r5,zero 47124: 81001704 addi r4,r16,92 47128: 0048a980 call 48a98 4712c: 8005883a mov r2,r16 47130: 80000c15 stw zero,48(r16) 47134: 80000d15 stw zero,52(r16) 47138: 80001115 stw zero,68(r16) 4713c: 80001215 stw zero,72(r16) 47140: dfc00417 ldw ra,16(sp) 47144: dcc00317 ldw r19,12(sp) 47148: dc800217 ldw r18,8(sp) 4714c: dc400117 ldw r17,4(sp) 47150: dc000017 ldw r16,0(sp) 47154: dec00504 addi sp,sp,20 47158: f800283a ret 4715c: 01400104 movi r5,4 47160: 9809883a mov r4,r19 47164: 0046ff00 call 46ff0 <__sfmoreglue> 47168: 90800015 stw r2,0(r18) 4716c: 103fde1e bne r2,zero,470e8 <__alt_data_end+0xfffd50e8> 47170: 00800304 movi r2,12 47174: 98800015 stw r2,0(r19) 47178: 0005883a mov r2,zero 4717c: 003ff006 br 47140 <__alt_data_end+0xfffd5140> 00047180 <_cleanup>: 47180: 00800174 movhi r2,5 47184: 10905204 addi r2,r2,16712 47188: 11000017 ldw r4,0(r2) 4718c: 01400174 movhi r5,5 47190: 29700104 addi r5,r5,-16380 47194: 0047ba81 jmpi 47ba8 <_fwalk_reent> 00047198 <__sinit>: 47198: 20800e17 ldw r2,56(r4) 4719c: 10000126 beq r2,zero,471a4 <__sinit+0xc> 471a0: f800283a ret 471a4: 0046e4c1 jmpi 46e4c <__sinit.part.1> 000471a8 <__sfp_lock_acquire>: 471a8: f800283a ret 000471ac <__sfp_lock_release>: 471ac: f800283a ret 000471b0 <__sinit_lock_acquire>: 471b0: f800283a ret 000471b4 <__sinit_lock_release>: 471b4: f800283a ret 000471b8 <__fp_lock_all>: 471b8: 00800174 movhi r2,5 471bc: 10905304 addi r2,r2,16716 471c0: 11000017 ldw r4,0(r2) 471c4: 01400134 movhi r5,4 471c8: 295bfa04 addi r5,r5,28648 471cc: 0047ae41 jmpi 47ae4 <_fwalk> 000471d0 <__fp_unlock_all>: 471d0: 00800174 movhi r2,5 471d4: 10905304 addi r2,r2,16716 471d8: 11000017 ldw r4,0(r2) 471dc: 01400134 movhi r5,4 471e0: 295b8e04 addi r5,r5,28216 471e4: 0047ae41 jmpi 47ae4 <_fwalk> 000471e8 <_malloc_trim_r>: 471e8: defffb04 addi sp,sp,-20 471ec: dcc00315 stw r19,12(sp) 471f0: 04c00174 movhi r19,5 471f4: dc800215 stw r18,8(sp) 471f8: dc400115 stw r17,4(sp) 471fc: dc000015 stw r16,0(sp) 47200: dfc00415 stw ra,16(sp) 47204: 2821883a mov r16,r5 47208: 9cca8604 addi r19,r19,10776 4720c: 2025883a mov r18,r4 47210: 004ed0c0 call 4ed0c <__malloc_lock> 47214: 98800217 ldw r2,8(r19) 47218: 14400117 ldw r17,4(r2) 4721c: 00bfff04 movi r2,-4 47220: 88a2703a and r17,r17,r2 47224: 8c21c83a sub r16,r17,r16 47228: 8403fbc4 addi r16,r16,4079 4722c: 8020d33a srli r16,r16,12 47230: 0083ffc4 movi r2,4095 47234: 843fffc4 addi r16,r16,-1 47238: 8020933a slli r16,r16,12 4723c: 1400060e bge r2,r16,47258 <_malloc_trim_r+0x70> 47240: 000b883a mov r5,zero 47244: 9009883a mov r4,r18 47248: 004a3b80 call 4a3b8 <_sbrk_r> 4724c: 98c00217 ldw r3,8(r19) 47250: 1c47883a add r3,r3,r17 47254: 10c00a26 beq r2,r3,47280 <_malloc_trim_r+0x98> 47258: 9009883a mov r4,r18 4725c: 004ed300 call 4ed30 <__malloc_unlock> 47260: 0005883a mov r2,zero 47264: dfc00417 ldw ra,16(sp) 47268: dcc00317 ldw r19,12(sp) 4726c: dc800217 ldw r18,8(sp) 47270: dc400117 ldw r17,4(sp) 47274: dc000017 ldw r16,0(sp) 47278: dec00504 addi sp,sp,20 4727c: f800283a ret 47280: 040bc83a sub r5,zero,r16 47284: 9009883a mov r4,r18 47288: 004a3b80 call 4a3b8 <_sbrk_r> 4728c: 00ffffc4 movi r3,-1 47290: 10c00d26 beq r2,r3,472c8 <_malloc_trim_r+0xe0> 47294: 00c00174 movhi r3,5 47298: 18d77b04 addi r3,r3,24044 4729c: 18800017 ldw r2,0(r3) 472a0: 99000217 ldw r4,8(r19) 472a4: 8c23c83a sub r17,r17,r16 472a8: 8c400054 ori r17,r17,1 472ac: 1421c83a sub r16,r2,r16 472b0: 24400115 stw r17,4(r4) 472b4: 9009883a mov r4,r18 472b8: 1c000015 stw r16,0(r3) 472bc: 004ed300 call 4ed30 <__malloc_unlock> 472c0: 00800044 movi r2,1 472c4: 003fe706 br 47264 <__alt_data_end+0xfffd5264> 472c8: 000b883a mov r5,zero 472cc: 9009883a mov r4,r18 472d0: 004a3b80 call 4a3b8 <_sbrk_r> 472d4: 99000217 ldw r4,8(r19) 472d8: 014003c4 movi r5,15 472dc: 1107c83a sub r3,r2,r4 472e0: 28ffdd0e bge r5,r3,47258 <__alt_data_end+0xfffd5258> 472e4: 01400174 movhi r5,5 472e8: 29505504 addi r5,r5,16724 472ec: 29400017 ldw r5,0(r5) 472f0: 18c00054 ori r3,r3,1 472f4: 20c00115 stw r3,4(r4) 472f8: 00c00174 movhi r3,5 472fc: 1145c83a sub r2,r2,r5 47300: 18d77b04 addi r3,r3,24044 47304: 18800015 stw r2,0(r3) 47308: 003fd306 br 47258 <__alt_data_end+0xfffd5258> 0004730c <_free_r>: 4730c: 28004126 beq r5,zero,47414 <_free_r+0x108> 47310: defffd04 addi sp,sp,-12 47314: dc400115 stw r17,4(sp) 47318: dc000015 stw r16,0(sp) 4731c: 2023883a mov r17,r4 47320: 2821883a mov r16,r5 47324: dfc00215 stw ra,8(sp) 47328: 004ed0c0 call 4ed0c <__malloc_lock> 4732c: 81ffff17 ldw r7,-4(r16) 47330: 00bfff84 movi r2,-2 47334: 01000174 movhi r4,5 47338: 81bffe04 addi r6,r16,-8 4733c: 3884703a and r2,r7,r2 47340: 210a8604 addi r4,r4,10776 47344: 308b883a add r5,r6,r2 47348: 2a400117 ldw r9,4(r5) 4734c: 22000217 ldw r8,8(r4) 47350: 00ffff04 movi r3,-4 47354: 48c6703a and r3,r9,r3 47358: 2a005726 beq r5,r8,474b8 <_free_r+0x1ac> 4735c: 28c00115 stw r3,4(r5) 47360: 39c0004c andi r7,r7,1 47364: 3800091e bne r7,zero,4738c <_free_r+0x80> 47368: 823ffe17 ldw r8,-8(r16) 4736c: 22400204 addi r9,r4,8 47370: 320dc83a sub r6,r6,r8 47374: 31c00217 ldw r7,8(r6) 47378: 1205883a add r2,r2,r8 4737c: 3a406526 beq r7,r9,47514 <_free_r+0x208> 47380: 32000317 ldw r8,12(r6) 47384: 3a000315 stw r8,12(r7) 47388: 41c00215 stw r7,8(r8) 4738c: 28cf883a add r7,r5,r3 47390: 39c00117 ldw r7,4(r7) 47394: 39c0004c andi r7,r7,1 47398: 38003a26 beq r7,zero,47484 <_free_r+0x178> 4739c: 10c00054 ori r3,r2,1 473a0: 30c00115 stw r3,4(r6) 473a4: 3087883a add r3,r6,r2 473a8: 18800015 stw r2,0(r3) 473ac: 00c07fc4 movi r3,511 473b0: 18801936 bltu r3,r2,47418 <_free_r+0x10c> 473b4: 1004d0fa srli r2,r2,3 473b8: 01c00044 movi r7,1 473bc: 21400117 ldw r5,4(r4) 473c0: 10c00044 addi r3,r2,1 473c4: 18c7883a add r3,r3,r3 473c8: 1005d0ba srai r2,r2,2 473cc: 18c7883a add r3,r3,r3 473d0: 18c7883a add r3,r3,r3 473d4: 1907883a add r3,r3,r4 473d8: 3884983a sll r2,r7,r2 473dc: 19c00017 ldw r7,0(r3) 473e0: 1a3ffe04 addi r8,r3,-8 473e4: 1144b03a or r2,r2,r5 473e8: 32000315 stw r8,12(r6) 473ec: 31c00215 stw r7,8(r6) 473f0: 20800115 stw r2,4(r4) 473f4: 19800015 stw r6,0(r3) 473f8: 39800315 stw r6,12(r7) 473fc: 8809883a mov r4,r17 47400: dfc00217 ldw ra,8(sp) 47404: dc400117 ldw r17,4(sp) 47408: dc000017 ldw r16,0(sp) 4740c: dec00304 addi sp,sp,12 47410: 004ed301 jmpi 4ed30 <__malloc_unlock> 47414: f800283a ret 47418: 100ad27a srli r5,r2,9 4741c: 00c00104 movi r3,4 47420: 19404a36 bltu r3,r5,4754c <_free_r+0x240> 47424: 100ad1ba srli r5,r2,6 47428: 28c00e44 addi r3,r5,57 4742c: 18c7883a add r3,r3,r3 47430: 29400e04 addi r5,r5,56 47434: 18c7883a add r3,r3,r3 47438: 18c7883a add r3,r3,r3 4743c: 1909883a add r4,r3,r4 47440: 20c00017 ldw r3,0(r4) 47444: 01c00174 movhi r7,5 47448: 213ffe04 addi r4,r4,-8 4744c: 39ca8604 addi r7,r7,10776 47450: 20c04426 beq r4,r3,47564 <_free_r+0x258> 47454: 01ffff04 movi r7,-4 47458: 19400117 ldw r5,4(r3) 4745c: 29ca703a and r5,r5,r7 47460: 1140022e bgeu r2,r5,4746c <_free_r+0x160> 47464: 18c00217 ldw r3,8(r3) 47468: 20fffb1e bne r4,r3,47458 <__alt_data_end+0xfffd5458> 4746c: 19000317 ldw r4,12(r3) 47470: 31000315 stw r4,12(r6) 47474: 30c00215 stw r3,8(r6) 47478: 21800215 stw r6,8(r4) 4747c: 19800315 stw r6,12(r3) 47480: 003fde06 br 473fc <__alt_data_end+0xfffd53fc> 47484: 29c00217 ldw r7,8(r5) 47488: 10c5883a add r2,r2,r3 4748c: 00c00174 movhi r3,5 47490: 18ca8804 addi r3,r3,10784 47494: 38c03b26 beq r7,r3,47584 <_free_r+0x278> 47498: 2a000317 ldw r8,12(r5) 4749c: 11400054 ori r5,r2,1 474a0: 3087883a add r3,r6,r2 474a4: 3a000315 stw r8,12(r7) 474a8: 41c00215 stw r7,8(r8) 474ac: 31400115 stw r5,4(r6) 474b0: 18800015 stw r2,0(r3) 474b4: 003fbd06 br 473ac <__alt_data_end+0xfffd53ac> 474b8: 39c0004c andi r7,r7,1 474bc: 10c5883a add r2,r2,r3 474c0: 3800071e bne r7,zero,474e0 <_free_r+0x1d4> 474c4: 81fffe17 ldw r7,-8(r16) 474c8: 31cdc83a sub r6,r6,r7 474cc: 30c00317 ldw r3,12(r6) 474d0: 31400217 ldw r5,8(r6) 474d4: 11c5883a add r2,r2,r7 474d8: 28c00315 stw r3,12(r5) 474dc: 19400215 stw r5,8(r3) 474e0: 10c00054 ori r3,r2,1 474e4: 30c00115 stw r3,4(r6) 474e8: 00c00174 movhi r3,5 474ec: 18d05604 addi r3,r3,16728 474f0: 18c00017 ldw r3,0(r3) 474f4: 21800215 stw r6,8(r4) 474f8: 10ffc036 bltu r2,r3,473fc <__alt_data_end+0xfffd53fc> 474fc: 00800174 movhi r2,5 47500: 10977204 addi r2,r2,24008 47504: 11400017 ldw r5,0(r2) 47508: 8809883a mov r4,r17 4750c: 00471e80 call 471e8 <_malloc_trim_r> 47510: 003fba06 br 473fc <__alt_data_end+0xfffd53fc> 47514: 28c9883a add r4,r5,r3 47518: 21000117 ldw r4,4(r4) 4751c: 2100004c andi r4,r4,1 47520: 2000391e bne r4,zero,47608 <_free_r+0x2fc> 47524: 29c00217 ldw r7,8(r5) 47528: 29000317 ldw r4,12(r5) 4752c: 1885883a add r2,r3,r2 47530: 10c00054 ori r3,r2,1 47534: 39000315 stw r4,12(r7) 47538: 21c00215 stw r7,8(r4) 4753c: 30c00115 stw r3,4(r6) 47540: 308d883a add r6,r6,r2 47544: 30800015 stw r2,0(r6) 47548: 003fac06 br 473fc <__alt_data_end+0xfffd53fc> 4754c: 00c00504 movi r3,20 47550: 19401536 bltu r3,r5,475a8 <_free_r+0x29c> 47554: 28c01704 addi r3,r5,92 47558: 18c7883a add r3,r3,r3 4755c: 294016c4 addi r5,r5,91 47560: 003fb406 br 47434 <__alt_data_end+0xfffd5434> 47564: 280bd0ba srai r5,r5,2 47568: 00c00044 movi r3,1 4756c: 38800117 ldw r2,4(r7) 47570: 194a983a sll r5,r3,r5 47574: 2007883a mov r3,r4 47578: 2884b03a or r2,r5,r2 4757c: 38800115 stw r2,4(r7) 47580: 003fbb06 br 47470 <__alt_data_end+0xfffd5470> 47584: 21800515 stw r6,20(r4) 47588: 21800415 stw r6,16(r4) 4758c: 10c00054 ori r3,r2,1 47590: 31c00315 stw r7,12(r6) 47594: 31c00215 stw r7,8(r6) 47598: 30c00115 stw r3,4(r6) 4759c: 308d883a add r6,r6,r2 475a0: 30800015 stw r2,0(r6) 475a4: 003f9506 br 473fc <__alt_data_end+0xfffd53fc> 475a8: 00c01504 movi r3,84 475ac: 19400536 bltu r3,r5,475c4 <_free_r+0x2b8> 475b0: 100ad33a srli r5,r2,12 475b4: 28c01bc4 addi r3,r5,111 475b8: 18c7883a add r3,r3,r3 475bc: 29401b84 addi r5,r5,110 475c0: 003f9c06 br 47434 <__alt_data_end+0xfffd5434> 475c4: 00c05504 movi r3,340 475c8: 19400536 bltu r3,r5,475e0 <_free_r+0x2d4> 475cc: 100ad3fa srli r5,r2,15 475d0: 28c01e04 addi r3,r5,120 475d4: 18c7883a add r3,r3,r3 475d8: 29401dc4 addi r5,r5,119 475dc: 003f9506 br 47434 <__alt_data_end+0xfffd5434> 475e0: 00c15504 movi r3,1364 475e4: 19400536 bltu r3,r5,475fc <_free_r+0x2f0> 475e8: 100ad4ba srli r5,r2,18 475ec: 28c01f44 addi r3,r5,125 475f0: 18c7883a add r3,r3,r3 475f4: 29401f04 addi r5,r5,124 475f8: 003f8e06 br 47434 <__alt_data_end+0xfffd5434> 475fc: 00c03f84 movi r3,254 47600: 01401f84 movi r5,126 47604: 003f8b06 br 47434 <__alt_data_end+0xfffd5434> 47608: 10c00054 ori r3,r2,1 4760c: 30c00115 stw r3,4(r6) 47610: 308d883a add r6,r6,r2 47614: 30800015 stw r2,0(r6) 47618: 003f7806 br 473fc <__alt_data_end+0xfffd53fc> 0004761c <__sfvwrite_r>: 4761c: 30800217 ldw r2,8(r6) 47620: 10006726 beq r2,zero,477c0 <__sfvwrite_r+0x1a4> 47624: 28c0030b ldhu r3,12(r5) 47628: defff404 addi sp,sp,-48 4762c: dd400715 stw r21,28(sp) 47630: dd000615 stw r20,24(sp) 47634: dc000215 stw r16,8(sp) 47638: dfc00b15 stw ra,44(sp) 4763c: df000a15 stw fp,40(sp) 47640: ddc00915 stw r23,36(sp) 47644: dd800815 stw r22,32(sp) 47648: dcc00515 stw r19,20(sp) 4764c: dc800415 stw r18,16(sp) 47650: dc400315 stw r17,12(sp) 47654: 1880020c andi r2,r3,8 47658: 2821883a mov r16,r5 4765c: 202b883a mov r21,r4 47660: 3029883a mov r20,r6 47664: 10002726 beq r2,zero,47704 <__sfvwrite_r+0xe8> 47668: 28800417 ldw r2,16(r5) 4766c: 10002526 beq r2,zero,47704 <__sfvwrite_r+0xe8> 47670: 1880008c andi r2,r3,2 47674: a4400017 ldw r17,0(r20) 47678: 10002a26 beq r2,zero,47724 <__sfvwrite_r+0x108> 4767c: 05a00034 movhi r22,32768 47680: 0027883a mov r19,zero 47684: 0025883a mov r18,zero 47688: b5bf0004 addi r22,r22,-1024 4768c: 980d883a mov r6,r19 47690: a809883a mov r4,r21 47694: 90004626 beq r18,zero,477b0 <__sfvwrite_r+0x194> 47698: 900f883a mov r7,r18 4769c: b480022e bgeu r22,r18,476a8 <__sfvwrite_r+0x8c> 476a0: 01e00034 movhi r7,32768 476a4: 39ff0004 addi r7,r7,-1024 476a8: 80800917 ldw r2,36(r16) 476ac: 81400717 ldw r5,28(r16) 476b0: 103ee83a callr r2 476b4: 00805a0e bge zero,r2,47820 <__sfvwrite_r+0x204> 476b8: a0c00217 ldw r3,8(r20) 476bc: 98a7883a add r19,r19,r2 476c0: 90a5c83a sub r18,r18,r2 476c4: 1885c83a sub r2,r3,r2 476c8: a0800215 stw r2,8(r20) 476cc: 103fef1e bne r2,zero,4768c <__alt_data_end+0xfffd568c> 476d0: 0005883a mov r2,zero 476d4: dfc00b17 ldw ra,44(sp) 476d8: df000a17 ldw fp,40(sp) 476dc: ddc00917 ldw r23,36(sp) 476e0: dd800817 ldw r22,32(sp) 476e4: dd400717 ldw r21,28(sp) 476e8: dd000617 ldw r20,24(sp) 476ec: dcc00517 ldw r19,20(sp) 476f0: dc800417 ldw r18,16(sp) 476f4: dc400317 ldw r17,12(sp) 476f8: dc000217 ldw r16,8(sp) 476fc: dec00c04 addi sp,sp,48 47700: f800283a ret 47704: 800b883a mov r5,r16 47708: a809883a mov r4,r21 4770c: 004518c0 call 4518c <__swsetup_r> 47710: 1000ee1e bne r2,zero,47acc <__sfvwrite_r+0x4b0> 47714: 80c0030b ldhu r3,12(r16) 47718: a4400017 ldw r17,0(r20) 4771c: 1880008c andi r2,r3,2 47720: 103fd61e bne r2,zero,4767c <__alt_data_end+0xfffd567c> 47724: 1880004c andi r2,r3,1 47728: 1000421e bne r2,zero,47834 <__sfvwrite_r+0x218> 4772c: 0039883a mov fp,zero 47730: 0025883a mov r18,zero 47734: 90001a26 beq r18,zero,477a0 <__sfvwrite_r+0x184> 47738: 1880800c andi r2,r3,512 4773c: 84c00217 ldw r19,8(r16) 47740: 10002126 beq r2,zero,477c8 <__sfvwrite_r+0x1ac> 47744: 982f883a mov r23,r19 47748: 94c09636 bltu r18,r19,479a4 <__sfvwrite_r+0x388> 4774c: 1881200c andi r2,r3,1152 47750: 1000a11e bne r2,zero,479d8 <__sfvwrite_r+0x3bc> 47754: 81000017 ldw r4,0(r16) 47758: b80d883a mov r6,r23 4775c: e00b883a mov r5,fp 47760: 004893c0 call 4893c 47764: 80c00217 ldw r3,8(r16) 47768: 81000017 ldw r4,0(r16) 4776c: 9005883a mov r2,r18 47770: 1ce7c83a sub r19,r3,r19 47774: 25cf883a add r7,r4,r23 47778: 84c00215 stw r19,8(r16) 4777c: 81c00015 stw r7,0(r16) 47780: a0c00217 ldw r3,8(r20) 47784: e0b9883a add fp,fp,r2 47788: 90a5c83a sub r18,r18,r2 4778c: 18a7c83a sub r19,r3,r2 47790: a4c00215 stw r19,8(r20) 47794: 983fce26 beq r19,zero,476d0 <__alt_data_end+0xfffd56d0> 47798: 80c0030b ldhu r3,12(r16) 4779c: 903fe61e bne r18,zero,47738 <__alt_data_end+0xfffd5738> 477a0: 8f000017 ldw fp,0(r17) 477a4: 8c800117 ldw r18,4(r17) 477a8: 8c400204 addi r17,r17,8 477ac: 003fe106 br 47734 <__alt_data_end+0xfffd5734> 477b0: 8cc00017 ldw r19,0(r17) 477b4: 8c800117 ldw r18,4(r17) 477b8: 8c400204 addi r17,r17,8 477bc: 003fb306 br 4768c <__alt_data_end+0xfffd568c> 477c0: 0005883a mov r2,zero 477c4: f800283a ret 477c8: 81000017 ldw r4,0(r16) 477cc: 80800417 ldw r2,16(r16) 477d0: 11005a36 bltu r2,r4,4793c <__sfvwrite_r+0x320> 477d4: 85c00517 ldw r23,20(r16) 477d8: 95c05836 bltu r18,r23,4793c <__sfvwrite_r+0x320> 477dc: 00a00034 movhi r2,32768 477e0: 10bfffc4 addi r2,r2,-1 477e4: 9009883a mov r4,r18 477e8: 1480012e bgeu r2,r18,477f0 <__sfvwrite_r+0x1d4> 477ec: 1009883a mov r4,r2 477f0: b80b883a mov r5,r23 477f4: 004d2280 call 4d228 <__divsi3> 477f8: b80b883a mov r5,r23 477fc: 1009883a mov r4,r2 47800: 004d3dc0 call 4d3dc <__mulsi3> 47804: 81400717 ldw r5,28(r16) 47808: 80c00917 ldw r3,36(r16) 4780c: 100f883a mov r7,r2 47810: e00d883a mov r6,fp 47814: a809883a mov r4,r21 47818: 183ee83a callr r3 4781c: 00bfd816 blt zero,r2,47780 <__alt_data_end+0xfffd5780> 47820: 8080030b ldhu r2,12(r16) 47824: 10801014 ori r2,r2,64 47828: 8080030d sth r2,12(r16) 4782c: 00bfffc4 movi r2,-1 47830: 003fa806 br 476d4 <__alt_data_end+0xfffd56d4> 47834: 0027883a mov r19,zero 47838: 0011883a mov r8,zero 4783c: 0039883a mov fp,zero 47840: 0025883a mov r18,zero 47844: 90001f26 beq r18,zero,478c4 <__sfvwrite_r+0x2a8> 47848: 40005a26 beq r8,zero,479b4 <__sfvwrite_r+0x398> 4784c: 982d883a mov r22,r19 47850: 94c0012e bgeu r18,r19,47858 <__sfvwrite_r+0x23c> 47854: 902d883a mov r22,r18 47858: 81000017 ldw r4,0(r16) 4785c: 80800417 ldw r2,16(r16) 47860: b02f883a mov r23,r22 47864: 81c00517 ldw r7,20(r16) 47868: 1100032e bgeu r2,r4,47878 <__sfvwrite_r+0x25c> 4786c: 80c00217 ldw r3,8(r16) 47870: 38c7883a add r3,r7,r3 47874: 1d801816 blt r3,r22,478d8 <__sfvwrite_r+0x2bc> 47878: b1c03e16 blt r22,r7,47974 <__sfvwrite_r+0x358> 4787c: 80800917 ldw r2,36(r16) 47880: 81400717 ldw r5,28(r16) 47884: e00d883a mov r6,fp 47888: da000115 stw r8,4(sp) 4788c: a809883a mov r4,r21 47890: 103ee83a callr r2 47894: 102f883a mov r23,r2 47898: da000117 ldw r8,4(sp) 4789c: 00bfe00e bge zero,r2,47820 <__alt_data_end+0xfffd5820> 478a0: 9de7c83a sub r19,r19,r23 478a4: 98001f26 beq r19,zero,47924 <__sfvwrite_r+0x308> 478a8: a0800217 ldw r2,8(r20) 478ac: e5f9883a add fp,fp,r23 478b0: 95e5c83a sub r18,r18,r23 478b4: 15efc83a sub r23,r2,r23 478b8: a5c00215 stw r23,8(r20) 478bc: b83f8426 beq r23,zero,476d0 <__alt_data_end+0xfffd56d0> 478c0: 903fe11e bne r18,zero,47848 <__alt_data_end+0xfffd5848> 478c4: 8f000017 ldw fp,0(r17) 478c8: 8c800117 ldw r18,4(r17) 478cc: 0011883a mov r8,zero 478d0: 8c400204 addi r17,r17,8 478d4: 003fdb06 br 47844 <__alt_data_end+0xfffd5844> 478d8: 180d883a mov r6,r3 478dc: e00b883a mov r5,fp 478e0: da000115 stw r8,4(sp) 478e4: d8c00015 stw r3,0(sp) 478e8: 004893c0 call 4893c 478ec: d8c00017 ldw r3,0(sp) 478f0: 80800017 ldw r2,0(r16) 478f4: 800b883a mov r5,r16 478f8: a809883a mov r4,r21 478fc: 10c5883a add r2,r2,r3 47900: 80800015 stw r2,0(r16) 47904: d8c00015 stw r3,0(sp) 47908: 0046dac0 call 46dac <_fflush_r> 4790c: d8c00017 ldw r3,0(sp) 47910: da000117 ldw r8,4(sp) 47914: 103fc21e bne r2,zero,47820 <__alt_data_end+0xfffd5820> 47918: 182f883a mov r23,r3 4791c: 9de7c83a sub r19,r19,r23 47920: 983fe11e bne r19,zero,478a8 <__alt_data_end+0xfffd58a8> 47924: 800b883a mov r5,r16 47928: a809883a mov r4,r21 4792c: 0046dac0 call 46dac <_fflush_r> 47930: 103fbb1e bne r2,zero,47820 <__alt_data_end+0xfffd5820> 47934: 0011883a mov r8,zero 47938: 003fdb06 br 478a8 <__alt_data_end+0xfffd58a8> 4793c: 94c0012e bgeu r18,r19,47944 <__sfvwrite_r+0x328> 47940: 9027883a mov r19,r18 47944: 980d883a mov r6,r19 47948: e00b883a mov r5,fp 4794c: 004893c0 call 4893c 47950: 80800217 ldw r2,8(r16) 47954: 80c00017 ldw r3,0(r16) 47958: 14c5c83a sub r2,r2,r19 4795c: 1cc7883a add r3,r3,r19 47960: 80800215 stw r2,8(r16) 47964: 80c00015 stw r3,0(r16) 47968: 10004326 beq r2,zero,47a78 <__sfvwrite_r+0x45c> 4796c: 9805883a mov r2,r19 47970: 003f8306 br 47780 <__alt_data_end+0xfffd5780> 47974: b00d883a mov r6,r22 47978: e00b883a mov r5,fp 4797c: da000115 stw r8,4(sp) 47980: 004893c0 call 4893c 47984: 80800217 ldw r2,8(r16) 47988: 80c00017 ldw r3,0(r16) 4798c: da000117 ldw r8,4(sp) 47990: 1585c83a sub r2,r2,r22 47994: 1dad883a add r22,r3,r22 47998: 80800215 stw r2,8(r16) 4799c: 85800015 stw r22,0(r16) 479a0: 003fbf06 br 478a0 <__alt_data_end+0xfffd58a0> 479a4: 81000017 ldw r4,0(r16) 479a8: 9027883a mov r19,r18 479ac: 902f883a mov r23,r18 479b0: 003f6906 br 47758 <__alt_data_end+0xfffd5758> 479b4: 900d883a mov r6,r18 479b8: 01400284 movi r5,10 479bc: e009883a mov r4,fp 479c0: 00487100 call 48710 479c4: 10003e26 beq r2,zero,47ac0 <__sfvwrite_r+0x4a4> 479c8: 10800044 addi r2,r2,1 479cc: 1727c83a sub r19,r2,fp 479d0: 02000044 movi r8,1 479d4: 003f9d06 br 4784c <__alt_data_end+0xfffd584c> 479d8: 80800517 ldw r2,20(r16) 479dc: 81400417 ldw r5,16(r16) 479e0: 81c00017 ldw r7,0(r16) 479e4: 10a7883a add r19,r2,r2 479e8: 9885883a add r2,r19,r2 479ec: 1026d7fa srli r19,r2,31 479f0: 396dc83a sub r22,r7,r5 479f4: b1000044 addi r4,r22,1 479f8: 9885883a add r2,r19,r2 479fc: 1027d07a srai r19,r2,1 47a00: 2485883a add r2,r4,r18 47a04: 980d883a mov r6,r19 47a08: 9880022e bgeu r19,r2,47a14 <__sfvwrite_r+0x3f8> 47a0c: 1027883a mov r19,r2 47a10: 100d883a mov r6,r2 47a14: 18c1000c andi r3,r3,1024 47a18: 18001c26 beq r3,zero,47a8c <__sfvwrite_r+0x470> 47a1c: 300b883a mov r5,r6 47a20: a809883a mov r4,r21 47a24: 0047f040 call 47f04 <_malloc_r> 47a28: 102f883a mov r23,r2 47a2c: 10002926 beq r2,zero,47ad4 <__sfvwrite_r+0x4b8> 47a30: 81400417 ldw r5,16(r16) 47a34: b00d883a mov r6,r22 47a38: 1009883a mov r4,r2 47a3c: 00487f40 call 487f4 47a40: 8080030b ldhu r2,12(r16) 47a44: 00fedfc4 movi r3,-1153 47a48: 10c4703a and r2,r2,r3 47a4c: 10802014 ori r2,r2,128 47a50: 8080030d sth r2,12(r16) 47a54: bd89883a add r4,r23,r22 47a58: 9d8fc83a sub r7,r19,r22 47a5c: 85c00415 stw r23,16(r16) 47a60: 84c00515 stw r19,20(r16) 47a64: 81000015 stw r4,0(r16) 47a68: 9027883a mov r19,r18 47a6c: 81c00215 stw r7,8(r16) 47a70: 902f883a mov r23,r18 47a74: 003f3806 br 47758 <__alt_data_end+0xfffd5758> 47a78: 800b883a mov r5,r16 47a7c: a809883a mov r4,r21 47a80: 0046dac0 call 46dac <_fflush_r> 47a84: 103fb926 beq r2,zero,4796c <__alt_data_end+0xfffd596c> 47a88: 003f6506 br 47820 <__alt_data_end+0xfffd5820> 47a8c: a809883a mov r4,r21 47a90: 0049de00 call 49de0 <_realloc_r> 47a94: 102f883a mov r23,r2 47a98: 103fee1e bne r2,zero,47a54 <__alt_data_end+0xfffd5a54> 47a9c: 81400417 ldw r5,16(r16) 47aa0: a809883a mov r4,r21 47aa4: 004730c0 call 4730c <_free_r> 47aa8: 8080030b ldhu r2,12(r16) 47aac: 00ffdfc4 movi r3,-129 47ab0: 1884703a and r2,r3,r2 47ab4: 00c00304 movi r3,12 47ab8: a8c00015 stw r3,0(r21) 47abc: 003f5906 br 47824 <__alt_data_end+0xfffd5824> 47ac0: 94c00044 addi r19,r18,1 47ac4: 02000044 movi r8,1 47ac8: 003f6006 br 4784c <__alt_data_end+0xfffd584c> 47acc: 00bfffc4 movi r2,-1 47ad0: 003f0006 br 476d4 <__alt_data_end+0xfffd56d4> 47ad4: 00800304 movi r2,12 47ad8: a8800015 stw r2,0(r21) 47adc: 8080030b ldhu r2,12(r16) 47ae0: 003f5006 br 47824 <__alt_data_end+0xfffd5824> 00047ae4 <_fwalk>: 47ae4: defff704 addi sp,sp,-36 47ae8: dd000415 stw r20,16(sp) 47aec: dfc00815 stw ra,32(sp) 47af0: ddc00715 stw r23,28(sp) 47af4: dd800615 stw r22,24(sp) 47af8: dd400515 stw r21,20(sp) 47afc: dcc00315 stw r19,12(sp) 47b00: dc800215 stw r18,8(sp) 47b04: dc400115 stw r17,4(sp) 47b08: dc000015 stw r16,0(sp) 47b0c: 2500b804 addi r20,r4,736 47b10: a0002326 beq r20,zero,47ba0 <_fwalk+0xbc> 47b14: 282b883a mov r21,r5 47b18: 002f883a mov r23,zero 47b1c: 05800044 movi r22,1 47b20: 04ffffc4 movi r19,-1 47b24: a4400117 ldw r17,4(r20) 47b28: a4800217 ldw r18,8(r20) 47b2c: 8c7fffc4 addi r17,r17,-1 47b30: 88000d16 blt r17,zero,47b68 <_fwalk+0x84> 47b34: 94000304 addi r16,r18,12 47b38: 94800384 addi r18,r18,14 47b3c: 8080000b ldhu r2,0(r16) 47b40: 8c7fffc4 addi r17,r17,-1 47b44: 813ffd04 addi r4,r16,-12 47b48: b080042e bgeu r22,r2,47b5c <_fwalk+0x78> 47b4c: 9080000f ldh r2,0(r18) 47b50: 14c00226 beq r2,r19,47b5c <_fwalk+0x78> 47b54: a83ee83a callr r21 47b58: b8aeb03a or r23,r23,r2 47b5c: 84001a04 addi r16,r16,104 47b60: 94801a04 addi r18,r18,104 47b64: 8cfff51e bne r17,r19,47b3c <__alt_data_end+0xfffd5b3c> 47b68: a5000017 ldw r20,0(r20) 47b6c: a03fed1e bne r20,zero,47b24 <__alt_data_end+0xfffd5b24> 47b70: b805883a mov r2,r23 47b74: dfc00817 ldw ra,32(sp) 47b78: ddc00717 ldw r23,28(sp) 47b7c: dd800617 ldw r22,24(sp) 47b80: dd400517 ldw r21,20(sp) 47b84: dd000417 ldw r20,16(sp) 47b88: dcc00317 ldw r19,12(sp) 47b8c: dc800217 ldw r18,8(sp) 47b90: dc400117 ldw r17,4(sp) 47b94: dc000017 ldw r16,0(sp) 47b98: dec00904 addi sp,sp,36 47b9c: f800283a ret 47ba0: 002f883a mov r23,zero 47ba4: 003ff206 br 47b70 <__alt_data_end+0xfffd5b70> 00047ba8 <_fwalk_reent>: 47ba8: defff704 addi sp,sp,-36 47bac: dd000415 stw r20,16(sp) 47bb0: dfc00815 stw ra,32(sp) 47bb4: ddc00715 stw r23,28(sp) 47bb8: dd800615 stw r22,24(sp) 47bbc: dd400515 stw r21,20(sp) 47bc0: dcc00315 stw r19,12(sp) 47bc4: dc800215 stw r18,8(sp) 47bc8: dc400115 stw r17,4(sp) 47bcc: dc000015 stw r16,0(sp) 47bd0: 2500b804 addi r20,r4,736 47bd4: a0002326 beq r20,zero,47c64 <_fwalk_reent+0xbc> 47bd8: 282b883a mov r21,r5 47bdc: 2027883a mov r19,r4 47be0: 002f883a mov r23,zero 47be4: 05800044 movi r22,1 47be8: 04bfffc4 movi r18,-1 47bec: a4400117 ldw r17,4(r20) 47bf0: a4000217 ldw r16,8(r20) 47bf4: 8c7fffc4 addi r17,r17,-1 47bf8: 88000c16 blt r17,zero,47c2c <_fwalk_reent+0x84> 47bfc: 84000304 addi r16,r16,12 47c00: 8080000b ldhu r2,0(r16) 47c04: 8c7fffc4 addi r17,r17,-1 47c08: 817ffd04 addi r5,r16,-12 47c0c: b080052e bgeu r22,r2,47c24 <_fwalk_reent+0x7c> 47c10: 8080008f ldh r2,2(r16) 47c14: 9809883a mov r4,r19 47c18: 14800226 beq r2,r18,47c24 <_fwalk_reent+0x7c> 47c1c: a83ee83a callr r21 47c20: b8aeb03a or r23,r23,r2 47c24: 84001a04 addi r16,r16,104 47c28: 8cbff51e bne r17,r18,47c00 <__alt_data_end+0xfffd5c00> 47c2c: a5000017 ldw r20,0(r20) 47c30: a03fee1e bne r20,zero,47bec <__alt_data_end+0xfffd5bec> 47c34: b805883a mov r2,r23 47c38: dfc00817 ldw ra,32(sp) 47c3c: ddc00717 ldw r23,28(sp) 47c40: dd800617 ldw r22,24(sp) 47c44: dd400517 ldw r21,20(sp) 47c48: dd000417 ldw r20,16(sp) 47c4c: dcc00317 ldw r19,12(sp) 47c50: dc800217 ldw r18,8(sp) 47c54: dc400117 ldw r17,4(sp) 47c58: dc000017 ldw r16,0(sp) 47c5c: dec00904 addi sp,sp,36 47c60: f800283a ret 47c64: 002f883a mov r23,zero 47c68: 003ff206 br 47c34 <__alt_data_end+0xfffd5c34> 00047c6c <_setlocale_r>: 47c6c: 30001b26 beq r6,zero,47cdc <_setlocale_r+0x70> 47c70: 01400174 movhi r5,5 47c74: defffe04 addi sp,sp,-8 47c78: 29485c04 addi r5,r5,8560 47c7c: 3009883a mov r4,r6 47c80: dc000015 stw r16,0(sp) 47c84: dfc00115 stw ra,4(sp) 47c88: 3021883a mov r16,r6 47c8c: 004a5480 call 4a548 47c90: 1000061e bne r2,zero,47cac <_setlocale_r+0x40> 47c94: 00800174 movhi r2,5 47c98: 10885b04 addi r2,r2,8556 47c9c: dfc00117 ldw ra,4(sp) 47ca0: dc000017 ldw r16,0(sp) 47ca4: dec00204 addi sp,sp,8 47ca8: f800283a ret 47cac: 01400174 movhi r5,5 47cb0: 29485b04 addi r5,r5,8556 47cb4: 8009883a mov r4,r16 47cb8: 004a5480 call 4a548 47cbc: 103ff526 beq r2,zero,47c94 <__alt_data_end+0xfffd5c94> 47cc0: 01400174 movhi r5,5 47cc4: 29484604 addi r5,r5,8472 47cc8: 8009883a mov r4,r16 47ccc: 004a5480 call 4a548 47cd0: 103ff026 beq r2,zero,47c94 <__alt_data_end+0xfffd5c94> 47cd4: 0005883a mov r2,zero 47cd8: 003ff006 br 47c9c <__alt_data_end+0xfffd5c9c> 47cdc: 00800174 movhi r2,5 47ce0: 10885b04 addi r2,r2,8556 47ce4: f800283a ret 00047ce8 <__locale_charset>: 47ce8: 00800174 movhi r2,5 47cec: 108a7004 addi r2,r2,10688 47cf0: f800283a ret 00047cf4 <__locale_mb_cur_max>: 47cf4: 00800174 movhi r2,5 47cf8: 10905404 addi r2,r2,16720 47cfc: 10800017 ldw r2,0(r2) 47d00: f800283a ret 00047d04 <__locale_msgcharset>: 47d04: 00800174 movhi r2,5 47d08: 108a6804 addi r2,r2,10656 47d0c: f800283a ret 00047d10 <__locale_cjk_lang>: 47d10: 0005883a mov r2,zero 47d14: f800283a ret 00047d18 <_localeconv_r>: 47d18: 00800174 movhi r2,5 47d1c: 108a7804 addi r2,r2,10720 47d20: f800283a ret 00047d24 : 47d24: 00800174 movhi r2,5 47d28: 10905304 addi r2,r2,16716 47d2c: 280d883a mov r6,r5 47d30: 200b883a mov r5,r4 47d34: 11000017 ldw r4,0(r2) 47d38: 0047c6c1 jmpi 47c6c <_setlocale_r> 00047d3c : 47d3c: 00800174 movhi r2,5 47d40: 108a7804 addi r2,r2,10720 47d44: f800283a ret 00047d48 <__smakebuf_r>: 47d48: 2880030b ldhu r2,12(r5) 47d4c: 10c0008c andi r3,r2,2 47d50: 1800411e bne r3,zero,47e58 <__smakebuf_r+0x110> 47d54: deffec04 addi sp,sp,-80 47d58: dc000f15 stw r16,60(sp) 47d5c: 2821883a mov r16,r5 47d60: 2940038f ldh r5,14(r5) 47d64: dc401015 stw r17,64(sp) 47d68: dfc01315 stw ra,76(sp) 47d6c: dcc01215 stw r19,72(sp) 47d70: dc801115 stw r18,68(sp) 47d74: 2023883a mov r17,r4 47d78: 28001c16 blt r5,zero,47dec <__smakebuf_r+0xa4> 47d7c: d80d883a mov r6,sp 47d80: 004c3100 call 4c310 <_fstat_r> 47d84: 10001816 blt r2,zero,47de8 <__smakebuf_r+0xa0> 47d88: d8800117 ldw r2,4(sp) 47d8c: 00e00014 movui r3,32768 47d90: 10bc000c andi r2,r2,61440 47d94: 14c80020 cmpeqi r19,r2,8192 47d98: 10c03726 beq r2,r3,47e78 <__smakebuf_r+0x130> 47d9c: 80c0030b ldhu r3,12(r16) 47da0: 18c20014 ori r3,r3,2048 47da4: 80c0030d sth r3,12(r16) 47da8: 00c80004 movi r3,8192 47dac: 10c0521e bne r2,r3,47ef8 <__smakebuf_r+0x1b0> 47db0: 8140038f ldh r5,14(r16) 47db4: 8809883a mov r4,r17 47db8: 004c36c0 call 4c36c <_isatty_r> 47dbc: 10004c26 beq r2,zero,47ef0 <__smakebuf_r+0x1a8> 47dc0: 8080030b ldhu r2,12(r16) 47dc4: 80c010c4 addi r3,r16,67 47dc8: 80c00015 stw r3,0(r16) 47dcc: 10800054 ori r2,r2,1 47dd0: 8080030d sth r2,12(r16) 47dd4: 00800044 movi r2,1 47dd8: 80c00415 stw r3,16(r16) 47ddc: 80800515 stw r2,20(r16) 47de0: 04810004 movi r18,1024 47de4: 00000706 br 47e04 <__smakebuf_r+0xbc> 47de8: 8080030b ldhu r2,12(r16) 47dec: 10c0200c andi r3,r2,128 47df0: 18001f1e bne r3,zero,47e70 <__smakebuf_r+0x128> 47df4: 04810004 movi r18,1024 47df8: 10820014 ori r2,r2,2048 47dfc: 8080030d sth r2,12(r16) 47e00: 0027883a mov r19,zero 47e04: 900b883a mov r5,r18 47e08: 8809883a mov r4,r17 47e0c: 0047f040 call 47f04 <_malloc_r> 47e10: 10002c26 beq r2,zero,47ec4 <__smakebuf_r+0x17c> 47e14: 80c0030b ldhu r3,12(r16) 47e18: 01000134 movhi r4,4 47e1c: 211b9004 addi r4,r4,28224 47e20: 89000f15 stw r4,60(r17) 47e24: 18c02014 ori r3,r3,128 47e28: 80c0030d sth r3,12(r16) 47e2c: 80800015 stw r2,0(r16) 47e30: 80800415 stw r2,16(r16) 47e34: 84800515 stw r18,20(r16) 47e38: 98001a1e bne r19,zero,47ea4 <__smakebuf_r+0x15c> 47e3c: dfc01317 ldw ra,76(sp) 47e40: dcc01217 ldw r19,72(sp) 47e44: dc801117 ldw r18,68(sp) 47e48: dc401017 ldw r17,64(sp) 47e4c: dc000f17 ldw r16,60(sp) 47e50: dec01404 addi sp,sp,80 47e54: f800283a ret 47e58: 288010c4 addi r2,r5,67 47e5c: 28800015 stw r2,0(r5) 47e60: 28800415 stw r2,16(r5) 47e64: 00800044 movi r2,1 47e68: 28800515 stw r2,20(r5) 47e6c: f800283a ret 47e70: 04801004 movi r18,64 47e74: 003fe006 br 47df8 <__alt_data_end+0xfffd5df8> 47e78: 81000a17 ldw r4,40(r16) 47e7c: 00c00174 movhi r3,5 47e80: 18e93904 addi r3,r3,-23324 47e84: 20ffc51e bne r4,r3,47d9c <__alt_data_end+0xfffd5d9c> 47e88: 8080030b ldhu r2,12(r16) 47e8c: 04810004 movi r18,1024 47e90: 84801315 stw r18,76(r16) 47e94: 1484b03a or r2,r2,r18 47e98: 8080030d sth r2,12(r16) 47e9c: 0027883a mov r19,zero 47ea0: 003fd806 br 47e04 <__alt_data_end+0xfffd5e04> 47ea4: 8140038f ldh r5,14(r16) 47ea8: 8809883a mov r4,r17 47eac: 004c36c0 call 4c36c <_isatty_r> 47eb0: 103fe226 beq r2,zero,47e3c <__alt_data_end+0xfffd5e3c> 47eb4: 8080030b ldhu r2,12(r16) 47eb8: 10800054 ori r2,r2,1 47ebc: 8080030d sth r2,12(r16) 47ec0: 003fde06 br 47e3c <__alt_data_end+0xfffd5e3c> 47ec4: 8080030b ldhu r2,12(r16) 47ec8: 10c0800c andi r3,r2,512 47ecc: 183fdb1e bne r3,zero,47e3c <__alt_data_end+0xfffd5e3c> 47ed0: 10800094 ori r2,r2,2 47ed4: 80c010c4 addi r3,r16,67 47ed8: 8080030d sth r2,12(r16) 47edc: 00800044 movi r2,1 47ee0: 80c00015 stw r3,0(r16) 47ee4: 80c00415 stw r3,16(r16) 47ee8: 80800515 stw r2,20(r16) 47eec: 003fd306 br 47e3c <__alt_data_end+0xfffd5e3c> 47ef0: 04810004 movi r18,1024 47ef4: 003fc306 br 47e04 <__alt_data_end+0xfffd5e04> 47ef8: 0027883a mov r19,zero 47efc: 04810004 movi r18,1024 47f00: 003fc006 br 47e04 <__alt_data_end+0xfffd5e04> 00047f04 <_malloc_r>: 47f04: defff504 addi sp,sp,-44 47f08: dc800315 stw r18,12(sp) 47f0c: dfc00a15 stw ra,40(sp) 47f10: df000915 stw fp,36(sp) 47f14: ddc00815 stw r23,32(sp) 47f18: dd800715 stw r22,28(sp) 47f1c: dd400615 stw r21,24(sp) 47f20: dd000515 stw r20,20(sp) 47f24: dcc00415 stw r19,16(sp) 47f28: dc400215 stw r17,8(sp) 47f2c: dc000115 stw r16,4(sp) 47f30: 288002c4 addi r2,r5,11 47f34: 00c00584 movi r3,22 47f38: 2025883a mov r18,r4 47f3c: 18807f2e bgeu r3,r2,4813c <_malloc_r+0x238> 47f40: 047ffe04 movi r17,-8 47f44: 1462703a and r17,r2,r17 47f48: 8800a316 blt r17,zero,481d8 <_malloc_r+0x2d4> 47f4c: 8940a236 bltu r17,r5,481d8 <_malloc_r+0x2d4> 47f50: 004ed0c0 call 4ed0c <__malloc_lock> 47f54: 00807dc4 movi r2,503 47f58: 1441e92e bgeu r2,r17,48700 <_malloc_r+0x7fc> 47f5c: 8804d27a srli r2,r17,9 47f60: 1000a126 beq r2,zero,481e8 <_malloc_r+0x2e4> 47f64: 00c00104 movi r3,4 47f68: 18811e36 bltu r3,r2,483e4 <_malloc_r+0x4e0> 47f6c: 8804d1ba srli r2,r17,6 47f70: 12000e44 addi r8,r2,57 47f74: 11c00e04 addi r7,r2,56 47f78: 4209883a add r4,r8,r8 47f7c: 04c00174 movhi r19,5 47f80: 2109883a add r4,r4,r4 47f84: 9cca8604 addi r19,r19,10776 47f88: 2109883a add r4,r4,r4 47f8c: 9909883a add r4,r19,r4 47f90: 24000117 ldw r16,4(r4) 47f94: 213ffe04 addi r4,r4,-8 47f98: 24009726 beq r4,r16,481f8 <_malloc_r+0x2f4> 47f9c: 80800117 ldw r2,4(r16) 47fa0: 01bfff04 movi r6,-4 47fa4: 014003c4 movi r5,15 47fa8: 1184703a and r2,r2,r6 47fac: 1447c83a sub r3,r2,r17 47fb0: 28c00716 blt r5,r3,47fd0 <_malloc_r+0xcc> 47fb4: 1800920e bge r3,zero,48200 <_malloc_r+0x2fc> 47fb8: 84000317 ldw r16,12(r16) 47fbc: 24008e26 beq r4,r16,481f8 <_malloc_r+0x2f4> 47fc0: 80800117 ldw r2,4(r16) 47fc4: 1184703a and r2,r2,r6 47fc8: 1447c83a sub r3,r2,r17 47fcc: 28fff90e bge r5,r3,47fb4 <__alt_data_end+0xfffd5fb4> 47fd0: 3809883a mov r4,r7 47fd4: 01800174 movhi r6,5 47fd8: 9c000417 ldw r16,16(r19) 47fdc: 318a8604 addi r6,r6,10776 47fe0: 32000204 addi r8,r6,8 47fe4: 82013426 beq r16,r8,484b8 <_malloc_r+0x5b4> 47fe8: 80c00117 ldw r3,4(r16) 47fec: 00bfff04 movi r2,-4 47ff0: 188e703a and r7,r3,r2 47ff4: 3c45c83a sub r2,r7,r17 47ff8: 00c003c4 movi r3,15 47ffc: 18811f16 blt r3,r2,4847c <_malloc_r+0x578> 48000: 32000515 stw r8,20(r6) 48004: 32000415 stw r8,16(r6) 48008: 10007f0e bge r2,zero,48208 <_malloc_r+0x304> 4800c: 00807fc4 movi r2,511 48010: 11c0fd36 bltu r2,r7,48408 <_malloc_r+0x504> 48014: 3806d0fa srli r3,r7,3 48018: 01c00044 movi r7,1 4801c: 30800117 ldw r2,4(r6) 48020: 19400044 addi r5,r3,1 48024: 294b883a add r5,r5,r5 48028: 1807d0ba srai r3,r3,2 4802c: 294b883a add r5,r5,r5 48030: 294b883a add r5,r5,r5 48034: 298b883a add r5,r5,r6 48038: 38c6983a sll r3,r7,r3 4803c: 29c00017 ldw r7,0(r5) 48040: 2a7ffe04 addi r9,r5,-8 48044: 1886b03a or r3,r3,r2 48048: 82400315 stw r9,12(r16) 4804c: 81c00215 stw r7,8(r16) 48050: 30c00115 stw r3,4(r6) 48054: 2c000015 stw r16,0(r5) 48058: 3c000315 stw r16,12(r7) 4805c: 2005d0ba srai r2,r4,2 48060: 01400044 movi r5,1 48064: 288a983a sll r5,r5,r2 48068: 19406f36 bltu r3,r5,48228 <_malloc_r+0x324> 4806c: 28c4703a and r2,r5,r3 48070: 10000a1e bne r2,zero,4809c <_malloc_r+0x198> 48074: 00bfff04 movi r2,-4 48078: 294b883a add r5,r5,r5 4807c: 2088703a and r4,r4,r2 48080: 28c4703a and r2,r5,r3 48084: 21000104 addi r4,r4,4 48088: 1000041e bne r2,zero,4809c <_malloc_r+0x198> 4808c: 294b883a add r5,r5,r5 48090: 28c4703a and r2,r5,r3 48094: 21000104 addi r4,r4,4 48098: 103ffc26 beq r2,zero,4808c <__alt_data_end+0xfffd608c> 4809c: 02bfff04 movi r10,-4 480a0: 024003c4 movi r9,15 480a4: 21800044 addi r6,r4,1 480a8: 318d883a add r6,r6,r6 480ac: 318d883a add r6,r6,r6 480b0: 318d883a add r6,r6,r6 480b4: 998d883a add r6,r19,r6 480b8: 333ffe04 addi r12,r6,-8 480bc: 2017883a mov r11,r4 480c0: 31800104 addi r6,r6,4 480c4: 34000017 ldw r16,0(r6) 480c8: 31fffd04 addi r7,r6,-12 480cc: 81c0041e bne r16,r7,480e0 <_malloc_r+0x1dc> 480d0: 0000fb06 br 484c0 <_malloc_r+0x5bc> 480d4: 1801030e bge r3,zero,484e4 <_malloc_r+0x5e0> 480d8: 84000317 ldw r16,12(r16) 480dc: 81c0f826 beq r16,r7,484c0 <_malloc_r+0x5bc> 480e0: 80800117 ldw r2,4(r16) 480e4: 1284703a and r2,r2,r10 480e8: 1447c83a sub r3,r2,r17 480ec: 48fff90e bge r9,r3,480d4 <__alt_data_end+0xfffd60d4> 480f0: 80800317 ldw r2,12(r16) 480f4: 81000217 ldw r4,8(r16) 480f8: 89400054 ori r5,r17,1 480fc: 81400115 stw r5,4(r16) 48100: 20800315 stw r2,12(r4) 48104: 11000215 stw r4,8(r2) 48108: 8463883a add r17,r16,r17 4810c: 9c400515 stw r17,20(r19) 48110: 9c400415 stw r17,16(r19) 48114: 18800054 ori r2,r3,1 48118: 88800115 stw r2,4(r17) 4811c: 8a000315 stw r8,12(r17) 48120: 8a000215 stw r8,8(r17) 48124: 88e3883a add r17,r17,r3 48128: 88c00015 stw r3,0(r17) 4812c: 9009883a mov r4,r18 48130: 004ed300 call 4ed30 <__malloc_unlock> 48134: 80800204 addi r2,r16,8 48138: 00001b06 br 481a8 <_malloc_r+0x2a4> 4813c: 04400404 movi r17,16 48140: 89402536 bltu r17,r5,481d8 <_malloc_r+0x2d4> 48144: 004ed0c0 call 4ed0c <__malloc_lock> 48148: 00800184 movi r2,6 4814c: 01000084 movi r4,2 48150: 04c00174 movhi r19,5 48154: 1085883a add r2,r2,r2 48158: 9cca8604 addi r19,r19,10776 4815c: 1085883a add r2,r2,r2 48160: 9885883a add r2,r19,r2 48164: 14000117 ldw r16,4(r2) 48168: 10fffe04 addi r3,r2,-8 4816c: 80c0d926 beq r16,r3,484d4 <_malloc_r+0x5d0> 48170: 80c00117 ldw r3,4(r16) 48174: 81000317 ldw r4,12(r16) 48178: 00bfff04 movi r2,-4 4817c: 1884703a and r2,r3,r2 48180: 81400217 ldw r5,8(r16) 48184: 8085883a add r2,r16,r2 48188: 10c00117 ldw r3,4(r2) 4818c: 29000315 stw r4,12(r5) 48190: 21400215 stw r5,8(r4) 48194: 18c00054 ori r3,r3,1 48198: 10c00115 stw r3,4(r2) 4819c: 9009883a mov r4,r18 481a0: 004ed300 call 4ed30 <__malloc_unlock> 481a4: 80800204 addi r2,r16,8 481a8: dfc00a17 ldw ra,40(sp) 481ac: df000917 ldw fp,36(sp) 481b0: ddc00817 ldw r23,32(sp) 481b4: dd800717 ldw r22,28(sp) 481b8: dd400617 ldw r21,24(sp) 481bc: dd000517 ldw r20,20(sp) 481c0: dcc00417 ldw r19,16(sp) 481c4: dc800317 ldw r18,12(sp) 481c8: dc400217 ldw r17,8(sp) 481cc: dc000117 ldw r16,4(sp) 481d0: dec00b04 addi sp,sp,44 481d4: f800283a ret 481d8: 00800304 movi r2,12 481dc: 90800015 stw r2,0(r18) 481e0: 0005883a mov r2,zero 481e4: 003ff006 br 481a8 <__alt_data_end+0xfffd61a8> 481e8: 01002004 movi r4,128 481ec: 02001004 movi r8,64 481f0: 01c00fc4 movi r7,63 481f4: 003f6106 br 47f7c <__alt_data_end+0xfffd5f7c> 481f8: 4009883a mov r4,r8 481fc: 003f7506 br 47fd4 <__alt_data_end+0xfffd5fd4> 48200: 81000317 ldw r4,12(r16) 48204: 003fde06 br 48180 <__alt_data_end+0xfffd6180> 48208: 81c5883a add r2,r16,r7 4820c: 11400117 ldw r5,4(r2) 48210: 9009883a mov r4,r18 48214: 29400054 ori r5,r5,1 48218: 11400115 stw r5,4(r2) 4821c: 004ed300 call 4ed30 <__malloc_unlock> 48220: 80800204 addi r2,r16,8 48224: 003fe006 br 481a8 <__alt_data_end+0xfffd61a8> 48228: 9c000217 ldw r16,8(r19) 4822c: 00bfff04 movi r2,-4 48230: 85800117 ldw r22,4(r16) 48234: b0ac703a and r22,r22,r2 48238: b4400336 bltu r22,r17,48248 <_malloc_r+0x344> 4823c: b445c83a sub r2,r22,r17 48240: 00c003c4 movi r3,15 48244: 18805d16 blt r3,r2,483bc <_malloc_r+0x4b8> 48248: 05c00174 movhi r23,5 4824c: 00800174 movhi r2,5 48250: 10977204 addi r2,r2,24008 48254: bdd05504 addi r23,r23,16724 48258: 15400017 ldw r21,0(r2) 4825c: b8c00017 ldw r3,0(r23) 48260: 00bfffc4 movi r2,-1 48264: 858d883a add r6,r16,r22 48268: 8d6b883a add r21,r17,r21 4826c: 1880ea26 beq r3,r2,48618 <_malloc_r+0x714> 48270: ad4403c4 addi r21,r21,4111 48274: 00bc0004 movi r2,-4096 48278: a8aa703a and r21,r21,r2 4827c: a80b883a mov r5,r21 48280: 9009883a mov r4,r18 48284: d9800015 stw r6,0(sp) 48288: 004a3b80 call 4a3b8 <_sbrk_r> 4828c: 1029883a mov r20,r2 48290: 00bfffc4 movi r2,-1 48294: d9800017 ldw r6,0(sp) 48298: a080e826 beq r20,r2,4863c <_malloc_r+0x738> 4829c: a180a636 bltu r20,r6,48538 <_malloc_r+0x634> 482a0: 07000174 movhi fp,5 482a4: e7177b04 addi fp,fp,24044 482a8: e0800017 ldw r2,0(fp) 482ac: a887883a add r3,r21,r2 482b0: e0c00015 stw r3,0(fp) 482b4: 3500e626 beq r6,r20,48650 <_malloc_r+0x74c> 482b8: b9000017 ldw r4,0(r23) 482bc: 00bfffc4 movi r2,-1 482c0: 2080ee26 beq r4,r2,4867c <_malloc_r+0x778> 482c4: a185c83a sub r2,r20,r6 482c8: 10c5883a add r2,r2,r3 482cc: e0800015 stw r2,0(fp) 482d0: a0c001cc andi r3,r20,7 482d4: 1800bc26 beq r3,zero,485c8 <_malloc_r+0x6c4> 482d8: a0e9c83a sub r20,r20,r3 482dc: 00840204 movi r2,4104 482e0: a5000204 addi r20,r20,8 482e4: 10c7c83a sub r3,r2,r3 482e8: a545883a add r2,r20,r21 482ec: 1083ffcc andi r2,r2,4095 482f0: 18abc83a sub r21,r3,r2 482f4: a80b883a mov r5,r21 482f8: 9009883a mov r4,r18 482fc: 004a3b80 call 4a3b8 <_sbrk_r> 48300: 00ffffc4 movi r3,-1 48304: 10c0e126 beq r2,r3,4868c <_malloc_r+0x788> 48308: 1505c83a sub r2,r2,r20 4830c: 1545883a add r2,r2,r21 48310: 10800054 ori r2,r2,1 48314: e0c00017 ldw r3,0(fp) 48318: 9d000215 stw r20,8(r19) 4831c: a0800115 stw r2,4(r20) 48320: a8c7883a add r3,r21,r3 48324: e0c00015 stw r3,0(fp) 48328: 84c00e26 beq r16,r19,48364 <_malloc_r+0x460> 4832c: 018003c4 movi r6,15 48330: 3580a72e bgeu r6,r22,485d0 <_malloc_r+0x6cc> 48334: 81400117 ldw r5,4(r16) 48338: 013ffe04 movi r4,-8 4833c: b0bffd04 addi r2,r22,-12 48340: 1104703a and r2,r2,r4 48344: 2900004c andi r4,r5,1 48348: 2088b03a or r4,r4,r2 4834c: 81000115 stw r4,4(r16) 48350: 01400144 movi r5,5 48354: 8089883a add r4,r16,r2 48358: 21400115 stw r5,4(r4) 4835c: 21400215 stw r5,8(r4) 48360: 3080cd36 bltu r6,r2,48698 <_malloc_r+0x794> 48364: 00800174 movhi r2,5 48368: 10977104 addi r2,r2,24004 4836c: 11000017 ldw r4,0(r2) 48370: 20c0012e bgeu r4,r3,48378 <_malloc_r+0x474> 48374: 10c00015 stw r3,0(r2) 48378: 00800174 movhi r2,5 4837c: 10977004 addi r2,r2,24000 48380: 11000017 ldw r4,0(r2) 48384: 9c000217 ldw r16,8(r19) 48388: 20c0012e bgeu r4,r3,48390 <_malloc_r+0x48c> 4838c: 10c00015 stw r3,0(r2) 48390: 80c00117 ldw r3,4(r16) 48394: 00bfff04 movi r2,-4 48398: 1886703a and r3,r3,r2 4839c: 1c45c83a sub r2,r3,r17 483a0: 1c400236 bltu r3,r17,483ac <_malloc_r+0x4a8> 483a4: 00c003c4 movi r3,15 483a8: 18800416 blt r3,r2,483bc <_malloc_r+0x4b8> 483ac: 9009883a mov r4,r18 483b0: 004ed300 call 4ed30 <__malloc_unlock> 483b4: 0005883a mov r2,zero 483b8: 003f7b06 br 481a8 <__alt_data_end+0xfffd61a8> 483bc: 88c00054 ori r3,r17,1 483c0: 80c00115 stw r3,4(r16) 483c4: 8463883a add r17,r16,r17 483c8: 10800054 ori r2,r2,1 483cc: 9c400215 stw r17,8(r19) 483d0: 88800115 stw r2,4(r17) 483d4: 9009883a mov r4,r18 483d8: 004ed300 call 4ed30 <__malloc_unlock> 483dc: 80800204 addi r2,r16,8 483e0: 003f7106 br 481a8 <__alt_data_end+0xfffd61a8> 483e4: 00c00504 movi r3,20 483e8: 18804a2e bgeu r3,r2,48514 <_malloc_r+0x610> 483ec: 00c01504 movi r3,84 483f0: 18806e36 bltu r3,r2,485ac <_malloc_r+0x6a8> 483f4: 8804d33a srli r2,r17,12 483f8: 12001bc4 addi r8,r2,111 483fc: 11c01b84 addi r7,r2,110 48400: 4209883a add r4,r8,r8 48404: 003edd06 br 47f7c <__alt_data_end+0xfffd5f7c> 48408: 3804d27a srli r2,r7,9 4840c: 00c00104 movi r3,4 48410: 1880442e bgeu r3,r2,48524 <_malloc_r+0x620> 48414: 00c00504 movi r3,20 48418: 18808136 bltu r3,r2,48620 <_malloc_r+0x71c> 4841c: 11401704 addi r5,r2,92 48420: 10c016c4 addi r3,r2,91 48424: 294b883a add r5,r5,r5 48428: 294b883a add r5,r5,r5 4842c: 294b883a add r5,r5,r5 48430: 994b883a add r5,r19,r5 48434: 28800017 ldw r2,0(r5) 48438: 01800174 movhi r6,5 4843c: 297ffe04 addi r5,r5,-8 48440: 318a8604 addi r6,r6,10776 48444: 28806526 beq r5,r2,485dc <_malloc_r+0x6d8> 48448: 01bfff04 movi r6,-4 4844c: 10c00117 ldw r3,4(r2) 48450: 1986703a and r3,r3,r6 48454: 38c0022e bgeu r7,r3,48460 <_malloc_r+0x55c> 48458: 10800217 ldw r2,8(r2) 4845c: 28bffb1e bne r5,r2,4844c <__alt_data_end+0xfffd644c> 48460: 11400317 ldw r5,12(r2) 48464: 98c00117 ldw r3,4(r19) 48468: 81400315 stw r5,12(r16) 4846c: 80800215 stw r2,8(r16) 48470: 2c000215 stw r16,8(r5) 48474: 14000315 stw r16,12(r2) 48478: 003ef806 br 4805c <__alt_data_end+0xfffd605c> 4847c: 88c00054 ori r3,r17,1 48480: 80c00115 stw r3,4(r16) 48484: 8463883a add r17,r16,r17 48488: 34400515 stw r17,20(r6) 4848c: 34400415 stw r17,16(r6) 48490: 10c00054 ori r3,r2,1 48494: 8a000315 stw r8,12(r17) 48498: 8a000215 stw r8,8(r17) 4849c: 88c00115 stw r3,4(r17) 484a0: 88a3883a add r17,r17,r2 484a4: 88800015 stw r2,0(r17) 484a8: 9009883a mov r4,r18 484ac: 004ed300 call 4ed30 <__malloc_unlock> 484b0: 80800204 addi r2,r16,8 484b4: 003f3c06 br 481a8 <__alt_data_end+0xfffd61a8> 484b8: 30c00117 ldw r3,4(r6) 484bc: 003ee706 br 4805c <__alt_data_end+0xfffd605c> 484c0: 5ac00044 addi r11,r11,1 484c4: 588000cc andi r2,r11,3 484c8: 31800204 addi r6,r6,8 484cc: 103efd1e bne r2,zero,480c4 <__alt_data_end+0xfffd60c4> 484d0: 00002406 br 48564 <_malloc_r+0x660> 484d4: 14000317 ldw r16,12(r2) 484d8: 143f251e bne r2,r16,48170 <__alt_data_end+0xfffd6170> 484dc: 21000084 addi r4,r4,2 484e0: 003ebc06 br 47fd4 <__alt_data_end+0xfffd5fd4> 484e4: 8085883a add r2,r16,r2 484e8: 10c00117 ldw r3,4(r2) 484ec: 81000317 ldw r4,12(r16) 484f0: 81400217 ldw r5,8(r16) 484f4: 18c00054 ori r3,r3,1 484f8: 10c00115 stw r3,4(r2) 484fc: 29000315 stw r4,12(r5) 48500: 21400215 stw r5,8(r4) 48504: 9009883a mov r4,r18 48508: 004ed300 call 4ed30 <__malloc_unlock> 4850c: 80800204 addi r2,r16,8 48510: 003f2506 br 481a8 <__alt_data_end+0xfffd61a8> 48514: 12001704 addi r8,r2,92 48518: 11c016c4 addi r7,r2,91 4851c: 4209883a add r4,r8,r8 48520: 003e9606 br 47f7c <__alt_data_end+0xfffd5f7c> 48524: 3804d1ba srli r2,r7,6 48528: 11400e44 addi r5,r2,57 4852c: 10c00e04 addi r3,r2,56 48530: 294b883a add r5,r5,r5 48534: 003fbc06 br 48428 <__alt_data_end+0xfffd6428> 48538: 84ff5926 beq r16,r19,482a0 <__alt_data_end+0xfffd62a0> 4853c: 00800174 movhi r2,5 48540: 108a8604 addi r2,r2,10776 48544: 14000217 ldw r16,8(r2) 48548: 00bfff04 movi r2,-4 4854c: 80c00117 ldw r3,4(r16) 48550: 1886703a and r3,r3,r2 48554: 003f9106 br 4839c <__alt_data_end+0xfffd639c> 48558: 60800217 ldw r2,8(r12) 4855c: 213fffc4 addi r4,r4,-1 48560: 1300651e bne r2,r12,486f8 <_malloc_r+0x7f4> 48564: 208000cc andi r2,r4,3 48568: 633ffe04 addi r12,r12,-8 4856c: 103ffa1e bne r2,zero,48558 <__alt_data_end+0xfffd6558> 48570: 98800117 ldw r2,4(r19) 48574: 0146303a nor r3,zero,r5 48578: 1884703a and r2,r3,r2 4857c: 98800115 stw r2,4(r19) 48580: 294b883a add r5,r5,r5 48584: 117f2836 bltu r2,r5,48228 <__alt_data_end+0xfffd6228> 48588: 283f2726 beq r5,zero,48228 <__alt_data_end+0xfffd6228> 4858c: 2886703a and r3,r5,r2 48590: 5809883a mov r4,r11 48594: 183ec31e bne r3,zero,480a4 <__alt_data_end+0xfffd60a4> 48598: 294b883a add r5,r5,r5 4859c: 2886703a and r3,r5,r2 485a0: 21000104 addi r4,r4,4 485a4: 183ffc26 beq r3,zero,48598 <__alt_data_end+0xfffd6598> 485a8: 003ebe06 br 480a4 <__alt_data_end+0xfffd60a4> 485ac: 00c05504 movi r3,340 485b0: 18801236 bltu r3,r2,485fc <_malloc_r+0x6f8> 485b4: 8804d3fa srli r2,r17,15 485b8: 12001e04 addi r8,r2,120 485bc: 11c01dc4 addi r7,r2,119 485c0: 4209883a add r4,r8,r8 485c4: 003e6d06 br 47f7c <__alt_data_end+0xfffd5f7c> 485c8: 00c40004 movi r3,4096 485cc: 003f4606 br 482e8 <__alt_data_end+0xfffd62e8> 485d0: 00800044 movi r2,1 485d4: a0800115 stw r2,4(r20) 485d8: 003f7406 br 483ac <__alt_data_end+0xfffd63ac> 485dc: 1805d0ba srai r2,r3,2 485e0: 01c00044 movi r7,1 485e4: 30c00117 ldw r3,4(r6) 485e8: 388e983a sll r7,r7,r2 485ec: 2805883a mov r2,r5 485f0: 38c6b03a or r3,r7,r3 485f4: 30c00115 stw r3,4(r6) 485f8: 003f9b06 br 48468 <__alt_data_end+0xfffd6468> 485fc: 00c15504 movi r3,1364 48600: 18801a36 bltu r3,r2,4866c <_malloc_r+0x768> 48604: 8804d4ba srli r2,r17,18 48608: 12001f44 addi r8,r2,125 4860c: 11c01f04 addi r7,r2,124 48610: 4209883a add r4,r8,r8 48614: 003e5906 br 47f7c <__alt_data_end+0xfffd5f7c> 48618: ad400404 addi r21,r21,16 4861c: 003f1706 br 4827c <__alt_data_end+0xfffd627c> 48620: 00c01504 movi r3,84 48624: 18802336 bltu r3,r2,486b4 <_malloc_r+0x7b0> 48628: 3804d33a srli r2,r7,12 4862c: 11401bc4 addi r5,r2,111 48630: 10c01b84 addi r3,r2,110 48634: 294b883a add r5,r5,r5 48638: 003f7b06 br 48428 <__alt_data_end+0xfffd6428> 4863c: 9c000217 ldw r16,8(r19) 48640: 00bfff04 movi r2,-4 48644: 80c00117 ldw r3,4(r16) 48648: 1886703a and r3,r3,r2 4864c: 003f5306 br 4839c <__alt_data_end+0xfffd639c> 48650: 3083ffcc andi r2,r6,4095 48654: 103f181e bne r2,zero,482b8 <__alt_data_end+0xfffd62b8> 48658: 99000217 ldw r4,8(r19) 4865c: b545883a add r2,r22,r21 48660: 10800054 ori r2,r2,1 48664: 20800115 stw r2,4(r4) 48668: 003f3e06 br 48364 <__alt_data_end+0xfffd6364> 4866c: 01003f84 movi r4,254 48670: 02001fc4 movi r8,127 48674: 01c01f84 movi r7,126 48678: 003e4006 br 47f7c <__alt_data_end+0xfffd5f7c> 4867c: 00800174 movhi r2,5 48680: 10905504 addi r2,r2,16724 48684: 15000015 stw r20,0(r2) 48688: 003f1106 br 482d0 <__alt_data_end+0xfffd62d0> 4868c: 00800044 movi r2,1 48690: 002b883a mov r21,zero 48694: 003f1f06 br 48314 <__alt_data_end+0xfffd6314> 48698: 81400204 addi r5,r16,8 4869c: 9009883a mov r4,r18 486a0: 004730c0 call 4730c <_free_r> 486a4: 00800174 movhi r2,5 486a8: 10977b04 addi r2,r2,24044 486ac: 10c00017 ldw r3,0(r2) 486b0: 003f2c06 br 48364 <__alt_data_end+0xfffd6364> 486b4: 00c05504 movi r3,340 486b8: 18800536 bltu r3,r2,486d0 <_malloc_r+0x7cc> 486bc: 3804d3fa srli r2,r7,15 486c0: 11401e04 addi r5,r2,120 486c4: 10c01dc4 addi r3,r2,119 486c8: 294b883a add r5,r5,r5 486cc: 003f5606 br 48428 <__alt_data_end+0xfffd6428> 486d0: 00c15504 movi r3,1364 486d4: 18800536 bltu r3,r2,486ec <_malloc_r+0x7e8> 486d8: 3804d4ba srli r2,r7,18 486dc: 11401f44 addi r5,r2,125 486e0: 10c01f04 addi r3,r2,124 486e4: 294b883a add r5,r5,r5 486e8: 003f4f06 br 48428 <__alt_data_end+0xfffd6428> 486ec: 01403f84 movi r5,254 486f0: 00c01f84 movi r3,126 486f4: 003f4c06 br 48428 <__alt_data_end+0xfffd6428> 486f8: 98800117 ldw r2,4(r19) 486fc: 003fa006 br 48580 <__alt_data_end+0xfffd6580> 48700: 8808d0fa srli r4,r17,3 48704: 20800044 addi r2,r4,1 48708: 1085883a add r2,r2,r2 4870c: 003e9006 br 48150 <__alt_data_end+0xfffd6150> 00048710 : 48710: 208000cc andi r2,r4,3 48714: 280f883a mov r7,r5 48718: 10003426 beq r2,zero,487ec 4871c: 30bfffc4 addi r2,r6,-1 48720: 30001a26 beq r6,zero,4878c 48724: 20c00003 ldbu r3,0(r4) 48728: 29803fcc andi r6,r5,255 4872c: 30c0051e bne r6,r3,48744 48730: 00001806 br 48794 48734: 10001526 beq r2,zero,4878c 48738: 20c00003 ldbu r3,0(r4) 4873c: 10bfffc4 addi r2,r2,-1 48740: 30c01426 beq r6,r3,48794 48744: 21000044 addi r4,r4,1 48748: 20c000cc andi r3,r4,3 4874c: 183ff91e bne r3,zero,48734 <__alt_data_end+0xfffd6734> 48750: 020000c4 movi r8,3 48754: 40801136 bltu r8,r2,4879c 48758: 10000c26 beq r2,zero,4878c 4875c: 20c00003 ldbu r3,0(r4) 48760: 29403fcc andi r5,r5,255 48764: 28c00b26 beq r5,r3,48794 48768: 20c00044 addi r3,r4,1 4876c: 39803fcc andi r6,r7,255 48770: 2089883a add r4,r4,r2 48774: 00000306 br 48784 48778: 18c00044 addi r3,r3,1 4877c: 197fffc3 ldbu r5,-1(r3) 48780: 31400526 beq r6,r5,48798 48784: 1805883a mov r2,r3 48788: 20fffb1e bne r4,r3,48778 <__alt_data_end+0xfffd6778> 4878c: 0005883a mov r2,zero 48790: f800283a ret 48794: 2005883a mov r2,r4 48798: f800283a ret 4879c: 28c03fcc andi r3,r5,255 487a0: 1812923a slli r9,r3,8 487a4: 02ffbff4 movhi r11,65279 487a8: 02a02074 movhi r10,32897 487ac: 48d2b03a or r9,r9,r3 487b0: 4806943a slli r3,r9,16 487b4: 5affbfc4 addi r11,r11,-257 487b8: 52a02004 addi r10,r10,-32640 487bc: 48d2b03a or r9,r9,r3 487c0: 20c00017 ldw r3,0(r4) 487c4: 48c6f03a xor r3,r9,r3 487c8: 1acd883a add r6,r3,r11 487cc: 00c6303a nor r3,zero,r3 487d0: 30c6703a and r3,r6,r3 487d4: 1a86703a and r3,r3,r10 487d8: 183fe01e bne r3,zero,4875c <__alt_data_end+0xfffd675c> 487dc: 10bfff04 addi r2,r2,-4 487e0: 21000104 addi r4,r4,4 487e4: 40bff636 bltu r8,r2,487c0 <__alt_data_end+0xfffd67c0> 487e8: 003fdb06 br 48758 <__alt_data_end+0xfffd6758> 487ec: 3005883a mov r2,r6 487f0: 003fd706 br 48750 <__alt_data_end+0xfffd6750> 000487f4 : 487f4: defffd04 addi sp,sp,-12 487f8: dfc00215 stw ra,8(sp) 487fc: dc400115 stw r17,4(sp) 48800: dc000015 stw r16,0(sp) 48804: 00c003c4 movi r3,15 48808: 2005883a mov r2,r4 4880c: 1980452e bgeu r3,r6,48924 48810: 2906b03a or r3,r5,r4 48814: 18c000cc andi r3,r3,3 48818: 1800441e bne r3,zero,4892c 4881c: 347ffc04 addi r17,r6,-16 48820: 8822d13a srli r17,r17,4 48824: 28c00104 addi r3,r5,4 48828: 23400104 addi r13,r4,4 4882c: 8820913a slli r16,r17,4 48830: 2b000204 addi r12,r5,8 48834: 22c00204 addi r11,r4,8 48838: 84000504 addi r16,r16,20 4883c: 2a800304 addi r10,r5,12 48840: 22400304 addi r9,r4,12 48844: 2c21883a add r16,r5,r16 48848: 2811883a mov r8,r5 4884c: 200f883a mov r7,r4 48850: 41000017 ldw r4,0(r8) 48854: 1fc00017 ldw ra,0(r3) 48858: 63c00017 ldw r15,0(r12) 4885c: 39000015 stw r4,0(r7) 48860: 53800017 ldw r14,0(r10) 48864: 6fc00015 stw ra,0(r13) 48868: 5bc00015 stw r15,0(r11) 4886c: 4b800015 stw r14,0(r9) 48870: 18c00404 addi r3,r3,16 48874: 39c00404 addi r7,r7,16 48878: 42000404 addi r8,r8,16 4887c: 6b400404 addi r13,r13,16 48880: 63000404 addi r12,r12,16 48884: 5ac00404 addi r11,r11,16 48888: 52800404 addi r10,r10,16 4888c: 4a400404 addi r9,r9,16 48890: 1c3fef1e bne r3,r16,48850 <__alt_data_end+0xfffd6850> 48894: 89c00044 addi r7,r17,1 48898: 380e913a slli r7,r7,4 4889c: 310003cc andi r4,r6,15 488a0: 02c000c4 movi r11,3 488a4: 11c7883a add r3,r2,r7 488a8: 29cb883a add r5,r5,r7 488ac: 5900212e bgeu r11,r4,48934 488b0: 1813883a mov r9,r3 488b4: 2811883a mov r8,r5 488b8: 200f883a mov r7,r4 488bc: 42800017 ldw r10,0(r8) 488c0: 4a400104 addi r9,r9,4 488c4: 39ffff04 addi r7,r7,-4 488c8: 4abfff15 stw r10,-4(r9) 488cc: 42000104 addi r8,r8,4 488d0: 59fffa36 bltu r11,r7,488bc <__alt_data_end+0xfffd68bc> 488d4: 213fff04 addi r4,r4,-4 488d8: 2008d0ba srli r4,r4,2 488dc: 318000cc andi r6,r6,3 488e0: 21000044 addi r4,r4,1 488e4: 2109883a add r4,r4,r4 488e8: 2109883a add r4,r4,r4 488ec: 1907883a add r3,r3,r4 488f0: 290b883a add r5,r5,r4 488f4: 30000626 beq r6,zero,48910 488f8: 198d883a add r6,r3,r6 488fc: 29c00003 ldbu r7,0(r5) 48900: 18c00044 addi r3,r3,1 48904: 29400044 addi r5,r5,1 48908: 19ffffc5 stb r7,-1(r3) 4890c: 19bffb1e bne r3,r6,488fc <__alt_data_end+0xfffd68fc> 48910: dfc00217 ldw ra,8(sp) 48914: dc400117 ldw r17,4(sp) 48918: dc000017 ldw r16,0(sp) 4891c: dec00304 addi sp,sp,12 48920: f800283a ret 48924: 2007883a mov r3,r4 48928: 003ff206 br 488f4 <__alt_data_end+0xfffd68f4> 4892c: 2007883a mov r3,r4 48930: 003ff106 br 488f8 <__alt_data_end+0xfffd68f8> 48934: 200d883a mov r6,r4 48938: 003fee06 br 488f4 <__alt_data_end+0xfffd68f4> 0004893c : 4893c: 2005883a mov r2,r4 48940: 29000b2e bgeu r5,r4,48970 48944: 298f883a add r7,r5,r6 48948: 21c0092e bgeu r4,r7,48970 4894c: 2187883a add r3,r4,r6 48950: 198bc83a sub r5,r3,r6 48954: 30004826 beq r6,zero,48a78 48958: 39ffffc4 addi r7,r7,-1 4895c: 39000003 ldbu r4,0(r7) 48960: 18ffffc4 addi r3,r3,-1 48964: 19000005 stb r4,0(r3) 48968: 28fffb1e bne r5,r3,48958 <__alt_data_end+0xfffd6958> 4896c: f800283a ret 48970: 00c003c4 movi r3,15 48974: 1980412e bgeu r3,r6,48a7c 48978: 2886b03a or r3,r5,r2 4897c: 18c000cc andi r3,r3,3 48980: 1800401e bne r3,zero,48a84 48984: 33fffc04 addi r15,r6,-16 48988: 781ed13a srli r15,r15,4 4898c: 28c00104 addi r3,r5,4 48990: 13400104 addi r13,r2,4 48994: 781c913a slli r14,r15,4 48998: 2b000204 addi r12,r5,8 4899c: 12c00204 addi r11,r2,8 489a0: 73800504 addi r14,r14,20 489a4: 2a800304 addi r10,r5,12 489a8: 12400304 addi r9,r2,12 489ac: 2b9d883a add r14,r5,r14 489b0: 2811883a mov r8,r5 489b4: 100f883a mov r7,r2 489b8: 41000017 ldw r4,0(r8) 489bc: 39c00404 addi r7,r7,16 489c0: 18c00404 addi r3,r3,16 489c4: 393ffc15 stw r4,-16(r7) 489c8: 193ffc17 ldw r4,-16(r3) 489cc: 6b400404 addi r13,r13,16 489d0: 5ac00404 addi r11,r11,16 489d4: 693ffc15 stw r4,-16(r13) 489d8: 61000017 ldw r4,0(r12) 489dc: 4a400404 addi r9,r9,16 489e0: 42000404 addi r8,r8,16 489e4: 593ffc15 stw r4,-16(r11) 489e8: 51000017 ldw r4,0(r10) 489ec: 63000404 addi r12,r12,16 489f0: 52800404 addi r10,r10,16 489f4: 493ffc15 stw r4,-16(r9) 489f8: 1bbfef1e bne r3,r14,489b8 <__alt_data_end+0xfffd69b8> 489fc: 79000044 addi r4,r15,1 48a00: 2008913a slli r4,r4,4 48a04: 328003cc andi r10,r6,15 48a08: 02c000c4 movi r11,3 48a0c: 1107883a add r3,r2,r4 48a10: 290b883a add r5,r5,r4 48a14: 5a801e2e bgeu r11,r10,48a90 48a18: 1813883a mov r9,r3 48a1c: 2811883a mov r8,r5 48a20: 500f883a mov r7,r10 48a24: 41000017 ldw r4,0(r8) 48a28: 4a400104 addi r9,r9,4 48a2c: 39ffff04 addi r7,r7,-4 48a30: 493fff15 stw r4,-4(r9) 48a34: 42000104 addi r8,r8,4 48a38: 59fffa36 bltu r11,r7,48a24 <__alt_data_end+0xfffd6a24> 48a3c: 513fff04 addi r4,r10,-4 48a40: 2008d0ba srli r4,r4,2 48a44: 318000cc andi r6,r6,3 48a48: 21000044 addi r4,r4,1 48a4c: 2109883a add r4,r4,r4 48a50: 2109883a add r4,r4,r4 48a54: 1907883a add r3,r3,r4 48a58: 290b883a add r5,r5,r4 48a5c: 30000b26 beq r6,zero,48a8c 48a60: 198d883a add r6,r3,r6 48a64: 29c00003 ldbu r7,0(r5) 48a68: 18c00044 addi r3,r3,1 48a6c: 29400044 addi r5,r5,1 48a70: 19ffffc5 stb r7,-1(r3) 48a74: 19bffb1e bne r3,r6,48a64 <__alt_data_end+0xfffd6a64> 48a78: f800283a ret 48a7c: 1007883a mov r3,r2 48a80: 003ff606 br 48a5c <__alt_data_end+0xfffd6a5c> 48a84: 1007883a mov r3,r2 48a88: 003ff506 br 48a60 <__alt_data_end+0xfffd6a60> 48a8c: f800283a ret 48a90: 500d883a mov r6,r10 48a94: 003ff106 br 48a5c <__alt_data_end+0xfffd6a5c> 00048a98 : 48a98: 20c000cc andi r3,r4,3 48a9c: 2005883a mov r2,r4 48aa0: 18004426 beq r3,zero,48bb4 48aa4: 31ffffc4 addi r7,r6,-1 48aa8: 30004026 beq r6,zero,48bac 48aac: 2813883a mov r9,r5 48ab0: 200d883a mov r6,r4 48ab4: 2007883a mov r3,r4 48ab8: 00000406 br 48acc 48abc: 3a3fffc4 addi r8,r7,-1 48ac0: 31800044 addi r6,r6,1 48ac4: 38003926 beq r7,zero,48bac 48ac8: 400f883a mov r7,r8 48acc: 18c00044 addi r3,r3,1 48ad0: 32400005 stb r9,0(r6) 48ad4: 1a0000cc andi r8,r3,3 48ad8: 403ff81e bne r8,zero,48abc <__alt_data_end+0xfffd6abc> 48adc: 010000c4 movi r4,3 48ae0: 21c02d2e bgeu r4,r7,48b98 48ae4: 29003fcc andi r4,r5,255 48ae8: 200c923a slli r6,r4,8 48aec: 3108b03a or r4,r6,r4 48af0: 200c943a slli r6,r4,16 48af4: 218cb03a or r6,r4,r6 48af8: 010003c4 movi r4,15 48afc: 21c0182e bgeu r4,r7,48b60 48b00: 3b3ffc04 addi r12,r7,-16 48b04: 6018d13a srli r12,r12,4 48b08: 1a000104 addi r8,r3,4 48b0c: 1ac00204 addi r11,r3,8 48b10: 6008913a slli r4,r12,4 48b14: 1a800304 addi r10,r3,12 48b18: 1813883a mov r9,r3 48b1c: 21000504 addi r4,r4,20 48b20: 1909883a add r4,r3,r4 48b24: 49800015 stw r6,0(r9) 48b28: 41800015 stw r6,0(r8) 48b2c: 59800015 stw r6,0(r11) 48b30: 51800015 stw r6,0(r10) 48b34: 42000404 addi r8,r8,16 48b38: 4a400404 addi r9,r9,16 48b3c: 5ac00404 addi r11,r11,16 48b40: 52800404 addi r10,r10,16 48b44: 413ff71e bne r8,r4,48b24 <__alt_data_end+0xfffd6b24> 48b48: 63000044 addi r12,r12,1 48b4c: 6018913a slli r12,r12,4 48b50: 39c003cc andi r7,r7,15 48b54: 010000c4 movi r4,3 48b58: 1b07883a add r3,r3,r12 48b5c: 21c00e2e bgeu r4,r7,48b98 48b60: 1813883a mov r9,r3 48b64: 3811883a mov r8,r7 48b68: 010000c4 movi r4,3 48b6c: 49800015 stw r6,0(r9) 48b70: 423fff04 addi r8,r8,-4 48b74: 4a400104 addi r9,r9,4 48b78: 223ffc36 bltu r4,r8,48b6c <__alt_data_end+0xfffd6b6c> 48b7c: 393fff04 addi r4,r7,-4 48b80: 2008d0ba srli r4,r4,2 48b84: 39c000cc andi r7,r7,3 48b88: 21000044 addi r4,r4,1 48b8c: 2109883a add r4,r4,r4 48b90: 2109883a add r4,r4,r4 48b94: 1907883a add r3,r3,r4 48b98: 38000526 beq r7,zero,48bb0 48b9c: 19cf883a add r7,r3,r7 48ba0: 19400005 stb r5,0(r3) 48ba4: 18c00044 addi r3,r3,1 48ba8: 38fffd1e bne r7,r3,48ba0 <__alt_data_end+0xfffd6ba0> 48bac: f800283a ret 48bb0: f800283a ret 48bb4: 2007883a mov r3,r4 48bb8: 300f883a mov r7,r6 48bbc: 003fc706 br 48adc <__alt_data_end+0xfffd6adc> 00048bc0 <_Balloc>: 48bc0: 20801317 ldw r2,76(r4) 48bc4: defffc04 addi sp,sp,-16 48bc8: dc400115 stw r17,4(sp) 48bcc: dc000015 stw r16,0(sp) 48bd0: dfc00315 stw ra,12(sp) 48bd4: dc800215 stw r18,8(sp) 48bd8: 2023883a mov r17,r4 48bdc: 2821883a mov r16,r5 48be0: 10000f26 beq r2,zero,48c20 <_Balloc+0x60> 48be4: 8407883a add r3,r16,r16 48be8: 18c7883a add r3,r3,r3 48bec: 10c7883a add r3,r2,r3 48bf0: 18800017 ldw r2,0(r3) 48bf4: 10001126 beq r2,zero,48c3c <_Balloc+0x7c> 48bf8: 11000017 ldw r4,0(r2) 48bfc: 19000015 stw r4,0(r3) 48c00: 10000415 stw zero,16(r2) 48c04: 10000315 stw zero,12(r2) 48c08: dfc00317 ldw ra,12(sp) 48c0c: dc800217 ldw r18,8(sp) 48c10: dc400117 ldw r17,4(sp) 48c14: dc000017 ldw r16,0(sp) 48c18: dec00404 addi sp,sp,16 48c1c: f800283a ret 48c20: 01800844 movi r6,33 48c24: 01400104 movi r5,4 48c28: 004bf280 call 4bf28 <_calloc_r> 48c2c: 88801315 stw r2,76(r17) 48c30: 103fec1e bne r2,zero,48be4 <__alt_data_end+0xfffd6be4> 48c34: 0005883a mov r2,zero 48c38: 003ff306 br 48c08 <__alt_data_end+0xfffd6c08> 48c3c: 01400044 movi r5,1 48c40: 2c24983a sll r18,r5,r16 48c44: 8809883a mov r4,r17 48c48: 91800144 addi r6,r18,5 48c4c: 318d883a add r6,r6,r6 48c50: 318d883a add r6,r6,r6 48c54: 004bf280 call 4bf28 <_calloc_r> 48c58: 103ff626 beq r2,zero,48c34 <__alt_data_end+0xfffd6c34> 48c5c: 14000115 stw r16,4(r2) 48c60: 14800215 stw r18,8(r2) 48c64: 003fe606 br 48c00 <__alt_data_end+0xfffd6c00> 00048c68 <_Bfree>: 48c68: 28000826 beq r5,zero,48c8c <_Bfree+0x24> 48c6c: 28c00117 ldw r3,4(r5) 48c70: 20801317 ldw r2,76(r4) 48c74: 18c7883a add r3,r3,r3 48c78: 18c7883a add r3,r3,r3 48c7c: 10c5883a add r2,r2,r3 48c80: 10c00017 ldw r3,0(r2) 48c84: 28c00015 stw r3,0(r5) 48c88: 11400015 stw r5,0(r2) 48c8c: f800283a ret 00048c90 <__multadd>: 48c90: defff704 addi sp,sp,-36 48c94: dc800215 stw r18,8(sp) 48c98: 2c800417 ldw r18,16(r5) 48c9c: dd800615 stw r22,24(sp) 48ca0: dd400515 stw r21,20(sp) 48ca4: dd000415 stw r20,16(sp) 48ca8: dcc00315 stw r19,12(sp) 48cac: dc400115 stw r17,4(sp) 48cb0: dc000015 stw r16,0(sp) 48cb4: dfc00815 stw ra,32(sp) 48cb8: ddc00715 stw r23,28(sp) 48cbc: 2827883a mov r19,r5 48cc0: 2029883a mov r20,r4 48cc4: 3023883a mov r17,r6 48cc8: 3821883a mov r16,r7 48ccc: 2d400504 addi r21,r5,20 48cd0: 002d883a mov r22,zero 48cd4: adc00017 ldw r23,0(r21) 48cd8: 880b883a mov r5,r17 48cdc: ad400104 addi r21,r21,4 48ce0: b93fffcc andi r4,r23,65535 48ce4: 004d3dc0 call 4d3dc <__mulsi3> 48ce8: b808d43a srli r4,r23,16 48cec: 880b883a mov r5,r17 48cf0: 1421883a add r16,r2,r16 48cf4: 004d3dc0 call 4d3dc <__mulsi3> 48cf8: 800ed43a srli r7,r16,16 48cfc: 80ffffcc andi r3,r16,65535 48d00: b5800044 addi r22,r22,1 48d04: 11c5883a add r2,r2,r7 48d08: 100e943a slli r7,r2,16 48d0c: 1020d43a srli r16,r2,16 48d10: 38c7883a add r3,r7,r3 48d14: a8ffff15 stw r3,-4(r21) 48d18: b4bfee16 blt r22,r18,48cd4 <__alt_data_end+0xfffd6cd4> 48d1c: 80000926 beq r16,zero,48d44 <__multadd+0xb4> 48d20: 98800217 ldw r2,8(r19) 48d24: 9080130e bge r18,r2,48d74 <__multadd+0xe4> 48d28: 90800144 addi r2,r18,5 48d2c: 1085883a add r2,r2,r2 48d30: 1085883a add r2,r2,r2 48d34: 9885883a add r2,r19,r2 48d38: 14000015 stw r16,0(r2) 48d3c: 94800044 addi r18,r18,1 48d40: 9c800415 stw r18,16(r19) 48d44: 9805883a mov r2,r19 48d48: dfc00817 ldw ra,32(sp) 48d4c: ddc00717 ldw r23,28(sp) 48d50: dd800617 ldw r22,24(sp) 48d54: dd400517 ldw r21,20(sp) 48d58: dd000417 ldw r20,16(sp) 48d5c: dcc00317 ldw r19,12(sp) 48d60: dc800217 ldw r18,8(sp) 48d64: dc400117 ldw r17,4(sp) 48d68: dc000017 ldw r16,0(sp) 48d6c: dec00904 addi sp,sp,36 48d70: f800283a ret 48d74: 99400117 ldw r5,4(r19) 48d78: a009883a mov r4,r20 48d7c: 29400044 addi r5,r5,1 48d80: 0048bc00 call 48bc0 <_Balloc> 48d84: 99800417 ldw r6,16(r19) 48d88: 99400304 addi r5,r19,12 48d8c: 11000304 addi r4,r2,12 48d90: 31800084 addi r6,r6,2 48d94: 318d883a add r6,r6,r6 48d98: 318d883a add r6,r6,r6 48d9c: 1023883a mov r17,r2 48da0: 00487f40 call 487f4 48da4: 98000a26 beq r19,zero,48dd0 <__multadd+0x140> 48da8: 98c00117 ldw r3,4(r19) 48dac: a0801317 ldw r2,76(r20) 48db0: 18c7883a add r3,r3,r3 48db4: 18c7883a add r3,r3,r3 48db8: 10c5883a add r2,r2,r3 48dbc: 10c00017 ldw r3,0(r2) 48dc0: 98c00015 stw r3,0(r19) 48dc4: 14c00015 stw r19,0(r2) 48dc8: 8827883a mov r19,r17 48dcc: 003fd606 br 48d28 <__alt_data_end+0xfffd6d28> 48dd0: 8827883a mov r19,r17 48dd4: 003fd406 br 48d28 <__alt_data_end+0xfffd6d28> 00048dd8 <__s2b>: 48dd8: defff904 addi sp,sp,-28 48ddc: dc400115 stw r17,4(sp) 48de0: dc000015 stw r16,0(sp) 48de4: 2023883a mov r17,r4 48de8: 2821883a mov r16,r5 48dec: 39000204 addi r4,r7,8 48df0: 01400244 movi r5,9 48df4: dcc00315 stw r19,12(sp) 48df8: dc800215 stw r18,8(sp) 48dfc: dfc00615 stw ra,24(sp) 48e00: dd400515 stw r21,20(sp) 48e04: dd000415 stw r20,16(sp) 48e08: 3825883a mov r18,r7 48e0c: 3027883a mov r19,r6 48e10: 004d2280 call 4d228 <__divsi3> 48e14: 00c00044 movi r3,1 48e18: 000b883a mov r5,zero 48e1c: 1880030e bge r3,r2,48e2c <__s2b+0x54> 48e20: 18c7883a add r3,r3,r3 48e24: 29400044 addi r5,r5,1 48e28: 18bffd16 blt r3,r2,48e20 <__alt_data_end+0xfffd6e20> 48e2c: 8809883a mov r4,r17 48e30: 0048bc00 call 48bc0 <_Balloc> 48e34: d8c00717 ldw r3,28(sp) 48e38: 10c00515 stw r3,20(r2) 48e3c: 00c00044 movi r3,1 48e40: 10c00415 stw r3,16(r2) 48e44: 00c00244 movi r3,9 48e48: 1cc0210e bge r3,r19,48ed0 <__s2b+0xf8> 48e4c: 80eb883a add r21,r16,r3 48e50: a829883a mov r20,r21 48e54: 84e1883a add r16,r16,r19 48e58: a1c00007 ldb r7,0(r20) 48e5c: 01800284 movi r6,10 48e60: a5000044 addi r20,r20,1 48e64: 100b883a mov r5,r2 48e68: 39fff404 addi r7,r7,-48 48e6c: 8809883a mov r4,r17 48e70: 0048c900 call 48c90 <__multadd> 48e74: a43ff81e bne r20,r16,48e58 <__alt_data_end+0xfffd6e58> 48e78: ace1883a add r16,r21,r19 48e7c: 843ffe04 addi r16,r16,-8 48e80: 9c800a0e bge r19,r18,48eac <__s2b+0xd4> 48e84: 94e5c83a sub r18,r18,r19 48e88: 84a5883a add r18,r16,r18 48e8c: 81c00007 ldb r7,0(r16) 48e90: 01800284 movi r6,10 48e94: 84000044 addi r16,r16,1 48e98: 100b883a mov r5,r2 48e9c: 39fff404 addi r7,r7,-48 48ea0: 8809883a mov r4,r17 48ea4: 0048c900 call 48c90 <__multadd> 48ea8: 84bff81e bne r16,r18,48e8c <__alt_data_end+0xfffd6e8c> 48eac: dfc00617 ldw ra,24(sp) 48eb0: dd400517 ldw r21,20(sp) 48eb4: dd000417 ldw r20,16(sp) 48eb8: dcc00317 ldw r19,12(sp) 48ebc: dc800217 ldw r18,8(sp) 48ec0: dc400117 ldw r17,4(sp) 48ec4: dc000017 ldw r16,0(sp) 48ec8: dec00704 addi sp,sp,28 48ecc: f800283a ret 48ed0: 84000284 addi r16,r16,10 48ed4: 1827883a mov r19,r3 48ed8: 003fe906 br 48e80 <__alt_data_end+0xfffd6e80> 00048edc <__hi0bits>: 48edc: 20bfffec andhi r2,r4,65535 48ee0: 1000141e bne r2,zero,48f34 <__hi0bits+0x58> 48ee4: 2008943a slli r4,r4,16 48ee8: 00800404 movi r2,16 48eec: 20ffc02c andhi r3,r4,65280 48ef0: 1800021e bne r3,zero,48efc <__hi0bits+0x20> 48ef4: 2008923a slli r4,r4,8 48ef8: 10800204 addi r2,r2,8 48efc: 20fc002c andhi r3,r4,61440 48f00: 1800021e bne r3,zero,48f0c <__hi0bits+0x30> 48f04: 2008913a slli r4,r4,4 48f08: 10800104 addi r2,r2,4 48f0c: 20f0002c andhi r3,r4,49152 48f10: 1800031e bne r3,zero,48f20 <__hi0bits+0x44> 48f14: 2109883a add r4,r4,r4 48f18: 10800084 addi r2,r2,2 48f1c: 2109883a add r4,r4,r4 48f20: 20000316 blt r4,zero,48f30 <__hi0bits+0x54> 48f24: 2110002c andhi r4,r4,16384 48f28: 2000041e bne r4,zero,48f3c <__hi0bits+0x60> 48f2c: 00800804 movi r2,32 48f30: f800283a ret 48f34: 0005883a mov r2,zero 48f38: 003fec06 br 48eec <__alt_data_end+0xfffd6eec> 48f3c: 10800044 addi r2,r2,1 48f40: f800283a ret 00048f44 <__lo0bits>: 48f44: 20c00017 ldw r3,0(r4) 48f48: 188001cc andi r2,r3,7 48f4c: 10000826 beq r2,zero,48f70 <__lo0bits+0x2c> 48f50: 1880004c andi r2,r3,1 48f54: 1000211e bne r2,zero,48fdc <__lo0bits+0x98> 48f58: 1880008c andi r2,r3,2 48f5c: 1000211e bne r2,zero,48fe4 <__lo0bits+0xa0> 48f60: 1806d0ba srli r3,r3,2 48f64: 00800084 movi r2,2 48f68: 20c00015 stw r3,0(r4) 48f6c: f800283a ret 48f70: 18bfffcc andi r2,r3,65535 48f74: 10001326 beq r2,zero,48fc4 <__lo0bits+0x80> 48f78: 0005883a mov r2,zero 48f7c: 19403fcc andi r5,r3,255 48f80: 2800021e bne r5,zero,48f8c <__lo0bits+0x48> 48f84: 1806d23a srli r3,r3,8 48f88: 10800204 addi r2,r2,8 48f8c: 194003cc andi r5,r3,15 48f90: 2800021e bne r5,zero,48f9c <__lo0bits+0x58> 48f94: 1806d13a srli r3,r3,4 48f98: 10800104 addi r2,r2,4 48f9c: 194000cc andi r5,r3,3 48fa0: 2800021e bne r5,zero,48fac <__lo0bits+0x68> 48fa4: 1806d0ba srli r3,r3,2 48fa8: 10800084 addi r2,r2,2 48fac: 1940004c andi r5,r3,1 48fb0: 2800081e bne r5,zero,48fd4 <__lo0bits+0x90> 48fb4: 1806d07a srli r3,r3,1 48fb8: 1800051e bne r3,zero,48fd0 <__lo0bits+0x8c> 48fbc: 00800804 movi r2,32 48fc0: f800283a ret 48fc4: 1806d43a srli r3,r3,16 48fc8: 00800404 movi r2,16 48fcc: 003feb06 br 48f7c <__alt_data_end+0xfffd6f7c> 48fd0: 10800044 addi r2,r2,1 48fd4: 20c00015 stw r3,0(r4) 48fd8: f800283a ret 48fdc: 0005883a mov r2,zero 48fe0: f800283a ret 48fe4: 1806d07a srli r3,r3,1 48fe8: 00800044 movi r2,1 48fec: 20c00015 stw r3,0(r4) 48ff0: f800283a ret 00048ff4 <__i2b>: 48ff4: defffd04 addi sp,sp,-12 48ff8: dc000015 stw r16,0(sp) 48ffc: 04000044 movi r16,1 49000: dc400115 stw r17,4(sp) 49004: 2823883a mov r17,r5 49008: 800b883a mov r5,r16 4900c: dfc00215 stw ra,8(sp) 49010: 0048bc00 call 48bc0 <_Balloc> 49014: 14400515 stw r17,20(r2) 49018: 14000415 stw r16,16(r2) 4901c: dfc00217 ldw ra,8(sp) 49020: dc400117 ldw r17,4(sp) 49024: dc000017 ldw r16,0(sp) 49028: dec00304 addi sp,sp,12 4902c: f800283a ret 00049030 <__multiply>: 49030: deffef04 addi sp,sp,-68 49034: dc400815 stw r17,32(sp) 49038: dc000715 stw r16,28(sp) 4903c: 34400417 ldw r17,16(r6) 49040: 2c000417 ldw r16,16(r5) 49044: dd800d15 stw r22,52(sp) 49048: dc800915 stw r18,36(sp) 4904c: dfc01015 stw ra,64(sp) 49050: df000f15 stw fp,60(sp) 49054: ddc00e15 stw r23,56(sp) 49058: dd400c15 stw r21,48(sp) 4905c: dd000b15 stw r20,44(sp) 49060: dcc00a15 stw r19,40(sp) 49064: 2825883a mov r18,r5 49068: 302d883a mov r22,r6 4906c: 8440050e bge r16,r17,49084 <__multiply+0x54> 49070: 8007883a mov r3,r16 49074: 3025883a mov r18,r6 49078: 8821883a mov r16,r17 4907c: 282d883a mov r22,r5 49080: 1823883a mov r17,r3 49084: 90800217 ldw r2,8(r18) 49088: 8447883a add r3,r16,r17 4908c: d8c00215 stw r3,8(sp) 49090: 91400117 ldw r5,4(r18) 49094: 10c0010e bge r2,r3,4909c <__multiply+0x6c> 49098: 29400044 addi r5,r5,1 4909c: 0048bc00 call 48bc0 <_Balloc> 490a0: d8c00217 ldw r3,8(sp) 490a4: d8800615 stw r2,24(sp) 490a8: 18eb883a add r21,r3,r3 490ac: ad6b883a add r21,r21,r21 490b0: 10c00504 addi r3,r2,20 490b4: 1d6b883a add r21,r3,r21 490b8: d8c00115 stw r3,4(sp) 490bc: dd400315 stw r21,12(sp) 490c0: 1805883a mov r2,r3 490c4: 1d40042e bgeu r3,r21,490d8 <__multiply+0xa8> 490c8: d8c00317 ldw r3,12(sp) 490cc: 10000015 stw zero,0(r2) 490d0: 10800104 addi r2,r2,4 490d4: 10fffc36 bltu r2,r3,490c8 <__alt_data_end+0xfffd70c8> 490d8: 8c63883a add r17,r17,r17 490dc: b5800504 addi r22,r22,20 490e0: 8c63883a add r17,r17,r17 490e4: 94800504 addi r18,r18,20 490e8: 8421883a add r16,r16,r16 490ec: b463883a add r17,r22,r17 490f0: 8421883a add r16,r16,r16 490f4: dd800015 stw r22,0(sp) 490f8: dc800415 stw r18,16(sp) 490fc: dc400515 stw r17,20(sp) 49100: 9429883a add r20,r18,r16 49104: b4404f2e bgeu r22,r17,49244 <__multiply+0x214> 49108: d8c00017 ldw r3,0(sp) 4910c: 1c800017 ldw r18,0(r3) 49110: 947fffcc andi r17,r18,65535 49114: 88001e26 beq r17,zero,49190 <__multiply+0x160> 49118: dd800117 ldw r22,4(sp) 4911c: dd400417 ldw r21,16(sp) 49120: 0027883a mov r19,zero 49124: ac800017 ldw r18,0(r21) 49128: b4000017 ldw r16,0(r22) 4912c: 880b883a mov r5,r17 49130: 913fffcc andi r4,r18,65535 49134: 004d3dc0 call 4d3dc <__mulsi3> 49138: 9008d43a srli r4,r18,16 4913c: 84bfffcc andi r18,r16,65535 49140: 1485883a add r2,r2,r18 49144: 14e5883a add r18,r2,r19 49148: 8020d43a srli r16,r16,16 4914c: 9026d43a srli r19,r18,16 49150: 880b883a mov r5,r17 49154: 004d3dc0 call 4d3dc <__mulsi3> 49158: 1405883a add r2,r2,r16 4915c: 14e1883a add r16,r2,r19 49160: 90ffffcc andi r3,r18,65535 49164: 8024943a slli r18,r16,16 49168: ad400104 addi r21,r21,4 4916c: b005883a mov r2,r22 49170: 90c6b03a or r3,r18,r3 49174: b0c00015 stw r3,0(r22) 49178: 8026d43a srli r19,r16,16 4917c: b5800104 addi r22,r22,4 49180: ad3fe836 bltu r21,r20,49124 <__alt_data_end+0xfffd7124> 49184: d8c00017 ldw r3,0(sp) 49188: 14c00115 stw r19,4(r2) 4918c: 1c800017 ldw r18,0(r3) 49190: 9024d43a srli r18,r18,16 49194: 90002226 beq r18,zero,49220 <__multiply+0x1f0> 49198: d8c00117 ldw r3,4(sp) 4919c: dd800417 ldw r22,16(sp) 491a0: 002f883a mov r23,zero 491a4: 1f000017 ldw fp,0(r3) 491a8: 1823883a mov r17,r3 491ac: 182b883a mov r21,r3 491b0: e021883a mov r16,fp 491b4: 00000106 br 491bc <__multiply+0x18c> 491b8: 982b883a mov r21,r19 491bc: b100000b ldhu r4,0(r22) 491c0: 8020d43a srli r16,r16,16 491c4: 900b883a mov r5,r18 491c8: 004d3dc0 call 4d3dc <__mulsi3> 491cc: 1405883a add r2,r2,r16 491d0: 15ef883a add r23,r2,r23 491d4: b804943a slli r2,r23,16 491d8: e0ffffcc andi r3,fp,65535 491dc: 8c400104 addi r17,r17,4 491e0: 10c6b03a or r3,r2,r3 491e4: 88ffff15 stw r3,-4(r17) 491e8: b5800104 addi r22,r22,4 491ec: b13fff17 ldw r4,-4(r22) 491f0: acc00104 addi r19,r21,4 491f4: 900b883a mov r5,r18 491f8: 2008d43a srli r4,r4,16 491fc: 9c000017 ldw r16,0(r19) 49200: 004d3dc0 call 4d3dc <__mulsi3> 49204: b806d43a srli r3,r23,16 49208: 813fffcc andi r4,r16,65535 4920c: 1105883a add r2,r2,r4 49210: 10f9883a add fp,r2,r3 49214: e02ed43a srli r23,fp,16 49218: b53fe736 bltu r22,r20,491b8 <__alt_data_end+0xfffd71b8> 4921c: af000115 stw fp,4(r21) 49220: d8c00017 ldw r3,0(sp) 49224: d9000517 ldw r4,20(sp) 49228: 18c00104 addi r3,r3,4 4922c: d8c00015 stw r3,0(sp) 49230: d8c00117 ldw r3,4(sp) 49234: 18c00104 addi r3,r3,4 49238: d8c00115 stw r3,4(sp) 4923c: d8c00017 ldw r3,0(sp) 49240: 193fb136 bltu r3,r4,49108 <__alt_data_end+0xfffd7108> 49244: d8c00217 ldw r3,8(sp) 49248: 00c00c0e bge zero,r3,4927c <__multiply+0x24c> 4924c: d8c00317 ldw r3,12(sp) 49250: 18bfff17 ldw r2,-4(r3) 49254: 1d7fff04 addi r21,r3,-4 49258: 10000326 beq r2,zero,49268 <__multiply+0x238> 4925c: 00000706 br 4927c <__multiply+0x24c> 49260: a8800017 ldw r2,0(r21) 49264: 1000051e bne r2,zero,4927c <__multiply+0x24c> 49268: d8c00217 ldw r3,8(sp) 4926c: ad7fff04 addi r21,r21,-4 49270: 18ffffc4 addi r3,r3,-1 49274: d8c00215 stw r3,8(sp) 49278: 183ff91e bne r3,zero,49260 <__alt_data_end+0xfffd7260> 4927c: d8c00617 ldw r3,24(sp) 49280: d9000217 ldw r4,8(sp) 49284: 1805883a mov r2,r3 49288: 19000415 stw r4,16(r3) 4928c: dfc01017 ldw ra,64(sp) 49290: df000f17 ldw fp,60(sp) 49294: ddc00e17 ldw r23,56(sp) 49298: dd800d17 ldw r22,52(sp) 4929c: dd400c17 ldw r21,48(sp) 492a0: dd000b17 ldw r20,44(sp) 492a4: dcc00a17 ldw r19,40(sp) 492a8: dc800917 ldw r18,36(sp) 492ac: dc400817 ldw r17,32(sp) 492b0: dc000717 ldw r16,28(sp) 492b4: dec01104 addi sp,sp,68 492b8: f800283a ret 000492bc <__pow5mult>: 492bc: defffa04 addi sp,sp,-24 492c0: dcc00315 stw r19,12(sp) 492c4: dc000015 stw r16,0(sp) 492c8: dfc00515 stw ra,20(sp) 492cc: dd000415 stw r20,16(sp) 492d0: dc800215 stw r18,8(sp) 492d4: dc400115 stw r17,4(sp) 492d8: 308000cc andi r2,r6,3 492dc: 3021883a mov r16,r6 492e0: 2027883a mov r19,r4 492e4: 10002f1e bne r2,zero,493a4 <__pow5mult+0xe8> 492e8: 2825883a mov r18,r5 492ec: 8021d0ba srai r16,r16,2 492f0: 80001a26 beq r16,zero,4935c <__pow5mult+0xa0> 492f4: 9c401217 ldw r17,72(r19) 492f8: 8800061e bne r17,zero,49314 <__pow5mult+0x58> 492fc: 00003406 br 493d0 <__pow5mult+0x114> 49300: 8021d07a srai r16,r16,1 49304: 80001526 beq r16,zero,4935c <__pow5mult+0xa0> 49308: 88800017 ldw r2,0(r17) 4930c: 10001c26 beq r2,zero,49380 <__pow5mult+0xc4> 49310: 1023883a mov r17,r2 49314: 8080004c andi r2,r16,1 49318: 103ff926 beq r2,zero,49300 <__alt_data_end+0xfffd7300> 4931c: 880d883a mov r6,r17 49320: 900b883a mov r5,r18 49324: 9809883a mov r4,r19 49328: 00490300 call 49030 <__multiply> 4932c: 90001b26 beq r18,zero,4939c <__pow5mult+0xe0> 49330: 91000117 ldw r4,4(r18) 49334: 98c01317 ldw r3,76(r19) 49338: 8021d07a srai r16,r16,1 4933c: 2109883a add r4,r4,r4 49340: 2109883a add r4,r4,r4 49344: 1907883a add r3,r3,r4 49348: 19000017 ldw r4,0(r3) 4934c: 91000015 stw r4,0(r18) 49350: 1c800015 stw r18,0(r3) 49354: 1025883a mov r18,r2 49358: 803feb1e bne r16,zero,49308 <__alt_data_end+0xfffd7308> 4935c: 9005883a mov r2,r18 49360: dfc00517 ldw ra,20(sp) 49364: dd000417 ldw r20,16(sp) 49368: dcc00317 ldw r19,12(sp) 4936c: dc800217 ldw r18,8(sp) 49370: dc400117 ldw r17,4(sp) 49374: dc000017 ldw r16,0(sp) 49378: dec00604 addi sp,sp,24 4937c: f800283a ret 49380: 880d883a mov r6,r17 49384: 880b883a mov r5,r17 49388: 9809883a mov r4,r19 4938c: 00490300 call 49030 <__multiply> 49390: 88800015 stw r2,0(r17) 49394: 10000015 stw zero,0(r2) 49398: 003fdd06 br 49310 <__alt_data_end+0xfffd7310> 4939c: 1025883a mov r18,r2 493a0: 003fd706 br 49300 <__alt_data_end+0xfffd7300> 493a4: 10bfffc4 addi r2,r2,-1 493a8: 1085883a add r2,r2,r2 493ac: 00c00174 movhi r3,5 493b0: 18c85f04 addi r3,r3,8572 493b4: 1085883a add r2,r2,r2 493b8: 1885883a add r2,r3,r2 493bc: 11800017 ldw r6,0(r2) 493c0: 000f883a mov r7,zero 493c4: 0048c900 call 48c90 <__multadd> 493c8: 1025883a mov r18,r2 493cc: 003fc706 br 492ec <__alt_data_end+0xfffd72ec> 493d0: 05000044 movi r20,1 493d4: a00b883a mov r5,r20 493d8: 9809883a mov r4,r19 493dc: 0048bc00 call 48bc0 <_Balloc> 493e0: 1023883a mov r17,r2 493e4: 00809c44 movi r2,625 493e8: 88800515 stw r2,20(r17) 493ec: 8d000415 stw r20,16(r17) 493f0: 9c401215 stw r17,72(r19) 493f4: 88000015 stw zero,0(r17) 493f8: 003fc606 br 49314 <__alt_data_end+0xfffd7314> 000493fc <__lshift>: 493fc: defff904 addi sp,sp,-28 49400: dd400515 stw r21,20(sp) 49404: dcc00315 stw r19,12(sp) 49408: 302bd17a srai r21,r6,5 4940c: 2cc00417 ldw r19,16(r5) 49410: 28800217 ldw r2,8(r5) 49414: dd000415 stw r20,16(sp) 49418: ace7883a add r19,r21,r19 4941c: dc800215 stw r18,8(sp) 49420: dc400115 stw r17,4(sp) 49424: dc000015 stw r16,0(sp) 49428: dfc00615 stw ra,24(sp) 4942c: 9c000044 addi r16,r19,1 49430: 2823883a mov r17,r5 49434: 3029883a mov r20,r6 49438: 2025883a mov r18,r4 4943c: 29400117 ldw r5,4(r5) 49440: 1400030e bge r2,r16,49450 <__lshift+0x54> 49444: 1085883a add r2,r2,r2 49448: 29400044 addi r5,r5,1 4944c: 143ffd16 blt r2,r16,49444 <__alt_data_end+0xfffd7444> 49450: 9009883a mov r4,r18 49454: 0048bc00 call 48bc0 <_Balloc> 49458: 10c00504 addi r3,r2,20 4945c: 0540070e bge zero,r21,4947c <__lshift+0x80> 49460: ad6b883a add r21,r21,r21 49464: ad6b883a add r21,r21,r21 49468: 1809883a mov r4,r3 4946c: 1d47883a add r3,r3,r21 49470: 20000015 stw zero,0(r4) 49474: 21000104 addi r4,r4,4 49478: 193ffd1e bne r3,r4,49470 <__alt_data_end+0xfffd7470> 4947c: 8a000417 ldw r8,16(r17) 49480: 89000504 addi r4,r17,20 49484: a18007cc andi r6,r20,31 49488: 4211883a add r8,r8,r8 4948c: 4211883a add r8,r8,r8 49490: 2211883a add r8,r4,r8 49494: 30002326 beq r6,zero,49524 <__lshift+0x128> 49498: 02400804 movi r9,32 4949c: 4993c83a sub r9,r9,r6 494a0: 000b883a mov r5,zero 494a4: 21c00017 ldw r7,0(r4) 494a8: 1815883a mov r10,r3 494ac: 18c00104 addi r3,r3,4 494b0: 398e983a sll r7,r7,r6 494b4: 21000104 addi r4,r4,4 494b8: 394ab03a or r5,r7,r5 494bc: 197fff15 stw r5,-4(r3) 494c0: 217fff17 ldw r5,-4(r4) 494c4: 2a4ad83a srl r5,r5,r9 494c8: 223ff636 bltu r4,r8,494a4 <__alt_data_end+0xfffd74a4> 494cc: 51400115 stw r5,4(r10) 494d0: 28001a1e bne r5,zero,4953c <__lshift+0x140> 494d4: 843fffc4 addi r16,r16,-1 494d8: 14000415 stw r16,16(r2) 494dc: 88000826 beq r17,zero,49500 <__lshift+0x104> 494e0: 89000117 ldw r4,4(r17) 494e4: 90c01317 ldw r3,76(r18) 494e8: 2109883a add r4,r4,r4 494ec: 2109883a add r4,r4,r4 494f0: 1907883a add r3,r3,r4 494f4: 19000017 ldw r4,0(r3) 494f8: 89000015 stw r4,0(r17) 494fc: 1c400015 stw r17,0(r3) 49500: dfc00617 ldw ra,24(sp) 49504: dd400517 ldw r21,20(sp) 49508: dd000417 ldw r20,16(sp) 4950c: dcc00317 ldw r19,12(sp) 49510: dc800217 ldw r18,8(sp) 49514: dc400117 ldw r17,4(sp) 49518: dc000017 ldw r16,0(sp) 4951c: dec00704 addi sp,sp,28 49520: f800283a ret 49524: 21400017 ldw r5,0(r4) 49528: 18c00104 addi r3,r3,4 4952c: 21000104 addi r4,r4,4 49530: 197fff15 stw r5,-4(r3) 49534: 223ffb36 bltu r4,r8,49524 <__alt_data_end+0xfffd7524> 49538: 003fe606 br 494d4 <__alt_data_end+0xfffd74d4> 4953c: 9c000084 addi r16,r19,2 49540: 003fe406 br 494d4 <__alt_data_end+0xfffd74d4> 00049544 <__mcmp>: 49544: 20800417 ldw r2,16(r4) 49548: 28c00417 ldw r3,16(r5) 4954c: 10c5c83a sub r2,r2,r3 49550: 1000111e bne r2,zero,49598 <__mcmp+0x54> 49554: 18c7883a add r3,r3,r3 49558: 18c7883a add r3,r3,r3 4955c: 21000504 addi r4,r4,20 49560: 29400504 addi r5,r5,20 49564: 20c5883a add r2,r4,r3 49568: 28cb883a add r5,r5,r3 4956c: 00000106 br 49574 <__mcmp+0x30> 49570: 20800a2e bgeu r4,r2,4959c <__mcmp+0x58> 49574: 10bfff04 addi r2,r2,-4 49578: 297fff04 addi r5,r5,-4 4957c: 11800017 ldw r6,0(r2) 49580: 28c00017 ldw r3,0(r5) 49584: 30fffa26 beq r6,r3,49570 <__alt_data_end+0xfffd7570> 49588: 30c00236 bltu r6,r3,49594 <__mcmp+0x50> 4958c: 00800044 movi r2,1 49590: f800283a ret 49594: 00bfffc4 movi r2,-1 49598: f800283a ret 4959c: 0005883a mov r2,zero 495a0: f800283a ret 000495a4 <__mdiff>: 495a4: 28c00417 ldw r3,16(r5) 495a8: 30800417 ldw r2,16(r6) 495ac: defffa04 addi sp,sp,-24 495b0: dcc00315 stw r19,12(sp) 495b4: dc800215 stw r18,8(sp) 495b8: dfc00515 stw ra,20(sp) 495bc: dd000415 stw r20,16(sp) 495c0: dc400115 stw r17,4(sp) 495c4: dc000015 stw r16,0(sp) 495c8: 1887c83a sub r3,r3,r2 495cc: 2825883a mov r18,r5 495d0: 3027883a mov r19,r6 495d4: 1800141e bne r3,zero,49628 <__mdiff+0x84> 495d8: 1085883a add r2,r2,r2 495dc: 1085883a add r2,r2,r2 495e0: 2a000504 addi r8,r5,20 495e4: 34000504 addi r16,r6,20 495e8: 4087883a add r3,r8,r2 495ec: 8085883a add r2,r16,r2 495f0: 00000106 br 495f8 <__mdiff+0x54> 495f4: 40c0592e bgeu r8,r3,4975c <__mdiff+0x1b8> 495f8: 18ffff04 addi r3,r3,-4 495fc: 10bfff04 addi r2,r2,-4 49600: 19c00017 ldw r7,0(r3) 49604: 11400017 ldw r5,0(r2) 49608: 397ffa26 beq r7,r5,495f4 <__alt_data_end+0xfffd75f4> 4960c: 3940592e bgeu r7,r5,49774 <__mdiff+0x1d0> 49610: 9005883a mov r2,r18 49614: 4023883a mov r17,r8 49618: 9825883a mov r18,r19 4961c: 05000044 movi r20,1 49620: 1027883a mov r19,r2 49624: 00000406 br 49638 <__mdiff+0x94> 49628: 18005616 blt r3,zero,49784 <__mdiff+0x1e0> 4962c: 34400504 addi r17,r6,20 49630: 2c000504 addi r16,r5,20 49634: 0029883a mov r20,zero 49638: 91400117 ldw r5,4(r18) 4963c: 0048bc00 call 48bc0 <_Balloc> 49640: 92400417 ldw r9,16(r18) 49644: 9b000417 ldw r12,16(r19) 49648: 12c00504 addi r11,r2,20 4964c: 4a51883a add r8,r9,r9 49650: 6319883a add r12,r12,r12 49654: 4211883a add r8,r8,r8 49658: 6319883a add r12,r12,r12 4965c: 15000315 stw r20,12(r2) 49660: 8211883a add r8,r16,r8 49664: 8b19883a add r12,r17,r12 49668: 0007883a mov r3,zero 4966c: 81400017 ldw r5,0(r16) 49670: 89c00017 ldw r7,0(r17) 49674: 59800104 addi r6,r11,4 49678: 293fffcc andi r4,r5,65535 4967c: 20c7883a add r3,r4,r3 49680: 393fffcc andi r4,r7,65535 49684: 1909c83a sub r4,r3,r4 49688: 280ad43a srli r5,r5,16 4968c: 380ed43a srli r7,r7,16 49690: 2007d43a srai r3,r4,16 49694: 213fffcc andi r4,r4,65535 49698: 29cbc83a sub r5,r5,r7 4969c: 28c7883a add r3,r5,r3 496a0: 180a943a slli r5,r3,16 496a4: 8c400104 addi r17,r17,4 496a8: 84000104 addi r16,r16,4 496ac: 2908b03a or r4,r5,r4 496b0: 59000015 stw r4,0(r11) 496b4: 1807d43a srai r3,r3,16 496b8: 3015883a mov r10,r6 496bc: 3017883a mov r11,r6 496c0: 8b3fea36 bltu r17,r12,4966c <__alt_data_end+0xfffd766c> 496c4: 8200162e bgeu r16,r8,49720 <__mdiff+0x17c> 496c8: 8017883a mov r11,r16 496cc: 59400017 ldw r5,0(r11) 496d0: 31800104 addi r6,r6,4 496d4: 5ac00104 addi r11,r11,4 496d8: 293fffcc andi r4,r5,65535 496dc: 20c7883a add r3,r4,r3 496e0: 280ed43a srli r7,r5,16 496e4: 180bd43a srai r5,r3,16 496e8: 193fffcc andi r4,r3,65535 496ec: 3947883a add r3,r7,r5 496f0: 180a943a slli r5,r3,16 496f4: 1807d43a srai r3,r3,16 496f8: 2908b03a or r4,r5,r4 496fc: 313fff15 stw r4,-4(r6) 49700: 5a3ff236 bltu r11,r8,496cc <__alt_data_end+0xfffd76cc> 49704: 0406303a nor r3,zero,r16 49708: 1a07883a add r3,r3,r8 4970c: 1806d0ba srli r3,r3,2 49710: 18c00044 addi r3,r3,1 49714: 18c7883a add r3,r3,r3 49718: 18c7883a add r3,r3,r3 4971c: 50d5883a add r10,r10,r3 49720: 50ffff04 addi r3,r10,-4 49724: 2000041e bne r4,zero,49738 <__mdiff+0x194> 49728: 18ffff04 addi r3,r3,-4 4972c: 19000017 ldw r4,0(r3) 49730: 4a7fffc4 addi r9,r9,-1 49734: 203ffc26 beq r4,zero,49728 <__alt_data_end+0xfffd7728> 49738: 12400415 stw r9,16(r2) 4973c: dfc00517 ldw ra,20(sp) 49740: dd000417 ldw r20,16(sp) 49744: dcc00317 ldw r19,12(sp) 49748: dc800217 ldw r18,8(sp) 4974c: dc400117 ldw r17,4(sp) 49750: dc000017 ldw r16,0(sp) 49754: dec00604 addi sp,sp,24 49758: f800283a ret 4975c: 000b883a mov r5,zero 49760: 0048bc00 call 48bc0 <_Balloc> 49764: 00c00044 movi r3,1 49768: 10c00415 stw r3,16(r2) 4976c: 10000515 stw zero,20(r2) 49770: 003ff206 br 4973c <__alt_data_end+0xfffd773c> 49774: 8023883a mov r17,r16 49778: 0029883a mov r20,zero 4977c: 4021883a mov r16,r8 49780: 003fad06 br 49638 <__alt_data_end+0xfffd7638> 49784: 9005883a mov r2,r18 49788: 94400504 addi r17,r18,20 4978c: 9c000504 addi r16,r19,20 49790: 9825883a mov r18,r19 49794: 05000044 movi r20,1 49798: 1027883a mov r19,r2 4979c: 003fa606 br 49638 <__alt_data_end+0xfffd7638> 000497a0 <__ulp>: 497a0: 295ffc2c andhi r5,r5,32752 497a4: 00bf3034 movhi r2,64704 497a8: 2887883a add r3,r5,r2 497ac: 00c0020e bge zero,r3,497b8 <__ulp+0x18> 497b0: 0005883a mov r2,zero 497b4: f800283a ret 497b8: 00c7c83a sub r3,zero,r3 497bc: 1807d53a srai r3,r3,20 497c0: 008004c4 movi r2,19 497c4: 10c00b0e bge r2,r3,497f4 <__ulp+0x54> 497c8: 18bffb04 addi r2,r3,-20 497cc: 01000784 movi r4,30 497d0: 0007883a mov r3,zero 497d4: 20800516 blt r4,r2,497ec <__ulp+0x4c> 497d8: 010007c4 movi r4,31 497dc: 2089c83a sub r4,r4,r2 497e0: 00800044 movi r2,1 497e4: 1104983a sll r2,r2,r4 497e8: f800283a ret 497ec: 00800044 movi r2,1 497f0: f800283a ret 497f4: 01400234 movhi r5,8 497f8: 28c7d83a sra r3,r5,r3 497fc: 0005883a mov r2,zero 49800: f800283a ret 00049804 <__b2d>: 49804: defffa04 addi sp,sp,-24 49808: dc000015 stw r16,0(sp) 4980c: 24000417 ldw r16,16(r4) 49810: dc400115 stw r17,4(sp) 49814: 24400504 addi r17,r4,20 49818: 8421883a add r16,r16,r16 4981c: 8421883a add r16,r16,r16 49820: 8c21883a add r16,r17,r16 49824: dc800215 stw r18,8(sp) 49828: 84bfff17 ldw r18,-4(r16) 4982c: dd000415 stw r20,16(sp) 49830: dcc00315 stw r19,12(sp) 49834: 9009883a mov r4,r18 49838: 2829883a mov r20,r5 4983c: dfc00515 stw ra,20(sp) 49840: 0048edc0 call 48edc <__hi0bits> 49844: 00c00804 movi r3,32 49848: 1889c83a sub r4,r3,r2 4984c: a1000015 stw r4,0(r20) 49850: 01000284 movi r4,10 49854: 84ffff04 addi r19,r16,-4 49858: 20801216 blt r4,r2,498a4 <__b2d+0xa0> 4985c: 018002c4 movi r6,11 49860: 308dc83a sub r6,r6,r2 49864: 9186d83a srl r3,r18,r6 49868: 18cffc34 orhi r3,r3,16368 4986c: 8cc0212e bgeu r17,r19,498f4 <__b2d+0xf0> 49870: 813ffe17 ldw r4,-8(r16) 49874: 218cd83a srl r6,r4,r6 49878: 10800544 addi r2,r2,21 4987c: 9084983a sll r2,r18,r2 49880: 1184b03a or r2,r2,r6 49884: dfc00517 ldw ra,20(sp) 49888: dd000417 ldw r20,16(sp) 4988c: dcc00317 ldw r19,12(sp) 49890: dc800217 ldw r18,8(sp) 49894: dc400117 ldw r17,4(sp) 49898: dc000017 ldw r16,0(sp) 4989c: dec00604 addi sp,sp,24 498a0: f800283a ret 498a4: 8cc00f2e bgeu r17,r19,498e4 <__b2d+0xe0> 498a8: 117ffd44 addi r5,r2,-11 498ac: 80bffe17 ldw r2,-8(r16) 498b0: 28000e26 beq r5,zero,498ec <__b2d+0xe8> 498b4: 1949c83a sub r4,r3,r5 498b8: 9164983a sll r18,r18,r5 498bc: 1106d83a srl r3,r2,r4 498c0: 81bffe04 addi r6,r16,-8 498c4: 948ffc34 orhi r18,r18,16368 498c8: 90c6b03a or r3,r18,r3 498cc: 89800e2e bgeu r17,r6,49908 <__b2d+0x104> 498d0: 81bffd17 ldw r6,-12(r16) 498d4: 1144983a sll r2,r2,r5 498d8: 310ad83a srl r5,r6,r4 498dc: 2884b03a or r2,r5,r2 498e0: 003fe806 br 49884 <__alt_data_end+0xfffd7884> 498e4: 10bffd44 addi r2,r2,-11 498e8: 1000041e bne r2,zero,498fc <__b2d+0xf8> 498ec: 90cffc34 orhi r3,r18,16368 498f0: 003fe406 br 49884 <__alt_data_end+0xfffd7884> 498f4: 000d883a mov r6,zero 498f8: 003fdf06 br 49878 <__alt_data_end+0xfffd7878> 498fc: 90a4983a sll r18,r18,r2 49900: 0005883a mov r2,zero 49904: 003ff906 br 498ec <__alt_data_end+0xfffd78ec> 49908: 1144983a sll r2,r2,r5 4990c: 003fdd06 br 49884 <__alt_data_end+0xfffd7884> 00049910 <__d2b>: 49910: defff804 addi sp,sp,-32 49914: dc000215 stw r16,8(sp) 49918: 3021883a mov r16,r6 4991c: dc400315 stw r17,12(sp) 49920: 8022907a slli r17,r16,1 49924: dd000615 stw r20,24(sp) 49928: 2829883a mov r20,r5 4992c: 01400044 movi r5,1 49930: dcc00515 stw r19,20(sp) 49934: dc800415 stw r18,16(sp) 49938: dfc00715 stw ra,28(sp) 4993c: 3825883a mov r18,r7 49940: 8822d57a srli r17,r17,21 49944: 0048bc00 call 48bc0 <_Balloc> 49948: 1027883a mov r19,r2 4994c: 00800434 movhi r2,16 49950: 10bfffc4 addi r2,r2,-1 49954: 808c703a and r6,r16,r2 49958: 88000126 beq r17,zero,49960 <__d2b+0x50> 4995c: 31800434 orhi r6,r6,16 49960: d9800015 stw r6,0(sp) 49964: a0002426 beq r20,zero,499f8 <__d2b+0xe8> 49968: d9000104 addi r4,sp,4 4996c: dd000115 stw r20,4(sp) 49970: 0048f440 call 48f44 <__lo0bits> 49974: d8c00017 ldw r3,0(sp) 49978: 10002f1e bne r2,zero,49a38 <__d2b+0x128> 4997c: d9000117 ldw r4,4(sp) 49980: 99000515 stw r4,20(r19) 49984: 1821003a cmpeq r16,r3,zero 49988: 01000084 movi r4,2 4998c: 2421c83a sub r16,r4,r16 49990: 98c00615 stw r3,24(r19) 49994: 9c000415 stw r16,16(r19) 49998: 88001f1e bne r17,zero,49a18 <__d2b+0x108> 4999c: 10bef384 addi r2,r2,-1074 499a0: 90800015 stw r2,0(r18) 499a4: 00900034 movhi r2,16384 499a8: 10bfffc4 addi r2,r2,-1 499ac: 8085883a add r2,r16,r2 499b0: 1085883a add r2,r2,r2 499b4: 1085883a add r2,r2,r2 499b8: 9885883a add r2,r19,r2 499bc: 11000517 ldw r4,20(r2) 499c0: 8020917a slli r16,r16,5 499c4: 0048edc0 call 48edc <__hi0bits> 499c8: d8c00817 ldw r3,32(sp) 499cc: 8085c83a sub r2,r16,r2 499d0: 18800015 stw r2,0(r3) 499d4: 9805883a mov r2,r19 499d8: dfc00717 ldw ra,28(sp) 499dc: dd000617 ldw r20,24(sp) 499e0: dcc00517 ldw r19,20(sp) 499e4: dc800417 ldw r18,16(sp) 499e8: dc400317 ldw r17,12(sp) 499ec: dc000217 ldw r16,8(sp) 499f0: dec00804 addi sp,sp,32 499f4: f800283a ret 499f8: d809883a mov r4,sp 499fc: 0048f440 call 48f44 <__lo0bits> 49a00: d8c00017 ldw r3,0(sp) 49a04: 04000044 movi r16,1 49a08: 9c000415 stw r16,16(r19) 49a0c: 98c00515 stw r3,20(r19) 49a10: 10800804 addi r2,r2,32 49a14: 883fe126 beq r17,zero,4999c <__alt_data_end+0xfffd799c> 49a18: 00c00d44 movi r3,53 49a1c: 8c7ef344 addi r17,r17,-1075 49a20: 88a3883a add r17,r17,r2 49a24: 1885c83a sub r2,r3,r2 49a28: d8c00817 ldw r3,32(sp) 49a2c: 94400015 stw r17,0(r18) 49a30: 18800015 stw r2,0(r3) 49a34: 003fe706 br 499d4 <__alt_data_end+0xfffd79d4> 49a38: 01000804 movi r4,32 49a3c: 2089c83a sub r4,r4,r2 49a40: 1908983a sll r4,r3,r4 49a44: d9400117 ldw r5,4(sp) 49a48: 1886d83a srl r3,r3,r2 49a4c: 2148b03a or r4,r4,r5 49a50: 99000515 stw r4,20(r19) 49a54: d8c00015 stw r3,0(sp) 49a58: 003fca06 br 49984 <__alt_data_end+0xfffd7984> 00049a5c <__ratio>: 49a5c: defff904 addi sp,sp,-28 49a60: dc400315 stw r17,12(sp) 49a64: 2823883a mov r17,r5 49a68: d9400104 addi r5,sp,4 49a6c: dfc00615 stw ra,24(sp) 49a70: dcc00515 stw r19,20(sp) 49a74: dc800415 stw r18,16(sp) 49a78: 2027883a mov r19,r4 49a7c: dc000215 stw r16,8(sp) 49a80: 00498040 call 49804 <__b2d> 49a84: d80b883a mov r5,sp 49a88: 8809883a mov r4,r17 49a8c: 1025883a mov r18,r2 49a90: 1821883a mov r16,r3 49a94: 00498040 call 49804 <__b2d> 49a98: 8a000417 ldw r8,16(r17) 49a9c: 99000417 ldw r4,16(r19) 49aa0: d9400117 ldw r5,4(sp) 49aa4: 2209c83a sub r4,r4,r8 49aa8: 2010917a slli r8,r4,5 49aac: d9000017 ldw r4,0(sp) 49ab0: 2909c83a sub r4,r5,r4 49ab4: 4109883a add r4,r8,r4 49ab8: 01000e0e bge zero,r4,49af4 <__ratio+0x98> 49abc: 2008953a slli r4,r4,20 49ac0: 2421883a add r16,r4,r16 49ac4: 100d883a mov r6,r2 49ac8: 180f883a mov r7,r3 49acc: 9009883a mov r4,r18 49ad0: 800b883a mov r5,r16 49ad4: 004d4040 call 4d404 <__divdf3> 49ad8: dfc00617 ldw ra,24(sp) 49adc: dcc00517 ldw r19,20(sp) 49ae0: dc800417 ldw r18,16(sp) 49ae4: dc400317 ldw r17,12(sp) 49ae8: dc000217 ldw r16,8(sp) 49aec: dec00704 addi sp,sp,28 49af0: f800283a ret 49af4: 2008953a slli r4,r4,20 49af8: 1907c83a sub r3,r3,r4 49afc: 003ff106 br 49ac4 <__alt_data_end+0xfffd7ac4> 00049b00 <_mprec_log10>: 49b00: defffe04 addi sp,sp,-8 49b04: dc000015 stw r16,0(sp) 49b08: dfc00115 stw ra,4(sp) 49b0c: 008005c4 movi r2,23 49b10: 2021883a mov r16,r4 49b14: 11000d0e bge r2,r4,49b4c <_mprec_log10+0x4c> 49b18: 0005883a mov r2,zero 49b1c: 00cffc34 movhi r3,16368 49b20: 843fffc4 addi r16,r16,-1 49b24: 000d883a mov r6,zero 49b28: 01d00934 movhi r7,16420 49b2c: 1009883a mov r4,r2 49b30: 180b883a mov r5,r3 49b34: 004de5c0 call 4de5c <__muldf3> 49b38: 803ff91e bne r16,zero,49b20 <__alt_data_end+0xfffd7b20> 49b3c: dfc00117 ldw ra,4(sp) 49b40: dc000017 ldw r16,0(sp) 49b44: dec00204 addi sp,sp,8 49b48: f800283a ret 49b4c: 202090fa slli r16,r4,3 49b50: 00800174 movhi r2,5 49b54: 10887604 addi r2,r2,8664 49b58: 1421883a add r16,r2,r16 49b5c: 80800017 ldw r2,0(r16) 49b60: 80c00117 ldw r3,4(r16) 49b64: dfc00117 ldw ra,4(sp) 49b68: dc000017 ldw r16,0(sp) 49b6c: dec00204 addi sp,sp,8 49b70: f800283a ret 00049b74 <__copybits>: 49b74: 297fffc4 addi r5,r5,-1 49b78: 280fd17a srai r7,r5,5 49b7c: 30c00417 ldw r3,16(r6) 49b80: 30800504 addi r2,r6,20 49b84: 39c00044 addi r7,r7,1 49b88: 18c7883a add r3,r3,r3 49b8c: 39cf883a add r7,r7,r7 49b90: 18c7883a add r3,r3,r3 49b94: 39cf883a add r7,r7,r7 49b98: 10c7883a add r3,r2,r3 49b9c: 21cf883a add r7,r4,r7 49ba0: 10c00d2e bgeu r2,r3,49bd8 <__copybits+0x64> 49ba4: 200b883a mov r5,r4 49ba8: 12000017 ldw r8,0(r2) 49bac: 29400104 addi r5,r5,4 49bb0: 10800104 addi r2,r2,4 49bb4: 2a3fff15 stw r8,-4(r5) 49bb8: 10fffb36 bltu r2,r3,49ba8 <__alt_data_end+0xfffd7ba8> 49bbc: 1985c83a sub r2,r3,r6 49bc0: 10bffac4 addi r2,r2,-21 49bc4: 1004d0ba srli r2,r2,2 49bc8: 10800044 addi r2,r2,1 49bcc: 1085883a add r2,r2,r2 49bd0: 1085883a add r2,r2,r2 49bd4: 2089883a add r4,r4,r2 49bd8: 21c0032e bgeu r4,r7,49be8 <__copybits+0x74> 49bdc: 20000015 stw zero,0(r4) 49be0: 21000104 addi r4,r4,4 49be4: 21fffd36 bltu r4,r7,49bdc <__alt_data_end+0xfffd7bdc> 49be8: f800283a ret 00049bec <__any_on>: 49bec: 20c00417 ldw r3,16(r4) 49bf0: 2805d17a srai r2,r5,5 49bf4: 21000504 addi r4,r4,20 49bf8: 18800d0e bge r3,r2,49c30 <__any_on+0x44> 49bfc: 18c7883a add r3,r3,r3 49c00: 18c7883a add r3,r3,r3 49c04: 20c7883a add r3,r4,r3 49c08: 20c0192e bgeu r4,r3,49c70 <__any_on+0x84> 49c0c: 18bfff17 ldw r2,-4(r3) 49c10: 18ffff04 addi r3,r3,-4 49c14: 1000041e bne r2,zero,49c28 <__any_on+0x3c> 49c18: 20c0142e bgeu r4,r3,49c6c <__any_on+0x80> 49c1c: 18ffff04 addi r3,r3,-4 49c20: 19400017 ldw r5,0(r3) 49c24: 283ffc26 beq r5,zero,49c18 <__alt_data_end+0xfffd7c18> 49c28: 00800044 movi r2,1 49c2c: f800283a ret 49c30: 10c00a0e bge r2,r3,49c5c <__any_on+0x70> 49c34: 1085883a add r2,r2,r2 49c38: 1085883a add r2,r2,r2 49c3c: 294007cc andi r5,r5,31 49c40: 2087883a add r3,r4,r2 49c44: 283ff026 beq r5,zero,49c08 <__alt_data_end+0xfffd7c08> 49c48: 19800017 ldw r6,0(r3) 49c4c: 3144d83a srl r2,r6,r5 49c50: 114a983a sll r5,r2,r5 49c54: 317ff41e bne r6,r5,49c28 <__alt_data_end+0xfffd7c28> 49c58: 003feb06 br 49c08 <__alt_data_end+0xfffd7c08> 49c5c: 1085883a add r2,r2,r2 49c60: 1085883a add r2,r2,r2 49c64: 2087883a add r3,r4,r2 49c68: 003fe706 br 49c08 <__alt_data_end+0xfffd7c08> 49c6c: f800283a ret 49c70: 0005883a mov r2,zero 49c74: f800283a ret 00049c78 <_putc_r>: 49c78: defffc04 addi sp,sp,-16 49c7c: dc000215 stw r16,8(sp) 49c80: dfc00315 stw ra,12(sp) 49c84: 2021883a mov r16,r4 49c88: 20000226 beq r4,zero,49c94 <_putc_r+0x1c> 49c8c: 20800e17 ldw r2,56(r4) 49c90: 10001b26 beq r2,zero,49d00 <_putc_r+0x88> 49c94: 30800217 ldw r2,8(r6) 49c98: 10bfffc4 addi r2,r2,-1 49c9c: 30800215 stw r2,8(r6) 49ca0: 10000a16 blt r2,zero,49ccc <_putc_r+0x54> 49ca4: 30800017 ldw r2,0(r6) 49ca8: 11400005 stb r5,0(r2) 49cac: 30800017 ldw r2,0(r6) 49cb0: 10c00044 addi r3,r2,1 49cb4: 30c00015 stw r3,0(r6) 49cb8: 10800003 ldbu r2,0(r2) 49cbc: dfc00317 ldw ra,12(sp) 49cc0: dc000217 ldw r16,8(sp) 49cc4: dec00404 addi sp,sp,16 49cc8: f800283a ret 49ccc: 30c00617 ldw r3,24(r6) 49cd0: 10c00616 blt r2,r3,49cec <_putc_r+0x74> 49cd4: 30800017 ldw r2,0(r6) 49cd8: 00c00284 movi r3,10 49cdc: 11400005 stb r5,0(r2) 49ce0: 30800017 ldw r2,0(r6) 49ce4: 11400003 ldbu r5,0(r2) 49ce8: 28fff11e bne r5,r3,49cb0 <__alt_data_end+0xfffd7cb0> 49cec: 8009883a mov r4,r16 49cf0: dfc00317 ldw ra,12(sp) 49cf4: dc000217 ldw r16,8(sp) 49cf8: dec00404 addi sp,sp,16 49cfc: 004bd1c1 jmpi 4bd1c <__swbuf_r> 49d00: d9400015 stw r5,0(sp) 49d04: d9800115 stw r6,4(sp) 49d08: 00471980 call 47198 <__sinit> 49d0c: d9800117 ldw r6,4(sp) 49d10: d9400017 ldw r5,0(sp) 49d14: 003fdf06 br 49c94 <__alt_data_end+0xfffd7c94> 00049d18 : 49d18: 00800174 movhi r2,5 49d1c: defffc04 addi sp,sp,-16 49d20: 10905304 addi r2,r2,16716 49d24: dc000115 stw r16,4(sp) 49d28: 14000017 ldw r16,0(r2) 49d2c: dc400215 stw r17,8(sp) 49d30: dfc00315 stw ra,12(sp) 49d34: 2023883a mov r17,r4 49d38: 80000226 beq r16,zero,49d44 49d3c: 80800e17 ldw r2,56(r16) 49d40: 10001a26 beq r2,zero,49dac 49d44: 28800217 ldw r2,8(r5) 49d48: 10bfffc4 addi r2,r2,-1 49d4c: 28800215 stw r2,8(r5) 49d50: 10000b16 blt r2,zero,49d80 49d54: 28800017 ldw r2,0(r5) 49d58: 14400005 stb r17,0(r2) 49d5c: 28800017 ldw r2,0(r5) 49d60: 10c00044 addi r3,r2,1 49d64: 28c00015 stw r3,0(r5) 49d68: 10800003 ldbu r2,0(r2) 49d6c: dfc00317 ldw ra,12(sp) 49d70: dc400217 ldw r17,8(sp) 49d74: dc000117 ldw r16,4(sp) 49d78: dec00404 addi sp,sp,16 49d7c: f800283a ret 49d80: 28c00617 ldw r3,24(r5) 49d84: 10c00e16 blt r2,r3,49dc0 49d88: 28800017 ldw r2,0(r5) 49d8c: 01000284 movi r4,10 49d90: 14400005 stb r17,0(r2) 49d94: 28800017 ldw r2,0(r5) 49d98: 10c00003 ldbu r3,0(r2) 49d9c: 193ff01e bne r3,r4,49d60 <__alt_data_end+0xfffd7d60> 49da0: 280d883a mov r6,r5 49da4: 180b883a mov r5,r3 49da8: 00000706 br 49dc8 49dac: 8009883a mov r4,r16 49db0: d9400015 stw r5,0(sp) 49db4: 00471980 call 47198 <__sinit> 49db8: d9400017 ldw r5,0(sp) 49dbc: 003fe106 br 49d44 <__alt_data_end+0xfffd7d44> 49dc0: 280d883a mov r6,r5 49dc4: 880b883a mov r5,r17 49dc8: 8009883a mov r4,r16 49dcc: dfc00317 ldw ra,12(sp) 49dd0: dc400217 ldw r17,8(sp) 49dd4: dc000117 ldw r16,4(sp) 49dd8: dec00404 addi sp,sp,16 49ddc: 004bd1c1 jmpi 4bd1c <__swbuf_r> 00049de0 <_realloc_r>: 49de0: defff604 addi sp,sp,-40 49de4: dc800215 stw r18,8(sp) 49de8: dfc00915 stw ra,36(sp) 49dec: df000815 stw fp,32(sp) 49df0: ddc00715 stw r23,28(sp) 49df4: dd800615 stw r22,24(sp) 49df8: dd400515 stw r21,20(sp) 49dfc: dd000415 stw r20,16(sp) 49e00: dcc00315 stw r19,12(sp) 49e04: dc400115 stw r17,4(sp) 49e08: dc000015 stw r16,0(sp) 49e0c: 3025883a mov r18,r6 49e10: 2800b726 beq r5,zero,4a0f0 <_realloc_r+0x310> 49e14: 282b883a mov r21,r5 49e18: 2029883a mov r20,r4 49e1c: 004ed0c0 call 4ed0c <__malloc_lock> 49e20: a8bfff17 ldw r2,-4(r21) 49e24: 043fff04 movi r16,-4 49e28: 90c002c4 addi r3,r18,11 49e2c: 01000584 movi r4,22 49e30: acfffe04 addi r19,r21,-8 49e34: 1420703a and r16,r2,r16 49e38: 20c0332e bgeu r4,r3,49f08 <_realloc_r+0x128> 49e3c: 047ffe04 movi r17,-8 49e40: 1c62703a and r17,r3,r17 49e44: 8807883a mov r3,r17 49e48: 88005816 blt r17,zero,49fac <_realloc_r+0x1cc> 49e4c: 8c805736 bltu r17,r18,49fac <_realloc_r+0x1cc> 49e50: 80c0300e bge r16,r3,49f14 <_realloc_r+0x134> 49e54: 07000174 movhi fp,5 49e58: e70a8604 addi fp,fp,10776 49e5c: e1c00217 ldw r7,8(fp) 49e60: 9c09883a add r4,r19,r16 49e64: 22000117 ldw r8,4(r4) 49e68: 21c06326 beq r4,r7,49ff8 <_realloc_r+0x218> 49e6c: 017fff84 movi r5,-2 49e70: 414a703a and r5,r8,r5 49e74: 214b883a add r5,r4,r5 49e78: 29800117 ldw r6,4(r5) 49e7c: 3180004c andi r6,r6,1 49e80: 30003f26 beq r6,zero,49f80 <_realloc_r+0x1a0> 49e84: 1080004c andi r2,r2,1 49e88: 10008326 beq r2,zero,4a098 <_realloc_r+0x2b8> 49e8c: 900b883a mov r5,r18 49e90: a009883a mov r4,r20 49e94: 0047f040 call 47f04 <_malloc_r> 49e98: 1025883a mov r18,r2 49e9c: 10011e26 beq r2,zero,4a318 <_realloc_r+0x538> 49ea0: a93fff17 ldw r4,-4(r21) 49ea4: 10fffe04 addi r3,r2,-8 49ea8: 00bfff84 movi r2,-2 49eac: 2084703a and r2,r4,r2 49eb0: 9885883a add r2,r19,r2 49eb4: 1880ee26 beq r3,r2,4a270 <_realloc_r+0x490> 49eb8: 81bfff04 addi r6,r16,-4 49ebc: 00800904 movi r2,36 49ec0: 1180b836 bltu r2,r6,4a1a4 <_realloc_r+0x3c4> 49ec4: 00c004c4 movi r3,19 49ec8: 19809636 bltu r3,r6,4a124 <_realloc_r+0x344> 49ecc: 9005883a mov r2,r18 49ed0: a807883a mov r3,r21 49ed4: 19000017 ldw r4,0(r3) 49ed8: 11000015 stw r4,0(r2) 49edc: 19000117 ldw r4,4(r3) 49ee0: 11000115 stw r4,4(r2) 49ee4: 18c00217 ldw r3,8(r3) 49ee8: 10c00215 stw r3,8(r2) 49eec: a80b883a mov r5,r21 49ef0: a009883a mov r4,r20 49ef4: 004730c0 call 4730c <_free_r> 49ef8: a009883a mov r4,r20 49efc: 004ed300 call 4ed30 <__malloc_unlock> 49f00: 9005883a mov r2,r18 49f04: 00001206 br 49f50 <_realloc_r+0x170> 49f08: 00c00404 movi r3,16 49f0c: 1823883a mov r17,r3 49f10: 003fce06 br 49e4c <__alt_data_end+0xfffd7e4c> 49f14: a825883a mov r18,r21 49f18: 8445c83a sub r2,r16,r17 49f1c: 00c003c4 movi r3,15 49f20: 18802636 bltu r3,r2,49fbc <_realloc_r+0x1dc> 49f24: 99800117 ldw r6,4(r19) 49f28: 9c07883a add r3,r19,r16 49f2c: 3180004c andi r6,r6,1 49f30: 3420b03a or r16,r6,r16 49f34: 9c000115 stw r16,4(r19) 49f38: 18800117 ldw r2,4(r3) 49f3c: 10800054 ori r2,r2,1 49f40: 18800115 stw r2,4(r3) 49f44: a009883a mov r4,r20 49f48: 004ed300 call 4ed30 <__malloc_unlock> 49f4c: 9005883a mov r2,r18 49f50: dfc00917 ldw ra,36(sp) 49f54: df000817 ldw fp,32(sp) 49f58: ddc00717 ldw r23,28(sp) 49f5c: dd800617 ldw r22,24(sp) 49f60: dd400517 ldw r21,20(sp) 49f64: dd000417 ldw r20,16(sp) 49f68: dcc00317 ldw r19,12(sp) 49f6c: dc800217 ldw r18,8(sp) 49f70: dc400117 ldw r17,4(sp) 49f74: dc000017 ldw r16,0(sp) 49f78: dec00a04 addi sp,sp,40 49f7c: f800283a ret 49f80: 017fff04 movi r5,-4 49f84: 414a703a and r5,r8,r5 49f88: 814d883a add r6,r16,r5 49f8c: 30c01f16 blt r6,r3,4a00c <_realloc_r+0x22c> 49f90: 20800317 ldw r2,12(r4) 49f94: 20c00217 ldw r3,8(r4) 49f98: a825883a mov r18,r21 49f9c: 3021883a mov r16,r6 49fa0: 18800315 stw r2,12(r3) 49fa4: 10c00215 stw r3,8(r2) 49fa8: 003fdb06 br 49f18 <__alt_data_end+0xfffd7f18> 49fac: 00800304 movi r2,12 49fb0: a0800015 stw r2,0(r20) 49fb4: 0005883a mov r2,zero 49fb8: 003fe506 br 49f50 <__alt_data_end+0xfffd7f50> 49fbc: 98c00117 ldw r3,4(r19) 49fc0: 9c4b883a add r5,r19,r17 49fc4: 11000054 ori r4,r2,1 49fc8: 18c0004c andi r3,r3,1 49fcc: 1c62b03a or r17,r3,r17 49fd0: 9c400115 stw r17,4(r19) 49fd4: 29000115 stw r4,4(r5) 49fd8: 2885883a add r2,r5,r2 49fdc: 10c00117 ldw r3,4(r2) 49fe0: 29400204 addi r5,r5,8 49fe4: a009883a mov r4,r20 49fe8: 18c00054 ori r3,r3,1 49fec: 10c00115 stw r3,4(r2) 49ff0: 004730c0 call 4730c <_free_r> 49ff4: 003fd306 br 49f44 <__alt_data_end+0xfffd7f44> 49ff8: 017fff04 movi r5,-4 49ffc: 414a703a and r5,r8,r5 4a000: 89800404 addi r6,r17,16 4a004: 8151883a add r8,r16,r5 4a008: 4180590e bge r8,r6,4a170 <_realloc_r+0x390> 4a00c: 1080004c andi r2,r2,1 4a010: 103f9e1e bne r2,zero,49e8c <__alt_data_end+0xfffd7e8c> 4a014: adbffe17 ldw r22,-8(r21) 4a018: 00bfff04 movi r2,-4 4a01c: 9dadc83a sub r22,r19,r22 4a020: b1800117 ldw r6,4(r22) 4a024: 3084703a and r2,r6,r2 4a028: 20002026 beq r4,zero,4a0ac <_realloc_r+0x2cc> 4a02c: 80af883a add r23,r16,r2 4a030: b96f883a add r23,r23,r5 4a034: 21c05f26 beq r4,r7,4a1b4 <_realloc_r+0x3d4> 4a038: b8c01c16 blt r23,r3,4a0ac <_realloc_r+0x2cc> 4a03c: 20800317 ldw r2,12(r4) 4a040: 20c00217 ldw r3,8(r4) 4a044: 81bfff04 addi r6,r16,-4 4a048: 01000904 movi r4,36 4a04c: 18800315 stw r2,12(r3) 4a050: 10c00215 stw r3,8(r2) 4a054: b0c00217 ldw r3,8(r22) 4a058: b0800317 ldw r2,12(r22) 4a05c: b4800204 addi r18,r22,8 4a060: 18800315 stw r2,12(r3) 4a064: 10c00215 stw r3,8(r2) 4a068: 21801b36 bltu r4,r6,4a0d8 <_realloc_r+0x2f8> 4a06c: 008004c4 movi r2,19 4a070: 1180352e bgeu r2,r6,4a148 <_realloc_r+0x368> 4a074: a8800017 ldw r2,0(r21) 4a078: b0800215 stw r2,8(r22) 4a07c: a8800117 ldw r2,4(r21) 4a080: b0800315 stw r2,12(r22) 4a084: 008006c4 movi r2,27 4a088: 11807f36 bltu r2,r6,4a288 <_realloc_r+0x4a8> 4a08c: b0800404 addi r2,r22,16 4a090: ad400204 addi r21,r21,8 4a094: 00002d06 br 4a14c <_realloc_r+0x36c> 4a098: adbffe17 ldw r22,-8(r21) 4a09c: 00bfff04 movi r2,-4 4a0a0: 9dadc83a sub r22,r19,r22 4a0a4: b1000117 ldw r4,4(r22) 4a0a8: 2084703a and r2,r4,r2 4a0ac: b03f7726 beq r22,zero,49e8c <__alt_data_end+0xfffd7e8c> 4a0b0: 80af883a add r23,r16,r2 4a0b4: b8ff7516 blt r23,r3,49e8c <__alt_data_end+0xfffd7e8c> 4a0b8: b0800317 ldw r2,12(r22) 4a0bc: b0c00217 ldw r3,8(r22) 4a0c0: 81bfff04 addi r6,r16,-4 4a0c4: 01000904 movi r4,36 4a0c8: 18800315 stw r2,12(r3) 4a0cc: 10c00215 stw r3,8(r2) 4a0d0: b4800204 addi r18,r22,8 4a0d4: 21bfe52e bgeu r4,r6,4a06c <__alt_data_end+0xfffd806c> 4a0d8: a80b883a mov r5,r21 4a0dc: 9009883a mov r4,r18 4a0e0: 004893c0 call 4893c 4a0e4: b821883a mov r16,r23 4a0e8: b027883a mov r19,r22 4a0ec: 003f8a06 br 49f18 <__alt_data_end+0xfffd7f18> 4a0f0: 300b883a mov r5,r6 4a0f4: dfc00917 ldw ra,36(sp) 4a0f8: df000817 ldw fp,32(sp) 4a0fc: ddc00717 ldw r23,28(sp) 4a100: dd800617 ldw r22,24(sp) 4a104: dd400517 ldw r21,20(sp) 4a108: dd000417 ldw r20,16(sp) 4a10c: dcc00317 ldw r19,12(sp) 4a110: dc800217 ldw r18,8(sp) 4a114: dc400117 ldw r17,4(sp) 4a118: dc000017 ldw r16,0(sp) 4a11c: dec00a04 addi sp,sp,40 4a120: 0047f041 jmpi 47f04 <_malloc_r> 4a124: a8c00017 ldw r3,0(r21) 4a128: 90c00015 stw r3,0(r18) 4a12c: a8c00117 ldw r3,4(r21) 4a130: 90c00115 stw r3,4(r18) 4a134: 00c006c4 movi r3,27 4a138: 19804536 bltu r3,r6,4a250 <_realloc_r+0x470> 4a13c: 90800204 addi r2,r18,8 4a140: a8c00204 addi r3,r21,8 4a144: 003f6306 br 49ed4 <__alt_data_end+0xfffd7ed4> 4a148: 9005883a mov r2,r18 4a14c: a8c00017 ldw r3,0(r21) 4a150: b821883a mov r16,r23 4a154: b027883a mov r19,r22 4a158: 10c00015 stw r3,0(r2) 4a15c: a8c00117 ldw r3,4(r21) 4a160: 10c00115 stw r3,4(r2) 4a164: a8c00217 ldw r3,8(r21) 4a168: 10c00215 stw r3,8(r2) 4a16c: 003f6a06 br 49f18 <__alt_data_end+0xfffd7f18> 4a170: 9c67883a add r19,r19,r17 4a174: 4445c83a sub r2,r8,r17 4a178: e4c00215 stw r19,8(fp) 4a17c: 10800054 ori r2,r2,1 4a180: 98800115 stw r2,4(r19) 4a184: a8bfff17 ldw r2,-4(r21) 4a188: a009883a mov r4,r20 4a18c: 1080004c andi r2,r2,1 4a190: 1462b03a or r17,r2,r17 4a194: ac7fff15 stw r17,-4(r21) 4a198: 004ed300 call 4ed30 <__malloc_unlock> 4a19c: a805883a mov r2,r21 4a1a0: 003f6b06 br 49f50 <__alt_data_end+0xfffd7f50> 4a1a4: a80b883a mov r5,r21 4a1a8: 9009883a mov r4,r18 4a1ac: 004893c0 call 4893c 4a1b0: 003f4e06 br 49eec <__alt_data_end+0xfffd7eec> 4a1b4: 89000404 addi r4,r17,16 4a1b8: b93fbc16 blt r23,r4,4a0ac <__alt_data_end+0xfffd80ac> 4a1bc: b0800317 ldw r2,12(r22) 4a1c0: b0c00217 ldw r3,8(r22) 4a1c4: 81bfff04 addi r6,r16,-4 4a1c8: 01000904 movi r4,36 4a1cc: 18800315 stw r2,12(r3) 4a1d0: 10c00215 stw r3,8(r2) 4a1d4: b4800204 addi r18,r22,8 4a1d8: 21804336 bltu r4,r6,4a2e8 <_realloc_r+0x508> 4a1dc: 008004c4 movi r2,19 4a1e0: 11803f2e bgeu r2,r6,4a2e0 <_realloc_r+0x500> 4a1e4: a8800017 ldw r2,0(r21) 4a1e8: b0800215 stw r2,8(r22) 4a1ec: a8800117 ldw r2,4(r21) 4a1f0: b0800315 stw r2,12(r22) 4a1f4: 008006c4 movi r2,27 4a1f8: 11803f36 bltu r2,r6,4a2f8 <_realloc_r+0x518> 4a1fc: b0800404 addi r2,r22,16 4a200: ad400204 addi r21,r21,8 4a204: a8c00017 ldw r3,0(r21) 4a208: 10c00015 stw r3,0(r2) 4a20c: a8c00117 ldw r3,4(r21) 4a210: 10c00115 stw r3,4(r2) 4a214: a8c00217 ldw r3,8(r21) 4a218: 10c00215 stw r3,8(r2) 4a21c: b447883a add r3,r22,r17 4a220: bc45c83a sub r2,r23,r17 4a224: e0c00215 stw r3,8(fp) 4a228: 10800054 ori r2,r2,1 4a22c: 18800115 stw r2,4(r3) 4a230: b0800117 ldw r2,4(r22) 4a234: a009883a mov r4,r20 4a238: 1080004c andi r2,r2,1 4a23c: 1462b03a or r17,r2,r17 4a240: b4400115 stw r17,4(r22) 4a244: 004ed300 call 4ed30 <__malloc_unlock> 4a248: 9005883a mov r2,r18 4a24c: 003f4006 br 49f50 <__alt_data_end+0xfffd7f50> 4a250: a8c00217 ldw r3,8(r21) 4a254: 90c00215 stw r3,8(r18) 4a258: a8c00317 ldw r3,12(r21) 4a25c: 90c00315 stw r3,12(r18) 4a260: 30801126 beq r6,r2,4a2a8 <_realloc_r+0x4c8> 4a264: 90800404 addi r2,r18,16 4a268: a8c00404 addi r3,r21,16 4a26c: 003f1906 br 49ed4 <__alt_data_end+0xfffd7ed4> 4a270: 90ffff17 ldw r3,-4(r18) 4a274: 00bfff04 movi r2,-4 4a278: a825883a mov r18,r21 4a27c: 1884703a and r2,r3,r2 4a280: 80a1883a add r16,r16,r2 4a284: 003f2406 br 49f18 <__alt_data_end+0xfffd7f18> 4a288: a8800217 ldw r2,8(r21) 4a28c: b0800415 stw r2,16(r22) 4a290: a8800317 ldw r2,12(r21) 4a294: b0800515 stw r2,20(r22) 4a298: 31000a26 beq r6,r4,4a2c4 <_realloc_r+0x4e4> 4a29c: b0800604 addi r2,r22,24 4a2a0: ad400404 addi r21,r21,16 4a2a4: 003fa906 br 4a14c <__alt_data_end+0xfffd814c> 4a2a8: a9000417 ldw r4,16(r21) 4a2ac: 90800604 addi r2,r18,24 4a2b0: a8c00604 addi r3,r21,24 4a2b4: 91000415 stw r4,16(r18) 4a2b8: a9000517 ldw r4,20(r21) 4a2bc: 91000515 stw r4,20(r18) 4a2c0: 003f0406 br 49ed4 <__alt_data_end+0xfffd7ed4> 4a2c4: a8c00417 ldw r3,16(r21) 4a2c8: ad400604 addi r21,r21,24 4a2cc: b0800804 addi r2,r22,32 4a2d0: b0c00615 stw r3,24(r22) 4a2d4: a8ffff17 ldw r3,-4(r21) 4a2d8: b0c00715 stw r3,28(r22) 4a2dc: 003f9b06 br 4a14c <__alt_data_end+0xfffd814c> 4a2e0: 9005883a mov r2,r18 4a2e4: 003fc706 br 4a204 <__alt_data_end+0xfffd8204> 4a2e8: a80b883a mov r5,r21 4a2ec: 9009883a mov r4,r18 4a2f0: 004893c0 call 4893c 4a2f4: 003fc906 br 4a21c <__alt_data_end+0xfffd821c> 4a2f8: a8800217 ldw r2,8(r21) 4a2fc: b0800415 stw r2,16(r22) 4a300: a8800317 ldw r2,12(r21) 4a304: b0800515 stw r2,20(r22) 4a308: 31000726 beq r6,r4,4a328 <_realloc_r+0x548> 4a30c: b0800604 addi r2,r22,24 4a310: ad400404 addi r21,r21,16 4a314: 003fbb06 br 4a204 <__alt_data_end+0xfffd8204> 4a318: a009883a mov r4,r20 4a31c: 004ed300 call 4ed30 <__malloc_unlock> 4a320: 0005883a mov r2,zero 4a324: 003f0a06 br 49f50 <__alt_data_end+0xfffd7f50> 4a328: a8c00417 ldw r3,16(r21) 4a32c: ad400604 addi r21,r21,24 4a330: b0800804 addi r2,r22,32 4a334: b0c00615 stw r3,24(r22) 4a338: a8ffff17 ldw r3,-4(r21) 4a33c: b0c00715 stw r3,28(r22) 4a340: 003fb006 br 4a204 <__alt_data_end+0xfffd8204> 0004a344 <__fpclassifyd>: 4a344: 00a00034 movhi r2,32768 4a348: 10bfffc4 addi r2,r2,-1 4a34c: 2884703a and r2,r5,r2 4a350: 10000726 beq r2,zero,4a370 <__fpclassifyd+0x2c> 4a354: 00fffc34 movhi r3,65520 4a358: 019ff834 movhi r6,32736 4a35c: 28c7883a add r3,r5,r3 4a360: 31bfffc4 addi r6,r6,-1 4a364: 30c00536 bltu r6,r3,4a37c <__fpclassifyd+0x38> 4a368: 00800104 movi r2,4 4a36c: f800283a ret 4a370: 2000021e bne r4,zero,4a37c <__fpclassifyd+0x38> 4a374: 00800084 movi r2,2 4a378: f800283a ret 4a37c: 00dffc34 movhi r3,32752 4a380: 019ff834 movhi r6,32736 4a384: 28cb883a add r5,r5,r3 4a388: 31bfffc4 addi r6,r6,-1 4a38c: 317ff62e bgeu r6,r5,4a368 <__alt_data_end+0xfffd8368> 4a390: 01400434 movhi r5,16 4a394: 297fffc4 addi r5,r5,-1 4a398: 28800236 bltu r5,r2,4a3a4 <__fpclassifyd+0x60> 4a39c: 008000c4 movi r2,3 4a3a0: f800283a ret 4a3a4: 10c00226 beq r2,r3,4a3b0 <__fpclassifyd+0x6c> 4a3a8: 0005883a mov r2,zero 4a3ac: f800283a ret 4a3b0: 2005003a cmpeq r2,r4,zero 4a3b4: f800283a ret 0004a3b8 <_sbrk_r>: 4a3b8: defffd04 addi sp,sp,-12 4a3bc: dc000015 stw r16,0(sp) 4a3c0: 04000174 movhi r16,5 4a3c4: dc400115 stw r17,4(sp) 4a3c8: 84177304 addi r16,r16,24012 4a3cc: 2023883a mov r17,r4 4a3d0: 2809883a mov r4,r5 4a3d4: dfc00215 stw ra,8(sp) 4a3d8: 80000015 stw zero,0(r16) 4a3dc: 004ef180 call 4ef18 4a3e0: 00ffffc4 movi r3,-1 4a3e4: 10c00526 beq r2,r3,4a3fc <_sbrk_r+0x44> 4a3e8: dfc00217 ldw ra,8(sp) 4a3ec: dc400117 ldw r17,4(sp) 4a3f0: dc000017 ldw r16,0(sp) 4a3f4: dec00304 addi sp,sp,12 4a3f8: f800283a ret 4a3fc: 80c00017 ldw r3,0(r16) 4a400: 183ff926 beq r3,zero,4a3e8 <__alt_data_end+0xfffd83e8> 4a404: 88c00015 stw r3,0(r17) 4a408: 003ff706 br 4a3e8 <__alt_data_end+0xfffd83e8> 0004a40c <__sread>: 4a40c: defffe04 addi sp,sp,-8 4a410: dc000015 stw r16,0(sp) 4a414: 2821883a mov r16,r5 4a418: 2940038f ldh r5,14(r5) 4a41c: dfc00115 stw ra,4(sp) 4a420: 004c4200 call 4c420 <_read_r> 4a424: 10000716 blt r2,zero,4a444 <__sread+0x38> 4a428: 80c01417 ldw r3,80(r16) 4a42c: 1887883a add r3,r3,r2 4a430: 80c01415 stw r3,80(r16) 4a434: dfc00117 ldw ra,4(sp) 4a438: dc000017 ldw r16,0(sp) 4a43c: dec00204 addi sp,sp,8 4a440: f800283a ret 4a444: 80c0030b ldhu r3,12(r16) 4a448: 18fbffcc andi r3,r3,61439 4a44c: 80c0030d sth r3,12(r16) 4a450: dfc00117 ldw ra,4(sp) 4a454: dc000017 ldw r16,0(sp) 4a458: dec00204 addi sp,sp,8 4a45c: f800283a ret 0004a460 <__seofread>: 4a460: 0005883a mov r2,zero 4a464: f800283a ret 0004a468 <__swrite>: 4a468: 2880030b ldhu r2,12(r5) 4a46c: defffb04 addi sp,sp,-20 4a470: dcc00315 stw r19,12(sp) 4a474: dc800215 stw r18,8(sp) 4a478: dc400115 stw r17,4(sp) 4a47c: dc000015 stw r16,0(sp) 4a480: dfc00415 stw ra,16(sp) 4a484: 10c0400c andi r3,r2,256 4a488: 2821883a mov r16,r5 4a48c: 2023883a mov r17,r4 4a490: 3025883a mov r18,r6 4a494: 3827883a mov r19,r7 4a498: 18000526 beq r3,zero,4a4b0 <__swrite+0x48> 4a49c: 2940038f ldh r5,14(r5) 4a4a0: 01c00084 movi r7,2 4a4a4: 000d883a mov r6,zero 4a4a8: 004c3c00 call 4c3c0 <_lseek_r> 4a4ac: 8080030b ldhu r2,12(r16) 4a4b0: 8140038f ldh r5,14(r16) 4a4b4: 10bbffcc andi r2,r2,61439 4a4b8: 980f883a mov r7,r19 4a4bc: 900d883a mov r6,r18 4a4c0: 8809883a mov r4,r17 4a4c4: 8080030d sth r2,12(r16) 4a4c8: dfc00417 ldw ra,16(sp) 4a4cc: dcc00317 ldw r19,12(sp) 4a4d0: dc800217 ldw r18,8(sp) 4a4d4: dc400117 ldw r17,4(sp) 4a4d8: dc000017 ldw r16,0(sp) 4a4dc: dec00504 addi sp,sp,20 4a4e0: 004be741 jmpi 4be74 <_write_r> 0004a4e4 <__sseek>: 4a4e4: defffe04 addi sp,sp,-8 4a4e8: dc000015 stw r16,0(sp) 4a4ec: 2821883a mov r16,r5 4a4f0: 2940038f ldh r5,14(r5) 4a4f4: dfc00115 stw ra,4(sp) 4a4f8: 004c3c00 call 4c3c0 <_lseek_r> 4a4fc: 00ffffc4 movi r3,-1 4a500: 10c00826 beq r2,r3,4a524 <__sseek+0x40> 4a504: 80c0030b ldhu r3,12(r16) 4a508: 80801415 stw r2,80(r16) 4a50c: 18c40014 ori r3,r3,4096 4a510: 80c0030d sth r3,12(r16) 4a514: dfc00117 ldw ra,4(sp) 4a518: dc000017 ldw r16,0(sp) 4a51c: dec00204 addi sp,sp,8 4a520: f800283a ret 4a524: 80c0030b ldhu r3,12(r16) 4a528: 18fbffcc andi r3,r3,61439 4a52c: 80c0030d sth r3,12(r16) 4a530: dfc00117 ldw ra,4(sp) 4a534: dc000017 ldw r16,0(sp) 4a538: dec00204 addi sp,sp,8 4a53c: f800283a ret 0004a540 <__sclose>: 4a540: 2940038f ldh r5,14(r5) 4a544: 004bed41 jmpi 4bed4 <_close_r> 0004a548 : 4a548: 2144b03a or r2,r4,r5 4a54c: 108000cc andi r2,r2,3 4a550: 1000171e bne r2,zero,4a5b0 4a554: 20800017 ldw r2,0(r4) 4a558: 28c00017 ldw r3,0(r5) 4a55c: 10c0141e bne r2,r3,4a5b0 4a560: 027fbff4 movhi r9,65279 4a564: 4a7fbfc4 addi r9,r9,-257 4a568: 0086303a nor r3,zero,r2 4a56c: 02202074 movhi r8,32897 4a570: 1245883a add r2,r2,r9 4a574: 42202004 addi r8,r8,-32640 4a578: 10c4703a and r2,r2,r3 4a57c: 1204703a and r2,r2,r8 4a580: 10000226 beq r2,zero,4a58c 4a584: 00002306 br 4a614 4a588: 1000221e bne r2,zero,4a614 4a58c: 21000104 addi r4,r4,4 4a590: 20c00017 ldw r3,0(r4) 4a594: 29400104 addi r5,r5,4 4a598: 29800017 ldw r6,0(r5) 4a59c: 1a4f883a add r7,r3,r9 4a5a0: 00c4303a nor r2,zero,r3 4a5a4: 3884703a and r2,r7,r2 4a5a8: 1204703a and r2,r2,r8 4a5ac: 19bff626 beq r3,r6,4a588 <__alt_data_end+0xfffd8588> 4a5b0: 20800003 ldbu r2,0(r4) 4a5b4: 10c03fcc andi r3,r2,255 4a5b8: 18c0201c xori r3,r3,128 4a5bc: 18ffe004 addi r3,r3,-128 4a5c0: 18000c26 beq r3,zero,4a5f4 4a5c4: 29800007 ldb r6,0(r5) 4a5c8: 19800326 beq r3,r6,4a5d8 4a5cc: 00001306 br 4a61c 4a5d0: 29800007 ldb r6,0(r5) 4a5d4: 11800b1e bne r2,r6,4a604 4a5d8: 21000044 addi r4,r4,1 4a5dc: 20c00003 ldbu r3,0(r4) 4a5e0: 29400044 addi r5,r5,1 4a5e4: 18803fcc andi r2,r3,255 4a5e8: 1080201c xori r2,r2,128 4a5ec: 10bfe004 addi r2,r2,-128 4a5f0: 103ff71e bne r2,zero,4a5d0 <__alt_data_end+0xfffd85d0> 4a5f4: 0007883a mov r3,zero 4a5f8: 28800003 ldbu r2,0(r5) 4a5fc: 1885c83a sub r2,r3,r2 4a600: f800283a ret 4a604: 28800003 ldbu r2,0(r5) 4a608: 18c03fcc andi r3,r3,255 4a60c: 1885c83a sub r2,r3,r2 4a610: f800283a ret 4a614: 0005883a mov r2,zero 4a618: f800283a ret 4a61c: 10c03fcc andi r3,r2,255 4a620: 003ff506 br 4a5f8 <__alt_data_end+0xfffd85f8> 0004a624 <__sprint_r.part.0>: 4a624: 28801917 ldw r2,100(r5) 4a628: defff604 addi sp,sp,-40 4a62c: dd400515 stw r21,20(sp) 4a630: dfc00915 stw ra,36(sp) 4a634: df000815 stw fp,32(sp) 4a638: ddc00715 stw r23,28(sp) 4a63c: dd800615 stw r22,24(sp) 4a640: dd000415 stw r20,16(sp) 4a644: dcc00315 stw r19,12(sp) 4a648: dc800215 stw r18,8(sp) 4a64c: dc400115 stw r17,4(sp) 4a650: dc000015 stw r16,0(sp) 4a654: 1088000c andi r2,r2,8192 4a658: 302b883a mov r21,r6 4a65c: 10002e26 beq r2,zero,4a718 <__sprint_r.part.0+0xf4> 4a660: 30800217 ldw r2,8(r6) 4a664: 35800017 ldw r22,0(r6) 4a668: 10002926 beq r2,zero,4a710 <__sprint_r.part.0+0xec> 4a66c: 2827883a mov r19,r5 4a670: 2029883a mov r20,r4 4a674: b5c00104 addi r23,r22,4 4a678: 04bfffc4 movi r18,-1 4a67c: bc400017 ldw r17,0(r23) 4a680: b4000017 ldw r16,0(r22) 4a684: 0039883a mov fp,zero 4a688: 8822d0ba srli r17,r17,2 4a68c: 8800031e bne r17,zero,4a69c <__sprint_r.part.0+0x78> 4a690: 00001806 br 4a6f4 <__sprint_r.part.0+0xd0> 4a694: 84000104 addi r16,r16,4 4a698: 8f001526 beq r17,fp,4a6f0 <__sprint_r.part.0+0xcc> 4a69c: 81400017 ldw r5,0(r16) 4a6a0: 980d883a mov r6,r19 4a6a4: a009883a mov r4,r20 4a6a8: 004c26c0 call 4c26c <_fputwc_r> 4a6ac: e7000044 addi fp,fp,1 4a6b0: 14bff81e bne r2,r18,4a694 <__alt_data_end+0xfffd8694> 4a6b4: 9005883a mov r2,r18 4a6b8: a8000215 stw zero,8(r21) 4a6bc: a8000115 stw zero,4(r21) 4a6c0: dfc00917 ldw ra,36(sp) 4a6c4: df000817 ldw fp,32(sp) 4a6c8: ddc00717 ldw r23,28(sp) 4a6cc: dd800617 ldw r22,24(sp) 4a6d0: dd400517 ldw r21,20(sp) 4a6d4: dd000417 ldw r20,16(sp) 4a6d8: dcc00317 ldw r19,12(sp) 4a6dc: dc800217 ldw r18,8(sp) 4a6e0: dc400117 ldw r17,4(sp) 4a6e4: dc000017 ldw r16,0(sp) 4a6e8: dec00a04 addi sp,sp,40 4a6ec: f800283a ret 4a6f0: a8800217 ldw r2,8(r21) 4a6f4: 8c63883a add r17,r17,r17 4a6f8: 8c63883a add r17,r17,r17 4a6fc: 1445c83a sub r2,r2,r17 4a700: a8800215 stw r2,8(r21) 4a704: b5800204 addi r22,r22,8 4a708: bdc00204 addi r23,r23,8 4a70c: 103fdb1e bne r2,zero,4a67c <__alt_data_end+0xfffd867c> 4a710: 0005883a mov r2,zero 4a714: 003fe806 br 4a6b8 <__alt_data_end+0xfffd86b8> 4a718: 004761c0 call 4761c <__sfvwrite_r> 4a71c: 003fe606 br 4a6b8 <__alt_data_end+0xfffd86b8> 0004a720 <__sprint_r>: 4a720: 30c00217 ldw r3,8(r6) 4a724: 18000126 beq r3,zero,4a72c <__sprint_r+0xc> 4a728: 004a6241 jmpi 4a624 <__sprint_r.part.0> 4a72c: 30000115 stw zero,4(r6) 4a730: 0005883a mov r2,zero 4a734: f800283a ret 0004a738 <___vfiprintf_internal_r>: 4a738: deffca04 addi sp,sp,-216 4a73c: dd403115 stw r21,196(sp) 4a740: dfc03515 stw ra,212(sp) 4a744: df003415 stw fp,208(sp) 4a748: ddc03315 stw r23,204(sp) 4a74c: dd803215 stw r22,200(sp) 4a750: dd003015 stw r20,192(sp) 4a754: dcc02f15 stw r19,188(sp) 4a758: dc802e15 stw r18,184(sp) 4a75c: dc402d15 stw r17,180(sp) 4a760: dc002c15 stw r16,176(sp) 4a764: d9002115 stw r4,132(sp) 4a768: d9402015 stw r5,128(sp) 4a76c: d9c02215 stw r7,136(sp) 4a770: 302b883a mov r21,r6 4a774: 20000226 beq r4,zero,4a780 <___vfiprintf_internal_r+0x48> 4a778: 20800e17 ldw r2,56(r4) 4a77c: 1000cf26 beq r2,zero,4aabc <___vfiprintf_internal_r+0x384> 4a780: d8c02017 ldw r3,128(sp) 4a784: 1880030b ldhu r2,12(r3) 4a788: 10c8000c andi r3,r2,8192 4a78c: 1800071e bne r3,zero,4a7ac <___vfiprintf_internal_r+0x74> 4a790: d9402017 ldw r5,128(sp) 4a794: 00f7ffc4 movi r3,-8193 4a798: 10880014 ori r2,r2,8192 4a79c: 29001917 ldw r4,100(r5) 4a7a0: 2880030d sth r2,12(r5) 4a7a4: 20c6703a and r3,r4,r3 4a7a8: 28c01915 stw r3,100(r5) 4a7ac: 10c0020c andi r3,r2,8 4a7b0: 1800a526 beq r3,zero,4aa48 <___vfiprintf_internal_r+0x310> 4a7b4: d9002017 ldw r4,128(sp) 4a7b8: 20c00417 ldw r3,16(r4) 4a7bc: 1800a226 beq r3,zero,4aa48 <___vfiprintf_internal_r+0x310> 4a7c0: 1080068c andi r2,r2,26 4a7c4: 00c00284 movi r3,10 4a7c8: 10c0a826 beq r2,r3,4aa6c <___vfiprintf_internal_r+0x334> 4a7cc: d9001a04 addi r4,sp,104 4a7d0: d94019c4 addi r5,sp,103 4a7d4: 04800174 movhi r18,5 4a7d8: 2145c83a sub r2,r4,r5 4a7dc: 9488a804 addi r18,r18,8864 4a7e0: d9001e15 stw r4,120(sp) 4a7e4: d9401f15 stw r5,124(sp) 4a7e8: dec01a15 stw sp,104(sp) 4a7ec: d8001c15 stw zero,112(sp) 4a7f0: d8001b15 stw zero,108(sp) 4a7f4: d811883a mov r8,sp 4a7f8: d8002615 stw zero,152(sp) 4a7fc: d8002415 stw zero,144(sp) 4a800: d8802815 stw r2,160(sp) 4a804: a82d883a mov r22,r21 4a808: b0800007 ldb r2,0(r22) 4a80c: 10040d26 beq r2,zero,4b844 <___vfiprintf_internal_r+0x110c> 4a810: 00c00944 movi r3,37 4a814: b029883a mov r20,r22 4a818: 10c0021e bne r2,r3,4a824 <___vfiprintf_internal_r+0xec> 4a81c: 00001606 br 4a878 <___vfiprintf_internal_r+0x140> 4a820: 10c00326 beq r2,r3,4a830 <___vfiprintf_internal_r+0xf8> 4a824: a5000044 addi r20,r20,1 4a828: a0800007 ldb r2,0(r20) 4a82c: 103ffc1e bne r2,zero,4a820 <__alt_data_end+0xfffd8820> 4a830: a5a1c83a sub r16,r20,r22 4a834: 80001026 beq r16,zero,4a878 <___vfiprintf_internal_r+0x140> 4a838: d8c01c17 ldw r3,112(sp) 4a83c: d8801b17 ldw r2,108(sp) 4a840: 45800015 stw r22,0(r8) 4a844: 80c7883a add r3,r16,r3 4a848: 10800044 addi r2,r2,1 4a84c: 44000115 stw r16,4(r8) 4a850: d8c01c15 stw r3,112(sp) 4a854: d8801b15 stw r2,108(sp) 4a858: 010001c4 movi r4,7 4a85c: 2080750e bge r4,r2,4aa34 <___vfiprintf_internal_r+0x2fc> 4a860: 1803951e bne r3,zero,4b6b8 <___vfiprintf_internal_r+0xf80> 4a864: d8c02417 ldw r3,144(sp) 4a868: d8001b15 stw zero,108(sp) 4a86c: d811883a mov r8,sp 4a870: 1c07883a add r3,r3,r16 4a874: d8c02415 stw r3,144(sp) 4a878: a0800007 ldb r2,0(r20) 4a87c: 1002e026 beq r2,zero,4b400 <___vfiprintf_internal_r+0xcc8> 4a880: a5800044 addi r22,r20,1 4a884: a0c00047 ldb r3,1(r20) 4a888: d8001d85 stb zero,118(sp) 4a88c: 0027883a mov r19,zero 4a890: d8002305 stb zero,140(sp) 4a894: 043fffc4 movi r16,-1 4a898: d8002515 stw zero,148(sp) 4a89c: 0023883a mov r17,zero 4a8a0: 05001604 movi r20,88 4a8a4: 05400244 movi r21,9 4a8a8: 402f883a mov r23,r8 4a8ac: b5800044 addi r22,r22,1 4a8b0: 18bff804 addi r2,r3,-32 4a8b4: a0827736 bltu r20,r2,4b294 <___vfiprintf_internal_r+0xb5c> 4a8b8: 100490ba slli r2,r2,2 4a8bc: 01000174 movhi r4,5 4a8c0: 212a3404 addi r4,r4,-22320 4a8c4: 1105883a add r2,r2,r4 4a8c8: 10800017 ldw r2,0(r2) 4a8cc: 1000683a jmp r2 4a8d0: 0004af94 movui zero,4798 4a8d4: 0004b294 movui zero,4810 4a8d8: 0004b294 movui zero,4810 4a8dc: 0004afb0 cmpltui zero,zero,4798 4a8e0: 0004b294 movui zero,4810 4a8e4: 0004b294 movui zero,4810 4a8e8: 0004b294 movui zero,4810 4a8ec: 0004b294 movui zero,4810 4a8f0: 0004b294 movui zero,4810 4a8f4: 0004b294 movui zero,4810 4a8f8: 0004b1b8 rdprs zero,zero,4806 4a8fc: 0004b1dc xori zero,zero,4807 4a900: 0004b294 movui zero,4810 4a904: 0004aad4 movui zero,4779 4a908: 0004b1f0 cmpltui zero,zero,4807 4a90c: 0004b294 movui zero,4810 4a910: 0004afbc xorhi zero,zero,4798 4a914: 0004afc8 cmpgei zero,zero,4799 4a918: 0004afc8 cmpgei zero,zero,4799 4a91c: 0004afc8 cmpgei zero,zero,4799 4a920: 0004afc8 cmpgei zero,zero,4799 4a924: 0004afc8 cmpgei zero,zero,4799 4a928: 0004afc8 cmpgei zero,zero,4799 4a92c: 0004afc8 cmpgei zero,zero,4799 4a930: 0004afc8 cmpgei zero,zero,4799 4a934: 0004afc8 cmpgei zero,zero,4799 4a938: 0004b294 movui zero,4810 4a93c: 0004b294 movui zero,4810 4a940: 0004b294 movui zero,4810 4a944: 0004b294 movui zero,4810 4a948: 0004b294 movui zero,4810 4a94c: 0004b294 movui zero,4810 4a950: 0004b294 movui zero,4810 4a954: 0004b294 movui zero,4810 4a958: 0004b294 movui zero,4810 4a95c: 0004b294 movui zero,4810 4a960: 0004b008 cmpgei zero,zero,4800 4a964: 0004b294 movui zero,4810 4a968: 0004b294 movui zero,4810 4a96c: 0004b294 movui zero,4810 4a970: 0004b294 movui zero,4810 4a974: 0004b294 movui zero,4810 4a978: 0004b294 movui zero,4810 4a97c: 0004b294 movui zero,4810 4a980: 0004b294 movui zero,4810 4a984: 0004b294 movui zero,4810 4a988: 0004b294 movui zero,4810 4a98c: 0004b044 movi zero,4801 4a990: 0004b294 movui zero,4810 4a994: 0004b294 movui zero,4810 4a998: 0004b294 movui zero,4810 4a99c: 0004b294 movui zero,4810 4a9a0: 0004b294 movui zero,4810 4a9a4: 0004b0a0 cmpeqi zero,zero,4802 4a9a8: 0004b294 movui zero,4810 4a9ac: 0004b294 movui zero,4810 4a9b0: 0004b114 movui zero,4804 4a9b4: 0004b294 movui zero,4810 4a9b8: 0004b294 movui zero,4810 4a9bc: 0004b294 movui zero,4810 4a9c0: 0004b294 movui zero,4810 4a9c4: 0004b294 movui zero,4810 4a9c8: 0004b294 movui zero,4810 4a9cc: 0004b294 movui zero,4810 4a9d0: 0004b294 movui zero,4810 4a9d4: 0004b294 movui zero,4810 4a9d8: 0004b294 movui zero,4810 4a9dc: 0004aebc xorhi zero,zero,4794 4a9e0: 0004aeec andhi zero,zero,4795 4a9e4: 0004b294 movui zero,4810 4a9e8: 0004b294 movui zero,4810 4a9ec: 0004b294 movui zero,4810 4a9f0: 0004b23c xorhi zero,zero,4808 4a9f4: 0004aeec andhi zero,zero,4795 4a9f8: 0004b294 movui zero,4810 4a9fc: 0004b294 movui zero,4810 4aa00: 0004ad94 movui zero,4790 4aa04: 0004b294 movui zero,4810 4aa08: 0004ada8 cmpgeui zero,zero,4790 4aa0c: 0004ade0 cmpeqi zero,zero,4791 4aa10: 0004aae0 cmpeqi zero,zero,4779 4aa14: 0004ad88 cmpgei zero,zero,4790 4aa18: 0004b294 movui zero,4810 4aa1c: 0004b154 movui zero,4805 4aa20: 0004b294 movui zero,4810 4aa24: 0004b1a0 cmpeqi zero,zero,4806 4aa28: 0004b294 movui zero,4810 4aa2c: 0004b294 movui zero,4810 4aa30: 0004ae64 muli zero,zero,4793 4aa34: 42000204 addi r8,r8,8 4aa38: d8c02417 ldw r3,144(sp) 4aa3c: 1c07883a add r3,r3,r16 4aa40: d8c02415 stw r3,144(sp) 4aa44: 003f8c06 br 4a878 <__alt_data_end+0xfffd8878> 4aa48: d9402017 ldw r5,128(sp) 4aa4c: d9002117 ldw r4,132(sp) 4aa50: 004518c0 call 4518c <__swsetup_r> 4aa54: 1003c11e bne r2,zero,4b95c <___vfiprintf_internal_r+0x1224> 4aa58: d9402017 ldw r5,128(sp) 4aa5c: 00c00284 movi r3,10 4aa60: 2880030b ldhu r2,12(r5) 4aa64: 1080068c andi r2,r2,26 4aa68: 10ff581e bne r2,r3,4a7cc <__alt_data_end+0xfffd87cc> 4aa6c: d8c02017 ldw r3,128(sp) 4aa70: 1880038f ldh r2,14(r3) 4aa74: 103f5516 blt r2,zero,4a7cc <__alt_data_end+0xfffd87cc> 4aa78: d9c02217 ldw r7,136(sp) 4aa7c: d9002117 ldw r4,132(sp) 4aa80: a80d883a mov r6,r21 4aa84: 180b883a mov r5,r3 4aa88: 004bc600 call 4bc60 <__sbprintf> 4aa8c: dfc03517 ldw ra,212(sp) 4aa90: df003417 ldw fp,208(sp) 4aa94: ddc03317 ldw r23,204(sp) 4aa98: dd803217 ldw r22,200(sp) 4aa9c: dd403117 ldw r21,196(sp) 4aaa0: dd003017 ldw r20,192(sp) 4aaa4: dcc02f17 ldw r19,188(sp) 4aaa8: dc802e17 ldw r18,184(sp) 4aaac: dc402d17 ldw r17,180(sp) 4aab0: dc002c17 ldw r16,176(sp) 4aab4: dec03604 addi sp,sp,216 4aab8: f800283a ret 4aabc: 00471980 call 47198 <__sinit> 4aac0: 003f2f06 br 4a780 <__alt_data_end+0xfffd8780> 4aac4: d8c02517 ldw r3,148(sp) 4aac8: d8802215 stw r2,136(sp) 4aacc: 00c7c83a sub r3,zero,r3 4aad0: d8c02515 stw r3,148(sp) 4aad4: 8c400114 ori r17,r17,4 4aad8: b0c00007 ldb r3,0(r22) 4aadc: 003f7306 br 4a8ac <__alt_data_end+0xfffd88ac> 4aae0: 00800c04 movi r2,48 4aae4: d9402217 ldw r5,136(sp) 4aae8: d8801d05 stb r2,116(sp) 4aaec: 00801e04 movi r2,120 4aaf0: d8801d45 stb r2,117(sp) 4aaf4: d8001d85 stb zero,118(sp) 4aaf8: b811883a mov r8,r23 4aafc: 28c00104 addi r3,r5,4 4ab00: 2cc00017 ldw r19,0(r5) 4ab04: 0029883a mov r20,zero 4ab08: 88800094 ori r2,r17,2 4ab0c: 80032516 blt r16,zero,4b7a4 <___vfiprintf_internal_r+0x106c> 4ab10: 00bfdfc4 movi r2,-129 4ab14: 88a2703a and r17,r17,r2 4ab18: d8c02215 stw r3,136(sp) 4ab1c: 8c400094 ori r17,r17,2 4ab20: 98032a1e bne r19,zero,4b7cc <___vfiprintf_internal_r+0x1094> 4ab24: 00800174 movhi r2,5 4ab28: 10884704 addi r2,r2,8476 4ab2c: d8802615 stw r2,152(sp) 4ab30: 002b883a mov r21,zero 4ab34: 8001741e bne r16,zero,4b108 <___vfiprintf_internal_r+0x9d0> 4ab38: 0021883a mov r16,zero 4ab3c: 0029883a mov r20,zero 4ab40: ddc01a04 addi r23,sp,104 4ab44: 8027883a mov r19,r16 4ab48: 8500010e bge r16,r20,4ab50 <___vfiprintf_internal_r+0x418> 4ab4c: a027883a mov r19,r20 4ab50: ad403fcc andi r21,r21,255 4ab54: ad40201c xori r21,r21,128 4ab58: ad7fe004 addi r21,r21,-128 4ab5c: a8000126 beq r21,zero,4ab64 <___vfiprintf_internal_r+0x42c> 4ab60: 9cc00044 addi r19,r19,1 4ab64: 89c0008c andi r7,r17,2 4ab68: 38000126 beq r7,zero,4ab70 <___vfiprintf_internal_r+0x438> 4ab6c: 9cc00084 addi r19,r19,2 4ab70: 88c0210c andi r3,r17,132 4ab74: 1801dd1e bne r3,zero,4b2ec <___vfiprintf_internal_r+0xbb4> 4ab78: d9402517 ldw r5,148(sp) 4ab7c: 2cebc83a sub r21,r5,r19 4ab80: 0541da0e bge zero,r21,4b2ec <___vfiprintf_internal_r+0xbb4> 4ab84: 07000404 movi fp,16 4ab88: d8801c17 ldw r2,112(sp) 4ab8c: e543be0e bge fp,r21,4ba88 <___vfiprintf_internal_r+0x1350> 4ab90: 01400174 movhi r5,5 4ab94: 2948ac04 addi r5,r5,8880 4ab98: dc002715 stw r16,156(sp) 4ab9c: d9801b17 ldw r6,108(sp) 4aba0: a821883a mov r16,r21 4aba4: d9402315 stw r5,140(sp) 4aba8: 028001c4 movi r10,7 4abac: d9c02915 stw r7,164(sp) 4abb0: 182b883a mov r21,r3 4abb4: 00000506 br 4abcc <___vfiprintf_internal_r+0x494> 4abb8: 31000084 addi r4,r6,2 4abbc: 42000204 addi r8,r8,8 4abc0: 180d883a mov r6,r3 4abc4: 843ffc04 addi r16,r16,-16 4abc8: e4000f0e bge fp,r16,4ac08 <___vfiprintf_internal_r+0x4d0> 4abcc: 01000174 movhi r4,5 4abd0: 10800404 addi r2,r2,16 4abd4: 30c00044 addi r3,r6,1 4abd8: 2108ac04 addi r4,r4,8880 4abdc: 41000015 stw r4,0(r8) 4abe0: 47000115 stw fp,4(r8) 4abe4: d8801c15 stw r2,112(sp) 4abe8: d8c01b15 stw r3,108(sp) 4abec: 50fff20e bge r10,r3,4abb8 <__alt_data_end+0xfffd8bb8> 4abf0: 1001b21e bne r2,zero,4b2bc <___vfiprintf_internal_r+0xb84> 4abf4: 843ffc04 addi r16,r16,-16 4abf8: 000d883a mov r6,zero 4abfc: 01000044 movi r4,1 4ac00: d811883a mov r8,sp 4ac04: e43ff116 blt fp,r16,4abcc <__alt_data_end+0xfffd8bcc> 4ac08: a807883a mov r3,r21 4ac0c: d9c02917 ldw r7,164(sp) 4ac10: 802b883a mov r21,r16 4ac14: dc002717 ldw r16,156(sp) 4ac18: d9402317 ldw r5,140(sp) 4ac1c: a885883a add r2,r21,r2 4ac20: 45400115 stw r21,4(r8) 4ac24: 41400015 stw r5,0(r8) 4ac28: d8801c15 stw r2,112(sp) 4ac2c: d9001b15 stw r4,108(sp) 4ac30: 014001c4 movi r5,7 4ac34: 29026216 blt r5,r4,4b5c0 <___vfiprintf_internal_r+0xe88> 4ac38: d9801d87 ldb r6,118(sp) 4ac3c: 42000204 addi r8,r8,8 4ac40: 21400044 addi r5,r4,1 4ac44: 3001ae1e bne r6,zero,4b300 <___vfiprintf_internal_r+0xbc8> 4ac48: 3801bb26 beq r7,zero,4b338 <___vfiprintf_internal_r+0xc00> 4ac4c: d9001d04 addi r4,sp,116 4ac50: 10800084 addi r2,r2,2 4ac54: 41000015 stw r4,0(r8) 4ac58: 01000084 movi r4,2 4ac5c: 41000115 stw r4,4(r8) 4ac60: d8801c15 stw r2,112(sp) 4ac64: d9401b15 stw r5,108(sp) 4ac68: 010001c4 movi r4,7 4ac6c: 2142680e bge r4,r5,4b610 <___vfiprintf_internal_r+0xed8> 4ac70: 1002b11e bne r2,zero,4b738 <___vfiprintf_internal_r+0x1000> 4ac74: 01802004 movi r6,128 4ac78: 01400044 movi r5,1 4ac7c: 0009883a mov r4,zero 4ac80: d811883a mov r8,sp 4ac84: 1981ae1e bne r3,r6,4b340 <___vfiprintf_internal_r+0xc08> 4ac88: d8c02517 ldw r3,148(sp) 4ac8c: 1cf9c83a sub fp,r3,r19 4ac90: 0701ab0e bge zero,fp,4b340 <___vfiprintf_internal_r+0xc08> 4ac94: 05400404 movi r21,16 4ac98: af03a90e bge r21,fp,4bb40 <___vfiprintf_internal_r+0x1408> 4ac9c: 01400174 movhi r5,5 4aca0: 2948a804 addi r5,r5,8864 4aca4: d9402315 stw r5,140(sp) 4aca8: 01c001c4 movi r7,7 4acac: 00000506 br 4acc4 <___vfiprintf_internal_r+0x58c> 4acb0: 21800084 addi r6,r4,2 4acb4: 42000204 addi r8,r8,8 4acb8: 1809883a mov r4,r3 4acbc: e73ffc04 addi fp,fp,-16 4acc0: af000d0e bge r21,fp,4acf8 <___vfiprintf_internal_r+0x5c0> 4acc4: 10800404 addi r2,r2,16 4acc8: 20c00044 addi r3,r4,1 4accc: 44800015 stw r18,0(r8) 4acd0: 45400115 stw r21,4(r8) 4acd4: d8801c15 stw r2,112(sp) 4acd8: d8c01b15 stw r3,108(sp) 4acdc: 38fff40e bge r7,r3,4acb0 <__alt_data_end+0xfffd8cb0> 4ace0: 10022b1e bne r2,zero,4b590 <___vfiprintf_internal_r+0xe58> 4ace4: e73ffc04 addi fp,fp,-16 4ace8: 01800044 movi r6,1 4acec: 0009883a mov r4,zero 4acf0: d811883a mov r8,sp 4acf4: af3ff316 blt r21,fp,4acc4 <__alt_data_end+0xfffd8cc4> 4acf8: d8c02317 ldw r3,140(sp) 4acfc: 1705883a add r2,r2,fp 4ad00: 47000115 stw fp,4(r8) 4ad04: 40c00015 stw r3,0(r8) 4ad08: d8801c15 stw r2,112(sp) 4ad0c: d9801b15 stw r6,108(sp) 4ad10: 00c001c4 movi r3,7 4ad14: 19829416 blt r3,r6,4b768 <___vfiprintf_internal_r+0x1030> 4ad18: 8521c83a sub r16,r16,r20 4ad1c: 42000204 addi r8,r8,8 4ad20: 31400044 addi r5,r6,1 4ad24: 3009883a mov r4,r6 4ad28: 04018716 blt zero,r16,4b348 <___vfiprintf_internal_r+0xc10> 4ad2c: a085883a add r2,r20,r2 4ad30: 45c00015 stw r23,0(r8) 4ad34: 45000115 stw r20,4(r8) 4ad38: d8801c15 stw r2,112(sp) 4ad3c: d9401b15 stw r5,108(sp) 4ad40: 00c001c4 movi r3,7 4ad44: 1941c20e bge r3,r5,4b450 <___vfiprintf_internal_r+0xd18> 4ad48: 1002531e bne r2,zero,4b698 <___vfiprintf_internal_r+0xf60> 4ad4c: d8001b15 stw zero,108(sp) 4ad50: 8c40010c andi r17,r17,4 4ad54: 88023226 beq r17,zero,4b620 <___vfiprintf_internal_r+0xee8> 4ad58: d9002517 ldw r4,148(sp) 4ad5c: 24e3c83a sub r17,r4,r19 4ad60: 04432916 blt zero,r17,4ba08 <___vfiprintf_internal_r+0x12d0> 4ad64: d8802517 ldw r2,148(sp) 4ad68: 14c0010e bge r2,r19,4ad70 <___vfiprintf_internal_r+0x638> 4ad6c: 9805883a mov r2,r19 4ad70: d8c02417 ldw r3,144(sp) 4ad74: 1887883a add r3,r3,r2 4ad78: d8c02415 stw r3,144(sp) 4ad7c: d8001b15 stw zero,108(sp) 4ad80: d811883a mov r8,sp 4ad84: 003ea006 br 4a808 <__alt_data_end+0xfffd8808> 4ad88: 8c400814 ori r17,r17,32 4ad8c: b0c00007 ldb r3,0(r22) 4ad90: 003ec606 br 4a8ac <__alt_data_end+0xfffd88ac> 4ad94: b0c00007 ldb r3,0(r22) 4ad98: 00801b04 movi r2,108 4ad9c: 18832026 beq r3,r2,4ba20 <___vfiprintf_internal_r+0x12e8> 4ada0: 8c400414 ori r17,r17,16 4ada4: 003ec106 br 4a8ac <__alt_data_end+0xfffd88ac> 4ada8: 9cc03fcc andi r19,r19,255 4adac: b811883a mov r8,r23 4adb0: 9803981e bne r19,zero,4bc14 <___vfiprintf_internal_r+0x14dc> 4adb4: 8880080c andi r2,r17,32 4adb8: 1002be26 beq r2,zero,4b8b4 <___vfiprintf_internal_r+0x117c> 4adbc: d9002217 ldw r4,136(sp) 4adc0: d9402417 ldw r5,144(sp) 4adc4: 20800017 ldw r2,0(r4) 4adc8: 2807d7fa srai r3,r5,31 4adcc: 21000104 addi r4,r4,4 4add0: d9002215 stw r4,136(sp) 4add4: 11400015 stw r5,0(r2) 4add8: 10c00115 stw r3,4(r2) 4addc: 003e8a06 br 4a808 <__alt_data_end+0xfffd8808> 4ade0: 9cc03fcc andi r19,r19,255 4ade4: b811883a mov r8,r23 4ade8: 9803871e bne r19,zero,4bc08 <___vfiprintf_internal_r+0x14d0> 4adec: 8880080c andi r2,r17,32 4adf0: 10009a26 beq r2,zero,4b05c <___vfiprintf_internal_r+0x924> 4adf4: d9002217 ldw r4,136(sp) 4adf8: d8001d85 stb zero,118(sp) 4adfc: 20800204 addi r2,r4,8 4ae00: 24c00017 ldw r19,0(r4) 4ae04: 25000117 ldw r20,4(r4) 4ae08: 8002a416 blt r16,zero,4b89c <___vfiprintf_internal_r+0x1164> 4ae0c: 013fdfc4 movi r4,-129 4ae10: 9d06b03a or r3,r19,r20 4ae14: d8802215 stw r2,136(sp) 4ae18: 8922703a and r17,r17,r4 4ae1c: 18009b26 beq r3,zero,4b08c <___vfiprintf_internal_r+0x954> 4ae20: 002b883a mov r21,zero 4ae24: ddc01a04 addi r23,sp,104 4ae28: 9806d0fa srli r3,r19,3 4ae2c: a008977a slli r4,r20,29 4ae30: a028d0fa srli r20,r20,3 4ae34: 9cc001cc andi r19,r19,7 4ae38: 98800c04 addi r2,r19,48 4ae3c: bdffffc4 addi r23,r23,-1 4ae40: 20e6b03a or r19,r4,r3 4ae44: b8800005 stb r2,0(r23) 4ae48: 9d06b03a or r3,r19,r20 4ae4c: 183ff61e bne r3,zero,4ae28 <__alt_data_end+0xfffd8e28> 4ae50: 88c0004c andi r3,r17,1 4ae54: 18021f1e bne r3,zero,4b6d4 <___vfiprintf_internal_r+0xf9c> 4ae58: d9401e17 ldw r5,120(sp) 4ae5c: 2de9c83a sub r20,r5,r23 4ae60: 003f3806 br 4ab44 <__alt_data_end+0xfffd8b44> 4ae64: 9cc03fcc andi r19,r19,255 4ae68: b811883a mov r8,r23 4ae6c: 98034f1e bne r19,zero,4bbac <___vfiprintf_internal_r+0x1474> 4ae70: 00800174 movhi r2,5 4ae74: 10884704 addi r2,r2,8476 4ae78: d8802615 stw r2,152(sp) 4ae7c: 8880080c andi r2,r17,32 4ae80: 1000ac26 beq r2,zero,4b134 <___vfiprintf_internal_r+0x9fc> 4ae84: d9002217 ldw r4,136(sp) 4ae88: 24c00017 ldw r19,0(r4) 4ae8c: 25000117 ldw r20,4(r4) 4ae90: 21000204 addi r4,r4,8 4ae94: d9002215 stw r4,136(sp) 4ae98: 8880004c andi r2,r17,1 4ae9c: 1001e726 beq r2,zero,4b63c <___vfiprintf_internal_r+0xf04> 4aea0: 9d04b03a or r2,r19,r20 4aea4: 10025c1e bne r2,zero,4b818 <___vfiprintf_internal_r+0x10e0> 4aea8: d8001d85 stb zero,118(sp) 4aeac: 80024416 blt r16,zero,4b7c0 <___vfiprintf_internal_r+0x1088> 4aeb0: 00bfdfc4 movi r2,-129 4aeb4: 88a2703a and r17,r17,r2 4aeb8: 003f1d06 br 4ab30 <__alt_data_end+0xfffd8b30> 4aebc: d8c02217 ldw r3,136(sp) 4aec0: 04c00044 movi r19,1 4aec4: b811883a mov r8,r23 4aec8: 18800017 ldw r2,0(r3) 4aecc: 18c00104 addi r3,r3,4 4aed0: d8001d85 stb zero,118(sp) 4aed4: d8801005 stb r2,64(sp) 4aed8: d8c02215 stw r3,136(sp) 4aedc: 9829883a mov r20,r19 4aee0: ddc01004 addi r23,sp,64 4aee4: 0021883a mov r16,zero 4aee8: 003f1e06 br 4ab64 <__alt_data_end+0xfffd8b64> 4aeec: 9cc03fcc andi r19,r19,255 4aef0: b811883a mov r8,r23 4aef4: 9803331e bne r19,zero,4bbc4 <___vfiprintf_internal_r+0x148c> 4aef8: 8880080c andi r2,r17,32 4aefc: 10004826 beq r2,zero,4b020 <___vfiprintf_internal_r+0x8e8> 4af00: d9002217 ldw r4,136(sp) 4af04: 20800117 ldw r2,4(r4) 4af08: 24c00017 ldw r19,0(r4) 4af0c: 21000204 addi r4,r4,8 4af10: d9002215 stw r4,136(sp) 4af14: 1029883a mov r20,r2 4af18: 10024c16 blt r2,zero,4b84c <___vfiprintf_internal_r+0x1114> 4af1c: dd401d83 ldbu r21,118(sp) 4af20: 80007116 blt r16,zero,4b0e8 <___vfiprintf_internal_r+0x9b0> 4af24: 00ffdfc4 movi r3,-129 4af28: 9d04b03a or r2,r19,r20 4af2c: 88e2703a and r17,r17,r3 4af30: 1000d126 beq r2,zero,4b278 <___vfiprintf_internal_r+0xb40> 4af34: a0023526 beq r20,zero,4b80c <___vfiprintf_internal_r+0x10d4> 4af38: ddc01a04 addi r23,sp,104 4af3c: 4039883a mov fp,r8 4af40: 9809883a mov r4,r19 4af44: a00b883a mov r5,r20 4af48: 01800284 movi r6,10 4af4c: 000f883a mov r7,zero 4af50: 004cc640 call 4cc64 <__umoddi3> 4af54: 10800c04 addi r2,r2,48 4af58: bdffffc4 addi r23,r23,-1 4af5c: 9809883a mov r4,r19 4af60: a00b883a mov r5,r20 4af64: b8800005 stb r2,0(r23) 4af68: 01800284 movi r6,10 4af6c: 000f883a mov r7,zero 4af70: 004c6680 call 4c668 <__udivdi3> 4af74: 1027883a mov r19,r2 4af78: 10c4b03a or r2,r2,r3 4af7c: 1829883a mov r20,r3 4af80: 103fef1e bne r2,zero,4af40 <__alt_data_end+0xfffd8f40> 4af84: d9001e17 ldw r4,120(sp) 4af88: e011883a mov r8,fp 4af8c: 25e9c83a sub r20,r4,r23 4af90: 003eec06 br 4ab44 <__alt_data_end+0xfffd8b44> 4af94: d8802307 ldb r2,140(sp) 4af98: 1002361e bne r2,zero,4b874 <___vfiprintf_internal_r+0x113c> 4af9c: 00c00804 movi r3,32 4afa0: d8c02305 stb r3,140(sp) 4afa4: 04c00044 movi r19,1 4afa8: b0c00007 ldb r3,0(r22) 4afac: 003e3f06 br 4a8ac <__alt_data_end+0xfffd88ac> 4afb0: 8c400054 ori r17,r17,1 4afb4: b0c00007 ldb r3,0(r22) 4afb8: 003e3c06 br 4a8ac <__alt_data_end+0xfffd88ac> 4afbc: 8c402014 ori r17,r17,128 4afc0: b0c00007 ldb r3,0(r22) 4afc4: 003e3906 br 4a8ac <__alt_data_end+0xfffd88ac> 4afc8: dc002715 stw r16,156(sp) 4afcc: d8002515 stw zero,148(sp) 4afd0: 1f3ff404 addi fp,r3,-48 4afd4: 0009883a mov r4,zero 4afd8: b021883a mov r16,r22 4afdc: 01400284 movi r5,10 4afe0: 004d3dc0 call 4d3dc <__mulsi3> 4afe4: 80c00007 ldb r3,0(r16) 4afe8: e089883a add r4,fp,r2 4afec: b5800044 addi r22,r22,1 4aff0: 1f3ff404 addi fp,r3,-48 4aff4: b021883a mov r16,r22 4aff8: af3ff82e bgeu r21,fp,4afdc <__alt_data_end+0xfffd8fdc> 4affc: d9002515 stw r4,148(sp) 4b000: dc002717 ldw r16,156(sp) 4b004: 003e2a06 br 4a8b0 <__alt_data_end+0xfffd88b0> 4b008: 9cc03fcc andi r19,r19,255 4b00c: b811883a mov r8,r23 4b010: 9802e91e bne r19,zero,4bbb8 <___vfiprintf_internal_r+0x1480> 4b014: 8c400414 ori r17,r17,16 4b018: 8880080c andi r2,r17,32 4b01c: 103fb81e bne r2,zero,4af00 <__alt_data_end+0xfffd8f00> 4b020: 8880040c andi r2,r17,16 4b024: 10022e26 beq r2,zero,4b8e0 <___vfiprintf_internal_r+0x11a8> 4b028: d9402217 ldw r5,136(sp) 4b02c: 2cc00017 ldw r19,0(r5) 4b030: 29400104 addi r5,r5,4 4b034: d9402215 stw r5,136(sp) 4b038: 9829d7fa srai r20,r19,31 4b03c: a005883a mov r2,r20 4b040: 003fb506 br 4af18 <__alt_data_end+0xfffd8f18> 4b044: 9cc03fcc andi r19,r19,255 4b048: b811883a mov r8,r23 4b04c: 9802fa1e bne r19,zero,4bc38 <___vfiprintf_internal_r+0x1500> 4b050: 8c400414 ori r17,r17,16 4b054: 8880080c andi r2,r17,32 4b058: 103f661e bne r2,zero,4adf4 <__alt_data_end+0xfffd8df4> 4b05c: 8880040c andi r2,r17,16 4b060: 10020626 beq r2,zero,4b87c <___vfiprintf_internal_r+0x1144> 4b064: d9402217 ldw r5,136(sp) 4b068: d8001d85 stb zero,118(sp) 4b06c: 0029883a mov r20,zero 4b070: 28800104 addi r2,r5,4 4b074: 2cc00017 ldw r19,0(r5) 4b078: 80020816 blt r16,zero,4b89c <___vfiprintf_internal_r+0x1164> 4b07c: 00ffdfc4 movi r3,-129 4b080: d8802215 stw r2,136(sp) 4b084: 88e2703a and r17,r17,r3 4b088: 983f651e bne r19,zero,4ae20 <__alt_data_end+0xfffd8e20> 4b08c: 002b883a mov r21,zero 4b090: 8002cf26 beq r16,zero,4bbd0 <___vfiprintf_internal_r+0x1498> 4b094: 0027883a mov r19,zero 4b098: 0029883a mov r20,zero 4b09c: 003f6106 br 4ae24 <__alt_data_end+0xfffd8e24> 4b0a0: 9cc03fcc andi r19,r19,255 4b0a4: b811883a mov r8,r23 4b0a8: 9802e01e bne r19,zero,4bc2c <___vfiprintf_internal_r+0x14f4> 4b0ac: 8c400414 ori r17,r17,16 4b0b0: 8880080c andi r2,r17,32 4b0b4: 1000641e bne r2,zero,4b248 <___vfiprintf_internal_r+0xb10> 4b0b8: 8880040c andi r2,r17,16 4b0bc: 1001c81e bne r2,zero,4b7e0 <___vfiprintf_internal_r+0x10a8> 4b0c0: 8880100c andi r2,r17,64 4b0c4: d8001d85 stb zero,118(sp) 4b0c8: 1002281e bne r2,zero,4b96c <___vfiprintf_internal_r+0x1234> 4b0cc: d9002217 ldw r4,136(sp) 4b0d0: 0029883a mov r20,zero 4b0d4: 20800104 addi r2,r4,4 4b0d8: 24c00017 ldw r19,0(r4) 4b0dc: 8001c60e bge r16,zero,4b7f8 <___vfiprintf_internal_r+0x10c0> 4b0e0: d8802215 stw r2,136(sp) 4b0e4: 002b883a mov r21,zero 4b0e8: 9d04b03a or r2,r19,r20 4b0ec: 103f911e bne r2,zero,4af34 <__alt_data_end+0xfffd8f34> 4b0f0: 00800044 movi r2,1 4b0f4: 10803fcc andi r2,r2,255 4b0f8: 00c00044 movi r3,1 4b0fc: 10c05f26 beq r2,r3,4b27c <___vfiprintf_internal_r+0xb44> 4b100: 00c00084 movi r3,2 4b104: 10ffe31e bne r2,r3,4b094 <__alt_data_end+0xfffd9094> 4b108: 0027883a mov r19,zero 4b10c: 0029883a mov r20,zero 4b110: 00015106 br 4b658 <___vfiprintf_internal_r+0xf20> 4b114: 9cc03fcc andi r19,r19,255 4b118: b811883a mov r8,r23 4b11c: 9802c01e bne r19,zero,4bc20 <___vfiprintf_internal_r+0x14e8> 4b120: 01400174 movhi r5,5 4b124: 29484204 addi r5,r5,8456 4b128: d9402615 stw r5,152(sp) 4b12c: 8880080c andi r2,r17,32 4b130: 103f541e bne r2,zero,4ae84 <__alt_data_end+0xfffd8e84> 4b134: 8880040c andi r2,r17,16 4b138: 1001f226 beq r2,zero,4b904 <___vfiprintf_internal_r+0x11cc> 4b13c: d9402217 ldw r5,136(sp) 4b140: 0029883a mov r20,zero 4b144: 2cc00017 ldw r19,0(r5) 4b148: 29400104 addi r5,r5,4 4b14c: d9402215 stw r5,136(sp) 4b150: 003f5106 br 4ae98 <__alt_data_end+0xfffd8e98> 4b154: d8c02217 ldw r3,136(sp) 4b158: b811883a mov r8,r23 4b15c: d8001d85 stb zero,118(sp) 4b160: 1dc00017 ldw r23,0(r3) 4b164: 1f000104 addi fp,r3,4 4b168: b8025926 beq r23,zero,4bad0 <___vfiprintf_internal_r+0x1398> 4b16c: 80023316 blt r16,zero,4ba3c <___vfiprintf_internal_r+0x1304> 4b170: 800d883a mov r6,r16 4b174: 000b883a mov r5,zero 4b178: b809883a mov r4,r23 4b17c: da002a15 stw r8,168(sp) 4b180: 00487100 call 48710 4b184: da002a17 ldw r8,168(sp) 4b188: 10026826 beq r2,zero,4bb2c <___vfiprintf_internal_r+0x13f4> 4b18c: 15e9c83a sub r20,r2,r23 4b190: dd401d83 ldbu r21,118(sp) 4b194: df002215 stw fp,136(sp) 4b198: 0021883a mov r16,zero 4b19c: 003e6906 br 4ab44 <__alt_data_end+0xfffd8b44> 4b1a0: 9cc03fcc andi r19,r19,255 4b1a4: b811883a mov r8,r23 4b1a8: 983fc126 beq r19,zero,4b0b0 <__alt_data_end+0xfffd90b0> 4b1ac: d8c02303 ldbu r3,140(sp) 4b1b0: d8c01d85 stb r3,118(sp) 4b1b4: 003fbe06 br 4b0b0 <__alt_data_end+0xfffd90b0> 4b1b8: d9002217 ldw r4,136(sp) 4b1bc: d9402217 ldw r5,136(sp) 4b1c0: 21000017 ldw r4,0(r4) 4b1c4: 28800104 addi r2,r5,4 4b1c8: d9002515 stw r4,148(sp) 4b1cc: 203e3d16 blt r4,zero,4aac4 <__alt_data_end+0xfffd8ac4> 4b1d0: d8802215 stw r2,136(sp) 4b1d4: b0c00007 ldb r3,0(r22) 4b1d8: 003db406 br 4a8ac <__alt_data_end+0xfffd88ac> 4b1dc: 00c00ac4 movi r3,43 4b1e0: d8c02305 stb r3,140(sp) 4b1e4: 04c00044 movi r19,1 4b1e8: b0c00007 ldb r3,0(r22) 4b1ec: 003daf06 br 4a8ac <__alt_data_end+0xfffd88ac> 4b1f0: b0c00007 ldb r3,0(r22) 4b1f4: 01000a84 movi r4,42 4b1f8: b4000044 addi r16,r22,1 4b1fc: 19025e26 beq r3,r4,4bb78 <___vfiprintf_internal_r+0x1440> 4b200: 1f3ff404 addi fp,r3,-48 4b204: 0009883a mov r4,zero 4b208: af025236 bltu r21,fp,4bb54 <___vfiprintf_internal_r+0x141c> 4b20c: 01400284 movi r5,10 4b210: 004d3dc0 call 4d3dc <__mulsi3> 4b214: 80c00007 ldb r3,0(r16) 4b218: 1709883a add r4,r2,fp 4b21c: 85800044 addi r22,r16,1 4b220: 1f3ff404 addi fp,r3,-48 4b224: b021883a mov r16,r22 4b228: af3ff82e bgeu r21,fp,4b20c <__alt_data_end+0xfffd920c> 4b22c: 2021883a mov r16,r4 4b230: 203d9f0e bge r4,zero,4a8b0 <__alt_data_end+0xfffd88b0> 4b234: 043fffc4 movi r16,-1 4b238: 003d9d06 br 4a8b0 <__alt_data_end+0xfffd88b0> 4b23c: 8c401014 ori r17,r17,64 4b240: b0c00007 ldb r3,0(r22) 4b244: 003d9906 br 4a8ac <__alt_data_end+0xfffd88ac> 4b248: d9002217 ldw r4,136(sp) 4b24c: d8001d85 stb zero,118(sp) 4b250: 20c00204 addi r3,r4,8 4b254: 24c00017 ldw r19,0(r4) 4b258: 25000117 ldw r20,4(r4) 4b25c: 8001e716 blt r16,zero,4b9fc <___vfiprintf_internal_r+0x12c4> 4b260: 013fdfc4 movi r4,-129 4b264: 9d04b03a or r2,r19,r20 4b268: d8c02215 stw r3,136(sp) 4b26c: 8922703a and r17,r17,r4 4b270: 002b883a mov r21,zero 4b274: 103f2f1e bne r2,zero,4af34 <__alt_data_end+0xfffd8f34> 4b278: 803e2f26 beq r16,zero,4ab38 <__alt_data_end+0xfffd8b38> 4b27c: 0027883a mov r19,zero 4b280: 9cc00c04 addi r19,r19,48 4b284: dcc019c5 stb r19,103(sp) 4b288: dd002817 ldw r20,160(sp) 4b28c: ddc019c4 addi r23,sp,103 4b290: 003e2c06 br 4ab44 <__alt_data_end+0xfffd8b44> 4b294: 9cc03fcc andi r19,r19,255 4b298: b811883a mov r8,r23 4b29c: 9802571e bne r19,zero,4bbfc <___vfiprintf_internal_r+0x14c4> 4b2a0: 18005726 beq r3,zero,4b400 <___vfiprintf_internal_r+0xcc8> 4b2a4: 04c00044 movi r19,1 4b2a8: d8c01005 stb r3,64(sp) 4b2ac: d8001d85 stb zero,118(sp) 4b2b0: 9829883a mov r20,r19 4b2b4: ddc01004 addi r23,sp,64 4b2b8: 003f0a06 br 4aee4 <__alt_data_end+0xfffd8ee4> 4b2bc: d9402017 ldw r5,128(sp) 4b2c0: d9002117 ldw r4,132(sp) 4b2c4: d9801a04 addi r6,sp,104 4b2c8: da802a15 stw r10,168(sp) 4b2cc: 004a6240 call 4a624 <__sprint_r.part.0> 4b2d0: da802a17 ldw r10,168(sp) 4b2d4: 1000501e bne r2,zero,4b418 <___vfiprintf_internal_r+0xce0> 4b2d8: d9801b17 ldw r6,108(sp) 4b2dc: d8801c17 ldw r2,112(sp) 4b2e0: d811883a mov r8,sp 4b2e4: 31000044 addi r4,r6,1 4b2e8: 003e3606 br 4abc4 <__alt_data_end+0xfffd8bc4> 4b2ec: d9001b17 ldw r4,108(sp) 4b2f0: d8801c17 ldw r2,112(sp) 4b2f4: 21400044 addi r5,r4,1 4b2f8: d9801d87 ldb r6,118(sp) 4b2fc: 303e5226 beq r6,zero,4ac48 <__alt_data_end+0xfffd8c48> 4b300: 01800044 movi r6,1 4b304: d9001d84 addi r4,sp,118 4b308: 1185883a add r2,r2,r6 4b30c: 41000015 stw r4,0(r8) 4b310: 41800115 stw r6,4(r8) 4b314: d8801c15 stw r2,112(sp) 4b318: d9401b15 stw r5,108(sp) 4b31c: 010001c4 movi r4,7 4b320: 2140b00e bge r4,r5,4b5e4 <___vfiprintf_internal_r+0xeac> 4b324: 1000f61e bne r2,zero,4b700 <___vfiprintf_internal_r+0xfc8> 4b328: 3800b31e bne r7,zero,4b5f8 <___vfiprintf_internal_r+0xec0> 4b32c: 0009883a mov r4,zero 4b330: 300b883a mov r5,r6 4b334: d811883a mov r8,sp 4b338: 01802004 movi r6,128 4b33c: 19be5226 beq r3,r6,4ac88 <__alt_data_end+0xfffd8c88> 4b340: 8521c83a sub r16,r16,r20 4b344: 043e790e bge zero,r16,4ad2c <__alt_data_end+0xfffd8d2c> 4b348: 05400404 movi r21,16 4b34c: ac01b00e bge r21,r16,4ba10 <___vfiprintf_internal_r+0x12d8> 4b350: 01400174 movhi r5,5 4b354: 2948a804 addi r5,r5,8864 4b358: d9402315 stw r5,140(sp) 4b35c: 070001c4 movi fp,7 4b360: 00000506 br 4b378 <___vfiprintf_internal_r+0xc40> 4b364: 21400084 addi r5,r4,2 4b368: 42000204 addi r8,r8,8 4b36c: 1809883a mov r4,r3 4b370: 843ffc04 addi r16,r16,-16 4b374: ac000d0e bge r21,r16,4b3ac <___vfiprintf_internal_r+0xc74> 4b378: 10800404 addi r2,r2,16 4b37c: 20c00044 addi r3,r4,1 4b380: 44800015 stw r18,0(r8) 4b384: 45400115 stw r21,4(r8) 4b388: d8801c15 stw r2,112(sp) 4b38c: d8c01b15 stw r3,108(sp) 4b390: e0fff40e bge fp,r3,4b364 <__alt_data_end+0xfffd9364> 4b394: 1000101e bne r2,zero,4b3d8 <___vfiprintf_internal_r+0xca0> 4b398: 843ffc04 addi r16,r16,-16 4b39c: 01400044 movi r5,1 4b3a0: 0009883a mov r4,zero 4b3a4: d811883a mov r8,sp 4b3a8: ac3ff316 blt r21,r16,4b378 <__alt_data_end+0xfffd9378> 4b3ac: d8c02317 ldw r3,140(sp) 4b3b0: 1405883a add r2,r2,r16 4b3b4: 44000115 stw r16,4(r8) 4b3b8: 40c00015 stw r3,0(r8) 4b3bc: d8801c15 stw r2,112(sp) 4b3c0: d9401b15 stw r5,108(sp) 4b3c4: 00c001c4 movi r3,7 4b3c8: 19401916 blt r3,r5,4b430 <___vfiprintf_internal_r+0xcf8> 4b3cc: 42000204 addi r8,r8,8 4b3d0: 29400044 addi r5,r5,1 4b3d4: 003e5506 br 4ad2c <__alt_data_end+0xfffd8d2c> 4b3d8: d9402017 ldw r5,128(sp) 4b3dc: d9002117 ldw r4,132(sp) 4b3e0: d9801a04 addi r6,sp,104 4b3e4: 004a6240 call 4a624 <__sprint_r.part.0> 4b3e8: 10000b1e bne r2,zero,4b418 <___vfiprintf_internal_r+0xce0> 4b3ec: d9001b17 ldw r4,108(sp) 4b3f0: d8801c17 ldw r2,112(sp) 4b3f4: d811883a mov r8,sp 4b3f8: 21400044 addi r5,r4,1 4b3fc: 003fdc06 br 4b370 <__alt_data_end+0xfffd9370> 4b400: d8801c17 ldw r2,112(sp) 4b404: 10000426 beq r2,zero,4b418 <___vfiprintf_internal_r+0xce0> 4b408: d9402017 ldw r5,128(sp) 4b40c: d9002117 ldw r4,132(sp) 4b410: d9801a04 addi r6,sp,104 4b414: 004a6240 call 4a624 <__sprint_r.part.0> 4b418: d9402017 ldw r5,128(sp) 4b41c: 2880030b ldhu r2,12(r5) 4b420: 1080100c andi r2,r2,64 4b424: 10014d1e bne r2,zero,4b95c <___vfiprintf_internal_r+0x1224> 4b428: d8802417 ldw r2,144(sp) 4b42c: 003d9706 br 4aa8c <__alt_data_end+0xfffd8a8c> 4b430: 1000d21e bne r2,zero,4b77c <___vfiprintf_internal_r+0x1044> 4b434: 00c00044 movi r3,1 4b438: a005883a mov r2,r20 4b43c: ddc00015 stw r23,0(sp) 4b440: dd000115 stw r20,4(sp) 4b444: dd001c15 stw r20,112(sp) 4b448: d8c01b15 stw r3,108(sp) 4b44c: d811883a mov r8,sp 4b450: 42000204 addi r8,r8,8 4b454: 8c40010c andi r17,r17,4 4b458: 88004026 beq r17,zero,4b55c <___vfiprintf_internal_r+0xe24> 4b45c: d9002517 ldw r4,148(sp) 4b460: 24e3c83a sub r17,r4,r19 4b464: 04403d0e bge zero,r17,4b55c <___vfiprintf_internal_r+0xe24> 4b468: 04000404 movi r16,16 4b46c: 8441a90e bge r16,r17,4bb14 <___vfiprintf_internal_r+0x13dc> 4b470: 00c00174 movhi r3,5 4b474: 18c8ac04 addi r3,r3,8880 4b478: d9001b17 ldw r4,108(sp) 4b47c: d8c02315 stw r3,140(sp) 4b480: 050001c4 movi r20,7 4b484: dd402117 ldw r21,132(sp) 4b488: ddc02017 ldw r23,128(sp) 4b48c: 00000506 br 4b4a4 <___vfiprintf_internal_r+0xd6c> 4b490: 21400084 addi r5,r4,2 4b494: 42000204 addi r8,r8,8 4b498: 1809883a mov r4,r3 4b49c: 8c7ffc04 addi r17,r17,-16 4b4a0: 84400f0e bge r16,r17,4b4e0 <___vfiprintf_internal_r+0xda8> 4b4a4: 01400174 movhi r5,5 4b4a8: 10800404 addi r2,r2,16 4b4ac: 20c00044 addi r3,r4,1 4b4b0: 2948ac04 addi r5,r5,8880 4b4b4: 41400015 stw r5,0(r8) 4b4b8: 44000115 stw r16,4(r8) 4b4bc: d8801c15 stw r2,112(sp) 4b4c0: d8c01b15 stw r3,108(sp) 4b4c4: a0fff20e bge r20,r3,4b490 <__alt_data_end+0xfffd9490> 4b4c8: 1000141e bne r2,zero,4b51c <___vfiprintf_internal_r+0xde4> 4b4cc: 8c7ffc04 addi r17,r17,-16 4b4d0: 01400044 movi r5,1 4b4d4: 0009883a mov r4,zero 4b4d8: d811883a mov r8,sp 4b4dc: 847ff116 blt r16,r17,4b4a4 <__alt_data_end+0xfffd94a4> 4b4e0: d8c02317 ldw r3,140(sp) 4b4e4: 1445883a add r2,r2,r17 4b4e8: 44400115 stw r17,4(r8) 4b4ec: 40c00015 stw r3,0(r8) 4b4f0: d8801c15 stw r2,112(sp) 4b4f4: d9401b15 stw r5,108(sp) 4b4f8: 00c001c4 movi r3,7 4b4fc: 1940170e bge r3,r5,4b55c <___vfiprintf_internal_r+0xe24> 4b500: 1000101e bne r2,zero,4b544 <___vfiprintf_internal_r+0xe0c> 4b504: d8802517 ldw r2,148(sp) 4b508: 14c11616 blt r2,r19,4b964 <___vfiprintf_internal_r+0x122c> 4b50c: d9002417 ldw r4,144(sp) 4b510: 2089883a add r4,r4,r2 4b514: d9002415 stw r4,144(sp) 4b518: 003e1806 br 4ad7c <__alt_data_end+0xfffd8d7c> 4b51c: d9801a04 addi r6,sp,104 4b520: b80b883a mov r5,r23 4b524: a809883a mov r4,r21 4b528: 004a6240 call 4a624 <__sprint_r.part.0> 4b52c: 103fba1e bne r2,zero,4b418 <__alt_data_end+0xfffd9418> 4b530: d9001b17 ldw r4,108(sp) 4b534: d8801c17 ldw r2,112(sp) 4b538: d811883a mov r8,sp 4b53c: 21400044 addi r5,r4,1 4b540: 003fd606 br 4b49c <__alt_data_end+0xfffd949c> 4b544: d9402017 ldw r5,128(sp) 4b548: d9002117 ldw r4,132(sp) 4b54c: d9801a04 addi r6,sp,104 4b550: 004a6240 call 4a624 <__sprint_r.part.0> 4b554: 103fb01e bne r2,zero,4b418 <__alt_data_end+0xfffd9418> 4b558: d8801c17 ldw r2,112(sp) 4b55c: d8c02517 ldw r3,148(sp) 4b560: 1cc0010e bge r3,r19,4b568 <___vfiprintf_internal_r+0xe30> 4b564: 9807883a mov r3,r19 4b568: d9002417 ldw r4,144(sp) 4b56c: 20c9883a add r4,r4,r3 4b570: d9002415 stw r4,144(sp) 4b574: 103e0126 beq r2,zero,4ad7c <__alt_data_end+0xfffd8d7c> 4b578: d9402017 ldw r5,128(sp) 4b57c: d9002117 ldw r4,132(sp) 4b580: d9801a04 addi r6,sp,104 4b584: 004a6240 call 4a624 <__sprint_r.part.0> 4b588: 103dfc26 beq r2,zero,4ad7c <__alt_data_end+0xfffd8d7c> 4b58c: 003fa206 br 4b418 <__alt_data_end+0xfffd9418> 4b590: d9402017 ldw r5,128(sp) 4b594: d9002117 ldw r4,132(sp) 4b598: d9801a04 addi r6,sp,104 4b59c: d9c02b15 stw r7,172(sp) 4b5a0: 004a6240 call 4a624 <__sprint_r.part.0> 4b5a4: d9c02b17 ldw r7,172(sp) 4b5a8: 103f9b1e bne r2,zero,4b418 <__alt_data_end+0xfffd9418> 4b5ac: d9001b17 ldw r4,108(sp) 4b5b0: d8801c17 ldw r2,112(sp) 4b5b4: d811883a mov r8,sp 4b5b8: 21800044 addi r6,r4,1 4b5bc: 003dbf06 br 4acbc <__alt_data_end+0xfffd8cbc> 4b5c0: 1000d81e bne r2,zero,4b924 <___vfiprintf_internal_r+0x11ec> 4b5c4: d9001d87 ldb r4,118(sp) 4b5c8: 20000a26 beq r4,zero,4b5f4 <___vfiprintf_internal_r+0xebc> 4b5cc: 00800044 movi r2,1 4b5d0: d9001d84 addi r4,sp,118 4b5d4: 100b883a mov r5,r2 4b5d8: d9000015 stw r4,0(sp) 4b5dc: d8800115 stw r2,4(sp) 4b5e0: d811883a mov r8,sp 4b5e4: 2809883a mov r4,r5 4b5e8: 42000204 addi r8,r8,8 4b5ec: 29400044 addi r5,r5,1 4b5f0: 003d9506 br 4ac48 <__alt_data_end+0xfffd8c48> 4b5f4: 3800fd26 beq r7,zero,4b9ec <___vfiprintf_internal_r+0x12b4> 4b5f8: 00800084 movi r2,2 4b5fc: d9001d04 addi r4,sp,116 4b600: d9000015 stw r4,0(sp) 4b604: d8800115 stw r2,4(sp) 4b608: 01400044 movi r5,1 4b60c: d811883a mov r8,sp 4b610: 2809883a mov r4,r5 4b614: 42000204 addi r8,r8,8 4b618: 29400044 addi r5,r5,1 4b61c: 003f4606 br 4b338 <__alt_data_end+0xfffd9338> 4b620: d8802517 ldw r2,148(sp) 4b624: 14c0010e bge r2,r19,4b62c <___vfiprintf_internal_r+0xef4> 4b628: 9805883a mov r2,r19 4b62c: d9402417 ldw r5,144(sp) 4b630: 288b883a add r5,r5,r2 4b634: d9402415 stw r5,144(sp) 4b638: 003dd006 br 4ad7c <__alt_data_end+0xfffd8d7c> 4b63c: d8001d85 stb zero,118(sp) 4b640: 80005d16 blt r16,zero,4b7b8 <___vfiprintf_internal_r+0x1080> 4b644: 00ffdfc4 movi r3,-129 4b648: 9d04b03a or r2,r19,r20 4b64c: 88e2703a and r17,r17,r3 4b650: 103d3726 beq r2,zero,4ab30 <__alt_data_end+0xfffd8b30> 4b654: 002b883a mov r21,zero 4b658: d9002617 ldw r4,152(sp) 4b65c: ddc01a04 addi r23,sp,104 4b660: 988003cc andi r2,r19,15 4b664: a006973a slli r3,r20,28 4b668: 2085883a add r2,r4,r2 4b66c: 9826d13a srli r19,r19,4 4b670: 10800003 ldbu r2,0(r2) 4b674: a028d13a srli r20,r20,4 4b678: bdffffc4 addi r23,r23,-1 4b67c: 1ce6b03a or r19,r3,r19 4b680: b8800005 stb r2,0(r23) 4b684: 9d04b03a or r2,r19,r20 4b688: 103ff51e bne r2,zero,4b660 <__alt_data_end+0xfffd9660> 4b68c: d8801e17 ldw r2,120(sp) 4b690: 15e9c83a sub r20,r2,r23 4b694: 003d2b06 br 4ab44 <__alt_data_end+0xfffd8b44> 4b698: d9402017 ldw r5,128(sp) 4b69c: d9002117 ldw r4,132(sp) 4b6a0: d9801a04 addi r6,sp,104 4b6a4: 004a6240 call 4a624 <__sprint_r.part.0> 4b6a8: 103f5b1e bne r2,zero,4b418 <__alt_data_end+0xfffd9418> 4b6ac: d8801c17 ldw r2,112(sp) 4b6b0: d811883a mov r8,sp 4b6b4: 003f6706 br 4b454 <__alt_data_end+0xfffd9454> 4b6b8: d9402017 ldw r5,128(sp) 4b6bc: d9002117 ldw r4,132(sp) 4b6c0: d9801a04 addi r6,sp,104 4b6c4: 004a6240 call 4a624 <__sprint_r.part.0> 4b6c8: 103f531e bne r2,zero,4b418 <__alt_data_end+0xfffd9418> 4b6cc: d811883a mov r8,sp 4b6d0: 003cd906 br 4aa38 <__alt_data_end+0xfffd8a38> 4b6d4: 10803fcc andi r2,r2,255 4b6d8: 1080201c xori r2,r2,128 4b6dc: 10bfe004 addi r2,r2,-128 4b6e0: 00c00c04 movi r3,48 4b6e4: 10ffe926 beq r2,r3,4b68c <__alt_data_end+0xfffd968c> 4b6e8: b8ffffc5 stb r3,-1(r23) 4b6ec: d8c01e17 ldw r3,120(sp) 4b6f0: b8bfffc4 addi r2,r23,-1 4b6f4: 102f883a mov r23,r2 4b6f8: 18a9c83a sub r20,r3,r2 4b6fc: 003d1106 br 4ab44 <__alt_data_end+0xfffd8b44> 4b700: d9402017 ldw r5,128(sp) 4b704: d9002117 ldw r4,132(sp) 4b708: d9801a04 addi r6,sp,104 4b70c: d8c02a15 stw r3,168(sp) 4b710: d9c02b15 stw r7,172(sp) 4b714: 004a6240 call 4a624 <__sprint_r.part.0> 4b718: d8c02a17 ldw r3,168(sp) 4b71c: d9c02b17 ldw r7,172(sp) 4b720: 103f3d1e bne r2,zero,4b418 <__alt_data_end+0xfffd9418> 4b724: d9001b17 ldw r4,108(sp) 4b728: d8801c17 ldw r2,112(sp) 4b72c: d811883a mov r8,sp 4b730: 21400044 addi r5,r4,1 4b734: 003d4406 br 4ac48 <__alt_data_end+0xfffd8c48> 4b738: d9402017 ldw r5,128(sp) 4b73c: d9002117 ldw r4,132(sp) 4b740: d9801a04 addi r6,sp,104 4b744: d8c02a15 stw r3,168(sp) 4b748: 004a6240 call 4a624 <__sprint_r.part.0> 4b74c: d8c02a17 ldw r3,168(sp) 4b750: 103f311e bne r2,zero,4b418 <__alt_data_end+0xfffd9418> 4b754: d9001b17 ldw r4,108(sp) 4b758: d8801c17 ldw r2,112(sp) 4b75c: d811883a mov r8,sp 4b760: 21400044 addi r5,r4,1 4b764: 003ef406 br 4b338 <__alt_data_end+0xfffd9338> 4b768: 1000bd1e bne r2,zero,4ba60 <___vfiprintf_internal_r+0x1328> 4b76c: 01400044 movi r5,1 4b770: 0009883a mov r4,zero 4b774: d811883a mov r8,sp 4b778: 003ef106 br 4b340 <__alt_data_end+0xfffd9340> 4b77c: d9402017 ldw r5,128(sp) 4b780: d9002117 ldw r4,132(sp) 4b784: d9801a04 addi r6,sp,104 4b788: 004a6240 call 4a624 <__sprint_r.part.0> 4b78c: 103f221e bne r2,zero,4b418 <__alt_data_end+0xfffd9418> 4b790: d9401b17 ldw r5,108(sp) 4b794: d8801c17 ldw r2,112(sp) 4b798: d811883a mov r8,sp 4b79c: 29400044 addi r5,r5,1 4b7a0: 003d6206 br 4ad2c <__alt_data_end+0xfffd8d2c> 4b7a4: 01400174 movhi r5,5 4b7a8: 29484704 addi r5,r5,8476 4b7ac: d9402615 stw r5,152(sp) 4b7b0: d8c02215 stw r3,136(sp) 4b7b4: 1023883a mov r17,r2 4b7b8: 9d04b03a or r2,r19,r20 4b7bc: 103fa51e bne r2,zero,4b654 <__alt_data_end+0xfffd9654> 4b7c0: 002b883a mov r21,zero 4b7c4: 00800084 movi r2,2 4b7c8: 003e4a06 br 4b0f4 <__alt_data_end+0xfffd90f4> 4b7cc: 01400174 movhi r5,5 4b7d0: 29484704 addi r5,r5,8476 4b7d4: 002b883a mov r21,zero 4b7d8: d9402615 stw r5,152(sp) 4b7dc: 003f9e06 br 4b658 <__alt_data_end+0xfffd9658> 4b7e0: d9402217 ldw r5,136(sp) 4b7e4: d8001d85 stb zero,118(sp) 4b7e8: 0029883a mov r20,zero 4b7ec: 28800104 addi r2,r5,4 4b7f0: 2cc00017 ldw r19,0(r5) 4b7f4: 803e3a16 blt r16,zero,4b0e0 <__alt_data_end+0xfffd90e0> 4b7f8: 00ffdfc4 movi r3,-129 4b7fc: d8802215 stw r2,136(sp) 4b800: 88e2703a and r17,r17,r3 4b804: 002b883a mov r21,zero 4b808: 983e9b26 beq r19,zero,4b278 <__alt_data_end+0xfffd9278> 4b80c: 00800244 movi r2,9 4b810: 14fdc936 bltu r2,r19,4af38 <__alt_data_end+0xfffd8f38> 4b814: 003e9a06 br 4b280 <__alt_data_end+0xfffd9280> 4b818: 00800c04 movi r2,48 4b81c: d8c01d45 stb r3,117(sp) 4b820: d8801d05 stb r2,116(sp) 4b824: d8001d85 stb zero,118(sp) 4b828: 88c00094 ori r3,r17,2 4b82c: 80009c16 blt r16,zero,4baa0 <___vfiprintf_internal_r+0x1368> 4b830: 00bfdfc4 movi r2,-129 4b834: 88a2703a and r17,r17,r2 4b838: 8c400094 ori r17,r17,2 4b83c: 002b883a mov r21,zero 4b840: 003f8506 br 4b658 <__alt_data_end+0xfffd9658> 4b844: b029883a mov r20,r22 4b848: 003c0b06 br 4a878 <__alt_data_end+0xfffd8878> 4b84c: 04e7c83a sub r19,zero,r19 4b850: 05400b44 movi r21,45 4b854: 9804c03a cmpne r2,r19,zero 4b858: 0529c83a sub r20,zero,r20 4b85c: dd401d85 stb r21,118(sp) 4b860: a0a9c83a sub r20,r20,r2 4b864: 80009716 blt r16,zero,4bac4 <___vfiprintf_internal_r+0x138c> 4b868: 00bfdfc4 movi r2,-129 4b86c: 88a2703a and r17,r17,r2 4b870: 003db006 br 4af34 <__alt_data_end+0xfffd8f34> 4b874: b0c00007 ldb r3,0(r22) 4b878: 003c0c06 br 4a8ac <__alt_data_end+0xfffd88ac> 4b87c: 8880100c andi r2,r17,64 4b880: d8001d85 stb zero,118(sp) 4b884: 1000461e bne r2,zero,4b9a0 <___vfiprintf_internal_r+0x1268> 4b888: d9002217 ldw r4,136(sp) 4b88c: 0029883a mov r20,zero 4b890: 20800104 addi r2,r4,4 4b894: 24c00017 ldw r19,0(r4) 4b898: 803df80e bge r16,zero,4b07c <__alt_data_end+0xfffd907c> 4b89c: 9d06b03a or r3,r19,r20 4b8a0: d8802215 stw r2,136(sp) 4b8a4: 183d5e1e bne r3,zero,4ae20 <__alt_data_end+0xfffd8e20> 4b8a8: 002b883a mov r21,zero 4b8ac: 0005883a mov r2,zero 4b8b0: 003e1006 br 4b0f4 <__alt_data_end+0xfffd90f4> 4b8b4: 8880040c andi r2,r17,16 4b8b8: 1000321e bne r2,zero,4b984 <___vfiprintf_internal_r+0x124c> 4b8bc: 8c40100c andi r17,r17,64 4b8c0: 88008d26 beq r17,zero,4baf8 <___vfiprintf_internal_r+0x13c0> 4b8c4: d9402217 ldw r5,136(sp) 4b8c8: d8c02417 ldw r3,144(sp) 4b8cc: 28800017 ldw r2,0(r5) 4b8d0: 29400104 addi r5,r5,4 4b8d4: d9402215 stw r5,136(sp) 4b8d8: 10c0000d sth r3,0(r2) 4b8dc: 003bca06 br 4a808 <__alt_data_end+0xfffd8808> 4b8e0: 8880100c andi r2,r17,64 4b8e4: 10003a26 beq r2,zero,4b9d0 <___vfiprintf_internal_r+0x1298> 4b8e8: d8802217 ldw r2,136(sp) 4b8ec: 14c0000f ldh r19,0(r2) 4b8f0: 10800104 addi r2,r2,4 4b8f4: d8802215 stw r2,136(sp) 4b8f8: 9829d7fa srai r20,r19,31 4b8fc: a005883a mov r2,r20 4b900: 003d8506 br 4af18 <__alt_data_end+0xfffd8f18> 4b904: 8880100c andi r2,r17,64 4b908: 10002b26 beq r2,zero,4b9b8 <___vfiprintf_internal_r+0x1280> 4b90c: d8802217 ldw r2,136(sp) 4b910: 0029883a mov r20,zero 4b914: 14c0000b ldhu r19,0(r2) 4b918: 10800104 addi r2,r2,4 4b91c: d8802215 stw r2,136(sp) 4b920: 003d5d06 br 4ae98 <__alt_data_end+0xfffd8e98> 4b924: d9402017 ldw r5,128(sp) 4b928: d9002117 ldw r4,132(sp) 4b92c: d9801a04 addi r6,sp,104 4b930: d8c02a15 stw r3,168(sp) 4b934: d9c02b15 stw r7,172(sp) 4b938: 004a6240 call 4a624 <__sprint_r.part.0> 4b93c: d8c02a17 ldw r3,168(sp) 4b940: d9c02b17 ldw r7,172(sp) 4b944: 103eb41e bne r2,zero,4b418 <__alt_data_end+0xfffd9418> 4b948: d9001b17 ldw r4,108(sp) 4b94c: d8801c17 ldw r2,112(sp) 4b950: d811883a mov r8,sp 4b954: 21400044 addi r5,r4,1 4b958: 003e6706 br 4b2f8 <__alt_data_end+0xfffd92f8> 4b95c: 00bfffc4 movi r2,-1 4b960: 003c4a06 br 4aa8c <__alt_data_end+0xfffd8a8c> 4b964: 9805883a mov r2,r19 4b968: 003ee806 br 4b50c <__alt_data_end+0xfffd950c> 4b96c: d8c02217 ldw r3,136(sp) 4b970: 0029883a mov r20,zero 4b974: 18800104 addi r2,r3,4 4b978: 1cc0000b ldhu r19,0(r3) 4b97c: 803f9e0e bge r16,zero,4b7f8 <__alt_data_end+0xfffd97f8> 4b980: 003dd706 br 4b0e0 <__alt_data_end+0xfffd90e0> 4b984: d8c02217 ldw r3,136(sp) 4b988: d9002417 ldw r4,144(sp) 4b98c: 18800017 ldw r2,0(r3) 4b990: 18c00104 addi r3,r3,4 4b994: d8c02215 stw r3,136(sp) 4b998: 11000015 stw r4,0(r2) 4b99c: 003b9a06 br 4a808 <__alt_data_end+0xfffd8808> 4b9a0: d8c02217 ldw r3,136(sp) 4b9a4: 0029883a mov r20,zero 4b9a8: 18800104 addi r2,r3,4 4b9ac: 1cc0000b ldhu r19,0(r3) 4b9b0: 803db20e bge r16,zero,4b07c <__alt_data_end+0xfffd907c> 4b9b4: 003fb906 br 4b89c <__alt_data_end+0xfffd989c> 4b9b8: d9002217 ldw r4,136(sp) 4b9bc: 0029883a mov r20,zero 4b9c0: 24c00017 ldw r19,0(r4) 4b9c4: 21000104 addi r4,r4,4 4b9c8: d9002215 stw r4,136(sp) 4b9cc: 003d3206 br 4ae98 <__alt_data_end+0xfffd8e98> 4b9d0: d8c02217 ldw r3,136(sp) 4b9d4: 1cc00017 ldw r19,0(r3) 4b9d8: 18c00104 addi r3,r3,4 4b9dc: d8c02215 stw r3,136(sp) 4b9e0: 9829d7fa srai r20,r19,31 4b9e4: a005883a mov r2,r20 4b9e8: 003d4b06 br 4af18 <__alt_data_end+0xfffd8f18> 4b9ec: 0009883a mov r4,zero 4b9f0: 01400044 movi r5,1 4b9f4: d811883a mov r8,sp 4b9f8: 003e4f06 br 4b338 <__alt_data_end+0xfffd9338> 4b9fc: d8c02215 stw r3,136(sp) 4ba00: 002b883a mov r21,zero 4ba04: 003db806 br 4b0e8 <__alt_data_end+0xfffd90e8> 4ba08: d811883a mov r8,sp 4ba0c: 003e9606 br 4b468 <__alt_data_end+0xfffd9468> 4ba10: 01000174 movhi r4,5 4ba14: 2108a804 addi r4,r4,8864 4ba18: d9002315 stw r4,140(sp) 4ba1c: 003e6306 br 4b3ac <__alt_data_end+0xfffd93ac> 4ba20: b0c00043 ldbu r3,1(r22) 4ba24: 8c400814 ori r17,r17,32 4ba28: b5800044 addi r22,r22,1 4ba2c: 18c03fcc andi r3,r3,255 4ba30: 18c0201c xori r3,r3,128 4ba34: 18ffe004 addi r3,r3,-128 4ba38: 003b9c06 br 4a8ac <__alt_data_end+0xfffd88ac> 4ba3c: b809883a mov r4,r23 4ba40: da002a15 stw r8,168(sp) 4ba44: 0042d400 call 42d40 4ba48: 1029883a mov r20,r2 4ba4c: dd401d83 ldbu r21,118(sp) 4ba50: df002215 stw fp,136(sp) 4ba54: 0021883a mov r16,zero 4ba58: da002a17 ldw r8,168(sp) 4ba5c: 003c3906 br 4ab44 <__alt_data_end+0xfffd8b44> 4ba60: d9402017 ldw r5,128(sp) 4ba64: d9002117 ldw r4,132(sp) 4ba68: d9801a04 addi r6,sp,104 4ba6c: 004a6240 call 4a624 <__sprint_r.part.0> 4ba70: 103e691e bne r2,zero,4b418 <__alt_data_end+0xfffd9418> 4ba74: d9001b17 ldw r4,108(sp) 4ba78: d8801c17 ldw r2,112(sp) 4ba7c: d811883a mov r8,sp 4ba80: 21400044 addi r5,r4,1 4ba84: 003e2e06 br 4b340 <__alt_data_end+0xfffd9340> 4ba88: 01000174 movhi r4,5 4ba8c: 2108ac04 addi r4,r4,8880 4ba90: d9002315 stw r4,140(sp) 4ba94: d9001b17 ldw r4,108(sp) 4ba98: 21000044 addi r4,r4,1 4ba9c: 003c5e06 br 4ac18 <__alt_data_end+0xfffd8c18> 4baa0: 002b883a mov r21,zero 4baa4: 00800084 movi r2,2 4baa8: 10803fcc andi r2,r2,255 4baac: 01000044 movi r4,1 4bab0: 11002b26 beq r2,r4,4bb60 <___vfiprintf_internal_r+0x1428> 4bab4: 01000084 movi r4,2 4bab8: 11002b1e bne r2,r4,4bb68 <___vfiprintf_internal_r+0x1430> 4babc: 1823883a mov r17,r3 4bac0: 003ee506 br 4b658 <__alt_data_end+0xfffd9658> 4bac4: 8807883a mov r3,r17 4bac8: 00800044 movi r2,1 4bacc: 003ff606 br 4baa8 <__alt_data_end+0xfffd9aa8> 4bad0: 00800184 movi r2,6 4bad4: 1400012e bgeu r2,r16,4badc <___vfiprintf_internal_r+0x13a4> 4bad8: 1021883a mov r16,r2 4badc: 8029883a mov r20,r16 4bae0: 8027883a mov r19,r16 4bae4: 80002216 blt r16,zero,4bb70 <___vfiprintf_internal_r+0x1438> 4bae8: 05c00174 movhi r23,5 4baec: df002215 stw fp,136(sp) 4baf0: bdc84c04 addi r23,r23,8496 4baf4: 003cfb06 br 4aee4 <__alt_data_end+0xfffd8ee4> 4baf8: d9002217 ldw r4,136(sp) 4bafc: d9402417 ldw r5,144(sp) 4bb00: 20800017 ldw r2,0(r4) 4bb04: 21000104 addi r4,r4,4 4bb08: d9002215 stw r4,136(sp) 4bb0c: 11400015 stw r5,0(r2) 4bb10: 003b3d06 br 4a808 <__alt_data_end+0xfffd8808> 4bb14: 01400174 movhi r5,5 4bb18: 2948ac04 addi r5,r5,8880 4bb1c: d9402315 stw r5,140(sp) 4bb20: d9401b17 ldw r5,108(sp) 4bb24: 29400044 addi r5,r5,1 4bb28: 003e6d06 br 4b4e0 <__alt_data_end+0xfffd94e0> 4bb2c: 8029883a mov r20,r16 4bb30: dd401d83 ldbu r21,118(sp) 4bb34: df002215 stw fp,136(sp) 4bb38: 0021883a mov r16,zero 4bb3c: 003c0106 br 4ab44 <__alt_data_end+0xfffd8b44> 4bb40: 00c00174 movhi r3,5 4bb44: 18c8a804 addi r3,r3,8864 4bb48: d8c02315 stw r3,140(sp) 4bb4c: 280d883a mov r6,r5 4bb50: 003c6906 br 4acf8 <__alt_data_end+0xfffd8cf8> 4bb54: 802d883a mov r22,r16 4bb58: 0021883a mov r16,zero 4bb5c: 003b5406 br 4a8b0 <__alt_data_end+0xfffd88b0> 4bb60: 1823883a mov r17,r3 4bb64: 003cf306 br 4af34 <__alt_data_end+0xfffd8f34> 4bb68: 1823883a mov r17,r3 4bb6c: 003cad06 br 4ae24 <__alt_data_end+0xfffd8e24> 4bb70: 0027883a mov r19,zero 4bb74: 003fdc06 br 4bae8 <__alt_data_end+0xfffd9ae8> 4bb78: d9402217 ldw r5,136(sp) 4bb7c: 8005883a mov r2,r16 4bb80: b0c00043 ldbu r3,1(r22) 4bb84: 2c000017 ldw r16,0(r5) 4bb88: 29000104 addi r4,r5,4 4bb8c: d9002215 stw r4,136(sp) 4bb90: 102d883a mov r22,r2 4bb94: 803fa50e bge r16,zero,4ba2c <__alt_data_end+0xfffd9a2c> 4bb98: 18c03fcc andi r3,r3,255 4bb9c: 18c0201c xori r3,r3,128 4bba0: 043fffc4 movi r16,-1 4bba4: 18ffe004 addi r3,r3,-128 4bba8: 003b4006 br 4a8ac <__alt_data_end+0xfffd88ac> 4bbac: d9402303 ldbu r5,140(sp) 4bbb0: d9401d85 stb r5,118(sp) 4bbb4: 003cae06 br 4ae70 <__alt_data_end+0xfffd8e70> 4bbb8: d8c02303 ldbu r3,140(sp) 4bbbc: d8c01d85 stb r3,118(sp) 4bbc0: 003d1406 br 4b014 <__alt_data_end+0xfffd9014> 4bbc4: d8c02303 ldbu r3,140(sp) 4bbc8: d8c01d85 stb r3,118(sp) 4bbcc: 003cca06 br 4aef8 <__alt_data_end+0xfffd8ef8> 4bbd0: 8880004c andi r2,r17,1 4bbd4: 002b883a mov r21,zero 4bbd8: 10000526 beq r2,zero,4bbf0 <___vfiprintf_internal_r+0x14b8> 4bbdc: 00800c04 movi r2,48 4bbe0: d88019c5 stb r2,103(sp) 4bbe4: dd002817 ldw r20,160(sp) 4bbe8: ddc019c4 addi r23,sp,103 4bbec: 003bd506 br 4ab44 <__alt_data_end+0xfffd8b44> 4bbf0: 0029883a mov r20,zero 4bbf4: ddc01a04 addi r23,sp,104 4bbf8: 003bd206 br 4ab44 <__alt_data_end+0xfffd8b44> 4bbfc: d9002303 ldbu r4,140(sp) 4bc00: d9001d85 stb r4,118(sp) 4bc04: 003da606 br 4b2a0 <__alt_data_end+0xfffd92a0> 4bc08: d8c02303 ldbu r3,140(sp) 4bc0c: d8c01d85 stb r3,118(sp) 4bc10: 003c7606 br 4adec <__alt_data_end+0xfffd8dec> 4bc14: d8c02303 ldbu r3,140(sp) 4bc18: d8c01d85 stb r3,118(sp) 4bc1c: 003c6506 br 4adb4 <__alt_data_end+0xfffd8db4> 4bc20: d9002303 ldbu r4,140(sp) 4bc24: d9001d85 stb r4,118(sp) 4bc28: 003d3d06 br 4b120 <__alt_data_end+0xfffd9120> 4bc2c: d8c02303 ldbu r3,140(sp) 4bc30: d8c01d85 stb r3,118(sp) 4bc34: 003d1d06 br 4b0ac <__alt_data_end+0xfffd90ac> 4bc38: d8c02303 ldbu r3,140(sp) 4bc3c: d8c01d85 stb r3,118(sp) 4bc40: 003d0306 br 4b050 <__alt_data_end+0xfffd9050> 0004bc44 <__vfiprintf_internal>: 4bc44: 00800174 movhi r2,5 4bc48: 10905304 addi r2,r2,16716 4bc4c: 300f883a mov r7,r6 4bc50: 280d883a mov r6,r5 4bc54: 200b883a mov r5,r4 4bc58: 11000017 ldw r4,0(r2) 4bc5c: 004a7381 jmpi 4a738 <___vfiprintf_internal_r> 0004bc60 <__sbprintf>: 4bc60: 2880030b ldhu r2,12(r5) 4bc64: 2ac01917 ldw r11,100(r5) 4bc68: 2a80038b ldhu r10,14(r5) 4bc6c: 2a400717 ldw r9,28(r5) 4bc70: 2a000917 ldw r8,36(r5) 4bc74: defee204 addi sp,sp,-1144 4bc78: 00c10004 movi r3,1024 4bc7c: dc011a15 stw r16,1128(sp) 4bc80: 10bfff4c andi r2,r2,65533 4bc84: 2821883a mov r16,r5 4bc88: d8cb883a add r5,sp,r3 4bc8c: dc811c15 stw r18,1136(sp) 4bc90: dc411b15 stw r17,1132(sp) 4bc94: dfc11d15 stw ra,1140(sp) 4bc98: 2025883a mov r18,r4 4bc9c: d881030d sth r2,1036(sp) 4bca0: dac11915 stw r11,1124(sp) 4bca4: da81038d sth r10,1038(sp) 4bca8: da410715 stw r9,1052(sp) 4bcac: da010915 stw r8,1060(sp) 4bcb0: dec10015 stw sp,1024(sp) 4bcb4: dec10415 stw sp,1040(sp) 4bcb8: d8c10215 stw r3,1032(sp) 4bcbc: d8c10515 stw r3,1044(sp) 4bcc0: d8010615 stw zero,1048(sp) 4bcc4: 004a7380 call 4a738 <___vfiprintf_internal_r> 4bcc8: 1023883a mov r17,r2 4bccc: 10000416 blt r2,zero,4bce0 <__sbprintf+0x80> 4bcd0: d9410004 addi r5,sp,1024 4bcd4: 9009883a mov r4,r18 4bcd8: 0046dac0 call 46dac <_fflush_r> 4bcdc: 10000d1e bne r2,zero,4bd14 <__sbprintf+0xb4> 4bce0: d881030b ldhu r2,1036(sp) 4bce4: 1080100c andi r2,r2,64 4bce8: 10000326 beq r2,zero,4bcf8 <__sbprintf+0x98> 4bcec: 8080030b ldhu r2,12(r16) 4bcf0: 10801014 ori r2,r2,64 4bcf4: 8080030d sth r2,12(r16) 4bcf8: 8805883a mov r2,r17 4bcfc: dfc11d17 ldw ra,1140(sp) 4bd00: dc811c17 ldw r18,1136(sp) 4bd04: dc411b17 ldw r17,1132(sp) 4bd08: dc011a17 ldw r16,1128(sp) 4bd0c: dec11e04 addi sp,sp,1144 4bd10: f800283a ret 4bd14: 047fffc4 movi r17,-1 4bd18: 003ff106 br 4bce0 <__alt_data_end+0xfffd9ce0> 0004bd1c <__swbuf_r>: 4bd1c: defffb04 addi sp,sp,-20 4bd20: dcc00315 stw r19,12(sp) 4bd24: dc800215 stw r18,8(sp) 4bd28: dc000015 stw r16,0(sp) 4bd2c: dfc00415 stw ra,16(sp) 4bd30: dc400115 stw r17,4(sp) 4bd34: 2025883a mov r18,r4 4bd38: 2827883a mov r19,r5 4bd3c: 3021883a mov r16,r6 4bd40: 20000226 beq r4,zero,4bd4c <__swbuf_r+0x30> 4bd44: 20800e17 ldw r2,56(r4) 4bd48: 10004226 beq r2,zero,4be54 <__swbuf_r+0x138> 4bd4c: 80800617 ldw r2,24(r16) 4bd50: 8100030b ldhu r4,12(r16) 4bd54: 80800215 stw r2,8(r16) 4bd58: 2080020c andi r2,r4,8 4bd5c: 10003626 beq r2,zero,4be38 <__swbuf_r+0x11c> 4bd60: 80c00417 ldw r3,16(r16) 4bd64: 18003426 beq r3,zero,4be38 <__swbuf_r+0x11c> 4bd68: 2088000c andi r2,r4,8192 4bd6c: 9c403fcc andi r17,r19,255 4bd70: 10001a26 beq r2,zero,4bddc <__swbuf_r+0xc0> 4bd74: 80800017 ldw r2,0(r16) 4bd78: 81000517 ldw r4,20(r16) 4bd7c: 10c7c83a sub r3,r2,r3 4bd80: 1900200e bge r3,r4,4be04 <__swbuf_r+0xe8> 4bd84: 18c00044 addi r3,r3,1 4bd88: 81000217 ldw r4,8(r16) 4bd8c: 11400044 addi r5,r2,1 4bd90: 81400015 stw r5,0(r16) 4bd94: 213fffc4 addi r4,r4,-1 4bd98: 81000215 stw r4,8(r16) 4bd9c: 14c00005 stb r19,0(r2) 4bda0: 80800517 ldw r2,20(r16) 4bda4: 10c01e26 beq r2,r3,4be20 <__swbuf_r+0x104> 4bda8: 8080030b ldhu r2,12(r16) 4bdac: 1080004c andi r2,r2,1 4bdb0: 10000226 beq r2,zero,4bdbc <__swbuf_r+0xa0> 4bdb4: 00800284 movi r2,10 4bdb8: 88801926 beq r17,r2,4be20 <__swbuf_r+0x104> 4bdbc: 8805883a mov r2,r17 4bdc0: dfc00417 ldw ra,16(sp) 4bdc4: dcc00317 ldw r19,12(sp) 4bdc8: dc800217 ldw r18,8(sp) 4bdcc: dc400117 ldw r17,4(sp) 4bdd0: dc000017 ldw r16,0(sp) 4bdd4: dec00504 addi sp,sp,20 4bdd8: f800283a ret 4bddc: 81401917 ldw r5,100(r16) 4bde0: 00b7ffc4 movi r2,-8193 4bde4: 21080014 ori r4,r4,8192 4bde8: 2884703a and r2,r5,r2 4bdec: 80801915 stw r2,100(r16) 4bdf0: 80800017 ldw r2,0(r16) 4bdf4: 8100030d sth r4,12(r16) 4bdf8: 81000517 ldw r4,20(r16) 4bdfc: 10c7c83a sub r3,r2,r3 4be00: 193fe016 blt r3,r4,4bd84 <__alt_data_end+0xfffd9d84> 4be04: 800b883a mov r5,r16 4be08: 9009883a mov r4,r18 4be0c: 0046dac0 call 46dac <_fflush_r> 4be10: 1000071e bne r2,zero,4be30 <__swbuf_r+0x114> 4be14: 80800017 ldw r2,0(r16) 4be18: 00c00044 movi r3,1 4be1c: 003fda06 br 4bd88 <__alt_data_end+0xfffd9d88> 4be20: 800b883a mov r5,r16 4be24: 9009883a mov r4,r18 4be28: 0046dac0 call 46dac <_fflush_r> 4be2c: 103fe326 beq r2,zero,4bdbc <__alt_data_end+0xfffd9dbc> 4be30: 00bfffc4 movi r2,-1 4be34: 003fe206 br 4bdc0 <__alt_data_end+0xfffd9dc0> 4be38: 800b883a mov r5,r16 4be3c: 9009883a mov r4,r18 4be40: 004518c0 call 4518c <__swsetup_r> 4be44: 103ffa1e bne r2,zero,4be30 <__alt_data_end+0xfffd9e30> 4be48: 8100030b ldhu r4,12(r16) 4be4c: 80c00417 ldw r3,16(r16) 4be50: 003fc506 br 4bd68 <__alt_data_end+0xfffd9d68> 4be54: 00471980 call 47198 <__sinit> 4be58: 003fbc06 br 4bd4c <__alt_data_end+0xfffd9d4c> 0004be5c <__swbuf>: 4be5c: 00800174 movhi r2,5 4be60: 10905304 addi r2,r2,16716 4be64: 280d883a mov r6,r5 4be68: 200b883a mov r5,r4 4be6c: 11000017 ldw r4,0(r2) 4be70: 004bd1c1 jmpi 4bd1c <__swbuf_r> 0004be74 <_write_r>: 4be74: defffd04 addi sp,sp,-12 4be78: 2805883a mov r2,r5 4be7c: dc000015 stw r16,0(sp) 4be80: 04000174 movhi r16,5 4be84: dc400115 stw r17,4(sp) 4be88: 300b883a mov r5,r6 4be8c: 84177304 addi r16,r16,24012 4be90: 2023883a mov r17,r4 4be94: 380d883a mov r6,r7 4be98: 1009883a mov r4,r2 4be9c: dfc00215 stw ra,8(sp) 4bea0: 80000015 stw zero,0(r16) 4bea4: 004f0040 call 4f004 4bea8: 00ffffc4 movi r3,-1 4beac: 10c00526 beq r2,r3,4bec4 <_write_r+0x50> 4beb0: dfc00217 ldw ra,8(sp) 4beb4: dc400117 ldw r17,4(sp) 4beb8: dc000017 ldw r16,0(sp) 4bebc: dec00304 addi sp,sp,12 4bec0: f800283a ret 4bec4: 80c00017 ldw r3,0(r16) 4bec8: 183ff926 beq r3,zero,4beb0 <__alt_data_end+0xfffd9eb0> 4becc: 88c00015 stw r3,0(r17) 4bed0: 003ff706 br 4beb0 <__alt_data_end+0xfffd9eb0> 0004bed4 <_close_r>: 4bed4: defffd04 addi sp,sp,-12 4bed8: dc000015 stw r16,0(sp) 4bedc: 04000174 movhi r16,5 4bee0: dc400115 stw r17,4(sp) 4bee4: 84177304 addi r16,r16,24012 4bee8: 2023883a mov r17,r4 4beec: 2809883a mov r4,r5 4bef0: dfc00215 stw ra,8(sp) 4bef4: 80000015 stw zero,0(r16) 4bef8: 004e7ac0 call 4e7ac 4befc: 00ffffc4 movi r3,-1 4bf00: 10c00526 beq r2,r3,4bf18 <_close_r+0x44> 4bf04: dfc00217 ldw ra,8(sp) 4bf08: dc400117 ldw r17,4(sp) 4bf0c: dc000017 ldw r16,0(sp) 4bf10: dec00304 addi sp,sp,12 4bf14: f800283a ret 4bf18: 80c00017 ldw r3,0(r16) 4bf1c: 183ff926 beq r3,zero,4bf04 <__alt_data_end+0xfffd9f04> 4bf20: 88c00015 stw r3,0(r17) 4bf24: 003ff706 br 4bf04 <__alt_data_end+0xfffd9f04> 0004bf28 <_calloc_r>: 4bf28: defffe04 addi sp,sp,-8 4bf2c: 2805883a mov r2,r5 4bf30: dc000015 stw r16,0(sp) 4bf34: 300b883a mov r5,r6 4bf38: 2021883a mov r16,r4 4bf3c: 1009883a mov r4,r2 4bf40: dfc00115 stw ra,4(sp) 4bf44: 004d3dc0 call 4d3dc <__mulsi3> 4bf48: 100b883a mov r5,r2 4bf4c: 8009883a mov r4,r16 4bf50: 0047f040 call 47f04 <_malloc_r> 4bf54: 10002926 beq r2,zero,4bffc <_calloc_r+0xd4> 4bf58: 11bfff17 ldw r6,-4(r2) 4bf5c: 1021883a mov r16,r2 4bf60: 00bfff04 movi r2,-4 4bf64: 308c703a and r6,r6,r2 4bf68: 00c00904 movi r3,36 4bf6c: 308d883a add r6,r6,r2 4bf70: 19801636 bltu r3,r6,4bfcc <_calloc_r+0xa4> 4bf74: 008004c4 movi r2,19 4bf78: 11800b2e bgeu r2,r6,4bfa8 <_calloc_r+0x80> 4bf7c: 80000015 stw zero,0(r16) 4bf80: 80000115 stw zero,4(r16) 4bf84: 008006c4 movi r2,27 4bf88: 11801a2e bgeu r2,r6,4bff4 <_calloc_r+0xcc> 4bf8c: 80000215 stw zero,8(r16) 4bf90: 80000315 stw zero,12(r16) 4bf94: 30c0151e bne r6,r3,4bfec <_calloc_r+0xc4> 4bf98: 80000415 stw zero,16(r16) 4bf9c: 80800604 addi r2,r16,24 4bfa0: 80000515 stw zero,20(r16) 4bfa4: 00000106 br 4bfac <_calloc_r+0x84> 4bfa8: 8005883a mov r2,r16 4bfac: 10000015 stw zero,0(r2) 4bfb0: 10000115 stw zero,4(r2) 4bfb4: 10000215 stw zero,8(r2) 4bfb8: 8005883a mov r2,r16 4bfbc: dfc00117 ldw ra,4(sp) 4bfc0: dc000017 ldw r16,0(sp) 4bfc4: dec00204 addi sp,sp,8 4bfc8: f800283a ret 4bfcc: 000b883a mov r5,zero 4bfd0: 8009883a mov r4,r16 4bfd4: 0048a980 call 48a98 4bfd8: 8005883a mov r2,r16 4bfdc: dfc00117 ldw ra,4(sp) 4bfe0: dc000017 ldw r16,0(sp) 4bfe4: dec00204 addi sp,sp,8 4bfe8: f800283a ret 4bfec: 80800404 addi r2,r16,16 4bff0: 003fee06 br 4bfac <__alt_data_end+0xfffd9fac> 4bff4: 80800204 addi r2,r16,8 4bff8: 003fec06 br 4bfac <__alt_data_end+0xfffd9fac> 4bffc: 0005883a mov r2,zero 4c000: 003fee06 br 4bfbc <__alt_data_end+0xfffd9fbc> 0004c004 <_fclose_r>: 4c004: 28003926 beq r5,zero,4c0ec <_fclose_r+0xe8> 4c008: defffc04 addi sp,sp,-16 4c00c: dc400115 stw r17,4(sp) 4c010: dc000015 stw r16,0(sp) 4c014: dfc00315 stw ra,12(sp) 4c018: dc800215 stw r18,8(sp) 4c01c: 2023883a mov r17,r4 4c020: 2821883a mov r16,r5 4c024: 20000226 beq r4,zero,4c030 <_fclose_r+0x2c> 4c028: 20800e17 ldw r2,56(r4) 4c02c: 10002726 beq r2,zero,4c0cc <_fclose_r+0xc8> 4c030: 8080030f ldh r2,12(r16) 4c034: 1000071e bne r2,zero,4c054 <_fclose_r+0x50> 4c038: 0005883a mov r2,zero 4c03c: dfc00317 ldw ra,12(sp) 4c040: dc800217 ldw r18,8(sp) 4c044: dc400117 ldw r17,4(sp) 4c048: dc000017 ldw r16,0(sp) 4c04c: dec00404 addi sp,sp,16 4c050: f800283a ret 4c054: 800b883a mov r5,r16 4c058: 8809883a mov r4,r17 4c05c: 0046b900 call 46b90 <__sflush_r> 4c060: 1025883a mov r18,r2 4c064: 80800b17 ldw r2,44(r16) 4c068: 10000426 beq r2,zero,4c07c <_fclose_r+0x78> 4c06c: 81400717 ldw r5,28(r16) 4c070: 8809883a mov r4,r17 4c074: 103ee83a callr r2 4c078: 10001616 blt r2,zero,4c0d4 <_fclose_r+0xd0> 4c07c: 8080030b ldhu r2,12(r16) 4c080: 1080200c andi r2,r2,128 4c084: 1000151e bne r2,zero,4c0dc <_fclose_r+0xd8> 4c088: 81400c17 ldw r5,48(r16) 4c08c: 28000526 beq r5,zero,4c0a4 <_fclose_r+0xa0> 4c090: 80801004 addi r2,r16,64 4c094: 28800226 beq r5,r2,4c0a0 <_fclose_r+0x9c> 4c098: 8809883a mov r4,r17 4c09c: 004730c0 call 4730c <_free_r> 4c0a0: 80000c15 stw zero,48(r16) 4c0a4: 81401117 ldw r5,68(r16) 4c0a8: 28000326 beq r5,zero,4c0b8 <_fclose_r+0xb4> 4c0ac: 8809883a mov r4,r17 4c0b0: 004730c0 call 4730c <_free_r> 4c0b4: 80001115 stw zero,68(r16) 4c0b8: 00471a80 call 471a8 <__sfp_lock_acquire> 4c0bc: 8000030d sth zero,12(r16) 4c0c0: 00471ac0 call 471ac <__sfp_lock_release> 4c0c4: 9005883a mov r2,r18 4c0c8: 003fdc06 br 4c03c <__alt_data_end+0xfffda03c> 4c0cc: 00471980 call 47198 <__sinit> 4c0d0: 003fd706 br 4c030 <__alt_data_end+0xfffda030> 4c0d4: 04bfffc4 movi r18,-1 4c0d8: 003fe806 br 4c07c <__alt_data_end+0xfffda07c> 4c0dc: 81400417 ldw r5,16(r16) 4c0e0: 8809883a mov r4,r17 4c0e4: 004730c0 call 4730c <_free_r> 4c0e8: 003fe706 br 4c088 <__alt_data_end+0xfffda088> 4c0ec: 0005883a mov r2,zero 4c0f0: f800283a ret 0004c0f4 : 4c0f4: 00800174 movhi r2,5 4c0f8: 10905304 addi r2,r2,16716 4c0fc: 200b883a mov r5,r4 4c100: 11000017 ldw r4,0(r2) 4c104: 004c0041 jmpi 4c004 <_fclose_r> 0004c108 <__fputwc>: 4c108: defff804 addi sp,sp,-32 4c10c: dcc00415 stw r19,16(sp) 4c110: dc800315 stw r18,12(sp) 4c114: dc000115 stw r16,4(sp) 4c118: dfc00715 stw ra,28(sp) 4c11c: dd400615 stw r21,24(sp) 4c120: dd000515 stw r20,20(sp) 4c124: dc400215 stw r17,8(sp) 4c128: 2027883a mov r19,r4 4c12c: 2825883a mov r18,r5 4c130: 3021883a mov r16,r6 4c134: 0047cf40 call 47cf4 <__locale_mb_cur_max> 4c138: 00c00044 movi r3,1 4c13c: 10c03e26 beq r2,r3,4c238 <__fputwc+0x130> 4c140: 81c01704 addi r7,r16,92 4c144: 900d883a mov r6,r18 4c148: d80b883a mov r5,sp 4c14c: 9809883a mov r4,r19 4c150: 004c4800 call 4c480 <_wcrtomb_r> 4c154: 1029883a mov r20,r2 4c158: 00bfffc4 movi r2,-1 4c15c: a0802026 beq r20,r2,4c1e0 <__fputwc+0xd8> 4c160: d9400003 ldbu r5,0(sp) 4c164: a0001c26 beq r20,zero,4c1d8 <__fputwc+0xd0> 4c168: 0023883a mov r17,zero 4c16c: 05400284 movi r21,10 4c170: 00000906 br 4c198 <__fputwc+0x90> 4c174: 80800017 ldw r2,0(r16) 4c178: 11400005 stb r5,0(r2) 4c17c: 80c00017 ldw r3,0(r16) 4c180: 18c00044 addi r3,r3,1 4c184: 80c00015 stw r3,0(r16) 4c188: 8c400044 addi r17,r17,1 4c18c: dc45883a add r2,sp,r17 4c190: 8d00112e bgeu r17,r20,4c1d8 <__fputwc+0xd0> 4c194: 11400003 ldbu r5,0(r2) 4c198: 80c00217 ldw r3,8(r16) 4c19c: 18ffffc4 addi r3,r3,-1 4c1a0: 80c00215 stw r3,8(r16) 4c1a4: 183ff30e bge r3,zero,4c174 <__alt_data_end+0xfffda174> 4c1a8: 80800617 ldw r2,24(r16) 4c1ac: 18801916 blt r3,r2,4c214 <__fputwc+0x10c> 4c1b0: 80800017 ldw r2,0(r16) 4c1b4: 11400005 stb r5,0(r2) 4c1b8: 80800017 ldw r2,0(r16) 4c1bc: 10c00003 ldbu r3,0(r2) 4c1c0: 10800044 addi r2,r2,1 4c1c4: 1d402326 beq r3,r21,4c254 <__fputwc+0x14c> 4c1c8: 80800015 stw r2,0(r16) 4c1cc: 8c400044 addi r17,r17,1 4c1d0: dc45883a add r2,sp,r17 4c1d4: 8d3fef36 bltu r17,r20,4c194 <__alt_data_end+0xfffda194> 4c1d8: 9005883a mov r2,r18 4c1dc: 00000406 br 4c1f0 <__fputwc+0xe8> 4c1e0: 80c0030b ldhu r3,12(r16) 4c1e4: a005883a mov r2,r20 4c1e8: 18c01014 ori r3,r3,64 4c1ec: 80c0030d sth r3,12(r16) 4c1f0: dfc00717 ldw ra,28(sp) 4c1f4: dd400617 ldw r21,24(sp) 4c1f8: dd000517 ldw r20,20(sp) 4c1fc: dcc00417 ldw r19,16(sp) 4c200: dc800317 ldw r18,12(sp) 4c204: dc400217 ldw r17,8(sp) 4c208: dc000117 ldw r16,4(sp) 4c20c: dec00804 addi sp,sp,32 4c210: f800283a ret 4c214: 800d883a mov r6,r16 4c218: 29403fcc andi r5,r5,255 4c21c: 9809883a mov r4,r19 4c220: 004bd1c0 call 4bd1c <__swbuf_r> 4c224: 10bfffe0 cmpeqi r2,r2,-1 4c228: 10803fcc andi r2,r2,255 4c22c: 103fd626 beq r2,zero,4c188 <__alt_data_end+0xfffda188> 4c230: 00bfffc4 movi r2,-1 4c234: 003fee06 br 4c1f0 <__alt_data_end+0xfffda1f0> 4c238: 90ffffc4 addi r3,r18,-1 4c23c: 01003f84 movi r4,254 4c240: 20ffbf36 bltu r4,r3,4c140 <__alt_data_end+0xfffda140> 4c244: 900b883a mov r5,r18 4c248: dc800005 stb r18,0(sp) 4c24c: 1029883a mov r20,r2 4c250: 003fc506 br 4c168 <__alt_data_end+0xfffda168> 4c254: 800d883a mov r6,r16 4c258: a80b883a mov r5,r21 4c25c: 9809883a mov r4,r19 4c260: 004bd1c0 call 4bd1c <__swbuf_r> 4c264: 10bfffe0 cmpeqi r2,r2,-1 4c268: 003fef06 br 4c228 <__alt_data_end+0xfffda228> 0004c26c <_fputwc_r>: 4c26c: 3080030b ldhu r2,12(r6) 4c270: 10c8000c andi r3,r2,8192 4c274: 1800051e bne r3,zero,4c28c <_fputwc_r+0x20> 4c278: 30c01917 ldw r3,100(r6) 4c27c: 10880014 ori r2,r2,8192 4c280: 3080030d sth r2,12(r6) 4c284: 18880014 ori r2,r3,8192 4c288: 30801915 stw r2,100(r6) 4c28c: 004c1081 jmpi 4c108 <__fputwc> 0004c290 : 4c290: 00800174 movhi r2,5 4c294: defffc04 addi sp,sp,-16 4c298: 10905304 addi r2,r2,16716 4c29c: dc000115 stw r16,4(sp) 4c2a0: 14000017 ldw r16,0(r2) 4c2a4: dc400215 stw r17,8(sp) 4c2a8: dfc00315 stw ra,12(sp) 4c2ac: 2023883a mov r17,r4 4c2b0: 80000226 beq r16,zero,4c2bc 4c2b4: 80800e17 ldw r2,56(r16) 4c2b8: 10001026 beq r2,zero,4c2fc 4c2bc: 2880030b ldhu r2,12(r5) 4c2c0: 10c8000c andi r3,r2,8192 4c2c4: 1800051e bne r3,zero,4c2dc 4c2c8: 28c01917 ldw r3,100(r5) 4c2cc: 10880014 ori r2,r2,8192 4c2d0: 2880030d sth r2,12(r5) 4c2d4: 18880014 ori r2,r3,8192 4c2d8: 28801915 stw r2,100(r5) 4c2dc: 280d883a mov r6,r5 4c2e0: 8009883a mov r4,r16 4c2e4: 880b883a mov r5,r17 4c2e8: dfc00317 ldw ra,12(sp) 4c2ec: dc400217 ldw r17,8(sp) 4c2f0: dc000117 ldw r16,4(sp) 4c2f4: dec00404 addi sp,sp,16 4c2f8: 004c1081 jmpi 4c108 <__fputwc> 4c2fc: 8009883a mov r4,r16 4c300: d9400015 stw r5,0(sp) 4c304: 00471980 call 47198 <__sinit> 4c308: d9400017 ldw r5,0(sp) 4c30c: 003feb06 br 4c2bc <__alt_data_end+0xfffda2bc> 0004c310 <_fstat_r>: 4c310: defffd04 addi sp,sp,-12 4c314: 2805883a mov r2,r5 4c318: dc000015 stw r16,0(sp) 4c31c: 04000174 movhi r16,5 4c320: dc400115 stw r17,4(sp) 4c324: 84177304 addi r16,r16,24012 4c328: 2023883a mov r17,r4 4c32c: 300b883a mov r5,r6 4c330: 1009883a mov r4,r2 4c334: dfc00215 stw ra,8(sp) 4c338: 80000015 stw zero,0(r16) 4c33c: 004e8ec0 call 4e8ec 4c340: 00ffffc4 movi r3,-1 4c344: 10c00526 beq r2,r3,4c35c <_fstat_r+0x4c> 4c348: dfc00217 ldw ra,8(sp) 4c34c: dc400117 ldw r17,4(sp) 4c350: dc000017 ldw r16,0(sp) 4c354: dec00304 addi sp,sp,12 4c358: f800283a ret 4c35c: 80c00017 ldw r3,0(r16) 4c360: 183ff926 beq r3,zero,4c348 <__alt_data_end+0xfffda348> 4c364: 88c00015 stw r3,0(r17) 4c368: 003ff706 br 4c348 <__alt_data_end+0xfffda348> 0004c36c <_isatty_r>: 4c36c: defffd04 addi sp,sp,-12 4c370: dc000015 stw r16,0(sp) 4c374: 04000174 movhi r16,5 4c378: dc400115 stw r17,4(sp) 4c37c: 84177304 addi r16,r16,24012 4c380: 2023883a mov r17,r4 4c384: 2809883a mov r4,r5 4c388: dfc00215 stw ra,8(sp) 4c38c: 80000015 stw zero,0(r16) 4c390: 004e9e00 call 4e9e0 4c394: 00ffffc4 movi r3,-1 4c398: 10c00526 beq r2,r3,4c3b0 <_isatty_r+0x44> 4c39c: dfc00217 ldw ra,8(sp) 4c3a0: dc400117 ldw r17,4(sp) 4c3a4: dc000017 ldw r16,0(sp) 4c3a8: dec00304 addi sp,sp,12 4c3ac: f800283a ret 4c3b0: 80c00017 ldw r3,0(r16) 4c3b4: 183ff926 beq r3,zero,4c39c <__alt_data_end+0xfffda39c> 4c3b8: 88c00015 stw r3,0(r17) 4c3bc: 003ff706 br 4c39c <__alt_data_end+0xfffda39c> 0004c3c0 <_lseek_r>: 4c3c0: defffd04 addi sp,sp,-12 4c3c4: 2805883a mov r2,r5 4c3c8: dc000015 stw r16,0(sp) 4c3cc: 04000174 movhi r16,5 4c3d0: dc400115 stw r17,4(sp) 4c3d4: 300b883a mov r5,r6 4c3d8: 84177304 addi r16,r16,24012 4c3dc: 2023883a mov r17,r4 4c3e0: 380d883a mov r6,r7 4c3e4: 1009883a mov r4,r2 4c3e8: dfc00215 stw ra,8(sp) 4c3ec: 80000015 stw zero,0(r16) 4c3f0: 004ebb40 call 4ebb4 4c3f4: 00ffffc4 movi r3,-1 4c3f8: 10c00526 beq r2,r3,4c410 <_lseek_r+0x50> 4c3fc: dfc00217 ldw ra,8(sp) 4c400: dc400117 ldw r17,4(sp) 4c404: dc000017 ldw r16,0(sp) 4c408: dec00304 addi sp,sp,12 4c40c: f800283a ret 4c410: 80c00017 ldw r3,0(r16) 4c414: 183ff926 beq r3,zero,4c3fc <__alt_data_end+0xfffda3fc> 4c418: 88c00015 stw r3,0(r17) 4c41c: 003ff706 br 4c3fc <__alt_data_end+0xfffda3fc> 0004c420 <_read_r>: 4c420: defffd04 addi sp,sp,-12 4c424: 2805883a mov r2,r5 4c428: dc000015 stw r16,0(sp) 4c42c: 04000174 movhi r16,5 4c430: dc400115 stw r17,4(sp) 4c434: 300b883a mov r5,r6 4c438: 84177304 addi r16,r16,24012 4c43c: 2023883a mov r17,r4 4c440: 380d883a mov r6,r7 4c444: 1009883a mov r4,r2 4c448: dfc00215 stw ra,8(sp) 4c44c: 80000015 stw zero,0(r16) 4c450: 004ed900 call 4ed90 4c454: 00ffffc4 movi r3,-1 4c458: 10c00526 beq r2,r3,4c470 <_read_r+0x50> 4c45c: dfc00217 ldw ra,8(sp) 4c460: dc400117 ldw r17,4(sp) 4c464: dc000017 ldw r16,0(sp) 4c468: dec00304 addi sp,sp,12 4c46c: f800283a ret 4c470: 80c00017 ldw r3,0(r16) 4c474: 183ff926 beq r3,zero,4c45c <__alt_data_end+0xfffda45c> 4c478: 88c00015 stw r3,0(r17) 4c47c: 003ff706 br 4c45c <__alt_data_end+0xfffda45c> 0004c480 <_wcrtomb_r>: 4c480: defff604 addi sp,sp,-40 4c484: 00800174 movhi r2,5 4c488: dc800815 stw r18,32(sp) 4c48c: dc400715 stw r17,28(sp) 4c490: dc000615 stw r16,24(sp) 4c494: 10905704 addi r2,r2,16732 4c498: dfc00915 stw ra,36(sp) 4c49c: 2021883a mov r16,r4 4c4a0: 3823883a mov r17,r7 4c4a4: 14800017 ldw r18,0(r2) 4c4a8: 28001426 beq r5,zero,4c4fc <_wcrtomb_r+0x7c> 4c4ac: d9400415 stw r5,16(sp) 4c4b0: d9800515 stw r6,20(sp) 4c4b4: 0047ce80 call 47ce8 <__locale_charset> 4c4b8: d9800517 ldw r6,20(sp) 4c4bc: d9400417 ldw r5,16(sp) 4c4c0: 100f883a mov r7,r2 4c4c4: dc400015 stw r17,0(sp) 4c4c8: 8009883a mov r4,r16 4c4cc: 903ee83a callr r18 4c4d0: 00ffffc4 movi r3,-1 4c4d4: 10c0031e bne r2,r3,4c4e4 <_wcrtomb_r+0x64> 4c4d8: 88000015 stw zero,0(r17) 4c4dc: 00c02284 movi r3,138 4c4e0: 80c00015 stw r3,0(r16) 4c4e4: dfc00917 ldw ra,36(sp) 4c4e8: dc800817 ldw r18,32(sp) 4c4ec: dc400717 ldw r17,28(sp) 4c4f0: dc000617 ldw r16,24(sp) 4c4f4: dec00a04 addi sp,sp,40 4c4f8: f800283a ret 4c4fc: 0047ce80 call 47ce8 <__locale_charset> 4c500: 100f883a mov r7,r2 4c504: dc400015 stw r17,0(sp) 4c508: 000d883a mov r6,zero 4c50c: d9400104 addi r5,sp,4 4c510: 8009883a mov r4,r16 4c514: 903ee83a callr r18 4c518: 003fed06 br 4c4d0 <__alt_data_end+0xfffda4d0> 0004c51c : 4c51c: defff604 addi sp,sp,-40 4c520: 00800174 movhi r2,5 4c524: dc800615 stw r18,24(sp) 4c528: dc400515 stw r17,20(sp) 4c52c: 10905304 addi r2,r2,16716 4c530: dfc00915 stw ra,36(sp) 4c534: dd000815 stw r20,32(sp) 4c538: dcc00715 stw r19,28(sp) 4c53c: dc000415 stw r16,16(sp) 4c540: 3025883a mov r18,r6 4c544: 14400017 ldw r17,0(r2) 4c548: 20001926 beq r4,zero,4c5b0 4c54c: 00800174 movhi r2,5 4c550: 10905704 addi r2,r2,16732 4c554: 15000017 ldw r20,0(r2) 4c558: 2021883a mov r16,r4 4c55c: 2827883a mov r19,r5 4c560: 0047ce80 call 47ce8 <__locale_charset> 4c564: 100f883a mov r7,r2 4c568: dc800015 stw r18,0(sp) 4c56c: 980d883a mov r6,r19 4c570: 800b883a mov r5,r16 4c574: 8809883a mov r4,r17 4c578: a03ee83a callr r20 4c57c: 00ffffc4 movi r3,-1 4c580: 10c0031e bne r2,r3,4c590 4c584: 90000015 stw zero,0(r18) 4c588: 00c02284 movi r3,138 4c58c: 88c00015 stw r3,0(r17) 4c590: dfc00917 ldw ra,36(sp) 4c594: dd000817 ldw r20,32(sp) 4c598: dcc00717 ldw r19,28(sp) 4c59c: dc800617 ldw r18,24(sp) 4c5a0: dc400517 ldw r17,20(sp) 4c5a4: dc000417 ldw r16,16(sp) 4c5a8: dec00a04 addi sp,sp,40 4c5ac: f800283a ret 4c5b0: 00800174 movhi r2,5 4c5b4: 10905704 addi r2,r2,16732 4c5b8: 14000017 ldw r16,0(r2) 4c5bc: 0047ce80 call 47ce8 <__locale_charset> 4c5c0: 100f883a mov r7,r2 4c5c4: dc800015 stw r18,0(sp) 4c5c8: 000d883a mov r6,zero 4c5cc: d9400104 addi r5,sp,4 4c5d0: 8809883a mov r4,r17 4c5d4: 803ee83a callr r16 4c5d8: 003fe806 br 4c57c <__alt_data_end+0xfffda57c> 0004c5dc <__ascii_wctomb>: 4c5dc: 28000526 beq r5,zero,4c5f4 <__ascii_wctomb+0x18> 4c5e0: 00803fc4 movi r2,255 4c5e4: 11800536 bltu r2,r6,4c5fc <__ascii_wctomb+0x20> 4c5e8: 29800005 stb r6,0(r5) 4c5ec: 00800044 movi r2,1 4c5f0: f800283a ret 4c5f4: 0005883a mov r2,zero 4c5f8: f800283a ret 4c5fc: 00802284 movi r2,138 4c600: 20800015 stw r2,0(r4) 4c604: 00bfffc4 movi r2,-1 4c608: f800283a ret 0004c60c <_wctomb_r>: 4c60c: 00800174 movhi r2,5 4c610: defff904 addi sp,sp,-28 4c614: 10905704 addi r2,r2,16732 4c618: dfc00615 stw ra,24(sp) 4c61c: dc400515 stw r17,20(sp) 4c620: dc000415 stw r16,16(sp) 4c624: 3823883a mov r17,r7 4c628: 14000017 ldw r16,0(r2) 4c62c: d9000115 stw r4,4(sp) 4c630: d9400215 stw r5,8(sp) 4c634: d9800315 stw r6,12(sp) 4c638: 0047ce80 call 47ce8 <__locale_charset> 4c63c: d9800317 ldw r6,12(sp) 4c640: d9400217 ldw r5,8(sp) 4c644: d9000117 ldw r4,4(sp) 4c648: 100f883a mov r7,r2 4c64c: dc400015 stw r17,0(sp) 4c650: 803ee83a callr r16 4c654: dfc00617 ldw ra,24(sp) 4c658: dc400517 ldw r17,20(sp) 4c65c: dc000417 ldw r16,16(sp) 4c660: dec00704 addi sp,sp,28 4c664: f800283a ret 0004c668 <__udivdi3>: 4c668: defff404 addi sp,sp,-48 4c66c: dcc00515 stw r19,20(sp) 4c670: dc000215 stw r16,8(sp) 4c674: dfc00b15 stw ra,44(sp) 4c678: df000a15 stw fp,40(sp) 4c67c: ddc00915 stw r23,36(sp) 4c680: dd800815 stw r22,32(sp) 4c684: dd400715 stw r21,28(sp) 4c688: dd000615 stw r20,24(sp) 4c68c: dc800415 stw r18,16(sp) 4c690: dc400315 stw r17,12(sp) 4c694: 2027883a mov r19,r4 4c698: 2821883a mov r16,r5 4c69c: 3800461e bne r7,zero,4c7b8 <__udivdi3+0x150> 4c6a0: 3023883a mov r17,r6 4c6a4: 2025883a mov r18,r4 4c6a8: 2980572e bgeu r5,r6,4c808 <__udivdi3+0x1a0> 4c6ac: 00bfffd4 movui r2,65535 4c6b0: 282d883a mov r22,r5 4c6b4: 1180b236 bltu r2,r6,4c980 <__udivdi3+0x318> 4c6b8: 00803fc4 movi r2,255 4c6bc: 1185803a cmpltu r2,r2,r6 4c6c0: 100490fa slli r2,r2,3 4c6c4: 3086d83a srl r3,r6,r2 4c6c8: 01000174 movhi r4,5 4c6cc: 2107fc84 addi r4,r4,8178 4c6d0: 20c7883a add r3,r4,r3 4c6d4: 18c00003 ldbu r3,0(r3) 4c6d8: 1885883a add r2,r3,r2 4c6dc: 00c00804 movi r3,32 4c6e0: 1887c83a sub r3,r3,r2 4c6e4: 18000526 beq r3,zero,4c6fc <__udivdi3+0x94> 4c6e8: 80e0983a sll r16,r16,r3 4c6ec: 9884d83a srl r2,r19,r2 4c6f0: 30e2983a sll r17,r6,r3 4c6f4: 98e4983a sll r18,r19,r3 4c6f8: 142cb03a or r22,r2,r16 4c6fc: 882ad43a srli r21,r17,16 4c700: b009883a mov r4,r22 4c704: 8d3fffcc andi r20,r17,65535 4c708: a80b883a mov r5,r21 4c70c: 004d3840 call 4d384 <__umodsi3> 4c710: b009883a mov r4,r22 4c714: a80b883a mov r5,r21 4c718: 1027883a mov r19,r2 4c71c: 004d3200 call 4d320 <__udivsi3> 4c720: 100b883a mov r5,r2 4c724: a009883a mov r4,r20 4c728: 102d883a mov r22,r2 4c72c: 004d3dc0 call 4d3dc <__mulsi3> 4c730: 9826943a slli r19,r19,16 4c734: 9006d43a srli r3,r18,16 4c738: 1cc6b03a or r3,r3,r19 4c73c: 1880052e bgeu r3,r2,4c754 <__udivdi3+0xec> 4c740: 1c47883a add r3,r3,r17 4c744: b13fffc4 addi r4,r22,-1 4c748: 1c400136 bltu r3,r17,4c750 <__udivdi3+0xe8> 4c74c: 18814236 bltu r3,r2,4cc58 <__udivdi3+0x5f0> 4c750: 202d883a mov r22,r4 4c754: 18a1c83a sub r16,r3,r2 4c758: 8009883a mov r4,r16 4c75c: a80b883a mov r5,r21 4c760: 004d3840 call 4d384 <__umodsi3> 4c764: 1027883a mov r19,r2 4c768: 8009883a mov r4,r16 4c76c: a80b883a mov r5,r21 4c770: 9826943a slli r19,r19,16 4c774: 004d3200 call 4d320 <__udivsi3> 4c778: 100b883a mov r5,r2 4c77c: a009883a mov r4,r20 4c780: 94bfffcc andi r18,r18,65535 4c784: 1021883a mov r16,r2 4c788: 94e4b03a or r18,r18,r19 4c78c: 004d3dc0 call 4d3dc <__mulsi3> 4c790: 9080052e bgeu r18,r2,4c7a8 <__udivdi3+0x140> 4c794: 8ca5883a add r18,r17,r18 4c798: 80ffffc4 addi r3,r16,-1 4c79c: 94410c36 bltu r18,r17,4cbd0 <__udivdi3+0x568> 4c7a0: 90810b2e bgeu r18,r2,4cbd0 <__udivdi3+0x568> 4c7a4: 843fff84 addi r16,r16,-2 4c7a8: b004943a slli r2,r22,16 4c7ac: 0007883a mov r3,zero 4c7b0: 1404b03a or r2,r2,r16 4c7b4: 00005e06 br 4c930 <__udivdi3+0x2c8> 4c7b8: 29c05b36 bltu r5,r7,4c928 <__udivdi3+0x2c0> 4c7bc: 00bfffd4 movui r2,65535 4c7c0: 11c0672e bgeu r2,r7,4c960 <__udivdi3+0x2f8> 4c7c4: 00804034 movhi r2,256 4c7c8: 10bfffc4 addi r2,r2,-1 4c7cc: 11c10a36 bltu r2,r7,4cbf8 <__udivdi3+0x590> 4c7d0: 00800404 movi r2,16 4c7d4: 3886d83a srl r3,r7,r2 4c7d8: 01000174 movhi r4,5 4c7dc: 2107fc84 addi r4,r4,8178 4c7e0: 20c7883a add r3,r4,r3 4c7e4: 18c00003 ldbu r3,0(r3) 4c7e8: 05c00804 movi r23,32 4c7ec: 1885883a add r2,r3,r2 4c7f0: b8afc83a sub r23,r23,r2 4c7f4: b800671e bne r23,zero,4c994 <__udivdi3+0x32c> 4c7f8: 3c010536 bltu r7,r16,4cc10 <__udivdi3+0x5a8> 4c7fc: 9985403a cmpgeu r2,r19,r6 4c800: 0007883a mov r3,zero 4c804: 00004a06 br 4c930 <__udivdi3+0x2c8> 4c808: 3000041e bne r6,zero,4c81c <__udivdi3+0x1b4> 4c80c: 000b883a mov r5,zero 4c810: 01000044 movi r4,1 4c814: 004d3200 call 4d320 <__udivsi3> 4c818: 1023883a mov r17,r2 4c81c: 00bfffd4 movui r2,65535 4c820: 1440532e bgeu r2,r17,4c970 <__udivdi3+0x308> 4c824: 00804034 movhi r2,256 4c828: 10bfffc4 addi r2,r2,-1 4c82c: 1440f436 bltu r2,r17,4cc00 <__udivdi3+0x598> 4c830: 00800404 movi r2,16 4c834: 8886d83a srl r3,r17,r2 4c838: 01000174 movhi r4,5 4c83c: 2107fc84 addi r4,r4,8178 4c840: 20c7883a add r3,r4,r3 4c844: 18c00003 ldbu r3,0(r3) 4c848: 1885883a add r2,r3,r2 4c84c: 00c00804 movi r3,32 4c850: 1887c83a sub r3,r3,r2 4c854: 1800a51e bne r3,zero,4caec <__udivdi3+0x484> 4c858: 882ad43a srli r21,r17,16 4c85c: 8461c83a sub r16,r16,r17 4c860: 8d3fffcc andi r20,r17,65535 4c864: 00c00044 movi r3,1 4c868: a80b883a mov r5,r21 4c86c: 8009883a mov r4,r16 4c870: d8c00115 stw r3,4(sp) 4c874: 004d3840 call 4d384 <__umodsi3> 4c878: a80b883a mov r5,r21 4c87c: 8009883a mov r4,r16 4c880: 1027883a mov r19,r2 4c884: 004d3200 call 4d320 <__udivsi3> 4c888: a00b883a mov r5,r20 4c88c: 1009883a mov r4,r2 4c890: 102d883a mov r22,r2 4c894: 004d3dc0 call 4d3dc <__mulsi3> 4c898: 9826943a slli r19,r19,16 4c89c: 900ed43a srli r7,r18,16 4c8a0: d8c00117 ldw r3,4(sp) 4c8a4: 3cceb03a or r7,r7,r19 4c8a8: 3880052e bgeu r7,r2,4c8c0 <__udivdi3+0x258> 4c8ac: 3c4f883a add r7,r7,r17 4c8b0: b13fffc4 addi r4,r22,-1 4c8b4: 3c400136 bltu r7,r17,4c8bc <__udivdi3+0x254> 4c8b8: 3880e436 bltu r7,r2,4cc4c <__udivdi3+0x5e4> 4c8bc: 202d883a mov r22,r4 4c8c0: 38a1c83a sub r16,r7,r2 4c8c4: 8009883a mov r4,r16 4c8c8: a80b883a mov r5,r21 4c8cc: d8c00115 stw r3,4(sp) 4c8d0: 004d3840 call 4d384 <__umodsi3> 4c8d4: 1027883a mov r19,r2 4c8d8: 8009883a mov r4,r16 4c8dc: a80b883a mov r5,r21 4c8e0: 9826943a slli r19,r19,16 4c8e4: 004d3200 call 4d320 <__udivsi3> 4c8e8: a00b883a mov r5,r20 4c8ec: 1009883a mov r4,r2 4c8f0: 94bfffcc andi r18,r18,65535 4c8f4: 1021883a mov r16,r2 4c8f8: 94e4b03a or r18,r18,r19 4c8fc: 004d3dc0 call 4d3dc <__mulsi3> 4c900: d8c00117 ldw r3,4(sp) 4c904: 9080052e bgeu r18,r2,4c91c <__udivdi3+0x2b4> 4c908: 8ca5883a add r18,r17,r18 4c90c: 813fffc4 addi r4,r16,-1 4c910: 9440ad36 bltu r18,r17,4cbc8 <__udivdi3+0x560> 4c914: 9080ac2e bgeu r18,r2,4cbc8 <__udivdi3+0x560> 4c918: 843fff84 addi r16,r16,-2 4c91c: b004943a slli r2,r22,16 4c920: 1404b03a or r2,r2,r16 4c924: 00000206 br 4c930 <__udivdi3+0x2c8> 4c928: 0007883a mov r3,zero 4c92c: 0005883a mov r2,zero 4c930: dfc00b17 ldw ra,44(sp) 4c934: df000a17 ldw fp,40(sp) 4c938: ddc00917 ldw r23,36(sp) 4c93c: dd800817 ldw r22,32(sp) 4c940: dd400717 ldw r21,28(sp) 4c944: dd000617 ldw r20,24(sp) 4c948: dcc00517 ldw r19,20(sp) 4c94c: dc800417 ldw r18,16(sp) 4c950: dc400317 ldw r17,12(sp) 4c954: dc000217 ldw r16,8(sp) 4c958: dec00c04 addi sp,sp,48 4c95c: f800283a ret 4c960: 00803fc4 movi r2,255 4c964: 11c5803a cmpltu r2,r2,r7 4c968: 100490fa slli r2,r2,3 4c96c: 003f9906 br 4c7d4 <__alt_data_end+0xfffda7d4> 4c970: 00803fc4 movi r2,255 4c974: 1445803a cmpltu r2,r2,r17 4c978: 100490fa slli r2,r2,3 4c97c: 003fad06 br 4c834 <__alt_data_end+0xfffda834> 4c980: 00804034 movhi r2,256 4c984: 10bfffc4 addi r2,r2,-1 4c988: 11809f36 bltu r2,r6,4cc08 <__udivdi3+0x5a0> 4c98c: 00800404 movi r2,16 4c990: 003f4c06 br 4c6c4 <__alt_data_end+0xfffda6c4> 4c994: 3dce983a sll r7,r7,r23 4c998: 30b8d83a srl fp,r6,r2 4c99c: 80a2d83a srl r17,r16,r2 4c9a0: 35cc983a sll r6,r6,r23 4c9a4: 3f38b03a or fp,r7,fp 4c9a8: e024d43a srli r18,fp,16 4c9ac: 9884d83a srl r2,r19,r2 4c9b0: 85e0983a sll r16,r16,r23 4c9b4: 8809883a mov r4,r17 4c9b8: 900b883a mov r5,r18 4c9bc: d9800015 stw r6,0(sp) 4c9c0: 1420b03a or r16,r2,r16 4c9c4: 004d3840 call 4d384 <__umodsi3> 4c9c8: 900b883a mov r5,r18 4c9cc: 8809883a mov r4,r17 4c9d0: 1029883a mov r20,r2 4c9d4: e5bfffcc andi r22,fp,65535 4c9d8: 004d3200 call 4d320 <__udivsi3> 4c9dc: 100b883a mov r5,r2 4c9e0: b009883a mov r4,r22 4c9e4: 102b883a mov r21,r2 4c9e8: 004d3dc0 call 4d3dc <__mulsi3> 4c9ec: a028943a slli r20,r20,16 4c9f0: 8006d43a srli r3,r16,16 4c9f4: 1d06b03a or r3,r3,r20 4c9f8: 1880042e bgeu r3,r2,4ca0c <__udivdi3+0x3a4> 4c9fc: 1f07883a add r3,r3,fp 4ca00: a93fffc4 addi r4,r21,-1 4ca04: 1f00892e bgeu r3,fp,4cc2c <__udivdi3+0x5c4> 4ca08: 202b883a mov r21,r4 4ca0c: 18a3c83a sub r17,r3,r2 4ca10: 8809883a mov r4,r17 4ca14: 900b883a mov r5,r18 4ca18: 004d3840 call 4d384 <__umodsi3> 4ca1c: 1029883a mov r20,r2 4ca20: 8809883a mov r4,r17 4ca24: 900b883a mov r5,r18 4ca28: a028943a slli r20,r20,16 4ca2c: 004d3200 call 4d320 <__udivsi3> 4ca30: 100b883a mov r5,r2 4ca34: b009883a mov r4,r22 4ca38: 843fffcc andi r16,r16,65535 4ca3c: 1023883a mov r17,r2 4ca40: 8520b03a or r16,r16,r20 4ca44: 004d3dc0 call 4d3dc <__mulsi3> 4ca48: 8080042e bgeu r16,r2,4ca5c <__udivdi3+0x3f4> 4ca4c: 8721883a add r16,r16,fp 4ca50: 88ffffc4 addi r3,r17,-1 4ca54: 8700712e bgeu r16,fp,4cc1c <__udivdi3+0x5b4> 4ca58: 1823883a mov r17,r3 4ca5c: a80e943a slli r7,r21,16 4ca60: d8c00017 ldw r3,0(sp) 4ca64: 80a1c83a sub r16,r16,r2 4ca68: 3c64b03a or r18,r7,r17 4ca6c: 1d3fffcc andi r20,r3,65535 4ca70: 9022d43a srli r17,r18,16 4ca74: 95bfffcc andi r22,r18,65535 4ca78: a00b883a mov r5,r20 4ca7c: b009883a mov r4,r22 4ca80: 182ad43a srli r21,r3,16 4ca84: 004d3dc0 call 4d3dc <__mulsi3> 4ca88: a00b883a mov r5,r20 4ca8c: 8809883a mov r4,r17 4ca90: 1039883a mov fp,r2 4ca94: 004d3dc0 call 4d3dc <__mulsi3> 4ca98: 8809883a mov r4,r17 4ca9c: a80b883a mov r5,r21 4caa0: 1029883a mov r20,r2 4caa4: 004d3dc0 call 4d3dc <__mulsi3> 4caa8: a80b883a mov r5,r21 4caac: b009883a mov r4,r22 4cab0: 1023883a mov r17,r2 4cab4: 004d3dc0 call 4d3dc <__mulsi3> 4cab8: e006d43a srli r3,fp,16 4cabc: 1505883a add r2,r2,r20 4cac0: 1887883a add r3,r3,r2 4cac4: 1d00022e bgeu r3,r20,4cad0 <__udivdi3+0x468> 4cac8: 00800074 movhi r2,1 4cacc: 88a3883a add r17,r17,r2 4cad0: 1804d43a srli r2,r3,16 4cad4: 1463883a add r17,r2,r17 4cad8: 84404436 bltu r16,r17,4cbec <__udivdi3+0x584> 4cadc: 84403e26 beq r16,r17,4cbd8 <__udivdi3+0x570> 4cae0: 9005883a mov r2,r18 4cae4: 0007883a mov r3,zero 4cae8: 003f9106 br 4c930 <__alt_data_end+0xfffda930> 4caec: 88e2983a sll r17,r17,r3 4caf0: 80aed83a srl r23,r16,r2 4caf4: 80e0983a sll r16,r16,r3 4caf8: 882ad43a srli r21,r17,16 4cafc: 9884d83a srl r2,r19,r2 4cb00: b809883a mov r4,r23 4cb04: a80b883a mov r5,r21 4cb08: 98e4983a sll r18,r19,r3 4cb0c: 142cb03a or r22,r2,r16 4cb10: 004d3840 call 4d384 <__umodsi3> 4cb14: b809883a mov r4,r23 4cb18: a80b883a mov r5,r21 4cb1c: 1027883a mov r19,r2 4cb20: 8d3fffcc andi r20,r17,65535 4cb24: 004d3200 call 4d320 <__udivsi3> 4cb28: a009883a mov r4,r20 4cb2c: 100b883a mov r5,r2 4cb30: 102f883a mov r23,r2 4cb34: 004d3dc0 call 4d3dc <__mulsi3> 4cb38: 9826943a slli r19,r19,16 4cb3c: b008d43a srli r4,r22,16 4cb40: 24c8b03a or r4,r4,r19 4cb44: 2080062e bgeu r4,r2,4cb60 <__udivdi3+0x4f8> 4cb48: 2449883a add r4,r4,r17 4cb4c: b8ffffc4 addi r3,r23,-1 4cb50: 24403c36 bltu r4,r17,4cc44 <__udivdi3+0x5dc> 4cb54: 20803b2e bgeu r4,r2,4cc44 <__udivdi3+0x5dc> 4cb58: bdffff84 addi r23,r23,-2 4cb5c: 2449883a add r4,r4,r17 4cb60: 20a1c83a sub r16,r4,r2 4cb64: a80b883a mov r5,r21 4cb68: 8009883a mov r4,r16 4cb6c: 004d3840 call 4d384 <__umodsi3> 4cb70: a80b883a mov r5,r21 4cb74: 8009883a mov r4,r16 4cb78: 1027883a mov r19,r2 4cb7c: 004d3200 call 4d320 <__udivsi3> 4cb80: a009883a mov r4,r20 4cb84: 100b883a mov r5,r2 4cb88: 9826943a slli r19,r19,16 4cb8c: 1039883a mov fp,r2 4cb90: 004d3dc0 call 4d3dc <__mulsi3> 4cb94: b13fffcc andi r4,r22,65535 4cb98: 24c8b03a or r4,r4,r19 4cb9c: 2080062e bgeu r4,r2,4cbb8 <__udivdi3+0x550> 4cba0: 2449883a add r4,r4,r17 4cba4: e0ffffc4 addi r3,fp,-1 4cba8: 24402436 bltu r4,r17,4cc3c <__udivdi3+0x5d4> 4cbac: 2080232e bgeu r4,r2,4cc3c <__udivdi3+0x5d4> 4cbb0: e73fff84 addi fp,fp,-2 4cbb4: 2449883a add r4,r4,r17 4cbb8: b82e943a slli r23,r23,16 4cbbc: 20a1c83a sub r16,r4,r2 4cbc0: bf06b03a or r3,r23,fp 4cbc4: 003f2806 br 4c868 <__alt_data_end+0xfffda868> 4cbc8: 2021883a mov r16,r4 4cbcc: 003f5306 br 4c91c <__alt_data_end+0xfffda91c> 4cbd0: 1821883a mov r16,r3 4cbd4: 003ef406 br 4c7a8 <__alt_data_end+0xfffda7a8> 4cbd8: 1806943a slli r3,r3,16 4cbdc: 9de6983a sll r19,r19,r23 4cbe0: e73fffcc andi fp,fp,65535 4cbe4: 1f07883a add r3,r3,fp 4cbe8: 98ffbd2e bgeu r19,r3,4cae0 <__alt_data_end+0xfffdaae0> 4cbec: 90bfffc4 addi r2,r18,-1 4cbf0: 0007883a mov r3,zero 4cbf4: 003f4e06 br 4c930 <__alt_data_end+0xfffda930> 4cbf8: 00800604 movi r2,24 4cbfc: 003ef506 br 4c7d4 <__alt_data_end+0xfffda7d4> 4cc00: 00800604 movi r2,24 4cc04: 003f0b06 br 4c834 <__alt_data_end+0xfffda834> 4cc08: 00800604 movi r2,24 4cc0c: 003ead06 br 4c6c4 <__alt_data_end+0xfffda6c4> 4cc10: 0007883a mov r3,zero 4cc14: 00800044 movi r2,1 4cc18: 003f4506 br 4c930 <__alt_data_end+0xfffda930> 4cc1c: 80bf8e2e bgeu r16,r2,4ca58 <__alt_data_end+0xfffdaa58> 4cc20: 8c7fff84 addi r17,r17,-2 4cc24: 8721883a add r16,r16,fp 4cc28: 003f8c06 br 4ca5c <__alt_data_end+0xfffdaa5c> 4cc2c: 18bf762e bgeu r3,r2,4ca08 <__alt_data_end+0xfffdaa08> 4cc30: ad7fff84 addi r21,r21,-2 4cc34: 1f07883a add r3,r3,fp 4cc38: 003f7406 br 4ca0c <__alt_data_end+0xfffdaa0c> 4cc3c: 1839883a mov fp,r3 4cc40: 003fdd06 br 4cbb8 <__alt_data_end+0xfffdabb8> 4cc44: 182f883a mov r23,r3 4cc48: 003fc506 br 4cb60 <__alt_data_end+0xfffdab60> 4cc4c: b5bfff84 addi r22,r22,-2 4cc50: 3c4f883a add r7,r7,r17 4cc54: 003f1a06 br 4c8c0 <__alt_data_end+0xfffda8c0> 4cc58: b5bfff84 addi r22,r22,-2 4cc5c: 1c47883a add r3,r3,r17 4cc60: 003ebc06 br 4c754 <__alt_data_end+0xfffda754> 0004cc64 <__umoddi3>: 4cc64: defff304 addi sp,sp,-52 4cc68: df000b15 stw fp,44(sp) 4cc6c: dc400415 stw r17,16(sp) 4cc70: dc000315 stw r16,12(sp) 4cc74: dfc00c15 stw ra,48(sp) 4cc78: ddc00a15 stw r23,40(sp) 4cc7c: dd800915 stw r22,36(sp) 4cc80: dd400815 stw r21,32(sp) 4cc84: dd000715 stw r20,28(sp) 4cc88: dcc00615 stw r19,24(sp) 4cc8c: dc800515 stw r18,20(sp) 4cc90: 2021883a mov r16,r4 4cc94: 2823883a mov r17,r5 4cc98: 2839883a mov fp,r5 4cc9c: 3800401e bne r7,zero,4cda0 <__umoddi3+0x13c> 4cca0: 3027883a mov r19,r6 4cca4: 2029883a mov r20,r4 4cca8: 2980552e bgeu r5,r6,4ce00 <__umoddi3+0x19c> 4ccac: 00bfffd4 movui r2,65535 4ccb0: 1180a236 bltu r2,r6,4cf3c <__umoddi3+0x2d8> 4ccb4: 01003fc4 movi r4,255 4ccb8: 2189803a cmpltu r4,r4,r6 4ccbc: 200890fa slli r4,r4,3 4ccc0: 3104d83a srl r2,r6,r4 4ccc4: 00c00174 movhi r3,5 4ccc8: 18c7fc84 addi r3,r3,8178 4cccc: 1885883a add r2,r3,r2 4ccd0: 10c00003 ldbu r3,0(r2) 4ccd4: 00800804 movi r2,32 4ccd8: 1909883a add r4,r3,r4 4ccdc: 1125c83a sub r18,r2,r4 4cce0: 90000526 beq r18,zero,4ccf8 <__umoddi3+0x94> 4cce4: 8ca2983a sll r17,r17,r18 4cce8: 8108d83a srl r4,r16,r4 4ccec: 34a6983a sll r19,r6,r18 4ccf0: 84a8983a sll r20,r16,r18 4ccf4: 2478b03a or fp,r4,r17 4ccf8: 982cd43a srli r22,r19,16 4ccfc: e009883a mov r4,fp 4cd00: 9dffffcc andi r23,r19,65535 4cd04: b00b883a mov r5,r22 4cd08: 004d3840 call 4d384 <__umodsi3> 4cd0c: b00b883a mov r5,r22 4cd10: e009883a mov r4,fp 4cd14: 102b883a mov r21,r2 4cd18: 004d3200 call 4d320 <__udivsi3> 4cd1c: 100b883a mov r5,r2 4cd20: b809883a mov r4,r23 4cd24: 004d3dc0 call 4d3dc <__mulsi3> 4cd28: a82a943a slli r21,r21,16 4cd2c: a006d43a srli r3,r20,16 4cd30: 1d46b03a or r3,r3,r21 4cd34: 1880032e bgeu r3,r2,4cd44 <__umoddi3+0xe0> 4cd38: 1cc7883a add r3,r3,r19 4cd3c: 1cc00136 bltu r3,r19,4cd44 <__umoddi3+0xe0> 4cd40: 18813136 bltu r3,r2,4d208 <__umoddi3+0x5a4> 4cd44: 18a1c83a sub r16,r3,r2 4cd48: b00b883a mov r5,r22 4cd4c: 8009883a mov r4,r16 4cd50: 004d3840 call 4d384 <__umodsi3> 4cd54: b00b883a mov r5,r22 4cd58: 8009883a mov r4,r16 4cd5c: 1023883a mov r17,r2 4cd60: 004d3200 call 4d320 <__udivsi3> 4cd64: 100b883a mov r5,r2 4cd68: b809883a mov r4,r23 4cd6c: 8822943a slli r17,r17,16 4cd70: 004d3dc0 call 4d3dc <__mulsi3> 4cd74: a0ffffcc andi r3,r20,65535 4cd78: 1c46b03a or r3,r3,r17 4cd7c: 1880042e bgeu r3,r2,4cd90 <__umoddi3+0x12c> 4cd80: 1cc7883a add r3,r3,r19 4cd84: 1cc00236 bltu r3,r19,4cd90 <__umoddi3+0x12c> 4cd88: 1880012e bgeu r3,r2,4cd90 <__umoddi3+0x12c> 4cd8c: 1cc7883a add r3,r3,r19 4cd90: 1885c83a sub r2,r3,r2 4cd94: 1484d83a srl r2,r2,r18 4cd98: 0007883a mov r3,zero 4cd9c: 00005306 br 4ceec <__umoddi3+0x288> 4cda0: 29c05036 bltu r5,r7,4cee4 <__umoddi3+0x280> 4cda4: 00bfffd4 movui r2,65535 4cda8: 11c05c2e bgeu r2,r7,4cf1c <__umoddi3+0x2b8> 4cdac: 00804034 movhi r2,256 4cdb0: 10bfffc4 addi r2,r2,-1 4cdb4: 11c10636 bltu r2,r7,4d1d0 <__umoddi3+0x56c> 4cdb8: 01000404 movi r4,16 4cdbc: 3904d83a srl r2,r7,r4 4cdc0: 00c00174 movhi r3,5 4cdc4: 18c7fc84 addi r3,r3,8178 4cdc8: 1885883a add r2,r3,r2 4cdcc: 14c00003 ldbu r19,0(r2) 4cdd0: 00c00804 movi r3,32 4cdd4: 9927883a add r19,r19,r4 4cdd8: 1ce9c83a sub r20,r3,r19 4cddc: a0005c1e bne r20,zero,4cf50 <__umoddi3+0x2ec> 4cde0: 3c400136 bltu r7,r17,4cde8 <__umoddi3+0x184> 4cde4: 81810a36 bltu r16,r6,4d210 <__umoddi3+0x5ac> 4cde8: 8185c83a sub r2,r16,r6 4cdec: 89e3c83a sub r17,r17,r7 4cdf0: 8089803a cmpltu r4,r16,r2 4cdf4: 8939c83a sub fp,r17,r4 4cdf8: e007883a mov r3,fp 4cdfc: 00003b06 br 4ceec <__umoddi3+0x288> 4ce00: 3000041e bne r6,zero,4ce14 <__umoddi3+0x1b0> 4ce04: 000b883a mov r5,zero 4ce08: 01000044 movi r4,1 4ce0c: 004d3200 call 4d320 <__udivsi3> 4ce10: 1027883a mov r19,r2 4ce14: 00bfffd4 movui r2,65535 4ce18: 14c0442e bgeu r2,r19,4cf2c <__umoddi3+0x2c8> 4ce1c: 00804034 movhi r2,256 4ce20: 10bfffc4 addi r2,r2,-1 4ce24: 14c0ec36 bltu r2,r19,4d1d8 <__umoddi3+0x574> 4ce28: 00800404 movi r2,16 4ce2c: 9886d83a srl r3,r19,r2 4ce30: 01000174 movhi r4,5 4ce34: 2107fc84 addi r4,r4,8178 4ce38: 20c7883a add r3,r4,r3 4ce3c: 18c00003 ldbu r3,0(r3) 4ce40: 1887883a add r3,r3,r2 4ce44: 00800804 movi r2,32 4ce48: 10e5c83a sub r18,r2,r3 4ce4c: 9000ab1e bne r18,zero,4d0fc <__umoddi3+0x498> 4ce50: 982cd43a srli r22,r19,16 4ce54: 8ce3c83a sub r17,r17,r19 4ce58: 9dffffcc andi r23,r19,65535 4ce5c: b00b883a mov r5,r22 4ce60: 8809883a mov r4,r17 4ce64: 004d3840 call 4d384 <__umodsi3> 4ce68: b00b883a mov r5,r22 4ce6c: 8809883a mov r4,r17 4ce70: 102b883a mov r21,r2 4ce74: 004d3200 call 4d320 <__udivsi3> 4ce78: b80b883a mov r5,r23 4ce7c: 1009883a mov r4,r2 4ce80: 004d3dc0 call 4d3dc <__mulsi3> 4ce84: a82a943a slli r21,r21,16 4ce88: a006d43a srli r3,r20,16 4ce8c: 1d46b03a or r3,r3,r21 4ce90: 1880042e bgeu r3,r2,4cea4 <__umoddi3+0x240> 4ce94: 1cc7883a add r3,r3,r19 4ce98: 1cc00236 bltu r3,r19,4cea4 <__umoddi3+0x240> 4ce9c: 1880012e bgeu r3,r2,4cea4 <__umoddi3+0x240> 4cea0: 1cc7883a add r3,r3,r19 4cea4: 18a1c83a sub r16,r3,r2 4cea8: b00b883a mov r5,r22 4ceac: 8009883a mov r4,r16 4ceb0: 004d3840 call 4d384 <__umodsi3> 4ceb4: 1023883a mov r17,r2 4ceb8: b00b883a mov r5,r22 4cebc: 8009883a mov r4,r16 4cec0: 004d3200 call 4d320 <__udivsi3> 4cec4: 8822943a slli r17,r17,16 4cec8: b80b883a mov r5,r23 4cecc: 1009883a mov r4,r2 4ced0: 004d3dc0 call 4d3dc <__mulsi3> 4ced4: a53fffcc andi r20,r20,65535 4ced8: a446b03a or r3,r20,r17 4cedc: 18bfac2e bgeu r3,r2,4cd90 <__alt_data_end+0xfffdad90> 4cee0: 003fa706 br 4cd80 <__alt_data_end+0xfffdad80> 4cee4: 2005883a mov r2,r4 4cee8: 2807883a mov r3,r5 4ceec: dfc00c17 ldw ra,48(sp) 4cef0: df000b17 ldw fp,44(sp) 4cef4: ddc00a17 ldw r23,40(sp) 4cef8: dd800917 ldw r22,36(sp) 4cefc: dd400817 ldw r21,32(sp) 4cf00: dd000717 ldw r20,28(sp) 4cf04: dcc00617 ldw r19,24(sp) 4cf08: dc800517 ldw r18,20(sp) 4cf0c: dc400417 ldw r17,16(sp) 4cf10: dc000317 ldw r16,12(sp) 4cf14: dec00d04 addi sp,sp,52 4cf18: f800283a ret 4cf1c: 04c03fc4 movi r19,255 4cf20: 99c9803a cmpltu r4,r19,r7 4cf24: 200890fa slli r4,r4,3 4cf28: 003fa406 br 4cdbc <__alt_data_end+0xfffdadbc> 4cf2c: 00803fc4 movi r2,255 4cf30: 14c5803a cmpltu r2,r2,r19 4cf34: 100490fa slli r2,r2,3 4cf38: 003fbc06 br 4ce2c <__alt_data_end+0xfffdae2c> 4cf3c: 00804034 movhi r2,256 4cf40: 10bfffc4 addi r2,r2,-1 4cf44: 1180a636 bltu r2,r6,4d1e0 <__umoddi3+0x57c> 4cf48: 01000404 movi r4,16 4cf4c: 003f5c06 br 4ccc0 <__alt_data_end+0xfffdacc0> 4cf50: 3d0e983a sll r7,r7,r20 4cf54: 34ead83a srl r21,r6,r19 4cf58: 8cc6d83a srl r3,r17,r19 4cf5c: 8d10983a sll r8,r17,r20 4cf60: 3d6ab03a or r21,r7,r21 4cf64: a82cd43a srli r22,r21,16 4cf68: 84e2d83a srl r17,r16,r19 4cf6c: 1809883a mov r4,r3 4cf70: b00b883a mov r5,r22 4cf74: 8a22b03a or r17,r17,r8 4cf78: 3524983a sll r18,r6,r20 4cf7c: dc400015 stw r17,0(sp) 4cf80: d8c00115 stw r3,4(sp) 4cf84: 004d3840 call 4d384 <__umodsi3> 4cf88: d8c00117 ldw r3,4(sp) 4cf8c: b00b883a mov r5,r22 4cf90: 1039883a mov fp,r2 4cf94: 1809883a mov r4,r3 4cf98: 004d3200 call 4d320 <__udivsi3> 4cf9c: adffffcc andi r23,r21,65535 4cfa0: 100b883a mov r5,r2 4cfa4: b809883a mov r4,r23 4cfa8: 1023883a mov r17,r2 4cfac: 004d3dc0 call 4d3dc <__mulsi3> 4cfb0: d9400017 ldw r5,0(sp) 4cfb4: e008943a slli r4,fp,16 4cfb8: 8520983a sll r16,r16,r20 4cfbc: 2806d43a srli r3,r5,16 4cfc0: 1906b03a or r3,r3,r4 4cfc4: 1880042e bgeu r3,r2,4cfd8 <__umoddi3+0x374> 4cfc8: 1d47883a add r3,r3,r21 4cfcc: 893fffc4 addi r4,r17,-1 4cfd0: 1d40892e bgeu r3,r21,4d1f8 <__umoddi3+0x594> 4cfd4: 2023883a mov r17,r4 4cfd8: 18b9c83a sub fp,r3,r2 4cfdc: b00b883a mov r5,r22 4cfe0: e009883a mov r4,fp 4cfe4: 004d3840 call 4d384 <__umodsi3> 4cfe8: b00b883a mov r5,r22 4cfec: e009883a mov r4,fp 4cff0: d8800215 stw r2,8(sp) 4cff4: 004d3200 call 4d320 <__udivsi3> 4cff8: 100b883a mov r5,r2 4cffc: b809883a mov r4,r23 4d000: 102d883a mov r22,r2 4d004: 004d3dc0 call 4d3dc <__mulsi3> 4d008: d9800217 ldw r6,8(sp) 4d00c: d8c00017 ldw r3,0(sp) 4d010: 300c943a slli r6,r6,16 4d014: 1a3fffcc andi r8,r3,65535 4d018: 4190b03a or r8,r8,r6 4d01c: 4080042e bgeu r8,r2,4d030 <__umoddi3+0x3cc> 4d020: 4551883a add r8,r8,r21 4d024: b0ffffc4 addi r3,r22,-1 4d028: 45406f2e bgeu r8,r21,4d1e8 <__umoddi3+0x584> 4d02c: 182d883a mov r22,r3 4d030: 880e943a slli r7,r17,16 4d034: 9006d43a srli r3,r18,16 4d038: 91bfffcc andi r6,r18,65535 4d03c: 3dacb03a or r22,r7,r22 4d040: b02ed43a srli r23,r22,16 4d044: b5bfffcc andi r22,r22,65535 4d048: 300b883a mov r5,r6 4d04c: b009883a mov r4,r22 4d050: 40a3c83a sub r17,r8,r2 4d054: d8c00115 stw r3,4(sp) 4d058: d9800215 stw r6,8(sp) 4d05c: 004d3dc0 call 4d3dc <__mulsi3> 4d060: d9800217 ldw r6,8(sp) 4d064: b809883a mov r4,r23 4d068: 1039883a mov fp,r2 4d06c: 300b883a mov r5,r6 4d070: 004d3dc0 call 4d3dc <__mulsi3> 4d074: d8c00117 ldw r3,4(sp) 4d078: b809883a mov r4,r23 4d07c: d8800215 stw r2,8(sp) 4d080: 180b883a mov r5,r3 4d084: 004d3dc0 call 4d3dc <__mulsi3> 4d088: d8c00117 ldw r3,4(sp) 4d08c: b009883a mov r4,r22 4d090: 102f883a mov r23,r2 4d094: 180b883a mov r5,r3 4d098: 004d3dc0 call 4d3dc <__mulsi3> 4d09c: d9800217 ldw r6,8(sp) 4d0a0: e006d43a srli r3,fp,16 4d0a4: 1185883a add r2,r2,r6 4d0a8: 1885883a add r2,r3,r2 4d0ac: 1180022e bgeu r2,r6,4d0b8 <__umoddi3+0x454> 4d0b0: 00c00074 movhi r3,1 4d0b4: b8ef883a add r23,r23,r3 4d0b8: 1006d43a srli r3,r2,16 4d0bc: 1004943a slli r2,r2,16 4d0c0: e73fffcc andi fp,fp,65535 4d0c4: 1dc7883a add r3,r3,r23 4d0c8: 1739883a add fp,r2,fp 4d0cc: 88c03a36 bltu r17,r3,4d1b8 <__umoddi3+0x554> 4d0d0: 88c05126 beq r17,r3,4d218 <__umoddi3+0x5b4> 4d0d4: 88c9c83a sub r4,r17,r3 4d0d8: e00f883a mov r7,fp 4d0dc: 81cfc83a sub r7,r16,r7 4d0e0: 81c7803a cmpltu r3,r16,r7 4d0e4: 20c7c83a sub r3,r4,r3 4d0e8: 1cc4983a sll r2,r3,r19 4d0ec: 3d0ed83a srl r7,r7,r20 4d0f0: 1d06d83a srl r3,r3,r20 4d0f4: 11c4b03a or r2,r2,r7 4d0f8: 003f7c06 br 4ceec <__alt_data_end+0xfffdaeec> 4d0fc: 9ca6983a sll r19,r19,r18 4d100: 88f8d83a srl fp,r17,r3 4d104: 80c4d83a srl r2,r16,r3 4d108: 982cd43a srli r22,r19,16 4d10c: 8ca2983a sll r17,r17,r18 4d110: e009883a mov r4,fp 4d114: b00b883a mov r5,r22 4d118: 146ab03a or r21,r2,r17 4d11c: 004d3840 call 4d384 <__umodsi3> 4d120: b00b883a mov r5,r22 4d124: e009883a mov r4,fp 4d128: 1029883a mov r20,r2 4d12c: 9dffffcc andi r23,r19,65535 4d130: 004d3200 call 4d320 <__udivsi3> 4d134: b809883a mov r4,r23 4d138: 100b883a mov r5,r2 4d13c: 004d3dc0 call 4d3dc <__mulsi3> 4d140: a008943a slli r4,r20,16 4d144: a806d43a srli r3,r21,16 4d148: 84a8983a sll r20,r16,r18 4d14c: 1906b03a or r3,r3,r4 4d150: 1880042e bgeu r3,r2,4d164 <__umoddi3+0x500> 4d154: 1cc7883a add r3,r3,r19 4d158: 1cc00236 bltu r3,r19,4d164 <__umoddi3+0x500> 4d15c: 1880012e bgeu r3,r2,4d164 <__umoddi3+0x500> 4d160: 1cc7883a add r3,r3,r19 4d164: 18a3c83a sub r17,r3,r2 4d168: b00b883a mov r5,r22 4d16c: 8809883a mov r4,r17 4d170: 004d3840 call 4d384 <__umodsi3> 4d174: b00b883a mov r5,r22 4d178: 8809883a mov r4,r17 4d17c: 1021883a mov r16,r2 4d180: 004d3200 call 4d320 <__udivsi3> 4d184: 100b883a mov r5,r2 4d188: b809883a mov r4,r23 4d18c: 8020943a slli r16,r16,16 4d190: 004d3dc0 call 4d3dc <__mulsi3> 4d194: a8ffffcc andi r3,r21,65535 4d198: 1c06b03a or r3,r3,r16 4d19c: 1880042e bgeu r3,r2,4d1b0 <__umoddi3+0x54c> 4d1a0: 1cc7883a add r3,r3,r19 4d1a4: 1cc00236 bltu r3,r19,4d1b0 <__umoddi3+0x54c> 4d1a8: 1880012e bgeu r3,r2,4d1b0 <__umoddi3+0x54c> 4d1ac: 1cc7883a add r3,r3,r19 4d1b0: 18a3c83a sub r17,r3,r2 4d1b4: 003f2906 br 4ce5c <__alt_data_end+0xfffdae5c> 4d1b8: e48fc83a sub r7,fp,r18 4d1bc: 1d49c83a sub r4,r3,r21 4d1c0: e1f9803a cmpltu fp,fp,r7 4d1c4: 2739c83a sub fp,r4,fp 4d1c8: 8f09c83a sub r4,r17,fp 4d1cc: 003fc306 br 4d0dc <__alt_data_end+0xfffdb0dc> 4d1d0: 01000604 movi r4,24 4d1d4: 003ef906 br 4cdbc <__alt_data_end+0xfffdadbc> 4d1d8: 00800604 movi r2,24 4d1dc: 003f1306 br 4ce2c <__alt_data_end+0xfffdae2c> 4d1e0: 01000604 movi r4,24 4d1e4: 003eb606 br 4ccc0 <__alt_data_end+0xfffdacc0> 4d1e8: 40bf902e bgeu r8,r2,4d02c <__alt_data_end+0xfffdb02c> 4d1ec: b5bfff84 addi r22,r22,-2 4d1f0: 4551883a add r8,r8,r21 4d1f4: 003f8e06 br 4d030 <__alt_data_end+0xfffdb030> 4d1f8: 18bf762e bgeu r3,r2,4cfd4 <__alt_data_end+0xfffdafd4> 4d1fc: 8c7fff84 addi r17,r17,-2 4d200: 1d47883a add r3,r3,r21 4d204: 003f7406 br 4cfd8 <__alt_data_end+0xfffdafd8> 4d208: 1cc7883a add r3,r3,r19 4d20c: 003ecd06 br 4cd44 <__alt_data_end+0xfffdad44> 4d210: 8005883a mov r2,r16 4d214: 003ef806 br 4cdf8 <__alt_data_end+0xfffdadf8> 4d218: 873fe736 bltu r16,fp,4d1b8 <__alt_data_end+0xfffdb1b8> 4d21c: e00f883a mov r7,fp 4d220: 0009883a mov r4,zero 4d224: 003fad06 br 4d0dc <__alt_data_end+0xfffdb0dc> 0004d228 <__divsi3>: 4d228: 20001b16 blt r4,zero,4d298 <__divsi3+0x70> 4d22c: 000f883a mov r7,zero 4d230: 28001616 blt r5,zero,4d28c <__divsi3+0x64> 4d234: 200d883a mov r6,r4 4d238: 29001a2e bgeu r5,r4,4d2a4 <__divsi3+0x7c> 4d23c: 00800804 movi r2,32 4d240: 00c00044 movi r3,1 4d244: 00000106 br 4d24c <__divsi3+0x24> 4d248: 10000d26 beq r2,zero,4d280 <__divsi3+0x58> 4d24c: 294b883a add r5,r5,r5 4d250: 10bfffc4 addi r2,r2,-1 4d254: 18c7883a add r3,r3,r3 4d258: 293ffb36 bltu r5,r4,4d248 <__alt_data_end+0xfffdb248> 4d25c: 0005883a mov r2,zero 4d260: 18000726 beq r3,zero,4d280 <__divsi3+0x58> 4d264: 0005883a mov r2,zero 4d268: 31400236 bltu r6,r5,4d274 <__divsi3+0x4c> 4d26c: 314dc83a sub r6,r6,r5 4d270: 10c4b03a or r2,r2,r3 4d274: 1806d07a srli r3,r3,1 4d278: 280ad07a srli r5,r5,1 4d27c: 183ffa1e bne r3,zero,4d268 <__alt_data_end+0xfffdb268> 4d280: 38000126 beq r7,zero,4d288 <__divsi3+0x60> 4d284: 0085c83a sub r2,zero,r2 4d288: f800283a ret 4d28c: 014bc83a sub r5,zero,r5 4d290: 39c0005c xori r7,r7,1 4d294: 003fe706 br 4d234 <__alt_data_end+0xfffdb234> 4d298: 0109c83a sub r4,zero,r4 4d29c: 01c00044 movi r7,1 4d2a0: 003fe306 br 4d230 <__alt_data_end+0xfffdb230> 4d2a4: 00c00044 movi r3,1 4d2a8: 003fee06 br 4d264 <__alt_data_end+0xfffdb264> 0004d2ac <__modsi3>: 4d2ac: 20001716 blt r4,zero,4d30c <__modsi3+0x60> 4d2b0: 000f883a mov r7,zero 4d2b4: 2005883a mov r2,r4 4d2b8: 28001216 blt r5,zero,4d304 <__modsi3+0x58> 4d2bc: 2900162e bgeu r5,r4,4d318 <__modsi3+0x6c> 4d2c0: 01800804 movi r6,32 4d2c4: 00c00044 movi r3,1 4d2c8: 00000106 br 4d2d0 <__modsi3+0x24> 4d2cc: 30000a26 beq r6,zero,4d2f8 <__modsi3+0x4c> 4d2d0: 294b883a add r5,r5,r5 4d2d4: 31bfffc4 addi r6,r6,-1 4d2d8: 18c7883a add r3,r3,r3 4d2dc: 293ffb36 bltu r5,r4,4d2cc <__alt_data_end+0xfffdb2cc> 4d2e0: 18000526 beq r3,zero,4d2f8 <__modsi3+0x4c> 4d2e4: 1806d07a srli r3,r3,1 4d2e8: 11400136 bltu r2,r5,4d2f0 <__modsi3+0x44> 4d2ec: 1145c83a sub r2,r2,r5 4d2f0: 280ad07a srli r5,r5,1 4d2f4: 183ffb1e bne r3,zero,4d2e4 <__alt_data_end+0xfffdb2e4> 4d2f8: 38000126 beq r7,zero,4d300 <__modsi3+0x54> 4d2fc: 0085c83a sub r2,zero,r2 4d300: f800283a ret 4d304: 014bc83a sub r5,zero,r5 4d308: 003fec06 br 4d2bc <__alt_data_end+0xfffdb2bc> 4d30c: 0109c83a sub r4,zero,r4 4d310: 01c00044 movi r7,1 4d314: 003fe706 br 4d2b4 <__alt_data_end+0xfffdb2b4> 4d318: 00c00044 movi r3,1 4d31c: 003ff106 br 4d2e4 <__alt_data_end+0xfffdb2e4> 0004d320 <__udivsi3>: 4d320: 200d883a mov r6,r4 4d324: 2900152e bgeu r5,r4,4d37c <__udivsi3+0x5c> 4d328: 28001416 blt r5,zero,4d37c <__udivsi3+0x5c> 4d32c: 00800804 movi r2,32 4d330: 00c00044 movi r3,1 4d334: 00000206 br 4d340 <__udivsi3+0x20> 4d338: 10000e26 beq r2,zero,4d374 <__udivsi3+0x54> 4d33c: 28000516 blt r5,zero,4d354 <__udivsi3+0x34> 4d340: 294b883a add r5,r5,r5 4d344: 10bfffc4 addi r2,r2,-1 4d348: 18c7883a add r3,r3,r3 4d34c: 293ffa36 bltu r5,r4,4d338 <__alt_data_end+0xfffdb338> 4d350: 18000826 beq r3,zero,4d374 <__udivsi3+0x54> 4d354: 0005883a mov r2,zero 4d358: 31400236 bltu r6,r5,4d364 <__udivsi3+0x44> 4d35c: 314dc83a sub r6,r6,r5 4d360: 10c4b03a or r2,r2,r3 4d364: 1806d07a srli r3,r3,1 4d368: 280ad07a srli r5,r5,1 4d36c: 183ffa1e bne r3,zero,4d358 <__alt_data_end+0xfffdb358> 4d370: f800283a ret 4d374: 0005883a mov r2,zero 4d378: f800283a ret 4d37c: 00c00044 movi r3,1 4d380: 003ff406 br 4d354 <__alt_data_end+0xfffdb354> 0004d384 <__umodsi3>: 4d384: 2005883a mov r2,r4 4d388: 2900122e bgeu r5,r4,4d3d4 <__umodsi3+0x50> 4d38c: 28001116 blt r5,zero,4d3d4 <__umodsi3+0x50> 4d390: 01800804 movi r6,32 4d394: 00c00044 movi r3,1 4d398: 00000206 br 4d3a4 <__umodsi3+0x20> 4d39c: 30000c26 beq r6,zero,4d3d0 <__umodsi3+0x4c> 4d3a0: 28000516 blt r5,zero,4d3b8 <__umodsi3+0x34> 4d3a4: 294b883a add r5,r5,r5 4d3a8: 31bfffc4 addi r6,r6,-1 4d3ac: 18c7883a add r3,r3,r3 4d3b0: 293ffa36 bltu r5,r4,4d39c <__alt_data_end+0xfffdb39c> 4d3b4: 18000626 beq r3,zero,4d3d0 <__umodsi3+0x4c> 4d3b8: 1806d07a srli r3,r3,1 4d3bc: 11400136 bltu r2,r5,4d3c4 <__umodsi3+0x40> 4d3c0: 1145c83a sub r2,r2,r5 4d3c4: 280ad07a srli r5,r5,1 4d3c8: 183ffb1e bne r3,zero,4d3b8 <__alt_data_end+0xfffdb3b8> 4d3cc: f800283a ret 4d3d0: f800283a ret 4d3d4: 00c00044 movi r3,1 4d3d8: 003ff706 br 4d3b8 <__alt_data_end+0xfffdb3b8> 0004d3dc <__mulsi3>: 4d3dc: 0005883a mov r2,zero 4d3e0: 20000726 beq r4,zero,4d400 <__mulsi3+0x24> 4d3e4: 20c0004c andi r3,r4,1 4d3e8: 2008d07a srli r4,r4,1 4d3ec: 18000126 beq r3,zero,4d3f4 <__mulsi3+0x18> 4d3f0: 1145883a add r2,r2,r5 4d3f4: 294b883a add r5,r5,r5 4d3f8: 203ffa1e bne r4,zero,4d3e4 <__alt_data_end+0xfffdb3e4> 4d3fc: f800283a ret 4d400: f800283a ret 0004d404 <__divdf3>: 4d404: defff004 addi sp,sp,-64 4d408: dc800815 stw r18,32(sp) 4d40c: 2824d53a srli r18,r5,20 4d410: dd800c15 stw r22,48(sp) 4d414: 282cd7fa srli r22,r5,31 4d418: dc000615 stw r16,24(sp) 4d41c: 04000434 movhi r16,16 4d420: 843fffc4 addi r16,r16,-1 4d424: dfc00f15 stw ra,60(sp) 4d428: df000e15 stw fp,56(sp) 4d42c: ddc00d15 stw r23,52(sp) 4d430: dd400b15 stw r21,44(sp) 4d434: dd000a15 stw r20,40(sp) 4d438: dcc00915 stw r19,36(sp) 4d43c: dc400715 stw r17,28(sp) 4d440: 9481ffcc andi r18,r18,2047 4d444: 2c20703a and r16,r5,r16 4d448: b2003fcc andi r8,r22,255 4d44c: 90006126 beq r18,zero,4d5d4 <__divdf3+0x1d0> 4d450: 0081ffc4 movi r2,2047 4d454: 202b883a mov r21,r4 4d458: 90803726 beq r18,r2,4d538 <__divdf3+0x134> 4d45c: 80800434 orhi r2,r16,16 4d460: 100490fa slli r2,r2,3 4d464: 2020d77a srli r16,r4,29 4d468: 202a90fa slli r21,r4,3 4d46c: 94bf0044 addi r18,r18,-1023 4d470: 80a0b03a or r16,r16,r2 4d474: 0013883a mov r9,zero 4d478: 000b883a mov r5,zero 4d47c: 3806d53a srli r3,r7,20 4d480: 382ed7fa srli r23,r7,31 4d484: 04400434 movhi r17,16 4d488: 8c7fffc4 addi r17,r17,-1 4d48c: 18c1ffcc andi r3,r3,2047 4d490: 3029883a mov r20,r6 4d494: 3c62703a and r17,r7,r17 4d498: bf003fcc andi fp,r23,255 4d49c: 18006e26 beq r3,zero,4d658 <__divdf3+0x254> 4d4a0: 0081ffc4 movi r2,2047 4d4a4: 18806626 beq r3,r2,4d640 <__divdf3+0x23c> 4d4a8: 88800434 orhi r2,r17,16 4d4ac: 100490fa slli r2,r2,3 4d4b0: 3022d77a srli r17,r6,29 4d4b4: 302890fa slli r20,r6,3 4d4b8: 18ff0044 addi r3,r3,-1023 4d4bc: 88a2b03a or r17,r17,r2 4d4c0: 000f883a mov r7,zero 4d4c4: b5e6f03a xor r19,r22,r23 4d4c8: 3a4cb03a or r6,r7,r9 4d4cc: 008003c4 movi r2,15 4d4d0: 9809883a mov r4,r19 4d4d4: 90c7c83a sub r3,r18,r3 4d4d8: 9cc03fcc andi r19,r19,255 4d4dc: 11809636 bltu r2,r6,4d738 <__divdf3+0x334> 4d4e0: 300c90ba slli r6,r6,2 4d4e4: 00800174 movhi r2,5 4d4e8: 10b53e04 addi r2,r2,-11016 4d4ec: 308d883a add r6,r6,r2 4d4f0: 30800017 ldw r2,0(r6) 4d4f4: 1000683a jmp r2 4d4f8: 0004d738 rdprs zero,zero,4956 4d4fc: 0004d570 cmpltui zero,zero,4949 4d500: 0004d728 cmpgeui zero,zero,4956 4d504: 0004d564 muli zero,zero,4949 4d508: 0004d728 cmpgeui zero,zero,4956 4d50c: 0004d6fc xorhi zero,zero,4955 4d510: 0004d728 cmpgeui zero,zero,4956 4d514: 0004d564 muli zero,zero,4949 4d518: 0004d570 cmpltui zero,zero,4949 4d51c: 0004d570 cmpltui zero,zero,4949 4d520: 0004d6fc xorhi zero,zero,4955 4d524: 0004d564 muli zero,zero,4949 4d528: 0004d554 movui zero,4949 4d52c: 0004d554 movui zero,4949 4d530: 0004d554 movui zero,4949 4d534: 0004dac0 call 4dac <__alt_mem_onchip_memory2-0x3b254> 4d538: 2404b03a or r2,r4,r16 4d53c: 10006c1e bne r2,zero,4d6f0 <__divdf3+0x2ec> 4d540: 02400204 movi r9,8 4d544: 0021883a mov r16,zero 4d548: 002b883a mov r21,zero 4d54c: 01400084 movi r5,2 4d550: 003fca06 br 4d47c <__alt_data_end+0xfffdb47c> 4d554: 8023883a mov r17,r16 4d558: a829883a mov r20,r21 4d55c: 4039883a mov fp,r8 4d560: 280f883a mov r7,r5 4d564: 00800084 movi r2,2 4d568: 3881601e bne r7,r2,4daec <__divdf3+0x6e8> 4d56c: e027883a mov r19,fp 4d570: 9900004c andi r4,r19,1 4d574: 0081ffc4 movi r2,2047 4d578: 0021883a mov r16,zero 4d57c: 002b883a mov r21,zero 4d580: 1004953a slli r2,r2,20 4d584: 20c03fcc andi r3,r4,255 4d588: 01400434 movhi r5,16 4d58c: 297fffc4 addi r5,r5,-1 4d590: 180697fa slli r3,r3,31 4d594: 8160703a and r16,r16,r5 4d598: 80a0b03a or r16,r16,r2 4d59c: 80c6b03a or r3,r16,r3 4d5a0: a805883a mov r2,r21 4d5a4: dfc00f17 ldw ra,60(sp) 4d5a8: df000e17 ldw fp,56(sp) 4d5ac: ddc00d17 ldw r23,52(sp) 4d5b0: dd800c17 ldw r22,48(sp) 4d5b4: dd400b17 ldw r21,44(sp) 4d5b8: dd000a17 ldw r20,40(sp) 4d5bc: dcc00917 ldw r19,36(sp) 4d5c0: dc800817 ldw r18,32(sp) 4d5c4: dc400717 ldw r17,28(sp) 4d5c8: dc000617 ldw r16,24(sp) 4d5cc: dec01004 addi sp,sp,64 4d5d0: f800283a ret 4d5d4: 2404b03a or r2,r4,r16 4d5d8: 2023883a mov r17,r4 4d5dc: 10003f26 beq r2,zero,4d6dc <__divdf3+0x2d8> 4d5e0: 80015e26 beq r16,zero,4db5c <__divdf3+0x758> 4d5e4: 8009883a mov r4,r16 4d5e8: d9800215 stw r6,8(sp) 4d5ec: d9c00515 stw r7,20(sp) 4d5f0: da000415 stw r8,16(sp) 4d5f4: 0042b7c0 call 42b7c <__clzsi2> 4d5f8: d9800217 ldw r6,8(sp) 4d5fc: d9c00517 ldw r7,20(sp) 4d600: da000417 ldw r8,16(sp) 4d604: 113ffd44 addi r4,r2,-11 4d608: 00c00704 movi r3,28 4d60c: 19014f16 blt r3,r4,4db4c <__divdf3+0x748> 4d610: 00c00744 movi r3,29 4d614: 157ffe04 addi r21,r2,-8 4d618: 1907c83a sub r3,r3,r4 4d61c: 8560983a sll r16,r16,r21 4d620: 88c6d83a srl r3,r17,r3 4d624: 8d6a983a sll r21,r17,r21 4d628: 1c20b03a or r16,r3,r16 4d62c: 1080fcc4 addi r2,r2,1011 4d630: 00a5c83a sub r18,zero,r2 4d634: 0013883a mov r9,zero 4d638: 000b883a mov r5,zero 4d63c: 003f8f06 br 4d47c <__alt_data_end+0xfffdb47c> 4d640: 3444b03a or r2,r6,r17 4d644: 1000231e bne r2,zero,4d6d4 <__divdf3+0x2d0> 4d648: 0023883a mov r17,zero 4d64c: 0029883a mov r20,zero 4d650: 01c00084 movi r7,2 4d654: 003f9b06 br 4d4c4 <__alt_data_end+0xfffdb4c4> 4d658: 3444b03a or r2,r6,r17 4d65c: 10001926 beq r2,zero,4d6c4 <__divdf3+0x2c0> 4d660: 88014b26 beq r17,zero,4db90 <__divdf3+0x78c> 4d664: 8809883a mov r4,r17 4d668: d9400115 stw r5,4(sp) 4d66c: d9800215 stw r6,8(sp) 4d670: da000415 stw r8,16(sp) 4d674: da400315 stw r9,12(sp) 4d678: 0042b7c0 call 42b7c <__clzsi2> 4d67c: d9400117 ldw r5,4(sp) 4d680: d9800217 ldw r6,8(sp) 4d684: da000417 ldw r8,16(sp) 4d688: da400317 ldw r9,12(sp) 4d68c: 113ffd44 addi r4,r2,-11 4d690: 00c00704 movi r3,28 4d694: 19013a16 blt r3,r4,4db80 <__divdf3+0x77c> 4d698: 00c00744 movi r3,29 4d69c: 153ffe04 addi r20,r2,-8 4d6a0: 1907c83a sub r3,r3,r4 4d6a4: 8d22983a sll r17,r17,r20 4d6a8: 30c6d83a srl r3,r6,r3 4d6ac: 3528983a sll r20,r6,r20 4d6b0: 1c62b03a or r17,r3,r17 4d6b4: 1080fcc4 addi r2,r2,1011 4d6b8: 0087c83a sub r3,zero,r2 4d6bc: 000f883a mov r7,zero 4d6c0: 003f8006 br 4d4c4 <__alt_data_end+0xfffdb4c4> 4d6c4: 0023883a mov r17,zero 4d6c8: 0029883a mov r20,zero 4d6cc: 01c00044 movi r7,1 4d6d0: 003f7c06 br 4d4c4 <__alt_data_end+0xfffdb4c4> 4d6d4: 01c000c4 movi r7,3 4d6d8: 003f7a06 br 4d4c4 <__alt_data_end+0xfffdb4c4> 4d6dc: 02400104 movi r9,4 4d6e0: 0021883a mov r16,zero 4d6e4: 002b883a mov r21,zero 4d6e8: 01400044 movi r5,1 4d6ec: 003f6306 br 4d47c <__alt_data_end+0xfffdb47c> 4d6f0: 02400304 movi r9,12 4d6f4: 014000c4 movi r5,3 4d6f8: 003f6006 br 4d47c <__alt_data_end+0xfffdb47c> 4d6fc: 04000434 movhi r16,16 4d700: 0009883a mov r4,zero 4d704: 843fffc4 addi r16,r16,-1 4d708: 057fffc4 movi r21,-1 4d70c: 0081ffc4 movi r2,2047 4d710: 003f9b06 br 4d580 <__alt_data_end+0xfffdb580> 4d714: 00c00044 movi r3,1 4d718: 1887c83a sub r3,r3,r2 4d71c: 01000e04 movi r4,56 4d720: 20c1530e bge r4,r3,4dc70 <__divdf3+0x86c> 4d724: 9900004c andi r4,r19,1 4d728: 0005883a mov r2,zero 4d72c: 0021883a mov r16,zero 4d730: 002b883a mov r21,zero 4d734: 003f9206 br 4d580 <__alt_data_end+0xfffdb580> 4d738: 8c012e36 bltu r17,r16,4dbf4 <__divdf3+0x7f0> 4d73c: 84412c26 beq r16,r17,4dbf0 <__divdf3+0x7ec> 4d740: a82f883a mov r23,r21 4d744: 18ffffc4 addi r3,r3,-1 4d748: 002b883a mov r21,zero 4d74c: a004d63a srli r2,r20,24 4d750: 8822923a slli r17,r17,8 4d754: a028923a slli r20,r20,8 4d758: 8009883a mov r4,r16 4d75c: 88acb03a or r22,r17,r2 4d760: dd000015 stw r20,0(sp) 4d764: b028d43a srli r20,r22,16 4d768: d8c00215 stw r3,8(sp) 4d76c: b4bfffcc andi r18,r22,65535 4d770: a00b883a mov r5,r20 4d774: 004d3200 call 4d320 <__udivsi3> 4d778: 100b883a mov r5,r2 4d77c: 9009883a mov r4,r18 4d780: 1023883a mov r17,r2 4d784: 004d3dc0 call 4d3dc <__mulsi3> 4d788: 8009883a mov r4,r16 4d78c: a00b883a mov r5,r20 4d790: 1039883a mov fp,r2 4d794: 004d3840 call 4d384 <__umodsi3> 4d798: 1004943a slli r2,r2,16 4d79c: b808d43a srli r4,r23,16 4d7a0: d8c00217 ldw r3,8(sp) 4d7a4: 2084b03a or r2,r4,r2 4d7a8: 1700062e bgeu r2,fp,4d7c4 <__divdf3+0x3c0> 4d7ac: 1585883a add r2,r2,r22 4d7b0: 893fffc4 addi r4,r17,-1 4d7b4: 15811d36 bltu r2,r22,4dc2c <__divdf3+0x828> 4d7b8: 17011c2e bgeu r2,fp,4dc2c <__divdf3+0x828> 4d7bc: 8c7fff84 addi r17,r17,-2 4d7c0: 1585883a add r2,r2,r22 4d7c4: 1739c83a sub fp,r2,fp 4d7c8: a00b883a mov r5,r20 4d7cc: e009883a mov r4,fp 4d7d0: d8c00215 stw r3,8(sp) 4d7d4: 004d3200 call 4d320 <__udivsi3> 4d7d8: 100b883a mov r5,r2 4d7dc: 9009883a mov r4,r18 4d7e0: 1021883a mov r16,r2 4d7e4: 004d3dc0 call 4d3dc <__mulsi3> 4d7e8: a00b883a mov r5,r20 4d7ec: e009883a mov r4,fp 4d7f0: d8800415 stw r2,16(sp) 4d7f4: 004d3840 call 4d384 <__umodsi3> 4d7f8: 1004943a slli r2,r2,16 4d7fc: da000417 ldw r8,16(sp) 4d800: bdffffcc andi r23,r23,65535 4d804: b884b03a or r2,r23,r2 4d808: d8c00217 ldw r3,8(sp) 4d80c: 1200062e bgeu r2,r8,4d828 <__divdf3+0x424> 4d810: 1585883a add r2,r2,r22 4d814: 813fffc4 addi r4,r16,-1 4d818: 15810236 bltu r2,r22,4dc24 <__divdf3+0x820> 4d81c: 1201012e bgeu r2,r8,4dc24 <__divdf3+0x820> 4d820: 843fff84 addi r16,r16,-2 4d824: 1585883a add r2,r2,r22 4d828: 8822943a slli r17,r17,16 4d82c: d9800017 ldw r6,0(sp) 4d830: 1211c83a sub r8,r2,r8 4d834: 8c22b03a or r17,r17,r16 4d838: 373fffcc andi fp,r6,65535 4d83c: 8abfffcc andi r10,r17,65535 4d840: 8820d43a srli r16,r17,16 4d844: 5009883a mov r4,r10 4d848: e00b883a mov r5,fp 4d84c: 302ed43a srli r23,r6,16 4d850: d8c00215 stw r3,8(sp) 4d854: da000415 stw r8,16(sp) 4d858: da800115 stw r10,4(sp) 4d85c: 004d3dc0 call 4d3dc <__mulsi3> 4d860: 800b883a mov r5,r16 4d864: e009883a mov r4,fp 4d868: d8800515 stw r2,20(sp) 4d86c: 004d3dc0 call 4d3dc <__mulsi3> 4d870: 8009883a mov r4,r16 4d874: b80b883a mov r5,r23 4d878: d8800315 stw r2,12(sp) 4d87c: 004d3dc0 call 4d3dc <__mulsi3> 4d880: da800117 ldw r10,4(sp) 4d884: b80b883a mov r5,r23 4d888: 1021883a mov r16,r2 4d88c: 5009883a mov r4,r10 4d890: 004d3dc0 call 4d3dc <__mulsi3> 4d894: d9c00517 ldw r7,20(sp) 4d898: da400317 ldw r9,12(sp) 4d89c: d8c00217 ldw r3,8(sp) 4d8a0: 3808d43a srli r4,r7,16 4d8a4: 1245883a add r2,r2,r9 4d8a8: da000417 ldw r8,16(sp) 4d8ac: 2085883a add r2,r4,r2 4d8b0: 1240022e bgeu r2,r9,4d8bc <__divdf3+0x4b8> 4d8b4: 01000074 movhi r4,1 4d8b8: 8121883a add r16,r16,r4 4d8bc: 1008d43a srli r4,r2,16 4d8c0: 1004943a slli r2,r2,16 4d8c4: 39ffffcc andi r7,r7,65535 4d8c8: 2409883a add r4,r4,r16 4d8cc: 11c5883a add r2,r2,r7 4d8d0: 4100bb36 bltu r8,r4,4dbc0 <__divdf3+0x7bc> 4d8d4: 4100d726 beq r8,r4,4dc34 <__divdf3+0x830> 4d8d8: 4109c83a sub r4,r8,r4 4d8dc: a8a1c83a sub r16,r21,r2 4d8e0: ac2b803a cmpltu r21,r21,r16 4d8e4: 256bc83a sub r21,r4,r21 4d8e8: b540d926 beq r22,r21,4dc50 <__divdf3+0x84c> 4d8ec: a00b883a mov r5,r20 4d8f0: a809883a mov r4,r21 4d8f4: d8c00215 stw r3,8(sp) 4d8f8: 004d3200 call 4d320 <__udivsi3> 4d8fc: 100b883a mov r5,r2 4d900: 9009883a mov r4,r18 4d904: d8800515 stw r2,20(sp) 4d908: 004d3dc0 call 4d3dc <__mulsi3> 4d90c: a809883a mov r4,r21 4d910: a00b883a mov r5,r20 4d914: d8800415 stw r2,16(sp) 4d918: 004d3840 call 4d384 <__umodsi3> 4d91c: 1004943a slli r2,r2,16 4d920: 8008d43a srli r4,r16,16 4d924: da000417 ldw r8,16(sp) 4d928: d8c00217 ldw r3,8(sp) 4d92c: 2084b03a or r2,r4,r2 4d930: d9c00517 ldw r7,20(sp) 4d934: 1200062e bgeu r2,r8,4d950 <__divdf3+0x54c> 4d938: 1585883a add r2,r2,r22 4d93c: 393fffc4 addi r4,r7,-1 4d940: 1580c536 bltu r2,r22,4dc58 <__divdf3+0x854> 4d944: 1200c42e bgeu r2,r8,4dc58 <__divdf3+0x854> 4d948: 39ffff84 addi r7,r7,-2 4d94c: 1585883a add r2,r2,r22 4d950: 122bc83a sub r21,r2,r8 4d954: a00b883a mov r5,r20 4d958: a809883a mov r4,r21 4d95c: d8c00215 stw r3,8(sp) 4d960: d9c00515 stw r7,20(sp) 4d964: 004d3200 call 4d320 <__udivsi3> 4d968: 9009883a mov r4,r18 4d96c: 100b883a mov r5,r2 4d970: d8800415 stw r2,16(sp) 4d974: 004d3dc0 call 4d3dc <__mulsi3> 4d978: a809883a mov r4,r21 4d97c: a00b883a mov r5,r20 4d980: 1025883a mov r18,r2 4d984: 004d3840 call 4d384 <__umodsi3> 4d988: 1004943a slli r2,r2,16 4d98c: 813fffcc andi r4,r16,65535 4d990: d8c00217 ldw r3,8(sp) 4d994: 20a0b03a or r16,r4,r2 4d998: d9c00517 ldw r7,20(sp) 4d99c: da000417 ldw r8,16(sp) 4d9a0: 8480062e bgeu r16,r18,4d9bc <__divdf3+0x5b8> 4d9a4: 85a1883a add r16,r16,r22 4d9a8: 40bfffc4 addi r2,r8,-1 4d9ac: 8580ac36 bltu r16,r22,4dc60 <__divdf3+0x85c> 4d9b0: 8480ab2e bgeu r16,r18,4dc60 <__divdf3+0x85c> 4d9b4: 423fff84 addi r8,r8,-2 4d9b8: 85a1883a add r16,r16,r22 4d9bc: 3804943a slli r2,r7,16 4d9c0: 84a1c83a sub r16,r16,r18 4d9c4: e009883a mov r4,fp 4d9c8: 1228b03a or r20,r2,r8 4d9cc: a1ffffcc andi r7,r20,65535 4d9d0: a024d43a srli r18,r20,16 4d9d4: 380b883a mov r5,r7 4d9d8: d8c00215 stw r3,8(sp) 4d9dc: d9c00515 stw r7,20(sp) 4d9e0: 004d3dc0 call 4d3dc <__mulsi3> 4d9e4: 900b883a mov r5,r18 4d9e8: e009883a mov r4,fp 4d9ec: 102b883a mov r21,r2 4d9f0: 004d3dc0 call 4d3dc <__mulsi3> 4d9f4: 900b883a mov r5,r18 4d9f8: b809883a mov r4,r23 4d9fc: 1039883a mov fp,r2 4da00: 004d3dc0 call 4d3dc <__mulsi3> 4da04: d9c00517 ldw r7,20(sp) 4da08: b80b883a mov r5,r23 4da0c: 1025883a mov r18,r2 4da10: 3809883a mov r4,r7 4da14: 004d3dc0 call 4d3dc <__mulsi3> 4da18: a808d43a srli r4,r21,16 4da1c: 1705883a add r2,r2,fp 4da20: d8c00217 ldw r3,8(sp) 4da24: 2085883a add r2,r4,r2 4da28: 1700022e bgeu r2,fp,4da34 <__divdf3+0x630> 4da2c: 01000074 movhi r4,1 4da30: 9125883a add r18,r18,r4 4da34: 1008d43a srli r4,r2,16 4da38: 1004943a slli r2,r2,16 4da3c: ad7fffcc andi r21,r21,65535 4da40: 2489883a add r4,r4,r18 4da44: 1545883a add r2,r2,r21 4da48: 81003836 bltu r16,r4,4db2c <__divdf3+0x728> 4da4c: 81003626 beq r16,r4,4db28 <__divdf3+0x724> 4da50: a5000054 ori r20,r20,1 4da54: 1880ffc4 addi r2,r3,1023 4da58: 00bf2e0e bge zero,r2,4d714 <__alt_data_end+0xfffdb714> 4da5c: a10001cc andi r4,r20,7 4da60: 20000726 beq r4,zero,4da80 <__divdf3+0x67c> 4da64: a10003cc andi r4,r20,15 4da68: 01400104 movi r5,4 4da6c: 21400426 beq r4,r5,4da80 <__divdf3+0x67c> 4da70: a149883a add r4,r20,r5 4da74: 2529803a cmpltu r20,r4,r20 4da78: 8d23883a add r17,r17,r20 4da7c: 2029883a mov r20,r4 4da80: 8900402c andhi r4,r17,256 4da84: 20000426 beq r4,zero,4da98 <__divdf3+0x694> 4da88: 18810004 addi r2,r3,1024 4da8c: 00ffc034 movhi r3,65280 4da90: 18ffffc4 addi r3,r3,-1 4da94: 88e2703a and r17,r17,r3 4da98: 00c1ff84 movi r3,2046 4da9c: 18beb416 blt r3,r2,4d570 <__alt_data_end+0xfffdb570> 4daa0: a028d0fa srli r20,r20,3 4daa4: 882a977a slli r21,r17,29 4daa8: 8820927a slli r16,r17,9 4daac: 1081ffcc andi r2,r2,2047 4dab0: ad2ab03a or r21,r21,r20 4dab4: 8020d33a srli r16,r16,12 4dab8: 9900004c andi r4,r19,1 4dabc: 003eb006 br 4d580 <__alt_data_end+0xfffdb580> 4dac0: 8080022c andhi r2,r16,8 4dac4: 10001226 beq r2,zero,4db10 <__divdf3+0x70c> 4dac8: 8880022c andhi r2,r17,8 4dacc: 1000101e bne r2,zero,4db10 <__divdf3+0x70c> 4dad0: 00800434 movhi r2,16 4dad4: 8c000234 orhi r16,r17,8 4dad8: 10bfffc4 addi r2,r2,-1 4dadc: b809883a mov r4,r23 4dae0: 80a0703a and r16,r16,r2 4dae4: a02b883a mov r21,r20 4dae8: 003f0806 br 4d70c <__alt_data_end+0xfffdb70c> 4daec: 008000c4 movi r2,3 4daf0: 3880b126 beq r7,r2,4ddb8 <__divdf3+0x9b4> 4daf4: 00800044 movi r2,1 4daf8: 38805b1e bne r7,r2,4dc68 <__divdf3+0x864> 4dafc: e009883a mov r4,fp 4db00: 0005883a mov r2,zero 4db04: 0021883a mov r16,zero 4db08: 002b883a mov r21,zero 4db0c: 003e9c06 br 4d580 <__alt_data_end+0xfffdb580> 4db10: 00800434 movhi r2,16 4db14: 84000234 orhi r16,r16,8 4db18: 10bfffc4 addi r2,r2,-1 4db1c: b009883a mov r4,r22 4db20: 80a0703a and r16,r16,r2 4db24: 003ef906 br 4d70c <__alt_data_end+0xfffdb70c> 4db28: 103fca26 beq r2,zero,4da54 <__alt_data_end+0xfffdba54> 4db2c: b421883a add r16,r22,r16 4db30: a17fffc4 addi r5,r20,-1 4db34: 8580422e bgeu r16,r22,4dc40 <__divdf3+0x83c> 4db38: 2829883a mov r20,r5 4db3c: 813fc41e bne r16,r4,4da50 <__alt_data_end+0xfffdba50> 4db40: d9800017 ldw r6,0(sp) 4db44: 30bfc21e bne r6,r2,4da50 <__alt_data_end+0xfffdba50> 4db48: 003fc206 br 4da54 <__alt_data_end+0xfffdba54> 4db4c: 143ff604 addi r16,r2,-40 4db50: 8c20983a sll r16,r17,r16 4db54: 002b883a mov r21,zero 4db58: 003eb406 br 4d62c <__alt_data_end+0xfffdb62c> 4db5c: d9800215 stw r6,8(sp) 4db60: d9c00515 stw r7,20(sp) 4db64: da000415 stw r8,16(sp) 4db68: 0042b7c0 call 42b7c <__clzsi2> 4db6c: 10800804 addi r2,r2,32 4db70: da000417 ldw r8,16(sp) 4db74: d9c00517 ldw r7,20(sp) 4db78: d9800217 ldw r6,8(sp) 4db7c: 003ea106 br 4d604 <__alt_data_end+0xfffdb604> 4db80: 147ff604 addi r17,r2,-40 4db84: 3462983a sll r17,r6,r17 4db88: 0029883a mov r20,zero 4db8c: 003ec906 br 4d6b4 <__alt_data_end+0xfffdb6b4> 4db90: 3009883a mov r4,r6 4db94: d9400115 stw r5,4(sp) 4db98: d9800215 stw r6,8(sp) 4db9c: da000415 stw r8,16(sp) 4dba0: da400315 stw r9,12(sp) 4dba4: 0042b7c0 call 42b7c <__clzsi2> 4dba8: 10800804 addi r2,r2,32 4dbac: da400317 ldw r9,12(sp) 4dbb0: da000417 ldw r8,16(sp) 4dbb4: d9800217 ldw r6,8(sp) 4dbb8: d9400117 ldw r5,4(sp) 4dbbc: 003eb306 br 4d68c <__alt_data_end+0xfffdb68c> 4dbc0: d9800017 ldw r6,0(sp) 4dbc4: a9ab883a add r21,r21,r6 4dbc8: a98b803a cmpltu r5,r21,r6 4dbcc: 2d8b883a add r5,r5,r22 4dbd0: 2a11883a add r8,r5,r8 4dbd4: 897fffc4 addi r5,r17,-1 4dbd8: b2000c2e bgeu r22,r8,4dc0c <__divdf3+0x808> 4dbdc: 41003f36 bltu r8,r4,4dcdc <__divdf3+0x8d8> 4dbe0: 22006c26 beq r4,r8,4dd94 <__divdf3+0x990> 4dbe4: 4109c83a sub r4,r8,r4 4dbe8: 2823883a mov r17,r5 4dbec: 003f3b06 br 4d8dc <__alt_data_end+0xfffdb8dc> 4dbf0: ad3ed336 bltu r21,r20,4d740 <__alt_data_end+0xfffdb740> 4dbf4: a804d07a srli r2,r21,1 4dbf8: 802e97fa slli r23,r16,31 4dbfc: a82a97fa slli r21,r21,31 4dc00: 8020d07a srli r16,r16,1 4dc04: b8aeb03a or r23,r23,r2 4dc08: 003ed006 br 4d74c <__alt_data_end+0xfffdb74c> 4dc0c: b23ff51e bne r22,r8,4dbe4 <__alt_data_end+0xfffdbbe4> 4dc10: d9800017 ldw r6,0(sp) 4dc14: a9bff12e bgeu r21,r6,4dbdc <__alt_data_end+0xfffdbbdc> 4dc18: b109c83a sub r4,r22,r4 4dc1c: 2823883a mov r17,r5 4dc20: 003f2e06 br 4d8dc <__alt_data_end+0xfffdb8dc> 4dc24: 2021883a mov r16,r4 4dc28: 003eff06 br 4d828 <__alt_data_end+0xfffdb828> 4dc2c: 2023883a mov r17,r4 4dc30: 003ee406 br 4d7c4 <__alt_data_end+0xfffdb7c4> 4dc34: a8bfe236 bltu r21,r2,4dbc0 <__alt_data_end+0xfffdbbc0> 4dc38: 0009883a mov r4,zero 4dc3c: 003f2706 br 4d8dc <__alt_data_end+0xfffdb8dc> 4dc40: 81002d36 bltu r16,r4,4dcf8 <__divdf3+0x8f4> 4dc44: 24005626 beq r4,r16,4dda0 <__divdf3+0x99c> 4dc48: 2829883a mov r20,r5 4dc4c: 003f8006 br 4da50 <__alt_data_end+0xfffdba50> 4dc50: 053fffc4 movi r20,-1 4dc54: 003f7f06 br 4da54 <__alt_data_end+0xfffdba54> 4dc58: 200f883a mov r7,r4 4dc5c: 003f3c06 br 4d950 <__alt_data_end+0xfffdb950> 4dc60: 1011883a mov r8,r2 4dc64: 003f5506 br 4d9bc <__alt_data_end+0xfffdb9bc> 4dc68: e027883a mov r19,fp 4dc6c: 003f7906 br 4da54 <__alt_data_end+0xfffdba54> 4dc70: 010007c4 movi r4,31 4dc74: 20c02816 blt r4,r3,4dd18 <__divdf3+0x914> 4dc78: 00800804 movi r2,32 4dc7c: 10c5c83a sub r2,r2,r3 4dc80: 888a983a sll r5,r17,r2 4dc84: a0c8d83a srl r4,r20,r3 4dc88: a084983a sll r2,r20,r2 4dc8c: 88e2d83a srl r17,r17,r3 4dc90: 2906b03a or r3,r5,r4 4dc94: 1004c03a cmpne r2,r2,zero 4dc98: 1886b03a or r3,r3,r2 4dc9c: 188001cc andi r2,r3,7 4dca0: 10000726 beq r2,zero,4dcc0 <__divdf3+0x8bc> 4dca4: 188003cc andi r2,r3,15 4dca8: 01000104 movi r4,4 4dcac: 11000426 beq r2,r4,4dcc0 <__divdf3+0x8bc> 4dcb0: 1805883a mov r2,r3 4dcb4: 10c00104 addi r3,r2,4 4dcb8: 1885803a cmpltu r2,r3,r2 4dcbc: 88a3883a add r17,r17,r2 4dcc0: 8880202c andhi r2,r17,128 4dcc4: 10002926 beq r2,zero,4dd6c <__divdf3+0x968> 4dcc8: 9900004c andi r4,r19,1 4dccc: 00800044 movi r2,1 4dcd0: 0021883a mov r16,zero 4dcd4: 002b883a mov r21,zero 4dcd8: 003e2906 br 4d580 <__alt_data_end+0xfffdb580> 4dcdc: d9800017 ldw r6,0(sp) 4dce0: 8c7fff84 addi r17,r17,-2 4dce4: a9ab883a add r21,r21,r6 4dce8: a98b803a cmpltu r5,r21,r6 4dcec: 2d8b883a add r5,r5,r22 4dcf0: 2a11883a add r8,r5,r8 4dcf4: 003ef806 br 4d8d8 <__alt_data_end+0xfffdb8d8> 4dcf8: d9800017 ldw r6,0(sp) 4dcfc: 318f883a add r7,r6,r6 4dd00: 398b803a cmpltu r5,r7,r6 4dd04: 2d8d883a add r6,r5,r22 4dd08: 81a1883a add r16,r16,r6 4dd0c: a17fff84 addi r5,r20,-2 4dd10: d9c00015 stw r7,0(sp) 4dd14: 003f8806 br 4db38 <__alt_data_end+0xfffdbb38> 4dd18: 013ff844 movi r4,-31 4dd1c: 2085c83a sub r2,r4,r2 4dd20: 8888d83a srl r4,r17,r2 4dd24: 00800804 movi r2,32 4dd28: 18802126 beq r3,r2,4ddb0 <__divdf3+0x9ac> 4dd2c: 04001004 movi r16,64 4dd30: 80c7c83a sub r3,r16,r3 4dd34: 88e0983a sll r16,r17,r3 4dd38: 8504b03a or r2,r16,r20 4dd3c: 1004c03a cmpne r2,r2,zero 4dd40: 2084b03a or r2,r4,r2 4dd44: 144001cc andi r17,r2,7 4dd48: 88000d1e bne r17,zero,4dd80 <__divdf3+0x97c> 4dd4c: 0021883a mov r16,zero 4dd50: 102ad0fa srli r21,r2,3 4dd54: 9900004c andi r4,r19,1 4dd58: 0005883a mov r2,zero 4dd5c: ac6ab03a or r21,r21,r17 4dd60: 003e0706 br 4d580 <__alt_data_end+0xfffdb580> 4dd64: 1007883a mov r3,r2 4dd68: 0023883a mov r17,zero 4dd6c: 8820927a slli r16,r17,9 4dd70: 1805883a mov r2,r3 4dd74: 8822977a slli r17,r17,29 4dd78: 8020d33a srli r16,r16,12 4dd7c: 003ff406 br 4dd50 <__alt_data_end+0xfffdbd50> 4dd80: 10c003cc andi r3,r2,15 4dd84: 01000104 movi r4,4 4dd88: 193ff626 beq r3,r4,4dd64 <__alt_data_end+0xfffdbd64> 4dd8c: 0023883a mov r17,zero 4dd90: 003fc806 br 4dcb4 <__alt_data_end+0xfffdbcb4> 4dd94: a8bfd136 bltu r21,r2,4dcdc <__alt_data_end+0xfffdbcdc> 4dd98: 2823883a mov r17,r5 4dd9c: 003fa606 br 4dc38 <__alt_data_end+0xfffdbc38> 4dda0: d9800017 ldw r6,0(sp) 4dda4: 30bfd436 bltu r6,r2,4dcf8 <__alt_data_end+0xfffdbcf8> 4dda8: 2829883a mov r20,r5 4ddac: 003f6406 br 4db40 <__alt_data_end+0xfffdbb40> 4ddb0: 0021883a mov r16,zero 4ddb4: 003fe006 br 4dd38 <__alt_data_end+0xfffdbd38> 4ddb8: 00800434 movhi r2,16 4ddbc: 8c000234 orhi r16,r17,8 4ddc0: 10bfffc4 addi r2,r2,-1 4ddc4: e009883a mov r4,fp 4ddc8: 80a0703a and r16,r16,r2 4ddcc: a02b883a mov r21,r20 4ddd0: 003e4e06 br 4d70c <__alt_data_end+0xfffdb70c> 0004ddd4 <__eqdf2>: 4ddd4: 2804d53a srli r2,r5,20 4ddd8: 3806d53a srli r3,r7,20 4dddc: 02000434 movhi r8,16 4dde0: 423fffc4 addi r8,r8,-1 4dde4: 1081ffcc andi r2,r2,2047 4dde8: 0281ffc4 movi r10,2047 4ddec: 2a12703a and r9,r5,r8 4ddf0: 18c1ffcc andi r3,r3,2047 4ddf4: 3a10703a and r8,r7,r8 4ddf8: 280ad7fa srli r5,r5,31 4ddfc: 380ed7fa srli r7,r7,31 4de00: 12801026 beq r2,r10,4de44 <__eqdf2+0x70> 4de04: 0281ffc4 movi r10,2047 4de08: 1a800a26 beq r3,r10,4de34 <__eqdf2+0x60> 4de0c: 10c00226 beq r2,r3,4de18 <__eqdf2+0x44> 4de10: 00800044 movi r2,1 4de14: f800283a ret 4de18: 4a3ffd1e bne r9,r8,4de10 <__alt_data_end+0xfffdbe10> 4de1c: 21bffc1e bne r4,r6,4de10 <__alt_data_end+0xfffdbe10> 4de20: 29c00c26 beq r5,r7,4de54 <__eqdf2+0x80> 4de24: 103ffa1e bne r2,zero,4de10 <__alt_data_end+0xfffdbe10> 4de28: 2244b03a or r2,r4,r9 4de2c: 1004c03a cmpne r2,r2,zero 4de30: f800283a ret 4de34: 3214b03a or r10,r6,r8 4de38: 503ff426 beq r10,zero,4de0c <__alt_data_end+0xfffdbe0c> 4de3c: 00800044 movi r2,1 4de40: f800283a ret 4de44: 2254b03a or r10,r4,r9 4de48: 503fee26 beq r10,zero,4de04 <__alt_data_end+0xfffdbe04> 4de4c: 00800044 movi r2,1 4de50: f800283a ret 4de54: 0005883a mov r2,zero 4de58: f800283a ret 0004de5c <__muldf3>: 4de5c: deffee04 addi sp,sp,-72 4de60: dd000c15 stw r20,48(sp) 4de64: 2828d53a srli r20,r5,20 4de68: ddc00f15 stw r23,60(sp) 4de6c: 282ed7fa srli r23,r5,31 4de70: dc000815 stw r16,32(sp) 4de74: 04000434 movhi r16,16 4de78: dcc00b15 stw r19,44(sp) 4de7c: 843fffc4 addi r16,r16,-1 4de80: dfc01115 stw ra,68(sp) 4de84: df001015 stw fp,64(sp) 4de88: dd800e15 stw r22,56(sp) 4de8c: dd400d15 stw r21,52(sp) 4de90: dc800a15 stw r18,40(sp) 4de94: dc400915 stw r17,36(sp) 4de98: a501ffcc andi r20,r20,2047 4de9c: 2c20703a and r16,r5,r16 4dea0: b827883a mov r19,r23 4dea4: ba403fcc andi r9,r23,255 4dea8: a0006026 beq r20,zero,4e02c <__muldf3+0x1d0> 4deac: 0081ffc4 movi r2,2047 4deb0: 202d883a mov r22,r4 4deb4: a0803626 beq r20,r2,4df90 <__muldf3+0x134> 4deb8: 84000434 orhi r16,r16,16 4debc: 200ad77a srli r5,r4,29 4dec0: 800490fa slli r2,r16,3 4dec4: 202c90fa slli r22,r4,3 4dec8: a53f0044 addi r20,r20,-1023 4decc: 28a0b03a or r16,r5,r2 4ded0: 002b883a mov r21,zero 4ded4: 000b883a mov r5,zero 4ded8: 3804d53a srli r2,r7,20 4dedc: 3838d7fa srli fp,r7,31 4dee0: 04400434 movhi r17,16 4dee4: 8c7fffc4 addi r17,r17,-1 4dee8: 1081ffcc andi r2,r2,2047 4deec: 3025883a mov r18,r6 4def0: 3c62703a and r17,r7,r17 4def4: e2803fcc andi r10,fp,255 4def8: 10006d26 beq r2,zero,4e0b0 <__muldf3+0x254> 4defc: 00c1ffc4 movi r3,2047 4df00: 10c06526 beq r2,r3,4e098 <__muldf3+0x23c> 4df04: 8c400434 orhi r17,r17,16 4df08: 300ed77a srli r7,r6,29 4df0c: 880690fa slli r3,r17,3 4df10: 302490fa slli r18,r6,3 4df14: 10bf0044 addi r2,r2,-1023 4df18: 38e2b03a or r17,r7,r3 4df1c: 000f883a mov r7,zero 4df20: a087883a add r3,r20,r2 4df24: 010003c4 movi r4,15 4df28: 3d44b03a or r2,r7,r21 4df2c: e5ccf03a xor r6,fp,r23 4df30: 1a000044 addi r8,r3,1 4df34: 20809b36 bltu r4,r2,4e1a4 <__muldf3+0x348> 4df38: 100490ba slli r2,r2,2 4df3c: 01000174 movhi r4,5 4df40: 2137d404 addi r4,r4,-8368 4df44: 1105883a add r2,r2,r4 4df48: 10800017 ldw r2,0(r2) 4df4c: 1000683a jmp r2 4df50: 0004e1a4 muli zero,zero,4998 4df54: 0004dfb0 cmpltui zero,zero,4990 4df58: 0004dfb0 cmpltui zero,zero,4990 4df5c: 0004dfac andhi zero,zero,4990 4df60: 0004e180 call 4e18 <__alt_mem_onchip_memory2-0x3b1e8> 4df64: 0004e180 call 4e18 <__alt_mem_onchip_memory2-0x3b1e8> 4df68: 0004e168 cmpgeui zero,zero,4997 4df6c: 0004dfac andhi zero,zero,4990 4df70: 0004e180 call 4e18 <__alt_mem_onchip_memory2-0x3b1e8> 4df74: 0004e168 cmpgeui zero,zero,4997 4df78: 0004e180 call 4e18 <__alt_mem_onchip_memory2-0x3b1e8> 4df7c: 0004dfac andhi zero,zero,4990 4df80: 0004e190 cmplti zero,zero,4998 4df84: 0004e190 cmplti zero,zero,4998 4df88: 0004e190 cmplti zero,zero,4998 4df8c: 0004e4f0 cmpltui zero,zero,5011 4df90: 2404b03a or r2,r4,r16 4df94: 1000711e bne r2,zero,4e15c <__muldf3+0x300> 4df98: 05400204 movi r21,8 4df9c: 0021883a mov r16,zero 4dfa0: 002d883a mov r22,zero 4dfa4: 01400084 movi r5,2 4dfa8: 003fcb06 br 4ded8 <__alt_data_end+0xfffdbed8> 4dfac: 500d883a mov r6,r10 4dfb0: 00800084 movi r2,2 4dfb4: 38805926 beq r7,r2,4e11c <__muldf3+0x2c0> 4dfb8: 008000c4 movi r2,3 4dfbc: 3881bb26 beq r7,r2,4e6ac <__muldf3+0x850> 4dfc0: 00800044 movi r2,1 4dfc4: 3881961e bne r7,r2,4e620 <__muldf3+0x7c4> 4dfc8: 3027883a mov r19,r6 4dfcc: 0005883a mov r2,zero 4dfd0: 0021883a mov r16,zero 4dfd4: 002d883a mov r22,zero 4dfd8: 1004953a slli r2,r2,20 4dfdc: 98c03fcc andi r3,r19,255 4dfe0: 04400434 movhi r17,16 4dfe4: 8c7fffc4 addi r17,r17,-1 4dfe8: 180697fa slli r3,r3,31 4dfec: 8460703a and r16,r16,r17 4dff0: 80a0b03a or r16,r16,r2 4dff4: 80c6b03a or r3,r16,r3 4dff8: b005883a mov r2,r22 4dffc: dfc01117 ldw ra,68(sp) 4e000: df001017 ldw fp,64(sp) 4e004: ddc00f17 ldw r23,60(sp) 4e008: dd800e17 ldw r22,56(sp) 4e00c: dd400d17 ldw r21,52(sp) 4e010: dd000c17 ldw r20,48(sp) 4e014: dcc00b17 ldw r19,44(sp) 4e018: dc800a17 ldw r18,40(sp) 4e01c: dc400917 ldw r17,36(sp) 4e020: dc000817 ldw r16,32(sp) 4e024: dec01204 addi sp,sp,72 4e028: f800283a ret 4e02c: 2404b03a or r2,r4,r16 4e030: 202b883a mov r21,r4 4e034: 10004426 beq r2,zero,4e148 <__muldf3+0x2ec> 4e038: 80015126 beq r16,zero,4e580 <__muldf3+0x724> 4e03c: 8009883a mov r4,r16 4e040: d9800715 stw r6,28(sp) 4e044: d9c00215 stw r7,8(sp) 4e048: da400415 stw r9,16(sp) 4e04c: 0042b7c0 call 42b7c <__clzsi2> 4e050: d9800717 ldw r6,28(sp) 4e054: d9c00217 ldw r7,8(sp) 4e058: da400417 ldw r9,16(sp) 4e05c: 113ffd44 addi r4,r2,-11 4e060: 00c00704 movi r3,28 4e064: 19014216 blt r3,r4,4e570 <__muldf3+0x714> 4e068: 00c00744 movi r3,29 4e06c: 15bffe04 addi r22,r2,-8 4e070: 1907c83a sub r3,r3,r4 4e074: 85a0983a sll r16,r16,r22 4e078: a8c6d83a srl r3,r21,r3 4e07c: adac983a sll r22,r21,r22 4e080: 1c20b03a or r16,r3,r16 4e084: 1080fcc4 addi r2,r2,1011 4e088: 00a9c83a sub r20,zero,r2 4e08c: 002b883a mov r21,zero 4e090: 000b883a mov r5,zero 4e094: 003f9006 br 4ded8 <__alt_data_end+0xfffdbed8> 4e098: 3446b03a or r3,r6,r17 4e09c: 1800281e bne r3,zero,4e140 <__muldf3+0x2e4> 4e0a0: 0023883a mov r17,zero 4e0a4: 0025883a mov r18,zero 4e0a8: 01c00084 movi r7,2 4e0ac: 003f9c06 br 4df20 <__alt_data_end+0xfffdbf20> 4e0b0: 3446b03a or r3,r6,r17 4e0b4: 18001e26 beq r3,zero,4e130 <__muldf3+0x2d4> 4e0b8: 88012126 beq r17,zero,4e540 <__muldf3+0x6e4> 4e0bc: 8809883a mov r4,r17 4e0c0: d9400215 stw r5,8(sp) 4e0c4: d9800715 stw r6,28(sp) 4e0c8: da400415 stw r9,16(sp) 4e0cc: da800315 stw r10,12(sp) 4e0d0: 0042b7c0 call 42b7c <__clzsi2> 4e0d4: d9400217 ldw r5,8(sp) 4e0d8: d9800717 ldw r6,28(sp) 4e0dc: da400417 ldw r9,16(sp) 4e0e0: da800317 ldw r10,12(sp) 4e0e4: 113ffd44 addi r4,r2,-11 4e0e8: 00c00704 movi r3,28 4e0ec: 19011016 blt r3,r4,4e530 <__muldf3+0x6d4> 4e0f0: 00c00744 movi r3,29 4e0f4: 14bffe04 addi r18,r2,-8 4e0f8: 1907c83a sub r3,r3,r4 4e0fc: 8ca2983a sll r17,r17,r18 4e100: 30c6d83a srl r3,r6,r3 4e104: 34a4983a sll r18,r6,r18 4e108: 1c62b03a or r17,r3,r17 4e10c: 1080fcc4 addi r2,r2,1011 4e110: 0085c83a sub r2,zero,r2 4e114: 000f883a mov r7,zero 4e118: 003f8106 br 4df20 <__alt_data_end+0xfffdbf20> 4e11c: 3027883a mov r19,r6 4e120: 0081ffc4 movi r2,2047 4e124: 0021883a mov r16,zero 4e128: 002d883a mov r22,zero 4e12c: 003faa06 br 4dfd8 <__alt_data_end+0xfffdbfd8> 4e130: 0023883a mov r17,zero 4e134: 0025883a mov r18,zero 4e138: 01c00044 movi r7,1 4e13c: 003f7806 br 4df20 <__alt_data_end+0xfffdbf20> 4e140: 01c000c4 movi r7,3 4e144: 003f7606 br 4df20 <__alt_data_end+0xfffdbf20> 4e148: 05400104 movi r21,4 4e14c: 0021883a mov r16,zero 4e150: 002d883a mov r22,zero 4e154: 01400044 movi r5,1 4e158: 003f5f06 br 4ded8 <__alt_data_end+0xfffdbed8> 4e15c: 05400304 movi r21,12 4e160: 014000c4 movi r5,3 4e164: 003f5c06 br 4ded8 <__alt_data_end+0xfffdbed8> 4e168: 04000434 movhi r16,16 4e16c: 0027883a mov r19,zero 4e170: 843fffc4 addi r16,r16,-1 4e174: 05bfffc4 movi r22,-1 4e178: 0081ffc4 movi r2,2047 4e17c: 003f9606 br 4dfd8 <__alt_data_end+0xfffdbfd8> 4e180: 8023883a mov r17,r16 4e184: b025883a mov r18,r22 4e188: 280f883a mov r7,r5 4e18c: 003f8806 br 4dfb0 <__alt_data_end+0xfffdbfb0> 4e190: 8023883a mov r17,r16 4e194: b025883a mov r18,r22 4e198: 480d883a mov r6,r9 4e19c: 280f883a mov r7,r5 4e1a0: 003f8306 br 4dfb0 <__alt_data_end+0xfffdbfb0> 4e1a4: b026d43a srli r19,r22,16 4e1a8: 902ed43a srli r23,r18,16 4e1ac: b5bfffcc andi r22,r22,65535 4e1b0: 94bfffcc andi r18,r18,65535 4e1b4: b00b883a mov r5,r22 4e1b8: 9009883a mov r4,r18 4e1bc: d8c00515 stw r3,20(sp) 4e1c0: d9800715 stw r6,28(sp) 4e1c4: da000615 stw r8,24(sp) 4e1c8: 004d3dc0 call 4d3dc <__mulsi3> 4e1cc: 980b883a mov r5,r19 4e1d0: 9009883a mov r4,r18 4e1d4: 1029883a mov r20,r2 4e1d8: 004d3dc0 call 4d3dc <__mulsi3> 4e1dc: b80b883a mov r5,r23 4e1e0: 9809883a mov r4,r19 4e1e4: 102b883a mov r21,r2 4e1e8: 004d3dc0 call 4d3dc <__mulsi3> 4e1ec: b809883a mov r4,r23 4e1f0: b00b883a mov r5,r22 4e1f4: 1039883a mov fp,r2 4e1f8: 004d3dc0 call 4d3dc <__mulsi3> 4e1fc: a008d43a srli r4,r20,16 4e200: 1545883a add r2,r2,r21 4e204: d8c00517 ldw r3,20(sp) 4e208: 2085883a add r2,r4,r2 4e20c: d9800717 ldw r6,28(sp) 4e210: da000617 ldw r8,24(sp) 4e214: 1540022e bgeu r2,r21,4e220 <__muldf3+0x3c4> 4e218: 01000074 movhi r4,1 4e21c: e139883a add fp,fp,r4 4e220: 100e943a slli r7,r2,16 4e224: 1004d43a srli r2,r2,16 4e228: 882ad43a srli r21,r17,16 4e22c: a53fffcc andi r20,r20,65535 4e230: 8c7fffcc andi r17,r17,65535 4e234: 3d29883a add r20,r7,r20 4e238: b00b883a mov r5,r22 4e23c: 8809883a mov r4,r17 4e240: d8c00515 stw r3,20(sp) 4e244: d9800715 stw r6,28(sp) 4e248: da000615 stw r8,24(sp) 4e24c: dd000115 stw r20,4(sp) 4e250: d8800015 stw r2,0(sp) 4e254: 004d3dc0 call 4d3dc <__mulsi3> 4e258: 980b883a mov r5,r19 4e25c: 8809883a mov r4,r17 4e260: d8800215 stw r2,8(sp) 4e264: 004d3dc0 call 4d3dc <__mulsi3> 4e268: 9809883a mov r4,r19 4e26c: a80b883a mov r5,r21 4e270: 1029883a mov r20,r2 4e274: 004d3dc0 call 4d3dc <__mulsi3> 4e278: b00b883a mov r5,r22 4e27c: a809883a mov r4,r21 4e280: d8800415 stw r2,16(sp) 4e284: 004d3dc0 call 4d3dc <__mulsi3> 4e288: d9c00217 ldw r7,8(sp) 4e28c: 1505883a add r2,r2,r20 4e290: d8c00517 ldw r3,20(sp) 4e294: 3826d43a srli r19,r7,16 4e298: d9800717 ldw r6,28(sp) 4e29c: da000617 ldw r8,24(sp) 4e2a0: 9885883a add r2,r19,r2 4e2a4: da400417 ldw r9,16(sp) 4e2a8: 1500022e bgeu r2,r20,4e2b4 <__muldf3+0x458> 4e2ac: 01000074 movhi r4,1 4e2b0: 4913883a add r9,r9,r4 4e2b4: 1028d43a srli r20,r2,16 4e2b8: 1004943a slli r2,r2,16 4e2bc: 802cd43a srli r22,r16,16 4e2c0: 843fffcc andi r16,r16,65535 4e2c4: 3cffffcc andi r19,r7,65535 4e2c8: 9009883a mov r4,r18 4e2cc: 800b883a mov r5,r16 4e2d0: a269883a add r20,r20,r9 4e2d4: d8c00515 stw r3,20(sp) 4e2d8: d9800715 stw r6,28(sp) 4e2dc: da000615 stw r8,24(sp) 4e2e0: 14e7883a add r19,r2,r19 4e2e4: 004d3dc0 call 4d3dc <__mulsi3> 4e2e8: 9009883a mov r4,r18 4e2ec: b00b883a mov r5,r22 4e2f0: d8800315 stw r2,12(sp) 4e2f4: 004d3dc0 call 4d3dc <__mulsi3> 4e2f8: b809883a mov r4,r23 4e2fc: b00b883a mov r5,r22 4e300: d8800215 stw r2,8(sp) 4e304: 004d3dc0 call 4d3dc <__mulsi3> 4e308: b80b883a mov r5,r23 4e30c: 8009883a mov r4,r16 4e310: d8800415 stw r2,16(sp) 4e314: 004d3dc0 call 4d3dc <__mulsi3> 4e318: da800317 ldw r10,12(sp) 4e31c: d9c00217 ldw r7,8(sp) 4e320: d9000017 ldw r4,0(sp) 4e324: 502ed43a srli r23,r10,16 4e328: 11c5883a add r2,r2,r7 4e32c: 24e5883a add r18,r4,r19 4e330: b885883a add r2,r23,r2 4e334: d8c00517 ldw r3,20(sp) 4e338: d9800717 ldw r6,28(sp) 4e33c: da000617 ldw r8,24(sp) 4e340: da400417 ldw r9,16(sp) 4e344: 11c0022e bgeu r2,r7,4e350 <__muldf3+0x4f4> 4e348: 01000074 movhi r4,1 4e34c: 4913883a add r9,r9,r4 4e350: 100ed43a srli r7,r2,16 4e354: 1004943a slli r2,r2,16 4e358: 55ffffcc andi r23,r10,65535 4e35c: 3a53883a add r9,r7,r9 4e360: 8809883a mov r4,r17 4e364: 800b883a mov r5,r16 4e368: d8c00515 stw r3,20(sp) 4e36c: d9800715 stw r6,28(sp) 4e370: da000615 stw r8,24(sp) 4e374: da400415 stw r9,16(sp) 4e378: 15ef883a add r23,r2,r23 4e37c: 004d3dc0 call 4d3dc <__mulsi3> 4e380: 8809883a mov r4,r17 4e384: b00b883a mov r5,r22 4e388: d8800215 stw r2,8(sp) 4e38c: 004d3dc0 call 4d3dc <__mulsi3> 4e390: b00b883a mov r5,r22 4e394: a809883a mov r4,r21 4e398: d8800315 stw r2,12(sp) 4e39c: 004d3dc0 call 4d3dc <__mulsi3> 4e3a0: 8009883a mov r4,r16 4e3a4: a80b883a mov r5,r21 4e3a8: 1023883a mov r17,r2 4e3ac: 004d3dc0 call 4d3dc <__mulsi3> 4e3b0: d9c00217 ldw r7,8(sp) 4e3b4: da800317 ldw r10,12(sp) 4e3b8: d8c00517 ldw r3,20(sp) 4e3bc: 3808d43a srli r4,r7,16 4e3c0: 1285883a add r2,r2,r10 4e3c4: d9800717 ldw r6,28(sp) 4e3c8: 2085883a add r2,r4,r2 4e3cc: da000617 ldw r8,24(sp) 4e3d0: da400417 ldw r9,16(sp) 4e3d4: 1280022e bgeu r2,r10,4e3e0 <__muldf3+0x584> 4e3d8: 01000074 movhi r4,1 4e3dc: 8923883a add r17,r17,r4 4e3e0: 1008943a slli r4,r2,16 4e3e4: 39ffffcc andi r7,r7,65535 4e3e8: e4b9883a add fp,fp,r18 4e3ec: 21cf883a add r7,r4,r7 4e3f0: e4e7803a cmpltu r19,fp,r19 4e3f4: 3d0f883a add r7,r7,r20 4e3f8: bf39883a add fp,r23,fp 4e3fc: 99c9883a add r4,r19,r7 4e400: e5ef803a cmpltu r23,fp,r23 4e404: 490b883a add r5,r9,r4 4e408: 1004d43a srli r2,r2,16 4e40c: b965883a add r18,r23,r5 4e410: 24c9803a cmpltu r4,r4,r19 4e414: 3d29803a cmpltu r20,r7,r20 4e418: a128b03a or r20,r20,r4 4e41c: 95ef803a cmpltu r23,r18,r23 4e420: 2a53803a cmpltu r9,r5,r9 4e424: a0a9883a add r20,r20,r2 4e428: 4deeb03a or r23,r9,r23 4e42c: a5ef883a add r23,r20,r23 4e430: bc63883a add r17,r23,r17 4e434: e004927a slli r2,fp,9 4e438: d9000117 ldw r4,4(sp) 4e43c: 882e927a slli r23,r17,9 4e440: 9022d5fa srli r17,r18,23 4e444: e038d5fa srli fp,fp,23 4e448: 1104b03a or r2,r2,r4 4e44c: 9024927a slli r18,r18,9 4e450: 1004c03a cmpne r2,r2,zero 4e454: bc62b03a or r17,r23,r17 4e458: 1738b03a or fp,r2,fp 4e45c: 8880402c andhi r2,r17,256 4e460: e4a4b03a or r18,fp,r18 4e464: 10000726 beq r2,zero,4e484 <__muldf3+0x628> 4e468: 9006d07a srli r3,r18,1 4e46c: 880497fa slli r2,r17,31 4e470: 9480004c andi r18,r18,1 4e474: 8822d07a srli r17,r17,1 4e478: 1ca4b03a or r18,r3,r18 4e47c: 14a4b03a or r18,r2,r18 4e480: 4007883a mov r3,r8 4e484: 1880ffc4 addi r2,r3,1023 4e488: 0080460e bge zero,r2,4e5a4 <__muldf3+0x748> 4e48c: 910001cc andi r4,r18,7 4e490: 20000726 beq r4,zero,4e4b0 <__muldf3+0x654> 4e494: 910003cc andi r4,r18,15 4e498: 01400104 movi r5,4 4e49c: 21400426 beq r4,r5,4e4b0 <__muldf3+0x654> 4e4a0: 9149883a add r4,r18,r5 4e4a4: 24a5803a cmpltu r18,r4,r18 4e4a8: 8ca3883a add r17,r17,r18 4e4ac: 2025883a mov r18,r4 4e4b0: 8900402c andhi r4,r17,256 4e4b4: 20000426 beq r4,zero,4e4c8 <__muldf3+0x66c> 4e4b8: 18810004 addi r2,r3,1024 4e4bc: 00ffc034 movhi r3,65280 4e4c0: 18ffffc4 addi r3,r3,-1 4e4c4: 88e2703a and r17,r17,r3 4e4c8: 00c1ff84 movi r3,2046 4e4cc: 18bf1316 blt r3,r2,4e11c <__alt_data_end+0xfffdc11c> 4e4d0: 882c977a slli r22,r17,29 4e4d4: 9024d0fa srli r18,r18,3 4e4d8: 8822927a slli r17,r17,9 4e4dc: 1081ffcc andi r2,r2,2047 4e4e0: b4acb03a or r22,r22,r18 4e4e4: 8820d33a srli r16,r17,12 4e4e8: 3027883a mov r19,r6 4e4ec: 003eba06 br 4dfd8 <__alt_data_end+0xfffdbfd8> 4e4f0: 8080022c andhi r2,r16,8 4e4f4: 10000926 beq r2,zero,4e51c <__muldf3+0x6c0> 4e4f8: 8880022c andhi r2,r17,8 4e4fc: 1000071e bne r2,zero,4e51c <__muldf3+0x6c0> 4e500: 00800434 movhi r2,16 4e504: 8c000234 orhi r16,r17,8 4e508: 10bfffc4 addi r2,r2,-1 4e50c: e027883a mov r19,fp 4e510: 80a0703a and r16,r16,r2 4e514: 902d883a mov r22,r18 4e518: 003f1706 br 4e178 <__alt_data_end+0xfffdc178> 4e51c: 00800434 movhi r2,16 4e520: 84000234 orhi r16,r16,8 4e524: 10bfffc4 addi r2,r2,-1 4e528: 80a0703a and r16,r16,r2 4e52c: 003f1206 br 4e178 <__alt_data_end+0xfffdc178> 4e530: 147ff604 addi r17,r2,-40 4e534: 3462983a sll r17,r6,r17 4e538: 0025883a mov r18,zero 4e53c: 003ef306 br 4e10c <__alt_data_end+0xfffdc10c> 4e540: 3009883a mov r4,r6 4e544: d9400215 stw r5,8(sp) 4e548: d9800715 stw r6,28(sp) 4e54c: da400415 stw r9,16(sp) 4e550: da800315 stw r10,12(sp) 4e554: 0042b7c0 call 42b7c <__clzsi2> 4e558: 10800804 addi r2,r2,32 4e55c: da800317 ldw r10,12(sp) 4e560: da400417 ldw r9,16(sp) 4e564: d9800717 ldw r6,28(sp) 4e568: d9400217 ldw r5,8(sp) 4e56c: 003edd06 br 4e0e4 <__alt_data_end+0xfffdc0e4> 4e570: 143ff604 addi r16,r2,-40 4e574: ac20983a sll r16,r21,r16 4e578: 002d883a mov r22,zero 4e57c: 003ec106 br 4e084 <__alt_data_end+0xfffdc084> 4e580: d9800715 stw r6,28(sp) 4e584: d9c00215 stw r7,8(sp) 4e588: da400415 stw r9,16(sp) 4e58c: 0042b7c0 call 42b7c <__clzsi2> 4e590: 10800804 addi r2,r2,32 4e594: da400417 ldw r9,16(sp) 4e598: d9c00217 ldw r7,8(sp) 4e59c: d9800717 ldw r6,28(sp) 4e5a0: 003eae06 br 4e05c <__alt_data_end+0xfffdc05c> 4e5a4: 00c00044 movi r3,1 4e5a8: 1887c83a sub r3,r3,r2 4e5ac: 01000e04 movi r4,56 4e5b0: 20fe8516 blt r4,r3,4dfc8 <__alt_data_end+0xfffdbfc8> 4e5b4: 010007c4 movi r4,31 4e5b8: 20c01b16 blt r4,r3,4e628 <__muldf3+0x7cc> 4e5bc: 00800804 movi r2,32 4e5c0: 10c5c83a sub r2,r2,r3 4e5c4: 888a983a sll r5,r17,r2 4e5c8: 90c8d83a srl r4,r18,r3 4e5cc: 9084983a sll r2,r18,r2 4e5d0: 88e2d83a srl r17,r17,r3 4e5d4: 2906b03a or r3,r5,r4 4e5d8: 1004c03a cmpne r2,r2,zero 4e5dc: 1886b03a or r3,r3,r2 4e5e0: 188001cc andi r2,r3,7 4e5e4: 10000726 beq r2,zero,4e604 <__muldf3+0x7a8> 4e5e8: 188003cc andi r2,r3,15 4e5ec: 01000104 movi r4,4 4e5f0: 11000426 beq r2,r4,4e604 <__muldf3+0x7a8> 4e5f4: 1805883a mov r2,r3 4e5f8: 10c00104 addi r3,r2,4 4e5fc: 1885803a cmpltu r2,r3,r2 4e600: 88a3883a add r17,r17,r2 4e604: 8880202c andhi r2,r17,128 4e608: 10001c26 beq r2,zero,4e67c <__muldf3+0x820> 4e60c: 3027883a mov r19,r6 4e610: 00800044 movi r2,1 4e614: 0021883a mov r16,zero 4e618: 002d883a mov r22,zero 4e61c: 003e6e06 br 4dfd8 <__alt_data_end+0xfffdbfd8> 4e620: 4007883a mov r3,r8 4e624: 003f9706 br 4e484 <__alt_data_end+0xfffdc484> 4e628: 017ff844 movi r5,-31 4e62c: 2885c83a sub r2,r5,r2 4e630: 888ad83a srl r5,r17,r2 4e634: 00800804 movi r2,32 4e638: 18801a26 beq r3,r2,4e6a4 <__muldf3+0x848> 4e63c: 01001004 movi r4,64 4e640: 20c7c83a sub r3,r4,r3 4e644: 88e2983a sll r17,r17,r3 4e648: 8ca4b03a or r18,r17,r18 4e64c: 9004c03a cmpne r2,r18,zero 4e650: 2884b03a or r2,r5,r2 4e654: 144001cc andi r17,r2,7 4e658: 88000d1e bne r17,zero,4e690 <__muldf3+0x834> 4e65c: 0021883a mov r16,zero 4e660: 102cd0fa srli r22,r2,3 4e664: 3027883a mov r19,r6 4e668: 0005883a mov r2,zero 4e66c: b46cb03a or r22,r22,r17 4e670: 003e5906 br 4dfd8 <__alt_data_end+0xfffdbfd8> 4e674: 1007883a mov r3,r2 4e678: 0023883a mov r17,zero 4e67c: 8820927a slli r16,r17,9 4e680: 1805883a mov r2,r3 4e684: 8822977a slli r17,r17,29 4e688: 8020d33a srli r16,r16,12 4e68c: 003ff406 br 4e660 <__alt_data_end+0xfffdc660> 4e690: 10c003cc andi r3,r2,15 4e694: 01000104 movi r4,4 4e698: 193ff626 beq r3,r4,4e674 <__alt_data_end+0xfffdc674> 4e69c: 0023883a mov r17,zero 4e6a0: 003fd506 br 4e5f8 <__alt_data_end+0xfffdc5f8> 4e6a4: 0023883a mov r17,zero 4e6a8: 003fe706 br 4e648 <__alt_data_end+0xfffdc648> 4e6ac: 00800434 movhi r2,16 4e6b0: 8c000234 orhi r16,r17,8 4e6b4: 10bfffc4 addi r2,r2,-1 4e6b8: 3027883a mov r19,r6 4e6bc: 80a0703a and r16,r16,r2 4e6c0: 902d883a mov r22,r18 4e6c4: 003eac06 br 4e178 <__alt_data_end+0xfffdc178> 0004e6c8 <__floatunsidf>: 4e6c8: defffe04 addi sp,sp,-8 4e6cc: dc000015 stw r16,0(sp) 4e6d0: dfc00115 stw ra,4(sp) 4e6d4: 2021883a mov r16,r4 4e6d8: 20002226 beq r4,zero,4e764 <__floatunsidf+0x9c> 4e6dc: 0042b7c0 call 42b7c <__clzsi2> 4e6e0: 01010784 movi r4,1054 4e6e4: 2089c83a sub r4,r4,r2 4e6e8: 01810cc4 movi r6,1075 4e6ec: 310dc83a sub r6,r6,r4 4e6f0: 00c007c4 movi r3,31 4e6f4: 1980120e bge r3,r6,4e740 <__floatunsidf+0x78> 4e6f8: 00c104c4 movi r3,1043 4e6fc: 1907c83a sub r3,r3,r4 4e700: 80ca983a sll r5,r16,r3 4e704: 00800434 movhi r2,16 4e708: 10bfffc4 addi r2,r2,-1 4e70c: 2101ffcc andi r4,r4,2047 4e710: 0021883a mov r16,zero 4e714: 288a703a and r5,r5,r2 4e718: 2008953a slli r4,r4,20 4e71c: 00c00434 movhi r3,16 4e720: 18ffffc4 addi r3,r3,-1 4e724: 28c6703a and r3,r5,r3 4e728: 8005883a mov r2,r16 4e72c: 1906b03a or r3,r3,r4 4e730: dfc00117 ldw ra,4(sp) 4e734: dc000017 ldw r16,0(sp) 4e738: dec00204 addi sp,sp,8 4e73c: f800283a ret 4e740: 00c002c4 movi r3,11 4e744: 188bc83a sub r5,r3,r2 4e748: 814ad83a srl r5,r16,r5 4e74c: 00c00434 movhi r3,16 4e750: 18ffffc4 addi r3,r3,-1 4e754: 81a0983a sll r16,r16,r6 4e758: 2101ffcc andi r4,r4,2047 4e75c: 28ca703a and r5,r5,r3 4e760: 003fed06 br 4e718 <__alt_data_end+0xfffdc718> 4e764: 0009883a mov r4,zero 4e768: 000b883a mov r5,zero 4e76c: 003fea06 br 4e718 <__alt_data_end+0xfffdc718> 0004e770 : #undef errno extern int errno; static ALT_INLINE int* alt_get_errno(void) { 4e770: defffe04 addi sp,sp,-8 4e774: dfc00115 stw ra,4(sp) 4e778: df000015 stw fp,0(sp) 4e77c: d839883a mov fp,sp return ((alt_errno) ? alt_errno() : &errno); 4e780: d0a00b17 ldw r2,-32724(gp) 4e784: 10000326 beq r2,zero,4e794 4e788: d0a00b17 ldw r2,-32724(gp) 4e78c: 103ee83a callr r2 4e790: 00000106 br 4e798 4e794: d0a72104 addi r2,gp,-25468 } 4e798: e037883a mov sp,fp 4e79c: dfc00117 ldw ra,4(sp) 4e7a0: df000017 ldw fp,0(sp) 4e7a4: dec00204 addi sp,sp,8 4e7a8: f800283a ret 0004e7ac : * * ALT_CLOSE is mapped onto the close() system call in alt_syscall.h */ int ALT_CLOSE (int fildes) { 4e7ac: defffb04 addi sp,sp,-20 4e7b0: dfc00415 stw ra,16(sp) 4e7b4: df000315 stw fp,12(sp) 4e7b8: df000304 addi fp,sp,12 4e7bc: e13fff15 stw r4,-4(fp) * A common error case is that when the file descriptor was created, the call * to open() failed resulting in a negative file descriptor. This is trapped * below so that we don't try and process an invalid file descriptor. */ fd = (fildes < 0) ? NULL : &alt_fd_list[fildes]; 4e7c0: e0bfff17 ldw r2,-4(fp) 4e7c4: 10000816 blt r2,zero,4e7e8 4e7c8: 01400304 movi r5,12 4e7cc: e13fff17 ldw r4,-4(fp) 4e7d0: 004d3dc0 call 4d3dc <__mulsi3> 4e7d4: 1007883a mov r3,r2 4e7d8: 00800174 movhi r2,5 4e7dc: 108b9204 addi r2,r2,11848 4e7e0: 1885883a add r2,r3,r2 4e7e4: 00000106 br 4e7ec 4e7e8: 0005883a mov r2,zero 4e7ec: e0bffd15 stw r2,-12(fp) if (fd) 4e7f0: e0bffd17 ldw r2,-12(fp) 4e7f4: 10001926 beq r2,zero,4e85c /* * If the associated file system/device has a close function, call it so * that any necessary cleanup code can run. */ rval = (fd->dev->close) ? fd->dev->close(fd) : 0; 4e7f8: e0bffd17 ldw r2,-12(fp) 4e7fc: 10800017 ldw r2,0(r2) 4e800: 10800417 ldw r2,16(r2) 4e804: 10000626 beq r2,zero,4e820 4e808: e0bffd17 ldw r2,-12(fp) 4e80c: 10800017 ldw r2,0(r2) 4e810: 10800417 ldw r2,16(r2) 4e814: e13ffd17 ldw r4,-12(fp) 4e818: 103ee83a callr r2 4e81c: 00000106 br 4e824 4e820: 0005883a mov r2,zero 4e824: e0bffe15 stw r2,-8(fp) /* Free the file descriptor structure and return. */ alt_release_fd (fildes); 4e828: e13fff17 ldw r4,-4(fp) 4e82c: 004ee940 call 4ee94 if (rval < 0) 4e830: e0bffe17 ldw r2,-8(fp) 4e834: 1000070e bge r2,zero,4e854 { ALT_ERRNO = -rval; 4e838: 004e7700 call 4e770 4e83c: 1007883a mov r3,r2 4e840: e0bffe17 ldw r2,-8(fp) 4e844: 0085c83a sub r2,zero,r2 4e848: 18800015 stw r2,0(r3) return -1; 4e84c: 00bfffc4 movi r2,-1 4e850: 00000706 br 4e870 } return 0; 4e854: 0005883a mov r2,zero 4e858: 00000506 br 4e870 } else { ALT_ERRNO = EBADFD; 4e85c: 004e7700 call 4e770 4e860: 1007883a mov r3,r2 4e864: 00801444 movi r2,81 4e868: 18800015 stw r2,0(r3) return -1; 4e86c: 00bfffc4 movi r2,-1 } } 4e870: e037883a mov sp,fp 4e874: dfc00117 ldw ra,4(sp) 4e878: df000017 ldw fp,0(sp) 4e87c: dec00204 addi sp,sp,8 4e880: f800283a ret 0004e884 : * by the alt_dev_null device. It simple discards all data passed to it, and * indicates that the data has been successfully transmitted. */ static int alt_dev_null_write (alt_fd* fd, const char* ptr, int len) { 4e884: defffc04 addi sp,sp,-16 4e888: df000315 stw fp,12(sp) 4e88c: df000304 addi fp,sp,12 4e890: e13ffd15 stw r4,-12(fp) 4e894: e17ffe15 stw r5,-8(fp) 4e898: e1bfff15 stw r6,-4(fp) return len; 4e89c: e0bfff17 ldw r2,-4(fp) } 4e8a0: e037883a mov sp,fp 4e8a4: df000017 ldw fp,0(sp) 4e8a8: dec00104 addi sp,sp,4 4e8ac: f800283a ret 0004e8b0 : #undef errno extern int errno; static ALT_INLINE int* alt_get_errno(void) { 4e8b0: defffe04 addi sp,sp,-8 4e8b4: dfc00115 stw ra,4(sp) 4e8b8: df000015 stw fp,0(sp) 4e8bc: d839883a mov fp,sp return ((alt_errno) ? alt_errno() : &errno); 4e8c0: d0a00b17 ldw r2,-32724(gp) 4e8c4: 10000326 beq r2,zero,4e8d4 4e8c8: d0a00b17 ldw r2,-32724(gp) 4e8cc: 103ee83a callr r2 4e8d0: 00000106 br 4e8d8 4e8d4: d0a72104 addi r2,gp,-25468 } 4e8d8: e037883a mov sp,fp 4e8dc: dfc00117 ldw ra,4(sp) 4e8e0: df000017 ldw fp,0(sp) 4e8e4: dec00204 addi sp,sp,8 4e8e8: f800283a ret 0004e8ec : } #else /* !ALT_USE_DIRECT_DRIVERS */ int ALT_FSTAT (int file, struct stat *st) { 4e8ec: defffb04 addi sp,sp,-20 4e8f0: dfc00415 stw ra,16(sp) 4e8f4: df000315 stw fp,12(sp) 4e8f8: df000304 addi fp,sp,12 4e8fc: e13ffe15 stw r4,-8(fp) 4e900: e17fff15 stw r5,-4(fp) * A common error case is that when the file descriptor was created, the call * to open() failed resulting in a negative file descriptor. This is trapped * below so that we don't try and process an invalid file descriptor. */ fd = (file < 0) ? NULL : &alt_fd_list[file]; 4e904: e0bffe17 ldw r2,-8(fp) 4e908: 10000816 blt r2,zero,4e92c 4e90c: 01400304 movi r5,12 4e910: e13ffe17 ldw r4,-8(fp) 4e914: 004d3dc0 call 4d3dc <__mulsi3> 4e918: 1007883a mov r3,r2 4e91c: 00800174 movhi r2,5 4e920: 108b9204 addi r2,r2,11848 4e924: 1885883a add r2,r3,r2 4e928: 00000106 br 4e930 4e92c: 0005883a mov r2,zero 4e930: e0bffd15 stw r2,-12(fp) if (fd) 4e934: e0bffd17 ldw r2,-12(fp) 4e938: 10001026 beq r2,zero,4e97c { /* Call the drivers fstat() function to fill out the "st" structure. */ if (fd->dev->fstat) 4e93c: e0bffd17 ldw r2,-12(fp) 4e940: 10800017 ldw r2,0(r2) 4e944: 10800817 ldw r2,32(r2) 4e948: 10000726 beq r2,zero,4e968 { return fd->dev->fstat(fd, st); 4e94c: e0bffd17 ldw r2,-12(fp) 4e950: 10800017 ldw r2,0(r2) 4e954: 10800817 ldw r2,32(r2) 4e958: e17fff17 ldw r5,-4(fp) 4e95c: e13ffd17 ldw r4,-12(fp) 4e960: 103ee83a callr r2 4e964: 00000a06 br 4e990 * device. */ else { st->st_mode = _IFCHR; 4e968: e0bfff17 ldw r2,-4(fp) 4e96c: 00c80004 movi r3,8192 4e970: 10c00115 stw r3,4(r2) return 0; 4e974: 0005883a mov r2,zero 4e978: 00000506 br 4e990 } } else { ALT_ERRNO = EBADFD; 4e97c: 004e8b00 call 4e8b0 4e980: 1007883a mov r3,r2 4e984: 00801444 movi r2,81 4e988: 18800015 stw r2,0(r3) return -1; 4e98c: 00bfffc4 movi r2,-1 } } 4e990: e037883a mov sp,fp 4e994: dfc00117 ldw ra,4(sp) 4e998: df000017 ldw fp,0(sp) 4e99c: dec00204 addi sp,sp,8 4e9a0: f800283a ret 0004e9a4 : #undef errno extern int errno; static ALT_INLINE int* alt_get_errno(void) { 4e9a4: defffe04 addi sp,sp,-8 4e9a8: dfc00115 stw ra,4(sp) 4e9ac: df000015 stw fp,0(sp) 4e9b0: d839883a mov fp,sp return ((alt_errno) ? alt_errno() : &errno); 4e9b4: d0a00b17 ldw r2,-32724(gp) 4e9b8: 10000326 beq r2,zero,4e9c8 4e9bc: d0a00b17 ldw r2,-32724(gp) 4e9c0: 103ee83a callr r2 4e9c4: 00000106 br 4e9cc 4e9c8: d0a72104 addi r2,gp,-25468 } 4e9cc: e037883a mov sp,fp 4e9d0: dfc00117 ldw ra,4(sp) 4e9d4: df000017 ldw fp,0(sp) 4e9d8: dec00204 addi sp,sp,8 4e9dc: f800283a ret 0004e9e0 : * * ALT_ISATTY is mapped onto the isatty() system call in alt_syscall.h */ int ALT_ISATTY (int file) { 4e9e0: deffed04 addi sp,sp,-76 4e9e4: dfc01215 stw ra,72(sp) 4e9e8: df001115 stw fp,68(sp) 4e9ec: df001104 addi fp,sp,68 4e9f0: e13fff15 stw r4,-4(fp) * A common error case is that when the file descriptor was created, the call * to open() failed resulting in a negative file descriptor. This is trapped * below so that we don't try and process an invalid file descriptor. */ fd = (file < 0) ? NULL : &alt_fd_list[file]; 4e9f4: e0bfff17 ldw r2,-4(fp) 4e9f8: 10000816 blt r2,zero,4ea1c 4e9fc: 01400304 movi r5,12 4ea00: e13fff17 ldw r4,-4(fp) 4ea04: 004d3dc0 call 4d3dc <__mulsi3> 4ea08: 1007883a mov r3,r2 4ea0c: 00800174 movhi r2,5 4ea10: 108b9204 addi r2,r2,11848 4ea14: 1885883a add r2,r3,r2 4ea18: 00000106 br 4ea20 4ea1c: 0005883a mov r2,zero 4ea20: e0bfef15 stw r2,-68(fp) if (fd) 4ea24: e0bfef17 ldw r2,-68(fp) 4ea28: 10000e26 beq r2,zero,4ea64 /* * If a device driver does not provide an fstat() function, then it is * treated as a terminal device by default. */ if (!fd->dev->fstat) 4ea2c: e0bfef17 ldw r2,-68(fp) 4ea30: 10800017 ldw r2,0(r2) 4ea34: 10800817 ldw r2,32(r2) 4ea38: 1000021e bne r2,zero,4ea44 { return 1; 4ea3c: 00800044 movi r2,1 4ea40: 00000d06 br 4ea78 * this is called so that the device can identify itself. */ else { fstat (file, &stat); 4ea44: e0bff004 addi r2,fp,-64 4ea48: 100b883a mov r5,r2 4ea4c: e13fff17 ldw r4,-4(fp) 4ea50: 004e8ec0 call 4e8ec return (stat.st_mode == _IFCHR) ? 1 : 0; 4ea54: e0bff117 ldw r2,-60(fp) 4ea58: 10880020 cmpeqi r2,r2,8192 4ea5c: 10803fcc andi r2,r2,255 4ea60: 00000506 br 4ea78 } } else { ALT_ERRNO = EBADFD; 4ea64: 004e9a40 call 4e9a4 4ea68: 1007883a mov r3,r2 4ea6c: 00801444 movi r2,81 4ea70: 18800015 stw r2,0(r3) return 0; 4ea74: 0005883a mov r2,zero } } 4ea78: e037883a mov sp,fp 4ea7c: dfc00117 ldw ra,4(sp) 4ea80: df000017 ldw fp,0(sp) 4ea84: dec00204 addi sp,sp,8 4ea88: f800283a ret 0004ea8c : */ static void ALT_INLINE alt_load_section (alt_u32* from, alt_u32* to, alt_u32* end) { 4ea8c: defffc04 addi sp,sp,-16 4ea90: df000315 stw fp,12(sp) 4ea94: df000304 addi fp,sp,12 4ea98: e13ffd15 stw r4,-12(fp) 4ea9c: e17ffe15 stw r5,-8(fp) 4eaa0: e1bfff15 stw r6,-4(fp) if (to != from) 4eaa4: e0fffe17 ldw r3,-8(fp) 4eaa8: e0bffd17 ldw r2,-12(fp) 4eaac: 18800c26 beq r3,r2,4eae0 { while( to != end ) 4eab0: 00000806 br 4ead4 { *to++ = *from++; 4eab4: e0bffe17 ldw r2,-8(fp) 4eab8: 10c00104 addi r3,r2,4 4eabc: e0fffe15 stw r3,-8(fp) 4eac0: e0fffd17 ldw r3,-12(fp) 4eac4: 19000104 addi r4,r3,4 4eac8: e13ffd15 stw r4,-12(fp) 4eacc: 18c00017 ldw r3,0(r3) 4ead0: 10c00015 stw r3,0(r2) alt_u32* to, alt_u32* end) { if (to != from) { while( to != end ) 4ead4: e0fffe17 ldw r3,-8(fp) 4ead8: e0bfff17 ldw r2,-4(fp) 4eadc: 18bff51e bne r3,r2,4eab4 <__alt_data_end+0xfffdcab4> { *to++ = *from++; } } } 4eae0: 0001883a nop 4eae4: e037883a mov sp,fp 4eae8: df000017 ldw fp,0(sp) 4eaec: dec00104 addi sp,sp,4 4eaf0: f800283a ret 0004eaf4 : * there is no bootloader, so this application is responsible for loading to * RAM any sections that are required. */ void alt_load (void) { 4eaf4: defffe04 addi sp,sp,-8 4eaf8: dfc00115 stw ra,4(sp) 4eafc: df000015 stw fp,0(sp) 4eb00: d839883a mov fp,sp /* * Copy the .rwdata section. */ alt_load_section (&__flash_rwdata_start, 4eb04: 01800174 movhi r6,5 4eb08: 31906404 addi r6,r6,16784 4eb0c: 01400174 movhi r5,5 4eb10: 29495f04 addi r5,r5,9596 4eb14: 01000174 movhi r4,5 4eb18: 21106404 addi r4,r4,16784 4eb1c: 004ea8c0 call 4ea8c /* * Copy the exception handler. */ alt_load_section (&__flash_exceptions_start, 4eb20: 01800134 movhi r6,4 4eb24: 31808c04 addi r6,r6,560 4eb28: 01400134 movhi r5,4 4eb2c: 29400804 addi r5,r5,32 4eb30: 01000134 movhi r4,4 4eb34: 21000804 addi r4,r4,32 4eb38: 004ea8c0 call 4ea8c /* * Copy the .rodata section. */ alt_load_section (&__flash_rodata_start, 4eb3c: 01800174 movhi r6,5 4eb40: 31895f04 addi r6,r6,9596 4eb44: 01400174 movhi r5,5 4eb48: 2947d404 addi r5,r5,8016 4eb4c: 01000174 movhi r4,5 4eb50: 2107d404 addi r4,r4,8016 4eb54: 004ea8c0 call 4ea8c /* * Now ensure that the caches are in synch. */ alt_dcache_flush_all(); 4eb58: 0050d100 call 50d10 alt_icache_flush_all(); 4eb5c: 0050ed00 call 50ed0 } 4eb60: 0001883a nop 4eb64: e037883a mov sp,fp 4eb68: dfc00117 ldw ra,4(sp) 4eb6c: df000017 ldw fp,0(sp) 4eb70: dec00204 addi sp,sp,8 4eb74: f800283a ret 0004eb78 : #undef errno extern int errno; static ALT_INLINE int* alt_get_errno(void) { 4eb78: defffe04 addi sp,sp,-8 4eb7c: dfc00115 stw ra,4(sp) 4eb80: df000015 stw fp,0(sp) 4eb84: d839883a mov fp,sp return ((alt_errno) ? alt_errno() : &errno); 4eb88: d0a00b17 ldw r2,-32724(gp) 4eb8c: 10000326 beq r2,zero,4eb9c 4eb90: d0a00b17 ldw r2,-32724(gp) 4eb94: 103ee83a callr r2 4eb98: 00000106 br 4eba0 4eb9c: d0a72104 addi r2,gp,-25468 } 4eba0: e037883a mov sp,fp 4eba4: dfc00117 ldw ra,4(sp) 4eba8: df000017 ldw fp,0(sp) 4ebac: dec00204 addi sp,sp,8 4ebb0: f800283a ret 0004ebb4 : * ALT_LSEEK is mapped onto the lseek() system call in alt_syscall.h * */ off_t ALT_LSEEK (int file, off_t ptr, int dir) { 4ebb4: defff904 addi sp,sp,-28 4ebb8: dfc00615 stw ra,24(sp) 4ebbc: df000515 stw fp,20(sp) 4ebc0: df000504 addi fp,sp,20 4ebc4: e13ffd15 stw r4,-12(fp) 4ebc8: e17ffe15 stw r5,-8(fp) 4ebcc: e1bfff15 stw r6,-4(fp) alt_fd* fd; off_t rc = 0; 4ebd0: e03ffb15 stw zero,-20(fp) * A common error case is that when the file descriptor was created, the call * to open() failed resulting in a negative file descriptor. This is trapped * below so that we don't try and process an invalid file descriptor. */ fd = (file < 0) ? NULL : &alt_fd_list[file]; 4ebd4: e0bffd17 ldw r2,-12(fp) 4ebd8: 10000816 blt r2,zero,4ebfc 4ebdc: 01400304 movi r5,12 4ebe0: e13ffd17 ldw r4,-12(fp) 4ebe4: 004d3dc0 call 4d3dc <__mulsi3> 4ebe8: 1007883a mov r3,r2 4ebec: 00800174 movhi r2,5 4ebf0: 108b9204 addi r2,r2,11848 4ebf4: 1885883a add r2,r3,r2 4ebf8: 00000106 br 4ec00 4ebfc: 0005883a mov r2,zero 4ec00: e0bffc15 stw r2,-16(fp) if (fd) 4ec04: e0bffc17 ldw r2,-16(fp) 4ec08: 10001026 beq r2,zero,4ec4c /* * If the device driver provides an implementation of the lseek() function, * then call that to process the request. */ if (fd->dev->lseek) 4ec0c: e0bffc17 ldw r2,-16(fp) 4ec10: 10800017 ldw r2,0(r2) 4ec14: 10800717 ldw r2,28(r2) 4ec18: 10000926 beq r2,zero,4ec40 { rc = fd->dev->lseek(fd, ptr, dir); 4ec1c: e0bffc17 ldw r2,-16(fp) 4ec20: 10800017 ldw r2,0(r2) 4ec24: 10800717 ldw r2,28(r2) 4ec28: e1bfff17 ldw r6,-4(fp) 4ec2c: e17ffe17 ldw r5,-8(fp) 4ec30: e13ffc17 ldw r4,-16(fp) 4ec34: 103ee83a callr r2 4ec38: e0bffb15 stw r2,-20(fp) 4ec3c: 00000506 br 4ec54 * Otherwise return an error. */ else { rc = -ENOTSUP; 4ec40: 00bfde84 movi r2,-134 4ec44: e0bffb15 stw r2,-20(fp) 4ec48: 00000206 br 4ec54 } } else { rc = -EBADFD; 4ec4c: 00bfebc4 movi r2,-81 4ec50: e0bffb15 stw r2,-20(fp) } if (rc < 0) 4ec54: e0bffb17 ldw r2,-20(fp) 4ec58: 1000070e bge r2,zero,4ec78 { ALT_ERRNO = -rc; 4ec5c: 004eb780 call 4eb78 4ec60: 1007883a mov r3,r2 4ec64: e0bffb17 ldw r2,-20(fp) 4ec68: 0085c83a sub r2,zero,r2 4ec6c: 18800015 stw r2,0(r3) rc = -1; 4ec70: 00bfffc4 movi r2,-1 4ec74: e0bffb15 stw r2,-20(fp) } return rc; 4ec78: e0bffb17 ldw r2,-20(fp) } 4ec7c: e037883a mov sp,fp 4ec80: dfc00117 ldw ra,4(sp) 4ec84: df000017 ldw fp,0(sp) 4ec88: dec00204 addi sp,sp,8 4ec8c: f800283a ret 0004ec90 : * devices/filesystems/components in the system; and call the entry point for * the users application, i.e. main(). */ void alt_main (void) { 4ec90: defffd04 addi sp,sp,-12 4ec94: dfc00215 stw ra,8(sp) 4ec98: df000115 stw fp,4(sp) 4ec9c: df000104 addi fp,sp,4 #endif /* ALT LOG - please see HAL/sys/alt_log_printf.h for details */ ALT_LOG_PRINT_BOOT("[alt_main.c] Entering alt_main, calling alt_irq_init.\r\n"); /* Initialize the interrupt controller. */ alt_irq_init (NULL); 4eca0: 0009883a mov r4,zero 4eca4: 004f1380 call 4f138 /* Initialize the operating system */ ALT_LOG_PRINT_BOOT("[alt_main.c] Done alt_irq_init, calling alt_os_init.\r\n"); ALT_OS_INIT(); 4eca8: 0001883a nop ALT_LOG_PRINT_BOOT("[alt_main.c] Done OS Init, calling alt_sem_create.\r\n"); ALT_SEM_CREATE (&alt_fd_list_lock, 1); /* Initialize the device drivers/software components. */ ALT_LOG_PRINT_BOOT("[alt_main.c] Calling alt_sys_init.\r\n"); alt_sys_init(); 4ecac: 004f1700 call 4f170 * devices be present (not equal to /dev/null) and if direct drivers * aren't being used. */ ALT_LOG_PRINT_BOOT("[alt_main.c] Redirecting IO.\r\n"); alt_io_redirect(ALT_STDOUT, ALT_STDIN, ALT_STDERR); 4ecb0: 01800174 movhi r6,5 4ecb4: 3188b304 addi r6,r6,8908 4ecb8: 01400174 movhi r5,5 4ecbc: 2948b304 addi r5,r5,8908 4ecc0: 01000174 movhi r4,5 4ecc4: 2108b304 addi r4,r4,8908 4ecc8: 00512740 call 51274 /* * Call the C++ constructors */ ALT_LOG_PRINT_BOOT("[alt_main.c] Calling C++ constructors.\r\n"); _do_ctors (); 4eccc: 0050e100 call 50e10 <_do_ctors> * redefined as _exit()). This is in the interest of reducing code footprint, * in that the atexit() overhead is removed when it's not needed. */ ALT_LOG_PRINT_BOOT("[alt_main.c] Calling atexit.\r\n"); atexit (_do_dtors); 4ecd0: 01000174 movhi r4,5 4ecd4: 21039c04 addi r4,r4,3696 4ecd8: 0051bbc0 call 51bbc ALT_LOG_PRINT_BOOT("[alt_main.c] Calling main.\r\n"); #ifdef ALT_NO_EXIT main (alt_argc, alt_argv, alt_envp); #else result = main (alt_argc, alt_argv, alt_envp); 4ecdc: d0a72217 ldw r2,-25464(gp) 4ece0: d0e72317 ldw r3,-25460(gp) 4ece4: d1272417 ldw r4,-25456(gp) 4ece8: 200d883a mov r6,r4 4ecec: 180b883a mov r5,r3 4ecf0: 1009883a mov r4,r2 4ecf4: 004114c0 call 4114c
4ecf8: e0bfff15 stw r2,-4(fp) close(STDOUT_FILENO); 4ecfc: 01000044 movi r4,1 4ed00: 004e7ac0 call 4e7ac exit (result); 4ed04: e13fff17 ldw r4,-4(fp) 4ed08: 0051bd00 call 51bd0 0004ed0c <__malloc_lock>: * configuration is single threaded, so there is nothing to do here. Note that * this requires that malloc is never called by an interrupt service routine. */ void __malloc_lock ( struct _reent *_r ) { 4ed0c: defffe04 addi sp,sp,-8 4ed10: df000115 stw fp,4(sp) 4ed14: df000104 addi fp,sp,4 4ed18: e13fff15 stw r4,-4(fp) } 4ed1c: 0001883a nop 4ed20: e037883a mov sp,fp 4ed24: df000017 ldw fp,0(sp) 4ed28: dec00104 addi sp,sp,4 4ed2c: f800283a ret 0004ed30 <__malloc_unlock>: /* * */ void __malloc_unlock ( struct _reent *_r ) { 4ed30: defffe04 addi sp,sp,-8 4ed34: df000115 stw fp,4(sp) 4ed38: df000104 addi fp,sp,4 4ed3c: e13fff15 stw r4,-4(fp) } 4ed40: 0001883a nop 4ed44: e037883a mov sp,fp 4ed48: df000017 ldw fp,0(sp) 4ed4c: dec00104 addi sp,sp,4 4ed50: f800283a ret 0004ed54 : #undef errno extern int errno; static ALT_INLINE int* alt_get_errno(void) { 4ed54: defffe04 addi sp,sp,-8 4ed58: dfc00115 stw ra,4(sp) 4ed5c: df000015 stw fp,0(sp) 4ed60: d839883a mov fp,sp return ((alt_errno) ? alt_errno() : &errno); 4ed64: d0a00b17 ldw r2,-32724(gp) 4ed68: 10000326 beq r2,zero,4ed78 4ed6c: d0a00b17 ldw r2,-32724(gp) 4ed70: 103ee83a callr r2 4ed74: 00000106 br 4ed7c 4ed78: d0a72104 addi r2,gp,-25468 } 4ed7c: e037883a mov sp,fp 4ed80: dfc00117 ldw ra,4(sp) 4ed84: df000017 ldw fp,0(sp) 4ed88: dec00204 addi sp,sp,8 4ed8c: f800283a ret 0004ed90 : } #else /* !ALT_USE_DIRECT_DRIVERS */ int ALT_READ (int file, void *ptr, size_t len) { 4ed90: defff904 addi sp,sp,-28 4ed94: dfc00615 stw ra,24(sp) 4ed98: df000515 stw fp,20(sp) 4ed9c: df000504 addi fp,sp,20 4eda0: e13ffd15 stw r4,-12(fp) 4eda4: e17ffe15 stw r5,-8(fp) 4eda8: e1bfff15 stw r6,-4(fp) * A common error case is that when the file descriptor was created, the call * to open() failed resulting in a negative file descriptor. This is trapped * below so that we don't try and process an invalid file descriptor. */ fd = (file < 0) ? NULL : &alt_fd_list[file]; 4edac: e0bffd17 ldw r2,-12(fp) 4edb0: 10000816 blt r2,zero,4edd4 4edb4: 01400304 movi r5,12 4edb8: e13ffd17 ldw r4,-12(fp) 4edbc: 004d3dc0 call 4d3dc <__mulsi3> 4edc0: 1007883a mov r3,r2 4edc4: 00800174 movhi r2,5 4edc8: 108b9204 addi r2,r2,11848 4edcc: 1885883a add r2,r3,r2 4edd0: 00000106 br 4edd8 4edd4: 0005883a mov r2,zero 4edd8: e0bffb15 stw r2,-20(fp) if (fd) 4eddc: e0bffb17 ldw r2,-20(fp) 4ede0: 10002226 beq r2,zero,4ee6c * If the file has not been opened with read access, or if the driver does * not provide an implementation of read(), generate an error. Otherwise * call the drivers read() function to process the request. */ if (((fd->fd_flags & O_ACCMODE) != O_WRONLY) && 4ede4: e0bffb17 ldw r2,-20(fp) 4ede8: 10800217 ldw r2,8(r2) 4edec: 108000cc andi r2,r2,3 4edf0: 10800060 cmpeqi r2,r2,1 4edf4: 1000181e bne r2,zero,4ee58 (fd->dev->read)) 4edf8: e0bffb17 ldw r2,-20(fp) 4edfc: 10800017 ldw r2,0(r2) 4ee00: 10800517 ldw r2,20(r2) * If the file has not been opened with read access, or if the driver does * not provide an implementation of read(), generate an error. Otherwise * call the drivers read() function to process the request. */ if (((fd->fd_flags & O_ACCMODE) != O_WRONLY) && 4ee04: 10001426 beq r2,zero,4ee58 (fd->dev->read)) { if ((rval = fd->dev->read(fd, ptr, len)) < 0) 4ee08: e0bffb17 ldw r2,-20(fp) 4ee0c: 10800017 ldw r2,0(r2) 4ee10: 10800517 ldw r2,20(r2) 4ee14: e0ffff17 ldw r3,-4(fp) 4ee18: 180d883a mov r6,r3 4ee1c: e17ffe17 ldw r5,-8(fp) 4ee20: e13ffb17 ldw r4,-20(fp) 4ee24: 103ee83a callr r2 4ee28: e0bffc15 stw r2,-16(fp) 4ee2c: e0bffc17 ldw r2,-16(fp) 4ee30: 1000070e bge r2,zero,4ee50 { ALT_ERRNO = -rval; 4ee34: 004ed540 call 4ed54 4ee38: 1007883a mov r3,r2 4ee3c: e0bffc17 ldw r2,-16(fp) 4ee40: 0085c83a sub r2,zero,r2 4ee44: 18800015 stw r2,0(r3) return -1; 4ee48: 00bfffc4 movi r2,-1 4ee4c: 00000c06 br 4ee80 } return rval; 4ee50: e0bffc17 ldw r2,-16(fp) 4ee54: 00000a06 br 4ee80 } else { ALT_ERRNO = EACCES; 4ee58: 004ed540 call 4ed54 4ee5c: 1007883a mov r3,r2 4ee60: 00800344 movi r2,13 4ee64: 18800015 stw r2,0(r3) 4ee68: 00000406 br 4ee7c } } else { ALT_ERRNO = EBADFD; 4ee6c: 004ed540 call 4ed54 4ee70: 1007883a mov r3,r2 4ee74: 00801444 movi r2,81 4ee78: 18800015 stw r2,0(r3) } return -1; 4ee7c: 00bfffc4 movi r2,-1 } 4ee80: e037883a mov sp,fp 4ee84: dfc00117 ldw ra,4(sp) 4ee88: df000017 ldw fp,0(sp) 4ee8c: dec00204 addi sp,sp,8 4ee90: f800283a ret 0004ee94 : * File descriptors correcponding to standard in, standard out and standard * error cannont be released backed to the pool. They are always reserved. */ void alt_release_fd (int fd) { 4ee94: defffc04 addi sp,sp,-16 4ee98: dfc00315 stw ra,12(sp) 4ee9c: df000215 stw fp,8(sp) 4eea0: dc000115 stw r16,4(sp) 4eea4: df000204 addi fp,sp,8 4eea8: e13ffe15 stw r4,-8(fp) if (fd > 2) 4eeac: e0bffe17 ldw r2,-8(fp) 4eeb0: 108000d0 cmplti r2,r2,3 4eeb4: 1000111e bne r2,zero,4eefc { alt_fd_list[fd].fd_flags = 0; 4eeb8: 04000174 movhi r16,5 4eebc: 840b9204 addi r16,r16,11848 4eec0: e0bffe17 ldw r2,-8(fp) 4eec4: 01400304 movi r5,12 4eec8: 1009883a mov r4,r2 4eecc: 004d3dc0 call 4d3dc <__mulsi3> 4eed0: 8085883a add r2,r16,r2 4eed4: 10800204 addi r2,r2,8 4eed8: 10000015 stw zero,0(r2) alt_fd_list[fd].dev = 0; 4eedc: 04000174 movhi r16,5 4eee0: 840b9204 addi r16,r16,11848 4eee4: e0bffe17 ldw r2,-8(fp) 4eee8: 01400304 movi r5,12 4eeec: 1009883a mov r4,r2 4eef0: 004d3dc0 call 4d3dc <__mulsi3> 4eef4: 8085883a add r2,r16,r2 4eef8: 10000015 stw zero,0(r2) } } 4eefc: 0001883a nop 4ef00: e6ffff04 addi sp,fp,-4 4ef04: dfc00217 ldw ra,8(sp) 4ef08: df000117 ldw fp,4(sp) 4ef0c: dc000017 ldw r16,0(sp) 4ef10: dec00304 addi sp,sp,12 4ef14: f800283a ret 0004ef18 : #endif caddr_t ALT_SBRK (int incr) __attribute__ ((no_instrument_function )); caddr_t ALT_SBRK (int incr) { 4ef18: defff904 addi sp,sp,-28 4ef1c: df000615 stw fp,24(sp) 4ef20: df000604 addi fp,sp,24 4ef24: e13fff15 stw r4,-4(fp) static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE alt_irq_disable_all (void) { alt_irq_context context; NIOS2_READ_STATUS (context); 4ef28: 0005303a rdctl r2,status 4ef2c: e0bffe15 stw r2,-8(fp) NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK); 4ef30: e0fffe17 ldw r3,-8(fp) 4ef34: 00bfff84 movi r2,-2 4ef38: 1884703a and r2,r3,r2 4ef3c: 1001703a wrctl status,r2 return context; 4ef40: e0bffe17 ldw r2,-8(fp) alt_irq_context context; char *prev_heap_end; context = alt_irq_disable_all(); 4ef44: e0bffb15 stw r2,-20(fp) /* Always return data aligned on a word boundary */ heap_end = (char *)(((unsigned int)heap_end + 3) & ~3); 4ef48: d0a00c17 ldw r2,-32720(gp) 4ef4c: 10c000c4 addi r3,r2,3 4ef50: 00bfff04 movi r2,-4 4ef54: 1884703a and r2,r3,r2 4ef58: d0a00c15 stw r2,-32720(gp) if (((heap_end + incr) - __alt_heap_start) > ALT_MAX_HEAP_BYTES) { alt_irq_enable_all(context); return (caddr_t)-1; } #else if ((heap_end + incr) > __alt_heap_limit) { 4ef5c: d0e00c17 ldw r3,-32720(gp) 4ef60: e0bfff17 ldw r2,-4(fp) 4ef64: 1887883a add r3,r3,r2 4ef68: 008001f4 movhi r2,7 4ef6c: 10880004 addi r2,r2,8192 4ef70: 10c0062e bgeu r2,r3,4ef8c 4ef74: e0bffb17 ldw r2,-20(fp) 4ef78: e0bffa15 stw r2,-24(fp) status &= ~NIOS2_STATUS_PIE_MSK; status |= (context & NIOS2_STATUS_PIE_MSK); NIOS2_WRITE_STATUS (status); #else NIOS2_WRITE_STATUS (context); 4ef7c: e0bffa17 ldw r2,-24(fp) 4ef80: 1001703a wrctl status,r2 alt_irq_enable_all(context); return (caddr_t)-1; 4ef84: 00bfffc4 movi r2,-1 4ef88: 00000b06 br 4efb8 } #endif prev_heap_end = heap_end; 4ef8c: d0a00c17 ldw r2,-32720(gp) 4ef90: e0bffd15 stw r2,-12(fp) heap_end += incr; 4ef94: d0e00c17 ldw r3,-32720(gp) 4ef98: e0bfff17 ldw r2,-4(fp) 4ef9c: 1885883a add r2,r3,r2 4efa0: d0a00c15 stw r2,-32720(gp) 4efa4: e0bffb17 ldw r2,-20(fp) 4efa8: e0bffc15 stw r2,-16(fp) 4efac: e0bffc17 ldw r2,-16(fp) 4efb0: 1001703a wrctl status,r2 #endif alt_irq_enable_all(context); return (caddr_t) prev_heap_end; 4efb4: e0bffd17 ldw r2,-12(fp) } 4efb8: e037883a mov sp,fp 4efbc: df000017 ldw fp,0(sp) 4efc0: dec00104 addi sp,sp,4 4efc4: f800283a ret 0004efc8 : #undef errno extern int errno; static ALT_INLINE int* alt_get_errno(void) { 4efc8: defffe04 addi sp,sp,-8 4efcc: dfc00115 stw ra,4(sp) 4efd0: df000015 stw fp,0(sp) 4efd4: d839883a mov fp,sp return ((alt_errno) ? alt_errno() : &errno); 4efd8: d0a00b17 ldw r2,-32724(gp) 4efdc: 10000326 beq r2,zero,4efec 4efe0: d0a00b17 ldw r2,-32724(gp) 4efe4: 103ee83a callr r2 4efe8: 00000106 br 4eff0 4efec: d0a72104 addi r2,gp,-25468 } 4eff0: e037883a mov sp,fp 4eff4: dfc00117 ldw ra,4(sp) 4eff8: df000017 ldw fp,0(sp) 4effc: dec00204 addi sp,sp,8 4f000: f800283a ret 0004f004 : } #else /* !ALT_USE_DIRECT_DRIVERS */ int ALT_WRITE (int file, const void *ptr, size_t len) { 4f004: defff904 addi sp,sp,-28 4f008: dfc00615 stw ra,24(sp) 4f00c: df000515 stw fp,20(sp) 4f010: df000504 addi fp,sp,20 4f014: e13ffd15 stw r4,-12(fp) 4f018: e17ffe15 stw r5,-8(fp) 4f01c: e1bfff15 stw r6,-4(fp) * A common error case is that when the file descriptor was created, the call * to open() failed resulting in a negative file descriptor. This is trapped * below so that we don't try and process an invalid file descriptor. */ fd = (file < 0) ? NULL : &alt_fd_list[file]; 4f020: e0bffd17 ldw r2,-12(fp) 4f024: 10000816 blt r2,zero,4f048 4f028: 01400304 movi r5,12 4f02c: e13ffd17 ldw r4,-12(fp) 4f030: 004d3dc0 call 4d3dc <__mulsi3> 4f034: 1007883a mov r3,r2 4f038: 00800174 movhi r2,5 4f03c: 108b9204 addi r2,r2,11848 4f040: 1885883a add r2,r3,r2 4f044: 00000106 br 4f04c 4f048: 0005883a mov r2,zero 4f04c: e0bffb15 stw r2,-20(fp) if (fd) 4f050: e0bffb17 ldw r2,-20(fp) 4f054: 10002126 beq r2,zero,4f0dc * If the file has not been opened with write access, or if the driver does * not provide an implementation of write(), generate an error. Otherwise * call the drivers write() function to process the request. */ if (((fd->fd_flags & O_ACCMODE) != O_RDONLY) && fd->dev->write) 4f058: e0bffb17 ldw r2,-20(fp) 4f05c: 10800217 ldw r2,8(r2) 4f060: 108000cc andi r2,r2,3 4f064: 10001826 beq r2,zero,4f0c8 4f068: e0bffb17 ldw r2,-20(fp) 4f06c: 10800017 ldw r2,0(r2) 4f070: 10800617 ldw r2,24(r2) 4f074: 10001426 beq r2,zero,4f0c8 { /* ALT_LOG - see altera_hal/HAL/inc/sys/alt_log_printf.h */ ALT_LOG_WRITE_FUNCTION(ptr,len); if ((rval = fd->dev->write(fd, ptr, len)) < 0) 4f078: e0bffb17 ldw r2,-20(fp) 4f07c: 10800017 ldw r2,0(r2) 4f080: 10800617 ldw r2,24(r2) 4f084: e0ffff17 ldw r3,-4(fp) 4f088: 180d883a mov r6,r3 4f08c: e17ffe17 ldw r5,-8(fp) 4f090: e13ffb17 ldw r4,-20(fp) 4f094: 103ee83a callr r2 4f098: e0bffc15 stw r2,-16(fp) 4f09c: e0bffc17 ldw r2,-16(fp) 4f0a0: 1000070e bge r2,zero,4f0c0 { ALT_ERRNO = -rval; 4f0a4: 004efc80 call 4efc8 4f0a8: 1007883a mov r3,r2 4f0ac: e0bffc17 ldw r2,-16(fp) 4f0b0: 0085c83a sub r2,zero,r2 4f0b4: 18800015 stw r2,0(r3) return -1; 4f0b8: 00bfffc4 movi r2,-1 4f0bc: 00000c06 br 4f0f0 } return rval; 4f0c0: e0bffc17 ldw r2,-16(fp) 4f0c4: 00000a06 br 4f0f0 } else { ALT_ERRNO = EACCES; 4f0c8: 004efc80 call 4efc8 4f0cc: 1007883a mov r3,r2 4f0d0: 00800344 movi r2,13 4f0d4: 18800015 stw r2,0(r3) 4f0d8: 00000406 br 4f0ec } } else { ALT_ERRNO = EBADFD; 4f0dc: 004efc80 call 4efc8 4f0e0: 1007883a mov r3,r2 4f0e4: 00801444 movi r2,81 4f0e8: 18800015 stw r2,0(r3) } return -1; 4f0ec: 00bfffc4 movi r2,-1 } 4f0f0: e037883a mov sp,fp 4f0f4: dfc00117 ldw ra,4(sp) 4f0f8: df000017 ldw fp,0(sp) 4f0fc: dec00204 addi sp,sp,8 4f100: f800283a ret 0004f104 : */ extern int alt_fs_reg (alt_dev* dev); static ALT_INLINE int alt_dev_reg (alt_dev* dev) { 4f104: defffd04 addi sp,sp,-12 4f108: dfc00215 stw ra,8(sp) 4f10c: df000115 stw fp,4(sp) 4f110: df000104 addi fp,sp,4 4f114: e13fff15 stw r4,-4(fp) extern alt_llist alt_dev_list; return alt_dev_llist_insert ((alt_dev_llist*) dev, &alt_dev_list); 4f118: d1600804 addi r5,gp,-32736 4f11c: e13fff17 ldw r4,-4(fp) 4f120: 0050d6c0 call 50d6c } 4f124: e037883a mov sp,fp 4f128: dfc00117 ldw ra,4(sp) 4f12c: df000017 ldw fp,0(sp) 4f130: dec00204 addi sp,sp,8 4f134: f800283a ret 0004f138 : * The "base" parameter is ignored and only * present for backwards-compatibility. */ void alt_irq_init ( const void* base ) { 4f138: defffd04 addi sp,sp,-12 4f13c: dfc00215 stw ra,8(sp) 4f140: df000115 stw fp,4(sp) 4f144: df000104 addi fp,sp,4 4f148: e13fff15 stw r4,-4(fp) ALTERA_NIOS2_GEN2_IRQ_INIT ( NIOS2, nios2); 4f14c: 00517480 call 51748 * alt_irq_cpu_enable_interrupts() enables the CPU to start taking interrupts. */ static ALT_INLINE void ALT_ALWAYS_INLINE alt_irq_cpu_enable_interrupts (void) { NIOS2_WRITE_STATUS(NIOS2_STATUS_PIE_MSK 4f150: 00800044 movi r2,1 4f154: 1001703a wrctl status,r2 alt_irq_cpu_enable_interrupts(); } 4f158: 0001883a nop 4f15c: e037883a mov sp,fp 4f160: dfc00117 ldw ra,4(sp) 4f164: df000017 ldw fp,0(sp) 4f168: dec00204 addi sp,sp,8 4f16c: f800283a ret 0004f170 : * Initialize the non-interrupt controller devices. * Called after alt_irq_init(). */ void alt_sys_init( void ) { 4f170: defffe04 addi sp,sp,-8 4f174: dfc00115 stw ra,4(sp) 4f178: df000015 stw fp,0(sp) 4f17c: d839883a mov fp,sp ALTERA_AVALON_JTAG_UART_INIT ( JTAG_UART, jtag_uart); 4f180: 000d883a mov r6,zero 4f184: 000b883a mov r5,zero 4f188: 01000174 movhi r4,5 4f18c: 210bfc04 addi r4,r4,12272 4f190: 004f3340 call 4f334 4f194: 01000174 movhi r4,5 4f198: 210bf204 addi r4,r4,12232 4f19c: 004f1040 call 4f104 ALTERA_AVALON_LCD_16207_INIT ( LCD_16207, lcd_16207); 4f1a0: 01000174 movhi r4,5 4f1a4: 21101404 addi r4,r4,16464 4f1a8: 0050a500 call 50a50 4f1ac: 01000174 movhi r4,5 4f1b0: 21100a04 addi r4,r4,16424 4f1b4: 004f1040 call 4f104 } 4f1b8: 0001883a nop 4f1bc: e037883a mov sp,fp 4f1c0: dfc00117 ldw ra,4(sp) 4f1c4: df000017 ldw fp,0(sp) 4f1c8: dec00204 addi sp,sp,8 4f1cc: f800283a ret 0004f1d0 : * */ int altera_avalon_jtag_uart_read_fd(alt_fd* fd, char* buffer, int space) { 4f1d0: defffa04 addi sp,sp,-24 4f1d4: dfc00515 stw ra,20(sp) 4f1d8: df000415 stw fp,16(sp) 4f1dc: df000404 addi fp,sp,16 4f1e0: e13ffd15 stw r4,-12(fp) 4f1e4: e17ffe15 stw r5,-8(fp) 4f1e8: e1bfff15 stw r6,-4(fp) altera_avalon_jtag_uart_dev* dev = (altera_avalon_jtag_uart_dev*) fd->dev; 4f1ec: e0bffd17 ldw r2,-12(fp) 4f1f0: 10800017 ldw r2,0(r2) 4f1f4: e0bffc15 stw r2,-16(fp) return altera_avalon_jtag_uart_read(&dev->state, buffer, space, 4f1f8: e0bffc17 ldw r2,-16(fp) 4f1fc: 10c00a04 addi r3,r2,40 4f200: e0bffd17 ldw r2,-12(fp) 4f204: 10800217 ldw r2,8(r2) 4f208: 100f883a mov r7,r2 4f20c: e1bfff17 ldw r6,-4(fp) 4f210: e17ffe17 ldw r5,-8(fp) 4f214: 1809883a mov r4,r3 4f218: 004f7f80 call 4f7f8 fd->fd_flags); } 4f21c: e037883a mov sp,fp 4f220: dfc00117 ldw ra,4(sp) 4f224: df000017 ldw fp,0(sp) 4f228: dec00204 addi sp,sp,8 4f22c: f800283a ret 0004f230 : int altera_avalon_jtag_uart_write_fd(alt_fd* fd, const char* buffer, int space) { 4f230: defffa04 addi sp,sp,-24 4f234: dfc00515 stw ra,20(sp) 4f238: df000415 stw fp,16(sp) 4f23c: df000404 addi fp,sp,16 4f240: e13ffd15 stw r4,-12(fp) 4f244: e17ffe15 stw r5,-8(fp) 4f248: e1bfff15 stw r6,-4(fp) altera_avalon_jtag_uart_dev* dev = (altera_avalon_jtag_uart_dev*) fd->dev; 4f24c: e0bffd17 ldw r2,-12(fp) 4f250: 10800017 ldw r2,0(r2) 4f254: e0bffc15 stw r2,-16(fp) return altera_avalon_jtag_uart_write(&dev->state, buffer, space, 4f258: e0bffc17 ldw r2,-16(fp) 4f25c: 10c00a04 addi r3,r2,40 4f260: e0bffd17 ldw r2,-12(fp) 4f264: 10800217 ldw r2,8(r2) 4f268: 100f883a mov r7,r2 4f26c: e1bfff17 ldw r6,-4(fp) 4f270: e17ffe17 ldw r5,-8(fp) 4f274: 1809883a mov r4,r3 4f278: 004fa140 call 4fa14 fd->fd_flags); } 4f27c: e037883a mov sp,fp 4f280: dfc00117 ldw ra,4(sp) 4f284: df000017 ldw fp,0(sp) 4f288: dec00204 addi sp,sp,8 4f28c: f800283a ret 0004f290 : #ifndef ALTERA_AVALON_JTAG_UART_SMALL int altera_avalon_jtag_uart_close_fd(alt_fd* fd) { 4f290: defffc04 addi sp,sp,-16 4f294: dfc00315 stw ra,12(sp) 4f298: df000215 stw fp,8(sp) 4f29c: df000204 addi fp,sp,8 4f2a0: e13fff15 stw r4,-4(fp) altera_avalon_jtag_uart_dev* dev = (altera_avalon_jtag_uart_dev*) fd->dev; 4f2a4: e0bfff17 ldw r2,-4(fp) 4f2a8: 10800017 ldw r2,0(r2) 4f2ac: e0bffe15 stw r2,-8(fp) return altera_avalon_jtag_uart_close(&dev->state, fd->fd_flags); 4f2b0: e0bffe17 ldw r2,-8(fp) 4f2b4: 10c00a04 addi r3,r2,40 4f2b8: e0bfff17 ldw r2,-4(fp) 4f2bc: 10800217 ldw r2,8(r2) 4f2c0: 100b883a mov r5,r2 4f2c4: 1809883a mov r4,r3 4f2c8: 004f6a00 call 4f6a0 } 4f2cc: e037883a mov sp,fp 4f2d0: dfc00117 ldw ra,4(sp) 4f2d4: df000017 ldw fp,0(sp) 4f2d8: dec00204 addi sp,sp,8 4f2dc: f800283a ret 0004f2e0 : int altera_avalon_jtag_uart_ioctl_fd(alt_fd* fd, int req, void* arg) { 4f2e0: defffa04 addi sp,sp,-24 4f2e4: dfc00515 stw ra,20(sp) 4f2e8: df000415 stw fp,16(sp) 4f2ec: df000404 addi fp,sp,16 4f2f0: e13ffd15 stw r4,-12(fp) 4f2f4: e17ffe15 stw r5,-8(fp) 4f2f8: e1bfff15 stw r6,-4(fp) altera_avalon_jtag_uart_dev* dev = (altera_avalon_jtag_uart_dev*) fd->dev; 4f2fc: e0bffd17 ldw r2,-12(fp) 4f300: 10800017 ldw r2,0(r2) 4f304: e0bffc15 stw r2,-16(fp) return altera_avalon_jtag_uart_ioctl(&dev->state, req, arg); 4f308: e0bffc17 ldw r2,-16(fp) 4f30c: 10800a04 addi r2,r2,40 4f310: e1bfff17 ldw r6,-4(fp) 4f314: e17ffe17 ldw r5,-8(fp) 4f318: 1009883a mov r4,r2 4f31c: 004f7080 call 4f708 } 4f320: e037883a mov sp,fp 4f324: dfc00117 ldw ra,4(sp) 4f328: df000017 ldw fp,0(sp) 4f32c: dec00204 addi sp,sp,8 4f330: f800283a ret 0004f334 : * Return 1 on sucessful IRQ register and 0 on failure. */ void altera_avalon_jtag_uart_init(altera_avalon_jtag_uart_state* sp, int irq_controller_id, int irq) { 4f334: defffa04 addi sp,sp,-24 4f338: dfc00515 stw ra,20(sp) 4f33c: df000415 stw fp,16(sp) 4f340: df000404 addi fp,sp,16 4f344: e13ffd15 stw r4,-12(fp) 4f348: e17ffe15 stw r5,-8(fp) 4f34c: e1bfff15 stw r6,-4(fp) ALT_FLAG_CREATE(&sp->events, 0); ALT_SEM_CREATE(&sp->read_lock, 1); ALT_SEM_CREATE(&sp->write_lock, 1); /* enable read interrupts at the device */ sp->irq_enable = ALTERA_AVALON_JTAG_UART_CONTROL_RE_MSK; 4f350: e0bffd17 ldw r2,-12(fp) 4f354: 00c00044 movi r3,1 4f358: 10c00815 stw r3,32(r2) IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base, sp->irq_enable); 4f35c: e0bffd17 ldw r2,-12(fp) 4f360: 10800017 ldw r2,0(r2) 4f364: 10800104 addi r2,r2,4 4f368: 1007883a mov r3,r2 4f36c: e0bffd17 ldw r2,-12(fp) 4f370: 10800817 ldw r2,32(r2) 4f374: 18800035 stwio r2,0(r3) /* register the interrupt handler */ #ifdef ALT_ENHANCED_INTERRUPT_API_PRESENT alt_ic_isr_register(irq_controller_id, irq, altera_avalon_jtag_uart_irq, 4f378: e0bffe17 ldw r2,-8(fp) 4f37c: e0ffff17 ldw r3,-4(fp) 4f380: d8000015 stw zero,0(sp) 4f384: e1fffd17 ldw r7,-12(fp) 4f388: 01800174 movhi r6,5 4f38c: 31bcfd04 addi r6,r6,-3084 4f390: 180b883a mov r5,r3 4f394: 1009883a mov r4,r2 4f398: 0050ef00 call 50ef0 #else alt_irq_register(irq, sp, altera_avalon_jtag_uart_irq); #endif /* Register an alarm to go off every second to check for presence of host */ sp->host_inactive = 0; 4f39c: e0bffd17 ldw r2,-12(fp) 4f3a0: 10000915 stw zero,36(r2) if (alt_alarm_start(&sp->alarm, alt_ticks_per_second(), 4f3a4: e0bffd17 ldw r2,-12(fp) 4f3a8: 10800204 addi r2,r2,8 * Obtain the system clock rate in ticks/s. */ static ALT_INLINE alt_u32 ALT_ALWAYS_INLINE alt_ticks_per_second (void) { return _alt_tick_rate; 4f3ac: d0e72617 ldw r3,-25448(gp) 4f3b0: e1fffd17 ldw r7,-12(fp) 4f3b4: 01800174 movhi r6,5 4f3b8: 31bd8004 addi r6,r6,-2560 4f3bc: 180b883a mov r5,r3 4f3c0: 1009883a mov r4,r2 4f3c4: 0050be40 call 50be4 4f3c8: 1000040e bge r2,zero,4f3dc &altera_avalon_jtag_uart_timeout, sp) < 0) { /* If we can't set the alarm then record "don't know if host present" * and behave as though the host is present. */ sp->timeout = INT_MAX; 4f3cc: e0fffd17 ldw r3,-12(fp) 4f3d0: 00a00034 movhi r2,32768 4f3d4: 10bfffc4 addi r2,r2,-1 4f3d8: 18800115 stw r2,4(r3) } /* ALT_LOG - see altera_hal/HAL/inc/sys/alt_log_printf.h */ ALT_LOG_JTAG_UART_ALARM_REGISTER(sp, sp->base); } 4f3dc: 0001883a nop 4f3e0: e037883a mov sp,fp 4f3e4: dfc00117 ldw ra,4(sp) 4f3e8: df000017 ldw fp,0(sp) 4f3ec: dec00204 addi sp,sp,8 4f3f0: f800283a ret 0004f3f4 : #ifdef ALT_ENHANCED_INTERRUPT_API_PRESENT static void altera_avalon_jtag_uart_irq(void* context) #else static void altera_avalon_jtag_uart_irq(void* context, alt_u32 id) #endif { 4f3f4: defff804 addi sp,sp,-32 4f3f8: df000715 stw fp,28(sp) 4f3fc: df000704 addi fp,sp,28 4f400: e13fff15 stw r4,-4(fp) altera_avalon_jtag_uart_state* sp = (altera_avalon_jtag_uart_state*) context; 4f404: e0bfff17 ldw r2,-4(fp) 4f408: e0bffb15 stw r2,-20(fp) unsigned int base = sp->base; 4f40c: e0bffb17 ldw r2,-20(fp) 4f410: 10800017 ldw r2,0(r2) 4f414: e0bffc15 stw r2,-16(fp) /* ALT_LOG - see altera_hal/HAL/inc/sys/alt_log_printf.h */ ALT_LOG_JTAG_UART_ISR_FUNCTION(base, sp); for ( ; ; ) { unsigned int control = IORD_ALTERA_AVALON_JTAG_UART_CONTROL(base); 4f418: e0bffc17 ldw r2,-16(fp) 4f41c: 10800104 addi r2,r2,4 4f420: 10800037 ldwio r2,0(r2) 4f424: e0bffd15 stw r2,-12(fp) /* Return once nothing more to do */ if ((control & (ALTERA_AVALON_JTAG_UART_CONTROL_RI_MSK | ALTERA_AVALON_JTAG_UART_CONTROL_WI_MSK)) == 0) 4f428: e0bffd17 ldw r2,-12(fp) 4f42c: 1080c00c andi r2,r2,768 4f430: 10006d26 beq r2,zero,4f5e8 break; if (control & ALTERA_AVALON_JTAG_UART_CONTROL_RI_MSK) 4f434: e0bffd17 ldw r2,-12(fp) 4f438: 1080400c andi r2,r2,256 4f43c: 10003526 beq r2,zero,4f514 { /* process a read irq. Start by assuming that there is data in the * receive FIFO (otherwise why would we have been interrupted?) */ unsigned int data = 1 << ALTERA_AVALON_JTAG_UART_DATA_RAVAIL_OFST; 4f440: 00800074 movhi r2,1 4f444: e0bff915 stw r2,-28(fp) for ( ; ; ) { /* Check whether there is space in the buffer. If not then we must not * read any characters from the buffer as they will be lost. */ unsigned int next = (sp->rx_in + 1) % ALTERA_AVALON_JTAG_UART_BUF_LEN; 4f448: e0bffb17 ldw r2,-20(fp) 4f44c: 10800a17 ldw r2,40(r2) 4f450: 10800044 addi r2,r2,1 4f454: 1081ffcc andi r2,r2,2047 4f458: e0bffe15 stw r2,-8(fp) if (next == sp->rx_out) 4f45c: e0bffb17 ldw r2,-20(fp) 4f460: 10c00b17 ldw r3,44(r2) 4f464: e0bffe17 ldw r2,-8(fp) 4f468: 18801526 beq r3,r2,4f4c0 break; /* Try to remove a character from the FIFO and find out whether there * are any more characters remaining. */ data = IORD_ALTERA_AVALON_JTAG_UART_DATA(base); 4f46c: e0bffc17 ldw r2,-16(fp) 4f470: 10800037 ldwio r2,0(r2) 4f474: e0bff915 stw r2,-28(fp) if ((data & ALTERA_AVALON_JTAG_UART_DATA_RVALID_MSK) == 0) 4f478: e0bff917 ldw r2,-28(fp) 4f47c: 10a0000c andi r2,r2,32768 4f480: 10001126 beq r2,zero,4f4c8 break; sp->rx_buf[sp->rx_in] = (data & ALTERA_AVALON_JTAG_UART_DATA_DATA_MSK) >> ALTERA_AVALON_JTAG_UART_DATA_DATA_OFST; 4f484: e0bffb17 ldw r2,-20(fp) 4f488: 10800a17 ldw r2,40(r2) 4f48c: e0fff917 ldw r3,-28(fp) 4f490: 1809883a mov r4,r3 4f494: e0fffb17 ldw r3,-20(fp) 4f498: 1885883a add r2,r3,r2 4f49c: 10800e04 addi r2,r2,56 4f4a0: 11000005 stb r4,0(r2) sp->rx_in = (sp->rx_in + 1) % ALTERA_AVALON_JTAG_UART_BUF_LEN; 4f4a4: e0bffb17 ldw r2,-20(fp) 4f4a8: 10800a17 ldw r2,40(r2) 4f4ac: 10800044 addi r2,r2,1 4f4b0: 10c1ffcc andi r3,r2,2047 4f4b4: e0bffb17 ldw r2,-20(fp) 4f4b8: 10c00a15 stw r3,40(r2) /* Post an event to notify jtag_uart_read that a character has been read */ ALT_FLAG_POST (sp->events, ALT_JTAG_UART_READ_RDY, OS_FLAG_SET); } 4f4bc: 003fe206 br 4f448 <__alt_data_end+0xfffdd448> /* Check whether there is space in the buffer. If not then we must not * read any characters from the buffer as they will be lost. */ unsigned int next = (sp->rx_in + 1) % ALTERA_AVALON_JTAG_UART_BUF_LEN; if (next == sp->rx_out) break; 4f4c0: 0001883a nop 4f4c4: 00000106 br 4f4cc * are any more characters remaining. */ data = IORD_ALTERA_AVALON_JTAG_UART_DATA(base); if ((data & ALTERA_AVALON_JTAG_UART_DATA_RVALID_MSK) == 0) break; 4f4c8: 0001883a nop /* Post an event to notify jtag_uart_read that a character has been read */ ALT_FLAG_POST (sp->events, ALT_JTAG_UART_READ_RDY, OS_FLAG_SET); } if (data & ALTERA_AVALON_JTAG_UART_DATA_RAVAIL_MSK) 4f4cc: e0bff917 ldw r2,-28(fp) 4f4d0: 10bfffec andhi r2,r2,65535 4f4d4: 10000f26 beq r2,zero,4f514 { /* If there is still data available here then the buffer is full * so turn off receive interrupts until some space becomes available. */ sp->irq_enable &= ~ALTERA_AVALON_JTAG_UART_CONTROL_RE_MSK; 4f4d8: e0bffb17 ldw r2,-20(fp) 4f4dc: 10c00817 ldw r3,32(r2) 4f4e0: 00bfff84 movi r2,-2 4f4e4: 1886703a and r3,r3,r2 4f4e8: e0bffb17 ldw r2,-20(fp) 4f4ec: 10c00815 stw r3,32(r2) IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(base, sp->irq_enable); 4f4f0: e0bffc17 ldw r2,-16(fp) 4f4f4: 10800104 addi r2,r2,4 4f4f8: 1007883a mov r3,r2 4f4fc: e0bffb17 ldw r2,-20(fp) 4f500: 10800817 ldw r2,32(r2) 4f504: 18800035 stwio r2,0(r3) /* Dummy read to ensure IRQ is cleared prior to ISR completion */ IORD_ALTERA_AVALON_JTAG_UART_CONTROL(base); 4f508: e0bffc17 ldw r2,-16(fp) 4f50c: 10800104 addi r2,r2,4 4f510: 10800037 ldwio r2,0(r2) } } if (control & ALTERA_AVALON_JTAG_UART_CONTROL_WI_MSK) 4f514: e0bffd17 ldw r2,-12(fp) 4f518: 1080800c andi r2,r2,512 4f51c: 103fbe26 beq r2,zero,4f418 <__alt_data_end+0xfffdd418> { /* process a write irq */ unsigned int space = (control & ALTERA_AVALON_JTAG_UART_CONTROL_WSPACE_MSK) >> ALTERA_AVALON_JTAG_UART_CONTROL_WSPACE_OFST; 4f520: e0bffd17 ldw r2,-12(fp) 4f524: 1004d43a srli r2,r2,16 4f528: e0bffa15 stw r2,-24(fp) while (space > 0 && sp->tx_out != sp->tx_in) 4f52c: 00001406 br 4f580 { IOWR_ALTERA_AVALON_JTAG_UART_DATA(base, sp->tx_buf[sp->tx_out]); 4f530: e0bffc17 ldw r2,-16(fp) 4f534: e0fffb17 ldw r3,-20(fp) 4f538: 18c00d17 ldw r3,52(r3) 4f53c: e13ffb17 ldw r4,-20(fp) 4f540: 20c7883a add r3,r4,r3 4f544: 18c20e04 addi r3,r3,2104 4f548: 18c00003 ldbu r3,0(r3) 4f54c: 18c03fcc andi r3,r3,255 4f550: 18c0201c xori r3,r3,128 4f554: 18ffe004 addi r3,r3,-128 4f558: 10c00035 stwio r3,0(r2) sp->tx_out = (sp->tx_out + 1) % ALTERA_AVALON_JTAG_UART_BUF_LEN; 4f55c: e0bffb17 ldw r2,-20(fp) 4f560: 10800d17 ldw r2,52(r2) 4f564: 10800044 addi r2,r2,1 4f568: 10c1ffcc andi r3,r2,2047 4f56c: e0bffb17 ldw r2,-20(fp) 4f570: 10c00d15 stw r3,52(r2) /* Post an event to notify jtag_uart_write that a character has been written */ ALT_FLAG_POST (sp->events, ALT_JTAG_UART_WRITE_RDY, OS_FLAG_SET); space--; 4f574: e0bffa17 ldw r2,-24(fp) 4f578: 10bfffc4 addi r2,r2,-1 4f57c: e0bffa15 stw r2,-24(fp) if (control & ALTERA_AVALON_JTAG_UART_CONTROL_WI_MSK) { /* process a write irq */ unsigned int space = (control & ALTERA_AVALON_JTAG_UART_CONTROL_WSPACE_MSK) >> ALTERA_AVALON_JTAG_UART_CONTROL_WSPACE_OFST; while (space > 0 && sp->tx_out != sp->tx_in) 4f580: e0bffa17 ldw r2,-24(fp) 4f584: 10000526 beq r2,zero,4f59c 4f588: e0bffb17 ldw r2,-20(fp) 4f58c: 10c00d17 ldw r3,52(r2) 4f590: e0bffb17 ldw r2,-20(fp) 4f594: 10800c17 ldw r2,48(r2) 4f598: 18bfe51e bne r3,r2,4f530 <__alt_data_end+0xfffdd530> ALT_FLAG_POST (sp->events, ALT_JTAG_UART_WRITE_RDY, OS_FLAG_SET); space--; } if (space > 0) 4f59c: e0bffa17 ldw r2,-24(fp) 4f5a0: 103f9d26 beq r2,zero,4f418 <__alt_data_end+0xfffdd418> { /* If we don't have any more data available then turn off the TX interrupt */ sp->irq_enable &= ~ALTERA_AVALON_JTAG_UART_CONTROL_WE_MSK; 4f5a4: e0bffb17 ldw r2,-20(fp) 4f5a8: 10c00817 ldw r3,32(r2) 4f5ac: 00bfff44 movi r2,-3 4f5b0: 1886703a and r3,r3,r2 4f5b4: e0bffb17 ldw r2,-20(fp) 4f5b8: 10c00815 stw r3,32(r2) IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base, sp->irq_enable); 4f5bc: e0bffb17 ldw r2,-20(fp) 4f5c0: 10800017 ldw r2,0(r2) 4f5c4: 10800104 addi r2,r2,4 4f5c8: 1007883a mov r3,r2 4f5cc: e0bffb17 ldw r2,-20(fp) 4f5d0: 10800817 ldw r2,32(r2) 4f5d4: 18800035 stwio r2,0(r3) /* Dummy read to ensure IRQ is cleared prior to ISR completion */ IORD_ALTERA_AVALON_JTAG_UART_CONTROL(base); 4f5d8: e0bffc17 ldw r2,-16(fp) 4f5dc: 10800104 addi r2,r2,4 4f5e0: 10800037 ldwio r2,0(r2) } } } 4f5e4: 003f8c06 br 4f418 <__alt_data_end+0xfffdd418> { unsigned int control = IORD_ALTERA_AVALON_JTAG_UART_CONTROL(base); /* Return once nothing more to do */ if ((control & (ALTERA_AVALON_JTAG_UART_CONTROL_RI_MSK | ALTERA_AVALON_JTAG_UART_CONTROL_WI_MSK)) == 0) break; 4f5e8: 0001883a nop /* Dummy read to ensure IRQ is cleared prior to ISR completion */ IORD_ALTERA_AVALON_JTAG_UART_CONTROL(base); } } } } 4f5ec: 0001883a nop 4f5f0: e037883a mov sp,fp 4f5f4: df000017 ldw fp,0(sp) 4f5f8: dec00104 addi sp,sp,4 4f5fc: f800283a ret 0004f600 : * Timeout routine is called every second */ static alt_u32 altera_avalon_jtag_uart_timeout(void* context) { 4f600: defff804 addi sp,sp,-32 4f604: df000715 stw fp,28(sp) 4f608: df000704 addi fp,sp,28 4f60c: e13ffb15 stw r4,-20(fp) altera_avalon_jtag_uart_state* sp = (altera_avalon_jtag_uart_state *) context; 4f610: e0bffb17 ldw r2,-20(fp) 4f614: e0bff915 stw r2,-28(fp) unsigned int control = IORD_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base); 4f618: e0bff917 ldw r2,-28(fp) 4f61c: 10800017 ldw r2,0(r2) 4f620: 10800104 addi r2,r2,4 4f624: 10800037 ldwio r2,0(r2) 4f628: e0bffa15 stw r2,-24(fp) if (control & ALTERA_AVALON_JTAG_UART_CONTROL_AC_MSK) 4f62c: e0bffa17 ldw r2,-24(fp) 4f630: 1081000c andi r2,r2,1024 4f634: 10000b26 beq r2,zero,4f664 { IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base, sp->irq_enable | ALTERA_AVALON_JTAG_UART_CONTROL_AC_MSK); 4f638: e0bff917 ldw r2,-28(fp) 4f63c: 10800017 ldw r2,0(r2) 4f640: 10800104 addi r2,r2,4 4f644: 1007883a mov r3,r2 4f648: e0bff917 ldw r2,-28(fp) 4f64c: 10800817 ldw r2,32(r2) 4f650: 10810014 ori r2,r2,1024 4f654: 18800035 stwio r2,0(r3) sp->host_inactive = 0; 4f658: e0bff917 ldw r2,-28(fp) 4f65c: 10000915 stw zero,36(r2) 4f660: 00000a06 br 4f68c } else if (sp->host_inactive < INT_MAX - 2) { 4f664: e0bff917 ldw r2,-28(fp) 4f668: 10c00917 ldw r3,36(r2) 4f66c: 00a00034 movhi r2,32768 4f670: 10bfff04 addi r2,r2,-4 4f674: 10c00536 bltu r2,r3,4f68c sp->host_inactive++; 4f678: e0bff917 ldw r2,-28(fp) 4f67c: 10800917 ldw r2,36(r2) 4f680: 10c00044 addi r3,r2,1 4f684: e0bff917 ldw r2,-28(fp) 4f688: 10c00915 stw r3,36(r2) 4f68c: d0a72617 ldw r2,-25448(gp) ALT_FLAG_POST (sp->events, ALT_JTAG_UART_TIMEOUT, OS_FLAG_SET); } } return alt_ticks_per_second(); } 4f690: e037883a mov sp,fp 4f694: df000017 ldw fp,0(sp) 4f698: dec00104 addi sp,sp,4 4f69c: f800283a ret 0004f6a0 : * The close routine is not implemented for the small driver; instead it will * map to null. This is because the small driver simply waits while characters * are transmitted; there is no interrupt-serviced buffer to empty */ int altera_avalon_jtag_uart_close(altera_avalon_jtag_uart_state* sp, int flags) { 4f6a0: defffd04 addi sp,sp,-12 4f6a4: df000215 stw fp,8(sp) 4f6a8: df000204 addi fp,sp,8 4f6ac: e13ffe15 stw r4,-8(fp) 4f6b0: e17fff15 stw r5,-4(fp) /* * Wait for all transmit data to be emptied by the JTAG UART ISR, or * for a host-inactivity timeout, in which case transmit data will be lost */ while ( (sp->tx_out != sp->tx_in) && (sp->host_inactive < sp->timeout) ) { 4f6b4: 00000506 br 4f6cc if (flags & O_NONBLOCK) { 4f6b8: e0bfff17 ldw r2,-4(fp) 4f6bc: 1090000c andi r2,r2,16384 4f6c0: 10000226 beq r2,zero,4f6cc return -EWOULDBLOCK; 4f6c4: 00bffd44 movi r2,-11 4f6c8: 00000b06 br 4f6f8 { /* * Wait for all transmit data to be emptied by the JTAG UART ISR, or * for a host-inactivity timeout, in which case transmit data will be lost */ while ( (sp->tx_out != sp->tx_in) && (sp->host_inactive < sp->timeout) ) { 4f6cc: e0bffe17 ldw r2,-8(fp) 4f6d0: 10c00d17 ldw r3,52(r2) 4f6d4: e0bffe17 ldw r2,-8(fp) 4f6d8: 10800c17 ldw r2,48(r2) 4f6dc: 18800526 beq r3,r2,4f6f4 4f6e0: e0bffe17 ldw r2,-8(fp) 4f6e4: 10c00917 ldw r3,36(r2) 4f6e8: e0bffe17 ldw r2,-8(fp) 4f6ec: 10800117 ldw r2,4(r2) 4f6f0: 18bff136 bltu r3,r2,4f6b8 <__alt_data_end+0xfffdd6b8> if (flags & O_NONBLOCK) { return -EWOULDBLOCK; } } return 0; 4f6f4: 0005883a mov r2,zero } 4f6f8: e037883a mov sp,fp 4f6fc: df000017 ldw fp,0(sp) 4f700: dec00104 addi sp,sp,4 4f704: f800283a ret 0004f708 : /* ----------------------------------------------------------- */ int altera_avalon_jtag_uart_ioctl(altera_avalon_jtag_uart_state* sp, int req, void* arg) { 4f708: defffa04 addi sp,sp,-24 4f70c: df000515 stw fp,20(sp) 4f710: df000504 addi fp,sp,20 4f714: e13ffd15 stw r4,-12(fp) 4f718: e17ffe15 stw r5,-8(fp) 4f71c: e1bfff15 stw r6,-4(fp) int rc = -ENOTTY; 4f720: 00bff9c4 movi r2,-25 4f724: e0bffb15 stw r2,-20(fp) switch (req) 4f728: e0bffe17 ldw r2,-8(fp) 4f72c: 10da8060 cmpeqi r3,r2,27137 4f730: 1800031e bne r3,zero,4f740 4f734: 109a80a0 cmpeqi r2,r2,27138 4f738: 1000181e bne r2,zero,4f79c rc = 0; } break; default: break; 4f73c: 00002906 br 4f7e4 switch (req) { case TIOCSTIMEOUT: /* Set the time to wait until assuming host is not connected */ if (sp->timeout != INT_MAX) 4f740: e0bffd17 ldw r2,-12(fp) 4f744: 10c00117 ldw r3,4(r2) 4f748: 00a00034 movhi r2,32768 4f74c: 10bfffc4 addi r2,r2,-1 4f750: 18802126 beq r3,r2,4f7d8 { int timeout = *((int *)arg); 4f754: e0bfff17 ldw r2,-4(fp) 4f758: 10800017 ldw r2,0(r2) 4f75c: e0bffc15 stw r2,-16(fp) sp->timeout = (timeout >= 2 && timeout < INT_MAX) ? timeout : INT_MAX - 1; 4f760: e0bffc17 ldw r2,-16(fp) 4f764: 10800090 cmplti r2,r2,2 4f768: 1000061e bne r2,zero,4f784 4f76c: e0fffc17 ldw r3,-16(fp) 4f770: 00a00034 movhi r2,32768 4f774: 10bfffc4 addi r2,r2,-1 4f778: 18800226 beq r3,r2,4f784 4f77c: e0bffc17 ldw r2,-16(fp) 4f780: 00000206 br 4f78c 4f784: 00a00034 movhi r2,32768 4f788: 10bfff84 addi r2,r2,-2 4f78c: e0fffd17 ldw r3,-12(fp) 4f790: 18800115 stw r2,4(r3) rc = 0; 4f794: e03ffb15 stw zero,-20(fp) } break; 4f798: 00000f06 br 4f7d8 case TIOCGCONNECTED: /* Find out whether host is connected */ if (sp->timeout != INT_MAX) 4f79c: e0bffd17 ldw r2,-12(fp) 4f7a0: 10c00117 ldw r3,4(r2) 4f7a4: 00a00034 movhi r2,32768 4f7a8: 10bfffc4 addi r2,r2,-1 4f7ac: 18800c26 beq r3,r2,4f7e0 { *((int *)arg) = (sp->host_inactive < sp->timeout) ? 1 : 0; 4f7b0: e0bffd17 ldw r2,-12(fp) 4f7b4: 10c00917 ldw r3,36(r2) 4f7b8: e0bffd17 ldw r2,-12(fp) 4f7bc: 10800117 ldw r2,4(r2) 4f7c0: 1885803a cmpltu r2,r3,r2 4f7c4: 10c03fcc andi r3,r2,255 4f7c8: e0bfff17 ldw r2,-4(fp) 4f7cc: 10c00015 stw r3,0(r2) rc = 0; 4f7d0: e03ffb15 stw zero,-20(fp) } break; 4f7d4: 00000206 br 4f7e0 { int timeout = *((int *)arg); sp->timeout = (timeout >= 2 && timeout < INT_MAX) ? timeout : INT_MAX - 1; rc = 0; } break; 4f7d8: 0001883a nop 4f7dc: 00000106 br 4f7e4 if (sp->timeout != INT_MAX) { *((int *)arg) = (sp->host_inactive < sp->timeout) ? 1 : 0; rc = 0; } break; 4f7e0: 0001883a nop default: break; } return rc; 4f7e4: e0bffb17 ldw r2,-20(fp) } 4f7e8: e037883a mov sp,fp 4f7ec: df000017 ldw fp,0(sp) 4f7f0: dec00104 addi sp,sp,4 4f7f4: f800283a ret 0004f7f8 : /* ----------------------------------------------------------- */ int altera_avalon_jtag_uart_read(altera_avalon_jtag_uart_state* sp, char * buffer, int space, int flags) { 4f7f8: defff304 addi sp,sp,-52 4f7fc: dfc00c15 stw ra,48(sp) 4f800: df000b15 stw fp,44(sp) 4f804: df000b04 addi fp,sp,44 4f808: e13ffc15 stw r4,-16(fp) 4f80c: e17ffd15 stw r5,-12(fp) 4f810: e1bffe15 stw r6,-8(fp) 4f814: e1ffff15 stw r7,-4(fp) char * ptr = buffer; 4f818: e0bffd17 ldw r2,-12(fp) 4f81c: e0bff515 stw r2,-44(fp) * When running in a multi threaded environment, obtain the "read_lock" * semaphore. This ensures that reading from the device is thread-safe. */ ALT_SEM_PEND (sp->read_lock, 0); while (space > 0) 4f820: 00004706 br 4f940 unsigned int in, out; /* Read as much data as possible */ do { in = sp->rx_in; 4f824: e0bffc17 ldw r2,-16(fp) 4f828: 10800a17 ldw r2,40(r2) 4f82c: e0bff715 stw r2,-36(fp) out = sp->rx_out; 4f830: e0bffc17 ldw r2,-16(fp) 4f834: 10800b17 ldw r2,44(r2) 4f838: e0bff815 stw r2,-32(fp) if (in >= out) 4f83c: e0fff717 ldw r3,-36(fp) 4f840: e0bff817 ldw r2,-32(fp) 4f844: 18800536 bltu r3,r2,4f85c n = in - out; 4f848: e0fff717 ldw r3,-36(fp) 4f84c: e0bff817 ldw r2,-32(fp) 4f850: 1885c83a sub r2,r3,r2 4f854: e0bff615 stw r2,-40(fp) 4f858: 00000406 br 4f86c else n = ALTERA_AVALON_JTAG_UART_BUF_LEN - out; 4f85c: 00c20004 movi r3,2048 4f860: e0bff817 ldw r2,-32(fp) 4f864: 1885c83a sub r2,r3,r2 4f868: e0bff615 stw r2,-40(fp) if (n == 0) 4f86c: e0bff617 ldw r2,-40(fp) 4f870: 10001e26 beq r2,zero,4f8ec break; /* No more data available */ if (n > space) 4f874: e0fffe17 ldw r3,-8(fp) 4f878: e0bff617 ldw r2,-40(fp) 4f87c: 1880022e bgeu r3,r2,4f888 n = space; 4f880: e0bffe17 ldw r2,-8(fp) 4f884: e0bff615 stw r2,-40(fp) memcpy(ptr, sp->rx_buf + out, n); 4f888: e0bffc17 ldw r2,-16(fp) 4f88c: 10c00e04 addi r3,r2,56 4f890: e0bff817 ldw r2,-32(fp) 4f894: 1885883a add r2,r3,r2 4f898: e1bff617 ldw r6,-40(fp) 4f89c: 100b883a mov r5,r2 4f8a0: e13ff517 ldw r4,-44(fp) 4f8a4: 00487f40 call 487f4 ptr += n; 4f8a8: e0fff517 ldw r3,-44(fp) 4f8ac: e0bff617 ldw r2,-40(fp) 4f8b0: 1885883a add r2,r3,r2 4f8b4: e0bff515 stw r2,-44(fp) space -= n; 4f8b8: e0fffe17 ldw r3,-8(fp) 4f8bc: e0bff617 ldw r2,-40(fp) 4f8c0: 1885c83a sub r2,r3,r2 4f8c4: e0bffe15 stw r2,-8(fp) sp->rx_out = (out + n) % ALTERA_AVALON_JTAG_UART_BUF_LEN; 4f8c8: e0fff817 ldw r3,-32(fp) 4f8cc: e0bff617 ldw r2,-40(fp) 4f8d0: 1885883a add r2,r3,r2 4f8d4: 10c1ffcc andi r3,r2,2047 4f8d8: e0bffc17 ldw r2,-16(fp) 4f8dc: 10c00b15 stw r3,44(r2) } while (space > 0); 4f8e0: e0bffe17 ldw r2,-8(fp) 4f8e4: 00bfcf16 blt zero,r2,4f824 <__alt_data_end+0xfffdd824> 4f8e8: 00000106 br 4f8f0 n = in - out; else n = ALTERA_AVALON_JTAG_UART_BUF_LEN - out; if (n == 0) break; /* No more data available */ 4f8ec: 0001883a nop sp->rx_out = (out + n) % ALTERA_AVALON_JTAG_UART_BUF_LEN; } while (space > 0); /* If we read any data then return it */ if (ptr != buffer) 4f8f0: e0fff517 ldw r3,-44(fp) 4f8f4: e0bffd17 ldw r2,-12(fp) 4f8f8: 1880141e bne r3,r2,4f94c break; /* If in non-blocking mode then return error */ if (flags & O_NONBLOCK) 4f8fc: e0bfff17 ldw r2,-4(fp) 4f900: 1090000c andi r2,r2,16384 4f904: 1000131e bne r2,zero,4f954 while (in == sp->rx_in && sp->host_inactive < sp->timeout) ; } #else /* No OS: Always spin */ while (in == sp->rx_in && sp->host_inactive < sp->timeout) 4f908: 0001883a nop 4f90c: e0bffc17 ldw r2,-16(fp) 4f910: 10c00a17 ldw r3,40(r2) 4f914: e0bff717 ldw r2,-36(fp) 4f918: 1880051e bne r3,r2,4f930 4f91c: e0bffc17 ldw r2,-16(fp) 4f920: 10c00917 ldw r3,36(r2) 4f924: e0bffc17 ldw r2,-16(fp) 4f928: 10800117 ldw r2,4(r2) 4f92c: 18bff736 bltu r3,r2,4f90c <__alt_data_end+0xfffdd90c> ; #endif /* __ucosii__ */ if (in == sp->rx_in) 4f930: e0bffc17 ldw r2,-16(fp) 4f934: 10c00a17 ldw r3,40(r2) 4f938: e0bff717 ldw r2,-36(fp) 4f93c: 18800726 beq r3,r2,4f95c * When running in a multi threaded environment, obtain the "read_lock" * semaphore. This ensures that reading from the device is thread-safe. */ ALT_SEM_PEND (sp->read_lock, 0); while (space > 0) 4f940: e0bffe17 ldw r2,-8(fp) 4f944: 00bfb716 blt zero,r2,4f824 <__alt_data_end+0xfffdd824> 4f948: 00000506 br 4f960 } while (space > 0); /* If we read any data then return it */ if (ptr != buffer) break; 4f94c: 0001883a nop 4f950: 00000306 br 4f960 /* If in non-blocking mode then return error */ if (flags & O_NONBLOCK) break; 4f954: 0001883a nop 4f958: 00000106 br 4f960 while (in == sp->rx_in && sp->host_inactive < sp->timeout) ; #endif /* __ucosii__ */ if (in == sp->rx_in) break; 4f95c: 0001883a nop * semaphore so that other threads can access the buffer. */ ALT_SEM_POST (sp->read_lock); if (ptr != buffer) 4f960: e0fff517 ldw r3,-44(fp) 4f964: e0bffd17 ldw r2,-12(fp) 4f968: 18801826 beq r3,r2,4f9cc static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE alt_irq_disable_all (void) { alt_irq_context context; NIOS2_READ_STATUS (context); 4f96c: 0005303a rdctl r2,status 4f970: e0bffb15 stw r2,-20(fp) NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK); 4f974: e0fffb17 ldw r3,-20(fp) 4f978: 00bfff84 movi r2,-2 4f97c: 1884703a and r2,r3,r2 4f980: 1001703a wrctl status,r2 return context; 4f984: e0bffb17 ldw r2,-20(fp) { /* If we read any data then there is space in the buffer so enable interrupts */ context = alt_irq_disable_all(); 4f988: e0bffa15 stw r2,-24(fp) sp->irq_enable |= ALTERA_AVALON_JTAG_UART_CONTROL_RE_MSK; 4f98c: e0bffc17 ldw r2,-16(fp) 4f990: 10800817 ldw r2,32(r2) 4f994: 10c00054 ori r3,r2,1 4f998: e0bffc17 ldw r2,-16(fp) 4f99c: 10c00815 stw r3,32(r2) IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base, sp->irq_enable); 4f9a0: e0bffc17 ldw r2,-16(fp) 4f9a4: 10800017 ldw r2,0(r2) 4f9a8: 10800104 addi r2,r2,4 4f9ac: 1007883a mov r3,r2 4f9b0: e0bffc17 ldw r2,-16(fp) 4f9b4: 10800817 ldw r2,32(r2) 4f9b8: 18800035 stwio r2,0(r3) 4f9bc: e0bffa17 ldw r2,-24(fp) 4f9c0: e0bff915 stw r2,-28(fp) status &= ~NIOS2_STATUS_PIE_MSK; status |= (context & NIOS2_STATUS_PIE_MSK); NIOS2_WRITE_STATUS (status); #else NIOS2_WRITE_STATUS (context); 4f9c4: e0bff917 ldw r2,-28(fp) 4f9c8: 1001703a wrctl status,r2 alt_irq_enable_all(context); } if (ptr != buffer) 4f9cc: e0fff517 ldw r3,-44(fp) 4f9d0: e0bffd17 ldw r2,-12(fp) 4f9d4: 18800426 beq r3,r2,4f9e8 return ptr - buffer; 4f9d8: e0fff517 ldw r3,-44(fp) 4f9dc: e0bffd17 ldw r2,-12(fp) 4f9e0: 1885c83a sub r2,r3,r2 4f9e4: 00000606 br 4fa00 else if (flags & O_NONBLOCK) 4f9e8: e0bfff17 ldw r2,-4(fp) 4f9ec: 1090000c andi r2,r2,16384 4f9f0: 10000226 beq r2,zero,4f9fc return -EWOULDBLOCK; 4f9f4: 00bffd44 movi r2,-11 4f9f8: 00000106 br 4fa00 else return -EIO; 4f9fc: 00bffec4 movi r2,-5 } 4fa00: e037883a mov sp,fp 4fa04: dfc00117 ldw ra,4(sp) 4fa08: df000017 ldw fp,0(sp) 4fa0c: dec00204 addi sp,sp,8 4fa10: f800283a ret 0004fa14 : /* ----------------------------------------------------------- */ int altera_avalon_jtag_uart_write(altera_avalon_jtag_uart_state* sp, const char * ptr, int count, int flags) { 4fa14: defff304 addi sp,sp,-52 4fa18: dfc00c15 stw ra,48(sp) 4fa1c: df000b15 stw fp,44(sp) 4fa20: df000b04 addi fp,sp,44 4fa24: e13ffc15 stw r4,-16(fp) 4fa28: e17ffd15 stw r5,-12(fp) 4fa2c: e1bffe15 stw r6,-8(fp) 4fa30: e1ffff15 stw r7,-4(fp) /* Remove warning at optimisation level 03 by seting out to 0 */ unsigned int in, out=0; 4fa34: e03ff515 stw zero,-44(fp) unsigned int n; alt_irq_context context; const char * start = ptr; 4fa38: e0bffd17 ldw r2,-12(fp) 4fa3c: e0bff715 stw r2,-36(fp) ALT_SEM_PEND (sp->write_lock, 0); do { /* Copy as much as we can into the transmit buffer */ while (count > 0) 4fa40: 00003706 br 4fb20 { /* We need a stable value of the out pointer to calculate the space available */ in = sp->tx_in; 4fa44: e0bffc17 ldw r2,-16(fp) 4fa48: 10800c17 ldw r2,48(r2) 4fa4c: e0bff915 stw r2,-28(fp) out = sp->tx_out; 4fa50: e0bffc17 ldw r2,-16(fp) 4fa54: 10800d17 ldw r2,52(r2) 4fa58: e0bff515 stw r2,-44(fp) if (in < out) 4fa5c: e0fff917 ldw r3,-28(fp) 4fa60: e0bff517 ldw r2,-44(fp) 4fa64: 1880062e bgeu r3,r2,4fa80 n = out - 1 - in; 4fa68: e0fff517 ldw r3,-44(fp) 4fa6c: e0bff917 ldw r2,-28(fp) 4fa70: 1885c83a sub r2,r3,r2 4fa74: 10bfffc4 addi r2,r2,-1 4fa78: e0bff615 stw r2,-40(fp) 4fa7c: 00000b06 br 4faac else if (out > 0) 4fa80: e0bff517 ldw r2,-44(fp) 4fa84: 10000526 beq r2,zero,4fa9c n = ALTERA_AVALON_JTAG_UART_BUF_LEN - in; 4fa88: 00c20004 movi r3,2048 4fa8c: e0bff917 ldw r2,-28(fp) 4fa90: 1885c83a sub r2,r3,r2 4fa94: e0bff615 stw r2,-40(fp) 4fa98: 00000406 br 4faac else n = ALTERA_AVALON_JTAG_UART_BUF_LEN - 1 - in; 4fa9c: 00c1ffc4 movi r3,2047 4faa0: e0bff917 ldw r2,-28(fp) 4faa4: 1885c83a sub r2,r3,r2 4faa8: e0bff615 stw r2,-40(fp) if (n == 0) 4faac: e0bff617 ldw r2,-40(fp) 4fab0: 10001e26 beq r2,zero,4fb2c break; if (n > count) 4fab4: e0fffe17 ldw r3,-8(fp) 4fab8: e0bff617 ldw r2,-40(fp) 4fabc: 1880022e bgeu r3,r2,4fac8 n = count; 4fac0: e0bffe17 ldw r2,-8(fp) 4fac4: e0bff615 stw r2,-40(fp) memcpy(sp->tx_buf + in, ptr, n); 4fac8: e0bffc17 ldw r2,-16(fp) 4facc: 10c20e04 addi r3,r2,2104 4fad0: e0bff917 ldw r2,-28(fp) 4fad4: 1885883a add r2,r3,r2 4fad8: e1bff617 ldw r6,-40(fp) 4fadc: e17ffd17 ldw r5,-12(fp) 4fae0: 1009883a mov r4,r2 4fae4: 00487f40 call 487f4 ptr += n; 4fae8: e0fffd17 ldw r3,-12(fp) 4faec: e0bff617 ldw r2,-40(fp) 4faf0: 1885883a add r2,r3,r2 4faf4: e0bffd15 stw r2,-12(fp) count -= n; 4faf8: e0fffe17 ldw r3,-8(fp) 4fafc: e0bff617 ldw r2,-40(fp) 4fb00: 1885c83a sub r2,r3,r2 4fb04: e0bffe15 stw r2,-8(fp) sp->tx_in = (in + n) % ALTERA_AVALON_JTAG_UART_BUF_LEN; 4fb08: e0fff917 ldw r3,-28(fp) 4fb0c: e0bff617 ldw r2,-40(fp) 4fb10: 1885883a add r2,r3,r2 4fb14: 10c1ffcc andi r3,r2,2047 4fb18: e0bffc17 ldw r2,-16(fp) 4fb1c: 10c00c15 stw r3,48(r2) ALT_SEM_PEND (sp->write_lock, 0); do { /* Copy as much as we can into the transmit buffer */ while (count > 0) 4fb20: e0bffe17 ldw r2,-8(fp) 4fb24: 00bfc716 blt zero,r2,4fa44 <__alt_data_end+0xfffdda44> 4fb28: 00000106 br 4fb30 n = ALTERA_AVALON_JTAG_UART_BUF_LEN - in; else n = ALTERA_AVALON_JTAG_UART_BUF_LEN - 1 - in; if (n == 0) break; 4fb2c: 0001883a nop static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE alt_irq_disable_all (void) { alt_irq_context context; NIOS2_READ_STATUS (context); 4fb30: 0005303a rdctl r2,status 4fb34: e0bffb15 stw r2,-20(fp) NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK); 4fb38: e0fffb17 ldw r3,-20(fp) 4fb3c: 00bfff84 movi r2,-2 4fb40: 1884703a and r2,r3,r2 4fb44: 1001703a wrctl status,r2 return context; 4fb48: e0bffb17 ldw r2,-20(fp) * to enable interrupts if there is no space left in the FIFO * * For now kick the interrupt routine every time to make it transmit * the data */ context = alt_irq_disable_all(); 4fb4c: e0bffa15 stw r2,-24(fp) sp->irq_enable |= ALTERA_AVALON_JTAG_UART_CONTROL_WE_MSK; 4fb50: e0bffc17 ldw r2,-16(fp) 4fb54: 10800817 ldw r2,32(r2) 4fb58: 10c00094 ori r3,r2,2 4fb5c: e0bffc17 ldw r2,-16(fp) 4fb60: 10c00815 stw r3,32(r2) IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base, sp->irq_enable); 4fb64: e0bffc17 ldw r2,-16(fp) 4fb68: 10800017 ldw r2,0(r2) 4fb6c: 10800104 addi r2,r2,4 4fb70: 1007883a mov r3,r2 4fb74: e0bffc17 ldw r2,-16(fp) 4fb78: 10800817 ldw r2,32(r2) 4fb7c: 18800035 stwio r2,0(r3) 4fb80: e0bffa17 ldw r2,-24(fp) 4fb84: e0bff815 stw r2,-32(fp) status &= ~NIOS2_STATUS_PIE_MSK; status |= (context & NIOS2_STATUS_PIE_MSK); NIOS2_WRITE_STATUS (status); #else NIOS2_WRITE_STATUS (context); 4fb88: e0bff817 ldw r2,-32(fp) 4fb8c: 1001703a wrctl status,r2 /* * If there is any data left then either return now or block until * some has been sent */ /* consider: test whether there is anything there while doing this and delay for at most 2s. */ if (count > 0) 4fb90: e0bffe17 ldw r2,-8(fp) 4fb94: 0080100e bge zero,r2,4fbd8 { if (flags & O_NONBLOCK) 4fb98: e0bfff17 ldw r2,-4(fp) 4fb9c: 1090000c andi r2,r2,16384 4fba0: 1000101e bne r2,zero,4fbe4 /* * No OS present: Always wait for data to be removed from buffer. Once * the interrupt routine has removed some data then we will be able to * insert some more. */ while (out == sp->tx_out && sp->host_inactive < sp->timeout) 4fba4: 0001883a nop 4fba8: e0bffc17 ldw r2,-16(fp) 4fbac: 10c00d17 ldw r3,52(r2) 4fbb0: e0bff517 ldw r2,-44(fp) 4fbb4: 1880051e bne r3,r2,4fbcc 4fbb8: e0bffc17 ldw r2,-16(fp) 4fbbc: 10c00917 ldw r3,36(r2) 4fbc0: e0bffc17 ldw r2,-16(fp) 4fbc4: 10800117 ldw r2,4(r2) 4fbc8: 18bff736 bltu r3,r2,4fba8 <__alt_data_end+0xfffddba8> ; #endif /* __ucosii__ */ if (sp->host_inactive) 4fbcc: e0bffc17 ldw r2,-16(fp) 4fbd0: 10800917 ldw r2,36(r2) 4fbd4: 1000051e bne r2,zero,4fbec break; } } while (count > 0); 4fbd8: e0bffe17 ldw r2,-8(fp) 4fbdc: 00bfd016 blt zero,r2,4fb20 <__alt_data_end+0xfffddb20> 4fbe0: 00000306 br 4fbf0 */ /* consider: test whether there is anything there while doing this and delay for at most 2s. */ if (count > 0) { if (flags & O_NONBLOCK) break; 4fbe4: 0001883a nop 4fbe8: 00000106 br 4fbf0 while (out == sp->tx_out && sp->host_inactive < sp->timeout) ; #endif /* __ucosii__ */ if (sp->host_inactive) break; 4fbec: 0001883a nop * Now that access to the circular buffer is complete, release the write * semaphore so that other threads can access the buffer. */ ALT_SEM_POST (sp->write_lock); if (ptr != start) 4fbf0: e0fffd17 ldw r3,-12(fp) 4fbf4: e0bff717 ldw r2,-36(fp) 4fbf8: 18800426 beq r3,r2,4fc0c return ptr - start; 4fbfc: e0fffd17 ldw r3,-12(fp) 4fc00: e0bff717 ldw r2,-36(fp) 4fc04: 1885c83a sub r2,r3,r2 4fc08: 00000606 br 4fc24 else if (flags & O_NONBLOCK) 4fc0c: e0bfff17 ldw r2,-4(fp) 4fc10: 1090000c andi r2,r2,16384 4fc14: 10000226 beq r2,zero,4fc20 return -EWOULDBLOCK; 4fc18: 00bffd44 movi r2,-11 4fc1c: 00000106 br 4fc24 sp->tx_out = sp->tx_in = 0; return ptr - start + count; } #endif else return -EIO; /* Host not connected */ 4fc20: 00bffec4 movi r2,-5 } 4fc24: e037883a mov sp,fp 4fc28: dfc00117 ldw ra,4(sp) 4fc2c: df000017 ldw fp,0(sp) 4fc30: dec00204 addi sp,sp,8 4fc34: f800283a ret 0004fc38 : /* --------------------------------------------------------------------- */ static void lcd_write_command(altera_avalon_lcd_16207_state* sp, unsigned char command) { 4fc38: defffa04 addi sp,sp,-24 4fc3c: dfc00515 stw ra,20(sp) 4fc40: df000415 stw fp,16(sp) 4fc44: df000404 addi fp,sp,16 4fc48: e13ffe15 stw r4,-8(fp) 4fc4c: 2805883a mov r2,r5 4fc50: e0bfff05 stb r2,-4(fp) unsigned int base = sp->base; 4fc54: e0bffe17 ldw r2,-8(fp) 4fc58: 10800017 ldw r2,0(r2) 4fc5c: e0bffd15 stw r2,-12(fp) /* We impose a timeout on the driver in case the LCD panel isn't connected. * The first time we call this function the timeout is approx 25ms * (assuming 5 cycles per loop and a 200MHz clock). Obviously systems * with slower clocks, or debug builds, or slower memory will take longer. */ int i = 1000000; 4fc60: 008003f4 movhi r2,15 4fc64: 10909004 addi r2,r2,16960 4fc68: e0bffc15 stw r2,-16(fp) /* Don't bother if the LCD panel didn't work before */ if (sp->broken) 4fc6c: e0bffe17 ldw r2,-8(fp) 4fc70: 10800803 ldbu r2,32(r2) 4fc74: 10803fcc andi r2,r2,255 4fc78: 1080201c xori r2,r2,128 4fc7c: 10bfe004 addi r2,r2,-128 4fc80: 1000151e bne r2,zero,4fcd8 return; /* Wait until LCD isn't busy. */ while (IORD_ALTERA_AVALON_LCD_16207_STATUS(base) & ALTERA_AVALON_LCD_16207_STATUS_BUSY_MSK) 4fc84: 00000906 br 4fcac if (--i == 0) 4fc88: e0bffc17 ldw r2,-16(fp) 4fc8c: 10bfffc4 addi r2,r2,-1 4fc90: e0bffc15 stw r2,-16(fp) 4fc94: e0bffc17 ldw r2,-16(fp) 4fc98: 1000041e bne r2,zero,4fcac { sp->broken = 1; 4fc9c: e0bffe17 ldw r2,-8(fp) 4fca0: 00c00044 movi r3,1 4fca4: 10c00805 stb r3,32(r2) return; 4fca8: 00000c06 br 4fcdc /* Don't bother if the LCD panel didn't work before */ if (sp->broken) return; /* Wait until LCD isn't busy. */ while (IORD_ALTERA_AVALON_LCD_16207_STATUS(base) & ALTERA_AVALON_LCD_16207_STATUS_BUSY_MSK) 4fcac: e0bffd17 ldw r2,-12(fp) 4fcb0: 10800104 addi r2,r2,4 4fcb4: 10800037 ldwio r2,0(r2) 4fcb8: 1080200c andi r2,r2,128 4fcbc: 103ff21e bne r2,zero,4fc88 <__alt_data_end+0xfffddc88> } /* Despite what it says in the datasheet, the LCD isn't ready to accept * a write immediately after it returns BUSY=0. Wait for 100us more. */ usleep(100); 4fcc0: 01001904 movi r4,100 4fcc4: 00517180 call 51718 IOWR_ALTERA_AVALON_LCD_16207_COMMAND(base, command); 4fcc8: e0bffd17 ldw r2,-12(fp) 4fccc: e0ffff03 ldbu r3,-4(fp) 4fcd0: 10c00035 stwio r3,0(r2) 4fcd4: 00000106 br 4fcdc */ int i = 1000000; /* Don't bother if the LCD panel didn't work before */ if (sp->broken) return; 4fcd8: 0001883a nop * a write immediately after it returns BUSY=0. Wait for 100us more. */ usleep(100); IOWR_ALTERA_AVALON_LCD_16207_COMMAND(base, command); } 4fcdc: e037883a mov sp,fp 4fce0: dfc00117 ldw ra,4(sp) 4fce4: df000017 ldw fp,0(sp) 4fce8: dec00204 addi sp,sp,8 4fcec: f800283a ret 0004fcf0 : /* --------------------------------------------------------------------- */ static void lcd_write_data(altera_avalon_lcd_16207_state* sp, unsigned char data) { 4fcf0: defffa04 addi sp,sp,-24 4fcf4: dfc00515 stw ra,20(sp) 4fcf8: df000415 stw fp,16(sp) 4fcfc: df000404 addi fp,sp,16 4fd00: e13ffe15 stw r4,-8(fp) 4fd04: 2805883a mov r2,r5 4fd08: e0bfff05 stb r2,-4(fp) unsigned int base = sp->base; 4fd0c: e0bffe17 ldw r2,-8(fp) 4fd10: 10800017 ldw r2,0(r2) 4fd14: e0bffd15 stw r2,-12(fp) /* We impose a timeout on the driver in case the LCD panel isn't connected. * The first time we call this function the timeout is approx 25ms * (assuming 5 cycles per loop and a 200MHz clock). Obviously systems * with slower clocks, or debug builds, or slower memory will take longer. */ int i = 1000000; 4fd18: 008003f4 movhi r2,15 4fd1c: 10909004 addi r2,r2,16960 4fd20: e0bffc15 stw r2,-16(fp) /* Don't bother if the LCD panel didn't work before */ if (sp->broken) 4fd24: e0bffe17 ldw r2,-8(fp) 4fd28: 10800803 ldbu r2,32(r2) 4fd2c: 10803fcc andi r2,r2,255 4fd30: 1080201c xori r2,r2,128 4fd34: 10bfe004 addi r2,r2,-128 4fd38: 10001d1e bne r2,zero,4fdb0 return; /* Wait until LCD isn't busy. */ while (IORD_ALTERA_AVALON_LCD_16207_STATUS(base) & ALTERA_AVALON_LCD_16207_STATUS_BUSY_MSK) 4fd3c: 00000906 br 4fd64 if (--i == 0) 4fd40: e0bffc17 ldw r2,-16(fp) 4fd44: 10bfffc4 addi r2,r2,-1 4fd48: e0bffc15 stw r2,-16(fp) 4fd4c: e0bffc17 ldw r2,-16(fp) 4fd50: 1000041e bne r2,zero,4fd64 { sp->broken = 1; 4fd54: e0bffe17 ldw r2,-8(fp) 4fd58: 00c00044 movi r3,1 4fd5c: 10c00805 stb r3,32(r2) return; 4fd60: 00001406 br 4fdb4 /* Don't bother if the LCD panel didn't work before */ if (sp->broken) return; /* Wait until LCD isn't busy. */ while (IORD_ALTERA_AVALON_LCD_16207_STATUS(base) & ALTERA_AVALON_LCD_16207_STATUS_BUSY_MSK) 4fd64: e0bffd17 ldw r2,-12(fp) 4fd68: 10800104 addi r2,r2,4 4fd6c: 10800037 ldwio r2,0(r2) 4fd70: 1080200c andi r2,r2,128 4fd74: 103ff21e bne r2,zero,4fd40 <__alt_data_end+0xfffddd40> } /* Despite what it says in the datasheet, the LCD isn't ready to accept * a write immediately after it returns BUSY=0. Wait for 100us more. */ usleep(100); 4fd78: 01001904 movi r4,100 4fd7c: 00517180 call 51718 IOWR_ALTERA_AVALON_LCD_16207_DATA(base, data); 4fd80: e0bffd17 ldw r2,-12(fp) 4fd84: 10800204 addi r2,r2,8 4fd88: 1007883a mov r3,r2 4fd8c: e0bfff03 ldbu r2,-4(fp) 4fd90: 18800035 stwio r2,0(r3) sp->address++; 4fd94: e0bffe17 ldw r2,-8(fp) 4fd98: 108008c3 ldbu r2,35(r2) 4fd9c: 10800044 addi r2,r2,1 4fda0: 1007883a mov r3,r2 4fda4: e0bffe17 ldw r2,-8(fp) 4fda8: 10c008c5 stb r3,35(r2) 4fdac: 00000106 br 4fdb4 */ int i = 1000000; /* Don't bother if the LCD panel didn't work before */ if (sp->broken) return; 4fdb0: 0001883a nop usleep(100); IOWR_ALTERA_AVALON_LCD_16207_DATA(base, data); sp->address++; } 4fdb4: e037883a mov sp,fp 4fdb8: dfc00117 ldw ra,4(sp) 4fdbc: df000017 ldw fp,0(sp) 4fdc0: dec00204 addi sp,sp,8 4fdc4: f800283a ret 0004fdc8 : /* --------------------------------------------------------------------- */ static void lcd_clear_screen(altera_avalon_lcd_16207_state* sp) { 4fdc8: defffb04 addi sp,sp,-20 4fdcc: dfc00415 stw ra,16(sp) 4fdd0: df000315 stw fp,12(sp) 4fdd4: dc000215 stw r16,8(sp) 4fdd8: df000304 addi fp,sp,12 4fddc: e13ffe15 stw r4,-8(fp) int y; lcd_write_command(sp, LCD_CMD_CLEAR); 4fde0: 01400044 movi r5,1 4fde4: e13ffe17 ldw r4,-8(fp) 4fde8: 004fc380 call 4fc38 sp->x = 0; 4fdec: e0bffe17 ldw r2,-8(fp) 4fdf0: 10000845 stb zero,33(r2) sp->y = 0; 4fdf4: e0bffe17 ldw r2,-8(fp) 4fdf8: 10000885 stb zero,34(r2) sp->address = 0; 4fdfc: e0bffe17 ldw r2,-8(fp) 4fe00: 100008c5 stb zero,35(r2) for (y = 0 ; y < ALT_LCD_HEIGHT ; y++) 4fe04: e03ffd15 stw zero,-12(fp) 4fe08: 00001f06 br 4fe88 { memset(sp->line[y].data, ' ', sizeof(sp->line[0].data)); 4fe0c: 014018c4 movi r5,99 4fe10: e13ffd17 ldw r4,-12(fp) 4fe14: 004d3dc0 call 4d3dc <__mulsi3> 4fe18: 10801004 addi r2,r2,64 4fe1c: e0fffe17 ldw r3,-8(fp) 4fe20: 1885883a add r2,r3,r2 4fe24: 01801444 movi r6,81 4fe28: 01400804 movi r5,32 4fe2c: 1009883a mov r4,r2 4fe30: 0048a980 call 48a98 memset(sp->line[y].visible, ' ', sizeof(sp->line[0].visible)); 4fe34: 014018c4 movi r5,99 4fe38: e13ffd17 ldw r4,-12(fp) 4fe3c: 004d3dc0 call 4d3dc <__mulsi3> 4fe40: 10800c04 addi r2,r2,48 4fe44: e0fffe17 ldw r3,-8(fp) 4fe48: 1885883a add r2,r3,r2 4fe4c: 01800404 movi r6,16 4fe50: 01400804 movi r5,32 4fe54: 1009883a mov r4,r2 4fe58: 0048a980 call 48a98 sp->line[y].width = 0; 4fe5c: e43ffe17 ldw r16,-8(fp) 4fe60: e0bffd17 ldw r2,-12(fp) 4fe64: 014018c4 movi r5,99 4fe68: 1009883a mov r4,r2 4fe6c: 004d3dc0 call 4d3dc <__mulsi3> 4fe70: 8085883a add r2,r16,r2 4fe74: 10802444 addi r2,r2,145 4fe78: 10000005 stb zero,0(r2) sp->x = 0; sp->y = 0; sp->address = 0; for (y = 0 ; y < ALT_LCD_HEIGHT ; y++) 4fe7c: e0bffd17 ldw r2,-12(fp) 4fe80: 10800044 addi r2,r2,1 4fe84: e0bffd15 stw r2,-12(fp) 4fe88: e0bffd17 ldw r2,-12(fp) 4fe8c: 10800090 cmplti r2,r2,2 4fe90: 103fde1e bne r2,zero,4fe0c <__alt_data_end+0xfffdde0c> { memset(sp->line[y].data, ' ', sizeof(sp->line[0].data)); memset(sp->line[y].visible, ' ', sizeof(sp->line[0].visible)); sp->line[y].width = 0; } } 4fe94: 0001883a nop 4fe98: e6ffff04 addi sp,fp,-4 4fe9c: dfc00217 ldw ra,8(sp) 4fea0: df000117 ldw fp,4(sp) 4fea4: dc000017 ldw r16,0(sp) 4fea8: dec00304 addi sp,sp,12 4feac: f800283a ret 0004feb0 : /* --------------------------------------------------------------------- */ static void lcd_repaint_screen(altera_avalon_lcd_16207_state* sp) { 4feb0: defff504 addi sp,sp,-44 4feb4: dfc00a15 stw ra,40(sp) 4feb8: df000915 stw fp,36(sp) 4febc: dc400815 stw r17,32(sp) 4fec0: dc000715 stw r16,28(sp) 4fec4: df000904 addi fp,sp,36 4fec8: e13ffd15 stw r4,-12(fp) /* scrollpos controls how much the lines have scrolled round. The speed * each line scrolls at is controlled by its speed variable - while * scrolline lines will wrap at the position set by width */ int scrollpos = sp->scrollpos; 4fecc: e0bffd17 ldw r2,-12(fp) 4fed0: 10800943 ldbu r2,37(r2) 4fed4: 10803fcc andi r2,r2,255 4fed8: e0bffa15 stw r2,-24(fp) for (y = 0 ; y < ALT_LCD_HEIGHT ; y++) 4fedc: e03ff715 stw zero,-36(fp) 4fee0: 00007206 br 500ac { int width = sp->line[y].width; 4fee4: e43ffd17 ldw r16,-12(fp) 4fee8: e0bff717 ldw r2,-36(fp) 4feec: 014018c4 movi r5,99 4fef0: 1009883a mov r4,r2 4fef4: 004d3dc0 call 4d3dc <__mulsi3> 4fef8: 8085883a add r2,r16,r2 4fefc: 10802444 addi r2,r2,145 4ff00: 10800003 ldbu r2,0(r2) 4ff04: 10803fcc andi r2,r2,255 4ff08: 1080201c xori r2,r2,128 4ff0c: 10bfe004 addi r2,r2,-128 4ff10: e0bffb15 stw r2,-20(fp) int offset = (scrollpos * sp->line[y].speed) >> 8; 4ff14: e43ffd17 ldw r16,-12(fp) 4ff18: e0bff717 ldw r2,-36(fp) 4ff1c: 014018c4 movi r5,99 4ff20: 1009883a mov r4,r2 4ff24: 004d3dc0 call 4d3dc <__mulsi3> 4ff28: 8085883a add r2,r16,r2 4ff2c: 10802484 addi r2,r2,146 4ff30: 10800003 ldbu r2,0(r2) 4ff34: 10803fcc andi r2,r2,255 4ff38: e17ffa17 ldw r5,-24(fp) 4ff3c: 1009883a mov r4,r2 4ff40: 004d3dc0 call 4d3dc <__mulsi3> 4ff44: 1005d23a srai r2,r2,8 4ff48: e0bff915 stw r2,-28(fp) if (offset >= width) 4ff4c: e0fff917 ldw r3,-28(fp) 4ff50: e0bffb17 ldw r2,-20(fp) 4ff54: 18800116 blt r3,r2,4ff5c offset = 0; 4ff58: e03ff915 stw zero,-28(fp) for (x = 0 ; x < ALT_LCD_WIDTH ; x++) 4ff5c: e03ff815 stw zero,-32(fp) 4ff60: 00004c06 br 50094 { char c = sp->line[y].data[(x + offset) % width]; 4ff64: e0fff817 ldw r3,-32(fp) 4ff68: e0bff917 ldw r2,-28(fp) 4ff6c: 1885883a add r2,r3,r2 4ff70: e17ffb17 ldw r5,-20(fp) 4ff74: 1009883a mov r4,r2 4ff78: 004d2ac0 call 4d2ac <__modsi3> 4ff7c: 1023883a mov r17,r2 4ff80: e43ffd17 ldw r16,-12(fp) 4ff84: e0bff717 ldw r2,-36(fp) 4ff88: 014018c4 movi r5,99 4ff8c: 1009883a mov r4,r2 4ff90: 004d3dc0 call 4d3dc <__mulsi3> 4ff94: 8085883a add r2,r16,r2 4ff98: 1445883a add r2,r2,r17 4ff9c: 10801004 addi r2,r2,64 4ffa0: 10800003 ldbu r2,0(r2) 4ffa4: e0bffc05 stb r2,-16(fp) /* Writing data takes 40us, so don't do it unless required */ if (sp->line[y].visible[x] != c) 4ffa8: e43ffd17 ldw r16,-12(fp) 4ffac: e0bff717 ldw r2,-36(fp) 4ffb0: 014018c4 movi r5,99 4ffb4: 1009883a mov r4,r2 4ffb8: 004d3dc0 call 4d3dc <__mulsi3> 4ffbc: 8087883a add r3,r16,r2 4ffc0: e0bff817 ldw r2,-32(fp) 4ffc4: 1885883a add r2,r3,r2 4ffc8: 10800c04 addi r2,r2,48 4ffcc: 10800003 ldbu r2,0(r2) 4ffd0: 10c03fcc andi r3,r2,255 4ffd4: 18c0201c xori r3,r3,128 4ffd8: 18ffe004 addi r3,r3,-128 4ffdc: e0bffc07 ldb r2,-16(fp) 4ffe0: 18802926 beq r3,r2,50088 { unsigned char address = x + colstart[y]; 4ffe4: e0fff717 ldw r3,-36(fp) 4ffe8: d0a00d04 addi r2,gp,-32716 4ffec: 1885883a add r2,r3,r2 4fff0: 10800003 ldbu r2,0(r2) 4fff4: 1007883a mov r3,r2 4fff8: e0bff817 ldw r2,-32(fp) 4fffc: 1885883a add r2,r3,r2 50000: e0bffc45 stb r2,-15(fp) if (address != sp->address) 50004: e0fffc43 ldbu r3,-15(fp) 50008: e0bffd17 ldw r2,-12(fp) 5000c: 108008c3 ldbu r2,35(r2) 50010: 10803fcc andi r2,r2,255 50014: 1080201c xori r2,r2,128 50018: 10bfe004 addi r2,r2,-128 5001c: 18800a26 beq r3,r2,50048 { lcd_write_command(sp, LCD_CMD_WRITE_DATA | address); 50020: e0fffc43 ldbu r3,-15(fp) 50024: 00bfe004 movi r2,-128 50028: 1884b03a or r2,r3,r2 5002c: 10803fcc andi r2,r2,255 50030: 100b883a mov r5,r2 50034: e13ffd17 ldw r4,-12(fp) 50038: 004fc380 call 4fc38 sp->address = address; 5003c: e0fffc43 ldbu r3,-15(fp) 50040: e0bffd17 ldw r2,-12(fp) 50044: 10c008c5 stb r3,35(r2) } lcd_write_data(sp, c); 50048: e0bffc03 ldbu r2,-16(fp) 5004c: 10803fcc andi r2,r2,255 50050: 100b883a mov r5,r2 50054: e13ffd17 ldw r4,-12(fp) 50058: 004fcf00 call 4fcf0 sp->line[y].visible[x] = c; 5005c: e43ffd17 ldw r16,-12(fp) 50060: e0bff717 ldw r2,-36(fp) 50064: 014018c4 movi r5,99 50068: 1009883a mov r4,r2 5006c: 004d3dc0 call 4d3dc <__mulsi3> 50070: 8087883a add r3,r16,r2 50074: e0bff817 ldw r2,-32(fp) 50078: 1885883a add r2,r3,r2 5007c: 10800c04 addi r2,r2,48 50080: e0fffc03 ldbu r3,-16(fp) 50084: 10c00005 stb r3,0(r2) int width = sp->line[y].width; int offset = (scrollpos * sp->line[y].speed) >> 8; if (offset >= width) offset = 0; for (x = 0 ; x < ALT_LCD_WIDTH ; x++) 50088: e0bff817 ldw r2,-32(fp) 5008c: 10800044 addi r2,r2,1 50090: e0bff815 stw r2,-32(fp) 50094: e0bff817 ldw r2,-32(fp) 50098: 10800410 cmplti r2,r2,16 5009c: 103fb11e bne r2,zero,4ff64 <__alt_data_end+0xfffddf64> * scrolline lines will wrap at the position set by width */ int scrollpos = sp->scrollpos; for (y = 0 ; y < ALT_LCD_HEIGHT ; y++) 500a0: e0bff717 ldw r2,-36(fp) 500a4: 10800044 addi r2,r2,1 500a8: e0bff715 stw r2,-36(fp) 500ac: e0bff717 ldw r2,-36(fp) 500b0: 10800090 cmplti r2,r2,2 500b4: 103f8b1e bne r2,zero,4fee4 <__alt_data_end+0xfffddee4> lcd_write_data(sp, c); sp->line[y].visible[x] = c; } } } } 500b8: 0001883a nop 500bc: e6fffe04 addi sp,fp,-8 500c0: dfc00317 ldw ra,12(sp) 500c4: df000217 ldw fp,8(sp) 500c8: dc400117 ldw r17,4(sp) 500cc: dc000017 ldw r16,0(sp) 500d0: dec00404 addi sp,sp,16 500d4: f800283a ret 000500d8 : /* --------------------------------------------------------------------- */ static void lcd_scroll_up(altera_avalon_lcd_16207_state* sp) { 500d8: defffb04 addi sp,sp,-20 500dc: dfc00415 stw ra,16(sp) 500e0: df000315 stw fp,12(sp) 500e4: dc000215 stw r16,8(sp) 500e8: df000304 addi fp,sp,12 500ec: e13ffe15 stw r4,-8(fp) int y; for (y = 0 ; y < ALT_LCD_HEIGHT ; y++) 500f0: e03ffd15 stw zero,-12(fp) 500f4: 00002206 br 50180 { if (y < ALT_LCD_HEIGHT-1) 500f8: e0bffd17 ldw r2,-12(fp) 500fc: 00801316 blt zero,r2,5014c memcpy(sp->line[y].data, sp->line[y+1].data, ALT_LCD_VIRTUAL_WIDTH); 50100: 014018c4 movi r5,99 50104: e13ffd17 ldw r4,-12(fp) 50108: 004d3dc0 call 4d3dc <__mulsi3> 5010c: 10801004 addi r2,r2,64 50110: e0fffe17 ldw r3,-8(fp) 50114: 18a1883a add r16,r3,r2 50118: e0bffd17 ldw r2,-12(fp) 5011c: 10800044 addi r2,r2,1 50120: 014018c4 movi r5,99 50124: 1009883a mov r4,r2 50128: 004d3dc0 call 4d3dc <__mulsi3> 5012c: 10801004 addi r2,r2,64 50130: e0fffe17 ldw r3,-8(fp) 50134: 1885883a add r2,r3,r2 50138: 01801404 movi r6,80 5013c: 100b883a mov r5,r2 50140: 8009883a mov r4,r16 50144: 00487f40 call 487f4 50148: 00000a06 br 50174 else memset(sp->line[y].data, ' ', ALT_LCD_VIRTUAL_WIDTH); 5014c: 014018c4 movi r5,99 50150: e13ffd17 ldw r4,-12(fp) 50154: 004d3dc0 call 4d3dc <__mulsi3> 50158: 10801004 addi r2,r2,64 5015c: e0fffe17 ldw r3,-8(fp) 50160: 1885883a add r2,r3,r2 50164: 01801404 movi r6,80 50168: 01400804 movi r5,32 5016c: 1009883a mov r4,r2 50170: 0048a980 call 48a98 static void lcd_scroll_up(altera_avalon_lcd_16207_state* sp) { int y; for (y = 0 ; y < ALT_LCD_HEIGHT ; y++) 50174: e0bffd17 ldw r2,-12(fp) 50178: 10800044 addi r2,r2,1 5017c: e0bffd15 stw r2,-12(fp) 50180: e0bffd17 ldw r2,-12(fp) 50184: 10800090 cmplti r2,r2,2 50188: 103fdb1e bne r2,zero,500f8 <__alt_data_end+0xfffde0f8> memcpy(sp->line[y].data, sp->line[y+1].data, ALT_LCD_VIRTUAL_WIDTH); else memset(sp->line[y].data, ' ', ALT_LCD_VIRTUAL_WIDTH); } sp->y--; 5018c: e0bffe17 ldw r2,-8(fp) 50190: 10800883 ldbu r2,34(r2) 50194: 10bfffc4 addi r2,r2,-1 50198: 1007883a mov r3,r2 5019c: e0bffe17 ldw r2,-8(fp) 501a0: 10c00885 stb r3,34(r2) } 501a4: 0001883a nop 501a8: e6ffff04 addi sp,fp,-4 501ac: dfc00217 ldw ra,8(sp) 501b0: df000117 ldw fp,4(sp) 501b4: dc000017 ldw r16,0(sp) 501b8: dec00304 addi sp,sp,12 501bc: f800283a ret 000501c0 : /* --------------------------------------------------------------------- */ static void lcd_handle_escape(altera_avalon_lcd_16207_state* sp, char c) { 501c0: defff904 addi sp,sp,-28 501c4: dfc00615 stw ra,24(sp) 501c8: df000515 stw fp,20(sp) 501cc: df000504 addi fp,sp,20 501d0: e13ffe15 stw r4,-8(fp) 501d4: 2805883a mov r2,r5 501d8: e0bfff05 stb r2,-4(fp) int parm1 = 0, parm2 = 0; 501dc: e03ffb15 stw zero,-20(fp) 501e0: e03ffc15 stw zero,-16(fp) if (sp->escape[0] == '[') 501e4: e0bffe17 ldw r2,-8(fp) 501e8: 10800a03 ldbu r2,40(r2) 501ec: 10803fcc andi r2,r2,255 501f0: 1080201c xori r2,r2,128 501f4: 10bfe004 addi r2,r2,-128 501f8: 108016d8 cmpnei r2,r2,91 501fc: 1000451e bne r2,zero,50314 { char * ptr = sp->escape+1; 50200: e0bffe17 ldw r2,-8(fp) 50204: 10800a04 addi r2,r2,40 50208: 10800044 addi r2,r2,1 5020c: e0bffd15 stw r2,-12(fp) while (isdigit(*ptr)) 50210: 00000e06 br 5024c parm1 = (parm1 * 10) + (*ptr++ - '0'); 50214: 01400284 movi r5,10 50218: e13ffb17 ldw r4,-20(fp) 5021c: 004d3dc0 call 4d3dc <__mulsi3> 50220: 1009883a mov r4,r2 50224: e0bffd17 ldw r2,-12(fp) 50228: 10c00044 addi r3,r2,1 5022c: e0fffd15 stw r3,-12(fp) 50230: 10800003 ldbu r2,0(r2) 50234: 10803fcc andi r2,r2,255 50238: 1080201c xori r2,r2,128 5023c: 10bfe004 addi r2,r2,-128 50240: 10bff404 addi r2,r2,-48 50244: 2085883a add r2,r4,r2 50248: e0bffb15 stw r2,-20(fp) int parm1 = 0, parm2 = 0; if (sp->escape[0] == '[') { char * ptr = sp->escape+1; while (isdigit(*ptr)) 5024c: d0e01117 ldw r3,-32700(gp) 50250: e0bffd17 ldw r2,-12(fp) 50254: 10800003 ldbu r2,0(r2) 50258: 10803fcc andi r2,r2,255 5025c: 1080201c xori r2,r2,128 50260: 10bfe004 addi r2,r2,-128 50264: 10800044 addi r2,r2,1 50268: 1885883a add r2,r3,r2 5026c: 10800003 ldbu r2,0(r2) 50270: 10803fcc andi r2,r2,255 50274: 1080010c andi r2,r2,4 50278: 103fe61e bne r2,zero,50214 <__alt_data_end+0xfffde214> parm1 = (parm1 * 10) + (*ptr++ - '0'); if (*ptr == ';') 5027c: e0bffd17 ldw r2,-12(fp) 50280: 10800003 ldbu r2,0(r2) 50284: 10803fcc andi r2,r2,255 50288: 1080201c xori r2,r2,128 5028c: 10bfe004 addi r2,r2,-128 50290: 10800ed8 cmpnei r2,r2,59 50294: 1000211e bne r2,zero,5031c { ptr++; 50298: e0bffd17 ldw r2,-12(fp) 5029c: 10800044 addi r2,r2,1 502a0: e0bffd15 stw r2,-12(fp) while (isdigit(*ptr)) 502a4: 00000e06 br 502e0 parm2 = (parm2 * 10) + (*ptr++ - '0'); 502a8: 01400284 movi r5,10 502ac: e13ffc17 ldw r4,-16(fp) 502b0: 004d3dc0 call 4d3dc <__mulsi3> 502b4: 1009883a mov r4,r2 502b8: e0bffd17 ldw r2,-12(fp) 502bc: 10c00044 addi r3,r2,1 502c0: e0fffd15 stw r3,-12(fp) 502c4: 10800003 ldbu r2,0(r2) 502c8: 10803fcc andi r2,r2,255 502cc: 1080201c xori r2,r2,128 502d0: 10bfe004 addi r2,r2,-128 502d4: 10bff404 addi r2,r2,-48 502d8: 2085883a add r2,r4,r2 502dc: e0bffc15 stw r2,-16(fp) parm1 = (parm1 * 10) + (*ptr++ - '0'); if (*ptr == ';') { ptr++; while (isdigit(*ptr)) 502e0: d0e01117 ldw r3,-32700(gp) 502e4: e0bffd17 ldw r2,-12(fp) 502e8: 10800003 ldbu r2,0(r2) 502ec: 10803fcc andi r2,r2,255 502f0: 1080201c xori r2,r2,128 502f4: 10bfe004 addi r2,r2,-128 502f8: 10800044 addi r2,r2,1 502fc: 1885883a add r2,r3,r2 50300: 10800003 ldbu r2,0(r2) 50304: 10803fcc andi r2,r2,255 50308: 1080010c andi r2,r2,4 5030c: 103fe61e bne r2,zero,502a8 <__alt_data_end+0xfffde2a8> 50310: 00000206 br 5031c parm2 = (parm2 * 10) + (*ptr++ - '0'); } } else parm1 = -1; 50314: 00bfffc4 movi r2,-1 50318: e0bffb15 stw r2,-20(fp) switch (c) 5031c: e0bfff07 ldb r2,-4(fp) 50320: 10c012a0 cmpeqi r3,r2,74 50324: 1800291e bne r3,zero,503cc 50328: 10c012c8 cmpgei r3,r2,75 5032c: 1800031e bne r3,zero,5033c 50330: 10801220 cmpeqi r2,r2,72 50334: 1000061e bne r2,zero,50350 if (sp->x < ALT_LCD_VIRTUAL_WIDTH) memset(sp->line[sp->y].data + sp->x, ' ', ALT_LCD_VIRTUAL_WIDTH - sp->x); } break; } } 50338: 00004c06 br 5046c } } else parm1 = -1; switch (c) 5033c: 10c012e0 cmpeqi r3,r2,75 50340: 1800281e bne r3,zero,503e4 50344: 108019a0 cmpeqi r2,r2,102 50348: 1000011e bne r2,zero,50350 if (sp->x < ALT_LCD_VIRTUAL_WIDTH) memset(sp->line[sp->y].data + sp->x, ' ', ALT_LCD_VIRTUAL_WIDTH - sp->x); } break; } } 5034c: 00004706 br 5046c switch (c) { case 'H': /* ESC '[' ';' 'H' : Move cursor to location */ case 'f': /* Same as above */ if (parm2 > 0) 50350: e0bffc17 ldw r2,-16(fp) 50354: 0080050e bge zero,r2,5036c sp->x = parm2 - 1; 50358: e0bffc17 ldw r2,-16(fp) 5035c: 10bfffc4 addi r2,r2,-1 50360: 1007883a mov r3,r2 50364: e0bffe17 ldw r2,-8(fp) 50368: 10c00845 stb r3,33(r2) if (parm1 > 0) 5036c: e0bffb17 ldw r2,-20(fp) 50370: 0080390e bge zero,r2,50458 { sp->y = parm1 - 1; 50374: e0bffb17 ldw r2,-20(fp) 50378: 10bfffc4 addi r2,r2,-1 5037c: 1007883a mov r3,r2 50380: e0bffe17 ldw r2,-8(fp) 50384: 10c00885 stb r3,34(r2) if (sp->y > ALT_LCD_HEIGHT * 2) 50388: e0bffe17 ldw r2,-8(fp) 5038c: 10800883 ldbu r2,34(r2) 50390: 10803fcc andi r2,r2,255 50394: 10800170 cmpltui r2,r2,5 50398: 1000061e bne r2,zero,503b4 sp->y = ALT_LCD_HEIGHT * 2; 5039c: e0bffe17 ldw r2,-8(fp) 503a0: 00c00104 movi r3,4 503a4: 10c00885 stb r3,34(r2) while (sp->y > ALT_LCD_HEIGHT) 503a8: 00000206 br 503b4 lcd_scroll_up(sp); 503ac: e13ffe17 ldw r4,-8(fp) 503b0: 00500d80 call 500d8 if (parm1 > 0) { sp->y = parm1 - 1; if (sp->y > ALT_LCD_HEIGHT * 2) sp->y = ALT_LCD_HEIGHT * 2; while (sp->y > ALT_LCD_HEIGHT) 503b4: e0bffe17 ldw r2,-8(fp) 503b8: 10800883 ldbu r2,34(r2) 503bc: 10803fcc andi r2,r2,255 503c0: 108000e8 cmpgeui r2,r2,3 503c4: 103ff91e bne r2,zero,503ac <__alt_data_end+0xfffde3ac> lcd_scroll_up(sp); } break; 503c8: 00002306 br 50458 /* ESC J is clear to beginning of line [unimplemented] * ESC [ 0 J is clear to bottom of screen [unimplemented] * ESC [ 1 J is clear to beginning of screen [unimplemented] * ESC [ 2 J is clear screen */ if (parm1 == 2) 503cc: e0bffb17 ldw r2,-20(fp) 503d0: 10800098 cmpnei r2,r2,2 503d4: 1000221e bne r2,zero,50460 lcd_clear_screen(sp); 503d8: e13ffe17 ldw r4,-8(fp) 503dc: 004fdc80 call 4fdc8 break; 503e0: 00001f06 br 50460 /* ESC K is clear to end of line * ESC [ 0 K is clear to end of line * ESC [ 1 K is clear to beginning of line [unimplemented] * ESC [ 2 K is clear line [unimplemented] */ if (parm1 < 1) 503e4: e0bffb17 ldw r2,-20(fp) 503e8: 00801f16 blt zero,r2,50468 { if (sp->x < ALT_LCD_VIRTUAL_WIDTH) 503ec: e0bffe17 ldw r2,-8(fp) 503f0: 10800843 ldbu r2,33(r2) 503f4: 10803fcc andi r2,r2,255 503f8: 10801428 cmpgeui r2,r2,80 503fc: 10001a1e bne r2,zero,50468 memset(sp->line[sp->y].data + sp->x, ' ', ALT_LCD_VIRTUAL_WIDTH - sp->x); 50400: e0bffe17 ldw r2,-8(fp) 50404: 10800883 ldbu r2,34(r2) 50408: 10803fcc andi r2,r2,255 5040c: 014018c4 movi r5,99 50410: 1009883a mov r4,r2 50414: 004d3dc0 call 4d3dc <__mulsi3> 50418: 10801004 addi r2,r2,64 5041c: e0fffe17 ldw r3,-8(fp) 50420: 1887883a add r3,r3,r2 50424: e0bffe17 ldw r2,-8(fp) 50428: 10800843 ldbu r2,33(r2) 5042c: 10803fcc andi r2,r2,255 50430: 1889883a add r4,r3,r2 50434: e0bffe17 ldw r2,-8(fp) 50438: 10800843 ldbu r2,33(r2) 5043c: 10803fcc andi r2,r2,255 50440: 00c01404 movi r3,80 50444: 1885c83a sub r2,r3,r2 50448: 100d883a mov r6,r2 5044c: 01400804 movi r5,32 50450: 0048a980 call 48a98 } break; 50454: 00000406 br 50468 if (sp->y > ALT_LCD_HEIGHT * 2) sp->y = ALT_LCD_HEIGHT * 2; while (sp->y > ALT_LCD_HEIGHT) lcd_scroll_up(sp); } break; 50458: 0001883a nop 5045c: 00000306 br 5046c * ESC [ 1 J is clear to beginning of screen [unimplemented] * ESC [ 2 J is clear screen */ if (parm1 == 2) lcd_clear_screen(sp); break; 50460: 0001883a nop 50464: 00000106 br 5046c if (parm1 < 1) { if (sp->x < ALT_LCD_VIRTUAL_WIDTH) memset(sp->line[sp->y].data + sp->x, ' ', ALT_LCD_VIRTUAL_WIDTH - sp->x); } break; 50468: 0001883a nop } } 5046c: 0001883a nop 50470: e037883a mov sp,fp 50474: dfc00117 ldw ra,4(sp) 50478: df000017 ldw fp,0(sp) 5047c: dec00204 addi sp,sp,8 50480: f800283a ret 00050484 : /* --------------------------------------------------------------------- */ int altera_avalon_lcd_16207_write(altera_avalon_lcd_16207_state* sp, const char* ptr, int len, int flags) { 50484: defff104 addi sp,sp,-60 50488: dfc00e15 stw ra,56(sp) 5048c: df000d15 stw fp,52(sp) 50490: dc400c15 stw r17,48(sp) 50494: dc000b15 stw r16,44(sp) 50498: df000d04 addi fp,sp,52 5049c: e13ffa15 stw r4,-24(fp) 504a0: e17ffb15 stw r5,-20(fp) 504a4: e1bffc15 stw r6,-16(fp) 504a8: e1fffd15 stw r7,-12(fp) const char* end = ptr + len; 504ac: e0bffc17 ldw r2,-16(fp) 504b0: e0fffb17 ldw r3,-20(fp) 504b4: 1885883a add r2,r3,r2 504b8: e0bff615 stw r2,-40(fp) ALT_SEM_PEND (sp->write_lock, 0); /* Tell the routine which is called off the timer interrupt that the * foreground routines are active so it must not repaint the display. */ sp->active = 1; 504bc: e0bffa17 ldw r2,-24(fp) 504c0: 00c00044 movi r3,1 504c4: 10c009c5 stb r3,39(r2) for ( ; ptr < end ; ptr++) 504c8: 00009b06 br 50738 { char c = *ptr; 504cc: e0bffb17 ldw r2,-20(fp) 504d0: 10800003 ldbu r2,0(r2) 504d4: e0bff705 stb r2,-36(fp) if (sp->esccount >= 0) 504d8: e0bffa17 ldw r2,-24(fp) 504dc: 10800903 ldbu r2,36(r2) 504e0: 10803fcc andi r2,r2,255 504e4: 1080201c xori r2,r2,128 504e8: 10bfe004 addi r2,r2,-128 504ec: 10003716 blt r2,zero,505cc { unsigned int esccount = sp->esccount; 504f0: e0bffa17 ldw r2,-24(fp) 504f4: 10800903 ldbu r2,36(r2) 504f8: 10803fcc andi r2,r2,255 504fc: 1080201c xori r2,r2,128 50500: 10bfe004 addi r2,r2,-128 50504: e0bff815 stw r2,-32(fp) /* Single character escape sequences can end with any character * Multi character escape sequences start with '[' and contain * digits and semicolons before terminating */ if ((esccount == 0 && c != '[') || 50508: e0bff817 ldw r2,-32(fp) 5050c: 1000031e bne r2,zero,5051c 50510: e0bff707 ldb r2,-36(fp) 50514: 108016d8 cmpnei r2,r2,91 50518: 10000d1e bne r2,zero,50550 5051c: e0bff817 ldw r2,-32(fp) 50520: 10001826 beq r2,zero,50584 (esccount > 0 && !isdigit(c) && c != ';')) 50524: d0e01117 ldw r3,-32700(gp) 50528: e0bff707 ldb r2,-36(fp) 5052c: 10800044 addi r2,r2,1 50530: 1885883a add r2,r3,r2 50534: 10800003 ldbu r2,0(r2) 50538: 10803fcc andi r2,r2,255 5053c: 1080010c andi r2,r2,4 50540: 1000101e bne r2,zero,50584 50544: e0bff707 ldb r2,-36(fp) 50548: 10800ee0 cmpeqi r2,r2,59 5054c: 10000d1e bne r2,zero,50584 { sp->escape[esccount] = 0; 50550: e0fffa17 ldw r3,-24(fp) 50554: e0bff817 ldw r2,-32(fp) 50558: 1885883a add r2,r3,r2 5055c: 10800a04 addi r2,r2,40 50560: 10000005 stb zero,0(r2) lcd_handle_escape(sp, c); 50564: e0bff707 ldb r2,-36(fp) 50568: 100b883a mov r5,r2 5056c: e13ffa17 ldw r4,-24(fp) 50570: 00501c00 call 501c0 sp->esccount = -1; 50574: e0bffa17 ldw r2,-24(fp) 50578: 00ffffc4 movi r3,-1 5057c: 10c00905 stb r3,36(r2) 50580: 00006a06 br 5072c } else if (sp->esccount < sizeof(sp->escape)-1) 50584: e0bffa17 ldw r2,-24(fp) 50588: 10800903 ldbu r2,36(r2) 5058c: 10803fcc andi r2,r2,255 50590: 108001e8 cmpgeui r2,r2,7 50594: 1000651e bne r2,zero,5072c { sp->escape[esccount] = c; 50598: e0fffa17 ldw r3,-24(fp) 5059c: e0bff817 ldw r2,-32(fp) 505a0: 1885883a add r2,r3,r2 505a4: 10800a04 addi r2,r2,40 505a8: e0fff703 ldbu r3,-36(fp) 505ac: 10c00005 stb r3,0(r2) sp->esccount++; 505b0: e0bffa17 ldw r2,-24(fp) 505b4: 10800903 ldbu r2,36(r2) 505b8: 10800044 addi r2,r2,1 505bc: 1007883a mov r3,r2 505c0: e0bffa17 ldw r2,-24(fp) 505c4: 10c00905 stb r3,36(r2) 505c8: 00005806 br 5072c } } else if (c == 27) /* ESC */ 505cc: e0bff707 ldb r2,-36(fp) 505d0: 108006d8 cmpnei r2,r2,27 505d4: 1000031e bne r2,zero,505e4 { sp->esccount = 0; 505d8: e0bffa17 ldw r2,-24(fp) 505dc: 10000905 stb zero,36(r2) 505e0: 00005206 br 5072c } else if (c == '\r') 505e4: e0bff707 ldb r2,-36(fp) 505e8: 10800358 cmpnei r2,r2,13 505ec: 1000031e bne r2,zero,505fc { sp->x = 0; 505f0: e0bffa17 ldw r2,-24(fp) 505f4: 10000845 stb zero,33(r2) 505f8: 00004c06 br 5072c } else if (c == '\n') 505fc: e0bff707 ldb r2,-36(fp) 50600: 10800298 cmpnei r2,r2,10 50604: 1000101e bne r2,zero,50648 { sp->x = 0; 50608: e0bffa17 ldw r2,-24(fp) 5060c: 10000845 stb zero,33(r2) sp->y++; 50610: e0bffa17 ldw r2,-24(fp) 50614: 10800883 ldbu r2,34(r2) 50618: 10800044 addi r2,r2,1 5061c: 1007883a mov r3,r2 50620: e0bffa17 ldw r2,-24(fp) 50624: 10c00885 stb r3,34(r2) /* Let the cursor sit at X=0, Y=HEIGHT without scrolling so the user * can print two lines of data without losing one. */ if (sp->y > ALT_LCD_HEIGHT) 50628: e0bffa17 ldw r2,-24(fp) 5062c: 10800883 ldbu r2,34(r2) 50630: 10803fcc andi r2,r2,255 50634: 108000f0 cmpltui r2,r2,3 50638: 10003c1e bne r2,zero,5072c lcd_scroll_up(sp); 5063c: e13ffa17 ldw r4,-24(fp) 50640: 00500d80 call 500d8 50644: 00003906 br 5072c } else if (c == '\b') 50648: e0bff707 ldb r2,-36(fp) 5064c: 10800218 cmpnei r2,r2,8 50650: 10000b1e bne r2,zero,50680 { if (sp->x > 0) 50654: e0bffa17 ldw r2,-24(fp) 50658: 10800843 ldbu r2,33(r2) 5065c: 10803fcc andi r2,r2,255 50660: 10003226 beq r2,zero,5072c sp->x--; 50664: e0bffa17 ldw r2,-24(fp) 50668: 10800843 ldbu r2,33(r2) 5066c: 10bfffc4 addi r2,r2,-1 50670: 1007883a mov r3,r2 50674: e0bffa17 ldw r2,-24(fp) 50678: 10c00845 stb r3,33(r2) 5067c: 00002b06 br 5072c } else if (isprint(c)) 50680: d0e01117 ldw r3,-32700(gp) 50684: e0bff707 ldb r2,-36(fp) 50688: 10800044 addi r2,r2,1 5068c: 1885883a add r2,r3,r2 50690: 10800003 ldbu r2,0(r2) 50694: 10803fcc andi r2,r2,255 50698: 1080201c xori r2,r2,128 5069c: 10bfe004 addi r2,r2,-128 506a0: 108025cc andi r2,r2,151 506a4: 10002126 beq r2,zero,5072c { /* If we didn't scroll on the last linefeed then we might need to do * it now. */ if (sp->y >= ALT_LCD_HEIGHT) 506a8: e0bffa17 ldw r2,-24(fp) 506ac: 10800883 ldbu r2,34(r2) 506b0: 10803fcc andi r2,r2,255 506b4: 108000b0 cmpltui r2,r2,2 506b8: 1000021e bne r2,zero,506c4 lcd_scroll_up(sp); 506bc: e13ffa17 ldw r4,-24(fp) 506c0: 00500d80 call 500d8 if (sp->x < ALT_LCD_VIRTUAL_WIDTH) 506c4: e0bffa17 ldw r2,-24(fp) 506c8: 10800843 ldbu r2,33(r2) 506cc: 10803fcc andi r2,r2,255 506d0: 10801428 cmpgeui r2,r2,80 506d4: 10000f1e bne r2,zero,50714 sp->line[sp->y].data[sp->x] = c; 506d8: e0bffa17 ldw r2,-24(fp) 506dc: 10800883 ldbu r2,34(r2) 506e0: 10c03fcc andi r3,r2,255 506e4: e0bffa17 ldw r2,-24(fp) 506e8: 10800843 ldbu r2,33(r2) 506ec: 14003fcc andi r16,r2,255 506f0: e47ffa17 ldw r17,-24(fp) 506f4: 014018c4 movi r5,99 506f8: 1809883a mov r4,r3 506fc: 004d3dc0 call 4d3dc <__mulsi3> 50700: 8885883a add r2,r17,r2 50704: 1405883a add r2,r2,r16 50708: 10801004 addi r2,r2,64 5070c: e0fff703 ldbu r3,-36(fp) 50710: 10c00005 stb r3,0(r2) sp->x++; 50714: e0bffa17 ldw r2,-24(fp) 50718: 10800843 ldbu r2,33(r2) 5071c: 10800044 addi r2,r2,1 50720: 1007883a mov r3,r2 50724: e0bffa17 ldw r2,-24(fp) 50728: 10c00845 stb r3,33(r2) /* Tell the routine which is called off the timer interrupt that the * foreground routines are active so it must not repaint the display. */ sp->active = 1; for ( ; ptr < end ; ptr++) 5072c: e0bffb17 ldw r2,-20(fp) 50730: 10800044 addi r2,r2,1 50734: e0bffb15 stw r2,-20(fp) 50738: e0fffb17 ldw r3,-20(fp) 5073c: e0bff617 ldw r2,-40(fp) 50740: 18bf6236 bltu r3,r2,504cc <__alt_data_end+0xfffde4cc> sp->x++; } } /* Recalculate the scrolling parameters */ widthmax = ALT_LCD_WIDTH; 50744: 00800404 movi r2,16 50748: e0bff415 stw r2,-48(fp) for (y = 0 ; y < ALT_LCD_HEIGHT ; y++) 5074c: e03ff315 stw zero,-52(fp) 50750: 00003d06 br 50848 { int width; for (width = ALT_LCD_VIRTUAL_WIDTH ; width > 0 ; width--) 50754: 00801404 movi r2,80 50758: e0bff515 stw r2,-44(fp) 5075c: 00001306 br 507ac if (sp->line[y].data[width-1] != ' ') 50760: e0bff517 ldw r2,-44(fp) 50764: 143fffc4 addi r16,r2,-1 50768: e47ffa17 ldw r17,-24(fp) 5076c: e0bff317 ldw r2,-52(fp) 50770: 014018c4 movi r5,99 50774: 1009883a mov r4,r2 50778: 004d3dc0 call 4d3dc <__mulsi3> 5077c: 8885883a add r2,r17,r2 50780: 1405883a add r2,r2,r16 50784: 10801004 addi r2,r2,64 50788: 10800003 ldbu r2,0(r2) 5078c: 10803fcc andi r2,r2,255 50790: 1080201c xori r2,r2,128 50794: 10bfe004 addi r2,r2,-128 50798: 10800820 cmpeqi r2,r2,32 5079c: 10000626 beq r2,zero,507b8 /* Recalculate the scrolling parameters */ widthmax = ALT_LCD_WIDTH; for (y = 0 ; y < ALT_LCD_HEIGHT ; y++) { int width; for (width = ALT_LCD_VIRTUAL_WIDTH ; width > 0 ; width--) 507a0: e0bff517 ldw r2,-44(fp) 507a4: 10bfffc4 addi r2,r2,-1 507a8: e0bff515 stw r2,-44(fp) 507ac: e0bff517 ldw r2,-44(fp) 507b0: 00bfeb16 blt zero,r2,50760 <__alt_data_end+0xfffde760> 507b4: 00000106 br 507bc if (sp->line[y].data[width-1] != ' ') break; 507b8: 0001883a nop /* The minimum width is the size of the LCD panel. If the real width * is long enough to require scrolling then add an extra space so the * end of the message doesn't run into the beginning of it. */ if (width <= ALT_LCD_WIDTH) 507bc: e0bff517 ldw r2,-44(fp) 507c0: 10800448 cmpgei r2,r2,17 507c4: 1000031e bne r2,zero,507d4 width = ALT_LCD_WIDTH; 507c8: 00800404 movi r2,16 507cc: e0bff515 stw r2,-44(fp) 507d0: 00000306 br 507e0 else width++; 507d4: e0bff517 ldw r2,-44(fp) 507d8: 10800044 addi r2,r2,1 507dc: e0bff515 stw r2,-44(fp) sp->line[y].width = width; 507e0: e0bff517 ldw r2,-44(fp) 507e4: 1023883a mov r17,r2 507e8: e43ffa17 ldw r16,-24(fp) 507ec: e0bff317 ldw r2,-52(fp) 507f0: 014018c4 movi r5,99 507f4: 1009883a mov r4,r2 507f8: 004d3dc0 call 4d3dc <__mulsi3> 507fc: 8085883a add r2,r16,r2 50800: 10802444 addi r2,r2,145 50804: 14400005 stb r17,0(r2) if (widthmax < width) 50808: e0fff417 ldw r3,-48(fp) 5080c: e0bff517 ldw r2,-44(fp) 50810: 1880020e bge r3,r2,5081c widthmax = width; 50814: e0bff517 ldw r2,-44(fp) 50818: e0bff415 stw r2,-48(fp) sp->line[y].speed = 0; /* By default lines don't scroll */ 5081c: e43ffa17 ldw r16,-24(fp) 50820: e0bff317 ldw r2,-52(fp) 50824: 014018c4 movi r5,99 50828: 1009883a mov r4,r2 5082c: 004d3dc0 call 4d3dc <__mulsi3> 50830: 8085883a add r2,r16,r2 50834: 10802484 addi r2,r2,146 50838: 10000005 stb zero,0(r2) } } /* Recalculate the scrolling parameters */ widthmax = ALT_LCD_WIDTH; for (y = 0 ; y < ALT_LCD_HEIGHT ; y++) 5083c: e0bff317 ldw r2,-52(fp) 50840: 10800044 addi r2,r2,1 50844: e0bff315 stw r2,-52(fp) 50848: e0bff317 ldw r2,-52(fp) 5084c: 10800090 cmplti r2,r2,2 50850: 103fc01e bne r2,zero,50754 <__alt_data_end+0xfffde754> if (widthmax < width) widthmax = width; sp->line[y].speed = 0; /* By default lines don't scroll */ } if (widthmax <= ALT_LCD_WIDTH) 50854: e0bff417 ldw r2,-48(fp) 50858: 10800448 cmpgei r2,r2,17 5085c: 1000031e bne r2,zero,5086c sp->scrollmax = 0; 50860: e0bffa17 ldw r2,-24(fp) 50864: 10000985 stb zero,38(r2) 50868: 00003406 br 5093c else { widthmax *= 2; 5086c: e0bff417 ldw r2,-48(fp) 50870: 1085883a add r2,r2,r2 50874: e0bff415 stw r2,-48(fp) sp->scrollmax = widthmax; 50878: e0bff417 ldw r2,-48(fp) 5087c: 1007883a mov r3,r2 50880: e0bffa17 ldw r2,-24(fp) 50884: 10c00985 stb r3,38(r2) /* Now calculate how fast each of the other lines should go */ for (y = 0 ; y < ALT_LCD_HEIGHT ; y++) 50888: e03ff315 stw zero,-52(fp) 5088c: 00002806 br 50930 if (sp->line[y].width > ALT_LCD_WIDTH) 50890: e43ffa17 ldw r16,-24(fp) 50894: e0bff317 ldw r2,-52(fp) 50898: 014018c4 movi r5,99 5089c: 1009883a mov r4,r2 508a0: 004d3dc0 call 4d3dc <__mulsi3> 508a4: 8085883a add r2,r16,r2 508a8: 10802444 addi r2,r2,145 508ac: 10800003 ldbu r2,0(r2) 508b0: 10803fcc andi r2,r2,255 508b4: 1080201c xori r2,r2,128 508b8: 10bfe004 addi r2,r2,-128 508bc: 10800450 cmplti r2,r2,17 508c0: 1000181e bne r2,zero,50924 */ #if 1 /* This option makes all the lines scroll round at different speeds * which are chosen so that all the scrolls finish at the same time. */ sp->line[y].speed = 256 * sp->line[y].width / widthmax; 508c4: e43ffa17 ldw r16,-24(fp) 508c8: e0bff317 ldw r2,-52(fp) 508cc: 014018c4 movi r5,99 508d0: 1009883a mov r4,r2 508d4: 004d3dc0 call 4d3dc <__mulsi3> 508d8: 8085883a add r2,r16,r2 508dc: 10802444 addi r2,r2,145 508e0: 10800003 ldbu r2,0(r2) 508e4: 10803fcc andi r2,r2,255 508e8: 1080201c xori r2,r2,128 508ec: 10bfe004 addi r2,r2,-128 508f0: 1004923a slli r2,r2,8 508f4: e17ff417 ldw r5,-48(fp) 508f8: 1009883a mov r4,r2 508fc: 004d2280 call 4d228 <__divsi3> 50900: 1023883a mov r17,r2 50904: e43ffa17 ldw r16,-24(fp) 50908: e0bff317 ldw r2,-52(fp) 5090c: 014018c4 movi r5,99 50910: 1009883a mov r4,r2 50914: 004d3dc0 call 4d3dc <__mulsi3> 50918: 8085883a add r2,r16,r2 5091c: 10802484 addi r2,r2,146 50920: 14400005 stb r17,0(r2) { widthmax *= 2; sp->scrollmax = widthmax; /* Now calculate how fast each of the other lines should go */ for (y = 0 ; y < ALT_LCD_HEIGHT ; y++) 50924: e0bff317 ldw r2,-52(fp) 50928: 10800044 addi r2,r2,1 5092c: e0bff315 stw r2,-52(fp) 50930: e0bff317 ldw r2,-52(fp) 50934: 10800090 cmplti r2,r2,2 50938: 103fd51e bne r2,zero,50890 <__alt_data_end+0xfffde890> * (because active was set when the timer interrupt occurred). If there * has been a missed repaint then paint again. And again. etc. */ for ( ; ; ) { int old_scrollpos = sp->scrollpos; 5093c: e0bffa17 ldw r2,-24(fp) 50940: 10800943 ldbu r2,37(r2) 50944: 10803fcc andi r2,r2,255 50948: e0bff915 stw r2,-28(fp) lcd_repaint_screen(sp); 5094c: e13ffa17 ldw r4,-24(fp) 50950: 004feb00 call 4feb0 /* Let the timer routines repaint the display again */ sp->active = 0; 50954: e0bffa17 ldw r2,-24(fp) 50958: 100009c5 stb zero,39(r2) /* Have the timer routines tried to scroll while we were painting? * If not then we can exit */ if (sp->scrollpos == old_scrollpos) 5095c: e0bffa17 ldw r2,-24(fp) 50960: 10800943 ldbu r2,37(r2) 50964: 10c03fcc andi r3,r2,255 50968: e0bff917 ldw r2,-28(fp) 5096c: 18800426 beq r3,r2,50980 break; /* We need to repaint again since the display scrolled while we were * painting last time */ sp->active = 1; 50970: e0bffa17 ldw r2,-24(fp) 50974: 00c00044 movi r3,1 50978: 10c009c5 stb r3,39(r2) } 5097c: 003fef06 br 5093c <__alt_data_end+0xfffde93c> sp->active = 0; /* Have the timer routines tried to scroll while we were painting? * If not then we can exit */ if (sp->scrollpos == old_scrollpos) break; 50980: 0001883a nop * semaphore so that other threads can access the buffer. */ ALT_SEM_POST (sp->write_lock); return len; 50984: e0bffc17 ldw r2,-16(fp) } 50988: e6fffe04 addi sp,fp,-8 5098c: dfc00317 ldw ra,12(sp) 50990: df000217 ldw fp,8(sp) 50994: dc400117 ldw r17,4(sp) 50998: dc000017 ldw r16,0(sp) 5099c: dec00404 addi sp,sp,16 509a0: f800283a ret 000509a4 : /* * Timeout routine is called every second */ static alt_u32 alt_lcd_16207_timeout(void* context) { 509a4: defffc04 addi sp,sp,-16 509a8: dfc00315 stw ra,12(sp) 509ac: df000215 stw fp,8(sp) 509b0: df000204 addi fp,sp,8 509b4: e13fff15 stw r4,-4(fp) altera_avalon_lcd_16207_state* sp = (altera_avalon_lcd_16207_state*)context; 509b8: e0bfff17 ldw r2,-4(fp) 509bc: e0bffe15 stw r2,-8(fp) /* Update the scrolling position */ if (sp->scrollpos + 1 >= sp->scrollmax) 509c0: e0bffe17 ldw r2,-8(fp) 509c4: 10800943 ldbu r2,37(r2) 509c8: 10803fcc andi r2,r2,255 509cc: 10c00044 addi r3,r2,1 509d0: e0bffe17 ldw r2,-8(fp) 509d4: 10800983 ldbu r2,38(r2) 509d8: 10803fcc andi r2,r2,255 509dc: 18800316 blt r3,r2,509ec sp->scrollpos = 0; 509e0: e0bffe17 ldw r2,-8(fp) 509e4: 10000945 stb zero,37(r2) 509e8: 00000606 br 50a04 else sp->scrollpos = sp->scrollpos + 1; 509ec: e0bffe17 ldw r2,-8(fp) 509f0: 10800943 ldbu r2,37(r2) 509f4: 10800044 addi r2,r2,1 509f8: 1007883a mov r3,r2 509fc: e0bffe17 ldw r2,-8(fp) 50a00: 10c00945 stb r3,37(r2) /* Repaint the panel unless the foreground will do it again soon */ if (sp->scrollmax > 0 && !sp->active) 50a04: e0bffe17 ldw r2,-8(fp) 50a08: 10800983 ldbu r2,38(r2) 50a0c: 10803fcc andi r2,r2,255 50a10: 10000826 beq r2,zero,50a34 50a14: e0bffe17 ldw r2,-8(fp) 50a18: 108009c3 ldbu r2,39(r2) 50a1c: 10803fcc andi r2,r2,255 50a20: 1080201c xori r2,r2,128 50a24: 10bfe004 addi r2,r2,-128 50a28: 1000021e bne r2,zero,50a34 lcd_repaint_screen(sp); 50a2c: e13ffe17 ldw r4,-8(fp) 50a30: 004feb00 call 4feb0 return sp->period; 50a34: e0bffe17 ldw r2,-8(fp) 50a38: 10800717 ldw r2,28(r2) } 50a3c: e037883a mov sp,fp 50a40: dfc00117 ldw ra,4(sp) 50a44: df000017 ldw fp,0(sp) 50a48: dec00204 addi sp,sp,8 50a4c: f800283a ret 00050a50 : /* * Called at boot time to initialise the LCD driver */ void altera_avalon_lcd_16207_init(altera_avalon_lcd_16207_state* sp) { 50a50: defffc04 addi sp,sp,-16 50a54: dfc00315 stw ra,12(sp) 50a58: df000215 stw fp,8(sp) 50a5c: df000204 addi fp,sp,8 50a60: e13fff15 stw r4,-4(fp) unsigned int base = sp->base; 50a64: e0bfff17 ldw r2,-4(fp) 50a68: 10800017 ldw r2,0(r2) 50a6c: e0bffe15 stw r2,-8(fp) /* Mark the device as functional */ sp->broken = 0; 50a70: e0bfff17 ldw r2,-4(fp) 50a74: 10000805 stb zero,32(r2) * the BUSY bit in the status register doesn't work until the display * has been reset three times. */ /* Wait for 15 ms then reset */ usleep(15000); 50a78: 010ea604 movi r4,15000 50a7c: 00517180 call 51718 IOWR_ALTERA_AVALON_LCD_16207_COMMAND(base, LCD_CMD_FUNCTION_SET | LCD_CMD_8BIT); 50a80: e0bffe17 ldw r2,-8(fp) 50a84: 00c00c04 movi r3,48 50a88: 10c00035 stwio r3,0(r2) /* Wait for another 4.1ms and reset again */ usleep(4100); 50a8c: 01040104 movi r4,4100 50a90: 00517180 call 51718 IOWR_ALTERA_AVALON_LCD_16207_COMMAND(base, LCD_CMD_FUNCTION_SET | LCD_CMD_8BIT); 50a94: e0bffe17 ldw r2,-8(fp) 50a98: 00c00c04 movi r3,48 50a9c: 10c00035 stwio r3,0(r2) /* Wait a further 1 ms and reset a third time */ usleep(1000); 50aa0: 0100fa04 movi r4,1000 50aa4: 00517180 call 51718 IOWR_ALTERA_AVALON_LCD_16207_COMMAND(base, LCD_CMD_FUNCTION_SET | LCD_CMD_8BIT); 50aa8: e0bffe17 ldw r2,-8(fp) 50aac: 00c00c04 movi r3,48 50ab0: 10c00035 stwio r3,0(r2) /* Setup interface parameters: 8 bit bus, 2 rows, 5x7 font */ lcd_write_command(sp, LCD_CMD_FUNCTION_SET | LCD_CMD_8BIT | LCD_CMD_TWO_LINE); 50ab4: 01400e04 movi r5,56 50ab8: e13fff17 ldw r4,-4(fp) 50abc: 004fc380 call 4fc38 /* Turn display off */ lcd_write_command(sp, LCD_CMD_ONOFF); 50ac0: 01400204 movi r5,8 50ac4: e13fff17 ldw r4,-4(fp) 50ac8: 004fc380 call 4fc38 /* Clear display */ lcd_clear_screen(sp); 50acc: e13fff17 ldw r4,-4(fp) 50ad0: 004fdc80 call 4fdc8 /* Set mode: increment after writing, don't shift display */ lcd_write_command(sp, LCD_CMD_MODES | LCD_CMD_MODE_INC); 50ad4: 01400184 movi r5,6 50ad8: e13fff17 ldw r4,-4(fp) 50adc: 004fc380 call 4fc38 /* Turn display on */ lcd_write_command(sp, LCD_CMD_ONOFF | LCD_CMD_ENABLE_DISP); 50ae0: 01400304 movi r5,12 50ae4: e13fff17 ldw r4,-4(fp) 50ae8: 004fc380 call 4fc38 sp->esccount = -1; 50aec: e0bfff17 ldw r2,-4(fp) 50af0: 00ffffc4 movi r3,-1 50af4: 10c00905 stb r3,36(r2) memset(sp->escape, 0, sizeof(sp->escape)); 50af8: e0bfff17 ldw r2,-4(fp) 50afc: 10800a04 addi r2,r2,40 50b00: 01800204 movi r6,8 50b04: 000b883a mov r5,zero 50b08: 1009883a mov r4,r2 50b0c: 0048a980 call 48a98 sp->scrollpos = 0; 50b10: e0bfff17 ldw r2,-4(fp) 50b14: 10000945 stb zero,37(r2) sp->scrollmax = 0; 50b18: e0bfff17 ldw r2,-4(fp) 50b1c: 10000985 stb zero,38(r2) sp->active = 0; 50b20: e0bfff17 ldw r2,-4(fp) 50b24: 100009c5 stb zero,39(r2) 50b28: d0a72617 ldw r2,-25448(gp) sp->period = alt_ticks_per_second() / 10; /* Call every 100ms */ 50b2c: 01400284 movi r5,10 50b30: 1009883a mov r4,r2 50b34: 004d3200 call 4d320 <__udivsi3> 50b38: 1007883a mov r3,r2 50b3c: e0bfff17 ldw r2,-4(fp) 50b40: 10c00715 stw r3,28(r2) alt_alarm_start(&sp->alarm, sp->period, &alt_lcd_16207_timeout, sp); 50b44: e0bfff17 ldw r2,-4(fp) 50b48: 10c00104 addi r3,r2,4 50b4c: e0bfff17 ldw r2,-4(fp) 50b50: 10800717 ldw r2,28(r2) 50b54: e1ffff17 ldw r7,-4(fp) 50b58: 01800174 movhi r6,5 50b5c: 31826904 addi r6,r6,2468 50b60: 100b883a mov r5,r2 50b64: 1809883a mov r4,r3 50b68: 0050be40 call 50be4 } 50b6c: 0001883a nop 50b70: e037883a mov sp,fp 50b74: dfc00117 ldw ra,4(sp) 50b78: df000017 ldw fp,0(sp) 50b7c: dec00204 addi sp,sp,8 50b80: f800283a ret 00050b84 : extern int altera_avalon_lcd_16207_write(altera_avalon_lcd_16207_state* sp, const char* ptr, int count, int flags); int altera_avalon_lcd_16207_write_fd(alt_fd* fd, const char* buffer, int space) { 50b84: defffa04 addi sp,sp,-24 50b88: dfc00515 stw ra,20(sp) 50b8c: df000415 stw fp,16(sp) 50b90: df000404 addi fp,sp,16 50b94: e13ffd15 stw r4,-12(fp) 50b98: e17ffe15 stw r5,-8(fp) 50b9c: e1bfff15 stw r6,-4(fp) altera_avalon_lcd_16207_dev* dev = (altera_avalon_lcd_16207_dev*) fd->dev; 50ba0: e0bffd17 ldw r2,-12(fp) 50ba4: 10800017 ldw r2,0(r2) 50ba8: e0bffc15 stw r2,-16(fp) return altera_avalon_lcd_16207_write(&dev->state, buffer, space, 50bac: e0bffc17 ldw r2,-16(fp) 50bb0: 10c00a04 addi r3,r2,40 50bb4: e0bffd17 ldw r2,-12(fp) 50bb8: 10800217 ldw r2,8(r2) 50bbc: 100f883a mov r7,r2 50bc0: e1bfff17 ldw r6,-4(fp) 50bc4: e17ffe17 ldw r5,-8(fp) 50bc8: 1809883a mov r4,r3 50bcc: 00504840 call 50484 fd->fd_flags); } 50bd0: e037883a mov sp,fp 50bd4: dfc00117 ldw ra,4(sp) 50bd8: df000017 ldw fp,0(sp) 50bdc: dec00204 addi sp,sp,8 50be0: f800283a ret 00050be4 : */ int alt_alarm_start (alt_alarm* alarm, alt_u32 nticks, alt_u32 (*callback) (void* context), void* context) { 50be4: defff504 addi sp,sp,-44 50be8: df000a15 stw fp,40(sp) 50bec: df000a04 addi fp,sp,40 50bf0: e13ffc15 stw r4,-16(fp) 50bf4: e17ffd15 stw r5,-12(fp) 50bf8: e1bffe15 stw r6,-8(fp) 50bfc: e1ffff15 stw r7,-4(fp) alt_irq_context irq_context; alt_u32 current_nticks = 0; 50c00: e03ff615 stw zero,-40(fp) 50c04: d0a72617 ldw r2,-25448(gp) if (alt_ticks_per_second ()) 50c08: 10003c26 beq r2,zero,50cfc { if (alarm) 50c0c: e0bffc17 ldw r2,-16(fp) 50c10: 10003826 beq r2,zero,50cf4 { alarm->callback = callback; 50c14: e0bffc17 ldw r2,-16(fp) 50c18: e0fffe17 ldw r3,-8(fp) 50c1c: 10c00315 stw r3,12(r2) alarm->context = context; 50c20: e0bffc17 ldw r2,-16(fp) 50c24: e0ffff17 ldw r3,-4(fp) 50c28: 10c00515 stw r3,20(r2) static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE alt_irq_disable_all (void) { alt_irq_context context; NIOS2_READ_STATUS (context); 50c2c: 0005303a rdctl r2,status 50c30: e0bff915 stw r2,-28(fp) NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK); 50c34: e0fff917 ldw r3,-28(fp) 50c38: 00bfff84 movi r2,-2 50c3c: 1884703a and r2,r3,r2 50c40: 1001703a wrctl status,r2 return context; 50c44: e0bff917 ldw r2,-28(fp) irq_context = alt_irq_disable_all (); 50c48: e0bff815 stw r2,-32(fp) * alt_nticks() returns the elapsed number of system clock ticks since reset. */ static ALT_INLINE alt_u32 ALT_ALWAYS_INLINE alt_nticks (void) { return _alt_nticks; 50c4c: d0a72717 ldw r2,-25444(gp) current_nticks = alt_nticks(); 50c50: e0bff615 stw r2,-40(fp) alarm->time = nticks + current_nticks + 1; 50c54: e0fffd17 ldw r3,-12(fp) 50c58: e0bff617 ldw r2,-40(fp) 50c5c: 1885883a add r2,r3,r2 50c60: 10c00044 addi r3,r2,1 50c64: e0bffc17 ldw r2,-16(fp) 50c68: 10c00215 stw r3,8(r2) /* * If the desired alarm time causes a roll-over, set the rollover * flag. This will prevent the subsequent tick event from causing * an alarm too early. */ if(alarm->time < current_nticks) 50c6c: e0bffc17 ldw r2,-16(fp) 50c70: 10c00217 ldw r3,8(r2) 50c74: e0bff617 ldw r2,-40(fp) 50c78: 1880042e bgeu r3,r2,50c8c { alarm->rollover = 1; 50c7c: e0bffc17 ldw r2,-16(fp) 50c80: 00c00044 movi r3,1 50c84: 10c00405 stb r3,16(r2) 50c88: 00000206 br 50c94 } else { alarm->rollover = 0; 50c8c: e0bffc17 ldw r2,-16(fp) 50c90: 10000405 stb zero,16(r2) } alt_llist_insert (&alt_alarm_list, &alarm->llist); 50c94: e0bffc17 ldw r2,-16(fp) 50c98: d0e00f04 addi r3,gp,-32708 50c9c: e0fffa15 stw r3,-24(fp) 50ca0: e0bffb15 stw r2,-20(fp) */ static ALT_INLINE void ALT_ALWAYS_INLINE alt_llist_insert(alt_llist* list, alt_llist* entry) { entry->previous = list; 50ca4: e0bffb17 ldw r2,-20(fp) 50ca8: e0fffa17 ldw r3,-24(fp) 50cac: 10c00115 stw r3,4(r2) entry->next = list->next; 50cb0: e0bffa17 ldw r2,-24(fp) 50cb4: 10c00017 ldw r3,0(r2) 50cb8: e0bffb17 ldw r2,-20(fp) 50cbc: 10c00015 stw r3,0(r2) list->next->previous = entry; 50cc0: e0bffa17 ldw r2,-24(fp) 50cc4: 10800017 ldw r2,0(r2) 50cc8: e0fffb17 ldw r3,-20(fp) 50ccc: 10c00115 stw r3,4(r2) list->next = entry; 50cd0: e0bffa17 ldw r2,-24(fp) 50cd4: e0fffb17 ldw r3,-20(fp) 50cd8: 10c00015 stw r3,0(r2) 50cdc: e0bff817 ldw r2,-32(fp) 50ce0: e0bff715 stw r2,-36(fp) status &= ~NIOS2_STATUS_PIE_MSK; status |= (context & NIOS2_STATUS_PIE_MSK); NIOS2_WRITE_STATUS (status); #else NIOS2_WRITE_STATUS (context); 50ce4: e0bff717 ldw r2,-36(fp) 50ce8: 1001703a wrctl status,r2 alt_irq_enable_all (irq_context); return 0; 50cec: 0005883a mov r2,zero 50cf0: 00000306 br 50d00 } else { return -EINVAL; 50cf4: 00bffa84 movi r2,-22 50cf8: 00000106 br 50d00 } } else { return -ENOTSUP; 50cfc: 00bfde84 movi r2,-134 } } 50d00: e037883a mov sp,fp 50d04: df000017 ldw fp,0(sp) 50d08: dec00104 addi sp,sp,4 50d0c: f800283a ret 00050d10 : /* * alt_dcache_flush_all() is called to flush the entire data cache. */ void alt_dcache_flush_all (void) { 50d10: deffff04 addi sp,sp,-4 50d14: df000015 stw fp,0(sp) 50d18: d839883a mov fp,sp for (i = (char*) 0; i < (char*) NIOS2_DCACHE_SIZE; i+= NIOS2_DCACHE_LINE_SIZE) { __asm__ volatile ("flushd (%0)" :: "r" (i)); } #endif /* NIOS2_DCACHE_SIZE > 0 */ } 50d1c: 0001883a nop 50d20: e037883a mov sp,fp 50d24: df000017 ldw fp,0(sp) 50d28: dec00104 addi sp,sp,4 50d2c: f800283a ret 00050d30 : #undef errno extern int errno; static ALT_INLINE int* alt_get_errno(void) { 50d30: defffe04 addi sp,sp,-8 50d34: dfc00115 stw ra,4(sp) 50d38: df000015 stw fp,0(sp) 50d3c: d839883a mov fp,sp return ((alt_errno) ? alt_errno() : &errno); 50d40: d0a00b17 ldw r2,-32724(gp) 50d44: 10000326 beq r2,zero,50d54 50d48: d0a00b17 ldw r2,-32724(gp) 50d4c: 103ee83a callr r2 50d50: 00000106 br 50d58 50d54: d0a72104 addi r2,gp,-25468 } 50d58: e037883a mov sp,fp 50d5c: dfc00117 ldw ra,4(sp) 50d60: df000017 ldw fp,0(sp) 50d64: dec00204 addi sp,sp,8 50d68: f800283a ret 00050d6c : /* * */ int alt_dev_llist_insert (alt_dev_llist* dev, alt_llist* list) { 50d6c: defffa04 addi sp,sp,-24 50d70: dfc00515 stw ra,20(sp) 50d74: df000415 stw fp,16(sp) 50d78: df000404 addi fp,sp,16 50d7c: e13ffe15 stw r4,-8(fp) 50d80: e17fff15 stw r5,-4(fp) /* * check that the device exists, and that it has a valid name. */ if (!dev || !dev->name) 50d84: e0bffe17 ldw r2,-8(fp) 50d88: 10000326 beq r2,zero,50d98 50d8c: e0bffe17 ldw r2,-8(fp) 50d90: 10800217 ldw r2,8(r2) 50d94: 1000061e bne r2,zero,50db0 { ALT_ERRNO = EINVAL; 50d98: 0050d300 call 50d30 50d9c: 1007883a mov r3,r2 50da0: 00800584 movi r2,22 50da4: 18800015 stw r2,0(r3) return -EINVAL; 50da8: 00bffa84 movi r2,-22 50dac: 00001306 br 50dfc /* * register the device. */ alt_llist_insert(list, &dev->llist); 50db0: e0bffe17 ldw r2,-8(fp) 50db4: e0ffff17 ldw r3,-4(fp) 50db8: e0fffc15 stw r3,-16(fp) 50dbc: e0bffd15 stw r2,-12(fp) */ static ALT_INLINE void ALT_ALWAYS_INLINE alt_llist_insert(alt_llist* list, alt_llist* entry) { entry->previous = list; 50dc0: e0bffd17 ldw r2,-12(fp) 50dc4: e0fffc17 ldw r3,-16(fp) 50dc8: 10c00115 stw r3,4(r2) entry->next = list->next; 50dcc: e0bffc17 ldw r2,-16(fp) 50dd0: 10c00017 ldw r3,0(r2) 50dd4: e0bffd17 ldw r2,-12(fp) 50dd8: 10c00015 stw r3,0(r2) list->next->previous = entry; 50ddc: e0bffc17 ldw r2,-16(fp) 50de0: 10800017 ldw r2,0(r2) 50de4: e0fffd17 ldw r3,-12(fp) 50de8: 10c00115 stw r3,4(r2) list->next = entry; 50dec: e0bffc17 ldw r2,-16(fp) 50df0: e0fffd17 ldw r3,-12(fp) 50df4: 10c00015 stw r3,0(r2) return 0; 50df8: 0005883a mov r2,zero } 50dfc: e037883a mov sp,fp 50e00: dfc00117 ldw ra,4(sp) 50e04: df000017 ldw fp,0(sp) 50e08: dec00204 addi sp,sp,8 50e0c: f800283a ret 00050e10 <_do_ctors>: /* * Run the C++ static constructors. */ void _do_ctors(void) { 50e10: defffd04 addi sp,sp,-12 50e14: dfc00215 stw ra,8(sp) 50e18: df000115 stw fp,4(sp) 50e1c: df000104 addi fp,sp,4 constructor* ctor; for (ctor = &__CTOR_END__[-1]; ctor >= __CTOR_LIST__; ctor--) 50e20: 00800174 movhi r2,5 50e24: 1087d304 addi r2,r2,8012 50e28: e0bfff15 stw r2,-4(fp) 50e2c: 00000606 br 50e48 <_do_ctors+0x38> (*ctor) (); 50e30: e0bfff17 ldw r2,-4(fp) 50e34: 10800017 ldw r2,0(r2) 50e38: 103ee83a callr r2 void _do_ctors(void) { constructor* ctor; for (ctor = &__CTOR_END__[-1]; ctor >= __CTOR_LIST__; ctor--) 50e3c: e0bfff17 ldw r2,-4(fp) 50e40: 10bfff04 addi r2,r2,-4 50e44: e0bfff15 stw r2,-4(fp) 50e48: e0ffff17 ldw r3,-4(fp) 50e4c: 00800174 movhi r2,5 50e50: 1087d404 addi r2,r2,8016 50e54: 18bff62e bgeu r3,r2,50e30 <__alt_data_end+0xfffdee30> (*ctor) (); } 50e58: 0001883a nop 50e5c: e037883a mov sp,fp 50e60: dfc00117 ldw ra,4(sp) 50e64: df000017 ldw fp,0(sp) 50e68: dec00204 addi sp,sp,8 50e6c: f800283a ret 00050e70 <_do_dtors>: /* * Run the C++ static destructors. */ void _do_dtors(void) { 50e70: defffd04 addi sp,sp,-12 50e74: dfc00215 stw ra,8(sp) 50e78: df000115 stw fp,4(sp) 50e7c: df000104 addi fp,sp,4 destructor* dtor; for (dtor = &__DTOR_END__[-1]; dtor >= __DTOR_LIST__; dtor--) 50e80: 00800174 movhi r2,5 50e84: 1087d304 addi r2,r2,8012 50e88: e0bfff15 stw r2,-4(fp) 50e8c: 00000606 br 50ea8 <_do_dtors+0x38> (*dtor) (); 50e90: e0bfff17 ldw r2,-4(fp) 50e94: 10800017 ldw r2,0(r2) 50e98: 103ee83a callr r2 void _do_dtors(void) { destructor* dtor; for (dtor = &__DTOR_END__[-1]; dtor >= __DTOR_LIST__; dtor--) 50e9c: e0bfff17 ldw r2,-4(fp) 50ea0: 10bfff04 addi r2,r2,-4 50ea4: e0bfff15 stw r2,-4(fp) 50ea8: e0ffff17 ldw r3,-4(fp) 50eac: 00800174 movhi r2,5 50eb0: 1087d404 addi r2,r2,8016 50eb4: 18bff62e bgeu r3,r2,50e90 <__alt_data_end+0xfffdee90> (*dtor) (); } 50eb8: 0001883a nop 50ebc: e037883a mov sp,fp 50ec0: dfc00117 ldw ra,4(sp) 50ec4: df000017 ldw fp,0(sp) 50ec8: dec00204 addi sp,sp,8 50ecc: f800283a ret 00050ed0 : /* * alt_icache_flush_all() is called to flush the entire instruction cache. */ void alt_icache_flush_all (void) { 50ed0: deffff04 addi sp,sp,-4 50ed4: df000015 stw fp,0(sp) 50ed8: d839883a mov fp,sp #if NIOS2_ICACHE_SIZE > 0 alt_icache_flush (0, NIOS2_ICACHE_SIZE); #endif } 50edc: 0001883a nop 50ee0: e037883a mov sp,fp 50ee4: df000017 ldw fp,0(sp) 50ee8: dec00104 addi sp,sp,4 50eec: f800283a ret 00050ef0 : * @param irq IRQ number * @return 0 if successful, else error (-1) */ int alt_ic_isr_register(alt_u32 ic_id, alt_u32 irq, alt_isr_func isr, void *isr_context, void *flags) { 50ef0: defff904 addi sp,sp,-28 50ef4: dfc00615 stw ra,24(sp) 50ef8: df000515 stw fp,20(sp) 50efc: df000504 addi fp,sp,20 50f00: e13ffc15 stw r4,-16(fp) 50f04: e17ffd15 stw r5,-12(fp) 50f08: e1bffe15 stw r6,-8(fp) 50f0c: e1ffff15 stw r7,-4(fp) return alt_iic_isr_register(ic_id, irq, isr, isr_context, flags); 50f10: e0800217 ldw r2,8(fp) 50f14: d8800015 stw r2,0(sp) 50f18: e1ffff17 ldw r7,-4(fp) 50f1c: e1bffe17 ldw r6,-8(fp) 50f20: e17ffd17 ldw r5,-12(fp) 50f24: e13ffc17 ldw r4,-16(fp) 50f28: 00510a00 call 510a0 } 50f2c: e037883a mov sp,fp 50f30: dfc00117 ldw ra,4(sp) 50f34: df000017 ldw fp,0(sp) 50f38: dec00204 addi sp,sp,8 50f3c: f800283a ret 00050f40 : * @param ic_id Ignored. * @param irq IRQ number * @return 0 if successful, else error (-1) */ int alt_ic_irq_enable (alt_u32 ic_id, alt_u32 irq) { 50f40: defff904 addi sp,sp,-28 50f44: df000615 stw fp,24(sp) 50f48: df000604 addi fp,sp,24 50f4c: e13ffe15 stw r4,-8(fp) 50f50: e17fff15 stw r5,-4(fp) 50f54: e0bfff17 ldw r2,-4(fp) 50f58: e0bffa15 stw r2,-24(fp) static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE alt_irq_disable_all (void) { alt_irq_context context; NIOS2_READ_STATUS (context); 50f5c: 0005303a rdctl r2,status 50f60: e0bffb15 stw r2,-20(fp) NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK); 50f64: e0fffb17 ldw r3,-20(fp) 50f68: 00bfff84 movi r2,-2 50f6c: 1884703a and r2,r3,r2 50f70: 1001703a wrctl status,r2 return context; 50f74: e0bffb17 ldw r2,-20(fp) static ALT_INLINE int ALT_ALWAYS_INLINE alt_irq_enable (alt_u32 id) { alt_irq_context status; extern volatile alt_u32 alt_irq_active; status = alt_irq_disable_all (); 50f78: e0bffc15 stw r2,-16(fp) alt_irq_active |= (1 << id); 50f7c: 00c00044 movi r3,1 50f80: e0bffa17 ldw r2,-24(fp) 50f84: 1884983a sll r2,r3,r2 50f88: 1007883a mov r3,r2 50f8c: d0a72517 ldw r2,-25452(gp) 50f90: 1884b03a or r2,r3,r2 50f94: d0a72515 stw r2,-25452(gp) NIOS2_WRITE_IENABLE (alt_irq_active); 50f98: d0a72517 ldw r2,-25452(gp) 50f9c: 100170fa wrctl ienable,r2 50fa0: e0bffc17 ldw r2,-16(fp) 50fa4: e0bffd15 stw r2,-12(fp) status &= ~NIOS2_STATUS_PIE_MSK; status |= (context & NIOS2_STATUS_PIE_MSK); NIOS2_WRITE_STATUS (status); #else NIOS2_WRITE_STATUS (context); 50fa8: e0bffd17 ldw r2,-12(fp) 50fac: 1001703a wrctl status,r2 alt_irq_enable_all(status); return 0; 50fb0: 0005883a mov r2,zero return alt_irq_enable(irq); 50fb4: 0001883a nop } 50fb8: e037883a mov sp,fp 50fbc: df000017 ldw fp,0(sp) 50fc0: dec00104 addi sp,sp,4 50fc4: f800283a ret 00050fc8 : * @param ic_id Ignored. * @param irq IRQ number * @return 0 if successful, else error (-1) */ int alt_ic_irq_disable(alt_u32 ic_id, alt_u32 irq) { 50fc8: defff904 addi sp,sp,-28 50fcc: df000615 stw fp,24(sp) 50fd0: df000604 addi fp,sp,24 50fd4: e13ffe15 stw r4,-8(fp) 50fd8: e17fff15 stw r5,-4(fp) 50fdc: e0bfff17 ldw r2,-4(fp) 50fe0: e0bffa15 stw r2,-24(fp) static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE alt_irq_disable_all (void) { alt_irq_context context; NIOS2_READ_STATUS (context); 50fe4: 0005303a rdctl r2,status 50fe8: e0bffb15 stw r2,-20(fp) NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK); 50fec: e0fffb17 ldw r3,-20(fp) 50ff0: 00bfff84 movi r2,-2 50ff4: 1884703a and r2,r3,r2 50ff8: 1001703a wrctl status,r2 return context; 50ffc: e0bffb17 ldw r2,-20(fp) static ALT_INLINE int ALT_ALWAYS_INLINE alt_irq_disable (alt_u32 id) { alt_irq_context status; extern volatile alt_u32 alt_irq_active; status = alt_irq_disable_all (); 51000: e0bffc15 stw r2,-16(fp) alt_irq_active &= ~(1 << id); 51004: 00c00044 movi r3,1 51008: e0bffa17 ldw r2,-24(fp) 5100c: 1884983a sll r2,r3,r2 51010: 0084303a nor r2,zero,r2 51014: 1007883a mov r3,r2 51018: d0a72517 ldw r2,-25452(gp) 5101c: 1884703a and r2,r3,r2 51020: d0a72515 stw r2,-25452(gp) NIOS2_WRITE_IENABLE (alt_irq_active); 51024: d0a72517 ldw r2,-25452(gp) 51028: 100170fa wrctl ienable,r2 5102c: e0bffc17 ldw r2,-16(fp) 51030: e0bffd15 stw r2,-12(fp) status &= ~NIOS2_STATUS_PIE_MSK; status |= (context & NIOS2_STATUS_PIE_MSK); NIOS2_WRITE_STATUS (status); #else NIOS2_WRITE_STATUS (context); 51034: e0bffd17 ldw r2,-12(fp) 51038: 1001703a wrctl status,r2 alt_irq_enable_all(status); return 0; 5103c: 0005883a mov r2,zero return alt_irq_disable(irq); 51040: 0001883a nop } 51044: e037883a mov sp,fp 51048: df000017 ldw fp,0(sp) 5104c: dec00104 addi sp,sp,4 51050: f800283a ret 00051054 : * @param irq IRQ number * @return Zero if corresponding interrupt is disabled and * non-zero otherwise. */ alt_u32 alt_ic_irq_enabled(alt_u32 ic_id, alt_u32 irq) { 51054: defffc04 addi sp,sp,-16 51058: df000315 stw fp,12(sp) 5105c: df000304 addi fp,sp,12 51060: e13ffe15 stw r4,-8(fp) 51064: e17fff15 stw r5,-4(fp) alt_u32 irq_enabled; NIOS2_READ_IENABLE(irq_enabled); 51068: 000530fa rdctl r2,ienable 5106c: e0bffd15 stw r2,-12(fp) return (irq_enabled & (1 << irq)) ? 1: 0; 51070: 00c00044 movi r3,1 51074: e0bfff17 ldw r2,-4(fp) 51078: 1884983a sll r2,r3,r2 5107c: 1007883a mov r3,r2 51080: e0bffd17 ldw r2,-12(fp) 51084: 1884703a and r2,r3,r2 51088: 1004c03a cmpne r2,r2,zero 5108c: 10803fcc andi r2,r2,255 } 51090: e037883a mov sp,fp 51094: df000017 ldw fp,0(sp) 51098: dec00104 addi sp,sp,4 5109c: f800283a ret 000510a0 : * @param flags * @return 0 if successful, else error (-1) */ int alt_iic_isr_register(alt_u32 ic_id, alt_u32 irq, alt_isr_func isr, void *isr_context, void *flags) { 510a0: defff504 addi sp,sp,-44 510a4: dfc00a15 stw ra,40(sp) 510a8: df000915 stw fp,36(sp) 510ac: df000904 addi fp,sp,36 510b0: e13ffc15 stw r4,-16(fp) 510b4: e17ffd15 stw r5,-12(fp) 510b8: e1bffe15 stw r6,-8(fp) 510bc: e1ffff15 stw r7,-4(fp) int rc = -EINVAL; 510c0: 00bffa84 movi r2,-22 510c4: e0bff715 stw r2,-36(fp) int id = irq; /* IRQ interpreted as the interrupt ID. */ 510c8: e0bffd17 ldw r2,-12(fp) 510cc: e0bff815 stw r2,-32(fp) alt_irq_context status; if (id < ALT_NIRQ) 510d0: e0bff817 ldw r2,-32(fp) 510d4: 10800808 cmpgei r2,r2,32 510d8: 1000271e bne r2,zero,51178 static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE alt_irq_disable_all (void) { alt_irq_context context; NIOS2_READ_STATUS (context); 510dc: 0005303a rdctl r2,status 510e0: e0bffb15 stw r2,-20(fp) NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK); 510e4: e0fffb17 ldw r3,-20(fp) 510e8: 00bfff84 movi r2,-2 510ec: 1884703a and r2,r3,r2 510f0: 1001703a wrctl status,r2 return context; 510f4: e0bffb17 ldw r2,-20(fp) * interrupts are disabled while the handler tables are updated to ensure * that an interrupt doesn't occur while the tables are in an inconsistant * state. */ status = alt_irq_disable_all(); 510f8: e0bffa15 stw r2,-24(fp) alt_irq[id].handler = isr; 510fc: 00800174 movhi r2,5 51100: 10979104 addi r2,r2,24132 51104: e0fff817 ldw r3,-32(fp) 51108: 180690fa slli r3,r3,3 5110c: 10c5883a add r2,r2,r3 51110: e0fffe17 ldw r3,-8(fp) 51114: 10c00015 stw r3,0(r2) alt_irq[id].context = isr_context; 51118: 00800174 movhi r2,5 5111c: 10979104 addi r2,r2,24132 51120: e0fff817 ldw r3,-32(fp) 51124: 180690fa slli r3,r3,3 51128: 10c5883a add r2,r2,r3 5112c: 10800104 addi r2,r2,4 51130: e0ffff17 ldw r3,-4(fp) 51134: 10c00015 stw r3,0(r2) rc = (isr) ? alt_ic_irq_enable(ic_id, id) : alt_ic_irq_disable(ic_id, id); 51138: e0bffe17 ldw r2,-8(fp) 5113c: 10000526 beq r2,zero,51154 51140: e0bff817 ldw r2,-32(fp) 51144: 100b883a mov r5,r2 51148: e13ffc17 ldw r4,-16(fp) 5114c: 0050f400 call 50f40 51150: 00000406 br 51164 51154: e0bff817 ldw r2,-32(fp) 51158: 100b883a mov r5,r2 5115c: e13ffc17 ldw r4,-16(fp) 51160: 0050fc80 call 50fc8 51164: e0bff715 stw r2,-36(fp) 51168: e0bffa17 ldw r2,-24(fp) 5116c: e0bff915 stw r2,-28(fp) status &= ~NIOS2_STATUS_PIE_MSK; status |= (context & NIOS2_STATUS_PIE_MSK); NIOS2_WRITE_STATUS (status); #else NIOS2_WRITE_STATUS (context); 51170: e0bff917 ldw r2,-28(fp) 51174: 1001703a wrctl status,r2 alt_irq_enable_all(status); } return rc; 51178: e0bff717 ldw r2,-36(fp) } 5117c: e037883a mov sp,fp 51180: dfc00117 ldw ra,4(sp) 51184: df000017 ldw fp,0(sp) 51188: dec00204 addi sp,sp,8 5118c: f800283a ret 00051190 : * If the device can not be succesfully opened, then the input file descriptor * remains unchanged. */ static void alt_open_fd(alt_fd* fd, const char* name, int flags, int mode) { 51190: defff804 addi sp,sp,-32 51194: dfc00715 stw ra,28(sp) 51198: df000615 stw fp,24(sp) 5119c: dc000515 stw r16,20(sp) 511a0: df000604 addi fp,sp,24 511a4: e13ffb15 stw r4,-20(fp) 511a8: e17ffc15 stw r5,-16(fp) 511ac: e1bffd15 stw r6,-12(fp) 511b0: e1fffe15 stw r7,-8(fp) int old; old = open (name, flags, mode); 511b4: e1bffe17 ldw r6,-8(fp) 511b8: e17ffd17 ldw r5,-12(fp) 511bc: e13ffc17 ldw r4,-16(fp) 511c0: 00514180 call 51418 511c4: e0bffa15 stw r2,-24(fp) if (old >= 0) 511c8: e0bffa17 ldw r2,-24(fp) 511cc: 10002216 blt r2,zero,51258 { fd->dev = alt_fd_list[old].dev; 511d0: 04000174 movhi r16,5 511d4: 840b9204 addi r16,r16,11848 511d8: e0bffa17 ldw r2,-24(fp) 511dc: 01400304 movi r5,12 511e0: 1009883a mov r4,r2 511e4: 004d3dc0 call 4d3dc <__mulsi3> 511e8: 8085883a add r2,r16,r2 511ec: 10c00017 ldw r3,0(r2) 511f0: e0bffb17 ldw r2,-20(fp) 511f4: 10c00015 stw r3,0(r2) fd->priv = alt_fd_list[old].priv; 511f8: 04000174 movhi r16,5 511fc: 840b9204 addi r16,r16,11848 51200: e0bffa17 ldw r2,-24(fp) 51204: 01400304 movi r5,12 51208: 1009883a mov r4,r2 5120c: 004d3dc0 call 4d3dc <__mulsi3> 51210: 8085883a add r2,r16,r2 51214: 10800104 addi r2,r2,4 51218: 10c00017 ldw r3,0(r2) 5121c: e0bffb17 ldw r2,-20(fp) 51220: 10c00115 stw r3,4(r2) fd->fd_flags = alt_fd_list[old].fd_flags; 51224: 04000174 movhi r16,5 51228: 840b9204 addi r16,r16,11848 5122c: e0bffa17 ldw r2,-24(fp) 51230: 01400304 movi r5,12 51234: 1009883a mov r4,r2 51238: 004d3dc0 call 4d3dc <__mulsi3> 5123c: 8085883a add r2,r16,r2 51240: 10800204 addi r2,r2,8 51244: 10c00017 ldw r3,0(r2) 51248: e0bffb17 ldw r2,-20(fp) 5124c: 10c00215 stw r3,8(r2) alt_release_fd (old); 51250: e13ffa17 ldw r4,-24(fp) 51254: 004ee940 call 4ee94 } } 51258: 0001883a nop 5125c: e6ffff04 addi sp,fp,-4 51260: dfc00217 ldw ra,8(sp) 51264: df000117 ldw fp,4(sp) 51268: dc000017 ldw r16,0(sp) 5126c: dec00304 addi sp,sp,12 51270: f800283a ret 00051274 : */ void alt_io_redirect(const char* stdout_dev, const char* stdin_dev, const char* stderr_dev) { 51274: defffb04 addi sp,sp,-20 51278: dfc00415 stw ra,16(sp) 5127c: df000315 stw fp,12(sp) 51280: df000304 addi fp,sp,12 51284: e13ffd15 stw r4,-12(fp) 51288: e17ffe15 stw r5,-8(fp) 5128c: e1bfff15 stw r6,-4(fp) /* Redirect the channels */ alt_open_fd (&alt_fd_list[STDOUT_FILENO], stdout_dev, O_WRONLY, 0777); 51290: 01c07fc4 movi r7,511 51294: 01800044 movi r6,1 51298: e17ffd17 ldw r5,-12(fp) 5129c: 01000174 movhi r4,5 512a0: 210b9504 addi r4,r4,11860 512a4: 00511900 call 51190 alt_open_fd (&alt_fd_list[STDIN_FILENO], stdin_dev, O_RDONLY, 0777); 512a8: 01c07fc4 movi r7,511 512ac: 000d883a mov r6,zero 512b0: e17ffe17 ldw r5,-8(fp) 512b4: 01000174 movhi r4,5 512b8: 210b9204 addi r4,r4,11848 512bc: 00511900 call 51190 alt_open_fd (&alt_fd_list[STDERR_FILENO], stderr_dev, O_WRONLY, 0777); 512c0: 01c07fc4 movi r7,511 512c4: 01800044 movi r6,1 512c8: e17fff17 ldw r5,-4(fp) 512cc: 01000174 movhi r4,5 512d0: 210b9804 addi r4,r4,11872 512d4: 00511900 call 51190 } 512d8: 0001883a nop 512dc: e037883a mov sp,fp 512e0: dfc00117 ldw ra,4(sp) 512e4: df000017 ldw fp,0(sp) 512e8: dec00204 addi sp,sp,8 512ec: f800283a ret 000512f0 : #undef errno extern int errno; static ALT_INLINE int* alt_get_errno(void) { 512f0: defffe04 addi sp,sp,-8 512f4: dfc00115 stw ra,4(sp) 512f8: df000015 stw fp,0(sp) 512fc: d839883a mov fp,sp return ((alt_errno) ? alt_errno() : &errno); 51300: d0a00b17 ldw r2,-32724(gp) 51304: 10000326 beq r2,zero,51314 51308: d0a00b17 ldw r2,-32724(gp) 5130c: 103ee83a callr r2 51310: 00000106 br 51318 51314: d0a72104 addi r2,gp,-25468 } 51318: e037883a mov sp,fp 5131c: dfc00117 ldw ra,4(sp) 51320: df000017 ldw fp,0(sp) 51324: dec00204 addi sp,sp,8 51328: f800283a ret 0005132c : * performed for devices. Filesystems are required to handle the ioctl() call * themselves, and report the error from the filesystems open() function. */ static int alt_file_locked (alt_fd* fd) { 5132c: defffb04 addi sp,sp,-20 51330: dfc00415 stw ra,16(sp) 51334: df000315 stw fp,12(sp) 51338: dc000215 stw r16,8(sp) 5133c: df000304 addi fp,sp,12 51340: e13ffe15 stw r4,-8(fp) /* * Mark the file descriptor as belonging to a device. */ fd->fd_flags |= ALT_FD_DEV; 51344: e0bffe17 ldw r2,-8(fp) 51348: 10800217 ldw r2,8(r2) 5134c: 10d00034 orhi r3,r2,16384 51350: e0bffe17 ldw r2,-8(fp) 51354: 10c00215 stw r3,8(r2) /* * Loop through all current file descriptors searching for one that's locked * for exclusive access. If a match is found, generate an error. */ for (i = 0; i <= alt_max_fd; i++) 51358: e03ffd15 stw zero,-12(fp) 5135c: 00002306 br 513ec { if ((alt_fd_list[i].dev == fd->dev) && 51360: 04000174 movhi r16,5 51364: 840b9204 addi r16,r16,11848 51368: e0bffd17 ldw r2,-12(fp) 5136c: 01400304 movi r5,12 51370: 1009883a mov r4,r2 51374: 004d3dc0 call 4d3dc <__mulsi3> 51378: 8085883a add r2,r16,r2 5137c: 10c00017 ldw r3,0(r2) 51380: e0bffe17 ldw r2,-8(fp) 51384: 10800017 ldw r2,0(r2) 51388: 1880151e bne r3,r2,513e0 (alt_fd_list[i].fd_flags & ALT_FD_EXCL) && 5138c: 04000174 movhi r16,5 51390: 840b9204 addi r16,r16,11848 51394: e0bffd17 ldw r2,-12(fp) 51398: 01400304 movi r5,12 5139c: 1009883a mov r4,r2 513a0: 004d3dc0 call 4d3dc <__mulsi3> 513a4: 8085883a add r2,r16,r2 513a8: 10800204 addi r2,r2,8 513ac: 10800017 ldw r2,0(r2) * for exclusive access. If a match is found, generate an error. */ for (i = 0; i <= alt_max_fd; i++) { if ((alt_fd_list[i].dev == fd->dev) && 513b0: 10000b0e bge r2,zero,513e0 (alt_fd_list[i].fd_flags & ALT_FD_EXCL) && (&alt_fd_list[i] != fd)) 513b4: 01400304 movi r5,12 513b8: e13ffd17 ldw r4,-12(fp) 513bc: 004d3dc0 call 4d3dc <__mulsi3> 513c0: 1007883a mov r3,r2 513c4: 00800174 movhi r2,5 513c8: 108b9204 addi r2,r2,11848 513cc: 1887883a add r3,r3,r2 */ for (i = 0; i <= alt_max_fd; i++) { if ((alt_fd_list[i].dev == fd->dev) && (alt_fd_list[i].fd_flags & ALT_FD_EXCL) && 513d0: e0bffe17 ldw r2,-8(fp) 513d4: 18800226 beq r3,r2,513e0 (&alt_fd_list[i] != fd)) { return -EACCES; 513d8: 00bffcc4 movi r2,-13 513dc: 00000806 br 51400 /* * Loop through all current file descriptors searching for one that's locked * for exclusive access. If a match is found, generate an error. */ for (i = 0; i <= alt_max_fd; i++) 513e0: e0bffd17 ldw r2,-12(fp) 513e4: 10800044 addi r2,r2,1 513e8: e0bffd15 stw r2,-12(fp) 513ec: d0a00a17 ldw r2,-32728(gp) 513f0: 1007883a mov r3,r2 513f4: e0bffd17 ldw r2,-12(fp) 513f8: 18bfd92e bgeu r3,r2,51360 <__alt_data_end+0xfffdf360> } } /* The device is not locked */ return 0; 513fc: 0005883a mov r2,zero } 51400: e6ffff04 addi sp,fp,-4 51404: dfc00217 ldw ra,8(sp) 51408: df000117 ldw fp,4(sp) 5140c: dc000017 ldw r16,0(sp) 51410: dec00304 addi sp,sp,12 51414: f800283a ret 00051418 : * * ALT_OPEN is mapped onto the open() system call in alt_syscall.h */ int ALT_OPEN (const char* file, int flags, int mode) { 51418: defff604 addi sp,sp,-40 5141c: dfc00915 stw ra,36(sp) 51420: df000815 stw fp,32(sp) 51424: df000804 addi fp,sp,32 51428: e13ffd15 stw r4,-12(fp) 5142c: e17ffe15 stw r5,-8(fp) 51430: e1bfff15 stw r6,-4(fp) alt_dev* dev; alt_fd* fd; int index = -1; 51434: 00bfffc4 movi r2,-1 51438: e0bff915 stw r2,-28(fp) int status = -ENODEV; 5143c: 00bffb44 movi r2,-19 51440: e0bffa15 stw r2,-24(fp) int isafs = 0; 51444: e03ffb15 stw zero,-20(fp) /* * Check the device list, to see if a device with a matching name is * registered. */ if (!(dev = alt_find_dev (file, &alt_dev_list))) 51448: d1600804 addi r5,gp,-32736 5144c: e13ffd17 ldw r4,-12(fp) 51450: 00518c40 call 518c4 51454: e0bff815 stw r2,-32(fp) 51458: e0bff817 ldw r2,-32(fp) 5145c: 1000051e bne r2,zero,51474 { /* No matching device, so try the filesystem list */ dev = alt_find_file (file); 51460: e13ffd17 ldw r4,-12(fp) 51464: 00519540 call 51954 51468: e0bff815 stw r2,-32(fp) isafs = 1; 5146c: 00800044 movi r2,1 51470: e0bffb15 stw r2,-20(fp) /* * If a matching device or filesystem is found, allocate a file descriptor. */ if (dev) 51474: e0bff817 ldw r2,-32(fp) 51478: 10002b26 beq r2,zero,51528 { if ((index = alt_get_fd (dev)) < 0) 5147c: e13ff817 ldw r4,-32(fp) 51480: 0051a5c0 call 51a5c 51484: e0bff915 stw r2,-28(fp) 51488: e0bff917 ldw r2,-28(fp) 5148c: 1000030e bge r2,zero,5149c { status = index; 51490: e0bff917 ldw r2,-28(fp) 51494: e0bffa15 stw r2,-24(fp) 51498: 00002506 br 51530 } else { fd = &alt_fd_list[index]; 5149c: 01400304 movi r5,12 514a0: e13ff917 ldw r4,-28(fp) 514a4: 004d3dc0 call 4d3dc <__mulsi3> 514a8: 1007883a mov r3,r2 514ac: 00800174 movhi r2,5 514b0: 108b9204 addi r2,r2,11848 514b4: 1885883a add r2,r3,r2 514b8: e0bffc15 stw r2,-16(fp) fd->fd_flags = (flags & ~ALT_FD_FLAGS_MASK); 514bc: e0fffe17 ldw r3,-8(fp) 514c0: 00900034 movhi r2,16384 514c4: 10bfffc4 addi r2,r2,-1 514c8: 1886703a and r3,r3,r2 514cc: e0bffc17 ldw r2,-16(fp) 514d0: 10c00215 stw r3,8(r2) /* If this is a device, ensure it isn't already locked */ if (isafs || ((status = alt_file_locked (fd)) >= 0)) 514d4: e0bffb17 ldw r2,-20(fp) 514d8: 1000051e bne r2,zero,514f0 514dc: e13ffc17 ldw r4,-16(fp) 514e0: 005132c0 call 5132c 514e4: e0bffa15 stw r2,-24(fp) 514e8: e0bffa17 ldw r2,-24(fp) 514ec: 10001016 blt r2,zero,51530 /* * If the device or filesystem provides an open() callback function, * call it now to perform any device/filesystem specific operations. */ status = (dev->open) ? dev->open(fd, file, flags, mode): 0; 514f0: e0bff817 ldw r2,-32(fp) 514f4: 10800317 ldw r2,12(r2) 514f8: 10000826 beq r2,zero,5151c 514fc: e0bff817 ldw r2,-32(fp) 51500: 10800317 ldw r2,12(r2) 51504: e1ffff17 ldw r7,-4(fp) 51508: e1bffe17 ldw r6,-8(fp) 5150c: e17ffd17 ldw r5,-12(fp) 51510: e13ffc17 ldw r4,-16(fp) 51514: 103ee83a callr r2 51518: 00000106 br 51520 5151c: 0005883a mov r2,zero 51520: e0bffa15 stw r2,-24(fp) 51524: 00000206 br 51530 } } } else { status = -ENODEV; 51528: 00bffb44 movi r2,-19 5152c: e0bffa15 stw r2,-24(fp) } /* Allocation failed, so clean up and return an error */ if (status < 0) 51530: e0bffa17 ldw r2,-24(fp) 51534: 1000090e bge r2,zero,5155c { alt_release_fd (index); 51538: e13ff917 ldw r4,-28(fp) 5153c: 004ee940 call 4ee94 ALT_ERRNO = -status; 51540: 00512f00 call 512f0 51544: 1007883a mov r3,r2 51548: e0bffa17 ldw r2,-24(fp) 5154c: 0085c83a sub r2,zero,r2 51550: 18800015 stw r2,0(r3) return -1; 51554: 00bfffc4 movi r2,-1 51558: 00000106 br 51560 } /* return the reference upon success */ return index; 5155c: e0bff917 ldw r2,-28(fp) } 51560: e037883a mov sp,fp 51564: dfc00117 ldw ra,4(sp) 51568: df000017 ldw fp,0(sp) 5156c: dec00204 addi sp,sp,8 51570: f800283a ret 00051574 : * alarms. Alternatively an alarm can unregister itself by returning zero when * the alarm executes. */ void alt_alarm_stop (alt_alarm* alarm) { 51574: defffa04 addi sp,sp,-24 51578: df000515 stw fp,20(sp) 5157c: df000504 addi fp,sp,20 51580: e13fff15 stw r4,-4(fp) static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE alt_irq_disable_all (void) { alt_irq_context context; NIOS2_READ_STATUS (context); 51584: 0005303a rdctl r2,status 51588: e0bffc15 stw r2,-16(fp) NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK); 5158c: e0fffc17 ldw r3,-16(fp) 51590: 00bfff84 movi r2,-2 51594: 1884703a and r2,r3,r2 51598: 1001703a wrctl status,r2 return context; 5159c: e0bffc17 ldw r2,-16(fp) alt_irq_context irq_context; irq_context = alt_irq_disable_all(); 515a0: e0bffb15 stw r2,-20(fp) alt_llist_remove (&alarm->llist); 515a4: e0bfff17 ldw r2,-4(fp) 515a8: e0bffd15 stw r2,-12(fp) * input argument is the element to remove. */ static ALT_INLINE void ALT_ALWAYS_INLINE alt_llist_remove(alt_llist* entry) { entry->next->previous = entry->previous; 515ac: e0bffd17 ldw r2,-12(fp) 515b0: 10800017 ldw r2,0(r2) 515b4: e0fffd17 ldw r3,-12(fp) 515b8: 18c00117 ldw r3,4(r3) 515bc: 10c00115 stw r3,4(r2) entry->previous->next = entry->next; 515c0: e0bffd17 ldw r2,-12(fp) 515c4: 10800117 ldw r2,4(r2) 515c8: e0fffd17 ldw r3,-12(fp) 515cc: 18c00017 ldw r3,0(r3) 515d0: 10c00015 stw r3,0(r2) /* * Set the entry to point to itself, so that any further calls to * alt_llist_remove() are harmless. */ entry->previous = entry; 515d4: e0bffd17 ldw r2,-12(fp) 515d8: e0fffd17 ldw r3,-12(fp) 515dc: 10c00115 stw r3,4(r2) entry->next = entry; 515e0: e0bffd17 ldw r2,-12(fp) 515e4: e0fffd17 ldw r3,-12(fp) 515e8: 10c00015 stw r3,0(r2) 515ec: e0bffb17 ldw r2,-20(fp) 515f0: e0bffe15 stw r2,-8(fp) status &= ~NIOS2_STATUS_PIE_MSK; status |= (context & NIOS2_STATUS_PIE_MSK); NIOS2_WRITE_STATUS (status); #else NIOS2_WRITE_STATUS (context); 515f4: e0bffe17 ldw r2,-8(fp) 515f8: 1001703a wrctl status,r2 alt_irq_enable_all (irq_context); } 515fc: 0001883a nop 51600: e037883a mov sp,fp 51604: df000017 ldw fp,0(sp) 51608: dec00104 addi sp,sp,4 5160c: f800283a ret 00051610 : * * alt_tick() is expected to run at interrupt level. */ void alt_tick (void) { 51610: defffb04 addi sp,sp,-20 51614: dfc00415 stw ra,16(sp) 51618: df000315 stw fp,12(sp) 5161c: df000304 addi fp,sp,12 alt_alarm* next; alt_alarm* alarm = (alt_alarm*) alt_alarm_list.next; 51620: d0a00f17 ldw r2,-32708(gp) 51624: e0bffd15 stw r2,-12(fp) alt_u32 next_callback; /* update the tick counter */ _alt_nticks++; 51628: d0a72717 ldw r2,-25444(gp) 5162c: 10800044 addi r2,r2,1 51630: d0a72715 stw r2,-25444(gp) /* process the registered callbacks */ while (alarm != (alt_alarm*) &alt_alarm_list) 51634: 00002e06 br 516f0 { next = (alt_alarm*) alarm->llist.next; 51638: e0bffd17 ldw r2,-12(fp) 5163c: 10800017 ldw r2,0(r2) 51640: e0bffe15 stw r2,-8(fp) /* * Upon the tick-counter rolling over it is safe to clear the * roll-over flag; once the flag is cleared this (or subsequnt) * tick events are enabled to generate an alarm event. */ if ((alarm->rollover) && (_alt_nticks == 0)) 51644: e0bffd17 ldw r2,-12(fp) 51648: 10800403 ldbu r2,16(r2) 5164c: 10803fcc andi r2,r2,255 51650: 10000426 beq r2,zero,51664 51654: d0a72717 ldw r2,-25444(gp) 51658: 1000021e bne r2,zero,51664 { alarm->rollover = 0; 5165c: e0bffd17 ldw r2,-12(fp) 51660: 10000405 stb zero,16(r2) } /* if the alarm period has expired, make the callback */ if ((alarm->time <= _alt_nticks) && (alarm->rollover == 0)) 51664: e0bffd17 ldw r2,-12(fp) 51668: 10800217 ldw r2,8(r2) 5166c: d0e72717 ldw r3,-25444(gp) 51670: 18801d36 bltu r3,r2,516e8 51674: e0bffd17 ldw r2,-12(fp) 51678: 10800403 ldbu r2,16(r2) 5167c: 10803fcc andi r2,r2,255 51680: 1000191e bne r2,zero,516e8 { next_callback = alarm->callback (alarm->context); 51684: e0bffd17 ldw r2,-12(fp) 51688: 10800317 ldw r2,12(r2) 5168c: e0fffd17 ldw r3,-12(fp) 51690: 18c00517 ldw r3,20(r3) 51694: 1809883a mov r4,r3 51698: 103ee83a callr r2 5169c: e0bfff15 stw r2,-4(fp) /* deactivate the alarm if the return value is zero */ if (next_callback == 0) 516a0: e0bfff17 ldw r2,-4(fp) 516a4: 1000031e bne r2,zero,516b4 { alt_alarm_stop (alarm); 516a8: e13ffd17 ldw r4,-12(fp) 516ac: 00515740 call 51574 516b0: 00000d06 br 516e8 } else { alarm->time += next_callback; 516b4: e0bffd17 ldw r2,-12(fp) 516b8: 10c00217 ldw r3,8(r2) 516bc: e0bfff17 ldw r2,-4(fp) 516c0: 1887883a add r3,r3,r2 516c4: e0bffd17 ldw r2,-12(fp) 516c8: 10c00215 stw r3,8(r2) /* * If the desired alarm time causes a roll-over, set the rollover * flag. This will prevent the subsequent tick event from causing * an alarm too early. */ if(alarm->time < _alt_nticks) 516cc: e0bffd17 ldw r2,-12(fp) 516d0: 10c00217 ldw r3,8(r2) 516d4: d0a72717 ldw r2,-25444(gp) 516d8: 1880032e bgeu r3,r2,516e8 { alarm->rollover = 1; 516dc: e0bffd17 ldw r2,-12(fp) 516e0: 00c00044 movi r3,1 516e4: 10c00405 stb r3,16(r2) } } } alarm = next; 516e8: e0bffe17 ldw r2,-8(fp) 516ec: e0bffd15 stw r2,-12(fp) _alt_nticks++; /* process the registered callbacks */ while (alarm != (alt_alarm*) &alt_alarm_list) 516f0: e0fffd17 ldw r3,-12(fp) 516f4: d0a00f04 addi r2,gp,-32708 516f8: 18bfcf1e bne r3,r2,51638 <__alt_data_end+0xfffdf638> /* * Update the operating system specific timer facilities. */ ALT_OS_TIME_TICK(); 516fc: 0001883a nop } 51700: 0001883a nop 51704: e037883a mov sp,fp 51708: dfc00117 ldw ra,4(sp) 5170c: df000017 ldw fp,0(sp) 51710: dec00204 addi sp,sp,8 51714: f800283a ret 00051718 : #if defined (__GNUC__) && __GNUC__ >= 4 int ALT_USLEEP (useconds_t us) #else unsigned int ALT_USLEEP (unsigned int us) #endif { 51718: defffd04 addi sp,sp,-12 5171c: dfc00215 stw ra,8(sp) 51720: df000115 stw fp,4(sp) 51724: df000104 addi fp,sp,4 51728: e13fff15 stw r4,-4(fp) return alt_busy_sleep(us); 5172c: e13fff17 ldw r4,-4(fp) 51730: 005176c0 call 5176c } 51734: e037883a mov sp,fp 51738: dfc00117 ldw ra,4(sp) 5173c: df000017 ldw fp,0(sp) 51740: dec00204 addi sp,sp,8 51744: f800283a ret 00051748 : /* * To initialize the internal interrupt controller, just clear the IENABLE * register so that all possible IRQs are disabled. */ void altera_nios2_gen2_irq_init(void) { 51748: deffff04 addi sp,sp,-4 5174c: df000015 stw fp,0(sp) 51750: d839883a mov fp,sp NIOS2_WRITE_IENABLE(0); 51754: 000170fa wrctl ienable,zero } 51758: 0001883a nop 5175c: e037883a mov sp,fp 51760: df000017 ldw fp,0(sp) 51764: dec00104 addi sp,sp,4 51768: f800283a ret 0005176c : #include "alt_types.h" #include "priv/alt_busy_sleep.h" unsigned int alt_busy_sleep (unsigned int us) { 5176c: defffa04 addi sp,sp,-24 51770: dfc00515 stw ra,20(sp) 51774: df000415 stw fp,16(sp) 51778: df000404 addi fp,sp,16 5177c: e13fff15 stw r4,-4(fp) int big_loops; alt_u32 cycles_per_loop; if (!strcmp(NIOS2_CPU_IMPLEMENTATION,"tiny")) { cycles_per_loop = 9; 51780: 00800244 movi r2,9 51784: e0bffd15 stw r2,-12(fp) cycles_per_loop = 3; } big_loops = us / (INT_MAX/ (ALT_CPU_FREQ/(cycles_per_loop * 1000000))); 51788: 014003f4 movhi r5,15 5178c: 29509004 addi r5,r5,16960 51790: e13ffd17 ldw r4,-12(fp) 51794: 004d3dc0 call 4d3dc <__mulsi3> 51798: 100b883a mov r5,r2 5179c: 0100bef4 movhi r4,763 517a0: 213c2004 addi r4,r4,-3968 517a4: 004d3200 call 4d320 <__udivsi3> { cycles_per_loop = 3; } big_loops = us / (INT_MAX/ 517a8: 100b883a mov r5,r2 517ac: 01200034 movhi r4,32768 517b0: 213fffc4 addi r4,r4,-1 517b4: 004d3200 call 4d320 <__udivsi3> 517b8: 100b883a mov r5,r2 517bc: e13fff17 ldw r4,-4(fp) 517c0: 004d3200 call 4d320 <__udivsi3> 517c4: e0bffe15 stw r2,-8(fp) (ALT_CPU_FREQ/(cycles_per_loop * 1000000))); if (big_loops) 517c8: e0bffe17 ldw r2,-8(fp) 517cc: 10002a26 beq r2,zero,51878 { for(i=0;i /* * Do NOT Try to single step the asm statement below * (single step will never return) * Step out of this function or set a breakpoint after the asm statements */ __asm__ volatile ( 517d8: 00a00034 movhi r2,32768 517dc: 10bfffc4 addi r2,r2,-1 517e0: 10bfffc4 addi r2,r2,-1 517e4: 103ffe1e bne r2,zero,517e0 <__alt_data_end+0xfffdf7e0> "\n\t.pushsection .debug_alt_sim_info" "\n\t.int 4, 0, 0b, 1b" "\n\t.popsection" :: "r" (INT_MAX)); us -= (INT_MAX/(ALT_CPU_FREQ/ (cycles_per_loop * 1000000))); 517e8: 014003f4 movhi r5,15 517ec: 29509004 addi r5,r5,16960 517f0: e13ffd17 ldw r4,-12(fp) 517f4: 004d3dc0 call 4d3dc <__mulsi3> "\n1:" "\n\t.pushsection .debug_alt_sim_info" "\n\t.int 4, 0, 0b, 1b" "\n\t.popsection" :: "r" (INT_MAX)); us -= (INT_MAX/(ALT_CPU_FREQ/ 517f8: 100b883a mov r5,r2 517fc: 0100bef4 movhi r4,763 51800: 213c2004 addi r4,r4,-3968 51804: 004d3200 call 4d320 <__udivsi3> 51808: 100b883a mov r5,r2 5180c: 01200034 movhi r4,32768 51810: 213fffc4 addi r4,r4,-1 51814: 004d3200 call 4d320 <__udivsi3> 51818: 1007883a mov r3,r2 5181c: e0bfff17 ldw r2,-4(fp) 51820: 10c5c83a sub r2,r2,r3 51824: e0bfff15 stw r2,-4(fp) big_loops = us / (INT_MAX/ (ALT_CPU_FREQ/(cycles_per_loop * 1000000))); if (big_loops) { for(i=0;i "\n\tbne %0,zero,0b" "\n1:" "\n\t.pushsection .debug_alt_sim_info" "\n\t.int 4, 0, 0b, 1b" "\n\t.popsection" :: "r" (us*(ALT_CPU_FREQ/(cycles_per_loop * 1000000)))); 51840: 014003f4 movhi r5,15 51844: 29509004 addi r5,r5,16960 51848: e13ffd17 ldw r4,-12(fp) 5184c: 004d3dc0 call 4d3dc <__mulsi3> 51850: 100b883a mov r5,r2 51854: 0100bef4 movhi r4,763 51858: 213c2004 addi r4,r4,-3968 5185c: 004d3200 call 4d320 <__udivsi3> 51860: e17fff17 ldw r5,-4(fp) 51864: 1009883a mov r4,r2 51868: 004d3dc0 call 4d3dc <__mulsi3> /* * Do NOT Try to single step the asm statement below * (single step will never return) * Step out of this function or set a breakpoint after the asm statements */ __asm__ volatile ( 5186c: 10bfffc4 addi r2,r2,-1 51870: 103ffe1e bne r2,zero,5186c <__alt_data_end+0xfffdf86c> 51874: 00000d06 br 518ac "\n\tbgt %0,zero,0b" "\n1:" "\n\t.pushsection .debug_alt_sim_info" "\n\t.int 4, 0, 0b, 1b" "\n\t.popsection" :: "r" (us*(ALT_CPU_FREQ/(cycles_per_loop * 1000000)))); 51878: 014003f4 movhi r5,15 5187c: 29509004 addi r5,r5,16960 51880: e13ffd17 ldw r4,-12(fp) 51884: 004d3dc0 call 4d3dc <__mulsi3> 51888: 100b883a mov r5,r2 5188c: 0100bef4 movhi r4,763 51890: 213c2004 addi r4,r4,-3968 51894: 004d3200 call 4d320 <__udivsi3> 51898: e17fff17 ldw r5,-4(fp) 5189c: 1009883a mov r4,r2 518a0: 004d3dc0 call 4d3dc <__mulsi3> /* * Do NOT Try to single step the asm statement below * (single step will never return) * Step out of this function or set a breakpoint after the asm statements */ __asm__ volatile ( 518a4: 10bfffc4 addi r2,r2,-1 518a8: 00bffe16 blt zero,r2,518a4 <__alt_data_end+0xfffdf8a4> "\n\t.int 4, 0, 0b, 1b" "\n\t.popsection" :: "r" (us*(ALT_CPU_FREQ/(cycles_per_loop * 1000000)))); } #endif /* #ifndef ALT_SIM_OPTIMIZE */ return 0; 518ac: 0005883a mov r2,zero } 518b0: e037883a mov sp,fp 518b4: dfc00117 ldw ra,4(sp) 518b8: df000017 ldw fp,0(sp) 518bc: dec00204 addi sp,sp,8 518c0: f800283a ret 000518c4 : * "name" must be an exact match for the devices registered name for a match to * be found. */ alt_dev* alt_find_dev(const char* name, alt_llist* llist) { 518c4: defffa04 addi sp,sp,-24 518c8: dfc00515 stw ra,20(sp) 518cc: df000415 stw fp,16(sp) 518d0: df000404 addi fp,sp,16 518d4: e13ffe15 stw r4,-8(fp) 518d8: e17fff15 stw r5,-4(fp) alt_dev* next = (alt_dev*) llist->next; 518dc: e0bfff17 ldw r2,-4(fp) 518e0: 10800017 ldw r2,0(r2) 518e4: e0bffc15 stw r2,-16(fp) alt_32 len; len = strlen(name) + 1; 518e8: e13ffe17 ldw r4,-8(fp) 518ec: 0042d400 call 42d40 518f0: 10800044 addi r2,r2,1 518f4: e0bffd15 stw r2,-12(fp) /* * Check each list entry in turn, until a match is found, or we reach the * end of the list (i.e. next winds up pointing back to the list head). */ while (next != (alt_dev*) llist) 518f8: 00000d06 br 51930 /* * memcmp() is used here rather than strcmp() in order to reduce the size * of the executable. */ if (!memcmp (next->name, name, len)) 518fc: e0bffc17 ldw r2,-16(fp) 51900: 10800217 ldw r2,8(r2) 51904: e0fffd17 ldw r3,-12(fp) 51908: 180d883a mov r6,r3 5190c: e17ffe17 ldw r5,-8(fp) 51910: 1009883a mov r4,r2 51914: 0051c080 call 51c08 51918: 1000021e bne r2,zero,51924 { /* match found */ return next; 5191c: e0bffc17 ldw r2,-16(fp) 51920: 00000706 br 51940 } next = (alt_dev*) next->llist.next; 51924: e0bffc17 ldw r2,-16(fp) 51928: 10800017 ldw r2,0(r2) 5192c: e0bffc15 stw r2,-16(fp) /* * Check each list entry in turn, until a match is found, or we reach the * end of the list (i.e. next winds up pointing back to the list head). */ while (next != (alt_dev*) llist) 51930: e0fffc17 ldw r3,-16(fp) 51934: e0bfff17 ldw r2,-4(fp) 51938: 18bff01e bne r3,r2,518fc <__alt_data_end+0xfffdf8fc> next = (alt_dev*) next->llist.next; } /* No match found */ return NULL; 5193c: 0005883a mov r2,zero } 51940: e037883a mov sp,fp 51944: dfc00117 ldw ra,4(sp) 51948: df000017 ldw fp,0(sp) 5194c: dec00204 addi sp,sp,8 51950: f800283a ret 00051954 : * either '/' or '\0' is the prefix of the filename. For example the filename: * "/myfilesystem/junk.txt" would match: "/myfilesystem", but not: "/myfile". */ alt_dev* alt_find_file (const char* name) { 51954: defffb04 addi sp,sp,-20 51958: dfc00415 stw ra,16(sp) 5195c: df000315 stw fp,12(sp) 51960: df000304 addi fp,sp,12 51964: e13fff15 stw r4,-4(fp) alt_dev* next = (alt_dev*) alt_fs_list.next; 51968: d0a00617 ldw r2,-32744(gp) 5196c: e0bffd15 stw r2,-12(fp) /* * Check each list entry in turn, until a match is found, or we reach the * end of the list (i.e. next winds up pointing back to the list head). */ while (next != (alt_dev*) &alt_fs_list) 51970: 00003106 br 51a38 { len = strlen(next->name); 51974: e0bffd17 ldw r2,-12(fp) 51978: 10800217 ldw r2,8(r2) 5197c: 1009883a mov r4,r2 51980: 0042d400 call 42d40 51984: e0bffe15 stw r2,-8(fp) if (next->name[len-1] == '/') 51988: e0bffd17 ldw r2,-12(fp) 5198c: 10c00217 ldw r3,8(r2) 51990: e0bffe17 ldw r2,-8(fp) 51994: 10bfffc4 addi r2,r2,-1 51998: 1885883a add r2,r3,r2 5199c: 10800003 ldbu r2,0(r2) 519a0: 10803fcc andi r2,r2,255 519a4: 1080201c xori r2,r2,128 519a8: 10bfe004 addi r2,r2,-128 519ac: 10800bd8 cmpnei r2,r2,47 519b0: 1000031e bne r2,zero,519c0 { len -= 1; 519b4: e0bffe17 ldw r2,-8(fp) 519b8: 10bfffc4 addi r2,r2,-1 519bc: e0bffe15 stw r2,-8(fp) } if (((name[len] == '/') || (name[len] == '\0')) && 519c0: e0bffe17 ldw r2,-8(fp) 519c4: e0ffff17 ldw r3,-4(fp) 519c8: 1885883a add r2,r3,r2 519cc: 10800003 ldbu r2,0(r2) 519d0: 10803fcc andi r2,r2,255 519d4: 1080201c xori r2,r2,128 519d8: 10bfe004 addi r2,r2,-128 519dc: 10800be0 cmpeqi r2,r2,47 519e0: 1000081e bne r2,zero,51a04 519e4: e0bffe17 ldw r2,-8(fp) 519e8: e0ffff17 ldw r3,-4(fp) 519ec: 1885883a add r2,r3,r2 519f0: 10800003 ldbu r2,0(r2) 519f4: 10803fcc andi r2,r2,255 519f8: 1080201c xori r2,r2,128 519fc: 10bfe004 addi r2,r2,-128 51a00: 10000a1e bne r2,zero,51a2c !memcmp (next->name, name, len)) 51a04: e0bffd17 ldw r2,-12(fp) 51a08: 10800217 ldw r2,8(r2) 51a0c: e0fffe17 ldw r3,-8(fp) 51a10: 180d883a mov r6,r3 51a14: e17fff17 ldw r5,-4(fp) 51a18: 1009883a mov r4,r2 51a1c: 0051c080 call 51c08 if (next->name[len-1] == '/') { len -= 1; } if (((name[len] == '/') || (name[len] == '\0')) && 51a20: 1000021e bne r2,zero,51a2c !memcmp (next->name, name, len)) { /* match found */ return next; 51a24: e0bffd17 ldw r2,-12(fp) 51a28: 00000706 br 51a48 } next = (alt_dev*) next->llist.next; 51a2c: e0bffd17 ldw r2,-12(fp) 51a30: 10800017 ldw r2,0(r2) 51a34: e0bffd15 stw r2,-12(fp) /* * Check each list entry in turn, until a match is found, or we reach the * end of the list (i.e. next winds up pointing back to the list head). */ while (next != (alt_dev*) &alt_fs_list) 51a38: e0fffd17 ldw r3,-12(fp) 51a3c: d0a00604 addi r2,gp,-32744 51a40: 18bfcc1e bne r3,r2,51974 <__alt_data_end+0xfffdf974> next = (alt_dev*) next->llist.next; } /* No match found */ return NULL; 51a44: 0005883a mov r2,zero } 51a48: e037883a mov sp,fp 51a4c: dfc00117 ldw ra,4(sp) 51a50: df000017 ldw fp,0(sp) 51a54: dec00204 addi sp,sp,8 51a58: f800283a ret 00051a5c : * the offset of the file descriptor within the file descriptor array). A * negative value indicates failure. */ int alt_get_fd (alt_dev* dev) { 51a5c: defffa04 addi sp,sp,-24 51a60: dfc00515 stw ra,20(sp) 51a64: df000415 stw fp,16(sp) 51a68: dc000315 stw r16,12(sp) 51a6c: df000404 addi fp,sp,16 51a70: e13ffe15 stw r4,-8(fp) alt_32 i; int rc = -EMFILE; 51a74: 00bffa04 movi r2,-24 51a78: e0bffd15 stw r2,-12(fp) * indicates the highest file descriptor ever allocated. This is used to * improve efficency when searching the file descriptor list, and * therefore reduce contention on the alt_fd_list_lock semaphore. */ for (i = 0; i < ALT_MAX_FD; i++) 51a7c: e03ffc15 stw zero,-16(fp) 51a80: 00001d06 br 51af8 { if (!alt_fd_list[i].dev) 51a84: 04000174 movhi r16,5 51a88: 840b9204 addi r16,r16,11848 51a8c: e0bffc17 ldw r2,-16(fp) 51a90: 01400304 movi r5,12 51a94: 1009883a mov r4,r2 51a98: 004d3dc0 call 4d3dc <__mulsi3> 51a9c: 8085883a add r2,r16,r2 51aa0: 10800017 ldw r2,0(r2) 51aa4: 1000111e bne r2,zero,51aec { alt_fd_list[i].dev = dev; 51aa8: 04000174 movhi r16,5 51aac: 840b9204 addi r16,r16,11848 51ab0: e0bffc17 ldw r2,-16(fp) 51ab4: 01400304 movi r5,12 51ab8: 1009883a mov r4,r2 51abc: 004d3dc0 call 4d3dc <__mulsi3> 51ac0: 8085883a add r2,r16,r2 51ac4: e0fffe17 ldw r3,-8(fp) 51ac8: 10c00015 stw r3,0(r2) if (i > alt_max_fd) 51acc: d0e00a17 ldw r3,-32728(gp) 51ad0: e0bffc17 ldw r2,-16(fp) 51ad4: 1880020e bge r3,r2,51ae0 { alt_max_fd = i; 51ad8: e0bffc17 ldw r2,-16(fp) 51adc: d0a00a15 stw r2,-32728(gp) } rc = i; 51ae0: e0bffc17 ldw r2,-16(fp) 51ae4: e0bffd15 stw r2,-12(fp) goto alt_get_fd_exit; 51ae8: 00000606 br 51b04 * indicates the highest file descriptor ever allocated. This is used to * improve efficency when searching the file descriptor list, and * therefore reduce contention on the alt_fd_list_lock semaphore. */ for (i = 0; i < ALT_MAX_FD; i++) 51aec: e0bffc17 ldw r2,-16(fp) 51af0: 10800044 addi r2,r2,1 51af4: e0bffc15 stw r2,-16(fp) 51af8: e0bffc17 ldw r2,-16(fp) 51afc: 10800810 cmplti r2,r2,32 51b00: 103fe01e bne r2,zero,51a84 <__alt_data_end+0xfffdfa84> * file descriptor pool. */ ALT_SEM_POST(alt_fd_list_lock); return rc; 51b04: e0bffd17 ldw r2,-12(fp) } 51b08: e6ffff04 addi sp,fp,-4 51b0c: dfc00217 ldw ra,8(sp) 51b10: df000117 ldw fp,4(sp) 51b14: dc000017 ldw r16,0(sp) 51b18: dec00304 addi sp,sp,12 51b1c: f800283a ret 00051b20 : * Return: 1: BADADDR (bad_addr argument to handler) is valid * 0: BADADDR is not valid */ int alt_exception_cause_generated_bad_addr(alt_exception_cause cause) { 51b20: defffe04 addi sp,sp,-8 51b24: df000115 stw fp,4(sp) 51b28: df000104 addi fp,sp,4 51b2c: e13fff15 stw r4,-4(fp) switch (cause) { 51b30: e0bfff17 ldw r2,-4(fp) 51b34: 10bffe84 addi r2,r2,-6 51b38: 10c00428 cmpgeui r3,r2,16 51b3c: 18001a1e bne r3,zero,51ba8 51b40: 100690ba slli r3,r2,2 51b44: 00800174 movhi r2,5 51b48: 1086d604 addi r2,r2,7000 51b4c: 1885883a add r2,r3,r2 51b50: 10800017 ldw r2,0(r2) 51b54: 1000683a jmp r2 51b58: 00051b98 cmpnei zero,zero,5230 51b5c: 00051b98 cmpnei zero,zero,5230 51b60: 00051ba8 cmpgeui zero,zero,5230 51b64: 00051ba8 cmpgeui zero,zero,5230 51b68: 00051ba8 cmpgeui zero,zero,5230 51b6c: 00051b98 cmpnei zero,zero,5230 51b70: 00051ba0 cmpeqi zero,zero,5230 51b74: 00051ba8 cmpgeui zero,zero,5230 51b78: 00051b98 cmpnei zero,zero,5230 51b7c: 00051b98 cmpnei zero,zero,5230 51b80: 00051ba8 cmpgeui zero,zero,5230 51b84: 00051b98 cmpnei zero,zero,5230 51b88: 00051ba0 cmpeqi zero,zero,5230 51b8c: 00051ba8 cmpgeui zero,zero,5230 51b90: 00051ba8 cmpgeui zero,zero,5230 51b94: 00051b98 cmpnei zero,zero,5230 case NIOS2_EXCEPTION_MISALIGNED_TARGET_PC: case NIOS2_EXCEPTION_TLB_READ_PERM_VIOLATION: case NIOS2_EXCEPTION_TLB_WRITE_PERM_VIOLATION: case NIOS2_EXCEPTION_MPU_DATA_REGION_VIOLATION: case NIOS2_EXCEPTION_ECC_DATA_ERR: return 1; 51b98: 00800044 movi r2,1 51b9c: 00000306 br 51bac case NIOS2_EXCEPTION_TLB_MISS: case NIOS2_EXCEPTION_ECC_TLB_ERR: return 0; 51ba0: 0005883a mov r2,zero 51ba4: 00000106 br 51bac default: return 0; 51ba8: 0005883a mov r2,zero } } 51bac: e037883a mov sp,fp 51bb0: df000017 ldw fp,0(sp) 51bb4: dec00104 addi sp,sp,4 51bb8: f800283a ret 00051bbc : 51bbc: 200b883a mov r5,r4 51bc0: 000f883a mov r7,zero 51bc4: 000d883a mov r6,zero 51bc8: 0009883a mov r4,zero 51bcc: 0051c841 jmpi 51c84 <__register_exitproc> 00051bd0 : 51bd0: defffe04 addi sp,sp,-8 51bd4: 000b883a mov r5,zero 51bd8: dc000015 stw r16,0(sp) 51bdc: dfc00115 stw ra,4(sp) 51be0: 2021883a mov r16,r4 51be4: 0051d9c0 call 51d9c <__call_exitprocs> 51be8: 00800174 movhi r2,5 51bec: 10905204 addi r2,r2,16712 51bf0: 11000017 ldw r4,0(r2) 51bf4: 20800f17 ldw r2,60(r4) 51bf8: 10000126 beq r2,zero,51c00 51bfc: 103ee83a callr r2 51c00: 8009883a mov r4,r16 51c04: 0051f1c0 call 51f1c <_exit> 00051c08 : 51c08: 01c000c4 movi r7,3 51c0c: 3980192e bgeu r7,r6,51c74 51c10: 2144b03a or r2,r4,r5 51c14: 11c4703a and r2,r2,r7 51c18: 10000f26 beq r2,zero,51c58 51c1c: 20800003 ldbu r2,0(r4) 51c20: 28c00003 ldbu r3,0(r5) 51c24: 10c0151e bne r2,r3,51c7c 51c28: 31bfff84 addi r6,r6,-2 51c2c: 01ffffc4 movi r7,-1 51c30: 00000406 br 51c44 51c34: 20800003 ldbu r2,0(r4) 51c38: 28c00003 ldbu r3,0(r5) 51c3c: 31bfffc4 addi r6,r6,-1 51c40: 10c00e1e bne r2,r3,51c7c 51c44: 21000044 addi r4,r4,1 51c48: 29400044 addi r5,r5,1 51c4c: 31fff91e bne r6,r7,51c34 <__alt_data_end+0xfffdfc34> 51c50: 0005883a mov r2,zero 51c54: f800283a ret 51c58: 20c00017 ldw r3,0(r4) 51c5c: 28800017 ldw r2,0(r5) 51c60: 18bfee1e bne r3,r2,51c1c <__alt_data_end+0xfffdfc1c> 51c64: 31bfff04 addi r6,r6,-4 51c68: 21000104 addi r4,r4,4 51c6c: 29400104 addi r5,r5,4 51c70: 39bff936 bltu r7,r6,51c58 <__alt_data_end+0xfffdfc58> 51c74: 303fe91e bne r6,zero,51c1c <__alt_data_end+0xfffdfc1c> 51c78: 003ff506 br 51c50 <__alt_data_end+0xfffdfc50> 51c7c: 10c5c83a sub r2,r2,r3 51c80: f800283a ret 00051c84 <__register_exitproc>: 51c84: defffa04 addi sp,sp,-24 51c88: dc000315 stw r16,12(sp) 51c8c: 04000174 movhi r16,5 51c90: 84105204 addi r16,r16,16712 51c94: 80c00017 ldw r3,0(r16) 51c98: dc400415 stw r17,16(sp) 51c9c: dfc00515 stw ra,20(sp) 51ca0: 18805217 ldw r2,328(r3) 51ca4: 2023883a mov r17,r4 51ca8: 10003726 beq r2,zero,51d88 <__register_exitproc+0x104> 51cac: 10c00117 ldw r3,4(r2) 51cb0: 010007c4 movi r4,31 51cb4: 20c00e16 blt r4,r3,51cf0 <__register_exitproc+0x6c> 51cb8: 1a000044 addi r8,r3,1 51cbc: 8800221e bne r17,zero,51d48 <__register_exitproc+0xc4> 51cc0: 18c00084 addi r3,r3,2 51cc4: 18c7883a add r3,r3,r3 51cc8: 18c7883a add r3,r3,r3 51ccc: 12000115 stw r8,4(r2) 51cd0: 10c7883a add r3,r2,r3 51cd4: 19400015 stw r5,0(r3) 51cd8: 0005883a mov r2,zero 51cdc: dfc00517 ldw ra,20(sp) 51ce0: dc400417 ldw r17,16(sp) 51ce4: dc000317 ldw r16,12(sp) 51ce8: dec00604 addi sp,sp,24 51cec: f800283a ret 51cf0: 00800034 movhi r2,0 51cf4: 10800004 addi r2,r2,0 51cf8: 10002626 beq r2,zero,51d94 <__register_exitproc+0x110> 51cfc: 01006404 movi r4,400 51d00: d9400015 stw r5,0(sp) 51d04: d9800115 stw r6,4(sp) 51d08: d9c00215 stw r7,8(sp) 51d0c: 00000000 call 0 <__alt_mem_onchip_memory2-0x40000> 51d10: d9400017 ldw r5,0(sp) 51d14: d9800117 ldw r6,4(sp) 51d18: d9c00217 ldw r7,8(sp) 51d1c: 10001d26 beq r2,zero,51d94 <__register_exitproc+0x110> 51d20: 81000017 ldw r4,0(r16) 51d24: 10000115 stw zero,4(r2) 51d28: 02000044 movi r8,1 51d2c: 22405217 ldw r9,328(r4) 51d30: 0007883a mov r3,zero 51d34: 12400015 stw r9,0(r2) 51d38: 20805215 stw r2,328(r4) 51d3c: 10006215 stw zero,392(r2) 51d40: 10006315 stw zero,396(r2) 51d44: 883fde26 beq r17,zero,51cc0 <__alt_data_end+0xfffdfcc0> 51d48: 18c9883a add r4,r3,r3 51d4c: 2109883a add r4,r4,r4 51d50: 1109883a add r4,r2,r4 51d54: 21802215 stw r6,136(r4) 51d58: 01800044 movi r6,1 51d5c: 12406217 ldw r9,392(r2) 51d60: 30cc983a sll r6,r6,r3 51d64: 4992b03a or r9,r9,r6 51d68: 12406215 stw r9,392(r2) 51d6c: 21c04215 stw r7,264(r4) 51d70: 01000084 movi r4,2 51d74: 893fd21e bne r17,r4,51cc0 <__alt_data_end+0xfffdfcc0> 51d78: 11006317 ldw r4,396(r2) 51d7c: 218cb03a or r6,r4,r6 51d80: 11806315 stw r6,396(r2) 51d84: 003fce06 br 51cc0 <__alt_data_end+0xfffdfcc0> 51d88: 18805304 addi r2,r3,332 51d8c: 18805215 stw r2,328(r3) 51d90: 003fc606 br 51cac <__alt_data_end+0xfffdfcac> 51d94: 00bfffc4 movi r2,-1 51d98: 003fd006 br 51cdc <__alt_data_end+0xfffdfcdc> 00051d9c <__call_exitprocs>: 51d9c: defff504 addi sp,sp,-44 51da0: df000915 stw fp,36(sp) 51da4: dd400615 stw r21,24(sp) 51da8: dc800315 stw r18,12(sp) 51dac: dfc00a15 stw ra,40(sp) 51db0: ddc00815 stw r23,32(sp) 51db4: dd800715 stw r22,28(sp) 51db8: dd000515 stw r20,20(sp) 51dbc: dcc00415 stw r19,16(sp) 51dc0: dc400215 stw r17,8(sp) 51dc4: dc000115 stw r16,4(sp) 51dc8: d9000015 stw r4,0(sp) 51dcc: 2839883a mov fp,r5 51dd0: 04800044 movi r18,1 51dd4: 057fffc4 movi r21,-1 51dd8: 00800174 movhi r2,5 51ddc: 10905204 addi r2,r2,16712 51de0: 12000017 ldw r8,0(r2) 51de4: 45005217 ldw r20,328(r8) 51de8: 44c05204 addi r19,r8,328 51dec: a0001c26 beq r20,zero,51e60 <__call_exitprocs+0xc4> 51df0: a0800117 ldw r2,4(r20) 51df4: 15ffffc4 addi r23,r2,-1 51df8: b8000d16 blt r23,zero,51e30 <__call_exitprocs+0x94> 51dfc: 14000044 addi r16,r2,1 51e00: 8421883a add r16,r16,r16 51e04: 8421883a add r16,r16,r16 51e08: 84402004 addi r17,r16,128 51e0c: a463883a add r17,r20,r17 51e10: a421883a add r16,r20,r16 51e14: e0001e26 beq fp,zero,51e90 <__call_exitprocs+0xf4> 51e18: 80804017 ldw r2,256(r16) 51e1c: e0801c26 beq fp,r2,51e90 <__call_exitprocs+0xf4> 51e20: bdffffc4 addi r23,r23,-1 51e24: 843fff04 addi r16,r16,-4 51e28: 8c7fff04 addi r17,r17,-4 51e2c: bd7ff91e bne r23,r21,51e14 <__alt_data_end+0xfffdfe14> 51e30: 00800034 movhi r2,0 51e34: 10800004 addi r2,r2,0 51e38: 10000926 beq r2,zero,51e60 <__call_exitprocs+0xc4> 51e3c: a0800117 ldw r2,4(r20) 51e40: 1000301e bne r2,zero,51f04 <__call_exitprocs+0x168> 51e44: a0800017 ldw r2,0(r20) 51e48: 10003226 beq r2,zero,51f14 <__call_exitprocs+0x178> 51e4c: a009883a mov r4,r20 51e50: 98800015 stw r2,0(r19) 51e54: 00000000 call 0 <__alt_mem_onchip_memory2-0x40000> 51e58: 9d000017 ldw r20,0(r19) 51e5c: a03fe41e bne r20,zero,51df0 <__alt_data_end+0xfffdfdf0> 51e60: dfc00a17 ldw ra,40(sp) 51e64: df000917 ldw fp,36(sp) 51e68: ddc00817 ldw r23,32(sp) 51e6c: dd800717 ldw r22,28(sp) 51e70: dd400617 ldw r21,24(sp) 51e74: dd000517 ldw r20,20(sp) 51e78: dcc00417 ldw r19,16(sp) 51e7c: dc800317 ldw r18,12(sp) 51e80: dc400217 ldw r17,8(sp) 51e84: dc000117 ldw r16,4(sp) 51e88: dec00b04 addi sp,sp,44 51e8c: f800283a ret 51e90: a0800117 ldw r2,4(r20) 51e94: 80c00017 ldw r3,0(r16) 51e98: 10bfffc4 addi r2,r2,-1 51e9c: 15c01426 beq r2,r23,51ef0 <__call_exitprocs+0x154> 51ea0: 80000015 stw zero,0(r16) 51ea4: 183fde26 beq r3,zero,51e20 <__alt_data_end+0xfffdfe20> 51ea8: 95c8983a sll r4,r18,r23 51eac: a0806217 ldw r2,392(r20) 51eb0: a5800117 ldw r22,4(r20) 51eb4: 2084703a and r2,r4,r2 51eb8: 10000b26 beq r2,zero,51ee8 <__call_exitprocs+0x14c> 51ebc: a0806317 ldw r2,396(r20) 51ec0: 2088703a and r4,r4,r2 51ec4: 20000c1e bne r4,zero,51ef8 <__call_exitprocs+0x15c> 51ec8: 89400017 ldw r5,0(r17) 51ecc: d9000017 ldw r4,0(sp) 51ed0: 183ee83a callr r3 51ed4: a0800117 ldw r2,4(r20) 51ed8: 15bfbf1e bne r2,r22,51dd8 <__alt_data_end+0xfffdfdd8> 51edc: 98800017 ldw r2,0(r19) 51ee0: 153fcf26 beq r2,r20,51e20 <__alt_data_end+0xfffdfe20> 51ee4: 003fbc06 br 51dd8 <__alt_data_end+0xfffdfdd8> 51ee8: 183ee83a callr r3 51eec: 003ff906 br 51ed4 <__alt_data_end+0xfffdfed4> 51ef0: a5c00115 stw r23,4(r20) 51ef4: 003feb06 br 51ea4 <__alt_data_end+0xfffdfea4> 51ef8: 89000017 ldw r4,0(r17) 51efc: 183ee83a callr r3 51f00: 003ff406 br 51ed4 <__alt_data_end+0xfffdfed4> 51f04: a0800017 ldw r2,0(r20) 51f08: a027883a mov r19,r20 51f0c: 1029883a mov r20,r2 51f10: 003fb606 br 51dec <__alt_data_end+0xfffdfdec> 51f14: 0005883a mov r2,zero 51f18: 003ffb06 br 51f08 <__alt_data_end+0xfffdff08> 00051f1c <_exit>: * * ALT_EXIT is mapped onto the _exit() system call in alt_syscall.h */ void ALT_EXIT (int exit_code) { 51f1c: defffd04 addi sp,sp,-12 51f20: df000215 stw fp,8(sp) 51f24: df000204 addi fp,sp,8 51f28: e13fff15 stw r4,-4(fp) ALT_LOG_PRINT_BOOT("[alt_exit.c] Entering _exit() function.\r\n"); ALT_LOG_PRINT_BOOT("[alt_exit.c] Exit code from main was %d.\r\n",exit_code); /* Stop all other threads */ ALT_LOG_PRINT_BOOT("[alt_exit.c] Calling ALT_OS_STOP().\r\n"); ALT_OS_STOP(); 51f2c: 0001883a nop 51f30: e0bfff17 ldw r2,-4(fp) 51f34: e0bffe15 stw r2,-8(fp) /* * Routine called on exit. */ static ALT_INLINE ALT_ALWAYS_INLINE void alt_sim_halt(int exit_code) { register int r2 asm ("r2") = exit_code; 51f38: e0bffe17 ldw r2,-8(fp) __asm__ volatile ("\n0:\n\taddi %0,%0, -1\n\tbgt %0,zero,0b" : : "r" (ALT_CPU_FREQ/100) ); /* Delay for >30ms */ __asm__ volatile ("break 2" : : "r"(r2), "r"(r3) ALT_GMON_DATA ); #else /* !DEBUG_STUB */ if (r2) { 51f3c: 10000226 beq r2,zero,51f48 <_exit+0x2c> ALT_SIM_FAIL(); 51f40: 002af070 cmpltui zero,zero,43969 51f44: 00000106 br 51f4c <_exit+0x30> } else { ALT_SIM_PASS(); 51f48: 002af0b0 cmpltui zero,zero,43970 ALT_SIM_HALT(exit_code); /* spin forever, since there's no where to go back to */ ALT_LOG_PRINT_BOOT("[alt_exit.c] Spinning forever.\r\n"); while (1); 51f4c: 003fff06 br 51f4c <__alt_data_end+0xfffdff4c>