OpenCores
URL https://opencores.org/ocsvn/openmsp430/openmsp430/trunk

Subversion Repositories openmsp430

[/] [openmsp430/] [trunk/] [fpga/] [altera_de0_nano_soc/] [doc/] [Terasic/] [DE0_NANO_SOC/] [Demonstrations/] [FPGA/] [DE0_NANO_SOC_ADC/] [software/] [DE0_NANO_SOC_ADC/] [DE0_NANO_SOC_ADC.objdump] - Rev 221

Compare with Previous | Blame | View Log


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>

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.