
DE0_NANO_SOC_ADC.elf:     file format elf32-littlenios2
DE0_NANO_SOC_ADC.elf
architecture: nios2, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x000401b8

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 0x0000c4f4 memsz 0x0000c4f4 flags r-x
    LOAD off    0x0000d514 vaddr 0x0004c514 paddr 0x0004df6c align 2**12
         filesz 0x00001a58 memsz 0x00001a58 flags rw-
    LOAD off    0x0000f9c4 vaddr 0x0004f9c4 paddr 0x0004f9c4 align 2**12
         filesz 0x00000000 memsz 0x000002ec 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   00000198  00040020  00040020  00001020  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  2 .text         0000bff4  000401b8  000401b8  000011b8  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  3 .rodata       00000368  0004c1ac  0004c1ac  0000d1ac  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  4 .rwdata       00001a58  0004c514  0004df6c  0000d514  2**2
                  CONTENTS, ALLOC, LOAD, DATA, SMALL_DATA
  5 .bss          000002ec  0004f9c4  0004f9c4  0000f9c4  2**2
                  ALLOC, SMALL_DATA
  6 .comment      00000023  00000000  00000000  0000ef6c  2**0
                  CONTENTS, READONLY
  7 .debug_aranges 00000e00  00000000  00000000  0000ef90  2**3
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_info   00023366  00000000  00000000  0000fd90  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_abbrev 0000952b  00000000  00000000  000330f6  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_line   0000a205  00000000  00000000  0003c621  2**0
                  CONTENTS, READONLY, DEBUGGING
 11 .debug_frame  00001848  00000000  00000000  00046828  2**2
                  CONTENTS, READONLY, DEBUGGING
 12 .debug_str    00002c81  00000000  00000000  00048070  2**0
                  CONTENTS, READONLY, DEBUGGING
 13 .debug_loc    00010a04  00000000  00000000  0004acf1  2**0
                  CONTENTS, READONLY, DEBUGGING
 14 .debug_alt_sim_info 00000060  00000000  00000000  0005b6f8  2**2
                  CONTENTS, READONLY, DEBUGGING
 15 .debug_ranges 00000a88  00000000  00000000  0005b758  2**3
                  CONTENTS, READONLY, DEBUGGING
 16 .thread_model 00000003  00000000  00000000  0005f1a1  2**0
                  CONTENTS, READONLY
 17 .cpu          0000000a  00000000  00000000  0005f1a4  2**0
                  CONTENTS, READONLY
 18 .qsys         00000001  00000000  00000000  0005f1ae  2**0
                  CONTENTS, READONLY
 19 .simulation_enabled 00000001  00000000  00000000  0005f1af  2**0
                  CONTENTS, READONLY
 20 .sysid_hash   00000004  00000000  00000000  0005f1b0  2**0
                  CONTENTS, READONLY
 21 .sysid_base   00000004  00000000  00000000  0005f1b4  2**0
                  CONTENTS, READONLY
 22 .sysid_time   00000004  00000000  00000000  0005f1b8  2**0
                  CONTENTS, READONLY
 23 .stderr_dev   00000009  00000000  00000000  0005f1bc  2**0
                  CONTENTS, READONLY
 24 .stdin_dev    00000009  00000000  00000000  0005f1c5  2**0
                  CONTENTS, READONLY
 25 .stdout_dev   00000009  00000000  00000000  0005f1ce  2**0
                  CONTENTS, READONLY
 26 .sopc_system_name 00000011  00000000  00000000  0005f1d7  2**0
                  CONTENTS, READONLY
 27 .quartus_project_dir 00000024  00000000  00000000  0005f1e8  2**0
                  CONTENTS, READONLY
 28 .jdi          00005567  00000000  00000000  0005f20c  2**0
                  CONTENTS, READONLY
 29 .sopcinfo     00054d1c  00000000  00000000  00064773  2**0
                  CONTENTS, READONLY
SYMBOL TABLE:
00040000 l    d  .entry	00000000 .entry
00040020 l    d  .exceptions	00000000 .exceptions
000401b8 l    d  .text	00000000 .text
0004c1ac l    d  .rodata	00000000 .rodata
0004c514 l    d  .rwdata	00000000 .rwdata
0004f9c4 l    d  .bss	00000000 .bss
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 ../DE0_NANO_SOC_ADC_bsp//obj/HAL/src/crt0.o
00040200 l       .text	00000000 alt_after_alt_main
00000000 l    df *ABS*	00000000 alt_exception_entry.o
00040094 l       .exceptions	00000000 alt_exception_unknown
00000000 l    df *ABS*	00000000 alt_irq_handler.c
00000000 l    df *ABS*	00000000 main.c
00000000 l    df *ABS*	00000000 fp-bit.c
00000000 l    df *ABS*	00000000 fp-bit.c
00000000 l    df *ABS*	00000000 fp-bit.c
00000000 l    df *ABS*	00000000 fp-bit.c
00000000 l    df *ABS*	00000000 fp-bit.c
00000000 l    df *ABS*	00000000 libgcc2.c
00000000 l    df *ABS*	00000000 fp-bit.c
00000000 l    df *ABS*	00000000 fp-bit.c
00000000 l    df *ABS*	00000000 fp-bit.c
00000000 l    df *ABS*	00000000 fp-bit.c
00000000 l    df *ABS*	00000000 libgcc2.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 puts.c
00000000 l    df *ABS*	00000000 strlen.c
00000000 l    df *ABS*	00000000 vfprintf.c
00040e30 l     F .text	00000034 __sprint_r
0004c34e l     O .rodata	00000010 blanks.3546
0004c35e l     O .rodata	00000010 zeroes.3547
00000000 l    df *ABS*	00000000 wsetup.c
00000000 l    df *ABS*	00000000 dtoa.c
00042df4 l     F .text	00000208 quorem
00000000 l    df *ABS*	00000000 fflush.c
00000000 l    df *ABS*	00000000 findfp.c
00044830 l     F .text	00000008 __fp_lock
00044838 l     F .text	00000008 __fp_unlock
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
0004c514 l     O .rwdata	00000400 impure_data
00000000 l    df *ABS*	00000000 locale.c
0004c394 l     O .rodata	00000030 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
0004c4dc l     O .rodata	0000000c p05.2466
00000000 l    df *ABS*	00000000 mallocr.c
00000000 l    df *ABS*	00000000 s_isinfd.c
00000000 l    df *ABS*	00000000 s_isnand.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 writer.c
00000000 l    df *ABS*	00000000 mallocr.c
00000000 l    df *ABS*	00000000 closer.c
00000000 l    df *ABS*	00000000 fclose.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 libgcc2.c
00000000 l    df *ABS*	00000000 libgcc2.c
00000000 l    df *ABS*	00000000 fp-bit.c
00048b78 l     F .text	00000354 _fpadd_parts
00000000 l    df *ABS*	00000000 fp-bit.c
00000000 l    df *ABS*	00000000 fp-bit.c
00000000 l    df *ABS*	00000000 fp-bit.c
00000000 l    df *ABS*	00000000 fp-bit.c
00000000 l    df *ABS*	00000000 fp-bit.c
00000000 l    df *ABS*	00000000 fp-bit.c
00000000 l    df *ABS*	00000000 fp-bit.c
00000000 l    df *ABS*	00000000 fp-bit.c
00000000 l    df *ABS*	00000000 fp-bit.c
00000000 l    df *ABS*	00000000 lib2-divmod.c
000496f4 l     F .text	00000074 udivmodsi4
00000000 l    df *ABS*	00000000 libgcc2.c
00000000 l    df *ABS*	00000000 fp-bit.c
00000000 l    df *ABS*	00000000 alt_close.c
00049954 l     F .text	00000050 alt_get_errno
00000000 l    df *ABS*	00000000 alt_dev.c
00049a6c l     F .text	0000002c alt_dev_null_write
00000000 l    df *ABS*	00000000 alt_errno.c
00000000 l    df *ABS*	00000000 alt_fstat.c
00049a98 l     F .text	00000050 alt_get_errno
00000000 l    df *ABS*	00000000 alt_isatty.c
00049b94 l     F .text	00000050 alt_get_errno
00000000 l    df *ABS*	00000000 alt_load.c
00049c84 l     F .text	0000006c alt_load_section
00000000 l    df *ABS*	00000000 alt_lseek.c
00049d70 l     F .text	00000050 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
00049f48 l     F .text	00000050 alt_get_errno
00000000 l    df *ABS*	00000000 alt_release_fd.c
00000000 l    df *ABS*	00000000 alt_sbrk.c
0004df5c l     O .rwdata	00000004 heap_end
00000000 l    df *ABS*	00000000 alt_usleep.c
00000000 l    df *ABS*	00000000 alt_write.c
0004a1c8 l     F .text	00000050 alt_get_errno
00000000 l    df *ABS*	00000000 alt_sys_init.c
0004a304 l     F .text	00000038 alt_dev_reg
0004ced0 l     O .rwdata	00001060 jtag_uart
00000000 l    df *ABS*	00000000 altera_avalon_jtag_uart_fd.c
00000000 l    df *ABS*	00000000 altera_avalon_jtag_uart_init.c
0004a5dc l     F .text	00000204 altera_avalon_jtag_uart_irq
0004a7e0 l     F .text	000000a4 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 alt_alarm_start.c
00000000 l    df *ABS*	00000000 alt_busy_sleep.c
00000000 l    df *ABS*	00000000 alt_dcache_flush_all.c
00000000 l    df *ABS*	00000000 alt_dev_llist_insert.c
0004b0f0 l     F .text	00000050 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
0004b590 l     F .text	000000c0 alt_open_fd
00000000 l    df *ABS*	00000000 alt_irq_vars.c
00000000 l    df *ABS*	00000000 alt_open.c
0004b6c8 l     F .text	00000050 alt_get_errno
0004b718 l     F .text	000000cc alt_file_locked
00000000 l    df *ABS*	00000000 alt_tick.c
00000000 l    df *ABS*	00000000 altera_nios2_qsys_irq.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 alt_icache_flush.c
00000000 l    df *ABS*	00000000 atexit.c
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
00000000 l    df *ABS*	00000000 
00047188 g     F .text	00000074 _mprec_log10
00047278 g     F .text	00000084 __any_on
00047ee8 g     F .text	00000064 _isatty_r
0004c3c4 g     O .rodata	00000028 __mprec_tinytens
00049e90 g     F .text	00000078 alt_main
00040c60 g     F .text	00000044 __ashldi3
00040d0c g     F .text	00000084 _puts_r
0004fa20 g     O .bss	00000100 alt_irq
00047f4c g     F .text	0000006c _lseek_r
0004df6c g       *ABS*	00000000 __flash_rwdata_start
00049264 g     F .text	0000005c __eqdf2
0004fcb0 g       *ABS*	00000000 __alt_heap_start
00040cd0 g     F .text	0000003c printf
00047a9c g     F .text	0000005c __sseek
000448c0 g     F .text	0000010c __sinit
00045558 g     F .text	0000009c _setlocale_r
0004484c g     F .text	00000064 __sfmoreglue
00049f28 g     F .text	00000020 __malloc_unlock
00046150 g     F .text	00000128 memmove
000448b0 g     F .text	00000010 _cleanup
00046354 g     F .text	000000a8 _Balloc
0004931c g     F .text	00000064 __gtdf2
00000000  w      *UND*	00000000 __errno
00040000 g     F .entry	0000001c __reset
00040020 g       *ABS*	00000000 __flash_exceptions_start
00047e80 g     F .text	00000068 _fstat_r
0004f9dc g     O .bss	00000004 errno
0004061c g     F .text	00000038 __make_dp
0004f9e4 g     O .bss	00000004 alt_argv
00055f30 g       *ABS*	00000000 _gp
0004a198 g     F .text	00000030 usleep
0004cd50 g     O .rwdata	00000180 alt_fd_list
0004baf4 g     F .text	00000090 alt_find_dev
00046058 g     F .text	000000f8 memcpy
00044840 g     F .text	0000000c _cleanup_r
00049440 g     F .text	000000d4 __floatsidf
0004b650 g     F .text	00000078 alt_io_redirect
000493e4 g     F .text	0000005c __ltdf2
0004c1ac g       *ABS*	00000000 __DTOR_END__
00040d90 g     F .text	00000014 puts
000470e4 g     F .text	000000a4 __ratio
0004a9e0 g     F .text	00000218 altera_avalon_jtag_uart_read
00000000  w      *UND*	00000000 malloc
00040ca4 g     F .text	0000002c _printf_r
00049814 g     F .text	00000008 __udivsi3
00049be4 g     F .text	000000a0 isatty
0004c414 g     O .rodata	000000c8 __mprec_tens
000455f4 g     F .text	0000000c __locale_charset
0004bd4c g     F .text	0000008c alt_icache_flush
0004f9d8 g     O .bss	00000004 __malloc_top_pad
0004df38 g     O .rwdata	00000004 __mb_cur_max
00045600 g     F .text	0000000c _localeconv_r
00046754 g     F .text	0000003c __i2b
00044f14 g     F .text	000004e4 __sfvwrite_r
0004795c g     F .text	00000064 _sbrk_r
00047fb8 g     F .text	0000006c _read_r
0004c914 g     O .rwdata	0000000c __lc_ctype
0004df54 g     O .rwdata	00000004 alt_max_fd
00040b18 g     F .text	00000104 __unpack_d
00047d30 g     F .text	0000013c _fclose_r
00044800 g     F .text	00000030 fflush
0004f9d4 g     O .bss	00000004 __malloc_max_sbrked_mem
00040424 g     F .text	00000044 __extendsfdf2
00048ecc g     F .text	00000054 __adddf3
00046e58 g     F .text	00000148 __b2d
000485ec g     F .text	0000058c __umoddi3
00049dc0 g     F .text	000000d0 lseek
0004df30 g     O .rwdata	00000004 _global_impure_ptr
000472fc g     F .text	000005fc _realloc_r
0004fcb0 g       *ABS*	00000000 __bss_end
0004b4a0 g     F .text	000000f0 alt_iic_isr_register
0004b9d0 g     F .text	00000104 alt_tick
00048024 g     F .text	000005c8 __udivdi3
0004c3ec g     O .rodata	00000028 __mprec_bigtens
00046538 g     F .text	00000104 __s2b
000495d8 g     F .text	0000011c __floatunsidf
00046bf8 g     F .text	00000058 __mcmp
00044ad8 g     F .text	00000018 __fp_lock_all
0004b454 g     F .text	0000004c alt_ic_irq_enabled
0004b938 g     F .text	00000098 alt_alarm_stop
0004f9ec g     O .bss	00000004 alt_irq_active
000400ec g     F .exceptions	000000cc alt_irq_handler
0004cd28 g     O .rwdata	00000028 alt_dev_null
0004082c g     F .text	000000c8 __unpack_f
0004b0ac g     F .text	00000044 alt_dcache_flush_all
0004663c g     F .text	00000068 __hi0bits
00049514 g     F .text	000000c4 __fixdfsi
0004df6c g       *ABS*	00000000 __ram_rwdata_end
0004df4c g     O .rwdata	00000008 alt_dev_list
0004a218 g     F .text	000000ec write
0004c514 g       *ABS*	00000000 __ram_rodata_end
00049ae8 g     F .text	000000ac fstat
00040c1c g     F .text	00000044 __lshrdi3
00046970 g     F .text	0000012c __pow5mult
0004f9cc g     O .bss	00000004 __nlocale_changed
0004981c g     F .text	00000008 __umodsi3
0004fcb0 g       *ABS*	00000000 end
00040700 g     F .text	0000012c __pack_f
0004a51c g     F .text	000000c0 altera_avalon_jtag_uart_init
0004c1ac g       *ABS*	00000000 __CTOR_LIST__
00067100 g       *ABS*	00000000 __alt_stack_pointer
00040654 g     F .text	000000ac __clzsi2
0004abf8 g     F .text	00000220 altera_avalon_jtag_uart_write
00044ac8 g     F .text	00000004 __sfp_lock_acquire
00045f60 g     F .text	000000f8 memchr
00040e64 g     F .text	00001df8 ___vfprintf_internal_r
00044c44 g     F .text	000002d0 _free_r
0004bfd0 g     F .text	000001a0 __call_exitprocs
0004f9c8 g     O .bss	00000004 __mlocale_changed
0004df3c g     O .rwdata	00000004 __malloc_sbrk_base
000401b8 g     F .text	0000004c _start
0004f9f0 g     O .bss	00000004 _alt_tick_rate
00046a9c g     F .text	0000015c __lshift
0004f9f4 g     O .bss	00000004 _alt_nticks
00049f98 g     F .text	000000f0 read
0004a370 g     F .text	00000048 alt_sys_init
00040380 g     F .text	000000a4 __floatsisf
0004bea0 g     F .text	00000130 __register_exitproc
00046790 g     F .text	000001e0 __multiply
0004a884 g     F .text	00000068 altera_avalon_jtag_uart_close
0004c514 g       *ABS*	00000000 __ram_rwdata_start
0004c1ac g       *ABS*	00000000 __ram_rodata_start
0004f9f8 g     O .bss	00000028 __malloc_current_mallinfo
00046fa0 g     F .text	00000144 __d2b
0004a3b8 g     F .text	00000060 altera_avalon_jtag_uart_read_fd
0004bc98 g     F .text	000000b4 alt_get_fd
0004af58 g     F .text	00000154 alt_busy_sleep
00049884 g     F .text	000000d0 __fpcmp_parts_d
00047ccc g     F .text	00000064 _close_r
0004be24 g     F .text	0000007c memcmp
0004a478 g     F .text	00000050 altera_avalon_jtag_uart_close_fd
0004fcb0 g       *ABS*	00000000 __alt_stack_base
0004a4c8 g     F .text	00000054 altera_avalon_jtag_uart_ioctl_fd
00042c80 g     F .text	00000174 __swsetup_r
00040468 g     F .text	000001b4 __divdf3
000449cc g     F .text	000000fc __sfp
000471fc g     F .text	0000007c __copybits
0004c920 g     O .rwdata	00000408 __malloc_av_
00044ad4 g     F .text	00000004 __sinit_lock_release
00048f80 g     F .text	000002e4 __muldf3
000479c0 g     F .text	00000054 __sread
0004bb84 g     F .text	00000114 alt_find_file
0004b140 g     F .text	000000a0 alt_dev_llist_insert
00049f08 g     F .text	00000020 __malloc_lock
0004a0e8 g     F .text	000000b0 sbrk
00044618 g     F .text	000001e8 _fflush_r
00047c10 g     F .text	000000bc _calloc_r
0004f9c4 g       *ABS*	00000000 __bss_start
00046278 g     F .text	000000dc memset
00040204 g     F .text	0000017c main
0004f9e8 g     O .bss	00000004 alt_envp
0004f9d0 g     O .bss	00000004 __malloc_max_total_mem
0004a418 g     F .text	00000060 altera_avalon_jtag_uart_write_fd
00047af8 g     F .text	00000008 __sclose
00067100 g       *ABS*	00000000 __alt_heap_limit
00047e6c g     F .text	00000014 fclose
0004fb20 g     O .bss	00000190 _atexit0
00042ffc g     F .text	0000161c _dtoa_r
000457dc g     F .text	00000784 _malloc_r
0004df58 g     O .rwdata	00000004 alt_errno
000453f8 g     F .text	000000a8 _fwalk
00049768 g     F .text	00000050 __divsi3
0004c1f4 g     O .rodata	00000014 __thenan_df
00044b08 g     F .text	0000013c _malloc_trim_r
0004c1ac g       *ABS*	00000000 __CTOR_END__
00047b00 g     F .text	000000a4 strcmp
0004c1ac g       *ABS*	00000000 __flash_rodata_start
0004c1ac g       *ABS*	00000000 __DTOR_LIST__
000492c0 g     F .text	0000005c __nedf2
0004a33c g     F .text	00000034 alt_irq_init
0004a088 g     F .text	00000060 alt_release_fd
0004c208 g     O .rodata	00000100 __clz_tab
0004f9c4 g     O .bss	00000004 _PathLocale
0004bdd8 g     F .text	00000014 atexit
00047ba4 g     F .text	0000006c _write_r
0004560c g     F .text	0000001c setlocale
0004df34 g     O .rwdata	00000004 _impure_ptr
0004f9e0 g     O .bss	00000004 alt_argc
0004b23c g     F .text	0000005c _do_dtors
00040020 g       .exceptions	00000000 alt_irq_entry
00046df8 g     F .text	00000060 __ulp
000478f8 g     F .text	00000038 __isinfd
00044af0 g     F .text	00000018 __fp_unlock_all
0004df44 g     O .rwdata	00000008 alt_fs_list
00040020 g       *ABS*	00000000 __ram_exceptions_start
00045628 g     F .text	0000000c localeconv
00040000 g       *ABS*	00000000 __alt_mem_onchip_memory2
0004b2c8 g     F .text	00000050 alt_ic_isr_register
0004df6c g       *ABS*	00000000 _edata
0004fcb0 g       *ABS*	00000000 _end
000401b8 g       *ABS*	00000000 __ram_exceptions_end
0004a8ec g     F .text	000000f4 altera_avalon_jtag_uart_ioctl
0004b3b4 g     F .text	000000a0 alt_ic_irq_disable
00047a14 g     F .text	00000088 __swrite
0004df40 g     O .rwdata	00000004 __malloc_trim_threshold
0004bad4 g     F .text	00000020 altera_nios2_qsys_irq_init
0004bdec g     F .text	00000038 exit
000454a0 g     F .text	000000b8 _fwalk_reent
00046c50 g     F .text	000001a8 __mdiff
000497b8 g     F .text	0000005c __modsi3
00067100 g       *ABS*	00000000 __alt_data_end
00040020 g     F .exceptions	00000000 alt_exception
00044acc g     F .text	00000004 __sfp_lock_release
0004c170 g     F .text	0000003c _exit
00047930 g     F .text	0000002c __isnand
0004ae18 g     F .text	00000140 alt_alarm_start
00049824 g     F .text	00000060 __muldi3
00045634 g     F .text	000001a8 __smakebuf_r
00040da4 g     F .text	0000008c strlen
0004b7e4 g     F .text	00000154 open
00049380 g     F .text	00000064 __gedf2
0004b298 g     F .text	00000030 alt_icache_flush_all
0004df60 g     O .rwdata	00000004 alt_priority_mask
0004b318 g     F .text	0000009c alt_ic_irq_enable
00042c5c g     F .text	00000024 __vfprintf_internal
00048f20 g     F .text	00000060 __subdf3
000466a4 g     F .text	000000b0 __lo0bits
0004df64 g     O .rwdata	00000008 alt_alarm_list
0004b1e0 g     F .text	0000005c _do_ctors
000499a4 g     F .text	000000c8 close
00049cf0 g     F .text	00000080 alt_load
000408f4 g     F .text	00000224 __pack_d
00000000  w      *UND*	00000000 free
00044ad0 g     F .text	00000004 __sinit_lock_acquire
00046424 g     F .text	00000114 __multadd
000463fc g     F .text	00000028 _Bfree



Disassembly of section .entry:

00040000 <__reset>:
#if NIOS2_ICACHE_SIZE > 0 && defined(ALT_ALLOW_CODE_AT_RESET) && !defined(ALT_SIM_OPTIMIZE)
    /* Assume the instruction cache size is always a power of two. */
#if NIOS2_ICACHE_SIZE > 0x8000
    movhi r2, %hi(NIOS2_ICACHE_SIZE)
#else
    movui r2, NIOS2_ICACHE_SIZE
   40000:	00840014 	movui	r2,4096
#endif

0:
    initi r2
   40004:	1001483a 	initi	r2
    addi r2, r2, -NIOS2_ICACHE_LINE_SIZE
   40008:	10bff804 	addi	r2,r2,-32
    bgt r2, zero, 0b
   4000c:	00bffd16 	blt	zero,r2,40004 <__alt_data_end+0xfffd8f04>
 * 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)
   40010:	00400134 	movhi	at,4
    ori r1, r1, %lo(_start)
   40014:	08406e14 	ori	at,at,440
    jmp r1
   40018:	0800683a 	jmp	at
   4001c:	00000000 	call	0 <__reset-0x40000>

Disassembly of section .exceptions:

00040020 <alt_exception>:

#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 <alt_exception+0x6c>
        beq   r4, zero, .Lnot_irq
   40080:	20000226 	beq	r4,zero,4008c <alt_exception+0x6c>
        /*
         * Now that all necessary registers have been preserved, call 
         * alt_irq_handler() to process the interrupts.
         */

        call alt_irq_handler
   40084:	00400ec0 	call	400ec <alt_irq_handler>

        .section .exceptions.irqreturn, "xa"

        br    .Lexception_exit
   40088:	00000306 	br	40098 <alt_exception_unknown+0x4>
         * 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)  /* Don't re-issue */
   4008c:	df401215 	stw	ea,72(sp)
        ldw   r2, -4(ea)   /* Instruction that caused exception */
   40090:	e8bfff17 	ldw	r2,-4(ea)

00040094 <alt_exception_unknown>:
#ifdef NIOS2_HAS_DEBUG_STUB
       /*
        *  Either tell the user now (if there is a debugger attached) or go into
        *  the debug monitor which will loop until a debugger is attached.
        */
        break
   40094:	003da03a 	break	0
        /* 
         * 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)
   40098:	d9401117 	ldw	r5,68(sp)
        ldw   ea,  72(sp)  /* This becomes the PC once eret is executed */
   4009c:	df401217 	ldw	ea,72(sp)
        ldw   ra,   0(sp)
   400a0:	dfc00017 	ldw	ra,0(sp)

        wrctl estatus, r5
   400a4:	2801707a 	wrctl	estatus,r5

        ldw   r1,   8(sp)
   400a8:	d8400217 	ldw	at,8(sp)
        ldw   r2,  12(sp)
   400ac:	d8800317 	ldw	r2,12(sp)
        ldw   r3,  16(sp)
   400b0:	d8c00417 	ldw	r3,16(sp)
        ldw   r4,  20(sp)
   400b4:	d9000517 	ldw	r4,20(sp)
        ldw   r5,  24(sp)
   400b8:	d9400617 	ldw	r5,24(sp)
        ldw   r6,  28(sp)
   400bc:	d9800717 	ldw	r6,28(sp)
        ldw   r7,  32(sp)
   400c0:	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)
   400c4:	da000917 	ldw	r8,36(sp)
        ldw   r9,  40(sp)
   400c8:	da400a17 	ldw	r9,40(sp)
        ldw   r10, 44(sp)
   400cc:	da800b17 	ldw	r10,44(sp)
        ldw   r11, 48(sp)
   400d0:	dac00c17 	ldw	r11,48(sp)
        ldw   r12, 52(sp)
   400d4:	db000d17 	ldw	r12,52(sp)
        ldw   r13, 56(sp)
   400d8:	db400e17 	ldw	r13,56(sp)
        ldw   r14, 60(sp)
   400dc:	db800f17 	ldw	r14,60(sp)
        ldw   r15, 64(sp)
   400e0:	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
   400e4:	dec01304 	addi	sp,sp,76

        /*
         * Return to the interrupted instruction.
         */

        eret
   400e8:	ef80083a 	eret

000400ec <alt_irq_handler>:
 * instruction is present if the macro ALT_CI_INTERRUPT_VECTOR defined.
 */

void alt_irq_handler (void) __attribute__ ((section (".exceptions")));
void alt_irq_handler (void)
{
   400ec:	defff904 	addi	sp,sp,-28
   400f0:	dfc00615 	stw	ra,24(sp)
   400f4:	df000515 	stw	fp,20(sp)
   400f8:	df000504 	addi	fp,sp,20
  
  /*
   * Notify the operating system that we are at interrupt level.
   */ 
  
  ALT_OS_INT_ENTER();
   400fc:	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);
   40100:	0005313a 	rdctl	r2,ipending
   40104:	e0bffe15 	stw	r2,-8(fp)

  return active;
   40108:	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 ();
   4010c:	e0bffb15 	stw	r2,-20(fp)

  do
  {
    i = 0;
   40110:	e03ffd15 	stw	zero,-12(fp)
    mask = 1;
   40114:	00800044 	movi	r2,1
   40118:	e0bffc15 	stw	r2,-16(fp)
     * called to clear the interrupt condition.
     */

    do
    {
      if (active & mask)
   4011c:	e0fffb17 	ldw	r3,-20(fp)
   40120:	e0bffc17 	ldw	r2,-16(fp)
   40124:	1884703a 	and	r2,r3,r2
   40128:	10001726 	beq	r2,zero,40188 <alt_irq_handler+0x9c>
      { 
#ifdef ALT_ENHANCED_INTERRUPT_API_PRESENT
        alt_irq[i].handler(alt_irq[i].context); 
   4012c:	00c00174 	movhi	r3,5
   40130:	18fe8804 	addi	r3,r3,-1504
   40134:	e0bffd17 	ldw	r2,-12(fp)
   40138:	100490fa 	slli	r2,r2,3
   4013c:	1885883a 	add	r2,r3,r2
   40140:	10c00017 	ldw	r3,0(r2)
   40144:	01000174 	movhi	r4,5
   40148:	213e8804 	addi	r4,r4,-1504
   4014c:	e0bffd17 	ldw	r2,-12(fp)
   40150:	100490fa 	slli	r2,r2,3
   40154:	2085883a 	add	r2,r4,r2
   40158:	10800104 	addi	r2,r2,4
   4015c:	10800017 	ldw	r2,0(r2)
   40160:	1009883a 	mov	r4,r2
   40164:	183ee83a 	callr	r3
#else
        alt_irq[i].handler(alt_irq[i].context, i); 
#endif
        break;
   40168:	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);
   4016c:	0005313a 	rdctl	r2,ipending
   40170:	e0bfff15 	stw	r2,-4(fp)

  return active;
   40174:	e0bfff17 	ldw	r2,-4(fp)
      mask <<= 1;
      i++;

    } while (1);

    active = alt_irq_pending ();
   40178:	e0bffb15 	stw	r2,-20(fp)
    
  } while (active);
   4017c:	e0bffb17 	ldw	r2,-20(fp)
   40180:	103fe31e 	bne	r2,zero,40110 <__alt_data_end+0xfffd9010>

  /*
   * Notify the operating system that interrupt processing is complete.
   */ 

  ALT_OS_INT_EXIT();
   40184:	00000706 	br	401a4 <alt_irq_handler+0xb8>
#else
        alt_irq[i].handler(alt_irq[i].context, i); 
#endif
        break;
      }
      mask <<= 1;
   40188:	e0bffc17 	ldw	r2,-16(fp)
   4018c:	1085883a 	add	r2,r2,r2
   40190:	e0bffc15 	stw	r2,-16(fp)
      i++;
   40194:	e0bffd17 	ldw	r2,-12(fp)
   40198:	10800044 	addi	r2,r2,1
   4019c:	e0bffd15 	stw	r2,-12(fp)

    } while (1);
   401a0:	003fde06 	br	4011c <__alt_data_end+0xfffd901c>
  /*
   * Notify the operating system that interrupt processing is complete.
   */ 

  ALT_OS_INT_EXIT();
}
   401a4:	e037883a 	mov	sp,fp
   401a8:	dfc00117 	ldw	ra,4(sp)
   401ac:	df000017 	ldw	fp,0(sp)
   401b0:	dec00204 	addi	sp,sp,8
   401b4:	f800283a 	ret

Disassembly of section .text:

000401b8 <_start>:

    /* Assume the data cache size is always a power of two. */
#if NIOS2_DCACHE_SIZE > 0x8000
    movhi r2, %hi(NIOS2_DCACHE_SIZE)
#else
    movui r2, NIOS2_DCACHE_SIZE
   401b8:	00820014 	movui	r2,2048
#endif

0:
    initd 0(r2)
   401bc:	10000033 	initd	0(r2)
#ifdef NIOS2_ECC_PRESENT
    addi r2, r2, -4
#else
    addi r2, r2, -NIOS2_DCACHE_LINE_SIZE
   401c0:	10bff804 	addi	r2,r2,-32
#endif
    bgt r2, zero, 0b
   401c4:	00bffd16 	blt	zero,r2,401bc <__alt_data_end+0xfffd90bc>

    /*
     * 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)
   401c8:	06c001b4 	movhi	sp,6
    ori sp, sp, %lo(__alt_stack_pointer)
   401cc:	dedc4014 	ori	sp,sp,28928
    movhi gp, %hi(_gp)
   401d0:	06800174 	movhi	gp,5
    ori gp, gp, %lo(_gp)
   401d4:	d697cc14 	ori	gp,gp,24368
 */
#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)
   401d8:	00800134 	movhi	r2,4
    ori r2, r2, %lo(__bss_start)
   401dc:	10be7114 	ori	r2,r2,63940

    movhi r3, %hi(__bss_end)
   401e0:	00c00134 	movhi	r3,4
    ori r3, r3, %lo(__bss_end)
   401e4:	18ff2c14 	ori	r3,r3,64688

    beq r2, r3, 1f
   401e8:	10c00326 	beq	r2,r3,401f8 <_start+0x40>

0:
    stw zero, (r2)
   401ec:	10000015 	stw	zero,0(r2)
    addi r2, r2, 4
   401f0:	10800104 	addi	r2,r2,4
    bltu r2, r3, 0b
   401f4:	10fffd36 	bltu	r2,r3,401ec <__alt_data_end+0xfffd90ec>
     * section aren't defined until alt_load() has been called).
     */
    mov   et, zero
#endif

    call alt_load
   401f8:	0049cf00 	call	49cf0 <alt_load>

    /* 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
   401fc:	0049e900 	call	49e90 <alt_main>

00040200 <alt_after_alt_main>:

    /* Wait in infinite loop in case alt_main does return. */
alt_after_alt_main:
    br alt_after_alt_main
   40200:	003fff06 	br	40200 <__alt_data_end+0xfffd9100>

00040204 <main>:
#include <io.h>
#include <unistd.h>

#include "system.h"

void main(void){
   40204:	defff804 	addi	sp,sp,-32
   40208:	dfc00715 	stw	ra,28(sp)
   4020c:	df000615 	stw	fp,24(sp)
   40210:	df000604 	addi	fp,sp,24
	int ch = 0;
   40214:	e03ffd15 	stw	zero,-12(fp)
	const int nReadNum = 10; // max 1024
   40218:	00800284 	movi	r2,10
   4021c:	e0bffe15 	stw	r2,-8(fp)
	int i, Value, nIndex=0;
   40220:	e03ffc15 	stw	zero,-16(fp)

	printf("ADC Demo\r\n");
   40224:	01000174 	movhi	r4,5
   40228:	21306b04 	addi	r4,r4,-15956
   4022c:	0040d900 	call	40d90 <puts>
	while(1){
		ch = IORD(SW_BASE, 0x00) & 0x07;
   40230:	0005883a 	mov	r2,zero
   40234:	10800037 	ldwio	r2,0(r2)
   40238:	108001cc 	andi	r2,r2,7
   4023c:	e0bffd15 	stw	r2,-12(fp)

		printf("======================= %d, ch=%d\r\n", nIndex++, ch);
   40240:	e0bffc17 	ldw	r2,-16(fp)
   40244:	e0fffc17 	ldw	r3,-16(fp)
   40248:	18c00044 	addi	r3,r3,1
   4024c:	e0fffc15 	stw	r3,-16(fp)
   40250:	01000174 	movhi	r4,5
   40254:	21306e04 	addi	r4,r4,-15944
   40258:	100b883a 	mov	r5,r2
   4025c:	e1bffd17 	ldw	r6,-12(fp)
   40260:	0040cd00 	call	40cd0 <printf>
		// set measure number for ADC convert
		IOWR(ADC_LTC2308_BASE, 0x01, nReadNum);
   40264:	00800234 	movhi	r2,8
   40268:	10840504 	addi	r2,r2,4116
   4026c:	e0fffe17 	ldw	r3,-8(fp)
   40270:	10c00035 	stwio	r3,0(r2)


		// start measure
		IOWR(ADC_LTC2308_BASE, 0x00, (ch << 1) | 0x00);
   40274:	e0bffd17 	ldw	r2,-12(fp)
   40278:	1085883a 	add	r2,r2,r2
   4027c:	1007883a 	mov	r3,r2
   40280:	00800234 	movhi	r2,8
   40284:	10840404 	addi	r2,r2,4112
   40288:	10c00035 	stwio	r3,0(r2)
		IOWR(ADC_LTC2308_BASE, 0x00, (ch << 1) | 0x01);
   4028c:	e0bffd17 	ldw	r2,-12(fp)
   40290:	1085883a 	add	r2,r2,r2
   40294:	10c00054 	ori	r3,r2,1
   40298:	00800234 	movhi	r2,8
   4029c:	10840404 	addi	r2,r2,4112
   402a0:	10c00035 	stwio	r3,0(r2)
		IOWR(ADC_LTC2308_BASE, 0x00, (ch << 1) | 0x00);
   402a4:	e0bffd17 	ldw	r2,-12(fp)
   402a8:	1085883a 	add	r2,r2,r2
   402ac:	1007883a 	mov	r3,r2
   402b0:	00800234 	movhi	r2,8
   402b4:	10840404 	addi	r2,r2,4112
   402b8:	10c00035 	stwio	r3,0(r2)
		usleep(1);
   402bc:	01000044 	movi	r4,1
   402c0:	004a1980 	call	4a198 <usleep>

		// wait measure done
		while ((IORD(ADC_LTC2308_BASE,0x00) & 0x01) == 0x00);
   402c4:	0001883a 	nop
   402c8:	00800234 	movhi	r2,8
   402cc:	10840404 	addi	r2,r2,4112
   402d0:	10800037 	ldwio	r2,0(r2)
   402d4:	1080004c 	andi	r2,r2,1
   402d8:	103ffb26 	beq	r2,zero,402c8 <__alt_data_end+0xfffd91c8>

		// read adc value
		for(i=0;i<nReadNum;i++){
   402dc:	e03ffb15 	stw	zero,-20(fp)
   402e0:	00002006 	br	40364 <main+0x160>
			Value = IORD(ADC_LTC2308_BASE, 0x01);
   402e4:	00800234 	movhi	r2,8
   402e8:	10840504 	addi	r2,r2,4116
   402ec:	10800037 	ldwio	r2,0(r2)
   402f0:	e0bfff15 	stw	r2,-4(fp)
			printf("CH%d=%.3fV (0x%04x)\r\n", ch, (float)Value/1000.0, Value);
   402f4:	e13fff17 	ldw	r4,-4(fp)
   402f8:	00403800 	call	40380 <__floatsisf>
   402fc:	1007883a 	mov	r3,r2
   40300:	1809883a 	mov	r4,r3
   40304:	00404240 	call	40424 <__extendsfdf2>
   40308:	100b883a 	mov	r5,r2
   4030c:	180d883a 	mov	r6,r3
   40310:	2809883a 	mov	r4,r5
   40314:	300b883a 	mov	r5,r6
   40318:	000d883a 	mov	r6,zero
   4031c:	01d023f4 	movhi	r7,16527
   40320:	39d00004 	addi	r7,r7,16384
   40324:	00404680 	call	40468 <__divdf3>
   40328:	1009883a 	mov	r4,r2
   4032c:	180b883a 	mov	r5,r3
   40330:	2005883a 	mov	r2,r4
   40334:	2807883a 	mov	r3,r5
   40338:	e13fff17 	ldw	r4,-4(fp)
   4033c:	d9000015 	stw	r4,0(sp)
   40340:	01000174 	movhi	r4,5
   40344:	21307704 	addi	r4,r4,-15908
   40348:	e17ffd17 	ldw	r5,-12(fp)
   4034c:	100d883a 	mov	r6,r2
   40350:	180f883a 	mov	r7,r3
   40354:	0040cd00 	call	40cd0 <printf>

		// wait measure done
		while ((IORD(ADC_LTC2308_BASE,0x00) & 0x01) == 0x00);

		// read adc value
		for(i=0;i<nReadNum;i++){
   40358:	e0bffb17 	ldw	r2,-20(fp)
   4035c:	10800044 	addi	r2,r2,1
   40360:	e0bffb15 	stw	r2,-20(fp)
   40364:	e0fffb17 	ldw	r3,-20(fp)
   40368:	e0bffe17 	ldw	r2,-8(fp)
   4036c:	18bfdd16 	blt	r3,r2,402e4 <__alt_data_end+0xfffd91e4>
			Value = IORD(ADC_LTC2308_BASE, 0x01);
			printf("CH%d=%.3fV (0x%04x)\r\n", ch, (float)Value/1000.0, Value);
		}

		usleep(200*1000);
   40370:	010000f4 	movhi	r4,3
   40374:	21035004 	addi	r4,r4,3392
   40378:	004a1980 	call	4a198 <usleep>
	} // while
   4037c:	003fac06 	br	40230 <__alt_data_end+0xfffd9130>

00040380 <__floatsisf>:
   40380:	2004d7fa 	srli	r2,r4,31
   40384:	defffa04 	addi	sp,sp,-24
   40388:	00c000c4 	movi	r3,3
   4038c:	dfc00515 	stw	ra,20(sp)
   40390:	dc000415 	stw	r16,16(sp)
   40394:	d8c00015 	stw	r3,0(sp)
   40398:	d8800115 	stw	r2,4(sp)
   4039c:	2000081e 	bne	r4,zero,403c0 <__floatsisf+0x40>
   403a0:	00800084 	movi	r2,2
   403a4:	d8800015 	stw	r2,0(sp)
   403a8:	d809883a 	mov	r4,sp
   403ac:	00407000 	call	40700 <__pack_f>
   403b0:	dfc00517 	ldw	ra,20(sp)
   403b4:	dc000417 	ldw	r16,16(sp)
   403b8:	dec00604 	addi	sp,sp,24
   403bc:	f800283a 	ret
   403c0:	00c00784 	movi	r3,30
   403c4:	d8c00215 	stw	r3,8(sp)
   403c8:	10000b1e 	bne	r2,zero,403f8 <__floatsisf+0x78>
   403cc:	2021883a 	mov	r16,r4
   403d0:	8009883a 	mov	r4,r16
   403d4:	00406540 	call	40654 <__clzsi2>
   403d8:	113fffc4 	addi	r4,r2,-1
   403dc:	01000d0e 	bge	zero,r4,40414 <__floatsisf+0x94>
   403e0:	8108983a 	sll	r4,r16,r4
   403e4:	00c007c4 	movi	r3,31
   403e8:	1885c83a 	sub	r2,r3,r2
   403ec:	d9000315 	stw	r4,12(sp)
   403f0:	d8800215 	stw	r2,8(sp)
   403f4:	003fec06 	br	403a8 <__alt_data_end+0xfffd92a8>
   403f8:	00a00034 	movhi	r2,32768
   403fc:	20800726 	beq	r4,r2,4041c <__floatsisf+0x9c>
   40400:	0121c83a 	sub	r16,zero,r4
   40404:	8009883a 	mov	r4,r16
   40408:	00406540 	call	40654 <__clzsi2>
   4040c:	113fffc4 	addi	r4,r2,-1
   40410:	013ff316 	blt	zero,r4,403e0 <__alt_data_end+0xfffd92e0>
   40414:	dc000315 	stw	r16,12(sp)
   40418:	003fe306 	br	403a8 <__alt_data_end+0xfffd92a8>
   4041c:	00b3c034 	movhi	r2,52992
   40420:	003fe306 	br	403b0 <__alt_data_end+0xfffd92b0>

00040424 <__extendsfdf2>:
   40424:	defff904 	addi	sp,sp,-28
   40428:	d9000515 	stw	r4,20(sp)
   4042c:	d9400104 	addi	r5,sp,4
   40430:	d9000504 	addi	r4,sp,20
   40434:	dfc00615 	stw	ra,24(sp)
   40438:	004082c0 	call	4082c <__unpack_f>
   4043c:	d9c00417 	ldw	r7,16(sp)
   40440:	d9000117 	ldw	r4,4(sp)
   40444:	d9400217 	ldw	r5,8(sp)
   40448:	3804d0ba 	srli	r2,r7,2
   4044c:	d9800317 	ldw	r6,12(sp)
   40450:	380e97ba 	slli	r7,r7,30
   40454:	d8800015 	stw	r2,0(sp)
   40458:	004061c0 	call	4061c <__make_dp>
   4045c:	dfc00617 	ldw	ra,24(sp)
   40460:	dec00704 	addi	sp,sp,28
   40464:	f800283a 	ret

00040468 <__divdf3>:
   40468:	defff104 	addi	sp,sp,-60
   4046c:	d9000c15 	stw	r4,48(sp)
   40470:	d9400d15 	stw	r5,52(sp)
   40474:	d9000c04 	addi	r4,sp,48
   40478:	d9400504 	addi	r5,sp,20
   4047c:	dfc00e15 	stw	ra,56(sp)
   40480:	d9800a15 	stw	r6,40(sp)
   40484:	d9c00b15 	stw	r7,44(sp)
   40488:	0040b180 	call	40b18 <__unpack_d>
   4048c:	d9000a04 	addi	r4,sp,40
   40490:	d80b883a 	mov	r5,sp
   40494:	0040b180 	call	40b18 <__unpack_d>
   40498:	d8c00517 	ldw	r3,20(sp)
   4049c:	00800044 	movi	r2,1
   404a0:	10c00536 	bltu	r2,r3,404b8 <__divdf3+0x50>
   404a4:	d9000504 	addi	r4,sp,20
   404a8:	00408f40 	call	408f4 <__pack_d>
   404ac:	dfc00e17 	ldw	ra,56(sp)
   404b0:	dec00f04 	addi	sp,sp,60
   404b4:	f800283a 	ret
   404b8:	d9000017 	ldw	r4,0(sp)
   404bc:	11000536 	bltu	r2,r4,404d4 <__divdf3+0x6c>
   404c0:	d809883a 	mov	r4,sp
   404c4:	00408f40 	call	408f4 <__pack_d>
   404c8:	dfc00e17 	ldw	ra,56(sp)
   404cc:	dec00f04 	addi	sp,sp,60
   404d0:	f800283a 	ret
   404d4:	d9800617 	ldw	r6,24(sp)
   404d8:	d9400117 	ldw	r5,4(sp)
   404dc:	00800104 	movi	r2,4
   404e0:	314af03a 	xor	r5,r6,r5
   404e4:	d9400615 	stw	r5,24(sp)
   404e8:	18800226 	beq	r3,r2,404f4 <__divdf3+0x8c>
   404ec:	01400084 	movi	r5,2
   404f0:	1940041e 	bne	r3,r5,40504 <__divdf3+0x9c>
   404f4:	193feb1e 	bne	r3,r4,404a4 <__alt_data_end+0xfffd93a4>
   404f8:	01000174 	movhi	r4,5
   404fc:	21307d04 	addi	r4,r4,-15884
   40500:	003fe906 	br	404a8 <__alt_data_end+0xfffd93a8>
   40504:	20803326 	beq	r4,r2,405d4 <__divdf3+0x16c>
   40508:	21403726 	beq	r4,r5,405e8 <__divdf3+0x180>
   4050c:	d8800217 	ldw	r2,8(sp)
   40510:	d9000717 	ldw	r4,28(sp)
   40514:	d8c00917 	ldw	r3,36(sp)
   40518:	da000417 	ldw	r8,16(sp)
   4051c:	2089c83a 	sub	r4,r4,r2
   40520:	d9000715 	stw	r4,28(sp)
   40524:	d8800817 	ldw	r2,32(sp)
   40528:	dbc00317 	ldw	r15,12(sp)
   4052c:	1a000236 	bltu	r3,r8,40538 <__divdf3+0xd0>
   40530:	40c0081e 	bne	r8,r3,40554 <__divdf3+0xec>
   40534:	13c0072e 	bgeu	r2,r15,40554 <__divdf3+0xec>
   40538:	108b883a 	add	r5,r2,r2
   4053c:	288d803a 	cmpltu	r6,r5,r2
   40540:	18c7883a 	add	r3,r3,r3
   40544:	213fffc4 	addi	r4,r4,-1
   40548:	2805883a 	mov	r2,r5
   4054c:	30c7883a 	add	r3,r6,r3
   40550:	d9000715 	stw	r4,28(sp)
   40554:	01400f44 	movi	r5,61
   40558:	000f883a 	mov	r7,zero
   4055c:	01040034 	movhi	r4,4096
   40560:	0019883a 	mov	r12,zero
   40564:	001b883a 	mov	r13,zero
   40568:	201697fa 	slli	r11,r4,31
   4056c:	3814d07a 	srli	r10,r7,1
   40570:	297fffc4 	addi	r5,r5,-1
   40574:	1a000936 	bltu	r3,r8,4059c <__divdf3+0x134>
   40578:	13cdc83a 	sub	r6,r2,r15
   4057c:	1193803a 	cmpltu	r9,r2,r6
   40580:	1a1dc83a 	sub	r14,r3,r8
   40584:	40c0011e 	bne	r8,r3,4058c <__divdf3+0x124>
   40588:	13c00436 	bltu	r2,r15,4059c <__divdf3+0x134>
   4058c:	3005883a 	mov	r2,r6
   40590:	7247c83a 	sub	r3,r14,r9
   40594:	61d8b03a 	or	r12,r12,r7
   40598:	691ab03a 	or	r13,r13,r4
   4059c:	108d883a 	add	r6,r2,r2
   405a0:	3093803a 	cmpltu	r9,r6,r2
   405a4:	18c7883a 	add	r3,r3,r3
   405a8:	5a8eb03a 	or	r7,r11,r10
   405ac:	2008d07a 	srli	r4,r4,1
   405b0:	3005883a 	mov	r2,r6
   405b4:	48c7883a 	add	r3,r9,r3
   405b8:	283feb1e 	bne	r5,zero,40568 <__alt_data_end+0xfffd9468>
   405bc:	61003fcc 	andi	r4,r12,255
   405c0:	01402004 	movi	r5,128
   405c4:	21400b26 	beq	r4,r5,405f4 <__divdf3+0x18c>
   405c8:	db000815 	stw	r12,32(sp)
   405cc:	db400915 	stw	r13,36(sp)
   405d0:	003fb406 	br	404a4 <__alt_data_end+0xfffd93a4>
   405d4:	d8000815 	stw	zero,32(sp)
   405d8:	d8000915 	stw	zero,36(sp)
   405dc:	d8000715 	stw	zero,28(sp)
   405e0:	d9000504 	addi	r4,sp,20
   405e4:	003fb006 	br	404a8 <__alt_data_end+0xfffd93a8>
   405e8:	d8800515 	stw	r2,20(sp)
   405ec:	d9000504 	addi	r4,sp,20
   405f0:	003fad06 	br	404a8 <__alt_data_end+0xfffd93a8>
   405f4:	6140400c 	andi	r5,r12,256
   405f8:	283ff31e 	bne	r5,zero,405c8 <__alt_data_end+0xfffd94c8>
   405fc:	30c4b03a 	or	r2,r6,r3
   40600:	103ff126 	beq	r2,zero,405c8 <__alt_data_end+0xfffd94c8>
   40604:	6109883a 	add	r4,r12,r4
   40608:	2305803a 	cmpltu	r2,r4,r12
   4060c:	033fc004 	movi	r12,-256
   40610:	2318703a 	and	r12,r4,r12
   40614:	135b883a 	add	r13,r2,r13
   40618:	003feb06 	br	405c8 <__alt_data_end+0xfffd94c8>

0004061c <__make_dp>:
   4061c:	defff904 	addi	sp,sp,-28
   40620:	d8800717 	ldw	r2,28(sp)
   40624:	d9000015 	stw	r4,0(sp)
   40628:	d809883a 	mov	r4,sp
   4062c:	dfc00515 	stw	ra,20(sp)
   40630:	d9c00615 	stw	r7,24(sp)
   40634:	d9400115 	stw	r5,4(sp)
   40638:	d9800215 	stw	r6,8(sp)
   4063c:	d9c00315 	stw	r7,12(sp)
   40640:	d8800415 	stw	r2,16(sp)
   40644:	00408f40 	call	408f4 <__pack_d>
   40648:	dfc00517 	ldw	ra,20(sp)
   4064c:	dec00704 	addi	sp,sp,28
   40650:	f800283a 	ret

00040654 <__clzsi2>:
   40654:	00bfffd4 	movui	r2,65535
   40658:	11000b36 	bltu	r2,r4,40688 <__clzsi2+0x34>
   4065c:	00803fc4 	movi	r2,255
   40660:	11001e2e 	bgeu	r2,r4,406dc <__clzsi2+0x88>
   40664:	00c00204 	movi	r3,8
   40668:	20c8d83a 	srl	r4,r4,r3
   4066c:	00c00174 	movhi	r3,5
   40670:	18f08204 	addi	r3,r3,-15864
   40674:	00800604 	movi	r2,24
   40678:	1909883a 	add	r4,r3,r4
   4067c:	20c00003 	ldbu	r3,0(r4)
   40680:	10c5c83a 	sub	r2,r2,r3
   40684:	f800283a 	ret
   40688:	00804034 	movhi	r2,256
   4068c:	10bfffc4 	addi	r2,r2,-1
   40690:	11000936 	bltu	r2,r4,406b8 <__clzsi2+0x64>
   40694:	00800404 	movi	r2,16
   40698:	1007883a 	mov	r3,r2
   4069c:	20c8d83a 	srl	r4,r4,r3
   406a0:	00c00174 	movhi	r3,5
   406a4:	18f08204 	addi	r3,r3,-15864
   406a8:	1909883a 	add	r4,r3,r4
   406ac:	20c00003 	ldbu	r3,0(r4)
   406b0:	10c5c83a 	sub	r2,r2,r3
   406b4:	f800283a 	ret
   406b8:	00c00604 	movi	r3,24
   406bc:	20c8d83a 	srl	r4,r4,r3
   406c0:	00c00174 	movhi	r3,5
   406c4:	18f08204 	addi	r3,r3,-15864
   406c8:	00800204 	movi	r2,8
   406cc:	1909883a 	add	r4,r3,r4
   406d0:	20c00003 	ldbu	r3,0(r4)
   406d4:	10c5c83a 	sub	r2,r2,r3
   406d8:	f800283a 	ret
   406dc:	0007883a 	mov	r3,zero
   406e0:	20c8d83a 	srl	r4,r4,r3
   406e4:	00c00174 	movhi	r3,5
   406e8:	18f08204 	addi	r3,r3,-15864
   406ec:	00800804 	movi	r2,32
   406f0:	1909883a 	add	r4,r3,r4
   406f4:	20c00003 	ldbu	r3,0(r4)
   406f8:	10c5c83a 	sub	r2,r2,r3
   406fc:	f800283a 	ret

00040700 <__pack_f>:
   40700:	21400017 	ldw	r5,0(r4)
   40704:	01800044 	movi	r6,1
   40708:	20c00317 	ldw	r3,12(r4)
   4070c:	21c00117 	ldw	r7,4(r4)
   40710:	3140282e 	bgeu	r6,r5,407b4 <__pack_f+0xb4>
   40714:	00800104 	movi	r2,4
   40718:	28802326 	beq	r5,r2,407a8 <__pack_f+0xa8>
   4071c:	00800084 	movi	r2,2
   40720:	28800f26 	beq	r5,r2,40760 <__pack_f+0x60>
   40724:	18000e26 	beq	r3,zero,40760 <__pack_f+0x60>
   40728:	21000217 	ldw	r4,8(r4)
   4072c:	00bfe084 	movi	r2,-126
   40730:	20802616 	blt	r4,r2,407cc <__pack_f+0xcc>
   40734:	00801fc4 	movi	r2,127
   40738:	11001b16 	blt	r2,r4,407a8 <__pack_f+0xa8>
   4073c:	188a703a 	and	r5,r3,r2
   40740:	00801004 	movi	r2,64
   40744:	28801126 	beq	r5,r2,4078c <__pack_f+0x8c>
   40748:	18c00fc4 	addi	r3,r3,63
   4074c:	18001316 	blt	r3,zero,4079c <__pack_f+0x9c>
   40750:	21001fc4 	addi	r4,r4,127
   40754:	180690ba 	slli	r3,r3,2
   40758:	1806d27a 	srli	r3,r3,9
   4075c:	00000206 	br	40768 <__pack_f+0x68>
   40760:	0009883a 	mov	r4,zero
   40764:	0007883a 	mov	r3,zero
   40768:	21003fcc 	andi	r4,r4,255
   4076c:	200895fa 	slli	r4,r4,23
   40770:	380a97fa 	slli	r5,r7,31
   40774:	00802034 	movhi	r2,128
   40778:	10bfffc4 	addi	r2,r2,-1
   4077c:	1886703a 	and	r3,r3,r2
   40780:	1904b03a 	or	r2,r3,r4
   40784:	1144b03a 	or	r2,r2,r5
   40788:	f800283a 	ret
   4078c:	1880200c 	andi	r2,r3,128
   40790:	103fee26 	beq	r2,zero,4074c <__alt_data_end+0xfffd964c>
   40794:	18c01004 	addi	r3,r3,64
   40798:	183fed0e 	bge	r3,zero,40750 <__alt_data_end+0xfffd9650>
   4079c:	1806d07a 	srli	r3,r3,1
   407a0:	21002004 	addi	r4,r4,128
   407a4:	003feb06 	br	40754 <__alt_data_end+0xfffd9654>
   407a8:	013fffc4 	movi	r4,-1
   407ac:	0007883a 	mov	r3,zero
   407b0:	003fed06 	br	40768 <__alt_data_end+0xfffd9668>
   407b4:	18c00434 	orhi	r3,r3,16
   407b8:	00802034 	movhi	r2,128
   407bc:	10bfffc4 	addi	r2,r2,-1
   407c0:	1886703a 	and	r3,r3,r2
   407c4:	013fffc4 	movi	r4,-1
   407c8:	003fe706 	br	40768 <__alt_data_end+0xfffd9668>
   407cc:	1105c83a 	sub	r2,r2,r4
   407d0:	01000644 	movi	r4,25
   407d4:	20801216 	blt	r4,r2,40820 <__pack_f+0x120>
   407d8:	3088983a 	sll	r4,r6,r2
   407dc:	1884d83a 	srl	r2,r3,r2
   407e0:	213fffc4 	addi	r4,r4,-1
   407e4:	20c6703a 	and	r3,r4,r3
   407e8:	1806c03a 	cmpne	r3,r3,zero
   407ec:	1884b03a 	or	r2,r3,r2
   407f0:	11001fcc 	andi	r4,r2,127
   407f4:	00c01004 	movi	r3,64
   407f8:	20c00a1e 	bne	r4,r3,40824 <__pack_f+0x124>
   407fc:	10c0200c 	andi	r3,r2,128
   40800:	18000126 	beq	r3,zero,40808 <__pack_f+0x108>
   40804:	10801004 	addi	r2,r2,64
   40808:	100690ba 	slli	r3,r2,2
   4080c:	01100034 	movhi	r4,16384
   40810:	1105403a 	cmpgeu	r2,r2,r4
   40814:	1806d27a 	srli	r3,r3,9
   40818:	1009883a 	mov	r4,r2
   4081c:	003fd206 	br	40768 <__alt_data_end+0xfffd9668>
   40820:	0005883a 	mov	r2,zero
   40824:	10800fc4 	addi	r2,r2,63
   40828:	003ff706 	br	40808 <__alt_data_end+0xfffd9708>

0004082c <__unpack_f>:
   4082c:	20c00017 	ldw	r3,0(r4)
   40830:	00802034 	movhi	r2,128
   40834:	10bfffc4 	addi	r2,r2,-1
   40838:	1808d5fa 	srli	r4,r3,23
   4083c:	180cd7fa 	srli	r6,r3,31
   40840:	1884703a 	and	r2,r3,r2
   40844:	21003fcc 	andi	r4,r4,255
   40848:	29800115 	stw	r6,4(r5)
   4084c:	2000111e 	bne	r4,zero,40894 <__unpack_f+0x68>
   40850:	10001a26 	beq	r2,zero,408bc <__unpack_f+0x90>
   40854:	00ffe084 	movi	r3,-126
   40858:	100491fa 	slli	r2,r2,7
   4085c:	28c00215 	stw	r3,8(r5)
   40860:	00c000c4 	movi	r3,3
   40864:	28c00015 	stw	r3,0(r5)
   40868:	01900034 	movhi	r6,16384
   4086c:	31bfffc4 	addi	r6,r6,-1
   40870:	30801036 	bltu	r6,r2,408b4 <__unpack_f+0x88>
   40874:	00ffe044 	movi	r3,-127
   40878:	1085883a 	add	r2,r2,r2
   4087c:	1809883a 	mov	r4,r3
   40880:	18ffffc4 	addi	r3,r3,-1
   40884:	30bffc2e 	bgeu	r6,r2,40878 <__alt_data_end+0xfffd9778>
   40888:	29000215 	stw	r4,8(r5)
   4088c:	28800315 	stw	r2,12(r5)
   40890:	f800283a 	ret
   40894:	01803fc4 	movi	r6,255
   40898:	21800b26 	beq	r4,r6,408c8 <__unpack_f+0x9c>
   4089c:	100491fa 	slli	r2,r2,7
   408a0:	213fe044 	addi	r4,r4,-127
   408a4:	00c000c4 	movi	r3,3
   408a8:	10900034 	orhi	r2,r2,16384
   408ac:	29000215 	stw	r4,8(r5)
   408b0:	28c00015 	stw	r3,0(r5)
   408b4:	28800315 	stw	r2,12(r5)
   408b8:	f800283a 	ret
   408bc:	00800084 	movi	r2,2
   408c0:	28800015 	stw	r2,0(r5)
   408c4:	f800283a 	ret
   408c8:	10000526 	beq	r2,zero,408e0 <__unpack_f+0xb4>
   408cc:	18c0042c 	andhi	r3,r3,16
   408d0:	18000626 	beq	r3,zero,408ec <__unpack_f+0xc0>
   408d4:	00c00044 	movi	r3,1
   408d8:	28c00015 	stw	r3,0(r5)
   408dc:	003ff506 	br	408b4 <__alt_data_end+0xfffd97b4>
   408e0:	00800104 	movi	r2,4
   408e4:	28800015 	stw	r2,0(r5)
   408e8:	f800283a 	ret
   408ec:	28000015 	stw	zero,0(r5)
   408f0:	003ff006 	br	408b4 <__alt_data_end+0xfffd97b4>

000408f4 <__pack_d>:
   408f4:	20800017 	ldw	r2,0(r4)
   408f8:	defff804 	addi	sp,sp,-32
   408fc:	dcc00315 	stw	r19,12(sp)
   40900:	dc800215 	stw	r18,8(sp)
   40904:	dfc00715 	stw	ra,28(sp)
   40908:	dd800615 	stw	r22,24(sp)
   4090c:	dd400515 	stw	r21,20(sp)
   40910:	dd000415 	stw	r20,16(sp)
   40914:	dc400115 	stw	r17,4(sp)
   40918:	dc000015 	stw	r16,0(sp)
   4091c:	04800044 	movi	r18,1
   40920:	24400317 	ldw	r17,12(r4)
   40924:	24000417 	ldw	r16,16(r4)
   40928:	24c00117 	ldw	r19,4(r4)
   4092c:	9080422e 	bgeu	r18,r2,40a38 <__pack_d+0x144>
   40930:	00c00104 	movi	r3,4
   40934:	10c03c26 	beq	r2,r3,40a28 <__pack_d+0x134>
   40938:	00c00084 	movi	r3,2
   4093c:	10c01926 	beq	r2,r3,409a4 <__pack_d+0xb0>
   40940:	8c04b03a 	or	r2,r17,r16
   40944:	10001726 	beq	r2,zero,409a4 <__pack_d+0xb0>
   40948:	21000217 	ldw	r4,8(r4)
   4094c:	00bf0084 	movi	r2,-1022
   40950:	20804016 	blt	r4,r2,40a54 <__pack_d+0x160>
   40954:	0080ffc4 	movi	r2,1023
   40958:	11003316 	blt	r2,r4,40a28 <__pack_d+0x134>
   4095c:	88803fcc 	andi	r2,r17,255
   40960:	00c02004 	movi	r3,128
   40964:	10c02926 	beq	r2,r3,40a0c <__pack_d+0x118>
   40968:	88801fc4 	addi	r2,r17,127
   4096c:	1463803a 	cmpltu	r17,r2,r17
   40970:	8c21883a 	add	r16,r17,r16
   40974:	1023883a 	mov	r17,r2
   40978:	00880034 	movhi	r2,8192
   4097c:	10bfffc4 	addi	r2,r2,-1
   40980:	14001c36 	bltu	r2,r16,409f4 <__pack_d+0x100>
   40984:	2100ffc4 	addi	r4,r4,1023
   40988:	8006963a 	slli	r3,r16,24
   4098c:	8804d23a 	srli	r2,r17,8
   40990:	8020913a 	slli	r16,r16,4
   40994:	2101ffcc 	andi	r4,r4,2047
   40998:	1884b03a 	or	r2,r3,r2
   4099c:	8020d33a 	srli	r16,r16,12
   409a0:	00000306 	br	409b0 <__pack_d+0xbc>
   409a4:	0009883a 	mov	r4,zero
   409a8:	0005883a 	mov	r2,zero
   409ac:	0021883a 	mov	r16,zero
   409b0:	2008953a 	slli	r4,r4,20
   409b4:	982697fa 	slli	r19,r19,31
   409b8:	00c00434 	movhi	r3,16
   409bc:	18ffffc4 	addi	r3,r3,-1
   409c0:	80e0703a 	and	r16,r16,r3
   409c4:	8106b03a 	or	r3,r16,r4
   409c8:	1cc6b03a 	or	r3,r3,r19
   409cc:	dfc00717 	ldw	ra,28(sp)
   409d0:	dd800617 	ldw	r22,24(sp)
   409d4:	dd400517 	ldw	r21,20(sp)
   409d8:	dd000417 	ldw	r20,16(sp)
   409dc:	dcc00317 	ldw	r19,12(sp)
   409e0:	dc800217 	ldw	r18,8(sp)
   409e4:	dc400117 	ldw	r17,4(sp)
   409e8:	dc000017 	ldw	r16,0(sp)
   409ec:	dec00804 	addi	sp,sp,32
   409f0:	f800283a 	ret
   409f4:	800697fa 	slli	r3,r16,31
   409f8:	8804d07a 	srli	r2,r17,1
   409fc:	21010004 	addi	r4,r4,1024
   40a00:	8020d07a 	srli	r16,r16,1
   40a04:	18a2b03a 	or	r17,r3,r2
   40a08:	003fdf06 	br	40988 <__alt_data_end+0xfffd9888>
   40a0c:	88c0400c 	andi	r3,r17,256
   40a10:	183fd926 	beq	r3,zero,40978 <__alt_data_end+0xfffd9878>
   40a14:	8885883a 	add	r2,r17,r2
   40a18:	1463803a 	cmpltu	r17,r2,r17
   40a1c:	8c21883a 	add	r16,r17,r16
   40a20:	1023883a 	mov	r17,r2
   40a24:	003fd406 	br	40978 <__alt_data_end+0xfffd9878>
   40a28:	0101ffc4 	movi	r4,2047
   40a2c:	0005883a 	mov	r2,zero
   40a30:	0021883a 	mov	r16,zero
   40a34:	003fde06 	br	409b0 <__alt_data_end+0xfffd98b0>
   40a38:	84000234 	orhi	r16,r16,8
   40a3c:	00c00434 	movhi	r3,16
   40a40:	18ffffc4 	addi	r3,r3,-1
   40a44:	8805883a 	mov	r2,r17
   40a48:	80e0703a 	and	r16,r16,r3
   40a4c:	0101ffc4 	movi	r4,2047
   40a50:	003fd706 	br	409b0 <__alt_data_end+0xfffd98b0>
   40a54:	1129c83a 	sub	r20,r2,r4
   40a58:	00800e04 	movi	r2,56
   40a5c:	15002716 	blt	r2,r20,40afc <__pack_d+0x208>
   40a60:	800b883a 	mov	r5,r16
   40a64:	a00d883a 	mov	r6,r20
   40a68:	8809883a 	mov	r4,r17
   40a6c:	0040c1c0 	call	40c1c <__lshrdi3>
   40a70:	9009883a 	mov	r4,r18
   40a74:	000b883a 	mov	r5,zero
   40a78:	a00d883a 	mov	r6,r20
   40a7c:	102d883a 	mov	r22,r2
   40a80:	182b883a 	mov	r21,r3
   40a84:	0040c600 	call	40c60 <__ashldi3>
   40a88:	1009003a 	cmpeq	r4,r2,zero
   40a8c:	1907c83a 	sub	r3,r3,r4
   40a90:	10bfffc4 	addi	r2,r2,-1
   40a94:	1c20703a 	and	r16,r3,r16
   40a98:	1444703a 	and	r2,r2,r17
   40a9c:	1404b03a 	or	r2,r2,r16
   40aa0:	1004c03a 	cmpne	r2,r2,zero
   40aa4:	1584b03a 	or	r2,r2,r22
   40aa8:	11003fcc 	andi	r4,r2,255
   40aac:	01402004 	movi	r5,128
   40ab0:	a807883a 	mov	r3,r21
   40ab4:	2140131e 	bne	r4,r5,40b04 <__pack_d+0x210>
   40ab8:	1140400c 	andi	r5,r2,256
   40abc:	28000426 	beq	r5,zero,40ad0 <__pack_d+0x1dc>
   40ac0:	1109883a 	add	r4,r2,r4
   40ac4:	2085803a 	cmpltu	r2,r4,r2
   40ac8:	1547883a 	add	r3,r2,r21
   40acc:	2005883a 	mov	r2,r4
   40ad0:	1808963a 	slli	r4,r3,24
   40ad4:	1004d23a 	srli	r2,r2,8
   40ad8:	1820913a 	slli	r16,r3,4
   40adc:	01440034 	movhi	r5,4096
   40ae0:	297fffc4 	addi	r5,r5,-1
   40ae4:	2084b03a 	or	r2,r4,r2
   40ae8:	8020d33a 	srli	r16,r16,12
   40aec:	01000044 	movi	r4,1
   40af0:	28ffaf36 	bltu	r5,r3,409b0 <__alt_data_end+0xfffd98b0>
   40af4:	0009883a 	mov	r4,zero
   40af8:	003fad06 	br	409b0 <__alt_data_end+0xfffd98b0>
   40afc:	0005883a 	mov	r2,zero
   40b00:	0007883a 	mov	r3,zero
   40b04:	11001fc4 	addi	r4,r2,127
   40b08:	2085803a 	cmpltu	r2,r4,r2
   40b0c:	10c7883a 	add	r3,r2,r3
   40b10:	2005883a 	mov	r2,r4
   40b14:	003fee06 	br	40ad0 <__alt_data_end+0xfffd99d0>

00040b18 <__unpack_d>:
   40b18:	21800117 	ldw	r6,4(r4)
   40b1c:	20c00017 	ldw	r3,0(r4)
   40b20:	3004d7fa 	srli	r2,r6,31
   40b24:	3008d53a 	srli	r4,r6,20
   40b28:	28800115 	stw	r2,4(r5)
   40b2c:	2101ffcc 	andi	r4,r4,2047
   40b30:	00800434 	movhi	r2,16
   40b34:	10bfffc4 	addi	r2,r2,-1
   40b38:	3084703a 	and	r2,r6,r2
   40b3c:	20001a1e 	bne	r4,zero,40ba8 <__unpack_d+0x90>
   40b40:	1888b03a 	or	r4,r3,r2
   40b44:	20002626 	beq	r4,zero,40be0 <__unpack_d+0xc8>
   40b48:	1808d63a 	srli	r4,r3,24
   40b4c:	1004923a 	slli	r2,r2,8
   40b50:	01bf0084 	movi	r6,-1022
   40b54:	29800215 	stw	r6,8(r5)
   40b58:	2084b03a 	or	r2,r4,r2
   40b5c:	010000c4 	movi	r4,3
   40b60:	29000015 	stw	r4,0(r5)
   40b64:	02040034 	movhi	r8,4096
   40b68:	423fffc4 	addi	r8,r8,-1
   40b6c:	1806923a 	slli	r3,r3,8
   40b70:	40801836 	bltu	r8,r2,40bd4 <__unpack_d+0xbc>
   40b74:	013f0044 	movi	r4,-1023
   40b78:	18cd883a 	add	r6,r3,r3
   40b7c:	30c7803a 	cmpltu	r3,r6,r3
   40b80:	1085883a 	add	r2,r2,r2
   40b84:	1885883a 	add	r2,r3,r2
   40b88:	200f883a 	mov	r7,r4
   40b8c:	3007883a 	mov	r3,r6
   40b90:	213fffc4 	addi	r4,r4,-1
   40b94:	40bff82e 	bgeu	r8,r2,40b78 <__alt_data_end+0xfffd9a78>
   40b98:	29c00215 	stw	r7,8(r5)
   40b9c:	28c00315 	stw	r3,12(r5)
   40ba0:	28800415 	stw	r2,16(r5)
   40ba4:	f800283a 	ret
   40ba8:	01c1ffc4 	movi	r7,2047
   40bac:	21c00f26 	beq	r4,r7,40bec <__unpack_d+0xd4>
   40bb0:	180cd63a 	srli	r6,r3,24
   40bb4:	1004923a 	slli	r2,r2,8
   40bb8:	213f0044 	addi	r4,r4,-1023
   40bbc:	1806923a 	slli	r3,r3,8
   40bc0:	3084b03a 	or	r2,r6,r2
   40bc4:	29000215 	stw	r4,8(r5)
   40bc8:	010000c4 	movi	r4,3
   40bcc:	10840034 	orhi	r2,r2,4096
   40bd0:	29000015 	stw	r4,0(r5)
   40bd4:	28c00315 	stw	r3,12(r5)
   40bd8:	28800415 	stw	r2,16(r5)
   40bdc:	f800283a 	ret
   40be0:	00800084 	movi	r2,2
   40be4:	28800015 	stw	r2,0(r5)
   40be8:	f800283a 	ret
   40bec:	1888b03a 	or	r4,r3,r2
   40bf0:	20000526 	beq	r4,zero,40c08 <__unpack_d+0xf0>
   40bf4:	3180022c 	andhi	r6,r6,8
   40bf8:	30000626 	beq	r6,zero,40c14 <__unpack_d+0xfc>
   40bfc:	01000044 	movi	r4,1
   40c00:	29000015 	stw	r4,0(r5)
   40c04:	003ff306 	br	40bd4 <__alt_data_end+0xfffd9ad4>
   40c08:	00800104 	movi	r2,4
   40c0c:	28800015 	stw	r2,0(r5)
   40c10:	f800283a 	ret
   40c14:	28000015 	stw	zero,0(r5)
   40c18:	003fee06 	br	40bd4 <__alt_data_end+0xfffd9ad4>

00040c1c <__lshrdi3>:
   40c1c:	2005883a 	mov	r2,r4
   40c20:	2807883a 	mov	r3,r5
   40c24:	30000826 	beq	r6,zero,40c48 <__lshrdi3+0x2c>
   40c28:	01000804 	movi	r4,32
   40c2c:	2189c83a 	sub	r4,r4,r6
   40c30:	0100060e 	bge	zero,r4,40c4c <__lshrdi3+0x30>
   40c34:	1184d83a 	srl	r2,r2,r6
   40c38:	2908983a 	sll	r4,r5,r4
   40c3c:	298cd83a 	srl	r6,r5,r6
   40c40:	2084b03a 	or	r2,r4,r2
   40c44:	3007883a 	mov	r3,r6
   40c48:	f800283a 	ret
   40c4c:	0105c83a 	sub	r2,zero,r4
   40c50:	000d883a 	mov	r6,zero
   40c54:	2884d83a 	srl	r2,r5,r2
   40c58:	3007883a 	mov	r3,r6
   40c5c:	003ffa06 	br	40c48 <__alt_data_end+0xfffd9b48>

00040c60 <__ashldi3>:
   40c60:	2005883a 	mov	r2,r4
   40c64:	2807883a 	mov	r3,r5
   40c68:	30000826 	beq	r6,zero,40c8c <__ashldi3+0x2c>
   40c6c:	01000804 	movi	r4,32
   40c70:	2189c83a 	sub	r4,r4,r6
   40c74:	0100060e 	bge	zero,r4,40c90 <__ashldi3+0x30>
   40c78:	1108d83a 	srl	r4,r2,r4
   40c7c:	2986983a 	sll	r3,r5,r6
   40c80:	118c983a 	sll	r6,r2,r6
   40c84:	20c6b03a 	or	r3,r4,r3
   40c88:	3005883a 	mov	r2,r6
   40c8c:	f800283a 	ret
   40c90:	0107c83a 	sub	r3,zero,r4
   40c94:	000d883a 	mov	r6,zero
   40c98:	10c6983a 	sll	r3,r2,r3
   40c9c:	3005883a 	mov	r2,r6
   40ca0:	003ffa06 	br	40c8c <__alt_data_end+0xfffd9b8c>

00040ca4 <_printf_r>:
   40ca4:	defffd04 	addi	sp,sp,-12
   40ca8:	dfc00015 	stw	ra,0(sp)
   40cac:	d9800115 	stw	r6,4(sp)
   40cb0:	d9c00215 	stw	r7,8(sp)
   40cb4:	280d883a 	mov	r6,r5
   40cb8:	21400217 	ldw	r5,8(r4)
   40cbc:	d9c00104 	addi	r7,sp,4
   40cc0:	0040e640 	call	40e64 <___vfprintf_internal_r>
   40cc4:	dfc00017 	ldw	ra,0(sp)
   40cc8:	dec00304 	addi	sp,sp,12
   40ccc:	f800283a 	ret

00040cd0 <printf>:
   40cd0:	defffc04 	addi	sp,sp,-16
   40cd4:	dfc00015 	stw	ra,0(sp)
   40cd8:	d9400115 	stw	r5,4(sp)
   40cdc:	d9800215 	stw	r6,8(sp)
   40ce0:	d9c00315 	stw	r7,12(sp)
   40ce4:	00800174 	movhi	r2,5
   40ce8:	10b7cd04 	addi	r2,r2,-8396
   40cec:	10800017 	ldw	r2,0(r2)
   40cf0:	200b883a 	mov	r5,r4
   40cf4:	d9800104 	addi	r6,sp,4
   40cf8:	11000217 	ldw	r4,8(r2)
   40cfc:	0042c5c0 	call	42c5c <__vfprintf_internal>
   40d00:	dfc00017 	ldw	ra,0(sp)
   40d04:	dec00404 	addi	sp,sp,16
   40d08:	f800283a 	ret

00040d0c <_puts_r>:
   40d0c:	defff604 	addi	sp,sp,-40
   40d10:	dc400815 	stw	r17,32(sp)
   40d14:	2023883a 	mov	r17,r4
   40d18:	2809883a 	mov	r4,r5
   40d1c:	dc000715 	stw	r16,28(sp)
   40d20:	dfc00915 	stw	ra,36(sp)
   40d24:	2821883a 	mov	r16,r5
   40d28:	0040da40 	call	40da4 <strlen>
   40d2c:	10c00044 	addi	r3,r2,1
   40d30:	d8800115 	stw	r2,4(sp)
   40d34:	89400217 	ldw	r5,8(r17)
   40d38:	00800174 	movhi	r2,5
   40d3c:	10b0c204 	addi	r2,r2,-15608
   40d40:	d8800215 	stw	r2,8(sp)
   40d44:	00800044 	movi	r2,1
   40d48:	d8800315 	stw	r2,12(sp)
   40d4c:	8809883a 	mov	r4,r17
   40d50:	00800084 	movi	r2,2
   40d54:	d9800404 	addi	r6,sp,16
   40d58:	dc000015 	stw	r16,0(sp)
   40d5c:	d8c00615 	stw	r3,24(sp)
   40d60:	dec00415 	stw	sp,16(sp)
   40d64:	d8800515 	stw	r2,20(sp)
   40d68:	0044f140 	call	44f14 <__sfvwrite_r>
   40d6c:	1000061e 	bne	r2,zero,40d88 <_puts_r+0x7c>
   40d70:	00800284 	movi	r2,10
   40d74:	dfc00917 	ldw	ra,36(sp)
   40d78:	dc400817 	ldw	r17,32(sp)
   40d7c:	dc000717 	ldw	r16,28(sp)
   40d80:	dec00a04 	addi	sp,sp,40
   40d84:	f800283a 	ret
   40d88:	00bfffc4 	movi	r2,-1
   40d8c:	003ff906 	br	40d74 <__alt_data_end+0xfffd9c74>

00040d90 <puts>:
   40d90:	00800174 	movhi	r2,5
   40d94:	10b7cd04 	addi	r2,r2,-8396
   40d98:	200b883a 	mov	r5,r4
   40d9c:	11000017 	ldw	r4,0(r2)
   40da0:	0040d0c1 	jmpi	40d0c <_puts_r>

00040da4 <strlen>:
   40da4:	208000cc 	andi	r2,r4,3
   40da8:	10001f1e 	bne	r2,zero,40e28 <strlen+0x84>
   40dac:	20800017 	ldw	r2,0(r4)
   40db0:	01ffbff4 	movhi	r7,65279
   40db4:	39ffbfc4 	addi	r7,r7,-257
   40db8:	01a02074 	movhi	r6,32897
   40dbc:	31a02004 	addi	r6,r6,-32640
   40dc0:	11c7883a 	add	r3,r2,r7
   40dc4:	0084303a 	nor	r2,zero,r2
   40dc8:	1886703a 	and	r3,r3,r2
   40dcc:	1986703a 	and	r3,r3,r6
   40dd0:	2005883a 	mov	r2,r4
   40dd4:	1800101e 	bne	r3,zero,40e18 <strlen+0x74>
   40dd8:	10800104 	addi	r2,r2,4
   40ddc:	10c00017 	ldw	r3,0(r2)
   40de0:	19cb883a 	add	r5,r3,r7
   40de4:	00c6303a 	nor	r3,zero,r3
   40de8:	28c6703a 	and	r3,r5,r3
   40dec:	1986703a 	and	r3,r3,r6
   40df0:	1800091e 	bne	r3,zero,40e18 <strlen+0x74>
   40df4:	10800104 	addi	r2,r2,4
   40df8:	10c00017 	ldw	r3,0(r2)
   40dfc:	19cb883a 	add	r5,r3,r7
   40e00:	00c6303a 	nor	r3,zero,r3
   40e04:	28c6703a 	and	r3,r5,r3
   40e08:	1986703a 	and	r3,r3,r6
   40e0c:	183ff226 	beq	r3,zero,40dd8 <__alt_data_end+0xfffd9cd8>
   40e10:	00000106 	br	40e18 <strlen+0x74>
   40e14:	10800044 	addi	r2,r2,1
   40e18:	10c00007 	ldb	r3,0(r2)
   40e1c:	183ffd1e 	bne	r3,zero,40e14 <__alt_data_end+0xfffd9d14>
   40e20:	1105c83a 	sub	r2,r2,r4
   40e24:	f800283a 	ret
   40e28:	2005883a 	mov	r2,r4
   40e2c:	003ffa06 	br	40e18 <__alt_data_end+0xfffd9d18>

00040e30 <__sprint_r>:
   40e30:	30800217 	ldw	r2,8(r6)
   40e34:	defffe04 	addi	sp,sp,-8
   40e38:	dc000015 	stw	r16,0(sp)
   40e3c:	dfc00115 	stw	ra,4(sp)
   40e40:	3021883a 	mov	r16,r6
   40e44:	10000226 	beq	r2,zero,40e50 <__sprint_r+0x20>
   40e48:	0044f140 	call	44f14 <__sfvwrite_r>
   40e4c:	80000215 	stw	zero,8(r16)
   40e50:	80000115 	stw	zero,4(r16)
   40e54:	dfc00117 	ldw	ra,4(sp)
   40e58:	dc000017 	ldw	r16,0(sp)
   40e5c:	dec00204 	addi	sp,sp,8
   40e60:	f800283a 	ret

00040e64 <___vfprintf_internal_r>:
   40e64:	defeb904 	addi	sp,sp,-1308
   40e68:	dc013d15 	stw	r16,1268(sp)
   40e6c:	d9013015 	stw	r4,1216(sp)
   40e70:	dfc14615 	stw	ra,1304(sp)
   40e74:	df014515 	stw	fp,1300(sp)
   40e78:	ddc14415 	stw	r23,1296(sp)
   40e7c:	dd814315 	stw	r22,1292(sp)
   40e80:	dd414215 	stw	r21,1288(sp)
   40e84:	dd014115 	stw	r20,1284(sp)
   40e88:	dcc14015 	stw	r19,1280(sp)
   40e8c:	dc813f15 	stw	r18,1276(sp)
   40e90:	dc413e15 	stw	r17,1272(sp)
   40e94:	d9412915 	stw	r5,1188(sp)
   40e98:	3021883a 	mov	r16,r6
   40e9c:	d9c12d15 	stw	r7,1204(sp)
   40ea0:	00456000 	call	45600 <_localeconv_r>
   40ea4:	10800017 	ldw	r2,0(r2)
   40ea8:	d9013017 	ldw	r4,1216(sp)
   40eac:	d8013315 	stw	zero,1228(sp)
   40eb0:	d8813715 	stw	r2,1244(sp)
   40eb4:	d8013415 	stw	zero,1232(sp)
   40eb8:	20000226 	beq	r4,zero,40ec4 <___vfprintf_internal_r+0x60>
   40ebc:	20800e17 	ldw	r2,56(r4)
   40ec0:	10019826 	beq	r2,zero,41524 <___vfprintf_internal_r+0x6c0>
   40ec4:	da012917 	ldw	r8,1188(sp)
   40ec8:	4080030b 	ldhu	r2,12(r8)
   40ecc:	10c0020c 	andi	r3,r2,8
   40ed0:	18ffffcc 	andi	r3,r3,65535
   40ed4:	18e0001c 	xori	r3,r3,32768
   40ed8:	18e00004 	addi	r3,r3,-32768
   40edc:	18013a26 	beq	r3,zero,413c8 <___vfprintf_internal_r+0x564>
   40ee0:	40c00417 	ldw	r3,16(r8)
   40ee4:	18013826 	beq	r3,zero,413c8 <___vfprintf_internal_r+0x564>
   40ee8:	1100068c 	andi	r4,r2,26
   40eec:	00c00284 	movi	r3,10
   40ef0:	20c13e26 	beq	r4,r3,413ec <___vfprintf_internal_r+0x588>
   40ef4:	da010dc4 	addi	r8,sp,1079
   40ef8:	d8800404 	addi	r2,sp,16
   40efc:	da012615 	stw	r8,1176(sp)
   40f00:	d8811b15 	stw	r2,1132(sp)
   40f04:	1013883a 	mov	r9,r2
   40f08:	d8812617 	ldw	r2,1176(sp)
   40f0c:	da010e04 	addi	r8,sp,1080
   40f10:	dc413017 	ldw	r17,1216(sp)
   40f14:	da012715 	stw	r8,1180(sp)
   40f18:	4091c83a 	sub	r8,r8,r2
   40f1c:	d8011d15 	stw	zero,1140(sp)
   40f20:	d8011c15 	stw	zero,1136(sp)
   40f24:	802b883a 	mov	r21,r16
   40f28:	d8013215 	stw	zero,1224(sp)
   40f2c:	d8013615 	stw	zero,1240(sp)
   40f30:	d8013515 	stw	zero,1236(sp)
   40f34:	d8012c15 	stw	zero,1200(sp)
   40f38:	da013915 	stw	r8,1252(sp)
   40f3c:	a8800007 	ldb	r2,0(r21)
   40f40:	1002ec26 	beq	r2,zero,41af4 <___vfprintf_internal_r+0xc90>
   40f44:	00c00944 	movi	r3,37
   40f48:	a825883a 	mov	r18,r21
   40f4c:	10c0021e 	bne	r2,r3,40f58 <___vfprintf_internal_r+0xf4>
   40f50:	00001406 	br	40fa4 <___vfprintf_internal_r+0x140>
   40f54:	10c00326 	beq	r2,r3,40f64 <___vfprintf_internal_r+0x100>
   40f58:	94800044 	addi	r18,r18,1
   40f5c:	90800007 	ldb	r2,0(r18)
   40f60:	103ffc1e 	bne	r2,zero,40f54 <__alt_data_end+0xfffd9e54>
   40f64:	9561c83a 	sub	r16,r18,r21
   40f68:	80000e26 	beq	r16,zero,40fa4 <___vfprintf_internal_r+0x140>
   40f6c:	da011d17 	ldw	r8,1140(sp)
   40f70:	d8c11c17 	ldw	r3,1136(sp)
   40f74:	4d400015 	stw	r21,0(r9)
   40f78:	4c000115 	stw	r16,4(r9)
   40f7c:	4411883a 	add	r8,r8,r16
   40f80:	18c00044 	addi	r3,r3,1
   40f84:	da011d15 	stw	r8,1140(sp)
   40f88:	d8c11c15 	stw	r3,1136(sp)
   40f8c:	008001c4 	movi	r2,7
   40f90:	10c15d16 	blt	r2,r3,41508 <___vfprintf_internal_r+0x6a4>
   40f94:	4a400204 	addi	r9,r9,8
   40f98:	d8812c17 	ldw	r2,1200(sp)
   40f9c:	1405883a 	add	r2,r2,r16
   40fa0:	d8812c15 	stw	r2,1200(sp)
   40fa4:	90800007 	ldb	r2,0(r18)
   40fa8:	10013b26 	beq	r2,zero,41498 <___vfprintf_internal_r+0x634>
   40fac:	95400044 	addi	r21,r18,1
   40fb0:	94800047 	ldb	r18,1(r18)
   40fb4:	d8012585 	stb	zero,1174(sp)
   40fb8:	073fffc4 	movi	fp,-1
   40fbc:	d8012e15 	stw	zero,1208(sp)
   40fc0:	0021883a 	mov	r16,zero
   40fc4:	00c01604 	movi	r3,88
   40fc8:	01400244 	movi	r5,9
   40fcc:	02800a84 	movi	r10,42
   40fd0:	01c01b04 	movi	r7,108
   40fd4:	01800ac4 	movi	r6,43
   40fd8:	02c00804 	movi	r11,32
   40fdc:	ad400044 	addi	r21,r21,1
   40fe0:	90bff804 	addi	r2,r18,-32
   40fe4:	1880092e 	bgeu	r3,r2,4100c <___vfprintf_internal_r+0x1a8>
   40fe8:	90012b26 	beq	r18,zero,41498 <___vfprintf_internal_r+0x634>
   40fec:	00c00044 	movi	r3,1
   40ff0:	d8c12815 	stw	r3,1184(sp)
   40ff4:	dc810405 	stb	r18,1040(sp)
   40ff8:	d8012585 	stb	zero,1174(sp)
   40ffc:	d8c12b15 	stw	r3,1196(sp)
   41000:	dcc10404 	addi	r19,sp,1040
   41004:	d8013115 	stw	zero,1220(sp)
   41008:	00008806 	br	4122c <___vfprintf_internal_r+0x3c8>
   4100c:	1085883a 	add	r2,r2,r2
   41010:	1085883a 	add	r2,r2,r2
   41014:	01000134 	movhi	r4,4
   41018:	21040a04 	addi	r4,r4,4136
   4101c:	1105883a 	add	r2,r2,r4
   41020:	10800017 	ldw	r2,0(r2)
   41024:	1000683a 	jmp	r2
   41028:	000415dc 	xori	zero,zero,4183
   4102c:	00040fe8 	cmpgeui	zero,zero,4159
   41030:	00040fe8 	cmpgeui	zero,zero,4159
   41034:	000415f0 	cmpltui	zero,zero,4183
   41038:	00040fe8 	cmpgeui	zero,zero,4159
   4103c:	00040fe8 	cmpgeui	zero,zero,4159
   41040:	00040fe8 	cmpgeui	zero,zero,4159
   41044:	00040fe8 	cmpgeui	zero,zero,4159
   41048:	00040fe8 	cmpgeui	zero,zero,4159
   4104c:	00040fe8 	cmpgeui	zero,zero,4159
   41050:	000416d8 	cmpnei	zero,zero,4187
   41054:	00041594 	movui	zero,4182
   41058:	00040fe8 	cmpgeui	zero,zero,4159
   4105c:	000413bc 	xorhi	zero,zero,4174
   41060:	000415a0 	cmpeqi	zero,zero,4182
   41064:	00040fe8 	cmpgeui	zero,zero,4159
   41068:	000415fc 	xorhi	zero,zero,4183
   4106c:	000416fc 	xorhi	zero,zero,4187
   41070:	000416fc 	xorhi	zero,zero,4187
   41074:	000416fc 	xorhi	zero,zero,4187
   41078:	000416fc 	xorhi	zero,zero,4187
   4107c:	000416fc 	xorhi	zero,zero,4187
   41080:	000416fc 	xorhi	zero,zero,4187
   41084:	000416fc 	xorhi	zero,zero,4187
   41088:	000416fc 	xorhi	zero,zero,4187
   4108c:	000416fc 	xorhi	zero,zero,4187
   41090:	00040fe8 	cmpgeui	zero,zero,4159
   41094:	00040fe8 	cmpgeui	zero,zero,4159
   41098:	00040fe8 	cmpgeui	zero,zero,4159
   4109c:	00040fe8 	cmpgeui	zero,zero,4159
   410a0:	00040fe8 	cmpgeui	zero,zero,4159
   410a4:	00040fe8 	cmpgeui	zero,zero,4159
   410a8:	00040fe8 	cmpgeui	zero,zero,4159
   410ac:	00040fe8 	cmpgeui	zero,zero,4159
   410b0:	00040fe8 	cmpgeui	zero,zero,4159
   410b4:	00040fe8 	cmpgeui	zero,zero,4159
   410b8:	00041358 	cmpnei	zero,zero,4173
   410bc:	00041724 	muli	zero,zero,4188
   410c0:	00040fe8 	cmpgeui	zero,zero,4159
   410c4:	00041724 	muli	zero,zero,4188
   410c8:	00040fe8 	cmpgeui	zero,zero,4159
   410cc:	00040fe8 	cmpgeui	zero,zero,4159
   410d0:	00040fe8 	cmpgeui	zero,zero,4159
   410d4:	00040fe8 	cmpgeui	zero,zero,4159
   410d8:	00041894 	movui	zero,4194
   410dc:	00040fe8 	cmpgeui	zero,zero,4159
   410e0:	00040fe8 	cmpgeui	zero,zero,4159
   410e4:	00041320 	cmpeqi	zero,zero,4172
   410e8:	00040fe8 	cmpgeui	zero,zero,4159
   410ec:	00040fe8 	cmpgeui	zero,zero,4159
   410f0:	00040fe8 	cmpgeui	zero,zero,4159
   410f4:	00040fe8 	cmpgeui	zero,zero,4159
   410f8:	00040fe8 	cmpgeui	zero,zero,4159
   410fc:	0004118c 	andi	zero,zero,4166
   41100:	00040fe8 	cmpgeui	zero,zero,4159
   41104:	00040fe8 	cmpgeui	zero,zero,4159
   41108:	00041608 	cmpgei	zero,zero,4184
   4110c:	00040fe8 	cmpgeui	zero,zero,4159
   41110:	00040fe8 	cmpgeui	zero,zero,4159
   41114:	00040fe8 	cmpgeui	zero,zero,4159
   41118:	00040fe8 	cmpgeui	zero,zero,4159
   4111c:	00040fe8 	cmpgeui	zero,zero,4159
   41120:	00040fe8 	cmpgeui	zero,zero,4159
   41124:	00040fe8 	cmpgeui	zero,zero,4159
   41128:	00040fe8 	cmpgeui	zero,zero,4159
   4112c:	00040fe8 	cmpgeui	zero,zero,4159
   41130:	00040fe8 	cmpgeui	zero,zero,4159
   41134:	0004167c 	xorhi	zero,zero,4185
   41138:	0004135c 	xori	zero,zero,4173
   4113c:	00041724 	muli	zero,zero,4188
   41140:	00041724 	muli	zero,zero,4188
   41144:	00041724 	muli	zero,zero,4188
   41148:	0004165c 	xori	zero,zero,4185
   4114c:	0004135c 	xori	zero,zero,4173
   41150:	00040fe8 	cmpgeui	zero,zero,4159
   41154:	00040fe8 	cmpgeui	zero,zero,4159
   41158:	00041668 	cmpgeui	zero,zero,4185
   4115c:	00040fe8 	cmpgeui	zero,zero,4159
   41160:	000416ac 	andhi	zero,zero,4186
   41164:	00041324 	muli	zero,zero,4172
   41168:	000417ac 	andhi	zero,zero,4190
   4116c:	000417f8 	rdprs	zero,zero,4191
   41170:	00040fe8 	cmpgeui	zero,zero,4159
   41174:	00041804 	movi	zero,4192
   41178:	00040fe8 	cmpgeui	zero,zero,4159
   4117c:	00041190 	cmplti	zero,zero,4166
   41180:	00040fe8 	cmpgeui	zero,zero,4159
   41184:	00040fe8 	cmpgeui	zero,zero,4159
   41188:	00041860 	cmpeqi	zero,zero,4193
   4118c:	84000414 	ori	r16,r16,16
   41190:	8080080c 	andi	r2,r16,32
   41194:	1000f51e 	bne	r2,zero,4156c <___vfprintf_internal_r+0x708>
   41198:	8080040c 	andi	r2,r16,16
   4119c:	10042c26 	beq	r2,zero,42250 <___vfprintf_internal_r+0x13ec>
   411a0:	da012d17 	ldw	r8,1204(sp)
   411a4:	002d883a 	mov	r22,zero
   411a8:	00c00044 	movi	r3,1
   411ac:	45c00017 	ldw	r23,0(r8)
   411b0:	42000104 	addi	r8,r8,4
   411b4:	da012d15 	stw	r8,1204(sp)
   411b8:	b805883a 	mov	r2,r23
   411bc:	d8012585 	stb	zero,1174(sp)
   411c0:	e0000216 	blt	fp,zero,411cc <___vfprintf_internal_r+0x368>
   411c4:	013fdfc4 	movi	r4,-129
   411c8:	8120703a 	and	r16,r16,r4
   411cc:	1002671e 	bne	r2,zero,41b6c <___vfprintf_internal_r+0xd08>
   411d0:	e002661e 	bne	fp,zero,41b6c <___vfprintf_internal_r+0xd08>
   411d4:	18c03fcc 	andi	r3,r3,255
   411d8:	1803561e 	bne	r3,zero,41f34 <___vfprintf_internal_r+0x10d0>
   411dc:	8080004c 	andi	r2,r16,1
   411e0:	10035426 	beq	r2,zero,41f34 <___vfprintf_internal_r+0x10d0>
   411e4:	da013917 	ldw	r8,1252(sp)
   411e8:	00800c04 	movi	r2,48
   411ec:	d8810dc5 	stb	r2,1079(sp)
   411f0:	da012b15 	stw	r8,1196(sp)
   411f4:	dcc10dc4 	addi	r19,sp,1079
   411f8:	d8812b17 	ldw	r2,1196(sp)
   411fc:	d8812815 	stw	r2,1184(sp)
   41200:	1700010e 	bge	r2,fp,41208 <___vfprintf_internal_r+0x3a4>
   41204:	df012815 	stw	fp,1184(sp)
   41208:	d8812583 	ldbu	r2,1174(sp)
   4120c:	df013115 	stw	fp,1220(sp)
   41210:	10803fcc 	andi	r2,r2,255
   41214:	1080201c 	xori	r2,r2,128
   41218:	10bfe004 	addi	r2,r2,-128
   4121c:	10000326 	beq	r2,zero,4122c <___vfprintf_internal_r+0x3c8>
   41220:	da012817 	ldw	r8,1184(sp)
   41224:	42000044 	addi	r8,r8,1
   41228:	da012815 	stw	r8,1184(sp)
   4122c:	80c0008c 	andi	r3,r16,2
   41230:	d8c12a15 	stw	r3,1192(sp)
   41234:	18000326 	beq	r3,zero,41244 <___vfprintf_internal_r+0x3e0>
   41238:	da012817 	ldw	r8,1184(sp)
   4123c:	42000084 	addi	r8,r8,2
   41240:	da012815 	stw	r8,1184(sp)
   41244:	80c0210c 	andi	r3,r16,132
   41248:	d8c12f15 	stw	r3,1212(sp)
   4124c:	1801941e 	bne	r3,zero,418a0 <___vfprintf_internal_r+0xa3c>
   41250:	da012e17 	ldw	r8,1208(sp)
   41254:	d8c12817 	ldw	r3,1184(sp)
   41258:	40edc83a 	sub	r22,r8,r3
   4125c:	0581900e 	bge	zero,r22,418a0 <___vfprintf_internal_r+0xa3c>
   41260:	02800404 	movi	r10,16
   41264:	da011d17 	ldw	r8,1140(sp)
   41268:	d8c11c17 	ldw	r3,1136(sp)
   4126c:	05c00174 	movhi	r23,5
   41270:	bdf0d384 	addi	r23,r23,-15538
   41274:	5580200e 	bge	r10,r22,412f8 <___vfprintf_internal_r+0x494>
   41278:	dc813815 	stw	r18,1248(sp)
   4127c:	5039883a 	mov	fp,r10
   41280:	b825883a 	mov	r18,r23
   41284:	050001c4 	movi	r20,7
   41288:	b02f883a 	mov	r23,r22
   4128c:	802d883a 	mov	r22,r16
   41290:	dc012917 	ldw	r16,1188(sp)
   41294:	00000306 	br	412a4 <___vfprintf_internal_r+0x440>
   41298:	bdfffc04 	addi	r23,r23,-16
   4129c:	4a400204 	addi	r9,r9,8
   412a0:	e5c0110e 	bge	fp,r23,412e8 <___vfprintf_internal_r+0x484>
   412a4:	4c800015 	stw	r18,0(r9)
   412a8:	4f000115 	stw	fp,4(r9)
   412ac:	42000404 	addi	r8,r8,16
   412b0:	18c00044 	addi	r3,r3,1
   412b4:	da011d15 	stw	r8,1140(sp)
   412b8:	d8c11c15 	stw	r3,1136(sp)
   412bc:	a0fff60e 	bge	r20,r3,41298 <__alt_data_end+0xfffda198>
   412c0:	8809883a 	mov	r4,r17
   412c4:	800b883a 	mov	r5,r16
   412c8:	d9811b04 	addi	r6,sp,1132
   412cc:	0040e300 	call	40e30 <__sprint_r>
   412d0:	1000771e 	bne	r2,zero,414b0 <___vfprintf_internal_r+0x64c>
   412d4:	bdfffc04 	addi	r23,r23,-16
   412d8:	da011d17 	ldw	r8,1140(sp)
   412dc:	d8c11c17 	ldw	r3,1136(sp)
   412e0:	da400404 	addi	r9,sp,16
   412e4:	e5ffef16 	blt	fp,r23,412a4 <__alt_data_end+0xfffda1a4>
   412e8:	b021883a 	mov	r16,r22
   412ec:	b82d883a 	mov	r22,r23
   412f0:	902f883a 	mov	r23,r18
   412f4:	dc813817 	ldw	r18,1248(sp)
   412f8:	4dc00015 	stw	r23,0(r9)
   412fc:	4d800115 	stw	r22,4(r9)
   41300:	4591883a 	add	r8,r8,r22
   41304:	18c00044 	addi	r3,r3,1
   41308:	da011d15 	stw	r8,1140(sp)
   4130c:	d8c11c15 	stw	r3,1136(sp)
   41310:	008001c4 	movi	r2,7
   41314:	10c36d16 	blt	r2,r3,420cc <___vfprintf_internal_r+0x1268>
   41318:	4a400204 	addi	r9,r9,8
   4131c:	00016206 	br	418a8 <___vfprintf_internal_r+0xa44>
   41320:	84000414 	ori	r16,r16,16
   41324:	8080080c 	andi	r2,r16,32
   41328:	1000801e 	bne	r2,zero,4152c <___vfprintf_internal_r+0x6c8>
   4132c:	8080040c 	andi	r2,r16,16
   41330:	1003da26 	beq	r2,zero,4229c <___vfprintf_internal_r+0x1438>
   41334:	d8c12d17 	ldw	r3,1204(sp)
   41338:	002d883a 	mov	r22,zero
   4133c:	1dc00017 	ldw	r23,0(r3)
   41340:	18c00104 	addi	r3,r3,4
   41344:	d8c12d15 	stw	r3,1204(sp)
   41348:	b805883a 	mov	r2,r23
   4134c:	0007883a 	mov	r3,zero
   41350:	d8012585 	stb	zero,1174(sp)
   41354:	003f9a06 	br	411c0 <__alt_data_end+0xfffda0c0>
   41358:	84000414 	ori	r16,r16,16
   4135c:	8080080c 	andi	r2,r16,32
   41360:	10007b1e 	bne	r2,zero,41550 <___vfprintf_internal_r+0x6ec>
   41364:	8080040c 	andi	r2,r16,16
   41368:	1003ed26 	beq	r2,zero,42320 <___vfprintf_internal_r+0x14bc>
   4136c:	d9012d17 	ldw	r4,1204(sp)
   41370:	25c00017 	ldw	r23,0(r4)
   41374:	21000104 	addi	r4,r4,4
   41378:	d9012d15 	stw	r4,1204(sp)
   4137c:	b82dd7fa 	srai	r22,r23,31
   41380:	b005883a 	mov	r2,r22
   41384:	1003230e 	bge	r2,zero,42014 <___vfprintf_internal_r+0x11b0>
   41388:	05efc83a 	sub	r23,zero,r23
   4138c:	b804c03a 	cmpne	r2,r23,zero
   41390:	05adc83a 	sub	r22,zero,r22
   41394:	b0adc83a 	sub	r22,r22,r2
   41398:	00800b44 	movi	r2,45
   4139c:	d8812585 	stb	r2,1174(sp)
   413a0:	00c00044 	movi	r3,1
   413a4:	bd84b03a 	or	r2,r23,r22
   413a8:	003f8506 	br	411c0 <__alt_data_end+0xfffda0c0>
   413ac:	da012e17 	ldw	r8,1208(sp)
   413b0:	d8812d15 	stw	r2,1204(sp)
   413b4:	0211c83a 	sub	r8,zero,r8
   413b8:	da012e15 	stw	r8,1208(sp)
   413bc:	84000114 	ori	r16,r16,4
   413c0:	ac800007 	ldb	r18,0(r21)
   413c4:	003f0506 	br	40fdc <__alt_data_end+0xfffd9edc>
   413c8:	d9013017 	ldw	r4,1216(sp)
   413cc:	d9412917 	ldw	r5,1188(sp)
   413d0:	0042c800 	call	42c80 <__swsetup_r>
   413d4:	10003d1e 	bne	r2,zero,414cc <___vfprintf_internal_r+0x668>
   413d8:	d8c12917 	ldw	r3,1188(sp)
   413dc:	1880030b 	ldhu	r2,12(r3)
   413e0:	00c00284 	movi	r3,10
   413e4:	1100068c 	andi	r4,r2,26
   413e8:	20fec21e 	bne	r4,r3,40ef4 <__alt_data_end+0xfffd9df4>
   413ec:	d9012917 	ldw	r4,1188(sp)
   413f0:	20c0038b 	ldhu	r3,14(r4)
   413f4:	193fffcc 	andi	r4,r3,65535
   413f8:	2120001c 	xori	r4,r4,32768
   413fc:	21200004 	addi	r4,r4,-32768
   41400:	203ebc16 	blt	r4,zero,40ef4 <__alt_data_end+0xfffd9df4>
   41404:	da012917 	ldw	r8,1188(sp)
   41408:	d9013017 	ldw	r4,1216(sp)
   4140c:	d9c12d17 	ldw	r7,1204(sp)
   41410:	42800717 	ldw	r10,28(r8)
   41414:	42400917 	ldw	r9,36(r8)
   41418:	10bfff4c 	andi	r2,r2,65533
   4141c:	02010004 	movi	r8,1024
   41420:	d881070d 	sth	r2,1052(sp)
   41424:	d9410404 	addi	r5,sp,1040
   41428:	d8800404 	addi	r2,sp,16
   4142c:	800d883a 	mov	r6,r16
   41430:	d8c1078d 	sth	r3,1054(sp)
   41434:	da810b15 	stw	r10,1068(sp)
   41438:	da410d15 	stw	r9,1076(sp)
   4143c:	d8810415 	stw	r2,1040(sp)
   41440:	d8810815 	stw	r2,1056(sp)
   41444:	da010615 	stw	r8,1048(sp)
   41448:	da010915 	stw	r8,1060(sp)
   4144c:	d8010a15 	stw	zero,1064(sp)
   41450:	0040e640 	call	40e64 <___vfprintf_internal_r>
   41454:	d8812c15 	stw	r2,1200(sp)
   41458:	10000416 	blt	r2,zero,4146c <___vfprintf_internal_r+0x608>
   4145c:	d9013017 	ldw	r4,1216(sp)
   41460:	d9410404 	addi	r5,sp,1040
   41464:	00446180 	call	44618 <_fflush_r>
   41468:	1005d81e 	bne	r2,zero,42bcc <___vfprintf_internal_r+0x1d68>
   4146c:	d881070b 	ldhu	r2,1052(sp)
   41470:	1080100c 	andi	r2,r2,64
   41474:	10bfffcc 	andi	r2,r2,65535
   41478:	10a0001c 	xori	r2,r2,32768
   4147c:	10a00004 	addi	r2,r2,-32768
   41480:	10001426 	beq	r2,zero,414d4 <___vfprintf_internal_r+0x670>
   41484:	d8c12917 	ldw	r3,1188(sp)
   41488:	1880030b 	ldhu	r2,12(r3)
   4148c:	10801014 	ori	r2,r2,64
   41490:	1880030d 	sth	r2,12(r3)
   41494:	00000f06 	br	414d4 <___vfprintf_internal_r+0x670>
   41498:	d8811d17 	ldw	r2,1140(sp)
   4149c:	10000426 	beq	r2,zero,414b0 <___vfprintf_internal_r+0x64c>
   414a0:	d9013017 	ldw	r4,1216(sp)
   414a4:	d9412917 	ldw	r5,1188(sp)
   414a8:	d9811b04 	addi	r6,sp,1132
   414ac:	0040e300 	call	40e30 <__sprint_r>
   414b0:	d8c12917 	ldw	r3,1188(sp)
   414b4:	1880030b 	ldhu	r2,12(r3)
   414b8:	1080100c 	andi	r2,r2,64
   414bc:	10bfffcc 	andi	r2,r2,65535
   414c0:	10a0001c 	xori	r2,r2,32768
   414c4:	10a00004 	addi	r2,r2,-32768
   414c8:	10000226 	beq	r2,zero,414d4 <___vfprintf_internal_r+0x670>
   414cc:	00bfffc4 	movi	r2,-1
   414d0:	d8812c15 	stw	r2,1200(sp)
   414d4:	d8812c17 	ldw	r2,1200(sp)
   414d8:	dfc14617 	ldw	ra,1304(sp)
   414dc:	df014517 	ldw	fp,1300(sp)
   414e0:	ddc14417 	ldw	r23,1296(sp)
   414e4:	dd814317 	ldw	r22,1292(sp)
   414e8:	dd414217 	ldw	r21,1288(sp)
   414ec:	dd014117 	ldw	r20,1284(sp)
   414f0:	dcc14017 	ldw	r19,1280(sp)
   414f4:	dc813f17 	ldw	r18,1276(sp)
   414f8:	dc413e17 	ldw	r17,1272(sp)
   414fc:	dc013d17 	ldw	r16,1268(sp)
   41500:	dec14704 	addi	sp,sp,1308
   41504:	f800283a 	ret
   41508:	d9412917 	ldw	r5,1188(sp)
   4150c:	8809883a 	mov	r4,r17
   41510:	d9811b04 	addi	r6,sp,1132
   41514:	0040e300 	call	40e30 <__sprint_r>
   41518:	103fe51e 	bne	r2,zero,414b0 <__alt_data_end+0xfffda3b0>
   4151c:	da400404 	addi	r9,sp,16
   41520:	003e9d06 	br	40f98 <__alt_data_end+0xfffd9e98>
   41524:	00448c00 	call	448c0 <__sinit>
   41528:	003e6606 	br	40ec4 <__alt_data_end+0xfffd9dc4>
   4152c:	d8812d17 	ldw	r2,1204(sp)
   41530:	0007883a 	mov	r3,zero
   41534:	15c00017 	ldw	r23,0(r2)
   41538:	15800117 	ldw	r22,4(r2)
   4153c:	10800204 	addi	r2,r2,8
   41540:	d8812d15 	stw	r2,1204(sp)
   41544:	d8012585 	stb	zero,1174(sp)
   41548:	bd84b03a 	or	r2,r23,r22
   4154c:	003f1c06 	br	411c0 <__alt_data_end+0xfffda0c0>
   41550:	d8c12d17 	ldw	r3,1204(sp)
   41554:	18800117 	ldw	r2,4(r3)
   41558:	1dc00017 	ldw	r23,0(r3)
   4155c:	18c00204 	addi	r3,r3,8
   41560:	d8c12d15 	stw	r3,1204(sp)
   41564:	102d883a 	mov	r22,r2
   41568:	003f8606 	br	41384 <__alt_data_end+0xfffda284>
   4156c:	d8c12d17 	ldw	r3,1204(sp)
   41570:	d9012d17 	ldw	r4,1204(sp)
   41574:	1dc00017 	ldw	r23,0(r3)
   41578:	1d800117 	ldw	r22,4(r3)
   4157c:	21000204 	addi	r4,r4,8
   41580:	00c00044 	movi	r3,1
   41584:	d9012d15 	stw	r4,1204(sp)
   41588:	bd84b03a 	or	r2,r23,r22
   4158c:	d8012585 	stb	zero,1174(sp)
   41590:	003f0b06 	br	411c0 <__alt_data_end+0xfffda0c0>
   41594:	d9812585 	stb	r6,1174(sp)
   41598:	ac800007 	ldb	r18,0(r21)
   4159c:	003e8f06 	br	40fdc <__alt_data_end+0xfffd9edc>
   415a0:	ac800007 	ldb	r18,0(r21)
   415a4:	a9000044 	addi	r4,r21,1
   415a8:	92857d26 	beq	r18,r10,42ba0 <___vfprintf_internal_r+0x1d3c>
   415ac:	90bff404 	addi	r2,r18,-48
   415b0:	0039883a 	mov	fp,zero
   415b4:	28800736 	bltu	r5,r2,415d4 <___vfprintf_internal_r+0x770>
   415b8:	24800007 	ldb	r18,0(r4)
   415bc:	e70002a4 	muli	fp,fp,10
   415c0:	21000044 	addi	r4,r4,1
   415c4:	1739883a 	add	fp,r2,fp
   415c8:	90bff404 	addi	r2,r18,-48
   415cc:	28bffa2e 	bgeu	r5,r2,415b8 <__alt_data_end+0xfffda4b8>
   415d0:	e0044216 	blt	fp,zero,426dc <___vfprintf_internal_r+0x1878>
   415d4:	202b883a 	mov	r21,r4
   415d8:	003e8106 	br	40fe0 <__alt_data_end+0xfffd9ee0>
   415dc:	d8812587 	ldb	r2,1174(sp)
   415e0:	1003581e 	bne	r2,zero,42344 <___vfprintf_internal_r+0x14e0>
   415e4:	dac12585 	stb	r11,1174(sp)
   415e8:	ac800007 	ldb	r18,0(r21)
   415ec:	003e7b06 	br	40fdc <__alt_data_end+0xfffd9edc>
   415f0:	84000054 	ori	r16,r16,1
   415f4:	ac800007 	ldb	r18,0(r21)
   415f8:	003e7806 	br	40fdc <__alt_data_end+0xfffd9edc>
   415fc:	84002014 	ori	r16,r16,128
   41600:	ac800007 	ldb	r18,0(r21)
   41604:	003e7506 	br	40fdc <__alt_data_end+0xfffd9edc>
   41608:	02000174 	movhi	r8,5
   4160c:	4230c704 	addi	r8,r8,-15588
   41610:	da013615 	stw	r8,1240(sp)
   41614:	8080080c 	andi	r2,r16,32
   41618:	10009626 	beq	r2,zero,41874 <___vfprintf_internal_r+0xa10>
   4161c:	d8812d17 	ldw	r2,1204(sp)
   41620:	15c00017 	ldw	r23,0(r2)
   41624:	15800117 	ldw	r22,4(r2)
   41628:	10800204 	addi	r2,r2,8
   4162c:	d8812d15 	stw	r2,1204(sp)
   41630:	8080004c 	andi	r2,r16,1
   41634:	1002ae26 	beq	r2,zero,420f0 <___vfprintf_internal_r+0x128c>
   41638:	bd84b03a 	or	r2,r23,r22
   4163c:	10032a26 	beq	r2,zero,422e8 <___vfprintf_internal_r+0x1484>
   41640:	00c00c04 	movi	r3,48
   41644:	d8c12505 	stb	r3,1172(sp)
   41648:	dc812545 	stb	r18,1173(sp)
   4164c:	84000094 	ori	r16,r16,2
   41650:	00c00084 	movi	r3,2
   41654:	d8012585 	stb	zero,1174(sp)
   41658:	003ed906 	br	411c0 <__alt_data_end+0xfffda0c0>
   4165c:	84001014 	ori	r16,r16,64
   41660:	ac800007 	ldb	r18,0(r21)
   41664:	003e5d06 	br	40fdc <__alt_data_end+0xfffd9edc>
   41668:	ac800007 	ldb	r18,0(r21)
   4166c:	a805883a 	mov	r2,r21
   41670:	91c43226 	beq	r18,r7,4273c <___vfprintf_internal_r+0x18d8>
   41674:	84000414 	ori	r16,r16,16
   41678:	003e5806 	br	40fdc <__alt_data_end+0xfffd9edc>
   4167c:	d8c12d17 	ldw	r3,1204(sp)
   41680:	02000044 	movi	r8,1
   41684:	da012815 	stw	r8,1184(sp)
   41688:	18800017 	ldw	r2,0(r3)
   4168c:	18c00104 	addi	r3,r3,4
   41690:	d8012585 	stb	zero,1174(sp)
   41694:	d8810405 	stb	r2,1040(sp)
   41698:	d8c12d15 	stw	r3,1204(sp)
   4169c:	da012b15 	stw	r8,1196(sp)
   416a0:	dcc10404 	addi	r19,sp,1040
   416a4:	d8013115 	stw	zero,1220(sp)
   416a8:	003ee006 	br	4122c <__alt_data_end+0xfffda12c>
   416ac:	8080080c 	andi	r2,r16,32
   416b0:	10031026 	beq	r2,zero,422f4 <___vfprintf_internal_r+0x1490>
   416b4:	d9012d17 	ldw	r4,1204(sp)
   416b8:	da012c17 	ldw	r8,1200(sp)
   416bc:	20800017 	ldw	r2,0(r4)
   416c0:	4007d7fa 	srai	r3,r8,31
   416c4:	21000104 	addi	r4,r4,4
   416c8:	d9012d15 	stw	r4,1204(sp)
   416cc:	12000015 	stw	r8,0(r2)
   416d0:	10c00115 	stw	r3,4(r2)
   416d4:	003e1906 	br	40f3c <__alt_data_end+0xfffd9e3c>
   416d8:	da012d17 	ldw	r8,1204(sp)
   416dc:	d9012d17 	ldw	r4,1204(sp)
   416e0:	42000017 	ldw	r8,0(r8)
   416e4:	20800104 	addi	r2,r4,4
   416e8:	da012e15 	stw	r8,1208(sp)
   416ec:	403f2f16 	blt	r8,zero,413ac <__alt_data_end+0xfffda2ac>
   416f0:	d8812d15 	stw	r2,1204(sp)
   416f4:	ac800007 	ldb	r18,0(r21)
   416f8:	003e3806 	br	40fdc <__alt_data_end+0xfffd9edc>
   416fc:	0009883a 	mov	r4,zero
   41700:	90bff404 	addi	r2,r18,-48
   41704:	ac800007 	ldb	r18,0(r21)
   41708:	210002a4 	muli	r4,r4,10
   4170c:	ad400044 	addi	r21,r21,1
   41710:	2089883a 	add	r4,r4,r2
   41714:	90bff404 	addi	r2,r18,-48
   41718:	28bffa2e 	bgeu	r5,r2,41704 <__alt_data_end+0xfffda604>
   4171c:	d9012e15 	stw	r4,1208(sp)
   41720:	003e2f06 	br	40fe0 <__alt_data_end+0xfffd9ee0>
   41724:	8080020c 	andi	r2,r16,8
   41728:	1002d426 	beq	r2,zero,4227c <___vfprintf_internal_r+0x1418>
   4172c:	d8c12d17 	ldw	r3,1204(sp)
   41730:	1d800017 	ldw	r22,0(r3)
   41734:	1d000117 	ldw	r20,4(r3)
   41738:	18c00204 	addi	r3,r3,8
   4173c:	d8c12d15 	stw	r3,1204(sp)
   41740:	dd813315 	stw	r22,1228(sp)
   41744:	dd013415 	stw	r20,1232(sp)
   41748:	b009883a 	mov	r4,r22
   4174c:	a00b883a 	mov	r5,r20
   41750:	da413c15 	stw	r9,1264(sp)
   41754:	00478f80 	call	478f8 <__isinfd>
   41758:	da413c17 	ldw	r9,1264(sp)
   4175c:	b009883a 	mov	r4,r22
   41760:	a00b883a 	mov	r5,r20
   41764:	10035726 	beq	r2,zero,424c4 <___vfprintf_internal_r+0x1660>
   41768:	000d883a 	mov	r6,zero
   4176c:	000f883a 	mov	r7,zero
   41770:	00493e40 	call	493e4 <__ltdf2>
   41774:	da413c17 	ldw	r9,1264(sp)
   41778:	10041b16 	blt	r2,zero,427e8 <___vfprintf_internal_r+0x1984>
   4177c:	d8812583 	ldbu	r2,1174(sp)
   41780:	00c011c4 	movi	r3,71
   41784:	1c830b16 	blt	r3,r18,423b4 <___vfprintf_internal_r+0x1550>
   41788:	04c00174 	movhi	r19,5
   4178c:	9cf0c304 	addi	r19,r19,-15604
   41790:	020000c4 	movi	r8,3
   41794:	00ffdfc4 	movi	r3,-129
   41798:	da012815 	stw	r8,1184(sp)
   4179c:	80e0703a 	and	r16,r16,r3
   417a0:	da012b15 	stw	r8,1196(sp)
   417a4:	d8013115 	stw	zero,1220(sp)
   417a8:	003e9906 	br	41210 <__alt_data_end+0xfffda110>
   417ac:	d8812d17 	ldw	r2,1204(sp)
   417b0:	d8c12d17 	ldw	r3,1204(sp)
   417b4:	02000174 	movhi	r8,5
   417b8:	4230cc04 	addi	r8,r8,-15568
   417bc:	15c00017 	ldw	r23,0(r2)
   417c0:	00800c04 	movi	r2,48
   417c4:	18c00104 	addi	r3,r3,4
   417c8:	d8812505 	stb	r2,1172(sp)
   417cc:	00801e04 	movi	r2,120
   417d0:	d8812545 	stb	r2,1173(sp)
   417d4:	d8c12d15 	stw	r3,1204(sp)
   417d8:	002d883a 	mov	r22,zero
   417dc:	84000094 	ori	r16,r16,2
   417e0:	da013615 	stw	r8,1240(sp)
   417e4:	00c00084 	movi	r3,2
   417e8:	04801e04 	movi	r18,120
   417ec:	b805883a 	mov	r2,r23
   417f0:	d8012585 	stb	zero,1174(sp)
   417f4:	003e7206 	br	411c0 <__alt_data_end+0xfffda0c0>
   417f8:	84000814 	ori	r16,r16,32
   417fc:	ac800007 	ldb	r18,0(r21)
   41800:	003df606 	br	40fdc <__alt_data_end+0xfffd9edc>
   41804:	d8812d17 	ldw	r2,1204(sp)
   41808:	d8012585 	stb	zero,1174(sp)
   4180c:	14c00017 	ldw	r19,0(r2)
   41810:	15c00104 	addi	r23,r2,4
   41814:	98040126 	beq	r19,zero,4281c <___vfprintf_internal_r+0x19b8>
   41818:	9809883a 	mov	r4,r19
   4181c:	e003dd16 	blt	fp,zero,42794 <___vfprintf_internal_r+0x1930>
   41820:	000b883a 	mov	r5,zero
   41824:	e00d883a 	mov	r6,fp
   41828:	da413c15 	stw	r9,1264(sp)
   4182c:	0045f600 	call	45f60 <memchr>
   41830:	da413c17 	ldw	r9,1264(sp)
   41834:	10042e26 	beq	r2,zero,428f0 <___vfprintf_internal_r+0x1a8c>
   41838:	14c5c83a 	sub	r2,r2,r19
   4183c:	d8812b15 	stw	r2,1196(sp)
   41840:	e083790e 	bge	fp,r2,42628 <___vfprintf_internal_r+0x17c4>
   41844:	df012815 	stw	fp,1184(sp)
   41848:	e0049516 	blt	fp,zero,42aa0 <___vfprintf_internal_r+0x1c3c>
   4184c:	d8812583 	ldbu	r2,1174(sp)
   41850:	df012b15 	stw	fp,1196(sp)
   41854:	ddc12d15 	stw	r23,1204(sp)
   41858:	d8013115 	stw	zero,1220(sp)
   4185c:	003e6c06 	br	41210 <__alt_data_end+0xfffda110>
   41860:	02000174 	movhi	r8,5
   41864:	4230cc04 	addi	r8,r8,-15568
   41868:	da013615 	stw	r8,1240(sp)
   4186c:	8080080c 	andi	r2,r16,32
   41870:	103f6a1e 	bne	r2,zero,4161c <__alt_data_end+0xfffda51c>
   41874:	8080040c 	andi	r2,r16,16
   41878:	10029326 	beq	r2,zero,422c8 <___vfprintf_internal_r+0x1464>
   4187c:	d8c12d17 	ldw	r3,1204(sp)
   41880:	002d883a 	mov	r22,zero
   41884:	1dc00017 	ldw	r23,0(r3)
   41888:	18c00104 	addi	r3,r3,4
   4188c:	d8c12d15 	stw	r3,1204(sp)
   41890:	003f6706 	br	41630 <__alt_data_end+0xfffda530>
   41894:	84000214 	ori	r16,r16,8
   41898:	ac800007 	ldb	r18,0(r21)
   4189c:	003dcf06 	br	40fdc <__alt_data_end+0xfffd9edc>
   418a0:	da011d17 	ldw	r8,1140(sp)
   418a4:	d8c11c17 	ldw	r3,1136(sp)
   418a8:	d8812587 	ldb	r2,1174(sp)
   418ac:	10000b26 	beq	r2,zero,418dc <___vfprintf_internal_r+0xa78>
   418b0:	d8812584 	addi	r2,sp,1174
   418b4:	48800015 	stw	r2,0(r9)
   418b8:	00800044 	movi	r2,1
   418bc:	48800115 	stw	r2,4(r9)
   418c0:	4091883a 	add	r8,r8,r2
   418c4:	1887883a 	add	r3,r3,r2
   418c8:	da011d15 	stw	r8,1140(sp)
   418cc:	d8c11c15 	stw	r3,1136(sp)
   418d0:	008001c4 	movi	r2,7
   418d4:	10c18516 	blt	r2,r3,41eec <___vfprintf_internal_r+0x1088>
   418d8:	4a400204 	addi	r9,r9,8
   418dc:	d9012a17 	ldw	r4,1192(sp)
   418e0:	20000b26 	beq	r4,zero,41910 <___vfprintf_internal_r+0xaac>
   418e4:	d8812504 	addi	r2,sp,1172
   418e8:	48800015 	stw	r2,0(r9)
   418ec:	00800084 	movi	r2,2
   418f0:	48800115 	stw	r2,4(r9)
   418f4:	4091883a 	add	r8,r8,r2
   418f8:	18c00044 	addi	r3,r3,1
   418fc:	da011d15 	stw	r8,1140(sp)
   41900:	d8c11c15 	stw	r3,1136(sp)
   41904:	008001c4 	movi	r2,7
   41908:	10c18116 	blt	r2,r3,41f10 <___vfprintf_internal_r+0x10ac>
   4190c:	4a400204 	addi	r9,r9,8
   41910:	d9012f17 	ldw	r4,1212(sp)
   41914:	00802004 	movi	r2,128
   41918:	2080fc26 	beq	r4,r2,41d0c <___vfprintf_internal_r+0xea8>
   4191c:	d8813117 	ldw	r2,1220(sp)
   41920:	d9012b17 	ldw	r4,1196(sp)
   41924:	112fc83a 	sub	r23,r2,r4
   41928:	05c02a0e 	bge	zero,r23,419d4 <___vfprintf_internal_r+0xb70>
   4192c:	07000404 	movi	fp,16
   41930:	05000174 	movhi	r20,5
   41934:	a530d784 	addi	r20,r20,-15522
   41938:	e5c01d0e 	bge	fp,r23,419b0 <___vfprintf_internal_r+0xb4c>
   4193c:	dc812a15 	stw	r18,1192(sp)
   41940:	058001c4 	movi	r22,7
   41944:	a025883a 	mov	r18,r20
   41948:	8029883a 	mov	r20,r16
   4194c:	dc012917 	ldw	r16,1188(sp)
   41950:	00000306 	br	41960 <___vfprintf_internal_r+0xafc>
   41954:	bdfffc04 	addi	r23,r23,-16
   41958:	4a400204 	addi	r9,r9,8
   4195c:	e5c0110e 	bge	fp,r23,419a4 <___vfprintf_internal_r+0xb40>
   41960:	4c800015 	stw	r18,0(r9)
   41964:	4f000115 	stw	fp,4(r9)
   41968:	42000404 	addi	r8,r8,16
   4196c:	18c00044 	addi	r3,r3,1
   41970:	da011d15 	stw	r8,1140(sp)
   41974:	d8c11c15 	stw	r3,1136(sp)
   41978:	b0fff60e 	bge	r22,r3,41954 <__alt_data_end+0xfffda854>
   4197c:	8809883a 	mov	r4,r17
   41980:	800b883a 	mov	r5,r16
   41984:	d9811b04 	addi	r6,sp,1132
   41988:	0040e300 	call	40e30 <__sprint_r>
   4198c:	103ec81e 	bne	r2,zero,414b0 <__alt_data_end+0xfffda3b0>
   41990:	bdfffc04 	addi	r23,r23,-16
   41994:	da011d17 	ldw	r8,1140(sp)
   41998:	d8c11c17 	ldw	r3,1136(sp)
   4199c:	da400404 	addi	r9,sp,16
   419a0:	e5ffef16 	blt	fp,r23,41960 <__alt_data_end+0xfffda860>
   419a4:	a021883a 	mov	r16,r20
   419a8:	9029883a 	mov	r20,r18
   419ac:	dc812a17 	ldw	r18,1192(sp)
   419b0:	4d000015 	stw	r20,0(r9)
   419b4:	4dc00115 	stw	r23,4(r9)
   419b8:	45d1883a 	add	r8,r8,r23
   419bc:	18c00044 	addi	r3,r3,1
   419c0:	da011d15 	stw	r8,1140(sp)
   419c4:	d8c11c15 	stw	r3,1136(sp)
   419c8:	008001c4 	movi	r2,7
   419cc:	10c13e16 	blt	r2,r3,41ec8 <___vfprintf_internal_r+0x1064>
   419d0:	4a400204 	addi	r9,r9,8
   419d4:	8080400c 	andi	r2,r16,256
   419d8:	1000831e 	bne	r2,zero,41be8 <___vfprintf_internal_r+0xd84>
   419dc:	d8812b17 	ldw	r2,1196(sp)
   419e0:	4cc00015 	stw	r19,0(r9)
   419e4:	48800115 	stw	r2,4(r9)
   419e8:	4091883a 	add	r8,r8,r2
   419ec:	18c00044 	addi	r3,r3,1
   419f0:	da011d15 	stw	r8,1140(sp)
   419f4:	d8c11c15 	stw	r3,1136(sp)
   419f8:	008001c4 	movi	r2,7
   419fc:	10c05316 	blt	r2,r3,41b4c <___vfprintf_internal_r+0xce8>
   41a00:	4a400204 	addi	r9,r9,8
   41a04:	8400010c 	andi	r16,r16,4
   41a08:	80002e26 	beq	r16,zero,41ac4 <___vfprintf_internal_r+0xc60>
   41a0c:	d8812e17 	ldw	r2,1208(sp)
   41a10:	d8c12817 	ldw	r3,1184(sp)
   41a14:	10e1c83a 	sub	r16,r2,r3
   41a18:	04002a0e 	bge	zero,r16,41ac4 <___vfprintf_internal_r+0xc60>
   41a1c:	04800404 	movi	r18,16
   41a20:	d8c11c17 	ldw	r3,1136(sp)
   41a24:	05c00174 	movhi	r23,5
   41a28:	bdf0d384 	addi	r23,r23,-15538
   41a2c:	9400170e 	bge	r18,r16,41a8c <___vfprintf_internal_r+0xc28>
   41a30:	04c001c4 	movi	r19,7
   41a34:	dd012917 	ldw	r20,1188(sp)
   41a38:	00000306 	br	41a48 <___vfprintf_internal_r+0xbe4>
   41a3c:	843ffc04 	addi	r16,r16,-16
   41a40:	4a400204 	addi	r9,r9,8
   41a44:	9400110e 	bge	r18,r16,41a8c <___vfprintf_internal_r+0xc28>
   41a48:	4dc00015 	stw	r23,0(r9)
   41a4c:	4c800115 	stw	r18,4(r9)
   41a50:	42000404 	addi	r8,r8,16
   41a54:	18c00044 	addi	r3,r3,1
   41a58:	da011d15 	stw	r8,1140(sp)
   41a5c:	d8c11c15 	stw	r3,1136(sp)
   41a60:	98fff60e 	bge	r19,r3,41a3c <__alt_data_end+0xfffda93c>
   41a64:	8809883a 	mov	r4,r17
   41a68:	a00b883a 	mov	r5,r20
   41a6c:	d9811b04 	addi	r6,sp,1132
   41a70:	0040e300 	call	40e30 <__sprint_r>
   41a74:	103e8e1e 	bne	r2,zero,414b0 <__alt_data_end+0xfffda3b0>
   41a78:	843ffc04 	addi	r16,r16,-16
   41a7c:	da011d17 	ldw	r8,1140(sp)
   41a80:	d8c11c17 	ldw	r3,1136(sp)
   41a84:	da400404 	addi	r9,sp,16
   41a88:	943fef16 	blt	r18,r16,41a48 <__alt_data_end+0xfffda948>
   41a8c:	4dc00015 	stw	r23,0(r9)
   41a90:	4c000115 	stw	r16,4(r9)
   41a94:	8211883a 	add	r8,r16,r8
   41a98:	18c00044 	addi	r3,r3,1
   41a9c:	da011d15 	stw	r8,1140(sp)
   41aa0:	d8c11c15 	stw	r3,1136(sp)
   41aa4:	008001c4 	movi	r2,7
   41aa8:	10c0060e 	bge	r2,r3,41ac4 <___vfprintf_internal_r+0xc60>
   41aac:	d9412917 	ldw	r5,1188(sp)
   41ab0:	8809883a 	mov	r4,r17
   41ab4:	d9811b04 	addi	r6,sp,1132
   41ab8:	0040e300 	call	40e30 <__sprint_r>
   41abc:	103e7c1e 	bne	r2,zero,414b0 <__alt_data_end+0xfffda3b0>
   41ac0:	da011d17 	ldw	r8,1140(sp)
   41ac4:	dd012817 	ldw	r20,1184(sp)
   41ac8:	d9012e17 	ldw	r4,1208(sp)
   41acc:	a100010e 	bge	r20,r4,41ad4 <___vfprintf_internal_r+0xc70>
   41ad0:	2029883a 	mov	r20,r4
   41ad4:	d8812c17 	ldw	r2,1200(sp)
   41ad8:	1505883a 	add	r2,r2,r20
   41adc:	d8812c15 	stw	r2,1200(sp)
   41ae0:	4000b91e 	bne	r8,zero,41dc8 <___vfprintf_internal_r+0xf64>
   41ae4:	d8011c15 	stw	zero,1136(sp)
   41ae8:	a8800007 	ldb	r2,0(r21)
   41aec:	da400404 	addi	r9,sp,16
   41af0:	103d141e 	bne	r2,zero,40f44 <__alt_data_end+0xfffd9e44>
   41af4:	a825883a 	mov	r18,r21
   41af8:	003d2a06 	br	40fa4 <__alt_data_end+0xfffd9ea4>
   41afc:	d9412917 	ldw	r5,1188(sp)
   41b00:	8809883a 	mov	r4,r17
   41b04:	d9811b04 	addi	r6,sp,1132
   41b08:	0040e300 	call	40e30 <__sprint_r>
   41b0c:	103e681e 	bne	r2,zero,414b0 <__alt_data_end+0xfffda3b0>
   41b10:	da011d17 	ldw	r8,1140(sp)
   41b14:	da400404 	addi	r9,sp,16
   41b18:	8080004c 	andi	r2,r16,1
   41b1c:	103fb926 	beq	r2,zero,41a04 <__alt_data_end+0xfffda904>
   41b20:	d8c11c17 	ldw	r3,1136(sp)
   41b24:	d9013717 	ldw	r4,1244(sp)
   41b28:	00800044 	movi	r2,1
   41b2c:	48800115 	stw	r2,4(r9)
   41b30:	49000015 	stw	r4,0(r9)
   41b34:	4091883a 	add	r8,r8,r2
   41b38:	1887883a 	add	r3,r3,r2
   41b3c:	da011d15 	stw	r8,1140(sp)
   41b40:	d8c11c15 	stw	r3,1136(sp)
   41b44:	008001c4 	movi	r2,7
   41b48:	10ffad0e 	bge	r2,r3,41a00 <__alt_data_end+0xfffda900>
   41b4c:	d9412917 	ldw	r5,1188(sp)
   41b50:	8809883a 	mov	r4,r17
   41b54:	d9811b04 	addi	r6,sp,1132
   41b58:	0040e300 	call	40e30 <__sprint_r>
   41b5c:	103e541e 	bne	r2,zero,414b0 <__alt_data_end+0xfffda3b0>
   41b60:	da400404 	addi	r9,sp,16
   41b64:	da011d17 	ldw	r8,1140(sp)
   41b68:	003fa606 	br	41a04 <__alt_data_end+0xfffda904>
   41b6c:	18803fcc 	andi	r2,r3,255
   41b70:	00c00044 	movi	r3,1
   41b74:	10c10126 	beq	r2,r3,41f7c <___vfprintf_internal_r+0x1118>
   41b78:	00c00084 	movi	r3,2
   41b7c:	10c0f026 	beq	r2,r3,41f40 <___vfprintf_internal_r+0x10dc>
   41b80:	d8c10dc4 	addi	r3,sp,1079
   41b84:	b808d0fa 	srli	r4,r23,3
   41b88:	b00a977a 	slli	r5,r22,29
   41b8c:	b02cd0fa 	srli	r22,r22,3
   41b90:	bdc001cc 	andi	r23,r23,7
   41b94:	b8800c04 	addi	r2,r23,48
   41b98:	292eb03a 	or	r23,r5,r4
   41b9c:	18800005 	stb	r2,0(r3)
   41ba0:	bd88b03a 	or	r4,r23,r22
   41ba4:	1827883a 	mov	r19,r3
   41ba8:	18ffffc4 	addi	r3,r3,-1
   41bac:	203ff51e 	bne	r4,zero,41b84 <__alt_data_end+0xfffdaa84>
   41bb0:	8100004c 	andi	r4,r16,1
   41bb4:	980b883a 	mov	r5,r19
   41bb8:	20000726 	beq	r4,zero,41bd8 <___vfprintf_internal_r+0xd74>
   41bbc:	10803fcc 	andi	r2,r2,255
   41bc0:	1080201c 	xori	r2,r2,128
   41bc4:	10bfe004 	addi	r2,r2,-128
   41bc8:	01000c04 	movi	r4,48
   41bcc:	11000226 	beq	r2,r4,41bd8 <___vfprintf_internal_r+0xd74>
   41bd0:	1827883a 	mov	r19,r3
   41bd4:	293fffc5 	stb	r4,-1(r5)
   41bd8:	d8812717 	ldw	r2,1180(sp)
   41bdc:	14c5c83a 	sub	r2,r2,r19
   41be0:	d8812b15 	stw	r2,1196(sp)
   41be4:	003d8406 	br	411f8 <__alt_data_end+0xfffda0f8>
   41be8:	00801944 	movi	r2,101
   41bec:	14807c0e 	bge	r2,r18,41de0 <___vfprintf_internal_r+0xf7c>
   41bf0:	d9013317 	ldw	r4,1228(sp)
   41bf4:	d9413417 	ldw	r5,1232(sp)
   41bf8:	000d883a 	mov	r6,zero
   41bfc:	000f883a 	mov	r7,zero
   41c00:	d8c13b15 	stw	r3,1260(sp)
   41c04:	da013a15 	stw	r8,1256(sp)
   41c08:	da413c15 	stw	r9,1264(sp)
   41c0c:	00492c00 	call	492c0 <__nedf2>
   41c10:	d8c13b17 	ldw	r3,1260(sp)
   41c14:	da013a17 	ldw	r8,1256(sp)
   41c18:	da413c17 	ldw	r9,1264(sp)
   41c1c:	1001001e 	bne	r2,zero,42020 <___vfprintf_internal_r+0x11bc>
   41c20:	00800174 	movhi	r2,5
   41c24:	10b0d304 	addi	r2,r2,-15540
   41c28:	48800015 	stw	r2,0(r9)
   41c2c:	00800044 	movi	r2,1
   41c30:	48800115 	stw	r2,4(r9)
   41c34:	4091883a 	add	r8,r8,r2
   41c38:	1887883a 	add	r3,r3,r2
   41c3c:	da011d15 	stw	r8,1140(sp)
   41c40:	d8c11c15 	stw	r3,1136(sp)
   41c44:	008001c4 	movi	r2,7
   41c48:	10c1dd16 	blt	r2,r3,423c0 <___vfprintf_internal_r+0x155c>
   41c4c:	4a400204 	addi	r9,r9,8
   41c50:	d8812417 	ldw	r2,1168(sp)
   41c54:	d8c13217 	ldw	r3,1224(sp)
   41c58:	10c00216 	blt	r2,r3,41c64 <___vfprintf_internal_r+0xe00>
   41c5c:	8080004c 	andi	r2,r16,1
   41c60:	103f6826 	beq	r2,zero,41a04 <__alt_data_end+0xfffda904>
   41c64:	d8c11c17 	ldw	r3,1136(sp)
   41c68:	d9013717 	ldw	r4,1244(sp)
   41c6c:	00800044 	movi	r2,1
   41c70:	48800115 	stw	r2,4(r9)
   41c74:	49000015 	stw	r4,0(r9)
   41c78:	4091883a 	add	r8,r8,r2
   41c7c:	1887883a 	add	r3,r3,r2
   41c80:	da011d15 	stw	r8,1140(sp)
   41c84:	d8c11c15 	stw	r3,1136(sp)
   41c88:	008001c4 	movi	r2,7
   41c8c:	10c2af16 	blt	r2,r3,4274c <___vfprintf_internal_r+0x18e8>
   41c90:	4a400204 	addi	r9,r9,8
   41c94:	d8813217 	ldw	r2,1224(sp)
   41c98:	14bfffc4 	addi	r18,r2,-1
   41c9c:	04bf590e 	bge	zero,r18,41a04 <__alt_data_end+0xfffda904>
   41ca0:	04c00404 	movi	r19,16
   41ca4:	d8c11c17 	ldw	r3,1136(sp)
   41ca8:	05000174 	movhi	r20,5
   41cac:	a530d784 	addi	r20,r20,-15522
   41cb0:	9c81630e 	bge	r19,r18,42240 <___vfprintf_internal_r+0x13dc>
   41cb4:	058001c4 	movi	r22,7
   41cb8:	ddc12917 	ldw	r23,1188(sp)
   41cbc:	00000306 	br	41ccc <___vfprintf_internal_r+0xe68>
   41cc0:	4a400204 	addi	r9,r9,8
   41cc4:	94bffc04 	addi	r18,r18,-16
   41cc8:	9c815d0e 	bge	r19,r18,42240 <___vfprintf_internal_r+0x13dc>
   41ccc:	4d000015 	stw	r20,0(r9)
   41cd0:	4cc00115 	stw	r19,4(r9)
   41cd4:	42000404 	addi	r8,r8,16
   41cd8:	18c00044 	addi	r3,r3,1
   41cdc:	da011d15 	stw	r8,1140(sp)
   41ce0:	d8c11c15 	stw	r3,1136(sp)
   41ce4:	b0fff60e 	bge	r22,r3,41cc0 <__alt_data_end+0xfffdabc0>
   41ce8:	8809883a 	mov	r4,r17
   41cec:	b80b883a 	mov	r5,r23
   41cf0:	d9811b04 	addi	r6,sp,1132
   41cf4:	0040e300 	call	40e30 <__sprint_r>
   41cf8:	103ded1e 	bne	r2,zero,414b0 <__alt_data_end+0xfffda3b0>
   41cfc:	da011d17 	ldw	r8,1140(sp)
   41d00:	d8c11c17 	ldw	r3,1136(sp)
   41d04:	da400404 	addi	r9,sp,16
   41d08:	003fee06 	br	41cc4 <__alt_data_end+0xfffdabc4>
   41d0c:	d8812e17 	ldw	r2,1208(sp)
   41d10:	d9012817 	ldw	r4,1184(sp)
   41d14:	112fc83a 	sub	r23,r2,r4
   41d18:	05ff000e 	bge	zero,r23,4191c <__alt_data_end+0xfffda81c>
   41d1c:	07000404 	movi	fp,16
   41d20:	05000174 	movhi	r20,5
   41d24:	a530d784 	addi	r20,r20,-15522
   41d28:	e5c01d0e 	bge	fp,r23,41da0 <___vfprintf_internal_r+0xf3c>
   41d2c:	dc812a15 	stw	r18,1192(sp)
   41d30:	058001c4 	movi	r22,7
   41d34:	a025883a 	mov	r18,r20
   41d38:	8029883a 	mov	r20,r16
   41d3c:	dc012917 	ldw	r16,1188(sp)
   41d40:	00000306 	br	41d50 <___vfprintf_internal_r+0xeec>
   41d44:	bdfffc04 	addi	r23,r23,-16
   41d48:	4a400204 	addi	r9,r9,8
   41d4c:	e5c0110e 	bge	fp,r23,41d94 <___vfprintf_internal_r+0xf30>
   41d50:	4c800015 	stw	r18,0(r9)
   41d54:	4f000115 	stw	fp,4(r9)
   41d58:	42000404 	addi	r8,r8,16
   41d5c:	18c00044 	addi	r3,r3,1
   41d60:	da011d15 	stw	r8,1140(sp)
   41d64:	d8c11c15 	stw	r3,1136(sp)
   41d68:	b0fff60e 	bge	r22,r3,41d44 <__alt_data_end+0xfffdac44>
   41d6c:	8809883a 	mov	r4,r17
   41d70:	800b883a 	mov	r5,r16
   41d74:	d9811b04 	addi	r6,sp,1132
   41d78:	0040e300 	call	40e30 <__sprint_r>
   41d7c:	103dcc1e 	bne	r2,zero,414b0 <__alt_data_end+0xfffda3b0>
   41d80:	bdfffc04 	addi	r23,r23,-16
   41d84:	da011d17 	ldw	r8,1140(sp)
   41d88:	d8c11c17 	ldw	r3,1136(sp)
   41d8c:	da400404 	addi	r9,sp,16
   41d90:	e5ffef16 	blt	fp,r23,41d50 <__alt_data_end+0xfffdac50>
   41d94:	a021883a 	mov	r16,r20
   41d98:	9029883a 	mov	r20,r18
   41d9c:	dc812a17 	ldw	r18,1192(sp)
   41da0:	4d000015 	stw	r20,0(r9)
   41da4:	4dc00115 	stw	r23,4(r9)
   41da8:	45d1883a 	add	r8,r8,r23
   41dac:	18c00044 	addi	r3,r3,1
   41db0:	da011d15 	stw	r8,1140(sp)
   41db4:	d8c11c15 	stw	r3,1136(sp)
   41db8:	008001c4 	movi	r2,7
   41dbc:	10c11716 	blt	r2,r3,4221c <___vfprintf_internal_r+0x13b8>
   41dc0:	4a400204 	addi	r9,r9,8
   41dc4:	003ed506 	br	4191c <__alt_data_end+0xfffda81c>
   41dc8:	d9412917 	ldw	r5,1188(sp)
   41dcc:	8809883a 	mov	r4,r17
   41dd0:	d9811b04 	addi	r6,sp,1132
   41dd4:	0040e300 	call	40e30 <__sprint_r>
   41dd8:	103f4226 	beq	r2,zero,41ae4 <__alt_data_end+0xfffda9e4>
   41ddc:	003db406 	br	414b0 <__alt_data_end+0xfffda3b0>
   41de0:	d9013217 	ldw	r4,1224(sp)
   41de4:	00800044 	movi	r2,1
   41de8:	4cc00015 	stw	r19,0(r9)
   41dec:	1100e10e 	bge	r2,r4,42174 <___vfprintf_internal_r+0x1310>
   41df0:	00800044 	movi	r2,1
   41df4:	48800115 	stw	r2,4(r9)
   41df8:	4091883a 	add	r8,r8,r2
   41dfc:	1887883a 	add	r3,r3,r2
   41e00:	da011d15 	stw	r8,1140(sp)
   41e04:	d8c11c15 	stw	r3,1136(sp)
   41e08:	008001c4 	movi	r2,7
   41e0c:	10c0ed16 	blt	r2,r3,421c4 <___vfprintf_internal_r+0x1360>
   41e10:	4a400204 	addi	r9,r9,8
   41e14:	d8813717 	ldw	r2,1244(sp)
   41e18:	48800015 	stw	r2,0(r9)
   41e1c:	00800044 	movi	r2,1
   41e20:	48800115 	stw	r2,4(r9)
   41e24:	4091883a 	add	r8,r8,r2
   41e28:	1887883a 	add	r3,r3,r2
   41e2c:	da011d15 	stw	r8,1140(sp)
   41e30:	d8c11c15 	stw	r3,1136(sp)
   41e34:	008001c4 	movi	r2,7
   41e38:	10c0eb16 	blt	r2,r3,421e8 <___vfprintf_internal_r+0x1384>
   41e3c:	4c800204 	addi	r18,r9,8
   41e40:	d9013317 	ldw	r4,1228(sp)
   41e44:	d9413417 	ldw	r5,1232(sp)
   41e48:	000d883a 	mov	r6,zero
   41e4c:	000f883a 	mov	r7,zero
   41e50:	d8c13b15 	stw	r3,1260(sp)
   41e54:	da013a15 	stw	r8,1256(sp)
   41e58:	00492640 	call	49264 <__eqdf2>
   41e5c:	d8c13b17 	ldw	r3,1260(sp)
   41e60:	da013a17 	ldw	r8,1256(sp)
   41e64:	1000a626 	beq	r2,zero,42100 <___vfprintf_internal_r+0x129c>
   41e68:	d9013217 	ldw	r4,1224(sp)
   41e6c:	9cc00044 	addi	r19,r19,1
   41e70:	94c00015 	stw	r19,0(r18)
   41e74:	20bfffc4 	addi	r2,r4,-1
   41e78:	90800115 	stw	r2,4(r18)
   41e7c:	4091883a 	add	r8,r8,r2
   41e80:	18c00044 	addi	r3,r3,1
   41e84:	da011d15 	stw	r8,1140(sp)
   41e88:	d8c11c15 	stw	r3,1136(sp)
   41e8c:	008001c4 	movi	r2,7
   41e90:	10c0c316 	blt	r2,r3,421a0 <___vfprintf_internal_r+0x133c>
   41e94:	94800204 	addi	r18,r18,8
   41e98:	d9013517 	ldw	r4,1236(sp)
   41e9c:	d8811fc4 	addi	r2,sp,1151
   41ea0:	90800015 	stw	r2,0(r18)
   41ea4:	91000115 	stw	r4,4(r18)
   41ea8:	4111883a 	add	r8,r8,r4
   41eac:	18c00044 	addi	r3,r3,1
   41eb0:	da011d15 	stw	r8,1140(sp)
   41eb4:	d8c11c15 	stw	r3,1136(sp)
   41eb8:	008001c4 	movi	r2,7
   41ebc:	10ff2316 	blt	r2,r3,41b4c <__alt_data_end+0xfffdaa4c>
   41ec0:	92400204 	addi	r9,r18,8
   41ec4:	003ecf06 	br	41a04 <__alt_data_end+0xfffda904>
   41ec8:	d9412917 	ldw	r5,1188(sp)
   41ecc:	8809883a 	mov	r4,r17
   41ed0:	d9811b04 	addi	r6,sp,1132
   41ed4:	0040e300 	call	40e30 <__sprint_r>
   41ed8:	103d751e 	bne	r2,zero,414b0 <__alt_data_end+0xfffda3b0>
   41edc:	da011d17 	ldw	r8,1140(sp)
   41ee0:	d8c11c17 	ldw	r3,1136(sp)
   41ee4:	da400404 	addi	r9,sp,16
   41ee8:	003eba06 	br	419d4 <__alt_data_end+0xfffda8d4>
   41eec:	d9412917 	ldw	r5,1188(sp)
   41ef0:	8809883a 	mov	r4,r17
   41ef4:	d9811b04 	addi	r6,sp,1132
   41ef8:	0040e300 	call	40e30 <__sprint_r>
   41efc:	103d6c1e 	bne	r2,zero,414b0 <__alt_data_end+0xfffda3b0>
   41f00:	da011d17 	ldw	r8,1140(sp)
   41f04:	d8c11c17 	ldw	r3,1136(sp)
   41f08:	da400404 	addi	r9,sp,16
   41f0c:	003e7306 	br	418dc <__alt_data_end+0xfffda7dc>
   41f10:	d9412917 	ldw	r5,1188(sp)
   41f14:	8809883a 	mov	r4,r17
   41f18:	d9811b04 	addi	r6,sp,1132
   41f1c:	0040e300 	call	40e30 <__sprint_r>
   41f20:	103d631e 	bne	r2,zero,414b0 <__alt_data_end+0xfffda3b0>
   41f24:	da011d17 	ldw	r8,1140(sp)
   41f28:	d8c11c17 	ldw	r3,1136(sp)
   41f2c:	da400404 	addi	r9,sp,16
   41f30:	003e7706 	br	41910 <__alt_data_end+0xfffda810>
   41f34:	d8012b15 	stw	zero,1196(sp)
   41f38:	dcc10e04 	addi	r19,sp,1080
   41f3c:	003cae06 	br	411f8 <__alt_data_end+0xfffda0f8>
   41f40:	d9413617 	ldw	r5,1240(sp)
   41f44:	d8810dc4 	addi	r2,sp,1079
   41f48:	b8c003cc 	andi	r3,r23,15
   41f4c:	b008973a 	slli	r4,r22,28
   41f50:	28c7883a 	add	r3,r5,r3
   41f54:	b82ed13a 	srli	r23,r23,4
   41f58:	18c00003 	ldbu	r3,0(r3)
   41f5c:	b02cd13a 	srli	r22,r22,4
   41f60:	25eeb03a 	or	r23,r4,r23
   41f64:	10c00005 	stb	r3,0(r2)
   41f68:	bd86b03a 	or	r3,r23,r22
   41f6c:	1027883a 	mov	r19,r2
   41f70:	10bfffc4 	addi	r2,r2,-1
   41f74:	183ff41e 	bne	r3,zero,41f48 <__alt_data_end+0xfffdae48>
   41f78:	003f1706 	br	41bd8 <__alt_data_end+0xfffdaad8>
   41f7c:	b0025826 	beq	r22,zero,428e0 <___vfprintf_internal_r+0x1a7c>
   41f80:	b807883a 	mov	r3,r23
   41f84:	d8810dc4 	addi	r2,sp,1079
   41f88:	882f883a 	mov	r23,r17
   41f8c:	04c00244 	movi	r19,9
   41f90:	8023883a 	mov	r17,r16
   41f94:	da412815 	stw	r9,1184(sp)
   41f98:	1821883a 	mov	r16,r3
   41f9c:	8009883a 	mov	r4,r16
   41fa0:	b00b883a 	mov	r5,r22
   41fa4:	01800284 	movi	r6,10
   41fa8:	000f883a 	mov	r7,zero
   41fac:	1029883a 	mov	r20,r2
   41fb0:	00485ec0 	call	485ec <__umoddi3>
   41fb4:	10800c04 	addi	r2,r2,48
   41fb8:	8009883a 	mov	r4,r16
   41fbc:	b00b883a 	mov	r5,r22
   41fc0:	a0800005 	stb	r2,0(r20)
   41fc4:	01800284 	movi	r6,10
   41fc8:	000f883a 	mov	r7,zero
   41fcc:	00480240 	call	48024 <__udivdi3>
   41fd0:	1021883a 	mov	r16,r2
   41fd4:	182d883a 	mov	r22,r3
   41fd8:	a0bfffc4 	addi	r2,r20,-1
   41fdc:	183fef1e 	bne	r3,zero,41f9c <__alt_data_end+0xfffdae9c>
   41fe0:	9c3fee36 	bltu	r19,r16,41f9c <__alt_data_end+0xfffdae9c>
   41fe4:	da412817 	ldw	r9,1184(sp)
   41fe8:	8005883a 	mov	r2,r16
   41fec:	8821883a 	mov	r16,r17
   41ff0:	b823883a 	mov	r17,r23
   41ff4:	102f883a 	mov	r23,r2
   41ff8:	d8812717 	ldw	r2,1180(sp)
   41ffc:	a4ffffc4 	addi	r19,r20,-1
   42000:	bdc00c04 	addi	r23,r23,48
   42004:	14c5c83a 	sub	r2,r2,r19
   42008:	a5ffffc5 	stb	r23,-1(r20)
   4200c:	d8812b15 	stw	r2,1196(sp)
   42010:	003c7906 	br	411f8 <__alt_data_end+0xfffda0f8>
   42014:	00c00044 	movi	r3,1
   42018:	bd84b03a 	or	r2,r23,r22
   4201c:	003c6806 	br	411c0 <__alt_data_end+0xfffda0c0>
   42020:	dc812417 	ldw	r18,1168(sp)
   42024:	0480ee0e 	bge	zero,r18,423e0 <___vfprintf_internal_r+0x157c>
   42028:	d9013217 	ldw	r4,1224(sp)
   4202c:	4cc00015 	stw	r19,0(r9)
   42030:	9100c616 	blt	r18,r4,4234c <___vfprintf_internal_r+0x14e8>
   42034:	49000115 	stw	r4,4(r9)
   42038:	4111883a 	add	r8,r8,r4
   4203c:	18c00044 	addi	r3,r3,1
   42040:	da011d15 	stw	r8,1140(sp)
   42044:	d8c11c15 	stw	r3,1136(sp)
   42048:	008001c4 	movi	r2,7
   4204c:	10c20916 	blt	r2,r3,42874 <___vfprintf_internal_r+0x1a10>
   42050:	4a400204 	addi	r9,r9,8
   42054:	d8813217 	ldw	r2,1224(sp)
   42058:	90a5c83a 	sub	r18,r18,r2
   4205c:	04beae0e 	bge	zero,r18,41b18 <__alt_data_end+0xfffdaa18>
   42060:	04c00404 	movi	r19,16
   42064:	d8c11c17 	ldw	r3,1136(sp)
   42068:	05000174 	movhi	r20,5
   4206c:	a530d784 	addi	r20,r20,-15522
   42070:	9c81be0e 	bge	r19,r18,4276c <___vfprintf_internal_r+0x1908>
   42074:	058001c4 	movi	r22,7
   42078:	ddc12917 	ldw	r23,1188(sp)
   4207c:	00000306 	br	4208c <___vfprintf_internal_r+0x1228>
   42080:	4a400204 	addi	r9,r9,8
   42084:	94bffc04 	addi	r18,r18,-16
   42088:	9c81b80e 	bge	r19,r18,4276c <___vfprintf_internal_r+0x1908>
   4208c:	4d000015 	stw	r20,0(r9)
   42090:	4cc00115 	stw	r19,4(r9)
   42094:	42000404 	addi	r8,r8,16
   42098:	18c00044 	addi	r3,r3,1
   4209c:	da011d15 	stw	r8,1140(sp)
   420a0:	d8c11c15 	stw	r3,1136(sp)
   420a4:	b0fff60e 	bge	r22,r3,42080 <__alt_data_end+0xfffdaf80>
   420a8:	8809883a 	mov	r4,r17
   420ac:	b80b883a 	mov	r5,r23
   420b0:	d9811b04 	addi	r6,sp,1132
   420b4:	0040e300 	call	40e30 <__sprint_r>
   420b8:	103cfd1e 	bne	r2,zero,414b0 <__alt_data_end+0xfffda3b0>
   420bc:	da011d17 	ldw	r8,1140(sp)
   420c0:	d8c11c17 	ldw	r3,1136(sp)
   420c4:	da400404 	addi	r9,sp,16
   420c8:	003fee06 	br	42084 <__alt_data_end+0xfffdaf84>
   420cc:	d9412917 	ldw	r5,1188(sp)
   420d0:	8809883a 	mov	r4,r17
   420d4:	d9811b04 	addi	r6,sp,1132
   420d8:	0040e300 	call	40e30 <__sprint_r>
   420dc:	103cf41e 	bne	r2,zero,414b0 <__alt_data_end+0xfffda3b0>
   420e0:	da011d17 	ldw	r8,1140(sp)
   420e4:	d8c11c17 	ldw	r3,1136(sp)
   420e8:	da400404 	addi	r9,sp,16
   420ec:	003dee06 	br	418a8 <__alt_data_end+0xfffda7a8>
   420f0:	00c00084 	movi	r3,2
   420f4:	bd84b03a 	or	r2,r23,r22
   420f8:	d8012585 	stb	zero,1174(sp)
   420fc:	003c3006 	br	411c0 <__alt_data_end+0xfffda0c0>
   42100:	d8813217 	ldw	r2,1224(sp)
   42104:	14ffffc4 	addi	r19,r2,-1
   42108:	04ff630e 	bge	zero,r19,41e98 <__alt_data_end+0xfffdad98>
   4210c:	05800404 	movi	r22,16
   42110:	05000174 	movhi	r20,5
   42114:	a530d784 	addi	r20,r20,-15522
   42118:	b4c03c0e 	bge	r22,r19,4220c <___vfprintf_internal_r+0x13a8>
   4211c:	05c001c4 	movi	r23,7
   42120:	df012917 	ldw	fp,1188(sp)
   42124:	00000306 	br	42134 <___vfprintf_internal_r+0x12d0>
   42128:	94800204 	addi	r18,r18,8
   4212c:	9cfffc04 	addi	r19,r19,-16
   42130:	b4c0360e 	bge	r22,r19,4220c <___vfprintf_internal_r+0x13a8>
   42134:	95000015 	stw	r20,0(r18)
   42138:	95800115 	stw	r22,4(r18)
   4213c:	42000404 	addi	r8,r8,16
   42140:	18c00044 	addi	r3,r3,1
   42144:	da011d15 	stw	r8,1140(sp)
   42148:	d8c11c15 	stw	r3,1136(sp)
   4214c:	b8fff60e 	bge	r23,r3,42128 <__alt_data_end+0xfffdb028>
   42150:	8809883a 	mov	r4,r17
   42154:	e00b883a 	mov	r5,fp
   42158:	d9811b04 	addi	r6,sp,1132
   4215c:	0040e300 	call	40e30 <__sprint_r>
   42160:	103cd31e 	bne	r2,zero,414b0 <__alt_data_end+0xfffda3b0>
   42164:	da011d17 	ldw	r8,1140(sp)
   42168:	d8c11c17 	ldw	r3,1136(sp)
   4216c:	dc800404 	addi	r18,sp,16
   42170:	003fee06 	br	4212c <__alt_data_end+0xfffdb02c>
   42174:	8088703a 	and	r4,r16,r2
   42178:	203f1d1e 	bne	r4,zero,41df0 <__alt_data_end+0xfffdacf0>
   4217c:	48800115 	stw	r2,4(r9)
   42180:	42000044 	addi	r8,r8,1
   42184:	18c00044 	addi	r3,r3,1
   42188:	da011d15 	stw	r8,1140(sp)
   4218c:	d8c11c15 	stw	r3,1136(sp)
   42190:	008001c4 	movi	r2,7
   42194:	10c00216 	blt	r2,r3,421a0 <___vfprintf_internal_r+0x133c>
   42198:	4c800204 	addi	r18,r9,8
   4219c:	003f3e06 	br	41e98 <__alt_data_end+0xfffdad98>
   421a0:	d9412917 	ldw	r5,1188(sp)
   421a4:	8809883a 	mov	r4,r17
   421a8:	d9811b04 	addi	r6,sp,1132
   421ac:	0040e300 	call	40e30 <__sprint_r>
   421b0:	103cbf1e 	bne	r2,zero,414b0 <__alt_data_end+0xfffda3b0>
   421b4:	dc800404 	addi	r18,sp,16
   421b8:	da011d17 	ldw	r8,1140(sp)
   421bc:	d8c11c17 	ldw	r3,1136(sp)
   421c0:	003f3506 	br	41e98 <__alt_data_end+0xfffdad98>
   421c4:	d9412917 	ldw	r5,1188(sp)
   421c8:	8809883a 	mov	r4,r17
   421cc:	d9811b04 	addi	r6,sp,1132
   421d0:	0040e300 	call	40e30 <__sprint_r>
   421d4:	103cb61e 	bne	r2,zero,414b0 <__alt_data_end+0xfffda3b0>
   421d8:	da011d17 	ldw	r8,1140(sp)
   421dc:	d8c11c17 	ldw	r3,1136(sp)
   421e0:	da400404 	addi	r9,sp,16
   421e4:	003f0b06 	br	41e14 <__alt_data_end+0xfffdad14>
   421e8:	d9412917 	ldw	r5,1188(sp)
   421ec:	8809883a 	mov	r4,r17
   421f0:	d9811b04 	addi	r6,sp,1132
   421f4:	0040e300 	call	40e30 <__sprint_r>
   421f8:	103cad1e 	bne	r2,zero,414b0 <__alt_data_end+0xfffda3b0>
   421fc:	da011d17 	ldw	r8,1140(sp)
   42200:	d8c11c17 	ldw	r3,1136(sp)
   42204:	dc800404 	addi	r18,sp,16
   42208:	003f0d06 	br	41e40 <__alt_data_end+0xfffdad40>
   4220c:	95000015 	stw	r20,0(r18)
   42210:	94c00115 	stw	r19,4(r18)
   42214:	44d1883a 	add	r8,r8,r19
   42218:	003f1906 	br	41e80 <__alt_data_end+0xfffdad80>
   4221c:	d9412917 	ldw	r5,1188(sp)
   42220:	8809883a 	mov	r4,r17
   42224:	d9811b04 	addi	r6,sp,1132
   42228:	0040e300 	call	40e30 <__sprint_r>
   4222c:	103ca01e 	bne	r2,zero,414b0 <__alt_data_end+0xfffda3b0>
   42230:	da011d17 	ldw	r8,1140(sp)
   42234:	d8c11c17 	ldw	r3,1136(sp)
   42238:	da400404 	addi	r9,sp,16
   4223c:	003db706 	br	4191c <__alt_data_end+0xfffda81c>
   42240:	4d000015 	stw	r20,0(r9)
   42244:	4c800115 	stw	r18,4(r9)
   42248:	4491883a 	add	r8,r8,r18
   4224c:	003de706 	br	419ec <__alt_data_end+0xfffda8ec>
   42250:	8080100c 	andi	r2,r16,64
   42254:	10010226 	beq	r2,zero,42660 <___vfprintf_internal_r+0x17fc>
   42258:	d8812d17 	ldw	r2,1204(sp)
   4225c:	002d883a 	mov	r22,zero
   42260:	00c00044 	movi	r3,1
   42264:	15c0000b 	ldhu	r23,0(r2)
   42268:	10800104 	addi	r2,r2,4
   4226c:	d8812d15 	stw	r2,1204(sp)
   42270:	d8012585 	stb	zero,1174(sp)
   42274:	b805883a 	mov	r2,r23
   42278:	003bd106 	br	411c0 <__alt_data_end+0xfffda0c0>
   4227c:	d9012d17 	ldw	r4,1204(sp)
   42280:	25800017 	ldw	r22,0(r4)
   42284:	25000117 	ldw	r20,4(r4)
   42288:	21000204 	addi	r4,r4,8
   4228c:	d9012d15 	stw	r4,1204(sp)
   42290:	dd813315 	stw	r22,1228(sp)
   42294:	dd013415 	stw	r20,1232(sp)
   42298:	003d2b06 	br	41748 <__alt_data_end+0xfffda648>
   4229c:	8080100c 	andi	r2,r16,64
   422a0:	1000fe26 	beq	r2,zero,4269c <___vfprintf_internal_r+0x1838>
   422a4:	d9012d17 	ldw	r4,1204(sp)
   422a8:	002d883a 	mov	r22,zero
   422ac:	0007883a 	mov	r3,zero
   422b0:	25c0000b 	ldhu	r23,0(r4)
   422b4:	21000104 	addi	r4,r4,4
   422b8:	d9012d15 	stw	r4,1204(sp)
   422bc:	b805883a 	mov	r2,r23
   422c0:	d8012585 	stb	zero,1174(sp)
   422c4:	003bbe06 	br	411c0 <__alt_data_end+0xfffda0c0>
   422c8:	8080100c 	andi	r2,r16,64
   422cc:	1000ed26 	beq	r2,zero,42684 <___vfprintf_internal_r+0x1820>
   422d0:	d9012d17 	ldw	r4,1204(sp)
   422d4:	002d883a 	mov	r22,zero
   422d8:	25c0000b 	ldhu	r23,0(r4)
   422dc:	21000104 	addi	r4,r4,4
   422e0:	d9012d15 	stw	r4,1204(sp)
   422e4:	003cd206 	br	41630 <__alt_data_end+0xfffda530>
   422e8:	00c00084 	movi	r3,2
   422ec:	d8012585 	stb	zero,1174(sp)
   422f0:	003bb306 	br	411c0 <__alt_data_end+0xfffda0c0>
   422f4:	8080040c 	andi	r2,r16,16
   422f8:	1000f11e 	bne	r2,zero,426c0 <___vfprintf_internal_r+0x185c>
   422fc:	8400100c 	andi	r16,r16,64
   42300:	80015526 	beq	r16,zero,42858 <___vfprintf_internal_r+0x19f4>
   42304:	da012d17 	ldw	r8,1204(sp)
   42308:	d8c12c17 	ldw	r3,1200(sp)
   4230c:	40800017 	ldw	r2,0(r8)
   42310:	42000104 	addi	r8,r8,4
   42314:	da012d15 	stw	r8,1204(sp)
   42318:	10c0000d 	sth	r3,0(r2)
   4231c:	003b0706 	br	40f3c <__alt_data_end+0xfffd9e3c>
   42320:	8080100c 	andi	r2,r16,64
   42324:	1000c726 	beq	r2,zero,42644 <___vfprintf_internal_r+0x17e0>
   42328:	da012d17 	ldw	r8,1204(sp)
   4232c:	45c0000f 	ldh	r23,0(r8)
   42330:	42000104 	addi	r8,r8,4
   42334:	da012d15 	stw	r8,1204(sp)
   42338:	b82dd7fa 	srai	r22,r23,31
   4233c:	b005883a 	mov	r2,r22
   42340:	003c1006 	br	41384 <__alt_data_end+0xfffda284>
   42344:	ac800007 	ldb	r18,0(r21)
   42348:	003b2406 	br	40fdc <__alt_data_end+0xfffd9edc>
   4234c:	4c800115 	stw	r18,4(r9)
   42350:	9211883a 	add	r8,r18,r8
   42354:	18c00044 	addi	r3,r3,1
   42358:	da011d15 	stw	r8,1140(sp)
   4235c:	d8c11c15 	stw	r3,1136(sp)
   42360:	008001c4 	movi	r2,7
   42364:	10c15416 	blt	r2,r3,428b8 <___vfprintf_internal_r+0x1a54>
   42368:	4a400204 	addi	r9,r9,8
   4236c:	d8813717 	ldw	r2,1244(sp)
   42370:	9ca7883a 	add	r19,r19,r18
   42374:	48800015 	stw	r2,0(r9)
   42378:	00800044 	movi	r2,1
   4237c:	48800115 	stw	r2,4(r9)
   42380:	4091883a 	add	r8,r8,r2
   42384:	1887883a 	add	r3,r3,r2
   42388:	da011d15 	stw	r8,1140(sp)
   4238c:	d8c11c15 	stw	r3,1136(sp)
   42390:	008001c4 	movi	r2,7
   42394:	10c14016 	blt	r2,r3,42898 <___vfprintf_internal_r+0x1a34>
   42398:	4a400204 	addi	r9,r9,8
   4239c:	d9013217 	ldw	r4,1224(sp)
   423a0:	da011d17 	ldw	r8,1140(sp)
   423a4:	d8c11c17 	ldw	r3,1136(sp)
   423a8:	24a5c83a 	sub	r18,r4,r18
   423ac:	4cc00015 	stw	r19,0(r9)
   423b0:	003fa406 	br	42244 <__alt_data_end+0xfffdb144>
   423b4:	04c00174 	movhi	r19,5
   423b8:	9cf0c404 	addi	r19,r19,-15600
   423bc:	003cf406 	br	41790 <__alt_data_end+0xfffda690>
   423c0:	d9412917 	ldw	r5,1188(sp)
   423c4:	8809883a 	mov	r4,r17
   423c8:	d9811b04 	addi	r6,sp,1132
   423cc:	0040e300 	call	40e30 <__sprint_r>
   423d0:	103c371e 	bne	r2,zero,414b0 <__alt_data_end+0xfffda3b0>
   423d4:	da011d17 	ldw	r8,1140(sp)
   423d8:	da400404 	addi	r9,sp,16
   423dc:	003e1c06 	br	41c50 <__alt_data_end+0xfffdab50>
   423e0:	00800174 	movhi	r2,5
   423e4:	10b0d304 	addi	r2,r2,-15540
   423e8:	48800015 	stw	r2,0(r9)
   423ec:	00800044 	movi	r2,1
   423f0:	48800115 	stw	r2,4(r9)
   423f4:	4091883a 	add	r8,r8,r2
   423f8:	1887883a 	add	r3,r3,r2
   423fc:	da011d15 	stw	r8,1140(sp)
   42400:	d8c11c15 	stw	r3,1136(sp)
   42404:	008001c4 	movi	r2,7
   42408:	10c0c316 	blt	r2,r3,42718 <___vfprintf_internal_r+0x18b4>
   4240c:	4a400204 	addi	r9,r9,8
   42410:	9000041e 	bne	r18,zero,42424 <___vfprintf_internal_r+0x15c0>
   42414:	d8c13217 	ldw	r3,1224(sp)
   42418:	1800021e 	bne	r3,zero,42424 <___vfprintf_internal_r+0x15c0>
   4241c:	8080004c 	andi	r2,r16,1
   42420:	103d7826 	beq	r2,zero,41a04 <__alt_data_end+0xfffda904>
   42424:	d8c11c17 	ldw	r3,1136(sp)
   42428:	d9013717 	ldw	r4,1244(sp)
   4242c:	00800044 	movi	r2,1
   42430:	48800115 	stw	r2,4(r9)
   42434:	49000015 	stw	r4,0(r9)
   42438:	4091883a 	add	r8,r8,r2
   4243c:	1887883a 	add	r3,r3,r2
   42440:	da011d15 	stw	r8,1140(sp)
   42444:	d8c11c15 	stw	r3,1136(sp)
   42448:	008001c4 	movi	r2,7
   4244c:	10c12e16 	blt	r2,r3,42908 <___vfprintf_internal_r+0x1aa4>
   42450:	4a400204 	addi	r9,r9,8
   42454:	04a5c83a 	sub	r18,zero,r18
   42458:	0480de0e 	bge	zero,r18,427d4 <___vfprintf_internal_r+0x1970>
   4245c:	05800404 	movi	r22,16
   42460:	05000174 	movhi	r20,5
   42464:	a530d784 	addi	r20,r20,-15522
   42468:	b480e20e 	bge	r22,r18,427f4 <___vfprintf_internal_r+0x1990>
   4246c:	05c001c4 	movi	r23,7
   42470:	df012917 	ldw	fp,1188(sp)
   42474:	00000306 	br	42484 <___vfprintf_internal_r+0x1620>
   42478:	4a400204 	addi	r9,r9,8
   4247c:	94bffc04 	addi	r18,r18,-16
   42480:	b480dc0e 	bge	r22,r18,427f4 <___vfprintf_internal_r+0x1990>
   42484:	4d000015 	stw	r20,0(r9)
   42488:	4d800115 	stw	r22,4(r9)
   4248c:	42000404 	addi	r8,r8,16
   42490:	18c00044 	addi	r3,r3,1
   42494:	da011d15 	stw	r8,1140(sp)
   42498:	d8c11c15 	stw	r3,1136(sp)
   4249c:	b8fff60e 	bge	r23,r3,42478 <__alt_data_end+0xfffdb378>
   424a0:	8809883a 	mov	r4,r17
   424a4:	e00b883a 	mov	r5,fp
   424a8:	d9811b04 	addi	r6,sp,1132
   424ac:	0040e300 	call	40e30 <__sprint_r>
   424b0:	103bff1e 	bne	r2,zero,414b0 <__alt_data_end+0xfffda3b0>
   424b4:	da011d17 	ldw	r8,1140(sp)
   424b8:	d8c11c17 	ldw	r3,1136(sp)
   424bc:	da400404 	addi	r9,sp,16
   424c0:	003fee06 	br	4247c <__alt_data_end+0xfffdb37c>
   424c4:	da413c15 	stw	r9,1264(sp)
   424c8:	00479300 	call	47930 <__isnand>
   424cc:	da413c17 	ldw	r9,1264(sp)
   424d0:	1000851e 	bne	r2,zero,426e8 <___vfprintf_internal_r+0x1884>
   424d4:	00bfffc4 	movi	r2,-1
   424d8:	e0817626 	beq	fp,r2,42ab4 <___vfprintf_internal_r+0x1c50>
   424dc:	008019c4 	movi	r2,103
   424e0:	90817126 	beq	r18,r2,42aa8 <___vfprintf_internal_r+0x1c44>
   424e4:	008011c4 	movi	r2,71
   424e8:	90816f26 	beq	r18,r2,42aa8 <___vfprintf_internal_r+0x1c44>
   424ec:	82004014 	ori	r8,r16,256
   424f0:	da012a15 	stw	r8,1192(sp)
   424f4:	a0017116 	blt	r20,zero,42abc <___vfprintf_internal_r+0x1c58>
   424f8:	d8012f05 	stb	zero,1212(sp)
   424fc:	00801984 	movi	r2,102
   42500:	90811226 	beq	r18,r2,4294c <___vfprintf_internal_r+0x1ae8>
   42504:	00801184 	movi	r2,70
   42508:	90811026 	beq	r18,r2,4294c <___vfprintf_internal_r+0x1ae8>
   4250c:	00801944 	movi	r2,101
   42510:	90819b26 	beq	r18,r2,42b80 <___vfprintf_internal_r+0x1d1c>
   42514:	00801144 	movi	r2,69
   42518:	90819926 	beq	r18,r2,42b80 <___vfprintf_internal_r+0x1d1c>
   4251c:	e02f883a 	mov	r23,fp
   42520:	d8812404 	addi	r2,sp,1168
   42524:	d8800115 	stw	r2,4(sp)
   42528:	d8812304 	addi	r2,sp,1164
   4252c:	d8800215 	stw	r2,8(sp)
   42530:	d8812204 	addi	r2,sp,1160
   42534:	ddc00015 	stw	r23,0(sp)
   42538:	d8800315 	stw	r2,12(sp)
   4253c:	8809883a 	mov	r4,r17
   42540:	b00b883a 	mov	r5,r22
   42544:	a00d883a 	mov	r6,r20
   42548:	01c00084 	movi	r7,2
   4254c:	da413c15 	stw	r9,1264(sp)
   42550:	0042ffc0 	call	42ffc <_dtoa_r>
   42554:	1027883a 	mov	r19,r2
   42558:	008019c4 	movi	r2,103
   4255c:	da413c17 	ldw	r9,1264(sp)
   42560:	90818c1e 	bne	r18,r2,42b94 <___vfprintf_internal_r+0x1d30>
   42564:	8080004c 	andi	r2,r16,1
   42568:	10017926 	beq	r2,zero,42b50 <___vfprintf_internal_r+0x1cec>
   4256c:	00801184 	movi	r2,70
   42570:	9dc7883a 	add	r3,r19,r23
   42574:	90810626 	beq	r18,r2,42990 <___vfprintf_internal_r+0x1b2c>
   42578:	b009883a 	mov	r4,r22
   4257c:	a00b883a 	mov	r5,r20
   42580:	000d883a 	mov	r6,zero
   42584:	000f883a 	mov	r7,zero
   42588:	d8c13b15 	stw	r3,1260(sp)
   4258c:	da413c15 	stw	r9,1264(sp)
   42590:	00492640 	call	49264 <__eqdf2>
   42594:	d8c13b17 	ldw	r3,1260(sp)
   42598:	da413c17 	ldw	r9,1264(sp)
   4259c:	10000726 	beq	r2,zero,425bc <___vfprintf_internal_r+0x1758>
   425a0:	d8812217 	ldw	r2,1160(sp)
   425a4:	10c1962e 	bgeu	r2,r3,42c00 <___vfprintf_internal_r+0x1d9c>
   425a8:	01000c04 	movi	r4,48
   425ac:	11000005 	stb	r4,0(r2)
   425b0:	10800044 	addi	r2,r2,1
   425b4:	d8812215 	stw	r2,1160(sp)
   425b8:	10fffc1e 	bne	r2,r3,425ac <__alt_data_end+0xfffdb4ac>
   425bc:	1cc7c83a 	sub	r3,r3,r19
   425c0:	d8c13215 	stw	r3,1224(sp)
   425c4:	008019c4 	movi	r2,103
   425c8:	90810626 	beq	r18,r2,429e4 <___vfprintf_internal_r+0x1b80>
   425cc:	008011c4 	movi	r2,71
   425d0:	90810426 	beq	r18,r2,429e4 <___vfprintf_internal_r+0x1b80>
   425d4:	00801984 	movi	r2,102
   425d8:	90819a1e 	bne	r18,r2,42c44 <___vfprintf_internal_r+0x1de0>
   425dc:	d8812417 	ldw	r2,1168(sp)
   425e0:	d8812b15 	stw	r2,1196(sp)
   425e4:	0081880e 	bge	zero,r2,42c08 <___vfprintf_internal_r+0x1da4>
   425e8:	e000021e 	bne	fp,zero,425f4 <___vfprintf_internal_r+0x1790>
   425ec:	8400004c 	andi	r16,r16,1
   425f0:	80000426 	beq	r16,zero,42604 <___vfprintf_internal_r+0x17a0>
   425f4:	d8812b17 	ldw	r2,1196(sp)
   425f8:	e2000044 	addi	r8,fp,1
   425fc:	1205883a 	add	r2,r2,r8
   42600:	d8812b15 	stw	r2,1196(sp)
   42604:	d8812815 	stw	r2,1184(sp)
   42608:	10011716 	blt	r2,zero,42a68 <___vfprintf_internal_r+0x1c04>
   4260c:	ddc12f07 	ldb	r23,1212(sp)
   42610:	b800ca26 	beq	r23,zero,4293c <___vfprintf_internal_r+0x1ad8>
   42614:	00800b44 	movi	r2,45
   42618:	d8812585 	stb	r2,1174(sp)
   4261c:	dc012a17 	ldw	r16,1192(sp)
   42620:	d8013115 	stw	zero,1220(sp)
   42624:	003afe06 	br	41220 <__alt_data_end+0xfffda120>
   42628:	d8812b17 	ldw	r2,1196(sp)
   4262c:	d8812815 	stw	r2,1184(sp)
   42630:	10005e16 	blt	r2,zero,427ac <___vfprintf_internal_r+0x1948>
   42634:	d8812583 	ldbu	r2,1174(sp)
   42638:	ddc12d15 	stw	r23,1204(sp)
   4263c:	d8013115 	stw	zero,1220(sp)
   42640:	003af306 	br	41210 <__alt_data_end+0xfffda110>
   42644:	d8812d17 	ldw	r2,1204(sp)
   42648:	15c00017 	ldw	r23,0(r2)
   4264c:	10800104 	addi	r2,r2,4
   42650:	d8812d15 	stw	r2,1204(sp)
   42654:	b82dd7fa 	srai	r22,r23,31
   42658:	b005883a 	mov	r2,r22
   4265c:	003b4906 	br	41384 <__alt_data_end+0xfffda284>
   42660:	d8c12d17 	ldw	r3,1204(sp)
   42664:	002d883a 	mov	r22,zero
   42668:	1dc00017 	ldw	r23,0(r3)
   4266c:	18c00104 	addi	r3,r3,4
   42670:	d8c12d15 	stw	r3,1204(sp)
   42674:	b805883a 	mov	r2,r23
   42678:	00c00044 	movi	r3,1
   4267c:	d8012585 	stb	zero,1174(sp)
   42680:	003acf06 	br	411c0 <__alt_data_end+0xfffda0c0>
   42684:	da012d17 	ldw	r8,1204(sp)
   42688:	002d883a 	mov	r22,zero
   4268c:	45c00017 	ldw	r23,0(r8)
   42690:	42000104 	addi	r8,r8,4
   42694:	da012d15 	stw	r8,1204(sp)
   42698:	003be506 	br	41630 <__alt_data_end+0xfffda530>
   4269c:	da012d17 	ldw	r8,1204(sp)
   426a0:	002d883a 	mov	r22,zero
   426a4:	0007883a 	mov	r3,zero
   426a8:	45c00017 	ldw	r23,0(r8)
   426ac:	42000104 	addi	r8,r8,4
   426b0:	da012d15 	stw	r8,1204(sp)
   426b4:	b805883a 	mov	r2,r23
   426b8:	d8012585 	stb	zero,1174(sp)
   426bc:	003ac006 	br	411c0 <__alt_data_end+0xfffda0c0>
   426c0:	d8c12d17 	ldw	r3,1204(sp)
   426c4:	d9012c17 	ldw	r4,1200(sp)
   426c8:	18800017 	ldw	r2,0(r3)
   426cc:	18c00104 	addi	r3,r3,4
   426d0:	d8c12d15 	stw	r3,1204(sp)
   426d4:	11000015 	stw	r4,0(r2)
   426d8:	003a1806 	br	40f3c <__alt_data_end+0xfffd9e3c>
   426dc:	073fffc4 	movi	fp,-1
   426e0:	202b883a 	mov	r21,r4
   426e4:	003a3e06 	br	40fe0 <__alt_data_end+0xfffd9ee0>
   426e8:	008011c4 	movi	r2,71
   426ec:	14809016 	blt	r2,r18,42930 <___vfprintf_internal_r+0x1acc>
   426f0:	04c00174 	movhi	r19,5
   426f4:	9cf0c504 	addi	r19,r19,-15596
   426f8:	00c000c4 	movi	r3,3
   426fc:	00bfdfc4 	movi	r2,-129
   42700:	80a0703a 	and	r16,r16,r2
   42704:	d8c12815 	stw	r3,1184(sp)
   42708:	d8812583 	ldbu	r2,1174(sp)
   4270c:	d8c12b15 	stw	r3,1196(sp)
   42710:	d8013115 	stw	zero,1220(sp)
   42714:	003abe06 	br	41210 <__alt_data_end+0xfffda110>
   42718:	d9412917 	ldw	r5,1188(sp)
   4271c:	8809883a 	mov	r4,r17
   42720:	d9811b04 	addi	r6,sp,1132
   42724:	0040e300 	call	40e30 <__sprint_r>
   42728:	103b611e 	bne	r2,zero,414b0 <__alt_data_end+0xfffda3b0>
   4272c:	dc812417 	ldw	r18,1168(sp)
   42730:	da011d17 	ldw	r8,1140(sp)
   42734:	da400404 	addi	r9,sp,16
   42738:	003f3506 	br	42410 <__alt_data_end+0xfffdb310>
   4273c:	ad400044 	addi	r21,r21,1
   42740:	84000814 	ori	r16,r16,32
   42744:	14800047 	ldb	r18,1(r2)
   42748:	003a2406 	br	40fdc <__alt_data_end+0xfffd9edc>
   4274c:	d9412917 	ldw	r5,1188(sp)
   42750:	8809883a 	mov	r4,r17
   42754:	d9811b04 	addi	r6,sp,1132
   42758:	0040e300 	call	40e30 <__sprint_r>
   4275c:	103b541e 	bne	r2,zero,414b0 <__alt_data_end+0xfffda3b0>
   42760:	da011d17 	ldw	r8,1140(sp)
   42764:	da400404 	addi	r9,sp,16
   42768:	003d4a06 	br	41c94 <__alt_data_end+0xfffdab94>
   4276c:	4d000015 	stw	r20,0(r9)
   42770:	4c800115 	stw	r18,4(r9)
   42774:	4491883a 	add	r8,r8,r18
   42778:	18c00044 	addi	r3,r3,1
   4277c:	da011d15 	stw	r8,1140(sp)
   42780:	d8c11c15 	stw	r3,1136(sp)
   42784:	008001c4 	movi	r2,7
   42788:	10fcdc16 	blt	r2,r3,41afc <__alt_data_end+0xfffda9fc>
   4278c:	4a400204 	addi	r9,r9,8
   42790:	003ce106 	br	41b18 <__alt_data_end+0xfffdaa18>
   42794:	da413c15 	stw	r9,1264(sp)
   42798:	0040da40 	call	40da4 <strlen>
   4279c:	d8812b15 	stw	r2,1196(sp)
   427a0:	d8812815 	stw	r2,1184(sp)
   427a4:	da413c17 	ldw	r9,1264(sp)
   427a8:	103fa20e 	bge	r2,zero,42634 <__alt_data_end+0xfffdb534>
   427ac:	d8012815 	stw	zero,1184(sp)
   427b0:	003fa006 	br	42634 <__alt_data_end+0xfffdb534>
   427b4:	d9412917 	ldw	r5,1188(sp)
   427b8:	8809883a 	mov	r4,r17
   427bc:	d9811b04 	addi	r6,sp,1132
   427c0:	0040e300 	call	40e30 <__sprint_r>
   427c4:	103b3a1e 	bne	r2,zero,414b0 <__alt_data_end+0xfffda3b0>
   427c8:	da011d17 	ldw	r8,1140(sp)
   427cc:	d8c11c17 	ldw	r3,1136(sp)
   427d0:	da400404 	addi	r9,sp,16
   427d4:	d8813217 	ldw	r2,1224(sp)
   427d8:	4cc00015 	stw	r19,0(r9)
   427dc:	48800115 	stw	r2,4(r9)
   427e0:	4091883a 	add	r8,r8,r2
   427e4:	003c8106 	br	419ec <__alt_data_end+0xfffda8ec>
   427e8:	00800b44 	movi	r2,45
   427ec:	d8812585 	stb	r2,1174(sp)
   427f0:	003be306 	br	41780 <__alt_data_end+0xfffda680>
   427f4:	4d000015 	stw	r20,0(r9)
   427f8:	4c800115 	stw	r18,4(r9)
   427fc:	4491883a 	add	r8,r8,r18
   42800:	18c00044 	addi	r3,r3,1
   42804:	da011d15 	stw	r8,1140(sp)
   42808:	d8c11c15 	stw	r3,1136(sp)
   4280c:	008001c4 	movi	r2,7
   42810:	10ffe816 	blt	r2,r3,427b4 <__alt_data_end+0xfffdb6b4>
   42814:	4a400204 	addi	r9,r9,8
   42818:	003fee06 	br	427d4 <__alt_data_end+0xfffdb6d4>
   4281c:	df012b15 	stw	fp,1196(sp)
   42820:	00800184 	movi	r2,6
   42824:	1700072e 	bgeu	r2,fp,42844 <___vfprintf_internal_r+0x19e0>
   42828:	d8812b15 	stw	r2,1196(sp)
   4282c:	d8812815 	stw	r2,1184(sp)
   42830:	ddc12d15 	stw	r23,1204(sp)
   42834:	04c00174 	movhi	r19,5
   42838:	9cf0d104 	addi	r19,r19,-15548
   4283c:	d8013115 	stw	zero,1220(sp)
   42840:	003a7a06 	br	4122c <__alt_data_end+0xfffda12c>
   42844:	d8812b17 	ldw	r2,1196(sp)
   42848:	d8812815 	stw	r2,1184(sp)
   4284c:	103ff80e 	bge	r2,zero,42830 <__alt_data_end+0xfffdb730>
   42850:	d8012815 	stw	zero,1184(sp)
   42854:	003ff606 	br	42830 <__alt_data_end+0xfffdb730>
   42858:	d9012d17 	ldw	r4,1204(sp)
   4285c:	da012c17 	ldw	r8,1200(sp)
   42860:	20800017 	ldw	r2,0(r4)
   42864:	21000104 	addi	r4,r4,4
   42868:	d9012d15 	stw	r4,1204(sp)
   4286c:	12000015 	stw	r8,0(r2)
   42870:	0039b206 	br	40f3c <__alt_data_end+0xfffd9e3c>
   42874:	d9412917 	ldw	r5,1188(sp)
   42878:	8809883a 	mov	r4,r17
   4287c:	d9811b04 	addi	r6,sp,1132
   42880:	0040e300 	call	40e30 <__sprint_r>
   42884:	103b0a1e 	bne	r2,zero,414b0 <__alt_data_end+0xfffda3b0>
   42888:	dc812417 	ldw	r18,1168(sp)
   4288c:	da011d17 	ldw	r8,1140(sp)
   42890:	da400404 	addi	r9,sp,16
   42894:	003def06 	br	42054 <__alt_data_end+0xfffdaf54>
   42898:	d9412917 	ldw	r5,1188(sp)
   4289c:	8809883a 	mov	r4,r17
   428a0:	d9811b04 	addi	r6,sp,1132
   428a4:	0040e300 	call	40e30 <__sprint_r>
   428a8:	103b011e 	bne	r2,zero,414b0 <__alt_data_end+0xfffda3b0>
   428ac:	dc812417 	ldw	r18,1168(sp)
   428b0:	da400404 	addi	r9,sp,16
   428b4:	003eb906 	br	4239c <__alt_data_end+0xfffdb29c>
   428b8:	d9412917 	ldw	r5,1188(sp)
   428bc:	8809883a 	mov	r4,r17
   428c0:	d9811b04 	addi	r6,sp,1132
   428c4:	0040e300 	call	40e30 <__sprint_r>
   428c8:	103af91e 	bne	r2,zero,414b0 <__alt_data_end+0xfffda3b0>
   428cc:	dc812417 	ldw	r18,1168(sp)
   428d0:	da011d17 	ldw	r8,1140(sp)
   428d4:	d8c11c17 	ldw	r3,1136(sp)
   428d8:	da400404 	addi	r9,sp,16
   428dc:	003ea306 	br	4236c <__alt_data_end+0xfffdb26c>
   428e0:	00800244 	movi	r2,9
   428e4:	15fda636 	bltu	r2,r23,41f80 <__alt_data_end+0xfffdae80>
   428e8:	dd010e04 	addi	r20,sp,1080
   428ec:	003dc206 	br	41ff8 <__alt_data_end+0xfffdaef8>
   428f0:	df012815 	stw	fp,1184(sp)
   428f4:	d8812583 	ldbu	r2,1174(sp)
   428f8:	df012b15 	stw	fp,1196(sp)
   428fc:	ddc12d15 	stw	r23,1204(sp)
   42900:	d8013115 	stw	zero,1220(sp)
   42904:	003a4206 	br	41210 <__alt_data_end+0xfffda110>
   42908:	d9412917 	ldw	r5,1188(sp)
   4290c:	8809883a 	mov	r4,r17
   42910:	d9811b04 	addi	r6,sp,1132
   42914:	0040e300 	call	40e30 <__sprint_r>
   42918:	103ae51e 	bne	r2,zero,414b0 <__alt_data_end+0xfffda3b0>
   4291c:	dc812417 	ldw	r18,1168(sp)
   42920:	da011d17 	ldw	r8,1140(sp)
   42924:	d8c11c17 	ldw	r3,1136(sp)
   42928:	da400404 	addi	r9,sp,16
   4292c:	003ec906 	br	42454 <__alt_data_end+0xfffdb354>
   42930:	04c00174 	movhi	r19,5
   42934:	9cf0c604 	addi	r19,r19,-15592
   42938:	003f6f06 	br	426f8 <__alt_data_end+0xfffdb5f8>
   4293c:	d8812583 	ldbu	r2,1174(sp)
   42940:	dc012a17 	ldw	r16,1192(sp)
   42944:	d8013115 	stw	zero,1220(sp)
   42948:	003a3106 	br	41210 <__alt_data_end+0xfffda110>
   4294c:	d8812404 	addi	r2,sp,1168
   42950:	d8800115 	stw	r2,4(sp)
   42954:	d8812304 	addi	r2,sp,1164
   42958:	d8800215 	stw	r2,8(sp)
   4295c:	d8812204 	addi	r2,sp,1160
   42960:	df000015 	stw	fp,0(sp)
   42964:	d8800315 	stw	r2,12(sp)
   42968:	8809883a 	mov	r4,r17
   4296c:	b00b883a 	mov	r5,r22
   42970:	a00d883a 	mov	r6,r20
   42974:	01c000c4 	movi	r7,3
   42978:	da413c15 	stw	r9,1264(sp)
   4297c:	0042ffc0 	call	42ffc <_dtoa_r>
   42980:	da413c17 	ldw	r9,1264(sp)
   42984:	1027883a 	mov	r19,r2
   42988:	1707883a 	add	r3,r2,fp
   4298c:	e02f883a 	mov	r23,fp
   42990:	99000007 	ldb	r4,0(r19)
   42994:	00800c04 	movi	r2,48
   42998:	20800326 	beq	r4,r2,429a8 <___vfprintf_internal_r+0x1b44>
   4299c:	da812417 	ldw	r10,1168(sp)
   429a0:	1a87883a 	add	r3,r3,r10
   429a4:	003ef406 	br	42578 <__alt_data_end+0xfffdb478>
   429a8:	b009883a 	mov	r4,r22
   429ac:	a00b883a 	mov	r5,r20
   429b0:	000d883a 	mov	r6,zero
   429b4:	000f883a 	mov	r7,zero
   429b8:	d8c13b15 	stw	r3,1260(sp)
   429bc:	da413c15 	stw	r9,1264(sp)
   429c0:	00492c00 	call	492c0 <__nedf2>
   429c4:	d8c13b17 	ldw	r3,1260(sp)
   429c8:	da413c17 	ldw	r9,1264(sp)
   429cc:	103ff326 	beq	r2,zero,4299c <__alt_data_end+0xfffdb89c>
   429d0:	00800044 	movi	r2,1
   429d4:	15d5c83a 	sub	r10,r2,r23
   429d8:	da812415 	stw	r10,1168(sp)
   429dc:	1a87883a 	add	r3,r3,r10
   429e0:	003ee506 	br	42578 <__alt_data_end+0xfffdb478>
   429e4:	d8812417 	ldw	r2,1168(sp)
   429e8:	d8812b15 	stw	r2,1196(sp)
   429ec:	1029883a 	mov	r20,r2
   429f0:	00bfff44 	movi	r2,-3
   429f4:	a0800116 	blt	r20,r2,429fc <___vfprintf_internal_r+0x1b98>
   429f8:	e5001d0e 	bge	fp,r20,42a70 <___vfprintf_internal_r+0x1c0c>
   429fc:	94bfff84 	addi	r18,r18,-2
   42a00:	a53fffc4 	addi	r20,r20,-1
   42a04:	dd012415 	stw	r20,1168(sp)
   42a08:	dc811fc5 	stb	r18,1151(sp)
   42a0c:	a0007816 	blt	r20,zero,42bf0 <___vfprintf_internal_r+0x1d8c>
   42a10:	00800ac4 	movi	r2,43
   42a14:	d8812005 	stb	r2,1152(sp)
   42a18:	00800244 	movi	r2,9
   42a1c:	15002b16 	blt	r2,r20,42acc <___vfprintf_internal_r+0x1c68>
   42a20:	00800c04 	movi	r2,48
   42a24:	a5000c04 	addi	r20,r20,48
   42a28:	d8812045 	stb	r2,1153(sp)
   42a2c:	dd012085 	stb	r20,1154(sp)
   42a30:	d8c120c4 	addi	r3,sp,1155
   42a34:	d8811fc4 	addi	r2,sp,1151
   42a38:	da013217 	ldw	r8,1224(sp)
   42a3c:	1885c83a 	sub	r2,r3,r2
   42a40:	d8813515 	stw	r2,1236(sp)
   42a44:	4085883a 	add	r2,r8,r2
   42a48:	d8812b15 	stw	r2,1196(sp)
   42a4c:	00800044 	movi	r2,1
   42a50:	1200610e 	bge	r2,r8,42bd8 <___vfprintf_internal_r+0x1d74>
   42a54:	d8812b17 	ldw	r2,1196(sp)
   42a58:	10800044 	addi	r2,r2,1
   42a5c:	d8812b15 	stw	r2,1196(sp)
   42a60:	d8812815 	stw	r2,1184(sp)
   42a64:	103ee90e 	bge	r2,zero,4260c <__alt_data_end+0xfffdb50c>
   42a68:	d8012815 	stw	zero,1184(sp)
   42a6c:	003ee706 	br	4260c <__alt_data_end+0xfffdb50c>
   42a70:	d8812b17 	ldw	r2,1196(sp)
   42a74:	da013217 	ldw	r8,1224(sp)
   42a78:	12003716 	blt	r2,r8,42b58 <___vfprintf_internal_r+0x1cf4>
   42a7c:	8400004c 	andi	r16,r16,1
   42a80:	80000326 	beq	r16,zero,42a90 <___vfprintf_internal_r+0x1c2c>
   42a84:	d8812b17 	ldw	r2,1196(sp)
   42a88:	10800044 	addi	r2,r2,1
   42a8c:	d8812b15 	stw	r2,1196(sp)
   42a90:	d8812815 	stw	r2,1184(sp)
   42a94:	10003716 	blt	r2,zero,42b74 <___vfprintf_internal_r+0x1d10>
   42a98:	048019c4 	movi	r18,103
   42a9c:	003edb06 	br	4260c <__alt_data_end+0xfffdb50c>
   42aa0:	d8012815 	stw	zero,1184(sp)
   42aa4:	003b6906 	br	4184c <__alt_data_end+0xfffda74c>
   42aa8:	e03e901e 	bne	fp,zero,424ec <__alt_data_end+0xfffdb3ec>
   42aac:	07000044 	movi	fp,1
   42ab0:	003e8e06 	br	424ec <__alt_data_end+0xfffdb3ec>
   42ab4:	07000184 	movi	fp,6
   42ab8:	003e8c06 	br	424ec <__alt_data_end+0xfffdb3ec>
   42abc:	00c00b44 	movi	r3,45
   42ac0:	a520003c 	xorhi	r20,r20,32768
   42ac4:	d8c12f05 	stb	r3,1212(sp)
   42ac8:	003e8c06 	br	424fc <__alt_data_end+0xfffdb3fc>
   42acc:	d8c11f84 	addi	r3,sp,1150
   42ad0:	102f883a 	mov	r23,r2
   42ad4:	4839883a 	mov	fp,r9
   42ad8:	a009883a 	mov	r4,r20
   42adc:	01400284 	movi	r5,10
   42ae0:	182d883a 	mov	r22,r3
   42ae4:	00497b80 	call	497b8 <__modsi3>
   42ae8:	10800c04 	addi	r2,r2,48
   42aec:	a009883a 	mov	r4,r20
   42af0:	b0800005 	stb	r2,0(r22)
   42af4:	01400284 	movi	r5,10
   42af8:	00497680 	call	49768 <__divsi3>
   42afc:	1029883a 	mov	r20,r2
   42b00:	b0ffffc4 	addi	r3,r22,-1
   42b04:	b8bff416 	blt	r23,r2,42ad8 <__alt_data_end+0xfffdb9d8>
   42b08:	11400c04 	addi	r5,r2,48
   42b0c:	b17fffc5 	stb	r5,-1(r22)
   42b10:	d8811fc4 	addi	r2,sp,1151
   42b14:	e013883a 	mov	r9,fp
   42b18:	1880482e 	bgeu	r3,r2,42c3c <___vfprintf_internal_r+0x1dd8>
   42b1c:	b007883a 	mov	r3,r22
   42b20:	d9012044 	addi	r4,sp,1153
   42b24:	00000206 	br	42b30 <___vfprintf_internal_r+0x1ccc>
   42b28:	19400003 	ldbu	r5,0(r3)
   42b2c:	18c00044 	addi	r3,r3,1
   42b30:	21400005 	stb	r5,0(r4)
   42b34:	21000044 	addi	r4,r4,1
   42b38:	10fffb1e 	bne	r2,r3,42b28 <__alt_data_end+0xfffdba28>
   42b3c:	d8c12004 	addi	r3,sp,1152
   42b40:	1d87c83a 	sub	r3,r3,r22
   42b44:	d9012044 	addi	r4,sp,1153
   42b48:	20c7883a 	add	r3,r4,r3
   42b4c:	003fba06 	br	42a38 <__alt_data_end+0xfffdb938>
   42b50:	d8c12217 	ldw	r3,1160(sp)
   42b54:	003e9906 	br	425bc <__alt_data_end+0xfffdb4bc>
   42b58:	05000b0e 	bge	zero,r20,42b88 <___vfprintf_internal_r+0x1d24>
   42b5c:	05000044 	movi	r20,1
   42b60:	da013217 	ldw	r8,1224(sp)
   42b64:	a229883a 	add	r20,r20,r8
   42b68:	dd012b15 	stw	r20,1196(sp)
   42b6c:	dd012815 	stw	r20,1184(sp)
   42b70:	a03fc90e 	bge	r20,zero,42a98 <__alt_data_end+0xfffdb998>
   42b74:	d8012815 	stw	zero,1184(sp)
   42b78:	048019c4 	movi	r18,103
   42b7c:	003ea306 	br	4260c <__alt_data_end+0xfffdb50c>
   42b80:	e5c00044 	addi	r23,fp,1
   42b84:	003e6606 	br	42520 <__alt_data_end+0xfffdb420>
   42b88:	00800084 	movi	r2,2
   42b8c:	1529c83a 	sub	r20,r2,r20
   42b90:	003ff306 	br	42b60 <__alt_data_end+0xfffdba60>
   42b94:	008011c4 	movi	r2,71
   42b98:	90be7226 	beq	r18,r2,42564 <__alt_data_end+0xfffdb464>
   42b9c:	003e7306 	br	4256c <__alt_data_end+0xfffdb46c>
   42ba0:	d8812d17 	ldw	r2,1204(sp)
   42ba4:	ac800043 	ldbu	r18,1(r21)
   42ba8:	202b883a 	mov	r21,r4
   42bac:	17000017 	ldw	fp,0(r2)
   42bb0:	10800104 	addi	r2,r2,4
   42bb4:	d8812d15 	stw	r2,1204(sp)
   42bb8:	e0001b16 	blt	fp,zero,42c28 <___vfprintf_internal_r+0x1dc4>
   42bbc:	94803fcc 	andi	r18,r18,255
   42bc0:	9480201c 	xori	r18,r18,128
   42bc4:	94bfe004 	addi	r18,r18,-128
   42bc8:	00390406 	br	40fdc <__alt_data_end+0xfffd9edc>
   42bcc:	00bfffc4 	movi	r2,-1
   42bd0:	d8812c15 	stw	r2,1200(sp)
   42bd4:	003a2506 	br	4146c <__alt_data_end+0xfffda36c>
   42bd8:	80a0703a 	and	r16,r16,r2
   42bdc:	803f9d1e 	bne	r16,zero,42a54 <__alt_data_end+0xfffdb954>
   42be0:	d8812b17 	ldw	r2,1196(sp)
   42be4:	d8812815 	stw	r2,1184(sp)
   42be8:	103e880e 	bge	r2,zero,4260c <__alt_data_end+0xfffdb50c>
   42bec:	003f9e06 	br	42a68 <__alt_data_end+0xfffdb968>
   42bf0:	00800b44 	movi	r2,45
   42bf4:	0529c83a 	sub	r20,zero,r20
   42bf8:	d8812005 	stb	r2,1152(sp)
   42bfc:	003f8606 	br	42a18 <__alt_data_end+0xfffdb918>
   42c00:	1007883a 	mov	r3,r2
   42c04:	003e6d06 	br	425bc <__alt_data_end+0xfffdb4bc>
   42c08:	e000021e 	bne	fp,zero,42c14 <___vfprintf_internal_r+0x1db0>
   42c0c:	8400004c 	andi	r16,r16,1
   42c10:	80000e26 	beq	r16,zero,42c4c <___vfprintf_internal_r+0x1de8>
   42c14:	e7000084 	addi	fp,fp,2
   42c18:	df012b15 	stw	fp,1196(sp)
   42c1c:	df012815 	stw	fp,1184(sp)
   42c20:	e03e7a0e 	bge	fp,zero,4260c <__alt_data_end+0xfffdb50c>
   42c24:	003f9006 	br	42a68 <__alt_data_end+0xfffdb968>
   42c28:	94803fcc 	andi	r18,r18,255
   42c2c:	9480201c 	xori	r18,r18,128
   42c30:	073fffc4 	movi	fp,-1
   42c34:	94bfe004 	addi	r18,r18,-128
   42c38:	0038e806 	br	40fdc <__alt_data_end+0xfffd9edc>
   42c3c:	d8c12044 	addi	r3,sp,1153
   42c40:	003f7d06 	br	42a38 <__alt_data_end+0xfffdb938>
   42c44:	dd012417 	ldw	r20,1168(sp)
   42c48:	003f6d06 	br	42a00 <__alt_data_end+0xfffdb900>
   42c4c:	00c00044 	movi	r3,1
   42c50:	d8c12815 	stw	r3,1184(sp)
   42c54:	d8c12b15 	stw	r3,1196(sp)
   42c58:	003e6c06 	br	4260c <__alt_data_end+0xfffdb50c>

00042c5c <__vfprintf_internal>:
   42c5c:	00800174 	movhi	r2,5
   42c60:	10b7cd04 	addi	r2,r2,-8396
   42c64:	2007883a 	mov	r3,r4
   42c68:	11000017 	ldw	r4,0(r2)
   42c6c:	2805883a 	mov	r2,r5
   42c70:	300f883a 	mov	r7,r6
   42c74:	180b883a 	mov	r5,r3
   42c78:	100d883a 	mov	r6,r2
   42c7c:	0040e641 	jmpi	40e64 <___vfprintf_internal_r>

00042c80 <__swsetup_r>:
   42c80:	00800174 	movhi	r2,5
   42c84:	10b7cd04 	addi	r2,r2,-8396
   42c88:	10800017 	ldw	r2,0(r2)
   42c8c:	defffd04 	addi	sp,sp,-12
   42c90:	dc400115 	stw	r17,4(sp)
   42c94:	dc000015 	stw	r16,0(sp)
   42c98:	dfc00215 	stw	ra,8(sp)
   42c9c:	2023883a 	mov	r17,r4
   42ca0:	2821883a 	mov	r16,r5
   42ca4:	10000226 	beq	r2,zero,42cb0 <__swsetup_r+0x30>
   42ca8:	10c00e17 	ldw	r3,56(r2)
   42cac:	18003d26 	beq	r3,zero,42da4 <__swsetup_r+0x124>
   42cb0:	8080030b 	ldhu	r2,12(r16)
   42cb4:	10c0020c 	andi	r3,r2,8
   42cb8:	18ffffcc 	andi	r3,r3,65535
   42cbc:	18e0001c 	xori	r3,r3,32768
   42cc0:	18e00004 	addi	r3,r3,-32768
   42cc4:	18001226 	beq	r3,zero,42d10 <__swsetup_r+0x90>
   42cc8:	80c00417 	ldw	r3,16(r16)
   42ccc:	18001f26 	beq	r3,zero,42d4c <__swsetup_r+0xcc>
   42cd0:	1100004c 	andi	r4,r2,1
   42cd4:	2000261e 	bne	r4,zero,42d70 <__swsetup_r+0xf0>
   42cd8:	1080008c 	andi	r2,r2,2
   42cdc:	10bfffcc 	andi	r2,r2,65535
   42ce0:	10a0001c 	xori	r2,r2,32768
   42ce4:	10a00004 	addi	r2,r2,-32768
   42ce8:	1000311e 	bne	r2,zero,42db0 <__swsetup_r+0x130>
   42cec:	80800517 	ldw	r2,20(r16)
   42cf0:	80800215 	stw	r2,8(r16)
   42cf4:	18002326 	beq	r3,zero,42d84 <__swsetup_r+0x104>
   42cf8:	0005883a 	mov	r2,zero
   42cfc:	dfc00217 	ldw	ra,8(sp)
   42d00:	dc400117 	ldw	r17,4(sp)
   42d04:	dc000017 	ldw	r16,0(sp)
   42d08:	dec00304 	addi	sp,sp,12
   42d0c:	f800283a 	ret
   42d10:	10c0040c 	andi	r3,r2,16
   42d14:	18ffffcc 	andi	r3,r3,65535
   42d18:	18e0001c 	xori	r3,r3,32768
   42d1c:	18e00004 	addi	r3,r3,-32768
   42d20:	18001e26 	beq	r3,zero,42d9c <__swsetup_r+0x11c>
   42d24:	10c0010c 	andi	r3,r2,4
   42d28:	18ffffcc 	andi	r3,r3,65535
   42d2c:	18e0001c 	xori	r3,r3,32768
   42d30:	18e00004 	addi	r3,r3,-32768
   42d34:	1800211e 	bne	r3,zero,42dbc <__swsetup_r+0x13c>
   42d38:	80c00417 	ldw	r3,16(r16)
   42d3c:	11400214 	ori	r5,r2,8
   42d40:	8140030d 	sth	r5,12(r16)
   42d44:	2805883a 	mov	r2,r5
   42d48:	183fe11e 	bne	r3,zero,42cd0 <__alt_data_end+0xfffdbbd0>
   42d4c:	1140a00c 	andi	r5,r2,640
   42d50:	01008004 	movi	r4,512
   42d54:	293fde26 	beq	r5,r4,42cd0 <__alt_data_end+0xfffdbbd0>
   42d58:	8809883a 	mov	r4,r17
   42d5c:	800b883a 	mov	r5,r16
   42d60:	00456340 	call	45634 <__smakebuf_r>
   42d64:	8080030b 	ldhu	r2,12(r16)
   42d68:	80c00417 	ldw	r3,16(r16)
   42d6c:	003fd806 	br	42cd0 <__alt_data_end+0xfffdbbd0>
   42d70:	80800517 	ldw	r2,20(r16)
   42d74:	80000215 	stw	zero,8(r16)
   42d78:	0085c83a 	sub	r2,zero,r2
   42d7c:	80800615 	stw	r2,24(r16)
   42d80:	183fdd1e 	bne	r3,zero,42cf8 <__alt_data_end+0xfffdbbf8>
   42d84:	8080030b 	ldhu	r2,12(r16)
   42d88:	1080200c 	andi	r2,r2,128
   42d8c:	10bfffcc 	andi	r2,r2,65535
   42d90:	10a0001c 	xori	r2,r2,32768
   42d94:	10a00004 	addi	r2,r2,-32768
   42d98:	103fd826 	beq	r2,zero,42cfc <__alt_data_end+0xfffdbbfc>
   42d9c:	00bfffc4 	movi	r2,-1
   42da0:	003fd606 	br	42cfc <__alt_data_end+0xfffdbbfc>
   42da4:	1009883a 	mov	r4,r2
   42da8:	00448c00 	call	448c0 <__sinit>
   42dac:	003fc006 	br	42cb0 <__alt_data_end+0xfffdbbb0>
   42db0:	0005883a 	mov	r2,zero
   42db4:	80800215 	stw	r2,8(r16)
   42db8:	003fce06 	br	42cf4 <__alt_data_end+0xfffdbbf4>
   42dbc:	81400c17 	ldw	r5,48(r16)
   42dc0:	28000626 	beq	r5,zero,42ddc <__swsetup_r+0x15c>
   42dc4:	80c01004 	addi	r3,r16,64
   42dc8:	28c00326 	beq	r5,r3,42dd8 <__swsetup_r+0x158>
   42dcc:	8809883a 	mov	r4,r17
   42dd0:	0044c440 	call	44c44 <_free_r>
   42dd4:	8080030b 	ldhu	r2,12(r16)
   42dd8:	80000c15 	stw	zero,48(r16)
   42ddc:	80c00417 	ldw	r3,16(r16)
   42de0:	013ff6c4 	movi	r4,-37
   42de4:	2084703a 	and	r2,r4,r2
   42de8:	80000115 	stw	zero,4(r16)
   42dec:	80c00015 	stw	r3,0(r16)
   42df0:	003fd206 	br	42d3c <__alt_data_end+0xfffdbc3c>

00042df4 <quorem>:
   42df4:	defff704 	addi	sp,sp,-36
   42df8:	dc400115 	stw	r17,4(sp)
   42dfc:	20800417 	ldw	r2,16(r4)
   42e00:	2c400417 	ldw	r17,16(r5)
   42e04:	dd800615 	stw	r22,24(sp)
   42e08:	dd400515 	stw	r21,20(sp)
   42e0c:	dfc00815 	stw	ra,32(sp)
   42e10:	ddc00715 	stw	r23,28(sp)
   42e14:	dd000415 	stw	r20,16(sp)
   42e18:	dcc00315 	stw	r19,12(sp)
   42e1c:	dc800215 	stw	r18,8(sp)
   42e20:	dc000015 	stw	r16,0(sp)
   42e24:	202b883a 	mov	r21,r4
   42e28:	282d883a 	mov	r22,r5
   42e2c:	14407116 	blt	r2,r17,42ff4 <quorem+0x200>
   42e30:	88800104 	addi	r2,r17,4
   42e34:	1085883a 	add	r2,r2,r2
   42e38:	1085883a 	add	r2,r2,r2
   42e3c:	28a7883a 	add	r19,r5,r2
   42e40:	2085883a 	add	r2,r4,r2
   42e44:	15c00017 	ldw	r23,0(r2)
   42e48:	99400017 	ldw	r5,0(r19)
   42e4c:	8c7fffc4 	addi	r17,r17,-1
   42e50:	b809883a 	mov	r4,r23
   42e54:	29400044 	addi	r5,r5,1
   42e58:	00498140 	call	49814 <__udivsi3>
   42e5c:	1025883a 	mov	r18,r2
   42e60:	b4000504 	addi	r16,r22,20
   42e64:	ad000504 	addi	r20,r21,20
   42e68:	10002d26 	beq	r2,zero,42f20 <quorem+0x12c>
   42e6c:	800d883a 	mov	r6,r16
   42e70:	a007883a 	mov	r3,r20
   42e74:	000f883a 	mov	r7,zero
   42e78:	0005883a 	mov	r2,zero
   42e7c:	32c00017 	ldw	r11,0(r6)
   42e80:	1a400017 	ldw	r9,0(r3)
   42e84:	31800104 	addi	r6,r6,4
   42e88:	5abfffcc 	andi	r10,r11,65535
   42e8c:	5495383a 	mul	r10,r10,r18
   42e90:	5816d43a 	srli	r11,r11,16
   42e94:	4a3fffcc 	andi	r8,r9,65535
   42e98:	3a95883a 	add	r10,r7,r10
   42e9c:	500ed43a 	srli	r7,r10,16
   42ea0:	5c97383a 	mul	r11,r11,r18
   42ea4:	4085883a 	add	r2,r8,r2
   42ea8:	52bfffcc 	andi	r10,r10,65535
   42eac:	1291c83a 	sub	r8,r2,r10
   42eb0:	4804d43a 	srli	r2,r9,16
   42eb4:	3acf883a 	add	r7,r7,r11
   42eb8:	4015d43a 	srai	r10,r8,16
   42ebc:	393fffcc 	andi	r4,r7,65535
   42ec0:	1105c83a 	sub	r2,r2,r4
   42ec4:	1285883a 	add	r2,r2,r10
   42ec8:	1880008d 	sth	r2,2(r3)
   42ecc:	1a00000d 	sth	r8,0(r3)
   42ed0:	380ed43a 	srli	r7,r7,16
   42ed4:	1005d43a 	srai	r2,r2,16
   42ed8:	18c00104 	addi	r3,r3,4
   42edc:	99bfe72e 	bgeu	r19,r6,42e7c <__alt_data_end+0xfffdbd7c>
   42ee0:	b8000f1e 	bne	r23,zero,42f20 <quorem+0x12c>
   42ee4:	88800144 	addi	r2,r17,5
   42ee8:	1085883a 	add	r2,r2,r2
   42eec:	1085883a 	add	r2,r2,r2
   42ef0:	a887883a 	add	r3,r21,r2
   42ef4:	18bfff04 	addi	r2,r3,-4
   42ef8:	a080082e 	bgeu	r20,r2,42f1c <quorem+0x128>
   42efc:	18ffff17 	ldw	r3,-4(r3)
   42f00:	18000326 	beq	r3,zero,42f10 <quorem+0x11c>
   42f04:	00000506 	br	42f1c <quorem+0x128>
   42f08:	10c00017 	ldw	r3,0(r2)
   42f0c:	1800031e 	bne	r3,zero,42f1c <quorem+0x128>
   42f10:	10bfff04 	addi	r2,r2,-4
   42f14:	8c7fffc4 	addi	r17,r17,-1
   42f18:	a0bffb36 	bltu	r20,r2,42f08 <__alt_data_end+0xfffdbe08>
   42f1c:	ac400415 	stw	r17,16(r21)
   42f20:	a809883a 	mov	r4,r21
   42f24:	b00b883a 	mov	r5,r22
   42f28:	0046bf80 	call	46bf8 <__mcmp>
   42f2c:	10002516 	blt	r2,zero,42fc4 <quorem+0x1d0>
   42f30:	94800044 	addi	r18,r18,1
   42f34:	a007883a 	mov	r3,r20
   42f38:	000b883a 	mov	r5,zero
   42f3c:	1a000017 	ldw	r8,0(r3)
   42f40:	81c00017 	ldw	r7,0(r16)
   42f44:	84000104 	addi	r16,r16,4
   42f48:	41bfffcc 	andi	r6,r8,65535
   42f4c:	38bfffcc 	andi	r2,r7,65535
   42f50:	314b883a 	add	r5,r6,r5
   42f54:	288dc83a 	sub	r6,r5,r2
   42f58:	380ed43a 	srli	r7,r7,16
   42f5c:	400ad43a 	srli	r5,r8,16
   42f60:	3005d43a 	srai	r2,r6,16
   42f64:	1980000d 	sth	r6,0(r3)
   42f68:	29cbc83a 	sub	r5,r5,r7
   42f6c:	288b883a 	add	r5,r5,r2
   42f70:	1940008d 	sth	r5,2(r3)
   42f74:	280bd43a 	srai	r5,r5,16
   42f78:	18c00104 	addi	r3,r3,4
   42f7c:	9c3fef2e 	bgeu	r19,r16,42f3c <__alt_data_end+0xfffdbe3c>
   42f80:	88800144 	addi	r2,r17,5
   42f84:	1085883a 	add	r2,r2,r2
   42f88:	1085883a 	add	r2,r2,r2
   42f8c:	a885883a 	add	r2,r21,r2
   42f90:	10c00017 	ldw	r3,0(r2)
   42f94:	18000b1e 	bne	r3,zero,42fc4 <quorem+0x1d0>
   42f98:	10ffff04 	addi	r3,r2,-4
   42f9c:	a0c0082e 	bgeu	r20,r3,42fc0 <quorem+0x1cc>
   42fa0:	10bfff17 	ldw	r2,-4(r2)
   42fa4:	10000326 	beq	r2,zero,42fb4 <quorem+0x1c0>
   42fa8:	00000506 	br	42fc0 <quorem+0x1cc>
   42fac:	18800017 	ldw	r2,0(r3)
   42fb0:	1000031e 	bne	r2,zero,42fc0 <quorem+0x1cc>
   42fb4:	18ffff04 	addi	r3,r3,-4
   42fb8:	8c7fffc4 	addi	r17,r17,-1
   42fbc:	a0fffb36 	bltu	r20,r3,42fac <__alt_data_end+0xfffdbeac>
   42fc0:	ac400415 	stw	r17,16(r21)
   42fc4:	9005883a 	mov	r2,r18
   42fc8:	dfc00817 	ldw	ra,32(sp)
   42fcc:	ddc00717 	ldw	r23,28(sp)
   42fd0:	dd800617 	ldw	r22,24(sp)
   42fd4:	dd400517 	ldw	r21,20(sp)
   42fd8:	dd000417 	ldw	r20,16(sp)
   42fdc:	dcc00317 	ldw	r19,12(sp)
   42fe0:	dc800217 	ldw	r18,8(sp)
   42fe4:	dc400117 	ldw	r17,4(sp)
   42fe8:	dc000017 	ldw	r16,0(sp)
   42fec:	dec00904 	addi	sp,sp,36
   42ff0:	f800283a 	ret
   42ff4:	0005883a 	mov	r2,zero
   42ff8:	003ff306 	br	42fc8 <__alt_data_end+0xfffdbec8>

00042ffc <_dtoa_r>:
   42ffc:	20801017 	ldw	r2,64(r4)
   43000:	deffdf04 	addi	sp,sp,-132
   43004:	dcc01a15 	stw	r19,104(sp)
   43008:	dc801915 	stw	r18,100(sp)
   4300c:	dc401815 	stw	r17,96(sp)
   43010:	dc001715 	stw	r16,92(sp)
   43014:	dfc02015 	stw	ra,128(sp)
   43018:	df001f15 	stw	fp,124(sp)
   4301c:	ddc01e15 	stw	r23,120(sp)
   43020:	dd801d15 	stw	r22,116(sp)
   43024:	dd401c15 	stw	r21,112(sp)
   43028:	dd001b15 	stw	r20,108(sp)
   4302c:	d9400315 	stw	r5,12(sp)
   43030:	d9c00415 	stw	r7,16(sp)
   43034:	2021883a 	mov	r16,r4
   43038:	3025883a 	mov	r18,r6
   4303c:	dcc02317 	ldw	r19,140(sp)
   43040:	3023883a 	mov	r17,r6
   43044:	10000826 	beq	r2,zero,43068 <_dtoa_r+0x6c>
   43048:	20c01117 	ldw	r3,68(r4)
   4304c:	01800044 	movi	r6,1
   43050:	100b883a 	mov	r5,r2
   43054:	30cc983a 	sll	r6,r6,r3
   43058:	10c00115 	stw	r3,4(r2)
   4305c:	11800215 	stw	r6,8(r2)
   43060:	00463fc0 	call	463fc <_Bfree>
   43064:	80001015 	stw	zero,64(r16)
   43068:	90002f16 	blt	r18,zero,43128 <_dtoa_r+0x12c>
   4306c:	98000015 	stw	zero,0(r19)
   43070:	90dffc2c 	andhi	r3,r18,32752
   43074:	009ffc34 	movhi	r2,32752
   43078:	18801c26 	beq	r3,r2,430ec <_dtoa_r+0xf0>
   4307c:	d9000317 	ldw	r4,12(sp)
   43080:	880b883a 	mov	r5,r17
   43084:	000d883a 	mov	r6,zero
   43088:	000f883a 	mov	r7,zero
   4308c:	00492c00 	call	492c0 <__nedf2>
   43090:	10002c1e 	bne	r2,zero,43144 <_dtoa_r+0x148>
   43094:	d9002217 	ldw	r4,136(sp)
   43098:	d9c02417 	ldw	r7,144(sp)
   4309c:	00800044 	movi	r2,1
   430a0:	20800015 	stw	r2,0(r4)
   430a4:	38019426 	beq	r7,zero,436f8 <_dtoa_r+0x6fc>
   430a8:	00800174 	movhi	r2,5
   430ac:	10b0d344 	addi	r2,r2,-15539
   430b0:	38800015 	stw	r2,0(r7)
   430b4:	15ffffc4 	addi	r23,r2,-1
   430b8:	b805883a 	mov	r2,r23
   430bc:	dfc02017 	ldw	ra,128(sp)
   430c0:	df001f17 	ldw	fp,124(sp)
   430c4:	ddc01e17 	ldw	r23,120(sp)
   430c8:	dd801d17 	ldw	r22,116(sp)
   430cc:	dd401c17 	ldw	r21,112(sp)
   430d0:	dd001b17 	ldw	r20,108(sp)
   430d4:	dcc01a17 	ldw	r19,104(sp)
   430d8:	dc801917 	ldw	r18,100(sp)
   430dc:	dc401817 	ldw	r17,96(sp)
   430e0:	dc001717 	ldw	r16,92(sp)
   430e4:	dec02104 	addi	sp,sp,132
   430e8:	f800283a 	ret
   430ec:	d8c02217 	ldw	r3,136(sp)
   430f0:	d9000317 	ldw	r4,12(sp)
   430f4:	0089c3c4 	movi	r2,9999
   430f8:	18800015 	stw	r2,0(r3)
   430fc:	20016c26 	beq	r4,zero,436b0 <_dtoa_r+0x6b4>
   43100:	05c00174 	movhi	r23,5
   43104:	bdf0df04 	addi	r23,r23,-15492
   43108:	d9c02417 	ldw	r7,144(sp)
   4310c:	383fea26 	beq	r7,zero,430b8 <__alt_data_end+0xfffdbfb8>
   43110:	b88000c7 	ldb	r2,3(r23)
   43114:	10016d1e 	bne	r2,zero,436cc <_dtoa_r+0x6d0>
   43118:	b88000c4 	addi	r2,r23,3
   4311c:	d8c02417 	ldw	r3,144(sp)
   43120:	18800015 	stw	r2,0(r3)
   43124:	003fe406 	br	430b8 <__alt_data_end+0xfffdbfb8>
   43128:	04600034 	movhi	r17,32768
   4312c:	8c7fffc4 	addi	r17,r17,-1
   43130:	9462703a 	and	r17,r18,r17
   43134:	00800044 	movi	r2,1
   43138:	98800015 	stw	r2,0(r19)
   4313c:	8825883a 	mov	r18,r17
   43140:	003fcb06 	br	43070 <__alt_data_end+0xfffdbf70>
   43144:	d9400317 	ldw	r5,12(sp)
   43148:	9028d53a 	srli	r20,r18,20
   4314c:	d8800204 	addi	r2,sp,8
   43150:	d8800015 	stw	r2,0(sp)
   43154:	8009883a 	mov	r4,r16
   43158:	880d883a 	mov	r6,r17
   4315c:	d9c00104 	addi	r7,sp,4
   43160:	0046fa00 	call	46fa0 <__d2b>
   43164:	a501ffcc 	andi	r20,r20,2047
   43168:	1039883a 	mov	fp,r2
   4316c:	a001591e 	bne	r20,zero,436d4 <_dtoa_r+0x6d8>
   43170:	dd400217 	ldw	r21,8(sp)
   43174:	dd000117 	ldw	r20,4(sp)
   43178:	00befbc4 	movi	r2,-1041
   4317c:	ad29883a 	add	r20,r21,r20
   43180:	a082d216 	blt	r20,r2,43ccc <_dtoa_r+0xcd0>
   43184:	d8c00317 	ldw	r3,12(sp)
   43188:	013f0384 	movi	r4,-1010
   4318c:	2509c83a 	sub	r4,r4,r20
   43190:	a0810484 	addi	r2,r20,1042
   43194:	9124983a 	sll	r18,r18,r4
   43198:	1884d83a 	srl	r2,r3,r2
   4319c:	9088b03a 	or	r4,r18,r2
   431a0:	00495d80 	call	495d8 <__floatunsidf>
   431a4:	1009883a 	mov	r4,r2
   431a8:	017f8434 	movhi	r5,65040
   431ac:	00800044 	movi	r2,1
   431b0:	194b883a 	add	r5,r3,r5
   431b4:	a53fffc4 	addi	r20,r20,-1
   431b8:	d8800f15 	stw	r2,60(sp)
   431bc:	000d883a 	mov	r6,zero
   431c0:	01cffe34 	movhi	r7,16376
   431c4:	0048f200 	call	48f20 <__subdf3>
   431c8:	1009883a 	mov	r4,r2
   431cc:	180b883a 	mov	r5,r3
   431d0:	0198dbf4 	movhi	r6,25455
   431d4:	3190d844 	addi	r6,r6,17249
   431d8:	01cff4f4 	movhi	r7,16339
   431dc:	39e1e9c4 	addi	r7,r7,-30809
   431e0:	0048f800 	call	48f80 <__muldf3>
   431e4:	180b883a 	mov	r5,r3
   431e8:	01a2d874 	movhi	r6,35681
   431ec:	31b22cc4 	addi	r6,r6,-14157
   431f0:	01cff1f4 	movhi	r7,16327
   431f4:	39e28a04 	addi	r7,r7,-30168
   431f8:	1009883a 	mov	r4,r2
   431fc:	0048ecc0 	call	48ecc <__adddf3>
   43200:	a009883a 	mov	r4,r20
   43204:	1027883a 	mov	r19,r2
   43208:	1825883a 	mov	r18,r3
   4320c:	00494400 	call	49440 <__floatsidf>
   43210:	1009883a 	mov	r4,r2
   43214:	180b883a 	mov	r5,r3
   43218:	019427f4 	movhi	r6,20639
   4321c:	319e7ec4 	addi	r6,r6,31227
   43220:	01cff4f4 	movhi	r7,16339
   43224:	39d104c4 	addi	r7,r7,17427
   43228:	0048f800 	call	48f80 <__muldf3>
   4322c:	9809883a 	mov	r4,r19
   43230:	900b883a 	mov	r5,r18
   43234:	100d883a 	mov	r6,r2
   43238:	180f883a 	mov	r7,r3
   4323c:	0048ecc0 	call	48ecc <__adddf3>
   43240:	1009883a 	mov	r4,r2
   43244:	180b883a 	mov	r5,r3
   43248:	1027883a 	mov	r19,r2
   4324c:	1825883a 	mov	r18,r3
   43250:	00495140 	call	49514 <__fixdfsi>
   43254:	9809883a 	mov	r4,r19
   43258:	900b883a 	mov	r5,r18
   4325c:	000d883a 	mov	r6,zero
   43260:	000f883a 	mov	r7,zero
   43264:	d8800615 	stw	r2,24(sp)
   43268:	00493e40 	call	493e4 <__ltdf2>
   4326c:	10027e16 	blt	r2,zero,43c68 <_dtoa_r+0xc6c>
   43270:	d8c00617 	ldw	r3,24(sp)
   43274:	00800584 	movi	r2,22
   43278:	10c26c36 	bltu	r2,r3,43c2c <_dtoa_r+0xc30>
   4327c:	180490fa 	slli	r2,r3,3
   43280:	00c00174 	movhi	r3,5
   43284:	18f10504 	addi	r3,r3,-15340
   43288:	d9800317 	ldw	r6,12(sp)
   4328c:	1885883a 	add	r2,r3,r2
   43290:	11000017 	ldw	r4,0(r2)
   43294:	11400117 	ldw	r5,4(r2)
   43298:	880f883a 	mov	r7,r17
   4329c:	004931c0 	call	4931c <__gtdf2>
   432a0:	00828f0e 	bge	zero,r2,43ce0 <_dtoa_r+0xce4>
   432a4:	d8800617 	ldw	r2,24(sp)
   432a8:	d8000d15 	stw	zero,52(sp)
   432ac:	10bfffc4 	addi	r2,r2,-1
   432b0:	d8800615 	stw	r2,24(sp)
   432b4:	ad29c83a 	sub	r20,r21,r20
   432b8:	a53fffc4 	addi	r20,r20,-1
   432bc:	a0026616 	blt	r20,zero,43c58 <_dtoa_r+0xc5c>
   432c0:	dd000715 	stw	r20,28(sp)
   432c4:	d8000815 	stw	zero,32(sp)
   432c8:	d8800617 	ldw	r2,24(sp)
   432cc:	10025a16 	blt	r2,zero,43c38 <_dtoa_r+0xc3c>
   432d0:	d8c00717 	ldw	r3,28(sp)
   432d4:	d8800b15 	stw	r2,44(sp)
   432d8:	d8000a15 	stw	zero,40(sp)
   432dc:	1887883a 	add	r3,r3,r2
   432e0:	d8c00715 	stw	r3,28(sp)
   432e4:	d9c00417 	ldw	r7,16(sp)
   432e8:	00800244 	movi	r2,9
   432ec:	11c10536 	bltu	r2,r7,43704 <_dtoa_r+0x708>
   432f0:	00800144 	movi	r2,5
   432f4:	11c4c60e 	bge	r2,r7,44610 <_dtoa_r+0x1614>
   432f8:	39ffff04 	addi	r7,r7,-4
   432fc:	d9c00415 	stw	r7,16(sp)
   43300:	0027883a 	mov	r19,zero
   43304:	d9c00417 	ldw	r7,16(sp)
   43308:	008000c4 	movi	r2,3
   4330c:	3883a226 	beq	r7,r2,44198 <_dtoa_r+0x119c>
   43310:	11c2bc16 	blt	r2,r7,43e04 <_dtoa_r+0xe08>
   43314:	00800084 	movi	r2,2
   43318:	3880fb1e 	bne	r7,r2,43708 <_dtoa_r+0x70c>
   4331c:	d8000c15 	stw	zero,48(sp)
   43320:	d9002117 	ldw	r4,132(sp)
   43324:	0103ae0e 	bge	zero,r4,441e0 <_dtoa_r+0x11e4>
   43328:	2025883a 	mov	r18,r4
   4332c:	d9000e15 	stw	r4,56(sp)
   43330:	d9000915 	stw	r4,36(sp)
   43334:	80001115 	stw	zero,68(r16)
   43338:	008005c4 	movi	r2,23
   4333c:	1484b22e 	bgeu	r2,r18,44608 <_dtoa_r+0x160c>
   43340:	00c00044 	movi	r3,1
   43344:	00800104 	movi	r2,4
   43348:	1085883a 	add	r2,r2,r2
   4334c:	11000504 	addi	r4,r2,20
   43350:	180b883a 	mov	r5,r3
   43354:	18c00044 	addi	r3,r3,1
   43358:	913ffb2e 	bgeu	r18,r4,43348 <__alt_data_end+0xfffdc248>
   4335c:	81401115 	stw	r5,68(r16)
   43360:	8009883a 	mov	r4,r16
   43364:	00463540 	call	46354 <_Balloc>
   43368:	102f883a 	mov	r23,r2
   4336c:	80801015 	stw	r2,64(r16)
   43370:	00800384 	movi	r2,14
   43374:	1480f036 	bltu	r2,r18,43738 <_dtoa_r+0x73c>
   43378:	9800ef26 	beq	r19,zero,43738 <_dtoa_r+0x73c>
   4337c:	d8800617 	ldw	r2,24(sp)
   43380:	00839c0e 	bge	zero,r2,441f4 <_dtoa_r+0x11f8>
   43384:	d8c00617 	ldw	r3,24(sp)
   43388:	108003cc 	andi	r2,r2,15
   4338c:	100490fa 	slli	r2,r2,3
   43390:	182bd13a 	srai	r21,r3,4
   43394:	00c00174 	movhi	r3,5
   43398:	18f10504 	addi	r3,r3,-15340
   4339c:	1885883a 	add	r2,r3,r2
   433a0:	a8c0040c 	andi	r3,r21,16
   433a4:	12800017 	ldw	r10,0(r2)
   433a8:	15800117 	ldw	r22,4(r2)
   433ac:	18038726 	beq	r3,zero,441cc <_dtoa_r+0x11d0>
   433b0:	00800174 	movhi	r2,5
   433b4:	10b0fb04 	addi	r2,r2,-15380
   433b8:	11800817 	ldw	r6,32(r2)
   433bc:	11c00917 	ldw	r7,36(r2)
   433c0:	d9000317 	ldw	r4,12(sp)
   433c4:	880b883a 	mov	r5,r17
   433c8:	da801515 	stw	r10,84(sp)
   433cc:	00404680 	call	40468 <__divdf3>
   433d0:	da801517 	ldw	r10,84(sp)
   433d4:	d8801015 	stw	r2,64(sp)
   433d8:	1829883a 	mov	r20,r3
   433dc:	ad4003cc 	andi	r21,r21,15
   433e0:	048000c4 	movi	r18,3
   433e4:	a8001126 	beq	r21,zero,4342c <_dtoa_r+0x430>
   433e8:	04c00174 	movhi	r19,5
   433ec:	9cf0fb04 	addi	r19,r19,-15380
   433f0:	5005883a 	mov	r2,r10
   433f4:	b007883a 	mov	r3,r22
   433f8:	a980004c 	andi	r6,r21,1
   433fc:	1009883a 	mov	r4,r2
   43400:	a82bd07a 	srai	r21,r21,1
   43404:	180b883a 	mov	r5,r3
   43408:	30000426 	beq	r6,zero,4341c <_dtoa_r+0x420>
   4340c:	99800017 	ldw	r6,0(r19)
   43410:	99c00117 	ldw	r7,4(r19)
   43414:	94800044 	addi	r18,r18,1
   43418:	0048f800 	call	48f80 <__muldf3>
   4341c:	9cc00204 	addi	r19,r19,8
   43420:	a83ff51e 	bne	r21,zero,433f8 <__alt_data_end+0xfffdc2f8>
   43424:	1015883a 	mov	r10,r2
   43428:	182d883a 	mov	r22,r3
   4342c:	d9001017 	ldw	r4,64(sp)
   43430:	a00b883a 	mov	r5,r20
   43434:	500d883a 	mov	r6,r10
   43438:	b00f883a 	mov	r7,r22
   4343c:	00404680 	call	40468 <__divdf3>
   43440:	1027883a 	mov	r19,r2
   43444:	1829883a 	mov	r20,r3
   43448:	d8c00d17 	ldw	r3,52(sp)
   4344c:	18000626 	beq	r3,zero,43468 <_dtoa_r+0x46c>
   43450:	9809883a 	mov	r4,r19
   43454:	a00b883a 	mov	r5,r20
   43458:	000d883a 	mov	r6,zero
   4345c:	01cffc34 	movhi	r7,16368
   43460:	00493e40 	call	493e4 <__ltdf2>
   43464:	10040e16 	blt	r2,zero,444a0 <_dtoa_r+0x14a4>
   43468:	9009883a 	mov	r4,r18
   4346c:	00494400 	call	49440 <__floatsidf>
   43470:	1009883a 	mov	r4,r2
   43474:	180b883a 	mov	r5,r3
   43478:	980d883a 	mov	r6,r19
   4347c:	a00f883a 	mov	r7,r20
   43480:	0048f800 	call	48f80 <__muldf3>
   43484:	1009883a 	mov	r4,r2
   43488:	180b883a 	mov	r5,r3
   4348c:	000d883a 	mov	r6,zero
   43490:	01d00734 	movhi	r7,16412
   43494:	0048ecc0 	call	48ecc <__adddf3>
   43498:	057f3034 	movhi	r21,64704
   4349c:	1d6b883a 	add	r21,r3,r21
   434a0:	d8c00917 	ldw	r3,36(sp)
   434a4:	1025883a 	mov	r18,r2
   434a8:	18031f26 	beq	r3,zero,44128 <_dtoa_r+0x112c>
   434ac:	d8800617 	ldw	r2,24(sp)
   434b0:	dac00917 	ldw	r11,36(sp)
   434b4:	d8801315 	stw	r2,76(sp)
   434b8:	d8c00c17 	ldw	r3,48(sp)
   434bc:	18039026 	beq	r3,zero,44300 <_dtoa_r+0x1304>
   434c0:	58bfffc4 	addi	r2,r11,-1
   434c4:	100490fa 	slli	r2,r2,3
   434c8:	00c00174 	movhi	r3,5
   434cc:	18f10504 	addi	r3,r3,-15340
   434d0:	0009883a 	mov	r4,zero
   434d4:	1885883a 	add	r2,r3,r2
   434d8:	11800017 	ldw	r6,0(r2)
   434dc:	11c00117 	ldw	r7,4(r2)
   434e0:	014ff834 	movhi	r5,16352
   434e4:	dac01615 	stw	r11,88(sp)
   434e8:	00404680 	call	40468 <__divdf3>
   434ec:	900d883a 	mov	r6,r18
   434f0:	a80f883a 	mov	r7,r21
   434f4:	1009883a 	mov	r4,r2
   434f8:	180b883a 	mov	r5,r3
   434fc:	0048f200 	call	48f20 <__subdf3>
   43500:	a00b883a 	mov	r5,r20
   43504:	9809883a 	mov	r4,r19
   43508:	182b883a 	mov	r21,r3
   4350c:	d8801015 	stw	r2,64(sp)
   43510:	00495140 	call	49514 <__fixdfsi>
   43514:	1009883a 	mov	r4,r2
   43518:	d8801515 	stw	r2,84(sp)
   4351c:	00494400 	call	49440 <__floatsidf>
   43520:	9809883a 	mov	r4,r19
   43524:	a00b883a 	mov	r5,r20
   43528:	100d883a 	mov	r6,r2
   4352c:	180f883a 	mov	r7,r3
   43530:	0048f200 	call	48f20 <__subdf3>
   43534:	da401517 	ldw	r9,84(sp)
   43538:	d9001017 	ldw	r4,64(sp)
   4353c:	a80b883a 	mov	r5,r21
   43540:	4d000c04 	addi	r20,r9,48
   43544:	bd000005 	stb	r20,0(r23)
   43548:	100d883a 	mov	r6,r2
   4354c:	180f883a 	mov	r7,r3
   43550:	bd800044 	addi	r22,r23,1
   43554:	1025883a 	mov	r18,r2
   43558:	1827883a 	mov	r19,r3
   4355c:	004931c0 	call	4931c <__gtdf2>
   43560:	00842216 	blt	zero,r2,445ec <_dtoa_r+0x15f0>
   43564:	0009883a 	mov	r4,zero
   43568:	014ffc34 	movhi	r5,16368
   4356c:	900d883a 	mov	r6,r18
   43570:	980f883a 	mov	r7,r19
   43574:	0048f200 	call	48f20 <__subdf3>
   43578:	d9001017 	ldw	r4,64(sp)
   4357c:	a80b883a 	mov	r5,r21
   43580:	100d883a 	mov	r6,r2
   43584:	180f883a 	mov	r7,r3
   43588:	004931c0 	call	4931c <__gtdf2>
   4358c:	dac01617 	ldw	r11,88(sp)
   43590:	00841316 	blt	zero,r2,445e0 <_dtoa_r+0x15e4>
   43594:	00800044 	movi	r2,1
   43598:	12c0670e 	bge	r2,r11,43738 <_dtoa_r+0x73c>
   4359c:	bad7883a 	add	r11,r23,r11
   435a0:	df001115 	stw	fp,68(sp)
   435a4:	dc401215 	stw	r17,72(sp)
   435a8:	5839883a 	mov	fp,r11
   435ac:	dc401017 	ldw	r17,64(sp)
   435b0:	00000806 	br	435d4 <_dtoa_r+0x5d8>
   435b4:	0048f200 	call	48f20 <__subdf3>
   435b8:	1009883a 	mov	r4,r2
   435bc:	180b883a 	mov	r5,r3
   435c0:	880d883a 	mov	r6,r17
   435c4:	a80f883a 	mov	r7,r21
   435c8:	00493e40 	call	493e4 <__ltdf2>
   435cc:	1003ee16 	blt	r2,zero,44588 <_dtoa_r+0x158c>
   435d0:	b703f126 	beq	r22,fp,44598 <_dtoa_r+0x159c>
   435d4:	8809883a 	mov	r4,r17
   435d8:	a80b883a 	mov	r5,r21
   435dc:	000d883a 	mov	r6,zero
   435e0:	01d00934 	movhi	r7,16420
   435e4:	0048f800 	call	48f80 <__muldf3>
   435e8:	000d883a 	mov	r6,zero
   435ec:	01d00934 	movhi	r7,16420
   435f0:	9009883a 	mov	r4,r18
   435f4:	980b883a 	mov	r5,r19
   435f8:	1023883a 	mov	r17,r2
   435fc:	182b883a 	mov	r21,r3
   43600:	0048f800 	call	48f80 <__muldf3>
   43604:	180b883a 	mov	r5,r3
   43608:	1009883a 	mov	r4,r2
   4360c:	1825883a 	mov	r18,r3
   43610:	1027883a 	mov	r19,r2
   43614:	00495140 	call	49514 <__fixdfsi>
   43618:	1009883a 	mov	r4,r2
   4361c:	1029883a 	mov	r20,r2
   43620:	00494400 	call	49440 <__floatsidf>
   43624:	9809883a 	mov	r4,r19
   43628:	900b883a 	mov	r5,r18
   4362c:	100d883a 	mov	r6,r2
   43630:	180f883a 	mov	r7,r3
   43634:	0048f200 	call	48f20 <__subdf3>
   43638:	a5000c04 	addi	r20,r20,48
   4363c:	b5000005 	stb	r20,0(r22)
   43640:	1009883a 	mov	r4,r2
   43644:	180b883a 	mov	r5,r3
   43648:	880d883a 	mov	r6,r17
   4364c:	a80f883a 	mov	r7,r21
   43650:	1025883a 	mov	r18,r2
   43654:	1827883a 	mov	r19,r3
   43658:	00493e40 	call	493e4 <__ltdf2>
   4365c:	b5800044 	addi	r22,r22,1
   43660:	0009883a 	mov	r4,zero
   43664:	014ffc34 	movhi	r5,16368
   43668:	900d883a 	mov	r6,r18
   4366c:	980f883a 	mov	r7,r19
   43670:	103fd00e 	bge	r2,zero,435b4 <__alt_data_end+0xfffdc4b4>
   43674:	d9001317 	ldw	r4,76(sp)
   43678:	df001117 	ldw	fp,68(sp)
   4367c:	d9000615 	stw	r4,24(sp)
   43680:	8009883a 	mov	r4,r16
   43684:	e00b883a 	mov	r5,fp
   43688:	00463fc0 	call	463fc <_Bfree>
   4368c:	d9c00617 	ldw	r7,24(sp)
   43690:	d8c02217 	ldw	r3,136(sp)
   43694:	d9002417 	ldw	r4,144(sp)
   43698:	b0000005 	stb	zero,0(r22)
   4369c:	38800044 	addi	r2,r7,1
   436a0:	18800015 	stw	r2,0(r3)
   436a4:	203e8426 	beq	r4,zero,430b8 <__alt_data_end+0xfffdbfb8>
   436a8:	25800015 	stw	r22,0(r4)
   436ac:	003e8206 	br	430b8 <__alt_data_end+0xfffdbfb8>
   436b0:	00800434 	movhi	r2,16
   436b4:	10bfffc4 	addi	r2,r2,-1
   436b8:	90a4703a 	and	r18,r18,r2
   436bc:	903e901e 	bne	r18,zero,43100 <__alt_data_end+0xfffdc000>
   436c0:	05c00174 	movhi	r23,5
   436c4:	bdf0dc04 	addi	r23,r23,-15504
   436c8:	003e8f06 	br	43108 <__alt_data_end+0xfffdc008>
   436cc:	b8800204 	addi	r2,r23,8
   436d0:	003e9206 	br	4311c <__alt_data_end+0xfffdc01c>
   436d4:	01400434 	movhi	r5,16
   436d8:	297fffc4 	addi	r5,r5,-1
   436dc:	894a703a 	and	r5,r17,r5
   436e0:	d9000317 	ldw	r4,12(sp)
   436e4:	294ffc34 	orhi	r5,r5,16368
   436e8:	a53f0044 	addi	r20,r20,-1023
   436ec:	dd400217 	ldw	r21,8(sp)
   436f0:	d8000f15 	stw	zero,60(sp)
   436f4:	003eb106 	br	431bc <__alt_data_end+0xfffdc0bc>
   436f8:	05c00174 	movhi	r23,5
   436fc:	bdf0d304 	addi	r23,r23,-15540
   43700:	003e6d06 	br	430b8 <__alt_data_end+0xfffdbfb8>
   43704:	d8000415 	stw	zero,16(sp)
   43708:	80001115 	stw	zero,68(r16)
   4370c:	8009883a 	mov	r4,r16
   43710:	000b883a 	mov	r5,zero
   43714:	00463540 	call	46354 <_Balloc>
   43718:	01ffffc4 	movi	r7,-1
   4371c:	102f883a 	mov	r23,r2
   43720:	80801015 	stw	r2,64(r16)
   43724:	00800044 	movi	r2,1
   43728:	d9c00915 	stw	r7,36(sp)
   4372c:	d8002115 	stw	zero,132(sp)
   43730:	d9c00e15 	stw	r7,56(sp)
   43734:	d8800c15 	stw	r2,48(sp)
   43738:	d8800117 	ldw	r2,4(sp)
   4373c:	10008b16 	blt	r2,zero,4396c <_dtoa_r+0x970>
   43740:	d9000617 	ldw	r4,24(sp)
   43744:	00c00384 	movi	r3,14
   43748:	19008816 	blt	r3,r4,4396c <_dtoa_r+0x970>
   4374c:	200490fa 	slli	r2,r4,3
   43750:	d9c02117 	ldw	r7,132(sp)
   43754:	00c00174 	movhi	r3,5
   43758:	18f10504 	addi	r3,r3,-15340
   4375c:	1885883a 	add	r2,r3,r2
   43760:	14800017 	ldw	r18,0(r2)
   43764:	14c00117 	ldw	r19,4(r2)
   43768:	3801c916 	blt	r7,zero,43e90 <_dtoa_r+0xe94>
   4376c:	d9000317 	ldw	r4,12(sp)
   43770:	900d883a 	mov	r6,r18
   43774:	980f883a 	mov	r7,r19
   43778:	880b883a 	mov	r5,r17
   4377c:	00404680 	call	40468 <__divdf3>
   43780:	180b883a 	mov	r5,r3
   43784:	1009883a 	mov	r4,r2
   43788:	00495140 	call	49514 <__fixdfsi>
   4378c:	1009883a 	mov	r4,r2
   43790:	102b883a 	mov	r21,r2
   43794:	00494400 	call	49440 <__floatsidf>
   43798:	1009883a 	mov	r4,r2
   4379c:	180b883a 	mov	r5,r3
   437a0:	900d883a 	mov	r6,r18
   437a4:	980f883a 	mov	r7,r19
   437a8:	0048f800 	call	48f80 <__muldf3>
   437ac:	d9000317 	ldw	r4,12(sp)
   437b0:	880b883a 	mov	r5,r17
   437b4:	100d883a 	mov	r6,r2
   437b8:	180f883a 	mov	r7,r3
   437bc:	0048f200 	call	48f20 <__subdf3>
   437c0:	d9c00917 	ldw	r7,36(sp)
   437c4:	1009883a 	mov	r4,r2
   437c8:	a8800c04 	addi	r2,r21,48
   437cc:	b8800005 	stb	r2,0(r23)
   437d0:	01800044 	movi	r6,1
   437d4:	180b883a 	mov	r5,r3
   437d8:	2005883a 	mov	r2,r4
   437dc:	bd800044 	addi	r22,r23,1
   437e0:	39803726 	beq	r7,r6,438c0 <_dtoa_r+0x8c4>
   437e4:	000d883a 	mov	r6,zero
   437e8:	01d00934 	movhi	r7,16420
   437ec:	0048f800 	call	48f80 <__muldf3>
   437f0:	1009883a 	mov	r4,r2
   437f4:	180b883a 	mov	r5,r3
   437f8:	000d883a 	mov	r6,zero
   437fc:	000f883a 	mov	r7,zero
   43800:	1029883a 	mov	r20,r2
   43804:	1823883a 	mov	r17,r3
   43808:	00492640 	call	49264 <__eqdf2>
   4380c:	103f9c26 	beq	r2,zero,43680 <__alt_data_end+0xfffdc580>
   43810:	dd400917 	ldw	r21,36(sp)
   43814:	dc000415 	stw	r16,16(sp)
   43818:	00000906 	br	43840 <_dtoa_r+0x844>
   4381c:	0048f800 	call	48f80 <__muldf3>
   43820:	1009883a 	mov	r4,r2
   43824:	180b883a 	mov	r5,r3
   43828:	000d883a 	mov	r6,zero
   4382c:	000f883a 	mov	r7,zero
   43830:	1029883a 	mov	r20,r2
   43834:	1823883a 	mov	r17,r3
   43838:	00492640 	call	49264 <__eqdf2>
   4383c:	10022926 	beq	r2,zero,440e4 <_dtoa_r+0x10e8>
   43840:	900d883a 	mov	r6,r18
   43844:	980f883a 	mov	r7,r19
   43848:	a009883a 	mov	r4,r20
   4384c:	880b883a 	mov	r5,r17
   43850:	00404680 	call	40468 <__divdf3>
   43854:	180b883a 	mov	r5,r3
   43858:	1009883a 	mov	r4,r2
   4385c:	00495140 	call	49514 <__fixdfsi>
   43860:	1009883a 	mov	r4,r2
   43864:	1021883a 	mov	r16,r2
   43868:	00494400 	call	49440 <__floatsidf>
   4386c:	1009883a 	mov	r4,r2
   43870:	180b883a 	mov	r5,r3
   43874:	900d883a 	mov	r6,r18
   43878:	980f883a 	mov	r7,r19
   4387c:	0048f800 	call	48f80 <__muldf3>
   43880:	a009883a 	mov	r4,r20
   43884:	880b883a 	mov	r5,r17
   43888:	100d883a 	mov	r6,r2
   4388c:	180f883a 	mov	r7,r3
   43890:	0048f200 	call	48f20 <__subdf3>
   43894:	82400c04 	addi	r9,r16,48
   43898:	b2400005 	stb	r9,0(r22)
   4389c:	b5800044 	addi	r22,r22,1
   438a0:	b5d3c83a 	sub	r9,r22,r23
   438a4:	000d883a 	mov	r6,zero
   438a8:	01d00934 	movhi	r7,16420
   438ac:	1009883a 	mov	r4,r2
   438b0:	180b883a 	mov	r5,r3
   438b4:	aa7fd91e 	bne	r21,r9,4381c <__alt_data_end+0xfffdc71c>
   438b8:	802b883a 	mov	r21,r16
   438bc:	dc000417 	ldw	r16,16(sp)
   438c0:	1009883a 	mov	r4,r2
   438c4:	180b883a 	mov	r5,r3
   438c8:	100d883a 	mov	r6,r2
   438cc:	180f883a 	mov	r7,r3
   438d0:	0048ecc0 	call	48ecc <__adddf3>
   438d4:	9009883a 	mov	r4,r18
   438d8:	980b883a 	mov	r5,r19
   438dc:	100d883a 	mov	r6,r2
   438e0:	180f883a 	mov	r7,r3
   438e4:	1023883a 	mov	r17,r2
   438e8:	1829883a 	mov	r20,r3
   438ec:	00493e40 	call	493e4 <__ltdf2>
   438f0:	10000816 	blt	r2,zero,43914 <_dtoa_r+0x918>
   438f4:	9009883a 	mov	r4,r18
   438f8:	980b883a 	mov	r5,r19
   438fc:	880d883a 	mov	r6,r17
   43900:	a00f883a 	mov	r7,r20
   43904:	00492c00 	call	492c0 <__nedf2>
   43908:	103f5d1e 	bne	r2,zero,43680 <__alt_data_end+0xfffdc580>
   4390c:	ad40004c 	andi	r21,r21,1
   43910:	a83f5b26 	beq	r21,zero,43680 <__alt_data_end+0xfffdc580>
   43914:	b53fffc3 	ldbu	r20,-1(r22)
   43918:	b0ffff84 	addi	r3,r22,-2
   4391c:	01400e44 	movi	r5,57
   43920:	00000306 	br	43930 <_dtoa_r+0x934>
   43924:	1d000003 	ldbu	r20,0(r3)
   43928:	102d883a 	mov	r22,r2
   4392c:	18ffffc4 	addi	r3,r3,-1
   43930:	a1003fcc 	andi	r4,r20,255
   43934:	2100201c 	xori	r4,r4,128
   43938:	213fe004 	addi	r4,r4,-128
   4393c:	b0bfffc4 	addi	r2,r22,-1
   43940:	2142ca1e 	bne	r4,r5,4446c <_dtoa_r+0x1470>
   43944:	b8bff71e 	bne	r23,r2,43924 <__alt_data_end+0xfffdc824>
   43948:	d8800617 	ldw	r2,24(sp)
   4394c:	05000c44 	movi	r20,49
   43950:	10800044 	addi	r2,r2,1
   43954:	d8800615 	stw	r2,24(sp)
   43958:	00800c04 	movi	r2,48
   4395c:	b8800005 	stb	r2,0(r23)
   43960:	b805883a 	mov	r2,r23
   43964:	15000005 	stb	r20,0(r2)
   43968:	003f4506 	br	43680 <__alt_data_end+0xfffdc580>
   4396c:	d9c00c17 	ldw	r7,48(sp)
   43970:	3800c926 	beq	r7,zero,43c98 <_dtoa_r+0xc9c>
   43974:	d9c00417 	ldw	r7,16(sp)
   43978:	00c00044 	movi	r3,1
   4397c:	19c16c0e 	bge	r3,r7,43f30 <_dtoa_r+0xf34>
   43980:	d9000917 	ldw	r4,36(sp)
   43984:	d9c00a17 	ldw	r7,40(sp)
   43988:	24ffffc4 	addi	r19,r4,-1
   4398c:	3cc20716 	blt	r7,r19,441ac <_dtoa_r+0x11b0>
   43990:	3ce7c83a 	sub	r19,r7,r19
   43994:	d9c00917 	ldw	r7,36(sp)
   43998:	3802ae16 	blt	r7,zero,44454 <_dtoa_r+0x1458>
   4399c:	dc800817 	ldw	r18,32(sp)
   439a0:	d8800917 	ldw	r2,36(sp)
   439a4:	d8c00817 	ldw	r3,32(sp)
   439a8:	d9c00717 	ldw	r7,28(sp)
   439ac:	8009883a 	mov	r4,r16
   439b0:	1887883a 	add	r3,r3,r2
   439b4:	388f883a 	add	r7,r7,r2
   439b8:	01400044 	movi	r5,1
   439bc:	d8c00815 	stw	r3,32(sp)
   439c0:	d9c00715 	stw	r7,28(sp)
   439c4:	00467540 	call	46754 <__i2b>
   439c8:	102b883a 	mov	r21,r2
   439cc:	90000a26 	beq	r18,zero,439f8 <_dtoa_r+0x9fc>
   439d0:	d8800717 	ldw	r2,28(sp)
   439d4:	0080080e 	bge	zero,r2,439f8 <_dtoa_r+0x9fc>
   439d8:	90812b16 	blt	r18,r2,43e88 <_dtoa_r+0xe8c>
   439dc:	d8c00817 	ldw	r3,32(sp)
   439e0:	d9000717 	ldw	r4,28(sp)
   439e4:	90a5c83a 	sub	r18,r18,r2
   439e8:	1887c83a 	sub	r3,r3,r2
   439ec:	2089c83a 	sub	r4,r4,r2
   439f0:	d8c00815 	stw	r3,32(sp)
   439f4:	d9000715 	stw	r4,28(sp)
   439f8:	d9c00a17 	ldw	r7,40(sp)
   439fc:	01c0140e 	bge	zero,r7,43a50 <_dtoa_r+0xa54>
   43a00:	d8800c17 	ldw	r2,48(sp)
   43a04:	1001de26 	beq	r2,zero,44180 <_dtoa_r+0x1184>
   43a08:	04c00e0e 	bge	zero,r19,43a44 <_dtoa_r+0xa48>
   43a0c:	a80b883a 	mov	r5,r21
   43a10:	8009883a 	mov	r4,r16
   43a14:	980d883a 	mov	r6,r19
   43a18:	00469700 	call	46970 <__pow5mult>
   43a1c:	e00d883a 	mov	r6,fp
   43a20:	8009883a 	mov	r4,r16
   43a24:	100b883a 	mov	r5,r2
   43a28:	102b883a 	mov	r21,r2
   43a2c:	00467900 	call	46790 <__multiply>
   43a30:	1029883a 	mov	r20,r2
   43a34:	e00b883a 	mov	r5,fp
   43a38:	8009883a 	mov	r4,r16
   43a3c:	00463fc0 	call	463fc <_Bfree>
   43a40:	a039883a 	mov	fp,r20
   43a44:	d8c00a17 	ldw	r3,40(sp)
   43a48:	1ccdc83a 	sub	r6,r3,r19
   43a4c:	3001291e 	bne	r6,zero,43ef4 <_dtoa_r+0xef8>
   43a50:	8009883a 	mov	r4,r16
   43a54:	01400044 	movi	r5,1
   43a58:	00467540 	call	46754 <__i2b>
   43a5c:	d9000b17 	ldw	r4,44(sp)
   43a60:	1029883a 	mov	r20,r2
   43a64:	0100050e 	bge	zero,r4,43a7c <_dtoa_r+0xa80>
   43a68:	d9800b17 	ldw	r6,44(sp)
   43a6c:	8009883a 	mov	r4,r16
   43a70:	100b883a 	mov	r5,r2
   43a74:	00469700 	call	46970 <__pow5mult>
   43a78:	1029883a 	mov	r20,r2
   43a7c:	d9c00417 	ldw	r7,16(sp)
   43a80:	00800044 	movi	r2,1
   43a84:	11c0f00e 	bge	r2,r7,43e48 <_dtoa_r+0xe4c>
   43a88:	0023883a 	mov	r17,zero
   43a8c:	d8800b17 	ldw	r2,44(sp)
   43a90:	1001741e 	bne	r2,zero,44064 <_dtoa_r+0x1068>
   43a94:	00800044 	movi	r2,1
   43a98:	d8c00717 	ldw	r3,28(sp)
   43a9c:	10c5883a 	add	r2,r2,r3
   43aa0:	108007cc 	andi	r2,r2,31
   43aa4:	10008026 	beq	r2,zero,43ca8 <_dtoa_r+0xcac>
   43aa8:	01000804 	movi	r4,32
   43aac:	2089c83a 	sub	r4,r4,r2
   43ab0:	00c00104 	movi	r3,4
   43ab4:	1902d00e 	bge	r3,r4,445f8 <_dtoa_r+0x15fc>
   43ab8:	d9000817 	ldw	r4,32(sp)
   43abc:	d9c00717 	ldw	r7,28(sp)
   43ac0:	00c00704 	movi	r3,28
   43ac4:	1885c83a 	sub	r2,r3,r2
   43ac8:	2089883a 	add	r4,r4,r2
   43acc:	388f883a 	add	r7,r7,r2
   43ad0:	d9000815 	stw	r4,32(sp)
   43ad4:	90a5883a 	add	r18,r18,r2
   43ad8:	d9c00715 	stw	r7,28(sp)
   43adc:	d9c00817 	ldw	r7,32(sp)
   43ae0:	01c0050e 	bge	zero,r7,43af8 <_dtoa_r+0xafc>
   43ae4:	e00b883a 	mov	r5,fp
   43ae8:	8009883a 	mov	r4,r16
   43aec:	380d883a 	mov	r6,r7
   43af0:	0046a9c0 	call	46a9c <__lshift>
   43af4:	1039883a 	mov	fp,r2
   43af8:	d8800717 	ldw	r2,28(sp)
   43afc:	0080050e 	bge	zero,r2,43b14 <_dtoa_r+0xb18>
   43b00:	a00b883a 	mov	r5,r20
   43b04:	8009883a 	mov	r4,r16
   43b08:	100d883a 	mov	r6,r2
   43b0c:	0046a9c0 	call	46a9c <__lshift>
   43b10:	1029883a 	mov	r20,r2
   43b14:	d8c00d17 	ldw	r3,52(sp)
   43b18:	1801401e 	bne	r3,zero,4401c <_dtoa_r+0x1020>
   43b1c:	d8800917 	ldw	r2,36(sp)
   43b20:	00815a0e 	bge	zero,r2,4408c <_dtoa_r+0x1090>
   43b24:	d8c00c17 	ldw	r3,48(sp)
   43b28:	18006f1e 	bne	r3,zero,43ce8 <_dtoa_r+0xcec>
   43b2c:	b823883a 	mov	r17,r23
   43b30:	dc800917 	ldw	r18,36(sp)
   43b34:	00000206 	br	43b40 <_dtoa_r+0xb44>
   43b38:	00464240 	call	46424 <__multadd>
   43b3c:	1039883a 	mov	fp,r2
   43b40:	e009883a 	mov	r4,fp
   43b44:	a00b883a 	mov	r5,r20
   43b48:	0042df40 	call	42df4 <quorem>
   43b4c:	10800c04 	addi	r2,r2,48
   43b50:	88800005 	stb	r2,0(r17)
   43b54:	8c400044 	addi	r17,r17,1
   43b58:	8dc7c83a 	sub	r3,r17,r23
   43b5c:	8009883a 	mov	r4,r16
   43b60:	e00b883a 	mov	r5,fp
   43b64:	01800284 	movi	r6,10
   43b68:	000f883a 	mov	r7,zero
   43b6c:	1cbff216 	blt	r3,r18,43b38 <__alt_data_end+0xfffdca38>
   43b70:	dd800917 	ldw	r22,36(sp)
   43b74:	1007883a 	mov	r3,r2
   43b78:	05823a0e 	bge	zero,r22,44464 <_dtoa_r+0x1468>
   43b7c:	bdad883a 	add	r22,r23,r22
   43b80:	0023883a 	mov	r17,zero
   43b84:	e00b883a 	mov	r5,fp
   43b88:	01800044 	movi	r6,1
   43b8c:	8009883a 	mov	r4,r16
   43b90:	d8c01515 	stw	r3,84(sp)
   43b94:	0046a9c0 	call	46a9c <__lshift>
   43b98:	1009883a 	mov	r4,r2
   43b9c:	a00b883a 	mov	r5,r20
   43ba0:	1039883a 	mov	fp,r2
   43ba4:	0046bf80 	call	46bf8 <__mcmp>
   43ba8:	d8c01517 	ldw	r3,84(sp)
   43bac:	0080d60e 	bge	zero,r2,43f08 <_dtoa_r+0xf0c>
   43bb0:	b13fffc3 	ldbu	r4,-1(r22)
   43bb4:	b0ffff84 	addi	r3,r22,-2
   43bb8:	01800e44 	movi	r6,57
   43bbc:	00000306 	br	43bcc <_dtoa_r+0xbd0>
   43bc0:	19000003 	ldbu	r4,0(r3)
   43bc4:	102d883a 	mov	r22,r2
   43bc8:	18ffffc4 	addi	r3,r3,-1
   43bcc:	21403fcc 	andi	r5,r4,255
   43bd0:	2940201c 	xori	r5,r5,128
   43bd4:	297fe004 	addi	r5,r5,-128
   43bd8:	b0bfffc4 	addi	r2,r22,-1
   43bdc:	2981a71e 	bne	r5,r6,4427c <_dtoa_r+0x1280>
   43be0:	b8bff71e 	bne	r23,r2,43bc0 <__alt_data_end+0xfffdcac0>
   43be4:	d8800617 	ldw	r2,24(sp)
   43be8:	10800044 	addi	r2,r2,1
   43bec:	d8800615 	stw	r2,24(sp)
   43bf0:	00800c44 	movi	r2,49
   43bf4:	b8800005 	stb	r2,0(r23)
   43bf8:	8009883a 	mov	r4,r16
   43bfc:	a00b883a 	mov	r5,r20
   43c00:	00463fc0 	call	463fc <_Bfree>
   43c04:	a83e9e26 	beq	r21,zero,43680 <__alt_data_end+0xfffdc580>
   43c08:	88000426 	beq	r17,zero,43c1c <_dtoa_r+0xc20>
   43c0c:	8d400326 	beq	r17,r21,43c1c <_dtoa_r+0xc20>
   43c10:	8009883a 	mov	r4,r16
   43c14:	880b883a 	mov	r5,r17
   43c18:	00463fc0 	call	463fc <_Bfree>
   43c1c:	8009883a 	mov	r4,r16
   43c20:	a80b883a 	mov	r5,r21
   43c24:	00463fc0 	call	463fc <_Bfree>
   43c28:	003e9506 	br	43680 <__alt_data_end+0xfffdc580>
   43c2c:	00c00044 	movi	r3,1
   43c30:	d8c00d15 	stw	r3,52(sp)
   43c34:	003d9f06 	br	432b4 <__alt_data_end+0xfffdc1b4>
   43c38:	d9000817 	ldw	r4,32(sp)
   43c3c:	d8800617 	ldw	r2,24(sp)
   43c40:	d8000b15 	stw	zero,44(sp)
   43c44:	2089c83a 	sub	r4,r4,r2
   43c48:	0087c83a 	sub	r3,zero,r2
   43c4c:	d9000815 	stw	r4,32(sp)
   43c50:	d8c00a15 	stw	r3,40(sp)
   43c54:	003da306 	br	432e4 <__alt_data_end+0xfffdc1e4>
   43c58:	0529c83a 	sub	r20,zero,r20
   43c5c:	dd000815 	stw	r20,32(sp)
   43c60:	d8000715 	stw	zero,28(sp)
   43c64:	003d9806 	br	432c8 <__alt_data_end+0xfffdc1c8>
   43c68:	d9000617 	ldw	r4,24(sp)
   43c6c:	00494400 	call	49440 <__floatsidf>
   43c70:	1009883a 	mov	r4,r2
   43c74:	180b883a 	mov	r5,r3
   43c78:	980d883a 	mov	r6,r19
   43c7c:	900f883a 	mov	r7,r18
   43c80:	00492640 	call	49264 <__eqdf2>
   43c84:	103d7a26 	beq	r2,zero,43270 <__alt_data_end+0xfffdc170>
   43c88:	d8800617 	ldw	r2,24(sp)
   43c8c:	10bfffc4 	addi	r2,r2,-1
   43c90:	d8800615 	stw	r2,24(sp)
   43c94:	003d7606 	br	43270 <__alt_data_end+0xfffdc170>
   43c98:	dcc00a17 	ldw	r19,40(sp)
   43c9c:	dc800817 	ldw	r18,32(sp)
   43ca0:	002b883a 	mov	r21,zero
   43ca4:	003f4906 	br	439cc <__alt_data_end+0xfffdc8cc>
   43ca8:	00800704 	movi	r2,28
   43cac:	d8c00817 	ldw	r3,32(sp)
   43cb0:	d9000717 	ldw	r4,28(sp)
   43cb4:	90a5883a 	add	r18,r18,r2
   43cb8:	1887883a 	add	r3,r3,r2
   43cbc:	2089883a 	add	r4,r4,r2
   43cc0:	d8c00815 	stw	r3,32(sp)
   43cc4:	d9000715 	stw	r4,28(sp)
   43cc8:	003f8406 	br	43adc <__alt_data_end+0xfffdc9dc>
   43ccc:	d9c00317 	ldw	r7,12(sp)
   43cd0:	013efb84 	movi	r4,-1042
   43cd4:	2509c83a 	sub	r4,r4,r20
   43cd8:	3908983a 	sll	r4,r7,r4
   43cdc:	003d3006 	br	431a0 <__alt_data_end+0xfffdc0a0>
   43ce0:	d8000d15 	stw	zero,52(sp)
   43ce4:	003d7306 	br	432b4 <__alt_data_end+0xfffdc1b4>
   43ce8:	0480050e 	bge	zero,r18,43d00 <_dtoa_r+0xd04>
   43cec:	a80b883a 	mov	r5,r21
   43cf0:	8009883a 	mov	r4,r16
   43cf4:	900d883a 	mov	r6,r18
   43cf8:	0046a9c0 	call	46a9c <__lshift>
   43cfc:	102b883a 	mov	r21,r2
   43d00:	8801611e 	bne	r17,zero,44288 <_dtoa_r+0x128c>
   43d04:	a827883a 	mov	r19,r21
   43d08:	d8c00317 	ldw	r3,12(sp)
   43d0c:	d9000917 	ldw	r4,36(sp)
   43d10:	b8bfffc4 	addi	r2,r23,-1
   43d14:	18c0004c 	andi	r3,r3,1
   43d18:	1105883a 	add	r2,r2,r4
   43d1c:	b825883a 	mov	r18,r23
   43d20:	d8800515 	stw	r2,20(sp)
   43d24:	a823883a 	mov	r17,r21
   43d28:	d8c00315 	stw	r3,12(sp)
   43d2c:	ddc00715 	stw	r23,28(sp)
   43d30:	e009883a 	mov	r4,fp
   43d34:	a00b883a 	mov	r5,r20
   43d38:	0042df40 	call	42df4 <quorem>
   43d3c:	e009883a 	mov	r4,fp
   43d40:	880b883a 	mov	r5,r17
   43d44:	102d883a 	mov	r22,r2
   43d48:	0046bf80 	call	46bf8 <__mcmp>
   43d4c:	980d883a 	mov	r6,r19
   43d50:	8009883a 	mov	r4,r16
   43d54:	a00b883a 	mov	r5,r20
   43d58:	102b883a 	mov	r21,r2
   43d5c:	0046c500 	call	46c50 <__mdiff>
   43d60:	100d883a 	mov	r6,r2
   43d64:	10800317 	ldw	r2,12(r2)
   43d68:	b5c00c04 	addi	r23,r22,48
   43d6c:	10008c26 	beq	r2,zero,43fa0 <_dtoa_r+0xfa4>
   43d70:	8009883a 	mov	r4,r16
   43d74:	300b883a 	mov	r5,r6
   43d78:	00463fc0 	call	463fc <_Bfree>
   43d7c:	00800044 	movi	r2,1
   43d80:	a8007116 	blt	r21,zero,43f48 <_dtoa_r+0xf4c>
   43d84:	a800041e 	bne	r21,zero,43d98 <_dtoa_r+0xd9c>
   43d88:	d9c00417 	ldw	r7,16(sp)
   43d8c:	3800021e 	bne	r7,zero,43d98 <_dtoa_r+0xd9c>
   43d90:	d8c00317 	ldw	r3,12(sp)
   43d94:	18006c26 	beq	r3,zero,43f48 <_dtoa_r+0xf4c>
   43d98:	00814c16 	blt	zero,r2,442cc <_dtoa_r+0x12d0>
   43d9c:	d8c00517 	ldw	r3,20(sp)
   43da0:	95400044 	addi	r21,r18,1
   43da4:	95c00005 	stb	r23,0(r18)
   43da8:	a82d883a 	mov	r22,r21
   43dac:	90c14d26 	beq	r18,r3,442e4 <_dtoa_r+0x12e8>
   43db0:	e00b883a 	mov	r5,fp
   43db4:	8009883a 	mov	r4,r16
   43db8:	01800284 	movi	r6,10
   43dbc:	000f883a 	mov	r7,zero
   43dc0:	00464240 	call	46424 <__multadd>
   43dc4:	1039883a 	mov	fp,r2
   43dc8:	8cc08b26 	beq	r17,r19,43ff8 <_dtoa_r+0xffc>
   43dcc:	880b883a 	mov	r5,r17
   43dd0:	01800284 	movi	r6,10
   43dd4:	000f883a 	mov	r7,zero
   43dd8:	8009883a 	mov	r4,r16
   43ddc:	00464240 	call	46424 <__multadd>
   43de0:	980b883a 	mov	r5,r19
   43de4:	8009883a 	mov	r4,r16
   43de8:	01800284 	movi	r6,10
   43dec:	000f883a 	mov	r7,zero
   43df0:	1023883a 	mov	r17,r2
   43df4:	00464240 	call	46424 <__multadd>
   43df8:	1027883a 	mov	r19,r2
   43dfc:	a825883a 	mov	r18,r21
   43e00:	003fcb06 	br	43d30 <__alt_data_end+0xfffdcc30>
   43e04:	d9c00417 	ldw	r7,16(sp)
   43e08:	00800104 	movi	r2,4
   43e0c:	3880e426 	beq	r7,r2,441a0 <_dtoa_r+0x11a4>
   43e10:	00800144 	movi	r2,5
   43e14:	38be3c1e 	bne	r7,r2,43708 <__alt_data_end+0xfffdc608>
   43e18:	00c00044 	movi	r3,1
   43e1c:	d8c00c15 	stw	r3,48(sp)
   43e20:	d9c02117 	ldw	r7,132(sp)
   43e24:	d8800617 	ldw	r2,24(sp)
   43e28:	388f883a 	add	r7,r7,r2
   43e2c:	3c800044 	addi	r18,r7,1
   43e30:	d9c00e15 	stw	r7,56(sp)
   43e34:	dc800915 	stw	r18,36(sp)
   43e38:	04bd3e16 	blt	zero,r18,43334 <__alt_data_end+0xfffdc234>
   43e3c:	80001115 	stw	zero,68(r16)
   43e40:	000b883a 	mov	r5,zero
   43e44:	003d4606 	br	43360 <__alt_data_end+0xfffdc260>
   43e48:	d8c00317 	ldw	r3,12(sp)
   43e4c:	183f0e1e 	bne	r3,zero,43a88 <__alt_data_end+0xfffdc988>
   43e50:	00c00434 	movhi	r3,16
   43e54:	18ffffc4 	addi	r3,r3,-1
   43e58:	88c6703a 	and	r3,r17,r3
   43e5c:	183f0a1e 	bne	r3,zero,43a88 <__alt_data_end+0xfffdc988>
   43e60:	8c5ffc2c 	andhi	r17,r17,32752
   43e64:	883f0826 	beq	r17,zero,43a88 <__alt_data_end+0xfffdc988>
   43e68:	d9000817 	ldw	r4,32(sp)
   43e6c:	d9c00717 	ldw	r7,28(sp)
   43e70:	1023883a 	mov	r17,r2
   43e74:	2089883a 	add	r4,r4,r2
   43e78:	388f883a 	add	r7,r7,r2
   43e7c:	d9000815 	stw	r4,32(sp)
   43e80:	d9c00715 	stw	r7,28(sp)
   43e84:	003f0106 	br	43a8c <__alt_data_end+0xfffdc98c>
   43e88:	9005883a 	mov	r2,r18
   43e8c:	003ed306 	br	439dc <__alt_data_end+0xfffdc8dc>
   43e90:	d8800917 	ldw	r2,36(sp)
   43e94:	00be3516 	blt	zero,r2,4376c <__alt_data_end+0xfffdc66c>
   43e98:	1000b61e 	bne	r2,zero,44174 <_dtoa_r+0x1178>
   43e9c:	9009883a 	mov	r4,r18
   43ea0:	980b883a 	mov	r5,r19
   43ea4:	000d883a 	mov	r6,zero
   43ea8:	01d00534 	movhi	r7,16404
   43eac:	0048f800 	call	48f80 <__muldf3>
   43eb0:	d9800317 	ldw	r6,12(sp)
   43eb4:	1009883a 	mov	r4,r2
   43eb8:	180b883a 	mov	r5,r3
   43ebc:	880f883a 	mov	r7,r17
   43ec0:	00493800 	call	49380 <__gedf2>
   43ec4:	0029883a 	mov	r20,zero
   43ec8:	002b883a 	mov	r21,zero
   43ecc:	10007e16 	blt	r2,zero,440c8 <_dtoa_r+0x10cc>
   43ed0:	d8802117 	ldw	r2,132(sp)
   43ed4:	b82d883a 	mov	r22,r23
   43ed8:	0084303a 	nor	r2,zero,r2
   43edc:	d8800615 	stw	r2,24(sp)
   43ee0:	8009883a 	mov	r4,r16
   43ee4:	a00b883a 	mov	r5,r20
   43ee8:	00463fc0 	call	463fc <_Bfree>
   43eec:	a83f4b1e 	bne	r21,zero,43c1c <__alt_data_end+0xfffdcb1c>
   43ef0:	003de306 	br	43680 <__alt_data_end+0xfffdc580>
   43ef4:	e00b883a 	mov	r5,fp
   43ef8:	8009883a 	mov	r4,r16
   43efc:	00469700 	call	46970 <__pow5mult>
   43f00:	1039883a 	mov	fp,r2
   43f04:	003ed206 	br	43a50 <__alt_data_end+0xfffdc950>
   43f08:	1000021e 	bne	r2,zero,43f14 <_dtoa_r+0xf18>
   43f0c:	18c0004c 	andi	r3,r3,1
   43f10:	183f271e 	bne	r3,zero,43bb0 <__alt_data_end+0xfffdcab0>
   43f14:	01000c04 	movi	r4,48
   43f18:	00000106 	br	43f20 <_dtoa_r+0xf24>
   43f1c:	102d883a 	mov	r22,r2
   43f20:	b0bfffc4 	addi	r2,r22,-1
   43f24:	10c00007 	ldb	r3,0(r2)
   43f28:	193ffc26 	beq	r3,r4,43f1c <__alt_data_end+0xfffdce1c>
   43f2c:	003f3206 	br	43bf8 <__alt_data_end+0xfffdcaf8>
   43f30:	d8c00f17 	ldw	r3,60(sp)
   43f34:	18015026 	beq	r3,zero,44478 <_dtoa_r+0x147c>
   43f38:	10810cc4 	addi	r2,r2,1075
   43f3c:	dcc00a17 	ldw	r19,40(sp)
   43f40:	dc800817 	ldw	r18,32(sp)
   43f44:	003e9706 	br	439a4 <__alt_data_end+0xfffdc8a4>
   43f48:	b807883a 	mov	r3,r23
   43f4c:	182b883a 	mov	r21,r3
   43f50:	ddc00717 	ldw	r23,28(sp)
   43f54:	00800e0e 	bge	zero,r2,43f90 <_dtoa_r+0xf94>
   43f58:	e00b883a 	mov	r5,fp
   43f5c:	01800044 	movi	r6,1
   43f60:	8009883a 	mov	r4,r16
   43f64:	d8c01515 	stw	r3,84(sp)
   43f68:	0046a9c0 	call	46a9c <__lshift>
   43f6c:	1009883a 	mov	r4,r2
   43f70:	a00b883a 	mov	r5,r20
   43f74:	1039883a 	mov	fp,r2
   43f78:	0046bf80 	call	46bf8 <__mcmp>
   43f7c:	d8c01517 	ldw	r3,84(sp)
   43f80:	0081880e 	bge	zero,r2,445a4 <_dtoa_r+0x15a8>
   43f84:	00800e44 	movi	r2,57
   43f88:	b0c00c44 	addi	r3,r22,49
   43f8c:	a8816326 	beq	r21,r2,4451c <_dtoa_r+0x1520>
   43f90:	90c00005 	stb	r3,0(r18)
   43f94:	95800044 	addi	r22,r18,1
   43f98:	982b883a 	mov	r21,r19
   43f9c:	003f1606 	br	43bf8 <__alt_data_end+0xfffdcaf8>
   43fa0:	300b883a 	mov	r5,r6
   43fa4:	e009883a 	mov	r4,fp
   43fa8:	d9801515 	stw	r6,84(sp)
   43fac:	0046bf80 	call	46bf8 <__mcmp>
   43fb0:	d9801517 	ldw	r6,84(sp)
   43fb4:	8009883a 	mov	r4,r16
   43fb8:	d8801515 	stw	r2,84(sp)
   43fbc:	300b883a 	mov	r5,r6
   43fc0:	00463fc0 	call	463fc <_Bfree>
   43fc4:	d8801517 	ldw	r2,84(sp)
   43fc8:	103f6d1e 	bne	r2,zero,43d80 <__alt_data_end+0xfffdcc80>
   43fcc:	d9c00417 	ldw	r7,16(sp)
   43fd0:	383f6b1e 	bne	r7,zero,43d80 <__alt_data_end+0xfffdcc80>
   43fd4:	d8c00317 	ldw	r3,12(sp)
   43fd8:	183f691e 	bne	r3,zero,43d80 <__alt_data_end+0xfffdcc80>
   43fdc:	b807883a 	mov	r3,r23
   43fe0:	00800e44 	movi	r2,57
   43fe4:	ddc00717 	ldw	r23,28(sp)
   43fe8:	18814c26 	beq	r3,r2,4451c <_dtoa_r+0x1520>
   43fec:	057fe80e 	bge	zero,r21,43f90 <__alt_data_end+0xfffdce90>
   43ff0:	b0c00c44 	addi	r3,r22,49
   43ff4:	003fe606 	br	43f90 <__alt_data_end+0xfffdce90>
   43ff8:	880b883a 	mov	r5,r17
   43ffc:	8009883a 	mov	r4,r16
   44000:	01800284 	movi	r6,10
   44004:	000f883a 	mov	r7,zero
   44008:	00464240 	call	46424 <__multadd>
   4400c:	1023883a 	mov	r17,r2
   44010:	1027883a 	mov	r19,r2
   44014:	a825883a 	mov	r18,r21
   44018:	003f4506 	br	43d30 <__alt_data_end+0xfffdcc30>
   4401c:	e009883a 	mov	r4,fp
   44020:	a00b883a 	mov	r5,r20
   44024:	0046bf80 	call	46bf8 <__mcmp>
   44028:	103ebc0e 	bge	r2,zero,43b1c <__alt_data_end+0xfffdca1c>
   4402c:	e00b883a 	mov	r5,fp
   44030:	8009883a 	mov	r4,r16
   44034:	01800284 	movi	r6,10
   44038:	000f883a 	mov	r7,zero
   4403c:	00464240 	call	46424 <__multadd>
   44040:	1039883a 	mov	fp,r2
   44044:	d8800617 	ldw	r2,24(sp)
   44048:	d8c00c17 	ldw	r3,48(sp)
   4404c:	10bfffc4 	addi	r2,r2,-1
   44050:	d8800615 	stw	r2,24(sp)
   44054:	1801571e 	bne	r3,zero,445b4 <_dtoa_r+0x15b8>
   44058:	d9c00e17 	ldw	r7,56(sp)
   4405c:	d9c00915 	stw	r7,36(sp)
   44060:	003eae06 	br	43b1c <__alt_data_end+0xfffdca1c>
   44064:	a0800417 	ldw	r2,16(r20)
   44068:	10800104 	addi	r2,r2,4
   4406c:	1085883a 	add	r2,r2,r2
   44070:	1085883a 	add	r2,r2,r2
   44074:	a085883a 	add	r2,r20,r2
   44078:	11000017 	ldw	r4,0(r2)
   4407c:	004663c0 	call	4663c <__hi0bits>
   44080:	00c00804 	movi	r3,32
   44084:	1885c83a 	sub	r2,r3,r2
   44088:	003e8306 	br	43a98 <__alt_data_end+0xfffdc998>
   4408c:	d9c00417 	ldw	r7,16(sp)
   44090:	00800084 	movi	r2,2
   44094:	11fea30e 	bge	r2,r7,43b24 <__alt_data_end+0xfffdca24>
   44098:	d8800917 	ldw	r2,36(sp)
   4409c:	103f8c1e 	bne	r2,zero,43ed0 <__alt_data_end+0xfffdcdd0>
   440a0:	a00b883a 	mov	r5,r20
   440a4:	8009883a 	mov	r4,r16
   440a8:	01800144 	movi	r6,5
   440ac:	000f883a 	mov	r7,zero
   440b0:	00464240 	call	46424 <__multadd>
   440b4:	e009883a 	mov	r4,fp
   440b8:	100b883a 	mov	r5,r2
   440bc:	1029883a 	mov	r20,r2
   440c0:	0046bf80 	call	46bf8 <__mcmp>
   440c4:	00bf820e 	bge	zero,r2,43ed0 <__alt_data_end+0xfffdcdd0>
   440c8:	00800c44 	movi	r2,49
   440cc:	b8800005 	stb	r2,0(r23)
   440d0:	d8800617 	ldw	r2,24(sp)
   440d4:	bd800044 	addi	r22,r23,1
   440d8:	10800044 	addi	r2,r2,1
   440dc:	d8800615 	stw	r2,24(sp)
   440e0:	003f7f06 	br	43ee0 <__alt_data_end+0xfffdcde0>
   440e4:	dc000417 	ldw	r16,16(sp)
   440e8:	003d6506 	br	43680 <__alt_data_end+0xfffdc580>
   440ec:	9009883a 	mov	r4,r18
   440f0:	00494400 	call	49440 <__floatsidf>
   440f4:	1009883a 	mov	r4,r2
   440f8:	180b883a 	mov	r5,r3
   440fc:	980d883a 	mov	r6,r19
   44100:	a00f883a 	mov	r7,r20
   44104:	0048f800 	call	48f80 <__muldf3>
   44108:	1009883a 	mov	r4,r2
   4410c:	180b883a 	mov	r5,r3
   44110:	000d883a 	mov	r6,zero
   44114:	01d00734 	movhi	r7,16412
   44118:	0048ecc0 	call	48ecc <__adddf3>
   4411c:	057f3034 	movhi	r21,64704
   44120:	1025883a 	mov	r18,r2
   44124:	1d6b883a 	add	r21,r3,r21
   44128:	9809883a 	mov	r4,r19
   4412c:	a00b883a 	mov	r5,r20
   44130:	000d883a 	mov	r6,zero
   44134:	01d00534 	movhi	r7,16404
   44138:	0048f200 	call	48f20 <__subdf3>
   4413c:	1009883a 	mov	r4,r2
   44140:	180b883a 	mov	r5,r3
   44144:	900d883a 	mov	r6,r18
   44148:	a80f883a 	mov	r7,r21
   4414c:	1027883a 	mov	r19,r2
   44150:	1829883a 	mov	r20,r3
   44154:	004931c0 	call	4931c <__gtdf2>
   44158:	00806616 	blt	zero,r2,442f4 <_dtoa_r+0x12f8>
   4415c:	a9e0003c 	xorhi	r7,r21,32768
   44160:	9809883a 	mov	r4,r19
   44164:	a00b883a 	mov	r5,r20
   44168:	900d883a 	mov	r6,r18
   4416c:	00493e40 	call	493e4 <__ltdf2>
   44170:	103d710e 	bge	r2,zero,43738 <__alt_data_end+0xfffdc638>
   44174:	0029883a 	mov	r20,zero
   44178:	002b883a 	mov	r21,zero
   4417c:	003f5406 	br	43ed0 <__alt_data_end+0xfffdcdd0>
   44180:	d9800a17 	ldw	r6,40(sp)
   44184:	e00b883a 	mov	r5,fp
   44188:	8009883a 	mov	r4,r16
   4418c:	00469700 	call	46970 <__pow5mult>
   44190:	1039883a 	mov	fp,r2
   44194:	003e2e06 	br	43a50 <__alt_data_end+0xfffdc950>
   44198:	d8000c15 	stw	zero,48(sp)
   4419c:	003f2006 	br	43e20 <__alt_data_end+0xfffdcd20>
   441a0:	00800044 	movi	r2,1
   441a4:	d8800c15 	stw	r2,48(sp)
   441a8:	003c5d06 	br	43320 <__alt_data_end+0xfffdc220>
   441ac:	d8c00a17 	ldw	r3,40(sp)
   441b0:	d9000b17 	ldw	r4,44(sp)
   441b4:	dcc00a15 	stw	r19,40(sp)
   441b8:	98c5c83a 	sub	r2,r19,r3
   441bc:	2089883a 	add	r4,r4,r2
   441c0:	d9000b15 	stw	r4,44(sp)
   441c4:	0027883a 	mov	r19,zero
   441c8:	003df206 	br	43994 <__alt_data_end+0xfffdc894>
   441cc:	d9000317 	ldw	r4,12(sp)
   441d0:	8829883a 	mov	r20,r17
   441d4:	04800084 	movi	r18,2
   441d8:	d9001015 	stw	r4,64(sp)
   441dc:	003c8106 	br	433e4 <__alt_data_end+0xfffdc2e4>
   441e0:	04800044 	movi	r18,1
   441e4:	dc800e15 	stw	r18,56(sp)
   441e8:	dc800915 	stw	r18,36(sp)
   441ec:	dc802115 	stw	r18,132(sp)
   441f0:	003f1206 	br	43e3c <__alt_data_end+0xfffdcd3c>
   441f4:	d8800617 	ldw	r2,24(sp)
   441f8:	00abc83a 	sub	r21,zero,r2
   441fc:	a800a426 	beq	r21,zero,44490 <_dtoa_r+0x1494>
   44200:	a88003cc 	andi	r2,r21,15
   44204:	100490fa 	slli	r2,r2,3
   44208:	00c00174 	movhi	r3,5
   4420c:	18f10504 	addi	r3,r3,-15340
   44210:	d9000317 	ldw	r4,12(sp)
   44214:	1885883a 	add	r2,r3,r2
   44218:	11800017 	ldw	r6,0(r2)
   4421c:	11c00117 	ldw	r7,4(r2)
   44220:	a82bd13a 	srai	r21,r21,4
   44224:	880b883a 	mov	r5,r17
   44228:	0048f800 	call	48f80 <__muldf3>
   4422c:	1027883a 	mov	r19,r2
   44230:	1829883a 	mov	r20,r3
   44234:	a800e826 	beq	r21,zero,445d8 <_dtoa_r+0x15dc>
   44238:	05800174 	movhi	r22,5
   4423c:	b5b0fb04 	addi	r22,r22,-15380
   44240:	04800084 	movi	r18,2
   44244:	a980004c 	andi	r6,r21,1
   44248:	1009883a 	mov	r4,r2
   4424c:	a82bd07a 	srai	r21,r21,1
   44250:	180b883a 	mov	r5,r3
   44254:	30000426 	beq	r6,zero,44268 <_dtoa_r+0x126c>
   44258:	b1800017 	ldw	r6,0(r22)
   4425c:	b1c00117 	ldw	r7,4(r22)
   44260:	94800044 	addi	r18,r18,1
   44264:	0048f800 	call	48f80 <__muldf3>
   44268:	b5800204 	addi	r22,r22,8
   4426c:	a83ff51e 	bne	r21,zero,44244 <__alt_data_end+0xfffdd144>
   44270:	1027883a 	mov	r19,r2
   44274:	1829883a 	mov	r20,r3
   44278:	003c7306 	br	43448 <__alt_data_end+0xfffdc348>
   4427c:	21000044 	addi	r4,r4,1
   44280:	11000005 	stb	r4,0(r2)
   44284:	003e5c06 	br	43bf8 <__alt_data_end+0xfffdcaf8>
   44288:	a9400117 	ldw	r5,4(r21)
   4428c:	8009883a 	mov	r4,r16
   44290:	00463540 	call	46354 <_Balloc>
   44294:	a9800417 	ldw	r6,16(r21)
   44298:	11000304 	addi	r4,r2,12
   4429c:	a9400304 	addi	r5,r21,12
   442a0:	31800084 	addi	r6,r6,2
   442a4:	318d883a 	add	r6,r6,r6
   442a8:	318d883a 	add	r6,r6,r6
   442ac:	1023883a 	mov	r17,r2
   442b0:	00460580 	call	46058 <memcpy>
   442b4:	8009883a 	mov	r4,r16
   442b8:	880b883a 	mov	r5,r17
   442bc:	01800044 	movi	r6,1
   442c0:	0046a9c0 	call	46a9c <__lshift>
   442c4:	1027883a 	mov	r19,r2
   442c8:	003e8f06 	br	43d08 <__alt_data_end+0xfffdcc08>
   442cc:	b807883a 	mov	r3,r23
   442d0:	00800e44 	movi	r2,57
   442d4:	ddc00717 	ldw	r23,28(sp)
   442d8:	18809026 	beq	r3,r2,4451c <_dtoa_r+0x1520>
   442dc:	18c00044 	addi	r3,r3,1
   442e0:	003f2b06 	br	43f90 <__alt_data_end+0xfffdce90>
   442e4:	b807883a 	mov	r3,r23
   442e8:	982b883a 	mov	r21,r19
   442ec:	ddc00717 	ldw	r23,28(sp)
   442f0:	003e2406 	br	43b84 <__alt_data_end+0xfffdca84>
   442f4:	0029883a 	mov	r20,zero
   442f8:	002b883a 	mov	r21,zero
   442fc:	003f7206 	br	440c8 <__alt_data_end+0xfffdcfc8>
   44300:	593fffc4 	addi	r4,r11,-1
   44304:	200490fa 	slli	r2,r4,3
   44308:	00c00174 	movhi	r3,5
   4430c:	18f10504 	addi	r3,r3,-15340
   44310:	d9001015 	stw	r4,64(sp)
   44314:	1885883a 	add	r2,r3,r2
   44318:	11000017 	ldw	r4,0(r2)
   4431c:	11400117 	ldw	r5,4(r2)
   44320:	900d883a 	mov	r6,r18
   44324:	a80f883a 	mov	r7,r21
   44328:	dac01615 	stw	r11,88(sp)
   4432c:	0048f800 	call	48f80 <__muldf3>
   44330:	a00b883a 	mov	r5,r20
   44334:	9809883a 	mov	r4,r19
   44338:	d8c01215 	stw	r3,72(sp)
   4433c:	d8801115 	stw	r2,68(sp)
   44340:	00495140 	call	49514 <__fixdfsi>
   44344:	1009883a 	mov	r4,r2
   44348:	1025883a 	mov	r18,r2
   4434c:	00494400 	call	49440 <__floatsidf>
   44350:	9809883a 	mov	r4,r19
   44354:	a00b883a 	mov	r5,r20
   44358:	100d883a 	mov	r6,r2
   4435c:	180f883a 	mov	r7,r3
   44360:	94800c04 	addi	r18,r18,48
   44364:	0048f200 	call	48f20 <__subdf3>
   44368:	bc800005 	stb	r18,0(r23)
   4436c:	dac01617 	ldw	r11,88(sp)
   44370:	102b883a 	mov	r21,r2
   44374:	00800044 	movi	r2,1
   44378:	bd800044 	addi	r22,r23,1
   4437c:	1815883a 	mov	r10,r3
   44380:	58802226 	beq	r11,r2,4440c <_dtoa_r+0x1410>
   44384:	bad7883a 	add	r11,r23,r11
   44388:	dc001415 	stw	r16,80(sp)
   4438c:	a805883a 	mov	r2,r21
   44390:	b027883a 	mov	r19,r22
   44394:	5821883a 	mov	r16,r11
   44398:	882b883a 	mov	r21,r17
   4439c:	000d883a 	mov	r6,zero
   443a0:	01d00934 	movhi	r7,16420
   443a4:	1009883a 	mov	r4,r2
   443a8:	180b883a 	mov	r5,r3
   443ac:	0048f800 	call	48f80 <__muldf3>
   443b0:	180b883a 	mov	r5,r3
   443b4:	1009883a 	mov	r4,r2
   443b8:	1829883a 	mov	r20,r3
   443bc:	1023883a 	mov	r17,r2
   443c0:	00495140 	call	49514 <__fixdfsi>
   443c4:	1009883a 	mov	r4,r2
   443c8:	1025883a 	mov	r18,r2
   443cc:	00494400 	call	49440 <__floatsidf>
   443d0:	8809883a 	mov	r4,r17
   443d4:	a00b883a 	mov	r5,r20
   443d8:	100d883a 	mov	r6,r2
   443dc:	180f883a 	mov	r7,r3
   443e0:	94800c04 	addi	r18,r18,48
   443e4:	0048f200 	call	48f20 <__subdf3>
   443e8:	9cc00044 	addi	r19,r19,1
   443ec:	9cbfffc5 	stb	r18,-1(r19)
   443f0:	9c3fea1e 	bne	r19,r16,4439c <__alt_data_end+0xfffdd29c>
   443f4:	1815883a 	mov	r10,r3
   443f8:	d8c01017 	ldw	r3,64(sp)
   443fc:	dc001417 	ldw	r16,80(sp)
   44400:	a823883a 	mov	r17,r21
   44404:	b0ed883a 	add	r22,r22,r3
   44408:	102b883a 	mov	r21,r2
   4440c:	d9001117 	ldw	r4,68(sp)
   44410:	d9401217 	ldw	r5,72(sp)
   44414:	000d883a 	mov	r6,zero
   44418:	01cff834 	movhi	r7,16352
   4441c:	da801515 	stw	r10,84(sp)
   44420:	0048ecc0 	call	48ecc <__adddf3>
   44424:	da801517 	ldw	r10,84(sp)
   44428:	1009883a 	mov	r4,r2
   4442c:	180b883a 	mov	r5,r3
   44430:	500f883a 	mov	r7,r10
   44434:	a80d883a 	mov	r6,r21
   44438:	00493e40 	call	493e4 <__ltdf2>
   4443c:	da801517 	ldw	r10,84(sp)
   44440:	10003b0e 	bge	r2,zero,44530 <_dtoa_r+0x1534>
   44444:	d9c01317 	ldw	r7,76(sp)
   44448:	b53fffc3 	ldbu	r20,-1(r22)
   4444c:	d9c00615 	stw	r7,24(sp)
   44450:	003d3106 	br	43918 <__alt_data_end+0xfffdc818>
   44454:	d8800817 	ldw	r2,32(sp)
   44458:	11e5c83a 	sub	r18,r2,r7
   4445c:	0005883a 	mov	r2,zero
   44460:	003d5006 	br	439a4 <__alt_data_end+0xfffdc8a4>
   44464:	05800044 	movi	r22,1
   44468:	003dc406 	br	43b7c <__alt_data_end+0xfffdca7c>
   4446c:	a5000044 	addi	r20,r20,1
   44470:	15000005 	stb	r20,0(r2)
   44474:	003c8206 	br	43680 <__alt_data_end+0xfffdc580>
   44478:	d8800217 	ldw	r2,8(sp)
   4447c:	00c00d84 	movi	r3,54
   44480:	dcc00a17 	ldw	r19,40(sp)
   44484:	1885c83a 	sub	r2,r3,r2
   44488:	dc800817 	ldw	r18,32(sp)
   4448c:	003d4506 	br	439a4 <__alt_data_end+0xfffdc8a4>
   44490:	dcc00317 	ldw	r19,12(sp)
   44494:	8829883a 	mov	r20,r17
   44498:	04800084 	movi	r18,2
   4449c:	003bea06 	br	43448 <__alt_data_end+0xfffdc348>
   444a0:	d9000917 	ldw	r4,36(sp)
   444a4:	203f1126 	beq	r4,zero,440ec <__alt_data_end+0xfffdcfec>
   444a8:	d9c00e17 	ldw	r7,56(sp)
   444ac:	01fca20e 	bge	zero,r7,43738 <__alt_data_end+0xfffdc638>
   444b0:	a00b883a 	mov	r5,r20
   444b4:	9809883a 	mov	r4,r19
   444b8:	000d883a 	mov	r6,zero
   444bc:	01d00934 	movhi	r7,16420
   444c0:	0048f800 	call	48f80 <__muldf3>
   444c4:	91000044 	addi	r4,r18,1
   444c8:	1027883a 	mov	r19,r2
   444cc:	1829883a 	mov	r20,r3
   444d0:	00494400 	call	49440 <__floatsidf>
   444d4:	9809883a 	mov	r4,r19
   444d8:	a00b883a 	mov	r5,r20
   444dc:	100d883a 	mov	r6,r2
   444e0:	180f883a 	mov	r7,r3
   444e4:	0048f800 	call	48f80 <__muldf3>
   444e8:	1009883a 	mov	r4,r2
   444ec:	180b883a 	mov	r5,r3
   444f0:	000d883a 	mov	r6,zero
   444f4:	01d00734 	movhi	r7,16412
   444f8:	0048ecc0 	call	48ecc <__adddf3>
   444fc:	1025883a 	mov	r18,r2
   44500:	d8800617 	ldw	r2,24(sp)
   44504:	057f3034 	movhi	r21,64704
   44508:	1d6b883a 	add	r21,r3,r21
   4450c:	10bfffc4 	addi	r2,r2,-1
   44510:	d8801315 	stw	r2,76(sp)
   44514:	dac00e17 	ldw	r11,56(sp)
   44518:	003be706 	br	434b8 <__alt_data_end+0xfffdc3b8>
   4451c:	01000e44 	movi	r4,57
   44520:	91000005 	stb	r4,0(r18)
   44524:	95800044 	addi	r22,r18,1
   44528:	982b883a 	mov	r21,r19
   4452c:	003da106 	br	43bb4 <__alt_data_end+0xfffdcab4>
   44530:	d9801117 	ldw	r6,68(sp)
   44534:	d9c01217 	ldw	r7,72(sp)
   44538:	0009883a 	mov	r4,zero
   4453c:	014ff834 	movhi	r5,16352
   44540:	da801515 	stw	r10,84(sp)
   44544:	0048f200 	call	48f20 <__subdf3>
   44548:	da801517 	ldw	r10,84(sp)
   4454c:	1009883a 	mov	r4,r2
   44550:	180b883a 	mov	r5,r3
   44554:	a80d883a 	mov	r6,r21
   44558:	500f883a 	mov	r7,r10
   4455c:	004931c0 	call	4931c <__gtdf2>
   44560:	00bc750e 	bge	zero,r2,43738 <__alt_data_end+0xfffdc638>
   44564:	01000c04 	movi	r4,48
   44568:	00000106 	br	44570 <_dtoa_r+0x1574>
   4456c:	102d883a 	mov	r22,r2
   44570:	b0bfffc4 	addi	r2,r22,-1
   44574:	10c00007 	ldb	r3,0(r2)
   44578:	193ffc26 	beq	r3,r4,4456c <__alt_data_end+0xfffdd46c>
   4457c:	d8801317 	ldw	r2,76(sp)
   44580:	d8800615 	stw	r2,24(sp)
   44584:	003c3e06 	br	43680 <__alt_data_end+0xfffdc580>
   44588:	d9001317 	ldw	r4,76(sp)
   4458c:	df001117 	ldw	fp,68(sp)
   44590:	d9000615 	stw	r4,24(sp)
   44594:	003ce006 	br	43918 <__alt_data_end+0xfffdc818>
   44598:	df001117 	ldw	fp,68(sp)
   4459c:	dc401217 	ldw	r17,72(sp)
   445a0:	003c6506 	br	43738 <__alt_data_end+0xfffdc638>
   445a4:	103e7a1e 	bne	r2,zero,43f90 <__alt_data_end+0xfffdce90>
   445a8:	1880004c 	andi	r2,r3,1
   445ac:	103e7826 	beq	r2,zero,43f90 <__alt_data_end+0xfffdce90>
   445b0:	003e7406 	br	43f84 <__alt_data_end+0xfffdce84>
   445b4:	8009883a 	mov	r4,r16
   445b8:	a80b883a 	mov	r5,r21
   445bc:	01800284 	movi	r6,10
   445c0:	000f883a 	mov	r7,zero
   445c4:	00464240 	call	46424 <__multadd>
   445c8:	d9000e17 	ldw	r4,56(sp)
   445cc:	102b883a 	mov	r21,r2
   445d0:	d9000915 	stw	r4,36(sp)
   445d4:	003d5106 	br	43b1c <__alt_data_end+0xfffdca1c>
   445d8:	04800084 	movi	r18,2
   445dc:	003b9a06 	br	43448 <__alt_data_end+0xfffdc348>
   445e0:	d8c01317 	ldw	r3,76(sp)
   445e4:	d8c00615 	stw	r3,24(sp)
   445e8:	003ccb06 	br	43918 <__alt_data_end+0xfffdc818>
   445ec:	d8c01317 	ldw	r3,76(sp)
   445f0:	d8c00615 	stw	r3,24(sp)
   445f4:	003c2206 	br	43680 <__alt_data_end+0xfffdc580>
   445f8:	20fd3826 	beq	r4,r3,43adc <__alt_data_end+0xfffdc9dc>
   445fc:	00c00f04 	movi	r3,60
   44600:	1885c83a 	sub	r2,r3,r2
   44604:	003da906 	br	43cac <__alt_data_end+0xfffdcbac>
   44608:	000b883a 	mov	r5,zero
   4460c:	003b5406 	br	43360 <__alt_data_end+0xfffdc260>
   44610:	04c00044 	movi	r19,1
   44614:	003b3b06 	br	43304 <__alt_data_end+0xfffdc204>

00044618 <_fflush_r>:
   44618:	defffb04 	addi	sp,sp,-20
   4461c:	dcc00315 	stw	r19,12(sp)
   44620:	dc400115 	stw	r17,4(sp)
   44624:	dfc00415 	stw	ra,16(sp)
   44628:	dc800215 	stw	r18,8(sp)
   4462c:	dc000015 	stw	r16,0(sp)
   44630:	2027883a 	mov	r19,r4
   44634:	2823883a 	mov	r17,r5
   44638:	20000226 	beq	r4,zero,44644 <_fflush_r+0x2c>
   4463c:	20800e17 	ldw	r2,56(r4)
   44640:	10005726 	beq	r2,zero,447a0 <_fflush_r+0x188>
   44644:	8880030b 	ldhu	r2,12(r17)
   44648:	10c0020c 	andi	r3,r2,8
   4464c:	18ffffcc 	andi	r3,r3,65535
   44650:	18e0001c 	xori	r3,r3,32768
   44654:	18e00004 	addi	r3,r3,-32768
   44658:	1800311e 	bne	r3,zero,44720 <_fflush_r+0x108>
   4465c:	89000117 	ldw	r4,4(r17)
   44660:	10c20014 	ori	r3,r2,2048
   44664:	88c0030d 	sth	r3,12(r17)
   44668:	180b883a 	mov	r5,r3
   4466c:	0100520e 	bge	zero,r4,447b8 <_fflush_r+0x1a0>
   44670:	88c00a17 	ldw	r3,40(r17)
   44674:	18002226 	beq	r3,zero,44700 <_fflush_r+0xe8>
   44678:	1084000c 	andi	r2,r2,4096
   4467c:	10bfffcc 	andi	r2,r2,65535
   44680:	10a0001c 	xori	r2,r2,32768
   44684:	10a00004 	addi	r2,r2,-32768
   44688:	10004e26 	beq	r2,zero,447c4 <_fflush_r+0x1ac>
   4468c:	8c001417 	ldw	r16,80(r17)
   44690:	2940010c 	andi	r5,r5,4
   44694:	297fffcc 	andi	r5,r5,65535
   44698:	2960001c 	xori	r5,r5,32768
   4469c:	29600004 	addi	r5,r5,-32768
   446a0:	28000626 	beq	r5,zero,446bc <_fflush_r+0xa4>
   446a4:	89000117 	ldw	r4,4(r17)
   446a8:	88800c17 	ldw	r2,48(r17)
   446ac:	8121c83a 	sub	r16,r16,r4
   446b0:	10000226 	beq	r2,zero,446bc <_fflush_r+0xa4>
   446b4:	88800f17 	ldw	r2,60(r17)
   446b8:	80a1c83a 	sub	r16,r16,r2
   446bc:	89400717 	ldw	r5,28(r17)
   446c0:	9809883a 	mov	r4,r19
   446c4:	800d883a 	mov	r6,r16
   446c8:	000f883a 	mov	r7,zero
   446cc:	183ee83a 	callr	r3
   446d0:	8080281e 	bne	r16,r2,44774 <_fflush_r+0x15c>
   446d4:	8880030b 	ldhu	r2,12(r17)
   446d8:	88c00417 	ldw	r3,16(r17)
   446dc:	88000115 	stw	zero,4(r17)
   446e0:	113dffcc 	andi	r4,r2,63487
   446e4:	1084000c 	andi	r2,r2,4096
   446e8:	10bfffcc 	andi	r2,r2,65535
   446ec:	10a0001c 	xori	r2,r2,32768
   446f0:	8900030d 	sth	r4,12(r17)
   446f4:	88c00015 	stw	r3,0(r17)
   446f8:	10a00004 	addi	r2,r2,-32768
   446fc:	10002c1e 	bne	r2,zero,447b0 <_fflush_r+0x198>
   44700:	0005883a 	mov	r2,zero
   44704:	dfc00417 	ldw	ra,16(sp)
   44708:	dcc00317 	ldw	r19,12(sp)
   4470c:	dc800217 	ldw	r18,8(sp)
   44710:	dc400117 	ldw	r17,4(sp)
   44714:	dc000017 	ldw	r16,0(sp)
   44718:	dec00504 	addi	sp,sp,20
   4471c:	f800283a 	ret
   44720:	8c800417 	ldw	r18,16(r17)
   44724:	903ff626 	beq	r18,zero,44700 <__alt_data_end+0xfffdd600>
   44728:	8c000017 	ldw	r16,0(r17)
   4472c:	108000cc 	andi	r2,r2,3
   44730:	8c800015 	stw	r18,0(r17)
   44734:	84a1c83a 	sub	r16,r16,r18
   44738:	10001b1e 	bne	r2,zero,447a8 <_fflush_r+0x190>
   4473c:	88800517 	ldw	r2,20(r17)
   44740:	88800215 	stw	r2,8(r17)
   44744:	04000316 	blt	zero,r16,44754 <_fflush_r+0x13c>
   44748:	003fed06 	br	44700 <__alt_data_end+0xfffdd600>
   4474c:	90a5883a 	add	r18,r18,r2
   44750:	043feb0e 	bge	zero,r16,44700 <__alt_data_end+0xfffdd600>
   44754:	88800917 	ldw	r2,36(r17)
   44758:	89400717 	ldw	r5,28(r17)
   4475c:	800f883a 	mov	r7,r16
   44760:	900d883a 	mov	r6,r18
   44764:	9809883a 	mov	r4,r19
   44768:	103ee83a 	callr	r2
   4476c:	80a1c83a 	sub	r16,r16,r2
   44770:	00bff616 	blt	zero,r2,4474c <__alt_data_end+0xfffdd64c>
   44774:	88c0030b 	ldhu	r3,12(r17)
   44778:	00bfffc4 	movi	r2,-1
   4477c:	18c01014 	ori	r3,r3,64
   44780:	88c0030d 	sth	r3,12(r17)
   44784:	dfc00417 	ldw	ra,16(sp)
   44788:	dcc00317 	ldw	r19,12(sp)
   4478c:	dc800217 	ldw	r18,8(sp)
   44790:	dc400117 	ldw	r17,4(sp)
   44794:	dc000017 	ldw	r16,0(sp)
   44798:	dec00504 	addi	sp,sp,20
   4479c:	f800283a 	ret
   447a0:	00448c00 	call	448c0 <__sinit>
   447a4:	003fa706 	br	44644 <__alt_data_end+0xfffdd544>
   447a8:	0005883a 	mov	r2,zero
   447ac:	003fe406 	br	44740 <__alt_data_end+0xfffdd640>
   447b0:	8c001415 	stw	r16,80(r17)
   447b4:	003fd206 	br	44700 <__alt_data_end+0xfffdd600>
   447b8:	88c00f17 	ldw	r3,60(r17)
   447bc:	00ffac16 	blt	zero,r3,44670 <__alt_data_end+0xfffdd570>
   447c0:	003fcf06 	br	44700 <__alt_data_end+0xfffdd600>
   447c4:	89400717 	ldw	r5,28(r17)
   447c8:	9809883a 	mov	r4,r19
   447cc:	000d883a 	mov	r6,zero
   447d0:	01c00044 	movi	r7,1
   447d4:	183ee83a 	callr	r3
   447d8:	1021883a 	mov	r16,r2
   447dc:	00bfffc4 	movi	r2,-1
   447e0:	80800326 	beq	r16,r2,447f0 <_fflush_r+0x1d8>
   447e4:	8940030b 	ldhu	r5,12(r17)
   447e8:	88c00a17 	ldw	r3,40(r17)
   447ec:	003fa806 	br	44690 <__alt_data_end+0xfffdd590>
   447f0:	98c00017 	ldw	r3,0(r19)
   447f4:	00800744 	movi	r2,29
   447f8:	18bfde1e 	bne	r3,r2,44774 <__alt_data_end+0xfffdd674>
   447fc:	003fc006 	br	44700 <__alt_data_end+0xfffdd600>

00044800 <fflush>:
   44800:	200b883a 	mov	r5,r4
   44804:	20000426 	beq	r4,zero,44818 <fflush+0x18>
   44808:	00800174 	movhi	r2,5
   4480c:	10b7cd04 	addi	r2,r2,-8396
   44810:	11000017 	ldw	r4,0(r2)
   44814:	00446181 	jmpi	44618 <_fflush_r>
   44818:	00800174 	movhi	r2,5
   4481c:	10b7cc04 	addi	r2,r2,-8400
   44820:	11000017 	ldw	r4,0(r2)
   44824:	01400134 	movhi	r5,4
   44828:	29518604 	addi	r5,r5,17944
   4482c:	00454a01 	jmpi	454a0 <_fwalk_reent>

00044830 <__fp_lock>:
   44830:	0005883a 	mov	r2,zero
   44834:	f800283a 	ret

00044838 <__fp_unlock>:
   44838:	0005883a 	mov	r2,zero
   4483c:	f800283a 	ret

00044840 <_cleanup_r>:
   44840:	01400134 	movhi	r5,4
   44844:	295f9b04 	addi	r5,r5,32364
   44848:	00453f81 	jmpi	453f8 <_fwalk>

0004484c <__sfmoreglue>:
   4484c:	defffc04 	addi	sp,sp,-16
   44850:	dc400115 	stw	r17,4(sp)
   44854:	2c401724 	muli	r17,r5,92
   44858:	dc800215 	stw	r18,8(sp)
   4485c:	2825883a 	mov	r18,r5
   44860:	89400304 	addi	r5,r17,12
   44864:	dc000015 	stw	r16,0(sp)
   44868:	dfc00315 	stw	ra,12(sp)
   4486c:	00457dc0 	call	457dc <_malloc_r>
   44870:	1021883a 	mov	r16,r2
   44874:	10000726 	beq	r2,zero,44894 <__sfmoreglue+0x48>
   44878:	11000304 	addi	r4,r2,12
   4487c:	10000015 	stw	zero,0(r2)
   44880:	14800115 	stw	r18,4(r2)
   44884:	11000215 	stw	r4,8(r2)
   44888:	000b883a 	mov	r5,zero
   4488c:	880d883a 	mov	r6,r17
   44890:	00462780 	call	46278 <memset>
   44894:	8005883a 	mov	r2,r16
   44898:	dfc00317 	ldw	ra,12(sp)
   4489c:	dc800217 	ldw	r18,8(sp)
   448a0:	dc400117 	ldw	r17,4(sp)
   448a4:	dc000017 	ldw	r16,0(sp)
   448a8:	dec00404 	addi	sp,sp,16
   448ac:	f800283a 	ret

000448b0 <_cleanup>:
   448b0:	00800174 	movhi	r2,5
   448b4:	10b7cc04 	addi	r2,r2,-8400
   448b8:	11000017 	ldw	r4,0(r2)
   448bc:	00448401 	jmpi	44840 <_cleanup_r>

000448c0 <__sinit>:
   448c0:	20800e17 	ldw	r2,56(r4)
   448c4:	1000401e 	bne	r2,zero,449c8 <__sinit+0x108>
   448c8:	21400117 	ldw	r5,4(r4)
   448cc:	01800134 	movhi	r6,4
   448d0:	31921004 	addi	r6,r6,18496
   448d4:	20c00217 	ldw	r3,8(r4)
   448d8:	21800f15 	stw	r6,60(r4)
   448dc:	2080bb04 	addi	r2,r4,748
   448e0:	02400044 	movi	r9,1
   448e4:	018000c4 	movi	r6,3
   448e8:	2180b915 	stw	r6,740(r4)
   448ec:	2080ba15 	stw	r2,744(r4)
   448f0:	22400e15 	stw	r9,56(r4)
   448f4:	20800317 	ldw	r2,12(r4)
   448f8:	2000b815 	stw	zero,736(r4)
   448fc:	02000134 	movhi	r8,4
   44900:	421e7004 	addi	r8,r8,31168
   44904:	01c00134 	movhi	r7,4
   44908:	39de8504 	addi	r7,r7,31252
   4490c:	01800134 	movhi	r6,4
   44910:	319ea704 	addi	r6,r6,31388
   44914:	01000134 	movhi	r4,4
   44918:	211ebe04 	addi	r4,r4,31480
   4491c:	02800104 	movi	r10,4
   44920:	28000015 	stw	zero,0(r5)
   44924:	28000115 	stw	zero,4(r5)
   44928:	28000215 	stw	zero,8(r5)
   4492c:	2a80030d 	sth	r10,12(r5)
   44930:	2800038d 	sth	zero,14(r5)
   44934:	28000415 	stw	zero,16(r5)
   44938:	28000515 	stw	zero,20(r5)
   4493c:	28000615 	stw	zero,24(r5)
   44940:	29400715 	stw	r5,28(r5)
   44944:	2a000815 	stw	r8,32(r5)
   44948:	29c00915 	stw	r7,36(r5)
   4494c:	29800a15 	stw	r6,40(r5)
   44950:	29000b15 	stw	r4,44(r5)
   44954:	01400284 	movi	r5,10
   44958:	18000015 	stw	zero,0(r3)
   4495c:	18000115 	stw	zero,4(r3)
   44960:	18000215 	stw	zero,8(r3)
   44964:	1940030d 	sth	r5,12(r3)
   44968:	1a40038d 	sth	r9,14(r3)
   4496c:	18000415 	stw	zero,16(r3)
   44970:	18000515 	stw	zero,20(r3)
   44974:	18000615 	stw	zero,24(r3)
   44978:	18c00715 	stw	r3,28(r3)
   4497c:	1a000815 	stw	r8,32(r3)
   44980:	19c00915 	stw	r7,36(r3)
   44984:	19800a15 	stw	r6,40(r3)
   44988:	19000b15 	stw	r4,44(r3)
   4498c:	00c00484 	movi	r3,18
   44990:	10c0030d 	sth	r3,12(r2)
   44994:	00c00084 	movi	r3,2
   44998:	10000015 	stw	zero,0(r2)
   4499c:	10000115 	stw	zero,4(r2)
   449a0:	10000215 	stw	zero,8(r2)
   449a4:	10c0038d 	sth	r3,14(r2)
   449a8:	10000415 	stw	zero,16(r2)
   449ac:	10000515 	stw	zero,20(r2)
   449b0:	10000615 	stw	zero,24(r2)
   449b4:	10800715 	stw	r2,28(r2)
   449b8:	12000815 	stw	r8,32(r2)
   449bc:	11c00915 	stw	r7,36(r2)
   449c0:	11800a15 	stw	r6,40(r2)
   449c4:	11000b15 	stw	r4,44(r2)
   449c8:	f800283a 	ret

000449cc <__sfp>:
   449cc:	defffc04 	addi	sp,sp,-16
   449d0:	00800174 	movhi	r2,5
   449d4:	10b7cc04 	addi	r2,r2,-8400
   449d8:	dc400115 	stw	r17,4(sp)
   449dc:	14400017 	ldw	r17,0(r2)
   449e0:	dc800215 	stw	r18,8(sp)
   449e4:	dfc00315 	stw	ra,12(sp)
   449e8:	88800e17 	ldw	r2,56(r17)
   449ec:	dc000015 	stw	r16,0(sp)
   449f0:	2025883a 	mov	r18,r4
   449f4:	10002826 	beq	r2,zero,44a98 <__sfp+0xcc>
   449f8:	8c40b804 	addi	r17,r17,736
   449fc:	043fffc4 	movi	r16,-1
   44a00:	89400117 	ldw	r5,4(r17)
   44a04:	88800217 	ldw	r2,8(r17)
   44a08:	297fffc4 	addi	r5,r5,-1
   44a0c:	28000a16 	blt	r5,zero,44a38 <__sfp+0x6c>
   44a10:	10c0030f 	ldh	r3,12(r2)
   44a14:	18000c26 	beq	r3,zero,44a48 <__sfp+0x7c>
   44a18:	10c01a04 	addi	r3,r2,104
   44a1c:	00000206 	br	44a28 <__sfp+0x5c>
   44a20:	19bfe90f 	ldh	r6,-92(r3)
   44a24:	30000826 	beq	r6,zero,44a48 <__sfp+0x7c>
   44a28:	297fffc4 	addi	r5,r5,-1
   44a2c:	18bffd04 	addi	r2,r3,-12
   44a30:	18c01704 	addi	r3,r3,92
   44a34:	2c3ffa1e 	bne	r5,r16,44a20 <__alt_data_end+0xfffdd920>
   44a38:	88800017 	ldw	r2,0(r17)
   44a3c:	10001926 	beq	r2,zero,44aa4 <__sfp+0xd8>
   44a40:	1023883a 	mov	r17,r2
   44a44:	003fee06 	br	44a00 <__alt_data_end+0xfffdd900>
   44a48:	00ffffc4 	movi	r3,-1
   44a4c:	10c0038d 	sth	r3,14(r2)
   44a50:	00c00044 	movi	r3,1
   44a54:	10c0030d 	sth	r3,12(r2)
   44a58:	10000015 	stw	zero,0(r2)
   44a5c:	10000215 	stw	zero,8(r2)
   44a60:	10000115 	stw	zero,4(r2)
   44a64:	10000415 	stw	zero,16(r2)
   44a68:	10000515 	stw	zero,20(r2)
   44a6c:	10000615 	stw	zero,24(r2)
   44a70:	10000c15 	stw	zero,48(r2)
   44a74:	10000d15 	stw	zero,52(r2)
   44a78:	10001115 	stw	zero,68(r2)
   44a7c:	10001215 	stw	zero,72(r2)
   44a80:	dfc00317 	ldw	ra,12(sp)
   44a84:	dc800217 	ldw	r18,8(sp)
   44a88:	dc400117 	ldw	r17,4(sp)
   44a8c:	dc000017 	ldw	r16,0(sp)
   44a90:	dec00404 	addi	sp,sp,16
   44a94:	f800283a 	ret
   44a98:	8809883a 	mov	r4,r17
   44a9c:	00448c00 	call	448c0 <__sinit>
   44aa0:	003fd506 	br	449f8 <__alt_data_end+0xfffdd8f8>
   44aa4:	9009883a 	mov	r4,r18
   44aa8:	01400104 	movi	r5,4
   44aac:	004484c0 	call	4484c <__sfmoreglue>
   44ab0:	88800015 	stw	r2,0(r17)
   44ab4:	103fe21e 	bne	r2,zero,44a40 <__alt_data_end+0xfffdd940>
   44ab8:	00800304 	movi	r2,12
   44abc:	90800015 	stw	r2,0(r18)
   44ac0:	0005883a 	mov	r2,zero
   44ac4:	003fee06 	br	44a80 <__alt_data_end+0xfffdd980>

00044ac8 <__sfp_lock_acquire>:
   44ac8:	f800283a 	ret

00044acc <__sfp_lock_release>:
   44acc:	f800283a 	ret

00044ad0 <__sinit_lock_acquire>:
   44ad0:	f800283a 	ret

00044ad4 <__sinit_lock_release>:
   44ad4:	f800283a 	ret

00044ad8 <__fp_lock_all>:
   44ad8:	00800174 	movhi	r2,5
   44adc:	10b7cd04 	addi	r2,r2,-8396
   44ae0:	11000017 	ldw	r4,0(r2)
   44ae4:	01400134 	movhi	r5,4
   44ae8:	29520c04 	addi	r5,r5,18480
   44aec:	00453f81 	jmpi	453f8 <_fwalk>

00044af0 <__fp_unlock_all>:
   44af0:	00800174 	movhi	r2,5
   44af4:	10b7cd04 	addi	r2,r2,-8396
   44af8:	11000017 	ldw	r4,0(r2)
   44afc:	01400134 	movhi	r5,4
   44b00:	29520e04 	addi	r5,r5,18488
   44b04:	00453f81 	jmpi	453f8 <_fwalk>

00044b08 <_malloc_trim_r>:
   44b08:	defffb04 	addi	sp,sp,-20
   44b0c:	dcc00315 	stw	r19,12(sp)
   44b10:	dc800215 	stw	r18,8(sp)
   44b14:	dc400115 	stw	r17,4(sp)
   44b18:	dc000015 	stw	r16,0(sp)
   44b1c:	2827883a 	mov	r19,r5
   44b20:	dfc00415 	stw	ra,16(sp)
   44b24:	04400174 	movhi	r17,5
   44b28:	8c724804 	addi	r17,r17,-14048
   44b2c:	2021883a 	mov	r16,r4
   44b30:	0049f080 	call	49f08 <__malloc_lock>
   44b34:	88800217 	ldw	r2,8(r17)
   44b38:	14800117 	ldw	r18,4(r2)
   44b3c:	00bfff04 	movi	r2,-4
   44b40:	90a4703a 	and	r18,r18,r2
   44b44:	9083fbc4 	addi	r2,r18,4079
   44b48:	14e7c83a 	sub	r19,r2,r19
   44b4c:	9826d33a 	srli	r19,r19,12
   44b50:	0083ffc4 	movi	r2,4095
   44b54:	9cffffc4 	addi	r19,r19,-1
   44b58:	9826933a 	slli	r19,r19,12
   44b5c:	14c0060e 	bge	r2,r19,44b78 <_malloc_trim_r+0x70>
   44b60:	8009883a 	mov	r4,r16
   44b64:	000b883a 	mov	r5,zero
   44b68:	004795c0 	call	4795c <_sbrk_r>
   44b6c:	88c00217 	ldw	r3,8(r17)
   44b70:	1c87883a 	add	r3,r3,r18
   44b74:	10c00a26 	beq	r2,r3,44ba0 <_malloc_trim_r+0x98>
   44b78:	8009883a 	mov	r4,r16
   44b7c:	0049f280 	call	49f28 <__malloc_unlock>
   44b80:	0005883a 	mov	r2,zero
   44b84:	dfc00417 	ldw	ra,16(sp)
   44b88:	dcc00317 	ldw	r19,12(sp)
   44b8c:	dc800217 	ldw	r18,8(sp)
   44b90:	dc400117 	ldw	r17,4(sp)
   44b94:	dc000017 	ldw	r16,0(sp)
   44b98:	dec00504 	addi	sp,sp,20
   44b9c:	f800283a 	ret
   44ba0:	8009883a 	mov	r4,r16
   44ba4:	04cbc83a 	sub	r5,zero,r19
   44ba8:	004795c0 	call	4795c <_sbrk_r>
   44bac:	00ffffc4 	movi	r3,-1
   44bb0:	10c01326 	beq	r2,r3,44c00 <_malloc_trim_r+0xf8>
   44bb4:	00800174 	movhi	r2,5
   44bb8:	10be7e04 	addi	r2,r2,-1544
   44bbc:	11000017 	ldw	r4,0(r2)
   44bc0:	88c00217 	ldw	r3,8(r17)
   44bc4:	94e5c83a 	sub	r18,r18,r19
   44bc8:	94800054 	ori	r18,r18,1
   44bcc:	24e7c83a 	sub	r19,r4,r19
   44bd0:	1c800115 	stw	r18,4(r3)
   44bd4:	8009883a 	mov	r4,r16
   44bd8:	14c00015 	stw	r19,0(r2)
   44bdc:	0049f280 	call	49f28 <__malloc_unlock>
   44be0:	00800044 	movi	r2,1
   44be4:	dfc00417 	ldw	ra,16(sp)
   44be8:	dcc00317 	ldw	r19,12(sp)
   44bec:	dc800217 	ldw	r18,8(sp)
   44bf0:	dc400117 	ldw	r17,4(sp)
   44bf4:	dc000017 	ldw	r16,0(sp)
   44bf8:	dec00504 	addi	sp,sp,20
   44bfc:	f800283a 	ret
   44c00:	8009883a 	mov	r4,r16
   44c04:	000b883a 	mov	r5,zero
   44c08:	004795c0 	call	4795c <_sbrk_r>
   44c0c:	88c00217 	ldw	r3,8(r17)
   44c10:	014003c4 	movi	r5,15
   44c14:	10c9c83a 	sub	r4,r2,r3
   44c18:	293fd70e 	bge	r5,r4,44b78 <__alt_data_end+0xfffdda78>
   44c1c:	01400174 	movhi	r5,5
   44c20:	2977cf04 	addi	r5,r5,-8388
   44c24:	29400017 	ldw	r5,0(r5)
   44c28:	21000054 	ori	r4,r4,1
   44c2c:	19000115 	stw	r4,4(r3)
   44c30:	1145c83a 	sub	r2,r2,r5
   44c34:	01400174 	movhi	r5,5
   44c38:	297e7e04 	addi	r5,r5,-1544
   44c3c:	28800015 	stw	r2,0(r5)
   44c40:	003fcd06 	br	44b78 <__alt_data_end+0xfffdda78>

00044c44 <_free_r>:
   44c44:	defffd04 	addi	sp,sp,-12
   44c48:	dc400115 	stw	r17,4(sp)
   44c4c:	dc000015 	stw	r16,0(sp)
   44c50:	dfc00215 	stw	ra,8(sp)
   44c54:	2821883a 	mov	r16,r5
   44c58:	2023883a 	mov	r17,r4
   44c5c:	28004b26 	beq	r5,zero,44d8c <_free_r+0x148>
   44c60:	0049f080 	call	49f08 <__malloc_lock>
   44c64:	823fff17 	ldw	r8,-4(r16)
   44c68:	00bfff84 	movi	r2,-2
   44c6c:	81bffe04 	addi	r6,r16,-8
   44c70:	4084703a 	and	r2,r8,r2
   44c74:	3087883a 	add	r3,r6,r2
   44c78:	01400174 	movhi	r5,5
   44c7c:	29724804 	addi	r5,r5,-14048
   44c80:	1a400117 	ldw	r9,4(r3)
   44c84:	29000217 	ldw	r4,8(r5)
   44c88:	01ffff04 	movi	r7,-4
   44c8c:	49ce703a 	and	r7,r9,r7
   44c90:	20c06526 	beq	r4,r3,44e28 <_free_r+0x1e4>
   44c94:	19c00115 	stw	r7,4(r3)
   44c98:	4200004c 	andi	r8,r8,1
   44c9c:	40003026 	beq	r8,zero,44d60 <_free_r+0x11c>
   44ca0:	0009883a 	mov	r4,zero
   44ca4:	19d1883a 	add	r8,r3,r7
   44ca8:	42000117 	ldw	r8,4(r8)
   44cac:	4200004c 	andi	r8,r8,1
   44cb0:	4000061e 	bne	r8,zero,44ccc <_free_r+0x88>
   44cb4:	11c5883a 	add	r2,r2,r7
   44cb8:	19c00217 	ldw	r7,8(r3)
   44cbc:	20004e26 	beq	r4,zero,44df8 <_free_r+0x1b4>
   44cc0:	18c00317 	ldw	r3,12(r3)
   44cc4:	38c00315 	stw	r3,12(r7)
   44cc8:	19c00215 	stw	r7,8(r3)
   44ccc:	11c00054 	ori	r7,r2,1
   44cd0:	3087883a 	add	r3,r6,r2
   44cd4:	31c00115 	stw	r7,4(r6)
   44cd8:	18800015 	stw	r2,0(r3)
   44cdc:	20001a1e 	bne	r4,zero,44d48 <_free_r+0x104>
   44ce0:	00c07fc4 	movi	r3,511
   44ce4:	18802e2e 	bgeu	r3,r2,44da0 <_free_r+0x15c>
   44ce8:	1006d27a 	srli	r3,r2,9
   44cec:	01000104 	movi	r4,4
   44cf0:	20c06636 	bltu	r4,r3,44e8c <_free_r+0x248>
   44cf4:	1008d1ba 	srli	r4,r2,6
   44cf8:	21000e04 	addi	r4,r4,56
   44cfc:	210f883a 	add	r7,r4,r4
   44d00:	39cf883a 	add	r7,r7,r7
   44d04:	39cf883a 	add	r7,r7,r7
   44d08:	29cf883a 	add	r7,r5,r7
   44d0c:	38c00217 	ldw	r3,8(r7)
   44d10:	01400174 	movhi	r5,5
   44d14:	29724804 	addi	r5,r5,-14048
   44d18:	19c06126 	beq	r3,r7,44ea0 <_free_r+0x25c>
   44d1c:	013fff04 	movi	r4,-4
   44d20:	19400117 	ldw	r5,4(r3)
   44d24:	290a703a 	and	r5,r5,r4
   44d28:	1140022e 	bgeu	r2,r5,44d34 <_free_r+0xf0>
   44d2c:	18c00217 	ldw	r3,8(r3)
   44d30:	38fffb1e 	bne	r7,r3,44d20 <__alt_data_end+0xfffddc20>
   44d34:	18800317 	ldw	r2,12(r3)
   44d38:	30800315 	stw	r2,12(r6)
   44d3c:	30c00215 	stw	r3,8(r6)
   44d40:	11800215 	stw	r6,8(r2)
   44d44:	19800315 	stw	r6,12(r3)
   44d48:	8809883a 	mov	r4,r17
   44d4c:	dfc00217 	ldw	ra,8(sp)
   44d50:	dc400117 	ldw	r17,4(sp)
   44d54:	dc000017 	ldw	r16,0(sp)
   44d58:	dec00304 	addi	sp,sp,12
   44d5c:	0049f281 	jmpi	49f28 <__malloc_unlock>
   44d60:	813ffe17 	ldw	r4,-8(r16)
   44d64:	2a400204 	addi	r9,r5,8
   44d68:	310dc83a 	sub	r6,r6,r4
   44d6c:	32000217 	ldw	r8,8(r6)
   44d70:	1105883a 	add	r2,r2,r4
   44d74:	42404326 	beq	r8,r9,44e84 <_free_r+0x240>
   44d78:	32400317 	ldw	r9,12(r6)
   44d7c:	0009883a 	mov	r4,zero
   44d80:	42400315 	stw	r9,12(r8)
   44d84:	4a000215 	stw	r8,8(r9)
   44d88:	003fc606 	br	44ca4 <__alt_data_end+0xfffddba4>
   44d8c:	dfc00217 	ldw	ra,8(sp)
   44d90:	dc400117 	ldw	r17,4(sp)
   44d94:	dc000017 	ldw	r16,0(sp)
   44d98:	dec00304 	addi	sp,sp,12
   44d9c:	f800283a 	ret
   44da0:	1004d0fa 	srli	r2,r2,3
   44da4:	02000044 	movi	r8,1
   44da8:	29c00117 	ldw	r7,4(r5)
   44dac:	1087883a 	add	r3,r2,r2
   44db0:	18c7883a 	add	r3,r3,r3
   44db4:	1005d0ba 	srai	r2,r2,2
   44db8:	18c7883a 	add	r3,r3,r3
   44dbc:	28c7883a 	add	r3,r5,r3
   44dc0:	19000217 	ldw	r4,8(r3)
   44dc4:	4084983a 	sll	r2,r8,r2
   44dc8:	30c00315 	stw	r3,12(r6)
   44dcc:	31000215 	stw	r4,8(r6)
   44dd0:	11c4b03a 	or	r2,r2,r7
   44dd4:	21800315 	stw	r6,12(r4)
   44dd8:	8809883a 	mov	r4,r17
   44ddc:	28800115 	stw	r2,4(r5)
   44de0:	19800215 	stw	r6,8(r3)
   44de4:	dfc00217 	ldw	ra,8(sp)
   44de8:	dc400117 	ldw	r17,4(sp)
   44dec:	dc000017 	ldw	r16,0(sp)
   44df0:	dec00304 	addi	sp,sp,12
   44df4:	0049f281 	jmpi	49f28 <__malloc_unlock>
   44df8:	02000174 	movhi	r8,5
   44dfc:	42324a04 	addi	r8,r8,-14040
   44e00:	3a3faf1e 	bne	r7,r8,44cc0 <__alt_data_end+0xfffddbc0>
   44e04:	29800515 	stw	r6,20(r5)
   44e08:	29800415 	stw	r6,16(r5)
   44e0c:	11000054 	ori	r4,r2,1
   44e10:	3087883a 	add	r3,r6,r2
   44e14:	31c00315 	stw	r7,12(r6)
   44e18:	31c00215 	stw	r7,8(r6)
   44e1c:	31000115 	stw	r4,4(r6)
   44e20:	18800015 	stw	r2,0(r3)
   44e24:	003fc806 	br	44d48 <__alt_data_end+0xfffddc48>
   44e28:	4200004c 	andi	r8,r8,1
   44e2c:	3885883a 	add	r2,r7,r2
   44e30:	4000071e 	bne	r8,zero,44e50 <_free_r+0x20c>
   44e34:	81fffe17 	ldw	r7,-8(r16)
   44e38:	31cdc83a 	sub	r6,r6,r7
   44e3c:	30c00317 	ldw	r3,12(r6)
   44e40:	31000217 	ldw	r4,8(r6)
   44e44:	11c5883a 	add	r2,r2,r7
   44e48:	20c00315 	stw	r3,12(r4)
   44e4c:	19000215 	stw	r4,8(r3)
   44e50:	00c00174 	movhi	r3,5
   44e54:	18f7d004 	addi	r3,r3,-8384
   44e58:	18c00017 	ldw	r3,0(r3)
   44e5c:	11000054 	ori	r4,r2,1
   44e60:	31000115 	stw	r4,4(r6)
   44e64:	29800215 	stw	r6,8(r5)
   44e68:	10ffb736 	bltu	r2,r3,44d48 <__alt_data_end+0xfffddc48>
   44e6c:	00800174 	movhi	r2,5
   44e70:	10be7604 	addi	r2,r2,-1576
   44e74:	11400017 	ldw	r5,0(r2)
   44e78:	8809883a 	mov	r4,r17
   44e7c:	0044b080 	call	44b08 <_malloc_trim_r>
   44e80:	003fb106 	br	44d48 <__alt_data_end+0xfffddc48>
   44e84:	01000044 	movi	r4,1
   44e88:	003f8606 	br	44ca4 <__alt_data_end+0xfffddba4>
   44e8c:	01000504 	movi	r4,20
   44e90:	20c00b36 	bltu	r4,r3,44ec0 <_free_r+0x27c>
   44e94:	190016c4 	addi	r4,r3,91
   44e98:	210f883a 	add	r7,r4,r4
   44e9c:	003f9806 	br	44d00 <__alt_data_end+0xfffddc00>
   44ea0:	2009d0ba 	srai	r4,r4,2
   44ea4:	00800044 	movi	r2,1
   44ea8:	29c00117 	ldw	r7,4(r5)
   44eac:	1108983a 	sll	r4,r2,r4
   44eb0:	1805883a 	mov	r2,r3
   44eb4:	21c8b03a 	or	r4,r4,r7
   44eb8:	29000115 	stw	r4,4(r5)
   44ebc:	003f9e06 	br	44d38 <__alt_data_end+0xfffddc38>
   44ec0:	01001504 	movi	r4,84
   44ec4:	20c00436 	bltu	r4,r3,44ed8 <_free_r+0x294>
   44ec8:	1008d33a 	srli	r4,r2,12
   44ecc:	21001b84 	addi	r4,r4,110
   44ed0:	210f883a 	add	r7,r4,r4
   44ed4:	003f8a06 	br	44d00 <__alt_data_end+0xfffddc00>
   44ed8:	01005504 	movi	r4,340
   44edc:	20c00436 	bltu	r4,r3,44ef0 <_free_r+0x2ac>
   44ee0:	1008d3fa 	srli	r4,r2,15
   44ee4:	21001dc4 	addi	r4,r4,119
   44ee8:	210f883a 	add	r7,r4,r4
   44eec:	003f8406 	br	44d00 <__alt_data_end+0xfffddc00>
   44ef0:	01015504 	movi	r4,1364
   44ef4:	20c00436 	bltu	r4,r3,44f08 <_free_r+0x2c4>
   44ef8:	1008d4ba 	srli	r4,r2,18
   44efc:	21001f04 	addi	r4,r4,124
   44f00:	210f883a 	add	r7,r4,r4
   44f04:	003f7e06 	br	44d00 <__alt_data_end+0xfffddc00>
   44f08:	01c03f04 	movi	r7,252
   44f0c:	01001f84 	movi	r4,126
   44f10:	003f7b06 	br	44d00 <__alt_data_end+0xfffddc00>

00044f14 <__sfvwrite_r>:
   44f14:	30800217 	ldw	r2,8(r6)
   44f18:	defff504 	addi	sp,sp,-44
   44f1c:	dd400615 	stw	r21,24(sp)
   44f20:	dd000515 	stw	r20,20(sp)
   44f24:	dc000115 	stw	r16,4(sp)
   44f28:	dfc00a15 	stw	ra,40(sp)
   44f2c:	df000915 	stw	fp,36(sp)
   44f30:	ddc00815 	stw	r23,32(sp)
   44f34:	dd800715 	stw	r22,28(sp)
   44f38:	dcc00415 	stw	r19,16(sp)
   44f3c:	dc800315 	stw	r18,12(sp)
   44f40:	dc400215 	stw	r17,8(sp)
   44f44:	3029883a 	mov	r20,r6
   44f48:	202b883a 	mov	r21,r4
   44f4c:	2821883a 	mov	r16,r5
   44f50:	10002126 	beq	r2,zero,44fd8 <__sfvwrite_r+0xc4>
   44f54:	2880030b 	ldhu	r2,12(r5)
   44f58:	10c0020c 	andi	r3,r2,8
   44f5c:	18ffffcc 	andi	r3,r3,65535
   44f60:	18e0001c 	xori	r3,r3,32768
   44f64:	18e00004 	addi	r3,r3,-32768
   44f68:	18002826 	beq	r3,zero,4500c <__sfvwrite_r+0xf8>
   44f6c:	28c00417 	ldw	r3,16(r5)
   44f70:	18002626 	beq	r3,zero,4500c <__sfvwrite_r+0xf8>
   44f74:	10c0008c 	andi	r3,r2,2
   44f78:	18ffffcc 	andi	r3,r3,65535
   44f7c:	18e0001c 	xori	r3,r3,32768
   44f80:	18e00004 	addi	r3,r3,-32768
   44f84:	a4400017 	ldw	r17,0(r20)
   44f88:	18002b26 	beq	r3,zero,45038 <__sfvwrite_r+0x124>
   44f8c:	0027883a 	mov	r19,zero
   44f90:	0025883a 	mov	r18,zero
   44f94:	05810004 	movi	r22,1024
   44f98:	980d883a 	mov	r6,r19
   44f9c:	a809883a 	mov	r4,r21
   44fa0:	90004f26 	beq	r18,zero,450e0 <__sfvwrite_r+0x1cc>
   44fa4:	900f883a 	mov	r7,r18
   44fa8:	81400717 	ldw	r5,28(r16)
   44fac:	b480012e 	bgeu	r22,r18,44fb4 <__sfvwrite_r+0xa0>
   44fb0:	01c10004 	movi	r7,1024
   44fb4:	80800917 	ldw	r2,36(r16)
   44fb8:	103ee83a 	callr	r2
   44fbc:	0080540e 	bge	zero,r2,45110 <__sfvwrite_r+0x1fc>
   44fc0:	a0c00217 	ldw	r3,8(r20)
   44fc4:	98a7883a 	add	r19,r19,r2
   44fc8:	90a5c83a 	sub	r18,r18,r2
   44fcc:	1885c83a 	sub	r2,r3,r2
   44fd0:	a0800215 	stw	r2,8(r20)
   44fd4:	103ff01e 	bne	r2,zero,44f98 <__alt_data_end+0xfffdde98>
   44fd8:	0005883a 	mov	r2,zero
   44fdc:	dfc00a17 	ldw	ra,40(sp)
   44fe0:	df000917 	ldw	fp,36(sp)
   44fe4:	ddc00817 	ldw	r23,32(sp)
   44fe8:	dd800717 	ldw	r22,28(sp)
   44fec:	dd400617 	ldw	r21,24(sp)
   44ff0:	dd000517 	ldw	r20,20(sp)
   44ff4:	dcc00417 	ldw	r19,16(sp)
   44ff8:	dc800317 	ldw	r18,12(sp)
   44ffc:	dc400217 	ldw	r17,8(sp)
   45000:	dc000117 	ldw	r16,4(sp)
   45004:	dec00b04 	addi	sp,sp,44
   45008:	f800283a 	ret
   4500c:	a809883a 	mov	r4,r21
   45010:	800b883a 	mov	r5,r16
   45014:	0042c800 	call	42c80 <__swsetup_r>
   45018:	1000f01e 	bne	r2,zero,453dc <__sfvwrite_r+0x4c8>
   4501c:	8080030b 	ldhu	r2,12(r16)
   45020:	a4400017 	ldw	r17,0(r20)
   45024:	10c0008c 	andi	r3,r2,2
   45028:	18ffffcc 	andi	r3,r3,65535
   4502c:	18e0001c 	xori	r3,r3,32768
   45030:	18e00004 	addi	r3,r3,-32768
   45034:	183fd51e 	bne	r3,zero,44f8c <__alt_data_end+0xfffdde8c>
   45038:	10c0004c 	andi	r3,r2,1
   4503c:	002d883a 	mov	r22,zero
   45040:	1800381e 	bne	r3,zero,45124 <__sfvwrite_r+0x210>
   45044:	0025883a 	mov	r18,zero
   45048:	90002126 	beq	r18,zero,450d0 <__sfvwrite_r+0x1bc>
   4504c:	10c0800c 	andi	r3,r2,512
   45050:	18ffffcc 	andi	r3,r3,65535
   45054:	18e0001c 	xori	r3,r3,32768
   45058:	18e00004 	addi	r3,r3,-32768
   4505c:	84c00217 	ldw	r19,8(r16)
   45060:	18006b26 	beq	r3,zero,45210 <__sfvwrite_r+0x2fc>
   45064:	980f883a 	mov	r7,r19
   45068:	94c08636 	bltu	r18,r19,45284 <__sfvwrite_r+0x370>
   4506c:	10c1200c 	andi	r3,r2,1152
   45070:	18009f1e 	bne	r3,zero,452f0 <__sfvwrite_r+0x3dc>
   45074:	81000017 	ldw	r4,0(r16)
   45078:	982f883a 	mov	r23,r19
   4507c:	9039883a 	mov	fp,r18
   45080:	9027883a 	mov	r19,r18
   45084:	380d883a 	mov	r6,r7
   45088:	b00b883a 	mov	r5,r22
   4508c:	d9c00015 	stw	r7,0(sp)
   45090:	00461500 	call	46150 <memmove>
   45094:	d9c00017 	ldw	r7,0(sp)
   45098:	81000217 	ldw	r4,8(r16)
   4509c:	80800017 	ldw	r2,0(r16)
   450a0:	25efc83a 	sub	r23,r4,r23
   450a4:	11cf883a 	add	r7,r2,r7
   450a8:	85c00215 	stw	r23,8(r16)
   450ac:	81c00015 	stw	r7,0(r16)
   450b0:	a0800217 	ldw	r2,8(r20)
   450b4:	b72d883a 	add	r22,r22,fp
   450b8:	9725c83a 	sub	r18,r18,fp
   450bc:	14e7c83a 	sub	r19,r2,r19
   450c0:	a4c00215 	stw	r19,8(r20)
   450c4:	983fc426 	beq	r19,zero,44fd8 <__alt_data_end+0xfffdded8>
   450c8:	8080030b 	ldhu	r2,12(r16)
   450cc:	903fdf1e 	bne	r18,zero,4504c <__alt_data_end+0xfffddf4c>
   450d0:	8d800017 	ldw	r22,0(r17)
   450d4:	8c800117 	ldw	r18,4(r17)
   450d8:	8c400204 	addi	r17,r17,8
   450dc:	003fda06 	br	45048 <__alt_data_end+0xfffddf48>
   450e0:	8cc00017 	ldw	r19,0(r17)
   450e4:	8c800117 	ldw	r18,4(r17)
   450e8:	8c400204 	addi	r17,r17,8
   450ec:	003faa06 	br	44f98 <__alt_data_end+0xfffdde98>
   450f0:	00472fc0 	call	472fc <_realloc_r>
   450f4:	102f883a 	mov	r23,r2
   450f8:	10009f1e 	bne	r2,zero,45378 <__sfvwrite_r+0x464>
   450fc:	81400417 	ldw	r5,16(r16)
   45100:	a809883a 	mov	r4,r21
   45104:	0044c440 	call	44c44 <_free_r>
   45108:	00800304 	movi	r2,12
   4510c:	a8800015 	stw	r2,0(r21)
   45110:	80c0030b 	ldhu	r3,12(r16)
   45114:	00bfffc4 	movi	r2,-1
   45118:	18c01014 	ori	r3,r3,64
   4511c:	80c0030d 	sth	r3,12(r16)
   45120:	003fae06 	br	44fdc <__alt_data_end+0xfffddedc>
   45124:	0007883a 	mov	r3,zero
   45128:	0039883a 	mov	fp,zero
   4512c:	0025883a 	mov	r18,zero
   45130:	90001e26 	beq	r18,zero,451ac <__sfvwrite_r+0x298>
   45134:	18006526 	beq	r3,zero,452cc <__sfvwrite_r+0x3b8>
   45138:	b02f883a 	mov	r23,r22
   4513c:	9580012e 	bgeu	r18,r22,45144 <__sfvwrite_r+0x230>
   45140:	902f883a 	mov	r23,r18
   45144:	81000017 	ldw	r4,0(r16)
   45148:	80800417 	ldw	r2,16(r16)
   4514c:	84c00217 	ldw	r19,8(r16)
   45150:	81c00517 	ldw	r7,20(r16)
   45154:	1100022e 	bgeu	r2,r4,45160 <__sfvwrite_r+0x24c>
   45158:	99e7883a 	add	r19,r19,r7
   4515c:	9dc01816 	blt	r19,r23,451c0 <__sfvwrite_r+0x2ac>
   45160:	b9c03b16 	blt	r23,r7,45250 <__sfvwrite_r+0x33c>
   45164:	80800917 	ldw	r2,36(r16)
   45168:	81400717 	ldw	r5,28(r16)
   4516c:	a809883a 	mov	r4,r21
   45170:	d8c00015 	stw	r3,0(sp)
   45174:	e00d883a 	mov	r6,fp
   45178:	103ee83a 	callr	r2
   4517c:	1027883a 	mov	r19,r2
   45180:	d8c00017 	ldw	r3,0(sp)
   45184:	00bfe20e 	bge	zero,r2,45110 <__alt_data_end+0xfffde010>
   45188:	b4edc83a 	sub	r22,r22,r19
   4518c:	b0001a26 	beq	r22,zero,451f8 <__sfvwrite_r+0x2e4>
   45190:	a0800217 	ldw	r2,8(r20)
   45194:	e4f9883a 	add	fp,fp,r19
   45198:	94e5c83a 	sub	r18,r18,r19
   4519c:	14e7c83a 	sub	r19,r2,r19
   451a0:	a4c00215 	stw	r19,8(r20)
   451a4:	983f8c26 	beq	r19,zero,44fd8 <__alt_data_end+0xfffdded8>
   451a8:	903fe21e 	bne	r18,zero,45134 <__alt_data_end+0xfffde034>
   451ac:	8f000017 	ldw	fp,0(r17)
   451b0:	8c800117 	ldw	r18,4(r17)
   451b4:	0007883a 	mov	r3,zero
   451b8:	8c400204 	addi	r17,r17,8
   451bc:	003fdc06 	br	45130 <__alt_data_end+0xfffde030>
   451c0:	e00b883a 	mov	r5,fp
   451c4:	980d883a 	mov	r6,r19
   451c8:	d8c00015 	stw	r3,0(sp)
   451cc:	00461500 	call	46150 <memmove>
   451d0:	80800017 	ldw	r2,0(r16)
   451d4:	a809883a 	mov	r4,r21
   451d8:	800b883a 	mov	r5,r16
   451dc:	14c5883a 	add	r2,r2,r19
   451e0:	80800015 	stw	r2,0(r16)
   451e4:	00446180 	call	44618 <_fflush_r>
   451e8:	d8c00017 	ldw	r3,0(sp)
   451ec:	103fc81e 	bne	r2,zero,45110 <__alt_data_end+0xfffde010>
   451f0:	b4edc83a 	sub	r22,r22,r19
   451f4:	b03fe61e 	bne	r22,zero,45190 <__alt_data_end+0xfffde090>
   451f8:	a809883a 	mov	r4,r21
   451fc:	800b883a 	mov	r5,r16
   45200:	00446180 	call	44618 <_fflush_r>
   45204:	103fc21e 	bne	r2,zero,45110 <__alt_data_end+0xfffde010>
   45208:	0007883a 	mov	r3,zero
   4520c:	003fe006 	br	45190 <__alt_data_end+0xfffde090>
   45210:	81000017 	ldw	r4,0(r16)
   45214:	80800417 	ldw	r2,16(r16)
   45218:	1100022e 	bgeu	r2,r4,45224 <__sfvwrite_r+0x310>
   4521c:	9839883a 	mov	fp,r19
   45220:	9c806036 	bltu	r19,r18,453a4 <__sfvwrite_r+0x490>
   45224:	81c00517 	ldw	r7,20(r16)
   45228:	91c01c36 	bltu	r18,r7,4529c <__sfvwrite_r+0x388>
   4522c:	80800917 	ldw	r2,36(r16)
   45230:	81400717 	ldw	r5,28(r16)
   45234:	a809883a 	mov	r4,r21
   45238:	b00d883a 	mov	r6,r22
   4523c:	103ee83a 	callr	r2
   45240:	1027883a 	mov	r19,r2
   45244:	00bfb20e 	bge	zero,r2,45110 <__alt_data_end+0xfffde010>
   45248:	1039883a 	mov	fp,r2
   4524c:	003f9806 	br	450b0 <__alt_data_end+0xfffddfb0>
   45250:	b80d883a 	mov	r6,r23
   45254:	e00b883a 	mov	r5,fp
   45258:	d8c00015 	stw	r3,0(sp)
   4525c:	00461500 	call	46150 <memmove>
   45260:	80800217 	ldw	r2,8(r16)
   45264:	81000017 	ldw	r4,0(r16)
   45268:	b827883a 	mov	r19,r23
   4526c:	15c5c83a 	sub	r2,r2,r23
   45270:	25ef883a 	add	r23,r4,r23
   45274:	80800215 	stw	r2,8(r16)
   45278:	85c00015 	stw	r23,0(r16)
   4527c:	d8c00017 	ldw	r3,0(sp)
   45280:	003fc106 	br	45188 <__alt_data_end+0xfffde088>
   45284:	81000017 	ldw	r4,0(r16)
   45288:	902f883a 	mov	r23,r18
   4528c:	9039883a 	mov	fp,r18
   45290:	9027883a 	mov	r19,r18
   45294:	900f883a 	mov	r7,r18
   45298:	003f7a06 	br	45084 <__alt_data_end+0xfffddf84>
   4529c:	b00b883a 	mov	r5,r22
   452a0:	900d883a 	mov	r6,r18
   452a4:	00461500 	call	46150 <memmove>
   452a8:	80c00217 	ldw	r3,8(r16)
   452ac:	80800017 	ldw	r2,0(r16)
   452b0:	9027883a 	mov	r19,r18
   452b4:	1c87c83a 	sub	r3,r3,r18
   452b8:	1485883a 	add	r2,r2,r18
   452bc:	80c00215 	stw	r3,8(r16)
   452c0:	80800015 	stw	r2,0(r16)
   452c4:	9039883a 	mov	fp,r18
   452c8:	003f7906 	br	450b0 <__alt_data_end+0xfffddfb0>
   452cc:	e009883a 	mov	r4,fp
   452d0:	01400284 	movi	r5,10
   452d4:	900d883a 	mov	r6,r18
   452d8:	0045f600 	call	45f60 <memchr>
   452dc:	10003c26 	beq	r2,zero,453d0 <__sfvwrite_r+0x4bc>
   452e0:	15800044 	addi	r22,r2,1
   452e4:	b72dc83a 	sub	r22,r22,fp
   452e8:	00c00044 	movi	r3,1
   452ec:	003f9206 	br	45138 <__alt_data_end+0xfffde038>
   452f0:	81000517 	ldw	r4,20(r16)
   452f4:	81400417 	ldw	r5,16(r16)
   452f8:	80c00017 	ldw	r3,0(r16)
   452fc:	210d883a 	add	r6,r4,r4
   45300:	3109883a 	add	r4,r6,r4
   45304:	2026d7fa 	srli	r19,r4,31
   45308:	1979c83a 	sub	fp,r3,r5
   4530c:	e1800044 	addi	r6,fp,1
   45310:	9909883a 	add	r4,r19,r4
   45314:	2027d07a 	srai	r19,r4,1
   45318:	3489883a 	add	r4,r6,r18
   4531c:	980d883a 	mov	r6,r19
   45320:	9900022e 	bgeu	r19,r4,4532c <__sfvwrite_r+0x418>
   45324:	2027883a 	mov	r19,r4
   45328:	200d883a 	mov	r6,r4
   4532c:	1081000c 	andi	r2,r2,1024
   45330:	10bfffcc 	andi	r2,r2,65535
   45334:	10a0001c 	xori	r2,r2,32768
   45338:	10a00004 	addi	r2,r2,-32768
   4533c:	a809883a 	mov	r4,r21
   45340:	103f6b26 	beq	r2,zero,450f0 <__alt_data_end+0xfffddff0>
   45344:	300b883a 	mov	r5,r6
   45348:	00457dc0 	call	457dc <_malloc_r>
   4534c:	102f883a 	mov	r23,r2
   45350:	103f6d26 	beq	r2,zero,45108 <__alt_data_end+0xfffde008>
   45354:	81400417 	ldw	r5,16(r16)
   45358:	1009883a 	mov	r4,r2
   4535c:	e00d883a 	mov	r6,fp
   45360:	00460580 	call	46058 <memcpy>
   45364:	8080030b 	ldhu	r2,12(r16)
   45368:	00fedfc4 	movi	r3,-1153
   4536c:	10c4703a 	and	r2,r2,r3
   45370:	10802014 	ori	r2,r2,128
   45374:	8080030d 	sth	r2,12(r16)
   45378:	bf09883a 	add	r4,r23,fp
   4537c:	9f07c83a 	sub	r3,r19,fp
   45380:	85c00415 	stw	r23,16(r16)
   45384:	84c00515 	stw	r19,20(r16)
   45388:	81000015 	stw	r4,0(r16)
   4538c:	902f883a 	mov	r23,r18
   45390:	80c00215 	stw	r3,8(r16)
   45394:	9039883a 	mov	fp,r18
   45398:	9027883a 	mov	r19,r18
   4539c:	900f883a 	mov	r7,r18
   453a0:	003f3806 	br	45084 <__alt_data_end+0xfffddf84>
   453a4:	b00b883a 	mov	r5,r22
   453a8:	980d883a 	mov	r6,r19
   453ac:	00461500 	call	46150 <memmove>
   453b0:	80800017 	ldw	r2,0(r16)
   453b4:	a809883a 	mov	r4,r21
   453b8:	800b883a 	mov	r5,r16
   453bc:	14c5883a 	add	r2,r2,r19
   453c0:	80800015 	stw	r2,0(r16)
   453c4:	00446180 	call	44618 <_fflush_r>
   453c8:	103f3926 	beq	r2,zero,450b0 <__alt_data_end+0xfffddfb0>
   453cc:	003f5006 	br	45110 <__alt_data_end+0xfffde010>
   453d0:	95800044 	addi	r22,r18,1
   453d4:	00c00044 	movi	r3,1
   453d8:	003f5706 	br	45138 <__alt_data_end+0xfffde038>
   453dc:	80c0030b 	ldhu	r3,12(r16)
   453e0:	00bfffc4 	movi	r2,-1
   453e4:	18c01014 	ori	r3,r3,64
   453e8:	80c0030d 	sth	r3,12(r16)
   453ec:	00c00244 	movi	r3,9
   453f0:	a8c00015 	stw	r3,0(r21)
   453f4:	003ef906 	br	44fdc <__alt_data_end+0xfffddedc>

000453f8 <_fwalk>:
   453f8:	defff904 	addi	sp,sp,-28
   453fc:	dcc00315 	stw	r19,12(sp)
   45400:	24c0b804 	addi	r19,r4,736
   45404:	dd400515 	stw	r21,20(sp)
   45408:	dd000415 	stw	r20,16(sp)
   4540c:	dfc00615 	stw	ra,24(sp)
   45410:	dc800215 	stw	r18,8(sp)
   45414:	dc400115 	stw	r17,4(sp)
   45418:	dc000015 	stw	r16,0(sp)
   4541c:	282b883a 	mov	r21,r5
   45420:	0029883a 	mov	r20,zero
   45424:	0044ac80 	call	44ac8 <__sfp_lock_acquire>
   45428:	98001226 	beq	r19,zero,45474 <_fwalk+0x7c>
   4542c:	04bfffc4 	movi	r18,-1
   45430:	9c400117 	ldw	r17,4(r19)
   45434:	9c000217 	ldw	r16,8(r19)
   45438:	8c7fffc4 	addi	r17,r17,-1
   4543c:	88000b16 	blt	r17,zero,4546c <_fwalk+0x74>
   45440:	84000304 	addi	r16,r16,12
   45444:	80c0000f 	ldh	r3,0(r16)
   45448:	8c7fffc4 	addi	r17,r17,-1
   4544c:	813ffd04 	addi	r4,r16,-12
   45450:	18000426 	beq	r3,zero,45464 <_fwalk+0x6c>
   45454:	80c0008f 	ldh	r3,2(r16)
   45458:	1c800226 	beq	r3,r18,45464 <_fwalk+0x6c>
   4545c:	a83ee83a 	callr	r21
   45460:	a0a8b03a 	or	r20,r20,r2
   45464:	84001704 	addi	r16,r16,92
   45468:	8cbff61e 	bne	r17,r18,45444 <__alt_data_end+0xfffde344>
   4546c:	9cc00017 	ldw	r19,0(r19)
   45470:	983fef1e 	bne	r19,zero,45430 <__alt_data_end+0xfffde330>
   45474:	0044acc0 	call	44acc <__sfp_lock_release>
   45478:	a005883a 	mov	r2,r20
   4547c:	dfc00617 	ldw	ra,24(sp)
   45480:	dd400517 	ldw	r21,20(sp)
   45484:	dd000417 	ldw	r20,16(sp)
   45488:	dcc00317 	ldw	r19,12(sp)
   4548c:	dc800217 	ldw	r18,8(sp)
   45490:	dc400117 	ldw	r17,4(sp)
   45494:	dc000017 	ldw	r16,0(sp)
   45498:	dec00704 	addi	sp,sp,28
   4549c:	f800283a 	ret

000454a0 <_fwalk_reent>:
   454a0:	defff804 	addi	sp,sp,-32
   454a4:	dcc00315 	stw	r19,12(sp)
   454a8:	24c0b804 	addi	r19,r4,736
   454ac:	dd800615 	stw	r22,24(sp)
   454b0:	dd400515 	stw	r21,20(sp)
   454b4:	dd000415 	stw	r20,16(sp)
   454b8:	dfc00715 	stw	ra,28(sp)
   454bc:	dc800215 	stw	r18,8(sp)
   454c0:	dc400115 	stw	r17,4(sp)
   454c4:	dc000015 	stw	r16,0(sp)
   454c8:	2029883a 	mov	r20,r4
   454cc:	282b883a 	mov	r21,r5
   454d0:	002d883a 	mov	r22,zero
   454d4:	0044ac80 	call	44ac8 <__sfp_lock_acquire>
   454d8:	98001326 	beq	r19,zero,45528 <_fwalk_reent+0x88>
   454dc:	04bfffc4 	movi	r18,-1
   454e0:	9c400117 	ldw	r17,4(r19)
   454e4:	9c000217 	ldw	r16,8(r19)
   454e8:	8c7fffc4 	addi	r17,r17,-1
   454ec:	88000c16 	blt	r17,zero,45520 <_fwalk_reent+0x80>
   454f0:	84000304 	addi	r16,r16,12
   454f4:	80c0000f 	ldh	r3,0(r16)
   454f8:	8c7fffc4 	addi	r17,r17,-1
   454fc:	817ffd04 	addi	r5,r16,-12
   45500:	18000526 	beq	r3,zero,45518 <_fwalk_reent+0x78>
   45504:	80c0008f 	ldh	r3,2(r16)
   45508:	a009883a 	mov	r4,r20
   4550c:	1c800226 	beq	r3,r18,45518 <_fwalk_reent+0x78>
   45510:	a83ee83a 	callr	r21
   45514:	b0acb03a 	or	r22,r22,r2
   45518:	84001704 	addi	r16,r16,92
   4551c:	8cbff51e 	bne	r17,r18,454f4 <__alt_data_end+0xfffde3f4>
   45520:	9cc00017 	ldw	r19,0(r19)
   45524:	983fee1e 	bne	r19,zero,454e0 <__alt_data_end+0xfffde3e0>
   45528:	0044acc0 	call	44acc <__sfp_lock_release>
   4552c:	b005883a 	mov	r2,r22
   45530:	dfc00717 	ldw	ra,28(sp)
   45534:	dd800617 	ldw	r22,24(sp)
   45538:	dd400517 	ldw	r21,20(sp)
   4553c:	dd000417 	ldw	r20,16(sp)
   45540:	dcc00317 	ldw	r19,12(sp)
   45544:	dc800217 	ldw	r18,8(sp)
   45548:	dc400117 	ldw	r17,4(sp)
   4554c:	dc000017 	ldw	r16,0(sp)
   45550:	dec00804 	addi	sp,sp,32
   45554:	f800283a 	ret

00045558 <_setlocale_r>:
   45558:	defffc04 	addi	sp,sp,-16
   4555c:	dc800215 	stw	r18,8(sp)
   45560:	dc400115 	stw	r17,4(sp)
   45564:	dc000015 	stw	r16,0(sp)
   45568:	dfc00315 	stw	ra,12(sp)
   4556c:	3021883a 	mov	r16,r6
   45570:	2023883a 	mov	r17,r4
   45574:	2825883a 	mov	r18,r5
   45578:	30001626 	beq	r6,zero,455d4 <_setlocale_r+0x7c>
   4557c:	3009883a 	mov	r4,r6
   45580:	01400174 	movhi	r5,5
   45584:	2970e004 	addi	r5,r5,-15488
   45588:	0047b000 	call	47b00 <strcmp>
   4558c:	10000a1e 	bne	r2,zero,455b8 <_setlocale_r+0x60>
   45590:	8c800c15 	stw	r18,48(r17)
   45594:	8c000d15 	stw	r16,52(r17)
   45598:	00800174 	movhi	r2,5
   4559c:	10b0e004 	addi	r2,r2,-15488
   455a0:	dfc00317 	ldw	ra,12(sp)
   455a4:	dc800217 	ldw	r18,8(sp)
   455a8:	dc400117 	ldw	r17,4(sp)
   455ac:	dc000017 	ldw	r16,0(sp)
   455b0:	dec00404 	addi	sp,sp,16
   455b4:	f800283a 	ret
   455b8:	8009883a 	mov	r4,r16
   455bc:	01400174 	movhi	r5,5
   455c0:	2970cb04 	addi	r5,r5,-15572
   455c4:	0047b000 	call	47b00 <strcmp>
   455c8:	103ff126 	beq	r2,zero,45590 <__alt_data_end+0xfffde490>
   455cc:	0005883a 	mov	r2,zero
   455d0:	003ff306 	br	455a0 <__alt_data_end+0xfffde4a0>
   455d4:	00800174 	movhi	r2,5
   455d8:	10b0e004 	addi	r2,r2,-15488
   455dc:	dfc00317 	ldw	ra,12(sp)
   455e0:	dc800217 	ldw	r18,8(sp)
   455e4:	dc400117 	ldw	r17,4(sp)
   455e8:	dc000017 	ldw	r16,0(sp)
   455ec:	dec00404 	addi	sp,sp,16
   455f0:	f800283a 	ret

000455f4 <__locale_charset>:
   455f4:	00800174 	movhi	r2,5
   455f8:	10b0e104 	addi	r2,r2,-15484
   455fc:	f800283a 	ret

00045600 <_localeconv_r>:
   45600:	00800174 	movhi	r2,5
   45604:	10b0e504 	addi	r2,r2,-15468
   45608:	f800283a 	ret

0004560c <setlocale>:
   4560c:	00c00174 	movhi	r3,5
   45610:	18f7cd04 	addi	r3,r3,-8396
   45614:	2005883a 	mov	r2,r4
   45618:	19000017 	ldw	r4,0(r3)
   4561c:	280d883a 	mov	r6,r5
   45620:	100b883a 	mov	r5,r2
   45624:	00455581 	jmpi	45558 <_setlocale_r>

00045628 <localeconv>:
   45628:	00800174 	movhi	r2,5
   4562c:	10b0e504 	addi	r2,r2,-15468
   45630:	f800283a 	ret

00045634 <__smakebuf_r>:
   45634:	2880030b 	ldhu	r2,12(r5)
   45638:	deffed04 	addi	sp,sp,-76
   4563c:	dc401015 	stw	r17,64(sp)
   45640:	10c0008c 	andi	r3,r2,2
   45644:	18ffffcc 	andi	r3,r3,65535
   45648:	18e0001c 	xori	r3,r3,32768
   4564c:	dc000f15 	stw	r16,60(sp)
   45650:	dfc01215 	stw	ra,72(sp)
   45654:	dc801115 	stw	r18,68(sp)
   45658:	18e00004 	addi	r3,r3,-32768
   4565c:	2821883a 	mov	r16,r5
   45660:	2023883a 	mov	r17,r4
   45664:	1800381e 	bne	r3,zero,45748 <__smakebuf_r+0x114>
   45668:	2940038f 	ldh	r5,14(r5)
   4566c:	28002d16 	blt	r5,zero,45724 <__smakebuf_r+0xf0>
   45670:	d80d883a 	mov	r6,sp
   45674:	0047e800 	call	47e80 <_fstat_r>
   45678:	10002916 	blt	r2,zero,45720 <__smakebuf_r+0xec>
   4567c:	d8800117 	ldw	r2,4(sp)
   45680:	00e00014 	movui	r3,32768
   45684:	10bc000c 	andi	r2,r2,61440
   45688:	10c03c26 	beq	r2,r3,4577c <__smakebuf_r+0x148>
   4568c:	80c0030b 	ldhu	r3,12(r16)
   45690:	18c20014 	ori	r3,r3,2048
   45694:	80c0030d 	sth	r3,12(r16)
   45698:	00c80004 	movi	r3,8192
   4569c:	10c00c1e 	bne	r2,r3,456d0 <__smakebuf_r+0x9c>
   456a0:	8140038f 	ldh	r5,14(r16)
   456a4:	8809883a 	mov	r4,r17
   456a8:	0047ee80 	call	47ee8 <_isatty_r>
   456ac:	10000826 	beq	r2,zero,456d0 <__smakebuf_r+0x9c>
   456b0:	80c0030b 	ldhu	r3,12(r16)
   456b4:	808010c4 	addi	r2,r16,67
   456b8:	80800015 	stw	r2,0(r16)
   456bc:	18c00054 	ori	r3,r3,1
   456c0:	80800415 	stw	r2,16(r16)
   456c4:	00800044 	movi	r2,1
   456c8:	80c0030d 	sth	r3,12(r16)
   456cc:	80800515 	stw	r2,20(r16)
   456d0:	04810004 	movi	r18,1024
   456d4:	8809883a 	mov	r4,r17
   456d8:	900b883a 	mov	r5,r18
   456dc:	00457dc0 	call	457dc <_malloc_r>
   456e0:	10003026 	beq	r2,zero,457a4 <__smakebuf_r+0x170>
   456e4:	80c0030b 	ldhu	r3,12(r16)
   456e8:	01000134 	movhi	r4,4
   456ec:	21121004 	addi	r4,r4,18496
   456f0:	89000f15 	stw	r4,60(r17)
   456f4:	18c02014 	ori	r3,r3,128
   456f8:	80c0030d 	sth	r3,12(r16)
   456fc:	80800015 	stw	r2,0(r16)
   45700:	80800415 	stw	r2,16(r16)
   45704:	84800515 	stw	r18,20(r16)
   45708:	dfc01217 	ldw	ra,72(sp)
   4570c:	dc801117 	ldw	r18,68(sp)
   45710:	dc401017 	ldw	r17,64(sp)
   45714:	dc000f17 	ldw	r16,60(sp)
   45718:	dec01304 	addi	sp,sp,76
   4571c:	f800283a 	ret
   45720:	8080030b 	ldhu	r2,12(r16)
   45724:	10c0200c 	andi	r3,r2,128
   45728:	18ffffcc 	andi	r3,r3,65535
   4572c:	18e0001c 	xori	r3,r3,32768
   45730:	18e00004 	addi	r3,r3,-32768
   45734:	18000f1e 	bne	r3,zero,45774 <__smakebuf_r+0x140>
   45738:	04810004 	movi	r18,1024
   4573c:	10820014 	ori	r2,r2,2048
   45740:	8080030d 	sth	r2,12(r16)
   45744:	003fe306 	br	456d4 <__alt_data_end+0xfffde5d4>
   45748:	288010c4 	addi	r2,r5,67
   4574c:	28800015 	stw	r2,0(r5)
   45750:	28800415 	stw	r2,16(r5)
   45754:	00800044 	movi	r2,1
   45758:	28800515 	stw	r2,20(r5)
   4575c:	dfc01217 	ldw	ra,72(sp)
   45760:	dc801117 	ldw	r18,68(sp)
   45764:	dc401017 	ldw	r17,64(sp)
   45768:	dc000f17 	ldw	r16,60(sp)
   4576c:	dec01304 	addi	sp,sp,76
   45770:	f800283a 	ret
   45774:	04801004 	movi	r18,64
   45778:	003ff006 	br	4573c <__alt_data_end+0xfffde63c>
   4577c:	81000a17 	ldw	r4,40(r16)
   45780:	00c00134 	movhi	r3,4
   45784:	18dea704 	addi	r3,r3,31388
   45788:	20ffc01e 	bne	r4,r3,4568c <__alt_data_end+0xfffde58c>
   4578c:	8080030b 	ldhu	r2,12(r16)
   45790:	00c10004 	movi	r3,1024
   45794:	80c01315 	stw	r3,76(r16)
   45798:	10c4b03a 	or	r2,r2,r3
   4579c:	8080030d 	sth	r2,12(r16)
   457a0:	003fcb06 	br	456d0 <__alt_data_end+0xfffde5d0>
   457a4:	8080030b 	ldhu	r2,12(r16)
   457a8:	10c0800c 	andi	r3,r2,512
   457ac:	18ffffcc 	andi	r3,r3,65535
   457b0:	18e0001c 	xori	r3,r3,32768
   457b4:	18e00004 	addi	r3,r3,-32768
   457b8:	183fd31e 	bne	r3,zero,45708 <__alt_data_end+0xfffde608>
   457bc:	10800094 	ori	r2,r2,2
   457c0:	80c010c4 	addi	r3,r16,67
   457c4:	8080030d 	sth	r2,12(r16)
   457c8:	00800044 	movi	r2,1
   457cc:	80c00015 	stw	r3,0(r16)
   457d0:	80c00415 	stw	r3,16(r16)
   457d4:	80800515 	stw	r2,20(r16)
   457d8:	003fcb06 	br	45708 <__alt_data_end+0xfffde608>

000457dc <_malloc_r>:
   457dc:	defff604 	addi	sp,sp,-40
   457e0:	dc800215 	stw	r18,8(sp)
   457e4:	dfc00915 	stw	ra,36(sp)
   457e8:	df000815 	stw	fp,32(sp)
   457ec:	ddc00715 	stw	r23,28(sp)
   457f0:	dd800615 	stw	r22,24(sp)
   457f4:	dd400515 	stw	r21,20(sp)
   457f8:	dd000415 	stw	r20,16(sp)
   457fc:	dcc00315 	stw	r19,12(sp)
   45800:	dc400115 	stw	r17,4(sp)
   45804:	dc000015 	stw	r16,0(sp)
   45808:	288002c4 	addi	r2,r5,11
   4580c:	00c00584 	movi	r3,22
   45810:	2025883a 	mov	r18,r4
   45814:	18802b2e 	bgeu	r3,r2,458c4 <_malloc_r+0xe8>
   45818:	047ffe04 	movi	r17,-8
   4581c:	1462703a 	and	r17,r2,r17
   45820:	88002a16 	blt	r17,zero,458cc <_malloc_r+0xf0>
   45824:	89402936 	bltu	r17,r5,458cc <_malloc_r+0xf0>
   45828:	9009883a 	mov	r4,r18
   4582c:	0049f080 	call	49f08 <__malloc_lock>
   45830:	00807dc4 	movi	r2,503
   45834:	14402936 	bltu	r2,r17,458dc <_malloc_r+0x100>
   45838:	8808d0fa 	srli	r4,r17,3
   4583c:	04c00174 	movhi	r19,5
   45840:	9cf24804 	addi	r19,r19,-14048
   45844:	2105883a 	add	r2,r4,r4
   45848:	1085883a 	add	r2,r2,r2
   4584c:	1085883a 	add	r2,r2,r2
   45850:	9885883a 	add	r2,r19,r2
   45854:	14000317 	ldw	r16,12(r2)
   45858:	80815526 	beq	r16,r2,45db0 <_malloc_r+0x5d4>
   4585c:	81000117 	ldw	r4,4(r16)
   45860:	00bfff04 	movi	r2,-4
   45864:	80c00317 	ldw	r3,12(r16)
   45868:	2084703a 	and	r2,r4,r2
   4586c:	8085883a 	add	r2,r16,r2
   45870:	11800117 	ldw	r6,4(r2)
   45874:	81400217 	ldw	r5,8(r16)
   45878:	9009883a 	mov	r4,r18
   4587c:	31800054 	ori	r6,r6,1
   45880:	11800115 	stw	r6,4(r2)
   45884:	28c00315 	stw	r3,12(r5)
   45888:	19400215 	stw	r5,8(r3)
   4588c:	0049f280 	call	49f28 <__malloc_unlock>
   45890:	80800204 	addi	r2,r16,8
   45894:	dfc00917 	ldw	ra,36(sp)
   45898:	df000817 	ldw	fp,32(sp)
   4589c:	ddc00717 	ldw	r23,28(sp)
   458a0:	dd800617 	ldw	r22,24(sp)
   458a4:	dd400517 	ldw	r21,20(sp)
   458a8:	dd000417 	ldw	r20,16(sp)
   458ac:	dcc00317 	ldw	r19,12(sp)
   458b0:	dc800217 	ldw	r18,8(sp)
   458b4:	dc400117 	ldw	r17,4(sp)
   458b8:	dc000017 	ldw	r16,0(sp)
   458bc:	dec00a04 	addi	sp,sp,40
   458c0:	f800283a 	ret
   458c4:	04400404 	movi	r17,16
   458c8:	897fd72e 	bgeu	r17,r5,45828 <__alt_data_end+0xfffde728>
   458cc:	00800304 	movi	r2,12
   458d0:	90800015 	stw	r2,0(r18)
   458d4:	0005883a 	mov	r2,zero
   458d8:	003fee06 	br	45894 <__alt_data_end+0xfffde794>
   458dc:	8808d27a 	srli	r4,r17,9
   458e0:	20007126 	beq	r4,zero,45aa8 <_malloc_r+0x2cc>
   458e4:	00800104 	movi	r2,4
   458e8:	1100eb36 	bltu	r2,r4,45c98 <_malloc_r+0x4bc>
   458ec:	8808d1ba 	srli	r4,r17,6
   458f0:	21000e04 	addi	r4,r4,56
   458f4:	210b883a 	add	r5,r4,r4
   458f8:	294b883a 	add	r5,r5,r5
   458fc:	294b883a 	add	r5,r5,r5
   45900:	04c00174 	movhi	r19,5
   45904:	9cf24804 	addi	r19,r19,-14048
   45908:	994b883a 	add	r5,r19,r5
   4590c:	2c000317 	ldw	r16,12(r5)
   45910:	2c000e26 	beq	r5,r16,4594c <_malloc_r+0x170>
   45914:	80c00117 	ldw	r3,4(r16)
   45918:	01ffff04 	movi	r7,-4
   4591c:	018003c4 	movi	r6,15
   45920:	19c6703a 	and	r3,r3,r7
   45924:	1c45c83a 	sub	r2,r3,r17
   45928:	30800716 	blt	r6,r2,45948 <_malloc_r+0x16c>
   4592c:	1000610e 	bge	r2,zero,45ab4 <_malloc_r+0x2d8>
   45930:	84000317 	ldw	r16,12(r16)
   45934:	2c000526 	beq	r5,r16,4594c <_malloc_r+0x170>
   45938:	80c00117 	ldw	r3,4(r16)
   4593c:	19c6703a 	and	r3,r3,r7
   45940:	1c45c83a 	sub	r2,r3,r17
   45944:	30bff90e 	bge	r6,r2,4592c <__alt_data_end+0xfffde82c>
   45948:	213fffc4 	addi	r4,r4,-1
   4594c:	21000044 	addi	r4,r4,1
   45950:	9c000417 	ldw	r16,16(r19)
   45954:	00c00174 	movhi	r3,5
   45958:	18f24804 	addi	r3,r3,-14048
   4595c:	1a400204 	addi	r9,r3,8
   45960:	8240ff26 	beq	r16,r9,45d60 <_malloc_r+0x584>
   45964:	81400117 	ldw	r5,4(r16)
   45968:	00bfff04 	movi	r2,-4
   4596c:	018003c4 	movi	r6,15
   45970:	2884703a 	and	r2,r5,r2
   45974:	144bc83a 	sub	r5,r2,r17
   45978:	3140ea16 	blt	r6,r5,45d24 <_malloc_r+0x548>
   4597c:	1a400515 	stw	r9,20(r3)
   45980:	1a400415 	stw	r9,16(r3)
   45984:	2800570e 	bge	r5,zero,45ae4 <_malloc_r+0x308>
   45988:	01407fc4 	movi	r5,511
   4598c:	2880ca36 	bltu	r5,r2,45cb8 <_malloc_r+0x4dc>
   45990:	1004d0fa 	srli	r2,r2,3
   45994:	02000044 	movi	r8,1
   45998:	19c00117 	ldw	r7,4(r3)
   4599c:	108b883a 	add	r5,r2,r2
   459a0:	294b883a 	add	r5,r5,r5
   459a4:	1005d0ba 	srai	r2,r2,2
   459a8:	294b883a 	add	r5,r5,r5
   459ac:	28cb883a 	add	r5,r5,r3
   459b0:	29800217 	ldw	r6,8(r5)
   459b4:	4084983a 	sll	r2,r8,r2
   459b8:	81400315 	stw	r5,12(r16)
   459bc:	81800215 	stw	r6,8(r16)
   459c0:	11c4b03a 	or	r2,r2,r7
   459c4:	18800115 	stw	r2,4(r3)
   459c8:	2c000215 	stw	r16,8(r5)
   459cc:	34000315 	stw	r16,12(r6)
   459d0:	200bd0ba 	srai	r5,r4,2
   459d4:	00c00044 	movi	r3,1
   459d8:	194a983a 	sll	r5,r3,r5
   459dc:	11404936 	bltu	r2,r5,45b04 <_malloc_r+0x328>
   459e0:	1146703a 	and	r3,r2,r5
   459e4:	18000a1e 	bne	r3,zero,45a10 <_malloc_r+0x234>
   459e8:	00ffff04 	movi	r3,-4
   459ec:	294b883a 	add	r5,r5,r5
   459f0:	20c8703a 	and	r4,r4,r3
   459f4:	1146703a 	and	r3,r2,r5
   459f8:	21000104 	addi	r4,r4,4
   459fc:	1800041e 	bne	r3,zero,45a10 <_malloc_r+0x234>
   45a00:	294b883a 	add	r5,r5,r5
   45a04:	1146703a 	and	r3,r2,r5
   45a08:	21000104 	addi	r4,r4,4
   45a0c:	183ffc26 	beq	r3,zero,45a00 <__alt_data_end+0xfffde900>
   45a10:	023fff04 	movi	r8,-4
   45a14:	01c003c4 	movi	r7,15
   45a18:	2105883a 	add	r2,r4,r4
   45a1c:	1085883a 	add	r2,r2,r2
   45a20:	1085883a 	add	r2,r2,r2
   45a24:	9899883a 	add	r12,r19,r2
   45a28:	62800304 	addi	r10,r12,12
   45a2c:	2017883a 	mov	r11,r4
   45a30:	54000017 	ldw	r16,0(r10)
   45a34:	51bffd04 	addi	r6,r10,-12
   45a38:	8180041e 	bne	r16,r6,45a4c <_malloc_r+0x270>
   45a3c:	0000ca06 	br	45d68 <_malloc_r+0x58c>
   45a40:	10001c0e 	bge	r2,zero,45ab4 <_malloc_r+0x2d8>
   45a44:	84000317 	ldw	r16,12(r16)
   45a48:	8180c726 	beq	r16,r6,45d68 <_malloc_r+0x58c>
   45a4c:	80c00117 	ldw	r3,4(r16)
   45a50:	1a06703a 	and	r3,r3,r8
   45a54:	1c45c83a 	sub	r2,r3,r17
   45a58:	38bff90e 	bge	r7,r2,45a40 <__alt_data_end+0xfffde940>
   45a5c:	81000317 	ldw	r4,12(r16)
   45a60:	81400217 	ldw	r5,8(r16)
   45a64:	8447883a 	add	r3,r16,r17
   45a68:	8c400054 	ori	r17,r17,1
   45a6c:	29000315 	stw	r4,12(r5)
   45a70:	21400215 	stw	r5,8(r4)
   45a74:	84400115 	stw	r17,4(r16)
   45a78:	1889883a 	add	r4,r3,r2
   45a7c:	11400054 	ori	r5,r2,1
   45a80:	98c00515 	stw	r3,20(r19)
   45a84:	98c00415 	stw	r3,16(r19)
   45a88:	20800015 	stw	r2,0(r4)
   45a8c:	1a400315 	stw	r9,12(r3)
   45a90:	1a400215 	stw	r9,8(r3)
   45a94:	19400115 	stw	r5,4(r3)
   45a98:	9009883a 	mov	r4,r18
   45a9c:	0049f280 	call	49f28 <__malloc_unlock>
   45aa0:	80800204 	addi	r2,r16,8
   45aa4:	003f7b06 	br	45894 <__alt_data_end+0xfffde794>
   45aa8:	8808d0fa 	srli	r4,r17,3
   45aac:	210b883a 	add	r5,r4,r4
   45ab0:	003f9106 	br	458f8 <__alt_data_end+0xfffde7f8>
   45ab4:	80c7883a 	add	r3,r16,r3
   45ab8:	19400117 	ldw	r5,4(r3)
   45abc:	80800317 	ldw	r2,12(r16)
   45ac0:	81000217 	ldw	r4,8(r16)
   45ac4:	29400054 	ori	r5,r5,1
   45ac8:	19400115 	stw	r5,4(r3)
   45acc:	20800315 	stw	r2,12(r4)
   45ad0:	11000215 	stw	r4,8(r2)
   45ad4:	9009883a 	mov	r4,r18
   45ad8:	0049f280 	call	49f28 <__malloc_unlock>
   45adc:	80800204 	addi	r2,r16,8
   45ae0:	003f6c06 	br	45894 <__alt_data_end+0xfffde794>
   45ae4:	8085883a 	add	r2,r16,r2
   45ae8:	10c00117 	ldw	r3,4(r2)
   45aec:	9009883a 	mov	r4,r18
   45af0:	18c00054 	ori	r3,r3,1
   45af4:	10c00115 	stw	r3,4(r2)
   45af8:	0049f280 	call	49f28 <__malloc_unlock>
   45afc:	80800204 	addi	r2,r16,8
   45b00:	003f6406 	br	45894 <__alt_data_end+0xfffde794>
   45b04:	9c000217 	ldw	r16,8(r19)
   45b08:	00bfff04 	movi	r2,-4
   45b0c:	85400117 	ldw	r21,4(r16)
   45b10:	a8aa703a 	and	r21,r21,r2
   45b14:	ac400336 	bltu	r21,r17,45b24 <_malloc_r+0x348>
   45b18:	ac45c83a 	sub	r2,r21,r17
   45b1c:	00c003c4 	movi	r3,15
   45b20:	18805316 	blt	r3,r2,45c70 <_malloc_r+0x494>
   45b24:	d5e6aa17 	ldw	r23,-25944(gp)
   45b28:	d0e00317 	ldw	r3,-32756(gp)
   45b2c:	00bfffc4 	movi	r2,-1
   45b30:	8579883a 	add	fp,r16,r21
   45b34:	8def883a 	add	r23,r17,r23
   45b38:	1880d226 	beq	r3,r2,45e84 <_malloc_r+0x6a8>
   45b3c:	bdc403c4 	addi	r23,r23,4111
   45b40:	00bc0004 	movi	r2,-4096
   45b44:	b8ae703a 	and	r23,r23,r2
   45b48:	9009883a 	mov	r4,r18
   45b4c:	b80b883a 	mov	r5,r23
   45b50:	004795c0 	call	4795c <_sbrk_r>
   45b54:	1029883a 	mov	r20,r2
   45b58:	00bfffc4 	movi	r2,-1
   45b5c:	a080d126 	beq	r20,r2,45ea4 <_malloc_r+0x6c8>
   45b60:	a7009f36 	bltu	r20,fp,45de0 <_malloc_r+0x604>
   45b64:	05800174 	movhi	r22,5
   45b68:	b5be7e04 	addi	r22,r22,-1544
   45b6c:	b0800017 	ldw	r2,0(r22)
   45b70:	b885883a 	add	r2,r23,r2
   45b74:	b0800015 	stw	r2,0(r22)
   45b78:	e500cf26 	beq	fp,r20,45eb8 <_malloc_r+0x6dc>
   45b7c:	d1200317 	ldw	r4,-32756(gp)
   45b80:	00ffffc4 	movi	r3,-1
   45b84:	20c0e026 	beq	r4,r3,45f08 <_malloc_r+0x72c>
   45b88:	a739c83a 	sub	fp,r20,fp
   45b8c:	1705883a 	add	r2,r2,fp
   45b90:	b0800015 	stw	r2,0(r22)
   45b94:	a08001cc 	andi	r2,r20,7
   45b98:	1000a526 	beq	r2,zero,45e30 <_malloc_r+0x654>
   45b9c:	a0a9c83a 	sub	r20,r20,r2
   45ba0:	00c40204 	movi	r3,4104
   45ba4:	a5000204 	addi	r20,r20,8
   45ba8:	1885c83a 	sub	r2,r3,r2
   45bac:	a5c7883a 	add	r3,r20,r23
   45bb0:	18c3ffcc 	andi	r3,r3,4095
   45bb4:	10efc83a 	sub	r23,r2,r3
   45bb8:	9009883a 	mov	r4,r18
   45bbc:	b80b883a 	mov	r5,r23
   45bc0:	004795c0 	call	4795c <_sbrk_r>
   45bc4:	00ffffc4 	movi	r3,-1
   45bc8:	10c0cc26 	beq	r2,r3,45efc <_malloc_r+0x720>
   45bcc:	1505c83a 	sub	r2,r2,r20
   45bd0:	b887883a 	add	r3,r23,r2
   45bd4:	18c00054 	ori	r3,r3,1
   45bd8:	b0800017 	ldw	r2,0(r22)
   45bdc:	9d000215 	stw	r20,8(r19)
   45be0:	a0c00115 	stw	r3,4(r20)
   45be4:	b885883a 	add	r2,r23,r2
   45be8:	b0800015 	stw	r2,0(r22)
   45bec:	84c00e26 	beq	r16,r19,45c28 <_malloc_r+0x44c>
   45bf0:	00c003c4 	movi	r3,15
   45bf4:	1d40902e 	bgeu	r3,r21,45e38 <_malloc_r+0x65c>
   45bf8:	ad7ffd04 	addi	r21,r21,-12
   45bfc:	013ffe04 	movi	r4,-8
   45c00:	a908703a 	and	r4,r21,r4
   45c04:	810b883a 	add	r5,r16,r4
   45c08:	01800144 	movi	r6,5
   45c0c:	29800115 	stw	r6,4(r5)
   45c10:	29800215 	stw	r6,8(r5)
   45c14:	81400117 	ldw	r5,4(r16)
   45c18:	2940004c 	andi	r5,r5,1
   45c1c:	214ab03a 	or	r5,r4,r5
   45c20:	81400115 	stw	r5,4(r16)
   45c24:	1900ae36 	bltu	r3,r4,45ee0 <_malloc_r+0x704>
   45c28:	d0e6a917 	ldw	r3,-25948(gp)
   45c2c:	1880012e 	bgeu	r3,r2,45c34 <_malloc_r+0x458>
   45c30:	d0a6a915 	stw	r2,-25948(gp)
   45c34:	d0e6a817 	ldw	r3,-25952(gp)
   45c38:	9c000217 	ldw	r16,8(r19)
   45c3c:	1880012e 	bgeu	r3,r2,45c44 <_malloc_r+0x468>
   45c40:	d0a6a815 	stw	r2,-25952(gp)
   45c44:	80c00117 	ldw	r3,4(r16)
   45c48:	00bfff04 	movi	r2,-4
   45c4c:	1886703a 	and	r3,r3,r2
   45c50:	1c45c83a 	sub	r2,r3,r17
   45c54:	1c400236 	bltu	r3,r17,45c60 <_malloc_r+0x484>
   45c58:	00c003c4 	movi	r3,15
   45c5c:	18800416 	blt	r3,r2,45c70 <_malloc_r+0x494>
   45c60:	9009883a 	mov	r4,r18
   45c64:	0049f280 	call	49f28 <__malloc_unlock>
   45c68:	0005883a 	mov	r2,zero
   45c6c:	003f0906 	br	45894 <__alt_data_end+0xfffde794>
   45c70:	88c00054 	ori	r3,r17,1
   45c74:	10800054 	ori	r2,r2,1
   45c78:	80c00115 	stw	r3,4(r16)
   45c7c:	8463883a 	add	r17,r16,r17
   45c80:	88800115 	stw	r2,4(r17)
   45c84:	9009883a 	mov	r4,r18
   45c88:	9c400215 	stw	r17,8(r19)
   45c8c:	0049f280 	call	49f28 <__malloc_unlock>
   45c90:	80800204 	addi	r2,r16,8
   45c94:	003eff06 	br	45894 <__alt_data_end+0xfffde794>
   45c98:	00800504 	movi	r2,20
   45c9c:	1100492e 	bgeu	r2,r4,45dc4 <_malloc_r+0x5e8>
   45ca0:	00801504 	movi	r2,84
   45ca4:	11005c36 	bltu	r2,r4,45e18 <_malloc_r+0x63c>
   45ca8:	8808d33a 	srli	r4,r17,12
   45cac:	21001b84 	addi	r4,r4,110
   45cb0:	210b883a 	add	r5,r4,r4
   45cb4:	003f1006 	br	458f8 <__alt_data_end+0xfffde7f8>
   45cb8:	1006d27a 	srli	r3,r2,9
   45cbc:	01400104 	movi	r5,4
   45cc0:	28c0432e 	bgeu	r5,r3,45dd0 <_malloc_r+0x5f4>
   45cc4:	01400504 	movi	r5,20
   45cc8:	28c07036 	bltu	r5,r3,45e8c <_malloc_r+0x6b0>
   45ccc:	194016c4 	addi	r5,r3,91
   45cd0:	294d883a 	add	r6,r5,r5
   45cd4:	318d883a 	add	r6,r6,r6
   45cd8:	318d883a 	add	r6,r6,r6
   45cdc:	998d883a 	add	r6,r19,r6
   45ce0:	30c00217 	ldw	r3,8(r6)
   45ce4:	01c00174 	movhi	r7,5
   45ce8:	39f24804 	addi	r7,r7,-14048
   45cec:	19805726 	beq	r3,r6,45e4c <_malloc_r+0x670>
   45cf0:	01ffff04 	movi	r7,-4
   45cf4:	19400117 	ldw	r5,4(r3)
   45cf8:	29ca703a 	and	r5,r5,r7
   45cfc:	1140022e 	bgeu	r2,r5,45d08 <_malloc_r+0x52c>
   45d00:	18c00217 	ldw	r3,8(r3)
   45d04:	30fffb1e 	bne	r6,r3,45cf4 <__alt_data_end+0xfffdebf4>
   45d08:	19400317 	ldw	r5,12(r3)
   45d0c:	98800117 	ldw	r2,4(r19)
   45d10:	81400315 	stw	r5,12(r16)
   45d14:	80c00215 	stw	r3,8(r16)
   45d18:	2c000215 	stw	r16,8(r5)
   45d1c:	1c000315 	stw	r16,12(r3)
   45d20:	003f2b06 	br	459d0 <__alt_data_end+0xfffde8d0>
   45d24:	8445883a 	add	r2,r16,r17
   45d28:	8c400054 	ori	r17,r17,1
   45d2c:	18800515 	stw	r2,20(r3)
   45d30:	18800415 	stw	r2,16(r3)
   45d34:	29000054 	ori	r4,r5,1
   45d38:	1147883a 	add	r3,r2,r5
   45d3c:	84400115 	stw	r17,4(r16)
   45d40:	11000115 	stw	r4,4(r2)
   45d44:	12400315 	stw	r9,12(r2)
   45d48:	12400215 	stw	r9,8(r2)
   45d4c:	19400015 	stw	r5,0(r3)
   45d50:	9009883a 	mov	r4,r18
   45d54:	0049f280 	call	49f28 <__malloc_unlock>
   45d58:	80800204 	addi	r2,r16,8
   45d5c:	003ecd06 	br	45894 <__alt_data_end+0xfffde794>
   45d60:	18800117 	ldw	r2,4(r3)
   45d64:	003f1a06 	br	459d0 <__alt_data_end+0xfffde8d0>
   45d68:	5ac00044 	addi	r11,r11,1
   45d6c:	588000cc 	andi	r2,r11,3
   45d70:	52800204 	addi	r10,r10,8
   45d74:	103f2e1e 	bne	r2,zero,45a30 <__alt_data_end+0xfffde930>
   45d78:	20c000cc 	andi	r3,r4,3
   45d7c:	60bffe04 	addi	r2,r12,-8
   45d80:	18006f26 	beq	r3,zero,45f40 <_malloc_r+0x764>
   45d84:	63000017 	ldw	r12,0(r12)
   45d88:	213fffc4 	addi	r4,r4,-1
   45d8c:	60bffa26 	beq	r12,r2,45d78 <__alt_data_end+0xfffdec78>
   45d90:	98800117 	ldw	r2,4(r19)
   45d94:	294b883a 	add	r5,r5,r5
   45d98:	117f5a36 	bltu	r2,r5,45b04 <__alt_data_end+0xfffdea04>
   45d9c:	283f5926 	beq	r5,zero,45b04 <__alt_data_end+0xfffdea04>
   45da0:	1146703a 	and	r3,r2,r5
   45da4:	18001626 	beq	r3,zero,45e00 <_malloc_r+0x624>
   45da8:	5809883a 	mov	r4,r11
   45dac:	003f1a06 	br	45a18 <__alt_data_end+0xfffde918>
   45db0:	80800204 	addi	r2,r16,8
   45db4:	84000517 	ldw	r16,20(r16)
   45db8:	143ea81e 	bne	r2,r16,4585c <__alt_data_end+0xfffde75c>
   45dbc:	21000084 	addi	r4,r4,2
   45dc0:	003ee306 	br	45950 <__alt_data_end+0xfffde850>
   45dc4:	210016c4 	addi	r4,r4,91
   45dc8:	210b883a 	add	r5,r4,r4
   45dcc:	003eca06 	br	458f8 <__alt_data_end+0xfffde7f8>
   45dd0:	100ad1ba 	srli	r5,r2,6
   45dd4:	29400e04 	addi	r5,r5,56
   45dd8:	294d883a 	add	r6,r5,r5
   45ddc:	003fbd06 	br	45cd4 <__alt_data_end+0xfffdebd4>
   45de0:	84ff6026 	beq	r16,r19,45b64 <__alt_data_end+0xfffdea64>
   45de4:	00800174 	movhi	r2,5
   45de8:	10b24804 	addi	r2,r2,-14048
   45dec:	14000217 	ldw	r16,8(r2)
   45df0:	00bfff04 	movi	r2,-4
   45df4:	80c00117 	ldw	r3,4(r16)
   45df8:	1886703a 	and	r3,r3,r2
   45dfc:	003f9406 	br	45c50 <__alt_data_end+0xfffdeb50>
   45e00:	294b883a 	add	r5,r5,r5
   45e04:	1146703a 	and	r3,r2,r5
   45e08:	5ac00104 	addi	r11,r11,4
   45e0c:	183ffc26 	beq	r3,zero,45e00 <__alt_data_end+0xfffded00>
   45e10:	5809883a 	mov	r4,r11
   45e14:	003f0006 	br	45a18 <__alt_data_end+0xfffde918>
   45e18:	00805504 	movi	r2,340
   45e1c:	11001336 	bltu	r2,r4,45e6c <_malloc_r+0x690>
   45e20:	8808d3fa 	srli	r4,r17,15
   45e24:	21001dc4 	addi	r4,r4,119
   45e28:	210b883a 	add	r5,r4,r4
   45e2c:	003eb206 	br	458f8 <__alt_data_end+0xfffde7f8>
   45e30:	00840004 	movi	r2,4096
   45e34:	003f5d06 	br	45bac <__alt_data_end+0xfffdeaac>
   45e38:	00800044 	movi	r2,1
   45e3c:	a0800115 	stw	r2,4(r20)
   45e40:	a021883a 	mov	r16,r20
   45e44:	0007883a 	mov	r3,zero
   45e48:	003f8106 	br	45c50 <__alt_data_end+0xfffdeb50>
   45e4c:	280bd0ba 	srai	r5,r5,2
   45e50:	01800044 	movi	r6,1
   45e54:	38800117 	ldw	r2,4(r7)
   45e58:	314c983a 	sll	r6,r6,r5
   45e5c:	180b883a 	mov	r5,r3
   45e60:	3084b03a 	or	r2,r6,r2
   45e64:	38800115 	stw	r2,4(r7)
   45e68:	003fa906 	br	45d10 <__alt_data_end+0xfffdec10>
   45e6c:	00815504 	movi	r2,1364
   45e70:	11001836 	bltu	r2,r4,45ed4 <_malloc_r+0x6f8>
   45e74:	8808d4ba 	srli	r4,r17,18
   45e78:	21001f04 	addi	r4,r4,124
   45e7c:	210b883a 	add	r5,r4,r4
   45e80:	003e9d06 	br	458f8 <__alt_data_end+0xfffde7f8>
   45e84:	bdc00404 	addi	r23,r23,16
   45e88:	003f2f06 	br	45b48 <__alt_data_end+0xfffdea48>
   45e8c:	01401504 	movi	r5,84
   45e90:	28c01f36 	bltu	r5,r3,45f10 <_malloc_r+0x734>
   45e94:	100ad33a 	srli	r5,r2,12
   45e98:	29401b84 	addi	r5,r5,110
   45e9c:	294d883a 	add	r6,r5,r5
   45ea0:	003f8c06 	br	45cd4 <__alt_data_end+0xfffdebd4>
   45ea4:	9c000217 	ldw	r16,8(r19)
   45ea8:	00bfff04 	movi	r2,-4
   45eac:	80c00117 	ldw	r3,4(r16)
   45eb0:	1886703a 	and	r3,r3,r2
   45eb4:	003f6606 	br	45c50 <__alt_data_end+0xfffdeb50>
   45eb8:	e0c3ffcc 	andi	r3,fp,4095
   45ebc:	183f2f1e 	bne	r3,zero,45b7c <__alt_data_end+0xfffdea7c>
   45ec0:	98c00217 	ldw	r3,8(r19)
   45ec4:	bd49883a 	add	r4,r23,r21
   45ec8:	21000054 	ori	r4,r4,1
   45ecc:	19000115 	stw	r4,4(r3)
   45ed0:	003f5506 	br	45c28 <__alt_data_end+0xfffdeb28>
   45ed4:	01403f04 	movi	r5,252
   45ed8:	01001f84 	movi	r4,126
   45edc:	003e8606 	br	458f8 <__alt_data_end+0xfffde7f8>
   45ee0:	9009883a 	mov	r4,r18
   45ee4:	81400204 	addi	r5,r16,8
   45ee8:	0044c440 	call	44c44 <_free_r>
   45eec:	00800174 	movhi	r2,5
   45ef0:	10be7e04 	addi	r2,r2,-1544
   45ef4:	10800017 	ldw	r2,0(r2)
   45ef8:	003f4b06 	br	45c28 <__alt_data_end+0xfffdeb28>
   45efc:	00c00044 	movi	r3,1
   45f00:	002f883a 	mov	r23,zero
   45f04:	003f3406 	br	45bd8 <__alt_data_end+0xfffdead8>
   45f08:	d5200315 	stw	r20,-32756(gp)
   45f0c:	003f2106 	br	45b94 <__alt_data_end+0xfffdea94>
   45f10:	01405504 	movi	r5,340
   45f14:	28c00436 	bltu	r5,r3,45f28 <_malloc_r+0x74c>
   45f18:	100ad3fa 	srli	r5,r2,15
   45f1c:	29401dc4 	addi	r5,r5,119
   45f20:	294d883a 	add	r6,r5,r5
   45f24:	003f6b06 	br	45cd4 <__alt_data_end+0xfffdebd4>
   45f28:	01415504 	movi	r5,1364
   45f2c:	28c00936 	bltu	r5,r3,45f54 <_malloc_r+0x778>
   45f30:	100ad4ba 	srli	r5,r2,18
   45f34:	29401f04 	addi	r5,r5,124
   45f38:	294d883a 	add	r6,r5,r5
   45f3c:	003f6506 	br	45cd4 <__alt_data_end+0xfffdebd4>
   45f40:	98800117 	ldw	r2,4(r19)
   45f44:	0146303a 	nor	r3,zero,r5
   45f48:	1884703a 	and	r2,r3,r2
   45f4c:	98800115 	stw	r2,4(r19)
   45f50:	003f9006 	br	45d94 <__alt_data_end+0xfffdec94>
   45f54:	01803f04 	movi	r6,252
   45f58:	01401f84 	movi	r5,126
   45f5c:	003f5d06 	br	45cd4 <__alt_data_end+0xfffdebd4>

00045f60 <memchr>:
   45f60:	008000c4 	movi	r2,3
   45f64:	29403fcc 	andi	r5,r5,255
   45f68:	1180282e 	bgeu	r2,r6,4600c <memchr+0xac>
   45f6c:	2086703a 	and	r3,r4,r2
   45f70:	1800351e 	bne	r3,zero,46048 <memchr+0xe8>
   45f74:	2816923a 	slli	r11,r5,8
   45f78:	2093883a 	add	r9,r4,r2
   45f7c:	22000084 	addi	r8,r4,2
   45f80:	5957883a 	add	r11,r11,r5
   45f84:	5816923a 	slli	r11,r11,8
   45f88:	20c00044 	addi	r3,r4,1
   45f8c:	037fbff4 	movhi	r13,65279
   45f90:	6b7fbfc4 	addi	r13,r13,-257
   45f94:	5957883a 	add	r11,r11,r5
   45f98:	5816923a 	slli	r11,r11,8
   45f9c:	03202074 	movhi	r12,32897
   45fa0:	63202004 	addi	r12,r12,-32640
   45fa4:	101d883a 	mov	r14,r2
   45fa8:	5957883a 	add	r11,r11,r5
   45fac:	21c00017 	ldw	r7,0(r4)
   45fb0:	31bfff04 	addi	r6,r6,-4
   45fb4:	1805883a 	mov	r2,r3
   45fb8:	3acef03a 	xor	r7,r7,r11
   45fbc:	3b55883a 	add	r10,r7,r13
   45fc0:	01ce303a 	nor	r7,zero,r7
   45fc4:	51ce703a 	and	r7,r10,r7
   45fc8:	3b0e703a 	and	r7,r7,r12
   45fcc:	38000a26 	beq	r7,zero,45ff8 <memchr+0x98>
   45fd0:	21c00003 	ldbu	r7,0(r4)
   45fd4:	39401e26 	beq	r7,r5,46050 <memchr+0xf0>
   45fd8:	19c00003 	ldbu	r7,0(r3)
   45fdc:	39401926 	beq	r7,r5,46044 <memchr+0xe4>
   45fe0:	41c00003 	ldbu	r7,0(r8)
   45fe4:	4005883a 	mov	r2,r8
   45fe8:	39401626 	beq	r7,r5,46044 <memchr+0xe4>
   45fec:	49c00003 	ldbu	r7,0(r9)
   45ff0:	4805883a 	mov	r2,r9
   45ff4:	39401326 	beq	r7,r5,46044 <memchr+0xe4>
   45ff8:	21000104 	addi	r4,r4,4
   45ffc:	4a400104 	addi	r9,r9,4
   46000:	42000104 	addi	r8,r8,4
   46004:	18c00104 	addi	r3,r3,4
   46008:	71bfe836 	bltu	r14,r6,45fac <__alt_data_end+0xfffdeeac>
   4600c:	2005883a 	mov	r2,r4
   46010:	30000a26 	beq	r6,zero,4603c <memchr+0xdc>
   46014:	10c00003 	ldbu	r3,0(r2)
   46018:	19400a26 	beq	r3,r5,46044 <memchr+0xe4>
   4601c:	10c00044 	addi	r3,r2,1
   46020:	118d883a 	add	r6,r2,r6
   46024:	00000306 	br	46034 <memchr+0xd4>
   46028:	11000003 	ldbu	r4,0(r2)
   4602c:	18c00044 	addi	r3,r3,1
   46030:	21400426 	beq	r4,r5,46044 <memchr+0xe4>
   46034:	1805883a 	mov	r2,r3
   46038:	19bffb1e 	bne	r3,r6,46028 <__alt_data_end+0xfffdef28>
   4603c:	0005883a 	mov	r2,zero
   46040:	f800283a 	ret
   46044:	f800283a 	ret
   46048:	2005883a 	mov	r2,r4
   4604c:	003ff106 	br	46014 <__alt_data_end+0xfffdef14>
   46050:	2005883a 	mov	r2,r4
   46054:	f800283a 	ret

00046058 <memcpy>:
   46058:	00c003c4 	movi	r3,15
   4605c:	2005883a 	mov	r2,r4
   46060:	3009883a 	mov	r4,r6
   46064:	1980032e 	bgeu	r3,r6,46074 <memcpy+0x1c>
   46068:	2886b03a 	or	r3,r5,r2
   4606c:	18c000cc 	andi	r3,r3,3
   46070:	18000926 	beq	r3,zero,46098 <memcpy+0x40>
   46074:	1007883a 	mov	r3,r2
   46078:	290f883a 	add	r7,r5,r4
   4607c:	20000526 	beq	r4,zero,46094 <memcpy+0x3c>
   46080:	29800003 	ldbu	r6,0(r5)
   46084:	18c00044 	addi	r3,r3,1
   46088:	29400044 	addi	r5,r5,1
   4608c:	19bfffc5 	stb	r6,-1(r3)
   46090:	29fffb1e 	bne	r5,r7,46080 <__alt_data_end+0xfffdef80>
   46094:	f800283a 	ret
   46098:	327ffc04 	addi	r9,r6,-16
   4609c:	4812d13a 	srli	r9,r9,4
   460a0:	11000404 	addi	r4,r2,16
   460a4:	1007883a 	mov	r3,r2
   460a8:	4810913a 	slli	r8,r9,4
   460ac:	280f883a 	mov	r7,r5
   460b0:	2209883a 	add	r4,r4,r8
   460b4:	3a000017 	ldw	r8,0(r7)
   460b8:	18c00404 	addi	r3,r3,16
   460bc:	39c00404 	addi	r7,r7,16
   460c0:	1a3ffc15 	stw	r8,-16(r3)
   460c4:	3a3ffd17 	ldw	r8,-12(r7)
   460c8:	1a3ffd15 	stw	r8,-12(r3)
   460cc:	3a3ffe17 	ldw	r8,-8(r7)
   460d0:	1a3ffe15 	stw	r8,-8(r3)
   460d4:	3a3fff17 	ldw	r8,-4(r7)
   460d8:	1a3fff15 	stw	r8,-4(r3)
   460dc:	193ff51e 	bne	r3,r4,460b4 <__alt_data_end+0xfffdefb4>
   460e0:	49c00044 	addi	r7,r9,1
   460e4:	380e913a 	slli	r7,r7,4
   460e8:	310003cc 	andi	r4,r6,15
   460ec:	018000c4 	movi	r6,3
   460f0:	11c7883a 	add	r3,r2,r7
   460f4:	29cb883a 	add	r5,r5,r7
   460f8:	313fdf2e 	bgeu	r6,r4,46078 <__alt_data_end+0xfffdef78>
   460fc:	213fff04 	addi	r4,r4,-4
   46100:	2014d0ba 	srli	r10,r4,2
   46104:	1a400104 	addi	r9,r3,4
   46108:	180d883a 	mov	r6,r3
   4610c:	528f883a 	add	r7,r10,r10
   46110:	39cf883a 	add	r7,r7,r7
   46114:	49d3883a 	add	r9,r9,r7
   46118:	280f883a 	mov	r7,r5
   4611c:	3a000017 	ldw	r8,0(r7)
   46120:	31800104 	addi	r6,r6,4
   46124:	39c00104 	addi	r7,r7,4
   46128:	323fff15 	stw	r8,-4(r6)
   4612c:	327ffb1e 	bne	r6,r9,4611c <__alt_data_end+0xfffdf01c>
   46130:	51800044 	addi	r6,r10,1
   46134:	52bfff24 	muli	r10,r10,-4
   46138:	318d883a 	add	r6,r6,r6
   4613c:	318d883a 	add	r6,r6,r6
   46140:	5109883a 	add	r4,r10,r4
   46144:	298b883a 	add	r5,r5,r6
   46148:	1987883a 	add	r3,r3,r6
   4614c:	003fca06 	br	46078 <__alt_data_end+0xfffdef78>

00046150 <memmove>:
   46150:	2005883a 	mov	r2,r4
   46154:	300f883a 	mov	r7,r6
   46158:	29000b2e 	bgeu	r5,r4,46188 <memmove+0x38>
   4615c:	2987883a 	add	r3,r5,r6
   46160:	20c0092e 	bgeu	r4,r3,46188 <memmove+0x38>
   46164:	218b883a 	add	r5,r4,r6
   46168:	198fc83a 	sub	r7,r3,r6
   4616c:	30003f26 	beq	r6,zero,4626c <memmove+0x11c>
   46170:	18ffffc4 	addi	r3,r3,-1
   46174:	19000003 	ldbu	r4,0(r3)
   46178:	297fffc4 	addi	r5,r5,-1
   4617c:	29000005 	stb	r4,0(r5)
   46180:	19fffb1e 	bne	r3,r7,46170 <__alt_data_end+0xfffdf070>
   46184:	f800283a 	ret
   46188:	00c003c4 	movi	r3,15
   4618c:	1980382e 	bgeu	r3,r6,46270 <memmove+0x120>
   46190:	2886b03a 	or	r3,r5,r2
   46194:	18c000cc 	andi	r3,r3,3
   46198:	1800351e 	bne	r3,zero,46270 <memmove+0x120>
   4619c:	327ffc04 	addi	r9,r6,-16
   461a0:	4812d13a 	srli	r9,r9,4
   461a4:	12000404 	addi	r8,r2,16
   461a8:	1007883a 	mov	r3,r2
   461ac:	4808913a 	slli	r4,r9,4
   461b0:	280f883a 	mov	r7,r5
   461b4:	4111883a 	add	r8,r8,r4
   461b8:	39000017 	ldw	r4,0(r7)
   461bc:	18c00404 	addi	r3,r3,16
   461c0:	39c00404 	addi	r7,r7,16
   461c4:	193ffc15 	stw	r4,-16(r3)
   461c8:	393ffd17 	ldw	r4,-12(r7)
   461cc:	193ffd15 	stw	r4,-12(r3)
   461d0:	393ffe17 	ldw	r4,-8(r7)
   461d4:	193ffe15 	stw	r4,-8(r3)
   461d8:	393fff17 	ldw	r4,-4(r7)
   461dc:	193fff15 	stw	r4,-4(r3)
   461e0:	1a3ff51e 	bne	r3,r8,461b8 <__alt_data_end+0xfffdf0b8>
   461e4:	49000044 	addi	r4,r9,1
   461e8:	2008913a 	slli	r4,r4,4
   461ec:	31c003cc 	andi	r7,r6,15
   461f0:	1107883a 	add	r3,r2,r4
   461f4:	290b883a 	add	r5,r5,r4
   461f8:	010000c4 	movi	r4,3
   461fc:	21c0142e 	bgeu	r4,r7,46250 <memmove+0x100>
   46200:	39ffff04 	addi	r7,r7,-4
   46204:	3814d0ba 	srli	r10,r7,2
   46208:	1a400104 	addi	r9,r3,4
   4620c:	180d883a 	mov	r6,r3
   46210:	5289883a 	add	r4,r10,r10
   46214:	2109883a 	add	r4,r4,r4
   46218:	4913883a 	add	r9,r9,r4
   4621c:	2809883a 	mov	r4,r5
   46220:	22000017 	ldw	r8,0(r4)
   46224:	31800104 	addi	r6,r6,4
   46228:	21000104 	addi	r4,r4,4
   4622c:	323fff15 	stw	r8,-4(r6)
   46230:	327ffb1e 	bne	r6,r9,46220 <__alt_data_end+0xfffdf120>
   46234:	51000044 	addi	r4,r10,1
   46238:	52bfff24 	muli	r10,r10,-4
   4623c:	2109883a 	add	r4,r4,r4
   46240:	2109883a 	add	r4,r4,r4
   46244:	51cf883a 	add	r7,r10,r7
   46248:	290b883a 	add	r5,r5,r4
   4624c:	1907883a 	add	r3,r3,r4
   46250:	38000626 	beq	r7,zero,4626c <memmove+0x11c>
   46254:	19cf883a 	add	r7,r3,r7
   46258:	29800003 	ldbu	r6,0(r5)
   4625c:	18c00044 	addi	r3,r3,1
   46260:	29400044 	addi	r5,r5,1
   46264:	19bfffc5 	stb	r6,-1(r3)
   46268:	19fffb1e 	bne	r3,r7,46258 <__alt_data_end+0xfffdf158>
   4626c:	f800283a 	ret
   46270:	1007883a 	mov	r3,r2
   46274:	003ff606 	br	46250 <__alt_data_end+0xfffdf150>

00046278 <memset>:
   46278:	00c000c4 	movi	r3,3
   4627c:	2005883a 	mov	r2,r4
   46280:	29403fcc 	andi	r5,r5,255
   46284:	19802d2e 	bgeu	r3,r6,4633c <memset+0xc4>
   46288:	20c6703a 	and	r3,r4,r3
   4628c:	18002e1e 	bne	r3,zero,46348 <memset+0xd0>
   46290:	2806923a 	slli	r3,r5,8
   46294:	010003c4 	movi	r4,15
   46298:	3011883a 	mov	r8,r6
   4629c:	1946b03a 	or	r3,r3,r5
   462a0:	180e943a 	slli	r7,r3,16
   462a4:	38ceb03a 	or	r7,r7,r3
   462a8:	1007883a 	mov	r3,r2
   462ac:	21800f2e 	bgeu	r4,r6,462ec <memset+0x74>
   462b0:	19c00015 	stw	r7,0(r3)
   462b4:	19c00115 	stw	r7,4(r3)
   462b8:	19c00215 	stw	r7,8(r3)
   462bc:	19c00315 	stw	r7,12(r3)
   462c0:	423ffc04 	addi	r8,r8,-16
   462c4:	18c00404 	addi	r3,r3,16
   462c8:	223ff936 	bltu	r4,r8,462b0 <__alt_data_end+0xfffdf1b0>
   462cc:	30fffc04 	addi	r3,r6,-16
   462d0:	1806d13a 	srli	r3,r3,4
   462d4:	318003cc 	andi	r6,r6,15
   462d8:	010000c4 	movi	r4,3
   462dc:	18c00044 	addi	r3,r3,1
   462e0:	1806913a 	slli	r3,r3,4
   462e4:	10c7883a 	add	r3,r2,r3
   462e8:	21800e2e 	bgeu	r4,r6,46324 <memset+0xac>
   462ec:	1813883a 	mov	r9,r3
   462f0:	3011883a 	mov	r8,r6
   462f4:	010000c4 	movi	r4,3
   462f8:	49c00015 	stw	r7,0(r9)
   462fc:	423fff04 	addi	r8,r8,-4
   46300:	4a400104 	addi	r9,r9,4
   46304:	223ffc36 	bltu	r4,r8,462f8 <__alt_data_end+0xfffdf1f8>
   46308:	313fff04 	addi	r4,r6,-4
   4630c:	2008d0ba 	srli	r4,r4,2
   46310:	318000cc 	andi	r6,r6,3
   46314:	21000044 	addi	r4,r4,1
   46318:	2109883a 	add	r4,r4,r4
   4631c:	2109883a 	add	r4,r4,r4
   46320:	1907883a 	add	r3,r3,r4
   46324:	30000a26 	beq	r6,zero,46350 <memset+0xd8>
   46328:	198d883a 	add	r6,r3,r6
   4632c:	19400005 	stb	r5,0(r3)
   46330:	18c00044 	addi	r3,r3,1
   46334:	19bffd1e 	bne	r3,r6,4632c <__alt_data_end+0xfffdf22c>
   46338:	f800283a 	ret
   4633c:	2007883a 	mov	r3,r4
   46340:	303ff91e 	bne	r6,zero,46328 <__alt_data_end+0xfffdf228>
   46344:	00000206 	br	46350 <memset+0xd8>
   46348:	2007883a 	mov	r3,r4
   4634c:	003ff606 	br	46328 <__alt_data_end+0xfffdf228>
   46350:	f800283a 	ret

00046354 <_Balloc>:
   46354:	20801317 	ldw	r2,76(r4)
   46358:	defffc04 	addi	sp,sp,-16
   4635c:	dc400115 	stw	r17,4(sp)
   46360:	dc000015 	stw	r16,0(sp)
   46364:	dfc00315 	stw	ra,12(sp)
   46368:	dc800215 	stw	r18,8(sp)
   4636c:	2023883a 	mov	r17,r4
   46370:	2821883a 	mov	r16,r5
   46374:	10000f26 	beq	r2,zero,463b4 <_Balloc+0x60>
   46378:	8407883a 	add	r3,r16,r16
   4637c:	18c7883a 	add	r3,r3,r3
   46380:	10c7883a 	add	r3,r2,r3
   46384:	18800017 	ldw	r2,0(r3)
   46388:	10001126 	beq	r2,zero,463d0 <_Balloc+0x7c>
   4638c:	11000017 	ldw	r4,0(r2)
   46390:	19000015 	stw	r4,0(r3)
   46394:	10000415 	stw	zero,16(r2)
   46398:	10000315 	stw	zero,12(r2)
   4639c:	dfc00317 	ldw	ra,12(sp)
   463a0:	dc800217 	ldw	r18,8(sp)
   463a4:	dc400117 	ldw	r17,4(sp)
   463a8:	dc000017 	ldw	r16,0(sp)
   463ac:	dec00404 	addi	sp,sp,16
   463b0:	f800283a 	ret
   463b4:	01400104 	movi	r5,4
   463b8:	01800404 	movi	r6,16
   463bc:	0047c100 	call	47c10 <_calloc_r>
   463c0:	88801315 	stw	r2,76(r17)
   463c4:	103fec1e 	bne	r2,zero,46378 <__alt_data_end+0xfffdf278>
   463c8:	0005883a 	mov	r2,zero
   463cc:	003ff306 	br	4639c <__alt_data_end+0xfffdf29c>
   463d0:	01400044 	movi	r5,1
   463d4:	2c24983a 	sll	r18,r5,r16
   463d8:	8809883a 	mov	r4,r17
   463dc:	91800144 	addi	r6,r18,5
   463e0:	318d883a 	add	r6,r6,r6
   463e4:	318d883a 	add	r6,r6,r6
   463e8:	0047c100 	call	47c10 <_calloc_r>
   463ec:	103ff626 	beq	r2,zero,463c8 <__alt_data_end+0xfffdf2c8>
   463f0:	14000115 	stw	r16,4(r2)
   463f4:	14800215 	stw	r18,8(r2)
   463f8:	003fe606 	br	46394 <__alt_data_end+0xfffdf294>

000463fc <_Bfree>:
   463fc:	28000826 	beq	r5,zero,46420 <_Bfree+0x24>
   46400:	28c00117 	ldw	r3,4(r5)
   46404:	20801317 	ldw	r2,76(r4)
   46408:	18c7883a 	add	r3,r3,r3
   4640c:	18c7883a 	add	r3,r3,r3
   46410:	10c5883a 	add	r2,r2,r3
   46414:	10c00017 	ldw	r3,0(r2)
   46418:	28c00015 	stw	r3,0(r5)
   4641c:	11400015 	stw	r5,0(r2)
   46420:	f800283a 	ret

00046424 <__multadd>:
   46424:	defffa04 	addi	sp,sp,-24
   46428:	dc000115 	stw	r16,4(sp)
   4642c:	2c000417 	ldw	r16,16(r5)
   46430:	dc800315 	stw	r18,12(sp)
   46434:	dc400215 	stw	r17,8(sp)
   46438:	dfc00515 	stw	ra,20(sp)
   4643c:	dcc00415 	stw	r19,16(sp)
   46440:	2823883a 	mov	r17,r5
   46444:	2025883a 	mov	r18,r4
   46448:	28c00504 	addi	r3,r5,20
   4644c:	0011883a 	mov	r8,zero
   46450:	1a800017 	ldw	r10,0(r3)
   46454:	18c00104 	addi	r3,r3,4
   46458:	42000044 	addi	r8,r8,1
   4645c:	527fffcc 	andi	r9,r10,65535
   46460:	4993383a 	mul	r9,r9,r6
   46464:	5014d43a 	srli	r10,r10,16
   46468:	49d3883a 	add	r9,r9,r7
   4646c:	480ed43a 	srli	r7,r9,16
   46470:	5195383a 	mul	r10,r10,r6
   46474:	4a7fffcc 	andi	r9,r9,65535
   46478:	3a8f883a 	add	r7,r7,r10
   4647c:	3814943a 	slli	r10,r7,16
   46480:	380ed43a 	srli	r7,r7,16
   46484:	5253883a 	add	r9,r10,r9
   46488:	1a7fff15 	stw	r9,-4(r3)
   4648c:	443ff016 	blt	r8,r16,46450 <__alt_data_end+0xfffdf350>
   46490:	38000926 	beq	r7,zero,464b8 <__multadd+0x94>
   46494:	88800217 	ldw	r2,8(r17)
   46498:	80800f0e 	bge	r16,r2,464d8 <__multadd+0xb4>
   4649c:	80800144 	addi	r2,r16,5
   464a0:	1085883a 	add	r2,r2,r2
   464a4:	1085883a 	add	r2,r2,r2
   464a8:	8885883a 	add	r2,r17,r2
   464ac:	84000044 	addi	r16,r16,1
   464b0:	11c00015 	stw	r7,0(r2)
   464b4:	8c000415 	stw	r16,16(r17)
   464b8:	8805883a 	mov	r2,r17
   464bc:	dfc00517 	ldw	ra,20(sp)
   464c0:	dcc00417 	ldw	r19,16(sp)
   464c4:	dc800317 	ldw	r18,12(sp)
   464c8:	dc400217 	ldw	r17,8(sp)
   464cc:	dc000117 	ldw	r16,4(sp)
   464d0:	dec00604 	addi	sp,sp,24
   464d4:	f800283a 	ret
   464d8:	89400117 	ldw	r5,4(r17)
   464dc:	9009883a 	mov	r4,r18
   464e0:	d9c00015 	stw	r7,0(sp)
   464e4:	29400044 	addi	r5,r5,1
   464e8:	00463540 	call	46354 <_Balloc>
   464ec:	89800417 	ldw	r6,16(r17)
   464f0:	89400304 	addi	r5,r17,12
   464f4:	11000304 	addi	r4,r2,12
   464f8:	31800084 	addi	r6,r6,2
   464fc:	318d883a 	add	r6,r6,r6
   46500:	318d883a 	add	r6,r6,r6
   46504:	1027883a 	mov	r19,r2
   46508:	00460580 	call	46058 <memcpy>
   4650c:	88c00117 	ldw	r3,4(r17)
   46510:	90801317 	ldw	r2,76(r18)
   46514:	d9c00017 	ldw	r7,0(sp)
   46518:	18c7883a 	add	r3,r3,r3
   4651c:	18c7883a 	add	r3,r3,r3
   46520:	10c5883a 	add	r2,r2,r3
   46524:	10c00017 	ldw	r3,0(r2)
   46528:	88c00015 	stw	r3,0(r17)
   4652c:	14400015 	stw	r17,0(r2)
   46530:	9823883a 	mov	r17,r19
   46534:	003fd906 	br	4649c <__alt_data_end+0xfffdf39c>

00046538 <__s2b>:
   46538:	defff904 	addi	sp,sp,-28
   4653c:	dd000415 	stw	r20,16(sp)
   46540:	dc400115 	stw	r17,4(sp)
   46544:	2829883a 	mov	r20,r5
   46548:	2023883a 	mov	r17,r4
   4654c:	01400244 	movi	r5,9
   46550:	39000204 	addi	r4,r7,8
   46554:	dcc00315 	stw	r19,12(sp)
   46558:	dc800215 	stw	r18,8(sp)
   4655c:	dfc00615 	stw	ra,24(sp)
   46560:	dd400515 	stw	r21,20(sp)
   46564:	dc000015 	stw	r16,0(sp)
   46568:	3825883a 	mov	r18,r7
   4656c:	3027883a 	mov	r19,r6
   46570:	00497680 	call	49768 <__divsi3>
   46574:	00c00044 	movi	r3,1
   46578:	000b883a 	mov	r5,zero
   4657c:	1880030e 	bge	r3,r2,4658c <__s2b+0x54>
   46580:	18c7883a 	add	r3,r3,r3
   46584:	29400044 	addi	r5,r5,1
   46588:	18bffd16 	blt	r3,r2,46580 <__alt_data_end+0xfffdf480>
   4658c:	8809883a 	mov	r4,r17
   46590:	00463540 	call	46354 <_Balloc>
   46594:	d8c00717 	ldw	r3,28(sp)
   46598:	10c00515 	stw	r3,20(r2)
   4659c:	00c00044 	movi	r3,1
   465a0:	10c00415 	stw	r3,16(r2)
   465a4:	00c00244 	movi	r3,9
   465a8:	1cc0210e 	bge	r3,r19,46630 <__s2b+0xf8>
   465ac:	a0eb883a 	add	r21,r20,r3
   465b0:	a821883a 	mov	r16,r21
   465b4:	a4e9883a 	add	r20,r20,r19
   465b8:	81c00007 	ldb	r7,0(r16)
   465bc:	8809883a 	mov	r4,r17
   465c0:	84000044 	addi	r16,r16,1
   465c4:	100b883a 	mov	r5,r2
   465c8:	01800284 	movi	r6,10
   465cc:	39fff404 	addi	r7,r7,-48
   465d0:	00464240 	call	46424 <__multadd>
   465d4:	853ff81e 	bne	r16,r20,465b8 <__alt_data_end+0xfffdf4b8>
   465d8:	ace1883a 	add	r16,r21,r19
   465dc:	843ffe04 	addi	r16,r16,-8
   465e0:	9c800a0e 	bge	r19,r18,4660c <__s2b+0xd4>
   465e4:	94e5c83a 	sub	r18,r18,r19
   465e8:	84a5883a 	add	r18,r16,r18
   465ec:	81c00007 	ldb	r7,0(r16)
   465f0:	8809883a 	mov	r4,r17
   465f4:	84000044 	addi	r16,r16,1
   465f8:	100b883a 	mov	r5,r2
   465fc:	01800284 	movi	r6,10
   46600:	39fff404 	addi	r7,r7,-48
   46604:	00464240 	call	46424 <__multadd>
   46608:	84bff81e 	bne	r16,r18,465ec <__alt_data_end+0xfffdf4ec>
   4660c:	dfc00617 	ldw	ra,24(sp)
   46610:	dd400517 	ldw	r21,20(sp)
   46614:	dd000417 	ldw	r20,16(sp)
   46618:	dcc00317 	ldw	r19,12(sp)
   4661c:	dc800217 	ldw	r18,8(sp)
   46620:	dc400117 	ldw	r17,4(sp)
   46624:	dc000017 	ldw	r16,0(sp)
   46628:	dec00704 	addi	sp,sp,28
   4662c:	f800283a 	ret
   46630:	a4000284 	addi	r16,r20,10
   46634:	1827883a 	mov	r19,r3
   46638:	003fe906 	br	465e0 <__alt_data_end+0xfffdf4e0>

0004663c <__hi0bits>:
   4663c:	20bfffec 	andhi	r2,r4,65535
   46640:	1000141e 	bne	r2,zero,46694 <__hi0bits+0x58>
   46644:	2008943a 	slli	r4,r4,16
   46648:	00800404 	movi	r2,16
   4664c:	20ffc02c 	andhi	r3,r4,65280
   46650:	1800021e 	bne	r3,zero,4665c <__hi0bits+0x20>
   46654:	2008923a 	slli	r4,r4,8
   46658:	10800204 	addi	r2,r2,8
   4665c:	20fc002c 	andhi	r3,r4,61440
   46660:	1800021e 	bne	r3,zero,4666c <__hi0bits+0x30>
   46664:	2008913a 	slli	r4,r4,4
   46668:	10800104 	addi	r2,r2,4
   4666c:	20f0002c 	andhi	r3,r4,49152
   46670:	1800031e 	bne	r3,zero,46680 <__hi0bits+0x44>
   46674:	2109883a 	add	r4,r4,r4
   46678:	10800084 	addi	r2,r2,2
   4667c:	2109883a 	add	r4,r4,r4
   46680:	20000316 	blt	r4,zero,46690 <__hi0bits+0x54>
   46684:	2110002c 	andhi	r4,r4,16384
   46688:	2000041e 	bne	r4,zero,4669c <__hi0bits+0x60>
   4668c:	00800804 	movi	r2,32
   46690:	f800283a 	ret
   46694:	0005883a 	mov	r2,zero
   46698:	003fec06 	br	4664c <__alt_data_end+0xfffdf54c>
   4669c:	10800044 	addi	r2,r2,1
   466a0:	f800283a 	ret

000466a4 <__lo0bits>:
   466a4:	20c00017 	ldw	r3,0(r4)
   466a8:	188001cc 	andi	r2,r3,7
   466ac:	10000826 	beq	r2,zero,466d0 <__lo0bits+0x2c>
   466b0:	1880004c 	andi	r2,r3,1
   466b4:	1000211e 	bne	r2,zero,4673c <__lo0bits+0x98>
   466b8:	1880008c 	andi	r2,r3,2
   466bc:	1000211e 	bne	r2,zero,46744 <__lo0bits+0xa0>
   466c0:	1806d0ba 	srli	r3,r3,2
   466c4:	00800084 	movi	r2,2
   466c8:	20c00015 	stw	r3,0(r4)
   466cc:	f800283a 	ret
   466d0:	18bfffcc 	andi	r2,r3,65535
   466d4:	10001326 	beq	r2,zero,46724 <__lo0bits+0x80>
   466d8:	0005883a 	mov	r2,zero
   466dc:	19403fcc 	andi	r5,r3,255
   466e0:	2800021e 	bne	r5,zero,466ec <__lo0bits+0x48>
   466e4:	1806d23a 	srli	r3,r3,8
   466e8:	10800204 	addi	r2,r2,8
   466ec:	194003cc 	andi	r5,r3,15
   466f0:	2800021e 	bne	r5,zero,466fc <__lo0bits+0x58>
   466f4:	1806d13a 	srli	r3,r3,4
   466f8:	10800104 	addi	r2,r2,4
   466fc:	194000cc 	andi	r5,r3,3
   46700:	2800021e 	bne	r5,zero,4670c <__lo0bits+0x68>
   46704:	1806d0ba 	srli	r3,r3,2
   46708:	10800084 	addi	r2,r2,2
   4670c:	1940004c 	andi	r5,r3,1
   46710:	2800081e 	bne	r5,zero,46734 <__lo0bits+0x90>
   46714:	1806d07a 	srli	r3,r3,1
   46718:	1800051e 	bne	r3,zero,46730 <__lo0bits+0x8c>
   4671c:	00800804 	movi	r2,32
   46720:	f800283a 	ret
   46724:	1806d43a 	srli	r3,r3,16
   46728:	00800404 	movi	r2,16
   4672c:	003feb06 	br	466dc <__alt_data_end+0xfffdf5dc>
   46730:	10800044 	addi	r2,r2,1
   46734:	20c00015 	stw	r3,0(r4)
   46738:	f800283a 	ret
   4673c:	0005883a 	mov	r2,zero
   46740:	f800283a 	ret
   46744:	1806d07a 	srli	r3,r3,1
   46748:	00800044 	movi	r2,1
   4674c:	20c00015 	stw	r3,0(r4)
   46750:	f800283a 	ret

00046754 <__i2b>:
   46754:	defffd04 	addi	sp,sp,-12
   46758:	dc000015 	stw	r16,0(sp)
   4675c:	04000044 	movi	r16,1
   46760:	dc400115 	stw	r17,4(sp)
   46764:	2823883a 	mov	r17,r5
   46768:	800b883a 	mov	r5,r16
   4676c:	dfc00215 	stw	ra,8(sp)
   46770:	00463540 	call	46354 <_Balloc>
   46774:	14400515 	stw	r17,20(r2)
   46778:	14000415 	stw	r16,16(r2)
   4677c:	dfc00217 	ldw	ra,8(sp)
   46780:	dc400117 	ldw	r17,4(sp)
   46784:	dc000017 	ldw	r16,0(sp)
   46788:	dec00304 	addi	sp,sp,12
   4678c:	f800283a 	ret

00046790 <__multiply>:
   46790:	defffa04 	addi	sp,sp,-24
   46794:	dcc00315 	stw	r19,12(sp)
   46798:	dc400115 	stw	r17,4(sp)
   4679c:	34c00417 	ldw	r19,16(r6)
   467a0:	2c400417 	ldw	r17,16(r5)
   467a4:	dd000415 	stw	r20,16(sp)
   467a8:	dc800215 	stw	r18,8(sp)
   467ac:	dfc00515 	stw	ra,20(sp)
   467b0:	dc000015 	stw	r16,0(sp)
   467b4:	2825883a 	mov	r18,r5
   467b8:	3029883a 	mov	r20,r6
   467bc:	8cc0050e 	bge	r17,r19,467d4 <__multiply+0x44>
   467c0:	8807883a 	mov	r3,r17
   467c4:	3025883a 	mov	r18,r6
   467c8:	9823883a 	mov	r17,r19
   467cc:	2829883a 	mov	r20,r5
   467d0:	1827883a 	mov	r19,r3
   467d4:	90800217 	ldw	r2,8(r18)
   467d8:	8ce1883a 	add	r16,r17,r19
   467dc:	91400117 	ldw	r5,4(r18)
   467e0:	1400010e 	bge	r2,r16,467e8 <__multiply+0x58>
   467e4:	29400044 	addi	r5,r5,1
   467e8:	00463540 	call	46354 <_Balloc>
   467ec:	83c00144 	addi	r15,r16,5
   467f0:	7bdf883a 	add	r15,r15,r15
   467f4:	7bdf883a 	add	r15,r15,r15
   467f8:	13800504 	addi	r14,r2,20
   467fc:	13df883a 	add	r15,r2,r15
   46800:	7007883a 	mov	r3,r14
   46804:	73c0032e 	bgeu	r14,r15,46814 <__multiply+0x84>
   46808:	18000015 	stw	zero,0(r3)
   4680c:	18c00104 	addi	r3,r3,4
   46810:	1bfffd36 	bltu	r3,r15,46808 <__alt_data_end+0xfffdf708>
   46814:	99800144 	addi	r6,r19,5
   46818:	8b000144 	addi	r12,r17,5
   4681c:	318d883a 	add	r6,r6,r6
   46820:	6319883a 	add	r12,r12,r12
   46824:	318d883a 	add	r6,r6,r6
   46828:	6319883a 	add	r12,r12,r12
   4682c:	a3400504 	addi	r13,r20,20
   46830:	a18d883a 	add	r6,r20,r6
   46834:	94400504 	addi	r17,r18,20
   46838:	9319883a 	add	r12,r18,r12
   4683c:	6980392e 	bgeu	r13,r6,46924 <__multiply+0x194>
   46840:	6a800017 	ldw	r10,0(r13)
   46844:	52ffffcc 	andi	r11,r10,65535
   46848:	58001826 	beq	r11,zero,468ac <__multiply+0x11c>
   4684c:	7007883a 	mov	r3,r14
   46850:	8809883a 	mov	r4,r17
   46854:	000b883a 	mov	r5,zero
   46858:	22400017 	ldw	r9,0(r4)
   4685c:	1a000017 	ldw	r8,0(r3)
   46860:	21000104 	addi	r4,r4,4
   46864:	49ffffcc 	andi	r7,r9,65535
   46868:	3acf383a 	mul	r7,r7,r11
   4686c:	4812d43a 	srli	r9,r9,16
   46870:	42bfffcc 	andi	r10,r8,65535
   46874:	3a8f883a 	add	r7,r7,r10
   46878:	394f883a 	add	r7,r7,r5
   4687c:	4010d43a 	srli	r8,r8,16
   46880:	4acb383a 	mul	r5,r9,r11
   46884:	3814d43a 	srli	r10,r7,16
   46888:	19c0000d 	sth	r7,0(r3)
   4688c:	2a0b883a 	add	r5,r5,r8
   46890:	2a8b883a 	add	r5,r5,r10
   46894:	1940008d 	sth	r5,2(r3)
   46898:	280ad43a 	srli	r5,r5,16
   4689c:	18c00104 	addi	r3,r3,4
   468a0:	233fed36 	bltu	r4,r12,46858 <__alt_data_end+0xfffdf758>
   468a4:	19400015 	stw	r5,0(r3)
   468a8:	6a800017 	ldw	r10,0(r13)
   468ac:	5014d43a 	srli	r10,r10,16
   468b0:	50001926 	beq	r10,zero,46918 <__multiply+0x188>
   468b4:	71400017 	ldw	r5,0(r14)
   468b8:	7007883a 	mov	r3,r14
   468bc:	8809883a 	mov	r4,r17
   468c0:	280f883a 	mov	r7,r5
   468c4:	0017883a 	mov	r11,zero
   468c8:	22400017 	ldw	r9,0(r4)
   468cc:	380ed43a 	srli	r7,r7,16
   468d0:	1940000d 	sth	r5,0(r3)
   468d4:	4a3fffcc 	andi	r8,r9,65535
   468d8:	4291383a 	mul	r8,r8,r10
   468dc:	4812d43a 	srli	r9,r9,16
   468e0:	18c00104 	addi	r3,r3,4
   468e4:	41d1883a 	add	r8,r8,r7
   468e8:	19c00017 	ldw	r7,0(r3)
   468ec:	42d1883a 	add	r8,r8,r11
   468f0:	4a93383a 	mul	r9,r9,r10
   468f4:	1a3fff8d 	sth	r8,-2(r3)
   468f8:	4010d43a 	srli	r8,r8,16
   468fc:	397fffcc 	andi	r5,r7,65535
   46900:	2a4b883a 	add	r5,r5,r9
   46904:	2a0b883a 	add	r5,r5,r8
   46908:	21000104 	addi	r4,r4,4
   4690c:	2816d43a 	srli	r11,r5,16
   46910:	233fed36 	bltu	r4,r12,468c8 <__alt_data_end+0xfffdf7c8>
   46914:	19400015 	stw	r5,0(r3)
   46918:	6b400104 	addi	r13,r13,4
   4691c:	73800104 	addi	r14,r14,4
   46920:	69bfc736 	bltu	r13,r6,46840 <__alt_data_end+0xfffdf740>
   46924:	0400090e 	bge	zero,r16,4694c <__multiply+0x1bc>
   46928:	78ffff17 	ldw	r3,-4(r15)
   4692c:	7bffff04 	addi	r15,r15,-4
   46930:	18000326 	beq	r3,zero,46940 <__multiply+0x1b0>
   46934:	00000506 	br	4694c <__multiply+0x1bc>
   46938:	78c00017 	ldw	r3,0(r15)
   4693c:	1800031e 	bne	r3,zero,4694c <__multiply+0x1bc>
   46940:	843fffc4 	addi	r16,r16,-1
   46944:	7bffff04 	addi	r15,r15,-4
   46948:	803ffb1e 	bne	r16,zero,46938 <__alt_data_end+0xfffdf838>
   4694c:	14000415 	stw	r16,16(r2)
   46950:	dfc00517 	ldw	ra,20(sp)
   46954:	dd000417 	ldw	r20,16(sp)
   46958:	dcc00317 	ldw	r19,12(sp)
   4695c:	dc800217 	ldw	r18,8(sp)
   46960:	dc400117 	ldw	r17,4(sp)
   46964:	dc000017 	ldw	r16,0(sp)
   46968:	dec00604 	addi	sp,sp,24
   4696c:	f800283a 	ret

00046970 <__pow5mult>:
   46970:	defffb04 	addi	sp,sp,-20
   46974:	dcc00315 	stw	r19,12(sp)
   46978:	dc800215 	stw	r18,8(sp)
   4697c:	dc000015 	stw	r16,0(sp)
   46980:	dfc00415 	stw	ra,16(sp)
   46984:	dc400115 	stw	r17,4(sp)
   46988:	308000cc 	andi	r2,r6,3
   4698c:	3021883a 	mov	r16,r6
   46990:	2027883a 	mov	r19,r4
   46994:	2825883a 	mov	r18,r5
   46998:	10002e1e 	bne	r2,zero,46a54 <__pow5mult+0xe4>
   4699c:	8021d0ba 	srai	r16,r16,2
   469a0:	80001a26 	beq	r16,zero,46a0c <__pow5mult+0x9c>
   469a4:	9c401217 	ldw	r17,72(r19)
   469a8:	8800061e 	bne	r17,zero,469c4 <__pow5mult+0x54>
   469ac:	00003406 	br	46a80 <__pow5mult+0x110>
   469b0:	8021d07a 	srai	r16,r16,1
   469b4:	80001526 	beq	r16,zero,46a0c <__pow5mult+0x9c>
   469b8:	88c00017 	ldw	r3,0(r17)
   469bc:	18001b26 	beq	r3,zero,46a2c <__pow5mult+0xbc>
   469c0:	1823883a 	mov	r17,r3
   469c4:	80c0004c 	andi	r3,r16,1
   469c8:	183ff926 	beq	r3,zero,469b0 <__alt_data_end+0xfffdf8b0>
   469cc:	900b883a 	mov	r5,r18
   469d0:	880d883a 	mov	r6,r17
   469d4:	9809883a 	mov	r4,r19
   469d8:	00467900 	call	46790 <__multiply>
   469dc:	90001b26 	beq	r18,zero,46a4c <__pow5mult+0xdc>
   469e0:	91000117 	ldw	r4,4(r18)
   469e4:	98c01317 	ldw	r3,76(r19)
   469e8:	8021d07a 	srai	r16,r16,1
   469ec:	2109883a 	add	r4,r4,r4
   469f0:	2109883a 	add	r4,r4,r4
   469f4:	1907883a 	add	r3,r3,r4
   469f8:	19000017 	ldw	r4,0(r3)
   469fc:	91000015 	stw	r4,0(r18)
   46a00:	1c800015 	stw	r18,0(r3)
   46a04:	1025883a 	mov	r18,r2
   46a08:	803feb1e 	bne	r16,zero,469b8 <__alt_data_end+0xfffdf8b8>
   46a0c:	9005883a 	mov	r2,r18
   46a10:	dfc00417 	ldw	ra,16(sp)
   46a14:	dcc00317 	ldw	r19,12(sp)
   46a18:	dc800217 	ldw	r18,8(sp)
   46a1c:	dc400117 	ldw	r17,4(sp)
   46a20:	dc000017 	ldw	r16,0(sp)
   46a24:	dec00504 	addi	sp,sp,20
   46a28:	f800283a 	ret
   46a2c:	880b883a 	mov	r5,r17
   46a30:	880d883a 	mov	r6,r17
   46a34:	9809883a 	mov	r4,r19
   46a38:	00467900 	call	46790 <__multiply>
   46a3c:	88800015 	stw	r2,0(r17)
   46a40:	10000015 	stw	zero,0(r2)
   46a44:	1023883a 	mov	r17,r2
   46a48:	003fde06 	br	469c4 <__alt_data_end+0xfffdf8c4>
   46a4c:	1025883a 	mov	r18,r2
   46a50:	003fd706 	br	469b0 <__alt_data_end+0xfffdf8b0>
   46a54:	10bfffc4 	addi	r2,r2,-1
   46a58:	1085883a 	add	r2,r2,r2
   46a5c:	00c00174 	movhi	r3,5
   46a60:	18f13704 	addi	r3,r3,-15140
   46a64:	1085883a 	add	r2,r2,r2
   46a68:	1885883a 	add	r2,r3,r2
   46a6c:	11800017 	ldw	r6,0(r2)
   46a70:	000f883a 	mov	r7,zero
   46a74:	00464240 	call	46424 <__multadd>
   46a78:	1025883a 	mov	r18,r2
   46a7c:	003fc706 	br	4699c <__alt_data_end+0xfffdf89c>
   46a80:	9809883a 	mov	r4,r19
   46a84:	01409c44 	movi	r5,625
   46a88:	00467540 	call	46754 <__i2b>
   46a8c:	98801215 	stw	r2,72(r19)
   46a90:	1023883a 	mov	r17,r2
   46a94:	10000015 	stw	zero,0(r2)
   46a98:	003fca06 	br	469c4 <__alt_data_end+0xfffdf8c4>

00046a9c <__lshift>:
   46a9c:	defff904 	addi	sp,sp,-28
   46aa0:	dd400515 	stw	r21,20(sp)
   46aa4:	dc400115 	stw	r17,4(sp)
   46aa8:	2d400417 	ldw	r21,16(r5)
   46aac:	3023d17a 	srai	r17,r6,5
   46ab0:	28800217 	ldw	r2,8(r5)
   46ab4:	dd000415 	stw	r20,16(sp)
   46ab8:	8d6b883a 	add	r21,r17,r21
   46abc:	dcc00315 	stw	r19,12(sp)
   46ac0:	dc800215 	stw	r18,8(sp)
   46ac4:	dc000015 	stw	r16,0(sp)
   46ac8:	dfc00615 	stw	ra,24(sp)
   46acc:	ac000044 	addi	r16,r21,1
   46ad0:	2825883a 	mov	r18,r5
   46ad4:	3029883a 	mov	r20,r6
   46ad8:	2027883a 	mov	r19,r4
   46adc:	29400117 	ldw	r5,4(r5)
   46ae0:	1400030e 	bge	r2,r16,46af0 <__lshift+0x54>
   46ae4:	1085883a 	add	r2,r2,r2
   46ae8:	29400044 	addi	r5,r5,1
   46aec:	143ffd16 	blt	r2,r16,46ae4 <__alt_data_end+0xfffdf9e4>
   46af0:	9809883a 	mov	r4,r19
   46af4:	00463540 	call	46354 <_Balloc>
   46af8:	10c00504 	addi	r3,r2,20
   46afc:	0440090e 	bge	zero,r17,46b24 <__lshift+0x88>
   46b00:	000f883a 	mov	r7,zero
   46b04:	18000015 	stw	zero,0(r3)
   46b08:	39c00044 	addi	r7,r7,1
   46b0c:	18c00104 	addi	r3,r3,4
   46b10:	3c7ffc1e 	bne	r7,r17,46b04 <__alt_data_end+0xfffdfa04>
   46b14:	38c00144 	addi	r3,r7,5
   46b18:	18c7883a 	add	r3,r3,r3
   46b1c:	18c7883a 	add	r3,r3,r3
   46b20:	10c7883a 	add	r3,r2,r3
   46b24:	92000417 	ldw	r8,16(r18)
   46b28:	a18007cc 	andi	r6,r20,31
   46b2c:	91c00504 	addi	r7,r18,20
   46b30:	42000144 	addi	r8,r8,5
   46b34:	4211883a 	add	r8,r8,r8
   46b38:	4211883a 	add	r8,r8,r8
   46b3c:	9211883a 	add	r8,r18,r8
   46b40:	30002226 	beq	r6,zero,46bcc <__lshift+0x130>
   46b44:	02800804 	movi	r10,32
   46b48:	5195c83a 	sub	r10,r10,r6
   46b4c:	000b883a 	mov	r5,zero
   46b50:	3a400017 	ldw	r9,0(r7)
   46b54:	18c00104 	addi	r3,r3,4
   46b58:	39c00104 	addi	r7,r7,4
   46b5c:	4992983a 	sll	r9,r9,r6
   46b60:	2a4ab03a 	or	r5,r5,r9
   46b64:	197fff15 	stw	r5,-4(r3)
   46b68:	397fff17 	ldw	r5,-4(r7)
   46b6c:	2a8ad83a 	srl	r5,r5,r10
   46b70:	3a3ff736 	bltu	r7,r8,46b50 <__alt_data_end+0xfffdfa50>
   46b74:	19400015 	stw	r5,0(r3)
   46b78:	28000126 	beq	r5,zero,46b80 <__lshift+0xe4>
   46b7c:	ac000084 	addi	r16,r21,2
   46b80:	91000117 	ldw	r4,4(r18)
   46b84:	98c01317 	ldw	r3,76(r19)
   46b88:	843fffc4 	addi	r16,r16,-1
   46b8c:	2109883a 	add	r4,r4,r4
   46b90:	2109883a 	add	r4,r4,r4
   46b94:	1907883a 	add	r3,r3,r4
   46b98:	19000017 	ldw	r4,0(r3)
   46b9c:	14000415 	stw	r16,16(r2)
   46ba0:	91000015 	stw	r4,0(r18)
   46ba4:	1c800015 	stw	r18,0(r3)
   46ba8:	dfc00617 	ldw	ra,24(sp)
   46bac:	dd400517 	ldw	r21,20(sp)
   46bb0:	dd000417 	ldw	r20,16(sp)
   46bb4:	dcc00317 	ldw	r19,12(sp)
   46bb8:	dc800217 	ldw	r18,8(sp)
   46bbc:	dc400117 	ldw	r17,4(sp)
   46bc0:	dc000017 	ldw	r16,0(sp)
   46bc4:	dec00704 	addi	sp,sp,28
   46bc8:	f800283a 	ret
   46bcc:	39400017 	ldw	r5,0(r7)
   46bd0:	18c00104 	addi	r3,r3,4
   46bd4:	39c00104 	addi	r7,r7,4
   46bd8:	197fff15 	stw	r5,-4(r3)
   46bdc:	3a3fe82e 	bgeu	r7,r8,46b80 <__alt_data_end+0xfffdfa80>
   46be0:	39400017 	ldw	r5,0(r7)
   46be4:	18c00104 	addi	r3,r3,4
   46be8:	39c00104 	addi	r7,r7,4
   46bec:	197fff15 	stw	r5,-4(r3)
   46bf0:	3a3ff636 	bltu	r7,r8,46bcc <__alt_data_end+0xfffdfacc>
   46bf4:	003fe206 	br	46b80 <__alt_data_end+0xfffdfa80>

00046bf8 <__mcmp>:
   46bf8:	20800417 	ldw	r2,16(r4)
   46bfc:	28c00417 	ldw	r3,16(r5)
   46c00:	10c5c83a 	sub	r2,r2,r3
   46c04:	10000f1e 	bne	r2,zero,46c44 <__mcmp+0x4c>
   46c08:	18c00144 	addi	r3,r3,5
   46c0c:	18c7883a 	add	r3,r3,r3
   46c10:	18c7883a 	add	r3,r3,r3
   46c14:	21c00504 	addi	r7,r4,20
   46c18:	28cb883a 	add	r5,r5,r3
   46c1c:	20c9883a 	add	r4,r4,r3
   46c20:	213fff04 	addi	r4,r4,-4
   46c24:	297fff04 	addi	r5,r5,-4
   46c28:	21800017 	ldw	r6,0(r4)
   46c2c:	28c00017 	ldw	r3,0(r5)
   46c30:	30c0021e 	bne	r6,r3,46c3c <__mcmp+0x44>
   46c34:	393ffa36 	bltu	r7,r4,46c20 <__alt_data_end+0xfffdfb20>
   46c38:	f800283a 	ret
   46c3c:	30c00236 	bltu	r6,r3,46c48 <__mcmp+0x50>
   46c40:	00800044 	movi	r2,1
   46c44:	f800283a 	ret
   46c48:	00bfffc4 	movi	r2,-1
   46c4c:	f800283a 	ret

00046c50 <__mdiff>:
   46c50:	defffb04 	addi	sp,sp,-20
   46c54:	dc000015 	stw	r16,0(sp)
   46c58:	2821883a 	mov	r16,r5
   46c5c:	dc800215 	stw	r18,8(sp)
   46c60:	300b883a 	mov	r5,r6
   46c64:	2025883a 	mov	r18,r4
   46c68:	8009883a 	mov	r4,r16
   46c6c:	dc400115 	stw	r17,4(sp)
   46c70:	dfc00415 	stw	ra,16(sp)
   46c74:	dcc00315 	stw	r19,12(sp)
   46c78:	3023883a 	mov	r17,r6
   46c7c:	0046bf80 	call	46bf8 <__mcmp>
   46c80:	10005026 	beq	r2,zero,46dc4 <__mdiff+0x174>
   46c84:	10004a16 	blt	r2,zero,46db0 <__mdiff+0x160>
   46c88:	0027883a 	mov	r19,zero
   46c8c:	81400117 	ldw	r5,4(r16)
   46c90:	9009883a 	mov	r4,r18
   46c94:	00463540 	call	46354 <_Balloc>
   46c98:	82400417 	ldw	r9,16(r16)
   46c9c:	89800417 	ldw	r6,16(r17)
   46ca0:	14c00315 	stw	r19,12(r2)
   46ca4:	4b800144 	addi	r14,r9,5
   46ca8:	31800144 	addi	r6,r6,5
   46cac:	739d883a 	add	r14,r14,r14
   46cb0:	318d883a 	add	r6,r6,r6
   46cb4:	739d883a 	add	r14,r14,r14
   46cb8:	318d883a 	add	r6,r6,r6
   46cbc:	81c00504 	addi	r7,r16,20
   46cc0:	839d883a 	add	r14,r16,r14
   46cc4:	8a000504 	addi	r8,r17,20
   46cc8:	898d883a 	add	r6,r17,r6
   46ccc:	10c00504 	addi	r3,r2,20
   46cd0:	0009883a 	mov	r4,zero
   46cd4:	3b000017 	ldw	r12,0(r7)
   46cd8:	42c00017 	ldw	r11,0(r8)
   46cdc:	42000104 	addi	r8,r8,4
   46ce0:	62bfffcc 	andi	r10,r12,65535
   46ce4:	5b7fffcc 	andi	r13,r11,65535
   46ce8:	5109883a 	add	r4,r10,r4
   46cec:	2355c83a 	sub	r10,r4,r13
   46cf0:	5816d43a 	srli	r11,r11,16
   46cf4:	6008d43a 	srli	r4,r12,16
   46cf8:	501bd43a 	srai	r13,r10,16
   46cfc:	1a80000d 	sth	r10,0(r3)
   46d00:	22c9c83a 	sub	r4,r4,r11
   46d04:	2349883a 	add	r4,r4,r13
   46d08:	1900008d 	sth	r4,2(r3)
   46d0c:	39c00104 	addi	r7,r7,4
   46d10:	2009d43a 	srai	r4,r4,16
   46d14:	18c00104 	addi	r3,r3,4
   46d18:	41bfee36 	bltu	r8,r6,46cd4 <__alt_data_end+0xfffdfbd4>
   46d1c:	180b883a 	mov	r5,r3
   46d20:	3815883a 	mov	r10,r7
   46d24:	3b80132e 	bgeu	r7,r14,46d74 <__mdiff+0x124>
   46d28:	3a000017 	ldw	r8,0(r7)
   46d2c:	18c00104 	addi	r3,r3,4
   46d30:	39c00104 	addi	r7,r7,4
   46d34:	41bfffcc 	andi	r6,r8,65535
   46d38:	310d883a 	add	r6,r6,r4
   46d3c:	3009d43a 	srai	r4,r6,16
   46d40:	4010d43a 	srli	r8,r8,16
   46d44:	19bfff0d 	sth	r6,-4(r3)
   46d48:	2209883a 	add	r4,r4,r8
   46d4c:	193fff8d 	sth	r4,-2(r3)
   46d50:	2009d43a 	srai	r4,r4,16
   46d54:	3bbff436 	bltu	r7,r14,46d28 <__alt_data_end+0xfffdfc28>
   46d58:	0286303a 	nor	r3,zero,r10
   46d5c:	1b87883a 	add	r3,r3,r14
   46d60:	1806d0ba 	srli	r3,r3,2
   46d64:	18c00044 	addi	r3,r3,1
   46d68:	18c7883a 	add	r3,r3,r3
   46d6c:	18c7883a 	add	r3,r3,r3
   46d70:	28c7883a 	add	r3,r5,r3
   46d74:	193fff17 	ldw	r4,-4(r3)
   46d78:	18ffff04 	addi	r3,r3,-4
   46d7c:	2000041e 	bne	r4,zero,46d90 <__mdiff+0x140>
   46d80:	18ffff04 	addi	r3,r3,-4
   46d84:	19000017 	ldw	r4,0(r3)
   46d88:	4a7fffc4 	addi	r9,r9,-1
   46d8c:	203ffc26 	beq	r4,zero,46d80 <__alt_data_end+0xfffdfc80>
   46d90:	12400415 	stw	r9,16(r2)
   46d94:	dfc00417 	ldw	ra,16(sp)
   46d98:	dcc00317 	ldw	r19,12(sp)
   46d9c:	dc800217 	ldw	r18,8(sp)
   46da0:	dc400117 	ldw	r17,4(sp)
   46da4:	dc000017 	ldw	r16,0(sp)
   46da8:	dec00504 	addi	sp,sp,20
   46dac:	f800283a 	ret
   46db0:	8005883a 	mov	r2,r16
   46db4:	04c00044 	movi	r19,1
   46db8:	8821883a 	mov	r16,r17
   46dbc:	1023883a 	mov	r17,r2
   46dc0:	003fb206 	br	46c8c <__alt_data_end+0xfffdfb8c>
   46dc4:	9009883a 	mov	r4,r18
   46dc8:	000b883a 	mov	r5,zero
   46dcc:	00463540 	call	46354 <_Balloc>
   46dd0:	00c00044 	movi	r3,1
   46dd4:	10c00415 	stw	r3,16(r2)
   46dd8:	10000515 	stw	zero,20(r2)
   46ddc:	dfc00417 	ldw	ra,16(sp)
   46de0:	dcc00317 	ldw	r19,12(sp)
   46de4:	dc800217 	ldw	r18,8(sp)
   46de8:	dc400117 	ldw	r17,4(sp)
   46dec:	dc000017 	ldw	r16,0(sp)
   46df0:	dec00504 	addi	sp,sp,20
   46df4:	f800283a 	ret

00046df8 <__ulp>:
   46df8:	295ffc2c 	andhi	r5,r5,32752
   46dfc:	00bf3034 	movhi	r2,64704
   46e00:	2887883a 	add	r3,r5,r2
   46e04:	00c0020e 	bge	zero,r3,46e10 <__ulp+0x18>
   46e08:	0005883a 	mov	r2,zero
   46e0c:	f800283a 	ret
   46e10:	00c7c83a 	sub	r3,zero,r3
   46e14:	1805d53a 	srai	r2,r3,20
   46e18:	00c004c4 	movi	r3,19
   46e1c:	18800a0e 	bge	r3,r2,46e48 <__ulp+0x50>
   46e20:	01000c84 	movi	r4,50
   46e24:	0007883a 	mov	r3,zero
   46e28:	20800516 	blt	r4,r2,46e40 <__ulp+0x48>
   46e2c:	01000cc4 	movi	r4,51
   46e30:	2085c83a 	sub	r2,r4,r2
   46e34:	01000044 	movi	r4,1
   46e38:	2084983a 	sll	r2,r4,r2
   46e3c:	f800283a 	ret
   46e40:	00800044 	movi	r2,1
   46e44:	f800283a 	ret
   46e48:	00c00234 	movhi	r3,8
   46e4c:	1887d83a 	sra	r3,r3,r2
   46e50:	0005883a 	mov	r2,zero
   46e54:	f800283a 	ret

00046e58 <__b2d>:
   46e58:	defffa04 	addi	sp,sp,-24
   46e5c:	dc000015 	stw	r16,0(sp)
   46e60:	24000417 	ldw	r16,16(r4)
   46e64:	dc400115 	stw	r17,4(sp)
   46e68:	dcc00315 	stw	r19,12(sp)
   46e6c:	84000144 	addi	r16,r16,5
   46e70:	8421883a 	add	r16,r16,r16
   46e74:	8421883a 	add	r16,r16,r16
   46e78:	2421883a 	add	r16,r4,r16
   46e7c:	847fff17 	ldw	r17,-4(r16)
   46e80:	24c00504 	addi	r19,r4,20
   46e84:	dd000415 	stw	r20,16(sp)
   46e88:	8809883a 	mov	r4,r17
   46e8c:	dc800215 	stw	r18,8(sp)
   46e90:	2829883a 	mov	r20,r5
   46e94:	dfc00515 	stw	ra,20(sp)
   46e98:	004663c0 	call	4663c <__hi0bits>
   46e9c:	00c00804 	movi	r3,32
   46ea0:	1887c83a 	sub	r3,r3,r2
   46ea4:	a0c00015 	stw	r3,0(r20)
   46ea8:	00c00284 	movi	r3,10
   46eac:	84bfff04 	addi	r18,r16,-4
   46eb0:	18801216 	blt	r3,r2,46efc <__b2d+0xa4>
   46eb4:	010002c4 	movi	r4,11
   46eb8:	2089c83a 	sub	r4,r4,r2
   46ebc:	8906d83a 	srl	r3,r17,r4
   46ec0:	18cffc34 	orhi	r3,r3,16368
   46ec4:	9c80322e 	bgeu	r19,r18,46f90 <__b2d+0x138>
   46ec8:	817ffe17 	ldw	r5,-8(r16)
   46ecc:	2908d83a 	srl	r4,r5,r4
   46ed0:	10800544 	addi	r2,r2,21
   46ed4:	88a2983a 	sll	r17,r17,r2
   46ed8:	2444b03a 	or	r2,r4,r17
   46edc:	dfc00517 	ldw	ra,20(sp)
   46ee0:	dd000417 	ldw	r20,16(sp)
   46ee4:	dcc00317 	ldw	r19,12(sp)
   46ee8:	dc800217 	ldw	r18,8(sp)
   46eec:	dc400117 	ldw	r17,4(sp)
   46ef0:	dc000017 	ldw	r16,0(sp)
   46ef4:	dec00604 	addi	sp,sp,24
   46ef8:	f800283a 	ret
   46efc:	9c801636 	bltu	r19,r18,46f58 <__b2d+0x100>
   46f00:	113ffd44 	addi	r4,r2,-11
   46f04:	000b883a 	mov	r5,zero
   46f08:	20001726 	beq	r4,zero,46f68 <__b2d+0x110>
   46f0c:	00c00ac4 	movi	r3,43
   46f10:	1885c83a 	sub	r2,r3,r2
   46f14:	8906983a 	sll	r3,r17,r4
   46f18:	288cd83a 	srl	r6,r5,r2
   46f1c:	18cffc34 	orhi	r3,r3,16368
   46f20:	1986b03a 	or	r3,r3,r6
   46f24:	9c801c2e 	bgeu	r19,r18,46f98 <__b2d+0x140>
   46f28:	91bfff17 	ldw	r6,-4(r18)
   46f2c:	3084d83a 	srl	r2,r6,r2
   46f30:	2908983a 	sll	r4,r5,r4
   46f34:	1104b03a 	or	r2,r2,r4
   46f38:	dfc00517 	ldw	ra,20(sp)
   46f3c:	dd000417 	ldw	r20,16(sp)
   46f40:	dcc00317 	ldw	r19,12(sp)
   46f44:	dc800217 	ldw	r18,8(sp)
   46f48:	dc400117 	ldw	r17,4(sp)
   46f4c:	dc000017 	ldw	r16,0(sp)
   46f50:	dec00604 	addi	sp,sp,24
   46f54:	f800283a 	ret
   46f58:	113ffd44 	addi	r4,r2,-11
   46f5c:	84bffe04 	addi	r18,r16,-8
   46f60:	817ffe17 	ldw	r5,-8(r16)
   46f64:	203fe91e 	bne	r4,zero,46f0c <__alt_data_end+0xfffdfe0c>
   46f68:	88cffc34 	orhi	r3,r17,16368
   46f6c:	2805883a 	mov	r2,r5
   46f70:	dfc00517 	ldw	ra,20(sp)
   46f74:	dd000417 	ldw	r20,16(sp)
   46f78:	dcc00317 	ldw	r19,12(sp)
   46f7c:	dc800217 	ldw	r18,8(sp)
   46f80:	dc400117 	ldw	r17,4(sp)
   46f84:	dc000017 	ldw	r16,0(sp)
   46f88:	dec00604 	addi	sp,sp,24
   46f8c:	f800283a 	ret
   46f90:	0009883a 	mov	r4,zero
   46f94:	003fce06 	br	46ed0 <__alt_data_end+0xfffdfdd0>
   46f98:	0005883a 	mov	r2,zero
   46f9c:	003fe406 	br	46f30 <__alt_data_end+0xfffdfe30>

00046fa0 <__d2b>:
   46fa0:	defff804 	addi	sp,sp,-32
   46fa4:	dc400315 	stw	r17,12(sp)
   46fa8:	3023883a 	mov	r17,r6
   46fac:	dc800415 	stw	r18,16(sp)
   46fb0:	8824907a 	slli	r18,r17,1
   46fb4:	dcc00515 	stw	r19,20(sp)
   46fb8:	2827883a 	mov	r19,r5
   46fbc:	9024d57a 	srli	r18,r18,21
   46fc0:	01400044 	movi	r5,1
   46fc4:	dd000615 	stw	r20,24(sp)
   46fc8:	dc000215 	stw	r16,8(sp)
   46fcc:	dfc00715 	stw	ra,28(sp)
   46fd0:	3829883a 	mov	r20,r7
   46fd4:	00463540 	call	46354 <_Balloc>
   46fd8:	1021883a 	mov	r16,r2
   46fdc:	00800434 	movhi	r2,16
   46fe0:	10bfffc4 	addi	r2,r2,-1
   46fe4:	88a2703a 	and	r17,r17,r2
   46fe8:	90000126 	beq	r18,zero,46ff0 <__d2b+0x50>
   46fec:	8c400434 	orhi	r17,r17,16
   46ff0:	dc400015 	stw	r17,0(sp)
   46ff4:	98002226 	beq	r19,zero,47080 <__d2b+0xe0>
   46ff8:	d9000104 	addi	r4,sp,4
   46ffc:	dcc00115 	stw	r19,4(sp)
   47000:	00466a40 	call	466a4 <__lo0bits>
   47004:	d8c00017 	ldw	r3,0(sp)
   47008:	10002d1e 	bne	r2,zero,470c0 <__d2b+0x120>
   4700c:	d9000117 	ldw	r4,4(sp)
   47010:	81000515 	stw	r4,20(r16)
   47014:	1823003a 	cmpeq	r17,r3,zero
   47018:	01000084 	movi	r4,2
   4701c:	2463c83a 	sub	r17,r4,r17
   47020:	80c00615 	stw	r3,24(r16)
   47024:	84400415 	stw	r17,16(r16)
   47028:	90001d1e 	bne	r18,zero,470a0 <__d2b+0x100>
   4702c:	88c00104 	addi	r3,r17,4
   47030:	18c7883a 	add	r3,r3,r3
   47034:	18c7883a 	add	r3,r3,r3
   47038:	80c7883a 	add	r3,r16,r3
   4703c:	19000017 	ldw	r4,0(r3)
   47040:	10bef384 	addi	r2,r2,-1074
   47044:	a0800015 	stw	r2,0(r20)
   47048:	004663c0 	call	4663c <__hi0bits>
   4704c:	8822917a 	slli	r17,r17,5
   47050:	d8c00817 	ldw	r3,32(sp)
   47054:	8885c83a 	sub	r2,r17,r2
   47058:	18800015 	stw	r2,0(r3)
   4705c:	8005883a 	mov	r2,r16
   47060:	dfc00717 	ldw	ra,28(sp)
   47064:	dd000617 	ldw	r20,24(sp)
   47068:	dcc00517 	ldw	r19,20(sp)
   4706c:	dc800417 	ldw	r18,16(sp)
   47070:	dc400317 	ldw	r17,12(sp)
   47074:	dc000217 	ldw	r16,8(sp)
   47078:	dec00804 	addi	sp,sp,32
   4707c:	f800283a 	ret
   47080:	d809883a 	mov	r4,sp
   47084:	00466a40 	call	466a4 <__lo0bits>
   47088:	d8c00017 	ldw	r3,0(sp)
   4708c:	04400044 	movi	r17,1
   47090:	84400415 	stw	r17,16(r16)
   47094:	80c00515 	stw	r3,20(r16)
   47098:	10800804 	addi	r2,r2,32
   4709c:	903fe326 	beq	r18,zero,4702c <__alt_data_end+0xfffdff2c>
   470a0:	00c00d44 	movi	r3,53
   470a4:	94bef344 	addi	r18,r18,-1075
   470a8:	90a5883a 	add	r18,r18,r2
   470ac:	1885c83a 	sub	r2,r3,r2
   470b0:	d8c00817 	ldw	r3,32(sp)
   470b4:	a4800015 	stw	r18,0(r20)
   470b8:	18800015 	stw	r2,0(r3)
   470bc:	003fe706 	br	4705c <__alt_data_end+0xfffdff5c>
   470c0:	01000804 	movi	r4,32
   470c4:	2089c83a 	sub	r4,r4,r2
   470c8:	1908983a 	sll	r4,r3,r4
   470cc:	d9400117 	ldw	r5,4(sp)
   470d0:	1886d83a 	srl	r3,r3,r2
   470d4:	2148b03a 	or	r4,r4,r5
   470d8:	81000515 	stw	r4,20(r16)
   470dc:	d8c00015 	stw	r3,0(sp)
   470e0:	003fcc06 	br	47014 <__alt_data_end+0xfffdff14>

000470e4 <__ratio>:
   470e4:	defff904 	addi	sp,sp,-28
   470e8:	dc400315 	stw	r17,12(sp)
   470ec:	2823883a 	mov	r17,r5
   470f0:	d9400104 	addi	r5,sp,4
   470f4:	dfc00615 	stw	ra,24(sp)
   470f8:	dcc00515 	stw	r19,20(sp)
   470fc:	dc800415 	stw	r18,16(sp)
   47100:	2027883a 	mov	r19,r4
   47104:	dc000215 	stw	r16,8(sp)
   47108:	0046e580 	call	46e58 <__b2d>
   4710c:	8809883a 	mov	r4,r17
   47110:	d80b883a 	mov	r5,sp
   47114:	1025883a 	mov	r18,r2
   47118:	1821883a 	mov	r16,r3
   4711c:	0046e580 	call	46e58 <__b2d>
   47120:	99400417 	ldw	r5,16(r19)
   47124:	89000417 	ldw	r4,16(r17)
   47128:	d9800117 	ldw	r6,4(sp)
   4712c:	2909c83a 	sub	r4,r5,r4
   47130:	d9400017 	ldw	r5,0(sp)
   47134:	2008917a 	slli	r4,r4,5
   47138:	314bc83a 	sub	r5,r6,r5
   4713c:	290b883a 	add	r5,r5,r4
   47140:	01400e0e 	bge	zero,r5,4717c <__ratio+0x98>
   47144:	280a953a 	slli	r5,r5,20
   47148:	2c21883a 	add	r16,r5,r16
   4714c:	9009883a 	mov	r4,r18
   47150:	800b883a 	mov	r5,r16
   47154:	100d883a 	mov	r6,r2
   47158:	180f883a 	mov	r7,r3
   4715c:	00404680 	call	40468 <__divdf3>
   47160:	dfc00617 	ldw	ra,24(sp)
   47164:	dcc00517 	ldw	r19,20(sp)
   47168:	dc800417 	ldw	r18,16(sp)
   4716c:	dc400317 	ldw	r17,12(sp)
   47170:	dc000217 	ldw	r16,8(sp)
   47174:	dec00704 	addi	sp,sp,28
   47178:	f800283a 	ret
   4717c:	280a953a 	slli	r5,r5,20
   47180:	1947c83a 	sub	r3,r3,r5
   47184:	003ff106 	br	4714c <__alt_data_end+0xfffe004c>

00047188 <_mprec_log10>:
   47188:	defffe04 	addi	sp,sp,-8
   4718c:	dc000015 	stw	r16,0(sp)
   47190:	dfc00115 	stw	ra,4(sp)
   47194:	008005c4 	movi	r2,23
   47198:	2021883a 	mov	r16,r4
   4719c:	11000d0e 	bge	r2,r4,471d4 <_mprec_log10+0x4c>
   471a0:	0005883a 	mov	r2,zero
   471a4:	00cffc34 	movhi	r3,16368
   471a8:	843fffc4 	addi	r16,r16,-1
   471ac:	1009883a 	mov	r4,r2
   471b0:	180b883a 	mov	r5,r3
   471b4:	000d883a 	mov	r6,zero
   471b8:	01d00934 	movhi	r7,16420
   471bc:	0048f800 	call	48f80 <__muldf3>
   471c0:	803ff91e 	bne	r16,zero,471a8 <__alt_data_end+0xfffe00a8>
   471c4:	dfc00117 	ldw	ra,4(sp)
   471c8:	dc000017 	ldw	r16,0(sp)
   471cc:	dec00204 	addi	sp,sp,8
   471d0:	f800283a 	ret
   471d4:	202090fa 	slli	r16,r4,3
   471d8:	00800174 	movhi	r2,5
   471dc:	10b10504 	addi	r2,r2,-15340
   471e0:	1421883a 	add	r16,r2,r16
   471e4:	80800017 	ldw	r2,0(r16)
   471e8:	80c00117 	ldw	r3,4(r16)
   471ec:	dfc00117 	ldw	ra,4(sp)
   471f0:	dc000017 	ldw	r16,0(sp)
   471f4:	dec00204 	addi	sp,sp,8
   471f8:	f800283a 	ret

000471fc <__copybits>:
   471fc:	297fffc4 	addi	r5,r5,-1
   47200:	31c00417 	ldw	r7,16(r6)
   47204:	2811d17a 	srai	r8,r5,5
   47208:	30800504 	addi	r2,r6,20
   4720c:	39c00144 	addi	r7,r7,5
   47210:	42000044 	addi	r8,r8,1
   47214:	39cf883a 	add	r7,r7,r7
   47218:	4211883a 	add	r8,r8,r8
   4721c:	39cf883a 	add	r7,r7,r7
   47220:	4211883a 	add	r8,r8,r8
   47224:	31cf883a 	add	r7,r6,r7
   47228:	2211883a 	add	r8,r4,r8
   4722c:	11c00d2e 	bgeu	r2,r7,47264 <__copybits+0x68>
   47230:	2007883a 	mov	r3,r4
   47234:	11400017 	ldw	r5,0(r2)
   47238:	18c00104 	addi	r3,r3,4
   4723c:	10800104 	addi	r2,r2,4
   47240:	197fff15 	stw	r5,-4(r3)
   47244:	11fffb36 	bltu	r2,r7,47234 <__alt_data_end+0xfffe0134>
   47248:	3985c83a 	sub	r2,r7,r6
   4724c:	10bffac4 	addi	r2,r2,-21
   47250:	1004d0ba 	srli	r2,r2,2
   47254:	10800044 	addi	r2,r2,1
   47258:	1085883a 	add	r2,r2,r2
   4725c:	1085883a 	add	r2,r2,r2
   47260:	2089883a 	add	r4,r4,r2
   47264:	2200032e 	bgeu	r4,r8,47274 <__copybits+0x78>
   47268:	20000015 	stw	zero,0(r4)
   4726c:	21000104 	addi	r4,r4,4
   47270:	223ffd36 	bltu	r4,r8,47268 <__alt_data_end+0xfffe0168>
   47274:	f800283a 	ret

00047278 <__any_on>:
   47278:	21800417 	ldw	r6,16(r4)
   4727c:	2805d17a 	srai	r2,r5,5
   47280:	20c00504 	addi	r3,r4,20
   47284:	30800f0e 	bge	r6,r2,472c4 <__any_on+0x4c>
   47288:	3005883a 	mov	r2,r6
   4728c:	10800144 	addi	r2,r2,5
   47290:	1085883a 	add	r2,r2,r2
   47294:	1085883a 	add	r2,r2,r2
   47298:	2089883a 	add	r4,r4,r2
   4729c:	1900152e 	bgeu	r3,r4,472f4 <__any_on+0x7c>
   472a0:	20bfff17 	ldw	r2,-4(r4)
   472a4:	213fff04 	addi	r4,r4,-4
   472a8:	1000041e 	bne	r2,zero,472bc <__any_on+0x44>
   472ac:	1900112e 	bgeu	r3,r4,472f4 <__any_on+0x7c>
   472b0:	213fff04 	addi	r4,r4,-4
   472b4:	20800017 	ldw	r2,0(r4)
   472b8:	103ffc26 	beq	r2,zero,472ac <__alt_data_end+0xfffe01ac>
   472bc:	00800044 	movi	r2,1
   472c0:	f800283a 	ret
   472c4:	11bff10e 	bge	r2,r6,4728c <__alt_data_end+0xfffe018c>
   472c8:	294007cc 	andi	r5,r5,31
   472cc:	283fef26 	beq	r5,zero,4728c <__alt_data_end+0xfffe018c>
   472d0:	11800144 	addi	r6,r2,5
   472d4:	318d883a 	add	r6,r6,r6
   472d8:	318d883a 	add	r6,r6,r6
   472dc:	218d883a 	add	r6,r4,r6
   472e0:	31800017 	ldw	r6,0(r6)
   472e4:	314ed83a 	srl	r7,r6,r5
   472e8:	394a983a 	sll	r5,r7,r5
   472ec:	29bff31e 	bne	r5,r6,472bc <__alt_data_end+0xfffe01bc>
   472f0:	003fe606 	br	4728c <__alt_data_end+0xfffe018c>
   472f4:	0005883a 	mov	r2,zero
   472f8:	f800283a 	ret

000472fc <_realloc_r>:
   472fc:	defff504 	addi	sp,sp,-44
   47300:	dd400615 	stw	r21,24(sp)
   47304:	dc800315 	stw	r18,12(sp)
   47308:	dc000115 	stw	r16,4(sp)
   4730c:	dfc00a15 	stw	ra,40(sp)
   47310:	df000915 	stw	fp,36(sp)
   47314:	ddc00815 	stw	r23,32(sp)
   47318:	dd800715 	stw	r22,28(sp)
   4731c:	dd000515 	stw	r20,20(sp)
   47320:	dcc00415 	stw	r19,16(sp)
   47324:	dc400215 	stw	r17,8(sp)
   47328:	2821883a 	mov	r16,r5
   4732c:	202b883a 	mov	r21,r4
   47330:	3025883a 	mov	r18,r6
   47334:	28009626 	beq	r5,zero,47590 <_realloc_r+0x294>
   47338:	0049f080 	call	49f08 <__malloc_lock>
   4733c:	80bfff17 	ldw	r2,-4(r16)
   47340:	04ffff04 	movi	r19,-4
   47344:	90c002c4 	addi	r3,r18,11
   47348:	01000584 	movi	r4,22
   4734c:	85bffe04 	addi	r22,r16,-8
   47350:	14e6703a 	and	r19,r2,r19
   47354:	20c0372e 	bgeu	r4,r3,47434 <_realloc_r+0x138>
   47358:	047ffe04 	movi	r17,-8
   4735c:	1c62703a 	and	r17,r3,r17
   47360:	8807883a 	mov	r3,r17
   47364:	88005a16 	blt	r17,zero,474d0 <_realloc_r+0x1d4>
   47368:	8c805936 	bltu	r17,r18,474d0 <_realloc_r+0x1d4>
   4736c:	98c0340e 	bge	r19,r3,47440 <_realloc_r+0x144>
   47370:	07000174 	movhi	fp,5
   47374:	e7324804 	addi	fp,fp,-14048
   47378:	e1400217 	ldw	r5,8(fp)
   4737c:	b4c9883a 	add	r4,r22,r19
   47380:	29009026 	beq	r5,r4,475c4 <_realloc_r+0x2c8>
   47384:	21800117 	ldw	r6,4(r4)
   47388:	01ffff84 	movi	r7,-2
   4738c:	31ce703a 	and	r7,r6,r7
   47390:	21cf883a 	add	r7,r4,r7
   47394:	39c00117 	ldw	r7,4(r7)
   47398:	39c0004c 	andi	r7,r7,1
   4739c:	38004326 	beq	r7,zero,474ac <_realloc_r+0x1b0>
   473a0:	000d883a 	mov	r6,zero
   473a4:	0009883a 	mov	r4,zero
   473a8:	1080004c 	andi	r2,r2,1
   473ac:	10005a1e 	bne	r2,zero,47518 <_realloc_r+0x21c>
   473b0:	85fffe17 	ldw	r23,-8(r16)
   473b4:	00bfff04 	movi	r2,-4
   473b8:	b5efc83a 	sub	r23,r22,r23
   473bc:	b9c00117 	ldw	r7,4(r23)
   473c0:	388e703a 	and	r7,r7,r2
   473c4:	3ccf883a 	add	r7,r7,r19
   473c8:	20005226 	beq	r4,zero,47514 <_realloc_r+0x218>
   473cc:	31e9883a 	add	r20,r6,r7
   473d0:	2140c726 	beq	r4,r5,476f0 <_realloc_r+0x3f4>
   473d4:	a0c04f16 	blt	r20,r3,47514 <_realloc_r+0x218>
   473d8:	20800317 	ldw	r2,12(r4)
   473dc:	20c00217 	ldw	r3,8(r4)
   473e0:	99bfff04 	addi	r6,r19,-4
   473e4:	01000904 	movi	r4,36
   473e8:	18800315 	stw	r2,12(r3)
   473ec:	10c00215 	stw	r3,8(r2)
   473f0:	b8c00217 	ldw	r3,8(r23)
   473f4:	b8800317 	ldw	r2,12(r23)
   473f8:	bc800204 	addi	r18,r23,8
   473fc:	18800315 	stw	r2,12(r3)
   47400:	10c00215 	stw	r3,8(r2)
   47404:	2180ed36 	bltu	r4,r6,477bc <_realloc_r+0x4c0>
   47408:	008004c4 	movi	r2,19
   4740c:	11809b2e 	bgeu	r2,r6,4767c <_realloc_r+0x380>
   47410:	80800017 	ldw	r2,0(r16)
   47414:	b8800215 	stw	r2,8(r23)
   47418:	80800117 	ldw	r2,4(r16)
   4741c:	b8800315 	stw	r2,12(r23)
   47420:	008006c4 	movi	r2,27
   47424:	1180f936 	bltu	r2,r6,4780c <_realloc_r+0x510>
   47428:	b8800404 	addi	r2,r23,16
   4742c:	80c00204 	addi	r3,r16,8
   47430:	00009406 	br	47684 <_realloc_r+0x388>
   47434:	00c00404 	movi	r3,16
   47438:	1823883a 	mov	r17,r3
   4743c:	003fca06 	br	47368 <__alt_data_end+0xfffe0268>
   47440:	9829883a 	mov	r20,r19
   47444:	a447c83a 	sub	r3,r20,r17
   47448:	010003c4 	movi	r4,15
   4744c:	1080004c 	andi	r2,r2,1
   47450:	20c02336 	bltu	r4,r3,474e0 <_realloc_r+0x1e4>
   47454:	1504b03a 	or	r2,r2,r20
   47458:	b0800115 	stw	r2,4(r22)
   4745c:	b52d883a 	add	r22,r22,r20
   47460:	b0800117 	ldw	r2,4(r22)
   47464:	10800054 	ori	r2,r2,1
   47468:	b0800115 	stw	r2,4(r22)
   4746c:	a809883a 	mov	r4,r21
   47470:	0049f280 	call	49f28 <__malloc_unlock>
   47474:	8025883a 	mov	r18,r16
   47478:	9005883a 	mov	r2,r18
   4747c:	dfc00a17 	ldw	ra,40(sp)
   47480:	df000917 	ldw	fp,36(sp)
   47484:	ddc00817 	ldw	r23,32(sp)
   47488:	dd800717 	ldw	r22,28(sp)
   4748c:	dd400617 	ldw	r21,24(sp)
   47490:	dd000517 	ldw	r20,20(sp)
   47494:	dcc00417 	ldw	r19,16(sp)
   47498:	dc800317 	ldw	r18,12(sp)
   4749c:	dc400217 	ldw	r17,8(sp)
   474a0:	dc000117 	ldw	r16,4(sp)
   474a4:	dec00b04 	addi	sp,sp,44
   474a8:	f800283a 	ret
   474ac:	01ffff04 	movi	r7,-4
   474b0:	31cc703a 	and	r6,r6,r7
   474b4:	34e9883a 	add	r20,r6,r19
   474b8:	a0ffbb16 	blt	r20,r3,473a8 <__alt_data_end+0xfffe02a8>
   474bc:	20c00317 	ldw	r3,12(r4)
   474c0:	21000217 	ldw	r4,8(r4)
   474c4:	20c00315 	stw	r3,12(r4)
   474c8:	19000215 	stw	r4,8(r3)
   474cc:	003fdd06 	br	47444 <__alt_data_end+0xfffe0344>
   474d0:	00800304 	movi	r2,12
   474d4:	a8800015 	stw	r2,0(r21)
   474d8:	0025883a 	mov	r18,zero
   474dc:	003fe606 	br	47478 <__alt_data_end+0xfffe0378>
   474e0:	1444b03a 	or	r2,r2,r17
   474e4:	b0800115 	stw	r2,4(r22)
   474e8:	b44b883a 	add	r5,r22,r17
   474ec:	18800054 	ori	r2,r3,1
   474f0:	28800115 	stw	r2,4(r5)
   474f4:	28c7883a 	add	r3,r5,r3
   474f8:	18800117 	ldw	r2,4(r3)
   474fc:	a809883a 	mov	r4,r21
   47500:	29400204 	addi	r5,r5,8
   47504:	10800054 	ori	r2,r2,1
   47508:	18800115 	stw	r2,4(r3)
   4750c:	0044c440 	call	44c44 <_free_r>
   47510:	003fd606 	br	4746c <__alt_data_end+0xfffe036c>
   47514:	38c0330e 	bge	r7,r3,475e4 <_realloc_r+0x2e8>
   47518:	900b883a 	mov	r5,r18
   4751c:	a809883a 	mov	r4,r21
   47520:	00457dc0 	call	457dc <_malloc_r>
   47524:	1025883a 	mov	r18,r2
   47528:	10001626 	beq	r2,zero,47584 <_realloc_r+0x288>
   4752c:	80bfff17 	ldw	r2,-4(r16)
   47530:	00ffff84 	movi	r3,-2
   47534:	913ffe04 	addi	r4,r18,-8
   47538:	10c6703a 	and	r3,r2,r3
   4753c:	b0c7883a 	add	r3,r22,r3
   47540:	20c09926 	beq	r4,r3,477a8 <_realloc_r+0x4ac>
   47544:	99bfff04 	addi	r6,r19,-4
   47548:	00800904 	movi	r2,36
   4754c:	11806436 	bltu	r2,r6,476e0 <_realloc_r+0x3e4>
   47550:	00c004c4 	movi	r3,19
   47554:	19804036 	bltu	r3,r6,47658 <_realloc_r+0x35c>
   47558:	9005883a 	mov	r2,r18
   4755c:	8007883a 	mov	r3,r16
   47560:	19000017 	ldw	r4,0(r3)
   47564:	11000015 	stw	r4,0(r2)
   47568:	19000117 	ldw	r4,4(r3)
   4756c:	11000115 	stw	r4,4(r2)
   47570:	18c00217 	ldw	r3,8(r3)
   47574:	10c00215 	stw	r3,8(r2)
   47578:	a809883a 	mov	r4,r21
   4757c:	800b883a 	mov	r5,r16
   47580:	0044c440 	call	44c44 <_free_r>
   47584:	a809883a 	mov	r4,r21
   47588:	0049f280 	call	49f28 <__malloc_unlock>
   4758c:	003fba06 	br	47478 <__alt_data_end+0xfffe0378>
   47590:	300b883a 	mov	r5,r6
   47594:	dfc00a17 	ldw	ra,40(sp)
   47598:	df000917 	ldw	fp,36(sp)
   4759c:	ddc00817 	ldw	r23,32(sp)
   475a0:	dd800717 	ldw	r22,28(sp)
   475a4:	dd400617 	ldw	r21,24(sp)
   475a8:	dd000517 	ldw	r20,20(sp)
   475ac:	dcc00417 	ldw	r19,16(sp)
   475b0:	dc800317 	ldw	r18,12(sp)
   475b4:	dc400217 	ldw	r17,8(sp)
   475b8:	dc000117 	ldw	r16,4(sp)
   475bc:	dec00b04 	addi	sp,sp,44
   475c0:	00457dc1 	jmpi	457dc <_malloc_r>
   475c4:	29800117 	ldw	r6,4(r5)
   475c8:	013fff04 	movi	r4,-4
   475cc:	89c00404 	addi	r7,r17,16
   475d0:	310c703a 	and	r6,r6,r4
   475d4:	34c9883a 	add	r4,r6,r19
   475d8:	21c0340e 	bge	r4,r7,476ac <_realloc_r+0x3b0>
   475dc:	2809883a 	mov	r4,r5
   475e0:	003f7106 	br	473a8 <__alt_data_end+0xfffe02a8>
   475e4:	b8800317 	ldw	r2,12(r23)
   475e8:	b8c00217 	ldw	r3,8(r23)
   475ec:	99bfff04 	addi	r6,r19,-4
   475f0:	01000904 	movi	r4,36
   475f4:	18800315 	stw	r2,12(r3)
   475f8:	10c00215 	stw	r3,8(r2)
   475fc:	bc800204 	addi	r18,r23,8
   47600:	21807836 	bltu	r4,r6,477e4 <_realloc_r+0x4e8>
   47604:	008004c4 	movi	r2,19
   47608:	1180732e 	bgeu	r2,r6,477d8 <_realloc_r+0x4dc>
   4760c:	80800017 	ldw	r2,0(r16)
   47610:	b8800215 	stw	r2,8(r23)
   47614:	80800117 	ldw	r2,4(r16)
   47618:	b8800315 	stw	r2,12(r23)
   4761c:	008006c4 	movi	r2,27
   47620:	11808936 	bltu	r2,r6,47848 <_realloc_r+0x54c>
   47624:	b8800404 	addi	r2,r23,16
   47628:	80c00204 	addi	r3,r16,8
   4762c:	19000017 	ldw	r4,0(r3)
   47630:	9021883a 	mov	r16,r18
   47634:	3829883a 	mov	r20,r7
   47638:	11000015 	stw	r4,0(r2)
   4763c:	19000117 	ldw	r4,4(r3)
   47640:	b82d883a 	mov	r22,r23
   47644:	11000115 	stw	r4,4(r2)
   47648:	18c00217 	ldw	r3,8(r3)
   4764c:	10c00215 	stw	r3,8(r2)
   47650:	b8800117 	ldw	r2,4(r23)
   47654:	003f7b06 	br	47444 <__alt_data_end+0xfffe0344>
   47658:	80c00017 	ldw	r3,0(r16)
   4765c:	90c00015 	stw	r3,0(r18)
   47660:	80c00117 	ldw	r3,4(r16)
   47664:	90c00115 	stw	r3,4(r18)
   47668:	00c006c4 	movi	r3,27
   4766c:	19804636 	bltu	r3,r6,47788 <_realloc_r+0x48c>
   47670:	90800204 	addi	r2,r18,8
   47674:	80c00204 	addi	r3,r16,8
   47678:	003fb906 	br	47560 <__alt_data_end+0xfffe0460>
   4767c:	9005883a 	mov	r2,r18
   47680:	8007883a 	mov	r3,r16
   47684:	19000017 	ldw	r4,0(r3)
   47688:	9021883a 	mov	r16,r18
   4768c:	b82d883a 	mov	r22,r23
   47690:	11000015 	stw	r4,0(r2)
   47694:	19000117 	ldw	r4,4(r3)
   47698:	11000115 	stw	r4,4(r2)
   4769c:	18c00217 	ldw	r3,8(r3)
   476a0:	10c00215 	stw	r3,8(r2)
   476a4:	b8800117 	ldw	r2,4(r23)
   476a8:	003f6606 	br	47444 <__alt_data_end+0xfffe0344>
   476ac:	2445c83a 	sub	r2,r4,r17
   476b0:	b46d883a 	add	r22,r22,r17
   476b4:	10800054 	ori	r2,r2,1
   476b8:	b0800115 	stw	r2,4(r22)
   476bc:	80bfff17 	ldw	r2,-4(r16)
   476c0:	a809883a 	mov	r4,r21
   476c4:	e5800215 	stw	r22,8(fp)
   476c8:	1080004c 	andi	r2,r2,1
   476cc:	88a2b03a 	or	r17,r17,r2
   476d0:	847fff15 	stw	r17,-4(r16)
   476d4:	0049f280 	call	49f28 <__malloc_unlock>
   476d8:	8025883a 	mov	r18,r16
   476dc:	003f6606 	br	47478 <__alt_data_end+0xfffe0378>
   476e0:	9009883a 	mov	r4,r18
   476e4:	800b883a 	mov	r5,r16
   476e8:	00461500 	call	46150 <memmove>
   476ec:	003fa206 	br	47578 <__alt_data_end+0xfffe0478>
   476f0:	88800404 	addi	r2,r17,16
   476f4:	a0bf8716 	blt	r20,r2,47514 <__alt_data_end+0xfffe0414>
   476f8:	b8800317 	ldw	r2,12(r23)
   476fc:	b8c00217 	ldw	r3,8(r23)
   47700:	99bfff04 	addi	r6,r19,-4
   47704:	01000904 	movi	r4,36
   47708:	18800315 	stw	r2,12(r3)
   4770c:	10c00215 	stw	r3,8(r2)
   47710:	bc800204 	addi	r18,r23,8
   47714:	21806536 	bltu	r4,r6,478ac <_realloc_r+0x5b0>
   47718:	008004c4 	movi	r2,19
   4771c:	1180592e 	bgeu	r2,r6,47884 <_realloc_r+0x588>
   47720:	80800017 	ldw	r2,0(r16)
   47724:	b8800215 	stw	r2,8(r23)
   47728:	80800117 	ldw	r2,4(r16)
   4772c:	b8800315 	stw	r2,12(r23)
   47730:	008006c4 	movi	r2,27
   47734:	11806136 	bltu	r2,r6,478bc <_realloc_r+0x5c0>
   47738:	b8800404 	addi	r2,r23,16
   4773c:	80c00204 	addi	r3,r16,8
   47740:	19000017 	ldw	r4,0(r3)
   47744:	11000015 	stw	r4,0(r2)
   47748:	19000117 	ldw	r4,4(r3)
   4774c:	11000115 	stw	r4,4(r2)
   47750:	18c00217 	ldw	r3,8(r3)
   47754:	10c00215 	stw	r3,8(r2)
   47758:	a447c83a 	sub	r3,r20,r17
   4775c:	bc45883a 	add	r2,r23,r17
   47760:	18c00054 	ori	r3,r3,1
   47764:	10c00115 	stw	r3,4(r2)
   47768:	b8c00117 	ldw	r3,4(r23)
   4776c:	e0800215 	stw	r2,8(fp)
   47770:	a809883a 	mov	r4,r21
   47774:	1880004c 	andi	r2,r3,1
   47778:	88a2b03a 	or	r17,r17,r2
   4777c:	bc400115 	stw	r17,4(r23)
   47780:	0049f280 	call	49f28 <__malloc_unlock>
   47784:	003f3c06 	br	47478 <__alt_data_end+0xfffe0378>
   47788:	80c00217 	ldw	r3,8(r16)
   4778c:	90c00215 	stw	r3,8(r18)
   47790:	80c00317 	ldw	r3,12(r16)
   47794:	90c00315 	stw	r3,12(r18)
   47798:	30802426 	beq	r6,r2,4782c <_realloc_r+0x530>
   4779c:	90800404 	addi	r2,r18,16
   477a0:	80c00404 	addi	r3,r16,16
   477a4:	003f6e06 	br	47560 <__alt_data_end+0xfffe0460>
   477a8:	953fff17 	ldw	r20,-4(r18)
   477ac:	00ffff04 	movi	r3,-4
   477b0:	a0e8703a 	and	r20,r20,r3
   477b4:	a4e9883a 	add	r20,r20,r19
   477b8:	003f2206 	br	47444 <__alt_data_end+0xfffe0344>
   477bc:	800b883a 	mov	r5,r16
   477c0:	9009883a 	mov	r4,r18
   477c4:	00461500 	call	46150 <memmove>
   477c8:	9021883a 	mov	r16,r18
   477cc:	b8800117 	ldw	r2,4(r23)
   477d0:	b82d883a 	mov	r22,r23
   477d4:	003f1b06 	br	47444 <__alt_data_end+0xfffe0344>
   477d8:	9005883a 	mov	r2,r18
   477dc:	8007883a 	mov	r3,r16
   477e0:	003f9206 	br	4762c <__alt_data_end+0xfffe052c>
   477e4:	800b883a 	mov	r5,r16
   477e8:	9009883a 	mov	r4,r18
   477ec:	d9c00015 	stw	r7,0(sp)
   477f0:	00461500 	call	46150 <memmove>
   477f4:	d9c00017 	ldw	r7,0(sp)
   477f8:	9021883a 	mov	r16,r18
   477fc:	b8800117 	ldw	r2,4(r23)
   47800:	3829883a 	mov	r20,r7
   47804:	b82d883a 	mov	r22,r23
   47808:	003f0e06 	br	47444 <__alt_data_end+0xfffe0344>
   4780c:	80800217 	ldw	r2,8(r16)
   47810:	b8800415 	stw	r2,16(r23)
   47814:	80800317 	ldw	r2,12(r16)
   47818:	b8800515 	stw	r2,20(r23)
   4781c:	31001226 	beq	r6,r4,47868 <_realloc_r+0x56c>
   47820:	b8800604 	addi	r2,r23,24
   47824:	80c00404 	addi	r3,r16,16
   47828:	003f9606 	br	47684 <__alt_data_end+0xfffe0584>
   4782c:	81000417 	ldw	r4,16(r16)
   47830:	90800604 	addi	r2,r18,24
   47834:	80c00604 	addi	r3,r16,24
   47838:	91000415 	stw	r4,16(r18)
   4783c:	81000517 	ldw	r4,20(r16)
   47840:	91000515 	stw	r4,20(r18)
   47844:	003f4606 	br	47560 <__alt_data_end+0xfffe0460>
   47848:	80800217 	ldw	r2,8(r16)
   4784c:	b8800415 	stw	r2,16(r23)
   47850:	80800317 	ldw	r2,12(r16)
   47854:	b8800515 	stw	r2,20(r23)
   47858:	31000d26 	beq	r6,r4,47890 <_realloc_r+0x594>
   4785c:	b8800604 	addi	r2,r23,24
   47860:	80c00404 	addi	r3,r16,16
   47864:	003f7106 	br	4762c <__alt_data_end+0xfffe052c>
   47868:	81000417 	ldw	r4,16(r16)
   4786c:	b8800804 	addi	r2,r23,32
   47870:	80c00604 	addi	r3,r16,24
   47874:	b9000615 	stw	r4,24(r23)
   47878:	81000517 	ldw	r4,20(r16)
   4787c:	b9000715 	stw	r4,28(r23)
   47880:	003f8006 	br	47684 <__alt_data_end+0xfffe0584>
   47884:	9005883a 	mov	r2,r18
   47888:	8007883a 	mov	r3,r16
   4788c:	003fac06 	br	47740 <__alt_data_end+0xfffe0640>
   47890:	81000417 	ldw	r4,16(r16)
   47894:	b8800804 	addi	r2,r23,32
   47898:	80c00604 	addi	r3,r16,24
   4789c:	b9000615 	stw	r4,24(r23)
   478a0:	81000517 	ldw	r4,20(r16)
   478a4:	b9000715 	stw	r4,28(r23)
   478a8:	003f6006 	br	4762c <__alt_data_end+0xfffe052c>
   478ac:	9009883a 	mov	r4,r18
   478b0:	800b883a 	mov	r5,r16
   478b4:	00461500 	call	46150 <memmove>
   478b8:	003fa706 	br	47758 <__alt_data_end+0xfffe0658>
   478bc:	80800217 	ldw	r2,8(r16)
   478c0:	b8800415 	stw	r2,16(r23)
   478c4:	80800317 	ldw	r2,12(r16)
   478c8:	b8800515 	stw	r2,20(r23)
   478cc:	31000326 	beq	r6,r4,478dc <_realloc_r+0x5e0>
   478d0:	b8800604 	addi	r2,r23,24
   478d4:	80c00404 	addi	r3,r16,16
   478d8:	003f9906 	br	47740 <__alt_data_end+0xfffe0640>
   478dc:	81000417 	ldw	r4,16(r16)
   478e0:	b8800804 	addi	r2,r23,32
   478e4:	80c00604 	addi	r3,r16,24
   478e8:	b9000615 	stw	r4,24(r23)
   478ec:	81000517 	ldw	r4,20(r16)
   478f0:	b9000715 	stw	r4,28(r23)
   478f4:	003f9206 	br	47740 <__alt_data_end+0xfffe0640>

000478f8 <__isinfd>:
   478f8:	0105c83a 	sub	r2,zero,r4
   478fc:	1108b03a 	or	r4,r2,r4
   47900:	2004d7fa 	srli	r2,r4,31
   47904:	00e00034 	movhi	r3,32768
   47908:	18ffffc4 	addi	r3,r3,-1
   4790c:	28ca703a 	and	r5,r5,r3
   47910:	1144b03a 	or	r2,r2,r5
   47914:	00dffc34 	movhi	r3,32752
   47918:	1885c83a 	sub	r2,r3,r2
   4791c:	0087c83a 	sub	r3,zero,r2
   47920:	1884b03a 	or	r2,r3,r2
   47924:	1005d7fa 	srai	r2,r2,31
   47928:	10800044 	addi	r2,r2,1
   4792c:	f800283a 	ret

00047930 <__isnand>:
   47930:	0105c83a 	sub	r2,zero,r4
   47934:	1108b03a 	or	r4,r2,r4
   47938:	2004d7fa 	srli	r2,r4,31
   4793c:	00e00034 	movhi	r3,32768
   47940:	18ffffc4 	addi	r3,r3,-1
   47944:	28ca703a 	and	r5,r5,r3
   47948:	1144b03a 	or	r2,r2,r5
   4794c:	00dffc34 	movhi	r3,32752
   47950:	1885c83a 	sub	r2,r3,r2
   47954:	1004d7fa 	srli	r2,r2,31
   47958:	f800283a 	ret

0004795c <_sbrk_r>:
   4795c:	defffd04 	addi	sp,sp,-12
   47960:	dc400115 	stw	r17,4(sp)
   47964:	dc000015 	stw	r16,0(sp)
   47968:	2023883a 	mov	r17,r4
   4796c:	04000174 	movhi	r16,5
   47970:	843e7704 	addi	r16,r16,-1572
   47974:	2809883a 	mov	r4,r5
   47978:	dfc00215 	stw	ra,8(sp)
   4797c:	80000015 	stw	zero,0(r16)
   47980:	004a0e80 	call	4a0e8 <sbrk>
   47984:	00ffffc4 	movi	r3,-1
   47988:	10c00526 	beq	r2,r3,479a0 <_sbrk_r+0x44>
   4798c:	dfc00217 	ldw	ra,8(sp)
   47990:	dc400117 	ldw	r17,4(sp)
   47994:	dc000017 	ldw	r16,0(sp)
   47998:	dec00304 	addi	sp,sp,12
   4799c:	f800283a 	ret
   479a0:	80c00017 	ldw	r3,0(r16)
   479a4:	183ff926 	beq	r3,zero,4798c <__alt_data_end+0xfffe088c>
   479a8:	88c00015 	stw	r3,0(r17)
   479ac:	dfc00217 	ldw	ra,8(sp)
   479b0:	dc400117 	ldw	r17,4(sp)
   479b4:	dc000017 	ldw	r16,0(sp)
   479b8:	dec00304 	addi	sp,sp,12
   479bc:	f800283a 	ret

000479c0 <__sread>:
   479c0:	defffe04 	addi	sp,sp,-8
   479c4:	dc000015 	stw	r16,0(sp)
   479c8:	2821883a 	mov	r16,r5
   479cc:	2940038f 	ldh	r5,14(r5)
   479d0:	dfc00115 	stw	ra,4(sp)
   479d4:	0047fb80 	call	47fb8 <_read_r>
   479d8:	10000716 	blt	r2,zero,479f8 <__sread+0x38>
   479dc:	80c01417 	ldw	r3,80(r16)
   479e0:	1887883a 	add	r3,r3,r2
   479e4:	80c01415 	stw	r3,80(r16)
   479e8:	dfc00117 	ldw	ra,4(sp)
   479ec:	dc000017 	ldw	r16,0(sp)
   479f0:	dec00204 	addi	sp,sp,8
   479f4:	f800283a 	ret
   479f8:	80c0030b 	ldhu	r3,12(r16)
   479fc:	18fbffcc 	andi	r3,r3,61439
   47a00:	80c0030d 	sth	r3,12(r16)
   47a04:	dfc00117 	ldw	ra,4(sp)
   47a08:	dc000017 	ldw	r16,0(sp)
   47a0c:	dec00204 	addi	sp,sp,8
   47a10:	f800283a 	ret

00047a14 <__swrite>:
   47a14:	2880030b 	ldhu	r2,12(r5)
   47a18:	defffb04 	addi	sp,sp,-20
   47a1c:	dcc00315 	stw	r19,12(sp)
   47a20:	10c0400c 	andi	r3,r2,256
   47a24:	18ffffcc 	andi	r3,r3,65535
   47a28:	18e0001c 	xori	r3,r3,32768
   47a2c:	dc800215 	stw	r18,8(sp)
   47a30:	dc400115 	stw	r17,4(sp)
   47a34:	dc000015 	stw	r16,0(sp)
   47a38:	dfc00415 	stw	ra,16(sp)
   47a3c:	18e00004 	addi	r3,r3,-32768
   47a40:	2821883a 	mov	r16,r5
   47a44:	2027883a 	mov	r19,r4
   47a48:	3025883a 	mov	r18,r6
   47a4c:	3823883a 	mov	r17,r7
   47a50:	18000526 	beq	r3,zero,47a68 <__swrite+0x54>
   47a54:	2940038f 	ldh	r5,14(r5)
   47a58:	000d883a 	mov	r6,zero
   47a5c:	01c00084 	movi	r7,2
   47a60:	0047f4c0 	call	47f4c <_lseek_r>
   47a64:	8080030b 	ldhu	r2,12(r16)
   47a68:	8140038f 	ldh	r5,14(r16)
   47a6c:	10bbffcc 	andi	r2,r2,61439
   47a70:	9809883a 	mov	r4,r19
   47a74:	900d883a 	mov	r6,r18
   47a78:	880f883a 	mov	r7,r17
   47a7c:	8080030d 	sth	r2,12(r16)
   47a80:	dfc00417 	ldw	ra,16(sp)
   47a84:	dcc00317 	ldw	r19,12(sp)
   47a88:	dc800217 	ldw	r18,8(sp)
   47a8c:	dc400117 	ldw	r17,4(sp)
   47a90:	dc000017 	ldw	r16,0(sp)
   47a94:	dec00504 	addi	sp,sp,20
   47a98:	0047ba41 	jmpi	47ba4 <_write_r>

00047a9c <__sseek>:
   47a9c:	defffe04 	addi	sp,sp,-8
   47aa0:	dc000015 	stw	r16,0(sp)
   47aa4:	2821883a 	mov	r16,r5
   47aa8:	2940038f 	ldh	r5,14(r5)
   47aac:	dfc00115 	stw	ra,4(sp)
   47ab0:	0047f4c0 	call	47f4c <_lseek_r>
   47ab4:	00ffffc4 	movi	r3,-1
   47ab8:	10c00826 	beq	r2,r3,47adc <__sseek+0x40>
   47abc:	80c0030b 	ldhu	r3,12(r16)
   47ac0:	80801415 	stw	r2,80(r16)
   47ac4:	18c40014 	ori	r3,r3,4096
   47ac8:	80c0030d 	sth	r3,12(r16)
   47acc:	dfc00117 	ldw	ra,4(sp)
   47ad0:	dc000017 	ldw	r16,0(sp)
   47ad4:	dec00204 	addi	sp,sp,8
   47ad8:	f800283a 	ret
   47adc:	80c0030b 	ldhu	r3,12(r16)
   47ae0:	18fbffcc 	andi	r3,r3,61439
   47ae4:	80c0030d 	sth	r3,12(r16)
   47ae8:	dfc00117 	ldw	ra,4(sp)
   47aec:	dc000017 	ldw	r16,0(sp)
   47af0:	dec00204 	addi	sp,sp,8
   47af4:	f800283a 	ret

00047af8 <__sclose>:
   47af8:	2940038f 	ldh	r5,14(r5)
   47afc:	0047ccc1 	jmpi	47ccc <_close_r>

00047b00 <strcmp>:
   47b00:	2904b03a 	or	r2,r5,r4
   47b04:	108000cc 	andi	r2,r2,3
   47b08:	1000171e 	bne	r2,zero,47b68 <strcmp+0x68>
   47b0c:	20800017 	ldw	r2,0(r4)
   47b10:	28c00017 	ldw	r3,0(r5)
   47b14:	10c0141e 	bne	r2,r3,47b68 <strcmp+0x68>
   47b18:	027fbff4 	movhi	r9,65279
   47b1c:	4a7fbfc4 	addi	r9,r9,-257
   47b20:	1247883a 	add	r3,r2,r9
   47b24:	0084303a 	nor	r2,zero,r2
   47b28:	1884703a 	and	r2,r3,r2
   47b2c:	02202074 	movhi	r8,32897
   47b30:	42202004 	addi	r8,r8,-32640
   47b34:	1204703a 	and	r2,r2,r8
   47b38:	10000226 	beq	r2,zero,47b44 <strcmp+0x44>
   47b3c:	00001706 	br	47b9c <strcmp+0x9c>
   47b40:	3000161e 	bne	r6,zero,47b9c <strcmp+0x9c>
   47b44:	21000104 	addi	r4,r4,4
   47b48:	20800017 	ldw	r2,0(r4)
   47b4c:	29400104 	addi	r5,r5,4
   47b50:	28c00017 	ldw	r3,0(r5)
   47b54:	124f883a 	add	r7,r2,r9
   47b58:	008c303a 	nor	r6,zero,r2
   47b5c:	398c703a 	and	r6,r7,r6
   47b60:	320c703a 	and	r6,r6,r8
   47b64:	10fff626 	beq	r2,r3,47b40 <__alt_data_end+0xfffe0a40>
   47b68:	20800007 	ldb	r2,0(r4)
   47b6c:	1000051e 	bne	r2,zero,47b84 <strcmp+0x84>
   47b70:	00000606 	br	47b8c <strcmp+0x8c>
   47b74:	21000044 	addi	r4,r4,1
   47b78:	20800007 	ldb	r2,0(r4)
   47b7c:	29400044 	addi	r5,r5,1
   47b80:	10000226 	beq	r2,zero,47b8c <strcmp+0x8c>
   47b84:	28c00007 	ldb	r3,0(r5)
   47b88:	10fffa26 	beq	r2,r3,47b74 <__alt_data_end+0xfffe0a74>
   47b8c:	20c00003 	ldbu	r3,0(r4)
   47b90:	28800003 	ldbu	r2,0(r5)
   47b94:	1885c83a 	sub	r2,r3,r2
   47b98:	f800283a 	ret
   47b9c:	0005883a 	mov	r2,zero
   47ba0:	f800283a 	ret

00047ba4 <_write_r>:
   47ba4:	defffd04 	addi	sp,sp,-12
   47ba8:	dc400115 	stw	r17,4(sp)
   47bac:	dc000015 	stw	r16,0(sp)
   47bb0:	2023883a 	mov	r17,r4
   47bb4:	04000174 	movhi	r16,5
   47bb8:	843e7704 	addi	r16,r16,-1572
   47bbc:	2809883a 	mov	r4,r5
   47bc0:	300b883a 	mov	r5,r6
   47bc4:	380d883a 	mov	r6,r7
   47bc8:	dfc00215 	stw	ra,8(sp)
   47bcc:	80000015 	stw	zero,0(r16)
   47bd0:	004a2180 	call	4a218 <write>
   47bd4:	00ffffc4 	movi	r3,-1
   47bd8:	10c00526 	beq	r2,r3,47bf0 <_write_r+0x4c>
   47bdc:	dfc00217 	ldw	ra,8(sp)
   47be0:	dc400117 	ldw	r17,4(sp)
   47be4:	dc000017 	ldw	r16,0(sp)
   47be8:	dec00304 	addi	sp,sp,12
   47bec:	f800283a 	ret
   47bf0:	80c00017 	ldw	r3,0(r16)
   47bf4:	183ff926 	beq	r3,zero,47bdc <__alt_data_end+0xfffe0adc>
   47bf8:	88c00015 	stw	r3,0(r17)
   47bfc:	dfc00217 	ldw	ra,8(sp)
   47c00:	dc400117 	ldw	r17,4(sp)
   47c04:	dc000017 	ldw	r16,0(sp)
   47c08:	dec00304 	addi	sp,sp,12
   47c0c:	f800283a 	ret

00047c10 <_calloc_r>:
   47c10:	314b383a 	mul	r5,r6,r5
   47c14:	defffe04 	addi	sp,sp,-8
   47c18:	dc000015 	stw	r16,0(sp)
   47c1c:	dfc00115 	stw	ra,4(sp)
   47c20:	00457dc0 	call	457dc <_malloc_r>
   47c24:	1021883a 	mov	r16,r2
   47c28:	10000c26 	beq	r2,zero,47c5c <_calloc_r+0x4c>
   47c2c:	11bfff17 	ldw	r6,-4(r2)
   47c30:	00ffff04 	movi	r3,-4
   47c34:	00800904 	movi	r2,36
   47c38:	30cc703a 	and	r6,r6,r3
   47c3c:	30cd883a 	add	r6,r6,r3
   47c40:	11801436 	bltu	r2,r6,47c94 <_calloc_r+0x84>
   47c44:	00c004c4 	movi	r3,19
   47c48:	19800936 	bltu	r3,r6,47c70 <_calloc_r+0x60>
   47c4c:	8005883a 	mov	r2,r16
   47c50:	10000015 	stw	zero,0(r2)
   47c54:	10000115 	stw	zero,4(r2)
   47c58:	10000215 	stw	zero,8(r2)
   47c5c:	8005883a 	mov	r2,r16
   47c60:	dfc00117 	ldw	ra,4(sp)
   47c64:	dc000017 	ldw	r16,0(sp)
   47c68:	dec00204 	addi	sp,sp,8
   47c6c:	f800283a 	ret
   47c70:	80000015 	stw	zero,0(r16)
   47c74:	80000115 	stw	zero,4(r16)
   47c78:	00c006c4 	movi	r3,27
   47c7c:	19800d2e 	bgeu	r3,r6,47cb4 <_calloc_r+0xa4>
   47c80:	80000215 	stw	zero,8(r16)
   47c84:	80000315 	stw	zero,12(r16)
   47c88:	30800c26 	beq	r6,r2,47cbc <_calloc_r+0xac>
   47c8c:	80800404 	addi	r2,r16,16
   47c90:	003fef06 	br	47c50 <__alt_data_end+0xfffe0b50>
   47c94:	8009883a 	mov	r4,r16
   47c98:	000b883a 	mov	r5,zero
   47c9c:	00462780 	call	46278 <memset>
   47ca0:	8005883a 	mov	r2,r16
   47ca4:	dfc00117 	ldw	ra,4(sp)
   47ca8:	dc000017 	ldw	r16,0(sp)
   47cac:	dec00204 	addi	sp,sp,8
   47cb0:	f800283a 	ret
   47cb4:	80800204 	addi	r2,r16,8
   47cb8:	003fe506 	br	47c50 <__alt_data_end+0xfffe0b50>
   47cbc:	80000415 	stw	zero,16(r16)
   47cc0:	80000515 	stw	zero,20(r16)
   47cc4:	80800604 	addi	r2,r16,24
   47cc8:	003fe106 	br	47c50 <__alt_data_end+0xfffe0b50>

00047ccc <_close_r>:
   47ccc:	defffd04 	addi	sp,sp,-12
   47cd0:	dc400115 	stw	r17,4(sp)
   47cd4:	dc000015 	stw	r16,0(sp)
   47cd8:	2023883a 	mov	r17,r4
   47cdc:	04000174 	movhi	r16,5
   47ce0:	843e7704 	addi	r16,r16,-1572
   47ce4:	2809883a 	mov	r4,r5
   47ce8:	dfc00215 	stw	ra,8(sp)
   47cec:	80000015 	stw	zero,0(r16)
   47cf0:	00499a40 	call	499a4 <close>
   47cf4:	00ffffc4 	movi	r3,-1
   47cf8:	10c00526 	beq	r2,r3,47d10 <_close_r+0x44>
   47cfc:	dfc00217 	ldw	ra,8(sp)
   47d00:	dc400117 	ldw	r17,4(sp)
   47d04:	dc000017 	ldw	r16,0(sp)
   47d08:	dec00304 	addi	sp,sp,12
   47d0c:	f800283a 	ret
   47d10:	80c00017 	ldw	r3,0(r16)
   47d14:	183ff926 	beq	r3,zero,47cfc <__alt_data_end+0xfffe0bfc>
   47d18:	88c00015 	stw	r3,0(r17)
   47d1c:	dfc00217 	ldw	ra,8(sp)
   47d20:	dc400117 	ldw	r17,4(sp)
   47d24:	dc000017 	ldw	r16,0(sp)
   47d28:	dec00304 	addi	sp,sp,12
   47d2c:	f800283a 	ret

00047d30 <_fclose_r>:
   47d30:	defffc04 	addi	sp,sp,-16
   47d34:	dc400115 	stw	r17,4(sp)
   47d38:	dc000015 	stw	r16,0(sp)
   47d3c:	dfc00315 	stw	ra,12(sp)
   47d40:	dc800215 	stw	r18,8(sp)
   47d44:	2821883a 	mov	r16,r5
   47d48:	2023883a 	mov	r17,r4
   47d4c:	28003426 	beq	r5,zero,47e20 <_fclose_r+0xf0>
   47d50:	0044ac80 	call	44ac8 <__sfp_lock_acquire>
   47d54:	88000226 	beq	r17,zero,47d60 <_fclose_r+0x30>
   47d58:	88800e17 	ldw	r2,56(r17)
   47d5c:	10003826 	beq	r2,zero,47e40 <_fclose_r+0x110>
   47d60:	8080030f 	ldh	r2,12(r16)
   47d64:	10002526 	beq	r2,zero,47dfc <_fclose_r+0xcc>
   47d68:	8809883a 	mov	r4,r17
   47d6c:	800b883a 	mov	r5,r16
   47d70:	00446180 	call	44618 <_fflush_r>
   47d74:	1025883a 	mov	r18,r2
   47d78:	80800b17 	ldw	r2,44(r16)
   47d7c:	10000426 	beq	r2,zero,47d90 <_fclose_r+0x60>
   47d80:	81400717 	ldw	r5,28(r16)
   47d84:	8809883a 	mov	r4,r17
   47d88:	103ee83a 	callr	r2
   47d8c:	10003516 	blt	r2,zero,47e64 <_fclose_r+0x134>
   47d90:	8080030b 	ldhu	r2,12(r16)
   47d94:	1080200c 	andi	r2,r2,128
   47d98:	10bfffcc 	andi	r2,r2,65535
   47d9c:	10a0001c 	xori	r2,r2,32768
   47da0:	10a00004 	addi	r2,r2,-32768
   47da4:	10002b1e 	bne	r2,zero,47e54 <_fclose_r+0x124>
   47da8:	81400c17 	ldw	r5,48(r16)
   47dac:	28000526 	beq	r5,zero,47dc4 <_fclose_r+0x94>
   47db0:	80801004 	addi	r2,r16,64
   47db4:	28800226 	beq	r5,r2,47dc0 <_fclose_r+0x90>
   47db8:	8809883a 	mov	r4,r17
   47dbc:	0044c440 	call	44c44 <_free_r>
   47dc0:	80000c15 	stw	zero,48(r16)
   47dc4:	81401117 	ldw	r5,68(r16)
   47dc8:	28000326 	beq	r5,zero,47dd8 <_fclose_r+0xa8>
   47dcc:	8809883a 	mov	r4,r17
   47dd0:	0044c440 	call	44c44 <_free_r>
   47dd4:	80001115 	stw	zero,68(r16)
   47dd8:	8000030d 	sth	zero,12(r16)
   47ddc:	0044acc0 	call	44acc <__sfp_lock_release>
   47de0:	9005883a 	mov	r2,r18
   47de4:	dfc00317 	ldw	ra,12(sp)
   47de8:	dc800217 	ldw	r18,8(sp)
   47dec:	dc400117 	ldw	r17,4(sp)
   47df0:	dc000017 	ldw	r16,0(sp)
   47df4:	dec00404 	addi	sp,sp,16
   47df8:	f800283a 	ret
   47dfc:	0044acc0 	call	44acc <__sfp_lock_release>
   47e00:	0025883a 	mov	r18,zero
   47e04:	9005883a 	mov	r2,r18
   47e08:	dfc00317 	ldw	ra,12(sp)
   47e0c:	dc800217 	ldw	r18,8(sp)
   47e10:	dc400117 	ldw	r17,4(sp)
   47e14:	dc000017 	ldw	r16,0(sp)
   47e18:	dec00404 	addi	sp,sp,16
   47e1c:	f800283a 	ret
   47e20:	0025883a 	mov	r18,zero
   47e24:	9005883a 	mov	r2,r18
   47e28:	dfc00317 	ldw	ra,12(sp)
   47e2c:	dc800217 	ldw	r18,8(sp)
   47e30:	dc400117 	ldw	r17,4(sp)
   47e34:	dc000017 	ldw	r16,0(sp)
   47e38:	dec00404 	addi	sp,sp,16
   47e3c:	f800283a 	ret
   47e40:	8809883a 	mov	r4,r17
   47e44:	00448c00 	call	448c0 <__sinit>
   47e48:	8080030f 	ldh	r2,12(r16)
   47e4c:	103fc61e 	bne	r2,zero,47d68 <__alt_data_end+0xfffe0c68>
   47e50:	003fea06 	br	47dfc <__alt_data_end+0xfffe0cfc>
   47e54:	81400417 	ldw	r5,16(r16)
   47e58:	8809883a 	mov	r4,r17
   47e5c:	0044c440 	call	44c44 <_free_r>
   47e60:	003fd106 	br	47da8 <__alt_data_end+0xfffe0ca8>
   47e64:	04bfffc4 	movi	r18,-1
   47e68:	003fc906 	br	47d90 <__alt_data_end+0xfffe0c90>

00047e6c <fclose>:
   47e6c:	00800174 	movhi	r2,5
   47e70:	10b7cd04 	addi	r2,r2,-8396
   47e74:	200b883a 	mov	r5,r4
   47e78:	11000017 	ldw	r4,0(r2)
   47e7c:	0047d301 	jmpi	47d30 <_fclose_r>

00047e80 <_fstat_r>:
   47e80:	defffd04 	addi	sp,sp,-12
   47e84:	dc400115 	stw	r17,4(sp)
   47e88:	dc000015 	stw	r16,0(sp)
   47e8c:	2023883a 	mov	r17,r4
   47e90:	04000174 	movhi	r16,5
   47e94:	843e7704 	addi	r16,r16,-1572
   47e98:	2809883a 	mov	r4,r5
   47e9c:	300b883a 	mov	r5,r6
   47ea0:	dfc00215 	stw	ra,8(sp)
   47ea4:	80000015 	stw	zero,0(r16)
   47ea8:	0049ae80 	call	49ae8 <fstat>
   47eac:	00ffffc4 	movi	r3,-1
   47eb0:	10c00526 	beq	r2,r3,47ec8 <_fstat_r+0x48>
   47eb4:	dfc00217 	ldw	ra,8(sp)
   47eb8:	dc400117 	ldw	r17,4(sp)
   47ebc:	dc000017 	ldw	r16,0(sp)
   47ec0:	dec00304 	addi	sp,sp,12
   47ec4:	f800283a 	ret
   47ec8:	80c00017 	ldw	r3,0(r16)
   47ecc:	183ff926 	beq	r3,zero,47eb4 <__alt_data_end+0xfffe0db4>
   47ed0:	88c00015 	stw	r3,0(r17)
   47ed4:	dfc00217 	ldw	ra,8(sp)
   47ed8:	dc400117 	ldw	r17,4(sp)
   47edc:	dc000017 	ldw	r16,0(sp)
   47ee0:	dec00304 	addi	sp,sp,12
   47ee4:	f800283a 	ret

00047ee8 <_isatty_r>:
   47ee8:	defffd04 	addi	sp,sp,-12
   47eec:	dc400115 	stw	r17,4(sp)
   47ef0:	dc000015 	stw	r16,0(sp)
   47ef4:	2023883a 	mov	r17,r4
   47ef8:	04000174 	movhi	r16,5
   47efc:	843e7704 	addi	r16,r16,-1572
   47f00:	2809883a 	mov	r4,r5
   47f04:	dfc00215 	stw	ra,8(sp)
   47f08:	80000015 	stw	zero,0(r16)
   47f0c:	0049be40 	call	49be4 <isatty>
   47f10:	00ffffc4 	movi	r3,-1
   47f14:	10c00526 	beq	r2,r3,47f2c <_isatty_r+0x44>
   47f18:	dfc00217 	ldw	ra,8(sp)
   47f1c:	dc400117 	ldw	r17,4(sp)
   47f20:	dc000017 	ldw	r16,0(sp)
   47f24:	dec00304 	addi	sp,sp,12
   47f28:	f800283a 	ret
   47f2c:	80c00017 	ldw	r3,0(r16)
   47f30:	183ff926 	beq	r3,zero,47f18 <__alt_data_end+0xfffe0e18>
   47f34:	88c00015 	stw	r3,0(r17)
   47f38:	dfc00217 	ldw	ra,8(sp)
   47f3c:	dc400117 	ldw	r17,4(sp)
   47f40:	dc000017 	ldw	r16,0(sp)
   47f44:	dec00304 	addi	sp,sp,12
   47f48:	f800283a 	ret

00047f4c <_lseek_r>:
   47f4c:	defffd04 	addi	sp,sp,-12
   47f50:	dc400115 	stw	r17,4(sp)
   47f54:	dc000015 	stw	r16,0(sp)
   47f58:	2023883a 	mov	r17,r4
   47f5c:	04000174 	movhi	r16,5
   47f60:	843e7704 	addi	r16,r16,-1572
   47f64:	2809883a 	mov	r4,r5
   47f68:	300b883a 	mov	r5,r6
   47f6c:	380d883a 	mov	r6,r7
   47f70:	dfc00215 	stw	ra,8(sp)
   47f74:	80000015 	stw	zero,0(r16)
   47f78:	0049dc00 	call	49dc0 <lseek>
   47f7c:	00ffffc4 	movi	r3,-1
   47f80:	10c00526 	beq	r2,r3,47f98 <_lseek_r+0x4c>
   47f84:	dfc00217 	ldw	ra,8(sp)
   47f88:	dc400117 	ldw	r17,4(sp)
   47f8c:	dc000017 	ldw	r16,0(sp)
   47f90:	dec00304 	addi	sp,sp,12
   47f94:	f800283a 	ret
   47f98:	80c00017 	ldw	r3,0(r16)
   47f9c:	183ff926 	beq	r3,zero,47f84 <__alt_data_end+0xfffe0e84>
   47fa0:	88c00015 	stw	r3,0(r17)
   47fa4:	dfc00217 	ldw	ra,8(sp)
   47fa8:	dc400117 	ldw	r17,4(sp)
   47fac:	dc000017 	ldw	r16,0(sp)
   47fb0:	dec00304 	addi	sp,sp,12
   47fb4:	f800283a 	ret

00047fb8 <_read_r>:
   47fb8:	defffd04 	addi	sp,sp,-12
   47fbc:	dc400115 	stw	r17,4(sp)
   47fc0:	dc000015 	stw	r16,0(sp)
   47fc4:	2023883a 	mov	r17,r4
   47fc8:	04000174 	movhi	r16,5
   47fcc:	843e7704 	addi	r16,r16,-1572
   47fd0:	2809883a 	mov	r4,r5
   47fd4:	300b883a 	mov	r5,r6
   47fd8:	380d883a 	mov	r6,r7
   47fdc:	dfc00215 	stw	ra,8(sp)
   47fe0:	80000015 	stw	zero,0(r16)
   47fe4:	0049f980 	call	49f98 <read>
   47fe8:	00ffffc4 	movi	r3,-1
   47fec:	10c00526 	beq	r2,r3,48004 <_read_r+0x4c>
   47ff0:	dfc00217 	ldw	ra,8(sp)
   47ff4:	dc400117 	ldw	r17,4(sp)
   47ff8:	dc000017 	ldw	r16,0(sp)
   47ffc:	dec00304 	addi	sp,sp,12
   48000:	f800283a 	ret
   48004:	80c00017 	ldw	r3,0(r16)
   48008:	183ff926 	beq	r3,zero,47ff0 <__alt_data_end+0xfffe0ef0>
   4800c:	88c00015 	stw	r3,0(r17)
   48010:	dfc00217 	ldw	ra,8(sp)
   48014:	dc400117 	ldw	r17,4(sp)
   48018:	dc000017 	ldw	r16,0(sp)
   4801c:	dec00304 	addi	sp,sp,12
   48020:	f800283a 	ret

00048024 <__udivdi3>:
   48024:	defff504 	addi	sp,sp,-44
   48028:	dd000515 	stw	r20,20(sp)
   4802c:	dcc00415 	stw	r19,16(sp)
   48030:	dc800315 	stw	r18,12(sp)
   48034:	dc400215 	stw	r17,8(sp)
   48038:	dc000115 	stw	r16,4(sp)
   4803c:	dfc00a15 	stw	ra,40(sp)
   48040:	df000915 	stw	fp,36(sp)
   48044:	ddc00815 	stw	r23,32(sp)
   48048:	dd800715 	stw	r22,28(sp)
   4804c:	dd400615 	stw	r21,24(sp)
   48050:	2025883a 	mov	r18,r4
   48054:	2823883a 	mov	r17,r5
   48058:	3021883a 	mov	r16,r6
   4805c:	2027883a 	mov	r19,r4
   48060:	2829883a 	mov	r20,r5
   48064:	3800401e 	bne	r7,zero,48168 <__udivdi3+0x144>
   48068:	2980602e 	bgeu	r5,r6,481ec <__udivdi3+0x1c8>
   4806c:	00bfffd4 	movui	r2,65535
   48070:	1180aa36 	bltu	r2,r6,4831c <__udivdi3+0x2f8>
   48074:	00803fc4 	movi	r2,255
   48078:	11814436 	bltu	r2,r6,4858c <__udivdi3+0x568>
   4807c:	0005883a 	mov	r2,zero
   48080:	0007883a 	mov	r3,zero
   48084:	3084d83a 	srl	r2,r6,r2
   48088:	01000174 	movhi	r4,5
   4808c:	21308204 	addi	r4,r4,-15864
   48090:	2085883a 	add	r2,r4,r2
   48094:	10800003 	ldbu	r2,0(r2)
   48098:	10c7883a 	add	r3,r2,r3
   4809c:	00800804 	movi	r2,32
   480a0:	10c5c83a 	sub	r2,r2,r3
   480a4:	10000526 	beq	r2,zero,480bc <__udivdi3+0x98>
   480a8:	88a2983a 	sll	r17,r17,r2
   480ac:	90c6d83a 	srl	r3,r18,r3
   480b0:	30a0983a 	sll	r16,r6,r2
   480b4:	90a6983a 	sll	r19,r18,r2
   480b8:	88e8b03a 	or	r20,r17,r3
   480bc:	8022d43a 	srli	r17,r16,16
   480c0:	a009883a 	mov	r4,r20
   480c4:	857fffcc 	andi	r21,r16,65535
   480c8:	880b883a 	mov	r5,r17
   480cc:	004981c0 	call	4981c <__umodsi3>
   480d0:	a009883a 	mov	r4,r20
   480d4:	880b883a 	mov	r5,r17
   480d8:	102d883a 	mov	r22,r2
   480dc:	00498140 	call	49814 <__udivsi3>
   480e0:	b02c943a 	slli	r22,r22,16
   480e4:	9806d43a 	srli	r3,r19,16
   480e8:	1549383a 	mul	r4,r2,r21
   480ec:	1025883a 	mov	r18,r2
   480f0:	b0c6b03a 	or	r3,r22,r3
   480f4:	1900052e 	bgeu	r3,r4,4810c <__udivdi3+0xe8>
   480f8:	1c07883a 	add	r3,r3,r16
   480fc:	10bfffc4 	addi	r2,r2,-1
   48100:	1c000136 	bltu	r3,r16,48108 <__udivdi3+0xe4>
   48104:	19013636 	bltu	r3,r4,485e0 <__udivdi3+0x5bc>
   48108:	1025883a 	mov	r18,r2
   4810c:	1929c83a 	sub	r20,r3,r4
   48110:	a009883a 	mov	r4,r20
   48114:	880b883a 	mov	r5,r17
   48118:	004981c0 	call	4981c <__umodsi3>
   4811c:	102d883a 	mov	r22,r2
   48120:	a009883a 	mov	r4,r20
   48124:	880b883a 	mov	r5,r17
   48128:	00498140 	call	49814 <__udivsi3>
   4812c:	b02c943a 	slli	r22,r22,16
   48130:	156b383a 	mul	r21,r2,r21
   48134:	9cffffcc 	andi	r19,r19,65535
   48138:	b4e6b03a 	or	r19,r22,r19
   4813c:	1009883a 	mov	r4,r2
   48140:	9d40052e 	bgeu	r19,r21,48158 <__udivdi3+0x134>
   48144:	9c27883a 	add	r19,r19,r16
   48148:	10bfffc4 	addi	r2,r2,-1
   4814c:	9c00f736 	bltu	r19,r16,4852c <__udivdi3+0x508>
   48150:	9d40f62e 	bgeu	r19,r21,4852c <__udivdi3+0x508>
   48154:	213fff84 	addi	r4,r4,-2
   48158:	9004943a 	slli	r2,r18,16
   4815c:	0007883a 	mov	r3,zero
   48160:	2084b03a 	or	r2,r4,r2
   48164:	00001506 	br	481bc <__udivdi3+0x198>
   48168:	29c06536 	bltu	r5,r7,48300 <__udivdi3+0x2dc>
   4816c:	00bfffd4 	movui	r2,65535
   48170:	11c0652e 	bgeu	r2,r7,48308 <__udivdi3+0x2e4>
   48174:	00804034 	movhi	r2,256
   48178:	10bfffc4 	addi	r2,r2,-1
   4817c:	11c0f736 	bltu	r2,r7,4855c <__udivdi3+0x538>
   48180:	00c00404 	movi	r3,16
   48184:	180b883a 	mov	r5,r3
   48188:	38c6d83a 	srl	r3,r7,r3
   4818c:	01000174 	movhi	r4,5
   48190:	21308204 	addi	r4,r4,-15864
   48194:	04000804 	movi	r16,32
   48198:	20c7883a 	add	r3,r4,r3
   4819c:	18800003 	ldbu	r2,0(r3)
   481a0:	1145883a 	add	r2,r2,r5
   481a4:	80a1c83a 	sub	r16,r16,r2
   481a8:	8000691e 	bne	r16,zero,48350 <__udivdi3+0x32c>
   481ac:	0007883a 	mov	r3,zero
   481b0:	3c406536 	bltu	r7,r17,48348 <__udivdi3+0x324>
   481b4:	9180642e 	bgeu	r18,r6,48348 <__udivdi3+0x324>
   481b8:	0005883a 	mov	r2,zero
   481bc:	dfc00a17 	ldw	ra,40(sp)
   481c0:	df000917 	ldw	fp,36(sp)
   481c4:	ddc00817 	ldw	r23,32(sp)
   481c8:	dd800717 	ldw	r22,28(sp)
   481cc:	dd400617 	ldw	r21,24(sp)
   481d0:	dd000517 	ldw	r20,20(sp)
   481d4:	dcc00417 	ldw	r19,16(sp)
   481d8:	dc800317 	ldw	r18,12(sp)
   481dc:	dc400217 	ldw	r17,8(sp)
   481e0:	dc000117 	ldw	r16,4(sp)
   481e4:	dec00b04 	addi	sp,sp,44
   481e8:	f800283a 	ret
   481ec:	3000041e 	bne	r6,zero,48200 <__udivdi3+0x1dc>
   481f0:	01000044 	movi	r4,1
   481f4:	000b883a 	mov	r5,zero
   481f8:	00498140 	call	49814 <__udivsi3>
   481fc:	1021883a 	mov	r16,r2
   48200:	00bfffd4 	movui	r2,65535
   48204:	14004b2e 	bgeu	r2,r16,48334 <__udivdi3+0x310>
   48208:	00804034 	movhi	r2,256
   4820c:	10bfffc4 	addi	r2,r2,-1
   48210:	1400d836 	bltu	r2,r16,48574 <__udivdi3+0x550>
   48214:	00800404 	movi	r2,16
   48218:	1007883a 	mov	r3,r2
   4821c:	8084d83a 	srl	r2,r16,r2
   48220:	01000174 	movhi	r4,5
   48224:	21308204 	addi	r4,r4,-15864
   48228:	2085883a 	add	r2,r4,r2
   4822c:	10800003 	ldbu	r2,0(r2)
   48230:	10c7883a 	add	r3,r2,r3
   48234:	00800804 	movi	r2,32
   48238:	10c5c83a 	sub	r2,r2,r3
   4823c:	1000891e 	bne	r2,zero,48464 <__udivdi3+0x440>
   48240:	8028d43a 	srli	r20,r16,16
   48244:	8c23c83a 	sub	r17,r17,r16
   48248:	84bfffcc 	andi	r18,r16,65535
   4824c:	00c00044 	movi	r3,1
   48250:	8809883a 	mov	r4,r17
   48254:	a00b883a 	mov	r5,r20
   48258:	d8c00015 	stw	r3,0(sp)
   4825c:	004981c0 	call	4981c <__umodsi3>
   48260:	8809883a 	mov	r4,r17
   48264:	a00b883a 	mov	r5,r20
   48268:	102b883a 	mov	r21,r2
   4826c:	00498140 	call	49814 <__udivsi3>
   48270:	a82a943a 	slli	r21,r21,16
   48274:	9808d43a 	srli	r4,r19,16
   48278:	148b383a 	mul	r5,r2,r18
   4827c:	1023883a 	mov	r17,r2
   48280:	a908b03a 	or	r4,r21,r4
   48284:	d8c00017 	ldw	r3,0(sp)
   48288:	2140052e 	bgeu	r4,r5,482a0 <__udivdi3+0x27c>
   4828c:	2409883a 	add	r4,r4,r16
   48290:	10bfffc4 	addi	r2,r2,-1
   48294:	24000136 	bltu	r4,r16,4829c <__udivdi3+0x278>
   48298:	2140ce36 	bltu	r4,r5,485d4 <__udivdi3+0x5b0>
   4829c:	1023883a 	mov	r17,r2
   482a0:	216bc83a 	sub	r21,r4,r5
   482a4:	a809883a 	mov	r4,r21
   482a8:	a00b883a 	mov	r5,r20
   482ac:	d8c00015 	stw	r3,0(sp)
   482b0:	004981c0 	call	4981c <__umodsi3>
   482b4:	102d883a 	mov	r22,r2
   482b8:	a809883a 	mov	r4,r21
   482bc:	a00b883a 	mov	r5,r20
   482c0:	00498140 	call	49814 <__udivsi3>
   482c4:	b02c943a 	slli	r22,r22,16
   482c8:	14a5383a 	mul	r18,r2,r18
   482cc:	9cffffcc 	andi	r19,r19,65535
   482d0:	b4e6b03a 	or	r19,r22,r19
   482d4:	1009883a 	mov	r4,r2
   482d8:	d8c00017 	ldw	r3,0(sp)
   482dc:	9c80052e 	bgeu	r19,r18,482f4 <__udivdi3+0x2d0>
   482e0:	9c27883a 	add	r19,r19,r16
   482e4:	10bfffc4 	addi	r2,r2,-1
   482e8:	9c009236 	bltu	r19,r16,48534 <__udivdi3+0x510>
   482ec:	9c80912e 	bgeu	r19,r18,48534 <__udivdi3+0x510>
   482f0:	213fff84 	addi	r4,r4,-2
   482f4:	8804943a 	slli	r2,r17,16
   482f8:	2084b03a 	or	r2,r4,r2
   482fc:	003faf06 	br	481bc <__alt_data_end+0xfffe10bc>
   48300:	0007883a 	mov	r3,zero
   48304:	003fac06 	br	481b8 <__alt_data_end+0xfffe10b8>
   48308:	00803fc4 	movi	r2,255
   4830c:	11c09636 	bltu	r2,r7,48568 <__udivdi3+0x544>
   48310:	0007883a 	mov	r3,zero
   48314:	000b883a 	mov	r5,zero
   48318:	003f9b06 	br	48188 <__alt_data_end+0xfffe1088>
   4831c:	00804034 	movhi	r2,256
   48320:	10bfffc4 	addi	r2,r2,-1
   48324:	11809636 	bltu	r2,r6,48580 <__udivdi3+0x55c>
   48328:	00800404 	movi	r2,16
   4832c:	1007883a 	mov	r3,r2
   48330:	003f5406 	br	48084 <__alt_data_end+0xfffe0f84>
   48334:	00803fc4 	movi	r2,255
   48338:	14009736 	bltu	r2,r16,48598 <__udivdi3+0x574>
   4833c:	0005883a 	mov	r2,zero
   48340:	0007883a 	mov	r3,zero
   48344:	003fb506 	br	4821c <__alt_data_end+0xfffe111c>
   48348:	00800044 	movi	r2,1
   4834c:	003f9b06 	br	481bc <__alt_data_end+0xfffe10bc>
   48350:	3086d83a 	srl	r3,r6,r2
   48354:	3c0e983a 	sll	r7,r7,r16
   48358:	88aad83a 	srl	r21,r17,r2
   4835c:	9084d83a 	srl	r2,r18,r2
   48360:	38e6b03a 	or	r19,r7,r3
   48364:	9828d43a 	srli	r20,r19,16
   48368:	8c22983a 	sll	r17,r17,r16
   4836c:	a809883a 	mov	r4,r21
   48370:	a00b883a 	mov	r5,r20
   48374:	342c983a 	sll	r22,r6,r16
   48378:	88a2b03a 	or	r17,r17,r2
   4837c:	004981c0 	call	4981c <__umodsi3>
   48380:	a809883a 	mov	r4,r21
   48384:	a00b883a 	mov	r5,r20
   48388:	1039883a 	mov	fp,r2
   4838c:	00498140 	call	49814 <__udivsi3>
   48390:	102b883a 	mov	r21,r2
   48394:	9dffffcc 	andi	r23,r19,65535
   48398:	e008943a 	slli	r4,fp,16
   4839c:	8804d43a 	srli	r2,r17,16
   483a0:	adcd383a 	mul	r6,r21,r23
   483a4:	2088b03a 	or	r4,r4,r2
   483a8:	2180042e 	bgeu	r4,r6,483bc <__udivdi3+0x398>
   483ac:	24c9883a 	add	r4,r4,r19
   483b0:	a8bfffc4 	addi	r2,r21,-1
   483b4:	24c07f2e 	bgeu	r4,r19,485b4 <__udivdi3+0x590>
   483b8:	102b883a 	mov	r21,r2
   483bc:	21b9c83a 	sub	fp,r4,r6
   483c0:	e009883a 	mov	r4,fp
   483c4:	a00b883a 	mov	r5,r20
   483c8:	004981c0 	call	4981c <__umodsi3>
   483cc:	e009883a 	mov	r4,fp
   483d0:	a00b883a 	mov	r5,r20
   483d4:	d8800015 	stw	r2,0(sp)
   483d8:	00498140 	call	49814 <__udivsi3>
   483dc:	d8c00017 	ldw	r3,0(sp)
   483e0:	15cb383a 	mul	r5,r2,r23
   483e4:	8c7fffcc 	andi	r17,r17,65535
   483e8:	1806943a 	slli	r3,r3,16
   483ec:	1009883a 	mov	r4,r2
   483f0:	1c46b03a 	or	r3,r3,r17
   483f4:	1940042e 	bgeu	r3,r5,48408 <__udivdi3+0x3e4>
   483f8:	1cc7883a 	add	r3,r3,r19
   483fc:	10bfffc4 	addi	r2,r2,-1
   48400:	1cc0682e 	bgeu	r3,r19,485a4 <__udivdi3+0x580>
   48404:	1009883a 	mov	r4,r2
   48408:	a804943a 	slli	r2,r21,16
   4840c:	b1ffffcc 	andi	r7,r22,65535
   48410:	b02cd43a 	srli	r22,r22,16
   48414:	2084b03a 	or	r2,r4,r2
   48418:	113fffcc 	andi	r4,r2,65535
   4841c:	100cd43a 	srli	r6,r2,16
   48420:	21d1383a 	mul	r8,r4,r7
   48424:	2589383a 	mul	r4,r4,r22
   48428:	31cf383a 	mul	r7,r6,r7
   4842c:	4012d43a 	srli	r9,r8,16
   48430:	1947c83a 	sub	r3,r3,r5
   48434:	3909883a 	add	r4,r7,r4
   48438:	2249883a 	add	r4,r4,r9
   4843c:	35ad383a 	mul	r22,r6,r22
   48440:	21c0022e 	bgeu	r4,r7,4844c <__udivdi3+0x428>
   48444:	01400074 	movhi	r5,1
   48448:	b16d883a 	add	r22,r22,r5
   4844c:	200ad43a 	srli	r5,r4,16
   48450:	b16d883a 	add	r22,r22,r5
   48454:	1d803e36 	bltu	r3,r22,48550 <__udivdi3+0x52c>
   48458:	1d803826 	beq	r3,r22,4853c <__udivdi3+0x518>
   4845c:	0007883a 	mov	r3,zero
   48460:	003f5606 	br	481bc <__alt_data_end+0xfffe10bc>
   48464:	80a0983a 	sll	r16,r16,r2
   48468:	88ead83a 	srl	r21,r17,r3
   4846c:	90c6d83a 	srl	r3,r18,r3
   48470:	8028d43a 	srli	r20,r16,16
   48474:	88a2983a 	sll	r17,r17,r2
   48478:	a809883a 	mov	r4,r21
   4847c:	a00b883a 	mov	r5,r20
   48480:	88ecb03a 	or	r22,r17,r3
   48484:	90a6983a 	sll	r19,r18,r2
   48488:	004981c0 	call	4981c <__umodsi3>
   4848c:	a809883a 	mov	r4,r21
   48490:	a00b883a 	mov	r5,r20
   48494:	1023883a 	mov	r17,r2
   48498:	00498140 	call	49814 <__udivsi3>
   4849c:	102b883a 	mov	r21,r2
   484a0:	84bfffcc 	andi	r18,r16,65535
   484a4:	8808943a 	slli	r4,r17,16
   484a8:	b004d43a 	srli	r2,r22,16
   484ac:	ac87383a 	mul	r3,r21,r18
   484b0:	2088b03a 	or	r4,r4,r2
   484b4:	20c0062e 	bgeu	r4,r3,484d0 <__udivdi3+0x4ac>
   484b8:	2409883a 	add	r4,r4,r16
   484bc:	a8bfffc4 	addi	r2,r21,-1
   484c0:	24004236 	bltu	r4,r16,485cc <__udivdi3+0x5a8>
   484c4:	20c0412e 	bgeu	r4,r3,485cc <__udivdi3+0x5a8>
   484c8:	ad7fff84 	addi	r21,r21,-2
   484cc:	2409883a 	add	r4,r4,r16
   484d0:	20efc83a 	sub	r23,r4,r3
   484d4:	b809883a 	mov	r4,r23
   484d8:	a00b883a 	mov	r5,r20
   484dc:	004981c0 	call	4981c <__umodsi3>
   484e0:	1023883a 	mov	r17,r2
   484e4:	a00b883a 	mov	r5,r20
   484e8:	b809883a 	mov	r4,r23
   484ec:	00498140 	call	49814 <__udivsi3>
   484f0:	8822943a 	slli	r17,r17,16
   484f4:	148b383a 	mul	r5,r2,r18
   484f8:	b5bfffcc 	andi	r22,r22,65535
   484fc:	8da2b03a 	or	r17,r17,r22
   48500:	8940062e 	bgeu	r17,r5,4851c <__udivdi3+0x4f8>
   48504:	8c23883a 	add	r17,r17,r16
   48508:	10ffffc4 	addi	r3,r2,-1
   4850c:	8c002d36 	bltu	r17,r16,485c4 <__udivdi3+0x5a0>
   48510:	89402c2e 	bgeu	r17,r5,485c4 <__udivdi3+0x5a0>
   48514:	10bfff84 	addi	r2,r2,-2
   48518:	8c23883a 	add	r17,r17,r16
   4851c:	a806943a 	slli	r3,r21,16
   48520:	8963c83a 	sub	r17,r17,r5
   48524:	10c6b03a 	or	r3,r2,r3
   48528:	003f4906 	br	48250 <__alt_data_end+0xfffe1150>
   4852c:	1009883a 	mov	r4,r2
   48530:	003f0906 	br	48158 <__alt_data_end+0xfffe1058>
   48534:	1009883a 	mov	r4,r2
   48538:	003f6e06 	br	482f4 <__alt_data_end+0xfffe11f4>
   4853c:	2008943a 	slli	r4,r4,16
   48540:	9420983a 	sll	r16,r18,r16
   48544:	423fffcc 	andi	r8,r8,65535
   48548:	2209883a 	add	r4,r4,r8
   4854c:	813fc32e 	bgeu	r16,r4,4845c <__alt_data_end+0xfffe135c>
   48550:	10bfffc4 	addi	r2,r2,-1
   48554:	0007883a 	mov	r3,zero
   48558:	003f1806 	br	481bc <__alt_data_end+0xfffe10bc>
   4855c:	00c00604 	movi	r3,24
   48560:	180b883a 	mov	r5,r3
   48564:	003f0806 	br	48188 <__alt_data_end+0xfffe1088>
   48568:	00c00204 	movi	r3,8
   4856c:	180b883a 	mov	r5,r3
   48570:	003f0506 	br	48188 <__alt_data_end+0xfffe1088>
   48574:	00800604 	movi	r2,24
   48578:	1007883a 	mov	r3,r2
   4857c:	003f2706 	br	4821c <__alt_data_end+0xfffe111c>
   48580:	00800604 	movi	r2,24
   48584:	1007883a 	mov	r3,r2
   48588:	003ebe06 	br	48084 <__alt_data_end+0xfffe0f84>
   4858c:	00800204 	movi	r2,8
   48590:	1007883a 	mov	r3,r2
   48594:	003ebb06 	br	48084 <__alt_data_end+0xfffe0f84>
   48598:	00800204 	movi	r2,8
   4859c:	1007883a 	mov	r3,r2
   485a0:	003f1e06 	br	4821c <__alt_data_end+0xfffe111c>
   485a4:	197f972e 	bgeu	r3,r5,48404 <__alt_data_end+0xfffe1304>
   485a8:	213fff84 	addi	r4,r4,-2
   485ac:	1cc7883a 	add	r3,r3,r19
   485b0:	003f9506 	br	48408 <__alt_data_end+0xfffe1308>
   485b4:	21bf802e 	bgeu	r4,r6,483b8 <__alt_data_end+0xfffe12b8>
   485b8:	ad7fff84 	addi	r21,r21,-2
   485bc:	24c9883a 	add	r4,r4,r19
   485c0:	003f7e06 	br	483bc <__alt_data_end+0xfffe12bc>
   485c4:	1805883a 	mov	r2,r3
   485c8:	003fd406 	br	4851c <__alt_data_end+0xfffe141c>
   485cc:	102b883a 	mov	r21,r2
   485d0:	003fbf06 	br	484d0 <__alt_data_end+0xfffe13d0>
   485d4:	8c7fff84 	addi	r17,r17,-2
   485d8:	2409883a 	add	r4,r4,r16
   485dc:	003f3006 	br	482a0 <__alt_data_end+0xfffe11a0>
   485e0:	94bfff84 	addi	r18,r18,-2
   485e4:	1c07883a 	add	r3,r3,r16
   485e8:	003ec806 	br	4810c <__alt_data_end+0xfffe100c>

000485ec <__umoddi3>:
   485ec:	defff504 	addi	sp,sp,-44
   485f0:	dd000515 	stw	r20,20(sp)
   485f4:	dcc00415 	stw	r19,16(sp)
   485f8:	dc800315 	stw	r18,12(sp)
   485fc:	dc400215 	stw	r17,8(sp)
   48600:	dc000115 	stw	r16,4(sp)
   48604:	dfc00a15 	stw	ra,40(sp)
   48608:	df000915 	stw	fp,36(sp)
   4860c:	ddc00815 	stw	r23,32(sp)
   48610:	dd800715 	stw	r22,28(sp)
   48614:	dd400615 	stw	r21,24(sp)
   48618:	2025883a 	mov	r18,r4
   4861c:	2823883a 	mov	r17,r5
   48620:	3021883a 	mov	r16,r6
   48624:	2027883a 	mov	r19,r4
   48628:	2829883a 	mov	r20,r5
   4862c:	3800351e 	bne	r7,zero,48704 <__umoddi3+0x118>
   48630:	29804d2e 	bgeu	r5,r6,48768 <__umoddi3+0x17c>
   48634:	00bfffd4 	movui	r2,65535
   48638:	11809a36 	bltu	r2,r6,488a4 <__umoddi3+0x2b8>
   4863c:	00803fc4 	movi	r2,255
   48640:	11813936 	bltu	r2,r6,48b28 <__umoddi3+0x53c>
   48644:	0005883a 	mov	r2,zero
   48648:	0009883a 	mov	r4,zero
   4864c:	3084d83a 	srl	r2,r6,r2
   48650:	00c00174 	movhi	r3,5
   48654:	18f08204 	addi	r3,r3,-15864
   48658:	05400804 	movi	r21,32
   4865c:	1885883a 	add	r2,r3,r2
   48660:	10800003 	ldbu	r2,0(r2)
   48664:	1109883a 	add	r4,r2,r4
   48668:	a92bc83a 	sub	r21,r21,r4
   4866c:	a800ec26 	beq	r21,zero,48a20 <__umoddi3+0x434>
   48670:	8d62983a 	sll	r17,r17,r21
   48674:	9108d83a 	srl	r4,r18,r4
   48678:	3560983a 	sll	r16,r6,r21
   4867c:	9566983a 	sll	r19,r18,r21
   48680:	8928b03a 	or	r20,r17,r4
   48684:	8022d43a 	srli	r17,r16,16
   48688:	a009883a 	mov	r4,r20
   4868c:	84bfffcc 	andi	r18,r16,65535
   48690:	880b883a 	mov	r5,r17
   48694:	004981c0 	call	4981c <__umodsi3>
   48698:	a009883a 	mov	r4,r20
   4869c:	880b883a 	mov	r5,r17
   486a0:	102d883a 	mov	r22,r2
   486a4:	00498140 	call	49814 <__udivsi3>
   486a8:	b02c943a 	slli	r22,r22,16
   486ac:	9806d43a 	srli	r3,r19,16
   486b0:	1485383a 	mul	r2,r2,r18
   486b4:	b0c6b03a 	or	r3,r22,r3
   486b8:	1880042e 	bgeu	r3,r2,486cc <__umoddi3+0xe0>
   486bc:	1c07883a 	add	r3,r3,r16
   486c0:	1c000236 	bltu	r3,r16,486cc <__umoddi3+0xe0>
   486c4:	1880012e 	bgeu	r3,r2,486cc <__umoddi3+0xe0>
   486c8:	1c07883a 	add	r3,r3,r16
   486cc:	18a9c83a 	sub	r20,r3,r2
   486d0:	a009883a 	mov	r4,r20
   486d4:	880b883a 	mov	r5,r17
   486d8:	004981c0 	call	4981c <__umodsi3>
   486dc:	102d883a 	mov	r22,r2
   486e0:	a009883a 	mov	r4,r20
   486e4:	880b883a 	mov	r5,r17
   486e8:	00498140 	call	49814 <__udivsi3>
   486ec:	b02c943a 	slli	r22,r22,16
   486f0:	1485383a 	mul	r2,r2,r18
   486f4:	9cffffcc 	andi	r19,r19,65535
   486f8:	b4e6b03a 	or	r19,r22,r19
   486fc:	9880522e 	bgeu	r19,r2,48848 <__umoddi3+0x25c>
   48700:	00004d06 	br	48838 <__umoddi3+0x24c>
   48704:	29c05436 	bltu	r5,r7,48858 <__umoddi3+0x26c>
   48708:	00bfffd4 	movui	r2,65535
   4870c:	11c0602e 	bgeu	r2,r7,48890 <__umoddi3+0x2a4>
   48710:	00804034 	movhi	r2,256
   48714:	10bfffc4 	addi	r2,r2,-1
   48718:	11c0f736 	bltu	r2,r7,48af8 <__umoddi3+0x50c>
   4871c:	00c00404 	movi	r3,16
   48720:	1827883a 	mov	r19,r3
   48724:	38c6d83a 	srl	r3,r7,r3
   48728:	01000174 	movhi	r4,5
   4872c:	21308204 	addi	r4,r4,-15864
   48730:	04000804 	movi	r16,32
   48734:	20c7883a 	add	r3,r4,r3
   48738:	18800003 	ldbu	r2,0(r3)
   4873c:	14e7883a 	add	r19,r2,r19
   48740:	84e1c83a 	sub	r16,r16,r19
   48744:	8000621e 	bne	r16,zero,488d0 <__umoddi3+0x2e4>
   48748:	3c400136 	bltu	r7,r17,48750 <__umoddi3+0x164>
   4874c:	91810336 	bltu	r18,r6,48b5c <__umoddi3+0x570>
   48750:	9185c83a 	sub	r2,r18,r6
   48754:	89e3c83a 	sub	r17,r17,r7
   48758:	90a5803a 	cmpltu	r18,r18,r2
   4875c:	8ca9c83a 	sub	r20,r17,r18
   48760:	a007883a 	mov	r3,r20
   48764:	00003e06 	br	48860 <__umoddi3+0x274>
   48768:	3000041e 	bne	r6,zero,4877c <__umoddi3+0x190>
   4876c:	01000044 	movi	r4,1
   48770:	000b883a 	mov	r5,zero
   48774:	00498140 	call	49814 <__udivsi3>
   48778:	1021883a 	mov	r16,r2
   4877c:	00bfffd4 	movui	r2,65535
   48780:	14004e2e 	bgeu	r2,r16,488bc <__umoddi3+0x2d0>
   48784:	00804034 	movhi	r2,256
   48788:	10bfffc4 	addi	r2,r2,-1
   4878c:	1400e336 	bltu	r2,r16,48b1c <__umoddi3+0x530>
   48790:	00800404 	movi	r2,16
   48794:	1007883a 	mov	r3,r2
   48798:	8084d83a 	srl	r2,r16,r2
   4879c:	01000174 	movhi	r4,5
   487a0:	21308204 	addi	r4,r4,-15864
   487a4:	05400804 	movi	r21,32
   487a8:	2085883a 	add	r2,r4,r2
   487ac:	10800003 	ldbu	r2,0(r2)
   487b0:	10c7883a 	add	r3,r2,r3
   487b4:	a8ebc83a 	sub	r21,r21,r3
   487b8:	a8009b1e 	bne	r21,zero,48a28 <__umoddi3+0x43c>
   487bc:	8028d43a 	srli	r20,r16,16
   487c0:	8c23c83a 	sub	r17,r17,r16
   487c4:	85bfffcc 	andi	r22,r16,65535
   487c8:	8809883a 	mov	r4,r17
   487cc:	a00b883a 	mov	r5,r20
   487d0:	004981c0 	call	4981c <__umodsi3>
   487d4:	8809883a 	mov	r4,r17
   487d8:	a00b883a 	mov	r5,r20
   487dc:	1025883a 	mov	r18,r2
   487e0:	00498140 	call	49814 <__udivsi3>
   487e4:	9024943a 	slli	r18,r18,16
   487e8:	9806d43a 	srli	r3,r19,16
   487ec:	1585383a 	mul	r2,r2,r22
   487f0:	90c6b03a 	or	r3,r18,r3
   487f4:	1880032e 	bgeu	r3,r2,48804 <__umoddi3+0x218>
   487f8:	1c07883a 	add	r3,r3,r16
   487fc:	1c000136 	bltu	r3,r16,48804 <__umoddi3+0x218>
   48800:	1880d436 	bltu	r3,r2,48b54 <__umoddi3+0x568>
   48804:	18a3c83a 	sub	r17,r3,r2
   48808:	8809883a 	mov	r4,r17
   4880c:	a00b883a 	mov	r5,r20
   48810:	004981c0 	call	4981c <__umodsi3>
   48814:	1025883a 	mov	r18,r2
   48818:	8809883a 	mov	r4,r17
   4881c:	a00b883a 	mov	r5,r20
   48820:	00498140 	call	49814 <__udivsi3>
   48824:	9024943a 	slli	r18,r18,16
   48828:	1585383a 	mul	r2,r2,r22
   4882c:	9cffffcc 	andi	r19,r19,65535
   48830:	94e6b03a 	or	r19,r18,r19
   48834:	9880042e 	bgeu	r19,r2,48848 <__umoddi3+0x25c>
   48838:	9c27883a 	add	r19,r19,r16
   4883c:	9c000236 	bltu	r19,r16,48848 <__umoddi3+0x25c>
   48840:	9880012e 	bgeu	r19,r2,48848 <__umoddi3+0x25c>
   48844:	9c27883a 	add	r19,r19,r16
   48848:	98a7c83a 	sub	r19,r19,r2
   4884c:	9d44d83a 	srl	r2,r19,r21
   48850:	0007883a 	mov	r3,zero
   48854:	00000206 	br	48860 <__umoddi3+0x274>
   48858:	2005883a 	mov	r2,r4
   4885c:	2807883a 	mov	r3,r5
   48860:	dfc00a17 	ldw	ra,40(sp)
   48864:	df000917 	ldw	fp,36(sp)
   48868:	ddc00817 	ldw	r23,32(sp)
   4886c:	dd800717 	ldw	r22,28(sp)
   48870:	dd400617 	ldw	r21,24(sp)
   48874:	dd000517 	ldw	r20,20(sp)
   48878:	dcc00417 	ldw	r19,16(sp)
   4887c:	dc800317 	ldw	r18,12(sp)
   48880:	dc400217 	ldw	r17,8(sp)
   48884:	dc000117 	ldw	r16,4(sp)
   48888:	dec00b04 	addi	sp,sp,44
   4888c:	f800283a 	ret
   48890:	00803fc4 	movi	r2,255
   48894:	11c09536 	bltu	r2,r7,48aec <__umoddi3+0x500>
   48898:	0007883a 	mov	r3,zero
   4889c:	0027883a 	mov	r19,zero
   488a0:	003fa006 	br	48724 <__alt_data_end+0xfffe1624>
   488a4:	00804034 	movhi	r2,256
   488a8:	10bfffc4 	addi	r2,r2,-1
   488ac:	11809536 	bltu	r2,r6,48b04 <__umoddi3+0x518>
   488b0:	00800404 	movi	r2,16
   488b4:	1009883a 	mov	r4,r2
   488b8:	003f6406 	br	4864c <__alt_data_end+0xfffe154c>
   488bc:	00803fc4 	movi	r2,255
   488c0:	14009336 	bltu	r2,r16,48b10 <__umoddi3+0x524>
   488c4:	0005883a 	mov	r2,zero
   488c8:	0007883a 	mov	r3,zero
   488cc:	003fb206 	br	48798 <__alt_data_end+0xfffe1698>
   488d0:	34c4d83a 	srl	r2,r6,r19
   488d4:	3c0e983a 	sll	r7,r7,r16
   488d8:	8ceed83a 	srl	r23,r17,r19
   488dc:	8c22983a 	sll	r17,r17,r16
   488e0:	38a8b03a 	or	r20,r7,r2
   488e4:	a02ad43a 	srli	r21,r20,16
   488e8:	94c4d83a 	srl	r2,r18,r19
   488ec:	b809883a 	mov	r4,r23
   488f0:	a80b883a 	mov	r5,r21
   488f4:	88a2b03a 	or	r17,r17,r2
   488f8:	342c983a 	sll	r22,r6,r16
   488fc:	004981c0 	call	4981c <__umodsi3>
   48900:	b809883a 	mov	r4,r23
   48904:	a80b883a 	mov	r5,r21
   48908:	d8800015 	stw	r2,0(sp)
   4890c:	00498140 	call	49814 <__udivsi3>
   48910:	d8c00017 	ldw	r3,0(sp)
   48914:	102f883a 	mov	r23,r2
   48918:	a73fffcc 	andi	fp,r20,65535
   4891c:	180a943a 	slli	r5,r3,16
   48920:	8804d43a 	srli	r2,r17,16
   48924:	bf09383a 	mul	r4,r23,fp
   48928:	9424983a 	sll	r18,r18,r16
   4892c:	288ab03a 	or	r5,r5,r2
   48930:	2900042e 	bgeu	r5,r4,48944 <__umoddi3+0x358>
   48934:	2d0b883a 	add	r5,r5,r20
   48938:	b8bfffc4 	addi	r2,r23,-1
   4893c:	2d00812e 	bgeu	r5,r20,48b44 <__umoddi3+0x558>
   48940:	102f883a 	mov	r23,r2
   48944:	2907c83a 	sub	r3,r5,r4
   48948:	1809883a 	mov	r4,r3
   4894c:	a80b883a 	mov	r5,r21
   48950:	d8c00015 	stw	r3,0(sp)
   48954:	004981c0 	call	4981c <__umodsi3>
   48958:	d8c00017 	ldw	r3,0(sp)
   4895c:	a80b883a 	mov	r5,r21
   48960:	d8800015 	stw	r2,0(sp)
   48964:	1809883a 	mov	r4,r3
   48968:	00498140 	call	49814 <__udivsi3>
   4896c:	d9800017 	ldw	r6,0(sp)
   48970:	8c7fffcc 	andi	r17,r17,65535
   48974:	3008943a 	slli	r4,r6,16
   48978:	170d383a 	mul	r6,r2,fp
   4897c:	2448b03a 	or	r4,r4,r17
   48980:	2180042e 	bgeu	r4,r6,48994 <__umoddi3+0x3a8>
   48984:	2509883a 	add	r4,r4,r20
   48988:	10ffffc4 	addi	r3,r2,-1
   4898c:	2500692e 	bgeu	r4,r20,48b34 <__umoddi3+0x548>
   48990:	1805883a 	mov	r2,r3
   48994:	b82e943a 	slli	r23,r23,16
   48998:	b010d43a 	srli	r8,r22,16
   4899c:	b1ffffcc 	andi	r7,r22,65535
   489a0:	15eeb03a 	or	r23,r2,r23
   489a4:	b8bfffcc 	andi	r2,r23,65535
   489a8:	b82ed43a 	srli	r23,r23,16
   489ac:	11c7383a 	mul	r3,r2,r7
   489b0:	1205383a 	mul	r2,r2,r8
   489b4:	b9cf383a 	mul	r7,r23,r7
   489b8:	400b883a 	mov	r5,r8
   489bc:	1810d43a 	srli	r8,r3,16
   489c0:	3885883a 	add	r2,r7,r2
   489c4:	2189c83a 	sub	r4,r4,r6
   489c8:	1205883a 	add	r2,r2,r8
   489cc:	b94b383a 	mul	r5,r23,r5
   489d0:	11c0022e 	bgeu	r2,r7,489dc <__umoddi3+0x3f0>
   489d4:	01800074 	movhi	r6,1
   489d8:	298b883a 	add	r5,r5,r6
   489dc:	100cd43a 	srli	r6,r2,16
   489e0:	1004943a 	slli	r2,r2,16
   489e4:	18ffffcc 	andi	r3,r3,65535
   489e8:	298b883a 	add	r5,r5,r6
   489ec:	10c5883a 	add	r2,r2,r3
   489f0:	21403836 	bltu	r4,r5,48ad4 <__umoddi3+0x4e8>
   489f4:	21405c26 	beq	r4,r5,48b68 <__umoddi3+0x57c>
   489f8:	2147c83a 	sub	r3,r4,r5
   489fc:	102d883a 	mov	r22,r2
   48a00:	95adc83a 	sub	r22,r18,r22
   48a04:	95a5803a 	cmpltu	r18,r18,r22
   48a08:	1c87c83a 	sub	r3,r3,r18
   48a0c:	1cc4983a 	sll	r2,r3,r19
   48a10:	b42cd83a 	srl	r22,r22,r16
   48a14:	1c06d83a 	srl	r3,r3,r16
   48a18:	1584b03a 	or	r2,r2,r22
   48a1c:	003f9006 	br	48860 <__alt_data_end+0xfffe1760>
   48a20:	002b883a 	mov	r21,zero
   48a24:	003f1706 	br	48684 <__alt_data_end+0xfffe1584>
   48a28:	8560983a 	sll	r16,r16,r21
   48a2c:	88e6d83a 	srl	r19,r17,r3
   48a30:	90c6d83a 	srl	r3,r18,r3
   48a34:	8028d43a 	srli	r20,r16,16
   48a38:	8d62983a 	sll	r17,r17,r21
   48a3c:	9809883a 	mov	r4,r19
   48a40:	a00b883a 	mov	r5,r20
   48a44:	88eeb03a 	or	r23,r17,r3
   48a48:	004981c0 	call	4981c <__umodsi3>
   48a4c:	9809883a 	mov	r4,r19
   48a50:	a00b883a 	mov	r5,r20
   48a54:	1023883a 	mov	r17,r2
   48a58:	00498140 	call	49814 <__udivsi3>
   48a5c:	85bfffcc 	andi	r22,r16,65535
   48a60:	880a943a 	slli	r5,r17,16
   48a64:	b806d43a 	srli	r3,r23,16
   48a68:	1585383a 	mul	r2,r2,r22
   48a6c:	9566983a 	sll	r19,r18,r21
   48a70:	28cab03a 	or	r5,r5,r3
   48a74:	2880042e 	bgeu	r5,r2,48a88 <__umoddi3+0x49c>
   48a78:	2c0b883a 	add	r5,r5,r16
   48a7c:	2c000236 	bltu	r5,r16,48a88 <__umoddi3+0x49c>
   48a80:	2880012e 	bgeu	r5,r2,48a88 <__umoddi3+0x49c>
   48a84:	2c0b883a 	add	r5,r5,r16
   48a88:	28a5c83a 	sub	r18,r5,r2
   48a8c:	9009883a 	mov	r4,r18
   48a90:	a00b883a 	mov	r5,r20
   48a94:	004981c0 	call	4981c <__umodsi3>
   48a98:	1023883a 	mov	r17,r2
   48a9c:	9009883a 	mov	r4,r18
   48aa0:	a00b883a 	mov	r5,r20
   48aa4:	00498140 	call	49814 <__udivsi3>
   48aa8:	8822943a 	slli	r17,r17,16
   48aac:	1585383a 	mul	r2,r2,r22
   48ab0:	bdffffcc 	andi	r23,r23,65535
   48ab4:	8de2b03a 	or	r17,r17,r23
   48ab8:	8880042e 	bgeu	r17,r2,48acc <__umoddi3+0x4e0>
   48abc:	8c23883a 	add	r17,r17,r16
   48ac0:	8c000236 	bltu	r17,r16,48acc <__umoddi3+0x4e0>
   48ac4:	8880012e 	bgeu	r17,r2,48acc <__umoddi3+0x4e0>
   48ac8:	8c23883a 	add	r17,r17,r16
   48acc:	88a3c83a 	sub	r17,r17,r2
   48ad0:	003f3d06 	br	487c8 <__alt_data_end+0xfffe16c8>
   48ad4:	15adc83a 	sub	r22,r2,r22
   48ad8:	2d07c83a 	sub	r3,r5,r20
   48adc:	1585803a 	cmpltu	r2,r2,r22
   48ae0:	1887c83a 	sub	r3,r3,r2
   48ae4:	20c7c83a 	sub	r3,r4,r3
   48ae8:	003fc506 	br	48a00 <__alt_data_end+0xfffe1900>
   48aec:	00c00204 	movi	r3,8
   48af0:	1827883a 	mov	r19,r3
   48af4:	003f0b06 	br	48724 <__alt_data_end+0xfffe1624>
   48af8:	00c00604 	movi	r3,24
   48afc:	1827883a 	mov	r19,r3
   48b00:	003f0806 	br	48724 <__alt_data_end+0xfffe1624>
   48b04:	00800604 	movi	r2,24
   48b08:	1009883a 	mov	r4,r2
   48b0c:	003ecf06 	br	4864c <__alt_data_end+0xfffe154c>
   48b10:	00800204 	movi	r2,8
   48b14:	1007883a 	mov	r3,r2
   48b18:	003f1f06 	br	48798 <__alt_data_end+0xfffe1698>
   48b1c:	00800604 	movi	r2,24
   48b20:	1007883a 	mov	r3,r2
   48b24:	003f1c06 	br	48798 <__alt_data_end+0xfffe1698>
   48b28:	00800204 	movi	r2,8
   48b2c:	1009883a 	mov	r4,r2
   48b30:	003ec606 	br	4864c <__alt_data_end+0xfffe154c>
   48b34:	21bf962e 	bgeu	r4,r6,48990 <__alt_data_end+0xfffe1890>
   48b38:	10bfff84 	addi	r2,r2,-2
   48b3c:	2509883a 	add	r4,r4,r20
   48b40:	003f9406 	br	48994 <__alt_data_end+0xfffe1894>
   48b44:	293f7e2e 	bgeu	r5,r4,48940 <__alt_data_end+0xfffe1840>
   48b48:	bdffff84 	addi	r23,r23,-2
   48b4c:	2d0b883a 	add	r5,r5,r20
   48b50:	003f7c06 	br	48944 <__alt_data_end+0xfffe1844>
   48b54:	1c07883a 	add	r3,r3,r16
   48b58:	003f2a06 	br	48804 <__alt_data_end+0xfffe1704>
   48b5c:	9005883a 	mov	r2,r18
   48b60:	a007883a 	mov	r3,r20
   48b64:	003f3e06 	br	48860 <__alt_data_end+0xfffe1760>
   48b68:	90bfda36 	bltu	r18,r2,48ad4 <__alt_data_end+0xfffe19d4>
   48b6c:	102d883a 	mov	r22,r2
   48b70:	0007883a 	mov	r3,zero
   48b74:	003fa206 	br	48a00 <__alt_data_end+0xfffe1900>

00048b78 <_fpadd_parts>:
   48b78:	2005883a 	mov	r2,r4
   48b7c:	21000017 	ldw	r4,0(r4)
   48b80:	01c00044 	movi	r7,1
   48b84:	3900622e 	bgeu	r7,r4,48d10 <_fpadd_parts+0x198>
   48b88:	28c00017 	ldw	r3,0(r5)
   48b8c:	38c05f2e 	bgeu	r7,r3,48d0c <_fpadd_parts+0x194>
   48b90:	01c00104 	movi	r7,4
   48b94:	21c0c626 	beq	r4,r7,48eb0 <_fpadd_parts+0x338>
   48b98:	19c05c26 	beq	r3,r7,48d0c <_fpadd_parts+0x194>
   48b9c:	01c00084 	movi	r7,2
   48ba0:	19c06b26 	beq	r3,r7,48d50 <_fpadd_parts+0x1d8>
   48ba4:	21c05926 	beq	r4,r7,48d0c <_fpadd_parts+0x194>
   48ba8:	11c00217 	ldw	r7,8(r2)
   48bac:	2ac00217 	ldw	r11,8(r5)
   48bb0:	13000317 	ldw	r12,12(r2)
   48bb4:	13400417 	ldw	r13,16(r2)
   48bb8:	3ac9c83a 	sub	r4,r7,r11
   48bbc:	2a000317 	ldw	r8,12(r5)
   48bc0:	2a400417 	ldw	r9,16(r5)
   48bc4:	2015883a 	mov	r10,r4
   48bc8:	20007516 	blt	r4,zero,48da0 <_fpadd_parts+0x228>
   48bcc:	00c00fc4 	movi	r3,63
   48bd0:	1a805016 	blt	r3,r10,48d14 <_fpadd_parts+0x19c>
   48bd4:	0100870e 	bge	zero,r4,48df4 <_fpadd_parts+0x27c>
   48bd8:	50fff804 	addi	r3,r10,-32
   48bdc:	18009916 	blt	r3,zero,48e44 <_fpadd_parts+0x2cc>
   48be0:	48d6d83a 	srl	r11,r9,r3
   48be4:	001d883a 	mov	r14,zero
   48be8:	18009e16 	blt	r3,zero,48e64 <_fpadd_parts+0x2ec>
   48bec:	01000044 	movi	r4,1
   48bf0:	20c6983a 	sll	r3,r4,r3
   48bf4:	0015883a 	mov	r10,zero
   48bf8:	513fffc4 	addi	r4,r10,-1
   48bfc:	2295403a 	cmpgeu	r10,r4,r10
   48c00:	1a87c83a 	sub	r3,r3,r10
   48c04:	1a52703a 	and	r9,r3,r9
   48c08:	2210703a 	and	r8,r4,r8
   48c0c:	4250b03a 	or	r8,r8,r9
   48c10:	4010c03a 	cmpne	r8,r8,zero
   48c14:	42d0b03a 	or	r8,r8,r11
   48c18:	7013883a 	mov	r9,r14
   48c1c:	11000117 	ldw	r4,4(r2)
   48c20:	28800117 	ldw	r2,4(r5)
   48c24:	20804126 	beq	r4,r2,48d2c <_fpadd_parts+0x1b4>
   48c28:	20006326 	beq	r4,zero,48db8 <_fpadd_parts+0x240>
   48c2c:	4305c83a 	sub	r2,r8,r12
   48c30:	4091803a 	cmpltu	r8,r8,r2
   48c34:	4b47c83a 	sub	r3,r9,r13
   48c38:	1a07c83a 	sub	r3,r3,r8
   48c3c:	18006316 	blt	r3,zero,48dcc <_fpadd_parts+0x254>
   48c40:	30000115 	stw	zero,4(r6)
   48c44:	31c00215 	stw	r7,8(r6)
   48c48:	30800315 	stw	r2,12(r6)
   48c4c:	30c00415 	stw	r3,16(r6)
   48c50:	11ffffc4 	addi	r7,r2,-1
   48c54:	388b403a 	cmpgeu	r5,r7,r2
   48c58:	194bc83a 	sub	r5,r3,r5
   48c5c:	01040034 	movhi	r4,4096
   48c60:	213fffc4 	addi	r4,r4,-1
   48c64:	21401736 	bltu	r4,r5,48cc4 <_fpadd_parts+0x14c>
   48c68:	29008226 	beq	r5,r4,48e74 <_fpadd_parts+0x2fc>
   48c6c:	31400217 	ldw	r5,8(r6)
   48c70:	02840034 	movhi	r10,4096
   48c74:	52bfffc4 	addi	r10,r10,-1
   48c78:	033fff84 	movi	r12,-2
   48c7c:	297fffc4 	addi	r5,r5,-1
   48c80:	00000106 	br	48c88 <_fpadd_parts+0x110>
   48c84:	3a804a26 	beq	r7,r10,48db0 <_fpadd_parts+0x238>
   48c88:	1089883a 	add	r4,r2,r2
   48c8c:	2091803a 	cmpltu	r8,r4,r2
   48c90:	18c7883a 	add	r3,r3,r3
   48c94:	227fffc4 	addi	r9,r4,-1
   48c98:	40d1883a 	add	r8,r8,r3
   48c9c:	490f403a 	cmpgeu	r7,r9,r4
   48ca0:	41cfc83a 	sub	r7,r8,r7
   48ca4:	2817883a 	mov	r11,r5
   48ca8:	2005883a 	mov	r2,r4
   48cac:	4007883a 	mov	r3,r8
   48cb0:	297fffc4 	addi	r5,r5,-1
   48cb4:	51fff32e 	bgeu	r10,r7,48c84 <__alt_data_end+0xfffe1b84>
   48cb8:	31000315 	stw	r4,12(r6)
   48cbc:	32000415 	stw	r8,16(r6)
   48cc0:	32c00215 	stw	r11,8(r6)
   48cc4:	010000c4 	movi	r4,3
   48cc8:	31000015 	stw	r4,0(r6)
   48ccc:	01080034 	movhi	r4,8192
   48cd0:	213fffc4 	addi	r4,r4,-1
   48cd4:	20c00b2e 	bgeu	r4,r3,48d04 <_fpadd_parts+0x18c>
   48cd8:	180e97fa 	slli	r7,r3,31
   48cdc:	1008d07a 	srli	r4,r2,1
   48ce0:	31400217 	ldw	r5,8(r6)
   48ce4:	1806d07a 	srli	r3,r3,1
   48ce8:	1080004c 	andi	r2,r2,1
   48cec:	3908b03a 	or	r4,r7,r4
   48cf0:	1108b03a 	or	r4,r2,r4
   48cf4:	29400044 	addi	r5,r5,1
   48cf8:	31000315 	stw	r4,12(r6)
   48cfc:	30c00415 	stw	r3,16(r6)
   48d00:	31400215 	stw	r5,8(r6)
   48d04:	3005883a 	mov	r2,r6
   48d08:	f800283a 	ret
   48d0c:	2805883a 	mov	r2,r5
   48d10:	f800283a 	ret
   48d14:	59c01e0e 	bge	r11,r7,48d90 <_fpadd_parts+0x218>
   48d18:	11000117 	ldw	r4,4(r2)
   48d1c:	28800117 	ldw	r2,4(r5)
   48d20:	0011883a 	mov	r8,zero
   48d24:	0013883a 	mov	r9,zero
   48d28:	20bfbf1e 	bne	r4,r2,48c28 <__alt_data_end+0xfffe1b28>
   48d2c:	4305883a 	add	r2,r8,r12
   48d30:	1207803a 	cmpltu	r3,r2,r8
   48d34:	4b53883a 	add	r9,r9,r13
   48d38:	1a47883a 	add	r3,r3,r9
   48d3c:	31000115 	stw	r4,4(r6)
   48d40:	31c00215 	stw	r7,8(r6)
   48d44:	30800315 	stw	r2,12(r6)
   48d48:	30c00415 	stw	r3,16(r6)
   48d4c:	003fdd06 	br	48cc4 <__alt_data_end+0xfffe1bc4>
   48d50:	20ffef1e 	bne	r4,r3,48d10 <__alt_data_end+0xfffe1c10>
   48d54:	31000015 	stw	r4,0(r6)
   48d58:	10c00117 	ldw	r3,4(r2)
   48d5c:	30c00115 	stw	r3,4(r6)
   48d60:	10c00217 	ldw	r3,8(r2)
   48d64:	11000117 	ldw	r4,4(r2)
   48d68:	29400117 	ldw	r5,4(r5)
   48d6c:	30c00215 	stw	r3,8(r6)
   48d70:	10c00317 	ldw	r3,12(r2)
   48d74:	2908703a 	and	r4,r5,r4
   48d78:	30c00315 	stw	r3,12(r6)
   48d7c:	10c00417 	ldw	r3,16(r2)
   48d80:	31000115 	stw	r4,4(r6)
   48d84:	3005883a 	mov	r2,r6
   48d88:	30c00415 	stw	r3,16(r6)
   48d8c:	f800283a 	ret
   48d90:	580f883a 	mov	r7,r11
   48d94:	0019883a 	mov	r12,zero
   48d98:	001b883a 	mov	r13,zero
   48d9c:	003f9f06 	br	48c1c <__alt_data_end+0xfffe1b1c>
   48da0:	0115c83a 	sub	r10,zero,r4
   48da4:	00c00fc4 	movi	r3,63
   48da8:	1abfda16 	blt	r3,r10,48d14 <__alt_data_end+0xfffe1c14>
   48dac:	003f8906 	br	48bd4 <__alt_data_end+0xfffe1ad4>
   48db0:	627fb52e 	bgeu	r12,r9,48c88 <__alt_data_end+0xfffe1b88>
   48db4:	003fc006 	br	48cb8 <__alt_data_end+0xfffe1bb8>
   48db8:	6205c83a 	sub	r2,r12,r8
   48dbc:	6099803a 	cmpltu	r12,r12,r2
   48dc0:	6a47c83a 	sub	r3,r13,r9
   48dc4:	1b07c83a 	sub	r3,r3,r12
   48dc8:	183f9d0e 	bge	r3,zero,48c40 <__alt_data_end+0xfffe1b40>
   48dcc:	0085c83a 	sub	r2,zero,r2
   48dd0:	1008c03a 	cmpne	r4,r2,zero
   48dd4:	00c7c83a 	sub	r3,zero,r3
   48dd8:	1907c83a 	sub	r3,r3,r4
   48ddc:	01000044 	movi	r4,1
   48de0:	31000115 	stw	r4,4(r6)
   48de4:	31c00215 	stw	r7,8(r6)
   48de8:	30800315 	stw	r2,12(r6)
   48dec:	30c00415 	stw	r3,16(r6)
   48df0:	003f9706 	br	48c50 <__alt_data_end+0xfffe1b50>
   48df4:	203f8926 	beq	r4,zero,48c1c <__alt_data_end+0xfffe1b1c>
   48df8:	50fff804 	addi	r3,r10,-32
   48dfc:	3a8f883a 	add	r7,r7,r10
   48e00:	18002316 	blt	r3,zero,48e90 <_fpadd_parts+0x318>
   48e04:	68d6d83a 	srl	r11,r13,r3
   48e08:	001d883a 	mov	r14,zero
   48e0c:	18001c16 	blt	r3,zero,48e80 <_fpadd_parts+0x308>
   48e10:	01000044 	movi	r4,1
   48e14:	20c6983a 	sll	r3,r4,r3
   48e18:	0015883a 	mov	r10,zero
   48e1c:	513fffc4 	addi	r4,r10,-1
   48e20:	2295403a 	cmpgeu	r10,r4,r10
   48e24:	1a87c83a 	sub	r3,r3,r10
   48e28:	1b5a703a 	and	r13,r3,r13
   48e2c:	2318703a 	and	r12,r4,r12
   48e30:	6358b03a 	or	r12,r12,r13
   48e34:	6018c03a 	cmpne	r12,r12,zero
   48e38:	62d8b03a 	or	r12,r12,r11
   48e3c:	701b883a 	mov	r13,r14
   48e40:	003f7606 	br	48c1c <__alt_data_end+0xfffe1b1c>
   48e44:	4808907a 	slli	r4,r9,1
   48e48:	02c007c4 	movi	r11,31
   48e4c:	5a97c83a 	sub	r11,r11,r10
   48e50:	22c8983a 	sll	r4,r4,r11
   48e54:	4296d83a 	srl	r11,r8,r10
   48e58:	4a9cd83a 	srl	r14,r9,r10
   48e5c:	22d6b03a 	or	r11,r4,r11
   48e60:	003f6106 	br	48be8 <__alt_data_end+0xfffe1ae8>
   48e64:	00c00044 	movi	r3,1
   48e68:	1a94983a 	sll	r10,r3,r10
   48e6c:	0007883a 	mov	r3,zero
   48e70:	003f6106 	br	48bf8 <__alt_data_end+0xfffe1af8>
   48e74:	013fff84 	movi	r4,-2
   48e78:	21ff7c2e 	bgeu	r4,r7,48c6c <__alt_data_end+0xfffe1b6c>
   48e7c:	003f9106 	br	48cc4 <__alt_data_end+0xfffe1bc4>
   48e80:	00c00044 	movi	r3,1
   48e84:	1a94983a 	sll	r10,r3,r10
   48e88:	0007883a 	mov	r3,zero
   48e8c:	003fe306 	br	48e1c <__alt_data_end+0xfffe1d1c>
   48e90:	6816907a 	slli	r11,r13,1
   48e94:	010007c4 	movi	r4,31
   48e98:	2289c83a 	sub	r4,r4,r10
   48e9c:	5908983a 	sll	r4,r11,r4
   48ea0:	6296d83a 	srl	r11,r12,r10
   48ea4:	6a9cd83a 	srl	r14,r13,r10
   48ea8:	22d6b03a 	or	r11,r4,r11
   48eac:	003fd706 	br	48e0c <__alt_data_end+0xfffe1d0c>
   48eb0:	193f971e 	bne	r3,r4,48d10 <__alt_data_end+0xfffe1c10>
   48eb4:	11000117 	ldw	r4,4(r2)
   48eb8:	28c00117 	ldw	r3,4(r5)
   48ebc:	20ff9426 	beq	r4,r3,48d10 <__alt_data_end+0xfffe1c10>
   48ec0:	00800174 	movhi	r2,5
   48ec4:	10b07d04 	addi	r2,r2,-15884
   48ec8:	f800283a 	ret

00048ecc <__adddf3>:
   48ecc:	deffec04 	addi	sp,sp,-80
   48ed0:	d9001115 	stw	r4,68(sp)
   48ed4:	d9401215 	stw	r5,72(sp)
   48ed8:	d9001104 	addi	r4,sp,68
   48edc:	d9400a04 	addi	r5,sp,40
   48ee0:	dfc01315 	stw	ra,76(sp)
   48ee4:	d9c01015 	stw	r7,64(sp)
   48ee8:	d9800f15 	stw	r6,60(sp)
   48eec:	0040b180 	call	40b18 <__unpack_d>
   48ef0:	d9000f04 	addi	r4,sp,60
   48ef4:	d9400504 	addi	r5,sp,20
   48ef8:	0040b180 	call	40b18 <__unpack_d>
   48efc:	d9000a04 	addi	r4,sp,40
   48f00:	d9400504 	addi	r5,sp,20
   48f04:	d80d883a 	mov	r6,sp
   48f08:	0048b780 	call	48b78 <_fpadd_parts>
   48f0c:	1009883a 	mov	r4,r2
   48f10:	00408f40 	call	408f4 <__pack_d>
   48f14:	dfc01317 	ldw	ra,76(sp)
   48f18:	dec01404 	addi	sp,sp,80
   48f1c:	f800283a 	ret

00048f20 <__subdf3>:
   48f20:	deffec04 	addi	sp,sp,-80
   48f24:	d9001115 	stw	r4,68(sp)
   48f28:	d9401215 	stw	r5,72(sp)
   48f2c:	d9001104 	addi	r4,sp,68
   48f30:	d9400a04 	addi	r5,sp,40
   48f34:	dfc01315 	stw	ra,76(sp)
   48f38:	d9c01015 	stw	r7,64(sp)
   48f3c:	d9800f15 	stw	r6,60(sp)
   48f40:	0040b180 	call	40b18 <__unpack_d>
   48f44:	d9000f04 	addi	r4,sp,60
   48f48:	d9400504 	addi	r5,sp,20
   48f4c:	0040b180 	call	40b18 <__unpack_d>
   48f50:	d8800617 	ldw	r2,24(sp)
   48f54:	d9000a04 	addi	r4,sp,40
   48f58:	d9400504 	addi	r5,sp,20
   48f5c:	d80d883a 	mov	r6,sp
   48f60:	1080005c 	xori	r2,r2,1
   48f64:	d8800615 	stw	r2,24(sp)
   48f68:	0048b780 	call	48b78 <_fpadd_parts>
   48f6c:	1009883a 	mov	r4,r2
   48f70:	00408f40 	call	408f4 <__pack_d>
   48f74:	dfc01317 	ldw	ra,76(sp)
   48f78:	dec01404 	addi	sp,sp,80
   48f7c:	f800283a 	ret

00048f80 <__muldf3>:
   48f80:	deffe404 	addi	sp,sp,-112
   48f84:	d9001115 	stw	r4,68(sp)
   48f88:	d9401215 	stw	r5,72(sp)
   48f8c:	d9001104 	addi	r4,sp,68
   48f90:	d9400a04 	addi	r5,sp,40
   48f94:	dfc01b15 	stw	ra,108(sp)
   48f98:	d9800f15 	stw	r6,60(sp)
   48f9c:	d9c01015 	stw	r7,64(sp)
   48fa0:	ddc01a15 	stw	r23,104(sp)
   48fa4:	dd801915 	stw	r22,100(sp)
   48fa8:	dd401815 	stw	r21,96(sp)
   48fac:	dd001715 	stw	r20,92(sp)
   48fb0:	dcc01615 	stw	r19,88(sp)
   48fb4:	dc801515 	stw	r18,84(sp)
   48fb8:	dc401415 	stw	r17,80(sp)
   48fbc:	dc001315 	stw	r16,76(sp)
   48fc0:	0040b180 	call	40b18 <__unpack_d>
   48fc4:	d9000f04 	addi	r4,sp,60
   48fc8:	d9400504 	addi	r5,sp,20
   48fcc:	0040b180 	call	40b18 <__unpack_d>
   48fd0:	d8c00a17 	ldw	r3,40(sp)
   48fd4:	00800044 	movi	r2,1
   48fd8:	10c01136 	bltu	r2,r3,49020 <__muldf3+0xa0>
   48fdc:	d8c00b17 	ldw	r3,44(sp)
   48fe0:	d8800617 	ldw	r2,24(sp)
   48fe4:	d9000a04 	addi	r4,sp,40
   48fe8:	1884c03a 	cmpne	r2,r3,r2
   48fec:	d8800b15 	stw	r2,44(sp)
   48ff0:	00408f40 	call	408f4 <__pack_d>
   48ff4:	dfc01b17 	ldw	ra,108(sp)
   48ff8:	ddc01a17 	ldw	r23,104(sp)
   48ffc:	dd801917 	ldw	r22,100(sp)
   49000:	dd401817 	ldw	r21,96(sp)
   49004:	dd001717 	ldw	r20,92(sp)
   49008:	dcc01617 	ldw	r19,88(sp)
   4900c:	dc801517 	ldw	r18,84(sp)
   49010:	dc401417 	ldw	r17,80(sp)
   49014:	dc001317 	ldw	r16,76(sp)
   49018:	dec01c04 	addi	sp,sp,112
   4901c:	f800283a 	ret
   49020:	d9000517 	ldw	r4,20(sp)
   49024:	11000636 	bltu	r2,r4,49040 <__muldf3+0xc0>
   49028:	d8800617 	ldw	r2,24(sp)
   4902c:	d8c00b17 	ldw	r3,44(sp)
   49030:	d9000504 	addi	r4,sp,20
   49034:	1884c03a 	cmpne	r2,r3,r2
   49038:	d8800615 	stw	r2,24(sp)
   4903c:	003fec06 	br	48ff0 <__alt_data_end+0xfffe1ef0>
   49040:	00800104 	movi	r2,4
   49044:	1880051e 	bne	r3,r2,4905c <__muldf3+0xdc>
   49048:	00800084 	movi	r2,2
   4904c:	20bfe31e 	bne	r4,r2,48fdc <__alt_data_end+0xfffe1edc>
   49050:	01000174 	movhi	r4,5
   49054:	21307d04 	addi	r4,r4,-15884
   49058:	003fe506 	br	48ff0 <__alt_data_end+0xfffe1ef0>
   4905c:	2080031e 	bne	r4,r2,4906c <__muldf3+0xec>
   49060:	00800084 	movi	r2,2
   49064:	18bffa26 	beq	r3,r2,49050 <__alt_data_end+0xfffe1f50>
   49068:	003fef06 	br	49028 <__alt_data_end+0xfffe1f28>
   4906c:	00800084 	movi	r2,2
   49070:	18bfda26 	beq	r3,r2,48fdc <__alt_data_end+0xfffe1edc>
   49074:	20bfec26 	beq	r4,r2,49028 <__alt_data_end+0xfffe1f28>
   49078:	dc000d17 	ldw	r16,52(sp)
   4907c:	dd000817 	ldw	r20,32(sp)
   49080:	dc800917 	ldw	r18,36(sp)
   49084:	8009883a 	mov	r4,r16
   49088:	000b883a 	mov	r5,zero
   4908c:	a00d883a 	mov	r6,r20
   49090:	000f883a 	mov	r7,zero
   49094:	00498240 	call	49824 <__muldi3>
   49098:	dc400e17 	ldw	r17,56(sp)
   4909c:	9009883a 	mov	r4,r18
   490a0:	800d883a 	mov	r6,r16
   490a4:	000b883a 	mov	r5,zero
   490a8:	000f883a 	mov	r7,zero
   490ac:	102f883a 	mov	r23,r2
   490b0:	1827883a 	mov	r19,r3
   490b4:	00498240 	call	49824 <__muldi3>
   490b8:	900d883a 	mov	r6,r18
   490bc:	8809883a 	mov	r4,r17
   490c0:	000b883a 	mov	r5,zero
   490c4:	000f883a 	mov	r7,zero
   490c8:	102b883a 	mov	r21,r2
   490cc:	1821883a 	mov	r16,r3
   490d0:	00498240 	call	49824 <__muldi3>
   490d4:	8809883a 	mov	r4,r17
   490d8:	000b883a 	mov	r5,zero
   490dc:	a00d883a 	mov	r6,r20
   490e0:	000f883a 	mov	r7,zero
   490e4:	102d883a 	mov	r22,r2
   490e8:	1825883a 	mov	r18,r3
   490ec:	00498240 	call	49824 <__muldi3>
   490f0:	154b883a 	add	r5,r2,r21
   490f4:	2889803a 	cmpltu	r4,r5,r2
   490f8:	1c07883a 	add	r3,r3,r16
   490fc:	20c9883a 	add	r4,r4,r3
   49100:	24004b36 	bltu	r4,r16,49230 <__muldf3+0x2b0>
   49104:	8100011e 	bne	r16,r4,4910c <__muldf3+0x18c>
   49108:	2d404936 	bltu	r5,r21,49230 <__muldf3+0x2b0>
   4910c:	0011883a 	mov	r8,zero
   49110:	0007883a 	mov	r3,zero
   49114:	2ccb883a 	add	r5,r5,r19
   49118:	b80d883a 	mov	r6,r23
   4911c:	2cc0012e 	bgeu	r5,r19,49124 <__muldf3+0x1a4>
   49120:	02000044 	movi	r8,1
   49124:	258f883a 	add	r7,r4,r22
   49128:	3909803a 	cmpltu	r4,r7,r4
   4912c:	da400c17 	ldw	r9,48(sp)
   49130:	2489883a 	add	r4,r4,r18
   49134:	d8800717 	ldw	r2,28(sp)
   49138:	20c9883a 	add	r4,r4,r3
   4913c:	da800b17 	ldw	r10,44(sp)
   49140:	d8c00617 	ldw	r3,24(sp)
   49144:	3a11883a 	add	r8,r7,r8
   49148:	4885883a 	add	r2,r9,r2
   4914c:	50c6c03a 	cmpne	r3,r10,r3
   49150:	41cf803a 	cmpltu	r7,r8,r7
   49154:	12400104 	addi	r9,r2,4
   49158:	d8c00115 	stw	r3,4(sp)
   4915c:	3909883a 	add	r4,r7,r4
   49160:	da400215 	stw	r9,8(sp)
   49164:	03480034 	movhi	r13,8192
   49168:	6b7fffc4 	addi	r13,r13,-1
   4916c:	4007883a 	mov	r3,r8
   49170:	6900102e 	bgeu	r13,r4,491b4 <__muldf3+0x234>
   49174:	10800144 	addi	r2,r2,5
   49178:	180ed07a 	srli	r7,r3,1
   4917c:	18c0004c 	andi	r3,r3,1
   49180:	201097fa 	slli	r8,r4,31
   49184:	281697fa 	slli	r11,r5,31
   49188:	2008d07a 	srli	r4,r4,1
   4918c:	3014d07a 	srli	r10,r6,1
   49190:	2812d07a 	srli	r9,r5,1
   49194:	1019883a 	mov	r12,r2
   49198:	18000226 	beq	r3,zero,491a4 <__muldf3+0x224>
   4919c:	5a8cb03a 	or	r6,r11,r10
   491a0:	49600034 	orhi	r5,r9,32768
   491a4:	41c6b03a 	or	r3,r8,r7
   491a8:	10800044 	addi	r2,r2,1
   491ac:	693ff236 	bltu	r13,r4,49178 <__alt_data_end+0xfffe2078>
   491b0:	db000215 	stw	r12,8(sp)
   491b4:	03440034 	movhi	r13,4096
   491b8:	6b7fffc4 	addi	r13,r13,-1
   491bc:	69001336 	bltu	r13,r4,4920c <__muldf3+0x28c>
   491c0:	d8800217 	ldw	r2,8(sp)
   491c4:	10bfffc4 	addi	r2,r2,-1
   491c8:	18d3883a 	add	r9,r3,r3
   491cc:	48c7803a 	cmpltu	r3,r9,r3
   491d0:	2109883a 	add	r4,r4,r4
   491d4:	190f883a 	add	r7,r3,r4
   491d8:	3191883a 	add	r8,r6,r6
   491dc:	4197803a 	cmpltu	r11,r8,r6
   491e0:	2955883a 	add	r10,r5,r5
   491e4:	1019883a 	mov	r12,r2
   491e8:	4807883a 	mov	r3,r9
   491ec:	3809883a 	mov	r4,r7
   491f0:	2800010e 	bge	r5,zero,491f8 <__muldf3+0x278>
   491f4:	48c00054 	ori	r3,r9,1
   491f8:	400d883a 	mov	r6,r8
   491fc:	5a8b883a 	add	r5,r11,r10
   49200:	10bfffc4 	addi	r2,r2,-1
   49204:	69fff02e 	bgeu	r13,r7,491c8 <__alt_data_end+0xfffe20c8>
   49208:	db000215 	stw	r12,8(sp)
   4920c:	18803fcc 	andi	r2,r3,255
   49210:	01c02004 	movi	r7,128
   49214:	11c00926 	beq	r2,r7,4923c <__muldf3+0x2bc>
   49218:	008000c4 	movi	r2,3
   4921c:	d9000415 	stw	r4,16(sp)
   49220:	d8c00315 	stw	r3,12(sp)
   49224:	d8800015 	stw	r2,0(sp)
   49228:	d809883a 	mov	r4,sp
   4922c:	003f7006 	br	48ff0 <__alt_data_end+0xfffe1ef0>
   49230:	0011883a 	mov	r8,zero
   49234:	00c00044 	movi	r3,1
   49238:	003fb606 	br	49114 <__alt_data_end+0xfffe2014>
   4923c:	19c0400c 	andi	r7,r3,256
   49240:	383ff51e 	bne	r7,zero,49218 <__alt_data_end+0xfffe2118>
   49244:	314ab03a 	or	r5,r6,r5
   49248:	283ff326 	beq	r5,zero,49218 <__alt_data_end+0xfffe2118>
   4924c:	1885883a 	add	r2,r3,r2
   49250:	10cb803a 	cmpltu	r5,r2,r3
   49254:	00ffc004 	movi	r3,-256
   49258:	10c6703a 	and	r3,r2,r3
   4925c:	2909883a 	add	r4,r5,r4
   49260:	003fed06 	br	49218 <__alt_data_end+0xfffe2118>

00049264 <__eqdf2>:
   49264:	defff104 	addi	sp,sp,-60
   49268:	d9000c15 	stw	r4,48(sp)
   4926c:	d9400d15 	stw	r5,52(sp)
   49270:	d9000c04 	addi	r4,sp,48
   49274:	d9400504 	addi	r5,sp,20
   49278:	dfc00e15 	stw	ra,56(sp)
   4927c:	d9800a15 	stw	r6,40(sp)
   49280:	d9c00b15 	stw	r7,44(sp)
   49284:	0040b180 	call	40b18 <__unpack_d>
   49288:	d9000a04 	addi	r4,sp,40
   4928c:	d80b883a 	mov	r5,sp
   49290:	0040b180 	call	40b18 <__unpack_d>
   49294:	d8c00517 	ldw	r3,20(sp)
   49298:	00800044 	movi	r2,1
   4929c:	10c0052e 	bgeu	r2,r3,492b4 <__eqdf2+0x50>
   492a0:	d8c00017 	ldw	r3,0(sp)
   492a4:	10c0032e 	bgeu	r2,r3,492b4 <__eqdf2+0x50>
   492a8:	d9000504 	addi	r4,sp,20
   492ac:	d80b883a 	mov	r5,sp
   492b0:	00498840 	call	49884 <__fpcmp_parts_d>
   492b4:	dfc00e17 	ldw	ra,56(sp)
   492b8:	dec00f04 	addi	sp,sp,60
   492bc:	f800283a 	ret

000492c0 <__nedf2>:
   492c0:	defff104 	addi	sp,sp,-60
   492c4:	d9000c15 	stw	r4,48(sp)
   492c8:	d9400d15 	stw	r5,52(sp)
   492cc:	d9000c04 	addi	r4,sp,48
   492d0:	d9400504 	addi	r5,sp,20
   492d4:	dfc00e15 	stw	ra,56(sp)
   492d8:	d9800a15 	stw	r6,40(sp)
   492dc:	d9c00b15 	stw	r7,44(sp)
   492e0:	0040b180 	call	40b18 <__unpack_d>
   492e4:	d9000a04 	addi	r4,sp,40
   492e8:	d80b883a 	mov	r5,sp
   492ec:	0040b180 	call	40b18 <__unpack_d>
   492f0:	d8c00517 	ldw	r3,20(sp)
   492f4:	00800044 	movi	r2,1
   492f8:	10c0052e 	bgeu	r2,r3,49310 <__nedf2+0x50>
   492fc:	d8c00017 	ldw	r3,0(sp)
   49300:	10c0032e 	bgeu	r2,r3,49310 <__nedf2+0x50>
   49304:	d9000504 	addi	r4,sp,20
   49308:	d80b883a 	mov	r5,sp
   4930c:	00498840 	call	49884 <__fpcmp_parts_d>
   49310:	dfc00e17 	ldw	ra,56(sp)
   49314:	dec00f04 	addi	sp,sp,60
   49318:	f800283a 	ret

0004931c <__gtdf2>:
   4931c:	defff104 	addi	sp,sp,-60
   49320:	d9000c15 	stw	r4,48(sp)
   49324:	d9400d15 	stw	r5,52(sp)
   49328:	d9000c04 	addi	r4,sp,48
   4932c:	d9400504 	addi	r5,sp,20
   49330:	dfc00e15 	stw	ra,56(sp)
   49334:	d9800a15 	stw	r6,40(sp)
   49338:	d9c00b15 	stw	r7,44(sp)
   4933c:	0040b180 	call	40b18 <__unpack_d>
   49340:	d9000a04 	addi	r4,sp,40
   49344:	d80b883a 	mov	r5,sp
   49348:	0040b180 	call	40b18 <__unpack_d>
   4934c:	d8c00517 	ldw	r3,20(sp)
   49350:	00800044 	movi	r2,1
   49354:	10c0082e 	bgeu	r2,r3,49378 <__gtdf2+0x5c>
   49358:	d8c00017 	ldw	r3,0(sp)
   4935c:	10c0062e 	bgeu	r2,r3,49378 <__gtdf2+0x5c>
   49360:	d9000504 	addi	r4,sp,20
   49364:	d80b883a 	mov	r5,sp
   49368:	00498840 	call	49884 <__fpcmp_parts_d>
   4936c:	dfc00e17 	ldw	ra,56(sp)
   49370:	dec00f04 	addi	sp,sp,60
   49374:	f800283a 	ret
   49378:	00bfffc4 	movi	r2,-1
   4937c:	003ffb06 	br	4936c <__alt_data_end+0xfffe226c>

00049380 <__gedf2>:
   49380:	defff104 	addi	sp,sp,-60
   49384:	d9000c15 	stw	r4,48(sp)
   49388:	d9400d15 	stw	r5,52(sp)
   4938c:	d9000c04 	addi	r4,sp,48
   49390:	d9400504 	addi	r5,sp,20
   49394:	dfc00e15 	stw	ra,56(sp)
   49398:	d9800a15 	stw	r6,40(sp)
   4939c:	d9c00b15 	stw	r7,44(sp)
   493a0:	0040b180 	call	40b18 <__unpack_d>
   493a4:	d9000a04 	addi	r4,sp,40
   493a8:	d80b883a 	mov	r5,sp
   493ac:	0040b180 	call	40b18 <__unpack_d>
   493b0:	d8c00517 	ldw	r3,20(sp)
   493b4:	00800044 	movi	r2,1
   493b8:	10c0082e 	bgeu	r2,r3,493dc <__gedf2+0x5c>
   493bc:	d8c00017 	ldw	r3,0(sp)
   493c0:	10c0062e 	bgeu	r2,r3,493dc <__gedf2+0x5c>
   493c4:	d9000504 	addi	r4,sp,20
   493c8:	d80b883a 	mov	r5,sp
   493cc:	00498840 	call	49884 <__fpcmp_parts_d>
   493d0:	dfc00e17 	ldw	ra,56(sp)
   493d4:	dec00f04 	addi	sp,sp,60
   493d8:	f800283a 	ret
   493dc:	00bfffc4 	movi	r2,-1
   493e0:	003ffb06 	br	493d0 <__alt_data_end+0xfffe22d0>

000493e4 <__ltdf2>:
   493e4:	defff104 	addi	sp,sp,-60
   493e8:	d9000c15 	stw	r4,48(sp)
   493ec:	d9400d15 	stw	r5,52(sp)
   493f0:	d9000c04 	addi	r4,sp,48
   493f4:	d9400504 	addi	r5,sp,20
   493f8:	dfc00e15 	stw	ra,56(sp)
   493fc:	d9800a15 	stw	r6,40(sp)
   49400:	d9c00b15 	stw	r7,44(sp)
   49404:	0040b180 	call	40b18 <__unpack_d>
   49408:	d9000a04 	addi	r4,sp,40
   4940c:	d80b883a 	mov	r5,sp
   49410:	0040b180 	call	40b18 <__unpack_d>
   49414:	d8c00517 	ldw	r3,20(sp)
   49418:	00800044 	movi	r2,1
   4941c:	10c0052e 	bgeu	r2,r3,49434 <__ltdf2+0x50>
   49420:	d8c00017 	ldw	r3,0(sp)
   49424:	10c0032e 	bgeu	r2,r3,49434 <__ltdf2+0x50>
   49428:	d9000504 	addi	r4,sp,20
   4942c:	d80b883a 	mov	r5,sp
   49430:	00498840 	call	49884 <__fpcmp_parts_d>
   49434:	dfc00e17 	ldw	ra,56(sp)
   49438:	dec00f04 	addi	sp,sp,60
   4943c:	f800283a 	ret

00049440 <__floatsidf>:
   49440:	2004d7fa 	srli	r2,r4,31
   49444:	defff904 	addi	sp,sp,-28
   49448:	00c000c4 	movi	r3,3
   4944c:	dfc00615 	stw	ra,24(sp)
   49450:	dc000515 	stw	r16,20(sp)
   49454:	d8c00015 	stw	r3,0(sp)
   49458:	d8800115 	stw	r2,4(sp)
   4945c:	2000081e 	bne	r4,zero,49480 <__floatsidf+0x40>
   49460:	00800084 	movi	r2,2
   49464:	d8800015 	stw	r2,0(sp)
   49468:	d809883a 	mov	r4,sp
   4946c:	00408f40 	call	408f4 <__pack_d>
   49470:	dfc00617 	ldw	ra,24(sp)
   49474:	dc000517 	ldw	r16,20(sp)
   49478:	dec00704 	addi	sp,sp,28
   4947c:	f800283a 	ret
   49480:	00c00f04 	movi	r3,60
   49484:	d8c00215 	stw	r3,8(sp)
   49488:	10000f1e 	bne	r2,zero,494c8 <__floatsidf+0x88>
   4948c:	2021883a 	mov	r16,r4
   49490:	8009883a 	mov	r4,r16
   49494:	00406540 	call	40654 <__clzsi2>
   49498:	11000744 	addi	r4,r2,29
   4949c:	0100110e 	bge	zero,r4,494e4 <__floatsidf+0xa4>
   494a0:	10ffff44 	addi	r3,r2,-3
   494a4:	18001216 	blt	r3,zero,494f0 <__floatsidf+0xb0>
   494a8:	80c6983a 	sll	r3,r16,r3
   494ac:	0009883a 	mov	r4,zero
   494b0:	014007c4 	movi	r5,31
   494b4:	2885c83a 	sub	r2,r5,r2
   494b8:	d9000315 	stw	r4,12(sp)
   494bc:	d8c00415 	stw	r3,16(sp)
   494c0:	d8800215 	stw	r2,8(sp)
   494c4:	003fe806 	br	49468 <__alt_data_end+0xfffe2368>
   494c8:	00a00034 	movhi	r2,32768
   494cc:	20800e26 	beq	r4,r2,49508 <__floatsidf+0xc8>
   494d0:	0121c83a 	sub	r16,zero,r4
   494d4:	8009883a 	mov	r4,r16
   494d8:	00406540 	call	40654 <__clzsi2>
   494dc:	11000744 	addi	r4,r2,29
   494e0:	013fef16 	blt	zero,r4,494a0 <__alt_data_end+0xfffe23a0>
   494e4:	dc000315 	stw	r16,12(sp)
   494e8:	d8000415 	stw	zero,16(sp)
   494ec:	003fde06 	br	49468 <__alt_data_end+0xfffe2368>
   494f0:	800ad07a 	srli	r5,r16,1
   494f4:	00c007c4 	movi	r3,31
   494f8:	1907c83a 	sub	r3,r3,r4
   494fc:	28c6d83a 	srl	r3,r5,r3
   49500:	8108983a 	sll	r4,r16,r4
   49504:	003fea06 	br	494b0 <__alt_data_end+0xfffe23b0>
   49508:	0005883a 	mov	r2,zero
   4950c:	00f07834 	movhi	r3,49632
   49510:	003fd706 	br	49470 <__alt_data_end+0xfffe2370>

00049514 <__fixdfsi>:
   49514:	defff804 	addi	sp,sp,-32
   49518:	d9000515 	stw	r4,20(sp)
   4951c:	d9400615 	stw	r5,24(sp)
   49520:	d9000504 	addi	r4,sp,20
   49524:	d80b883a 	mov	r5,sp
   49528:	dfc00715 	stw	ra,28(sp)
   4952c:	0040b180 	call	40b18 <__unpack_d>
   49530:	d8800017 	ldw	r2,0(sp)
   49534:	00c00084 	movi	r3,2
   49538:	10c01c26 	beq	r2,r3,495ac <__fixdfsi+0x98>
   4953c:	00c00044 	movi	r3,1
   49540:	18801a2e 	bgeu	r3,r2,495ac <__fixdfsi+0x98>
   49544:	00c00104 	movi	r3,4
   49548:	10c01126 	beq	r2,r3,49590 <__fixdfsi+0x7c>
   4954c:	d8800217 	ldw	r2,8(sp)
   49550:	10001616 	blt	r2,zero,495ac <__fixdfsi+0x98>
   49554:	00c00784 	movi	r3,30
   49558:	18800d16 	blt	r3,r2,49590 <__fixdfsi+0x7c>
   4955c:	00c00f04 	movi	r3,60
   49560:	1885c83a 	sub	r2,r3,r2
   49564:	10fff804 	addi	r3,r2,-32
   49568:	d9400317 	ldw	r5,12(sp)
   4956c:	d9000417 	ldw	r4,16(sp)
   49570:	18001216 	blt	r3,zero,495bc <__fixdfsi+0xa8>
   49574:	20c4d83a 	srl	r2,r4,r3
   49578:	d8c00117 	ldw	r3,4(sp)
   4957c:	18000826 	beq	r3,zero,495a0 <__fixdfsi+0x8c>
   49580:	0085c83a 	sub	r2,zero,r2
   49584:	dfc00717 	ldw	ra,28(sp)
   49588:	dec00804 	addi	sp,sp,32
   4958c:	f800283a 	ret
   49590:	d8800117 	ldw	r2,4(sp)
   49594:	00e00034 	movhi	r3,32768
   49598:	1005003a 	cmpeq	r2,r2,zero
   4959c:	1885c83a 	sub	r2,r3,r2
   495a0:	dfc00717 	ldw	ra,28(sp)
   495a4:	dec00804 	addi	sp,sp,32
   495a8:	f800283a 	ret
   495ac:	0005883a 	mov	r2,zero
   495b0:	dfc00717 	ldw	ra,28(sp)
   495b4:	dec00804 	addi	sp,sp,32
   495b8:	f800283a 	ret
   495bc:	2008907a 	slli	r4,r4,1
   495c0:	018007c4 	movi	r6,31
   495c4:	308dc83a 	sub	r6,r6,r2
   495c8:	2188983a 	sll	r4,r4,r6
   495cc:	2884d83a 	srl	r2,r5,r2
   495d0:	2084b03a 	or	r2,r4,r2
   495d4:	003fe806 	br	49578 <__alt_data_end+0xfffe2478>

000495d8 <__floatunsidf>:
   495d8:	defff904 	addi	sp,sp,-28
   495dc:	dc000515 	stw	r16,20(sp)
   495e0:	dfc00615 	stw	ra,24(sp)
   495e4:	d8000115 	stw	zero,4(sp)
   495e8:	2021883a 	mov	r16,r4
   495ec:	20001726 	beq	r4,zero,4964c <__floatunsidf+0x74>
   495f0:	008000c4 	movi	r2,3
   495f4:	d8800015 	stw	r2,0(sp)
   495f8:	00800f04 	movi	r2,60
   495fc:	d8800215 	stw	r2,8(sp)
   49600:	00406540 	call	40654 <__clzsi2>
   49604:	10c00744 	addi	r3,r2,29
   49608:	18001816 	blt	r3,zero,4966c <__floatunsidf+0x94>
   4960c:	18002d26 	beq	r3,zero,496c4 <__floatunsidf+0xec>
   49610:	113fff44 	addi	r4,r2,-3
   49614:	20002e16 	blt	r4,zero,496d0 <__floatunsidf+0xf8>
   49618:	8108983a 	sll	r4,r16,r4
   4961c:	0021883a 	mov	r16,zero
   49620:	014007c4 	movi	r5,31
   49624:	2885c83a 	sub	r2,r5,r2
   49628:	dc000315 	stw	r16,12(sp)
   4962c:	d9000415 	stw	r4,16(sp)
   49630:	d8800215 	stw	r2,8(sp)
   49634:	d809883a 	mov	r4,sp
   49638:	00408f40 	call	408f4 <__pack_d>
   4963c:	dfc00617 	ldw	ra,24(sp)
   49640:	dc000517 	ldw	r16,20(sp)
   49644:	dec00704 	addi	sp,sp,28
   49648:	f800283a 	ret
   4964c:	00800084 	movi	r2,2
   49650:	d809883a 	mov	r4,sp
   49654:	d8800015 	stw	r2,0(sp)
   49658:	00408f40 	call	408f4 <__pack_d>
   4965c:	dfc00617 	ldw	ra,24(sp)
   49660:	dc000517 	ldw	r16,20(sp)
   49664:	dec00704 	addi	sp,sp,28
   49668:	f800283a 	ret
   4966c:	00c7c83a 	sub	r3,zero,r3
   49670:	193ff804 	addi	r4,r3,-32
   49674:	20001c16 	blt	r4,zero,496e8 <__floatunsidf+0x110>
   49678:	000b883a 	mov	r5,zero
   4967c:	2009d7fa 	srai	r4,r4,31
   49680:	80c6d83a 	srl	r3,r16,r3
   49684:	297fffc4 	addi	r5,r5,-1
   49688:	2c20703a 	and	r16,r5,r16
   4968c:	8020c03a 	cmpne	r16,r16,zero
   49690:	1906703a 	and	r3,r3,r4
   49694:	010007c4 	movi	r4,31
   49698:	80c6b03a 	or	r3,r16,r3
   4969c:	2085c83a 	sub	r2,r4,r2
   496a0:	d809883a 	mov	r4,sp
   496a4:	d8c00315 	stw	r3,12(sp)
   496a8:	d8000415 	stw	zero,16(sp)
   496ac:	d8800215 	stw	r2,8(sp)
   496b0:	00408f40 	call	408f4 <__pack_d>
   496b4:	dfc00617 	ldw	ra,24(sp)
   496b8:	dc000517 	ldw	r16,20(sp)
   496bc:	dec00704 	addi	sp,sp,28
   496c0:	f800283a 	ret
   496c4:	dc000315 	stw	r16,12(sp)
   496c8:	d8000415 	stw	zero,16(sp)
   496cc:	003fd906 	br	49634 <__alt_data_end+0xfffe2534>
   496d0:	800ad07a 	srli	r5,r16,1
   496d4:	010007c4 	movi	r4,31
   496d8:	20c9c83a 	sub	r4,r4,r3
   496dc:	2908d83a 	srl	r4,r5,r4
   496e0:	80e0983a 	sll	r16,r16,r3
   496e4:	003fce06 	br	49620 <__alt_data_end+0xfffe2520>
   496e8:	01400044 	movi	r5,1
   496ec:	28ca983a 	sll	r5,r5,r3
   496f0:	003fe206 	br	4967c <__alt_data_end+0xfffe257c>

000496f4 <udivmodsi4>:
   496f4:	2005883a 	mov	r2,r4
   496f8:	2900182e 	bgeu	r5,r4,4975c <udivmodsi4+0x68>
   496fc:	28001716 	blt	r5,zero,4975c <udivmodsi4+0x68>
   49700:	01000804 	movi	r4,32
   49704:	00c00044 	movi	r3,1
   49708:	00000206 	br	49714 <udivmodsi4+0x20>
   4970c:	20001126 	beq	r4,zero,49754 <udivmodsi4+0x60>
   49710:	28000516 	blt	r5,zero,49728 <udivmodsi4+0x34>
   49714:	294b883a 	add	r5,r5,r5
   49718:	213fffc4 	addi	r4,r4,-1
   4971c:	18c7883a 	add	r3,r3,r3
   49720:	28bffa36 	bltu	r5,r2,4970c <__alt_data_end+0xfffe260c>
   49724:	18000b26 	beq	r3,zero,49754 <udivmodsi4+0x60>
   49728:	0009883a 	mov	r4,zero
   4972c:	11400236 	bltu	r2,r5,49738 <udivmodsi4+0x44>
   49730:	1145c83a 	sub	r2,r2,r5
   49734:	20c8b03a 	or	r4,r4,r3
   49738:	1806d07a 	srli	r3,r3,1
   4973c:	280ad07a 	srli	r5,r5,1
   49740:	183ffa1e 	bne	r3,zero,4972c <__alt_data_end+0xfffe262c>
   49744:	3000021e 	bne	r6,zero,49750 <udivmodsi4+0x5c>
   49748:	2005883a 	mov	r2,r4
   4974c:	f800283a 	ret
   49750:	f800283a 	ret
   49754:	0009883a 	mov	r4,zero
   49758:	003ffa06 	br	49744 <__alt_data_end+0xfffe2644>
   4975c:	00c00044 	movi	r3,1
   49760:	0009883a 	mov	r4,zero
   49764:	003ff106 	br	4972c <__alt_data_end+0xfffe262c>

00049768 <__divsi3>:
   49768:	defffe04 	addi	sp,sp,-8
   4976c:	dfc00115 	stw	ra,4(sp)
   49770:	dc000015 	stw	r16,0(sp)
   49774:	20000a16 	blt	r4,zero,497a0 <__divsi3+0x38>
   49778:	0021883a 	mov	r16,zero
   4977c:	28000b16 	blt	r5,zero,497ac <__divsi3+0x44>
   49780:	000d883a 	mov	r6,zero
   49784:	00496f40 	call	496f4 <udivmodsi4>
   49788:	80000126 	beq	r16,zero,49790 <__divsi3+0x28>
   4978c:	0085c83a 	sub	r2,zero,r2
   49790:	dfc00117 	ldw	ra,4(sp)
   49794:	dc000017 	ldw	r16,0(sp)
   49798:	dec00204 	addi	sp,sp,8
   4979c:	f800283a 	ret
   497a0:	0109c83a 	sub	r4,zero,r4
   497a4:	04000044 	movi	r16,1
   497a8:	283ff50e 	bge	r5,zero,49780 <__alt_data_end+0xfffe2680>
   497ac:	014bc83a 	sub	r5,zero,r5
   497b0:	8400005c 	xori	r16,r16,1
   497b4:	003ff206 	br	49780 <__alt_data_end+0xfffe2680>

000497b8 <__modsi3>:
   497b8:	deffff04 	addi	sp,sp,-4
   497bc:	dfc00015 	stw	ra,0(sp)
   497c0:	20000516 	blt	r4,zero,497d8 <__modsi3+0x20>
   497c4:	28000c16 	blt	r5,zero,497f8 <__modsi3+0x40>
   497c8:	01800044 	movi	r6,1
   497cc:	dfc00017 	ldw	ra,0(sp)
   497d0:	dec00104 	addi	sp,sp,4
   497d4:	00496f41 	jmpi	496f4 <udivmodsi4>
   497d8:	0109c83a 	sub	r4,zero,r4
   497dc:	28000b16 	blt	r5,zero,4980c <__modsi3+0x54>
   497e0:	01800044 	movi	r6,1
   497e4:	00496f40 	call	496f4 <udivmodsi4>
   497e8:	0085c83a 	sub	r2,zero,r2
   497ec:	dfc00017 	ldw	ra,0(sp)
   497f0:	dec00104 	addi	sp,sp,4
   497f4:	f800283a 	ret
   497f8:	014bc83a 	sub	r5,zero,r5
   497fc:	01800044 	movi	r6,1
   49800:	dfc00017 	ldw	ra,0(sp)
   49804:	dec00104 	addi	sp,sp,4
   49808:	00496f41 	jmpi	496f4 <udivmodsi4>
   4980c:	014bc83a 	sub	r5,zero,r5
   49810:	003ff306 	br	497e0 <__alt_data_end+0xfffe26e0>

00049814 <__udivsi3>:
   49814:	000d883a 	mov	r6,zero
   49818:	00496f41 	jmpi	496f4 <udivmodsi4>

0004981c <__umodsi3>:
   4981c:	01800044 	movi	r6,1
   49820:	00496f41 	jmpi	496f4 <udivmodsi4>

00049824 <__muldi3>:
   49824:	20bfffcc 	andi	r2,r4,65535
   49828:	2010d43a 	srli	r8,r4,16
   4982c:	30ffffcc 	andi	r3,r6,65535
   49830:	3014d43a 	srli	r10,r6,16
   49834:	1893383a 	mul	r9,r3,r2
   49838:	1a07383a 	mul	r3,r3,r8
   4983c:	5085383a 	mul	r2,r10,r2
   49840:	4816d43a 	srli	r11,r9,16
   49844:	5211383a 	mul	r8,r10,r8
   49848:	1885883a 	add	r2,r3,r2
   4984c:	12c5883a 	add	r2,r2,r11
   49850:	10c0022e 	bgeu	r2,r3,4985c <__muldi3+0x38>
   49854:	00c00074 	movhi	r3,1
   49858:	40d1883a 	add	r8,r8,r3
   4985c:	1014d43a 	srli	r10,r2,16
   49860:	21c9383a 	mul	r4,r4,r7
   49864:	314d383a 	mul	r6,r6,r5
   49868:	1004943a 	slli	r2,r2,16
   4986c:	4291883a 	add	r8,r8,r10
   49870:	4a7fffcc 	andi	r9,r9,65535
   49874:	2187883a 	add	r3,r4,r6
   49878:	1245883a 	add	r2,r2,r9
   4987c:	1a07883a 	add	r3,r3,r8
   49880:	f800283a 	ret

00049884 <__fpcmp_parts_d>:
   49884:	20c00017 	ldw	r3,0(r4)
   49888:	00800044 	movi	r2,1
   4988c:	10c0142e 	bgeu	r2,r3,498e0 <__fpcmp_parts_d+0x5c>
   49890:	29800017 	ldw	r6,0(r5)
   49894:	1180122e 	bgeu	r2,r6,498e0 <__fpcmp_parts_d+0x5c>
   49898:	01c00104 	movi	r7,4
   4989c:	19c02826 	beq	r3,r7,49940 <__fpcmp_parts_d+0xbc>
   498a0:	31c00926 	beq	r6,r7,498c8 <__fpcmp_parts_d+0x44>
   498a4:	01c00084 	movi	r7,2
   498a8:	19c00626 	beq	r3,r7,498c4 <__fpcmp_parts_d+0x40>
   498ac:	31c00a26 	beq	r6,r7,498d8 <__fpcmp_parts_d+0x54>
   498b0:	20c00117 	ldw	r3,4(r4)
   498b4:	29800117 	ldw	r6,4(r5)
   498b8:	19800b26 	beq	r3,r6,498e8 <__fpcmp_parts_d+0x64>
   498bc:	1800041e 	bne	r3,zero,498d0 <__fpcmp_parts_d+0x4c>
   498c0:	f800283a 	ret
   498c4:	30c01a26 	beq	r6,r3,49930 <__fpcmp_parts_d+0xac>
   498c8:	28800117 	ldw	r2,4(r5)
   498cc:	1000041e 	bne	r2,zero,498e0 <__fpcmp_parts_d+0x5c>
   498d0:	00bfffc4 	movi	r2,-1
   498d4:	f800283a 	ret
   498d8:	20800117 	ldw	r2,4(r4)
   498dc:	103ffc1e 	bne	r2,zero,498d0 <__alt_data_end+0xfffe27d0>
   498e0:	00800044 	movi	r2,1
   498e4:	f800283a 	ret
   498e8:	21c00217 	ldw	r7,8(r4)
   498ec:	29800217 	ldw	r6,8(r5)
   498f0:	31c0020e 	bge	r6,r7,498fc <__fpcmp_parts_d+0x78>
   498f4:	183ff61e 	bne	r3,zero,498d0 <__alt_data_end+0xfffe27d0>
   498f8:	f800283a 	ret
   498fc:	39800a16 	blt	r7,r6,49928 <__fpcmp_parts_d+0xa4>
   49900:	20800417 	ldw	r2,16(r4)
   49904:	29800417 	ldw	r6,16(r5)
   49908:	21c00317 	ldw	r7,12(r4)
   4990c:	29000317 	ldw	r4,12(r5)
   49910:	30800936 	bltu	r6,r2,49938 <__fpcmp_parts_d+0xb4>
   49914:	1180011e 	bne	r2,r6,4991c <__fpcmp_parts_d+0x98>
   49918:	21c00736 	bltu	r4,r7,49938 <__fpcmp_parts_d+0xb4>
   4991c:	11800236 	bltu	r2,r6,49928 <__fpcmp_parts_d+0xa4>
   49920:	3080031e 	bne	r6,r2,49930 <__fpcmp_parts_d+0xac>
   49924:	3900022e 	bgeu	r7,r4,49930 <__fpcmp_parts_d+0xac>
   49928:	183fe926 	beq	r3,zero,498d0 <__alt_data_end+0xfffe27d0>
   4992c:	003fec06 	br	498e0 <__alt_data_end+0xfffe27e0>
   49930:	0005883a 	mov	r2,zero
   49934:	f800283a 	ret
   49938:	183fe926 	beq	r3,zero,498e0 <__alt_data_end+0xfffe27e0>
   4993c:	003fe406 	br	498d0 <__alt_data_end+0xfffe27d0>
   49940:	30ffe51e 	bne	r6,r3,498d8 <__alt_data_end+0xfffe27d8>
   49944:	28c00117 	ldw	r3,4(r5)
   49948:	20800117 	ldw	r2,4(r4)
   4994c:	1885c83a 	sub	r2,r3,r2
   49950:	f800283a 	ret

00049954 <alt_get_errno>:
#undef errno

extern int errno;

static ALT_INLINE int* alt_get_errno(void)
{
   49954:	defffe04 	addi	sp,sp,-8
   49958:	dfc00115 	stw	ra,4(sp)
   4995c:	df000015 	stw	fp,0(sp)
   49960:	d839883a 	mov	fp,sp
  return ((alt_errno) ? alt_errno() : &errno);
   49964:	00800174 	movhi	r2,5
   49968:	10b7d604 	addi	r2,r2,-8360
   4996c:	10800017 	ldw	r2,0(r2)
   49970:	10000526 	beq	r2,zero,49988 <alt_get_errno+0x34>
   49974:	00800174 	movhi	r2,5
   49978:	10b7d604 	addi	r2,r2,-8360
   4997c:	10800017 	ldw	r2,0(r2)
   49980:	103ee83a 	callr	r2
   49984:	00000206 	br	49990 <alt_get_errno+0x3c>
   49988:	00800174 	movhi	r2,5
   4998c:	10be7704 	addi	r2,r2,-1572
}
   49990:	e037883a 	mov	sp,fp
   49994:	dfc00117 	ldw	ra,4(sp)
   49998:	df000017 	ldw	fp,0(sp)
   4999c:	dec00204 	addi	sp,sp,8
   499a0:	f800283a 	ret

000499a4 <close>:
 *
 * ALT_CLOSE is mapped onto the close() system call in alt_syscall.h
 */
 
int ALT_CLOSE (int fildes)
{
   499a4:	defffb04 	addi	sp,sp,-20
   499a8:	dfc00415 	stw	ra,16(sp)
   499ac:	df000315 	stw	fp,12(sp)
   499b0:	df000304 	addi	fp,sp,12
   499b4:	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];
   499b8:	e0bfff17 	ldw	r2,-4(fp)
   499bc:	10000616 	blt	r2,zero,499d8 <close+0x34>
   499c0:	e0bfff17 	ldw	r2,-4(fp)
   499c4:	10c00324 	muli	r3,r2,12
   499c8:	00800174 	movhi	r2,5
   499cc:	10b35404 	addi	r2,r2,-12976
   499d0:	1885883a 	add	r2,r3,r2
   499d4:	00000106 	br	499dc <close+0x38>
   499d8:	0005883a 	mov	r2,zero
   499dc:	e0bffd15 	stw	r2,-12(fp)

  if (fd)
   499e0:	e0bffd17 	ldw	r2,-12(fp)
   499e4:	10001826 	beq	r2,zero,49a48 <close+0xa4>
    /*
     * 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;
   499e8:	e0bffd17 	ldw	r2,-12(fp)
   499ec:	10800017 	ldw	r2,0(r2)
   499f0:	10800417 	ldw	r2,16(r2)
   499f4:	10000626 	beq	r2,zero,49a10 <close+0x6c>
   499f8:	e0bffd17 	ldw	r2,-12(fp)
   499fc:	10800017 	ldw	r2,0(r2)
   49a00:	10800417 	ldw	r2,16(r2)
   49a04:	e13ffd17 	ldw	r4,-12(fp)
   49a08:	103ee83a 	callr	r2
   49a0c:	00000106 	br	49a14 <close+0x70>
   49a10:	0005883a 	mov	r2,zero
   49a14:	e0bffe15 	stw	r2,-8(fp)

    /* Free the file descriptor structure and return. */

    alt_release_fd (fildes);
   49a18:	e13fff17 	ldw	r4,-4(fp)
   49a1c:	004a0880 	call	4a088 <alt_release_fd>
    if (rval < 0)
   49a20:	e0bffe17 	ldw	r2,-8(fp)
   49a24:	1000060e 	bge	r2,zero,49a40 <close+0x9c>
    {
      ALT_ERRNO = -rval;
   49a28:	00499540 	call	49954 <alt_get_errno>
   49a2c:	e0fffe17 	ldw	r3,-8(fp)
   49a30:	00c7c83a 	sub	r3,zero,r3
   49a34:	10c00015 	stw	r3,0(r2)
      return -1;
   49a38:	00bfffc4 	movi	r2,-1
   49a3c:	00000606 	br	49a58 <close+0xb4>
    }
    return 0;
   49a40:	0005883a 	mov	r2,zero
   49a44:	00000406 	br	49a58 <close+0xb4>
  }
  else
  {
    ALT_ERRNO = EBADFD;
   49a48:	00499540 	call	49954 <alt_get_errno>
   49a4c:	00c01444 	movi	r3,81
   49a50:	10c00015 	stw	r3,0(r2)
    return -1;
   49a54:	00bfffc4 	movi	r2,-1
  }
}
   49a58:	e037883a 	mov	sp,fp
   49a5c:	dfc00117 	ldw	ra,4(sp)
   49a60:	df000017 	ldw	fp,0(sp)
   49a64:	dec00204 	addi	sp,sp,8
   49a68:	f800283a 	ret

00049a6c <alt_dev_null_write>:
 * 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)
{
   49a6c:	defffc04 	addi	sp,sp,-16
   49a70:	df000315 	stw	fp,12(sp)
   49a74:	df000304 	addi	fp,sp,12
   49a78:	e13ffd15 	stw	r4,-12(fp)
   49a7c:	e17ffe15 	stw	r5,-8(fp)
   49a80:	e1bfff15 	stw	r6,-4(fp)
  return len;
   49a84:	e0bfff17 	ldw	r2,-4(fp)
}
   49a88:	e037883a 	mov	sp,fp
   49a8c:	df000017 	ldw	fp,0(sp)
   49a90:	dec00104 	addi	sp,sp,4
   49a94:	f800283a 	ret

00049a98 <alt_get_errno>:
#undef errno

extern int errno;

static ALT_INLINE int* alt_get_errno(void)
{
   49a98:	defffe04 	addi	sp,sp,-8
   49a9c:	dfc00115 	stw	ra,4(sp)
   49aa0:	df000015 	stw	fp,0(sp)
   49aa4:	d839883a 	mov	fp,sp
  return ((alt_errno) ? alt_errno() : &errno);
   49aa8:	00800174 	movhi	r2,5
   49aac:	10b7d604 	addi	r2,r2,-8360
   49ab0:	10800017 	ldw	r2,0(r2)
   49ab4:	10000526 	beq	r2,zero,49acc <alt_get_errno+0x34>
   49ab8:	00800174 	movhi	r2,5
   49abc:	10b7d604 	addi	r2,r2,-8360
   49ac0:	10800017 	ldw	r2,0(r2)
   49ac4:	103ee83a 	callr	r2
   49ac8:	00000206 	br	49ad4 <alt_get_errno+0x3c>
   49acc:	00800174 	movhi	r2,5
   49ad0:	10be7704 	addi	r2,r2,-1572
}
   49ad4:	e037883a 	mov	sp,fp
   49ad8:	dfc00117 	ldw	ra,4(sp)
   49adc:	df000017 	ldw	fp,0(sp)
   49ae0:	dec00204 	addi	sp,sp,8
   49ae4:	f800283a 	ret

00049ae8 <fstat>:
}

#else /* !ALT_USE_DIRECT_DRIVERS */

int ALT_FSTAT (int file, struct stat *st)
{
   49ae8:	defffb04 	addi	sp,sp,-20
   49aec:	dfc00415 	stw	ra,16(sp)
   49af0:	df000315 	stw	fp,12(sp)
   49af4:	df000304 	addi	fp,sp,12
   49af8:	e13ffe15 	stw	r4,-8(fp)
   49afc:	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];
   49b00:	e0bffe17 	ldw	r2,-8(fp)
   49b04:	10000616 	blt	r2,zero,49b20 <fstat+0x38>
   49b08:	e0bffe17 	ldw	r2,-8(fp)
   49b0c:	10c00324 	muli	r3,r2,12
   49b10:	00800174 	movhi	r2,5
   49b14:	10b35404 	addi	r2,r2,-12976
   49b18:	1885883a 	add	r2,r3,r2
   49b1c:	00000106 	br	49b24 <fstat+0x3c>
   49b20:	0005883a 	mov	r2,zero
   49b24:	e0bffd15 	stw	r2,-12(fp)
  
  if (fd)
   49b28:	e0bffd17 	ldw	r2,-12(fp)
   49b2c:	10001026 	beq	r2,zero,49b70 <fstat+0x88>
  {
    /* Call the drivers fstat() function to fill out the "st" structure. */

    if (fd->dev->fstat)
   49b30:	e0bffd17 	ldw	r2,-12(fp)
   49b34:	10800017 	ldw	r2,0(r2)
   49b38:	10800817 	ldw	r2,32(r2)
   49b3c:	10000726 	beq	r2,zero,49b5c <fstat+0x74>
    {
      return fd->dev->fstat(fd, st);
   49b40:	e0bffd17 	ldw	r2,-12(fp)
   49b44:	10800017 	ldw	r2,0(r2)
   49b48:	10800817 	ldw	r2,32(r2)
   49b4c:	e13ffd17 	ldw	r4,-12(fp)
   49b50:	e17fff17 	ldw	r5,-4(fp)
   49b54:	103ee83a 	callr	r2
   49b58:	00000906 	br	49b80 <fstat+0x98>
     * device.
     */
 
    else
    {
      st->st_mode = _IFCHR;
   49b5c:	e0bfff17 	ldw	r2,-4(fp)
   49b60:	00c80004 	movi	r3,8192
   49b64:	10c00115 	stw	r3,4(r2)
      return 0;
   49b68:	0005883a 	mov	r2,zero
   49b6c:	00000406 	br	49b80 <fstat+0x98>
    }
  }
  else
  {
    ALT_ERRNO = EBADFD;
   49b70:	0049a980 	call	49a98 <alt_get_errno>
   49b74:	00c01444 	movi	r3,81
   49b78:	10c00015 	stw	r3,0(r2)
    return -1;
   49b7c:	00bfffc4 	movi	r2,-1
  }
}
   49b80:	e037883a 	mov	sp,fp
   49b84:	dfc00117 	ldw	ra,4(sp)
   49b88:	df000017 	ldw	fp,0(sp)
   49b8c:	dec00204 	addi	sp,sp,8
   49b90:	f800283a 	ret

00049b94 <alt_get_errno>:
#undef errno

extern int errno;

static ALT_INLINE int* alt_get_errno(void)
{
   49b94:	defffe04 	addi	sp,sp,-8
   49b98:	dfc00115 	stw	ra,4(sp)
   49b9c:	df000015 	stw	fp,0(sp)
   49ba0:	d839883a 	mov	fp,sp
  return ((alt_errno) ? alt_errno() : &errno);
   49ba4:	00800174 	movhi	r2,5
   49ba8:	10b7d604 	addi	r2,r2,-8360
   49bac:	10800017 	ldw	r2,0(r2)
   49bb0:	10000526 	beq	r2,zero,49bc8 <alt_get_errno+0x34>
   49bb4:	00800174 	movhi	r2,5
   49bb8:	10b7d604 	addi	r2,r2,-8360
   49bbc:	10800017 	ldw	r2,0(r2)
   49bc0:	103ee83a 	callr	r2
   49bc4:	00000206 	br	49bd0 <alt_get_errno+0x3c>
   49bc8:	00800174 	movhi	r2,5
   49bcc:	10be7704 	addi	r2,r2,-1572
}
   49bd0:	e037883a 	mov	sp,fp
   49bd4:	dfc00117 	ldw	ra,4(sp)
   49bd8:	df000017 	ldw	fp,0(sp)
   49bdc:	dec00204 	addi	sp,sp,8
   49be0:	f800283a 	ret

00049be4 <isatty>:
 *
 * ALT_ISATTY is mapped onto the isatty() system call in alt_syscall.h
 */
 
int ALT_ISATTY (int file)
{
   49be4:	deffed04 	addi	sp,sp,-76
   49be8:	dfc01215 	stw	ra,72(sp)
   49bec:	df001115 	stw	fp,68(sp)
   49bf0:	df001104 	addi	fp,sp,68
   49bf4:	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];
   49bf8:	e0bfff17 	ldw	r2,-4(fp)
   49bfc:	10000616 	blt	r2,zero,49c18 <isatty+0x34>
   49c00:	e0bfff17 	ldw	r2,-4(fp)
   49c04:	10c00324 	muli	r3,r2,12
   49c08:	00800174 	movhi	r2,5
   49c0c:	10b35404 	addi	r2,r2,-12976
   49c10:	1885883a 	add	r2,r3,r2
   49c14:	00000106 	br	49c1c <isatty+0x38>
   49c18:	0005883a 	mov	r2,zero
   49c1c:	e0bfef15 	stw	r2,-68(fp)
  
  if (fd)
   49c20:	e0bfef17 	ldw	r2,-68(fp)
   49c24:	10000e26 	beq	r2,zero,49c60 <isatty+0x7c>
    /*
     * If a device driver does not provide an fstat() function, then it is 
     * treated as a terminal device by default.
     */

    if (!fd->dev->fstat)
   49c28:	e0bfef17 	ldw	r2,-68(fp)
   49c2c:	10800017 	ldw	r2,0(r2)
   49c30:	10800817 	ldw	r2,32(r2)
   49c34:	1000021e 	bne	r2,zero,49c40 <isatty+0x5c>
    {
      return 1;
   49c38:	00800044 	movi	r2,1
   49c3c:	00000c06 	br	49c70 <isatty+0x8c>
     * this is called so that the device can identify itself.
     */ 

    else
    {
      fstat (file, &stat);
   49c40:	e0bff004 	addi	r2,fp,-64
   49c44:	e13fff17 	ldw	r4,-4(fp)
   49c48:	100b883a 	mov	r5,r2
   49c4c:	0049ae80 	call	49ae8 <fstat>
      return (stat.st_mode == _IFCHR) ? 1 : 0;
   49c50:	e0bff117 	ldw	r2,-60(fp)
   49c54:	10880020 	cmpeqi	r2,r2,8192
   49c58:	10803fcc 	andi	r2,r2,255
   49c5c:	00000406 	br	49c70 <isatty+0x8c>
    }
  }
  else
  {
    ALT_ERRNO = EBADFD;
   49c60:	0049b940 	call	49b94 <alt_get_errno>
   49c64:	00c01444 	movi	r3,81
   49c68:	10c00015 	stw	r3,0(r2)
    return 0;
   49c6c:	0005883a 	mov	r2,zero
  }
}
   49c70:	e037883a 	mov	sp,fp
   49c74:	dfc00117 	ldw	ra,4(sp)
   49c78:	df000017 	ldw	fp,0(sp)
   49c7c:	dec00204 	addi	sp,sp,8
   49c80:	f800283a 	ret

00049c84 <alt_load_section>:
 */

static void ALT_INLINE alt_load_section (alt_u32* from, 
                                         alt_u32* to, 
                                         alt_u32* end)
{
   49c84:	defffc04 	addi	sp,sp,-16
   49c88:	df000315 	stw	fp,12(sp)
   49c8c:	df000304 	addi	fp,sp,12
   49c90:	e13ffd15 	stw	r4,-12(fp)
   49c94:	e17ffe15 	stw	r5,-8(fp)
   49c98:	e1bfff15 	stw	r6,-4(fp)
  if (to != from)
   49c9c:	e0fffe17 	ldw	r3,-8(fp)
   49ca0:	e0bffd17 	ldw	r2,-12(fp)
   49ca4:	18800e26 	beq	r3,r2,49ce0 <alt_load_section+0x5c>
  {
    while( to != end )
   49ca8:	00000a06 	br	49cd4 <alt_load_section+0x50>
    {
      *to++ = *from++;
   49cac:	e0bffd17 	ldw	r2,-12(fp)
   49cb0:	10c00017 	ldw	r3,0(r2)
   49cb4:	e0bffe17 	ldw	r2,-8(fp)
   49cb8:	10c00015 	stw	r3,0(r2)
   49cbc:	e0bffe17 	ldw	r2,-8(fp)
   49cc0:	10800104 	addi	r2,r2,4
   49cc4:	e0bffe15 	stw	r2,-8(fp)
   49cc8:	e0bffd17 	ldw	r2,-12(fp)
   49ccc:	10800104 	addi	r2,r2,4
   49cd0:	e0bffd15 	stw	r2,-12(fp)
                                         alt_u32* to, 
                                         alt_u32* end)
{
  if (to != from)
  {
    while( to != end )
   49cd4:	e0fffe17 	ldw	r3,-8(fp)
   49cd8:	e0bfff17 	ldw	r2,-4(fp)
   49cdc:	18bff31e 	bne	r3,r2,49cac <__alt_data_end+0xfffe2bac>
    {
      *to++ = *from++;
    }
  }
}
   49ce0:	e037883a 	mov	sp,fp
   49ce4:	df000017 	ldw	fp,0(sp)
   49ce8:	dec00104 	addi	sp,sp,4
   49cec:	f800283a 	ret

00049cf0 <alt_load>:
 * there is no bootloader, so this application is responsible for loading to
 * RAM any sections that are required.
 */  

void alt_load (void)
{
   49cf0:	defffe04 	addi	sp,sp,-8
   49cf4:	dfc00115 	stw	ra,4(sp)
   49cf8:	df000015 	stw	fp,0(sp)
   49cfc:	d839883a 	mov	fp,sp
  /* 
   * Copy the .rwdata section. 
   */

  alt_load_section (&__flash_rwdata_start, 
   49d00:	01000174 	movhi	r4,5
   49d04:	2137db04 	addi	r4,r4,-8340
   49d08:	01400174 	movhi	r5,5
   49d0c:	29714504 	addi	r5,r5,-15084
   49d10:	01800174 	movhi	r6,5
   49d14:	31b7db04 	addi	r6,r6,-8340
   49d18:	0049c840 	call	49c84 <alt_load_section>

  /*
   * Copy the exception handler.
   */

  alt_load_section (&__flash_exceptions_start, 
   49d1c:	01000134 	movhi	r4,4
   49d20:	21000804 	addi	r4,r4,32
   49d24:	01400134 	movhi	r5,4
   49d28:	29400804 	addi	r5,r5,32
   49d2c:	01800134 	movhi	r6,4
   49d30:	31806e04 	addi	r6,r6,440
   49d34:	0049c840 	call	49c84 <alt_load_section>

  /*
   * Copy the .rodata section.
   */

  alt_load_section (&__flash_rodata_start, 
   49d38:	01000174 	movhi	r4,5
   49d3c:	21306b04 	addi	r4,r4,-15956
   49d40:	01400174 	movhi	r5,5
   49d44:	29706b04 	addi	r5,r5,-15956
   49d48:	01800174 	movhi	r6,5
   49d4c:	31b14504 	addi	r6,r6,-15084
   49d50:	0049c840 	call	49c84 <alt_load_section>
  
  /*
   * Now ensure that the caches are in synch.
   */
  
  alt_dcache_flush_all();
   49d54:	004b0ac0 	call	4b0ac <alt_dcache_flush_all>
  alt_icache_flush_all();
   49d58:	004b2980 	call	4b298 <alt_icache_flush_all>
}
   49d5c:	e037883a 	mov	sp,fp
   49d60:	dfc00117 	ldw	ra,4(sp)
   49d64:	df000017 	ldw	fp,0(sp)
   49d68:	dec00204 	addi	sp,sp,8
   49d6c:	f800283a 	ret

00049d70 <alt_get_errno>:
#undef errno

extern int errno;

static ALT_INLINE int* alt_get_errno(void)
{
   49d70:	defffe04 	addi	sp,sp,-8
   49d74:	dfc00115 	stw	ra,4(sp)
   49d78:	df000015 	stw	fp,0(sp)
   49d7c:	d839883a 	mov	fp,sp
  return ((alt_errno) ? alt_errno() : &errno);
   49d80:	00800174 	movhi	r2,5
   49d84:	10b7d604 	addi	r2,r2,-8360
   49d88:	10800017 	ldw	r2,0(r2)
   49d8c:	10000526 	beq	r2,zero,49da4 <alt_get_errno+0x34>
   49d90:	00800174 	movhi	r2,5
   49d94:	10b7d604 	addi	r2,r2,-8360
   49d98:	10800017 	ldw	r2,0(r2)
   49d9c:	103ee83a 	callr	r2
   49da0:	00000206 	br	49dac <alt_get_errno+0x3c>
   49da4:	00800174 	movhi	r2,5
   49da8:	10be7704 	addi	r2,r2,-1572
}
   49dac:	e037883a 	mov	sp,fp
   49db0:	dfc00117 	ldw	ra,4(sp)
   49db4:	df000017 	ldw	fp,0(sp)
   49db8:	dec00204 	addi	sp,sp,8
   49dbc:	f800283a 	ret

00049dc0 <lseek>:
 * ALT_LSEEK is mapped onto the lseek() system call in alt_syscall.h
 *
 */

off_t ALT_LSEEK (int file, off_t ptr, int dir)
{
   49dc0:	defff904 	addi	sp,sp,-28
   49dc4:	dfc00615 	stw	ra,24(sp)
   49dc8:	df000515 	stw	fp,20(sp)
   49dcc:	df000504 	addi	fp,sp,20
   49dd0:	e13ffd15 	stw	r4,-12(fp)
   49dd4:	e17ffe15 	stw	r5,-8(fp)
   49dd8:	e1bfff15 	stw	r6,-4(fp)
  alt_fd* fd;
  off_t   rc = 0; 
   49ddc:	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];
   49de0:	e0bffd17 	ldw	r2,-12(fp)
   49de4:	10000616 	blt	r2,zero,49e00 <lseek+0x40>
   49de8:	e0bffd17 	ldw	r2,-12(fp)
   49dec:	10c00324 	muli	r3,r2,12
   49df0:	00800174 	movhi	r2,5
   49df4:	10b35404 	addi	r2,r2,-12976
   49df8:	1885883a 	add	r2,r3,r2
   49dfc:	00000106 	br	49e04 <lseek+0x44>
   49e00:	0005883a 	mov	r2,zero
   49e04:	e0bffc15 	stw	r2,-16(fp)
  
  if (fd) 
   49e08:	e0bffc17 	ldw	r2,-16(fp)
   49e0c:	10001026 	beq	r2,zero,49e50 <lseek+0x90>
    /*
     * If the device driver provides an implementation of the lseek() function,
     * then call that to process the request.
     */
 
    if (fd->dev->lseek)
   49e10:	e0bffc17 	ldw	r2,-16(fp)
   49e14:	10800017 	ldw	r2,0(r2)
   49e18:	10800717 	ldw	r2,28(r2)
   49e1c:	10000926 	beq	r2,zero,49e44 <lseek+0x84>
    {
      rc = fd->dev->lseek(fd, ptr, dir);
   49e20:	e0bffc17 	ldw	r2,-16(fp)
   49e24:	10800017 	ldw	r2,0(r2)
   49e28:	10800717 	ldw	r2,28(r2)
   49e2c:	e13ffc17 	ldw	r4,-16(fp)
   49e30:	e17ffe17 	ldw	r5,-8(fp)
   49e34:	e1bfff17 	ldw	r6,-4(fp)
   49e38:	103ee83a 	callr	r2
   49e3c:	e0bffb15 	stw	r2,-20(fp)
   49e40:	00000506 	br	49e58 <lseek+0x98>
     * Otherwise return an error.
     */

    else
    {
      rc = -ENOTSUP;
   49e44:	00bfde84 	movi	r2,-134
   49e48:	e0bffb15 	stw	r2,-20(fp)
   49e4c:	00000206 	br	49e58 <lseek+0x98>
    }
  }
  else  
  {
    rc = -EBADFD;
   49e50:	00bfebc4 	movi	r2,-81
   49e54:	e0bffb15 	stw	r2,-20(fp)
  }

  if (rc < 0)
   49e58:	e0bffb17 	ldw	r2,-20(fp)
   49e5c:	1000060e 	bge	r2,zero,49e78 <lseek+0xb8>
  {
    ALT_ERRNO = -rc;
   49e60:	0049d700 	call	49d70 <alt_get_errno>
   49e64:	e0fffb17 	ldw	r3,-20(fp)
   49e68:	00c7c83a 	sub	r3,zero,r3
   49e6c:	10c00015 	stw	r3,0(r2)
    rc = -1;
   49e70:	00bfffc4 	movi	r2,-1
   49e74:	e0bffb15 	stw	r2,-20(fp)
  }

  return rc;
   49e78:	e0bffb17 	ldw	r2,-20(fp)
}
   49e7c:	e037883a 	mov	sp,fp
   49e80:	dfc00117 	ldw	ra,4(sp)
   49e84:	df000017 	ldw	fp,0(sp)
   49e88:	dec00204 	addi	sp,sp,8
   49e8c:	f800283a 	ret

00049e90 <alt_main>:
 * devices/filesystems/components in the system; and call the entry point for
 * the users application, i.e. main().
 */

void alt_main (void)
{
   49e90:	defffd04 	addi	sp,sp,-12
   49e94:	dfc00215 	stw	ra,8(sp)
   49e98:	df000115 	stw	fp,4(sp)
   49e9c:	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);
   49ea0:	0009883a 	mov	r4,zero
   49ea4:	004a33c0 	call	4a33c <alt_irq_init>

  /* Initialize the operating system */
  ALT_LOG_PRINT_BOOT("[alt_main.c] Done alt_irq_init, calling alt_os_init.\r\n");
  ALT_OS_INIT();
   49ea8:	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();
   49eac:	004a3700 	call	4a370 <alt_sys_init>
   * 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);
   49eb0:	01000174 	movhi	r4,5
   49eb4:	21313d04 	addi	r4,r4,-15116
   49eb8:	01400174 	movhi	r5,5
   49ebc:	29713d04 	addi	r5,r5,-15116
   49ec0:	01800174 	movhi	r6,5
   49ec4:	31b13d04 	addi	r6,r6,-15116
   49ec8:	004b6500 	call	4b650 <alt_io_redirect>
  /* 
   * Call the C++ constructors 
   */

  ALT_LOG_PRINT_BOOT("[alt_main.c] Calling C++ constructors.\r\n");
  _do_ctors ();
   49ecc:	004b1e00 	call	4b1e0 <_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);
   49ed0:	01000174 	movhi	r4,5
   49ed4:	212c8f04 	addi	r4,r4,-19908
   49ed8:	004bdd80 	call	4bdd8 <atexit>
  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);
   49edc:	d126ac17 	ldw	r4,-25936(gp)
   49ee0:	d0e6ad17 	ldw	r3,-25932(gp)
   49ee4:	d0a6ae17 	ldw	r2,-25928(gp)
   49ee8:	180b883a 	mov	r5,r3
   49eec:	100d883a 	mov	r6,r2
   49ef0:	00402040 	call	40204 <main>
   49ef4:	e0bfff15 	stw	r2,-4(fp)
  close(STDOUT_FILENO);
   49ef8:	01000044 	movi	r4,1
   49efc:	00499a40 	call	499a4 <close>
  exit (result);
   49f00:	e13fff17 	ldw	r4,-4(fp)
   49f04:	004bdec0 	call	4bdec <exit>

00049f08 <__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 )
{
   49f08:	defffe04 	addi	sp,sp,-8
   49f0c:	df000115 	stw	fp,4(sp)
   49f10:	df000104 	addi	fp,sp,4
   49f14:	e13fff15 	stw	r4,-4(fp)
}
   49f18:	e037883a 	mov	sp,fp
   49f1c:	df000017 	ldw	fp,0(sp)
   49f20:	dec00104 	addi	sp,sp,4
   49f24:	f800283a 	ret

00049f28 <__malloc_unlock>:
/*
 *
 */

void __malloc_unlock ( struct _reent *_r )
{
   49f28:	defffe04 	addi	sp,sp,-8
   49f2c:	df000115 	stw	fp,4(sp)
   49f30:	df000104 	addi	fp,sp,4
   49f34:	e13fff15 	stw	r4,-4(fp)
}
   49f38:	e037883a 	mov	sp,fp
   49f3c:	df000017 	ldw	fp,0(sp)
   49f40:	dec00104 	addi	sp,sp,4
   49f44:	f800283a 	ret

00049f48 <alt_get_errno>:
#undef errno

extern int errno;

static ALT_INLINE int* alt_get_errno(void)
{
   49f48:	defffe04 	addi	sp,sp,-8
   49f4c:	dfc00115 	stw	ra,4(sp)
   49f50:	df000015 	stw	fp,0(sp)
   49f54:	d839883a 	mov	fp,sp
  return ((alt_errno) ? alt_errno() : &errno);
   49f58:	00800174 	movhi	r2,5
   49f5c:	10b7d604 	addi	r2,r2,-8360
   49f60:	10800017 	ldw	r2,0(r2)
   49f64:	10000526 	beq	r2,zero,49f7c <alt_get_errno+0x34>
   49f68:	00800174 	movhi	r2,5
   49f6c:	10b7d604 	addi	r2,r2,-8360
   49f70:	10800017 	ldw	r2,0(r2)
   49f74:	103ee83a 	callr	r2
   49f78:	00000206 	br	49f84 <alt_get_errno+0x3c>
   49f7c:	00800174 	movhi	r2,5
   49f80:	10be7704 	addi	r2,r2,-1572
}
   49f84:	e037883a 	mov	sp,fp
   49f88:	dfc00117 	ldw	ra,4(sp)
   49f8c:	df000017 	ldw	fp,0(sp)
   49f90:	dec00204 	addi	sp,sp,8
   49f94:	f800283a 	ret

00049f98 <read>:
}

#else /* !ALT_USE_DIRECT_DRIVERS */

int ALT_READ (int file, void *ptr, size_t len)
{
   49f98:	defff904 	addi	sp,sp,-28
   49f9c:	dfc00615 	stw	ra,24(sp)
   49fa0:	df000515 	stw	fp,20(sp)
   49fa4:	df000504 	addi	fp,sp,20
   49fa8:	e13ffd15 	stw	r4,-12(fp)
   49fac:	e17ffe15 	stw	r5,-8(fp)
   49fb0:	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];
   49fb4:	e0bffd17 	ldw	r2,-12(fp)
   49fb8:	10000616 	blt	r2,zero,49fd4 <read+0x3c>
   49fbc:	e0bffd17 	ldw	r2,-12(fp)
   49fc0:	10c00324 	muli	r3,r2,12
   49fc4:	00800174 	movhi	r2,5
   49fc8:	10b35404 	addi	r2,r2,-12976
   49fcc:	1885883a 	add	r2,r3,r2
   49fd0:	00000106 	br	49fd8 <read+0x40>
   49fd4:	0005883a 	mov	r2,zero
   49fd8:	e0bffb15 	stw	r2,-20(fp)
  
  if (fd)
   49fdc:	e0bffb17 	ldw	r2,-20(fp)
   49fe0:	10002026 	beq	r2,zero,4a064 <read+0xcc>
     * 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) && 
   49fe4:	e0bffb17 	ldw	r2,-20(fp)
   49fe8:	10800217 	ldw	r2,8(r2)
   49fec:	108000cc 	andi	r2,r2,3
   49ff0:	10800060 	cmpeqi	r2,r2,1
   49ff4:	1000171e 	bne	r2,zero,4a054 <read+0xbc>
        (fd->dev->read))
   49ff8:	e0bffb17 	ldw	r2,-20(fp)
   49ffc:	10800017 	ldw	r2,0(r2)
   4a000:	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) && 
   4a004:	10001326 	beq	r2,zero,4a054 <read+0xbc>
        (fd->dev->read))
      {
        if ((rval = fd->dev->read(fd, ptr, len)) < 0)
   4a008:	e0bffb17 	ldw	r2,-20(fp)
   4a00c:	10800017 	ldw	r2,0(r2)
   4a010:	10c00517 	ldw	r3,20(r2)
   4a014:	e0bfff17 	ldw	r2,-4(fp)
   4a018:	e13ffb17 	ldw	r4,-20(fp)
   4a01c:	e17ffe17 	ldw	r5,-8(fp)
   4a020:	100d883a 	mov	r6,r2
   4a024:	183ee83a 	callr	r3
   4a028:	e0bffc15 	stw	r2,-16(fp)
   4a02c:	e0bffc17 	ldw	r2,-16(fp)
   4a030:	1000060e 	bge	r2,zero,4a04c <read+0xb4>
        {
          ALT_ERRNO = -rval;
   4a034:	0049f480 	call	49f48 <alt_get_errno>
   4a038:	e0fffc17 	ldw	r3,-16(fp)
   4a03c:	00c7c83a 	sub	r3,zero,r3
   4a040:	10c00015 	stw	r3,0(r2)
          return -1;
   4a044:	00bfffc4 	movi	r2,-1
   4a048:	00000a06 	br	4a074 <read+0xdc>
        }
        return rval;
   4a04c:	e0bffc17 	ldw	r2,-16(fp)
   4a050:	00000806 	br	4a074 <read+0xdc>
      }
      else
      {
        ALT_ERRNO = EACCES;
   4a054:	0049f480 	call	49f48 <alt_get_errno>
   4a058:	00c00344 	movi	r3,13
   4a05c:	10c00015 	stw	r3,0(r2)
   4a060:	00000306 	br	4a070 <read+0xd8>
      }
    }
  else
  {
    ALT_ERRNO = EBADFD;
   4a064:	0049f480 	call	49f48 <alt_get_errno>
   4a068:	00c01444 	movi	r3,81
   4a06c:	10c00015 	stw	r3,0(r2)
  }
  return -1;
   4a070:	00bfffc4 	movi	r2,-1
}
   4a074:	e037883a 	mov	sp,fp
   4a078:	dfc00117 	ldw	ra,4(sp)
   4a07c:	df000017 	ldw	fp,0(sp)
   4a080:	dec00204 	addi	sp,sp,8
   4a084:	f800283a 	ret

0004a088 <alt_release_fd>:
 * 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)
{
   4a088:	defffe04 	addi	sp,sp,-8
   4a08c:	df000115 	stw	fp,4(sp)
   4a090:	df000104 	addi	fp,sp,4
   4a094:	e13fff15 	stw	r4,-4(fp)
  if (fd > 2)
   4a098:	e0bfff17 	ldw	r2,-4(fp)
   4a09c:	108000d0 	cmplti	r2,r2,3
   4a0a0:	10000d1e 	bne	r2,zero,4a0d8 <alt_release_fd+0x50>
  {
    alt_fd_list[fd].fd_flags = 0;
   4a0a4:	00c00174 	movhi	r3,5
   4a0a8:	18f35404 	addi	r3,r3,-12976
   4a0ac:	e0bfff17 	ldw	r2,-4(fp)
   4a0b0:	10800324 	muli	r2,r2,12
   4a0b4:	1885883a 	add	r2,r3,r2
   4a0b8:	10800204 	addi	r2,r2,8
   4a0bc:	10000015 	stw	zero,0(r2)
    alt_fd_list[fd].dev      = 0;
   4a0c0:	00c00174 	movhi	r3,5
   4a0c4:	18f35404 	addi	r3,r3,-12976
   4a0c8:	e0bfff17 	ldw	r2,-4(fp)
   4a0cc:	10800324 	muli	r2,r2,12
   4a0d0:	1885883a 	add	r2,r3,r2
   4a0d4:	10000015 	stw	zero,0(r2)
  }
}
   4a0d8:	e037883a 	mov	sp,fp
   4a0dc:	df000017 	ldw	fp,0(sp)
   4a0e0:	dec00104 	addi	sp,sp,4
   4a0e4:	f800283a 	ret

0004a0e8 <sbrk>:
#endif
 
caddr_t ALT_SBRK (int incr) __attribute__ ((no_instrument_function ));

caddr_t ALT_SBRK (int incr)
{ 
   4a0e8:	defff904 	addi	sp,sp,-28
   4a0ec:	df000615 	stw	fp,24(sp)
   4a0f0:	df000604 	addi	fp,sp,24
   4a0f4:	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);
   4a0f8:	0005303a 	rdctl	r2,status
   4a0fc:	e0bffc15 	stw	r2,-16(fp)

  NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK);
   4a100:	e0fffc17 	ldw	r3,-16(fp)
   4a104:	00bfff84 	movi	r2,-2
   4a108:	1884703a 	and	r2,r3,r2
   4a10c:	1001703a 	wrctl	status,r2
  
  return context;
   4a110:	e0bffc17 	ldw	r2,-16(fp)
  alt_irq_context context;
  char *prev_heap_end; 

  context = alt_irq_disable_all();
   4a114:	e0bffa15 	stw	r2,-24(fp)

  /* Always return data aligned on a word boundary */
  heap_end = (char *)(((unsigned int)heap_end + 3) & ~3);
   4a118:	d0a00b17 	ldw	r2,-32724(gp)
   4a11c:	10c000c4 	addi	r3,r2,3
   4a120:	00bfff04 	movi	r2,-4
   4a124:	1884703a 	and	r2,r3,r2
   4a128:	d0a00b15 	stw	r2,-32724(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) {
   4a12c:	d0e00b17 	ldw	r3,-32724(gp)
   4a130:	e0bfff17 	ldw	r2,-4(fp)
   4a134:	1885883a 	add	r2,r3,r2
   4a138:	00c001b4 	movhi	r3,6
   4a13c:	18dc4004 	addi	r3,r3,28928
   4a140:	1880062e 	bgeu	r3,r2,4a15c <sbrk+0x74>
   4a144:	e0bffa17 	ldw	r2,-24(fp)
   4a148:	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);
   4a14c:	e0bffd17 	ldw	r2,-12(fp)
   4a150:	1001703a 	wrctl	status,r2
    alt_irq_enable_all(context);
    return (caddr_t)-1;
   4a154:	00bfffc4 	movi	r2,-1
   4a158:	00000b06 	br	4a188 <sbrk+0xa0>
  }
#endif

  prev_heap_end = heap_end; 
   4a15c:	d0a00b17 	ldw	r2,-32724(gp)
   4a160:	e0bffb15 	stw	r2,-20(fp)
  heap_end += incr; 
   4a164:	d0e00b17 	ldw	r3,-32724(gp)
   4a168:	e0bfff17 	ldw	r2,-4(fp)
   4a16c:	1885883a 	add	r2,r3,r2
   4a170:	d0a00b15 	stw	r2,-32724(gp)
   4a174:	e0bffa17 	ldw	r2,-24(fp)
   4a178:	e0bffe15 	stw	r2,-8(fp)
   4a17c:	e0bffe17 	ldw	r2,-8(fp)
   4a180:	1001703a 	wrctl	status,r2

#endif

  alt_irq_enable_all(context);

  return (caddr_t) prev_heap_end; 
   4a184:	e0bffb17 	ldw	r2,-20(fp)
} 
   4a188:	e037883a 	mov	sp,fp
   4a18c:	df000017 	ldw	fp,0(sp)
   4a190:	dec00104 	addi	sp,sp,4
   4a194:	f800283a 	ret

0004a198 <usleep>:
#if defined (__GNUC__) && __GNUC__ >= 4
int ALT_USLEEP (useconds_t us)
#else
unsigned int ALT_USLEEP (unsigned int us)
#endif
{
   4a198:	defffd04 	addi	sp,sp,-12
   4a19c:	dfc00215 	stw	ra,8(sp)
   4a1a0:	df000115 	stw	fp,4(sp)
   4a1a4:	df000104 	addi	fp,sp,4
   4a1a8:	e13fff15 	stw	r4,-4(fp)
  return alt_busy_sleep(us);
   4a1ac:	e13fff17 	ldw	r4,-4(fp)
   4a1b0:	004af580 	call	4af58 <alt_busy_sleep>
}
   4a1b4:	e037883a 	mov	sp,fp
   4a1b8:	dfc00117 	ldw	ra,4(sp)
   4a1bc:	df000017 	ldw	fp,0(sp)
   4a1c0:	dec00204 	addi	sp,sp,8
   4a1c4:	f800283a 	ret

0004a1c8 <alt_get_errno>:
#undef errno

extern int errno;

static ALT_INLINE int* alt_get_errno(void)
{
   4a1c8:	defffe04 	addi	sp,sp,-8
   4a1cc:	dfc00115 	stw	ra,4(sp)
   4a1d0:	df000015 	stw	fp,0(sp)
   4a1d4:	d839883a 	mov	fp,sp
  return ((alt_errno) ? alt_errno() : &errno);
   4a1d8:	00800174 	movhi	r2,5
   4a1dc:	10b7d604 	addi	r2,r2,-8360
   4a1e0:	10800017 	ldw	r2,0(r2)
   4a1e4:	10000526 	beq	r2,zero,4a1fc <alt_get_errno+0x34>
   4a1e8:	00800174 	movhi	r2,5
   4a1ec:	10b7d604 	addi	r2,r2,-8360
   4a1f0:	10800017 	ldw	r2,0(r2)
   4a1f4:	103ee83a 	callr	r2
   4a1f8:	00000206 	br	4a204 <alt_get_errno+0x3c>
   4a1fc:	00800174 	movhi	r2,5
   4a200:	10be7704 	addi	r2,r2,-1572
}
   4a204:	e037883a 	mov	sp,fp
   4a208:	dfc00117 	ldw	ra,4(sp)
   4a20c:	df000017 	ldw	fp,0(sp)
   4a210:	dec00204 	addi	sp,sp,8
   4a214:	f800283a 	ret

0004a218 <write>:
}

#else /* !ALT_USE_DIRECT_DRIVERS */

int ALT_WRITE (int file, const void *ptr, size_t len)
{
   4a218:	defff904 	addi	sp,sp,-28
   4a21c:	dfc00615 	stw	ra,24(sp)
   4a220:	df000515 	stw	fp,20(sp)
   4a224:	df000504 	addi	fp,sp,20
   4a228:	e13ffd15 	stw	r4,-12(fp)
   4a22c:	e17ffe15 	stw	r5,-8(fp)
   4a230:	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];
   4a234:	e0bffd17 	ldw	r2,-12(fp)
   4a238:	10000616 	blt	r2,zero,4a254 <write+0x3c>
   4a23c:	e0bffd17 	ldw	r2,-12(fp)
   4a240:	10c00324 	muli	r3,r2,12
   4a244:	00800174 	movhi	r2,5
   4a248:	10b35404 	addi	r2,r2,-12976
   4a24c:	1885883a 	add	r2,r3,r2
   4a250:	00000106 	br	4a258 <write+0x40>
   4a254:	0005883a 	mov	r2,zero
   4a258:	e0bffb15 	stw	r2,-20(fp)
  
  if (fd)
   4a25c:	e0bffb17 	ldw	r2,-20(fp)
   4a260:	10001f26 	beq	r2,zero,4a2e0 <write+0xc8>
     * 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)
   4a264:	e0bffb17 	ldw	r2,-20(fp)
   4a268:	10800217 	ldw	r2,8(r2)
   4a26c:	108000cc 	andi	r2,r2,3
   4a270:	10001726 	beq	r2,zero,4a2d0 <write+0xb8>
   4a274:	e0bffb17 	ldw	r2,-20(fp)
   4a278:	10800017 	ldw	r2,0(r2)
   4a27c:	10800617 	ldw	r2,24(r2)
   4a280:	10001326 	beq	r2,zero,4a2d0 <write+0xb8>
    {
      
      /* 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)
   4a284:	e0bffb17 	ldw	r2,-20(fp)
   4a288:	10800017 	ldw	r2,0(r2)
   4a28c:	10c00617 	ldw	r3,24(r2)
   4a290:	e0bfff17 	ldw	r2,-4(fp)
   4a294:	e13ffb17 	ldw	r4,-20(fp)
   4a298:	e17ffe17 	ldw	r5,-8(fp)
   4a29c:	100d883a 	mov	r6,r2
   4a2a0:	183ee83a 	callr	r3
   4a2a4:	e0bffc15 	stw	r2,-16(fp)
   4a2a8:	e0bffc17 	ldw	r2,-16(fp)
   4a2ac:	1000060e 	bge	r2,zero,4a2c8 <write+0xb0>
      {
        ALT_ERRNO = -rval;
   4a2b0:	004a1c80 	call	4a1c8 <alt_get_errno>
   4a2b4:	e0fffc17 	ldw	r3,-16(fp)
   4a2b8:	00c7c83a 	sub	r3,zero,r3
   4a2bc:	10c00015 	stw	r3,0(r2)
        return -1;
   4a2c0:	00bfffc4 	movi	r2,-1
   4a2c4:	00000a06 	br	4a2f0 <write+0xd8>
      }
      return rval;
   4a2c8:	e0bffc17 	ldw	r2,-16(fp)
   4a2cc:	00000806 	br	4a2f0 <write+0xd8>
    }
    else
    {
      ALT_ERRNO = EACCES;
   4a2d0:	004a1c80 	call	4a1c8 <alt_get_errno>
   4a2d4:	00c00344 	movi	r3,13
   4a2d8:	10c00015 	stw	r3,0(r2)
   4a2dc:	00000306 	br	4a2ec <write+0xd4>
    }
  }
  else  
  {
    ALT_ERRNO = EBADFD;
   4a2e0:	004a1c80 	call	4a1c8 <alt_get_errno>
   4a2e4:	00c01444 	movi	r3,81
   4a2e8:	10c00015 	stw	r3,0(r2)
  }
  return -1;
   4a2ec:	00bfffc4 	movi	r2,-1
}
   4a2f0:	e037883a 	mov	sp,fp
   4a2f4:	dfc00117 	ldw	ra,4(sp)
   4a2f8:	df000017 	ldw	fp,0(sp)
   4a2fc:	dec00204 	addi	sp,sp,8
   4a300:	f800283a 	ret

0004a304 <alt_dev_reg>:
 */

extern int alt_fs_reg  (alt_dev* dev); 

static ALT_INLINE int alt_dev_reg (alt_dev* dev)
{
   4a304:	defffd04 	addi	sp,sp,-12
   4a308:	dfc00215 	stw	ra,8(sp)
   4a30c:	df000115 	stw	fp,4(sp)
   4a310:	df000104 	addi	fp,sp,4
   4a314:	e13fff15 	stw	r4,-4(fp)
  extern alt_llist alt_dev_list;

  return alt_dev_llist_insert ((alt_dev_llist*) dev, &alt_dev_list);
   4a318:	e13fff17 	ldw	r4,-4(fp)
   4a31c:	01400174 	movhi	r5,5
   4a320:	2977d304 	addi	r5,r5,-8372
   4a324:	004b1400 	call	4b140 <alt_dev_llist_insert>
}
   4a328:	e037883a 	mov	sp,fp
   4a32c:	dfc00117 	ldw	ra,4(sp)
   4a330:	df000017 	ldw	fp,0(sp)
   4a334:	dec00204 	addi	sp,sp,8
   4a338:	f800283a 	ret

0004a33c <alt_irq_init>:
 * The "base" parameter is ignored and only
 * present for backwards-compatibility.
 */

void alt_irq_init ( const void* base )
{
   4a33c:	defffd04 	addi	sp,sp,-12
   4a340:	dfc00215 	stw	ra,8(sp)
   4a344:	df000115 	stw	fp,4(sp)
   4a348:	df000104 	addi	fp,sp,4
   4a34c:	e13fff15 	stw	r4,-4(fp)
    ALTERA_NIOS2_QSYS_IRQ_INIT ( NIOS2_QSYS, nios2_qsys);
   4a350:	004bad40 	call	4bad4 <altera_nios2_qsys_irq_init>
 * alt_irq_cpu_enable_interrupts() enables the CPU to start taking interrupts.
 */
static ALT_INLINE void ALT_ALWAYS_INLINE 
       alt_irq_cpu_enable_interrupts ()
{
    NIOS2_WRITE_STATUS(NIOS2_STATUS_PIE_MSK
   4a354:	00800044 	movi	r2,1
   4a358:	1001703a 	wrctl	status,r2
    alt_irq_cpu_enable_interrupts();
}
   4a35c:	e037883a 	mov	sp,fp
   4a360:	dfc00117 	ldw	ra,4(sp)
   4a364:	df000017 	ldw	fp,0(sp)
   4a368:	dec00204 	addi	sp,sp,8
   4a36c:	f800283a 	ret

0004a370 <alt_sys_init>:
 * Initialize the non-interrupt controller devices.
 * Called after alt_irq_init().
 */

void alt_sys_init( void )
{
   4a370:	defffe04 	addi	sp,sp,-8
   4a374:	dfc00115 	stw	ra,4(sp)
   4a378:	df000015 	stw	fp,0(sp)
   4a37c:	d839883a 	mov	fp,sp
    ALTERA_AVALON_JTAG_UART_INIT ( JTAG_UART, jtag_uart);
   4a380:	01000174 	movhi	r4,5
   4a384:	2133be04 	addi	r4,r4,-12552
   4a388:	000b883a 	mov	r5,zero
   4a38c:	000d883a 	mov	r6,zero
   4a390:	004a51c0 	call	4a51c <altera_avalon_jtag_uart_init>
   4a394:	01000174 	movhi	r4,5
   4a398:	2133b404 	addi	r4,r4,-12592
   4a39c:	004a3040 	call	4a304 <alt_dev_reg>
    ALTERA_AVALON_SYSID_QSYS_INIT ( SYSID_QSYS, sysid_qsys);
   4a3a0:	0001883a 	nop
}
   4a3a4:	e037883a 	mov	sp,fp
   4a3a8:	dfc00117 	ldw	ra,4(sp)
   4a3ac:	df000017 	ldw	fp,0(sp)
   4a3b0:	dec00204 	addi	sp,sp,8
   4a3b4:	f800283a 	ret

0004a3b8 <altera_avalon_jtag_uart_read_fd>:
 *
 */

int 
altera_avalon_jtag_uart_read_fd(alt_fd* fd, char* buffer, int space)
{
   4a3b8:	defffa04 	addi	sp,sp,-24
   4a3bc:	dfc00515 	stw	ra,20(sp)
   4a3c0:	df000415 	stw	fp,16(sp)
   4a3c4:	df000404 	addi	fp,sp,16
   4a3c8:	e13ffd15 	stw	r4,-12(fp)
   4a3cc:	e17ffe15 	stw	r5,-8(fp)
   4a3d0:	e1bfff15 	stw	r6,-4(fp)
    altera_avalon_jtag_uart_dev* dev = (altera_avalon_jtag_uart_dev*) fd->dev; 
   4a3d4:	e0bffd17 	ldw	r2,-12(fp)
   4a3d8:	10800017 	ldw	r2,0(r2)
   4a3dc:	e0bffc15 	stw	r2,-16(fp)

    return altera_avalon_jtag_uart_read(&dev->state, buffer, space,
   4a3e0:	e0bffc17 	ldw	r2,-16(fp)
   4a3e4:	10c00a04 	addi	r3,r2,40
      fd->fd_flags);
   4a3e8:	e0bffd17 	ldw	r2,-12(fp)
int 
altera_avalon_jtag_uart_read_fd(alt_fd* fd, char* buffer, int space)
{
    altera_avalon_jtag_uart_dev* dev = (altera_avalon_jtag_uart_dev*) fd->dev; 

    return altera_avalon_jtag_uart_read(&dev->state, buffer, space,
   4a3ec:	10800217 	ldw	r2,8(r2)
   4a3f0:	1809883a 	mov	r4,r3
   4a3f4:	e17ffe17 	ldw	r5,-8(fp)
   4a3f8:	e1bfff17 	ldw	r6,-4(fp)
   4a3fc:	100f883a 	mov	r7,r2
   4a400:	004a9e00 	call	4a9e0 <altera_avalon_jtag_uart_read>
      fd->fd_flags);
}
   4a404:	e037883a 	mov	sp,fp
   4a408:	dfc00117 	ldw	ra,4(sp)
   4a40c:	df000017 	ldw	fp,0(sp)
   4a410:	dec00204 	addi	sp,sp,8
   4a414:	f800283a 	ret

0004a418 <altera_avalon_jtag_uart_write_fd>:

int 
altera_avalon_jtag_uart_write_fd(alt_fd* fd, const char* buffer, int space)
{
   4a418:	defffa04 	addi	sp,sp,-24
   4a41c:	dfc00515 	stw	ra,20(sp)
   4a420:	df000415 	stw	fp,16(sp)
   4a424:	df000404 	addi	fp,sp,16
   4a428:	e13ffd15 	stw	r4,-12(fp)
   4a42c:	e17ffe15 	stw	r5,-8(fp)
   4a430:	e1bfff15 	stw	r6,-4(fp)
    altera_avalon_jtag_uart_dev* dev = (altera_avalon_jtag_uart_dev*) fd->dev; 
   4a434:	e0bffd17 	ldw	r2,-12(fp)
   4a438:	10800017 	ldw	r2,0(r2)
   4a43c:	e0bffc15 	stw	r2,-16(fp)

    return altera_avalon_jtag_uart_write(&dev->state, buffer, space,
   4a440:	e0bffc17 	ldw	r2,-16(fp)
   4a444:	10c00a04 	addi	r3,r2,40
      fd->fd_flags);
   4a448:	e0bffd17 	ldw	r2,-12(fp)
int 
altera_avalon_jtag_uart_write_fd(alt_fd* fd, const char* buffer, int space)
{
    altera_avalon_jtag_uart_dev* dev = (altera_avalon_jtag_uart_dev*) fd->dev; 

    return altera_avalon_jtag_uart_write(&dev->state, buffer, space,
   4a44c:	10800217 	ldw	r2,8(r2)
   4a450:	1809883a 	mov	r4,r3
   4a454:	e17ffe17 	ldw	r5,-8(fp)
   4a458:	e1bfff17 	ldw	r6,-4(fp)
   4a45c:	100f883a 	mov	r7,r2
   4a460:	004abf80 	call	4abf8 <altera_avalon_jtag_uart_write>
      fd->fd_flags);
}
   4a464:	e037883a 	mov	sp,fp
   4a468:	dfc00117 	ldw	ra,4(sp)
   4a46c:	df000017 	ldw	fp,0(sp)
   4a470:	dec00204 	addi	sp,sp,8
   4a474:	f800283a 	ret

0004a478 <altera_avalon_jtag_uart_close_fd>:

#ifndef ALTERA_AVALON_JTAG_UART_SMALL

int 
altera_avalon_jtag_uart_close_fd(alt_fd* fd)
{
   4a478:	defffc04 	addi	sp,sp,-16
   4a47c:	dfc00315 	stw	ra,12(sp)
   4a480:	df000215 	stw	fp,8(sp)
   4a484:	df000204 	addi	fp,sp,8
   4a488:	e13fff15 	stw	r4,-4(fp)
    altera_avalon_jtag_uart_dev* dev = (altera_avalon_jtag_uart_dev*) fd->dev; 
   4a48c:	e0bfff17 	ldw	r2,-4(fp)
   4a490:	10800017 	ldw	r2,0(r2)
   4a494:	e0bffe15 	stw	r2,-8(fp)

    return altera_avalon_jtag_uart_close(&dev->state, fd->fd_flags);
   4a498:	e0bffe17 	ldw	r2,-8(fp)
   4a49c:	10c00a04 	addi	r3,r2,40
   4a4a0:	e0bfff17 	ldw	r2,-4(fp)
   4a4a4:	10800217 	ldw	r2,8(r2)
   4a4a8:	1809883a 	mov	r4,r3
   4a4ac:	100b883a 	mov	r5,r2
   4a4b0:	004a8840 	call	4a884 <altera_avalon_jtag_uart_close>
}
   4a4b4:	e037883a 	mov	sp,fp
   4a4b8:	dfc00117 	ldw	ra,4(sp)
   4a4bc:	df000017 	ldw	fp,0(sp)
   4a4c0:	dec00204 	addi	sp,sp,8
   4a4c4:	f800283a 	ret

0004a4c8 <altera_avalon_jtag_uart_ioctl_fd>:

int 
altera_avalon_jtag_uart_ioctl_fd(alt_fd* fd, int req, void* arg)
{
   4a4c8:	defffa04 	addi	sp,sp,-24
   4a4cc:	dfc00515 	stw	ra,20(sp)
   4a4d0:	df000415 	stw	fp,16(sp)
   4a4d4:	df000404 	addi	fp,sp,16
   4a4d8:	e13ffd15 	stw	r4,-12(fp)
   4a4dc:	e17ffe15 	stw	r5,-8(fp)
   4a4e0:	e1bfff15 	stw	r6,-4(fp)
    altera_avalon_jtag_uart_dev* dev = (altera_avalon_jtag_uart_dev*) fd->dev;
   4a4e4:	e0bffd17 	ldw	r2,-12(fp)
   4a4e8:	10800017 	ldw	r2,0(r2)
   4a4ec:	e0bffc15 	stw	r2,-16(fp)

    return altera_avalon_jtag_uart_ioctl(&dev->state, req, arg);
   4a4f0:	e0bffc17 	ldw	r2,-16(fp)
   4a4f4:	10800a04 	addi	r2,r2,40
   4a4f8:	1009883a 	mov	r4,r2
   4a4fc:	e17ffe17 	ldw	r5,-8(fp)
   4a500:	e1bfff17 	ldw	r6,-4(fp)
   4a504:	004a8ec0 	call	4a8ec <altera_avalon_jtag_uart_ioctl>
}
   4a508:	e037883a 	mov	sp,fp
   4a50c:	dfc00117 	ldw	ra,4(sp)
   4a510:	df000017 	ldw	fp,0(sp)
   4a514:	dec00204 	addi	sp,sp,8
   4a518:	f800283a 	ret

0004a51c <altera_avalon_jtag_uart_init>:
 * 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)
{
   4a51c:	defffa04 	addi	sp,sp,-24
   4a520:	dfc00515 	stw	ra,20(sp)
   4a524:	df000415 	stw	fp,16(sp)
   4a528:	df000404 	addi	fp,sp,16
   4a52c:	e13ffd15 	stw	r4,-12(fp)
   4a530:	e17ffe15 	stw	r5,-8(fp)
   4a534:	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;
   4a538:	e0bffd17 	ldw	r2,-12(fp)
   4a53c:	00c00044 	movi	r3,1
   4a540:	10c00815 	stw	r3,32(r2)

  IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base, sp->irq_enable); 
   4a544:	e0bffd17 	ldw	r2,-12(fp)
   4a548:	10800017 	ldw	r2,0(r2)
   4a54c:	10800104 	addi	r2,r2,4
   4a550:	e0fffd17 	ldw	r3,-12(fp)
   4a554:	18c00817 	ldw	r3,32(r3)
   4a558:	10c00035 	stwio	r3,0(r2)
  
  /* register the interrupt handler */
#ifdef ALT_ENHANCED_INTERRUPT_API_PRESENT
  alt_ic_isr_register(irq_controller_id, irq, altera_avalon_jtag_uart_irq, 
   4a55c:	e0fffe17 	ldw	r3,-8(fp)
   4a560:	e0bfff17 	ldw	r2,-4(fp)
   4a564:	d8000015 	stw	zero,0(sp)
   4a568:	1809883a 	mov	r4,r3
   4a56c:	100b883a 	mov	r5,r2
   4a570:	01800174 	movhi	r6,5
   4a574:	31a97704 	addi	r6,r6,-23076
   4a578:	e1fffd17 	ldw	r7,-12(fp)
   4a57c:	004b2c80 	call	4b2c8 <alt_ic_isr_register>
#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;
   4a580:	e0bffd17 	ldw	r2,-12(fp)
   4a584:	10000915 	stw	zero,36(r2)

  if (alt_alarm_start(&sp->alarm, alt_ticks_per_second(), 
   4a588:	e0bffd17 	ldw	r2,-12(fp)
   4a58c:	10c00204 	addi	r3,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;
   4a590:	00800174 	movhi	r2,5
   4a594:	10be7c04 	addi	r2,r2,-1552
   4a598:	10800017 	ldw	r2,0(r2)
   4a59c:	1809883a 	mov	r4,r3
   4a5a0:	100b883a 	mov	r5,r2
   4a5a4:	01800174 	movhi	r6,5
   4a5a8:	31a9f804 	addi	r6,r6,-22560
   4a5ac:	e1fffd17 	ldw	r7,-12(fp)
   4a5b0:	004ae180 	call	4ae18 <alt_alarm_start>
   4a5b4:	1000040e 	bge	r2,zero,4a5c8 <altera_avalon_jtag_uart_init+0xac>
    &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;
   4a5b8:	e0bffd17 	ldw	r2,-12(fp)
   4a5bc:	00e00034 	movhi	r3,32768
   4a5c0:	18ffffc4 	addi	r3,r3,-1
   4a5c4:	10c00115 	stw	r3,4(r2)
  }

  /* ALT_LOG - see altera_hal/HAL/inc/sys/alt_log_printf.h */ 
  ALT_LOG_JTAG_UART_ALARM_REGISTER(sp, sp->base);
}
   4a5c8:	e037883a 	mov	sp,fp
   4a5cc:	dfc00117 	ldw	ra,4(sp)
   4a5d0:	df000017 	ldw	fp,0(sp)
   4a5d4:	dec00204 	addi	sp,sp,8
   4a5d8:	f800283a 	ret

0004a5dc <altera_avalon_jtag_uart_irq>:
#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
{
   4a5dc:	defff804 	addi	sp,sp,-32
   4a5e0:	df000715 	stw	fp,28(sp)
   4a5e4:	df000704 	addi	fp,sp,28
   4a5e8:	e13fff15 	stw	r4,-4(fp)
  altera_avalon_jtag_uart_state* sp = (altera_avalon_jtag_uart_state*) context;
   4a5ec:	e0bfff17 	ldw	r2,-4(fp)
   4a5f0:	e0bffb15 	stw	r2,-20(fp)
  unsigned int base = sp->base;
   4a5f4:	e0bffb17 	ldw	r2,-20(fp)
   4a5f8:	10800017 	ldw	r2,0(r2)
   4a5fc:	e0bffc15 	stw	r2,-16(fp)
   4a600:	00000106 	br	4a608 <altera_avalon_jtag_uart_irq+0x2c>
        
        /* Dummy read to ensure IRQ is cleared prior to ISR completion */
        IORD_ALTERA_AVALON_JTAG_UART_CONTROL(base);
      }
    }
  }
   4a604:	0001883a 	nop
  /* 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);
   4a608:	e0bffc17 	ldw	r2,-16(fp)
   4a60c:	10800104 	addi	r2,r2,4
   4a610:	10800037 	ldwio	r2,0(r2)
   4a614:	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)
   4a618:	e0bffd17 	ldw	r2,-12(fp)
   4a61c:	1080c00c 	andi	r2,r2,768
   4a620:	10006a26 	beq	r2,zero,4a7cc <altera_avalon_jtag_uart_irq+0x1f0>
      break;

    if (control & ALTERA_AVALON_JTAG_UART_CONTROL_RI_MSK)
   4a624:	e0bffd17 	ldw	r2,-12(fp)
   4a628:	1080400c 	andi	r2,r2,256
   4a62c:	10003326 	beq	r2,zero,4a6fc <altera_avalon_jtag_uart_irq+0x120>
    {
      /* 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;
   4a630:	00800074 	movhi	r2,1
   4a634:	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;
   4a638:	e0bffb17 	ldw	r2,-20(fp)
   4a63c:	10800a17 	ldw	r2,40(r2)
   4a640:	10800044 	addi	r2,r2,1
   4a644:	1081ffcc 	andi	r2,r2,2047
   4a648:	e0bffe15 	stw	r2,-8(fp)
        if (next == sp->rx_out)
   4a64c:	e0bffb17 	ldw	r2,-20(fp)
   4a650:	10c00b17 	ldw	r3,44(r2)
   4a654:	e0bffe17 	ldw	r2,-8(fp)
   4a658:	18801426 	beq	r3,r2,4a6ac <altera_avalon_jtag_uart_irq+0xd0>
          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);
   4a65c:	e0bffc17 	ldw	r2,-16(fp)
   4a660:	10800037 	ldwio	r2,0(r2)
   4a664:	e0bff915 	stw	r2,-28(fp)
        
        if ((data & ALTERA_AVALON_JTAG_UART_DATA_RVALID_MSK) == 0)
   4a668:	e0bff917 	ldw	r2,-28(fp)
   4a66c:	10a0000c 	andi	r2,r2,32768
   4a670:	10001026 	beq	r2,zero,4a6b4 <altera_avalon_jtag_uart_irq+0xd8>
          break;

        sp->rx_buf[sp->rx_in] = (data & ALTERA_AVALON_JTAG_UART_DATA_DATA_MSK) >> ALTERA_AVALON_JTAG_UART_DATA_DATA_OFST;
   4a674:	e0bffb17 	ldw	r2,-20(fp)
   4a678:	10800a17 	ldw	r2,40(r2)
   4a67c:	e0fff917 	ldw	r3,-28(fp)
   4a680:	e13ffb17 	ldw	r4,-20(fp)
   4a684:	2085883a 	add	r2,r4,r2
   4a688:	10800e04 	addi	r2,r2,56
   4a68c:	10c00005 	stb	r3,0(r2)
        sp->rx_in = (sp->rx_in + 1) % ALTERA_AVALON_JTAG_UART_BUF_LEN;
   4a690:	e0bffb17 	ldw	r2,-20(fp)
   4a694:	10800a17 	ldw	r2,40(r2)
   4a698:	10800044 	addi	r2,r2,1
   4a69c:	10c1ffcc 	andi	r3,r2,2047
   4a6a0:	e0bffb17 	ldw	r2,-20(fp)
   4a6a4:	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);
      }
   4a6a8:	003fe306 	br	4a638 <__alt_data_end+0xfffe3538>
        /* 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;
   4a6ac:	0001883a 	nop
   4a6b0:	00000106 	br	4a6b8 <altera_avalon_jtag_uart_irq+0xdc>
         * are any more characters remaining.
         */
        data = IORD_ALTERA_AVALON_JTAG_UART_DATA(base);
        
        if ((data & ALTERA_AVALON_JTAG_UART_DATA_RVALID_MSK) == 0)
          break;
   4a6b4:	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)
   4a6b8:	e0bff917 	ldw	r2,-28(fp)
   4a6bc:	10bfffec 	andhi	r2,r2,65535
   4a6c0:	10000e26 	beq	r2,zero,4a6fc <altera_avalon_jtag_uart_irq+0x120>
      {
        /* 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;
   4a6c4:	e0bffb17 	ldw	r2,-20(fp)
   4a6c8:	10c00817 	ldw	r3,32(r2)
   4a6cc:	00bfff84 	movi	r2,-2
   4a6d0:	1886703a 	and	r3,r3,r2
   4a6d4:	e0bffb17 	ldw	r2,-20(fp)
   4a6d8:	10c00815 	stw	r3,32(r2)
        IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(base, sp->irq_enable);
   4a6dc:	e0bffc17 	ldw	r2,-16(fp)
   4a6e0:	10800104 	addi	r2,r2,4
   4a6e4:	e0fffb17 	ldw	r3,-20(fp)
   4a6e8:	18c00817 	ldw	r3,32(r3)
   4a6ec:	10c00035 	stwio	r3,0(r2)
        
        /* Dummy read to ensure IRQ is cleared prior to ISR completion */
        IORD_ALTERA_AVALON_JTAG_UART_CONTROL(base);
   4a6f0:	e0bffc17 	ldw	r2,-16(fp)
   4a6f4:	10800104 	addi	r2,r2,4
   4a6f8:	10800037 	ldwio	r2,0(r2)
      }
    }

    if (control & ALTERA_AVALON_JTAG_UART_CONTROL_WI_MSK)
   4a6fc:	e0bffd17 	ldw	r2,-12(fp)
   4a700:	1080800c 	andi	r2,r2,512
   4a704:	103fbf26 	beq	r2,zero,4a604 <__alt_data_end+0xfffe3504>
    {
      /* process a write irq */
      unsigned int space = (control & ALTERA_AVALON_JTAG_UART_CONTROL_WSPACE_MSK) >> ALTERA_AVALON_JTAG_UART_CONTROL_WSPACE_OFST;
   4a708:	e0bffd17 	ldw	r2,-12(fp)
   4a70c:	1004d43a 	srli	r2,r2,16
   4a710:	e0bffa15 	stw	r2,-24(fp)

      while (space > 0 && sp->tx_out != sp->tx_in)
   4a714:	00001406 	br	4a768 <altera_avalon_jtag_uart_irq+0x18c>
      {
        IOWR_ALTERA_AVALON_JTAG_UART_DATA(base, sp->tx_buf[sp->tx_out]);
   4a718:	e0bffc17 	ldw	r2,-16(fp)
   4a71c:	e0fffb17 	ldw	r3,-20(fp)
   4a720:	18c00d17 	ldw	r3,52(r3)
   4a724:	e13ffb17 	ldw	r4,-20(fp)
   4a728:	20c7883a 	add	r3,r4,r3
   4a72c:	18c20e04 	addi	r3,r3,2104
   4a730:	18c00003 	ldbu	r3,0(r3)
   4a734:	18c03fcc 	andi	r3,r3,255
   4a738:	18c0201c 	xori	r3,r3,128
   4a73c:	18ffe004 	addi	r3,r3,-128
   4a740:	10c00035 	stwio	r3,0(r2)

        sp->tx_out = (sp->tx_out + 1) % ALTERA_AVALON_JTAG_UART_BUF_LEN;
   4a744:	e0bffb17 	ldw	r2,-20(fp)
   4a748:	10800d17 	ldw	r2,52(r2)
   4a74c:	10800044 	addi	r2,r2,1
   4a750:	10c1ffcc 	andi	r3,r2,2047
   4a754:	e0bffb17 	ldw	r2,-20(fp)
   4a758:	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--;
   4a75c:	e0bffa17 	ldw	r2,-24(fp)
   4a760:	10bfffc4 	addi	r2,r2,-1
   4a764:	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)
   4a768:	e0bffa17 	ldw	r2,-24(fp)
   4a76c:	10000526 	beq	r2,zero,4a784 <altera_avalon_jtag_uart_irq+0x1a8>
   4a770:	e0bffb17 	ldw	r2,-20(fp)
   4a774:	10c00d17 	ldw	r3,52(r2)
   4a778:	e0bffb17 	ldw	r2,-20(fp)
   4a77c:	10800c17 	ldw	r2,48(r2)
   4a780:	18bfe51e 	bne	r3,r2,4a718 <__alt_data_end+0xfffe3618>
        ALT_FLAG_POST (sp->events, ALT_JTAG_UART_WRITE_RDY, OS_FLAG_SET);

        space--;
      }

      if (space > 0)
   4a784:	e0bffa17 	ldw	r2,-24(fp)
   4a788:	103f9e26 	beq	r2,zero,4a604 <__alt_data_end+0xfffe3504>
      {
        /* 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;
   4a78c:	e0bffb17 	ldw	r2,-20(fp)
   4a790:	10c00817 	ldw	r3,32(r2)
   4a794:	00bfff44 	movi	r2,-3
   4a798:	1886703a 	and	r3,r3,r2
   4a79c:	e0bffb17 	ldw	r2,-20(fp)
   4a7a0:	10c00815 	stw	r3,32(r2)
        IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base, sp->irq_enable);
   4a7a4:	e0bffb17 	ldw	r2,-20(fp)
   4a7a8:	10800017 	ldw	r2,0(r2)
   4a7ac:	10800104 	addi	r2,r2,4
   4a7b0:	e0fffb17 	ldw	r3,-20(fp)
   4a7b4:	18c00817 	ldw	r3,32(r3)
   4a7b8:	10c00035 	stwio	r3,0(r2)
        
        /* Dummy read to ensure IRQ is cleared prior to ISR completion */
        IORD_ALTERA_AVALON_JTAG_UART_CONTROL(base);
   4a7bc:	e0bffc17 	ldw	r2,-16(fp)
   4a7c0:	10800104 	addi	r2,r2,4
   4a7c4:	10800037 	ldwio	r2,0(r2)
      }
    }
  }
   4a7c8:	003f8e06 	br	4a604 <__alt_data_end+0xfffe3504>
  {
    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;
   4a7cc:	0001883a 	nop
        /* Dummy read to ensure IRQ is cleared prior to ISR completion */
        IORD_ALTERA_AVALON_JTAG_UART_CONTROL(base);
      }
    }
  }
}
   4a7d0:	e037883a 	mov	sp,fp
   4a7d4:	df000017 	ldw	fp,0(sp)
   4a7d8:	dec00104 	addi	sp,sp,4
   4a7dc:	f800283a 	ret

0004a7e0 <altera_avalon_jtag_uart_timeout>:
 * Timeout routine is called every second
 */

static alt_u32 
altera_avalon_jtag_uart_timeout(void* context) 
{
   4a7e0:	defffc04 	addi	sp,sp,-16
   4a7e4:	df000315 	stw	fp,12(sp)
   4a7e8:	df000304 	addi	fp,sp,12
   4a7ec:	e13fff15 	stw	r4,-4(fp)
  altera_avalon_jtag_uart_state* sp = (altera_avalon_jtag_uart_state *) context;
   4a7f0:	e0bfff17 	ldw	r2,-4(fp)
   4a7f4:	e0bffd15 	stw	r2,-12(fp)

  unsigned int control = IORD_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base);
   4a7f8:	e0bffd17 	ldw	r2,-12(fp)
   4a7fc:	10800017 	ldw	r2,0(r2)
   4a800:	10800104 	addi	r2,r2,4
   4a804:	10800037 	ldwio	r2,0(r2)
   4a808:	e0bffe15 	stw	r2,-8(fp)

  if (control & ALTERA_AVALON_JTAG_UART_CONTROL_AC_MSK)
   4a80c:	e0bffe17 	ldw	r2,-8(fp)
   4a810:	1081000c 	andi	r2,r2,1024
   4a814:	10000a26 	beq	r2,zero,4a840 <altera_avalon_jtag_uart_timeout+0x60>
  {
    IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base, sp->irq_enable | ALTERA_AVALON_JTAG_UART_CONTROL_AC_MSK);
   4a818:	e0bffd17 	ldw	r2,-12(fp)
   4a81c:	10800017 	ldw	r2,0(r2)
   4a820:	10800104 	addi	r2,r2,4
   4a824:	e0fffd17 	ldw	r3,-12(fp)
   4a828:	18c00817 	ldw	r3,32(r3)
   4a82c:	18c10014 	ori	r3,r3,1024
   4a830:	10c00035 	stwio	r3,0(r2)
    sp->host_inactive = 0;
   4a834:	e0bffd17 	ldw	r2,-12(fp)
   4a838:	10000915 	stw	zero,36(r2)
   4a83c:	00000a06 	br	4a868 <altera_avalon_jtag_uart_timeout+0x88>
  }
  else if (sp->host_inactive < INT_MAX - 2) {
   4a840:	e0bffd17 	ldw	r2,-12(fp)
   4a844:	10800917 	ldw	r2,36(r2)
   4a848:	00e00034 	movhi	r3,32768
   4a84c:	18ffff04 	addi	r3,r3,-4
   4a850:	18800536 	bltu	r3,r2,4a868 <altera_avalon_jtag_uart_timeout+0x88>
    sp->host_inactive++;
   4a854:	e0bffd17 	ldw	r2,-12(fp)
   4a858:	10800917 	ldw	r2,36(r2)
   4a85c:	10c00044 	addi	r3,r2,1
   4a860:	e0bffd17 	ldw	r2,-12(fp)
   4a864:	10c00915 	stw	r3,36(r2)
   4a868:	00800174 	movhi	r2,5
   4a86c:	10be7c04 	addi	r2,r2,-1552
   4a870:	10800017 	ldw	r2,0(r2)
      ALT_FLAG_POST (sp->events, ALT_JTAG_UART_TIMEOUT, OS_FLAG_SET);
    }
  }

  return alt_ticks_per_second();
}
   4a874:	e037883a 	mov	sp,fp
   4a878:	df000017 	ldw	fp,0(sp)
   4a87c:	dec00104 	addi	sp,sp,4
   4a880:	f800283a 	ret

0004a884 <altera_avalon_jtag_uart_close>:
 * 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)
{
   4a884:	defffd04 	addi	sp,sp,-12
   4a888:	df000215 	stw	fp,8(sp)
   4a88c:	df000204 	addi	fp,sp,8
   4a890:	e13ffe15 	stw	r4,-8(fp)
   4a894:	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) ) {
   4a898:	00000506 	br	4a8b0 <altera_avalon_jtag_uart_close+0x2c>
    if (flags & O_NONBLOCK) {
   4a89c:	e0bfff17 	ldw	r2,-4(fp)
   4a8a0:	1090000c 	andi	r2,r2,16384
   4a8a4:	10000226 	beq	r2,zero,4a8b0 <altera_avalon_jtag_uart_close+0x2c>
      return -EWOULDBLOCK; 
   4a8a8:	00bffd44 	movi	r2,-11
   4a8ac:	00000b06 	br	4a8dc <altera_avalon_jtag_uart_close+0x58>
{
  /* 
   * 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) ) {
   4a8b0:	e0bffe17 	ldw	r2,-8(fp)
   4a8b4:	10c00d17 	ldw	r3,52(r2)
   4a8b8:	e0bffe17 	ldw	r2,-8(fp)
   4a8bc:	10800c17 	ldw	r2,48(r2)
   4a8c0:	18800526 	beq	r3,r2,4a8d8 <altera_avalon_jtag_uart_close+0x54>
   4a8c4:	e0bffe17 	ldw	r2,-8(fp)
   4a8c8:	10c00917 	ldw	r3,36(r2)
   4a8cc:	e0bffe17 	ldw	r2,-8(fp)
   4a8d0:	10800117 	ldw	r2,4(r2)
   4a8d4:	18bff136 	bltu	r3,r2,4a89c <__alt_data_end+0xfffe379c>
    if (flags & O_NONBLOCK) {
      return -EWOULDBLOCK; 
    }
  }

  return 0;
   4a8d8:	0005883a 	mov	r2,zero
}
   4a8dc:	e037883a 	mov	sp,fp
   4a8e0:	df000017 	ldw	fp,0(sp)
   4a8e4:	dec00104 	addi	sp,sp,4
   4a8e8:	f800283a 	ret

0004a8ec <altera_avalon_jtag_uart_ioctl>:
/* ----------------------------------------------------------- */

int 
altera_avalon_jtag_uart_ioctl(altera_avalon_jtag_uart_state* sp, int req,
  void* arg)
{
   4a8ec:	defffa04 	addi	sp,sp,-24
   4a8f0:	df000515 	stw	fp,20(sp)
   4a8f4:	df000504 	addi	fp,sp,20
   4a8f8:	e13ffd15 	stw	r4,-12(fp)
   4a8fc:	e17ffe15 	stw	r5,-8(fp)
   4a900:	e1bfff15 	stw	r6,-4(fp)
  int rc = -ENOTTY;
   4a904:	00bff9c4 	movi	r2,-25
   4a908:	e0bffb15 	stw	r2,-20(fp)

  switch (req)
   4a90c:	e0bffe17 	ldw	r2,-8(fp)
   4a910:	10da8060 	cmpeqi	r3,r2,27137
   4a914:	1800031e 	bne	r3,zero,4a924 <altera_avalon_jtag_uart_ioctl+0x38>
   4a918:	109a80a0 	cmpeqi	r2,r2,27138
   4a91c:	1000181e 	bne	r2,zero,4a980 <altera_avalon_jtag_uart_ioctl+0x94>
   4a920:	00002606 	br	4a9bc <altera_avalon_jtag_uart_ioctl+0xd0>
  {
  case TIOCSTIMEOUT:
    /* Set the time to wait until assuming host is not connected */
    if (sp->timeout != INT_MAX)
   4a924:	e0bffd17 	ldw	r2,-12(fp)
   4a928:	10c00117 	ldw	r3,4(r2)
   4a92c:	00a00034 	movhi	r2,32768
   4a930:	10bfffc4 	addi	r2,r2,-1
   4a934:	18802226 	beq	r3,r2,4a9c0 <altera_avalon_jtag_uart_ioctl+0xd4>
    {
      int timeout = *((int *)arg);
   4a938:	e0bfff17 	ldw	r2,-4(fp)
   4a93c:	10800017 	ldw	r2,0(r2)
   4a940:	e0bffc15 	stw	r2,-16(fp)
      sp->timeout = (timeout >= 2 && timeout < INT_MAX) ? timeout : INT_MAX - 1;
   4a944:	e0bffc17 	ldw	r2,-16(fp)
   4a948:	10800090 	cmplti	r2,r2,2
   4a94c:	1000061e 	bne	r2,zero,4a968 <altera_avalon_jtag_uart_ioctl+0x7c>
   4a950:	e0fffc17 	ldw	r3,-16(fp)
   4a954:	00a00034 	movhi	r2,32768
   4a958:	10bfffc4 	addi	r2,r2,-1
   4a95c:	18800226 	beq	r3,r2,4a968 <altera_avalon_jtag_uart_ioctl+0x7c>
   4a960:	e0bffc17 	ldw	r2,-16(fp)
   4a964:	00000206 	br	4a970 <altera_avalon_jtag_uart_ioctl+0x84>
   4a968:	00a00034 	movhi	r2,32768
   4a96c:	10bfff84 	addi	r2,r2,-2
   4a970:	e0fffd17 	ldw	r3,-12(fp)
   4a974:	18800115 	stw	r2,4(r3)
      rc = 0;
   4a978:	e03ffb15 	stw	zero,-20(fp)
    }
    break;
   4a97c:	00001006 	br	4a9c0 <altera_avalon_jtag_uart_ioctl+0xd4>

  case TIOCGCONNECTED:
    /* Find out whether host is connected */
    if (sp->timeout != INT_MAX)
   4a980:	e0bffd17 	ldw	r2,-12(fp)
   4a984:	10c00117 	ldw	r3,4(r2)
   4a988:	00a00034 	movhi	r2,32768
   4a98c:	10bfffc4 	addi	r2,r2,-1
   4a990:	18800d26 	beq	r3,r2,4a9c8 <altera_avalon_jtag_uart_ioctl+0xdc>
    {
      *((int *)arg) = (sp->host_inactive < sp->timeout) ? 1 : 0;
   4a994:	e0bffd17 	ldw	r2,-12(fp)
   4a998:	10c00917 	ldw	r3,36(r2)
   4a99c:	e0bffd17 	ldw	r2,-12(fp)
   4a9a0:	10800117 	ldw	r2,4(r2)
   4a9a4:	1885803a 	cmpltu	r2,r3,r2
   4a9a8:	10c03fcc 	andi	r3,r2,255
   4a9ac:	e0bfff17 	ldw	r2,-4(fp)
   4a9b0:	10c00015 	stw	r3,0(r2)
      rc = 0;
   4a9b4:	e03ffb15 	stw	zero,-20(fp)
    }
    break;
   4a9b8:	00000306 	br	4a9c8 <altera_avalon_jtag_uart_ioctl+0xdc>

  default:
    break;
   4a9bc:	00000306 	br	4a9cc <altera_avalon_jtag_uart_ioctl+0xe0>
    {
      int timeout = *((int *)arg);
      sp->timeout = (timeout >= 2 && timeout < INT_MAX) ? timeout : INT_MAX - 1;
      rc = 0;
    }
    break;
   4a9c0:	0001883a 	nop
   4a9c4:	00000106 	br	4a9cc <altera_avalon_jtag_uart_ioctl+0xe0>
    if (sp->timeout != INT_MAX)
    {
      *((int *)arg) = (sp->host_inactive < sp->timeout) ? 1 : 0;
      rc = 0;
    }
    break;
   4a9c8:	0001883a 	nop

  default:
    break;
  }

  return rc;
   4a9cc:	e0bffb17 	ldw	r2,-20(fp)
}
   4a9d0:	e037883a 	mov	sp,fp
   4a9d4:	df000017 	ldw	fp,0(sp)
   4a9d8:	dec00104 	addi	sp,sp,4
   4a9dc:	f800283a 	ret

0004a9e0 <altera_avalon_jtag_uart_read>:
/* ----------------------------------------------------------- */

int 
altera_avalon_jtag_uart_read(altera_avalon_jtag_uart_state* sp, 
  char * buffer, int space, int flags)
{
   4a9e0:	defff304 	addi	sp,sp,-52
   4a9e4:	dfc00c15 	stw	ra,48(sp)
   4a9e8:	df000b15 	stw	fp,44(sp)
   4a9ec:	df000b04 	addi	fp,sp,44
   4a9f0:	e13ffc15 	stw	r4,-16(fp)
   4a9f4:	e17ffd15 	stw	r5,-12(fp)
   4a9f8:	e1bffe15 	stw	r6,-8(fp)
   4a9fc:	e1ffff15 	stw	r7,-4(fp)
  char * ptr = buffer;
   4aa00:	e0bffd17 	ldw	r2,-12(fp)
   4aa04:	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)
   4aa08:	00004706 	br	4ab28 <altera_avalon_jtag_uart_read+0x148>
    unsigned int in, out;

    /* Read as much data as possible */
    do
    {
      in  = sp->rx_in;
   4aa0c:	e0bffc17 	ldw	r2,-16(fp)
   4aa10:	10800a17 	ldw	r2,40(r2)
   4aa14:	e0bff715 	stw	r2,-36(fp)
      out = sp->rx_out;
   4aa18:	e0bffc17 	ldw	r2,-16(fp)
   4aa1c:	10800b17 	ldw	r2,44(r2)
   4aa20:	e0bff815 	stw	r2,-32(fp)

      if (in >= out)
   4aa24:	e0fff717 	ldw	r3,-36(fp)
   4aa28:	e0bff817 	ldw	r2,-32(fp)
   4aa2c:	18800536 	bltu	r3,r2,4aa44 <altera_avalon_jtag_uart_read+0x64>
        n = in - out;
   4aa30:	e0fff717 	ldw	r3,-36(fp)
   4aa34:	e0bff817 	ldw	r2,-32(fp)
   4aa38:	1885c83a 	sub	r2,r3,r2
   4aa3c:	e0bff615 	stw	r2,-40(fp)
   4aa40:	00000406 	br	4aa54 <altera_avalon_jtag_uart_read+0x74>
      else
        n = ALTERA_AVALON_JTAG_UART_BUF_LEN - out;
   4aa44:	00c20004 	movi	r3,2048
   4aa48:	e0bff817 	ldw	r2,-32(fp)
   4aa4c:	1885c83a 	sub	r2,r3,r2
   4aa50:	e0bff615 	stw	r2,-40(fp)

      if (n == 0)
   4aa54:	e0bff617 	ldw	r2,-40(fp)
   4aa58:	10001e26 	beq	r2,zero,4aad4 <altera_avalon_jtag_uart_read+0xf4>
        break; /* No more data available */

      if (n > space)
   4aa5c:	e0fffe17 	ldw	r3,-8(fp)
   4aa60:	e0bff617 	ldw	r2,-40(fp)
   4aa64:	1880022e 	bgeu	r3,r2,4aa70 <altera_avalon_jtag_uart_read+0x90>
        n = space;
   4aa68:	e0bffe17 	ldw	r2,-8(fp)
   4aa6c:	e0bff615 	stw	r2,-40(fp)

      memcpy(ptr, sp->rx_buf + out, n);
   4aa70:	e0bff817 	ldw	r2,-32(fp)
   4aa74:	10800e04 	addi	r2,r2,56
   4aa78:	e0fffc17 	ldw	r3,-16(fp)
   4aa7c:	1885883a 	add	r2,r3,r2
   4aa80:	e13ff517 	ldw	r4,-44(fp)
   4aa84:	100b883a 	mov	r5,r2
   4aa88:	e1bff617 	ldw	r6,-40(fp)
   4aa8c:	00460580 	call	46058 <memcpy>
      ptr   += n;
   4aa90:	e0fff517 	ldw	r3,-44(fp)
   4aa94:	e0bff617 	ldw	r2,-40(fp)
   4aa98:	1885883a 	add	r2,r3,r2
   4aa9c:	e0bff515 	stw	r2,-44(fp)
      space -= n;
   4aaa0:	e0fffe17 	ldw	r3,-8(fp)
   4aaa4:	e0bff617 	ldw	r2,-40(fp)
   4aaa8:	1885c83a 	sub	r2,r3,r2
   4aaac:	e0bffe15 	stw	r2,-8(fp)

      sp->rx_out = (out + n) % ALTERA_AVALON_JTAG_UART_BUF_LEN;
   4aab0:	e0fff817 	ldw	r3,-32(fp)
   4aab4:	e0bff617 	ldw	r2,-40(fp)
   4aab8:	1885883a 	add	r2,r3,r2
   4aabc:	10c1ffcc 	andi	r3,r2,2047
   4aac0:	e0bffc17 	ldw	r2,-16(fp)
   4aac4:	10c00b15 	stw	r3,44(r2)
    }
    while (space > 0);
   4aac8:	e0bffe17 	ldw	r2,-8(fp)
   4aacc:	00bfcf16 	blt	zero,r2,4aa0c <__alt_data_end+0xfffe390c>
   4aad0:	00000106 	br	4aad8 <altera_avalon_jtag_uart_read+0xf8>
        n = in - out;
      else
        n = ALTERA_AVALON_JTAG_UART_BUF_LEN - out;

      if (n == 0)
        break; /* No more data available */
   4aad4:	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)
   4aad8:	e0fff517 	ldw	r3,-44(fp)
   4aadc:	e0bffd17 	ldw	r2,-12(fp)
   4aae0:	1880141e 	bne	r3,r2,4ab34 <altera_avalon_jtag_uart_read+0x154>
      break;

    /* If in non-blocking mode then return error */
    if (flags & O_NONBLOCK)
   4aae4:	e0bfff17 	ldw	r2,-4(fp)
   4aae8:	1090000c 	andi	r2,r2,16384
   4aaec:	1000131e 	bne	r2,zero,4ab3c <altera_avalon_jtag_uart_read+0x15c>
      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)
   4aaf0:	0001883a 	nop
   4aaf4:	e0bffc17 	ldw	r2,-16(fp)
   4aaf8:	10c00a17 	ldw	r3,40(r2)
   4aafc:	e0bff717 	ldw	r2,-36(fp)
   4ab00:	1880051e 	bne	r3,r2,4ab18 <altera_avalon_jtag_uart_read+0x138>
   4ab04:	e0bffc17 	ldw	r2,-16(fp)
   4ab08:	10c00917 	ldw	r3,36(r2)
   4ab0c:	e0bffc17 	ldw	r2,-16(fp)
   4ab10:	10800117 	ldw	r2,4(r2)
   4ab14:	18bff736 	bltu	r3,r2,4aaf4 <__alt_data_end+0xfffe39f4>
      ;
#endif /* __ucosii__ */

    if (in == sp->rx_in)
   4ab18:	e0bffc17 	ldw	r2,-16(fp)
   4ab1c:	10c00a17 	ldw	r3,40(r2)
   4ab20:	e0bff717 	ldw	r2,-36(fp)
   4ab24:	18800726 	beq	r3,r2,4ab44 <altera_avalon_jtag_uart_read+0x164>
   * 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)
   4ab28:	e0bffe17 	ldw	r2,-8(fp)
   4ab2c:	00bfb716 	blt	zero,r2,4aa0c <__alt_data_end+0xfffe390c>
   4ab30:	00000506 	br	4ab48 <altera_avalon_jtag_uart_read+0x168>
    }
    while (space > 0);

    /* If we read any data then return it */
    if (ptr != buffer)
      break;
   4ab34:	0001883a 	nop
   4ab38:	00000306 	br	4ab48 <altera_avalon_jtag_uart_read+0x168>

    /* If in non-blocking mode then return error */
    if (flags & O_NONBLOCK)
      break;
   4ab3c:	0001883a 	nop
   4ab40:	00000106 	br	4ab48 <altera_avalon_jtag_uart_read+0x168>
    while (in == sp->rx_in && sp->host_inactive < sp->timeout)
      ;
#endif /* __ucosii__ */

    if (in == sp->rx_in)
      break;
   4ab44:	0001883a 	nop
   * semaphore so that other threads can access the buffer.
   */

  ALT_SEM_POST (sp->read_lock);

  if (ptr != buffer)
   4ab48:	e0fff517 	ldw	r3,-44(fp)
   4ab4c:	e0bffd17 	ldw	r2,-12(fp)
   4ab50:	18801726 	beq	r3,r2,4abb0 <altera_avalon_jtag_uart_read+0x1d0>
static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE 
       alt_irq_disable_all (void)
{
  alt_irq_context context;

  NIOS2_READ_STATUS (context);
   4ab54:	0005303a 	rdctl	r2,status
   4ab58:	e0bffa15 	stw	r2,-24(fp)

  NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK);
   4ab5c:	e0fffa17 	ldw	r3,-24(fp)
   4ab60:	00bfff84 	movi	r2,-2
   4ab64:	1884703a 	and	r2,r3,r2
   4ab68:	1001703a 	wrctl	status,r2
  
  return context;
   4ab6c:	e0bffa17 	ldw	r2,-24(fp)
  {
    /* If we read any data then there is space in the buffer so enable interrupts */
    context = alt_irq_disable_all();
   4ab70:	e0bff915 	stw	r2,-28(fp)
    sp->irq_enable |= ALTERA_AVALON_JTAG_UART_CONTROL_RE_MSK;
   4ab74:	e0bffc17 	ldw	r2,-16(fp)
   4ab78:	10800817 	ldw	r2,32(r2)
   4ab7c:	10c00054 	ori	r3,r2,1
   4ab80:	e0bffc17 	ldw	r2,-16(fp)
   4ab84:	10c00815 	stw	r3,32(r2)
    IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base, sp->irq_enable);
   4ab88:	e0bffc17 	ldw	r2,-16(fp)
   4ab8c:	10800017 	ldw	r2,0(r2)
   4ab90:	10800104 	addi	r2,r2,4
   4ab94:	e0fffc17 	ldw	r3,-16(fp)
   4ab98:	18c00817 	ldw	r3,32(r3)
   4ab9c:	10c00035 	stwio	r3,0(r2)
   4aba0:	e0bff917 	ldw	r2,-28(fp)
   4aba4:	e0bffb15 	stw	r2,-20(fp)
  status &= ~NIOS2_STATUS_PIE_MSK;
  status |= (context & NIOS2_STATUS_PIE_MSK);
  
  NIOS2_WRITE_STATUS (status);
#else
  NIOS2_WRITE_STATUS (context);
   4aba8:	e0bffb17 	ldw	r2,-20(fp)
   4abac:	1001703a 	wrctl	status,r2
    alt_irq_enable_all(context);
  }

  if (ptr != buffer)
   4abb0:	e0fff517 	ldw	r3,-44(fp)
   4abb4:	e0bffd17 	ldw	r2,-12(fp)
   4abb8:	18800426 	beq	r3,r2,4abcc <altera_avalon_jtag_uart_read+0x1ec>
    return ptr - buffer;
   4abbc:	e0fff517 	ldw	r3,-44(fp)
   4abc0:	e0bffd17 	ldw	r2,-12(fp)
   4abc4:	1885c83a 	sub	r2,r3,r2
   4abc8:	00000606 	br	4abe4 <altera_avalon_jtag_uart_read+0x204>
  else if (flags & O_NONBLOCK)
   4abcc:	e0bfff17 	ldw	r2,-4(fp)
   4abd0:	1090000c 	andi	r2,r2,16384
   4abd4:	10000226 	beq	r2,zero,4abe0 <altera_avalon_jtag_uart_read+0x200>
    return -EWOULDBLOCK;
   4abd8:	00bffd44 	movi	r2,-11
   4abdc:	00000106 	br	4abe4 <altera_avalon_jtag_uart_read+0x204>
  else
    return -EIO;
   4abe0:	00bffec4 	movi	r2,-5
}
   4abe4:	e037883a 	mov	sp,fp
   4abe8:	dfc00117 	ldw	ra,4(sp)
   4abec:	df000017 	ldw	fp,0(sp)
   4abf0:	dec00204 	addi	sp,sp,8
   4abf4:	f800283a 	ret

0004abf8 <altera_avalon_jtag_uart_write>:
/* ----------------------------------------------------------- */

int 
altera_avalon_jtag_uart_write(altera_avalon_jtag_uart_state* sp, 
  const char * ptr, int count, int flags)
{
   4abf8:	defff304 	addi	sp,sp,-52
   4abfc:	dfc00c15 	stw	ra,48(sp)
   4ac00:	df000b15 	stw	fp,44(sp)
   4ac04:	df000b04 	addi	fp,sp,44
   4ac08:	e13ffc15 	stw	r4,-16(fp)
   4ac0c:	e17ffd15 	stw	r5,-12(fp)
   4ac10:	e1bffe15 	stw	r6,-8(fp)
   4ac14:	e1ffff15 	stw	r7,-4(fp)
  /* Remove warning at optimisation level 03 by seting out to 0 */
  unsigned int in, out=0;
   4ac18:	e03ff515 	stw	zero,-44(fp)
  unsigned int n;
  alt_irq_context context;

  const char * start = ptr;
   4ac1c:	e0bffd17 	ldw	r2,-12(fp)
   4ac20:	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)
   4ac24:	00003706 	br	4ad04 <altera_avalon_jtag_uart_write+0x10c>
    {
      /* We need a stable value of the out pointer to calculate the space available */
      in  = sp->tx_in;
   4ac28:	e0bffc17 	ldw	r2,-16(fp)
   4ac2c:	10800c17 	ldw	r2,48(r2)
   4ac30:	e0bff815 	stw	r2,-32(fp)
      out = sp->tx_out;
   4ac34:	e0bffc17 	ldw	r2,-16(fp)
   4ac38:	10800d17 	ldw	r2,52(r2)
   4ac3c:	e0bff515 	stw	r2,-44(fp)

      if (in < out)
   4ac40:	e0fff817 	ldw	r3,-32(fp)
   4ac44:	e0bff517 	ldw	r2,-44(fp)
   4ac48:	1880062e 	bgeu	r3,r2,4ac64 <altera_avalon_jtag_uart_write+0x6c>
        n = out - 1 - in;
   4ac4c:	e0fff517 	ldw	r3,-44(fp)
   4ac50:	e0bff817 	ldw	r2,-32(fp)
   4ac54:	1885c83a 	sub	r2,r3,r2
   4ac58:	10bfffc4 	addi	r2,r2,-1
   4ac5c:	e0bff615 	stw	r2,-40(fp)
   4ac60:	00000b06 	br	4ac90 <altera_avalon_jtag_uart_write+0x98>
      else if (out > 0)
   4ac64:	e0bff517 	ldw	r2,-44(fp)
   4ac68:	10000526 	beq	r2,zero,4ac80 <altera_avalon_jtag_uart_write+0x88>
        n = ALTERA_AVALON_JTAG_UART_BUF_LEN - in;
   4ac6c:	00c20004 	movi	r3,2048
   4ac70:	e0bff817 	ldw	r2,-32(fp)
   4ac74:	1885c83a 	sub	r2,r3,r2
   4ac78:	e0bff615 	stw	r2,-40(fp)
   4ac7c:	00000406 	br	4ac90 <altera_avalon_jtag_uart_write+0x98>
      else
        n = ALTERA_AVALON_JTAG_UART_BUF_LEN - 1 - in;
   4ac80:	00c1ffc4 	movi	r3,2047
   4ac84:	e0bff817 	ldw	r2,-32(fp)
   4ac88:	1885c83a 	sub	r2,r3,r2
   4ac8c:	e0bff615 	stw	r2,-40(fp)

      if (n == 0)
   4ac90:	e0bff617 	ldw	r2,-40(fp)
   4ac94:	10001e26 	beq	r2,zero,4ad10 <altera_avalon_jtag_uart_write+0x118>
        break;

      if (n > count)
   4ac98:	e0fffe17 	ldw	r3,-8(fp)
   4ac9c:	e0bff617 	ldw	r2,-40(fp)
   4aca0:	1880022e 	bgeu	r3,r2,4acac <altera_avalon_jtag_uart_write+0xb4>
        n = count;
   4aca4:	e0bffe17 	ldw	r2,-8(fp)
   4aca8:	e0bff615 	stw	r2,-40(fp)

      memcpy(sp->tx_buf + in, ptr, n);
   4acac:	e0bff817 	ldw	r2,-32(fp)
   4acb0:	10820e04 	addi	r2,r2,2104
   4acb4:	e0fffc17 	ldw	r3,-16(fp)
   4acb8:	1885883a 	add	r2,r3,r2
   4acbc:	1009883a 	mov	r4,r2
   4acc0:	e17ffd17 	ldw	r5,-12(fp)
   4acc4:	e1bff617 	ldw	r6,-40(fp)
   4acc8:	00460580 	call	46058 <memcpy>
      ptr   += n;
   4accc:	e0fffd17 	ldw	r3,-12(fp)
   4acd0:	e0bff617 	ldw	r2,-40(fp)
   4acd4:	1885883a 	add	r2,r3,r2
   4acd8:	e0bffd15 	stw	r2,-12(fp)
      count -= n;
   4acdc:	e0fffe17 	ldw	r3,-8(fp)
   4ace0:	e0bff617 	ldw	r2,-40(fp)
   4ace4:	1885c83a 	sub	r2,r3,r2
   4ace8:	e0bffe15 	stw	r2,-8(fp)

      sp->tx_in = (in + n) % ALTERA_AVALON_JTAG_UART_BUF_LEN;
   4acec:	e0fff817 	ldw	r3,-32(fp)
   4acf0:	e0bff617 	ldw	r2,-40(fp)
   4acf4:	1885883a 	add	r2,r3,r2
   4acf8:	10c1ffcc 	andi	r3,r2,2047
   4acfc:	e0bffc17 	ldw	r2,-16(fp)
   4ad00:	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)
   4ad04:	e0bffe17 	ldw	r2,-8(fp)
   4ad08:	00bfc716 	blt	zero,r2,4ac28 <__alt_data_end+0xfffe3b28>
   4ad0c:	00000106 	br	4ad14 <altera_avalon_jtag_uart_write+0x11c>
        n = ALTERA_AVALON_JTAG_UART_BUF_LEN - in;
      else
        n = ALTERA_AVALON_JTAG_UART_BUF_LEN - 1 - in;

      if (n == 0)
        break;
   4ad10:	0001883a 	nop
static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE 
       alt_irq_disable_all (void)
{
  alt_irq_context context;

  NIOS2_READ_STATUS (context);
   4ad14:	0005303a 	rdctl	r2,status
   4ad18:	e0bffa15 	stw	r2,-24(fp)

  NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK);
   4ad1c:	e0fffa17 	ldw	r3,-24(fp)
   4ad20:	00bfff84 	movi	r2,-2
   4ad24:	1884703a 	and	r2,r3,r2
   4ad28:	1001703a 	wrctl	status,r2
  
  return context;
   4ad2c:	e0bffa17 	ldw	r2,-24(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();
   4ad30:	e0bff915 	stw	r2,-28(fp)
    sp->irq_enable |= ALTERA_AVALON_JTAG_UART_CONTROL_WE_MSK;
   4ad34:	e0bffc17 	ldw	r2,-16(fp)
   4ad38:	10800817 	ldw	r2,32(r2)
   4ad3c:	10c00094 	ori	r3,r2,2
   4ad40:	e0bffc17 	ldw	r2,-16(fp)
   4ad44:	10c00815 	stw	r3,32(r2)
    IOWR_ALTERA_AVALON_JTAG_UART_CONTROL(sp->base, sp->irq_enable);
   4ad48:	e0bffc17 	ldw	r2,-16(fp)
   4ad4c:	10800017 	ldw	r2,0(r2)
   4ad50:	10800104 	addi	r2,r2,4
   4ad54:	e0fffc17 	ldw	r3,-16(fp)
   4ad58:	18c00817 	ldw	r3,32(r3)
   4ad5c:	10c00035 	stwio	r3,0(r2)
   4ad60:	e0bff917 	ldw	r2,-28(fp)
   4ad64:	e0bffb15 	stw	r2,-20(fp)
  status &= ~NIOS2_STATUS_PIE_MSK;
  status |= (context & NIOS2_STATUS_PIE_MSK);
  
  NIOS2_WRITE_STATUS (status);
#else
  NIOS2_WRITE_STATUS (context);
   4ad68:	e0bffb17 	ldw	r2,-20(fp)
   4ad6c:	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)
   4ad70:	e0bffe17 	ldw	r2,-8(fp)
   4ad74:	0080100e 	bge	zero,r2,4adb8 <altera_avalon_jtag_uart_write+0x1c0>
    {
      if (flags & O_NONBLOCK)
   4ad78:	e0bfff17 	ldw	r2,-4(fp)
   4ad7c:	1090000c 	andi	r2,r2,16384
   4ad80:	1000101e 	bne	r2,zero,4adc4 <altera_avalon_jtag_uart_write+0x1cc>
      /*
       * 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)
   4ad84:	0001883a 	nop
   4ad88:	e0bffc17 	ldw	r2,-16(fp)
   4ad8c:	10c00d17 	ldw	r3,52(r2)
   4ad90:	e0bff517 	ldw	r2,-44(fp)
   4ad94:	1880051e 	bne	r3,r2,4adac <altera_avalon_jtag_uart_write+0x1b4>
   4ad98:	e0bffc17 	ldw	r2,-16(fp)
   4ad9c:	10c00917 	ldw	r3,36(r2)
   4ada0:	e0bffc17 	ldw	r2,-16(fp)
   4ada4:	10800117 	ldw	r2,4(r2)
   4ada8:	18bff736 	bltu	r3,r2,4ad88 <__alt_data_end+0xfffe3c88>
        ;
#endif /* __ucosii__ */

      if  (sp->host_inactive)
   4adac:	e0bffc17 	ldw	r2,-16(fp)
   4adb0:	10800917 	ldw	r2,36(r2)
   4adb4:	1000051e 	bne	r2,zero,4adcc <altera_avalon_jtag_uart_write+0x1d4>
         break;
    }
  }
  while (count > 0);
   4adb8:	e0bffe17 	ldw	r2,-8(fp)
   4adbc:	00bfd116 	blt	zero,r2,4ad04 <__alt_data_end+0xfffe3c04>
   4adc0:	00000306 	br	4add0 <altera_avalon_jtag_uart_write+0x1d8>
     */
    /* consider: test whether there is anything there while doing this and delay for at most 2s. */
    if (count > 0)
    {
      if (flags & O_NONBLOCK)
        break;
   4adc4:	0001883a 	nop
   4adc8:	00000106 	br	4add0 <altera_avalon_jtag_uart_write+0x1d8>
      while (out == sp->tx_out && sp->host_inactive < sp->timeout)
        ;
#endif /* __ucosii__ */

      if  (sp->host_inactive)
         break;
   4adcc:	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)
   4add0:	e0fffd17 	ldw	r3,-12(fp)
   4add4:	e0bff717 	ldw	r2,-36(fp)
   4add8:	18800426 	beq	r3,r2,4adec <altera_avalon_jtag_uart_write+0x1f4>
    return ptr - start;
   4addc:	e0fffd17 	ldw	r3,-12(fp)
   4ade0:	e0bff717 	ldw	r2,-36(fp)
   4ade4:	1885c83a 	sub	r2,r3,r2
   4ade8:	00000606 	br	4ae04 <altera_avalon_jtag_uart_write+0x20c>
  else if (flags & O_NONBLOCK)
   4adec:	e0bfff17 	ldw	r2,-4(fp)
   4adf0:	1090000c 	andi	r2,r2,16384
   4adf4:	10000226 	beq	r2,zero,4ae00 <altera_avalon_jtag_uart_write+0x208>
    return -EWOULDBLOCK;
   4adf8:	00bffd44 	movi	r2,-11
   4adfc:	00000106 	br	4ae04 <altera_avalon_jtag_uart_write+0x20c>
    sp->tx_out = sp->tx_in = 0;
    return ptr - start + count;
  }
#endif
  else
    return -EIO; /* Host not connected */
   4ae00:	00bffec4 	movi	r2,-5
}
   4ae04:	e037883a 	mov	sp,fp
   4ae08:	dfc00117 	ldw	ra,4(sp)
   4ae0c:	df000017 	ldw	fp,0(sp)
   4ae10:	dec00204 	addi	sp,sp,8
   4ae14:	f800283a 	ret

0004ae18 <alt_alarm_start>:
 */ 

int alt_alarm_start (alt_alarm* alarm, alt_u32 nticks,
                     alt_u32 (*callback) (void* context),
                     void* context)
{
   4ae18:	defff504 	addi	sp,sp,-44
   4ae1c:	df000a15 	stw	fp,40(sp)
   4ae20:	df000a04 	addi	fp,sp,40
   4ae24:	e13ffc15 	stw	r4,-16(fp)
   4ae28:	e17ffd15 	stw	r5,-12(fp)
   4ae2c:	e1bffe15 	stw	r6,-8(fp)
   4ae30:	e1ffff15 	stw	r7,-4(fp)
  alt_irq_context irq_context;
  alt_u32 current_nticks = 0;
   4ae34:	e03ff615 	stw	zero,-40(fp)
   4ae38:	00800174 	movhi	r2,5
   4ae3c:	10be7c04 	addi	r2,r2,-1552
   4ae40:	10800017 	ldw	r2,0(r2)
  
  if (alt_ticks_per_second ())
   4ae44:	10003f26 	beq	r2,zero,4af44 <alt_alarm_start+0x12c>
  {
    if (alarm)
   4ae48:	e0bffc17 	ldw	r2,-16(fp)
   4ae4c:	10003b26 	beq	r2,zero,4af3c <alt_alarm_start+0x124>
    {
      alarm->callback = callback;
   4ae50:	e0bffc17 	ldw	r2,-16(fp)
   4ae54:	e0fffe17 	ldw	r3,-8(fp)
   4ae58:	10c00315 	stw	r3,12(r2)
      alarm->context  = context;
   4ae5c:	e0bffc17 	ldw	r2,-16(fp)
   4ae60:	e0ffff17 	ldw	r3,-4(fp)
   4ae64:	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);
   4ae68:	0005303a 	rdctl	r2,status
   4ae6c:	e0bff815 	stw	r2,-32(fp)

  NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK);
   4ae70:	e0fff817 	ldw	r3,-32(fp)
   4ae74:	00bfff84 	movi	r2,-2
   4ae78:	1884703a 	and	r2,r3,r2
   4ae7c:	1001703a 	wrctl	status,r2
  
  return context;
   4ae80:	e0bff817 	ldw	r2,-32(fp)
 
      irq_context = alt_irq_disable_all ();
   4ae84:	e0bff715 	stw	r2,-36(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;
   4ae88:	00800174 	movhi	r2,5
   4ae8c:	10be7d04 	addi	r2,r2,-1548
   4ae90:	10800017 	ldw	r2,0(r2)
      
      current_nticks = alt_nticks();
   4ae94:	e0bff615 	stw	r2,-40(fp)
      
      alarm->time = nticks + current_nticks + 1; 
   4ae98:	e0fffd17 	ldw	r3,-12(fp)
   4ae9c:	e0bff617 	ldw	r2,-40(fp)
   4aea0:	1885883a 	add	r2,r3,r2
   4aea4:	10c00044 	addi	r3,r2,1
   4aea8:	e0bffc17 	ldw	r2,-16(fp)
   4aeac:	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)
   4aeb0:	e0bffc17 	ldw	r2,-16(fp)
   4aeb4:	10c00217 	ldw	r3,8(r2)
   4aeb8:	e0bff617 	ldw	r2,-40(fp)
   4aebc:	1880042e 	bgeu	r3,r2,4aed0 <alt_alarm_start+0xb8>
      {
        alarm->rollover = 1;
   4aec0:	e0bffc17 	ldw	r2,-16(fp)
   4aec4:	00c00044 	movi	r3,1
   4aec8:	10c00405 	stb	r3,16(r2)
   4aecc:	00000206 	br	4aed8 <alt_alarm_start+0xc0>
      }
      else
      {
        alarm->rollover = 0;
   4aed0:	e0bffc17 	ldw	r2,-16(fp)
   4aed4:	10000405 	stb	zero,16(r2)
      }
    
      alt_llist_insert (&alt_alarm_list, &alarm->llist);
   4aed8:	e0bffc17 	ldw	r2,-16(fp)
   4aedc:	00c00174 	movhi	r3,5
   4aee0:	18f7d904 	addi	r3,r3,-8348
   4aee4:	e0fff915 	stw	r3,-28(fp)
   4aee8:	e0bffa15 	stw	r2,-24(fp)
 */

static ALT_INLINE void ALT_ALWAYS_INLINE alt_llist_insert(alt_llist* list, 
                alt_llist* entry)
{
  entry->previous = list;
   4aeec:	e0bffa17 	ldw	r2,-24(fp)
   4aef0:	e0fff917 	ldw	r3,-28(fp)
   4aef4:	10c00115 	stw	r3,4(r2)
  entry->next     = list->next;
   4aef8:	e0bff917 	ldw	r2,-28(fp)
   4aefc:	10c00017 	ldw	r3,0(r2)
   4af00:	e0bffa17 	ldw	r2,-24(fp)
   4af04:	10c00015 	stw	r3,0(r2)

  list->next->previous = entry;
   4af08:	e0bff917 	ldw	r2,-28(fp)
   4af0c:	10800017 	ldw	r2,0(r2)
   4af10:	e0fffa17 	ldw	r3,-24(fp)
   4af14:	10c00115 	stw	r3,4(r2)
  list->next           = entry;
   4af18:	e0bff917 	ldw	r2,-28(fp)
   4af1c:	e0fffa17 	ldw	r3,-24(fp)
   4af20:	10c00015 	stw	r3,0(r2)
   4af24:	e0bff717 	ldw	r2,-36(fp)
   4af28:	e0bffb15 	stw	r2,-20(fp)
  status &= ~NIOS2_STATUS_PIE_MSK;
  status |= (context & NIOS2_STATUS_PIE_MSK);
  
  NIOS2_WRITE_STATUS (status);
#else
  NIOS2_WRITE_STATUS (context);
   4af2c:	e0bffb17 	ldw	r2,-20(fp)
   4af30:	1001703a 	wrctl	status,r2
      alt_irq_enable_all (irq_context);

      return 0;
   4af34:	0005883a 	mov	r2,zero
   4af38:	00000306 	br	4af48 <alt_alarm_start+0x130>
    }
    else
    {
      return -EINVAL;
   4af3c:	00bffa84 	movi	r2,-22
   4af40:	00000106 	br	4af48 <alt_alarm_start+0x130>
    }
  }
  else
  {
    return -ENOTSUP;
   4af44:	00bfde84 	movi	r2,-134
  }
}
   4af48:	e037883a 	mov	sp,fp
   4af4c:	df000017 	ldw	fp,0(sp)
   4af50:	dec00104 	addi	sp,sp,4
   4af54:	f800283a 	ret

0004af58 <alt_busy_sleep>:
#include "alt_types.h"

#include "priv/alt_busy_sleep.h"

unsigned int alt_busy_sleep (unsigned int us)
{
   4af58:	defffa04 	addi	sp,sp,-24
   4af5c:	dfc00515 	stw	ra,20(sp)
   4af60:	df000415 	stw	fp,16(sp)
   4af64:	df000404 	addi	fp,sp,16
   4af68:	e13fff15 	stw	r4,-4(fp)
  {
    cycles_per_loop = 9;
  }
  else  
  {
    cycles_per_loop = 3;
   4af6c:	008000c4 	movi	r2,3
   4af70:	e0bffd15 	stw	r2,-12(fp)
  }
  

  big_loops = us / (INT_MAX/
  (ALT_CPU_FREQ/(cycles_per_loop * 1000000)));
   4af74:	e0fffd17 	ldw	r3,-12(fp)
   4af78:	008003f4 	movhi	r2,15
   4af7c:	10909004 	addi	r2,r2,16960
   4af80:	1885383a 	mul	r2,r3,r2
   4af84:	01017db4 	movhi	r4,1526
   4af88:	21384004 	addi	r4,r4,-7936
   4af8c:	100b883a 	mov	r5,r2
   4af90:	00498140 	call	49814 <__udivsi3>
  {
    cycles_per_loop = 3;
  }
  

  big_loops = us / (INT_MAX/
   4af94:	01200034 	movhi	r4,32768
   4af98:	213fffc4 	addi	r4,r4,-1
   4af9c:	100b883a 	mov	r5,r2
   4afa0:	00498140 	call	49814 <__udivsi3>
   4afa4:	e13fff17 	ldw	r4,-4(fp)
   4afa8:	100b883a 	mov	r5,r2
   4afac:	00498140 	call	49814 <__udivsi3>
   4afb0:	e0bffe15 	stw	r2,-8(fp)
  (ALT_CPU_FREQ/(cycles_per_loop * 1000000)));

  if (big_loops)
   4afb4:	e0bffe17 	ldw	r2,-8(fp)
   4afb8:	10002926 	beq	r2,zero,4b060 <alt_busy_sleep+0x108>
  {
    for(i=0;i<big_loops;i++)
   4afbc:	e03ffc15 	stw	zero,-16(fp)
   4afc0:	00001606 	br	4b01c <alt_busy_sleep+0xc4>
      /*
      * 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 (
   4afc4:	00a00034 	movhi	r2,32768
   4afc8:	10bfffc4 	addi	r2,r2,-1
   4afcc:	10bfffc4 	addi	r2,r2,-1
   4afd0:	103ffe1e 	bne	r2,zero,4afcc <__alt_data_end+0xfffe3ecc>
        "\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)));
   4afd4:	e0fffd17 	ldw	r3,-12(fp)
   4afd8:	008003f4 	movhi	r2,15
   4afdc:	10909004 	addi	r2,r2,16960
   4afe0:	1885383a 	mul	r2,r3,r2
        "\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/
   4afe4:	01017db4 	movhi	r4,1526
   4afe8:	21384004 	addi	r4,r4,-7936
   4afec:	100b883a 	mov	r5,r2
   4aff0:	00498140 	call	49814 <__udivsi3>
   4aff4:	01200034 	movhi	r4,32768
   4aff8:	213fffc4 	addi	r4,r4,-1
   4affc:	100b883a 	mov	r5,r2
   4b000:	00498140 	call	49814 <__udivsi3>
   4b004:	e0ffff17 	ldw	r3,-4(fp)
   4b008:	1885c83a 	sub	r2,r3,r2
   4b00c:	e0bfff15 	stw	r2,-4(fp)
  big_loops = us / (INT_MAX/
  (ALT_CPU_FREQ/(cycles_per_loop * 1000000)));

  if (big_loops)
  {
    for(i=0;i<big_loops;i++)
   4b010:	e0bffc17 	ldw	r2,-16(fp)
   4b014:	10800044 	addi	r2,r2,1
   4b018:	e0bffc15 	stw	r2,-16(fp)
   4b01c:	e0fffc17 	ldw	r3,-16(fp)
   4b020:	e0bffe17 	ldw	r2,-8(fp)
   4b024:	18bfe716 	blt	r3,r2,4afc4 <__alt_data_end+0xfffe3ec4>
      "\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))));
   4b028:	e0fffd17 	ldw	r3,-12(fp)
   4b02c:	008003f4 	movhi	r2,15
   4b030:	10909004 	addi	r2,r2,16960
   4b034:	1885383a 	mul	r2,r3,r2
   4b038:	01017db4 	movhi	r4,1526
   4b03c:	21384004 	addi	r4,r4,-7936
   4b040:	100b883a 	mov	r5,r2
   4b044:	00498140 	call	49814 <__udivsi3>
   4b048:	1007883a 	mov	r3,r2
   4b04c:	e0bfff17 	ldw	r2,-4(fp)
   4b050:	1885383a 	mul	r2,r3,r2
    /*
    * 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 (
   4b054:	10bfffc4 	addi	r2,r2,-1
   4b058:	103ffe1e 	bne	r2,zero,4b054 <__alt_data_end+0xfffe3f54>
   4b05c:	00000d06 	br	4b094 <alt_busy_sleep+0x13c>
      "\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))));
   4b060:	e0fffd17 	ldw	r3,-12(fp)
   4b064:	008003f4 	movhi	r2,15
   4b068:	10909004 	addi	r2,r2,16960
   4b06c:	1885383a 	mul	r2,r3,r2
   4b070:	01017db4 	movhi	r4,1526
   4b074:	21384004 	addi	r4,r4,-7936
   4b078:	100b883a 	mov	r5,r2
   4b07c:	00498140 	call	49814 <__udivsi3>
   4b080:	1007883a 	mov	r3,r2
   4b084:	e0bfff17 	ldw	r2,-4(fp)
   4b088:	1885383a 	mul	r2,r3,r2
    /*
    * 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 (
   4b08c:	10bfffc4 	addi	r2,r2,-1
   4b090:	00bffe16 	blt	zero,r2,4b08c <__alt_data_end+0xfffe3f8c>
      "\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;
   4b094:	0005883a 	mov	r2,zero
}
   4b098:	e037883a 	mov	sp,fp
   4b09c:	dfc00117 	ldw	ra,4(sp)
   4b0a0:	df000017 	ldw	fp,0(sp)
   4b0a4:	dec00204 	addi	sp,sp,8
   4b0a8:	f800283a 	ret

0004b0ac <alt_dcache_flush_all>:
/*
 * alt_dcache_flush_all() is called to flush the entire data cache.
 */

void alt_dcache_flush_all (void)
{
   4b0ac:	defffe04 	addi	sp,sp,-8
   4b0b0:	df000115 	stw	fp,4(sp)
   4b0b4:	df000104 	addi	fp,sp,4
#if NIOS2_DCACHE_SIZE > 0
  char* i;
  
  for (i = (char*) 0; i < (char*) NIOS2_DCACHE_SIZE; i+= NIOS2_DCACHE_LINE_SIZE)
   4b0b8:	e03fff15 	stw	zero,-4(fp)
   4b0bc:	00000506 	br	4b0d4 <alt_dcache_flush_all+0x28>
  { 
    __asm__ volatile ("flushd (%0)" :: "r" (i));
   4b0c0:	e0bfff17 	ldw	r2,-4(fp)
   4b0c4:	1000003b 	flushd	0(r2)
void alt_dcache_flush_all (void)
{
#if NIOS2_DCACHE_SIZE > 0
  char* i;
  
  for (i = (char*) 0; i < (char*) NIOS2_DCACHE_SIZE; i+= NIOS2_DCACHE_LINE_SIZE)
   4b0c8:	e0bfff17 	ldw	r2,-4(fp)
   4b0cc:	10800804 	addi	r2,r2,32
   4b0d0:	e0bfff15 	stw	r2,-4(fp)
   4b0d4:	e0bfff17 	ldw	r2,-4(fp)
   4b0d8:	10820030 	cmpltui	r2,r2,2048
   4b0dc:	103ff81e 	bne	r2,zero,4b0c0 <__alt_data_end+0xfffe3fc0>
  { 
    __asm__ volatile ("flushd (%0)" :: "r" (i));
  }
#endif /* NIOS2_DCACHE_SIZE > 0 */
}
   4b0e0:	e037883a 	mov	sp,fp
   4b0e4:	df000017 	ldw	fp,0(sp)
   4b0e8:	dec00104 	addi	sp,sp,4
   4b0ec:	f800283a 	ret

0004b0f0 <alt_get_errno>:
#undef errno

extern int errno;

static ALT_INLINE int* alt_get_errno(void)
{
   4b0f0:	defffe04 	addi	sp,sp,-8
   4b0f4:	dfc00115 	stw	ra,4(sp)
   4b0f8:	df000015 	stw	fp,0(sp)
   4b0fc:	d839883a 	mov	fp,sp
  return ((alt_errno) ? alt_errno() : &errno);
   4b100:	00800174 	movhi	r2,5
   4b104:	10b7d604 	addi	r2,r2,-8360
   4b108:	10800017 	ldw	r2,0(r2)
   4b10c:	10000526 	beq	r2,zero,4b124 <alt_get_errno+0x34>
   4b110:	00800174 	movhi	r2,5
   4b114:	10b7d604 	addi	r2,r2,-8360
   4b118:	10800017 	ldw	r2,0(r2)
   4b11c:	103ee83a 	callr	r2
   4b120:	00000206 	br	4b12c <alt_get_errno+0x3c>
   4b124:	00800174 	movhi	r2,5
   4b128:	10be7704 	addi	r2,r2,-1572
}
   4b12c:	e037883a 	mov	sp,fp
   4b130:	dfc00117 	ldw	ra,4(sp)
   4b134:	df000017 	ldw	fp,0(sp)
   4b138:	dec00204 	addi	sp,sp,8
   4b13c:	f800283a 	ret

0004b140 <alt_dev_llist_insert>:
/*
 *
 */

int alt_dev_llist_insert (alt_dev_llist* dev, alt_llist* list)
{
   4b140:	defffa04 	addi	sp,sp,-24
   4b144:	dfc00515 	stw	ra,20(sp)
   4b148:	df000415 	stw	fp,16(sp)
   4b14c:	df000404 	addi	fp,sp,16
   4b150:	e13ffe15 	stw	r4,-8(fp)
   4b154:	e17fff15 	stw	r5,-4(fp)
  /*
   * check that the device exists, and that it has a valid name.
   */

  if (!dev || !dev->name)
   4b158:	e0bffe17 	ldw	r2,-8(fp)
   4b15c:	10000326 	beq	r2,zero,4b16c <alt_dev_llist_insert+0x2c>
   4b160:	e0bffe17 	ldw	r2,-8(fp)
   4b164:	10800217 	ldw	r2,8(r2)
   4b168:	1000051e 	bne	r2,zero,4b180 <alt_dev_llist_insert+0x40>
  {
    ALT_ERRNO = EINVAL;
   4b16c:	004b0f00 	call	4b0f0 <alt_get_errno>
   4b170:	00c00584 	movi	r3,22
   4b174:	10c00015 	stw	r3,0(r2)
    return -EINVAL;
   4b178:	00bffa84 	movi	r2,-22
   4b17c:	00001306 	br	4b1cc <alt_dev_llist_insert+0x8c>
  
  /*
   * register the device.
   */
  
  alt_llist_insert(list, &dev->llist);
   4b180:	e0bffe17 	ldw	r2,-8(fp)
   4b184:	e0ffff17 	ldw	r3,-4(fp)
   4b188:	e0fffc15 	stw	r3,-16(fp)
   4b18c:	e0bffd15 	stw	r2,-12(fp)
 */

static ALT_INLINE void ALT_ALWAYS_INLINE alt_llist_insert(alt_llist* list, 
                alt_llist* entry)
{
  entry->previous = list;
   4b190:	e0bffd17 	ldw	r2,-12(fp)
   4b194:	e0fffc17 	ldw	r3,-16(fp)
   4b198:	10c00115 	stw	r3,4(r2)
  entry->next     = list->next;
   4b19c:	e0bffc17 	ldw	r2,-16(fp)
   4b1a0:	10c00017 	ldw	r3,0(r2)
   4b1a4:	e0bffd17 	ldw	r2,-12(fp)
   4b1a8:	10c00015 	stw	r3,0(r2)

  list->next->previous = entry;
   4b1ac:	e0bffc17 	ldw	r2,-16(fp)
   4b1b0:	10800017 	ldw	r2,0(r2)
   4b1b4:	e0fffd17 	ldw	r3,-12(fp)
   4b1b8:	10c00115 	stw	r3,4(r2)
  list->next           = entry;
   4b1bc:	e0bffc17 	ldw	r2,-16(fp)
   4b1c0:	e0fffd17 	ldw	r3,-12(fp)
   4b1c4:	10c00015 	stw	r3,0(r2)

  return 0;  
   4b1c8:	0005883a 	mov	r2,zero
}
   4b1cc:	e037883a 	mov	sp,fp
   4b1d0:	dfc00117 	ldw	ra,4(sp)
   4b1d4:	df000017 	ldw	fp,0(sp)
   4b1d8:	dec00204 	addi	sp,sp,8
   4b1dc:	f800283a 	ret

0004b1e0 <_do_ctors>:
/*
 * Run the C++ static constructors.
 */

void _do_ctors(void)
{
   4b1e0:	defffd04 	addi	sp,sp,-12
   4b1e4:	dfc00215 	stw	ra,8(sp)
   4b1e8:	df000115 	stw	fp,4(sp)
   4b1ec:	df000104 	addi	fp,sp,4
  constructor* ctor;

  for (ctor = &__CTOR_END__[-1]; ctor >= __CTOR_LIST__; ctor--)
   4b1f0:	00800174 	movhi	r2,5
   4b1f4:	10b06a04 	addi	r2,r2,-15960
   4b1f8:	e0bfff15 	stw	r2,-4(fp)
   4b1fc:	00000606 	br	4b218 <_do_ctors+0x38>
        (*ctor) (); 
   4b200:	e0bfff17 	ldw	r2,-4(fp)
   4b204:	10800017 	ldw	r2,0(r2)
   4b208:	103ee83a 	callr	r2

void _do_ctors(void)
{
  constructor* ctor;

  for (ctor = &__CTOR_END__[-1]; ctor >= __CTOR_LIST__; ctor--)
   4b20c:	e0bfff17 	ldw	r2,-4(fp)
   4b210:	10bfff04 	addi	r2,r2,-4
   4b214:	e0bfff15 	stw	r2,-4(fp)
   4b218:	e0ffff17 	ldw	r3,-4(fp)
   4b21c:	00800174 	movhi	r2,5
   4b220:	10b06b04 	addi	r2,r2,-15956
   4b224:	18bff62e 	bgeu	r3,r2,4b200 <__alt_data_end+0xfffe4100>
        (*ctor) (); 
}
   4b228:	e037883a 	mov	sp,fp
   4b22c:	dfc00117 	ldw	ra,4(sp)
   4b230:	df000017 	ldw	fp,0(sp)
   4b234:	dec00204 	addi	sp,sp,8
   4b238:	f800283a 	ret

0004b23c <_do_dtors>:
/*
 * Run the C++ static destructors.
 */

void _do_dtors(void)
{
   4b23c:	defffd04 	addi	sp,sp,-12
   4b240:	dfc00215 	stw	ra,8(sp)
   4b244:	df000115 	stw	fp,4(sp)
   4b248:	df000104 	addi	fp,sp,4
  destructor* dtor;

  for (dtor = &__DTOR_END__[-1]; dtor >= __DTOR_LIST__; dtor--)
   4b24c:	00800174 	movhi	r2,5
   4b250:	10b06a04 	addi	r2,r2,-15960
   4b254:	e0bfff15 	stw	r2,-4(fp)
   4b258:	00000606 	br	4b274 <_do_dtors+0x38>
        (*dtor) (); 
   4b25c:	e0bfff17 	ldw	r2,-4(fp)
   4b260:	10800017 	ldw	r2,0(r2)
   4b264:	103ee83a 	callr	r2

void _do_dtors(void)
{
  destructor* dtor;

  for (dtor = &__DTOR_END__[-1]; dtor >= __DTOR_LIST__; dtor--)
   4b268:	e0bfff17 	ldw	r2,-4(fp)
   4b26c:	10bfff04 	addi	r2,r2,-4
   4b270:	e0bfff15 	stw	r2,-4(fp)
   4b274:	e0ffff17 	ldw	r3,-4(fp)
   4b278:	00800174 	movhi	r2,5
   4b27c:	10b06b04 	addi	r2,r2,-15956
   4b280:	18bff62e 	bgeu	r3,r2,4b25c <__alt_data_end+0xfffe415c>
        (*dtor) (); 
}
   4b284:	e037883a 	mov	sp,fp
   4b288:	dfc00117 	ldw	ra,4(sp)
   4b28c:	df000017 	ldw	fp,0(sp)
   4b290:	dec00204 	addi	sp,sp,8
   4b294:	f800283a 	ret

0004b298 <alt_icache_flush_all>:
/*
 * alt_icache_flush_all() is called to flush the entire instruction cache.
 */

void alt_icache_flush_all (void)
{
   4b298:	defffe04 	addi	sp,sp,-8
   4b29c:	dfc00115 	stw	ra,4(sp)
   4b2a0:	df000015 	stw	fp,0(sp)
   4b2a4:	d839883a 	mov	fp,sp
#if NIOS2_ICACHE_SIZE > 0
  alt_icache_flush (0, NIOS2_ICACHE_SIZE);
   4b2a8:	0009883a 	mov	r4,zero
   4b2ac:	01440004 	movi	r5,4096
   4b2b0:	004bd4c0 	call	4bd4c <alt_icache_flush>
#endif
}
   4b2b4:	e037883a 	mov	sp,fp
   4b2b8:	dfc00117 	ldw	ra,4(sp)
   4b2bc:	df000017 	ldw	fp,0(sp)
   4b2c0:	dec00204 	addi	sp,sp,8
   4b2c4:	f800283a 	ret

0004b2c8 <alt_ic_isr_register>:
  * @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)
{
   4b2c8:	defff904 	addi	sp,sp,-28
   4b2cc:	dfc00615 	stw	ra,24(sp)
   4b2d0:	df000515 	stw	fp,20(sp)
   4b2d4:	df000504 	addi	fp,sp,20
   4b2d8:	e13ffc15 	stw	r4,-16(fp)
   4b2dc:	e17ffd15 	stw	r5,-12(fp)
   4b2e0:	e1bffe15 	stw	r6,-8(fp)
   4b2e4:	e1ffff15 	stw	r7,-4(fp)
    return alt_iic_isr_register(ic_id, irq, isr, isr_context, flags);
   4b2e8:	e0800217 	ldw	r2,8(fp)
   4b2ec:	d8800015 	stw	r2,0(sp)
   4b2f0:	e13ffc17 	ldw	r4,-16(fp)
   4b2f4:	e17ffd17 	ldw	r5,-12(fp)
   4b2f8:	e1bffe17 	ldw	r6,-8(fp)
   4b2fc:	e1ffff17 	ldw	r7,-4(fp)
   4b300:	004b4a00 	call	4b4a0 <alt_iic_isr_register>
}  
   4b304:	e037883a 	mov	sp,fp
   4b308:	dfc00117 	ldw	ra,4(sp)
   4b30c:	df000017 	ldw	fp,0(sp)
   4b310:	dec00204 	addi	sp,sp,8
   4b314:	f800283a 	ret

0004b318 <alt_ic_irq_enable>:
  * @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)
{
   4b318:	defff904 	addi	sp,sp,-28
   4b31c:	df000615 	stw	fp,24(sp)
   4b320:	df000604 	addi	fp,sp,24
   4b324:	e13ffe15 	stw	r4,-8(fp)
   4b328:	e17fff15 	stw	r5,-4(fp)
   4b32c:	e0bfff17 	ldw	r2,-4(fp)
   4b330:	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);
   4b334:	0005303a 	rdctl	r2,status
   4b338:	e0bffb15 	stw	r2,-20(fp)

  NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK);
   4b33c:	e0fffb17 	ldw	r3,-20(fp)
   4b340:	00bfff84 	movi	r2,-2
   4b344:	1884703a 	and	r2,r3,r2
   4b348:	1001703a 	wrctl	status,r2
  
  return context;
   4b34c:	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 ();
   4b350:	e0bffc15 	stw	r2,-16(fp)

  alt_irq_active |= (1 << id);
   4b354:	e0bffa17 	ldw	r2,-24(fp)
   4b358:	00c00044 	movi	r3,1
   4b35c:	1884983a 	sll	r2,r3,r2
   4b360:	1007883a 	mov	r3,r2
   4b364:	00800174 	movhi	r2,5
   4b368:	10be7b04 	addi	r2,r2,-1556
   4b36c:	10800017 	ldw	r2,0(r2)
   4b370:	1886b03a 	or	r3,r3,r2
   4b374:	00800174 	movhi	r2,5
   4b378:	10be7b04 	addi	r2,r2,-1556
   4b37c:	10c00015 	stw	r3,0(r2)
  NIOS2_WRITE_IENABLE (alt_irq_active);
   4b380:	00800174 	movhi	r2,5
   4b384:	10be7b04 	addi	r2,r2,-1556
   4b388:	10800017 	ldw	r2,0(r2)
   4b38c:	100170fa 	wrctl	ienable,r2
   4b390:	e0bffc17 	ldw	r2,-16(fp)
   4b394:	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);
   4b398:	e0bffd17 	ldw	r2,-12(fp)
   4b39c:	1001703a 	wrctl	status,r2

  alt_irq_enable_all(status);

  return 0;
   4b3a0:	0005883a 	mov	r2,zero
    return alt_irq_enable(irq);
}
   4b3a4:	e037883a 	mov	sp,fp
   4b3a8:	df000017 	ldw	fp,0(sp)
   4b3ac:	dec00104 	addi	sp,sp,4
   4b3b0:	f800283a 	ret

0004b3b4 <alt_ic_irq_disable>:
  * @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)
{
   4b3b4:	defff904 	addi	sp,sp,-28
   4b3b8:	df000615 	stw	fp,24(sp)
   4b3bc:	df000604 	addi	fp,sp,24
   4b3c0:	e13ffe15 	stw	r4,-8(fp)
   4b3c4:	e17fff15 	stw	r5,-4(fp)
   4b3c8:	e0bfff17 	ldw	r2,-4(fp)
   4b3cc:	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);
   4b3d0:	0005303a 	rdctl	r2,status
   4b3d4:	e0bffb15 	stw	r2,-20(fp)

  NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK);
   4b3d8:	e0fffb17 	ldw	r3,-20(fp)
   4b3dc:	00bfff84 	movi	r2,-2
   4b3e0:	1884703a 	and	r2,r3,r2
   4b3e4:	1001703a 	wrctl	status,r2
  
  return context;
   4b3e8:	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 ();
   4b3ec:	e0bffc15 	stw	r2,-16(fp)

  alt_irq_active &= ~(1 << id);
   4b3f0:	e0bffa17 	ldw	r2,-24(fp)
   4b3f4:	00c00044 	movi	r3,1
   4b3f8:	1884983a 	sll	r2,r3,r2
   4b3fc:	0084303a 	nor	r2,zero,r2
   4b400:	1007883a 	mov	r3,r2
   4b404:	00800174 	movhi	r2,5
   4b408:	10be7b04 	addi	r2,r2,-1556
   4b40c:	10800017 	ldw	r2,0(r2)
   4b410:	1886703a 	and	r3,r3,r2
   4b414:	00800174 	movhi	r2,5
   4b418:	10be7b04 	addi	r2,r2,-1556
   4b41c:	10c00015 	stw	r3,0(r2)
  NIOS2_WRITE_IENABLE (alt_irq_active);
   4b420:	00800174 	movhi	r2,5
   4b424:	10be7b04 	addi	r2,r2,-1556
   4b428:	10800017 	ldw	r2,0(r2)
   4b42c:	100170fa 	wrctl	ienable,r2
   4b430:	e0bffc17 	ldw	r2,-16(fp)
   4b434:	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);
   4b438:	e0bffd17 	ldw	r2,-12(fp)
   4b43c:	1001703a 	wrctl	status,r2

  alt_irq_enable_all(status);

  return 0;
   4b440:	0005883a 	mov	r2,zero
    return alt_irq_disable(irq);
}
   4b444:	e037883a 	mov	sp,fp
   4b448:	df000017 	ldw	fp,0(sp)
   4b44c:	dec00104 	addi	sp,sp,4
   4b450:	f800283a 	ret

0004b454 <alt_ic_irq_enabled>:
  * @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)
{
   4b454:	defffc04 	addi	sp,sp,-16
   4b458:	df000315 	stw	fp,12(sp)
   4b45c:	df000304 	addi	fp,sp,12
   4b460:	e13ffe15 	stw	r4,-8(fp)
   4b464:	e17fff15 	stw	r5,-4(fp)
    alt_u32 irq_enabled;

    NIOS2_READ_IENABLE(irq_enabled);
   4b468:	000530fa 	rdctl	r2,ienable
   4b46c:	e0bffd15 	stw	r2,-12(fp)

    return (irq_enabled & (1 << irq)) ? 1: 0;
   4b470:	e0bfff17 	ldw	r2,-4(fp)
   4b474:	00c00044 	movi	r3,1
   4b478:	1884983a 	sll	r2,r3,r2
   4b47c:	1007883a 	mov	r3,r2
   4b480:	e0bffd17 	ldw	r2,-12(fp)
   4b484:	1884703a 	and	r2,r3,r2
   4b488:	1004c03a 	cmpne	r2,r2,zero
   4b48c:	10803fcc 	andi	r2,r2,255
}
   4b490:	e037883a 	mov	sp,fp
   4b494:	df000017 	ldw	fp,0(sp)
   4b498:	dec00104 	addi	sp,sp,4
   4b49c:	f800283a 	ret

0004b4a0 <alt_iic_isr_register>:
  * @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)
{
   4b4a0:	defff504 	addi	sp,sp,-44
   4b4a4:	dfc00a15 	stw	ra,40(sp)
   4b4a8:	df000915 	stw	fp,36(sp)
   4b4ac:	df000904 	addi	fp,sp,36
   4b4b0:	e13ffc15 	stw	r4,-16(fp)
   4b4b4:	e17ffd15 	stw	r5,-12(fp)
   4b4b8:	e1bffe15 	stw	r6,-8(fp)
   4b4bc:	e1ffff15 	stw	r7,-4(fp)
  int rc = -EINVAL;  
   4b4c0:	00bffa84 	movi	r2,-22
   4b4c4:	e0bff715 	stw	r2,-36(fp)
  int id = irq;             /* IRQ interpreted as the interrupt ID. */
   4b4c8:	e0bffd17 	ldw	r2,-12(fp)
   4b4cc:	e0bff815 	stw	r2,-32(fp)
  alt_irq_context status;

  if (id < ALT_NIRQ)
   4b4d0:	e0bff817 	ldw	r2,-32(fp)
   4b4d4:	10800808 	cmpgei	r2,r2,32
   4b4d8:	1000271e 	bne	r2,zero,4b578 <alt_iic_isr_register+0xd8>
static ALT_INLINE alt_irq_context ALT_ALWAYS_INLINE 
       alt_irq_disable_all (void)
{
  alt_irq_context context;

  NIOS2_READ_STATUS (context);
   4b4dc:	0005303a 	rdctl	r2,status
   4b4e0:	e0bffa15 	stw	r2,-24(fp)

  NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK);
   4b4e4:	e0fffa17 	ldw	r3,-24(fp)
   4b4e8:	00bfff84 	movi	r2,-2
   4b4ec:	1884703a 	and	r2,r3,r2
   4b4f0:	1001703a 	wrctl	status,r2
  
  return context;
   4b4f4:	e0bffa17 	ldw	r2,-24(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();
   4b4f8:	e0bff915 	stw	r2,-28(fp)

    alt_irq[id].handler = isr;
   4b4fc:	00c00174 	movhi	r3,5
   4b500:	18fe8804 	addi	r3,r3,-1504
   4b504:	e0bff817 	ldw	r2,-32(fp)
   4b508:	100490fa 	slli	r2,r2,3
   4b50c:	1885883a 	add	r2,r3,r2
   4b510:	e0fffe17 	ldw	r3,-8(fp)
   4b514:	10c00015 	stw	r3,0(r2)
    alt_irq[id].context = isr_context;
   4b518:	00c00174 	movhi	r3,5
   4b51c:	18fe8804 	addi	r3,r3,-1504
   4b520:	e0bff817 	ldw	r2,-32(fp)
   4b524:	100490fa 	slli	r2,r2,3
   4b528:	1885883a 	add	r2,r3,r2
   4b52c:	10800104 	addi	r2,r2,4
   4b530:	e0ffff17 	ldw	r3,-4(fp)
   4b534:	10c00015 	stw	r3,0(r2)

    rc = (isr) ? alt_ic_irq_enable(ic_id, id) : alt_ic_irq_disable(ic_id, id);
   4b538:	e0bffe17 	ldw	r2,-8(fp)
   4b53c:	10000526 	beq	r2,zero,4b554 <alt_iic_isr_register+0xb4>
   4b540:	e0bff817 	ldw	r2,-32(fp)
   4b544:	e13ffc17 	ldw	r4,-16(fp)
   4b548:	100b883a 	mov	r5,r2
   4b54c:	004b3180 	call	4b318 <alt_ic_irq_enable>
   4b550:	00000406 	br	4b564 <alt_iic_isr_register+0xc4>
   4b554:	e0bff817 	ldw	r2,-32(fp)
   4b558:	e13ffc17 	ldw	r4,-16(fp)
   4b55c:	100b883a 	mov	r5,r2
   4b560:	004b3b40 	call	4b3b4 <alt_ic_irq_disable>
   4b564:	e0bff715 	stw	r2,-36(fp)
   4b568:	e0bff917 	ldw	r2,-28(fp)
   4b56c:	e0bffb15 	stw	r2,-20(fp)
  status &= ~NIOS2_STATUS_PIE_MSK;
  status |= (context & NIOS2_STATUS_PIE_MSK);
  
  NIOS2_WRITE_STATUS (status);
#else
  NIOS2_WRITE_STATUS (context);
   4b570:	e0bffb17 	ldw	r2,-20(fp)
   4b574:	1001703a 	wrctl	status,r2

    alt_irq_enable_all(status);
  }

  return rc; 
   4b578:	e0bff717 	ldw	r2,-36(fp)
}
   4b57c:	e037883a 	mov	sp,fp
   4b580:	dfc00117 	ldw	ra,4(sp)
   4b584:	df000017 	ldw	fp,0(sp)
   4b588:	dec00204 	addi	sp,sp,8
   4b58c:	f800283a 	ret

0004b590 <alt_open_fd>:
 * 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)
{
   4b590:	defff904 	addi	sp,sp,-28
   4b594:	dfc00615 	stw	ra,24(sp)
   4b598:	df000515 	stw	fp,20(sp)
   4b59c:	df000504 	addi	fp,sp,20
   4b5a0:	e13ffc15 	stw	r4,-16(fp)
   4b5a4:	e17ffd15 	stw	r5,-12(fp)
   4b5a8:	e1bffe15 	stw	r6,-8(fp)
   4b5ac:	e1ffff15 	stw	r7,-4(fp)
  int old;

  old = open (name, flags, mode);
   4b5b0:	e13ffd17 	ldw	r4,-12(fp)
   4b5b4:	e17ffe17 	ldw	r5,-8(fp)
   4b5b8:	e1bfff17 	ldw	r6,-4(fp)
   4b5bc:	004b7e40 	call	4b7e4 <open>
   4b5c0:	e0bffb15 	stw	r2,-20(fp)

  if (old >= 0)
   4b5c4:	e0bffb17 	ldw	r2,-20(fp)
   4b5c8:	10001c16 	blt	r2,zero,4b63c <alt_open_fd+0xac>
  {
    fd->dev      = alt_fd_list[old].dev;
   4b5cc:	00c00174 	movhi	r3,5
   4b5d0:	18f35404 	addi	r3,r3,-12976
   4b5d4:	e0bffb17 	ldw	r2,-20(fp)
   4b5d8:	10800324 	muli	r2,r2,12
   4b5dc:	1885883a 	add	r2,r3,r2
   4b5e0:	10c00017 	ldw	r3,0(r2)
   4b5e4:	e0bffc17 	ldw	r2,-16(fp)
   4b5e8:	10c00015 	stw	r3,0(r2)
    fd->priv     = alt_fd_list[old].priv;
   4b5ec:	00c00174 	movhi	r3,5
   4b5f0:	18f35404 	addi	r3,r3,-12976
   4b5f4:	e0bffb17 	ldw	r2,-20(fp)
   4b5f8:	10800324 	muli	r2,r2,12
   4b5fc:	1885883a 	add	r2,r3,r2
   4b600:	10800104 	addi	r2,r2,4
   4b604:	10c00017 	ldw	r3,0(r2)
   4b608:	e0bffc17 	ldw	r2,-16(fp)
   4b60c:	10c00115 	stw	r3,4(r2)
    fd->fd_flags = alt_fd_list[old].fd_flags;
   4b610:	00c00174 	movhi	r3,5
   4b614:	18f35404 	addi	r3,r3,-12976
   4b618:	e0bffb17 	ldw	r2,-20(fp)
   4b61c:	10800324 	muli	r2,r2,12
   4b620:	1885883a 	add	r2,r3,r2
   4b624:	10800204 	addi	r2,r2,8
   4b628:	10c00017 	ldw	r3,0(r2)
   4b62c:	e0bffc17 	ldw	r2,-16(fp)
   4b630:	10c00215 	stw	r3,8(r2)

    alt_release_fd (old);
   4b634:	e13ffb17 	ldw	r4,-20(fp)
   4b638:	004a0880 	call	4a088 <alt_release_fd>
  }
} 
   4b63c:	e037883a 	mov	sp,fp
   4b640:	dfc00117 	ldw	ra,4(sp)
   4b644:	df000017 	ldw	fp,0(sp)
   4b648:	dec00204 	addi	sp,sp,8
   4b64c:	f800283a 	ret

0004b650 <alt_io_redirect>:
 */
 
void alt_io_redirect(const char* stdout_dev, 
                     const char* stdin_dev, 
                     const char* stderr_dev)
{
   4b650:	defffb04 	addi	sp,sp,-20
   4b654:	dfc00415 	stw	ra,16(sp)
   4b658:	df000315 	stw	fp,12(sp)
   4b65c:	df000304 	addi	fp,sp,12
   4b660:	e13ffd15 	stw	r4,-12(fp)
   4b664:	e17ffe15 	stw	r5,-8(fp)
   4b668:	e1bfff15 	stw	r6,-4(fp)
  /* Redirect the channels */

  alt_open_fd (&alt_fd_list[STDOUT_FILENO], stdout_dev, O_WRONLY, 0777);
   4b66c:	01000174 	movhi	r4,5
   4b670:	21335704 	addi	r4,r4,-12964
   4b674:	e17ffd17 	ldw	r5,-12(fp)
   4b678:	01800044 	movi	r6,1
   4b67c:	01c07fc4 	movi	r7,511
   4b680:	004b5900 	call	4b590 <alt_open_fd>
  alt_open_fd (&alt_fd_list[STDIN_FILENO], stdin_dev, O_RDONLY, 0777);
   4b684:	01000174 	movhi	r4,5
   4b688:	21335404 	addi	r4,r4,-12976
   4b68c:	e17ffe17 	ldw	r5,-8(fp)
   4b690:	000d883a 	mov	r6,zero
   4b694:	01c07fc4 	movi	r7,511
   4b698:	004b5900 	call	4b590 <alt_open_fd>
  alt_open_fd (&alt_fd_list[STDERR_FILENO], stderr_dev, O_WRONLY, 0777);
   4b69c:	01000174 	movhi	r4,5
   4b6a0:	21335a04 	addi	r4,r4,-12952
   4b6a4:	e17fff17 	ldw	r5,-4(fp)
   4b6a8:	01800044 	movi	r6,1
   4b6ac:	01c07fc4 	movi	r7,511
   4b6b0:	004b5900 	call	4b590 <alt_open_fd>
}  
   4b6b4:	e037883a 	mov	sp,fp
   4b6b8:	dfc00117 	ldw	ra,4(sp)
   4b6bc:	df000017 	ldw	fp,0(sp)
   4b6c0:	dec00204 	addi	sp,sp,8
   4b6c4:	f800283a 	ret

0004b6c8 <alt_get_errno>:
#undef errno

extern int errno;

static ALT_INLINE int* alt_get_errno(void)
{
   4b6c8:	defffe04 	addi	sp,sp,-8
   4b6cc:	dfc00115 	stw	ra,4(sp)
   4b6d0:	df000015 	stw	fp,0(sp)
   4b6d4:	d839883a 	mov	fp,sp
  return ((alt_errno) ? alt_errno() : &errno);
   4b6d8:	00800174 	movhi	r2,5
   4b6dc:	10b7d604 	addi	r2,r2,-8360
   4b6e0:	10800017 	ldw	r2,0(r2)
   4b6e4:	10000526 	beq	r2,zero,4b6fc <alt_get_errno+0x34>
   4b6e8:	00800174 	movhi	r2,5
   4b6ec:	10b7d604 	addi	r2,r2,-8360
   4b6f0:	10800017 	ldw	r2,0(r2)
   4b6f4:	103ee83a 	callr	r2
   4b6f8:	00000206 	br	4b704 <alt_get_errno+0x3c>
   4b6fc:	00800174 	movhi	r2,5
   4b700:	10be7704 	addi	r2,r2,-1572
}
   4b704:	e037883a 	mov	sp,fp
   4b708:	dfc00117 	ldw	ra,4(sp)
   4b70c:	df000017 	ldw	fp,0(sp)
   4b710:	dec00204 	addi	sp,sp,8
   4b714:	f800283a 	ret

0004b718 <alt_file_locked>:
 * 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)
{
   4b718:	defffd04 	addi	sp,sp,-12
   4b71c:	df000215 	stw	fp,8(sp)
   4b720:	df000204 	addi	fp,sp,8
   4b724:	e13fff15 	stw	r4,-4(fp)

  /*
   * Mark the file descriptor as belonging to a device.
   */

  fd->fd_flags |= ALT_FD_DEV;
   4b728:	e0bfff17 	ldw	r2,-4(fp)
   4b72c:	10800217 	ldw	r2,8(r2)
   4b730:	10d00034 	orhi	r3,r2,16384
   4b734:	e0bfff17 	ldw	r2,-4(fp)
   4b738:	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++)
   4b73c:	e03ffe15 	stw	zero,-8(fp)
   4b740:	00001d06 	br	4b7b8 <alt_file_locked+0xa0>
  {
    if ((alt_fd_list[i].dev == fd->dev) &&
   4b744:	00c00174 	movhi	r3,5
   4b748:	18f35404 	addi	r3,r3,-12976
   4b74c:	e0bffe17 	ldw	r2,-8(fp)
   4b750:	10800324 	muli	r2,r2,12
   4b754:	1885883a 	add	r2,r3,r2
   4b758:	10c00017 	ldw	r3,0(r2)
   4b75c:	e0bfff17 	ldw	r2,-4(fp)
   4b760:	10800017 	ldw	r2,0(r2)
   4b764:	1880111e 	bne	r3,r2,4b7ac <alt_file_locked+0x94>
        (alt_fd_list[i].fd_flags & ALT_FD_EXCL) &&
   4b768:	00c00174 	movhi	r3,5
   4b76c:	18f35404 	addi	r3,r3,-12976
   4b770:	e0bffe17 	ldw	r2,-8(fp)
   4b774:	10800324 	muli	r2,r2,12
   4b778:	1885883a 	add	r2,r3,r2
   4b77c:	10800204 	addi	r2,r2,8
   4b780:	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) &&
   4b784:	1000090e 	bge	r2,zero,4b7ac <alt_file_locked+0x94>
        (alt_fd_list[i].fd_flags & ALT_FD_EXCL) &&
        (&alt_fd_list[i] != fd))
   4b788:	e0bffe17 	ldw	r2,-8(fp)
   4b78c:	10c00324 	muli	r3,r2,12
   4b790:	00800174 	movhi	r2,5
   4b794:	10b35404 	addi	r2,r2,-12976
   4b798:	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) &&
   4b79c:	e0bfff17 	ldw	r2,-4(fp)
   4b7a0:	18800226 	beq	r3,r2,4b7ac <alt_file_locked+0x94>
        (&alt_fd_list[i] != fd))
    {
      return -EACCES;
   4b7a4:	00bffcc4 	movi	r2,-13
   4b7a8:	00000a06 	br	4b7d4 <alt_file_locked+0xbc>
  /*
   * 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++)
   4b7ac:	e0bffe17 	ldw	r2,-8(fp)
   4b7b0:	10800044 	addi	r2,r2,1
   4b7b4:	e0bffe15 	stw	r2,-8(fp)
   4b7b8:	00800174 	movhi	r2,5
   4b7bc:	10b7d504 	addi	r2,r2,-8364
   4b7c0:	10800017 	ldw	r2,0(r2)
   4b7c4:	1007883a 	mov	r3,r2
   4b7c8:	e0bffe17 	ldw	r2,-8(fp)
   4b7cc:	18bfdd2e 	bgeu	r3,r2,4b744 <__alt_data_end+0xfffe4644>
    }
  }
  
  /* The device is not locked */
 
  return 0;
   4b7d0:	0005883a 	mov	r2,zero
}
   4b7d4:	e037883a 	mov	sp,fp
   4b7d8:	df000017 	ldw	fp,0(sp)
   4b7dc:	dec00104 	addi	sp,sp,4
   4b7e0:	f800283a 	ret

0004b7e4 <open>:
 *
 * ALT_OPEN is mapped onto the open() system call in alt_syscall.h
 */
 
int ALT_OPEN (const char* file, int flags, int mode)
{ 
   4b7e4:	defff604 	addi	sp,sp,-40
   4b7e8:	dfc00915 	stw	ra,36(sp)
   4b7ec:	df000815 	stw	fp,32(sp)
   4b7f0:	df000804 	addi	fp,sp,32
   4b7f4:	e13ffd15 	stw	r4,-12(fp)
   4b7f8:	e17ffe15 	stw	r5,-8(fp)
   4b7fc:	e1bfff15 	stw	r6,-4(fp)
  alt_dev* dev;
  alt_fd*  fd;
  int index  = -1;
   4b800:	00bfffc4 	movi	r2,-1
   4b804:	e0bff915 	stw	r2,-28(fp)
  int status = -ENODEV;
   4b808:	00bffb44 	movi	r2,-19
   4b80c:	e0bffa15 	stw	r2,-24(fp)
  int isafs = 0;
   4b810:	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)))
   4b814:	e13ffd17 	ldw	r4,-12(fp)
   4b818:	01400174 	movhi	r5,5
   4b81c:	2977d304 	addi	r5,r5,-8372
   4b820:	004baf40 	call	4baf4 <alt_find_dev>
   4b824:	e0bff815 	stw	r2,-32(fp)
   4b828:	e0bff817 	ldw	r2,-32(fp)
   4b82c:	1000051e 	bne	r2,zero,4b844 <open+0x60>
  {
    /* No matching device, so try the filesystem list */

    dev   = alt_find_file (file);
   4b830:	e13ffd17 	ldw	r4,-12(fp)
   4b834:	004bb840 	call	4bb84 <alt_find_file>
   4b838:	e0bff815 	stw	r2,-32(fp)
    isafs = 1;
   4b83c:	00800044 	movi	r2,1
   4b840:	e0bffb15 	stw	r2,-20(fp)

  /* 
   * If a matching device or filesystem is found, allocate a file descriptor. 
   */

  if (dev)
   4b844:	e0bff817 	ldw	r2,-32(fp)
   4b848:	10002926 	beq	r2,zero,4b8f0 <open+0x10c>
  {
    if ((index = alt_get_fd (dev)) < 0)
   4b84c:	e13ff817 	ldw	r4,-32(fp)
   4b850:	004bc980 	call	4bc98 <alt_get_fd>
   4b854:	e0bff915 	stw	r2,-28(fp)
   4b858:	e0bff917 	ldw	r2,-28(fp)
   4b85c:	1000030e 	bge	r2,zero,4b86c <open+0x88>
    {
      status = index;
   4b860:	e0bff917 	ldw	r2,-28(fp)
   4b864:	e0bffa15 	stw	r2,-24(fp)
   4b868:	00002306 	br	4b8f8 <open+0x114>
    }
    else
    {
      fd = &alt_fd_list[index];
   4b86c:	e0bff917 	ldw	r2,-28(fp)
   4b870:	10c00324 	muli	r3,r2,12
   4b874:	00800174 	movhi	r2,5
   4b878:	10b35404 	addi	r2,r2,-12976
   4b87c:	1885883a 	add	r2,r3,r2
   4b880:	e0bffc15 	stw	r2,-16(fp)
      fd->fd_flags = (flags & ~ALT_FD_FLAGS_MASK);
   4b884:	e0fffe17 	ldw	r3,-8(fp)
   4b888:	00900034 	movhi	r2,16384
   4b88c:	10bfffc4 	addi	r2,r2,-1
   4b890:	1886703a 	and	r3,r3,r2
   4b894:	e0bffc17 	ldw	r2,-16(fp)
   4b898:	10c00215 	stw	r3,8(r2)
      
      /* If this is a device, ensure it isn't already locked */

      if (isafs || ((status = alt_file_locked (fd)) >= 0))
   4b89c:	e0bffb17 	ldw	r2,-20(fp)
   4b8a0:	1000051e 	bne	r2,zero,4b8b8 <open+0xd4>
   4b8a4:	e13ffc17 	ldw	r4,-16(fp)
   4b8a8:	004b7180 	call	4b718 <alt_file_locked>
   4b8ac:	e0bffa15 	stw	r2,-24(fp)
   4b8b0:	e0bffa17 	ldw	r2,-24(fp)
   4b8b4:	10001016 	blt	r2,zero,4b8f8 <open+0x114>
        /* 
         * 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;
   4b8b8:	e0bff817 	ldw	r2,-32(fp)
   4b8bc:	10800317 	ldw	r2,12(r2)
   4b8c0:	10000826 	beq	r2,zero,4b8e4 <open+0x100>
   4b8c4:	e0bff817 	ldw	r2,-32(fp)
   4b8c8:	10800317 	ldw	r2,12(r2)
   4b8cc:	e13ffc17 	ldw	r4,-16(fp)
   4b8d0:	e17ffd17 	ldw	r5,-12(fp)
   4b8d4:	e1bffe17 	ldw	r6,-8(fp)
   4b8d8:	e1ffff17 	ldw	r7,-4(fp)
   4b8dc:	103ee83a 	callr	r2
   4b8e0:	00000106 	br	4b8e8 <open+0x104>
   4b8e4:	0005883a 	mov	r2,zero
   4b8e8:	e0bffa15 	stw	r2,-24(fp)
   4b8ec:	00000206 	br	4b8f8 <open+0x114>
      }
    }
  }
  else
  {
    status = -ENODEV;
   4b8f0:	00bffb44 	movi	r2,-19
   4b8f4:	e0bffa15 	stw	r2,-24(fp)
  }

  /* Allocation failed, so clean up and return an error */ 

  if (status < 0)
   4b8f8:	e0bffa17 	ldw	r2,-24(fp)
   4b8fc:	1000080e 	bge	r2,zero,4b920 <open+0x13c>
  {
    alt_release_fd (index);  
   4b900:	e13ff917 	ldw	r4,-28(fp)
   4b904:	004a0880 	call	4a088 <alt_release_fd>
    ALT_ERRNO = -status;
   4b908:	004b6c80 	call	4b6c8 <alt_get_errno>
   4b90c:	e0fffa17 	ldw	r3,-24(fp)
   4b910:	00c7c83a 	sub	r3,zero,r3
   4b914:	10c00015 	stw	r3,0(r2)
    return -1;
   4b918:	00bfffc4 	movi	r2,-1
   4b91c:	00000106 	br	4b924 <open+0x140>
  }
  
  /* return the reference upon success */

  return index;
   4b920:	e0bff917 	ldw	r2,-28(fp)
}
   4b924:	e037883a 	mov	sp,fp
   4b928:	dfc00117 	ldw	ra,4(sp)
   4b92c:	df000017 	ldw	fp,0(sp)
   4b930:	dec00204 	addi	sp,sp,8
   4b934:	f800283a 	ret

0004b938 <alt_alarm_stop>:
 * alarms. Alternatively an alarm can unregister itself by returning zero when 
 * the alarm executes.
 */

void alt_alarm_stop (alt_alarm* alarm)
{
   4b938:	defffa04 	addi	sp,sp,-24
   4b93c:	df000515 	stw	fp,20(sp)
   4b940:	df000504 	addi	fp,sp,20
   4b944:	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);
   4b948:	0005303a 	rdctl	r2,status
   4b94c:	e0bffc15 	stw	r2,-16(fp)

  NIOS2_WRITE_STATUS (context & ~NIOS2_STATUS_PIE_MSK);
   4b950:	e0fffc17 	ldw	r3,-16(fp)
   4b954:	00bfff84 	movi	r2,-2
   4b958:	1884703a 	and	r2,r3,r2
   4b95c:	1001703a 	wrctl	status,r2
  
  return context;
   4b960:	e0bffc17 	ldw	r2,-16(fp)
  alt_irq_context irq_context;

  irq_context = alt_irq_disable_all();
   4b964:	e0bffb15 	stw	r2,-20(fp)
  alt_llist_remove (&alarm->llist);
   4b968:	e0bfff17 	ldw	r2,-4(fp)
   4b96c:	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;
   4b970:	e0bffd17 	ldw	r2,-12(fp)
   4b974:	10800017 	ldw	r2,0(r2)
   4b978:	e0fffd17 	ldw	r3,-12(fp)
   4b97c:	18c00117 	ldw	r3,4(r3)
   4b980:	10c00115 	stw	r3,4(r2)
  entry->previous->next = entry->next;
   4b984:	e0bffd17 	ldw	r2,-12(fp)
   4b988:	10800117 	ldw	r2,4(r2)
   4b98c:	e0fffd17 	ldw	r3,-12(fp)
   4b990:	18c00017 	ldw	r3,0(r3)
   4b994:	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;
   4b998:	e0bffd17 	ldw	r2,-12(fp)
   4b99c:	e0fffd17 	ldw	r3,-12(fp)
   4b9a0:	10c00115 	stw	r3,4(r2)
  entry->next     = entry;
   4b9a4:	e0bffd17 	ldw	r2,-12(fp)
   4b9a8:	e0fffd17 	ldw	r3,-12(fp)
   4b9ac:	10c00015 	stw	r3,0(r2)
   4b9b0:	e0bffb17 	ldw	r2,-20(fp)
   4b9b4:	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);
   4b9b8:	e0bffe17 	ldw	r2,-8(fp)
   4b9bc:	1001703a 	wrctl	status,r2
  alt_irq_enable_all (irq_context);
}
   4b9c0:	e037883a 	mov	sp,fp
   4b9c4:	df000017 	ldw	fp,0(sp)
   4b9c8:	dec00104 	addi	sp,sp,4
   4b9cc:	f800283a 	ret

0004b9d0 <alt_tick>:
 * 
 * alt_tick() is expected to run at interrupt level.
 */

void alt_tick (void)
{
   4b9d0:	defffb04 	addi	sp,sp,-20
   4b9d4:	dfc00415 	stw	ra,16(sp)
   4b9d8:	df000315 	stw	fp,12(sp)
   4b9dc:	df000304 	addi	fp,sp,12
  alt_alarm* next;
  alt_alarm* alarm = (alt_alarm*) alt_alarm_list.next;
   4b9e0:	d0a00d17 	ldw	r2,-32716(gp)
   4b9e4:	e0bffd15 	stw	r2,-12(fp)

  alt_u32    next_callback;

  /* update the tick counter */

  _alt_nticks++;
   4b9e8:	d0a6b117 	ldw	r2,-25916(gp)
   4b9ec:	10800044 	addi	r2,r2,1
   4b9f0:	d0a6b115 	stw	r2,-25916(gp)

  /* process the registered callbacks */

  while (alarm != (alt_alarm*) &alt_alarm_list)
   4b9f4:	00002e06 	br	4bab0 <alt_tick+0xe0>
  {
    next = (alt_alarm*) alarm->llist.next;
   4b9f8:	e0bffd17 	ldw	r2,-12(fp)
   4b9fc:	10800017 	ldw	r2,0(r2)
   4ba00:	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))
   4ba04:	e0bffd17 	ldw	r2,-12(fp)
   4ba08:	10800403 	ldbu	r2,16(r2)
   4ba0c:	10803fcc 	andi	r2,r2,255
   4ba10:	10000426 	beq	r2,zero,4ba24 <alt_tick+0x54>
   4ba14:	d0a6b117 	ldw	r2,-25916(gp)
   4ba18:	1000021e 	bne	r2,zero,4ba24 <alt_tick+0x54>
    {
      alarm->rollover = 0;
   4ba1c:	e0bffd17 	ldw	r2,-12(fp)
   4ba20:	10000405 	stb	zero,16(r2)
    }
    
    /* if the alarm period has expired, make the callback */    
    if ((alarm->time <= _alt_nticks) && (alarm->rollover == 0))
   4ba24:	e0bffd17 	ldw	r2,-12(fp)
   4ba28:	10800217 	ldw	r2,8(r2)
   4ba2c:	d0e6b117 	ldw	r3,-25916(gp)
   4ba30:	18801d36 	bltu	r3,r2,4baa8 <alt_tick+0xd8>
   4ba34:	e0bffd17 	ldw	r2,-12(fp)
   4ba38:	10800403 	ldbu	r2,16(r2)
   4ba3c:	10803fcc 	andi	r2,r2,255
   4ba40:	1000191e 	bne	r2,zero,4baa8 <alt_tick+0xd8>
    {
      next_callback = alarm->callback (alarm->context);
   4ba44:	e0bffd17 	ldw	r2,-12(fp)
   4ba48:	10c00317 	ldw	r3,12(r2)
   4ba4c:	e0bffd17 	ldw	r2,-12(fp)
   4ba50:	10800517 	ldw	r2,20(r2)
   4ba54:	1009883a 	mov	r4,r2
   4ba58:	183ee83a 	callr	r3
   4ba5c:	e0bfff15 	stw	r2,-4(fp)

      /* deactivate the alarm if the return value is zero */

      if (next_callback == 0)
   4ba60:	e0bfff17 	ldw	r2,-4(fp)
   4ba64:	1000031e 	bne	r2,zero,4ba74 <alt_tick+0xa4>
      {
        alt_alarm_stop (alarm);
   4ba68:	e13ffd17 	ldw	r4,-12(fp)
   4ba6c:	004b9380 	call	4b938 <alt_alarm_stop>
   4ba70:	00000d06 	br	4baa8 <alt_tick+0xd8>
      }
      else
      {
        alarm->time += next_callback;
   4ba74:	e0bffd17 	ldw	r2,-12(fp)
   4ba78:	10c00217 	ldw	r3,8(r2)
   4ba7c:	e0bfff17 	ldw	r2,-4(fp)
   4ba80:	1887883a 	add	r3,r3,r2
   4ba84:	e0bffd17 	ldw	r2,-12(fp)
   4ba88:	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)
   4ba8c:	e0bffd17 	ldw	r2,-12(fp)
   4ba90:	10c00217 	ldw	r3,8(r2)
   4ba94:	d0a6b117 	ldw	r2,-25916(gp)
   4ba98:	1880032e 	bgeu	r3,r2,4baa8 <alt_tick+0xd8>
        {
          alarm->rollover = 1;
   4ba9c:	e0bffd17 	ldw	r2,-12(fp)
   4baa0:	00c00044 	movi	r3,1
   4baa4:	10c00405 	stb	r3,16(r2)
        }
      }
    }
    alarm = next;
   4baa8:	e0bffe17 	ldw	r2,-8(fp)
   4baac:	e0bffd15 	stw	r2,-12(fp)

  _alt_nticks++;

  /* process the registered callbacks */

  while (alarm != (alt_alarm*) &alt_alarm_list)
   4bab0:	e0fffd17 	ldw	r3,-12(fp)
   4bab4:	d0a00d04 	addi	r2,gp,-32716
   4bab8:	18bfcf1e 	bne	r3,r2,4b9f8 <__alt_data_end+0xfffe48f8>

  /* 
   * Update the operating system specific timer facilities.
   */

  ALT_OS_TIME_TICK();
   4babc:	0001883a 	nop
}
   4bac0:	e037883a 	mov	sp,fp
   4bac4:	dfc00117 	ldw	ra,4(sp)
   4bac8:	df000017 	ldw	fp,0(sp)
   4bacc:	dec00204 	addi	sp,sp,8
   4bad0:	f800283a 	ret

0004bad4 <altera_nios2_qsys_irq_init>:
/*
 * To initialize the internal interrupt controller, just clear the IENABLE
 * register so that all possible IRQs are disabled.
 */
void altera_nios2_qsys_irq_init(void) 
{
   4bad4:	deffff04 	addi	sp,sp,-4
   4bad8:	df000015 	stw	fp,0(sp)
   4badc:	d839883a 	mov	fp,sp
    NIOS2_WRITE_IENABLE(0);
   4bae0:	000170fa 	wrctl	ienable,zero
}
   4bae4:	e037883a 	mov	sp,fp
   4bae8:	df000017 	ldw	fp,0(sp)
   4baec:	dec00104 	addi	sp,sp,4
   4baf0:	f800283a 	ret

0004baf4 <alt_find_dev>:
 * "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)
{
   4baf4:	defffa04 	addi	sp,sp,-24
   4baf8:	dfc00515 	stw	ra,20(sp)
   4bafc:	df000415 	stw	fp,16(sp)
   4bb00:	df000404 	addi	fp,sp,16
   4bb04:	e13ffe15 	stw	r4,-8(fp)
   4bb08:	e17fff15 	stw	r5,-4(fp)
  alt_dev* next = (alt_dev*) llist->next;
   4bb0c:	e0bfff17 	ldw	r2,-4(fp)
   4bb10:	10800017 	ldw	r2,0(r2)
   4bb14:	e0bffc15 	stw	r2,-16(fp)
  alt_32 len;

  len  = strlen(name) + 1;
   4bb18:	e13ffe17 	ldw	r4,-8(fp)
   4bb1c:	0040da40 	call	40da4 <strlen>
   4bb20:	10800044 	addi	r2,r2,1
   4bb24:	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)
   4bb28:	00000d06 	br	4bb60 <alt_find_dev+0x6c>
    /* 
     * memcmp() is used here rather than strcmp() in order to reduce the size
     * of the executable.
     */

    if (!memcmp (next->name, name, len))
   4bb2c:	e0bffc17 	ldw	r2,-16(fp)
   4bb30:	10c00217 	ldw	r3,8(r2)
   4bb34:	e0bffd17 	ldw	r2,-12(fp)
   4bb38:	1809883a 	mov	r4,r3
   4bb3c:	e17ffe17 	ldw	r5,-8(fp)
   4bb40:	100d883a 	mov	r6,r2
   4bb44:	004be240 	call	4be24 <memcmp>
   4bb48:	1000021e 	bne	r2,zero,4bb54 <alt_find_dev+0x60>
    {
      /* match found */

      return next;
   4bb4c:	e0bffc17 	ldw	r2,-16(fp)
   4bb50:	00000706 	br	4bb70 <alt_find_dev+0x7c>
    }
    next = (alt_dev*) next->llist.next;
   4bb54:	e0bffc17 	ldw	r2,-16(fp)
   4bb58:	10800017 	ldw	r2,0(r2)
   4bb5c:	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)
   4bb60:	e0fffc17 	ldw	r3,-16(fp)
   4bb64:	e0bfff17 	ldw	r2,-4(fp)
   4bb68:	18bff01e 	bne	r3,r2,4bb2c <__alt_data_end+0xfffe4a2c>
    next = (alt_dev*) next->llist.next;
  }
  
  /* No match found */
  
  return NULL;
   4bb6c:	0005883a 	mov	r2,zero
}
   4bb70:	e037883a 	mov	sp,fp
   4bb74:	dfc00117 	ldw	ra,4(sp)
   4bb78:	df000017 	ldw	fp,0(sp)
   4bb7c:	dec00204 	addi	sp,sp,8
   4bb80:	f800283a 	ret

0004bb84 <alt_find_file>:
 * 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)
{
   4bb84:	defffb04 	addi	sp,sp,-20
   4bb88:	dfc00415 	stw	ra,16(sp)
   4bb8c:	df000315 	stw	fp,12(sp)
   4bb90:	df000304 	addi	fp,sp,12
   4bb94:	e13fff15 	stw	r4,-4(fp)
  alt_dev* next = (alt_dev*) alt_fs_list.next;   
   4bb98:	00800174 	movhi	r2,5
   4bb9c:	10b7d104 	addi	r2,r2,-8380
   4bba0:	10800017 	ldw	r2,0(r2)
   4bba4:	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)
   4bba8:	00003106 	br	4bc70 <alt_find_file+0xec>
  {
    len = strlen(next->name);
   4bbac:	e0bffd17 	ldw	r2,-12(fp)
   4bbb0:	10800217 	ldw	r2,8(r2)
   4bbb4:	1009883a 	mov	r4,r2
   4bbb8:	0040da40 	call	40da4 <strlen>
   4bbbc:	e0bffe15 	stw	r2,-8(fp)
    
    if (next->name[len-1] == '/')
   4bbc0:	e0bffd17 	ldw	r2,-12(fp)
   4bbc4:	10c00217 	ldw	r3,8(r2)
   4bbc8:	e0bffe17 	ldw	r2,-8(fp)
   4bbcc:	10bfffc4 	addi	r2,r2,-1
   4bbd0:	1885883a 	add	r2,r3,r2
   4bbd4:	10800003 	ldbu	r2,0(r2)
   4bbd8:	10803fcc 	andi	r2,r2,255
   4bbdc:	1080201c 	xori	r2,r2,128
   4bbe0:	10bfe004 	addi	r2,r2,-128
   4bbe4:	10800bd8 	cmpnei	r2,r2,47
   4bbe8:	1000031e 	bne	r2,zero,4bbf8 <alt_find_file+0x74>
    {
      len -= 1;
   4bbec:	e0bffe17 	ldw	r2,-8(fp)
   4bbf0:	10bfffc4 	addi	r2,r2,-1
   4bbf4:	e0bffe15 	stw	r2,-8(fp)
    }

    if (((name[len] == '/') || (name[len] == '\0')) && 
   4bbf8:	e0bffe17 	ldw	r2,-8(fp)
   4bbfc:	e0ffff17 	ldw	r3,-4(fp)
   4bc00:	1885883a 	add	r2,r3,r2
   4bc04:	10800003 	ldbu	r2,0(r2)
   4bc08:	10803fcc 	andi	r2,r2,255
   4bc0c:	1080201c 	xori	r2,r2,128
   4bc10:	10bfe004 	addi	r2,r2,-128
   4bc14:	10800be0 	cmpeqi	r2,r2,47
   4bc18:	1000081e 	bne	r2,zero,4bc3c <alt_find_file+0xb8>
   4bc1c:	e0bffe17 	ldw	r2,-8(fp)
   4bc20:	e0ffff17 	ldw	r3,-4(fp)
   4bc24:	1885883a 	add	r2,r3,r2
   4bc28:	10800003 	ldbu	r2,0(r2)
   4bc2c:	10803fcc 	andi	r2,r2,255
   4bc30:	1080201c 	xori	r2,r2,128
   4bc34:	10bfe004 	addi	r2,r2,-128
   4bc38:	10000a1e 	bne	r2,zero,4bc64 <alt_find_file+0xe0>
        !memcmp (next->name, name, len))
   4bc3c:	e0bffd17 	ldw	r2,-12(fp)
   4bc40:	10c00217 	ldw	r3,8(r2)
   4bc44:	e0bffe17 	ldw	r2,-8(fp)
   4bc48:	1809883a 	mov	r4,r3
   4bc4c:	e17fff17 	ldw	r5,-4(fp)
   4bc50:	100d883a 	mov	r6,r2
   4bc54:	004be240 	call	4be24 <memcmp>
    if (next->name[len-1] == '/')
    {
      len -= 1;
    }

    if (((name[len] == '/') || (name[len] == '\0')) && 
   4bc58:	1000021e 	bne	r2,zero,4bc64 <alt_find_file+0xe0>
        !memcmp (next->name, name, len))
    {
      /* match found */

      return next;
   4bc5c:	e0bffd17 	ldw	r2,-12(fp)
   4bc60:	00000806 	br	4bc84 <alt_find_file+0x100>
    }
    next = (alt_dev*) next->llist.next;
   4bc64:	e0bffd17 	ldw	r2,-12(fp)
   4bc68:	10800017 	ldw	r2,0(r2)
   4bc6c:	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)
   4bc70:	e0fffd17 	ldw	r3,-12(fp)
   4bc74:	00800174 	movhi	r2,5
   4bc78:	10b7d104 	addi	r2,r2,-8380
   4bc7c:	18bfcb1e 	bne	r3,r2,4bbac <__alt_data_end+0xfffe4aac>
    next = (alt_dev*) next->llist.next;
  }
  
  /* No match found */
  
  return NULL;     
   4bc80:	0005883a 	mov	r2,zero
}
   4bc84:	e037883a 	mov	sp,fp
   4bc88:	dfc00117 	ldw	ra,4(sp)
   4bc8c:	df000017 	ldw	fp,0(sp)
   4bc90:	dec00204 	addi	sp,sp,8
   4bc94:	f800283a 	ret

0004bc98 <alt_get_fd>:
 * the offset of the file descriptor within the file descriptor array). A
 * negative value indicates failure.
 */

int alt_get_fd (alt_dev* dev)
{
   4bc98:	defffc04 	addi	sp,sp,-16
   4bc9c:	df000315 	stw	fp,12(sp)
   4bca0:	df000304 	addi	fp,sp,12
   4bca4:	e13fff15 	stw	r4,-4(fp)
  alt_32 i;
  int rc = -EMFILE;
   4bca8:	00bffa04 	movi	r2,-24
   4bcac:	e0bffe15 	stw	r2,-8(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++)
   4bcb0:	e03ffd15 	stw	zero,-12(fp)
   4bcb4:	00001d06 	br	4bd2c <alt_get_fd+0x94>
  {
    if (!alt_fd_list[i].dev)
   4bcb8:	00c00174 	movhi	r3,5
   4bcbc:	18f35404 	addi	r3,r3,-12976
   4bcc0:	e0bffd17 	ldw	r2,-12(fp)
   4bcc4:	10800324 	muli	r2,r2,12
   4bcc8:	1885883a 	add	r2,r3,r2
   4bccc:	10800017 	ldw	r2,0(r2)
   4bcd0:	1000131e 	bne	r2,zero,4bd20 <alt_get_fd+0x88>
    {
      alt_fd_list[i].dev = dev;
   4bcd4:	00c00174 	movhi	r3,5
   4bcd8:	18f35404 	addi	r3,r3,-12976
   4bcdc:	e0bffd17 	ldw	r2,-12(fp)
   4bce0:	10800324 	muli	r2,r2,12
   4bce4:	1885883a 	add	r2,r3,r2
   4bce8:	e0ffff17 	ldw	r3,-4(fp)
   4bcec:	10c00015 	stw	r3,0(r2)
      if (i > alt_max_fd)
   4bcf0:	00800174 	movhi	r2,5
   4bcf4:	10b7d504 	addi	r2,r2,-8364
   4bcf8:	10c00017 	ldw	r3,0(r2)
   4bcfc:	e0bffd17 	ldw	r2,-12(fp)
   4bd00:	1880040e 	bge	r3,r2,4bd14 <alt_get_fd+0x7c>
      {
        alt_max_fd = i;
   4bd04:	00800174 	movhi	r2,5
   4bd08:	10b7d504 	addi	r2,r2,-8364
   4bd0c:	e0fffd17 	ldw	r3,-12(fp)
   4bd10:	10c00015 	stw	r3,0(r2)
      }
      rc = i;
   4bd14:	e0bffd17 	ldw	r2,-12(fp)
   4bd18:	e0bffe15 	stw	r2,-8(fp)
      goto alt_get_fd_exit;
   4bd1c:	00000606 	br	4bd38 <alt_get_fd+0xa0>
   * 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++)
   4bd20:	e0bffd17 	ldw	r2,-12(fp)
   4bd24:	10800044 	addi	r2,r2,1
   4bd28:	e0bffd15 	stw	r2,-12(fp)
   4bd2c:	e0bffd17 	ldw	r2,-12(fp)
   4bd30:	10800810 	cmplti	r2,r2,32
   4bd34:	103fe01e 	bne	r2,zero,4bcb8 <__alt_data_end+0xfffe4bb8>
   * file descriptor pool.
   */

  ALT_SEM_POST(alt_fd_list_lock);

  return rc;
   4bd38:	e0bffe17 	ldw	r2,-8(fp)
}
   4bd3c:	e037883a 	mov	sp,fp
   4bd40:	df000017 	ldw	fp,0(sp)
   4bd44:	dec00104 	addi	sp,sp,4
   4bd48:	f800283a 	ret

0004bd4c <alt_icache_flush>:
 * alt_icache_flush() is called to flush the instruction cache for a memory
 * region of length "len" bytes, starting at address "start".
 */

void alt_icache_flush (void* start, alt_u32 len)
{
   4bd4c:	defffb04 	addi	sp,sp,-20
   4bd50:	df000415 	stw	fp,16(sp)
   4bd54:	df000404 	addi	fp,sp,16
   4bd58:	e13ffe15 	stw	r4,-8(fp)
   4bd5c:	e17fff15 	stw	r5,-4(fp)

  /*
   * This is the most we would ever need to flush.
   */
 
  if (len > NIOS2_ICACHE_SIZE)
   4bd60:	e0bfff17 	ldw	r2,-4(fp)
   4bd64:	10840070 	cmpltui	r2,r2,4097
   4bd68:	1000021e 	bne	r2,zero,4bd74 <alt_icache_flush+0x28>
  {
    len = NIOS2_ICACHE_SIZE;
   4bd6c:	00840004 	movi	r2,4096
   4bd70:	e0bfff15 	stw	r2,-4(fp)
  }

  end = ((char*) start) + len;
   4bd74:	e0fffe17 	ldw	r3,-8(fp)
   4bd78:	e0bfff17 	ldw	r2,-4(fp)
   4bd7c:	1885883a 	add	r2,r3,r2
   4bd80:	e0bffd15 	stw	r2,-12(fp)

  for (i = start; i < end; i+= NIOS2_ICACHE_LINE_SIZE)
   4bd84:	e0bffe17 	ldw	r2,-8(fp)
   4bd88:	e0bffc15 	stw	r2,-16(fp)
   4bd8c:	00000506 	br	4bda4 <alt_icache_flush+0x58>
  { 
    __asm__ volatile ("flushi %0" :: "r" (i)); 
   4bd90:	e0bffc17 	ldw	r2,-16(fp)
   4bd94:	1000603a 	flushi	r2
    len = NIOS2_ICACHE_SIZE;
  }

  end = ((char*) start) + len;

  for (i = start; i < end; i+= NIOS2_ICACHE_LINE_SIZE)
   4bd98:	e0bffc17 	ldw	r2,-16(fp)
   4bd9c:	10800804 	addi	r2,r2,32
   4bda0:	e0bffc15 	stw	r2,-16(fp)
   4bda4:	e0fffc17 	ldw	r3,-16(fp)
   4bda8:	e0bffd17 	ldw	r2,-12(fp)
   4bdac:	18bff836 	bltu	r3,r2,4bd90 <__alt_data_end+0xfffe4c90>
   * For an unaligned flush request, we've got one more line left.
   * Note that this is dependent on NIOS2_ICACHE_LINE_SIZE to be a 
   * multiple of 2 (which it always is).
   */

  if (((alt_u32) start) & (NIOS2_ICACHE_LINE_SIZE - 1))
   4bdb0:	e0bffe17 	ldw	r2,-8(fp)
   4bdb4:	108007cc 	andi	r2,r2,31
   4bdb8:	10000226 	beq	r2,zero,4bdc4 <alt_icache_flush+0x78>
  {
    __asm__ volatile ("flushi %0" :: "r" (i));
   4bdbc:	e0bffc17 	ldw	r2,-16(fp)
   4bdc0:	1000603a 	flushi	r2
  /* 
   * Having flushed the cache, flush any stale instructions in the 
   * pipeline 
   */

  __asm__ volatile ("flushp");
   4bdc4:	0000203a 	flushp

#endif /* NIOS2_ICACHE_SIZE > 0 */
}
   4bdc8:	e037883a 	mov	sp,fp
   4bdcc:	df000017 	ldw	fp,0(sp)
   4bdd0:	dec00104 	addi	sp,sp,4
   4bdd4:	f800283a 	ret

0004bdd8 <atexit>:
   4bdd8:	200b883a 	mov	r5,r4
   4bddc:	000d883a 	mov	r6,zero
   4bde0:	0009883a 	mov	r4,zero
   4bde4:	000f883a 	mov	r7,zero
   4bde8:	004bea01 	jmpi	4bea0 <__register_exitproc>

0004bdec <exit>:
   4bdec:	defffe04 	addi	sp,sp,-8
   4bdf0:	000b883a 	mov	r5,zero
   4bdf4:	dc000015 	stw	r16,0(sp)
   4bdf8:	dfc00115 	stw	ra,4(sp)
   4bdfc:	2021883a 	mov	r16,r4
   4be00:	004bfd00 	call	4bfd0 <__call_exitprocs>
   4be04:	00800174 	movhi	r2,5
   4be08:	10b7cc04 	addi	r2,r2,-8400
   4be0c:	11000017 	ldw	r4,0(r2)
   4be10:	20800f17 	ldw	r2,60(r4)
   4be14:	10000126 	beq	r2,zero,4be1c <exit+0x30>
   4be18:	103ee83a 	callr	r2
   4be1c:	8009883a 	mov	r4,r16
   4be20:	004c1700 	call	4c170 <_exit>

0004be24 <memcmp>:
   4be24:	01c000c4 	movi	r7,3
   4be28:	3980192e 	bgeu	r7,r6,4be90 <memcmp+0x6c>
   4be2c:	2904b03a 	or	r2,r5,r4
   4be30:	11c4703a 	and	r2,r2,r7
   4be34:	10000f26 	beq	r2,zero,4be74 <memcmp+0x50>
   4be38:	20c00003 	ldbu	r3,0(r4)
   4be3c:	28800003 	ldbu	r2,0(r5)
   4be40:	1880151e 	bne	r3,r2,4be98 <memcmp+0x74>
   4be44:	31bfff84 	addi	r6,r6,-2
   4be48:	01ffffc4 	movi	r7,-1
   4be4c:	00000406 	br	4be60 <memcmp+0x3c>
   4be50:	20c00003 	ldbu	r3,0(r4)
   4be54:	28800003 	ldbu	r2,0(r5)
   4be58:	31bfffc4 	addi	r6,r6,-1
   4be5c:	18800e1e 	bne	r3,r2,4be98 <memcmp+0x74>
   4be60:	21000044 	addi	r4,r4,1
   4be64:	29400044 	addi	r5,r5,1
   4be68:	31fff91e 	bne	r6,r7,4be50 <__alt_data_end+0xfffe4d50>
   4be6c:	0005883a 	mov	r2,zero
   4be70:	f800283a 	ret
   4be74:	20c00017 	ldw	r3,0(r4)
   4be78:	28800017 	ldw	r2,0(r5)
   4be7c:	1880041e 	bne	r3,r2,4be90 <memcmp+0x6c>
   4be80:	31bfff04 	addi	r6,r6,-4
   4be84:	21000104 	addi	r4,r4,4
   4be88:	29400104 	addi	r5,r5,4
   4be8c:	39bff936 	bltu	r7,r6,4be74 <__alt_data_end+0xfffe4d74>
   4be90:	303fe91e 	bne	r6,zero,4be38 <__alt_data_end+0xfffe4d38>
   4be94:	003ff506 	br	4be6c <__alt_data_end+0xfffe4d6c>
   4be98:	1885c83a 	sub	r2,r3,r2
   4be9c:	f800283a 	ret

0004bea0 <__register_exitproc>:
   4bea0:	defffa04 	addi	sp,sp,-24
   4bea4:	00800174 	movhi	r2,5
   4bea8:	10b7cc04 	addi	r2,r2,-8400
   4beac:	dc000315 	stw	r16,12(sp)
   4beb0:	14000017 	ldw	r16,0(r2)
   4beb4:	dc400415 	stw	r17,16(sp)
   4beb8:	dfc00515 	stw	ra,20(sp)
   4bebc:	80805217 	ldw	r2,328(r16)
   4bec0:	2023883a 	mov	r17,r4
   4bec4:	10003e26 	beq	r2,zero,4bfc0 <__register_exitproc+0x120>
   4bec8:	10c00117 	ldw	r3,4(r2)
   4becc:	020007c4 	movi	r8,31
   4bed0:	40c0180e 	bge	r8,r3,4bf34 <__register_exitproc+0x94>
   4bed4:	00800034 	movhi	r2,0
   4bed8:	10800004 	addi	r2,r2,0
   4bedc:	1000061e 	bne	r2,zero,4bef8 <__register_exitproc+0x58>
   4bee0:	00bfffc4 	movi	r2,-1
   4bee4:	dfc00517 	ldw	ra,20(sp)
   4bee8:	dc400417 	ldw	r17,16(sp)
   4beec:	dc000317 	ldw	r16,12(sp)
   4bef0:	dec00604 	addi	sp,sp,24
   4bef4:	f800283a 	ret
   4bef8:	01006404 	movi	r4,400
   4befc:	d9400015 	stw	r5,0(sp)
   4bf00:	d9800115 	stw	r6,4(sp)
   4bf04:	d9c00215 	stw	r7,8(sp)
   4bf08:	00000000 	call	0 <__reset-0x40000>
   4bf0c:	d9400017 	ldw	r5,0(sp)
   4bf10:	d9800117 	ldw	r6,4(sp)
   4bf14:	d9c00217 	ldw	r7,8(sp)
   4bf18:	103ff126 	beq	r2,zero,4bee0 <__alt_data_end+0xfffe4de0>
   4bf1c:	80c05217 	ldw	r3,328(r16)
   4bf20:	10000115 	stw	zero,4(r2)
   4bf24:	10c00015 	stw	r3,0(r2)
   4bf28:	80805215 	stw	r2,328(r16)
   4bf2c:	10006215 	stw	zero,392(r2)
   4bf30:	10006315 	stw	zero,396(r2)
   4bf34:	10c00117 	ldw	r3,4(r2)
   4bf38:	88000d1e 	bne	r17,zero,4bf70 <__register_exitproc+0xd0>
   4bf3c:	19000084 	addi	r4,r3,2
   4bf40:	2109883a 	add	r4,r4,r4
   4bf44:	18c00044 	addi	r3,r3,1
   4bf48:	2109883a 	add	r4,r4,r4
   4bf4c:	1109883a 	add	r4,r2,r4
   4bf50:	10c00115 	stw	r3,4(r2)
   4bf54:	0005883a 	mov	r2,zero
   4bf58:	21400015 	stw	r5,0(r4)
   4bf5c:	dfc00517 	ldw	ra,20(sp)
   4bf60:	dc400417 	ldw	r17,16(sp)
   4bf64:	dc000317 	ldw	r16,12(sp)
   4bf68:	dec00604 	addi	sp,sp,24
   4bf6c:	f800283a 	ret
   4bf70:	02400044 	movi	r9,1
   4bf74:	12806217 	ldw	r10,392(r2)
   4bf78:	48d2983a 	sll	r9,r9,r3
   4bf7c:	19000804 	addi	r4,r3,32
   4bf80:	18d1883a 	add	r8,r3,r3
   4bf84:	2109883a 	add	r4,r4,r4
   4bf88:	4211883a 	add	r8,r8,r8
   4bf8c:	2109883a 	add	r4,r4,r4
   4bf90:	1109883a 	add	r4,r2,r4
   4bf94:	1211883a 	add	r8,r2,r8
   4bf98:	5254b03a 	or	r10,r10,r9
   4bf9c:	21c02215 	stw	r7,136(r4)
   4bfa0:	41802215 	stw	r6,136(r8)
   4bfa4:	12806215 	stw	r10,392(r2)
   4bfa8:	01000084 	movi	r4,2
   4bfac:	893fe31e 	bne	r17,r4,4bf3c <__alt_data_end+0xfffe4e3c>
   4bfb0:	11006317 	ldw	r4,396(r2)
   4bfb4:	2252b03a 	or	r9,r4,r9
   4bfb8:	12406315 	stw	r9,396(r2)
   4bfbc:	003fdf06 	br	4bf3c <__alt_data_end+0xfffe4e3c>
   4bfc0:	00800174 	movhi	r2,5
   4bfc4:	10bec804 	addi	r2,r2,-1248
   4bfc8:	80805215 	stw	r2,328(r16)
   4bfcc:	003fbe06 	br	4bec8 <__alt_data_end+0xfffe4dc8>

0004bfd0 <__call_exitprocs>:
   4bfd0:	00800174 	movhi	r2,5
   4bfd4:	10b7cc04 	addi	r2,r2,-8400
   4bfd8:	10800017 	ldw	r2,0(r2)
   4bfdc:	defff304 	addi	sp,sp,-52
   4bfe0:	df000b15 	stw	fp,44(sp)
   4bfe4:	d8800015 	stw	r2,0(sp)
   4bfe8:	10805204 	addi	r2,r2,328
   4bfec:	dd400815 	stw	r21,32(sp)
   4bff0:	dfc00c15 	stw	ra,48(sp)
   4bff4:	ddc00a15 	stw	r23,40(sp)
   4bff8:	dd800915 	stw	r22,36(sp)
   4bffc:	dd000715 	stw	r20,28(sp)
   4c000:	dcc00615 	stw	r19,24(sp)
   4c004:	dc800515 	stw	r18,20(sp)
   4c008:	dc400415 	stw	r17,16(sp)
   4c00c:	dc000315 	stw	r16,12(sp)
   4c010:	d9000115 	stw	r4,4(sp)
   4c014:	2839883a 	mov	fp,r5
   4c018:	d8800215 	stw	r2,8(sp)
   4c01c:	057fffc4 	movi	r21,-1
   4c020:	d8800017 	ldw	r2,0(sp)
   4c024:	ddc00217 	ldw	r23,8(sp)
   4c028:	14805217 	ldw	r18,328(r2)
   4c02c:	90001726 	beq	r18,zero,4c08c <__call_exitprocs+0xbc>
   4c030:	94400117 	ldw	r17,4(r18)
   4c034:	8c3fffc4 	addi	r16,r17,-1
   4c038:	80001116 	blt	r16,zero,4c080 <__call_exitprocs+0xb0>
   4c03c:	8c400044 	addi	r17,r17,1
   4c040:	8427883a 	add	r19,r16,r16
   4c044:	8c63883a 	add	r17,r17,r17
   4c048:	95802204 	addi	r22,r18,136
   4c04c:	9ce7883a 	add	r19,r19,r19
   4c050:	8c63883a 	add	r17,r17,r17
   4c054:	b4e7883a 	add	r19,r22,r19
   4c058:	9463883a 	add	r17,r18,r17
   4c05c:	e0001726 	beq	fp,zero,4c0bc <__call_exitprocs+0xec>
   4c060:	8c87c83a 	sub	r3,r17,r18
   4c064:	b0c7883a 	add	r3,r22,r3
   4c068:	18c01e17 	ldw	r3,120(r3)
   4c06c:	1f001326 	beq	r3,fp,4c0bc <__call_exitprocs+0xec>
   4c070:	843fffc4 	addi	r16,r16,-1
   4c074:	9cffff04 	addi	r19,r19,-4
   4c078:	8c7fff04 	addi	r17,r17,-4
   4c07c:	857ff71e 	bne	r16,r21,4c05c <__alt_data_end+0xfffe4f5c>
   4c080:	00800034 	movhi	r2,0
   4c084:	10800004 	addi	r2,r2,0
   4c088:	10002a1e 	bne	r2,zero,4c134 <__call_exitprocs+0x164>
   4c08c:	dfc00c17 	ldw	ra,48(sp)
   4c090:	df000b17 	ldw	fp,44(sp)
   4c094:	ddc00a17 	ldw	r23,40(sp)
   4c098:	dd800917 	ldw	r22,36(sp)
   4c09c:	dd400817 	ldw	r21,32(sp)
   4c0a0:	dd000717 	ldw	r20,28(sp)
   4c0a4:	dcc00617 	ldw	r19,24(sp)
   4c0a8:	dc800517 	ldw	r18,20(sp)
   4c0ac:	dc400417 	ldw	r17,16(sp)
   4c0b0:	dc000317 	ldw	r16,12(sp)
   4c0b4:	dec00d04 	addi	sp,sp,52
   4c0b8:	f800283a 	ret
   4c0bc:	91000117 	ldw	r4,4(r18)
   4c0c0:	88c00017 	ldw	r3,0(r17)
   4c0c4:	213fffc4 	addi	r4,r4,-1
   4c0c8:	24001526 	beq	r4,r16,4c120 <__call_exitprocs+0x150>
   4c0cc:	88000015 	stw	zero,0(r17)
   4c0d0:	183fe726 	beq	r3,zero,4c070 <__alt_data_end+0xfffe4f70>
   4c0d4:	00800044 	movi	r2,1
   4c0d8:	1408983a 	sll	r4,r2,r16
   4c0dc:	91406217 	ldw	r5,392(r18)
   4c0e0:	95000117 	ldw	r20,4(r18)
   4c0e4:	214a703a 	and	r5,r4,r5
   4c0e8:	28000b26 	beq	r5,zero,4c118 <__call_exitprocs+0x148>
   4c0ec:	91406317 	ldw	r5,396(r18)
   4c0f0:	2148703a 	and	r4,r4,r5
   4c0f4:	20000c1e 	bne	r4,zero,4c128 <__call_exitprocs+0x158>
   4c0f8:	99400017 	ldw	r5,0(r19)
   4c0fc:	d9000117 	ldw	r4,4(sp)
   4c100:	183ee83a 	callr	r3
   4c104:	90c00117 	ldw	r3,4(r18)
   4c108:	1d3fc51e 	bne	r3,r20,4c020 <__alt_data_end+0xfffe4f20>
   4c10c:	b8c00017 	ldw	r3,0(r23)
   4c110:	1cbfd726 	beq	r3,r18,4c070 <__alt_data_end+0xfffe4f70>
   4c114:	003fc206 	br	4c020 <__alt_data_end+0xfffe4f20>
   4c118:	183ee83a 	callr	r3
   4c11c:	003ff906 	br	4c104 <__alt_data_end+0xfffe5004>
   4c120:	94000115 	stw	r16,4(r18)
   4c124:	003fea06 	br	4c0d0 <__alt_data_end+0xfffe4fd0>
   4c128:	99000017 	ldw	r4,0(r19)
   4c12c:	183ee83a 	callr	r3
   4c130:	003ff406 	br	4c104 <__alt_data_end+0xfffe5004>
   4c134:	90c00117 	ldw	r3,4(r18)
   4c138:	1800071e 	bne	r3,zero,4c158 <__call_exitprocs+0x188>
   4c13c:	90c00017 	ldw	r3,0(r18)
   4c140:	18000926 	beq	r3,zero,4c168 <__call_exitprocs+0x198>
   4c144:	9009883a 	mov	r4,r18
   4c148:	b8c00015 	stw	r3,0(r23)
   4c14c:	00000000 	call	0 <__reset-0x40000>
   4c150:	bc800017 	ldw	r18,0(r23)
   4c154:	003fb506 	br	4c02c <__alt_data_end+0xfffe4f2c>
   4c158:	90c00017 	ldw	r3,0(r18)
   4c15c:	902f883a 	mov	r23,r18
   4c160:	1825883a 	mov	r18,r3
   4c164:	003fb106 	br	4c02c <__alt_data_end+0xfffe4f2c>
   4c168:	0007883a 	mov	r3,zero
   4c16c:	003ffb06 	br	4c15c <__alt_data_end+0xfffe505c>

0004c170 <_exit>:
 *
 * ALT_EXIT is mapped onto the _exit() system call in alt_syscall.h
 */

void ALT_EXIT (int exit_code)
{
   4c170:	defffc04 	addi	sp,sp,-16
   4c174:	df000315 	stw	fp,12(sp)
   4c178:	df000304 	addi	fp,sp,12
   4c17c:	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();
   4c180:	0001883a 	nop
   4c184:	e0bfff17 	ldw	r2,-4(fp)
   4c188:	e0bffd15 	stw	r2,-12(fp)
/*
 * Routine called on exit.
 */
static ALT_INLINE ALT_ALWAYS_INLINE void alt_sim_halt(int exit_code)
{
  int r2 = exit_code;
   4c18c:	e0bffd17 	ldw	r2,-12(fp)
   4c190:	e0bffe15 	stw	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" : : "D02"(r2), "D03"(r3) ALT_GMON_DATA );

#else /* !DEBUG_STUB */
  if (r2) {
   4c194:	e0bffe17 	ldw	r2,-8(fp)
   4c198:	10000226 	beq	r2,zero,4c1a4 <_exit+0x34>
    ALT_SIM_FAIL();
   4c19c:	002af070 	cmpltui	zero,zero,43969
   4c1a0:	00000106 	br	4c1a8 <_exit+0x38>
  } else {
    ALT_SIM_PASS();
   4c1a4:	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);
   4c1a8:	003fff06 	br	4c1a8 <__alt_data_end+0xfffe50a8>
