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>